Мы с Вами говорим про одно и то же. Нет между нами спора. "NuttX не
лишен своих конкретных больших проблем, перелазить на него с линуха
нужно по очень веским причинам (вроде Allwinner F133s с всего 64МиБ
рамы)" - можно подробнее про проблемы? Я категорически согласен, что не должно быть во встраиваемом устройстве кода и функций "про запас", и "потому что так сделано в использованной нами библиотеке".
Встраиваемое устройство это нихера ни микро и мини-компьютер. Потому что встраиваемое устройство решает конкретный набор задач и только их. Компьютер делает то, что пожелает его пользователь.
Я не отрицаю мощи и гибкости Linux, и колоссальной пользы, исходящей от него, но это, сука, компьютерная технология, и ему не место в простом телематическом терминале.
Я был главным конструктором фирмы, которая делала телематические терминалы для мониторинга транспорта, в до ЭРА ГЛОНАСС эпоху, и было их выпущено при мне 100к штук, и после меня под 200к (дальше эту модель было производить невозможно, как по причине устаревания, юзера хотели новых фич, так и по причине полного износа пресс-формы - корпуса мы лили свои), так что наши терминалы точно не были полным фуфлом. Сделан был терминал на LPC2129, это такой древний MCU, в котором было всего 16К ОЗУ.
Выбор был сделан до меня, я лишь все это расхлебывал. И нам удалось сохранить программную совместимость в пределах всей серии! Кроме установочной партии, где были ошибки монтажа, которые пришлось править отдельной прошивкой.
16К ОЗУ! И когда я слышу про тинейджеров, которые сделали терминал на модуле фирмы XYZ, написав питонячий скрипт и загрузив его внутрь модуля, потому что внутри модуля Linux и 128 Мбайт ОЗУ, меня это бесит.
В нашем терминале на убогих 16к ОЗУ был сильно-сильно перепиленный стек UiP, который умел цепляться за связь EDGE при условии, что говорить голосом при таком качестве связи было уже невозможно. И силу продуманности протокола обмена терминал снимал и передавал данные почти на любых дорогах. Только доводить проект до ума мне пришлось года полтора. Силами пары штатных программистов.
Питонячий код тинейджеров работал только при идеальном канале связи, но юзера это осознавали сильно потом.
Кроме того, терминал минимально зависел от свойств GSM модуля, и только при мне было 3 или 4 варианта комплектации, которые все более-менее терпимо работали.
И в текущих условиях, взяв "Allwinner F133s с всего 64МиБ рамы", и засунув туда NuttX, я бы сделал чудо терминал. По тому что ресурсов Allwinner F133 мне был хватило даже на акустический эхо-компенсатор, чтобы водила мог голосом звонить при аварийных ситуациях и спокойно общаться.