0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

學習Cortex-M3時,我們必須要知道必要的縮略語

lPCU_elecfans ? 來源:lq ? 2018-12-12 10:37 ? 次閱讀

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

整理如下:

AMBA:先進單片機總線架構 ADK:AMBA設計套件AHB:先進高性能總線 AHB-AP:AHB訪問端口APB:先進外設總線 ARM ARM:ARM架構參考手冊ASIC:行業(yè)領域專用集成電路 ATB :先進跟蹤總線

BE8:字節(jié)不變式大端模式 CPI:每條指令的周期數(shù)

DAP:調(diào)試訪問端口 DSP數(shù)字信號處理(器)DWT:數(shù)據(jù)觀察點及跟蹤 ETM:嵌入式跟蹤宏單元FPB:閃存地址重載及斷點 FSR:fault狀態(tài)寄存器

HTM:Core Sight AHB跟蹤宏單元ICE:在線仿真器 IDE:集成開發(fā)環(huán)境

IRQ:中斷請求(通常是外中斷請求)ISA:指令系統(tǒng)架構 ISR:中斷服務例程ITM:儀器化跟蹤宏單元

JTAG:連接點測試行動組(一個關于測試和調(diào)試接口的標準)LR:連接寄存器

LSB:最低有效位

MSB:最高有效位LSU:加載存儲單元MCU微控制器單元

MPU:存儲器保護單元

MMU:存儲器管理單元MSP:主堆棧指針NMI:不可屏蔽中斷NVIC:嵌套向量中斷控制器PC:程序計數(shù)器PPB:私有外設總線

Cortex-M3芯片簡介

1、芯片的基本結構如下圖

2、關于ARMv7的知識了解

在這個版本中,內(nèi)核架構首次從單一款式變成3種款式。

款式A:設計用于高性能的“開放應用平臺”——越來越接近電腦

款式R:用于高端的嵌入式系統(tǒng),尤其是那些帶有實時要求的——又要快又要實時。

款式M:用于深度嵌入的,單片機風格的系統(tǒng)中。

介紹A:用于高性能的“開放應用平臺”,應用在那些需要運行復雜應用程序的處理器。支持大型嵌入式操作系統(tǒng)。

R:用于高端的嵌入式系統(tǒng),要求實時性的。

M:用于深度嵌入的、單片機風格的系統(tǒng)中。

3、Cortex-M3處理器的舞臺

高性能+高代碼密度+小硅片面積,使得CM3大面積地成為理想的處理平臺,主要應用在以下領域:

(1)低成本單片機(2)汽車電子(3)數(shù)據(jù)通信(4)工業(yè)控制(5)消費類電子產(chǎn)品

4、Cortex-M3的簡化圖

5、寄存器組

處理器擁有R0-R15的寄存器組,其中R13最為堆棧指針SP,SP有兩個,但是同一時刻只能有一個可以看到,這就是所謂的“banked”寄存器。

a、R0-R12都是 32位通用寄存器,用于數(shù)據(jù)操作。但是注意:絕大多數(shù) 16位Thumb指令只能訪問R0-R7,而 32位 Thumb-2指令可以訪問所有寄存器。

b、Cortex-M3擁有兩個堆棧指針,然而它們是 banked,因此任一時刻只能使用其中的一個。

6、Cortex-M3的簡評

a、高性能

許多指令都是單周期的——包括乘法相關指令。并且從整體性能上,Cortex-M3比得過絕大多數(shù)其它的架構。

指令總線和數(shù)據(jù)總線被分開,取值和訪內(nèi)可以并行不悖 。

Thumb-2的到來告別了狀態(tài)切換的舊世代,再也不需要花時間來切換于 32位 ARM狀態(tài)和16位Thumb狀態(tài)之間了。這簡化了軟件開發(fā)和代碼維護,使產(chǎn)品面市更快。

Thumb-2指令集為編程帶來了更多的靈活性。許多數(shù)據(jù)操作現(xiàn)在能用更短的代碼搞定,這意味著 Cortex-M3的代碼密度更高,也就對存儲器的需求更少。

取指都按 32位處理。同一周期最多可以取出兩條指令,留下了更多的帶寬給數(shù)據(jù)傳輸。

Cortex-M3的設計允許單片機高頻運行(現(xiàn)代半導體制造技術能保證 100MHz以上的速度)即使在相同的速度下運行,CM3的每指令周期數(shù)(CPI)也更低,于是同樣的 MHz下可以做更多的工作;另一方面,也使同一個應用在 CM3上需要更低的主頻。

b、先進的中斷處理功能

內(nèi)建的嵌套向量中斷控制器支持240條外部中斷輸入。向量化的中斷功能大大減少了中斷延遲,因為不在需要軟件去判斷中斷源。中斷的嵌套也是在硬件水平上實現(xiàn)的,不需要軟件代碼來實現(xiàn)。

Cortex-M3在進入異常服務例程時,自動壓棧了 R0-R3, R12, LR, PSR 和PC,并且在返回時自動彈出它們,這多清爽!既加速了中斷的響應,也再不需要匯編語言代碼了

NVIC支持對每一路中斷設置不同的優(yōu)先級,使得中斷管理極富彈性。最粗線條的實現(xiàn)也至少要支持 8級優(yōu)先級,而且還能動態(tài)地被修改。

優(yōu)化中斷響應還有兩招,它們分別是“咬尾中斷機制”和“晚到中斷機制”。

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

這些指令包括加載多個寄存器(LDM),存儲多個寄存器(STM),多個寄存器參與的PUSH,以及多個寄存器參與的 POP。

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 存儲器
    +關注

    關注

    38

    文章

    7430

    瀏覽量

    163515
  • 數(shù)字信號處理

    關注

    15

    文章

    553

    瀏覽量

    45762
  • Cortex-M3
    +關注

    關注

    9

    文章

    269

    瀏覽量

    59406

原文標題:想要從STM32小白成為達人,這些你必須知道

文章出處:【微信號:elecfans,微信公眾號:電子發(fā)燒友網(wǎng)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    高性能+高代碼密度+小硅片面積——Cortex-M3處理器

    解一下Cortex-M3 架構。首先,在學習Cortex-M3時,我們必須要知道必要
    發(fā)表于 09-14 09:49

    FPGA縮略語

    FPGA縮略語表,大家可以看看,有時候老忘記,彼此學習一下
    發(fā)表于 04-01 17:01

    純干貨|最經(jīng)典的STM32-M3概述!

    首先,在學習Cortex-M3時,我們必須要知道必要縮略語。整理如下:AMBA:先進單片機總線
    發(fā)表于 08-04 16:05

    純干貨|最經(jīng)典的STM32-M3概述!

    `首先,在學習Cortex-M3時,我們必須要知道必要縮略語。整理如下:AMBA:先進單片機總
    發(fā)表于 08-28 15:09

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

    有需要資料的可以加我:騰訊3249838614首先,在學習Cortex-M3時,我們必須要知道必要縮略
    發(fā)表于 02-26 09:19

    STM32的這些經(jīng)典功能,你真的掌握了嗎?

    首先,在學習Cortex-M3時,我們必須要知道必要縮略語。整理如下:AMBA:先進單片機總線
    發(fā)表于 05-17 18:30

    Cortex-M3的相關資料分享

    首先,在學習Cortex-M3時,我們必須要知道必要縮略語。整理如下:AMBA:先進單片機總線
    發(fā)表于 11-29 06:34

    stm32中斷堆棧的相關資料分享

    STM32的這些經(jīng)典功能,你真的掌握了嗎?首先,在學習Cortex-M3時,我們必須要知道必要縮略語
    發(fā)表于 11-29 08:02

    從STM32小白成為達人的方法

    有需要資料的可以加我***首先,在學習Cortex-M3時,我們必須要知道必要縮略語。整理如下
    發(fā)表于 11-29 07:10

    Cortex-M3縮略語是什么

    首先,在學習Cortex-M3時,我們必須要知道必要縮略語。整理如下:AMBA:先進單片機總線
    發(fā)表于 01-18 07:27

    stm32中斷堆棧_想要從STM32小白成為達人,這些知識你必須知道

    首先,在學習Cortex-M3時,我們必須要知道必要縮略語。整理如下:AMBA:先進單片機總線
    發(fā)表于 11-19 12:36 ?10次下載
    stm32中斷堆棧_想要從STM32小白成為達人,這些知識你<b class='flag-5'>必須知道</b>

    stm32中斷堆棧_STM32的這些經(jīng)典功能,你真的掌握了嗎?

    STM32的這些經(jīng)典功能,你真的掌握了嗎?首先,在學習Cortex-M3時,我們必須要知道必要縮略語
    發(fā)表于 11-19 13:36 ?2次下載
    stm32中斷堆棧_STM32的這些經(jīng)典功能,你真的掌握了嗎?

    stm32中斷堆棧_想要從STM32小白成為達人,這些知識你必須知道

    首先,在學習Cortex-M3時,我們必須要知道必要縮略語。整理如下:AMBA:先進單片機總線
    發(fā)表于 11-19 13:51 ?10次下載
    stm32中斷堆棧_想要從STM32小白成為達人,這些知識你<b class='flag-5'>必須知道</b>

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

    有需要資料的可以加我:騰訊3249838614首先,在學習Cortex-M3時,我們必須要知道必要縮略
    發(fā)表于 11-19 14:06 ?10次下載
    想要從STM32小白成為達人,這些知識你<b class='flag-5'>必須知道</b>

    STM32的基本知識

    首先,在學習Cortex-M3時,我們必須要知道必要縮略語。
    的頭像 發(fā)表于 05-04 16:48 ?5726次閱讀
    STM32的基本知識