微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > ARM技术讨论 > 驱动程序里ioread和iowrite运行不了

驱动程序里ioread和iowrite运行不了

时间:10-02 整理:3721RD 点击:

使用zynq芯片,linux对寄存器进行读写操作,使用ioremap函数为物理地址进行映射,可以映射一个地址。
但是当代码运行到ioread或iowrite对寄存器进行读写的时候,就死在那里不动了,驱动程序中的ioread和iowrite函数不起作用了
ioremap和ioread,iowrite不是同一个头文件吗?为什么这两个不能用的。
请专家给点修改的方向。
很捉急啊。
有行家说可以用mmap进行映射,但是我看了下,mmap主要是对文件映射的啊。

呃呃呃

是不是系统配置问题呐

物理地址是转换为user层地址用的,就是说驱动核心的地址转到了用户层你直接用的话最好是mmap。而且read write是要调用linux驱动对应的write read的函数的,是文件系统传递下去的,还有就是全局变量要用volatile声明就变。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top