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