@Todd_Oakheart

Какой язык программирования учить для работы с железом?

Меня интересует, какой язык программирования нужен чтобы можно было полностью переписать ОС какого-то готового устройства. То есть чтобы влезть в железо, например, фитнес-трекера, мышки, других устройств или использовать их отдельные части -- блютуз модуль, акселерометры, оптические датчики, кнопки управления. И как вообще это программирование называется?
  • Вопрос задан
  • 2388 просмотров
Пригласить эксперта
Ответы на вопрос 6
Driver86
@Driver86
Немодератор toster.ru
Assembler/C/C++
Ответ написан
Комментировать
Moskus
@Moskus
Ваш вопрос очень общий, попробую его разделить на разумные части.
Во-первых, есть железо, где действительно есть операционная система и нечто, что под ней работает. Например - smart TV с Android. В теории, разработка под такое - не сложнее разработки под Android вообще. До тех пор, пока вы не пытаетесь работать, например, с переключением каналов, которое заключено в драйвер, а драйвер не имеет документации. Тут начинается reverse engineering, (безуспешные) попытки расшифровать образ ОС, и так далее.
Во-вторых, есть устройства без операционной системы, с "монолитной" управляющей программой, которая "зашита" в system on chip. Тут веселье начинается сразу.
В-третьих, если вы прямо сейчас хотите за разумное время реализовать то, что хотите, то это так не делается - на одно изучение программирования у вас уйдет пара лет, вы что раз потеряете интерес. Даже если найдёте устройство, которое предназначено для открытой разработки.
Ответ написан
Комментировать
@lonelymyp
Хочу вылезти из минуса по карме.
Вопрос очень детский.
Это как подойти к слесарю на автосервисе и спросить у него "Дяденька, а какого цвета мне купить отвёртки, чтобы научиться ремонтировать BMW, седельные тягачи марки скания и заодно научиться разобираться с карбюраторами газонокосилок?"

Чтобы научиться чему-то из списка, надо начать долго и упорно учиться кучи разных вещей, приобретать опыт работы с разным простым оборудованием и устройствами. Знание языка это далеко не самое главное.
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Кастомизация прошивки или системная интеграция.
Устройство должно позволять это делать.
Если код управления "вшит" в микросхему - то без шансов.
Язык - тот, который создаёт микрокод, "понимаемый" конкретным устройством.
Ориентироваться нужно на конкретное устройство и его изучать.
И от того, что оно может и как именно - исходить.

Для примера: прошивка OpenWRT написана на языке С.
Ответ написан
2ord
@2ord
C, Oberon, VHDL, Verilog или Lola-2, если нужно попроще.
Digital design programming.
Ответ написан
Комментировать
@d-stream
Готовые решения - не подаю, но...
Можно начать с какого-нибудь облизанного устройства, например бытового роутера, который прошивается OpenWRT прошивкой. На тот паровоз можно вскочить на любом этапе - начиная от блондинистого "загрузить по картинкам готовое" и заканчивая "взять и написать свою moyaWRT"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы