Here are the steps in brief:
1. Application
2. Mapping
3. Access
4. Release
The specific operation steps are as follows:
1. Application - request_mem_region
After the application, the system is equivalent to marking the existing resources, that is, the resources have been applied for and occupied. If the same resources are applied for again, the kernel will report an error.
2. Mapping - ioremap Only
through ioremap can the physical register address be mapped into a virtual address so that it can be applied in the kernel. The advantage here is that the register can be accessed by adding the base address to the offset.
3. Access
There are specific read and write operation functions such as writel etc.
4. Release
After mapping, the function used to release resources is iounmap+release_mem_region
Note: Sometimes access is directly mapped without applying, but this is a bit irregular, but there are still many applications in the kernel, and they are easy to affect each other.
Previous article:Interpretation of SDRAM initialization process
Next article:9 addressing modes of ARM microprocessor
Recommended ReadingLatest update time:2024-11-23 18:28
- Naxin Micro and Xinxian jointly launched the NS800RT series of real-time control MCUs
- How to learn embedded systems based on ARM platform
- Summary of jffs2_scan_eraseblock issues
- Application of SPCOMM Control in Serial Communication of Delphi7.0
- Using TComm component to realize serial communication in Delphi environment
- Bar chart code for embedded development practices
- Embedded Development Learning (10)
- Embedded Development Learning (8)
- Embedded Development Learning (6)
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Intel promotes AI with multi-dimensional efforts in technology, application, and ecology
- ChinaJoy Qualcomm Snapdragon Theme Pavilion takes you to experience the new changes in digital entertainment in the 5G era
- Infineon's latest generation IGBT technology platform enables precise control of speed and position
- Two test methods for LED lighting life
- Don't Let Lightning Induced Surges Scare You
- Application of brushless motor controller ML4425/4426
- Easy identification of LED power supply quality
- World's first integrated photovoltaic solar system completed in Israel
- Sliding window mean filter for avr microcontroller AD conversion
- What does call mean in the detailed explanation of ABB robot programming instructions?
- STMicroelectronics discloses its 2027-2028 financial model and path to achieve its 2030 goals
- 2024 China Automotive Charging and Battery Swapping Ecosystem Conference held in Taiyuan
- State-owned enterprises team up to invest in solid-state battery giant
- The evolution of electronic and electrical architecture is accelerating
- The first! National Automotive Chip Quality Inspection Center established
- BYD releases self-developed automotive chip using 4nm process, with a running score of up to 1.15 million
- GEODNET launches GEO-PULSE, a car GPS navigation device
- Should Chinese car companies develop their own high-computing chips?
- Infineon and Siemens combine embedded automotive software platform with microcontrollers to provide the necessary functions for next-generation SDVs
- Continental launches invisible biometric sensor display to monitor passengers' vital signs
- Share an example of MSP430G2 series driving DS18B20
-
[NXP Rapid IoT Review] +
NXP Rapid IoT Unboxing Surprises - Chint ZTW0111A Digital Multimeter Disassembly and Evaluation
- 【TouchGFX Design】First experience based on F746DISCOVRY
- CircuitPython 4.0.0 is now available
- Embedded Software Engineer
- Win Jingdong Cards to fight against indoor air hazards - Infineon XENSIV PAS CO2 sensor
- MicroPython adds UF2 firmware format for esp32-S2/S3 chips
- Verilog data splicing and splitting.zip
- Protel DXP Guide.