Добрый день.
Вопрос по M3 IAR
В проекте 2 процесса, один из них ожидает сигнал от EventFlag. Сигнал формирует обработчик прерывания от TIM3.
extern "C" OS_INTERRUPT void TIM3_IRQHandler(void)
{
OS::TISRW ISRW;
if(TIM_GetITStatus(TIM_I2C, TIM_IT_Update) != RESET)
{
TIM_ClearITPendingBit(TIM_I2C, TIM_IT_Update);
Timer_i2c_Ovf.signal_isr();
}
}
Проблема заключается в том, что когда код выполняется из flash, проект работает несколько секунд, после этого - HardFault_Handler;
Этот же код при выполнении из RAM работает корректно.
Если убрать Timer_i2c_Ovf.signal_isr(); сбоев тоже нет.
Никто не сталкивался с подобным поведением??