Всем привет.
В данной статье я хочу поделиться двумя новостями. Во-первых, открытый российский Embox выложил в открытый доступ базовые драйвера для российского процессора семейства KOMDIV64, и данный российский процессор стал более открытым и доступным. А во-вторых, вдохновившись командой Северстали, которые делают открытую АСУ-ТП, мы запустили на этом открытом российском процессоре открытую среду для МЭК 61499 (4Diac).

Краткая справка.
Семейство KOMDIV64 - семейство 64-разрядных микропроцессоров, разработанных в научно-исследовательском институте системных исследований (НИИСИ). Ядра данной серии процессоров совместимы с архитектурой MIPS-64 и являются оригинальной разработкой НИИСИ. Демонстрироваться работа будет на плате Багет-ПЛК1-01. которая работает на микроконтроллере К5500ВК018.
Начну с короткого видео на котором демонстрируется работа Embox на данном процессоре.
Embox на KOMDIV64
И теперь расскажу как это воспроизвести самостоятельно. Это возможно, ведь все драйвера для работы доступны в нашем репозитории. Конечно потребуется сама плата или ее эмулятор.
Краткая инструкция по сборки описана на нашем вики.
Вам потребуется кросс-компилятор MIPS который вы можете установить из пакетов, либо собрать самостоятельно, либо скачать у нас бинарную. сборку .
Сборка
make confload-platform/niisi/baget_plc1
make
Загрузка на плату
Пока embox запускается с SD карты на плате и использует встроенный загрузчик, в будущем мы планируем вариант старта прямо из flash памяти
Подготовим загрузочный скрипт, он у нас лежит в репозитории. Имя barebox.sh
Содержимое простое
#!/bin/sh
###### Embox ######
memcpy -l -s ./embox.bin 0x0 0xffffffff80001000 0x4000000
go 0xffffffff80001000
Этот скрипт нужно скопировать в папку boot/barebox/ на SD карте. Туда же нужно положить файл embox.bin, образ собранного embox
sudo cp build/base/bin/embox.bin <path to SD>/boot/barebox/
Запуск
Просто подаем питание и видим консоль

Мигаем светодиодом из консоли
Традиционно проверим работу таймера командой ticker -c 10 а также включим светодиод с помощью команды pin. На плате 2 светодиода подключенных к порту D (пины 4 и 5), активный уровень у них низкий
зажечь светодиод
pin GPIOD 5 reset
Погасить светодиод
pin GPIOD 5 set

Ethernet
на плате есть разъем ethernet и мы будем использовать сеть ниже.
пока просто посмотрим настройки командой ifconfig

Содержимое образа
На данный момент реализовали ряд базовых драйверов, включая таймер, контроллер прерываний и ethernet. Вот кусок конфига.
include embox.driver.serial.ns16550(reg_width=1)
include embox.driver.serial.ns16550_diag(base_addr=0x1ff70000)
include embox.driver.serial.ns16550_ttyS0(base_addr=0x1ff70000, irq_num=20)
include embox.driver.serial.ns16550_ttyS1(base_addr=0x1b510000, irq_num=21)
include embox.driver.diag(impl="embox__driver__serial__ns16550_diag")
include embox.driver.interrupt.niisi.sc64_intc_v2
@Runlevel(2) include embox.driver.clock.niisi.sc64_timer_v2
include embox.kernel.time.jiffies(cs_name="sc64_timer_v2", period=100)
@Runlevel(2) include embox.driver.gpio.niisi.sc64_gpio_mcu
@Runlevel(2) include embox.driver.net.sc64_tulip
есть еще драйвера для SPI и I2C, все драйвера открыты и доступны у нас в репозитории.
4Diac на Embox
4Diac это свободная реализация среды программирования и рантайм для стандарта МЭК 61499 принятого в АСУ-ТП. Данный стандарт может применяться и в других сферах, например робототехнике.
Я расскажу только о работе 4Diac под embox, ведь в этом случае не важно на какой аппаратной платформе работает runtime. В видео ниже, будет показано работа и на QEMU (с ARM архитектурой) и на плате KOMDIV64
Создание проекта 4diac
Для разработки программы нужно создать проект. Нажимаем правую кнопку мыши, и выбираем new->4diac IDE project
Создание системной конфигурации
Создадим системную конфигурацию на которой будет запускаться наша программа. Добавим к ней ethernet чтобы иметь возможность загружать (и отлаживать) программы удаленно.

