首先用萬用表找出LED的控制IO是PB4和PB7。
然后在Mbed的網(wǎng)站上(https://developer.mbed.org/compiler/)創(chuàng)建一個STM32F401的例程,使用blink模板,并將LED1改為PB_4。
注意這時程序還是不能直接用的,因為Mbed的程序只提供了STM32F401RE的程序,和STM32F401CC的不完全兼容,直接將BIN文件下載是不能運行的,需要進行一些修改。一種修改方法是修改源碼,一種是直接替換obj和sct文件。下面介紹修改源碼的方法,后面提供的參考程序是替換了文件。
先在Mbed網(wǎng)站的在線編輯器中,刪除項目程序中的Mbed庫,因為項目默認加入的是編譯后obj文件,不能直接修改。
然后導入Mbed的源碼,使用左上方菜單的導入(import)功能,選擇導入庫(Libraries),搜索mbed-src,選擇mbed-src導入就可以了。如果激進一點,導入不穩(wěn)定的開發(fā)庫(mbed-dev)也是可以的。
完成后就可以把整個項目文件導出,可以選擇多種不同的格式,這里選擇Keil4的格式。
導出的文件是一個zip文件,展開后就可以用keil打開,Keil4或者Keil5都可以,使用Keil5需要先安裝好STM32F4的支持包。先將芯片型號改為STM32F401CC,然后修改debugger為STLink,添加編程算法(Programming Algorithm)為STM32F4xx 256kB Flash。
編輯linker下的Scatter文件,修改分別ROM和RAM地址為0x40000和0x10000。
打開startup_stm32f401xe.s文件,修改54行的__initial_sp為0x20010000。
現(xiàn)在就可以編譯程序,并通過STlink下載了。如果LED開始閃動,就代表ok了。否則在仔細檢查一下上述的步驟。
修改好的測試程序:為了減少文件大小,我是直接替換了對應的obj文件和sct文件。需要完整源碼的可以按照上面步驟進行修改。
再順便介紹一下使用DFU方式下載程序的方法,對于怕麻煩不想連接SWD接口或者只想簡單DIY的網(wǎng)友,可以使用這種方式。
先在ST網(wǎng)站下載并安裝DfuSe_demo,網(wǎng)址是:http://www.st.com/web/en/catalog/tools/FM147/CL1794/SC961/SS1533/PF257916
運行Dfu file manager,選擇產(chǎn)生DFU文件。
然后添加BIN或者HEX文件。建議盡量選擇HEX文件,這樣就不用自己輸入地址。添加后就可以生成DFU文件。
用鑷子短路BOOT0到VCC,然后按下復位鍵,松開后就會進入DFU模式。如果提示需要安裝驅(qū)動,驅(qū)動就在DfuSe_demo安裝的目錄下。打開剛生成的DFU文件,就可以下載(upgrade),然后運行(Leave DFU mode)。
雖然這個小板的資料不多,但是也可以自己嘗試逐步摸索一下。下一步可以把串口和其他GPIO引出來,就可以實現(xiàn)更多功能了。如果在配一個小的OLED,效果更好。也可以想辦法嘗試一下音頻口通信,這也是一個比較有趣的應用,就是參考資料太少。對于1元包郵的艾刷,這的確非常超值了,值得大家去弄一個回來研究和玩耍。