STM32L151 - Отладчик запускается по неправильному адресу .. иногда

Я только начал работать над микроконтроллером STM32L151. Я настроил отладчик на прерывание при первой инструкции (не основной), но когда я начинаю отладку, счетчик программы останавливается на 0x1ff00b84, который даже не является частью флэш-памяти (начиная с 0x8000000 -> 0x8010000).

Это становится странно, потому что, когда я пытаюсь сбросить сеанс отладки (без повторной загрузки программы), пару раз он наконец останавливается на первой инструкции в моем файле запуска (startup_stm32l1xx_md.s), и все идет гладко до следующего раза. нужно запрограммировать устройство и снова запустить отладчик.

Я использую CoIDE с компилятором «GNU Tools ARM Embedded 4.8 2014q2». И я использую какое-то специальное HW, которое только что прибыло. Я использую SWD от STM32 Discovery Board для программирования чипа.

Надеюсь, у кого-то есть идея?


person Jolle    schedule 22.03.2016    source источник


Ответы (1)


Этот адрес находится в ПЗУ загрузчика. Такое поведение предполагает, что вывод BOOT0 может быть плавающим; убедитесь, что он привязан к GND для загрузки с флешки.

person Community    schedule 22.03.2016
comment
О Конечно! Он летел (ошибка HW), и я только что попытался прижать его к земле - все работает нормально .. Большое спасибо! :) :) :) - person Jolle; 22.03.2016