Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: вопрос про signal_isr()
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > scmRTOS
andrey81
Добрый день.
Вопрос по 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(); сбоев тоже нет.
Никто не сталкивался с подобным поведением??
Rst7
Moderator: Для уточнения есть кнопка редактирования своих постов, но не надо себя цитировать. В следующий раз будут наказания.
andrey81
Вопрос решился. Промыл, пропаял, все заработало..
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.