Let's make a rough comparison between the well-known MS DOS and Linux booting parts. In MS DOS, the boot program located in the boot sector on the disk is responsible for loading IO.SYS into memory, and IO.SYS is responsible for loading the DOS kernel --MSDOS.SYS into memory. In Linux, the bootsect program located in the boot sector is responsible for loading setup and the Linux kernel into memory, and then handing control to setup. Driver In the Linux system, the set of entry points provided by the device driver is described to the system by a structure. The entry points provided by the device driver are registered with the system when the device driver is initialized so that the system can call them at the appropriate time. In the Linux system, the character device driver is registered with the system by calling register_chrdev. In Linux, in addition to directly modifying the source code of the system kernel and adding the device driver to the kernel, the device driver can also be used as a loadable module, and the system administrator can dynamically load it to make it part of the kernel. The system administrator can also dynamically unload the loaded module. In Linux, modules can be written in C language and compiled into target files using gcc (without linking, existing as *.o files).
To do this, you need to add the -c parameter to the gcc command line. After successfully registering the device driver with the system (after successfully calling register_chrdev), you can use the mknod command to map the device to a special file. When other programs use this device, they only need to operate on this special file. Replace X-Window with MicroWindows MicroWindows uses a layered design method. It allows different layers to be changed to adapt to actual applications.
At the bottom layer, drivers for the screen, mouse/touch screen, and keyboard are provided, allowing programs to access actual hardware devices and other user-defined devices.
In the middle layer, there is a lightweight graphics engine that provides methods for drawing lines, area filling, drawing polygons, clipping, and using color models.
At the top level, different APIs are provided for graphical applications to use. These APIs may or may not provide desktop and window appearance. Currently, MicroWindows supports Windows Win32/WinCE GDI and Nano-X APIs. These APIs provide close compatibility between Win32 and X Window System, making it easy to port other applications to MicroWindows.
Previous article:ARM 2440 naked implementation of electronic clock
Next article:Difference between MOV MVN LDR in ARM assembly language
Recommended ReadingLatest update time:2024-11-16 15:27
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- STM32F103 brushless DC motor control program
- [GD32E231 DIY Contest] Part 2: Dynamic QR Code Display
- EEWORLD University ----PI power chip: Learn about BridgeSwitch in one minute
- CCS compilation optimization and volatile
- cc3200 GPIO input mode error
- Excellent materials, free of credits: Album of routines for common functional modules in the National Undergraduate Electronic Design Competition
- [Popular Science] IGBT - Starting from the name
- Relay protection device tester verification
- The circuit board cannot start normally after plugging in a power bank
- FPGA beginners ask for help with Verilog test code