想要從STM32小白成為達人,這些知識你必須知道

2021-09-11 08:32:20 字數 1945 閱讀 7413

首先,在學習cortex-m3時,我們必須要知道必要的縮略語。

2、關於armv7的知識了解

在這個版本中,核心架構首次從單一款式變成3種款式。

款式a:設計用於高效能的「開放應用平台」——越來越接近電腦了

款式r:用於高階的嵌入式系統,尤其是那些帶有實時要求的——又要快又要實時。

款式m:用於深度嵌入的,微控制器風格的系統中。

介紹a:用於高效能的「開放應用平台」,應用在那些需要執行複雜應用程式的處理器。支援大型嵌入式作業系統。

r:用於高階的嵌入式系統,要求實時性的。

m:用於深度嵌入的、微控制器風格的系統中。

3、cortex-m3處理器的舞台

高效能+高**密度+小矽片面積,使得cm3大面積地成為理想的處理平台,主要應用在以下領域:

(1)低成本微控制器

(2)汽車電子

(3)資料通訊

(4)工業控制

(5)消費類電子產品

4、cortex-m3的簡化圖

5、暫存器組

處理器擁有r0-r15的暫存器組,其中r13最為堆疊指標sp,sp有兩個,但是同一時刻只能有乙個可以看到,這就是所謂的「banked」暫存器。

a、r0-r12都是 32位通用暫存器,用於資料操作。但是注意:絕大多數 16位thumb指令只能訪問r0-r7,而 32位 thumb-2指令可以訪問所有暫存器。

b、cortex-m3擁有兩個堆疊指標,然而它們是 banked,因此任一時刻只能使用其中的乙個。

6、cortex-m3的簡評

a、高效能

許多指令都是單週期的——包括乘法相關指令。並且從整體效能上,cortex-m3比得過絕大多數其它的架構。

指令匯流排和資料匯流排被分開,取值和訪內可以並行不悖 。

thumb-2的到來告別了狀態切換的舊世代,再也不需要花時間來切換於 32位 arm狀態和16位thumb狀態之間了。這簡化了軟體開發和**維護,使產品面市更快。

thumb-2指令集為程式設計帶來了更多的靈活性。許多資料操作現在能用更短的**搞定,這意味著 cortex-m3的**密度更高,也就對儲存器的需求更少。

取指都按 32位處理。同一週期最多可以取出兩條指令,留下了更多的頻寬給資料傳輸。

cortex-m3的設計允許微控制器高頻執行(現代半導體製造技術能保證 100mhz以上的速度)即使在相同的速度下執行,cm3的每指令週期數(cpi)也更低,於是同樣的 mhz下可以做更多的工作;另一方面,也使同乙個應用在 cm3上需要更低的主頻。

b、先進的中斷處理功能

內建的巢狀向量中斷控制器支援240條外部中斷輸入。向量化的中斷功能大大減少了中斷延遲,因為不在需要軟體去判斷中斷源。中斷的巢狀也是在硬體水平上實現的,不需要軟體**來實現。

cortex-m3在進入異常服務例程時,自動壓棧了 r0-r3, r12, lr, psr 和pc,並且在返回時自動彈出它們,這多清爽!既加速了中斷的響應,也再不需要組合語言**了

nvic支援對每一路中斷設定不同的優先順序,使得中斷管理極富彈性。最粗線條的實現也至少要支援 8級優先順序,而且還能動態地被修改。

優化中斷響應還有兩招,它們分別是「咬尾中斷機制」和「晚到中斷機制」。

有些需要較多週期才能執行完的指令,是可以被中斷-繼續的——就好比它們是一串指令一樣。

這些指令包括載入多個暫存器(ldm),儲存多個暫存器(stm),多個暫存器參與的push,以及多個暫存器參與的 pop。

除非系統被徹底地鎖定,nmi(不可遮蔽中斷)會在收到請求的第一時間予以響應。對很多安全-關鍵(safety-critical)的應用,nmi都是必不可少的(如化學反應即將失控時的緊急停機)。

通過上面我們可以很容易理解stm32的一些基本知識和結構,為學習stm32打好了基礎…

(stm32電機驅動)

(定時器)

(dma專題講解)

( adc讀取光照感測器)

(stm32中斷系統)

(時鐘系統)

(stm32 實戰之溫濕度採集)

STM32小白入門(第16天) 紅外

一 定義 遠端遙控技術又稱為遙控技術,是指實現對被控目標的遙遠控制,在工業控制 航空航天 家電領域應用廣泛。紅外遙控是一種無線 非接觸摸制技術,具有抗干擾能力強,資訊傳輸可靠,功耗低,成本低,易實現等顯著優點,被諸多電子裝置特別是家用電器廣泛採用,並越來越多的應用到計算機和手機系統中。隨著家用電器 ...

預熱2 什麼是STM32?認識STM32

1 什麼是stm32 stm32是由arm公司設計,意法半導體 st 公司生產的基於 arm cortex m 核心的32 位的mcu 系列。2 stm32能做什麼?stm32 屬於乙個微控制器,適用於控制類,自帶了各種常用通訊介面,比如 usart i2c spi 等,可接非常多的感測器,可以控制...

stm32晶元休眠模式 stm32實現待機喚醒

stm32的低功耗模式有3種 1 睡眠模式 cm3核心停止,外設仍然執行 2 停機模式 所有時鐘都停止 3 待機模式 1.8v核心電源關閉 進入待機模式的方法,以及設定wk up引腳用於把stm32從待機模式喚醒的方法 一般步驟如下 1 設定sleepdeep位 scb scr的第二位 2 使能電源...