Программно-аппаратные средства разработки и отладки приложений для микроконтроллеров серии 1886
Российская компания ЗАО «ПКК МИЛАНДР», специализирующаяся на разработке электронной элементной базы для военной техники, в настоящее время предлагает широкий спектр серийно выпускаемых цифроаналоговых микросхем с приемкой «5», таких как схемы памяти, приемопередатчики различных интерфейсов, регуляторы напряжения, синтезаторы частот. Одним из основных направлений в деятельности компании является разработка и развитие серийно выпускаемых 8разрядных микроконтроллеров серии 1886. Основные технические характеристики микроконтроллеров приведены в таблице.
Параметр | 1886ВЕ1 | 1886ВЕ2 | 1886ВЕ3 | 1886ВЕ4 | 1886ВЕ5 | 1886ВЕ6 | 1886ВЕ7 |
---|---|---|---|---|---|---|---|
Ядро | RISC 8 бит | RISC 8 бит | RISC 8 бит | RISC 8 бит | RISC 8 бит | RISC 8 бит | RISC 8 бит |
Умножение аппаратное | ⁄8×8 | 8×8 | 8×8 | 8×8 | 8×8 | 8×8 | 8×8 |
Тактовая частота/ производительность |
33 МГц/8 MIPS | 33 МГц/8 MIPS | 33 МГц/8 MIPS | 33 МГц/8 MIPS | 40 МГц/10 MIPS | 40 МГц/10 MIPS | 40 МГц/10 MIPS |
Питание ядра, В |
4,55,5 | 4,55,5 | 4,55,5 | 4,55,5 | 3,05,5 | 3,05,5 | 3,05,5 |
Питание портов, В |
| | 3,05,5 | 3,05,5 | | | |
Память программ | Mask ROM 32К×16 | Flash 32К×16 Mask ROM 256×16 |
Flash 32К×16 Mask ROM 256×16 |
Flash 32К×16 Mask ROM 256×16 |
EEPROM 4К×16 Mask ROM 2K×16 |
EEPROM 4К×16 Mask ROM 2K×16 |
EEPROM 2К×16 Mask ROM 2K×16 |
ОЗУ | 902 | 902 | 902 | 902 | 902 | 902 | 128 |
Память данных | | | EEPROM 256×8 | EEPROM 256×8 | EEPROM 256×8 | EEPROM 256×8 | EEPROM 256×8 |
Таймеры | 4 | 4 | 1 | 1 | 3 | 3 | 1 |
Схема захвата | 4 | 4 | | | 2 | 2 | |
ШИМ | 3 | 3 | | | 2 | 2 | |
АЦП | 12 каналов/ 10 разрядов |
12 каналов/ 10 разрядов |
| | 8 каналов/ 10 разрядов |
8 каналов/ 12 разрядов |
|
ЦАП | | | | | | 12 разрядов | |
Компаратор | | | | | | 1 | |
USART | 2 | 2 | 1 | 1 | 1+LIN | 1+LIN | 1+LIN |
SPI | 1 | 1 | | 1 | | 1 | |
I2C | 1 | 1 | | | | | |
USB | | | 2 точки | 4 точки | | | |
CAN | | | | | 6 буферов RX/TX | | |
Спец. возможности | | | Блок поддержки ГОСТ 2814789 |
| | | |
Встроенный регулятор напряжения |
| | На 3,3 В до 40 мА | На 3,3 В до 40 мА | | | На 5 В до 20 мА |
Диапазон рабочих температур, oС |
60…85 | 60…85 | 60…85 | 60…85 | 60…125 | 60…125 | 60…125 |
Тип корпуса | Н1864 | Н1864 | Н1648 | Н1648 | Н1442 | Н1442 | Не определен |
Статус | Серийные поставки | Серийные поставки | Серийные поставки | Серийные поставки | Образцы | В разработке | В разработке |
Серьезное внимание компания уделяет разработке программноаппаратных средств отладки приложений для микроконтроллеров. В настоящее время уже разработаны аппаратные эмуляторы микроконтроллеров, демонстрационные отладочные платы, среда разработки и отладки программ Debug1886, а также утилита программирования внутренней памяти программ микросхем.
Аппаратные эмуляторы выполнены на базе ПЛИС, где реализована цифровая часть микроконтроллера (рис. 1), с помощью дополнительной мезонинной платы реализуется аналоговое окружение микроконтроллера. Для отладки приложений на аппаратном эмуляторе в схему микроконтроллера дополнительно интегрирован отладочный модуль, который расположен между процессорным ядром и памятью программ таким образом, чтобы «перехватывать» любое обращение в память программ (рис. 2).
В пошаговом режиме отладки перехватываются все обращения. Адреса обращений передаются в ПК, где в соответствии с кодом программы обратно в аппаратный эмулятор возвращается соответствующий машинный код операции. Кроме того, эмулятор может работать и в режиме реального времени. В этом случае код программы полностью загружается в память программ, модуль отладчика перехватывает только обращения по заранее заданным адресам остановки (breakpoints). Для того чтобы отладчик мог отобразить состояние внутренних регистров и ОЗУ, после перехвата он выполняет небольшую программу по сохранению контекста микроконтроллера, выгрузке необходимой информации и восстановлению контекста для дальнейшего выполнения программы. Этот процесс скрыт от пользователя.
Кроме аппаратных эмуляторов для каждого микроконтроллера разработаны демонстрационноотладочные наборы (рис. 3).
Набор содержит демонстрационноотладочную плату с контактирующим устройством для установки микроконтроллера, программатор, необходимые источники питания и диск с программным обеспечением, включающим исходные коды нескольких демонстрационных программ. На плате в зависимости от типа микроконтроллера реализованы дополнительные элементы, например интерфейсы RS232, светодиодные индикаторы, клавиатуры и монтажное поле, где разработчик может реализовать свою часть схемы.
Начиная с микроконтроллеров 1886ВЕ5 в схему процессорного ядра введен специальный блок внутрисхемной отладки, позволяющий проводить отладку приложений непосредственно на микроконтроллере в составе разработанной аппаратуры (рис. 4). В этом режиме перехват хода выполнения программы производится непосредственно самим ядром микроконтроллера при достижении счетчиком команд заранее заданного адреса.
После этого генерируется прерывание, которое передает управление подпрограмме отладки, передающей отладчику всю необходимую информацию о состоянии микроконтроллера. После чего задается следующий адрес перехвата и управление возвращается основной программе. Обмен информацией с отладчиком может осуществляться через любой интерфейс микроконтроллера, в качестве основного в среде разработки предлагается интерфейс стандартного программатора. Программа может выполняться как в пошаговом режиме, так и в режиме реального времени с остановкой по заданному адресу.
В связи с новыми требованиями по разработке и отладке приложений на языке высокого уровня «С» к выпуску готовится принципиально новая интегрированная среда разработки приложений для серии 1886 (рис. 5).
К основным преимуществам следующей версии среды разработки следует отнести возможность написания и отладки программ на языке высокого уровня «С» и полностью интегрированный в одной среде процесс разработки. Среда разработки представляет собой программный пакет для работы под ОС Widows и включает следующие основные подсистемы (рис. 6):
- Редактор подсистема редактирования исходного кода. Редактор предназначен для создания, изменения, отображения исходного кода программ. Редактор автоматически проводит структурный разбор кода, выделяет ключевые слова, проводит форматирование и отслеживание пар скобок. Редактор позволяет работать с программным кодом, написанным на языке Си или ASM. При отладке приложений в редакторе выделяется выполняемая команда. Также в редакторе можно устанавливать точки остановки.
- Отладчик подсистема отладки приложений. Отладчик позволят выполнять разрабатываемую программу в пошаговом режиме с отслеживанием состояния внутренних регистров микроконтроллера.
- Средства программирования подсистема программирования микроконтроллеров. Позволяет проводить программирование внутренней памяти микроконтроллеров.
- Менеджер проекта подсистема управления процессом разработки. Менеджер отслеживает состояние всего проекта, обеспечивает связь между различными подсистемами.
Среда разработки приложений на языке Си использует сторонние компиляторы. В настоящее время возможно использование двух компиляторов:
- HITECH PICC ANSI C Compiler компании HITECH Software;
- компилятор российской фирмы ЗАО «Интерстрон».
Серия микроконтроллеров 1886 совместима с микроконтроллерами PIC17xxxx фирмы Microchip. Поэтому для разработки могут использоваться программные средства, предназначенные для этих схем. Выбор компилятора HITECH был обусловлен открытой архитектурой его конфигурационного файла, описывающего структуру и основные характеристики микроконтроллеров, что позволило добавить микроконтроллеры серии 1886 в список поддерживаемых им кристаллов. Но, наряду с этим, ведется разработка собственного компилятора. Это обусловлено областями применения самих микроконтроллеров, так как в ряде случаев могут иметь место специальные требования не только к микросхемам, но и к программному обеспечению для данного микроконтроллера, исключающие какуюлибо возможность внесения недокументированных возможностей или «закладок».
Среда разработки реализована на базе проекта с открытым исходным кодом DevC++. Исходные коды этого проекта доступны в сети Интернет. На текущий момент интегрированная среда разработки приложений для микроконтроллеров 1886 проходит тестирование.