色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

x
x
查看: 6030|回復(fù): 12
打印 上一主題 下一主題

STM32 的核心Cortex-M3 處理器

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2018-4-13 14:38:31 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式





STM32 的核心Cortex-M3 處理器
STM32 的核心Cortex-M3 處理器是一個標準化的微控制器結(jié)構(gòu),希望思考一下,何為標準化?
簡言之,Cortex-M3 處理器擁有32 位CPU,并行總線結(jié)構(gòu),嵌套中斷向量控制單元,調(diào)試系
統(tǒng)以及標準的存儲映射。
嵌套中斷向量控制器(Nested Vector Interrupt Controller,簡稱NVIC)是Cortex-M3 處理器中
一個比較關(guān)鍵的組件,它為基于Cortex-M3 的微控制器提供了標準的中斷架構(gòu)和優(yōu)秀的中斷
響應(yīng)能力,為超過240 個中斷源提供專門的中斷入口,而且可以賦予每個中斷源單獨的優(yōu)先
級。利用NVIC 從可以達到極快的中斷響應(yīng)速度,從收到中斷請求到執(zhí)行中斷服務(wù)的第一條
指令僅需12 個周期。這種極快的響應(yīng)速度一方面得益于Cortex-M3 內(nèi)核對堆棧的自動處理
機制,這種機制是通過固化在CPU 內(nèi)部的微代碼實現(xiàn)的。另一方面,在中斷請求連續(xù)出現(xiàn)
的情況下,NVIC 使用一種稱為“尾鏈”的技術(shù),使連續(xù)而來的中斷可以在6 個時鐘周期內(nèi)得
到服務(wù)。在中斷的壓棧階段,更高優(yōu)先級的中斷可以不耗費任何額外的CPU 周期就能完成
嵌入低優(yōu)先級中斷的動作。具體的細節(jié)后面我會繼續(xù)總結(jié)的。用戶可以通過設(shè)置CPU 自動
進入低功耗狀態(tài),而使用中斷來將其喚醒,CPU 在中斷時間來臨之前會一直保持睡眠狀態(tài)。
這個后面我也會再總結(jié)。
Cortex-M3 的CPU 支持兩種運行模式:線程模式(Thread Mode)與處理模式(Handler Mode)
并且需要注意的是,這兩種模式都擁有各自獨立的堆棧。這種設(shè)計使得開發(fā)人員可以進行更
為精密的程序設(shè)計,對實時操作系統(tǒng)的支持也就更好了。
Cortex-M3 處理器還包含了一個24 位可自動重裝載定的定時器,可以為內(nèi)核(RTOS)提供
一個周期中斷。
在指令集方面,ARM7 和ARM9 都有兩種指令集(32 位指令集和16 位指令集),而Cortex-M3
系列處理器支持Thumb-2 指令集。由于Thumb-2 指令集融合了Thumb 指令集和ARM 指令
集,使得32 位指令集的性能和16 位指令集的代碼密度之間取得了平衡。
而且,ARM Thumb-2 專門為C/C++編譯器設(shè)計,這就意味著Cortex-M3 系列處理器的開發(fā)應(yīng)
用可以全部在C 語言環(huán)境中完成。
STM32 微控制器的推出標志著ST 公司在兩條產(chǎn)品主線(低價位主線和高性能主線)上邁出
了重大一步。STM32 最初發(fā)布時有14 個不同型號,分為兩個版本:最高CPU 時鐘為72MHZ
的“增強型”和最高CPU 時鐘為36MHZ 的“基本型”。這些不同STM32 型號里內(nèi)置的Flash 最
大可達128KB,SRAM 最大為20KB,在STM32 發(fā)布之初,配置更大Flash,RAM 和更復(fù)雜外設(shè)
的版本就已經(jīng)在規(guī)劃之中了。不管是什么版本,什么型號的STM32 器件,它們在引腳功能
和應(yīng)用軟件上是兼容的。這就使得開發(fā)人員在使用STM32 系列微控制器時,不必改動PCB
就可以根據(jù)需要隨意更換器件型號。
乍一看STM32 的設(shè)備配備,與往日熟悉的51 單片機倒有幾分相似。一般,STM32 都會配備

