13.5 Функциональное описание
13.5.1 Вывод тестирования
Выбор рабочего режима микроконтроллера производится с помощью одного вывода TST, специально предназначенного только для этой цели. Необходимо быть уверенным в том, что на этом выводе всегда присутствует низкий логический уровень (или этот вывод подключен к GND). При высоком уровне напряжения на выводе TST микроконтроллер переходит режим тестирования, используемый на этапе производства его кристалла, поэтому этот режим использоваться не должен.
13.5.2 EmbeddedICE (встроенный внутрисхемный эмулятор)
Работа с внутрисхемным эмулятором EmbeddedICE ядра ARM7TDMI производится через JTAG порт. Через этот же порт производится контроль над ядром ARM7TDMI и его внутренними состояниями.
Процессор ARM7TDMI содержит следующие дополнительные аппаратные возможности и расширенные функции для отладки:
- В режиме останова (halt mode) в буфер выполняемых команд возможна вставка команд загрузки/хранения (STM). Это позволяет "на лету" вычитывать содержимое регистров ядра процессора без риска их искажения или порчи, т.е. прозрачно для отлаживаемой программы.
- В режиме мониторинга (monitor mode) интерфейс JTAG может использоваться для передачи данных между отладчиком и простой программой-монитором, запускаемой на процессоре ARM7TDMI.
Внутри процессора ARM7TDMI для внутрисхемного эмулятора реализованы три цепочки сканирования (scan chain), управляемых через порт ICE/JTAG и поддерживающих тестирование, отладку и программирование.
Режим внутрисхемной эмуляции активизируется при подаче на вывод JTAGSEL низкого логического уровня. Не существует способа прямого переключения между JTAG и встроенным внутрисхемным эмулятором (Embedded ICE). После переключения состояния вывода JTAGSEL обязательно должен быть выполнен сброс микроконтроллера.
Для получения более подробной информации по встроенному внутрисхемному эмулятору см. документ ARM7TDMI (Rev4) Technical Reference Manual (DDI0210B).
13.5.3 Модуль внутрисхемной отладки
Для подключения к модулю внутрисхемной отладки (DBGU) через встроенный синхронно-асинхронный приемо-передатчик (USART) предназначены два внешних вывода DTXD и DRXD, через которые производится передача и прием отладочной информации. Такое построение позволяет создавать устройства с возможностью отладки кода непосредственно в уже законченном изделии. Кроме того, наличие связи отладочного порта с двумя каналами ПДП позволяет сократить участие процессора в обмене по этому каналу до минимума.
Также модуль DBGU выполняет обработку прерываний от внутренних сигналов COMMTX и COMMRX, формируемых внутрисхемным эмулятором или отладочным коммуникационным каналом (DCC). Более того, модуль внутрисхемной отладки блокирует любой вид доступа к системе через интерфейс внутрисхемного эмулятора ICE.
Для получения информации о версии контроллера и его внутренней конфигурации предназначен специальный регистр модуля отладки - регистр идентификации чипа (Debug Unit Chip ID Register).
Таблица 13-2. Идентификационные номера микроконтроллеров семейства AT91SAM7Sxx
Название микроконтроллера |
Идентификационный номер кристалла |
AT91SAM7S32 |
0x27080340 |
AT91SAM7S321 |
0x27080342 |
AT91SAM7S64 |
0x27090540 |
AT91SAM7S128 |
0x270A0740 |
AT91SAM7S256 |
0x270B0940 |
Для получения более подробной информации о модуле отладки см. главу 27
13.5.4 JTAG граничное сканирование по стандарту IEEE 1149.1
JTAG граничное сканирование по стандарту IEEE 1149.1 позволяет получать доступ независимо от типа размещения выводов отладки и типа корпуса отлаживаемого кристалла.
Режим JTAG граничного сканирования активируется при подаче на внешний вывод JTAGSEL высокого логического уровня. Реализованы функции SAMPLE, EXTEST и BYPASS. В режиме отладки через внутрисхемный эмулятор ICE процессор ARM возвращает внешнему устройству для работы с ICE такой идентификационный номер кристалла, который имеют чипы без встроенного интерфейса JTAG. Это не соответствует стандарту JTAG IEEE 1149.1.
Не существует способа прямого переключения между интерфейсом JTAG и встроенным внутрисхемным эмулятором (Embedded ICE). После переключения состояния вывода JTAGSEL обязательно должен быть выполнен сброс микроконтроллера.
Для тестирования кристалла предназначен специализированный язык описания для работы через граничное сканирование (BSDL).
13.5.4.1 Регистр JTAG граничного сканирования
Регистр граничного сканирования BSR (Boundary-scan Register) содержит 96 бит, которые отвечают за текущее состояние внешних выводов, ассоциированных с сигналами управления.
Каждому выводу входа/выхода AT91SAM7Sxx соответствует 3-битный регистр внутри регистра BSR. Бит OUTPUT (выход) содержит данные, которые записываются непосредственно во внутреннюю защелку порта соответствующего вывода. Бит INPUT (вход) облегчает наблюдение за логическим уровнем непосредственно на выводе. Бит CONTROL (управление) отвечает за направление передачи вывода: на вход или на выход.
Таблица 13-3. Регистр граничного сканирования JTAG для AT91SAM7Sxx
Номер бита |
Название вывода |
Тип вывода |
Соотв. ячейки регистра BSR |
96 |
PA17/PGMD5/AD0 |
ВХОД/ВЫХОД |
INPUT |
95 |
OUTPUT |
94 |
CONTROL |
93 |
PA18/PGMD6/AD1 |
ВХОД/ВЫХОД |
INPUT |
92 |
OUTPUT |
91 |
CONTROL |
90 |
PA21/PGMD9* |
ВХОД/ВЫХОД* |
INPUT(1) |
89 |
OUTPUT(1) |
88 |
CONTROL(1) |
87 |
PA19/PGMD7/AD2 |
ВХОД/ВЫХОД |
INPUT |
86 |
OUTPUT |
85 |
CONTROL |
84 |
PA20/PGMD8/AD3 |
ВХОД/ВЫХОД |
INPUT |
83 |
OUTPUT |
82 |
CONTROL |
81 |
PA16/PGMD4 |
ВХОД/ВЫХОД |
INPUT |
80 |
OUTPUT |
79 |
CONTROL |
78 |
PA15/PGMD4 |
ВХОД/ВЫХОД |
INPUT |
77 |
OUTPUT |
76 |
CONTROL |
75 |
PA14/PGMD2 |
ВХОД/ВЫХОД |
INPUT |
74 |
OUTPUT |
73 |
CONTROL |
72 |
PA13/PGMD1 |
ВХОД/ВЫХОД |
INPUT |
71 |
OUTPUT |
70 |
CONTROL |
69 |
PA22/PGMD10* |
ВХОД/ВЫХОД* |
INPUT(1) |
68 |
OUTPUT(1) |
67 |
CONTROL(1) |
66 |
PA23/PGMD11* |
ВХОД/ВЫХОД* |
INPUT(1) |
65 |
OUTPUT(1) |
64 |
CONTROL(1) |
63 |
PA24/PGMD12* |
ВХОД/ВЫХОД* |
INPUT(1) |
62 |
OUTPUT(1) |
61 |
CONTROL(1) |
60 |
PA12/PGMD0 |
ВХОД/ВЫХОД |
INPUT |
59 |
OUTPUT |
58 |
CONTROL |
57 |
PA11/PGMM3 |
ВХОД/ВЫХОД |
INPUT |
56 |
OUTPUT |
55 |
CONTROL |
54 |
PA10/PGMM2 |
ВХОД/ВЫХОД |
INPUT |
53 |
OUTPUT |
52 |
CONTROL |
51 |
PA9/PGMM1 |
ВХОД/ВЫХОД |
INPUT |
50 |
OUTPUT |
49 |
CONTROL |
48 |
PA8/PGMM0 |
ВХОД/ВЫХОД |
INPUT |
47 |
OUTPUT |
46 |
CONTROL |
45 |
PA7/PGMNVALID |
ВХОД/ВЫХОД |
INPUT |
44 |
OUTPUT |
43 |
CONTROL |
42 |
PA6/PGMNOE |
ВХОД/ВЫХОД |
INPUT |
41 |
OUTPUT |
40 |
CONTROL |
39 |
PA5/PGMRDY |
ВХОД/ВЫХОД |
INPUT |
38 |
OUTPUT |
37 |
CONTROL |
36 |
PA4/PGMNCMD |
ВХОД/ВЫХОД |
INPUT |
35 |
OUTPUT |
34 |
CONTROL |
33 |
PA25/PGMD13 |
ВХОД/ВЫХОД |
INPUT(1) |
32 |
OUTPUT(1) |
31 |
CONTROL(1) |
30 |
PA26/PGMD14 |
ВХОД/ВЫХОД |
INPUT(1) |
29 |
OUTPUT(1) |
28 |
CONTROL(1) |
27 |
PA27/PGMD15 |
ВХОД/ВЫХОД |
INPUT(1) |
26 |
OUTPUT(1) |
25 |
CONTROL(1) |
24 |
PA28 |
ВХОД/ВЫХОД |
INPUT(1) |
23 |
OUTPUT(1) |
22 |
CONTROL(1) |
21 |
PA3 |
ВХОД/ВЫХОД |
INPUT |
20 |
OUTPUT |
19 |
CONTROL |
18 |
PA2 |
ВХОД/ВЫХОД |
INPUT |
17 |
OUTPUT |
16 |
CONTROL |
15 |
PA1/PGMEN1 |
ВХОД/ВЫХОД |
INPUT |
14 |
OUTPUT |
13 |
CONTROL |
12 |
PA0/PGMEN0 |
ВХОД/ВЫХОД |
INPUT |
11 |
OUTPUT |
10 |
CONTROL |
9 |
PA29 |
ВХОД/ВЫХОД |
INPUT(1) |
8 |
OUTPUT(1) |
7 |
CONTROL(1) |
6 |
PA30 |
ВХОД/ВЫХОД |
INPUT(1) |
5 |
OUTPUT(1) |
4 |
CONTROL(1) |
3 |
PA31 |
ВХОД/ВЫХОД |
INPUT(1) |
2 |
OUTPUT(1) |
1 |
CONTROL(1) |
0 |
ERASE |
ВХОД |
INPUT |
Примечание: 1. В AT91SAM7S32 ни с чем не связан.
13.5.5 Идентификационный регистр кода кристалла
Вид доступа: только для чтения
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
VERSION |
PART NUMBER |
|
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
PART NUMBER |
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
PART NUMBER |
MANUFACTURER IDENTITY |
|
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
MANUFACTURER IDENTITY |
0 |
- VERSION[31:28]: Номер версии изделия
Установлен в 0x0
- PART NUMBER[27:12]: Кодовый номер изделия
Тип микроконтроллера |
Кодовый номер |
AT91SAM7S32 |
0x5B07 |
AT91SAM7S321 |
0x5B12 |
AT91SAM7S64 |
0x5B06 |
AT91SAM7S128 |
0x5B0A |
AT91SAM7S256 |
0x5B09 |
- MANUFACTURER IDENTITY[11:1]: Идентификатор производителя
Установлен в 0x01F
- BIT[0]: Необходимое требование согласно стандарту IEEE 1149.1
Установлен в 0x1
Тип микроконтроллера |
Идентификатор по JTAG |
AT91SAM7S32 |
05B0_703F |
AT91SAM7S321 |
05B1_203F |
AT91SAM7S64 |
05B0_603F |
AT91SAM7S128 |
05B0_A03F |
AT91SAM7S256 |
05B0_903F |
|