新建基礎軟件工程
作者: RootCode
申明:該文檔僅供個人學習使用
一、寫在前面
目前 Keil 的四款產品(軟件):MDK-ARM、C51、C251、C166,在用法上極爲相似,包括本文講述的新建軟件工程。
本文以目前(2018 年 10 月)最新Keil MDK-ARM V5.26、STM32F103 標準外設庫爲例,來給大家講述新建軟件工程的具體步驟。
本文講述的新建軟件工程,只是最基礎的軟件工程(一個工程,一個目標)。其中只修改了必要的配置,大部分配置默認。
如果你是 Keil C51、或者其它 MCU 器件,本文也適用,只是針對 MCU 器件有略微差異。
二、準備工作
俗話說“磨刀不誤砍柴工”,做好了準備工作,後面新建基礎軟件工程的工作就很容易實現了。
這裏針對 STM32 會下載“標準外設庫”這個準備工作,如果你是 C51,或者不用庫,這個準備工作就可略過。
2.1 下載安裝 Keil 工具
本文必備工具,詳情請參看該系列教程上一篇文章《Keil 系列教程 01_Keil介紹、下載、安裝與註冊》。
2.2 下載 STM32 標準外設庫
這一節是準備源代碼(庫),如果你使用 C51、寄存器開發,本節內容可以略過。下面提供官方下載鏈接,嫌麻煩的朋友可以在我百度網盤下載。
官網下載
http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-s oftware/stm32-embedded-software.html?querycriteria=productId=SC961
根據芯片型號下載對應的標準外設庫(如芯片爲 STM32F103ZE,則下載對應的STM32F10x_StdPeriph_Lib),如下圖:
2.3 整理工程文件夾
這一小節的內容可根據自己習慣來整理,我整理的文件及文件夾結構是按照常規的整理方式。你如果覺得合理,可以引用;
先建立一個存放工程文件的總文件夾:STM32F103ZE(Keil)_Demo
A.提取ST 標準外設庫文件
ST 標準外設庫裏面源代碼文件我們只需要使用部分文件。因此,提取需要使用的文件及文件夾到我們的工程中。
解壓“STM32F10x_StdPeriph_Lib”,可以看到在主目錄下面有四個文件夾: _htmresc:圖片文件夾(不提取)
Libraries:庫文件夾(提取大部分)
Project: 示例工程(提取少部分)
Utilities: 公共代碼、評估板代碼(不提取)
我們需要使用Libraries 和Project 目錄下的文件,但也有部分不用。因此,我們需要刪除不用的文件。(具體保留了哪些,可以下載我提供例程查看)
B.新建文件和文件夾
除了上面提取的文件之外,我們需要建立存放自己代碼的文件和文件夾。我這裏主要新建三個文件夾:
App: 應用部分代碼
Bsp: 底層部分代碼
Doc: 說明文檔
在新建的文件夾下面還需要新建自己的源文件,源文件裏面添加源代碼。我們提供的Demo 工程,實現的一個 LED 閃爍的功能。(這裏不描述)。
上面兩個步驟完成之後,我們就可以看到在“STM32F103ZE(Keil)_Demo” 下面整理的文件夾:
至此,準備工作算完成了,上面提取的文件、新建的文件裏面具體的內容請下載Demo 工程查看。
三、新建軟件工程
新建一個簡單、基礎的軟件工程大概需要有三個步驟:建立工程、添加文件和配置工程。
上面的準備工作做好之後,就可新建自己的軟件工程了,下面將一步一步講述從零開始新建一個軟件工程的詳細過程。
3.1 建立工程
建立工程的步驟是基礎,也比較簡單,下面一步一步教大家新建一個空的工程。
A.打開軟件,新建立工程(Project -> New uVision Project)
B.選擇保存路徑,保存名稱
C.選擇芯片型號
D.基礎工程
一個基礎的工程就完成了,但還不夠,還需要下面的步驟。
3.2 添加文件
準確的來說,應該是添加組(文件夾)和添加文件。直接的說,就是將你自己的源代碼(前面提取的庫、新建的文件等)添加到工程中。這裏的工程項目管理可根據自己的想法來定義(類似於自己分類、命名文件夾和文件),我這裏按照常規的方式進行管理項目。
點擊“項目管理”快捷按鈕,或者 Project -> Manage -> Project Items 進入 “項目管理”界面。
一步一步添加,直到最後完成
3.3 配置工程
配置工程對於初學者來說,大部分內容只需要默認即可,這裏只講述幾個常見的配置,能滿足基本的功能。
A.點擊“工程目標選項”進入配置(或 Project -> Options for Target)
B.輸出Hex 文件
很多朋友初學的朋友都會問怎麼輸出 Hex,只需要勾選上【Project -> Options for Target -> Output】“Create HEX File”即可。
C.C/C++配置
這個選項的配置參數比較多,對於大型項目來說比較重要,但對於初學者來說,只需要簡單配置兩項就行。
第一處配置---預定義:
【這裏以STM32F103 大容量芯片爲例】
定義 STM32F10X_HD,等同於#define STM32F10X_HD.
有些工程還預定義 USE_STDPERIPH_DRIVER。由於都是使用“標準外設庫”,我個人習慣把 USE_STDPERIPH_DRIVER,定義在 stm32f10x.h 文件裏面,所以在這裏就看不到我定義的這一項了。
第二處配置---包含路徑:
由於我們前面工程中有很多文件夾,因此需要添加對應的路徑,這樣編譯器才能找得到。
一步一步添加,直到最後完成
D.選擇下載調試工具
這個選項根據自己的下載調試器來選擇(比如:ST-Link)
E.下載復位並運行設置
有些初學的朋友說“爲什麼我下載程序之後,需要按一下復位鍵才能運行?”,只需要在工程中勾選上“Reset and Run”就可實現,下載完程序馬上運行了。
至此,一個新建立的工程就算完成了(當然,我新建的文件是添加了正確的源代碼),只需要編譯,接上下載器就可以下載運行了。