常見外設(shè),諸如多通道ADC,通用定時器,I2C 總線接口,SPI 總線接口,CAN 總線接口,USB
控制器,實時時鐘RTC 等。但是,它的每一個外部設(shè)備都具有獨特之處。例如,12 位精度
的ADC 具備多種轉(zhuǎn)換模式,并帶有一個內(nèi)部溫度傳感器,帶有雙ADC 的STM32 器件,還可
以使兩個ADC 同時工作,從而衍生出了更為高級的9 種轉(zhuǎn)換模式;STM32 的每一個定時器
都具備4 個捕獲比較單元,而且每個定時器都可以和另外的定時器聯(lián)合工作以生成更為精密
的時序;STM32 有專門為電機控制而設(shè)的高級定時器,帶有6 個死區(qū)時間可編程的PWM
出通道,同時其帶有的緊急制動通道可以在異常情況出現(xiàn)時,強迫PWM 信號輸出保持在一
個預(yù)訂好的安全狀態(tài);SPI 接口含有一個硬件CRC 單元,支持8 位字節(jié)和16 位半字數(shù)據(jù)的
CRC 計算。在對SD 或MMC 等存儲介質(zhì)進行數(shù)據(jù)存取時相當有用。
而且,STM32 還包含了7 個DMA 通道。沒惡搞通道都可以用來在設(shè)備與內(nèi)存之間進行8 位,
16 位,32 位數(shù)據(jù)的傳輸。每個設(shè)備都可以向DMA 控制器請求發(fā)送或者接收數(shù)據(jù)。STM32
內(nèi)部總線仲裁器和總線矩陣將CPU 數(shù)據(jù)接口和DMA 通道之間的連接大大的簡化了,這就意
味著DMA 通道單元是很靈活的其使用方法簡單,足以應(yīng)付微控制器應(yīng)用中常見的數(shù)據(jù)傳輸
要求。
我們前面說過了,STM32 是低功耗,高性能的微控制器。在低功耗方面,STM32 表現(xiàn)也是
不錯的。它可以在2V 供電的情況下運行,在所有設(shè)備同時打開且運行在滿速72MHZ 主頻的
情況下,也僅消耗36mA 的電流,在與Cortex-M3 內(nèi)核的低功耗模式結(jié)合之后,只有2uA 的
電流消耗。即便外部振蕩器處在待啟動狀態(tài),STM32 使用內(nèi)部8MHZ 的RC 振蕩器也可迅速
退出低功耗模式。這種快速進出低功耗模式的特性,也進一步降低了微控制器整體的功率消
耗,同時使微控制器仍然可以保持器件的整體高性能。
電子領(lǐng)域,對器件的要求精度高是一方面,另一方面,還要求器件穩(wěn)定性要好,處于可靠
性的考慮,STM32 配備了一系列硬件來支持對可靠性的高度要求。這些硬件有:一個低電
壓檢測器,一個時鐘安全管理系統(tǒng)和兩個看門狗定時器。時鐘管理系統(tǒng)可以檢測到外部主振
蕩器的失效,并隨即安全的將STM32 內(nèi)部8MHZ 的RC 振蕩器切換為主時鐘源。兩個看門狗
定時器中的一個稱為窗口看門狗。窗口看門狗必須在事先定義好的時間上下限到達之前刷新,
如果過早或過晚的刷新它,將會觸發(fā)窗口看門狗復(fù)位。第二個看門狗稱為獨立看門狗。獨立
看門狗使用外部振蕩器驅(qū)動,該振蕩器與主系統(tǒng)時鐘是相互獨立的,這樣即便STM32 的主
系統(tǒng)時鐘崩潰,獨立看門狗也能“力挽狂瀾”。
在現(xiàn)代電子設(shè)計行業(yè)中,有一個問題是無法逃避的,那就是你不得不想方設(shè)法提高代碼的安
全性以防止被破解人員盜用。聽師傅說,在極難得電子市場,復(fù)制一個芯片只需要幾分鐘。
STM32 可以鎖住其內(nèi)部Flash 使破解人員無法通過調(diào)試端口讀取其內(nèi)容。當Flash 的讀保護
功能開啟后,其寫保護功能也隨之開啟。寫保護功能常用于防止一些來歷不明的代碼寫入中
斷向量表。但是,寫保護不僅可以保護中斷向量表,還可以進一步將其保護范圍延伸到整個
Flash 中的未被使用區(qū)域。另外,STM32 還有一小塊電池備份RAM 區(qū),這個RAM 區(qū)域?qū)?yīng)
于一個入侵檢測引腳應(yīng)用,當這個引腳上產(chǎn)生電平變化時,STM32 會認為遭遇了入侵事件,
隨即自動將電池備份RAM 區(qū)的內(nèi)容全部清除。
目前好多開發(fā)工具都開始支持Thumb-2 指令集和STM32 系列,即使不支持也沒有關(guān)系,我

