Поиск по сайту:

 


По базе:  

микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Обзоры по типам > Микроконтроллеры > MAXQ

реклама

 




Мероприятия:




Раздел 17

Внутрисистемное программирование (JTAG)

Встроенная энергонезависимая память микроконтроллеров семейства MAXQ может быть инициализирована через режим начальной загрузки (Bootstrap Loader ). Чтобы активизировать режим начальной загрузки и установить необходимый канал связи, нужно загрузить команду System Programming (100b) в регистр команд при помощи последовательности IR-Scan. После того, как команда защелкивается в параллельный буфер команд (IR2:0) и распознается контроллером ТАР в состоянии Update-IR, то в качестве канала связи последовательности DR-Scan активизируется 3- битный сдвиговый регистр. ТАР сохраняет команду System Programming до тех пор, пока не будет загружена новая команда или пока не будет сброшен ТАР контроллер в состояние Test-Logic-Reset. Этот 3- битный регистр подключается между выводами TDI и TDO для обеспечения непосредственного доступа к 3- битному регистру Serial Programming Buffer (SPB). Регистр SPB имеет три бита, выполняющих следующие функции:

  • SPB.0: Активизация внутрисистемного программирования (System Programming Enable - SPE). Установка этого бита в логическую 1 обозначает, что после сброса микроконтроллер перейдет в режим внутрисистемного программирования. Когда этот бит сброшен в 0, то после сброса внутрисистемного программирования не будет. Логическое состояние этого бита определяет вектор сброса. Когда SPE = 1, то выбран режим начальной загрузки источником, определяемым битами PSS1:0. Когда SPE = 0, то сервисное ПЗУ передает контроль выполнения прикладной программе, т.е. начальная загрузка не будет инициализирована после сброса.
  • SPB.2:1: Выбор источника программирования (Programming Source Select - PSS1:PSS0). Эти биты позволяют хосту выбирать источник программирования. Биты PSS не имеют никакого значения, когда бит SPE сброшен в 0.
PSS1 PSS0 Источник программирования
0 0 JTAG
0 1 UART
1 0 SPI
1 1 Зарезервировано

Для настройки битов SPB используется последовательность DR-Scan. Содержимое регистра SPB отображается в регистре ICDF и доступно для чтения и записи вычислительному ядру. Эти биты сбрасываются в 0 при сбросе при включении питания и при переходе контроллера ТАР в состояние Test-Logic-Reset.

Работа загрузчика JTAG

Приборы, которые поддерживают загрузчик JTAG, имеют преимущество в аппаратном использовании некоторых битов состояния, которые используются при внутрисхемной отладке. Когда бит SPE регистра SPB установлен в 1, и JTAG выбран в качестве источника программирования (PSS1:0 = 00b), то автоматы фонового режима и активного режима отладки отключаются. Как только хост загружает команду Debug в регистр команд ТАР (IR2:0), то 10- битный регистр, подключенный к ICDB и битам состояния, становится доступным для канала связи хост - ПЗУ загрузчика. При работе JTAG загрузчика биты состояния должны интерпретироваться следующим образом:

BITS 1:0 Состояние Условие
00 Зарезервировано Неверное условие
01 Зарезервировано Неверное условие
10 Loader-Busy Загрузчик ПЗУ занят выполнением кода или обработкой текущей команды
11 Loader-Valid В текущей операции сдвига загрузчик ПЗУ выставил хосту верные данные

Когда используется вариант загрузчика JTAG (SPE = 1, PSS1:0 = 00b), автомат отладки используется только для одной цели: одноразовой передачи байта данных, загруженных хостом в регистр ICDB, и передачи содержимого внутреннего регистра хранения данных (загруженный ПЗУ код записывается в ICDB) в регистр сдвига для выдачи их хосту. Эта передача осуществляется по спадающему фронту сигнала TCK в состоянии Update-DR. Автомат отладчика дополнительно сбрасывает бит TXC в 0 в этой точке диаграммы состояний. Код загрузчика ПЗУ управляет битом состояния, выводимым хосту, путем установки бита TXC в 1, когда данные установились и готовы к последовательному сдвигу. Код ПЗУ может гибко осуществить любой протокол связи и управлять установкой разрядности данных в пределах 10- битного слова.

Доступ при защите паролем

Некоторые приложения требуют, чтобы в профилактических целях была реализована защита от простого доступа и просмотра кода прикладной программы. Для защиты кода программы любой микроконтроллер семейства MAXQ имеет сервисное ПЗУ, которое разрешает внутрисистемное программирование, программирование в приложении или внутрисхемную отладку только после того, как будет введен пароль. Пароль представляет собой 16 слов физической памяти программы, расположенных в адресном пространстве от x0010h до x001Fh. Обратите внимание, что использование этих ячеек памяти для хранения пароля не исключает их использование для хранения кода прикладной программы, при условии, что нет необходимости использования уникального пароля.

В SC регистре реализован только один бит: защита паролем (Password Lock - PWL). Когда бит PWL установлен в 1, то перед переходом в режим внутрисхемной отладки или внутрисистемного программирования необходимо ввести пароль. Когда бит PWL сброшен в 0, то доступ к этим утилитам осуществляется через сервисное ПЗУ без пароля.

По умолчанию при сбросе при включении питания бит PWL устанавливается в 1. Для обращения к сервисному ПЗУ необходим правильный пароль. После введения правильного пароля сервисное ПЗУ снимает защиту паролем. Бит PWL остается сброшенным до тех пор, пока не наступит одно из следующих событий:

  • сброс при включении питания или
  • установка этого бита в 1 прикладной программой.

При использовании микроконтроллеров с ROM памятью программы, прикладная программа закончена и пароль всегда должен быть известен. Ожидается, что пароль будет использоваться редко, так как утилита программирования ПЗУ и/или внутрисхемной отладки не нужна после того, как принято решение об использовании микроконтроллеров с ROM ПЗУ программы.

Для приборов с перепрограммируемой энергонезависимой памятью, пароль всегда известен для полностью стертого прибора, так как блоки памяти устанавливаются в детерминированное состояние. После программирования пароль устанавливается и может быть использован для защиты доступа. Код сервисного ПЗУ блокирует доступ к защищенной программе когда бит PWL установлен в 1.

Ввод пароля

Пароль может быть введен одним из двух способов:

  • Через интерфейс внутрисистемного программирования путем установки битов PSS1:PSS0 когда бит SPE установлен в 1; протокол для ввода пароля определяет загрузчик ПЗУ.
  • Напрямую через ТАР интерфейс при помощи команды Unlock Password. Команда Unlock Password требует 32 трансфертных циклов для передачи пароля.


<-- Предыдущая страница Оглавление Следующая страница -->





 
Впервые? | Реклама на сайте | О проекте | Карта портала
тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru
©1998-2023 Рынок Микроэлектроники