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

реклама

 
радиационно стойкие ПЗУ Миландр

Продажа силового и бронированного кабеля и провода в Москве

текст еще



Программирование в среде MAXQ

Архитектура MAXQ была разработана для прикладных программистов. Каждый микроконтроллер MAXQ содержит аппаратный блок отладки, тесно интегрированный с ядром микроконтроллера. Первой из микросхем этой архитектуры стала MAXQ2000, и в данной статье приведены примеры и дополнительные сведения по использованию АРМ IAR Embedded Workbench вместе с отладочным комплектом MAXQ2000 Evaluation Kit.

Внутрисхемная отладка и программно-загрузочные функции микроконтроллера MAXQ2000 в сочетании со средой разработки IAR Embedded Workbench обеспечивают разработку и тестирование приложений на языках С или Ассемблер. Аппартный блок отладки и загрузчик MAXQ2000 работают через выделенный порт JTAG, обеспечивая полный доступ к отладке при минимальном влиянии на системные ресурсы.

Особенности внутрисхемной отладки

Аппаратный блок отладки, тесно интегрированный с ядром микроконтроллера, управляет функциями отладки MAXQ2000. Этот блок может обращаться к сервисным утилитам встроенного ПЗУ для поддержки широкого спектра операций отладки:

  • Чтение внутренней флеш-памяти программ
  • Чтение/запись памяти данных
  • Чтение стековой памяти
  • Чтение/запись всех системных и периферийных регистров MAXQ2000
  • Пошаговое выполнение программ
  • До четырех адресных контрольных точек для остановки выполнения программы в заданном участке кодовой памяти
  • Две контрольные точки памяти данных для остановки выполнения программы при обращении к заданному участку памяти данных
  • Две регистровые контрольные точки для остановки выполнения программы при записи в определенный системный или периферийный регистр (не могут использоваться одновременно с контрольными точками памяти данных) и при совпадении данных, записываемых в регистр, с заданными значениями
  • Функция проверки пароля (для доступа к остальным функциям отладки).

Вся связь с блоком отладки в MAXQ2000 осуществляется через выделенный JTAG Test Access Port (TAP) интерфейс, отвечающий стандарту IEEE 1149 для JTAG. Этот интерфейс включает четыре сигнала, мультиплексированные с выводами портов MAXQ2000 следующим образом: TMS (выбор режима) – с Р4.2; TCK (тактовый сигнал) – с Р4.0; TDI (входные данные) – с Р4.1; TDO (выходные данные) – с Р4.3.

Поскольку JTAG TAP-порт выделен для внутрисистемной отладки и внутрисистемного программирования, четыре вывода, по которым передаются сигналы JTAG TAP-порта по завершении этих операций могут быть использованы для других целей. Порт JTAG активируется по умолчанию сигналом reset, но в процессе работы прикладная программа может деактивировать порт JTAG, освобождая четыре выделенных вывода для других целей.

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

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

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

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

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

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

  • 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» адаптера

Интегрированные среды разработки для микроконтроллера MAXQ2000 (такие как MAXIDE и IAR Embedded Workbench) включают библиотеки программ для поддержки связи с JTAG-интерфейсом MAXQ2000. Тем не менее, поскольку в PC, на которых установлено это программное обеспечение, обычно нет JTAG-портов, необходимо аппаратное решение для связи двух систем.

Модуль адаптера «COM – JTAG», включенный в отладочный комплект для MAXQ2000, обеспечивает быстрое решение этой проблемы. (Рис. 1) Программное обеспечение для PC (такое, как IAR Embedded Workbench) связывается с модулем адаптера по стандартному последовательному COM-порту. Модуль адаптера затем подключается к JTAG-порту MAXQ2000, передавая команды загрузчику или блоку отладки. Модуль адаптера помимо этого выполняет преобразование уровней сигнала и поддерживает работу микроконтроллеров MAXQ в широком диапазоне напряжений питания, а также избавляет от необходимости использовать PC для обеспечения точной тактовой частоты с целью формирования импульсов JTAG.

Модуль адаптера «COM – JTAG» позволяет программному обеспечению для PC связываться с JTAG TAP-интерфейсом микроконтроллера MAXQ2000
Рис. 1. Модуль адаптера «COM – JTAG» позволяет программному обеспечению для PC связываться с JTAG TAP-интерфейсом микроконтроллера MAXQ2000

Использование аппаратных средств отладочного комплекта MAXQ2000

