官术网_书友最值得收藏!

第6章 新建工程——寄存器版

6.1 新建本地工程文件夾

為了使工程目錄更加清晰,我們在本地電腦上新建1個文件夾用于存放整個工程,如命名為“LED”,然后在該目錄下新建兩個文件夾,具體見表6-1和圖6-1。

表6-1 工程目錄文件夾清單

圖6-1 工程文件夾目錄

在本地新建好文件夾后,在文件夾下新建一些文件,見表6-2。

表6-2 工程目錄文件夾內容清單

6.2 新建工程

打開KEIL5,新建一個工程,見圖6-2。工程名根據喜好命名,這里取LED-REG,直接保存在LED文件夾下。

圖6-2 在KEIL5中新建工程

1.選擇CPU型號

這個根據自己開發板使用的CPU具體型號來選擇,F103“指南者”選STM32F103VE型號,見圖6-3。如果這里沒有出現想要的CPU型號,或者一個型號都沒有,那么肯定是你的KEIL5沒有添加device庫,KEIL5不像KEIL4那樣自帶了很多MCU的型號,而是需要自己添加。關于如何添加請參考第1章。

圖6-3 選擇具體的CPU型號

2.在線添加庫文件

用寄存器控制STM32時我們不需要在線添加庫文件,這里單擊關閉按鈕,見圖6-4。

圖6-4 庫文件管理

3.添加文件

在新建的工程中添加文件,可以從本地建好的工程文件夾下獲取,雙擊組文件夾就會出現添加文件的路徑,然后選擇文件即可。我們對要添加的3個文件說明如下,見圖6-5。

圖6-5 在工程中添加文件

(1)startup_stm32f10x_hd.s

這是啟動文件、系統上電后第一個運行的程序,由匯編語言編寫,C編程用得比較少,可暫時不管,這個文件從固件庫里面拷貝而來,由官方提供。文件在這個目錄下:STM32F10x_Std Periph_Lib_V3.5.0\Libraries\CMSIS\CM3\Device Support\ST\STM32F10x\startup\arm\startup_stm32f10x_hd.s。

(2)stm32f10x.h

用戶手動新建,用于存放寄存器映射的代碼,暫時為空。

(3)main.c

用戶手動新建,用于存放main函數,暫時為空。

4.配置魔術棒選項卡

這一步的配置工作很重要,很多時候,串口用不了printf函數,編譯有問題,或下載有問題,都是在這個步驟的配置中出了錯。

1)在Target選項卡中選中“Use Micro LIb”復選框,為的是在日后編寫串口驅動的時候可以使用printf函數,見圖6-6。

圖6-6 選中微庫

2)在Output選項卡中把輸出文件夾定位到工程目錄下的Output文件夾。如果想在編譯的過程中生成hex文件,那么把Create HEX File選項勾選上,見圖6-7。

圖6-7 配置Output選項卡

3)在Listing選項卡中把輸出文件夾定位到工程目錄下的Listing文件夾,見圖6-8。

圖6-8 配置Listing選項卡

5.下載器配置

在仿真器連接好電腦和開發板且開發板供電正常的情況下,打開編譯軟件KEIL,在魔術棒選項卡里面選擇仿真器的型號,具體過程如下。

1)Debug選項的配置見圖6-9。

圖6-9 在Debug選項卡中選擇CMSIS-DAP Debugger

2)Utilities選項的配置見圖6-10。

圖6-10 在Utilities選項卡中選擇Use Debug Driver

3)Debug選項的配置見圖6-11。

圖6-11 Debug選項的配置

選擇目標板,具體選擇多大的Flash要根據板子上的芯片型號決定,見圖6-12。F103指南者選512k。這里面有個小技巧就是把Reset and Run也勾選上,這樣程序下載完之后就會自動運行,否則需要手動復位。擦除的Flash大小選擇Erase Sectors即可,不要選擇Erase Full Chip,下載會非常慢。

圖6-12 選擇目標板

6.3 下載程序

如果前面的步驟都成功了,接下來就可以把編譯好的程序下載到開發板上運行。下載程序不需要其他額外的軟件,直接單擊KEIL中的LOAD按鈕即可,見圖6-13。

圖6-13 下載程序

程序下載后,在Build Output窗格中如果顯示出“Application running...”則表示程序下載成功。如果沒有出現實驗現象,按復位鍵試試。當然,這只是一個工程模板,我們還沒寫程序,開發板不會有任何現象。

至此,一個新的工程模板新建完畢。

主站蜘蛛池模板: 宽城| 德兴市| 西丰县| 黑水县| 鲁甸县| 宜丰县| 淄博市| 青川县| 定陶县| 永靖县| 卫辉市| 辽源市| 军事| 准格尔旗| 达尔| 淳化县| 泽普县| 民勤县| 扎兰屯市| 杭州市| 陈巴尔虎旗| 庐江县| 宁陵县| 长海县| 彭山县| 花垣县| 大冶市| 寿阳县| 临桂县| 万安县| 自治县| 视频| 原平市| 广元市| 桃园县| 黔江区| 确山县| 西贡区| 鹤庆县| 青阳县| 祁阳县|