Распродажа

Электронные компоненты со склада по низким ценам, подробнее >>>

Содержание ChipNews

2003: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
2002: 
1, 5, 6, 7, 8, 9
2001: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
2000: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
1999: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Новости электроники

В 14 раз выросло количество россиян на MediaTek Labs ? проекте по созданию устройств "интернета вещей" и "носимых гаджетов"

Сравнив статистику посещения сайта за два месяца (ноябрь и декабрь 2014 года), в MediaTek выяснили, что число посетителей ресурса из России увеличилось в 10 раз, а из Украины ? в 12. Таким образом, доля русскоговорящих разработчиков с аккаунтами на labs.mediatek.com превысила одну десятую от общего количества зарегистрированных на MediaTek Labs пользователей.

Новое поколение Джобсов или как MediaTek создал свой маленький "Кикстартер"

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

Семинар и тренинг "ФеST-TIваль инноваций: MAXIMум решений!" (14-15.10.2013, Новосибирск)

Компания Компэл, приглашает вас принять участие в семинаре и тренинге ?ФеST-TIваль инноваций: MAXIMум решений!?, который пройдет 14 и 15 октября в Новосибирске.

Мне нравится

Комментарии

дима пишет в теме Параметры биполярных транзисторов серии КТ827:

люди куплю транзистар кт 827А 0688759652

тамара плохова пишет в теме Журнал Радио 9 номер 1971 год. :

как молоды мы были и как быстро пробежали годы кулотино самое счастливое мое время

Ивашка пишет в теме Параметры отечественных излучающих диодов ИК диапазона:

Светодиод - это диод который излучает свет. А если диод имеет ИК излучение, то это ИК диод, а не "ИК светодиод" и "Светодиод инфракрасный", как указано на сайте.

Владимир пишет в теме 2Т963А-2 (RUS) со склада в Москве. Транзистор биполярный отечественный:

Подскажите 2т963а-2 гарантийный срок

Владимир II пишет... пишет в теме Параметры биполярных транзисторов серии КТ372:

Спасибо!

RISC-микроконтроллеры с процессорным ядром ARM. Часть 2.

А. Емелин, И. Шагурин

RISC-микроконтроллеры с процессорным ядром ARM. Часть 2.

В последние годы вс╦ более широкую популярность приобретают высокопроизводительные 32-разрядные микроконтроллеры, использующие процессорное ядро ARM. Такие микроконтроллеры выпускаются многими известными производителями: Atmel, Samsung, Intel, Motorola, Cirrus Logic, Oki и другими. Они привлекают пользователей низким значением соотношения "цена/качество", что обусловило их широкое применение в разнообразных устройствах. Ряд этих изделий используется российскими производителями для создания современной электронной аппаратуры различного назначения, поэтому представляется полезным ознакомление широкого круга российских специалистов с этим перспективным классом микроконтроллеров.

Регистровая модель и система команд в состоянии Thumb

Состояние Thumb отличается от ARM разрядностью команды - она содержит 16 бит. Встроенный декодер переводит команды, записанные по системе Thumb, в команды ARM. Ввиду компактности используемых форматов, система команд Thumb имеет ряд особенностей и ограничений [1].

Переход процессора из состояния ARM в Thumb и обратно реализуется с помощью команды BX.

Набор регистров в состоянии Thumb сокращ╦н (рис. 1) - он является подмножеством регистрового банка в состоянии ARM. В формате большинства команд Thumb под номер регистра отведено только 3 бита, поэтому прямое обращение возможно только к регистрам R0-R7. Регистры R8-R12 доступны только через специальные команды за-грузки. Регистры SP и LR выполняют фиксированные функции как указатель стека и регистр связи. В состоянии Thumb имеются специальные команды, ориентированные на работу с этими регистрами - загрузка в стек проходит только через SP, адрес возврата из подпрограммы сохраняется только в LR.

