saccrue wrote on Saturday, June 29, 2013:
I’m stuck on an issue. I have an STM32F100 VL Discovery board and I have setup FreeRTOS on it. I have two tasks and all works well on scheduling and running them. I added a USART driver to send characters to a terminal program through the USART. That seems to work fine, one of my tasks puts a character out to the serial port periodically.
The issue I am having is trying to setup an ISR to receive characters from the terminal program on my PC. If I uncomment the line to NVIC_Configure() I get a hard fault after the scheduler starts. If I comment out the line, all works as before.
void NVIC_Configuration()
{
NVIC_InitTypeDef NVIC_InitStructure;
/* Configure the NVIC Preemption Priority Bits */
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
/* Enable the USART3 Interrupt */
NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
Any ideas? The same code with FreeRTOS commented out works fine. So, there is something i’m missing about setting up the ISR and the presence of FreeRTOS.