This post was last edited by huayangshiboqi on 2017-12-6 21:43 After deciding to learn embedded systems, I was confused. I didn’t know what information to look for, how to choose chips, or what board to buy. (1) Finding a platform: My first reaction was to buy a board, so I looked for entry-level boards that everyone used on Baidu and forums. There were Wei Dongshan, Friendly Arm, and Feiling. I chose Wei Dongshan’s entry-level board JZ2440. (2) Getting a general understanding: After choosing a board, I looked for books about embedded systems in the library and picked a book that was more suitable for me in terms of structure and style, "Embedded System Principles and Design" - edited by Chen Wenzhi and Wang Zonghui. This book introduces the classification of various embedded microprocessors, ARM instruction sets and assembly, various embedded operating systems, several major management functions of operating systems (a basic understanding of operating system functions), Boot Loader (system kernel boot program), operating system kernel, development environment and debugging technology, driver design, software design, etc. However, this book is more text-based and can be used to learn about embedded systems. Through it, I have a systematic understanding of embedded microprocessors and embedded operating systems. (3) Tools: After understanding, I really want to practice and learn about ARM programming. The first thing to install is the compilation tool. The previous book introduced these programming tools, but it was very general. So, I found a book in the library called "Linux Common Tools Quick Reference Manual" - a book written by Wu Zhouhai of Huaqing Yuanjian Embedded Training Center. The book classifies and introduces text editors, code editors, shell script development, and integrated development tools. This book made me realize the mistakes I had understood before and distinguished the difference between the vi editor and the gcc compiler. (4) Programming: After learning about the tools, I realized that I still knew nothing about ARM programming: how to write programs, what the structure is, what hardware resources are on the board, how to operate these tools under Linux, etc. This reminded me of my previous experience learning about MSP430F5529. The solution is to choose a book based on the JZ2440 board. The book will give a systematic explanation of the hardware resources of the board, how to use each part, how to program, how to use system instructions, how to use the compilation tools under the Linux system, etc. So I found the "Complete Manual for Embedded Linux Application Development" written by Teacher Wei Dongshan on the Internet. It was also through this self-study and self-searching that I found that reading books is really important. To understand new knowledge, nothing can be compared to a systematic book. It can help you understand new things very efficiently. At the same time, I found that the school library is a good place because there are various books of this type for you to refer to. You can slowly choose a book that suits you. This is much more effective than looking for and reading e-books on the Internet (the books recommended on the Internet should not be bad either). The above is basically a general understanding. The information has been found and the preparations before starting are completed.