天天看點

《stm32嵌入式系統開發實戰指南》一3.3 建立工程

1)啟動iar ewarm,如圖3.25所示。

《stm32嵌入式系統開發實戰指南》一3.3 建立工程

2)單擊“file”→“new”→“workspace”,建立工作空間,如圖3.26所示。

《stm32嵌入式系統開發實戰指南》一3.3 建立工程

3)單擊“project”→“create new project”,如圖3.27所示。

《stm32嵌入式系統開發實戰指南》一3.3 建立工程

4)在完成步驟3後,彈出如圖3.28所示對話框,選擇“empty project”,并單擊“ok”按鈕。

5)完成步驟4後,彈出如圖3.29所示對話框,讀者選擇或建立适當的工作路徑,并給該工程命名,此處命名為“demo1”,最後單擊“儲存”按鈕,建立後如圖3.30所示。需要注意的是,工程儲存路徑最好不要包含空格或中文字元。本例程中選擇的工作路徑為g:demoprojectdemo1。

6)給工程建立源檔案分類目錄,單擊“project”→“add group”,如圖3.31所示。

《stm32嵌入式系統開發實戰指南》一3.3 建立工程
《stm32嵌入式系統開發實戰指南》一3.3 建立工程
《stm32嵌入式系統開發實戰指南》一3.3 建立工程

7)在完成步驟6後,彈出如圖3.32所示對話框,輸入源檔案分類目錄名稱,并單擊“ok”按鈕。

《stm32嵌入式系統開發實戰指南》一3.3 建立工程

重複步驟6和步驟7,直至建立完所有源檔案目錄。

注意?iar ewarm開發環境可建立源檔案目錄的子目錄,當“活動條目”為“建立的工程”時,建立的是根目錄,如圖3.33所示;當“活動條目”為“源檔案目錄”時,建立的是與其對應的子目錄,如圖3.34所示。

《stm32嵌入式系統開發實戰指南》一3.3 建立工程
《stm32嵌入式系統開發實戰指南》一3.3 建立工程

建立目錄完畢,如圖3.35所示。

《stm32嵌入式系統開發實戰指南》一3.3 建立工程

8)添加源檔案。首先将st公司提供的驅動解壓縮,将其中的librarys檔案夾拷貝至g:demoprojectcommon路徑下,如圖3.36所示。

《stm32嵌入式系統開發實戰指南》一3.3 建立工程

将stm32f10x_stdperiph_lib_v3.5.0projectstm32f10x_stdperiph_templateewarm檔案夾下的stm32f10x_flash.icf、stm32f10x_flash_extsram.icf、stm32f10x_nor.icf、stm32f10x_ram.icf四個檔案拷貝至demoprojectdemo1目錄下,建立工程如圖3.37所示。(實際上,僅需要其中一個即可,稍後介紹該檔案。)

《stm32嵌入式系統開發實戰指南》一3.3 建立工程

添加源檔案有兩種方法:其一,在對應的源檔案目錄上單擊右鍵,在彈出菜單中選擇“add files”如圖3.38所示;其二,選中源檔案目錄,然後單擊“project”→“add files”。在彈出的對話框中選擇相應的源檔案,如圖3.39所示。

《stm32嵌入式系統開發實戰指南》一3.3 建立工程
《stm32嵌入式系統開發實戰指南》一3.3 建立工程

源檔案目錄中對應的源檔案如下:

cmsis源檔案目錄:system_stm32f10x.c,位于demoprojectcommonlibrariescmsiscm3devicesupportststm32f10x中。

ewarmv6源檔案目錄:startup_stm32f10x_cl.s,位于demoprojectcommonlibrariescmsiscm3devicesupportststm32f10xstartupiar中。

stdperiph_driver源檔案目錄:stm32f10x_xxx.c(xxx代表st公司約定的外設英文縮寫),位于demoprojectcommonlibrariesstm32f10x_stdperiph_driversrc中,讀者可根據實際用到的外設添加;或全部添加,隻引用需要的頭檔案。

user源檔案目錄:main.c、stm32f10x_it.c、stm32f10x_it.h、stm32f10x_conf.h,其中stm32f10x_it.c、stm32f10x_it.h、stm32f10x_conf.h可直接從官方驅動庫的例程中拷貝,存放于stm32f10x_stdperiph_lib_v3.5.0projectstm32f10x_stdperiph_template檔案夾中。使用者僅需自己建立main.c檔案。

9)建立好main.c檔案後,在main.c源檔案中添加如下代碼:

添加後的工程如圖3.40所示,後續将介紹工程的設定。

《stm32嵌入式系統開發實戰指南》一3.3 建立工程

10)工程設定。在“workspace”區域的工程根目錄上單擊右鍵,在彈出菜單中單擊“options”,如圖3.41所示。

《stm32嵌入式系統開發實戰指南》一3.3 建立工程

11)單擊“options”後彈出如圖3.42所示對話框。

單擊左側清單框中的“general option”,然後單擊“target”頁籤中“device”後面的圖示,設定處理器類别,根據實際選用的器件選擇對應的型号,本工程采用的器件是st stm32f107vct6,可按照圖3.43進行選擇。

《stm32嵌入式系統開發實戰指南》一3.3 建立工程

12)配置頭檔案包含路徑。圖3.42中選擇“c/c++ compiler”,再選擇“preprocessor”頁籤,然後在“additional include directories”的文本框中輸入項目所需索引的頭檔案位址。該工程基于st公司官方驅動庫,按照官方庫的要求,需要在“defined symbols”中添加預編譯條件,“use_stdperiph_driver”表示使用官方驅動庫,等同于源程式文本中的“#define use_stdperiph_driver”;“stm32f10x_cl”表示所使用晶片是stm32f10x的互聯型微控制器,等同于源程式文本中的“#define stm32f10x_cl”。

配置完成後如圖3.44所示。

《stm32嵌入式系統開發實戰指南》一3.3 建立工程

13)在圖3.42中選擇“linker”,再選擇“config”頁籤,勾選“override default”複選框,單擊文本框右側的檔案選擇按鈕,在項目根目錄中選擇要連接配接配置的檔案(例如,若準備将程式在flash中運作,則選擇stm32f10x_flash.icf),配置完成如圖3.45所示。

14)選擇“linker”,再選擇“list”頁籤,勾選“generate linker map file”複選框,該選項用于訓示生成連結映像檔案,該檔案主要包含了連結資訊、程式起始位址資訊、運作模式資訊,以及目标檔案占用代碼、資料和常數空間的大小等,最後給出了在連結過程中出現的警告和錯誤資訊。配置完成後如圖3.46所示。

《stm32嵌入式系統開發實戰指南》一3.3 建立工程

15)選擇“debugger”,在“setup”頁籤的“driver”下拉清單中選擇仿真器的類型,本教程中使用的是j-link,是以選中“j-link/j-trace”。若要想調試過程中程式從main函數處作為執行起點,則勾選“run to”,并在下面的文本框中輸入main。配置完成後如圖3.47所示。

《stm32嵌入式系統開發實戰指南》一3.3 建立工程

至此,整個工程已配置完畢,選擇“project”菜單中的“make”,工程進行編譯,如圖3.48所示。

編譯完成後,選擇“project”菜單中的“download and debug”,即可開始代碼的調試,如圖3.49所示。

《stm32嵌入式系統開發實戰指南》一3.3 建立工程
《stm32嵌入式系統開發實戰指南》一3.3 建立工程

至此,在iar ewarm下的工程建立和配置已講述完畢,關于iar ewarm開發環境其他選項的設定方法可參考開發環境的幫助手冊。本小節僅對工程實作的必要配置進行初步設定。