48911

Отладка К1986ВК025 в Eclipse не запускается, сообщение "Break at address "0x20000" with no debug information available, or outside of program code."


При работе в Eclipse проект загружается в память Flash/ОЗУ, но не переходит в main(). Открывается вкладка с сообщением "Break at address "0x20000" with no debug information available, or outside of program code."

Для памяти Flash:
Микроконтроллер К1986ВК025 всегда стартует с начала BOOT_OTP 0x0002_0000.
Если память OTP пуста, т.е. отсутствует загрузочная программа, переход исполнения ПО в память Flash без дополнительных действий невозможен, и при запуске отладки будет появляться вкладка с сообщением "Break at address "0x20000" with no debug information available, or outside of program code".
Однако отладчик может принудительно устанавливать адрес начала исполнения программы при запуске отладки - для этого в настройках отладочной конфигурации во вкладке "Startup" установить опцию "Debug in RAM". Установка данной опции указывает отладчику загружать программу при каждом сбросе. Также при запуске отладки будет принудительно установлен начальный адрес программы, и отладка будет стартовать сразу с функции _start из файла startup.
Если убрать галочку с «Debug in RAM», то после загрузки программы отладчиком в память ОЗУ отладчик установит точку останова на функцию main() и сбросит МК. 
 Конфигурация отладки во вкладке Startup

Применимо в том числе для ситуаций, когда загрузочная программа прошита, но передает исполнение ПО из других адресов, например, из ОЗУ.

Для памяти ОЗУ:
Аналогично тому, что описано для Flash-памяти.
Был ли ответ полезным?