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

2019-07-16 09:36发布


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

有行家说可以用mmap进行映射,但是我看了下,mmap主要是对文件映射的啊。。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
馨雨
1楼-- · 2019-07-16 13:44
 精彩回答 2  元偷偷看……
大爱电子
2楼-- · 2019-07-16 15:06
是不是系统配置问题呐
rebeka
3楼-- · 2019-07-16 16:25
物理地址是转换为user层地址用的,就是说驱动核心的地址转到了用户层你直接用的话最好是mmap。而且read write是要调用linux驱动对应的write read的函数的,是文件系统传递下去的,还有就是全局变量要用volatile声明就变。

一周热门 更多>