【STM32F407開發板用戶手冊】第6章 STM32F407工程模板創建(IAR8)

最新教程下載:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255php

第6章   STM32F407工程模板創建(IAR8)

本章教程爲你們介紹如何經過IAR下載程序到芯片裏面以及IAR的調試和配置方法。。工具

6.1 初學者重要提示字體

6.2 第1步,建立工程文件夾優化

6.3 第2步,建立新工程ui

6.4 第3步,設置工程分組名spa

6.5 第4步,添加工程文件調試

6.6 第5步,保存建立的Workspaceblog

6.7 第6步,Options配置教程

6.8 第7步,最後一步驗證是否建立成功開發

6.9 IAR的字體,多核並行編譯,語法提示等設置

6.10 總結

 

6.1   初學者重要提示

  1.   IAR的工程建立過程仍是比較重要的,務必實際上手操做一遍。

6.2   第1步,建立工程文件夾

建立一個文件夾,裏面包含以下文件(直接將跑馬燈例子的Project文件裏面內容所有刪除,而後整個工程複製進來便可)。

 

  •   Doc文件夾

用於記錄例程的修改記錄和例子簡介。

  •   Libraries文件夾

在第一章詳細介紹從官網的下載方法。

  •   Project文件夾

這個是本章的重點,在這個文件夾裏面再創建兩個文件夾,EWARMv8文件夾用於存放IAR工程,MDK-ARM(uV5)文件夾裏面用於存放MDK工程,方便之後建立MDK的工程。

  •   User文件夾

這個是要用戶提供的,開發板已經都提供好,bsp文件夾裏面是開發板各個外設的驅動,segger文件夾是硬件異常分析代碼。

  •   刪除目標文件.bat

這個是批處理文件,用於刪除MDK和IAR工程編譯後生成的obj和list臨時文件。

6.3   第2步,建立新工程

打開IAR,選擇Project ->Create New Project

 

 

工程名設置爲project:

 

建立後的效果以下:

 

默認的狀況下這裏是建立了兩個工程,一個用於Debug,一個用於Release。這兩個實際上是用的同一個工程,最大的區別是優化等級有所不一樣。

 

咱們這裏設置一下,將這兩個都刪掉,新建立一個Debug方式的,只是僅換了一個名字(主要目的是讓你們看下操做方法)。打開菜單Project->EDIT Configration:

 

先新建後再刪除其它兩個,由於當前IAR使用的一個是沒法刪除的。

 

點擊肯定後,再次點擊肯定:

 

能夠看到左上角已經有三個了,這咱們選擇Flash,將其激活,也就是使用這個:

 

再次打開菜單Project->EDIT Configration就能夠將Debug和Release刪除掉了:

 

如今左上角就只有一個Flash了:

 

6.4   第3步,設置工程分組名

默認新建的工程是下面這樣的:

 

在Workspace欄的空白地方鼠標右擊選擇Add->Add Group(若是有多個project同時在裏面的話,要鼠標左擊選中project - Flash,而後右擊添加):

 

經過這種方式,咱們依次建立以下7個分組:

 

6.5   第4步,添加工程文件

下面咱們爲各個分組添加上具體的文件。鼠標左擊選中BSP,而後右擊選擇Add->Add Files

 

而後在新建的工程文件夾裏面查找須要添加的文件便可。

 

  •   添加BSP分組須要的文件

 

bsp.c 位於路徑\User\bsp,主要用於時鐘和外設初始化。

bsp.h位於路徑\User\bsp,此文件是各類頭文件的集中彙總貼,方便管理。

bsp_led.c位於路徑\User\bsp\src,用於LED驅動。

bsp_key.c位於路徑\User\bsp\src,用於按鍵驅動。

bsp_timer.c位於路徑\User\bsp\src,用於軟件定時器組和微妙級單次延遲。

bsp_fmc_io.c位於路徑\User\bsp\src,用於IO擴展,這裏LED要用到。

bsp_uart_fifo.c位於路徑\User\bsp\src,用於6串口FIFO驅動。

stm32f4xx_it.c位於路徑User\bsp,用於部分系統中斷服務程序。

  •   添加CMSIS分組須要的內容

 

system_stm32f4xx.c位於路徑\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates,主要用於復位RCC相關寄存器和中斷向量表位置設置。

  •   添加Doc分組須要的內容

 

這兩個文件位於Doc文件夾,主要用於說明例程的功能和更新記錄。

  •   添加EWARMv8分組須要的內容

 

