![基于keil5 IDE 和mbed云IDE 的stm32F072 nucleo開發(fā)方式初探_第1頁](http://file4.renrendoc.com/view/8ab4725494b396495db6d1e1bde525e5/8ab4725494b396495db6d1e1bde525e51.gif)
![基于keil5 IDE 和mbed云IDE 的stm32F072 nucleo開發(fā)方式初探_第2頁](http://file4.renrendoc.com/view/8ab4725494b396495db6d1e1bde525e5/8ab4725494b396495db6d1e1bde525e52.gif)
![基于keil5 IDE 和mbed云IDE 的stm32F072 nucleo開發(fā)方式初探_第3頁](http://file4.renrendoc.com/view/8ab4725494b396495db6d1e1bde525e5/8ab4725494b396495db6d1e1bde525e53.gif)
![基于keil5 IDE 和mbed云IDE 的stm32F072 nucleo開發(fā)方式初探_第4頁](http://file4.renrendoc.com/view/8ab4725494b396495db6d1e1bde525e5/8ab4725494b396495db6d1e1bde525e54.gif)
![基于keil5 IDE 和mbed云IDE 的stm32F072 nucleo開發(fā)方式初探_第5頁](http://file4.renrendoc.com/view/8ab4725494b396495db6d1e1bde525e5/8ab4725494b396495db6d1e1bde525e55.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于keil5,STM32CubmeMx以及mbed云IDE的stm32F072Nucleo開發(fā)方式初探一前言:2014年3月5日——橫跨多重電子應(yīng)用領(lǐng)域、全球領(lǐng)先的半導(dǎo)體供應(yīng)商、全球領(lǐng)先的ARM?Cortex?-M微控制器廠商意法半導(dǎo)體(STMicroelectronics,簡稱ST;紐約證券交易所代碼:STM)進一步強化STM32系列微控制器的易用性和設(shè)計靈活性,開始推出推出適用于STM32全系產(chǎn)品的經(jīng)濟型且易于擴展的原型開發(fā)板。 圖1STM32Nucleo系列開發(fā)平臺經(jīng)過2014年的持續(xù)開發(fā),目前nucleo系列共有9款板卡:圖2Nucleo家族圖譜從圖2中,可以看出,到目前為止,Nucleo系列已經(jīng)擁有9款板卡,支持的器件和內(nèi)核有M0,M0+,M3,M4,整個板卡唯一的區(qū)別就是MCU不同,但是所有的MCU都是可以直接PIN-2-PIN替換,從芯片的命名規(guī)則可以看出他們都是xxxRx,也就是說都是LQFP-64封裝的片子.以筆者掌握的三款開發(fā)板為例,圖3中,是三款比較典型的Nucleo系列板卡,分別是:STM32L053Nucleo--M0+低功耗系列;STM32F072Nucleo--M0系列mcu,今天的評測主角,后面詳細介紹;STM32F302Nucleo--M4系列mcu,代表了性能,但是低功耗表現(xiàn)也不俗, 圖3三款代表性的Nucleo系列L053F072F302從外觀看,沒有區(qū)別,但是圖4的紙板說明書上的氣球顏色代表了他們的不同:-綠色: 表面?zhèn)戎赜诘凸?一般是L系列,L0x,L1x;-黃色: 介于主流與低功耗之間,這說的就是F0x系列;-藍紫色: 顏色描述不準確,可以對照圖5的Nucleo圖表,是介于主流和高性能之間的.這說的就是STM32F302Nucleo和STM32F3334Nucleo,再往上就是411和401的高性能系列了.本人暫時沒有拿到這兩個版本. 圖4Nucleo開發(fā)板的紙板說明書圖5Nucleo系列開發(fā)板家族顏色性能分配.二,Nucleo系列開發(fā)板支持arduino和自家的Morpho標準接口.2.1Arduino兼容引腳(Arduino-compatibleHeaders):2.2ST自家的Morpho(MorphoHeaders-GivingaccesstoallSTM32pins),可以訪問所有的STM32引腳:注意:只是輸出引腳兼容,開發(fā)的時候貌似只能通過mbedide(網(wǎng)站)來開發(fā),而不能通過標準的arduinoide來進行開發(fā).在arduino的最新ide下沒有找到對應(yīng)的板卡.而且奇怪的這個剛剛推出的STM32F072Nucleo開發(fā)板,居然把支持arduino和Morpho的接口圖示去掉了.大家仔細看下圖,引腳圖為空白,而且旁邊的文字說明中也不再提到這2種接口,而是直接以mbedenabled來提示,難道是ARM旨在物聯(lián)網(wǎng)和標準板卡上有意打造自己的品牌辨識度.圖紙卡說明三Nucleo系列開發(fā)板軟件開發(fā)工具相對于硬件的規(guī)范性,開放性,甚至是免費硬件提供,工程師更多的精力是投入在軟件開發(fā)上,為了最大程度的提供軟件的通用性,可移植性,降低平臺遷移或者mcu更換帶來的開銷,ST為我們提供了非常好的最新支持.ST(意法半導(dǎo)體)Nucleo系列開發(fā)板支持眾多主流IDE開發(fā):IAR、Keil、ARMMbed云IDE、GCC-basedIDEs(AtollicTrueStudio,CooCox)等,Keil作為ARM自家產(chǎn)品,自然是工程師首選,也為8bitMCU,51的工程師轉(zhuǎn)至ARMcortexM開發(fā)平臺提供便利。以上常用的開發(fā)平臺的版本(支持nucleo開發(fā)板時)要求如下:?EWARMv7.10.3orlater(a)–30-dayevaluationedition–32KBLimitedQuickStartedition(16KBLimitationforCortexM0)?MDK-ARMv5.01orlater–MDK-Lite(32KBCodesizelimitation)?TrueSTUDIOv5orlater(b)–32KBLimitation(8KBforCortex-M0)Information以上IDE用來做編譯調(diào)試軟件,強大好用。不過在沒有復(fù)雜調(diào)試環(huán)節(jié)下,Nucleo系類開發(fā)板還可以通過在線方便的Embed設(shè)計工具來實現(xiàn)程序編譯下載,只需聯(lián)網(wǎng)即可實現(xiàn)輕松操作,網(wǎng)友上次搞Nucleo302開發(fā)板活動的時候,相信很多網(wǎng)友已經(jīng)嘗試過了,不再花大篇幅贅述,主要流程如下:預(yù)備動作1: 一般是Nucleo開發(fā)板是出廠自帶的了mbed功能呢,第一次插上我們電腦的時候,必須為他安裝正確的驅(qū)動,否則會顯示st-linknotintalled或者communicationerror字樣,這時候,我們就需要安裝win7或者xp對應(yīng)的st-linkV2-1的驅(qū)動;在這里下載:1,STM32Nucleo板上集成的ST-Link/V2-1在Win7,8的PC端USB驅(qū)動-/media/download/index/id-2063452,STM32Nucleo板上集成的ST-Link/V2-1在WinXP的PC端USB驅(qū)動-/media/download/index/id-206346
圖6-1驅(qū)動下載.預(yù)備動作2: 檢查st-linkv2-1的固件版本,最新的版本應(yīng)該如圖所示:STLinkUpgradeV2J23.M6下載地址:/media/uploads/screamer/stlinkupgradev2j23m6.zip下載以后,解壓縮后,雙擊ST-LinkUpgrade.exe然后出現(xiàn)一下界面,可以對其固件進行更新,以便mbed開發(fā)順利進行.圖6:最新的st-linkv2-1驅(qū)動版本此時的st-linkV/2-1,就化身全能戰(zhàn)士,身兼三職:1,虛擬串口2,容量存儲、3,調(diào)試接口不由得讓我想起且一直羨慕了很久的,freescale的opensda和新唐的牛橋和nulink,他們都有類似功能.終于,我們強大的st也幫這些功能都普及過來了,偷著樂吧.再也不怕調(diào)試的時候,找不到串口轉(zhuǎn)換線了.現(xiàn)在一根usb搞定.四基于STM32F072Nucleo開發(fā)板的不同開發(fā)方法實踐探索4.1STNucleoF072RB特點和Nucleo其他開發(fā)板一樣,居然高度擴展性,提供了可行性和擴展性去用STM32F072RBT6單片機進行原型設(shè)計.看看我們今天的主角.幾個特點也是所有Nucleo開發(fā)板的特點再次強調(diào)一下,大家看板子的mcu代號,都有一個R,表明大家都是64PIN,所有Nucleo系列的板子,只是換了個單片機,核心的核心,再次重申.圖7STM32F401Nucleo開發(fā)板硬件原理框圖老生常談的特點,再次看看這款新出的STM32F072Nucleo:1. STM32F072RBT6微控制器,基于ARMCortex-M0處理器,最高支持48MHz主頻2. 支持ArduinoUNOR3Shield擴展板,微控制器所有IO口引腳通過排針座引出3. ST-LINK/V2-1調(diào)試器,支持對外部微控制器調(diào)試,4. 3個LED:一個USB通訊LED、一個電源LED、一個用戶LED;5. 兩個機械按鍵:復(fù)位、用戶6. USB接口的3個不同功能:虛擬串口、容量存儲、調(diào)試接口7. 3種不同供電方式:miniUSB接口供電、IO引腳用電、通過ArduinoUNOR3Shield接口供電8.支持GccIDE、Keil、IAR、embed在線IDE的設(shè)計工具4.2三種不同的開發(fā)途徑1.mbed云端開發(fā)(時髦的開發(fā)思路)首先,連接上usb后,各種驅(qū)動安裝之后,會出現(xiàn)一個nucleo的U盤.如圖1所示:圖8nucleo下載優(yōu)盤128KB
打開以后會看到mbed.htm,點擊,哈哈,開始平步青云,開始了云端開發(fā),直接跳轉(zhuǎn)到/網(wǎng)站,可以實現(xiàn)在線編寫程序,新建項目,導(dǎo)入工程,編譯的功能,這樣相當于一種云端工作的概念,產(chǎn)生bin以后,下載到剛剛這個u盤,單片機的程序就更新了.聽起來很酷.
很多同學(xué)要問調(diào)試怎么樣辦?一直在云端掉下來怎么辦?雖然此云非彼云,但是有個殘酷的事實,擺在大家面前,大項目必須要調(diào)試,要保密,不可能一直寄生于云端.何況mbed因為目前還是個國外網(wǎng)站,速度也不是特別給力?......似乎mbed有些雞肋.其實mbed早為大家想好了這一切,mbed只是讓大家體驗這種高在云端的感覺.mbed的根本作用,還是在于最大程度去解放大家,讓工作變得輕松有趣,減少重復(fù)低級勞動,把整個nucleo或者其他類似的原型開發(fā)板抽象成了一個個對象模型,大家開發(fā)的時候,基于對象,面向?qū)ο?都可以玩起來了.因為你是用C++在編程哦.我們把mbed當成一個在線生成工程的想到就可以了.mbedide具有工程導(dǎo)出功能,可以導(dǎo)出為常見的ide,比如keil,這樣好了.我們用mbed來建立項目框架,同時所有的外設(shè)和功能塊都抽象好了.這樣,在本地,用keil,用c++代碼慢慢完善修改代碼吧.這樣之前mbed工程不能在線調(diào)試的問題也解決了.看來是天空飄來一片云,幫我們把項目的基石打牢而已.2.Keil+FW開發(fā)方法(傳統(tǒng)的開發(fā)思路)mbed是個趨勢,也是個時髦的計數(shù),云端代表了方向;下面說說我們常規(guī)的用iar或者kei來開發(fā),一般還是用keil居多,所以用最新的keil說是.首先在社區(qū)下載對應(yīng)的FW庫,地址如下
分兩個分卷:part1part2
/download/index.php?act=down&id=7773
/download/index.php?act=down&id=7774
記著是這個,不要下載discovery了.
解壓縮以后,可到此處,STM32_Nucleo_FW_V1.2.1\Utilities\Third_Party\MDK-ARM_STM32F302R8_Patch
打開壓縮,運行里面的patch,,否則,會提示點flash下載,會提示你沒有找到響應(yīng)的下載算法,經(jīng)管,keil5可以認到是302R8芯片,
如果沒有出現(xiàn)這個STM32F3xx64KBflash字樣,多半是這個問題.安裝這個patch以后,就可以正常通過add來添加flash的下載algorithm了.
2其實這里還有個重要細節(jié).許多同學(xué)沒有撞過stlink-v2-1的驅(qū)動的話,在
這個窗口會顯示st-linknotintalled或者communicationerror字樣,這時候,我們就需要安裝win7或者xp對應(yīng)的st-linkV2-1的驅(qū)動;在這里下載
ok到此,你可以點擊菜單里面的FLASh;download進行下載了
3.基于STM32CubeMx的開發(fā)方法(中庸合適的開發(fā)思路)Keil大家都很熟悉,keil一直升級,目前已經(jīng)到了keil512,支持最新的M7,st的cubeMx是個好東西.可惜錯過了現(xiàn)場研討會,聽說現(xiàn)場非常推薦這個.沒有去成,咱們就自己體驗一把吧.我以為就是一個GUI方式的代碼生成工具,嘿嘿,不過評測以后我就更加贊嘆.居然直接生成keil5的工程文件.不錯把如何生成keil5的ide工程文件.
體驗nucleoL072開發(fā)板的使用.我們先使用st新出的cubeMX工具來自動生成一個最簡單的keil工程試試看,以keil5.1為例,還可以選擇iar和truestudio,根據(jù)需要選擇;1首先打開CubeMX,選擇我們的開發(fā)板,
2根據(jù)自己的需要初始化整個單片機的資源,建立起一種硬件描述的概念,整個單片都通過HAL層與非常建立連接,增強了通用性,可移植性.通過PC中的CubeMx配置,從而修改相應(yīng)的CubeFx(0,1,L0,L1,F4)等軟件庫集成到我們的工程代碼中去,讓我們輕松完成對單片機的配置,簡化了硬件操作.
3下面和第一個有些重復(fù),側(cè)重于系統(tǒng)的軟件結(jié)構(gòu)組織.文件系統(tǒng)操作系統(tǒng),一些內(nèi)部外設(shè)模塊,通過引入的這些middleware和軟件棧,讓我們的應(yīng)用能力更加強大.
4重頭戲來了.CubeMX和keil到底有幾毛錢關(guān)系呢不會是像siliconlab的configure工具一樣只會產(chǎn)生c文件,無法生成ide工程吧.好期待.我們點擊源碼生成菜單.當然此處首次使用,可能
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度建筑施工合同工程結(jié)算與付款流程規(guī)范
- 2025年度電力系統(tǒng)維護人員勞務(wù)派遣服務(wù)合同樣本
- 2025年度劇院租賃服務(wù)合同樣本
- 廣州2025年廣東廣州市天河區(qū)駿景小學(xué)編外聘用制專任教師招聘筆試歷年參考題庫附帶答案詳解
- 2025年中國光纜盤留架市場調(diào)查研究報告
- 2025至2031年中國靜音大彎軌行業(yè)投資前景及策略咨詢研究報告
- 2025年自動粘貼型圓砂紙項目可行性研究報告
- 2025至2031年中國網(wǎng)絡(luò)電梯行業(yè)投資前景及策略咨詢研究報告
- 2025年玻纖電機纏繞帶項目可行性研究報告
- 2025年油墨防干噴霧劑項目可行性研究報告
- 超長結(jié)構(gòu)及大體積混凝土專項施工方案
- 送達地址確認書(樣本)
- 超前小導(dǎo)管施工作業(yè)指導(dǎo)書
- 中國律師學(xué)完整版課件全套教學(xué)ppt教程
- 守紀律講衛(wèi)生懂禮儀
- 腦控受害者解救方法
- 滁州市城市規(guī)劃管理技術(shù)規(guī)定
- 保理業(yè)務(wù)解決方案
- 圖紙會審答疑
- PCCP安裝與水壓試驗
- 景觀生態(tài)學(xué)教學(xué)大綱(共10頁)
評論
0/150
提交評論