embedded is very broad. There are embedded technical terms from aircraft cannons to smart toilets. If you subdivide the development of embedded engineer software, in fact, most companies are doing application layer business needs; such as those who are face recognition clock machines, GPS navigation, cloud terminal equipment, etc. Unless this type of company is already very large-scale, it is normally in operation for dozens of research and development. Face check-in, the face recognition module is the core, but the hardware and software are purchased. The company may create c++ and QTh to realize the work usage scenarios, data transmission, export and import of the work check-in business and other related programming.
Click to get the 1V1 embedded learning plan, and now you will also get 100G of selected learning materials.
(Long press and copy the search link)
https://s.pdb2.com/l/CMIsoKcnATFIF4M
GPS navigation, GPS module , core driver, Linux, WinCE, and no developers of this company need to do development. For
cloud terminal, the core access protocol may be to buy Citrix solution, or to buy Vmware solution. If it doesn't work, you can create a copycat spice protocol and rdp protocol, which are free and open source.
or above products, core modules, buy them, use them on the interface, and most of them are foreign technologies.
hardware solution, either hard copying and outsourcing the development board to hardware manufacturers.
So what are the development of these companies?
If the product UI is QT, then write a lot of C++ code, various good software framework , various multi-threaded , and multi-process cooperation.
If the UI is GTK, then write a lot of C code, and various structures to simulate object-oriented development ideas. Of course, you can also learn the great x framework written by kernel developers, such as learning input subsystems, device-driven models, and binder-driven models. Flexible application of kernel programming ideas to application-level programming, and write a stable and highly scalable framework is a very good person.
really involves Linux underlying development. If a person really masters the Linux kernel's process management , time management, memory management, file management, various driver frameworks, etc., can build a real-time operating system on various hardware platforms, and knows bare metal, write some startup code to guide his own operating system, that is, the big bull among the big bulls.
Return to the children who have just entered the embedded world to explore. In fact, at your current level, you can analyze uboot and analyze the source code of the Linux kernel. It is a very painful thing.
calls the interface to implement multi-threading, handle process communication, and write sockettml2 programming are difficult. They are even confused about pointer parameters, pointer arrays and array pointer . How can you look at uboot and linux kernel source code?
: The technique needs to be done step by step. Many children's shoes will be bothered by the courses set by training institutions. Maybe I don’t even know much about C and pointers and C programming. And there is a big talk. No matter what, as long as we have a solid foundation. Only then can we further explore the Linux kernel framework.
for (i = 0; i 8; i++)
{
SetData((data i) & 0x1);
SetClockHigh();
for (j = 0; j 5; j++);
SetClockLow();
for (j = 0; j 5; j++);
SetClockLow();
for (j = 0; j 5; j++);
}