Отладочный комплект MAXQ2000 Evaluation Kit предоставляет полную аппаратную среду разработки для микроконтроллеров MAXQ2000, включая следующие компоненты:

  • Источник питания на плате для ядра MAXQ2000 и шины питания VDDIO.
  • Регулируемый источник питания (от 1,8 В до 3,6 В), который может быть использован для шин питания VDDIO и VLCD.
  • Контактные выводы для всех сигналов MAXQ2000 и напряжений питания
  • Отдельный разъем для подключения дочерней платы ЖКИ
  • Дочерняя плата ЖКИ с питанием 3 В и 3,5-разрядным статическим ЖКИ-дисплеем
  • Драйверы RS-232 для последовательного порта 0 UART, включая управление потоком данных
  • Кнопки для внешних прерываний и системного сброса (reset) микроконтроллера
  • Многоцелевая АЦП/ЦАП микросхема MAX1407, подключенная к интерфейсу шины SPI микроконтроллера MAXQ2000
  • Интерфейс 1-Wire®, включая держатель для iButton® и микросхему 1-Wire EEPROM
  • Светодиодный дисплей для индикации уровней на выводах порта от P0.7 до P0.0
  • Интерфейс JTAG для загрузки и отладки прикладных программ.

Установка комплекта MAXQ2000 Evaluation Kit и адаптера “COM – JTAG» весьма проста. Подключите платы, следуя приведенной ниже инструкции:

  1. Подключите источник питания постоянного тока напряжением 5В (центральный контакт – положительный, ± 5%) к разъему питания J2 платы адаптера “COM – JTAG»
  2. Подключите источник питания постоянного тока напряжением от 5 до 9 В к разъему питания J1 на плате комплекта MAXQ2000 Evaluation Kit
  3. Соедините последовательным кабелем DB9 разъем J1 на плате адаптера “COM – JTAG» с одним из COM-портов на PC
  4. Соедините кабелем адаптера JTAG 1х9-контактный разъем Р2 на плате адаптера «COM – JTAG» и 2х6 – контактный разъем J4 на плате комплекта MAXQ2000 Evaluation Kit
  5. Включите оба источника питания
  6. В стандартном режиме работы все DIP-переключатели на плате комплекта MAXQ2000 Evaluation Kit должны быть в положении OFF

Разработка прикладных программ с использованием АРМ IAR Embedded Workbench

Среда разработки АРМ IAR Embedded Workbench поддерживает разработку прикладных программ для MAXQ2000 на базе языка С или языка ассемблера. С использованием описанной выше аппаратной конфигурации, включающей комплект MAXQ2000 Evaluation Kit и модуль адаптера «COM – JTAG», IAR Embedded Workbench имеет полный доступ к основанному на JTAG загрузчику и функциям внутрисхемной отладки MAXQ2000.

При разработке прикладных программ для MAXQ2000, IAR Embedded Workbench поддерживает следующие функции:

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

Разработка и компиляция проекта для MAXQ2000

Поскольку в состав IAR Embedded Workbench включена поддержка семейства микроконтроллеров MAXQ, разработка нового проекта для микроконтроллера MAXQ2000 требует только нескольких специфических установок.

После запуска IAR выберите пункт File, затем в меню – New. В диалоговом окне New выберите Workspace и кликните OK. Введите новое имя для рабочей зоны проекта (хранится как файл с расширением .eww) и нажмите Save.

После открытия рабочего окна, выберите Project, затем – Create New Project из меню. Набор инструментов для MAXQ задается для нового проекта по умолчанию. Введите имя файла для нового проекта (хранится как *.ewp) и кликните Create.

Затем выберите Project и Settings из меню. Откроется диалоговое окно с установками для нового проекта, как показано на Рис.2

Раздел General Options диалогового окна Options дает пользователю возможность выбрать тип процессорного ядра (MAXQ10/Q20)
Рис. 2. Раздел General Options диалогового окна Options дает пользователю возможность выбрать тип процессорного ядра (MAXQ10/Q20), количество используемых аккумуляторов и глубину аппаратного стека. Показаны установки для MAXQ2000

По вкладке General Options в диалоговом окне Options необходимо выбрать следующие установки для микроконтроллера MAXQ2000:

  • В установке Processor Variant следует выбрать MAXQ20, поскольку MAXQ2000 имеет ядро этого типа.
  • В Number of accumulators для MAXQ2000 следует выбрать 16
  • В Hardware stack depth для MAXQ2000 следует выбрать 16