В формате команд Thumb отсутствует поле условия Cond. Из условных операций выполняются только команды условных переходов Bcc, где суффикс "cc" определяет вид условия в соответствии с табл. 4 части 1. Не используется также суффикс "S", так как в системе команд Thumb ж╦стко задано, какие флаги условий устанавливаются в регистре CPSR по результатам выполнения той или иной команды.

Рисунок 1. Регистровая модель процессора в состоянии Thumb

User, System FIQ Supervisor Abort IRQ Undefined
R0 (a1) R0 R0 R0 R0 R0
R1 (a2) R1 R1 R1 R1 R1
R2 (a3) R2 R2 R2 R2 R2
R3 (a4) R3 R3 R3 R3 R3
R4 (v1) R4 R4 R4 R4 R4
R5 (v2) R5 R5 R5 R5 R5
R6 (v3) R6 R6 R6 R6 R6
R7 (v4) R7 R7 R7 R7 R7
SP SP_fiq SP_svc SP_abt SP_irq SP_und
LR LR_fiq LR_svc LR_abt LR_irq LR_und
PC PC PC PC PC PC
CPSR CPSR CPSR CPSR CPSR CPSR
  SPSR_fiq SPSR_svc SPSR_abt SPSR_irq SPSR_und

Сокращение длины команд повлияло также на разрядность содержащихся в них операндов. Непосредственные данные сокращены до 8 бит, адресные смещения в большинстве команд - до 5 бит. Однако обрабатываемые данные сохраняют 32-разрядный формат.

Состояние Thumb имеет ряд ограничений по системе команд, поэтому один и тот же алгоритм потребует для своей реализации большего количества инструкций, чем в состоянии ARM. Однако формат команд Thumb обеспечивает большую компактность программного кода, чем формат ARM. По данным фирмы ARM грамотное применение режима Thumb позволяет во многих случаях сократить объ╦м кода на 35√40%. При использовании 8- или 16-разрядной внешней памяти производительность процессора в состоянии Thumb может оказаться выше, чем в состоянии ARM, за сч╦т меньшего количества обращений к памяти.

Обработка прерываний

При поступлении внешнего запроса прерывания или обнаружении ошибки процессор автоматически переходит в состояние ARM и начинает работу в соответствующем режиме: IRQ, FIQ, Abort или Undefinied. Последовательность его действий такова:

  • Адрес возврата сохраняется в LR.
  • Содержимое CPSR копируется в соответствующий регистр SPSR.
  • В CPSR значения битов M4-0 устанавливаются в соответствии с новым режимом работы (IRQ, FIQ, Abortили Undefinied).
  • Из размещ╦нной в памяти таблицы векторов прерываний в PC загружается адрес первой команды обработчика прерывания.

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

В системе команд ARM отсутствует специальная команда для выхода из обработчика прерывания. Для выполнения возврата программа должна выполнить следующие действия:

  • Восстановить содержимое CPSR из SPSR.
  • Разрешить прерывания, запрещ╦нные при входе в обработчик.
  • Загрузить в PC адрес возврата из регистра LR с помощью команды выхода из прерывания (табл. 1).

Таблица 1.Размещение векторов прерываний и команды выхода

Адрес Вектор Команда выхода из прерывания
0х00000000 Запуск (Reset)  
0х00000004 Неправильная команда MOVS PC, R14_und
0х00000008 Программное прерывание MOVS PC, R14_svc
0х0000000С Ошибка выборки инструкции SUBS PC, R14_abt, #4
0х00000010 Ошибка выборки данных SUBS PC, R14_abt, #8
0х00000014 ≈ (резервировано)  
0х00000018 IRQ SUBS PC, R14_irq, #4
0х0000001С FIQ SUBS PC, R14_fiq, #4

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

В случаях выхода из режимов FIQ, IRQ, Abort может потребоваться коррекция адреса возврата. После обработки этих исключений процессор должен вернуться к выполнению команды, вызвавшей прерывание. В регистре LR хранится адрес следующей команды, поэтому при выходе из обработчика прерываний содержимое этого регистра следует скорректировать с помощью команды вычитания SUBS.

