Научная статья на тему 'РАЗРАБОТКА ИМИТАЦИОННОЙ МОДЕЛИ ЯДРА ARM CORTEX-M3 ДЛЯ ИНТЕГРИРОВАННЫХ СРЕД РАЗРАБОТКИ НА ПРИМЕРЕ СЕМЕЙСТВА МИКРОКОНТРОЛЛЕРОВ NXP LPC 13XX'

РАЗРАБОТКА ИМИТАЦИОННОЙ МОДЕЛИ ЯДРА ARM CORTEX-M3 ДЛЯ ИНТЕГРИРОВАННЫХ СРЕД РАЗРАБОТКИ НА ПРИМЕРЕ СЕМЕЙСТВА МИКРОКОНТРОЛЛЕРОВ NXP LPC 13XX Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
59
7
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИМИТАЦИОННАЯ МОДЕЛЬ / МИКРОКОНТРОЛЛЕР / ИНТЕГРИРОВАННАЯ СРЕДА РАЗРАБОТКИ / ARM / SIMULATION MODEL / MICROCONTROLLER / INTEGRATED DEVELOPMENT ENVIRONMENT

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Усачёв Михаил Валерьевич, Мольков Николай Павлович

Рассмотрены особенности разработки имитационной модели ядра микроконтроллеров с архитектурой ARM Cortex-M3 для семейства NXP LPC 13XX. Приведено описание обобщённой имитационной модели микроконтроллера на данном ядре для работы в составе интегрированных сред разработки (ИСР). Определена структурная схема модели и интерфейс с ИСР.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The development of the simulation model of the ARM Cortex-M3 core for integrated development environments by example of the microcontroller family NXP LPC 13xx

The paper considers the development features of a simulation model of microcontrollers NXP LPC13XX based on the architecture ARM Cortex-M3. The description of the generalized simulation model of this core for working with integrated development environments (IDE) is given. The block diagram of the model and the interface with IDE are described.

Текст научной работы на тему «РАЗРАБОТКА ИМИТАЦИОННОЙ МОДЕЛИ ЯДРА ARM CORTEX-M3 ДЛЯ ИНТЕГРИРОВАННЫХ СРЕД РАЗРАБОТКИ НА ПРИМЕРЕ СЕМЕЙСТВА МИКРОКОНТРОЛЛЕРОВ NXP LPC 13XX»

УДК 621.396.44

Разработка имитационной модели ядра ARM Cortex-M3

для интегрированных сред разработки

на примере семейства микроконтроллеров NXP LPC 13xx

Усачёв М.В., Мольков Н.П. Аннотация: Рассмотрены особенности разработки имитационной модели ядра микроконтроллеров с архитектурой ARM Cortex-M3 для семейства NXP LPC 13XX. Приведено описание обобщённой имитационной модели микроконтроллера на данном ядре для работы в составе интегрированных сред разработки (ИСР). Определена структурная схема модели и интерфейс с ИСР.

Ключевые слова: имитационная модель, микроконтроллер, ARM, интегрированная среда разработки.

The development of the simulation model of the ARM Cortex-M3 core for integrated development environments by example of the microcontroller family NXP LPC 13xx

Usachev M.V., Molkov N.P.

Abstract: The paper considers the development features of a simulation model of microcontrollers NXP LPC13XX based on the architecture ARM Cortex-M3. The description of the generalized simulation model of this core for working with integrated development environments (IDE) is given. The block diagram of the model and the interface with IDE are described.

Key words: simulation model, microcontroller, ARM, integrated development environment.

Введение

С развитием элементной базы и расширением номенклатуры микроконтроллеров и систем-на-кристалле возникают задачи, связанные с обучением особенностям каждой модели и разработкой программного обеспечения для них [1,2]. В настоящее время для этого используются интегрированные среды разработки (ИСР), которые можно разделить на универсальные и специализированные. Универсальные среды являются продуктами, ориентированными на широкую номенклатуру микроконтроллеров разных производителей. Специализированные, напротив, обладают поддержкой моделей лишь конкретного производителя, но имеют возможность подключения к отладочным комплектам и использованию внутрисхемных эмуляторов, позволяя проводить отладку программного обеспечения на реальном устройстве.

В настоящее время универсальные среды ориентированы на разработку только программного обеспечения, и в них невозможно отладить работу аппаратной части микроконтроллерной системы. Для решения таких комплексных задач применяются САПР на основе симулятора Berkeley SPICE 3F5.

Одной из активно развивающихся архитектур на данный момент является ARM, реализуемая на ядрах Cortex-A, Cortex-R и Cortex-М [3]. Микроконтроллеры на A и R ядрах предназначены для использования в высокопроизводительных приложениях. M-серия применяется в основном для быстрого управления прерываниями и достижения минимального энергопотребления. Они характеризуются как менее быстродействующие по сравнению с A и R ядрами.

Однако, в современных САПР с SPICE-симулятором модели ядер ARM

(1) LPC1342/43 only.

