ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
9 июля
1528937 Топик полностью
Nikolay_Po (Вчера, 10:32, просмотров: 45) ответил framer на Да может при подключении openocd есть переход по адресу и "проваливается" в стартап. Может дать -d3 (debug level 3) и посмотреть что он там делает (reset halt, reset init).
-d3 это кому? У GCC уже стоит -g3, но почему-то отладчик постоянно промахивается - почти невозможно поймать старт с начала. Попадает уже в код в процессе работы. В разные запуски останавливается при старте в разных местах функции prvIdleTask: или вызываемой из неё prvCheckTasksWaitingTermination(). 

Попытка продолжить выполнение, приводит к отказу отладки, хотя сам код, если запускать как есть или останавливать отладку - работает, светодиодиками мигает как должно. Нажимаю "Стоп" - начинает мигать. Вот снимки разных запусков:

Это чудом встал на точке останова, которую вчера не мог достичь. Из изменений - скорость отладки увеличил с 1000 до 6000кГц:


Снял точку останова, запуск без "Continue" в настройках отладки. Останавливается на ассемблере, найти соответствующий код в Си не может (на картинке открыл похожий код Си поиском - мог не угадать):


Ещё запуск - поймался чуть в другом месте, похоже, всё оно в privIdleTask:

И ещё - встал там же: