STM32基礎(chǔ)學(xué)習(xí)筆記(二)

學(xué)號(hào):14020520011 姓名:孟天玉

【嵌牛導(dǎo)讀】:基于STM32的單片機(jī)部分基礎(chǔ)學(xué)習(xí)

【嵌牛鼻子】:學(xué)習(xí)筆記、單片機(jī)、STM32

【嵌牛提問】:STM32有哪些基礎(chǔ)模塊?能實(shí)現(xiàn)什么功能?

【嵌牛正文】:

Cortex-M3作為STM32的內(nèi)核,采用ARM7構(gòu)架,不僅支持Thumb-2指令集,而且擁有許多新特性。與ARM7相比,Cortex-M性能更強(qiáng)勁,代碼密度更高,有位帶操作,可嵌套中斷,低成本,帝功耗的優(yōu)勢(shì)。目前Cortex-M3市場(chǎng)以ST(意法半導(dǎo)體)的STM32和Luminary(流明諾瑞)的LM3S最為著名。

一.Cortex-M3編程模式

Cortex-M3處理器采用ARMv7-M架構(gòu),它包括所有的16位Thumb指令集和基本的32位Thumb-2指令集架構(gòu),Cortex-M3處理器不能執(zhí)行ARM指令集。

Thumb-2在Thumb指令集架構(gòu)(ISA)上進(jìn)行了大量的改進(jìn),它與Thumb相比,具有更高的代碼密度并提供16/32位指令的更高性能。

1.工作模式:

Cortex-M3處理器支持2種工作模式:線程模式和處理模式。在復(fù)位時(shí)處理器進(jìn)入“線程模式”,異常返回時(shí)也會(huì)進(jìn)入該模式,特權(quán)和用戶(非特權(quán))模式代碼能夠在“線程模式”下運(yùn)行。

出現(xiàn)異常模式時(shí)處理器進(jìn)入“處理模式”,在處理模式下,所有代碼都是特權(quán)訪問的。

2.工作狀態(tài):

Cortex-M3處理器有2種工作狀態(tài)。

Thumb狀態(tài):這是16位和32位“半字對(duì)齊”的Thumb和Thumb-2指令的執(zhí)行狀態(tài)。

3.調(diào)試狀態(tài):

處理器停止并進(jìn)行調(diào)試,進(jìn)入該狀態(tài)。


二.Cortex-M3特點(diǎn)

1.高性能

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

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

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

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

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

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

2.先進(jìn)的中斷處理功能

? 內(nèi)建的嵌套向量中斷控制器支持多達(dá)240條外部中斷輸入。向量化的中斷功能劇烈地縮短了中斷延遲,因?yàn)椴辉傩枰浖ヅ袛嘀袛嘣础V袛嗟那短滓彩窃谟布缴蠈?shí)現(xiàn)的,不需要軟件代碼來實(shí)現(xiàn)。

? Cortex-M3在進(jìn)入異常服務(wù)例程時(shí),自動(dòng)壓棧了R0-R3, R12, LR, PSR和PC,并且在返回時(shí)自動(dòng)彈出它們,這多清爽!既加速了中斷的響應(yīng),也再不需要匯編語言代碼了(第8章有詳述)。

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

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

? 有些需要較多周期才能執(zhí)行完的指令,是可以被中斷-繼續(xù)的——就好比它們是一串指令一樣。這些指令包括加載多個(gè)寄存器(LDM),存儲(chǔ)多個(gè)寄存器(STM),多個(gè)寄存器參與的PUSH,以及多個(gè)寄存器參與的POP。

? 除非系統(tǒng)被徹底地鎖定,NMI(不可屏蔽中斷)會(huì)在收到請(qǐng)求的第一時(shí)間予以響應(yīng)。對(duì)于很多安全-關(guān)鍵(safety-critical)的應(yīng)用,NMI都是必不不可少的(如化學(xué)反應(yīng)即將失控時(shí)的緊急停機(jī))。

3.低功耗