Ядро ARM7TDMI реализует 7 видов прерываний, которые перечислены ниже в порядке снижения их приоритета:

  1. Reset - реализуется при подаче сигнала запуска на внешний вывод процессора. Процессор переходит в режим Supervisor и начинает выполнение программы с адреса, разм╦щенного в первой ячейке памяти (адрес ячейки 0x00000000).
  2. Data abort - ошибка при обращении к данным (фиксируется контроллером прерываний). Процессор переходит в режим Abort.
  3. FIQ - реализуется при подаче сигнала прерывания на один из выводов nFIQ. Процессор переходит в режим FIQ. При поступлении данного прерывания в регистровом банке происходит переключение 7 регистров R8-R14 (рис. 2, часть 1), что позволяет сократить или исключить операции сохранения содержимого регистров в стеке. За сч╦т этого переход к обработке прерывания происходит быстрее.

    Рисунок 2. Структура контроллера S3C44B0X

    Структура контроллера S3C44B0X.

  4. IRQ - возникает при подаче сигнала прерывания на один из выводов nIRQ. Процессор переходит в режим IRQ.
  5. Prefetch abort - ошибка при выборке команды (фиксируется контроллером прерываний). Процессор переходит в режим Abort.
  6. Undefined instruction - выборка неправильного кода команды. Процессор переходит в режим Undefined.
  7. Software interrupt - программное прерывание по команде SWI. Процессор переходит в режим Supervisor. Программные прерывания используются, как правило, для вызова функций ОС.

Вектора прерываний располагаются в памяти последовательно, начиная с нулевого адреса (табл. 1). Каждый вектор содержит 4 байта, которые являются адресами первой команды обработчика прерываний.

Отметим, что в табл. 1 отсутствуют вектора прерываний по запросам внешних устройств. Дело в том, что микроконтроллеры, реализуемые на базе ядра ARM7TDMI, имеют разнообразный набор периферийных устройств. Поэтому в состав микроконтроллера вводится контроллер прерываний, который транслирует запрос от любого периферийного устройства в запрос IRQ или FIQ. Далее программа-обработчик должна самостоятельно определить источник запроса, используя регистры контроллера прерываний. Пример реализации прерываний в микроконтроллере S3C44B0X фирмы Samsung привед╦н ниже.

Микроконтроллеры с ядром ARM и их применение

Ядро ARM в своих разработках используют многие известные фирмы - производители микросхем. Ограниченный объ╦м статьи не позволяет рассказать о всех кристаллах этого класса, представленных на рынке. Основные характеристики нескольких широко используемых типов микросхем приведены в табл. 2, где использованы следующие обозначения:

Таблица 2. Микроконтроллеры с ядром ARM7TDMI

Фирма Кристалл Частота, МГц Внутренняя память Периферийные устройства
Atmel AT91R40807 40 RAM 136K 6 PWM, 2 USART, 3 таймера, WDT
AT91FR4081 40 RAM 136K, Flash 1M 6 PWM, 2 USART, 3 таймера, WDT
Samsung S3C44B0X 66 RAM 8K 2 UART, IrDA, 5 таймеров, PWM, ADC(8x10), I2C, I2S, LCD
S3C4510B 50 RAM 8K Ethernet, i2c, HDLC, 2 UART, 2 Timers
Cirrus Logic PS7500FE 56 RAM 4K ISA, LCD, CRT, FPU, 2 PS/2, Timers, 32 bit Sound
EP7312 74 RAM 48K AudioCODEC, 2 UART, PWM, RTC, LCD
Oki ML670100 25 RAM 4K, ROM 128K 6 таймеров, WDT, PWM
ML674001 33 RAM 4K, ROM 256K 7 таймеров, 2 PWM, 2 UART, SIO, ADC (8x10)

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

  • PWM - широтно-импульсный модулятор;
  • WDT - сторожевой таймер;
  • IrDA - инфракрасный последовательный порт;
  • ADC(810) - 10-разрядный аналого-цифровой преобразователь, 8 входов;
  • I2C - интерфейс, реализующий протокол Inter-Integrated Circuit;
  • I2S - интерфейс, реализующий протокол Inter-IC Sound;
  • CRT - контроллер ЭЛТ;
  • LCD - контроллер ЖК-дисплея;
  • RTC - часы реального времени;
  • UART, USART - последовательные порты со стандартными асинхронным и универсальным (синхронным/асинхронным) протоколами обмена;
  • SIO - синхронный последовательный интерфейс;
  • FPU - сопроцессор обработки чисел с плавающей точкой;
  • ISA - контроллер шины ISA;
  • HDLC - контроллер, реализующий стандартный протокол обмена HDLC;
  • PS/2 - стандартный порт для подключения мыши или клавиатуры;
  • AudioCODEC - звуковой кодек;
  • 32 bit Sound - последовательный интерфейс с ЦАП CD-качества.

