Here, I would like to share with you some classic tutorials for the beginners of embedded software development, which can be used for reference for those small partners who are still wandering outside the door of embedded software development.
1) C language learning
C language is a programming language that embedded software developers must master. As a beginner of C language, the basic knowledge of basic data type, compound data type, process control, array, pointer and function is mainly mastered. I suggest learning by watching video teaching, which is fast and easy to understand. Of course, the premise is to find high-quality teaching video resources. In addition, you can learn with the introduction book "C language programming" by Tan Haoqiang. If you want to further study, you can refer to the "C Primer Plus" written by the American people's post and Telecommunications Publishing House.
2) The tempering of C language
After mastering the basic C language grammar, it does not mean that we have learned the C language. The key is how to use it flexibly. We can practice writing C language learning books after class exercises, or search the C language written test question bank on the website for practice. Baidu can also look for classic C language programming cases to learn. In short, the more proficient the C language is, the better. As for the development environment, you can choose VC + + 6.0 or Linux.
3) Hardware Circuit Foundation
Embedded software engineers must also understand some basic knowledge of hardware circuits. Of course, for new software developers, it is not necessary to be very proficient in circuit technology, familiar with the basic functions of electronic components. For example, the functions and symbols of resistance, capacitance and inductance, the conditions of on-off of triode and MOS transistor, the basic concepts of microprocessor and crystal oscillator, etc. As for the above basic knowledge, we can learn from Tong Shibai's fourth edition of "Fundamentals of analog electronic technology" and the materials available on the Internet.
4) How to understand the schematic diagram
As embedded software developers, we often deal with hardware, and our programs will eventually be burned to run in the microprocessor. Therefore, we must be able to read the hardware schematic diagram, understand before we know how to write programs. First of all, we need to know the components of the smallest embedded hardware system, including power circuit, crystal oscillator, microprocessor, reset circuit. Then look around with the microprocessor as the center, mainly looking at the peripheral resources we can manipulate. Above knowledge study, we might as well often browse some well-known IT website others upload the classic schematic diagram.
5)
Basic peripheral knowledge
Most of the work of embedded programs is to control or communicate with external devices. For example, LED light, digital tube, RS232, AD / DA, I2C bus, SPI bus, etc. The knowledge of the above basic peripherals can be learned through Baidu Encyclopedia or the blog written by the website Daniel. This is faster and deeper than consulting relevant books. At this point, you can basically understand the concept and principle of each peripheral. As for the in-depth grasp, we need to carry out actual combat development.
6) Development board
The above basic is the study of theoretical knowledge, to really understand and profound grasp. We must learn more deeply through actual combat development. We can buy a 51 series development board or a more advanced STM32 development board for actual combat exercises. According to the teaching video provided by the development board or your own practice, debug all the common peripherals in the development board. As for the embedded development environment of 51 development board and STM32 development board, we can adopt keil4_ MDK.
7) Project integration
With the above basic theoretical knowledge and simple practical experience, we also need to integrate our own skills and be familiar with the development process of the project through a complete project. We can use the resources of the development board to develop the calendar, remote control switch, calculator and other small projects. Or purchase some interesting project kits for development, such as smart car, remote control aircraft, etc. Through the above steps of practice, if you can successfully adhere to it, I think you have entered the door of embedded software development.
The above is the classic course for the introduction of embedded software development. Finally, I would like to tell you that there is only one opportunity. Seize the opportunity and start learning. Good employment opportunities are reserved for those who are prepared.