当前位置:  技术问答>linux和unix

关于readb()

    来源: 互联网  发布时间:2016-02-09

    本文导语:  单独的一行语句   readb(addr); 这个语句有什么意义吗?我的意思是没有将readb的返回值赋给另外一个变量,仅仅是执行一下这个函数,有什么其他的作用么? 刚开始做驱动,看到以前的老代码中有这样的语句,不明白...

单独的一行语句 
 readb(addr);
这个语句有什么意义吗?我的意思是没有将readb的返回值赋给另外一个变量,仅仅是执行一下这个函数,有什么其他的作用么?
刚开始做驱动,看到以前的老代码中有这样的语句,不明白有什么样的作用。

另外关于readb/writeb等等这些函数的用法和参数、返回值格式的介绍哪里可以找到啊?
谢谢了。

|
"单独的一行语句 readb(addr); "
清空当前地址的值,让下次读到的保证最新的一种方法

"另外关于readb/writeb等等这些函数的用法和参数、返回值格式的介绍哪里可以找到啊? "
 应该都有介绍和使用例子

|
readb其实是一个宏:

#define readb(addr) (*(volatile unsigned char *) __io_virt(addr))

上述定义中的宏__io_virt()仅仅检查虚地址addr是否是核心空间中的虚地址。

实际上在x86平台上访问I/O内存资源与访问系统主存RAM是无差别的,readb相当于通过指针的间接引用。但是为了保证驱动程序的跨平台的可移植性,应该使用readb来访问I/O内存资源,而不应该通过指向核心虚地址的指针来访问。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3