學習stm32,入門是非常關鍵的,而自己建的第一個也就顯得很重要了。盡快入門,建立起學習的信心,對后續(xù)的學習有非常大的幫助。本文將講述任何在IAR上建立一個project,并開始自己學習stm32的第一個實驗。實驗所需:安富萊stm32F103ZE開發(fā)板一塊,J-Link V8仿真器 1個,安裝iar embedded workbench 5.3,安裝JLinkARM_V420a,下載STM32F10x_StdPeriph_Lib_V3.3.0,安富萊開發(fā)板board文件。
本文引用地址:http://m.butianyuan.cn/article/201611/322397.htm第一步,新建一個文件夾,命名為GPIO_IOTG,準備所需的文件,先將STM32F10x_StdPeriph_Lib_V3.3.0目錄下的Libraries文件夾拷貝到GPIO_IOTG文件夾中;再在STM32F103ZE-EK基礎例程ExampleGPIO_IOToggle和STM32F103ZE-EK基礎例程錄下找到所需文件,復制到GPIO_IOTG文件夾中,如圖1:
第二步,點擊菜單 File --> New -->Workspace 創(chuàng)建一個新的Workspace;然后點擊菜單 Project --> Create New Project 創(chuàng)建一個項目 (empty 空白項目),保存到GPIO_IOTG文件夾下,如圖2:
第三步,在Workspace窗口中,右擊GPIO_IOTG,在彈出的菜
單中選擇add,再選擇group,給工程添加組,以方便管理文件,然后添加需要的文件,如圖3:
各組的組名可以根據自己的習慣來命名。
其中APP組為應用程序,包含main.c和stm32f10xit.c,main.c,主函數,整個程序的默認入口,所有文件調用都在這里,stm 32f10x_it.c,全系統中斷程序全部在這里;
CMSIS中為cortex-m3核的外設訪問層源文件和系統設備訪問層源文件,完成堆棧和系統的初始化,其中core_cm3.c為核心設置,包括C語言類型,匯編語言等等,不用改動。system_stm32f10x.c,系統環(huán)境設置,包括寄存器變量,運行頻率;DOC為說明文檔;
EMARMv5組為系統啟動文件,根據自己的芯片類型和編譯的環(huán)境選擇不同的tartup;
StdPeriph_Driver——可以添加的硬件模塊驅動,庫自帶的模板已經添加了;
STM32-EVAL——針對開發(fā)板的LCD驅動以及LED,按鍵和端口的驅動。
第四步,選項配置,主要包括微處理器類型的選擇、編譯器的配置、連接器的配置、調試器的選擇和配置,其他的部分可以選擇默認設置。
(1)微處理器類型的選擇及Library的配置
點擊 general options
設置 Taget:Device 選擇 ST STM32F10xE;Endian mode 選擇 Little。
配置Library:若在串口程序中用到printf,Library Configuration標簽頁中的Library選擇為Full,否則選擇normal就可以了。
(2)編譯器的配置
最重要的部分是Preprocessor 的配置,要配置project中用到各種頭文件的路徑,如果路徑錯誤,編譯就不會通過,從而出現error。
$PROJ_DIR$
$PROJ_DIR$LibrariesCMSISCM3CoreSupport
$PROJ_DIR$LibrariesCMSISCM3DeviceSupportSTSTM32F10x
$PROJ_DIR$LibrariesSTM32F10x_StdPeriph_Driverinc
$PROJ_DIR$......UtilitiesSTM32_EVAL
$PROJ_DIR$Board
$PROJ_DIR$BoardSTM32F103ZE-EK
注:1)PROJ_DIR$是在工程文件夾目錄下,是一個相對的目錄。
2)$PROJ_DIR$......UtilitiesSTM32_EVAL是在工程文件所在磁盤目錄下,可以包含不是工程文件夾中的頭文件。
若在內存中啟動,需要在 defined symbols 里面寫上 VECT_TAB_RAM;如果程序比較大則需要在flash中啟動,就不需要配置這一項。
評論