реклама на сайте
подробности

 
 
> Как понять, где виснет STM32F103?
zheka
сообщение Feb 24 2014, 15:46
Сообщение #1


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Господа, работаю с STM32F103 и KEIL в режиме отладки.
Очень много вложенных циклов, ветвлений. Делаю менюшки и окошки. Глюков не избежать, иногда выйти из какого-то окошка не получалось - из за ошибок программа крутится в цикле, не получая команды выхода из него. Искал такие ошибки просто- шерстил вложенные циклы брейкпоинтами и находил тот цикл, в котором программа крутится.
А недавно программа стала зависать в одном и том же месте, но нерегулярно, в зависимости от положения звезд и фазы луны. Ни один цикл брейкпоинтом не ловится, ощущение, что программу кинуло куда-то не туда и контроллер просто встал.

Как KEILом вычислить этот участок кода?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kovigor
сообщение Feb 24 2014, 17:19
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(zheka @ Feb 24 2014, 19:46) *
Как KEILом вычислить этот участок кода?

Да, похоже, память что-то портит, например, у вас имеется непроинициализированный указатель.
Как отловить ? Светодиод или светодиодный индикатор, если есть возможность его подключить. Или вывод диагностической информации по UART. Например, в начале и в интересующих вас точках каждой функции выводить в порт по заранее определенному символу (своему для каждой тестовой "точки"). В случае проявления сбоя анализировать эти символы и их последовательности и принимать решение. Довольно эффективный метод, многократно проверенный на практике ...
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 08:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.01393 секунд с 7
ELECTRONIX ©2004-2016