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

 
 
> Как понять, где виснет 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
Ответов
octobus
сообщение Feb 24 2014, 16:47
Сообщение #2


Частый гость
**

Группа: Guests
Сообщений: 122
Регистрация: 9-10-13
Из: Дубна
Пользователь №: 78 671



Цитата(zheka @ Feb 24 2014, 19:46) *
А недавно программа стала зависать в одном и том же месте, но нерегулярно, в зависимости от положения звезд и фазы луны. Ни один цикл брейкпоинтом не ловится, ощущение, что программу кинуло куда-то не туда и контроллер просто встал.
Как KEILом вычислить этот участок кода?


Если брейкпойнтом не ловится, значит перепахивает память. Такое отловить сложно, надо организовать контроль памяти и писать туда строго по проверенным адресам. Еще вариант вычислить саму подпрограмму которая это творит, если ставить по очереди пустышки вместо подпрограмм, с фиктивными фиксированными данными на выходе, если есть данные.
Короче ищите кто валит память, виновников может быть много и механизм "перепахивания" может быть любой. Конкретно советовать трудно.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 5th August 2025 - 00:38
Рейтинг@Mail.ru


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