IP адрес для Embox в QEMU - 10.0.2.16, для платы тот который есть на плате, у нас 192.168.2.2
Импорт функциональных блоков (FB)
Мы добавили пару простых функциональных блоков для проверки рантайма. Включить и выключить светодиод.
Для импорта правой кнопкой мышки на проекте и там выбираем import -> file system
Создание программы
После импорта FB, мы можем использовать наши функциональные блоки для разработки программы

Разработаем ее, после этого отобразим на нашей системной конфигурации (EMB_RES)
Откроем EMB_RES ( System Configuration -> FORTE_PC -> EMB_RES). И соединим START (Cold & Warm) с E_CYRCLE (Start ).
Все наша программа разработана и готова к загрузке
Embox
Сборка
Для конфигурации embox под arm/qemu используете
make confload-project/4diac/arm_qemu
для платы baget_plc1_01
make confload-project/4diac/niisi_baget_plc1
после конфигурации, как обычно собираем командой make
make
Запуск
Загрузка и запуск embox зависит от платформы, для baget_plc1_01 это описано выше, а для qemu использовуем скрипт ./scripts/qemu/auto_qemu
./scripts/qemu/auto_qemu
Запуск forte (4diac runtime)
После старта embox можно запустить рантайм 4diac в двух вариантах, с работой из файла и с ожиданием загрузки по сети
файл передается с помощью флага -f
forte -f <file_name>.fboot
Нас сейчас интересует запуск в режиме загрузки по сети просто команда forte
forte
Загрузка программы на embox
Удаленный deploy
В 4Diac-ide правой кнопкой на проекте и выбираем “deploy”
Нужно убедиться что у нас правильный IP адрес и что forte запущена на embox
Программа в виде файла
После того как мы отладили нашу программу, мы можем сгенерить отдельный файл и запустить наш рантайм с этой программой
Для этого на “EMB_RES” нажимаем правую кнопку мыши и выбираем пункт “Create FORTE boot files”. Файл сохраняем в папке корневой файловой системы embox (conf/rootfs/ ) и после этого пересобираем проект
Демонстрация
На этом видео можно видеть процесс создания программы и запуска на QEMU и BAGET_PLC1_01
Заключение
В заключение хочу сказать, что информация об отсутствии российских процессоров несколько преувеличена. Да, есть большое количество трудностей, и наверное, сейчас, мы не можем предложить решения во всех сегментах, но в критически важных, к которым относится и АСУ-ТП, уже можно пробовать создавать конечные системы.
На мой взгляд, нам, для этого не хватает открытости и доверия к друг другу. Но мне кажется Embox может стать базовой платформой которую можно развивать совместно! И, следовательно, меньшими затратами получать большую ценность для конечных систем. Я имею в виду принцип Линукс, когда драйвера разрабатываются производителями микроэлектроники, поддержка платформ и протоколов осуществляется производителями оборудования и так далее. И данная статья этому подтверждение, ведь мы открыли очередной, ранее закрытый, процессор, для всех.
Комментарии (26)