們只需要將軟件升級一下即可。同時,ST 公司還提供了一個設(shè)備驅(qū)動固件庫和一個USB 開
發(fā)應(yīng)用庫,以方便調(diào)用。對于STM32 來說,一些早期微控制器比如早期的STR7 和STR9 發(fā)
布的ANSI C 庫和源代碼都是可移植的。這些程序的接口已經(jīng)在許多流行的編譯工具上得到
了整合。相似的,許多開源的或者商用的RTOS,還有一些中間件(比如TCP/IP 棧,文件系
統(tǒng))對以STM32 系列微控制器來說也是可用的。
Cortex-M3 還帶有一個全新調(diào)試系統(tǒng)CoreSight。用戶可以使用標準的JTAG 接口或者雙線串
行接口通過調(diào)試端口(Debug Access Port)實現(xiàn)和CoreSight 系統(tǒng)的對接。除了提供調(diào)試運行
控制服務(wù)之外,STM32 上的CoreSight 還提供斷點數(shù)據(jù)查看功能以及一個指令跟蹤器。指令
跟蹤器可以將用戶選擇的應(yīng)用信息上傳到調(diào)試工具里。從而可以為用戶提供額外的調(diào)試信息,
并且它在軟件運行期間同樣可以使用。


“入門既不難,深造也是辦得到的”,只要你有恒心、有決心,跟隨我們的“連載”一步步走下去,將來就一定能在魅力的電子世界里遨游。
更多C語言 嵌入式學習,請咨詢余工Q 二八五九七八零二零三

沙發(fā)
發(fā)表于 2018-5-16 19:03:09 | 只看該作者
目前嵌入式技術(shù)涉及到生活的方方面面,也是未來發(fā)展的趨勢和潮流,有想要提升學習技術(shù)的同學聯(lián)系余老師咨詢啦
板凳
發(fā)表于 2018-7-1 16:55:41 | 只看該作者
信盈達嵌入式系統(tǒng)班開班通知
2018信盈達&嵌入式卓越工程師就業(yè)班開班通知
一、開課時間:2018年7月10號 20號
二、開課地點:南京、上海
全國中心:深圳/上海/南京/北京/濟南/南寧/鄭州/廣州等各中心
三、班級名額:每個班標準15-30人之間
四、時間:4個半月
五、核心課程:
第一階段:C語言高級編程+項目;3周
第二階段:ARM-Cortex-M4+項目;STM32F407;5-6周
第三階段:Linux高級驅(qū)動+項目;Cortex-A9/72;8周
第四階段:Python+人工智能或C++.QT+項目;贈送課程
第五階段:就業(yè)指導
聯(lián)系人:余老師Tel:17361887973/QQ2859780203
全國各中心同步開班
地板
發(fā)表于 2018-7-18 15:11:08 | 只看該作者
地下室
發(fā)表于 2018-7-19 17:51:25 | 只看該作者
6
發(fā)表于 2018-7-28 17:32:28 | 只看該作者
7
發(fā)表于 2018-8-13 14:33:52 | 只看該作者
信盈達南京中心 8月嵌入式新班多多 歡迎前來免費試聽  Tel173~61~88~79~73
8
發(fā)表于 2018-8-15 15:21:10 | 只看該作者
9
發(fā)表于 2018-8-20 10:24:47 | 只看該作者
以下課程可免費試聽C語言、電子、PCB、STM32、Linux、FPGA、JAVA、安卓、python等。
想學習的你和我聯(lián)系預(yù)約就可以免費聽課了。
余工企鵝號:28--59-78--02-03 Tel/WX:173--61--88--79--73
10
發(fā)表于 2018-8-27 16:47:05 | 只看該作者
11
發(fā)表于 2018-9-5 14:50:23 | 只看該作者
如果沒有嵌入式技術(shù)這個世界會怎樣?
嵌入式可以說已經(jīng)涉及到咱們生活的方方面面了~
由此可見,未來嵌入式的發(fā)展前景和就業(yè)前景也是非常好的
學門技術(shù)選擇嵌入式?jīng)]錯的選擇
更多嵌入式學習咨詢余工企鵝號 28~59~78~02~03 Tel173~61~88~79~73
12
發(fā)表于 2018-10-24 16:44:47 | 只看該作者
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表