從繁至簡(jiǎn),顛覆傳統(tǒng)設(shè)計(jì)的云端開發(fā)——極具性價(jià)比的STM32F401 Nucleo開發(fā)板評(píng)測(cè)
曾聽一位前輩說(shuō)過,在電子產(chǎn)業(yè),原地踏步或是前行緩慢,實(shí)則是在退步,非常危險(xiǎn)。如今看來(lái),確實(shí)如此,摩托羅拉、諾基亞移動(dòng)等都成了生動(dòng)的例子。而作為更新周期較快的嵌入式半導(dǎo)體行業(yè),競(jìng)爭(zhēng)同樣激烈,前有Atmel 推出的Xplained Pro平臺(tái)生態(tài)圈,現(xiàn)又出現(xiàn)了意法半導(dǎo)體的Nucleo系列板卡。
Nucleo是意法半導(dǎo)體加入ARM embed項(xiàng)目后的又一個(gè)風(fēng)格系列板卡,有兩個(gè)鮮明的特點(diǎn):1.兼容Arduino UNO R3 Shield擴(kuò)展板、2. 支持ARM embed項(xiàng)目。或許有人會(huì)有疑問,什么是ARM embed項(xiàng)目?mbed是一個(gè)面向ARM Cortex-M系列處理器的原型開發(fā)平臺(tái),主要用于培育物聯(lián)網(wǎng)(IoT)的協(xié)作項(xiàng)目,包括了免費(fèi)的軟件庫(kù)(SDK),硬件參考設(shè)計(jì)(HDK)和在線工具(Web)三部分,為用戶提供簡(jiǎn)單、方便快捷的基于ARM Cortex-M處理器的MCU開發(fā)、調(diào)試等操作。最近,也拿到了一款由貿(mào)澤電子提供的基于ARM Cortex-M4處理器的意法半導(dǎo)體Nucleo系列板卡——STM32F401 Nucleo,這是意法半導(dǎo)體不久前才推出的板卡,在驚嘆于貿(mào)澤電子能第一時(shí)間拿到貨源的同時(shí)也非常感謝貿(mào)澤電子將板子提供評(píng)測(cè),讓廣大網(wǎng)友第一時(shí)間體驗(yàn)ST的最新板卡。
STM32F401 Nucleo開發(fā)板
拿到STM32F401 Nucleo開發(fā)板第一感覺就是“改變了”,變好看了,同樣是STM32F系列板卡的包裝,但是板卡不再是最常見的綠色PCB板,這是一塊精致小巧的乳白色板卡,讓人過目不忘,在包裝盒上板卡的特點(diǎn)介紹中我們還能看到特別標(biāo)注的mbed-enabled功能。
STM32F401 Nucleo開發(fā)板
從包裝中取出板卡,精致小巧,僅有成人的巴掌那般大小。板卡布局也一目了然,被很好的分為微控制器部分以及調(diào)試器部分,下面一起先了解下STM32F401 Nucleo板卡主要有哪些特點(diǎn)。
STM32F401 Nucleo開發(fā)板正面
STM32F401 Nucleo開發(fā)板反面
STM32F401 Nucleo開發(fā)板擴(kuò)展IO接口定義圖
STM32F401 Nucleo開發(fā)板硬件原理框圖
STM32F401RET6微控制器,基于ARM Cortex-M4處理器,帶DSP,最高支持84MHz主頻
支持Arduino UNO R3 Shield擴(kuò)展板,微控制器所有IO口引腳通過排針座引出
ST-LINK/V2-1調(diào)試器,支持對(duì)外部微控制器調(diào)試
3個(gè)LED:一個(gè)USB通訊LED、一個(gè)電源LED、一個(gè)用戶LED;兩個(gè)機(jī)械按鍵:復(fù)位、用戶
USB接口的3個(gè)不同功能:虛擬串口、容量存儲(chǔ)、調(diào)試接口
3種不同供電方式:mini USB接口供電、IO引腳用電、通過Arduino UNO R3 Shield接口供電
支持Keil、IAR、embed在線IDE的設(shè)計(jì)工具
帶FPU單元的微控制器STM32F401RE
STM32F401 Nucleo開發(fā)板包含了STM32F系列板卡慣有的機(jī)械按鍵、LED指示燈、mini USB調(diào)試接口,眾多IO口外設(shè)通過排針座引出等功能,除此之外,也有與眾不同之處,如兼容Arduino Shield接口,并且可以通過Arduino Shield擴(kuò)展接口給板卡供電,板卡搭載了STM32F401RET6核心微控制器,基于32位的高性能ARM Cortex-M4處理器,帶FPU單元,最高能支持84MHz主頻,見下圖。
STM32F401RET6微控制器
STM32F401RET6微控制器硬件框圖
STM32F401RET6微控制器采用了1.7V~3.6V供電,集成了512KB Flash以及96KB SRAM,最大可支持?jǐn)U展50個(gè)GPIO口,集成USB OTG功能,定時(shí)器*8、SPI*3、I2S*2、I2C*3、USART*3、SDIO*1、12位ADC*1等,更具有意法半導(dǎo)體獨(dú)有的自適應(yīng)實(shí)時(shí)(ART)加速器,可以實(shí)現(xiàn)從512KB片上閃存執(zhí)行代碼零等待狀態(tài),這在愛板網(wǎng)先前評(píng)測(cè)的STM32F429I Discovery開發(fā)板的STM32F429ZIT6U微控制器中也有介紹,功能也是一樣的。
與STM32F429ZIT6U微控制器相比,MCU STM32F401RET6雖然基于同樣的M4處理器,但是無(wú)論是功能或者性能都有不少的差距,而且面向的領(lǐng)域不同。如果細(xì)細(xì)觀察則能發(fā)現(xiàn)其功能與愛板網(wǎng)評(píng)測(cè)過的Atmel SAMG53-XPRO板卡中的微控制器特點(diǎn)類似,同樣是面向傳感器集線器類的應(yīng)用。
STM32F429ZIT6U微控制器傳感器集線器應(yīng)用
當(dāng)然,除此之外STM32F401RE微控制器同樣可以適用于其他不同的應(yīng)用領(lǐng)域,如管理醫(yī)療和移動(dòng)應(yīng)用或現(xiàn)場(chǎng)總線驅(qū)動(dòng)的工業(yè)傳感器模塊等領(lǐng)域。
STM32F401 Nucleo開發(fā)板上電使用
事實(shí)上,STM32F401 Nucleo開發(fā)板的硬件組成確實(shí)很簡(jiǎn)潔,在基本了解其硬件原理后我們?cè)囍想妴?dòng)玩玩。首先,老規(guī)矩,自己準(zhǔn)備一根miniUSB線,連接電腦上電啟動(dòng)。上電后,可以看到首先USB通訊LED點(diǎn)亮,其次電源LED點(diǎn)亮,緊接著,黃色用戶LED閃爍,此時(shí)按一下板卡上的用戶機(jī)械按鍵,用戶LED切換閃爍頻率,這是開發(fā)板自帶的出廠程序功能。
STM32F401 Nucleo開發(fā)板上電啟動(dòng)
同時(shí),電腦上會(huì)提示安裝驅(qū)動(dòng),主要是虛擬串口及ST-LINK的驅(qū)動(dòng),先不管放一邊,打開電腦上的計(jì)算機(jī)硬盤分配空間,發(fā)現(xiàn)多出一個(gè)可用空間為512KB 的Nucleo的盤符。
開發(fā)板內(nèi)置528KB 存儲(chǔ)
Flash中的文件內(nèi)容
點(diǎn)擊進(jìn)入后發(fā)現(xiàn)有一個(gè)網(wǎng)頁(yè)鏈接以及一些系統(tǒng)文件(隱藏的)。此時(shí)可以打開網(wǎng)頁(yè)鏈接圖標(biāo),網(wǎng)頁(yè)鏈接指向的地址為ST Nucleo F401RE開發(fā)板的資料站,即STM32F401 Nucleo開發(fā)板,包括板卡基本資料信息、在線IDE工具,討論區(qū)等,要確保完美的使用這些功能,我們首先需要做的是注冊(cè)一個(gè)賬號(hào),這個(gè)賬號(hào)也就是你在開發(fā)STM32F401 Nucleo板卡時(shí)候的云端賬號(hào),可以保存你的云端資料信息及代碼開發(fā)等情況,非常重要。
注冊(cè)mbed通行證
注冊(cè)完賬號(hào)就可以盡情享用STM32F401 Nucleo開發(fā)板了,在網(wǎng)頁(yè)下面可以看到此時(shí)板卡的固件可以更新,點(diǎn)擊下載最新的V2.J20.M4固件。
STM32F401 Nucleo開發(fā)板V2.J20.M4固件
更新固件需要通過USB通訊接口,所以我們要安裝之前未安裝的驅(qū)動(dòng),在ST官方資料庫(kù)中下載STM32F401 Nucleo開發(fā)板的USB驅(qū)動(dòng)。下載的壓縮包中包含了32位系統(tǒng)以及64位系統(tǒng)不同的驅(qū)動(dòng),根據(jù)自己電腦的系統(tǒng)信息安裝對(duì)應(yīng)的驅(qū)動(dòng)文件。
STM32F401 Nucleo開發(fā)板資料
STM32F401 Nucleo開發(fā)板驅(qū)動(dòng)
安裝完USB驅(qū)動(dòng)文件后,我們就能通過USB通訊接口更新固件,打開固件更新程序
STM32F401 Nucleo開發(fā)板更新固件
STM32F401 Nucleo開發(fā)板固件更新完成
更新完固件,那就是萬(wàn)事具備了,此時(shí)我們可以暢享在線IDE設(shè)計(jì)工具mbed,見下圖。
打開mbed在線IDE設(shè)計(jì)工具
mbed編譯器打開的速度取決于你的網(wǎng)速,打開后可以選擇相應(yīng)的例程或是新建例程,選擇完成點(diǎn)擊OK。
mbed編譯器界面
正式進(jìn)入到mbed編譯器界面,非常簡(jiǎn)潔,筆者以剛選的PWM例程實(shí)際體驗(yàn)了一把,點(diǎn)擊編譯后,編程生成的bin會(huì)自動(dòng)下載到電腦上,見下圖。
編譯下載bin文件
然后呢?這是要如何將bin文件燒錄到開發(fā)板中?超級(jí)簡(jiǎn)單,找到剛下載好的bin文件,直接復(fù)制或者拖動(dòng)到STM32F401 Nucleo開發(fā)板的存儲(chǔ)中(一開始介紹的512KB Flash),復(fù)位一下板卡就自動(dòng)運(yùn)行程序了,若是要更換其他例程,只需將你所需求的bin文件再次拖進(jìn)Nucleo開發(fā)板的盤符中就行了,它會(huì)自動(dòng)覆蓋原程序。
接著筆者又試了下開發(fā)板的串口程序,編譯->復(fù)制進(jìn)U盤->打開串口工具,設(shè)置9600波特率,正常輸出數(shù)據(jù)。
STM32F401 Nucleo串口程序代碼
相對(duì)于目前常用的Keil、IAR等軟件mbed要方面多了,首先,不需要下載安裝軟件,其次,一個(gè)賬號(hào)足以,無(wú)論何時(shí)何地只有有網(wǎng)絡(luò)就可以進(jìn)行在線設(shè)計(jì)開發(fā)。不過mbed在實(shí)際使用中也存在一些不足,而且可以說(shuō)是硬傷,mbed僅僅適用于代碼的編寫以及編譯下載操作,無(wú)法執(zhí)行調(diào)試,對(duì)于簡(jiǎn)單的代碼程序還好,對(duì)于復(fù)雜的代碼程序在調(diào)試時(shí)無(wú)疑是不足的,如果需要更深入的分析軟件程序運(yùn)行還是需要用到Keil、IAR等專業(yè)的IDE設(shè)計(jì)工具中的調(diào)試功能。
不過由于STM32F401 Nucleo開發(fā)板剛出來(lái)不久,需要使用Keil、IAR等軟件調(diào)試功能的朋友最好還是下載最新的IDE設(shè)計(jì)工具(老版本的IDE設(shè)計(jì)工具可能找不到此微控制器的庫(kù)文件),筆者這里使用的是Keil 5版本,STM32F401 Nucleo開發(fā)板的例程可以在ST的官方資料庫(kù)中找到。
Keil 5例程
通過keil軟件調(diào)試
通過對(duì)STM32F401 Nucleo開發(fā)板的使用,我們感受到了一種全新的設(shè)計(jì)體驗(yàn),方便好用的云端設(shè)計(jì),一個(gè)賬號(hào),一臺(tái)可以聯(lián)網(wǎng)的電腦,即可在不同的沒有安裝專業(yè)的IDE設(shè)計(jì)工具的電腦上執(zhí)行代碼編譯、下載等操作。不過在方便的同時(shí)也存在了不少令人擔(dān)憂的隱患,如云端賬號(hào)的問題,假設(shè)一個(gè)公司或者企業(yè)的重要項(xiàng)目,在云端開發(fā)真適合嗎?最近小米論壇800萬(wàn)用戶數(shù)據(jù)的泄密不得不讓人們重視這個(gè)問題,而這也是筆者無(wú)法下定論的,可能就是個(gè)仁者見仁智者見智的問題。
小結(jié)
體驗(yàn)了意法半導(dǎo)體全新系列的STM32F401 Nucleo開發(fā)板,精致小巧乳白色外觀,帶FPU單元、功能性能強(qiáng)大的STM32F401RE微控制器,板卡兼容Arduino Shield、支持ARM mbed在線編譯器,方便的U盤式下載程序,讓人們耳目一新,這對(duì)于喜歡簡(jiǎn)單、喜歡嘗鮮的朋友是個(gè)非常不錯(cuò)的選擇,況且,STM32F401 Nucleo開發(fā)板目前在貿(mào)澤電子僅有 68 RMB的報(bào)價(jià),極具性價(jià)比,有需要的朋友可以去看看。