virst
04.12.2025 15:46Статься очень интересная и информативная, но все время чтения я так и не понял: как получить такую же железку для личных экспериментов.
И касательно "информация об отсутствии российских процессоров несколько преувеличена" это напоминает ситуацию в СССР когда в стране формально есть все, но в магазинах нет ничего.
Возможно я сложно высказываюсь, но я просто хочу сказать, что бы того что бы комьюнити эффективно развивало продукт нужна доступность не только кода но и железа. Условные raspberry pi и arduino можно купить чуть ли не в каждом продуктовом, вот народ и штампует под них софт и прочее.
Siemargl
04.12.2025 15:46Более того, полный али экспресс клонов вполне себе толкового Mitsubishi fx и подобных s7-200, для которых даже и низкоуровневое подпрыгивание не нужно.

NutsUnderline
04.12.2025 15:46на ali сегодня есть, завтра нет, или сменили железо, или прошивку кардинально поменяли, и никому ничего не сказали, даже на китайском. Те же клоны Mitsubishi не использовали оригинальную прошивку, а китайское народное творчество с соотв. качеством работы

nixtonixto
04.12.2025 15:46Ардуино и Расбери, как появились на Али лет 15 назад, так до сих пор не пропали. Да, чипы меняются, но обратная совместимость остаётся.

abondarev Автор
04.12.2025 15:46Тут речь шла о прошивках которые используются как есть. То есть бинарная прошивка. А если распбери или ардуино, то у совместимость на уровне апи (исходников). У малины например, еще и нужно учитывать что за линукс установлен.
А в статье, как раз речь о том что открыли исходники, и каждый может воспроизвести! То есть, стремимся к экосистеме (ардуино, распбери ...)

Arhammon
04.12.2025 15:46А толку от появления в магазинах? Кто, кроме импортозаместилелей, её брать за 20к будет?

virst
04.12.2025 15:46а вот не нужно 20к, 20к из-за штучности продукта. Если сделать продукт массовым, то и цена сможет снизится и в итоге в выигрыше не только народ, но и целевой потребитель. Вот только выше писали верно, вспышка уже упущена, поздно метаться. :(

abondarev Автор
04.12.2025 15:46вспышка уже упущена, поздно метаться. :(
Не согласен, нужно начинать, пока не начнем так и будем писать что упущена!

Arhammon
04.12.2025 15:46Если? А есть возможность? Чтоб сделать массовым, надо культуру производства и в первую очередь культуру управления... И сам котроллер попадалось, что стоит 3к - что вроде как вообще дешево для подобной экзотики...

abondarev Автор
04.12.2025 15:46Чтобы сделать массовым нужен прежде всего рынок :)
С остальным конечно тоже согласен, но без рынка можно не думать об остальном :)

abondarev Автор
04.12.2025 15:46Кто, кроме импортозаместилелей, её брать за 20к будет?
Во первых, Вы несколько отстали, сейчас говорят о технологической независимости, а иногда (я предпочитаю) о технологическом лидерстве (до которого еще нужно дорасти конечно, но начинать надо).
А во вторых, конечно сначала ориентация на компании, но есть еще определенный класс людей, которые с радостью попробуют российские технологии!

Arhammon
04.12.2025 15:46сейчас говорят о технологической независимости
Предыдущую независимость(в какой-то мере даже настоящую) очень быстро начали дербанить на драгметалы после появления импорта...

abondarev Автор
04.12.2025 15:46Ну Вы же сами сказали, в какой то мере настоящую, давайте ее создадим :) А не будем говорить, что все вокруг плохие, и вообще воры :)
Вот мы сделали свой маленький вклад :) Надеюсь найдем единомышленников, консолидируем усилия и сможем добиться лидерства!