Некоторые фирмы (NEC, Toshiba, Texas Instruments) изготавливают системы с ядром ARM на заказ. В этом случае заказчику предоставляется возможность выбора периферии. Часто такие заказные микросхемы поставляются не как микроконтроллеры, а как "системы на кристалле" (System on Chip ≈ SoC), так как они включают большой набор периферийных устройств, контроллеров и сопроцессоров, реализующих совместно с процессорным ядром функции законченной цифровой системы.

В качестве примера на рис. 2 показана структура микроконтроллера S3C44B0X фирмы Samsung [2]. Микроконтроллер содержит следующий набор периферийных устройств:

  • контроллер внешней памяти ROM, SRAM, DRAM, SDRAM;
  • контроллер прерываний;
  • 2 канала прямого доступа к памяти DMA;
  • контроллер ЖК-дисплея;
  • 2 канала UART, совмещ╦нных с IrDA и синхронным портом SIO;
  • последовательные интерфейсы i2cи i2s;
  • 5 таймеров, реализующих широтно-импульсную модуляцию (PWM);
  • сторожевой таймер WDT, часы реального времени RTC;
  • 8-канальный 10-разрядный АЦП.

Контроллер внешней памяти организует взаимодействие между процессорным ядром и памятью программ/данных. Память разбита на 8 банков MB0-MB7. В пределах каждого банка S3C44B0X с помощью 25-разрядной шины адреса может адресовать до 32 Мбайт. В банке MB0 размещается ПЗУ, в котором содержится программа начальной загрузки регистров и запуска микроконтроллера. В адресном пространстве MB0 располагаются также регистры периферийных устройств, входящих в состав микроконтроллера. Банки MB1-MB5 отведены для размещения ПЗУ (ROM) или статического ОЗУ (SRAM). Размер банков MB0-MB5 фиксирован и составляет 32 МБ. Банки MB6, MB7 предназначены для размещения динамического ОЗУ ≈ микросхем DRAM и SDRAM. Размеры этих банков настраиваются программно.

Наличие двух банков для микросхем SDRAM позволяет использовать в составе цифровой системы стандарт-ные DIMM-модули памяти с двухбанковой организацией, которые имеют относительно низкую стоимость. Следует иметь в виду, что при использовании обычных микросхем SDRAM информация в них не сохраняется, если микроконтроллер S3C44B0X находится в режиме пониженного энергопотребления. В этом случае для сохранения содержимого памяти необходимо использовать микросхемы SDRAM с поддержкой режима авторегенерации Self Refresh.

Контроллер прерываний обрабатывает сигналы прерываний от 30 источников - устройств, находящихся на кристалле, и сигналов на внешних выводах. Контроллер поддерживает стандартный и векторный режимы обслуживания запросов прерывания.

При стандартном режиме обслуживания запрос прерывания в зависимости от предварительной настройки (программирования) контроллера инициирует переход процессора в режим FIQ или IRQ. При этом запросы, вызывающие режим FIQ, имеют более высокий приоритет, чем запросы IRQ. Определение источника запроса прерывания обеспечивается с помощью соответствующей программы обработки. Для запросов, вызывающих режим IRQ, можно задать ряд уровней приоритета, определяющих очер╦дность их обслуживания.

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

