Learning embedded system development is a gradual process, generally we start from 51 MCU, gradually migrate to STM32 microcontroller, and then learn to use FreeRTOS operating system, and finally enter the embedded Linux field. Here is a typical learning route:
51 Microcontroller: As an entry-level platform for embedded systems, learning 51 microcontroller can help us understand the basic embedded development concepts and programming skills. You can learn to use C language to write simple drivers, control IO ports and peripherals.
STM32 Microcontrollers: Once you have mastered the basic embedded development concepts, you can further learn the STM32 family of microcontrollers. STM32 has more processing power and richer peripherals, giving you more development possibilities. You can learn to use the STM32CubeMX and STM32 HAL libraries for project configuration and programming.
FreeRTOS: Once you are familiar with STM32 development, you can delve into the use of the real-time Operating System (RTOS). FreeRTOS is a widely used open source RTOS with advantages such as lightweight and portability. Learning FreeRTOS can help you understand concepts such as task scheduling, multithreaded programming, and resource management, and improve the real-time and reliability of your system.
Embedded Linux: After you have mastered the basic concepts of RTOS, you can further learn the development of embedded Linux. Embedded Linux is an operating system based on Linux kernel, which has powerful functions and wide application
fields. Learning embedded Linux can help you master Linux driver development, file system management, network communication and other technologies to achieve more complex embedded system design.
Throughout the learning process, it is recommended to consolidate knowledge through practical projects and practice. We can choose some simple projects and gradually increase the complexity and functionality, such as LED control, sensor data acquisition, communication interface applications, etc. At the same time, consult relevant books, online tutorials, and community discussions to communicate and share experiences with other developers to accelerate the learning process.
51, STM32 and other development boards are relatively cheap, and the Linux development board is relatively expensive, entry-level development boards have the Mir NXP i.MX6UL development board, the mill STM32MP1 series development board, the mill based on the whole Chi T113 development board, the mill based on Renesas RZ/G2L development board, These can be selected between 300 and 500 yuan.
Of course, if there is any channel to apply for some popular development board for free, this is not, the Mir electronics joint Renesas, free to provide 150 sets of Mir based on Renesas RZ/G2L development board development board to developers. Based on Renesas RZ/G2L core board and development board performance is still relatively strong, the core board is equipped with Renesas 64-bit Arm® Cortex-A55 dual-core high-end processor (MPU), the main frequency of up to 1.2GHz, there is a Cortex-M33@200MHz, to meet the needs of high performance and real-time. DDR4 memory, 1GB/2GB optional, standard 8GB eMMC, integrated Arm Mali-G31 3D GPU, VPU support H.264 1920*1080@30FPS video codec; Rich multimedia interface MIPI-DSI/RGB/MIPI-CSI/Parallel CSI, supporting 1080P HD display. Of course, the supporting software development resources are also quite rich, including ∪ boot, Linux, all peripheral driver source code and QT5-based HMV2.0 system related development tools product manuals, hardware user manuals, hardware design guides, backboard PDF schematic diagrams, Linux software evaluation and development guides.