STM32F4是由ST(意法半導(dǎo)體)開發(fā)的一種高性能微控制器。其采用了90 納米的NVM 工藝和ART(自適應(yīng)實(shí)時(shí)存儲(chǔ)器加速器,Adaptive Real-Time MemoryAccelerator?)。
簡介:
ST(意法半導(dǎo)體)推出了以基于ARM® Cortex?-M4為內(nèi)核的STM32F4系列高性能微控制器,其采用了90 納米的NVM 工藝和ART(自適應(yīng)實(shí)時(shí)存儲(chǔ)器加速器,Adaptive Real-Time MemoryAccelerator?)。
ART技術(shù)使得程序零等待執(zhí)行,提升了程序執(zhí)行的效率,將Cortext-M4的性能發(fā)揮到了極致,
使得STM32 F4系列可達(dá)到210DMIPS@168MHz。
自適應(yīng)實(shí)時(shí)加速器能夠完全釋放Cortex-M4 內(nèi)核的性能;當(dāng)CPU 工作于所有允許的頻率(≤168MHz)時(shí),在閃存中運(yùn)行的程序,可以達(dá)到相當(dāng)于零等待周期的性能。
STM32F4系列微控制器集成了單周期DSP指令和FPU(floating point unit,浮點(diǎn)單元),提升
了計(jì)算能力,可以進(jìn)行一些復(fù)雜的計(jì)算和控制。
STM32 F4系列引腳和軟件兼容于當(dāng)前的STM32 F2系列產(chǎn)品。
優(yōu)點(diǎn)
※兼容于STM32F2系列產(chǎn)品,便于ST的用戶擴(kuò)展或升級產(chǎn)品,而保持硬件的兼容能力。
※集成了新的DSP和FPU指令,168MHz的高速性能使得數(shù)字信號控制器應(yīng)用和快速的產(chǎn)品開發(fā)達(dá)到了新的水平。提升控制算法的執(zhí)行速度和代碼效率。
※先進(jìn)技術(shù)和工藝
- 存儲(chǔ)器加速器:自適應(yīng)實(shí)時(shí)加速器(ART Accelerator? )
- 多重AHB總線矩陣和多通道DMA:支持程序執(zhí)行和數(shù)據(jù)傳輸并行處理,數(shù)據(jù)傳輸速率非常快
- 90nm工藝
※高性能
- 210DMIPS@168MHz
- 由于采用了ST的ART加速器,程序從FLASH運(yùn)行相當(dāng)于0等待更多的存儲(chǔ)器
- 多達(dá)1MB FLASH (將來ST計(jì)劃推出2MB FLASH的STM32F4)
- 192Kb SRAM:128KB 在總線矩陣上,64KB在專為CPU使用的數(shù)據(jù)總線上高級外設(shè)與STM32F2兼容
- USB OTG高速 480Mbit/s
- IEEE1588, 以太網(wǎng) MAC 10/100
- PWM高速定時(shí)器:168MHz最大頻率
- 加密/哈希硬件處理器:32位隨機(jī)數(shù)發(fā)生器(RNG)
- 帶有日歷功能的32位RTC:<1 μA的實(shí)時(shí)時(shí)鐘,1秒精度
※更多的提升
- 低電壓:1.8V到3.6V VDD,在某些封裝上,可降低至1.7V
- 全雙工I2S
- 12位 ADC:0.41us轉(zhuǎn)換/2.4Msps(7.2Msps在交替模式)
- 高速USART,可達(dá)10.5Mbits/s
- 高速SPI,可達(dá)37.5Mbits/s
- Camera接口,可達(dá)54M字節(jié)/s
STM32的學(xué)習(xí)與ARM9的學(xué)習(xí)有一個(gè)很大的區(qū)別。
ARM9的學(xué)習(xí)一般是需要購買書籍的。比如三星的S3C2440,官方的文檔都是英文的,大部分工程師只能去看國內(nèi)出版的書籍。
英文好的同學(xué),請不要以為你很牛,可以只看英文文檔。畢竟你是中國人,你最熟悉的,理解最好的還是中文。
看英文的速度還是比看中文慢一些,我們要的是最短的時(shí)間,而不是追求短時(shí)間內(nèi)記住所有細(xì)節(jié)。當(dāng)然,如果是一篇論文,建議看英文原版還是有好處的。
STM32處理器進(jìn)入國內(nèi)市場時(shí)候,ST官方(或者第三方)的推廣工作做的非常好。翻譯了大量的英文文檔,迎合了國內(nèi)的很多工程師的思維。
所以現(xiàn)在大部分STM32F103xxx的用戶datasheet都有中文版。因此可以不用去購買書籍,看電子檔即可。
當(dāng)然,有雄厚經(jīng)濟(jì)條件的朋友可以購買本書籍哈~ 學(xué)習(xí)的時(shí)候,關(guān)注兩個(gè)比較重要的文檔:《STM32F103xxx參考手冊》,《STM32固件庫使用手冊》。ST官方的所有中英文文檔,在ST的中國大陸區(qū)網(wǎng)站可以下載到:.cn/stonline/mcu/MCU_Pages.htm 該網(wǎng)址,是針對有充足的時(shí)間、精力的同學(xué),建議去下載需要查閱的文檔,以獲取更多信息。
閱讀《STM32F103xxx參考手冊》,一定要注意,不需要全部閱讀—— 沒有時(shí)間的。建議選讀,但是前幾章必讀。
存儲(chǔ)器和總線架構(gòu)、電源控制、備份寄存器、復(fù)位和時(shí)鐘控制,通用和復(fù)用功能I/O,中斷和時(shí)間等等前幾章一定要花時(shí)間閱讀。后面章節(jié),講述的是具體的功能模塊設(shè)計(jì)。
如果我們用到哪個(gè)模塊,就可以去閱讀哪個(gè)模塊。比如在使用AD的時(shí)候,就需要去閱讀第10章 ADC。
其他不舉例。相信每個(gè)初學(xué)者都有自己的研究方向和判斷。
閱讀《STM32固件庫使用手冊》,主要是為了簡化編程。STM32給我們提供了一個(gè)非常好的固件函數(shù)庫,我們只要去調(diào)用即可。
當(dāng)然,我們也可以不去碰這些固件庫 —— 傳說使用它會(huì)使得代碼效率變低,是有道理的。網(wǎng)絡(luò)上也出現(xiàn)了很多網(wǎng)友自己寫的代碼,沒有使用帶固件庫函數(shù)。
如何取舍,在于您的選擇。這里我主要強(qiáng)調(diào)的是,閱讀《STM32固件庫使用手冊》的時(shí)候,前面幾章也是必須閱讀的。
比如第一章文檔和庫規(guī)范 中的命名規(guī)則,編碼規(guī)則,這些都是需要注意的。第二章是最關(guān)鍵的,希望大家熟讀。
第二章描述了固件庫的架構(gòu),我們?nèi)绾稳ナ褂霉碳斓牟襟E等。有了第二章的基礎(chǔ),我們就可以借助固件庫寫出自己的代碼了。
第四章開始之后,就可以根據(jù)大家的需要來閱讀。實(shí)際上,后續(xù)的章節(jié),都是描述某個(gè)模塊有什么什么函數(shù),每個(gè)函數(shù)如何使用等。
關(guān)于后面的章節(jié),建議對GPIO庫函數(shù)、中斷部分庫函數(shù)、復(fù)位和時(shí)鐘設(shè)置的庫函數(shù)要比較熟悉,因?yàn)槠綍r(shí)經(jīng)常會(huì)用到。以上提到的這兩個(gè)文檔,已經(jīng)足夠您看的了,呵呵。
希望您能從中獲取大量的STM32基礎(chǔ)知識(shí)。3.2 30天上手STM32計(jì)劃 (1)這里所謂的“上手”,指的是能理解并掌握一些常用的STM32外設(shè),真正想掌握一款處理器,30天根本說明不了什么問題。
只能說,你已經(jīng)入門了。但是,這對我們初學(xué)者來說已經(jīng)足夠了。
(2)這里所謂的“30天”,根據(jù)每個(gè)人的時(shí)間安排不同而不同。如果您每天有充足的時(shí)間學(xué)習(xí),那么可以規(guī)定自己盡快地能獨(dú)立地進(jìn)行簡單的STM32開發(fā)。
如果您每天只有業(yè)余時(shí)間來學(xué)習(xí)STM32,建議根據(jù)您的具體情況安排時(shí)間。畢竟計(jì)劃時(shí)間如果安排太緊,反而收不到良好的效果,只能進(jìn)入惡性循環(huán),這是我們要避免的。
但是建議,不管您有無充足的時(shí)間,都必須給自己做一個(gè)計(jì)劃??!我這里列出一個(gè)思路,僅供參考。步驟一,安裝完STM32學(xué)習(xí)的軟件,比如J-Link、Keil for ARM(MDK)、ISP(如果需要從串口下載的話)。
這些軟件安裝的詳細(xì)步驟,可以參考我們推出的相應(yīng)教程進(jìn)行。步驟二,挑選部分例程的HEX,比如LED燈的例程HEX文件,下載到芯達(dá)STM32開發(fā)板中,觀察兩個(gè)LED燈的閃爍情況。
這部分的操作,可以參考我們推出的相應(yīng)的教程進(jìn)行。實(shí)際上,以上兩個(gè)步驟,是為了熟悉要使用的工具軟件而已。
屬于找感覺的階段。其實(shí)我們還沒開始STM32的學(xué)習(xí)呢!步驟三,準(zhǔn)備幾個(gè)常用的文檔,比如《STM32的用戶手冊》,《STM32固件庫使用手冊》等文檔。
用于平時(shí)查閱。這些文檔,在光盤中的芯片手冊目錄中均可找到。
步驟四,開始查看例程的編寫,看看例程是如何寫的,自己可否修改下例程,達(dá)到自己想要的效果呢?芯達(dá)STM32開發(fā)板的光盤中為大家提供了豐富的例程代碼,可以參考。您一定可以修改出更精彩的例程!步驟五,Ucos-II的移植,是否需要試一下?恭喜你,至此,你已經(jīng)可以自如進(jìn)行獨(dú)立的開發(fā)了。
最后一步,給自己一個(gè)目標(biāo)(項(xiàng)目),把它實(shí)現(xiàn)出來。
我的一些體會(huì):
首先,關(guān)于STM32入門,這個(gè)可能需要的是指導(dǎo)教程和技術(shù)論文。說實(shí)話STM32并不難,因?yàn)槟憧梢园阉?dāng)做單片機(jī)來用,至少不會(huì)讓你覺得入門很難的,具體的,你可以買個(gè)開發(fā)板,現(xiàn)在開發(fā)板市場上多的是,買個(gè)口碑好的,然后根據(jù)例程,再找個(gè)論壇或?qū)n}站就完全可以解決。
其次,具體一點(diǎn)話,要學(xué)習(xí)STM32,第一步可能要理解系統(tǒng)時(shí)鐘,因?yàn)椴还苣阋玫饺魏纹瑑?nèi)外設(shè)或者是IO口什么的,首先第一步就是要初始化時(shí)鐘.至于內(nèi)部寄存器,說實(shí)話,確實(shí)很多,不過你用到某一塊,在看那一塊的寄存器,這樣更有針對性.
總的思路:時(shí)鐘, == > GPIO, ==>; 定時(shí)器, == 》 usart模塊,這樣在熟悉這些基礎(chǔ)上,慢慢添加或開發(fā)其他模塊的操作 , 至于資料, 芯片手冊,和STM32官方提供的固件庫使用手冊就OK了.
固件庫呢,就是給你提供了函數(shù),然后你就不用去研究它的寄存器了,通過那些函數(shù)就可以直接對STM32進(jìn)行操作了,但是工作效率嘛,肯定是偏低了,不過剛學(xué)的時(shí)候可以參考一下,通過固件庫函數(shù)來對STM32進(jìn)行理解.
你這種情況我當(dāng)初自學(xué)單片機(jī)的時(shí)候也遇到過,不知道從何下手,似乎哪里都是重點(diǎn)卻哪里都是釘子。
我的解決辦法就是把這些文檔、手冊先放一邊,跟著教程一步一步去動(dòng)手寫動(dòng)手做,教程里怎么做自己就怎么做。從最簡單的配置啟動(dòng)文件和點(diǎn)燈開始,千萬不要眼高手低,即使再簡單的事例即使看懂了真自己去做的時(shí)候那種感覺和帶來的認(rèn)識(shí)也是完全不一樣的。
在學(xué)習(xí)初期,除了啟動(dòng)配置庫里的代碼,自己程序里的主代碼最好自己寫一遍,哪怕是照著打也最好不要直接復(fù)制粘貼。實(shí)踐過程中遇到不懂語句或者電路去再去查閱手冊和資料,盡量自己解決,查的過程中注意不要看一直看起來沒完舍本求末也不要貪大求全,看到解決了問題為止就再把手冊放一邊。
平時(shí)有空可以看看那幾個(gè)常用手冊的目錄,對大體內(nèi)容有個(gè)了解,方便遇到問題時(shí)查找。建議學(xué)的過程中做筆記,把自己的理解和經(jīng)驗(yàn)記錄下來,記在數(shù)據(jù)手冊的margin上也行,記在專門的本子上也行,這個(gè)看自己怎么習(xí)慣怎么來,兩種方法各有優(yōu)點(diǎn)一般互相結(jié)合,這部分學(xué)習(xí)中的積累在未來將是你的巨大財(cái)富。
關(guān)于視頻,網(wǎng)上傳的比較多的講的都挺好譬如野火的、青島李想的等等,沒有誰的一定最好一說,適合自己的就是最好的。STM32教程有兩種,一種是基于對寄存器操作,另一種是基于函數(shù)庫的直接使用。
如果你有單片機(jī)基礎(chǔ),并且想以此為職業(yè),推薦從寄存器操作學(xué)起,然后在學(xué)函數(shù)庫,有基礎(chǔ)學(xué)這部分很快,跟51、avr沒多大差別,就是寄存器多、位數(shù)多、功能多而已。如果你剛?cè)雴纹瑱C(jī),推薦從函數(shù)庫的使用學(xué)起,等到學(xué)的差不多再慢慢了解寄存器的相關(guān)知識(shí)和操作。
最后一句話概括就是:千里之行始于足下。
STM32 F4系列包括五條互相兼容的數(shù)字信號控制器(DSC)產(chǎn)品線,是MCU實(shí)時(shí)控制功能與DSP信號處理功能的完美結(jié)合體。
· STM32F401–84 MHz CPU/105 DMIPS,尺寸最小、成本最-低的解決方案,具有卓越的功耗效率 · STM32F405/415–168 MHz CPU/210 DMIPS,高達(dá)1MB、具有先進(jìn)連接功能和加密功能的Flash存儲(chǔ)器 · STM32F407/417–168 MHz CPU/210 DMIPS,高達(dá)1MB的閃存(Flash),增加了以太網(wǎng)MAC和照相機(jī)接口 · STM32F427/437–180 MHz CPU/225 DMIPS,高達(dá)2MB的雙區(qū)閃存,具有SDRAM接口、Chrom-ART加速器?、串行音頻接口,性能更高,靜態(tài)功耗更低 · STM32F429/439–180 MHz CPU/225 DMIPS,高達(dá)2MB的雙區(qū)閃存,增加了LCD-TFT控制器 。
聲明:本網(wǎng)站尊重并保護(hù)知識(shí)產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請?jiān)谝粋€(gè)月內(nèi)通知我們,我們會(huì)及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁面生成時(shí)間:2.660秒