Как стать автором
Обновить

Комментарии 47

Очень любопытно. Судя по названию платки и её форм-фактору Vostok Uno-VN035  должны быть клоном Ардуино-Уно? Но судя по статье, код от Ардуино на ней не запускается? А почему не сделали совместимой? Всё-таки надеяться на толпу желающих (особенно школьников) изучать Embox не логично. А на ардуинщиков вы бы вполне могли рассчитывать. А это и большая аудитория и большой пласт готовых решений. Та самая экосистема, которой вам не хватает с самого начала статьи.

Ну, уже неплохо. Я так понимаю, это прошивается в контроллер без установки на него всяких линуксов?

всякий линукс на него вообще сложновато установить. компиляторы и флешер там и под винду и под всякие линуксы есть

Но судя по статье, код от Ардуино на ней не запускается?

А в каком месте, я говорю, что что-то не запускается? Я вроде только о том, что запускается.
Как отмечено выше в комментариях, arduino запускается. И вроде я даже ссылку на статью давал про обзор этой платы.

Всё-таки надеяться на толпу желающих (особенно школьников) изучать Embox не логично.

Опять же, не понимаю, откуда такая уверенность?

Та самая экосистема, которой вам не хватает с самого начала статьи.

Цитата из статьи

Причем эти решения ориентированы на очень широкий класс пользователей:
от обучения школьников робототехнике (уже разработан аналог ARDUINO) и
до промышленной автоматики и роботов.

Экосистема ардуино, прекрасно подходит для хоби проектов и мягко говоря не подходит для промышлености.

Микроконтроллеры это конечно хорошо, но было бы неплохо обратить внимание и на производство своих ПЛИС, где есть только зачатки у Миландра (Непонятно в каком сейчас состоянии) и клоны понятно чего от ВЗПП-С. Оба варианта для энтузиастов/хоббистов и т.п. сейчас не подходят, в виду цен и невозможности (либо возможности, но с большими усилиями) получения физическими лицами...

думаете, ответственные товарищи это прочитают и займутся?

Нет сомнений, что ответственные нетоварищи набегут и начнут рассказывать, что "ну там же ничего российского", при этом цокая копытцами по айфонам, сделанным на том же заводе.

У Миландра только специализированная ПЛИС есть - радстойкая на 2к элементов. На такой много каши не сваришь.

если мы вообще за микроэлектронику, хотя статья не об этом, то да, много нужно чего развивать, в том числе и ПЛИС, но если сидеть и рассуждать, как же все плохо, а не делать вот такие шаги, как в статье, то вряд-ли и через десять и через сто лет что нибудь изменится!

Смысл моего комментария был не в " рассуждать как все плохо" а в том, что на тему своих ПЛИС так же хотелось бы внимания. В плане микроконтроллеров все как раз в каком-то смысле у нас хорошо, многие их у нас уже проектируют и делают/делали на TSMC или где-то там еще. Осталось производство здесь наладить, и будет вообще отлично. Кстати, емнип, самый доступный по цене, К1986ВЕ92QI от Миландра, который в целом сильно похож на популярный STM32F103. Его можно найти в пределах 1к рублей в пластике, если задаться целью.

Разные уровни разработки, на микроконтроллере почти все блоки разрабатываются на Verilog, потом под нужный завод синтезируется. А ПЛИС уже это история про аналоговую разработку ячейки LUT и его массива под конкретный завод и техпроцесс. Исходя из этого для разработки нужны совершенно другого класса специалисты.

Второй раз натыкаюсь на эту платку, которую "не купишь", а если и купишь то цена "конская", хотя и двумя руками "за", поскольку когда-то это всё но надо начинать. Тиражировать надо такие платы не по 50 штук "установочной партии", а тысячами и раздавать всем желающим в РФ, если не бесплатно, то раза в два ниже чем платы на базе STM32F4xx с Алиэкспресс. Да, за счет госфинансирования производства, ибо дело нужное.

