Предыдущая Следующая

30.2.2. Задание контрольных точек в целевой системе

После старта сеанса отладки с драйвером Macraigor, в меню отладчика добавляется подменю JTAG (Рис. 30.11). Это подменю содержит команды, позволяющие задавать контрольные точки JTAG и устанавливать контрольные точки на векторах исключительных ситуаций. C-SPY Debugger задает в программе контрольные точки, используя функциональные возможности, обеспечиваемые встроенной в микроконтроллеры LPC2000 макроячейкой ARM EmbeddedlCE™. Эта макроячейка входит в состав каждого процессорного ядра ARM, поддерживающего интерфейс JTAG. Компаратор EmbeddedlCE производит в реальном времени сравнение состояний адресной шины, шины данных, управляющих сигналов центрального процессора и внешних входных сигналов с заданными значениями установленных контрольных точек. Если операция сравнения дает результат «Истина» (TRUE), происходит останов программы. При работе с памятью, доступной для чтения и записи, отладчику достаточно одной контрольной точки для создания одной точки останова. При работе с памятью, доступной только для чтения, отладчику требуются две контрольные точки, чтобы создать одну точку останова. Макроячейка ARM EmbeddedlCE позволяет создавать две контрольные точки.

Чтобы определить контрольные точки JTAG, следует выбрать в меню JTAG>Wrtchpoints, после чего откроется диалоговое окно JTAG Watchpoints, изображенное на Рис. 30.12. Это диалоговое окно позволяет непосредственно управлять аппаратными средствами двух модулей контрольных точек. Для

задания параметров каждой из двух контрольных точек, в окне имеются области Address и Data.

В поле \fclue области Address следует ввести требуемый адрес контрольной точки. Поле Mask области Address служит для того, чтобы указать, какие из адресных битов будут использованы при сравнении, а какие нет (замаскированы). Если какой-либо бит в маске задан нулевым, то соответствующий бит в значении адреса будет игнорироваться при сравнении. Чтобы в сравнении участвовали все биты адреса, следует задать значение маски равным OxFFFFFFFF.

В поле Address Bus Pattern представлено результирующее двоичное значение адресной шины, которое используется компаратором адресов для сравнения. Игнорируемые компаратором биты, которым соответствуют нулевые биты маски, показаны в шаблоне как «х».

В области Access Туре можно задать тип доступа, при котором будет производиться сравнение с целью обнаружить совпадение: любой тип доступа, доступ при выборке кода операции (команды), доступ для чтения данных, доступ для записи данных, доступ для чтения или записи данных.

В области Data можно задать тип данных, используемый при сравнении: байт, слово, полуслово. Если используется опция Any Size, то маска должна быть установлена в интервале 0...0xFF, так как более старшие биты на шине данных могут содержать, в зависимости от команды, случайные данные. Поля Mask и Data Bus Pattern выполняют в области Data те же функции, что и одноименные поля в области Address.


Предыдущая Следующая






Warning: include(./news.php) [function.include]: failed to open stream: No such file or directory in /var/www/picprof/data/www/picprof.com/book/book4_283.html on line 108

Warning: include(./news.php) [function.include]: failed to open stream: No such file or directory in /var/www/picprof/data/www/picprof.com/book/book4_283.html on line 108

Warning: include() [function.include]: Failed opening './news.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/picprof/data/www/picprof.com/book/book4_283.html on line 108