По вкладке C-SPY Debugger диалогового окна Options необходимо выбрать следующие установки для микроконтроллера MAXQ2000 (Рис.3):

  • В установке Driver выберите JTAG для подключения платы «COM – JTAG» к COM-порту PC. Две другие возможные установки – Simulator (используется для работы с программным симулятором MAXQ2000) и Emulator (используется для работы с внутрисхемным эмулятором MAXQ2000).
  • Опция Use Device Description File должна быть включена. Файлом описания устройства (*.ddf) должен быть файл для микроконтроллера MAXQ2000 (maxq200x.ddf). Этот файл определяет для среды IAR объем памяти и набор периферийных регистров конкретного микроконтроллера MAXQ.

3 Раздел C-SPY Debugger диалогового окна Options дает пользователю возможность задать установки для сеанса отладки
Рис. 3. 3 Раздел C-SPY Debugger диалогового окна Options дает пользователю возможность задать установки для сеанса отладки. Показаны установки для отладки MAXQ2000 с использованием модуля адаптера «COM – JTAG»

В разделе JTAG диалогового окна Options, поле Command line options содержит наименование COM-порта PC, используемого для связи с платой «COM – JTAG». На рис. 4 показаны установки для подключения к COM-порту 1.

Раздел C-SPY Debugger (JTAG) в диалоговом окне Options дает пользователю возможность изменять настройки под конкретный модуль адаптера «последовательный интерфейс – JTAG»
Рис. 4. Раздел C-SPY Debugger (JTAG) в диалоговом окне Options дает пользователю возможность изменять настройки под конкретный модуль адаптера «последовательный интерфейс – JTAG». Показаны установки для модуля «COM – JTAG» подключенного к PC порту COM1

После установки опций для проекта, выберите Project, затем – Add Files для добавления исходного файла языка С к проекту. После добавления исходного файла (или файлов) выберите Project, затем – Make для его компилирования, после чего выберите Project, затем – Debug для запуска сеанса отладки. Эта операция загружает скомпилированный проект через интерфейс JTAG и переводит IAR в режим отладки, как показано на рис.5.

Используя модуль адаптера «COM – JTAG», АРМ IAR Embedded Workbench может пошагово выполнять процедуры на микроконтроллере MAXQ2000
Рис. 5. Используя модуль адаптера «COM – JTAG», АРМ IAR Embedded Workbench может пошагово выполнять процедуры на микроконтроллере MAXQ2000, а также считывать и изменять данные его внутренней памяти и значения регистров

Операции отладки в IAR

После начала сеанса отладки можно использовать функции Step Over (F10), Step Into (F11) и Step Out (Shift + F11) для пошагового выполнения C-программы проекта. Для запуска программы выберите Debug, затем – Go из меню, или нажмите F5.

Адресные точки прерывания можно установить или удалить, поместив курсор на строку исходного кода и кликнув по кнопке Toggle Breakpoint на панели инструментов. Можно установить до четырех точек прерывания одновременно.

Окно Memory можно использовать для отображения Code (внутренней флэш-памяти), Data (внутреннего ОЗУ), Hw stack (внутреннего 16-уровневого стека) и памяти ПЗУ MAXQ2000. Формат отображения данных из памяти можно выбрать в виде байтов, слов или двойных слов, как hex (для любой ширины), так и ASCII (для байтовой ширины).

Окно Register отображает системные и периферийные регистры MAXQ2000. Они разделены на логические группы:

  • Регистры ЦПУ: регистры аккумуляторов и управления аккумуляторами, регистры указателей данных и управления указателями данных, указатель команд, счетчик циклов и флаги статуса программы.
  • Управление прерываниями: вектор прерывания, модульная маска и регистры идентификации.
  • Циклы: отображает количество выполненных циклов команд.
  • Параллельные порты: регистры входа, выхода и направления портов для Р0, Р1, Р2, Р3 и Р4.
  • Внешние прерывания: разрешение, выбор фронта, флаговые регистры для внешних прерываний.
  • Таймеры: регистры для таймеров/счетчиков от 0 до 2.
  • Последовательный порт: регистры управления и буферные регистры для SPI и последовательных портов
  • Умножитель: регистры, относящиеся к аппаратному модулю умножителя.

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

Заключение

Среда разработки высокого уровня для IAR Embedded Workbench, основанная на языке С, в сочетании с отладочным интерфейсом низкого уровня MAXQ2000, позволяет выполнять тонкую отладку как на уровне языка С, так и на уровне ассемблера. Встроенные средства отладки и внутрисхемного программирования MAXQ2000 и их минимальное влияние на ресурсы системы позволяют использовать те же аппаратные структуры как для разработки прикладных программ, так и для окончательной доводки готового проекта.






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