В период 2015-2019гг тоже обошел все сайты наших предприятий в т.ч. и НИИЭТ, в поисках "импортозамещенного" микроконтроллера, перспективного в плане "Ардуино для детей" .. увы, но опыт оказался отрицательным: или не купишь как частное лицо, или нет документации или цена конская или ещё какие проблемы.. :( Поэтому и делал свою версию Ардуино Мега2560, хотя и тщательно смотрел кто и что производит "передового" на тот период.

Ну и по форм-фактору.. Ардуино Уно, Мега .. как мне кажется, достаточно неудобный форм-фактор и из каких соображений он такой - непонятно. Сам исходил из корпуса для элементов питания 18550 и размер подгонял под форм-фактор Лего кубиков, т.к. основной обвязочный материал - Лего.

Получилось так: https://community.alexgyver.ru/threads/samodelnaja-plata-na-baze-mikrokontrollera-avr-atmel-atmega2560-16au.1454

и плата расширителя ОЗУ до 520кб: https://community.alexgyver.ru/threads/dispetcher-vneshnej-sram-dlja-avr-mega2560-mega128a-etc.1416

Начинал делать "свою RTOS", но помешал Ковид и пр. последствия.. заброшено на сию. Хуже другое: пока пробовал, делал, шагал от версии к версии, в школах практически от Ардуино отказались и перешли на готовые конструкторы стоимостью от 200 тысяч тех рублей.

Кстати по стоимости: разработка конкретно этой платы обошлась в пределе 2000р/шт, и это розничное и "кустарное" производство.. ;)

Да, за счет госфинансирования производства, ибо дело нужное.

То что описано в статье, сделано не за счет гос финансирования:)

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

Получилось так: https://community.alexgyver.ru/threads/samodelnaja-plata-na-baze-mikrokontrollera-avr-atmel-atmega2560-16au.1454

Отличная идея!

Начинал делать "свою RTOS",

Современный мир показывает, что нужно специализироваться, и выстраивать кооперацию (цепочки поставок) иначе не эффективно.

Проблема с отечественной микроэлектроникой не просто "серъезная", а даже катастрофическая, увы. Со стороны государства требуются мощнейшие вливания бабла, с перспективой отдачи в горизонте 10-15лет и то .. "вероятно".

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

На счет катастрофической, возможно соглашусь.

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

Но вот в статье пример, реальной работы (пусть и капли в море) и кстати без вливания гос бабла, хотя мы бы не отказались получить деньги за проделаную работу :)))

Здравствуйте! а вы Репку не рассматривали? если рассматривали то почему не стали на ней делать?

Здравствуйте!
Мы общались с производителем Репки. Но не понятно, кому портирование Embox для Репки нужно? У них бизнес модель - продажа аналога Малины, там нет отечественного процессора или каких то особенностей. Поэтому они используют уже готорую экосистему Малины (с линуксом).
Нам тоже не понятно зачем это нужно, затраты на портирование будут существенные Embox на малине работает в ограниченном варианте, а на третьей и выше которые armv8 (aarch64) мы еще не запускались. То есть, с нашей стороны, гораздо выгоднее в оригиналы (raspbery pi basana pi orange pi и так далее) вкладываться процессор то там такой же. Ну или в отечественную микроэлектронику, как в случае описанном в статье, и остальных уже описанных и будущих, будут еще аннонсы:)

Объясните мне, что за зуд такой "делать свою RTOS" и при этом жаловаться на отсутствие экосистемы. Это взаимосвязанные явления, нет разве?

Нормальный зуд, в плане потренироваться, сделать то, что способно реализовывать расширенные возможности полученного решения полноценно. Ну нет "Мег" с оперативной памятью в 520килобайт! ;)

Да и как-бы не жаловался на "отсутствие экосистемы" .. хочешь сделать хорошо - сделай сам, собственно вся история этой разработки такова. Жалоба была на то, что в кружках и школах на занятиях по Роботехнике взяли курс не на нечто подобное, а попользовав Лего Майндшторм и выкачав деньги на него, перешли на "следующий ценовой сегмент" по сути .. с теми же недостатками что и у Лего - ограниченным применением в силу ограничения по ресурсам, при возросшей сложности сборки, вплоть до требуемого большего усилия детишкам для соединения деталек .. банально но факт.

хочешь сделать хорошо - сделай сам

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

То есть существует ряд проектов, тот же FreeRTOS (если не хотите Embo. И их необходимо использовать, велосипеды нормальная тема, но только для обучения и то, быстро упераешься, что нужно сравнивать с мировым опытом и тогда присоединяйся к opensource

Объясните мне, что за зуд такой "делать свою RTOS" и при этом жаловаться на отсутствие экосистемы.

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

Приходит человек на работу говорит что

--Я 10 лет работал с FreeRTOS.
А ему отвечают
--А мы работаем с TI-RTOS. Соглашайся на ставку Junior(а)

Так как количество RTOSов просто зашкаливает.

Azure RTOS , CHibi, Contiki, DSP/BIOS, Embox , FreeRTOS, Keil RTX, Nucleus RTOS, NuttX, OpenRTOS, QNX, RTEMS, RTEMS 5, SafeRTOS, SYS/BIOS, TI-RTOS, TI-RTOS7, Tizen, TNKernel, TynyOS, vxWorks, Zephyr

То эту карусель можно проворачивать ещё очень-очень долго.

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

На счет разработчиков который могут работать, только с: CubeMX, TI-RTOS, Segger embOS. или все сам, в регистры пишу... Ну тут такое, уровень точно техникума, мидлом может быть, и то если совпадут технологии. Тот же принцип если вот какой у меня опыт в каком нибудь модном или не очень фреймворке для чего бы то ни было.

Разработчик, для меня, как Вы поняли, это не кодер. И он понимает, почему использует ту или иную технологию, понимает базу и следовательно, способен разобраться в любой ОС (если конечно там есть смысл, а не только потому что мое :) )

