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

Причём в данном случае речь идёт не об очередном импортном кристалле, который просто поместили в отечественный корпус и нанесли на него новую маркировку. Полный цикл создания MIK32 локализован в России: микроконтроллер был разработан внутри группы «Элемент» совместно с НИИМА «Прогресс», а производство кристаллов выполняется на мощностях завода «Микрон».
MIK32 имеет первый уровень локализации и включён в Единый реестр российской радиоэлектронной продукции. Это означает, что в России выполняются не только корпусирование и финальная сборка, но также разработка и производство самой микросхемы.
И что особенно интересно — MIK32 не выглядит очередной копией STM32 или другого зарубежного контроллера. В нём присутствуют собственные и местами достаточно необычные архитектурные решения. Особенно необычно в MIK32 устроены прерывания. Вместо отдельных векторов для периферии здесь используется один общий: контроллер EPIC собирает запросы от устройств и передаёт их единому обработчику, который уже определяет источник события. Такое решение я пока не встретил в современных микроконтроллерах и это хорошо подчеркивает, что MIK32 — самостоятельная разработка со своей архитектурой, а не очередной клон зарубежного контроллера.
Как начать с ним работать?
Чтобы начать писать свою первую программу, разработчику обычно приходится отдельно устанавливать необходимую кучу инструментов.
В этой статье мы пойдём более коротким путём: установим рабочее окружение автоматически, создадим первый проект, соберём его и прошьём наш камень MIK32. Наша задача — получить полностью готовую систему и убедиться, что все инструменты корректно работают вместе.
Что понадобится:
компьютер с Windows или линукс;
плата на базе MIK32 «Амур»;
поддерживаемый программатор либо плата со встроенным программатором;
несколько минут свободного времени.
После завершения установки у нас будут готовы среда разработки, компилятор, средства сборки, OpenOCD, фреймворк MIK32, загрузчик и расширение для Eclipse или VS Code.
Шаг 1. Устанавливаем Eclipse
Сначала скачиваем Eclipse Installer с официального сайта и запускаем его. В списке пакетов выбираем Eclipse IDE for Embedded C/C++ Developers. Этот вариант предназначен для разработки встраиваемых систем и уже содержит необходимые инструменты для работы с проектами на C и C++.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Что установилось автоматически
За несколько шагов мы получили полноценное окружение для разработки под MIK32:
В результате нам не пришлось отдельно искать совместимые версии инструментов, вручную прописывать пути и настраивать интеграцию компонентов между собой. После установки можно сразу создать проект, собрать его и загрузить программу в микроконтроллер.
На этом базовая подготовка завершена. У нас есть рабочий проект Blink, настроенный компилятор, исправно работающий программатор и готовая среда для дальнейшей разработки.
Теперь можно переходить к самому интересному: работе с GPIO, таймерами, UART, SPI и другой периферией MIK32. Именно с этого момента начинается уже не настройка инструментов, а полноценная разработка под отечественный микроконтроллер.
Источники
Не бойтесь экспериментировать: микроконтроллеры лучше всего изучаются не по документации, а на практике. Большие проекты тоже когда‑то мигали одним светодиодом.
Отечественная микроэлектроника стала ближе и удобнее для разработчика.
Комментарии (21)

avitek
05.08.2026 09:53Эклипс безальтернативен?

maquefel
05.08.2026 09:53Не - он не нужен на самом деле. Просто тогда не получится в “пару кликов”.
Вот например человек на Makefile переделал - https://gitflic.ru/project/ogneyar/amur_c.
Пока мы на клавиатуре “раз-два-три-четыре”, они мышкой “раз-два, раз-два” =).

aabzel
05.08.2026 09:53Эклипс безальтернативен?
Если сборка на make скриптах, то каждый может использовать абсолютно любой текстовый редактор или IDE. В этом основное достоинство сборки из скриптов. Я вот люблю текстовый редактор в Eclipse, сосед через стол не представляет жизни без Visual Studio Code от Microsoft. Мы собирали проект на GNU Make вообще без проблем. Мы оба для построения прошивки просто кликаем на built.bat скрипт, который запускает консольную команду make all.

GarryC
05.08.2026 09:53По поводу оригинального решения с отсутствием векторов прерываний вспоминается фраза из советского фильма "Злой дух Ямбуя" :
" ... он уши отрезал, сварил и съел - ты бы догадался?",
но там герой долго ходил по тайге и голодал, а здесь то зачем.
aabzel
05.08.2026 09:53MIK32 это экстремально слабый микроконтроллер. В нем нет ни CAN ни USB.
Как ни крути, но максимум, что светит MIK32 - это устройства типа тестер электронных компонентов. По сути DMM, мультиметр.
В идеале если на MIK32 сделают полную копию Multi tester модели T7
https://www.ozon.ru/product/tranzistor-izmeritelnyy-pribor-lcr-t7-mnogofunktsionalnyy-tester-emkostnogo-soprotivleniya-2977437161/?at=qQtJ3Z3M9czz4q5gt2LqBXMHlgkOx1fzrR5AphxnPq6EПлюс добавят каких-н особенных функций, то это будет зенит для MIK32.

aabzel
05.08.2026 09:53Год назад появилась исчерпывающая методичка про то как надо по-настоящему программировать MIK32
https://habr.com/ru/articles/854050/
Настройка ToolChain-а Cборки Прошивок для MIK32 (K1948BK018 + C + GCC + GNU Make + OpenOCD).
Система сборки Make более предпочтительна для достижения обратной совместимости с проектами на STM32. Чтобы можно было пере использовать и мигрировать код в проектах на MIK32 и наоборот.


Arhammon
А это хорошо? И я может что-то пропустил и у нас есть копии СТМ32? Что называется дайте два и про остальные можно не рассказывать...
Mrmarsov Автор
То, что он не использует мощности производства за пределами РФ, это очень похвально, когда остальные в качестве импортозамещения меняют шильдик и не более. Миландр тоже выпускает микроконтроллеры, в том числе и на Арм архитектуре, как и стм32, но производство не у нас.
Поэтому корректнее сказать, что мик32 интересен именно как самостоятельная российская разработка на RISC-V, а не просто украли чертежи и лепим «свое»
Из нехорошего тоже есть моменты, например то, что вектор прерываний всего один и EPIC собирает запросы от всех, а уже общий обработчик программно определяет источник события, это сильно бьет на отзывчивость периферии. В то время как другие производители не практикуют такое, что опять же указывает на самостоятельность разработки и возможность производить Кристал на наших устаревших станках
Arhammon
Боюсь что людям больше интересно было бы взять копию СТМ32 находящихся во всевозможных реестрах и тупо поставить вместо СТМ32 в изделие и всё(есть же механизмы принудительных лицензии например для лекарств - не поставляете, Ок, государство дает корсарский патент...). Ну или на худой конец своё ядро с периферией STM32(а-ля тех же китайских CH32), которое где-то встанет с напильниногом...
max_dark
STM32 - ARM, который требует лицензирования в отличии от RISC-V
Mrmarsov Автор
Людям больше интересно использовать оригинал без танцев с бубнами, а на худой конец это наилучший вариант, Мик32 позиционирует себя как аналог stm32L серии, и CH мк некая часть тоже на RISC-V ядре и уже тут тоже не обойтись без напильника.
К слову библиотека МИК32 HAL немало напоминает либру от стм
aabzel
Скопировали самый худший HAL из возможных.
aabzel
Да. Это микроконтроллеры от Милиадр.