Проверьте трассировку 32, на которой остановлена ​​точка останова ЦП

Кто-нибудь знает, можно ли проверить идентификатор процессора, на котором я достиг точки останова?

Я хочу распечатать его и немедленно возобновить выполнение, поэтому, вероятно, понадобится t32 cmd или глобальная переменная.


person wrymarkX    schedule 09.10.2015    source источник
comment
Значит, вы правильно отлаживаете SMP? (Один графический интерфейс TRACE32 подключен к микросхеме с несколькими ядрами ЦП?) О каком идентификаторе вы говорите? например JTAG ID, имя процессора, номер ядра, идентификатор ядра процессора, ...   -  person Holger    schedule 09.10.2015
comment
Извините, что здесь нет конкретики. В идеале основной номер. Кроме того, да, я отлаживаю SMP, один графический интерфейс, подключенный к SoC с многоядерным процессором.   -  person wrymarkX    schedule 12.10.2015


Ответы (1)


Вы получаете текущий активный номер ядра с помощью функции ПРАКТИКА CORE (), например. нравится

PRINT CORE()

в то время как вы всегда можете выполнить команду при достижении точки останова с параметром / CMD команды Break.Set:

Break.Set <addr> /CMD "<TRACE32 command>"

Соединяя оба вместе, вы получаете

Break.Set 0x10000 /CMD "PRINT ""Core "" CORE() "" stopped at "" PP()"

Примечание. В TRACE32 двойные кавычки заменяются двойными кавычками. Функция PP () возвращает текущий счетчик программы. Если вы хотите перезапустить ядро, немедленно добавьте параметр / RESUME в Break.Set.

person Holger    schedule 12.10.2015
comment
Прекрасно объяснено. Большое спасибо. - person wrymarkX; 14.10.2015