хотелось разработать ОС для конкретного устройства

А как это ОС для конкретного устройства? Там особенные файлы только для конкретного устройства? Особенные потоки, семафоры, очереди? Особенный TCP/IP стек? ...

Обычно отличия наблюдаются в названиях функций и названиях терминов которыми оперируют в рамках ОС, хотя разными названиями обзывается, в принципе, одна и таже функциональность, просто акценты немного смещаются в сторону экономии памяти, производительности или какой-то условной красоты кода, простоты доступа к аппаратным возможностям.

А как это ОС для конкретного устройства? Там особенные файлы только для
конкретного устройства? Особенные потоки, семафоры, очереди? Особенный
TCP/IP стек?

Ну вопрос то в общем то не ко мне. Я как раз выступаю за вопрос, а чем существующие не устраивают. Вот тут говорю об этом https://habr.com/ru/articles/777302/#comment_26236694

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

И наверное единственное обоснование писать свою ОС, для меня, так человек лучше сможет разобраться. Хотя Embox например предоставляет возможность поковыряться в коде.

И наверное единственное обоснование писать свою ОС, для меня, так человек лучше сможет разобраться

Ну уж как же оно единственное?

Когда кто-то позиционирует себя как специалиста по чужой ОС, это надо проверять,

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

А идей то, в основе своей, не так уж и много, поэтому они у всех примерно одинаковые. Таймер-счетчик есть в любой микросхеме которая претендует называться процессором, вот с MMU могут быть варианты, конечно.

когда вы позиционируете себя как разработчика собственной ОС

Вопрос только в том, кому нужна ваша ОС. Если она Линукс а Вы Линус Торвальдс, то не сомненно, у вас есть преимущество. Но если вы что то разработали, свое, то сначала вам нужно доказать что оно работает, и что лучше чем другие ОС (хотя бы в чем то что нужно для решаемой задачи вашего заказчика или работодателя)

Да, это была попытка выдать из Меги всё и чутка побольше. Например, какая из существующих "ос" сможет поддерживать сегментированную память в 520килрбайт тремя окнами в адресном пространстве в 64к, при наличии родных .. 8к?

А машинка это имеет (сделано 4шт).. да, пришлось обучать линуер gcc, чтобы он делал раскладку по окнам правильно и за внутренними 8 килами, а также накатать свой пакет для жонглирования сегментами в коде.

Или какая из существующих "ос" работает с sd уартридерами аки "жёсткий диск" с подгрузкой кода во флеш Меги? А ведь она это умеет..

Вопщем, там да, была задумка ос под железку .. клонирование на типовые Меги или куда ещё с линейной памятью ? А смысл?

да, пришлось обучать линуер gcc, чтобы он делал раскладку по окнам
правильно и за внутренними 8 килами, а также накатать свой пакет для
жонглирования сегментами в коде.

Линкер конечно не ОС, но его все равно пришлось обучать:) А модуль сегментации, можно было и в Embox добавить, и не пришлось бы писать свою ОС:)

Или какая из существующих "ос" работает с sd уартридерами аки "жёсткий диск" с подгрузкой кода во флеш Меги?

Тут не очень понял, фактически все sd карты умеют spi режим. и да ничего не стоит в embox добавить прокидку команд не по SPI а по UART

Да, это была попытка выдать из Меги всё и чутка побольше.

Восхищаюсь тем что вы сделали, но у меня немного другой подход. Просто современные 32 битные мк стоит вполне сопостовимые с мегой деньги. И не понятно, что мы получаем в таком случае в качестве преимуществ платформы.