(2) LQFP48 package only.

(3) On LPC1313FBD48.CI1 only.

(4) Windowed WatchDog Timer (WWDT) on LPC1311/D1 and LPC1313/01 only. Рис. 1. Структурная схема микроконтроллеров семейства NXP LPC 13XX

^11^x^3 отсутствуют, что не позволяет проводить моделирование работы микроконтроллеров и систем-на-кристалле с данной архитектурой.

Целью работы является разработка имитационной модели микроконтроллеров семейства NXP LPC 13XX на основе ядра ^11^x^3 для SPICE-симуляции.

Среди основных решаемых задач выделим:

- анализ характеристик семейства LPC13XX;

- разработка алгоритма генерации модели микроконтроллера с применением подхода в [4].

Рассмотрим особенности микроконтроллеров семейства LPC13XX (рис. 1). В его состав входят модели LPC 1311/13/42/43, работающие на тактовой частоте до 72 МГц. Они предназначены для встроенных приложений и характери-

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

Представители семейства содержат до 32 КБ ППЗУ, до 8 КБ ОЗУ и следующие основные периферийные модули: USB в режиме «Устройство», I2C, УАПП, до 4 таймеров общего назначения, до 42 линий ввода-вывода и другие [5]. Модели отличаются друг от друга набором периферии, однако номера прерываний и распределение адресного пространства между периферией не изменяются.

В качестве базовой была выбрана программная модель ядра ARM-микроконтроллера [4]. Однако из ее состава необходимо исключить модуль за-

щиты памяти MPU, который в данном семействе отсутствует. Базовая модель реализует интерфейс с симулятором, микропроцессорное ядро, внутренние шины и обмен данных с абстрактной периферией, предоставляя основу для построения конечных модулей. Структурная схема модели ядра для NXP LPC 13XX приведена на рис. 2.

По результатам анализа перечня и распределения модулей в семействе, был разработан алгоритм создания модели на этапе запуска процесса симуляции. Он заключается в следующем:

- реализуется полный перечень периферийных модулей;

- подготавливаются конфигурационные файлы для каждой модели, в которых ука-

зываются периферийные модули, которые входят в состав модели и необходимое адресное пространство для распределения их внутренних регистров;

Рис. 2. Программная модель ядра для семейства NXP LPC 13XX

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

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

Во время работы используются следующие широковещательные сигналы, с помощью которых ядро уведомляет периферийные модули о наступлении соответствующих событий:

- предварительная инициализация;

- инициализация;

- начало работы;

- сброс;

- режим работы (выполнение, сон, глубокий сон);

- изменение системного регистра.

Реакция на них зависит от реализации

конкретного модуля. При предварительной инициализации периферийные модули должны создать область памяти под конфигурационные регистры и зарегистрировать ее в системе. Во время инициализации модули регистрируют адреса процедур-обработчиков событий записи/чтения для своих конфигурационных регистров. В дальнейшем, когда пользовательский программный код будет конфигурировать указанный модуль, в транзакции чтения/записи запишется адрес регистра модуля. Далее «менеджер шин» направляет транзакцию на соответствующую шину, которая с помощью этого адреса производит поиск зарегистрированных процедур-обработчиков. Если они

определены, то будет произведен их вызов.

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

Моделирование проводилось в САПР Proteus 7.10 (www.labcenter.com). Основой симулятора здесь является модифицированное ядро ProSPICE, основанное на Berkeley SPICE 3F5, которое использует как традиционный аналоговый режим, так и ускоренный цифровой режим симуляции (основанный на событиях изменениях логических уровней сигналов). В настоящее время в библиотеке Proteus содержится более 6000 периферийных моделей электронных компонентов, включая интерактивные (кнопочные переключатели, дисплеи). Программная модель для Proteus была создана с помощью компилятора C++ в виде динамически загружаемой библиотеки DLL для операционной системы MS Windows. Программа не использует функций API Windows, поэтому в будущем ее возможно скомпилировать под другие операционной системы с минимальными затратами.

Разработанная программная модель имеет следующие ограничения, несущественные с практической точки зрения:

- регистр IRCCTRL не моделируется, поскольку по нему отсутствует какая-либо техническая информация;

- отсутствует схема детектора изменения напряжения в питающей цепи;

- отсутствует защита от несанкционированного чтения программного кода;

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

Для оценки функциональной полноты модели [б] были выбраны критерии, наиболее важные с точки зрения разработки программного обеспечения. Для сравнения были выбраны модели микроконтроллеров на архитектуре Cortex-M3 из ИСР Code Composer Studio (Texas Instruments) и GNU GDB 4.7. В SPICE-симуляторах подобные модели отсутствуют. Результаты (рис. 3) показали, что разработанная модель «Модель» является более функциональной по сравнению с аналогами из CCS и GDB. Наиболее су-

щественным преимуществом здесь является возможность подключения внутренних и внешних компонентов.

