Если код, используемый для ардуино, может быть встроен в постоянную вызываемую память, есть ли способ создать ОС для Arduino, которая запускается по вызову?

programming memory-usage memory

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

Несмотря на то, что те, что я видел на YouTube, действительно хороши, они, похоже, не дают реального впечатления от настоящих умных часов, в которые встроена операционная система. Если какой-то код на Arduino C/c++ может быть скомпилирован в какой-то двоичный код, который работает при вызове из флэш-памяти (где находится основная программа), есть ли вероятность, что мы сможем сделать ОС для Arduino?

, 👍0

1 ответ


Лучший ответ:

0

Arduino на базе AVR — плохой выбор для написания "ОС" в современном понимании. Это слишком ограничено в ресурсах. У него недостаточно оперативной памяти, недостаточно флэш-памяти, он слишком медленный, у него нет защищенной памяти или подкачки, у него нет видеодисплея, у него нет файловой системы и т. д. и далее.

Если вы посмотрите на Apple II, что-то вроде Apple DOS или ProDos даст вам представление о том, что вы можете делать (без вывода видео).

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

В качестве альтернативы в Raspberry Pi есть почти все, что вам нужно. У него не так много вариантов аппаратного интерфейса, как у Arduino, но НАМНОГО больше вычислительной мощности. Точно так же UNIX является лучшим выбором в качестве основы для ОС для такого устройства. Это операционная система с защищенной памятью, предназначенная для работы на относительно скромном оборудовании.

,