2015-10-09 5 views
0

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

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

+0

Итак, вы правильно отлаживаете SMP? (Один TRACE32 GUI подключен к чипу с несколькими ядрами процессора?) О каком ID вы говорите? например Идентификатор JTAG, имя процессора, номер ядра, идентификатор ядра, специфичный для процессора, ... – Holger

+0

Извините, для этого не является конкретным. В идеале, номер ядра. Кроме того, да, я отлаживаю SMP, один графический интерфейс, подключенный к SoC с многоядерным процессором. – wrymarkX

ответ

1

Вы получаете активный номер ядра с функцией PRACTICE 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.

+0

Отлично объяснено. Большое спасибо. – wrymarkX