erica_lddm
驱动牛犊
驱动牛犊
  • 注册日期2003-06-20
  • 最后登录2003-07-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1041回复:1

inw(),outw()的参数问题?

楼主#
更多 发布于:2003-07-08 08:44
在LINUX下的驱动中注册了一个IO端口(物理/线性地址,搞不清楚了,反正是ARM系列的,PORT=0X4000 0000),接着再用inw(),outw()去直接访问该PORT端口,结果在INSMOD时出现segmentation fault错误。然后用ioremap把PORT从先映射后,再调用inw(),outw(),就好了。问题:1 这个0x4000 0000是物理地址吗?
            2 什么是线性地址?
            3 inw(),outw()的参数到底是物理地址还是虚拟地址?我记得以前汇编就是用这些函数来直接访问IO物理地址的。
我是一只菜菜菜菜鸟 想要飞啊飞 却怎么也飞不高......
fnight
驱动小牛
驱动小牛
  • 注册日期2001-10-20
  • 最后登录2005-06-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-07-08 09:46
inw(),outw()在dos下的参数是物理地址,其在dos系统运行库中。
但在LINUX下就是在LINUX系统运行库中的函数了,参数是虚拟地址.
这个0x4000 0000当然就是虚拟地址
sorry,
游客

返回顶部