Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: stm32 Отладка через ST-LINK
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Nikitoc
Всем доброго дня. Работаю с stm32l152vb. Отлаживаю ST-LINK. Время от времени, при очередном входе в отладку, программа вылетает в HardFault (чаще всего в разных местах). Рестарт процессора не помогает. Только перепрошивка. Кто нибудь сталкивался с подобным? Как думаете в чем может быть причина?
Brain13
Цитата(Nikitoc @ Mar 31 2011, 12:16) *
Всем доброго дня. Работаю с stm32l152vb. Отлаживаю ST-LINK. Время от времени, при очередном входе в отладку, программа вылетает в HardFault (чаще всего в разных местах). Рестарт процессора не помогает. Только перепрошивка. Кто нибудь сталкивался с подобным? Как думаете в чем может быть причина?


Была подобная проблема по нескольким причинам. У меня это было связано с слишком выской скоростью прошивки(был 1 Mhz уменьшил до 100kHz - все стало нормально). Проверьте систему тактирования(как электрически так и программную инициализацию). Проверьте скрипты линкера, для того ли процесскора пишется проект, проверьте не выходит ли стек за пределы. И еще может быть из-за обращения к несуществующим адресам.
Nikitoc
Цитата(Brain13 @ Apr 7 2011, 08:35) *
Была подобная проблема по нескольким причинам. У меня это было связано с слишком выской скоростью прошивки(был 1 Mhz уменьшил до 100kHz - все стало нормально). Проверьте систему тактирования(как электрически так и программную инициализацию). Проверьте скрипты линкера, для того ли процесскора пишется проект, проверьте не выходит ли стек за пределы. И еще может быть из-за обращения к несуществующим адресам.

Спасибо за ответ, Brain13. На данный момент использую ULINK (забыл сказать, что работаю в Keil) - проблема исчезла. К слову, было замечено, что вылет случался только в режиме RUN, при пошаговой отладке критической секции все работало нормально. В Keil'е настроить ST-LINK я не могу - в опциях на выбор доступны только варианты интерфейса: JTAG или SWD.
Nikitoc
Дабы не плодить тем решил спросить в этой. Согласно ref_manual при переводе микроконтроллера в режим STOP
Цитата
"all clocks are stopped, regulator running, regulator in low power mode"
Однако, после подачи этой команды периферия продолжает работать, в частности, сигнал звуковой частоты на выходе таймера продолжает генерироваться, высокий логический уровень присутствует на ножках процессора (если в момент перехода в STOP он там присутствовал). Что не так?

Вопрос снимается - нашел баг в коде.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.