Os Linix для микроконтроллеров

“uCLinux на STM32f429”

Управлять гидро-массажной ванной

В 2003 году ко мне обратился партнёр по созданию модемов с просьбой написать деловое предложение по автоматизации гидрованны. Тема была интересной и связанная с медициной. Была заработана система восстановления человека под воздействием гидромассажа, звуков и цветомузыки. Планировалось сделать мониторинг за биомедицинскими параметрами частота сердечных сокращений, давление, температура кожи и другие показатели.

Удалось найти уникальную крошечную плату с Embedded Linux, микро-компьютер на базе Linux размером с RJ45 разъем Picotux Picotux комплектуется 20-пиновым последовательным портом и может контролировать модем и GPIO-порты. Существуют также беспроводные варианты Picotux. Используется операционная система uClinux (ядро 2.4.27). Для управления сетью микроЭВМ устанавливается язык программирования базы знаний Prolog, Lisp или Forth . Ориентировочная стоимость Picotux ~ $150

Тема затихла. Может быть денег не нашли или посчитали проект долгоиграющим. Заказчик был продавцов в магазине сантехники и уникальных ванн с гидромассажем.

Linux для промышленного прибора

Внедрение OS Linux в прибор начал в 2015 году в ООО “Балтех”. Отдел разработок поставил задачу провести исследование на эту использования Embedded Linux. Пытались отправить меня поучиться в Париж в контору, где обучают “правильно приготовить” сборку всей системы для различных плат. Отказался. Далеко. Уроки на английском. Меня отправляли на различные конференции “Linux Piter” - соглашался с радостью. После выступлений - пиво и общение с докладчиками.

Удалось “пощупать пингвинчиков” с os linux на борту платы:

  1. U-Boot & Linux BSP for STMicro STM32 Discovery Board
  • выполнил прошивку и убедился, что вполне работает система с дисплеем. Мой первый опыт работы с крошечным linux.
  1. Atmel SAMA5D2 Xplained Board. The SAMA5D2 series is a high-performance, ultra-low-power ARM Cortex-A5 processor based MPU. The Cortex A5 processor runs up to 500MHz.
  • Это уже вполне производительная плата. Испытал многие сборки os linux: Debian, OpenWRT. От этой платы отказались. Американцы заложили аппаратную секретную часть. Нужно было подписывать специальные бумаги о неразглашении. При тестировании прошил бит FUSE и превратил процессор в “кирпич”. Вернуть его к жизни не было возможности. Инженеры так и задумали этот уровень безопасности - очистить процессор запрещено.

“Atmel SAMA5D3 Xplained Board”

  1. Atmel SAMA5D3 Xplained Board. The SAMA5D3 series is a high-performance, ultra-low-power ARM Cortex-A5 processor based MPU. The Cortex A5 processor runs up to 500MHz.
  • Этот процессор прижился в нашем проекте. Сборки os linux: Debian, OpenWRT успещно заработали. “Сердце” прибора застучало! Пришлось глубоко погрузиться в низкий уровень и учиться исправлять драйверы ядра, устанавливать правильные приложения и самому расти выше себя. В какой-то момент не было уверенности выполнить весь объём работ по созданию прикладных задач. Можно сказать - мне и фирме повезло.
  1. STM32MP157C-DK2 - STM32MP157 Arm®-based dual Cortex®-A7 32 bits + Cortex®-M4 32 bits MPU in TFBGA361 package ST PMIC STPMIC1 4-Gbit DDR3L, 16 bits, 533 MHz 1-Gbps Ethernet (RGMII) compliant with IEEE-802.3ab USB OTG HS Audio codec 4 user LEDs
  • На совещаниях наши продавцы “доставали из широких штанин” OS Android и укоряли нас программистов удаленных и меня: “Вот как должно работать пользовательское приложение! У вас же, полный тормоз. Интерфейс - отстой. И т.д.” Пытался всех убедить в том, что у нас не планшетный компьютер, а система с ограниченными ресурсами. Пришлось открыть подпроект по созданию выносного дисплейного модуля, фактически ещё одного мини-компьютера на embedded linux. Всем хотелось быстрой графики и быстрых, мгновенных, расчётов. Сделали прототип. Испытали.

“Микрокомпьютер МВ77.07 российский”

Хобби проекты

Микрокомпьютер МВ77.07 российский. СБИС декодера цифрового телевизионного сигнала К1879ХБ1Я Ядро процессора ARM 1176 с тактовой частотой 324 МГц. Ядро DSP NeuroMatrix NMC3 с тактовой частотой 324 МГц. Аппаратный декодер Н.264. Криптоускоритель DES/3DES. Системная память DDR2 SDRAM общим объемом 256 МБ (2 модуля по 128 МБ) NAND-флеш-память объемом 1 ГБ

  • Руководители фирмы в начале пути разработки прибора были добрыми. Хотелось попользоваться этой добротой и заказал два мини-компьютера. Главная фича этого процессора - сопроцессор DSP NeuroMatrix NMC3 для быстрой обработки изображений. Недавно на выставке показали использование К1879ХБ1Я для экспресс анализа гентгеновских снимков легких, анализ изображений в реальном времени для военных. К дню Космонавтики и полёту Ю.Гагарина установил мини-сервер и раздавал в локальной сети предприятия праздничные видео и историю освоения космоса. Как-то нужно было погонять мини-компьютер на недёжность и долговременность. Кстати, на основе К1879ХБ1Я делаются приёмники спутникового телевидения. В нём есть модуль получения потока видео HD и декодирования “на лету”. Одним словом - интересный чип с военной приёмкой.
  1. Orange Pi 2G-IOT - Android 4.4, Ubuntu, Debian image. It uses the RDA8810 Soc, and has 256MB LPDDR2 SDRAM.
  • Конечно же сразу купил. Китайцы не на шутку “раскочегарили” производство микроэлектроники. Цена вопроса смешная - до 1000 руб. за полноценный мини-компьютер. В целом впечатление хорошее: очень компактное устройство, wi-fi работает, программное обеспечение можно подобрать. Мне нравится использовать язык Golang в проектах мини-компьютеров. На Orange Pi 2G-IOT обнаружил примеры на golang, которые успешно работали.

Вывод :

Тема использование os linux чрезвычайно трудоёмкая. Нужна команда разработчиков. Стараться по возможности покупать у сторонних разработчиков готовые модули.

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

 Ссылки :