Контроллер ЖК-дисплея выда╦т необходимые сигналы для формирования изображения на подключенном к микроконтроллеру ч╦рно-белом (с градациями серого) или цветном ЖКД. Контроллер позволяет осуществлять 4- или 8-разрядный интерфейс с драйверами ЖКД, поддерживает режим Dual Scan, при котором осуществляется вывод одновременно в двух областях экрана.

Контроллер может обслуживать панели размером до 8192x1024 точек. Практически размер ограничен номенклатурой выпускаемых панелей и требуемой частотой кадров. Драйверы ЖКД обычно работают на частотах до 10 МГц. В случае монохромного режима, байтового обмена и частоты кадров 50 Гц максимальный объ╦м панели составляет:

Vmax = 10╥106/50 [байт] = 10╥106/50 · 8 [точек] = 1,6 млн. точек.

Для современных серийно выпускаемых ЖК-панелей максимальный размер составляет 640x480 = 0,3 млн. точек.

При управлении цветным ЖКД состояние каждой точки зада╦тся одним байтом, который содержит битовые поля для каждого из тр╦х основных цветов: по 3 бита на красный и зел╦ный, 2 - на синий. Значение битового поля зада╦т код интенсивности соответствующей цветовой компоненты. С помощью регистров палитры каждому коду может быть поставлена в соответствие одна из 16 градаций интенсивности. Таким образом, ЖКД может одновременно воспроизводить до 256 цветов из 4096 возможных.

Для управления дисплеем контроллер использует внешние выводы:

  • VFRAME - кадровая синхронизация;
  • VLINE - строчная синхронизация;
  • VCLK - байтовая синхронизация;
  • VM - переменное напряжение для зажигания панели;
  • VD [7..0] - данные.

Шесть 16-разрядных таймеров предназначены для отсч╦та временных интервалов. Каждые два таймера используют один 8-разрядный делитель частоты. Таймеры 0-4 могут работать в режиме широтно-импульсной модуляции (PWM). Таймер 0 реализуют вариант ШИМ с генерацией "м╦ртвой зоны", что используется при управлении силовыми каскадами. Таймеры 4 и 5 могут тактироваться внешним сигналом.

Сторожевой таймер WDT (Watch-Dog Timer) предназначен для контроля возникновения ошибок в процессе работы системы ("зависания" программы). Пользователь программно зада╦т временной интервал срабатывания WDT. В зависимости от содержимого регистра управления WDT, реализуется прерывание или повторный запуск процессора. При отсутствии необходимости в сторожевых функциях этот таймер может служить для отсч╦та временных интервалов.

Блок RTC (Real Time Clock) обеспечивает работу микроконтроллера в реальном масштабе времени. Блок представляет собой часы с календар╦м и будильником, тактируемые от отдельного кварцевого резонатора с частотой 32768 Гц, и питается от внешней батарейки напряжением 3 В. Данные хранятся в двоично-десятичном формате, что упрощает вывод информации о времени и дате. Этот блок может также генерировать запрос прерывания с заданным периодом времени, которое используется операционной системой реального времени для переключения задач.

В качестве примера применения контроллера S3C44B0X на рис. 3 представлена структура универсального процессорного модуля с графическим интерфейсом (УПГИ), разработанного в Консультационно-техническом центре по микроконтроллерам (КТЦ-МК, Москва).

Рисунок 3. Структура модуля УПГИ

Структура модуля УПГИ

Выбор для этой разработки контроллера S3C44B0X с процессором ARM обусловлен следующими факторами:

  • Обработка изображения требует применения высокопроизводительного процессорного ядра.
  • Микроконтроллер S3C44B0X имеет в сво╦м составе интерфейс ЖК-дисплея, что значительно упрощает структуру УПГИ.
  • Применение батарейного питания требует использования в составе УПГИ контроллера с низким энергопотреблением.
  • Последовательный порт контроллера S3C44B0X реализует режим IrDA, что позволяет организовать обмен по инфракрасному каналу без использования специального модулятора.
  • Стоимость S3C44B0X составляет около 12 долларов, что обеспечивает низкую цену конечного изделия, предназначенного для массового применения.
  • Для моделирования систем на базе S3C44B0X имеется недорогая плата развития SMDK41100, что позволяет сократить сроки и снизить стоимость разработки.

