2016-01-11 3 views
0

Я вижу вариант для размещения точки останова при чтении или записи реестра при создании новой точки останова, но она выделена серым цветом. Как мне выбрать этот параметр и как я могу написать, например, что я хочу сломать, когда что-то записывает значение 0x60002806 или> 0x60002000 для регистрации A2?Помещение точки останова на запись в записи Trace32

+2

Какой процессор для этого? Я считаю, что в процессоре должна быть аппаратная поддержка для работы точек останова/записи. – Lundin

+0

Возможно, вы правы. Это Aurix TC277TF – CodeMonkey

+0

Я не знаю специфики этого конкретного MCU, но поскольку это один из них - 32-битные автомобильные защитные монстры, он определенно имеет встроенные аппаратные точки останова для чтения/записи, а также встроенную трассировку , Поэтому я думаю, что это проблема Trace32. Очень важно, чтобы Trace32 имел правильный скрипт (файл .cmm), выполненный при запуске, соответствующий конкретному MCU. Этот сценарий должен, в частности, настроить MMU. Если MMU настроен неправильно, вы получите все виды странного поведения и недостающие функции. Если вы публикуете скрипт, который вы используете, возможно, какой-то гуру Trace32 может помочь вам в дальнейшем. – Lundin

ответ

2

Я никогда не видел процессор на отладочной реализации чипа, который позволяет такую ​​функциональность останавливаться, когда значение ЦП имеет значение.

В случае возникновения проблем с ARM, когда я сталкиваюсь с этими проблемами, я получаю трассировку ETM с включенным кодом и данными, а после того, как регистр получает это значение, остановите захват и найдите текущее значение регистра вдоль трассы с поиском по Это.