寫在前面:
本文章為《ARM Cortex-M4裸機(jī)開發(fā)篇》系列中的一篇,,全系列總計(jì)14篇。筆者使用的開發(fā)平臺(tái)為華清遠(yuǎn)見FS-MP1A開發(fā)板(STM32MP157開發(fā)板),Cortex-M4裸機(jī)開發(fā)篇除了講M4裸機(jī)開發(fā)外,還會(huì)講解通過M4控制資源擴(kuò)展板上的各種傳感器執(zhí)行器模塊(包括空氣溫濕度傳感器、LED燈、數(shù)碼管、蜂鳴器、震動(dòng)馬達(dá)、按鍵中斷、風(fēng)扇等),本篇是M4控制資源擴(kuò)展板中的一篇。
資源擴(kuò)展板是FS-MP1A開發(fā)板的擴(kuò)展模塊,主要包含了10余種助主流傳感器、執(zhí)行器件、總線控制器件,非常方便項(xiàng)目擴(kuò)展用。可拓展開發(fā)智慧家庭、智能醫(yī)療、智能安防、工業(yè)控制、圖像識(shí)別、環(huán)境檢測(cè)等方向的10個(gè)左右綜合項(xiàng)目,華清遠(yuǎn)見開發(fā)板也將配套提供所有項(xiàng)目的說明文檔、實(shí)驗(yàn)源碼、應(yīng)用程序等資料。
針對(duì)FS-MP1A開發(fā)板,除了Cortex-M4裸機(jī)開發(fā)篇外,還包括其他多系列教程,包括Cortex-A7開發(fā)篇、FreeRTOS篇、Linux基礎(chǔ)及應(yīng)用開發(fā)篇、Linux系統(tǒng)移植篇、Linux驅(qū)動(dòng)開發(fā)篇、硬件設(shè)計(jì)篇、人工智能機(jī)器視覺篇、Qt應(yīng)用編程篇、Qt綜合項(xiàng)目實(shí)戰(zhàn)篇等。
資源擴(kuò)展板介紹
硬件介紹
資源擴(kuò)展板可開發(fā)項(xiàng)目
Cortex-M4 開發(fā)環(huán)境搭建
STM32CubeIDE是一個(gè)高級(jí)C / C ++開發(fā)平臺(tái),具有用于STM32微控制器和微處理器的外設(shè)配置,代碼生成,代碼編譯和調(diào)試功能。它基于ECLIPSE?/ CDT框架和用于開發(fā)的GCC工具鏈,以及用于調(diào)試的GDB。它允許集成數(shù)百個(gè)現(xiàn)有插件,這些插件可以完善ECLIPSE?IDE的功能。
主要特點(diǎn):
- 集成STM32CubeMX,可提供以下服務(wù):
STM32微控制器和微處理器的選擇
引腳排列,時(shí)鐘,外設(shè)和中間件配置
項(xiàng)目創(chuàng)建和初始化代碼的生成
- 基于Eclipse?/ CDT,以支持Eclipse?的附加軟件,GNU C / C ++為ARM ?工具鏈和GDB調(diào)試器
- 其他高級(jí)調(diào)試功能包括:
CPU內(nèi)核,外設(shè)寄存器和內(nèi)存視圖
實(shí)時(shí)變量觀看視圖
系統(tǒng)分析和實(shí)時(shí)跟蹤(SWV)
CPU故障分析工具
- 支持ST-LINK(STMicroelectronics)和J-Link(SEGGER)調(diào)試探針
- 從Atollic導(dǎo)入項(xiàng)目? TrueSTUDIO ?和AC6系統(tǒng)工作臺(tái)的STM32(SW4STM32)
- 多操作系統(tǒng)支持:Windows ?,Linux的?和MacOS ?,僅64位版本
STM32CubeIDE軟件獲取
https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-ides/stm32cubeide.html?dl=C1Xl1v%2FULQ0dLNXhPUM9vg%3D%3D%2CcrEvVZcaQVFOpw%2BiBXN5OniVodWnWIjZczA3UQRxaf4t4IqBoA4ynj7KVdsgDWQkzo61Vd7IFSR48HcBaQB0YRJ%2BkmDJE3FQokO6ZkDEdtElQtf%2F5O4k7L07zP26x1rzWypenTcR3xmxW8zQdk0cZSrFINp1v0rofptktxG1ZiaKxBEZk%2BfFyQsFB9NEmpcO3%2Fali0QZwOaXOvoFFoLamIQEGD0T1zvkxSvhtnVFDrXK1rl7wv7VhFB0FbFa8NwpLv9lNr8K2z%2F9hdTjaL5tTN%2FRTqQyx%2FVXZA1UBill%2FgmJ7GsUcR3KHgrSsnv2S3bvl%2FddwcRJzcECHruxxQm562Y87gHg8Ff7A5ybUDdZAnFKsshPEc9Op6unaXrXQKSNEADXkZYJ6T5trp1%2Be%2FgJHmQIysU%2BW7aYcXaGK4N9Lc7SHVRIqA4IX1vVw2plCG9z&uid=QchKIdBoOeE1wsFONZ4se/WuF3wDZMRC
光盤路徑【華清遠(yuǎn)見-FS-MP1A開發(fā)資料\01-工具軟件\st-stm32cubeide_1.5.0_8698_202
01117_1050_x86_64.exe】
STM32CubeIDE安裝
不能在中文路徑下安裝
雙擊
進(jìn)行安裝
可自行選擇路徑安裝
彈出需要安裝STLINK驅(qū)動(dòng),選擇安裝
安裝完成后如上圖。
STM32CubeIDE軟件安裝完成后同樣ST-Link驅(qū)動(dòng)也安裝完成,ST-Link連接至PC,可在設(shè)備管理器中看到ST-link Debug和STMicroelectronics STLink Virtual COM Port串口
注意:如果設(shè)備管理器中ST-Link驅(qū)動(dòng)無法識(shí)別,帶有驚嘆號(hào),需在高級(jí)啟動(dòng)中禁用驅(qū)動(dòng)程序強(qiáng)制簽名
STM32CubeIDE軟件使用
雙擊桌面圖標(biāo)打開軟件,選擇workspace目錄
軟件界面
新建工程
打開STM32CubeIDE->File->New->STM32 Project
可以在左側(cè)搜索框內(nèi)輸入芯片型號(hào)STM32MP157A進(jìn)行搜索,選擇對(duì)應(yīng)芯片,點(diǎn)擊Next
填寫工程名,點(diǎn)擊Finsh
點(diǎn)擊Yes打開配置頁面
搜索框內(nèi)搜索LED對(duì)應(yīng)GPIO引腳PZ5、PZ6、PZ7,左鍵點(diǎn)擊設(shè)置為GPIO_Output
在Code Generator處選擇為每個(gè)外設(shè)生成單獨(dú)的C和H文件,這樣設(shè)置方便閱讀代碼
完成以上設(shè)置后,Ctrl+S保存,會(huì)提示是否需要生成代碼,選擇Yes即可自動(dòng)生成代碼。系統(tǒng)會(huì)自動(dòng)生成System Clock代碼
可以在左側(cè)工程文件夾看到生成的工程,CA7文件夾是給A7核使用的。Drivers文件夾是ST提供的HAL_Drivers,用戶無需修改。LED_CM4子工程是我們生成的M4內(nèi)核的工程代碼。
導(dǎo)入已有工程
在 Project Explorer 窗口中右擊鼠標(biāo),選擇“Import…”,如下圖所示
選擇“Import…”后, 出現(xiàn)如下圖所示的窗口, 選中“Existing Project Into Workpace”, 然后點(diǎn)擊
“Next”
點(diǎn)擊Browse選擇工程存放路徑,勾選需要添加的工程,點(diǎn)擊Finish
點(diǎn)擊 finish 后,工程就已經(jīng)導(dǎo)入成功了
編譯下載
開發(fā)板連接
撥動(dòng)開發(fā)板啟動(dòng)撥碼至001,開發(fā)板上電,使開發(fā)板處于Engineering mode,就可以進(jìn)行開發(fā)或調(diào)試CM4固件了,連接好ST-LINK和開發(fā)板
工程編譯
Debug調(diào)試
選擇Debug按鍵
選擇STM32 Cortex-M C/C++ Application
調(diào)試器 下選擇thru JTAG/SWD link (Engineering mode) ,完成點(diǎn)擊Debug
選擇Switch
點(diǎn)擊運(yùn)行
-
ARM
+關(guān)注
關(guān)注
134文章
9137瀏覽量
368269 -
嵌入式
+關(guān)注
關(guān)注
5088文章
19158瀏覽量
306482 -
Linux
+關(guān)注
關(guān)注
87文章
11329瀏覽量
209969 -
STM32
+關(guān)注
關(guān)注
2270文章
10915瀏覽量
356775 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5096瀏覽量
97825
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論