? Cortex-M3需要的邏輯門數(shù)少,所以先天就適合低功耗要求的應(yīng)用(功率低于0.19mW/MHz)在內(nèi)核水平上支持節(jié)能模式(SLEEPING和SLEEPDEEP位)。通過使用“等待中斷指令(WFI)”和“等待事件指令(WFE)”,內(nèi)核可以進(jìn)入睡眠模式,并且以不同的方式喚醒。另外,模塊的時(shí)鐘是盡可能地分開供應(yīng)的,所以在睡眠時(shí)可以把CM3的大多數(shù)“官能團(tuán)”給停掉。

? CM3的設(shè)計(jì)是全靜態(tài)的、同步的、可綜合的。任何低功耗的或是標(biāo)準(zhǔn)的半導(dǎo)體工藝均可放心飲用。

4.系統(tǒng)特性

? 系統(tǒng)支持“位尋址帶”操作(8051位尋址機(jī)制的“威力大幅加強(qiáng)版”),字節(jié)不變的大端模式,并且支持非對(duì)齊的數(shù)據(jù)訪問。

? 擁有先進(jìn)的fault處理機(jī)制,支持多種類型的異常和faults,使故障診斷更容易。

? 通過引入banked堆棧指針機(jī)制,把系統(tǒng)程序使用的堆棧和用戶程序使用的堆棧劃清界線。如果再配上可選的MPU,處理器就能徹底滿足對(duì)軟件健壯性和可靠性有嚴(yán)格要求的應(yīng)用。

5.調(diào)試支持

? 在支持傳統(tǒng)的JTAG基礎(chǔ)上,還支持更新更好的串行線調(diào)試接口。

? 基于CoreSight調(diào)試解決方案,使得處理器哪怕是在運(yùn)行時(shí),也能訪問處理器狀態(tài)和存儲(chǔ)器內(nèi)容。

? 內(nèi)建了對(duì)多達(dá)6個(gè)斷點(diǎn)和4個(gè)數(shù)據(jù)觀察點(diǎn)的支持。

? 可以選配一個(gè)ETM,用于指令跟蹤。數(shù)據(jù)的跟蹤可以使用DWT

? 在調(diào)試方面還加入了以下的新特性,包括fault狀態(tài)寄存器,新的fault異常,以及閃存修補(bǔ) (patch)操作,使得調(diào)試大幅簡(jiǎn)化。

? 可選ITM模塊,測(cè)試代碼可以通過它輸出調(diào)試信息,而且“拎包即可入住”般地方便使用。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,461評(píng)論 6 532
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,538評(píng)論 3 417
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,423評(píng)論 0 375
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,991評(píng)論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,761評(píng)論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,207評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,268評(píng)論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,419評(píng)論 0 288
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,959評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,782評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,983評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,528評(píng)論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,222評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,653評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,901評(píng)論 1 286
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,678評(píng)論 3 392
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,978評(píng)論 2 374

推薦閱讀更多精彩內(nèi)容

  • 1.ARM中一些常見英文縮寫解釋 MSB:最高有效位; LSB:最低有效位; AHB:先進(jìn)的高性能總線; VPB:...
    Leon_Geo閱讀 641評(píng)論 0 4
  • 8086匯編 本筆記是筆者觀看小甲魚老師(魚C論壇)《零基礎(chǔ)入門學(xué)習(xí)匯編語言》系列視頻的筆記,在此感謝他和像他一樣...
    Gibbs基閱讀 37,303評(píng)論 8 114
  • "你"和"非你" 胡99 2017-11-20 有人說,天上有多少星,地上有多少人。天上的星...
    99閱讀 327評(píng)論 0 2
  • 我喜歡慵懶的待在咖啡店 我喜歡一動(dòng)不動(dòng)地坐在窗口 我喜歡呆呆的站在馬路口 我喜歡無聲無息地賴在書店 我喜歡看著公交...
    Winners閱讀 147評(píng)論 0 1
  • 喏喏攤坐在床上望著窗子發(fā)呆,覺得所有生活模式還是如昨日一樣正常。斷了網(wǎng)絡(luò)誰都找不到誰的,這句話說的一點(diǎn)都沒有錯(cuò),時(shí)...
    楠二閱讀 199評(píng)論 0 1