新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > RTOS的發(fā)展之Armv7-M

RTOS的發(fā)展之Armv7-M

作者: 時間:2022-10-17 來源:網(wǎng)絡(luò) 收藏

  ARMv7-M于2006(文件版本=A)問世,最近一次改版是2021(文件版本=E.e),市場上能搜尋到的產(chǎn)品琳瑯滿目,屬于非常成熟的商品。本文多次引用的Cortex-M4,即屬Armv7E-M的架構(gòu)。

本文引用地址:http://www.butianyuan.cn/article/202210/439160.htm

  以一個問世十多年、且廣受歡迎的平臺來說,其設(shè)計應(yīng)有獨到之處,本節(jié)將列出幾項值得關(guān)注的特性。

從架構(gòu)談起

  Cortex-M平臺在最初設(shè)計時,已將Coprocessor納入考慮,且最多可支持16個協(xié)同處理器。M4內(nèi)置的FPU,就是使用第10,11兩個位置,透過它,M4可以快速的處理單精度的浮點數(shù),對比傳統(tǒng)的軟件方式,效能上有10倍以上的提升。

  除了FPU外,Armv7E-M架構(gòu)還內(nèi)含了DSP指令集,在SIMD,Saturate,Q-Format等指令的助攻下,使得32 bit Cortex-M4在運算能力上,來到了一個新的高度,已經(jīng)遠遠的、超過了早期8 bit MCU的水準。

  除此之外,ARM在除錯的支持上非常齊全,但不在本次的討論范圍。

運作模式的探討

  Cortex-M的內(nèi)核,支持兩種運作模式,分別是Thread mode,以及Handler mode,后者是發(fā)生中斷時,CPU所切換的模式。

  Thread mode提供兩個特權(quán)等級,分別是Privileged及Unprivileged,一般的作法,會讓OS有特權(quán),應(yīng)用程序則無,此外,透過CONTROL寄存器,還可選擇使用不同的堆棧指針(MSP or PSP)。

  看似平常的模式,其實有下列幾個亮點:(1)Handler mode的離開方式,跟一般函式相同。(2)CPU進出Handler時,硬件會自動PUSH/POP多個緩存器。(3)內(nèi)建的異步PendSV例外功能。(4)異步例外支持Active and Pending state。

中斷及例外處理的優(yōu)先權(quán)

  全系列的Cortex-M都內(nèi)建了NVIC,NVIC(Nested Vectored Interrupt Controller)緊密的整合于核心旁,可支持高達496個中斷、并提供256階優(yōu)先權(quán)。

  NVIC所提供的巢狀中斷服務(wù),由硬件執(zhí)行ISR的Preemption工作,還加碼Late arrival及Tail chaining機制。

電源管理指令

  Cortex-M將電源管理直接指令化,WFI(Wait For Interrupt)及WFE(Wait For Event),可使CPU快速的進入睡眠、省電狀態(tài)(Low Power State)。

  搭配SCR(System Control Register)的多個旗標:SEVONPEND,SLEEPONEXIT,SLEEPDEEP等,還可執(zhí)行進階的設(shè)定。

無鎖的同步指令

  為了解決關(guān)鍵區(qū)段的保護問題,并避免關(guān)閉中斷造成的損失,的LDREX/STREX,以指令的方式,達成non-blocking的內(nèi)存同步請求。由硬件協(xié)助確保read-modify-write的正確性。

A fit real time kernel for Cortex-M

  談了許多的缺點,又列出了的特色后,我們是否應(yīng)跳出舊的思維,并以創(chuàng)意及創(chuàng)新的觀點,提出新的軟件作法呢?

作者:科技下午茶啃泥https://www.bilibili.com/read/cv15839248?spm_id_from=333.999.0.0



關(guān)鍵詞: 嵌入式 RTOS 系統(tǒng) Armv7-M

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