Answer the question
In order to leave comments, you need to log in
What programming language to learn to work with iron?
I'm interested in what programming language is needed so that you can completely rewrite the OS of some finished device. That is, to get into hardware, for example, a fitness tracker, mouse, other devices, or use their individual parts - a bluetooth module, accelerometers, optical sensors, control buttons. And what is this programming called?
Answer the question
In order to leave comments, you need to log in
Your question is very general, I will try to divide it into reasonable parts.
First, there is hardware, where there really is an operating system and something that works under it. For example - smart TV with Android. In theory, developing for this is no more difficult than developing for Android in general. As long as you do not try to work, for example, with channel switching, which is included in the driver, and the driver does not have documentation. This is where reverse engineering begins, (unsuccessful) attempts to decrypt the OS image, and so on.
Secondly, there are devices without an operating system, with a "monolithic" control program, which is "hardwired" into the system on chip. This is where the fun starts right away.
Thirdly, if right now you want to implement what you want in a reasonable time, then this is not done - it will take you a couple of years to study programming alone, you will just lose interest. Even if you find a device that is designed for open development.
The question is very childish.
It's like approaching a mechanic at a car service and asking him "Uncle, what color should I buy screwdrivers to learn how to repair BMWs, Scania brand truck tractors and at the same time learn how to deal with lawn mower carburetors?"
To learn something from the list, you need to start long and hard to learn a bunch of different things, gain experience with various simple equipment and devices. Knowing the language is not the most important thing.
Firmware customization or system integration.
The device must allow this.
If the control code is "sewn" into the microcircuit, then there is no chance.
A language is one that creates microcode "understood" by a specific device.
You need to focus on a specific device and study it.
And from the fact that it can and how exactly - proceed.
For example: the OpenWRT firmware is written in C.
C, Oberon, VHDL, Verilog, or Lola-2 if you want it simpler.
digital design programming.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question