Функционирование модуля УПГИ организовано следующим образом. При включении питания процессор начинает выборку программы из стартового ПЗУ. Затем он переносит код программы в ОЗУ и запускает е╦. Программы небольшого объ╦ма могут храниться в стартовом ПЗУ. Если объ╦м программы превышает 512 Кбайт, то она загружается из флэш-памяти. В модуле используется флэш-память NAND типа K9K1208 фирмы Samsung, которая имеет ╦мкость 64 Мбайт. Обмен с флэш-памятью реализуется с помощью мультиплексированного 8-разрядного интерфейса (передача адреса и данных производится побайтно).

Для реализации ОЗУ ╦мкоcтью 64 Мбайт используются микросхемы SDRAM типа K4S641632 фирмы Samsung объ╦мом 8 Мбайт, которые выполняют автоматическую регенерацию содержимого памяти (функция Self Refresh). Это позволяет реализовать энергосберегающий режим работы УПГИ без потери данных, хранящихся в ОЗУ. В качестве памяти можно также использовать стандартный модуль синхронного динамического ОЗУ для персонального компьютера объ╦мом до 64 Мбайт.

Интерфейс пользователя реализуется с помощью ЖК-дисплея типа PG640480FRT-ANN-I-A1 фирмы Power-tip с разрешением 640x480 точек, имеющего сенсорный экран. Для управления выводом данных на дисплей используется контроллер ЖК-дисплея, имеющийся в S3C44B0X. При╦м информации с сенсорного экрана производится с помощью специализированного АЦП типа ADS7843 фирмы Texas Instruments.

Для обмена информацией с другими устройствами системы предусмотрены три последовательных интерфейса: RS-232, IrDA и USB. Интерфейсы RS-232 и IrDA (инфракрасный порт) реализуются контроллером S3C44B0X. Для организации интерфейса USB используется внешний специализированный контроллер USBN9603 фирмы National.

Так как на основе модуля УПГИ предполагается создавать портативные устройства, то основным источником питания являются аккумуляторы. Для рационального расхода их энергии используются преобразователи импульсного типа. Возможно питание от сети, во время которого происходит подзарядка аккумуляторов. Схема зарядки выполнена с использованием специализированного контроллера BQ2002 фирмы Texas Instruments.

Конструктивно устройство выполнено в виде двухслойной печатной платы, размер которой (215x150 мм) соответствует размерам ЖК-дисплея. В дальнейшем планируется переход на 4-слойную плату, благодаря чему тактовая частота процессора будет увеличена с 40 МГц до максимального значения - 66 МГц.

На базе модуля УПГИ планируется создание ряда цифровых устройств - "электронной книги", устройства тестирования для студентов и школьников, терминала для управления технологическими процессами.

Средства разработки для микроконтроллеров ARM

Таблица 3. Средства разработки программ для процессоров ARM

Продукт Назначение Цена, $
ARM Developer Suit С/С++, ассемблер, линкер, отладчик, библиотеки. Графический интерфейс 6 500
Multi-ICE Interface Unit Модуль для отладки по интерфейсу JTAG 3 500
Multi-Trace Модуль для отладки по интерфейсу ETM 4 500
Evaluator-7T Оценочная плата 249
Integrator Набор плат, отличающихся составом периферийных устройств и функциональными возможностями 800√14000

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

Для процессоров ARM существует набор средств разработки (компиляторы, отладчики, интегрированные среды программирования), некоторые из них приведены в табл. 3.

