Перейти к содержанию
    

Определить источник исключения

Програма падает в исключениу

/*
** ===================================================================
**     Method      :  Cpu_Cpu_Interrupt (component MK10FN1M0LQ12)
**
**     Description :
**         This ISR services an unused interrupt/exception vector.
**         This method is internal. It is used by Processor Expert only.
** ===================================================================
*/
PE_ISR(Cpu_Interrupt)
{
  /* This code can be changed using the CPU component property "Build Options / Unhandled int code" */
  PE_DEBUGHALT();
}

Как в KDS определить какая функция вызвала исключение? В IAR есть Call Stack окно в котором видна последняя функция.

В KDS есть вкладка Debug и в ней я вижу.

 

debug.png.580617cd26dea861a99028ea2b9ef4c3.png

Это значит что исключение вызвал main()? Но в  main() есть много функций. Как спуститься до причины проблемы?

 

Я вообще не понимаю при чем здесь main(). В проекте включен FreeRTOS с одним таском. По идее main после инициализации передает управление шедулеру. Если я вылетел в исключение то из таска.

Изменено пользователем jenya7

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В стек заглянуть, посмотреть откуда переход в обработчик произошел. только сначала надо определить из пользовательского режима или из привилегированного режима произошел переход, sp же два

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...