abondarev Автор
04.12.2025 15:46Статься очень интересная и информативная
Спасибо!
что бы комьюнити эффективно развивало продукт нужна доступность не только кода но и железа.
Кто же спорит :)
Условные raspberry pi и arduino можно купить чуть ли не в каждом продуктовом, вот народ и штампует под них софт и прочее.
А вот тут, не до конца согласен. Покапать стали в таких масштабах, когда создалась экосистема (ПО куча, купил сразу что то поделал). В качестве доказательства своего тезиса, чипы у этих платформ меняются, но это не мешает их покупать!
как получить такую же железку для личных экспериментов.
Пока к сожалению никак :( Но шаги в этом направлении делаются.

NutsUnderline
04.12.2025 15:46интересно в целом, но подход к изложению - не очень.
на КДПВ должен быть сам Багет а не замылевшие взгляд нейрокартинки. Даже взгляда было бы достаточно чтобы понять о чем идет речь. Плюс спецификации на К5500ВК018 - по ссылке их еще сыскать надо внизу страницы. чтобы сразу было понятно что это вещь в корпусе на 256 выводов, но типа микроконтроллер - не ардуинка, но вполне себе малинка. И в теории оно годно далеко не только для АСУТП

abondarev Автор
04.12.2025 15:46интересно в целом, но подход к изложению - не очень.
Спасибо, стиль будем улучшать
на КДПВ должен быть сам Багет а не замылевшие взгляд нейрокартинки.
Картинки рисует живой дизайнер (Тамара Дерюгина), а не нейронка. Посмотрите серию про коробочку в других статьях.
И в теории оно годно далеко не только для АСУТП
Да, конечно, АСУ-ТП только один из примеров, где вполне подходит.

NutsUnderline
04.12.2025 15:46Картинки рисует живой дизайнер
о. ну.. в наше время это комплимент :) Но моя мысль не меняется

nixtonixto
04.12.2025 15:46Начну с короткого видео на котором демонстрируется
Загружайте видео на какой-то другой хостинг, или прикладывайте ссылку. У меня вместо видео красуется надпись "Произошла ошибка".

abondarev Автор
04.12.2025 15:46Хорошо, спасибо. Раньше на youtube лили, но сейчас как то не правильно это. Может еще на rutube скинем
Пока вот ссылки
https://vk.com/wall-54669112_387
https://vk.com/wall-54669112_390
ZlobniyShurik
Почему-то вспомнилась поговорка "ДорогА ложка к обеду".
То, что есть хотя бы такие микропроцессоры - это, конечно, круто.
Но MIPS, вроде как, снимают или уже сняли с поддержки практически во всех более-менее популярных дистрибутивах. И возникает вопрос - "а не поздновато ли спохватились с открытием драйверов и документации?"
abondarev Автор
Документацию мы не можем открыть, она не наша.
На счет открытия драйверов, мы их открыли для Embox! Линуксовые не наши, но мы знаем, что есть определенные подвижки в их открытии у НИИСИ.
На счет поздно, ну поскольку речь идет об АСУ-ТП и КИИ, то это достаточно специфичная тема, и там не используются обычные дистрибутивы. А открытие может способствовать развитию нашей микроэлектроники.
NutsUnderline
раз уж про АСУТП - что на этой плате (хотя бы в рамках embox) сделано в рамках работы с CAN интерфейсом?
abondarev Автор
Пока ничего.
Это только начало процесса, в будущем будут расширяться, улучшаться и так далее. И так, мы надеюсь придем к хорошим доступным решениям. С чего то нужно начинать :)
itGuevara
"Двадцать лет спустя" для "конвейерный однокристальный микропроцессор для интенсивных вычислений" - еще не срок. Был бы востребован "для интенсивных вычислений". В каталогах ВПК он уже более 30 лет (с учетом анонсов), но обычно "только в каталогах" ...
30 лет назад MIPS - конечно было круто. Однако все это "не перетекло" в гражданку, название Комдив - не случайно и оно отражает основной замысел.
Полагаю, что с таким подходом востребован (даже более практичнее, совместимее, документированный и т.п.) и "отечественный" КМ1810ВМ86 который выпускали как минимум в 2000-х (март 2000).
abondarev Автор
Согласен, что не перетекло, и это проблема. Но статья как раз о том, что мы пытаемся помочь перетечь :) Конечно, это первые шаги на долгом пути, но идти точно нужно!