Где аппаратный адрес точки останова Cortex-M4? - PullRequest
0 голосов
/ 05 мая 2018

m4 функция отладки, Я использую обнаружение stm32f407 с openocd, gdb в Ubuntu

Я пытаюсь понять функцию точки останова, Я могу установить адрес точки останова в openocd с помощью gdb, и чип остановится, когда компьютер перейдет на этот адрес

как основная функция в 0x8008000, Я думаю, должен быть регистр для хранения этого адреса (0x8008000), но я не могу найти, где этот регистр Я нашел FP_COMP0 ~ FP_COMP7 в руководстве по FPB, но в gdb он всегда показывает 0, и я думаю, что это для новых адресов, которые трансформируются в.

Может кто-нибудь сказать мне, где узнать связанную информацию, спасибо:)

1 Ответ

0 голосов
/ 10 мая 2018

Вы правы, это регистры FP_COMP0 - FP_COMP7 в FPB (Flash Patch и Unit Breakpoint) - http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0439b/BABGEDIG.html.

Это работает, только что проверил это на практике (установлено 4 точки останова):

enter image description here

Просто убедитесь, что при использовании IDE он может кешировать ранее прочитанные значения регистров, и установка точки останова не будет немедленно отображаться в памяти, которую вы видите через IDE. Принудительное обновление (например, при запуске и приостановке программы) приведет к отображению правильных значений.

...