Deep Understanding of Linux Bus Device Driver Framework

Deep Understanding of Linux Bus Device Driver Framework

The development of Linux drivers is quite different from the development of application programs. These differences lead to the essential distinction between writing Linux device drivers and writing application programs. 1. User Mode and Kernel Mode The Linux operating system is divided into user mode and kernel mode. The kernel mode completes interactions with hardware, … Read more

Understanding RTT UART Device Driver Framework

Understanding RTT UART Device Driver Framework

Click on the above “Embedded Miscellaneous“, select “Pin to Top” to view programming notes at the first opportunity! Introduction to UART The STM32 chip has multiple USART peripherals for serial communication, which stands for Universal Synchronous Asynchronous Receiver and Transmitter. It can flexibly perform full-duplex data exchange with external devices. Unlike USART, it also has … Read more

Building the ‘Library’ Concept for Embedded Device Drivers

Building the 'Library' Concept for Embedded Device Drivers

How to write excellent C code? Excellent code is undoubtedly the crystallization of various programming techniques and design philosophies, so it requires step-by-step accumulation. Here I share this article on building the ‘library’ concept, and everyone can experience it. What if device programs were perfectly library-based? 1. All engineers would spend minimal effort when porting … Read more

Understanding Character Device Drivers and Their Relationships

Understanding Character Device Drivers and Their Relationships

In the process of developing Linux device drivers, one naturally encounters concepts and technologies related to character device drivers, platform device drivers, device driver models, and sysfs. This can be quite confusing for beginners, and even for engineers with a certain foundation in Linux, it is relatively commendable to have a good understanding of these … Read more