二、創建工程
首先介紹一下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鍵,編譯連接沒出錯的話,就是工程建立成功了,以後就可以直接複製這個工程文件夾,然後再添加一些代碼或者文件來創建新的工程了。