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

关于CPU寄存器的访问

    来源: 互联网  发布时间:2016-01-12

    本文导语:  在ARM中,我想访问一个寄存器,应该如何访问?假设寄存器的地址为0x87 | 看看你arm如果是32位寄存器,那么可以这么访问 #define READ_ARM(addr)  *(volatile unsigned int*)addr 然后你就可以用READ_ARM...

在ARM中,我想访问一个寄存器,应该如何访问?假设寄存器的地址为0x87

|
看看你arm如果是32位寄存器,那么可以这么访问

#define READ_ARM(addr)  *(volatile unsigned int*)addr

然后你就可以用READ_ARM函数去读写操作了。这是是代表取值,也可以用来赋值

|
呵呵,,内存地址和寄存器地址是一回事,,现在比较流行的做法是将寄存器地址挂接到内存地址空间中,而不是挂接到IO空间中,在IO空间中软件要用专门的指令,不利于用高级语言开发。而在寄存器等在内存空间中就可以操作寄存器象操作内存一样,还能使用指针。但是注意要使用volatile,不然的话编译器可能对代码进行优化。寄存器毕竟和内存还是有点差别的,寄存器值可能不经过cpu控制而变化。

|
__raw_writel         32 bits reg
__raw_writew         16 bits reg 
__raw_writeb          8 bit reg

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












  • 相关文章推荐
  • CPU在读NAND FLASH时会访问每个page的校验区吗?
  • 多核CPU或多CPU的单个CPU使用率如何取得?
  • 请问AIX下用什么命令能够获取CPU型号、频率信息,多CPU情况下
  • 用哪些函数可以得到执行一个程序的系统CPU时间,用户CPU时间,时钟时间啊?
  • Clock time, User cpu time, System cpu time三者是什么关系?
  • 请教:linux下有统计CPU的个数和CPU利用率的函数吗???(急!!!)
  • 在LINUX下怎么查看CPU有多少个及CPU是多少G
  • 90分征求简单问题,weblogic的购买是按照cpu来得吗?每个cpu多少钱?可以放到任何服务器上吗?
  • 用户CPU时间 系统CPU时间 时钟时间 不懂
  • 如何在SMP系统下,锁住其他CPU,只让一颗CPU工作?
  • le16_to_cpu(v),cpu_to_le(16)是什么意思?
  • 如何用C程序获取系统的CPU的数目,以及各个CPU的ID
  • IBM P650 /AIX 5L 是32位CPU还是64位CPU?
  • 虚拟机中安装ubuntu8.0.4的时候总是出现“this kernal requires an x86-64 cpu but only detected an i1586 cpu“.....急啊
  • 坛子太冷清,我提个问题,多CPU的系统,到底是谁就处理了这多CPU?
  • User CPU , System CPU, Clock time什么区别?
  • 求意见如何在linux的应用软件中实现一个cpu调度框架,使得多个cpu调度算法可以在同一个系统中实现无缝整合?(分数不够还能再加)
  • 64位CPU运行64位Vista装64位Virtual PC 2007 SP1安装64位Debian 5.0失败,提示CPU不支持。希望大家能够提供帮助!
  • 如何控制一个进程的CPU的使用率?
  • 我这个cpu的主频是多少阿?
  • cpu问题


  • 站内导航:


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

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

    浙ICP备11055608号-3