В последние годы российская микроэлектроника наконец начала заметно развиваться, и одним из наиболее ярких её примером является микроконтроллер 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. Именно с этого момента начинается уже не настройка инструментов, а полноценная разработка под отечественный микроконтроллер.

Источники

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


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

Комментарии (21)


  1. Arhammon
    05.08.2026 09:53

    И что особенно интересно — MIK32 не выглядит очередной копией STM32 или другого зарубежного контроллера.

    А это хорошо? И я может что-то пропустил и у нас есть копии СТМ32? Что называется дайте два и про остальные можно не рассказывать...


    1. Mrmarsov Автор
      05.08.2026 09:53

      То, что он не использует мощности производства за пределами РФ, это очень похвально, когда остальные в качестве импортозамещения меняют шильдик и не более. Миландр тоже выпускает микроконтроллеры, в том числе и на Арм архитектуре, как и стм32, но производство не у нас.

      Поэтому корректнее сказать, что мик32 интересен именно как самостоятельная российская разработка на RISC-V, а не просто украли чертежи и лепим «свое»

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


      1. Arhammon
        05.08.2026 09:53

        Боюсь что людям больше интересно было бы взять копию СТМ32 находящихся во всевозможных реестрах и тупо поставить вместо СТМ32 в изделие и всё(есть же механизмы принудительных лицензии например для лекарств - не поставляете, Ок, государство дает корсарский патент...). Ну или на худой конец своё ядро с периферией STM32(а-ля тех же китайских CH32), которое где-то встанет с напильниногом...


        1. max_dark
          05.08.2026 09:53

          STM32 - ARM, который требует лицензирования в отличии от RISC-V


        1. Mrmarsov Автор
          05.08.2026 09:53

          Людям больше интересно использовать оригинал без танцев с бубнами, а на худой конец это наилучший вариант, Мик32 позиционирует себя как аналог stm32L серии, и CH мк некая часть тоже на RISC-V ядре и уже тут тоже не обойтись без напильника.

          К слову библиотека МИК32 HAL немало напоминает либру от стм


          1. aabzel
            05.08.2026 09:53

            К слову библиотека МИК32 HAL немало напоминает либру от стм

            Скопировали самый худший HAL из возможных.


    1. aabzel
      05.08.2026 09:53

      И я может что-то пропустил и у нас есть копии СТМ32? 

      Да. Это микроконтроллеры от Милиадр.


  1. avitek
    05.08.2026 09:53

    Эклипс безальтернативен?


    1. Mrmarsov Автор
      05.08.2026 09:53

      Установщик так же на PlatformIO нацелен


      1. aabzel
        05.08.2026 09:53

        PlatformIO  - украинская IDE которая сливает российский исходный код в Киев!


    1. eledev
      05.08.2026 09:53

      VS Code + GCC


    1. maquefel
      05.08.2026 09:53

      Не - он не нужен на самом деле. Просто тогда не получится в “пару кликов”.

      Вот например человек на Makefile переделал - https://gitflic.ru/project/ogneyar/amur_c.

      Пока мы на клавиатуре “раз-два-три-четыре”, они мышкой “раз-два, раз-два” =).


    1. aabzel
      05.08.2026 09:53

      Эклипс безальтернативен?


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


  1. Megis
    05.08.2026 09:53

    Под арудино пилите поддержку и адепты прибудут...


    1. Mrmarsov Автор
      05.08.2026 09:53

      Под ардуино уже есть какой-то проект, кому интересно могут найти. Мне же это не интересно и я стороной обхожу ардуино


  1. vlad_1024
    05.08.2026 09:53

    Вот какую картинку нашёл на сайте Микрона
    Строка "аналоги"


    1. Mrmarsov Автор
      05.08.2026 09:53

      Аналог, но не копия ;)


    1. aabzel
      05.08.2026 09:53

      от какую картинку нашёл на сайте Микрона

      Ещё вот такая есть


  1. GarryC
    05.08.2026 09:53

    По поводу оригинального решения с отсутствием векторов прерываний вспоминается фраза из советского фильма "Злой дух Ямбуя" :
    " ... он уши отрезал, сварил и съел - ты бы догадался?",
    но там герой долго ходил по тайге и голодал, а здесь то зачем.


    1. aabzel
      05.08.2026 09:53

      MIK32 это экстремально слабый микроконтроллер. В нем нет ни 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.


  1. 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 и наоборот.