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