Answer the question
In order to leave comments, you need to log in
Necessary knowledge for embedded developer'a?
Good day. I'll get right to the point: it provides an exhaustive list of directions for learning to program microcontrollers (directly subject-by-subject, including which programming languages you should learn). I want to start from the very beginning.
I am also interested in such things as: is it worth learning to write program scripts for Arduino, can it help to abstract in the chosen development area and get the very basics?
Do I need to learn how to solder and understand microcircuits, theristors, testers and other hardware in order to work as an embedded programmer?
Do you need knowledge of Linux programming? Reading vacancies more than once met the requirements of knowledge of working with Linux.
Why is this all: I want to learn programming for cars. According to my diploma, I will graduate in a specialty related to cars, before that I studied Javascript on my own, I was interested in the web, but by the age of 20 I wanted to go into a more serious environment than to engage in website slapping somewhere in the galley.
Answer the question
In order to leave comments, you need to log in
Offtopic: there is usually more money in web development, especially in the Russian Federation (but globally too). If it doesn't bother you, read on =)
C++, Linux, Verilog are all good, but I would do this after you work for a while and understand where you want to grow.
Absolute must, IMHO:
If you master to some extent (the main thing is not to get carried away) this set, then you can work in firmware. And then you can already develop where your soul lies, and where there will be career opportunities - Linux, C ++, electronics, DSP, whatnot.
I want to start from the very beginning.
In a large embedded, C++ is very common
. But embedded is not necessarily microcontrollers - many devices come with quite full-fledged architectures and OS based on Linux - smart TVs, copters, autopilots, etc.
If you want to do small things, then Arduino can help you get used to it, but you need to learn how to deal with the specification.
You can learn how to solder at a minimal level, but if you work in a company, you will most likely work with engineering copies, where everything will already be soldered and you will only need to be able to work with ports.
1. C, C++
2. It’s better to start right away with stm32 (The architecture is popular, and specifically these MKs are corny more material, and it’s easier for a beginner to figure it out)
3. Skills in working with a multimeter, oscilloscope, logic analyzer
4. Device and memory allocation ( a very necessary thing when debugging)
5. Basic concepts in the field of circuitry (you often have to deal with circuits)
I started with Arduino. That is C/C++.
Then I decided to connect 2 microcontrollers. They began to hover. I had to master the AVR8 assembler.
Then came the turn of Verilog and VHDL.
Then I began to write my own Forth interpreter for AVR8, but I realized that the task is too complicated for assembler, I should try to write it in C ++. It turned out to be even more difficult than I could have imagined.
I had to remember the theoretical part - compilers, interpreters, etc.
If auto - do not forget about CAN. You can play with the "raspberry" (there are also a lot of "shields" for it). Yes, and know what to hold a soldering iron for. :)
Imbedid is not only microcontrollers, everything has been done on x86 for quite a long time - it’s clear why - there are ready-made real-time operating systems for them, and write code there, at least that C, at least in Delphi, at least in assembler.
And all these microcontrollers, due to their underdevelopment in terms of resources, will die off soon, like Australian marsupial wolves.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question