Микропроцессоры и микроконтроллеры

 
 
 
«Низкоуровневый язык — это когда требуется внимание к вещам, которые никак не связаны с программами на этом языке.»
Alan J. Perlis.
Русский | Українська


Микропроцессоры и микроконтроллеры :: Статьи :: Высококлассные средства разработки.Продолжение

Высококлассные средства разработки.Продолжение

Интерфейс JTAG и блок отладки работают асинхронно с ядром MAXQ2000. Связь по порту JTAG не требует той же тактовой частоты, с которой работает MAXQ2000. Частота TCK не должна превышать 1/8 системной тактовой частоты MAXQ2000.

Установки точек прерывания можно записать и прочитать через блок отладки в то время, как MAXQ2000 выполняет код. Этот режим известен как фоновый, и в нем блок отладки работает независимо от ядра ЦПУ.

При выполнении других операций, таких, как запись в и чтение из памяти и регистров, блок отладки управляет ядром MAXQ2000 и переключает его на выполнение одной из сервисных программ отладки, хранящихся в ПЗУ. Этот режим называется режимом отладки, и в нем блок отладки

прерывает нормальное выполнение программ. В этих случаях работа пользовательской программы временно прерывается и возобновляется только после выполнения функции отладки, точно так же, как это происходит при обработке прерываний.

Поскольку сам JTAG TAP-порт не используется для прикладных программ, выводы, присвоенные порту JTAG, могут использоваться этими программами. Все дополнительные подпрограммы, требующиеся для функций отладки, размещаются в ПЗУ, поэтому единственные системные ресурсы, потребляемые функциями отладки — небольшой объем ОЗУ и один уровень программного стека (используемый для хранения адреса возврата при вызове прграммы отладки). Старшие 19 байт ОЗУ (адреса с 0х07ED по 0x07FF) зарезервированы для использования сервисными программами отладки. Если внутрисхемная отладка не планируется, эти ячейки ОЗУ доступны для использования прикладными программами.

Доступ к интегрированной программной флеш-памяти через JTAG

JTAG TAP-порт также используется для дополнительной функции загрузчика, которая доступна даже в том случае, когда функции отладки не используются. Установив три конфигурационных бита через JTAG TAP интерфейс и затем отключив сигнал reset, можно передать управление встроенным программам загрузки, размещенным в ПЗУ. Биты конфигурации, которые управляют доступом к загрузчику — следующие:

Интерфейс JTAG

• SPE: System Program Enable Bit (Разрешить запись в программную память) (ICDF.1). Если этот бит установлен в 1, MAXQ2000 выполняет программу загрузчика в ПЗУ сразу после отключения сигнала reset.

• PSS[1:0]: Programming Source Select (Выбор источника программирования) (ICDF.3-2). Эти биты определяют какой порт используется для связи с загрузчиком: JTAG (PSS[1:0]==00b) или последовательный 0 UART

(PSS[1:0]==01b)

Когда эти биты установлены и MAXQ2000 снят с reset,

загрузчик начинает обмен данными с хост-системой по выбранному порту (JTAG или последовательный 0 UART). В любом случае используется один и то же протокол, выполняющий следующие функции:

• Считывает идентификационный номер MAXQ2000 (идентифицирует версию ПЗУ)

• Сообщает объем памяти программ и памяти данных

• Осуществляет чтение, запись, проверку и вычисление контрольной суммы для интегрированной программной флеш-памяти

• Осуществляет чтение, запись, проверку и вычисление контрольной суммы для ОЗУ

• Проверка пароля (для получения доступа к командам записи/чтения программной памяти).

Хотя загрузчик и может работать через последовательный 0 UART порт вместо JTAG, интерфейс JTAG необходим для переключения загрузчика в режим последовательной передачи.

Однако прикладная программа также может перевести загрузчик в режим последо-

вательной передачи, нужным образом установив биты SPE и PSS, а затем выполнив reset

MAXQ2000 (позволив сработать сторожевому таймеру или с помощью внешних аппаратных средств).

Метод активизации загрузчика (например, сигнал на вывод порта) определяется прикладной программой.

Защита функций отладки и загрузчика с помощью пароля

Схема защиты по паролю ограничивает доступ к функциям отладки и загрузчика MAXQ2000.

Хост-система должна сообщить пароль, чтобы получить доступ к любой функции, которая считывает или изменяет содержимое памяти или системных и периферийных регистров.

Длина пароля составляет 16 слов или 32 байта. Оригинал пароля хранится во внутренней флеш-памяти по адресам от 0x0010 до 0x001F. Эти значения можно включить в прикладную программу в виде статического массива, или это могут быть просто значения командных кодов, хранящихся по этим адресам. В любом случае, пароль записывается автоматически при загрузке прикладной программы. Если прикладная программа не загружена, то пароль формируется по умолчанию и все его слова равны 0хFFFF.

Даже если пароль неизвестен, содержимое внутренней флеш-памяти MAXQ2000 всегда можно стереть с помощью загрузчика. Этот метод эффективно стирает пароль (приводя все слова к виду 0хFFFF) и позволяет работать остальным операциям программирования и отладки.

Защита с помощью пароля гарантирует, что существующий код нельзя считать с MAXQ2000, не проверив предварительно соответствие значения 32-байтного пароля.




Следующая статья >>
«Использование «COM- JTAG» адаптера»