linux下访问寄存器
来源:互联网 发布:联通云计算有编制吗 编辑:程序博客网 时间:2024/05/23 13:51
在开启MMU之前,你可以直接用物理地址访问。在开启MMU之后,你需要先将物理地址映射为虚拟地址,然后用虚拟地址访问。还是绝个简单的例子,比如某一个外设的寄存器物理地址为: regaddr = 0x0200000,要读出/写入的值为value(unsigned int类型);那么:
在开启MMU之前:
读:
value = *(volatile unsigned int*)regaddr;
写:
*(volatile unsigned int*)regaddr = value;
在开启MMU之后:
需要先用ioremap来做映射,如下
unsigned int virt_regaddr = 0;
virt_regaddr = ioremap (regaddr, sizeof (unsigned int));
读:
value = *(volatile unsigned int *)virt_regaddr;
写:
*(volatile unsigned int*)virt_regaddr = value;
当然,如果不使用了,记得用iounmap()来回收资源。
在开启MMU之前:
读:
value = *(volatile unsigned int*)regaddr;
写:
*(volatile unsigned int*)regaddr = value;
在开启MMU之后:
需要先用ioremap来做映射,如下
unsigned int virt_regaddr = 0;
virt_regaddr = ioremap (regaddr, sizeof (unsigned int));
读:
value = *(volatile unsigned int *)virt_regaddr;
写:
*(volatile unsigned int*)virt_regaddr = value;
当然,如果不使用了,记得用iounmap()来回收资源。
- linux下访问寄存器
- linux下访问寄存器
- 关于linux下访问寄存器
- Linux 下访问PHY芯片寄存器
- EVC下如何直接访问寄存器?
- Linux下读写芯片的I2C寄存器
- Linux下读写芯片的I2C寄存器
- Linux下读写芯片的I2C寄存器
- Linux下读写芯片的I2C寄存器
- Linux下ARM寄存器映射定义
- Linux下读写芯片的I2C寄存器
- Linux下读写芯片的I2C寄存器
- Linux下(8086)寄存器详解
- WinCE下的地址映射以及寄存器访问
- wince6.0下物理地址映射,寄存器访问介绍
- (zz)linux - 驱动中如何访问CPU中的寄存器?
- WINDOWS下访问linux
- Linux下访问NAS
- Tomcat内存溢出的三种情况及解决办法分析
- 六招提高网页加载速度的小技巧
- linux中的outb、outw、inb、inw
- 析构函数定义为虚函数(转载)
- Maven生命周期详解
- linux下访问寄存器
- java文件操作--Thinking in java
- 对linux内核宏container_of的理解
- 虚基类 (转)
- 静态页面与动态页面各自的执行机制说明
- oc复习笔记
- __int64 与 long long int
- Linux内核访问外设I/O资源的方式
- 让你了解HTML及资源是如何加载的