打印
[ZLG-ARM]

ARM的用户模式有些什么好处?

[复制链接]
2881|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
linjing|  楼主 | 2007-3-29 22:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
(前提声明:本人刚刚接触ARM,正在研究LPC2104开发板,如果问题太菜,请多多包涵:)

按照一般操作系统的观点,用户程序不允许直接访问硬件,要想访问硬件必须通过系统调用,由系统操控硬件,这样可以防止用户对硬件的误操作。比如说现在的Windows系统,想要自己编程访问并口的3F8端口就十分麻烦,必须通过驱动程序访问,看EasyJTAG似乎就是用的WinIO的驱动(是不是啊,周工:)

下面是问题:
看LPC2104的资料,有系统模式与用户模式等多种运行模式,也有像SWI这样的系统功能调用机制,可就是没发现就用户模式下访问硬件(比如说定时器,PWM等)有什么保护性的措施,倒是访问状态寄存器十分麻烦,比如说开/关中断(当然,这也是一种系统保护措施)。可用了半天用户模式,除了能防止误关中断,再没有别的什么优点了吗,还是说LPC2104这类工控用的ARM特意的简化了这方面的限制呢?

相关帖子

沙发
computer00| | 2007-3-30 00:00 | 只看该作者

有多组不同的寄存器,可以加快中断响应速度.

使用特权

评论回复
板凳
zlgARM| | 2007-3-30 08:38 | 只看该作者

linjing

   之所以有用户模式,是因为ARM7体系结构里要根据不同的异常,跳转到不同的处理器模式,而在跳转之前,必然有一个不针对特定异常的处理器模式,于是就有了系统模式和用户模式;然后为了实现“操作系统具备访问关键硬件的特权,而一般用户程序无法访问关键硬件”这一理念,就有了系统模式和用户模式的划分。

使用特权

评论回复
地板
linjing|  楼主 | 2007-3-30 11:57 | 只看该作者

我这样理解对吗

针对ARM来说,定时器/PWM等硬件并不是关键硬件,所以允许用户模式随意访问,而对于状态寄存器里的中断允许控制就是“关键硬件”,所以不允许用户直接访问,这样理解对吗?

除了中断允许控制外,LPC2104中还有哪些关键硬件没有?

使用特权

评论回复
5
malaohu| | 2007-3-30 14:03 | 只看该作者

我们的程序一般运行于什么模式下?

正常运行程序时,无中断时,是什么模式,是系统还是用户,有什么区别呢?

使用特权

评论回复
6
zlgARM| | 2007-3-30 18:27 | 只看该作者

malaohu

  是用户模式。


linjing:
  只有特权模式才能修改CPSR。建议翻看一下ARM基础教程。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

327

帖子

0

粉丝