正点原子STM32F429阿波罗板,固件库工程搭建
1. 在工作根目錄下創(chuàng)建兩個(gè)文件夾,lib和project,在lib中創(chuàng)建子文件夾core
2. 在keil中建立新工程,并保存在project文件夾中
3. 在工作根目錄下創(chuàng)建main.c
4. 從[STM社區(qū)](https://www.stmcu.org.cn/)下載標(biāo)準(zhǔn)外設(shè)固件庫
5. 接下來正式進(jìn)入固件庫工程搭建
6.
?? ?在上面的目錄下找到cortex-M4內(nèi)核及與其相關(guān)的設(shè)備文件,拷貝存儲到..\lib\core
? ?
?7.
?? ?在上面的目錄下找到stm32f4xx微控制器專用頭文件,以及system_stm32f4xx微控制器專用系統(tǒng)文件
?
??
???? ??? ?再在上面的目錄下根據(jù)所用編譯器以及所用芯片型號,找到對應(yīng)的啟動文件(需要修改,匯編寫的,系統(tǒng)分支剪裁的意思),不想自己動手搞清楚改動哪里或者覺得麻煩,此處的啟動文件可以從正點(diǎn)原子的資料里去摳)
??? ??? ?
???? ??? ?如圖,我用的編譯器是MDK,所以選擇arm,再根據(jù)芯片型號選擇相應(yīng)的啟動文件。
??? ??? ?將上述找到的三個(gè)文件拷貝存儲到工作根目錄下。
? ?8.
???? ??? ?將上面的目錄下的
???? ??? ?拷貝存儲至lib下
9.
?? ?再從項(xiàng)目例子中剽竊一個(gè)固件庫配置文件
???? ??? ?復(fù)制存儲至工作根目錄,此時(shí)工作根目錄應(yīng)該是下面這樣,忽略文件夾固件庫移植.assets(~~~///(^v^)\\\~~~)那是我markdown文檔的圖片保存文件夾。
??10. 接下來就是打開工程,在MDK里進(jìn)行相關(guān)的配置和build了。相關(guān)pack的按照導(dǎo)入就不贅述了,在組中添加需要編譯的源文件
? ? ?
?? ?
???? ??? ?并完成編譯前的宏定義添加處理,特別注意中間的分隔符是**英文逗號**。解釋:第一部分USE_STDPERIPH_DRIVER是在stm32f4xx.h中有相關(guān)線索。第二部分STM32F429_439xx是在stm32f3xx_conf.h中有相關(guān)線索。這里起到的是內(nèi)容剪裁分支的作用。
?
?
???? ??? ?以及相關(guān)頭文件的路徑添加
??? ???
?11.?
?最后需要進(jìn)行如上圖所示的配置,將右側(cè)上方的四個(gè)復(fù)選框取消,原因是stm32f429不支持fsmc。
以上是我的關(guān)于stm32f429正點(diǎn)原子阿波羅板的固件庫移植的反思,以前覺得嵌入式只是寫代碼,實(shí)現(xiàn)應(yīng)用邏輯,現(xiàn)在發(fā)現(xiàn)其中學(xué)習(xí)的奧秘。之前的關(guān)于F1的移植都是看的正點(diǎn)原子的資料,雖然詳細(xì)但是自己只是跟著做只是為了完成模板庫的搭建,完全沒有自己的思考,換了其他嵌入式設(shè)備或許還是一頭霧水。需要從內(nèi)核,從芯片制造商等方面進(jìn)行思考。
另外,上述方法能不能build成功,0error,0warning還需要同學(xué)們自己實(shí)踐,因?yàn)檫@個(gè)是后來寫的,盡量還原了移植搭建的全過程,具體的細(xì)節(jié)或許有出入。
總結(jié)
以上是生活随笔為你收集整理的正点原子STM32F429阿波罗板,固件库工程搭建的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: javaweb基础(40)_jdbc框架
- 下一篇: 中科大开源镜像使用帮助列表