Инструкция точки останова внутри кода запуска компилятора ARM v6 - PullRequest
0 голосов
/ 27 февраля 2020

Я разрабатываю новый проект для STM32 на Keil MDK 5.28, используя компилятор ARM V6 («новый» компилятор armclang). Я впервые использую armclang.

Мой обработчик сброса вызывает символ __main. Как и ожидалось, выполняется некоторый код запуска библиотеки Keil C, а затем вызывается моя функция main (позже я буду удалять вызовы кода запуска, но сейчас я хочу разобраться в проблеме).

Проблема заключается в следующем: внутри одной из библиотечных функций C (_sys_open) есть инструкция BKPT. Я не установил эту точку останова, и она не отображается в списке точек останова. Я не могу удалить его (пытался, очевидно, восстановить все). Поэтому я не могу начать сеанс отладки без прерывания в этом месте.

Я также пытался снять флажок «Run to Main».

enter image description here

Знаете ли вы, откуда взялась эта инструкция BKPT и как ее удалить?

1 Ответ

0 голосов
/ 27 февраля 2020

Сводка комментариев: инструкция точки останова BKPT является частью функции полухостинга, которая должна взаимодействовать с отладчиком. Включение Microlib отключает полухостинг; см здесь и здесь .

...