startup_stm32f407xx.s 位於路徑\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\iar,主要用於堆和棧空間設置,中斷向量表也在這個文件。

  •   添加HAL_Driver分組須要的內容

 

stm32f4xx_hal_conf.h位於路徑\User\bsp,主要用於HAL庫的配置。

       其它文件路徑:\Libraries\STM32F4xx_HAL_Driver\Src,用到什麼外設添加什麼驅動文件便可,有些外設驅動跟DMA也有關聯,直接添加進來便可。

  •   添加SEGGER/HardFault分組須要的內容

 

這兩個文件位於路徑:\User\segger\HardFaultHandlerMDK,主要用於硬件異常分析。

  •   添加User分組須要的內容

 

main.c文件位於文件夾User,實現了一個簡單的跑馬燈效果。

6.6   第5步,保存建立的Workspace

文件添加完畢後要保存Workspace,點擊菜單File->Save Workspace As

 

彈出的對話框裏面選擇路徑,設置文件名後,保存便可:

 

剩下就是工程的配置工做了。

6.7   第6步,Options配置

IAR的配置基本都集中在Options對話框裏面:

 

 

6.7.1      General Options選項

這部分主要用於通用設置。選擇ST的STM32F407IG:

 

Library Configration選擇全功能庫:

 

Library Options1裏面的printf和scanf都選擇支持全功能格式:

 

6.7.2      C/C++ Compiler選項

這部分主要用於編譯器設置,優化等級選擇默認的低優先級:

 

Language 1選擇C語言和C11規範(在第9章有介紹):

 

而後就是最重要的頭文件路徑添加,IAR提供的添加方式都是相對路徑:

 

注意,添加的時候要添加相對路徑,使用絕對路徑的話,工程換個位置就沒法使用了:

 

將下面路徑都添加進去:

 

同時在預約義宏選項裏面添加以下宏定義:

USE_HAL_DRIVER 表示使用HAL庫。

STM32F407xx 表示使用F407系列。

USE_FULL_LL_DRIVER表示使用LL庫。

 

6.7.3      Build Actions選項

 

這個選項基本用不上,能夠不用管,主要是用來指定編譯以前和編譯以後執行的用戶程序。對於本教程配套的例子來講在這裏添加了一個批處理功能,用來實現Objects文件夾裏面的hex文件複製到路徑Project\EWARMv8裏面,方便查找。

 

6.7.4      Linker選項

Linker選項主要是連接器的配置,其中最主要的是icf文件配置Flash和RAM區。在HAL庫的軟件包的路徑:\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\iar\linker裏面提供了不少配置方式(部分截圖):

 

教程配套例子使用的是stm32f407xx_flash.icf,將這個文件複製到所建立工程的路徑\Project\EWARMv8裏面。而後在Linker選項裏面將其添加進來:

 

添加進來後是個絕對路徑:

 

要修改成相對路徑:

 

添加進來後要設置下中斷向量表首地址,堆和棧大小,點擊上面截圖左下角的Edit按鍵進行配置。

中斷向量表首地址設置爲0x0800 0000:

 

STM32F429BIT6的Flash首地址是0x0800 0000,大小0x200000,即2MB。

默認的RAM空間首地址0x2000 0000,大小0x20000,即192KB。

 

堆和棧大小分別設置爲0x800和0x400:

 

設置完畢後記得點擊保存。

6.7.5      Debugger選項

Debugger選項主要用於調試下載,當前IAR支持以下調試工具:

 

具體的調試設置在下一章有詳細說明,本章主要是保證建立的工程可以正常編譯。

6.8   第7步,最後一步驗證是否建立成功

點擊全編譯:

 

編譯結果:0錯誤,0警告,編譯成功。

 

6.9   IAR的字體,多核並行編譯,語法提示等設置

這裏將IAR常常用到的設置作個說明。

6.9.1      Tab Size設置

教程配套例子的Tab size要設置爲4,不然代碼顯示不整齊。菜單Tools -> Options:

 

6.9.2      字體設置

菜單Tools -> Options,支持比例字體和等寬字體選擇:

 

6.9.3      多核並行編譯

電腦有幾個核都選上,加快編譯速度,我這裏是四核:

 

6.10 總結

對於初學者來講,務必要實際動手操做一遍,之後移植其它程序代碼大有裨益。

相關文章
相關標籤/搜索