【STM32H7教程】第4章 STM32H7工程模板建立(MDK5)
完整教程下載地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980
第4章?? STM32H7工程模板建立(MDK5)
本章教程為大家介紹如何創(chuàng)建MDK5工程,配置方法以及經(jīng)常用到的一些配置項(xiàng)。
4.1 初學(xué)者重要提示
4.2 第1步,創(chuàng)建工程文件夾
4.3 第2步,創(chuàng)建新工程
4.4 第3步,設(shè)置工程名和工程分組名
4.5 第4步,添加工程文件
4.6 第5步,Target Options配置
4.7 第6步,最后一步驗(yàn)證是否創(chuàng)建成功
4.8 MDK的字體,多核并行編譯,語法提示等設(shè)置
4.9 總結(jié)
?
?
4.1?? 初學(xué)者重要提示
4.2?? 第1步,創(chuàng)建工程文件夾
創(chuàng)建一個(gè)文件夾,里面包含如下文件(直接將跑馬燈例子的Project文件里面內(nèi)容全部刪除,然后整個(gè)工程復(fù)制進(jìn)來即可)。
?
- Doc文件夾
用于記錄例程的修改記錄和例子簡(jiǎn)介。
- Libraries文件夾
在第一章詳細(xì)介紹從官網(wǎng)的下載方法。
- ?Project文件夾
這個(gè)是本章的重點(diǎn),在這個(gè)文件夾里面再建立兩個(gè)文件夾,MDK-ARM(uV5)文件夾里面用于存放MDK工程,EWARMv8文件夾用于存放IAR工程,方便以后創(chuàng)建IAR的工程。
- User文件夾
這個(gè)是要用戶提供的,開發(fā)板已經(jīng)都提供好,bsp文件夾里面是開發(fā)板各個(gè)外設(shè)的驅(qū)動(dòng),segger文件夾是硬件異常分析代碼。
- ?刪除目標(biāo)文件.bat
這個(gè)是批處理文件,用于刪除MDK和IAR工程編譯后生成的obj和list臨時(shí)文件。
4.3?? 第2步,創(chuàng)建新工程
打開MDK,選擇Project ->New uVision Project:
?
工程名設(shè)置為project:
?
選擇器件:STM32H743XIHx
?
點(diǎn)擊OK后彈出如下界面,點(diǎn)擊Cancel取消,當(dāng)前我們還不使用RTE環(huán)境創(chuàng)建,
?
4.4?? 第3步,設(shè)置工程名和工程分組名
默認(rèn)新建的工程是下面這樣的:
?
打開Manage Project Items,雙擊Targer1修改名字為Flash,或者任何其它方便自己管理的名稱,設(shè)置完畢后點(diǎn)擊OK。
?
可以看到已經(jīng)修改為Flash:
?
再次打開Manage Project Items,添加如下分組內(nèi)容:
?
可以看到左側(cè)工程列表已經(jīng)更新:
?
4.5?? 第4步,添加工程文件
添加方法跟第2步,第3步一樣,可以通過Manage Project Items添加:
?
也可以直接雙擊工程列表里面的分組添加(注意文件類型里面推薦設(shè)置為ALL files所有文件):
?
- ?添加User分組需要的文件
?
main.c文件位于文件夾User,實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的跑馬燈效果。
- 添加BSP分組需要的內(nèi)容
?
bsp.c 位于路徑\User\bsp,主要用于MPU、Cache、時(shí)鐘和外設(shè)初始化。
bsp.h位于路徑\User\bsp,此文件是各種頭文件的集中匯總貼,方便管理。
bsp_led.c位于路徑\User\bsp\src,用于LED驅(qū)動(dòng)。
bsp_key.c位于路徑\User\bsp\src,用于按鍵驅(qū)動(dòng)。
bsp_timer.c位于路徑\User\bsp\src,用于軟件定時(shí)器組和微妙級(jí)單次延遲。
bsp_fmc_io.c位于路徑\User\bsp\src,用于IO擴(kuò)展,這里L(fēng)ED要用到。
bsp_uart_fifo.c位于路徑\User\bsp\src,用于8串口FIFO驅(qū)動(dòng)。
stm32h7xx_it.c位于路徑User\bsp,用于部分系統(tǒng)中斷服務(wù)程序。
- 添加MDK-ARM分組需要的內(nèi)容
?
startup_stm32h743xx.s 位于路徑\Libraries\CMSIS\Device\ST\STM32H7xx\Source\Templates\arm,主要用于堆和棧空間設(shè)置,中斷向量表也在這個(gè)文件。
- 添加HAL_Driver分組需要的內(nèi)容
?
stm32h7xx_hal_conf.h位于路徑\User\bsp,主要用于HAL庫(kù)的配置。
?????? 其它文件路徑:\Libraries\STM32H7xx_HAL_Driver\Src,用到什么外設(shè)添加什么驅(qū)動(dòng)文件即可,有些外設(shè)驅(qū)動(dòng)跟DMA也有關(guān)聯(lián),直接添加進(jìn)來即可。
- 添加CMSIS分組需要的內(nèi)容
?
system_stm32h7xx.c位于路徑\Libraries\CMSIS\Device\ST\STM32H7xx\Source\Templates,主要用于復(fù)位RCC相關(guān)寄存器和中斷向量表位置設(shè)置。
- 添加SEGGER/HardFault分組需要的內(nèi)容
?
這兩個(gè)文件位于路徑:\User\segger\HardFaultHandlerMDK,主要用于硬件異常分析。
- 添加Doc分組需要的內(nèi)容
?
這兩個(gè)文件位于Doc文件夾,主要用于說明例程的功能和更新記錄。
4.6?? 第5步,Target Options配置
MDK的配置基本都集中在Target Options對(duì)話框里面:
??
4.6.1????? Device選項(xiàng)
這個(gè)選項(xiàng)不用管,因?yàn)槲覀冊(cè)趧?chuàng)建的時(shí)候已經(jīng)選擇了STM32H743XIHx
?
4.6.2????? Target選項(xiàng)
?
?
更多這方面的信息可以看KEIL官網(wǎng):http://www.keil.com/arm/microlib.asp 。
地址0x2400 0000,大小0x80000,即512KB是AXI SRAM的空間。
4.6.3????? Output選項(xiàng)
?
?
4.6.4????? Listing選項(xiàng)
?
4.6.5????? User選項(xiàng)
?
這個(gè)選項(xiàng)基本用不上,可以不用管,主要是用來指定編譯之前和編譯之后執(zhí)行的用戶程序。對(duì)于本教程配套的例子來說在這里添加了一個(gè)批處理功能,用來實(shí)現(xiàn)Objects文件夾里面的hex文件復(fù)制到路徑Project\MDK-ARM(uV5)里面,方便查找。
?
4.6.6????? C/C++選項(xiàng)
?
USE_HAL_DRIVER 表示使用HAL庫(kù)。
STM32H743xx 表示使用H743系列。
- 如何做MDK編譯器的代碼最小優(yōu)化和性能最佳優(yōu)化
MDK之前做的應(yīng)用筆記:http://forum.armfly.com/forum.php?mod=viewthread&tid=1794?。
選項(xiàng)One ELF Section per Function用于刪除工程中沒有用到的冗余函數(shù)。
?
4.6.7????? Asm選項(xiàng)
?
這個(gè)選項(xiàng)用不到,不用管。
4.6.8????? Linker選項(xiàng)
?
這個(gè)選項(xiàng)用不到,不用管。
4.6.9????? Debug選項(xiàng)
?
具體的調(diào)試設(shè)置在下一章有詳細(xì)說明,本章主要是保證創(chuàng)建的工程能夠正常編譯。
4.6.10 Utilities選項(xiàng)
?
這個(gè)選項(xiàng)主要用于編程工具選擇,大家根據(jù)自己用的那種下載器選擇相應(yīng)型號(hào)即可。
Update Target before Debugging表示調(diào)試前更新芯片的程序。
4.7?? 第6步,最后一步驗(yàn)證是否創(chuàng)建成功
點(diǎn)擊全編譯:
?
編譯結(jié)果:0錯(cuò)誤,0警告,編譯成功。
?
4.8?? MDK的字體,多核并行編譯,語法提示等設(shè)置
這里將MDK經(jīng)常用到的設(shè)置做個(gè)說明。
4.8.1????? Tab Size設(shè)置
教程配套例子的Tab size要設(shè)置為4,否則代碼顯示不整齊:
選擇此圖標(biāo):
?
彈出的窗口里面設(shè)置Tab size為4:
?
4.8.2????? 使能多核并行編譯
電腦有幾個(gè)核,都選上,加快編譯速度。
選擇此圖標(biāo):
?
我這里是四核:
?
4.8.3????? 字體設(shè)置
推薦大家用下微軟雅黑,而且可以防止復(fù)制粘貼的時(shí)候出現(xiàn)亂碼問題,字體下載在此貼:http://forum.armfly.com/forum.php?mod=viewthread&tid=2293 。
安裝微軟雅黑的時(shí)候要注意,電腦端默認(rèn)自帶了一個(gè)微軟雅黑,安裝的時(shí)候會(huì)出現(xiàn)字體是躺著的。
?
選擇此圖標(biāo):
?
選擇中文簡(jiǎn)體:
?
選擇安裝微軟雅黑字體:
?
效果如下:
?
4.8.4????? 語法提示和語法檢測(cè)功能
選擇此圖標(biāo):
?
MDK的語法提示和語法檢測(cè)功能還行,大家可以根據(jù)需要開啟:
?
4.9?? 總結(jié)
對(duì)于初學(xué)者來說,務(wù)必要實(shí)際動(dòng)手操作一遍,以后移植其它程序代碼大有裨益。
?
轉(zhuǎn)載于:https://www.cnblogs.com/armfly/p/10699004.html
總結(jié)
以上是生活随笔為你收集整理的【STM32H7教程】第4章 STM32H7工程模板建立(MDK5)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java第十章IO
- 下一篇: Vue(小案例_vue+axios仿手机