В связи с достаточно высокой стоимостью средств разработки, актуальной становится проблема поиска свободно распространяемого програм-много обеспечения. На интернет-сайте www.gnu.org можно получить компилятор GCC, который способен воспринимать исходный текст на различных языках высокого уровня (C, C++, Objective C, Chill, Fortran, Java) и переводить его в коды более чем 30 различных процессоров, в том числе и ARM. Набор программных средств разработки под ОС Linux содержит:

  • компилятор GCC;
  • набор дополнительных средств разработки BinUtils;
  • отладчик GDB;
  • библиотека NewLib или GLibC.

Вс╦ программное обеспечение доступно в виде исходных текстов на вышеупомянутом сайте GNU. Пакеты должны быть скомпилированы в надлежащей последовательности с необходимыми ключами. Более подробную информацию можно найти в [3]. В этой статье да╦тся описание операционной системы eCOS фирмы Red Hat, предназначенной для использования во встраиваемых системах и являющейся свободно распространяемым программным продуктом.

Аппаратные средства отладки программ используют специализированные отладочные интерфейсы JTAG и ETM, реализованные в микроконтроллерах с ядром ARM.

Интерфейс JTAG (Joint Test Action Group, стандарт IEEE 1149.1) предназначен для тестирования сложнофункцио-нальных микросхем, работающих в составе цифровых систем. Он также обеспечивает возможности отладки программного обеспечения. Интерфейс JTAG имеет следующие особенности:

  • подключение осуществляется через специальный 6-проводной порт;
  • для отладки используются тестовые блоки, встроенные в процессорное ядро, и входящая в его состав макроячейка EmbeddedICE, которая позволяет контролировать точки останова процессора;
  • процесс отладки не отнимает ресурсов у программы пользователя: вся память, порты и прерывания остаются в его распоряжении;
  • в программу не требуется вносить какие-либо изменения, чтобы обеспечить возможность е╦ отладки;
  • реализуются все стандартные возможности отладки, включая останов программы в контрольных точках.

Для работы с ARM-процессором по интерфейсу JTAG требуется целевая плата и инструментальный компьютер с соответствующим программным обеспечением. Необходимо также устройство, преобразующее сигналы от компьютера в сигналы интерфейса JTAG ≈ например, модуль Multi-ICE фирмы ARM, который подключается к ПК по интерфейсу RS-232. Более подробно возможности использования интерфейса JTAG описаны в [4].

Модуль ETM (Embedded Trace Macrocell) применяется для отладки сложных устройств на базе ARM, которые не имеют внешней шины. Связь с модулем ETM осуществляется через специальный порт Trace Port, который выда╦т сигналы, позволяющие определить, чем занят процессор в данный момент времени. Этот процесс называется трассировкой. Имеется возможность управлять трассировкой ≈ производить е╦ не постоянно, а на интересующих программиста участках кода, выводить не все данные, а только необходимые. Для этого в модуле ETM предусмотрены компараторы адреса и данных, сч╦тчики, фильтры и другие средства. Для работы с ETM требуется целевая система с выведенным портом Trace Port, компьютер с соответствующим программным обеспечением и преобразователь интерфейса, например, модуль Multi-Trace фирмы ARM. Подробное описание модуля ETM можно найти в [5].

Литература

  1. An Introduction to THUMB. ARM Limited, 1995.
  2. S3C44B0X RISC Microprocessor User▓s Manual. Samsung Electronics, 2001.
  3. Емец С. Использование свободных программных средств для разработки встраиваемых систем на основе 32-разрядных RISC-процессоров // Компоненты и технологии. 2000. ╧ 6,7.
  4. Application note ╧ 28. The ARM7TDMI Debug Architecture. ARM Limited, 1995.
  5. Embedded Trace Macrocell Specifi-cation. ARM Limited, 1999√2001.







Ваш комментарий к статье
RISC-микроконтроллеры с процессорным ядром ARM. Часть 2. :
Ваше имя:
Отзыв: Разрешено использование тэгов:
<b>жирный текст</b>
<i>курсив</i>
<a href="http://site.ru"> ссылка</a>