任务运转在特权级或非特权级情势

本章教程为我们讲授 RTX
运维方式的五个首要知识点,特权级格局和非特权级情势,某些质地也许书籍将非特权级形式称为用户情势。 

RTX
职责特权级知识点表达
对此初学者只需记住本小节的知识点就可以,假若要深远的领会依旧须求花些时日去研商下
Cortex-M三
抑或 M4 权威指南。
对此利用 Cortex-M三 要么 M4 内核的芯片的话,RTX
操作系统能够让职务运转在特权级大概非特权
级形式,那二种方式是 M叁 要么 M4 内核本人所享有的表征。
在特权级方式下,用户能够访问和配置系统调控寄存器,比如 NVIC
中断调控器。不过,要是是在非
特权级情势下,系统调控寄存器是不容许访问的,1旦访问将变成硬件非凡。
 Unprivileged:
非特权级,起到保卫安全用户职务的法力,幸免用户能够在四意职分中做客和退换系统寄存器,操作不当
会导致系统崩溃。
 Privileged:
特权级,那种方式下用户可以在任意职务中对系统调节寄存器的访问和退换。
有了那一点基础的认识以往,还有以下多少个问号有待解决。

非特权级形式下那多个寄存器不可访问
对于 Cortex-M3 大概 M4基石来讲,全部的着力外设寄存器都以不得不在特权级下本事够访问,这个
又是着力外设寄存器呢,对于 STM32来讲必要我们看编制程序手册,如下那么些基本外设全数的寄存器都亟需
在特权级下手艺够访问:
图片 1

图片 2

 

 图片 3

至于
MPU,NVIC,SCB 和 STK
三个单元的其余寄存器是还是不是要求在特权级下才方可访问,我们能够听从
自身下面说的章程开始展览查看。
除开主导外设寄存器以外,M3/M四基础的异常规意义寄存器也是不可能在非特权级下访问的,特殊效率
寄存器主要包罗以下寄存器:
 程序状态寄存器组(PS奥迪Q3s 或曰 xPS冠道)

 中断屏蔽寄存器组(PLacrosseIMASK,
FAULTMASK,以及 BASEPPRADOI)

调节寄存器(CONTROL)
对于参考手册上面所说的 SPI,USART,USB
等具有外设寄存器都是足以在非特权级下进展访问的。
非特权级情势下中央外设寄存器怎么着开始化
万一用户将 RTX
操作系统的职分设置在非特权级方式下运营,那么大旨外设寄存器应该放在哪个地方举办
开端化呢,主要有以下二种办法:
 使用 SVC(Supervisor
Call)软中断,那么些在第 19 章有详实批注。
 在初步化和开启 RTX
多义务前做基本外设的先导化。
Cortex-M三 要么 M四基石如何切换二种情势
Cortex-M3/M四中的特殊作用寄存器包罗:
 程序状态寄存器组(PSLacrosses
或曰 xPSRAV四)
 中断屏蔽寄存器组(P卡宴IMASK, FAULTMASK,以及
BASEP哈弗I)
 控制寄存器(CONTROL)
中间决定寄存器 CONTROL
是用来设置特权级和非特权级切换的,CONTROL 寄存器定义如下:
图片 4

图片 5

 

 RTX
任务特权品级的安装方法
RTX
职分特权等级的安装方式比较轻便,查看 RTX 系统的配备向导,如下图 九.1所示:

图片 6

 

 
Run in privileged mode
此参数就是用来安装特权级和非特权级的,选上单选框表示使能职务职业在特权级方式,撤除单选框
意味着职分工作在非特权级方式。

RTX
职分特权品级深切认识
本小节的知识点对于初学者的话相比较难了然,供给积累了一定的经历后本领更加好的知情,不过依旧建
议读一读。
深刻摸底 Cortex-M3/M四内核的特权等第就只可以说说二种操作形式,Cortex-M3/M肆 支撑三种操
作情势,二种操作方式分别是:
 Handler
mode,中断形式,简单来讲正是指的特别服务程序是地处中断情势。
 Thread
mode,线程方式,简单来讲正是丰盛服务程序以外的次第都以居于线程情势。
图片 7

当Computer处在线程状态下时,既能够选取特权级,也能够运用用户级;另壹方面,handler
形式
连日来特权级的。在系统重新恢复设置后,处理器进入线程情势+特权级。
在特权级下的代码能够因而置位
CONTROL[0]来进入用户级。而不管是任何原因产生了别的极度,
计算机都将以特权级来运作其服务例程,至极重临后,系统将回到产生卓殊时所处的等第。用户级下的代
码不能够再试图修改
CONTROL[0]来回到特权级。它必须透过3个百般 handler,由尤其尤其 handler
来修

CONTROL[0],技艺在再次回到到线程情势后获得特权级。下图是特权级线程情势和用户级线程格局的切换图: 
图片 8

 

图片 9

户程序代码出标题时,不会让它形成害群之马,因为用户级的代码是禁止写特殊作用寄存器和
NVIC 中断
寄存器的。其余,假如还配有
MPU,爱护力度就更加大,甚至足以阻挡用户代码访问不属于它的内部存款和储蓄器区域。
为了幸免系统商旅因应用程序的失实选择而破坏,大家能够给应用程序专门配一个仓房,不让它共享
操作系统内核的酒店。在那么些管理制度下,运维在线程方式的用户代码应用
PSP,而相当服务例程则运用
MSP。那三个宾馆指针的切换是智能全自动的,就在十二分服务的剧情由硬件处理。
如前所述,特权品级和库房指针的选项均由
CONTROL 负责。当 CONTROL[0]=0 时,在非凡处理
的内容,只发生了计算机形式的转移,如下图所示。

 图片 10

图片 11

开辟板实验 :

图片 12

RTX
配置:
RTX
配置向导详细情况如下:

图片 13

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注