STM32L151 - отладчик запускается по неправильному адресу.. иногда
Я только начал работать над микроконтроллером STM32L151. Я настроил отладчик на прерывание при первой инструкции (не основной), но когда я начинаю отладку, счетчик программы останавливается на 0x1ff00b84, который даже не является частью флэш-памяти (начиная с 0x8000000 -> 0x8010000).
Это становится странным, потому что, когда я пытаюсь сбросить сеанс отладки (без повторной загрузки программы), пару раз он наконец останавливается на первой инструкции в моем файле запуска (startup_stm32l1xx_md.s), и все работает гладко, пока в следующий раз я Нужно запрограммировать устройство и снова запустить отладчик.
Я использую CoIDE с компилятором "GNU Tools ARM Embedded 4.8 2014q2". И я бегу на каком-то кастомном HW, который только что прибыл. Я использую SWD с платы обнаружения STM32 для программирования чипа.
Надеюсь, у кого-то есть идея?
1 ответ
Этот адрес находится в ПЗУ загрузчика. Такое поведение говорит о том, что вывод BOOT0 может быть плавающим; убедитесь, что он привязан к GND для загрузки с флэш-памяти.