TI中文支持网
TI专业的中文技术问题搜集分享网站

user and privilege mode

对外设寄存器的读操作可以在user和privilege两种模式下进行

而写操作只能在privilege模式下进行

问题:

1. 在哪里可以设置外设寄存器的user和privilege模式?

2. 设置的过程应该遵循怎样的规则?

Renton:

Hi Xuecheng,

    关于你的问题:

    1. user和privilege模式是ARM Cortex-R4F CPU的工作模式,不是外设模式。需要通过汇编语言,设置CPU内部寄存器来更改CPU的工作模式。

    2. 设置方法和过程中的规则请参考下面的帖子:

        http://www.deyisupport.com/question_answer/microcontrollers/hercules/f/70/p/24380/82135.aspx#82135

Xuecheng Liu:

回复 Renton:

Hi Renton,

谢谢你给的链接,我有学习相关材料,但是不得要领。

另外我在 TI E2E Community上也搜了相关话题,似乎被讨论两年多了也不见有很具体的说明。

我假设了一个应用例子:

有一些寄存器的特定位需要在程序运行过程中被周期性写入,写入的前提是将CPU转换为privileged mode(这么多种privileged mode,我只想重写寄存器的某些位,需要选哪一种),写入成功之后让cpu重新回到user mode,进而对寄存器内容起到保护作用。

我的问题是:

这种应用假设是否现实合理?

如果合理,这种周期性变换operation mode的做法是不是实现了安全手册中提到的安全机制“privileged mode access”?

不知道你们团队有没有做过类似的应用设计,如果做过,有没有可以供用户参考的成功代码?

或者说在程序运行过程中根本就不会出现频繁更改operation mode的情况发生?

Best regards,

Xuecheng Liu:

回复 Renton:

谢谢Renton的回答,给了我很多启发。

我还想追加一个问题,就是privileged mode中的supervisor mode和system mode有什么区别?

赞(0)
未经允许不得转载:TI中文支持网 » user and privilege mode
分享到: 更多 (0)