arm用户模式不能访问的系统资源到底是什么?

zhangwf   2009-12-22 15:57 楼主
google了一大把都是说“某些资源”,我有点晕,“某些资源”难道仅仅指的是arm不同的工作模式下的特殊寄存器?
我现在的项目当中,我在用户模式下是可以访问所有的资源的啊。。。
疑惑中。。

回复评论 (13)

arm 的寄存器是分组的.. 在每个模式下所能能访问的寄存器都是不同的..
详细, 请参考:
[url=http://www.eefocus.com/article/08-08/49601s.html][/url]
点赞  2009-12-22 16:19
请仔细看我的问题。。
点赞  2009-12-22 16:30
友情帮顶下。
点赞  2009-12-22 16:45
引用: 引用楼主 codesnail 的回复:
google了一大把都是说“某些资源”,我有点晕,“某些资源”难道仅仅指的是arm不同的工作模式下的特殊寄存器?
我现在的项目当中,我在用户模式下是可以访问所有的资源的啊。。。
疑惑中。。


不对吧,怎么可能访问所有的资源,请问lz您说的所有的资源包括什么
点赞  2009-12-22 16:54
哎。。。
鄙视混分者
点赞  2009-12-22 17:07
USR模式是没有特权的,比如允许/禁止中断,你在USR模式就做不到
点赞  2009-12-22 18:44
引用: 引用 6 楼 great_bug 的回复:
USR模式是没有特权的,比如允许/禁止中断,你在USR模式就做不到

不好意思,我真的能做到
点赞  2009-12-22 21:25
lz可以去试着读读cpsr,如果能读到的话,肯定里面的cpu模式不是usr,否则要swi还有什么用
点赞  2009-12-23 05:05
引用: 引用 8 楼 wangyan_ua 的回复:
lz可以去试着读读cpsr,如果能读到的话,肯定里面的cpu模式不是usr,否则要swi还有什么用

大哥,请看我的问题行吗,我当然知道不能访问异常模式下的特有寄存器,我的问题是还有别的吗?!
点赞  2009-12-23 10:03
如果引入了mmu,那么内存的访问是有权限位控制的,usr模式不能寻址特权模式的地址空间。
点赞  2009-12-23 11:30
引用: 引用 7 楼 codesnail 的回复:
引用 6 楼 great_bug 的回复:
USR模式是没有特权的,比如允许/禁止中断,你在USR模式就做不到

不好意思,我真的能做到

你能做到,要么利用SWI~~~~~~这其实已经不是USR模式,要么你那所谓的ARM是已经改动了的,那就已经远离了你的话题
点赞  2009-12-23 11:44
引用: 引用 10 楼 thesaviour 的回复:
如果引入了mmu,那么内存的访问是有权限位控制的,usr模式不能寻址特权模式的地址空间。

领教。。
点赞  2009-12-23 11:54
引用: 引用 11 楼 great_bug 的回复:
引用 7 楼 codesnail 的回复:
引用 6 楼 great_bug 的回复:
USR模式是没有特权的,比如允许/禁止中断,你在USR模式就做不到

不好意思,我真的能做到

你能做到,要么利用SWI~~~~~~这其实已经不是USR模式,要么你那所谓的ARM是已经改动了的,那就已经远离了你的话题

感谢,我所说的可以开关中断指的是arm核外面的中断控制器的中断,arm核的irq和fiq中断确实是需要在系统模式下也就是通过swi来实现。
不知道还有没有其他的?
点赞  2009-12-23 11:56
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复