Отечественный микроконтроллер MIK32 “Амур”: устанавливаем рабочее окружение в пару кликов

от автора

В последние годы российская микроэлектроника наконец начала заметно развиваться, и одним из наиболее ярких её примером является микроконтроллер MIK32 «Амур».

Отладочная плата MIK32 «Амур» от ООО «КоТе».

Отладочная плата MIK32 “Амур” от ООО «КоТе».

Причём в данном случае речь идёт не об очередном импортном кристалле, который просто поместили в отечественный корпус и нанесли на него новую маркировку. Полный цикл создания MIK32 локализован в России: микроконтроллер был разработан внутри группы «Элемент» совместно с НИИМА «Прогресс», а производство кристаллов выполняется на мощностях завода «Микрон».

MIK32 имеет первый уровень локализации и включён в Единый реестр российской радиоэлектронной продукции. Это означает, что в России выполняются не только корпусирование и финальная сборка, но также разработка и производство самой микросхемы.

И что особенно интересно — MIK32 не выглядит очередной копией STM32 или другого зарубежного контроллера. В нём присутствуют собственные и местами достаточно необычные архитектурные решения. Особенно необычно в MIK32 устроены прерывания. Вместо отдельных векторов для периферии здесь используется один общий: контроллер EPIC собирает запросы от устройств и передаёт их единому обработчику, который уже определяет источник события. Такое решение я пока не встретил в современных микроконтроллерах и это хорошо подчеркивает, что MIK32 — самостоятельная разработка со своей архитектурой, а не очередной клон зарубежного контроллера.

Как начать с ним работать?

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

В этой статье мы пойдём более коротким путём: установим рабочее окружение автоматически, создадим первый проект, соберём его и прошьём наш камень MIK32. Наша задача — получить полностью готовую систему и убедиться, что все инструменты корректно работают вместе.

Что понадобится:

  • компьютер с Windows или линукс;

  • плата на базе MIK32 «Амур»;

  • поддерживаемый программатор либо плата со встроенным программатором;

  • установщик окружения MIK32;

  • несколько минут свободного времени.

После завершения установки у нас будут готовы среда разработки, компилятор, средства сборки, OpenOCD, фреймворк MIK32, загрузчик и расширение для Eclipse или VS Code.

Шаг 1. Устанавливаем Eclipse

Сначала скачиваем Eclipse Installer с официального сайта и запускаем его. В списке пакетов выбираем Eclipse IDE for Embedded C/C++ Developers. Этот вариант предназначен для разработки встраиваемых систем и уже содержит необходимые инструменты для работы с проектами на C и C++.

Выбираем Eclipse IDE for Embedded C/C++ Developers.

Выбираем Eclipse IDE for Embedded C/C++ Developers.

На следующем экране можно оставить рекомендуемую версию Java и предложенный каталог. При желании установщик создаст ярлыки в меню «Пуск» и на рабочем столе. Нажимаем Install и дожидаемся завершения.

Проверяем каталог и запускаем установку Eclipse.

Проверяем каталог и запускаем установку Eclipse.

Когда кнопка Install сменится на Launch, базовая среда готова. Если Eclipse запустился автоматически, пока закрываем его: сначала добавим инструменты MIK32.

Eclipse установлен и готов к запуску.

Eclipse установлен и готов к запуску.

Шаг 2. Устанавливаем инструменты MIK32

Запускаем установщик MIK32 Toolchain. На приветственном экране перечислены компоненты, которые он подготовит: OpenOCD, утилиты сборки и программирования, расширение для Eclipse, фреймворк и примеры проектов. Выбираем русский язык и нажимаем Далее.

Приветственный экран MIK32 Toolchain.

Приветственный экран MIK32 Toolchain.

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

Основные компоненты и каталоги установки.

Основные компоненты и каталоги установки.

На вкладке интеграций проверяем путь к Eclipse/PlarformIO и оставляем включёнными нужные системные настройки, в том числе фреймворк и примеры.

Проверяем путь к Eclipse/PlarformIO и параметры интеграции.

Проверяем путь к Eclipse/PlarformIO и параметры интеграции.

В разделе программирования выбираем используемую плату/программатор и необходимые дополнительные параметры. После этого нажимаем Установить.

Настройки программатора и системных путей.

Настройки программатора и системных путей.

Шаг 3. Проверяем установку и запускаем Eclipse

Установщик последовательно скачает и развернёт выбранные компоненты. Операция может занять несколько минут — текущий этап отображается в журнале.

Во время установки в журнале отображается текущая операция.

Во время установки в журнале отображается текущая операция.

После заполнения индикатора проверяем последние строки журнала: там должно появиться сообщение об успешном завершении.

Все выбранные компоненты установлены без предупреждений и ошибок.

Все выбранные компоненты установлены без предупреждений и ошибок.

Запускаем Eclipse и открываем Window → Preferences. В разделе MIK32 проверяем пути к фреймворку, примерам и загрузчику. Здесь же выбираем используемый программатор, после чего нажимаем Apply and Close.

Настройки МИК32 в Eclipse.

Настройки МИК32 в Eclipse.

Шаг 4. Создаём первый проект

Открываем мастер создания проекта MIK32 через File → MIK32 Projects…, указываем имя проекта и Finish. После завершения мастер создаст готовую структуру проекта и базовый код мигания светодиодом.

Мастер создания проекта MIK32.

Мастер создания проекта MIK32.

Шаг 5. Собираем проект

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

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

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

После компиляции в консоли появится сообщение об успешном завершении, а также информация об использованном объёме памяти.

Успешная сборка и статистика памяти в консоли.

Успешная сборка и статистика памяти в консоли.

Шаг 6. Прошиваем MIK32

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

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

Выбор программатора и варианта прошивки МК.

Выбор программатора и варианта прошивки МК.

После запуска программы светодиод на плате начнёт мигать. Значит, среда установлена правильно, проект собирается, а связь с MIK32 прекрасно работает. А в режиме отладки кода, можно так же проверить состояния регистров.

Режим отладки с просмотром регистров, их описаний и SVD файла.

Режим отладки с просмотром регистров, их описаний и SVD файла.

Что установилось автоматически

За несколько шагов мы получили полноценное окружение для разработки под MIK32:

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

На этом базовая подготовка завершена. У нас есть рабочий проект Blink, настроенный компилятор, исправно работающий программатор и готовая среда для дальнейшей разработки.

Теперь можно переходить к самому интересному: работе с GPIO, таймерами, UART, SPI и другой периферией MIK32. Именно с этого момента начинается уже не настройка инструментов, а полноценная разработка под отечественный микроконтроллер.

Источники

Не бойтесь экспериментировать: микроконтроллеры лучше всего изучаются не по документации, а на практике. Большие проекты тоже когда‑то мигали одним светодиодом.


Отечественная микроэлектроника стала ближе и удобнее для разработчика.

ссылка на оригинал статьи https://habr.com/ru/articles/1066870/