Все зависит от уровня абстракции. Насколько я понял (в том числе и из
предыдущего вопроса) у Вас сформировалось осмысленное желание выпустить на рынок некий продукт. Ваше желание не встретило поддержки сообщества. Но ведь миллионы мух не могут ошибаться !
По теме: Железо - для быстрого старта выбирайте ту архитектуру, которая наиболее понятна команде. На изучение чего либо нового с 0 до требуемого уровня уйдут годы. Вы должны в совершенстве владеть информацией о том как работает выбранный процессор на уровне электрических сигналов (тайминги внешние прерывания итд)
Вы должны знать ассемблер выбранного процессора и все его возможности + конфигурирование портов и устройств процессора (таймеры, SPI, I2C и многое другое)
Вы должны знать и понимать основы RTOS. С этого момента можно начинать думать о написании ОС.
При выборе языка на котором Вы будете писать помните что все это компилируется в машинный код (ассемблер) и Вам нужен язык который максимально эффективно позволит управлять всеми регистрами вашего процессора. (ИМХО это будет ASM + C )
При этом 2я часть команды должна писать прикладное ПО для Вашей операционной системы. Которое будет взаимодействовать с Вашей ОС.
И ответьте на вопросы, какие операции/функции будет выполнять Ваша ОС ?
Как с ОС будет взаимодействовать прикладная программа/ы ?
Как с ОС будут взаимодействовать датчики и исполнительные механизмы ?
P,S. Забыл дописать про BIOS, сначала надо написать BIOS, а потом уже приступать к OS