使用keil軟體創建一個STM32工程
----------------芯片:STM32F429IGT6
創建一個STM32F429IGT6的工程,其他型號的單片機也大同小異,因為最近開始學習STM32F429IGT6單片機,所以以此為例,在看此文章之前需要有三個前提:1、安裝keil uVision5軟體,2、安裝好對應的器件的pack包,3、下載一個對應的標準庫軟體包,
QQ交流群:1026531747(包含此次文章檔案:keil uVision5軟體安裝包、器件的pack包、標準庫軟體包,群為新建群,還沒有特別多的群員和檔案,未來將不斷補充,)
一、新建工程檔案夾目錄
新建一個檔案夾,并命名為example,當然其他的名字也OK,并在此檔案夾下建立以下幾個單獨的檔案夾,分別是CORE、FWLIB、HARDWARE、OBJ、SYSTEM、USER,如下圖所示,

二、建立keil工程
1、打開keil uVision5軟體,點擊選單:project---> New uVision Project...選擇進入USER檔案夾,輸入工程檔案名example,點擊保存,

2、隨后會跳轉出來挑選器件的頁面, 選擇 STM32F429IGTx型號, (STMicroelectronics-->STM32F4 Series-->STM32F429-->STM32F429IG-->STM32F429IGTx),如果你的芯片是其他型號,則選擇相應芯片型號,(當然只有安裝對應的器件pack才會顯示該內容,加油!)也可以直接從Search輸入自己的型號,軟體將自動給你定位到位置,再進行選中就可以了,

3、選中后點擊確認,將會跳轉到下一個頁面,如下圖,我們不用管它直接關掉就行,

4、弄到這里,我們就建成了一個基本的工程框架,如下圖,

5、并且,我們的USER檔案夾下已經有了如下幾個檔案

三、韌體的復制(這一步賊麻煩,朋友請頂住!)
1、將STM32CubeF4 包下的Src,Inc 檔案夾復制到我們剛才建立的 FWLAB檔案夾下面, (路徑:STM32Cube_FW_F4_V1.11.0\Drivers\STM32F4xx_HAL_Driver)

2、將檔案 startup_stm32f429xx.s 復制到CORE目錄下面 (路徑:STM32Cube_FW_F4_V1.11.0\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm),

將檔案cmsis_armcc.h, core_cm4.h,core_cmFunc.h,core_cmInstr.h ,core_cmSimd.h 同樣復制到CORE目錄下面 (路徑:STM32Cube_FW_F4_V1.11.0\Drivers\CMSIS\Include),

3、將 stm32f4xx.h,system_stm32f4xx.h 和 stm32f429xx.h3 個檔案 復制到 USER目錄下面 , (路徑:STM32Cube_FW_F4_V1.11.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include)

將stm32f4xx_it.h,stm32f4xx_hal_conf.h 和main.h 3個頭檔案復制到USER目錄下面, (路徑:STM32Cube_FW_F4_V1.11.0\Projects\STM32F429I-Discovery\Templates\Inc)

將 system_stm32f4xx.c, stm32f4xx_it.c, stm32f4xx_hal_msp.c 和 main.c 四個檔案同樣復制到 USER 目錄下面, (路徑:STM32Cube_FW_F4_V1.11.0\Projects\STM32F429I-Discovery\Templates\Src)

此時我們檔案夾下的變化如下,多出了如下檔案



(恭喜呀,能看到這你已經很強了,加油!)
四、把檔案添加到工程里
1、點擊命令File Extensions,打開manage project items操作面板,

2、將target 1的名字修改為example,然后在Groups一欄洗掉Source Group1,在Groups里,建立五個 Groups:USER,SYSTEM,CORE,HARDWARE和 HALLIB,然后點擊 OK,可以看到 我們的 Target 名字以及 Groups情況如下圖 所示:

3、然后我們往Groups檔案里添加檔案,
首先是HALLIB,然后點擊右邊的 Add Files,定位到我們剛才建立的目錄\HALLIB\Src下面,將里面檔案選中,然后點擊Add,然后 Close,就可以進行添加,
Src下面的檔案并不是每一個都是必須添加的,根據我們自己工程的需要進行添加,添加的太多會使工程變大,當然編譯時花費的時間也會更長,其中在本此實驗中stm32f4xx_hal_dsc.c , stm32f4xx_hal_iptim.c 和 stm32f4xx_hal_msp_template.c 三個檔案不需要引入工程,因為他與本實驗芯片STM32F429IGT6不匹配,
此次試驗將除以上三個外的檔案全都添加了進去,(后面我編譯的時候,真的,慢的一批)可以看到 Files 串列下面包含我們添加的檔案,

4、USER 分組下面需要添加的檔案 USER 目錄 下面所有的.c 檔案:main.c,stm32f4xx_hal_msp.c,stm32f4xx_it.c 和 system_stm32f4xx.c 四個 檔案,

5、使用同樣的方法,選中 CORE 分組,點擊 Add Files 按鈕,添加需要的檔案到 CORE 分組(此次添加時,有些檔案顯示不出來,是檔案型別的原因,選擇全兼容型別),


添加完成后,點擊確定,回到工程頁面,如下圖所示,我們可以看到這些檔案已經添加到工程里面,

6、設定路徑,點擊主界面的魔術棒命令進入工程選項編輯器

選中 C/C++ 欄,進入Include Paths的設定

新建添加如下工程目錄

7、添加預定義宏STM32F10X_HD,USE_STDPERIPH_DRIVER,因為韌體庫的很多.C檔案會參考這兩個宏定義,如果不做定義的話,編譯會報錯,具體這兩個定義用來做什么,暫時先不用管它,以后再做分析,

8、選擇“Output”選項,將Create HEX_File前的對勾打上,然后選擇下面的“Select folder for objects…”然后選擇目錄為我們上面新建的 OBJ 目錄,然后依次點擊 OK 即可,操作程序如下圖

(朋友你能看到這、真的很強的,佩服你的耐心,你未來人生肯定會成功的,加油!)
五、編譯
1、點擊全部編譯按鈕進行編譯,如下圖

2、編譯的結果如下沒有錯誤,沒有警告(編譯真滴很慢),

六、補充
1、朋友你可能會問HARDWARE檔案夾為什么沒有用到,答:HARDWARE檔案夾放置我們自己撰寫的檔案庫,因為沒有寫,所以沒有用到,但是建立HARDWARE在之后使用的時候會方便很多,
2、朋友你可能會問SYSTEM檔案夾為什么沒有用到,答:SYSTEM檔案夾一般放置系統時鐘初始化,串口列印,延時函式等函式庫,使用起來會更加方便,如果你需要請從其他工程自行復制到對應檔案夾,并記得添加路徑,
3、朋友你可能會問main.c里頭這是啥,怎么這么亂,答:你全選,洗掉,寫自己檔案就好了,
以后將每天更新一篇文章,用于督促自己學習,同時更希望能幫助到大家,若有侵權請聯系刪掉,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/168632.html
標籤:其他
下一篇:VARON設計流程及示例
