Поиск по сайту: |
|
По базе: |
|
Главная страница > Обзоры по типам > Микроконтроллеры |
|
|||||||||
Программирование в среде MAXQАрхитектура MAXQ была разработана для прикладных программистов. Каждый микроконтроллер MAXQ содержит аппаратный блок отладки, тесно интегрированный с ядром микроконтроллера. Первой из микросхем этой архитектуры стала MAXQ2000, и в данной статье приведены примеры и дополнительные сведения по использованию АРМ IAR Embedded Workbench вместе с отладочным комплектом MAXQ2000 Evaluation Kit. Внутрисхемная отладка и программно-загрузочные функции микроконтроллера MAXQ2000 в сочетании со средой разработки IAR Embedded Workbench обеспечивают разработку и тестирование приложений на языках С или Ассемблер. Аппартный блок отладки и загрузчик MAXQ2000 работают через выделенный порт JTAG, обеспечивая полный доступ к отладке при минимальном влиянии на системные ресурсы. Особенности внутрисхемной отладки Аппаратный блок отладки, тесно интегрированный с ядром микроконтроллера, управляет функциями отладки 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, можно передать управление встроенным программам загрузки, размещенным в ПЗУ. Биты конфигурации, которые управляют доступом к загрузчику – следующие:
Когда эти биты установлены и MAXQ2000 снят с reset, загрузчик начинает обмен данными с хост-системой по выбранному порту (JTAG или последовательный 0 UART). В любом случае используется один и то же протокол, выполняющий следующие функции:
Хотя загрузчик и может работать через последовательный 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.
Использование аппаратных средств отладочного комплекта MAXQ2000 Отладочный комплект MAXQ2000 Evaluation Kit предоставляет полную аппаратную среду разработки для микроконтроллеров MAXQ2000, включая следующие компоненты:
Установка комплекта MAXQ2000 Evaluation Kit и адаптера “COM – JTAG» весьма проста. Подключите платы, следуя приведенной ниже инструкции:
Разработка прикладных программ с использованием АРМ IAR Embedded Workbench Среда разработки АРМ IAR Embedded Workbench поддерживает разработку прикладных программ для MAXQ2000 на базе языка С или языка ассемблера. С использованием описанной выше аппаратной конфигурации, включающей комплект MAXQ2000 Evaluation Kit и модуль адаптера «COM – JTAG», IAR Embedded Workbench имеет полный доступ к основанному на JTAG загрузчику и функциям внутрисхемной отладки MAXQ2000. При разработке прикладных программ для MAXQ2000, IAR Embedded Workbench поддерживает следующие функции:
Разработка и компиляция проекта для 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 необходимо выбрать следующие установки для микроконтроллера MAXQ2000:
По вкладке C-SPY Debugger диалогового окна Options необходимо выбрать следующие установки для микроконтроллера MAXQ2000 (Рис.3):
В разделе JTAG диалогового окна Options, поле Command line options содержит наименование COM-порта PC, используемого для связи с платой «COM – JTAG». На рис. 4 показаны установки для подключения к COM-порту 1.
После установки опций для проекта, выберите Project, затем – Add Files для добавления исходного файла языка С к проекту. После добавления исходного файла (или файлов) выберите Project, затем – Make для его компилирования, после чего выберите Project, затем – Debug для запуска сеанса отладки. Эта операция загружает скомпилированный проект через интерфейс JTAG и переводит IAR в режим отладки, как показано на рис.5.
Операции отладки в 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. Они разделены на логические группы:
Регистры с разрешением записи можно редактировать, кликнув на строку значения и введя новое значение. Отображение индивидуальных битов или полей битов внутри регистров может быть развернуто или свернуто кликом по знаку плюса или минуса рядом с именем регистра. Заключение Среда разработки высокого уровня для IAR Embedded Workbench, основанная на языке С, в сочетании с отладочным интерфейсом низкого уровня MAXQ2000, позволяет выполнять тонкую отладку как на уровне языка С, так и на уровне ассемблера. Встроенные средства отладки и внутрисхемного программирования MAXQ2000 и их минимальное влияние на ресурсы системы позволяют использовать те же аппаратные структуры как для разработки прикладных программ, так и для окончательной доводки готового проекта. Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|