stm32f407之建立IAR工程

NO IMAGE

二、建立工程

 

         首先介紹一下IAR。

         IAR EmbeddedWorkbench for ARM是一套支援ARM所有處理器的整合開發環境,包含專案管理器、編輯器、C/C 編譯器、彙編器、聯結器和偵錯程式。在IAR Embedded Workbench for ARM環境下可以使用C/C 和組合語言方便地開發ARM嵌入式應用程式,比較其他的ARM開發環境,IAREmbedded Workbench for ARM具有入門容易、使用方便、程式碼緊湊等特點。通過其內建的針對不同晶片的程式碼優化器,IAR
Embedded Workbench for ARM可以為ARM晶片生成非常高效和可靠的FLASH/PROMable程式碼。不僅有這些可靠的技術,IAR Systems還為您提供專業的全球技術支援。(此段內容來自IAR網站)

 

然後我們一步步建立一個工程。

 

1.     新建一個資料夾,命名為工程的名字,在這個資料夾裡建立我們的工程。為了更好管理工程,我們先在此資料夾下新建三個資料夾,分別命名為user,inc,和startup,如下圖所示:

 

2.     到st網站上下載這塊板子的庫函式例程:http://www.stmcu.org/download/index.php?act=down&id=723

 

3.     解壓後把STM32F4-Discovery_FW_V1.1.0\Project\Demonstration\EWARM目錄下的stm32f40x_flash.icf複製到新建的資料夾目錄下

把STM32F4-Discovery_FW_V1.1.0\Libraries\CMSIS\Include目錄下的core_cm4.h

core_cm4_simd.h  core_cmFunc.h  core_cmInstr.h複製到inc目錄下,

然後在把STM32F4-Discovery_FW_V1.1.0\Libraries\CMSIS\ST\STM32F4xx\Include目錄下stm32f4xx.h和system_stm32f4xx.h檔案複製到inc目錄下。inc目錄下的檔案如下圖所示:

 

4.     把STM32F4-Discovery_FW_V1.1.0\Libraries\CMSIS\ST\STM32F4xx\Source\Templates\iar目錄下的startup_stm32f4xx.s複製到startup目錄下。

 

5.     把STM32F4-Discovery_FW_V1.1.0\Libraries\CMSIS\ST\STM32F4xx\Source\Templates目錄下的system_stm32f4xx.c檔案複製到user目錄下

 

6.     開啟IAR,點選Project->Creat New Project,出現如下對話方塊:

 

點選OK,出現如下對話方塊:

找到剛才建立的資料夾,開啟,然後在檔名中寫入工程的名字,點選儲存。

 

7.     然後右擊Files下的工程,點選Add,按下圖所示點選Add Group

出現如下對話方塊:

輸入user,點OK。

重複步驟6,在建立兩個Group,分別命名為startup和inc

 

8.     右擊inc->Add->Files,如下圖所示:

然後在對話方塊中開啟剛才建立的inc資料夾,把其中的檔案全部選中,如下圖所示:

點選開啟。

重複步驟7,在Group startup中新增資料夾startup中的startup_stm32f4xx.s檔案,在Groupuser中新增資料夾user中的system_stm32f4xx.c檔案,完成後如下圖所示:

 

 

 

9.     點選File下的圖示新建一個檔案,我們的主程式就寫在這個檔案中,點選儲存,命名為mian.c吧,儲存在user目錄下。

 

10.  然後加到Group user下

 

11.  右擊工程Options彈出如下對話方塊

Target頁按上圖所示設定

 

點選C/C Compler,點選Prerocessor頁,按下圖設定

        

點選Linker勾選Overridedefault選項,然後點選右面瀏覽按鈕

 

 

彈出如下對話方塊,點選但工程目錄下,開啟stm32f40x_flash.icf檔案,如下圖所示

 

點選Debugger,Driver選ST-LINK

 

 

點選Download頁,勾選Use flashloader選項,如下圖所示

點選ST-LINK,Interface選擇SWD

點選OK,工程設定完畢

 

因為discovery的晶振為8M,所以請在 stm32f4xx.h中改
#if !defined (HSE_VALUE)
#define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */
#endif /* HSE_VALUE */

在system_stm32f4xx.c中改
#define PLL_M 8

在main.c中寫入如下程式碼:

//file:main.c

#include<stm32f4xx.h>
void main ()
{
while(1);
}

按鍵盤F7鍵,編譯連線沒出錯的話,就是工程建立成功了,以後就可以直接複製這個工程資料夾,然後再新增一些程式碼或者檔案來建立新的工程了。