Таким образом, в работе развит подход к созданию моделей микроконтроллеров для SPICE-симуляторов, описанный в [4]. На его основе создана программная модель семейства микроконтроллеров NXP LPC 13XX, выполненных на архитектуре ARM Cortex-M3. Были разработаны алгоритмы функционирования модели ядра микроконтроллера и всех периферийных компонентов. Данный подход можно использовать для создания моделей микро-

контроллеров ARM Cortex-M3 других производителей с учетом специфики конкретного семейства.

Литература

1. Scott Sirowy, David Sheldon, Tony Givargis, and Frank Vahid Virtual microcontrollers. SIGBED Rev. 6, 1, Article 6 (January 2009), 8 pages. (дата обращения: 15.02.2012). URL: http://doi.acm.org/10.1145 /1534480.1534486.

2. Limachia M., Kothari N. Modeling of ARM Cortex-M3 processor core using System C// International Journal of Computer Science & Technology Vol.2, Issue 4, Oct.-Dec. 2011, 10 p. (дата обращения: 02.03.2012), URL: http://ijcst.com/vol24/2/mitesh.pdf.

3. Joseph Yiu. The Definitive Guide to the ARM Cortex-M3. Second edition. Elsevier Inc., 2010, 447 p.

4. Усачев М.В., Мольков Н.П. Обобщенная имитационная модель микроконтроллера смешанных сигналов для SPICE-симуляции // Методы и устройства передачи и обработки информации: межвуз. сб. науч. трудов. Вып.12 / Под ред. В.В. Ромашова. М.: Радиотехника, 2010. С. 75-78.

5. LPC1311/13/42/43 User Manual. (дата обращения: 03.10.2012), URL: http://www.nxp. com

6. Хубаев Г.Н. Сравнение сложных программных систем по критерию функциональной полноты // Программные продукты и системы (SOFT-

WARE&SYSTEMS), 1998. №2. С. 6-9.

References

1. Scott Sirowy, David Sheldon, Tony Givargis, and Frank Vahid SIGBED Rev. 6, 1, Article 6 (January 2009), 8 pages. (data obrash-eniya: 15.02.2012), URL: http://doi.acm.org/ 10.1145/1534480.1534486

2. Limachia M., Kothari N. International Journal of Computer Science & Technology Vol.2, Issue 4, Oct.-Dec. 2011, 10 p. (data obrasheniya: 02.03.2012), URL: http://ijcst.com/ vol24/2/mitesh.pdf

3. Joseph Yiu. The Definitive Guide to the ARM Cortex-M3. Second edition. Elsevier Inc., 2010, 447 p.

Функция

Выполнение инструкций ЦПУ (с точностью до машинного цикла)_

Модель

CCS +

GDB

+

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

Прерывания от ножек микроконтроллера (внешние)_

Прерывания от периферии

Реакция на сигнал "сброс при включении" POR

Реакция на сигнал "сброс при недостаточном питании" B0R

Интерфейс с внутренними периферийными модулями_

Интерфейс с внешней схемой_

Реализация механизма защиты памяти

Возможность принудительного задания тактовой частоты (в обход тактового модуля)

Поддержка отладочной информации языков высокого уровня_

Поддержка точек останова, отображения состояния регистров и памяти_

Рис. З. Сравнение функциональности программных моделей ARM Cortex-M3

4. Usachev M.V, Molkov N.P. Metody i ustroystva peredachi i obrabotki informatsii, 2010, 12, pp. 75-78.

5. LPC1311/13/42/43 User Manual. (data obrasheniya: 03.10.2012), URL: http://www.arm.com

Поступила 10 марта 2013 г.

6. Khubaev G.N. Sravnenie slozhnih pro-grammnih system po kriteriyu funkcionalnoi polnoti // Programmnie producti i sistemi (SOFT-WARE&SYSTEMS), 1998. №2. С. 6-9.

Информация об авторах

Усачев Михаил Валерьевич - кандидат технических наук, декан факультет информационных технологий Муромского института (филиала) ФГБОУ ВПО «Владимирский государственный университет имени Александра Григорьевича и Николая Григорьевича Столетовых».

E-mail: um.mivlgu@gmail.com.

Мольков Николай Павлович - кандидат технических наук, доцент, доцент кафедры «Системы автоматизированного проектирования» Муромского института (филиала) ФГБОУ ВПО «Владимирский государственный университет имени Александра Григорьевича и Николая Григорьевича Столетовых».

E-mail: aurise@yandex.ru.

Адрес: 602254, г. Муром, ул. Орловская, 23.

Usachev Mikhail Valerievich - the Candidate of Engineering, the dean of the faculty "Informational technologies" Vladimir state university named after Alexander and Nickolay Stoletovs.

Molkov Nikolay Pavlovich - the Candidate of Engineering, the docent, the docent of the department of automated development systems Vladimir state university named after Alexander and Nickolay Stoletovs.

Address: 602254, Murom, Orlovskaya st., 23.

i Надоели баннеры? Вы всегда можете отключить рекламу.