完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 一只耳朵怪 于 2018-5-25 14:09 编辑
对外设寄存器的读操作可以在user和privilege两种模式下进行 而写操作只能在privilege模式下进行 问题: 1. 在哪里可以设置外设寄存器的user和privilege模式? 2. 设置的过程应该遵循怎样的规则? |
|
相关推荐
5个回答
|
|
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 |
|
|
|
testd27 发表于 2018-5-25 07:26 Hi Renton, 谢谢你给的链接,我有学习相关材料,但是不得要领。 另外我在 TI E2E Community上也搜了相关话题,似乎被讨论两年多了也不见有很具体的说明。 我假设了一个应用例子: 有一些寄存器的特定位需要在程序运行过程中被周期性写入,写入的前提是将CPU转换为privileged mode(这么多种privileged mode,我只想重写寄存器的某些位,需要选哪一种),写入成功之后让cpu重新回到user mode,进而对寄存器内容起到保护作用。 我的问题是: 这种应用假设是否现实合理? 如果合理,这种周期性变换operation mode的做法是不是实现了安全手册中提到的安全机制“privileged mode access”? 不知道你们团队有没有做过类似的应用设计,如果做过,有没有可以供用户参考的成功代码? 或者说在程序运行过程中根本就不会出现频繁更改operation mode的情况发生? Best regards, |
|
|
|
jjdwe 发表于 2018-5-25 07:34 Hi Xuecheng, 1. 周期性或者不同层面的软件在不同模式下运行的方式,应该就是ARM的设计初衷。 所以我认为这样的做法是合理的。 比如,软件分为[硬件驱动层]和[应用层],可以设置应用层为User mode,不允许直接访问硬件寄存器,所有动作要调用[硬件驱动层]实现,而在硬件驱动层,CPU才进入previledged mode。一般是Supervisor mode, irq mode或fiq mode。这里可以操作硬件寄存器。 这样的话,不论应用层如何复杂或有可能出现跑飞等问题,都不会错误的修改硬件的配置。 2. TI是可以提供SafeTI软件库的,这套软件经过了第三方的认可,可以用来做安全相关的底层开发。但是不是免费发布的。如果需要的话,您得联系相应的销售人员来获取。 3. CPU工作模式切换例子可以参考HALCoGen生成的代码中的sys_core.asm文件的操作方法,如下图: |
|
|
|
谢谢Renton的回答,给了我很多启发。 我还想追加一个问题,就是privileged mode中的supervisor mode和system mode有什么区别? |
|
|
|
jjdwe 发表于 2018-5-25 07:49 Hi Xuecheng, 您太客气了,我们一起学习~ 各种模式我觉得最关键的区别是: 1. 是否有专用的寄存器组 2. MPU对这些模式的区分 所以supervisor和system模式都是所谓的privileged模式,那么MPU可能对待他们的方式相同。 但是,在寄存器组角度来说,system跟supervisor模式还是有差别的。 |
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
669 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
597 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1048 浏览 1 评论
731 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
520 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
158浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
120浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
123浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
121浏览 12评论
TPA6304-Q1: TPA6304 两片公用一组I2C的话,其中一片配置不成功怎么办
163浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 10:19 , Processed in 0.878360 second(s), Total 86, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号