Давайте несколько детальнее тогда уж:

  1. Линкер пришлось дообучать, т.к. память в моем релизе выглядела со стороны ПО как 3 окна: "нижнее" в 32кб, в которых находилась и "родное ОЗУ" (первые 8кб) самой Меги, плюс два окна по 16кб, в которых можно было листать страницы большой памяти (SRAM 512кб) причем каждое из окон листало свои 16 страний (суммарно 256кб). Ему пришлось рассказать, что определенные метки в коде должны быть связаны с соответствующим окном. Это на самом деле не сложно. Дальше он сам распределяет "статику" по окнам. Добавлять такое куда-либо, надо чтобы оно "умело" переключать файл базовой линковки при сборке .. не думаю, что это было легко решаемо в embox (не видел) так, чтобы сохранить совместимость с нормальной линейной схемой ОЗУ.

  2. Далее. Физически сегменты ОЗУ по 16кб управлялись одним 8-и битным регистром, который можно было писать программно, как обычно в Мегах .. ну не ногодрыг одной ногой, даже по проще пожалуй.. Но, он не имел режима чтения, и надо было держать копию текущего состояния. Соответственно это и было сделано в виде "пакета".. Включить режим XMM (есть в некоторых Мега, в частности 2560), выключить, полистать странички .. там немного. Заодно и тест ОЗУ.

  3. Собственно почитать можно тут: https://community.alexgyver.ru/threads/dispetcher-vneshnej-sram-dlja-avr-mega2560-mega128a-etc.1416/ и тут: https://community.alexgyver.ru/threads/samodelnaja-plata-na-baze-mikrokontrollera-avr-atmel-atmega2560-16au.1454/ Там же можно скачать код пакета и настроек линкеру..

  4. Да, работа с SD-картами есть много где (собственно оттуда и тырил базовый код). вопрос был иной: надо было модифицировать бутлоадер верхней SRAM так, чтобы ФС влезло в него и могло, читая файлик, заливать его в нижнюю часть "по запросу", тем самым "перезаливая" прошивку (или дополняя её, этакие DLL). Эти "куски" надо было ещё и предварительно правильно слинковать для подгрузки... Вот эту часть так и не сделал. Проблема в том, что вверху, насколько помню всего 4 килобайта "максимум".. там вроде бы можно ещё уйти в старшие 128кб Флеша, но вот это тоже недопроверил..

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

По поводу ОС (или программной платформы) я считаю что уместен тот же подход. То есть берем существующее и добавляем свою функциональность. Поскольку быть специалистом во всем, можно, но только плохим.

А человек встаёт и уходит :-)

Было бы куда...

Сначала подумал про ракету-носитель Восток и подумал как круто было бы :)

В любом случае, проект всегда импонировал, удачи в развитии и не запирайтесь в импортозамещении и подобном, делитесь добром со всем миром не смотря на политику и всей той херне, из-за которой страдают простые инженеры и их семьи :)

Спасибо, так и делаем!:)

тут еще воздушные шары с таким названием запускают

:)

Только бы этот Восток не постигла участь Байкала и Эльбруса...

А что с ними? мы общаемся, надеюсь в обозримом будущем объявим о новых поддерживаемых чипах:)

"До марта 2022 года процессоры «Байкал» и «Эльбрус» выпускала тайваньская компания TSMC. В 2022 году готовые партии данных процессоров не отпускались в Россию". (источник)

А, да, такое есть. Но, насколько я знаю, оба упомянутых микроконтроллера на Микроне выпускаются. То есть, полностью локализованное производство.

Спасибо!

Сами мы пришли скорее из Linux embedded, поэтому нам вообще трудно понять как без командной строки. У вас хорошая статья, но мы постоянно сталкиваемся с мнением, "мне не нужно, значит и вы должны делать, так как я". На попытку объяснить, насколько быстро разрабатывать переносимый и подерживаемый код например (https://habr.com/ru/companies/embox/articles/538416/ или https://habr.com/ru/companies/embox/articles/541662/) мы сталкиваемся с непониманием и утверждением, что нужно все делать чуть ли не бареметал.


У нас кстати, не только UART-CLI, а почти командный интерпретатор почти как в Linux. Показали удобство в статье про файловую систему https://habr.com/ru/companies/embox/articles/573244/ И да, можно зайти telnet ssh и делать тоже самое.

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

на esp32 встречается и командная строка и цвет. Но поскольку там упрощенный строчный UART-CLI то обычные терминалки умеющие цвета типа putty использовать не очень. Но есть терминалка UART-CLI умеющая цвета

Если речь идет действительно о "платформе" - нужно запилить свой сайт, с софтом, документацией, железками и пр. пр.

Так вроде я ссылки давал в том числе на их документацию и ПО, ну а Embox открыт (свободен) по определению:)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории