ARM IO ports/memory

Publisher:快乐奇迹Latest update time:2016-08-14 Source: eefocusKeywords:ARM  memory Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere
Linux does not have the concept of IO ports in ARM. When registers and memory are located in the memory space, they are called IO memory.

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.

Keywords:ARM  memory Reference address:ARM IO ports/memory

Previous article:Interpretation of SDRAM initialization process
Next article:9 addressing modes of ARM microprocessor

Recommended ReadingLatest update time:2024-11-23 18:28

ARM Basics Tutorial (Part 3): Types of Exception Interrupts in ARM
 **RESET** When the processor reset pin is valid, the system generates a reset exception interrupt, and the program jumps to the reset exception interrupt handler for execution. Reset exception interrupts are usually used in the following situations: when the system is powered on; when the system is reset; jumping to
[Microcontroller]
ARM Architecture and Programming-3
ARM storage system: System control coprocessor CP15 for storage management in ARM: Contains 16 32-bit registers, numbered 0 to 15. In fact, there may be multiple physical registers corresponding to some numbered registers. Instructions for accessing CP15 registers: MRC, MCR. Registers C0 and C1 in CP15: C0 stores
[Microcontroller]
IAR Systems is the first to support the Arm Cortex-M55 core with integrated AI technology
IAR Systems is the first to support the Arm Cortex-M55 core with integrated AI technology IAR Embedded Workbench now supports the latest Arm Cortex-M55 processor series, providing powerful tool support for continuous innovation in embedded applications Uppsala, Sweden, November 2021 – IAR Systems®, a leading gl
[Embedded]
IAR Systems is the first to support the Arm Cortex-M55 core with integrated AI technology
The easiest way to install the GCC toolchain for ARM architecture in Ubuntu
1. Install the ARM-Linux-GCC toolchain   Just one command:   sudo apt-get install gcc-arm-linux-gnueabi   The premise is that your Ubuntu system version is the latest version supported by the official website. If not, please upgrade. Execute the above command. 2. Using the Toolchain   Note! You cannot use the gc
[Microcontroller]
Technical Analysis of ARM7 & ARM9 Dual-core Platform
The leading products in the embedded system teaching platform market are based on ARM7 or ARM9 architecture. It is generally believed that ARM7 is a low-end product and ARM9 is a high-end product. There is also a so-called "ARM7 & ARM9 covering high-end & low-end teaching platform". It is advertised that "both sets of
[Microcontroller]
Why does ARM have such low power consumption?
The reason why ARM has low power consumption is that its out-of-order execution capability is not as good as X86. In other words, when a user is using a computer, his operations are random and unpredictable, which makes the instructions unpredictable. In order to enhance the processing capability in this situation, X86
[Microcontroller]
Gowin Semiconductor participated in the Arm China Tech Symposia
Guangdong Gowin Semiconductor Technology Co., Ltd. (Gowin Semiconductor), the world’s fastest growing and most innovative FPGA design company, will participate in the 2019 Arm China Tech Symposia event in October, which will be held in Beijing (October 23, Sheraton Grand Beijing Dongfang Hotel) and Shanghai (October 2
[Embedded]
Gowin Semiconductor participated in the Arm China Tech Symposia
LRF020 DRIVER FOR LINUX(BASED ON TQ2440/ARM9)
LRF020 DRIVER FOR LINUX ======================= using includes/linux/spi/spidev.h,driver/spi/spidev.c 2012-3-23 xiaoyang@HIT Kernel Version: linux2.6.30 Board Info: tq2440 arm9(S3C2440) http://www.armbbs.net/forum.php LRF020: 2.4GHZ RF module:http://www.lustech.com.cn/index .php?case=ar
[Microcontroller]
Latest Microcontroller Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号