Ⅰ、寫(xiě)在前面
本文使用目前(2016年11月)最新版本Keil(MDK-ARM)V5.21a開(kāi)發(fā)環(huán)境、以STM32的處理器為例給大家講述新建一個(gè)軟件工程的詳細(xì)過(guò)程。
Keil(MDK-ARM)V4和V5新建軟件工程基本一樣,本文也適合與V4版本的新建軟件工程。
本文使用的處理器是ST公司的STM32F1系列芯片,ST公司其它系列(如:F4等)、其它公司(如:TI)新建軟件工程的過(guò)程也是一樣。
為方便廣大STM32學(xué)習(xí)者,我將在下面把STM32F0 - F4各個(gè)系列芯片新建好的Demo軟件工程、相關(guān)的工具和文檔提供給大家下載。
本文內(nèi)容已經(jīng)整理成PDF文件,提供給大家下載:
http://pan.baidu.com/s/1nuJ0RDR
Ⅱ、本文要點(diǎn)
從本文標(biāo)題可以看得出,重點(diǎn)是新建軟件工程的過(guò)程。但是作為ARM開(kāi)發(fā)的軟件工程,一般都會(huì)包含部分源代碼(如:庫(kù)),意思就是說(shuō)需要準(zhǔn)備一些工程所包含的源代碼文件。
本文基于STM32F1系列芯片為例來(lái)講述(其他系列芯片類(lèi)似),將簡(jiǎn)單描述一下準(zhǔn)備STM32F1標(biāo)準(zhǔn)外設(shè)庫(kù)、Demo源代碼(LED閃爍例程)。
準(zhǔn)備工作之后新建軟件工程才是本文是要點(diǎn),新建軟件工程的過(guò)程主要針對(duì)初學(xué)者,大部分工程的配置就選擇默認(rèn),如要查看更多關(guān)于軟件工程的詳細(xì)配置可以進(jìn)入博客或關(guān)注微信公眾號(hào)查看。
Ⅲ、準(zhǔn)備工作
俗話(huà)說(shuō)“磨刀不誤砍柴工”,準(zhǔn)備工作雖然與題目關(guān)系不是很大,但也是本文的重點(diǎn),做好了準(zhǔn)備工作,后面新建軟件工程的工作就很容易實(shí)現(xiàn)了。
1.安裝Keil(MDK-ARM)軟件工具
本文必備工具,這里不多說(shuō),詳情請(qǐng)看我的另一篇文章【Keil(MDK-ARM)介紹、下載、安裝與注冊(cè)】:
博客:
http://blog.csdn.net/ybhuangfugui/article/details/51501781
PDF:http://pan.baidu.com/s/1nuJ0RDR
2.STM32標(biāo)準(zhǔn)外設(shè)庫(kù)下載
官網(wǎng)下載鏈接(需要ST賬號(hào)登陸):
http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software.html?querycriteria=productId=SC961
根據(jù)芯片型號(hào)下載對(duì)應(yīng)的標(biāo)準(zhǔn)外設(shè)庫(kù)(如芯片為STM32F103ZE,則下載對(duì)應(yīng)的STM32F10x_StdPeriph_Lib),如下圖:
也可以到我百度網(wǎng)盤(pán)下載(和官網(wǎng)一樣):
http://pan.baidu.com/s/1qYbBKMK
3.整理工程文件夾
這一小節(jié)的內(nèi)容可根據(jù)自己習(xí)慣來(lái)整理,我整理的文件及文件夾結(jié)構(gòu)是按照常規(guī)的整理方式。你如果覺(jué)得合理,可以引用;如果覺(jué)得不習(xí)慣這個(gè)結(jié)構(gòu)方式,可以自己整理。
首先建立一個(gè)存放工程文件的文件夾:STM32F103ZE(Keil)_Demo
A.提取ST標(biāo)準(zhǔn)外設(shè)庫(kù)文件
ST官網(wǎng)下載的標(biāo)準(zhǔn)外設(shè)庫(kù)里面有很多源代碼文件,但我們只需要使用部分文件。因此,需要提取使用的文件及文件夾到我們的工程中。
解壓“STM32F10x_StdPeriph_Lib”,可以看到在主目錄下面有四個(gè)文件夾:
_htmresc:圖片文件夾(不提取)
Libraries:庫(kù)文件夾(提取大部分)
Project: 示例工程(提取少部分)
Utilities: 公共代碼、評(píng)估板代碼(不提取)
我們使用標(biāo)準(zhǔn)外設(shè)庫(kù)主要提取的文件是Libraries下面的文件,但有些文件及文件夾也是多余的。因此,我將多余的文件及文件夾去掉,保留需要的文件和文件夾。
B.新建文件和文件夾
除了標(biāo)準(zhǔn)外設(shè)庫(kù)文件之外,我們需要建立存放自己代碼的文件和文件夾。我這里主要需要新建三個(gè)文件夾:
App: 應(yīng)用部分代碼
Bsp: 底層部分代碼
Doc: 說(shuō)明文檔
在自己新建的文件夾下面還需要新建自己的文件,文件里面添加源代碼,我們提供的Demo工程,實(shí)現(xiàn)的功能比較簡(jiǎn)單,就是一個(gè)LED閃爍。這里不描述,具體可以在最后下載查看。
上面兩個(gè)步驟完成之后,我們就可以看到在“STM32F103ZE(Keil)_Demo”下面整理的文件夾:
至此,準(zhǔn)備工作算完成了,上面提取的文件、新建的文件里面具體的內(nèi)容請(qǐng)下載Demo工程查看。
Ⅳ、新建軟件工程
新建一個(gè)簡(jiǎn)單、基礎(chǔ)的軟件工程大概需要有三個(gè)步驟:建立工程、添加文件和配置工程。
上面的準(zhǔn)備工作做好之后,就可新建自己的軟件工程了,下面將一步一步講述從零開(kāi)始新建一個(gè)軟件工程的詳細(xì)過(guò)程。
1.建立工程
建立工程的步驟是基礎(chǔ),也比較簡(jiǎn)單。
A.打開(kāi)軟件,新建立工程(Project -> New uVision Project)
B.選擇路徑,保存名稱(chēng)
C.選擇芯片型號(hào)
D.基礎(chǔ)工程
一個(gè)基礎(chǔ)的工程就完成了,但需要使用還不夠,還需要下面的步驟。
2.添加文件
準(zhǔn)確的來(lái)說(shuō),應(yīng)該是添加組(文件夾)和添加文件。直接的說(shuō),就是將你自己的源代碼(前面提取的庫(kù)、新建的文件等)添加到工程中。
這里的工程項(xiàng)目管理可根據(jù)自己的想法來(lái)定義(類(lèi)似于自己分類(lèi)、命名文件夾和文件),我這里按照常規(guī)的方式進(jìn)行管理項(xiàng)目。
·
·
一步一步添加,直到最后完成
·
·
3.配置工程
配置工程對(duì)于初學(xué)者來(lái)說(shuō),大部分內(nèi)容只需要默認(rèn)即可,這里只講述幾個(gè)常見(jiàn)的配置,能滿(mǎn)足基本的功能。更多配置可進(jìn)入我微信公眾號(hào)或博客查看。
A.點(diǎn)擊“工程目標(biāo)選項(xiàng)”進(jìn)入配置(或Project -> Options for Target)
B.輸出Hex文件
很多朋友初學(xué)的朋友都會(huì)問(wèn)怎么輸出Hex(可直接下載的文件),只需要勾選上【Project -> Options for Target -> Output】“Create HEX File”即可。
C.C/C++配置
這個(gè)選項(xiàng)的配置參數(shù)比較多,對(duì)于大型項(xiàng)目來(lái)說(shuō)比較重要,但對(duì)于初學(xué)者來(lái)說(shuō),只需要簡(jiǎn)單配置兩項(xiàng)就行。
第一處配置---預(yù)定義:
【這里只針對(duì)于STM32F103大容量芯片,其他芯片視情況而定】
預(yù)定義STM32F10X_HD,有些工程還預(yù)定義USE_STDPERIPH_DRIVER。由于都是使用“標(biāo)準(zhǔn)外設(shè)庫(kù)”,我個(gè)人習(xí)慣把USE_STDPERIPH_DRIVER,定義在stm32f10x.h文件里面,所以在這里就看不到我定義的這一項(xiàng)了。
第二處配置---包含路徑:
由于我們前面工程中有很多文件夾,因此需要添加對(duì)應(yīng)的路徑,這樣編譯器才能找得到。
·
·
一步一步添加,直到最后完成
·
·
D.選擇下載調(diào)試工具
這個(gè)選項(xiàng)根據(jù)自己的下載調(diào)試器來(lái)選擇(比如:ST-Link)
E.下載復(fù)位并運(yùn)行設(shè)置
有些初學(xué)的朋友說(shuō)“為什么我下載程序之后,需要按一下復(fù)位鍵才能運(yùn)行?”,只需要在工程中勾選上“Reset and Run”就可實(shí)現(xiàn),下載完程序馬上運(yùn)行了。
至此,一個(gè)新建立的工程就算完成了(當(dāng)然,我新建的文件是添加了正確的源代碼),只需要編譯,接上下載器就可以下載運(yùn)行了。
Ⅴ、下載
為方便廣大STM32學(xué)習(xí)者,我將常見(jiàn)的STM32“Demo軟件工程”已經(jīng)建好,,里面包含IAR for ARM新建的工程供大家下載。【如果沒(méi)有你對(duì)應(yīng)的芯片型號(hào),你又想得到,可以給我留言“STM32FXXXxxDemo 工程”。我會(huì)做一個(gè)統(tǒng)計(jì),如果某一型號(hào)芯片Demo工程有多人需要,我會(huì)考慮給你們寫(xiě)的。】
STM32F0工程模板:
http://pan.baidu.com/s/1pKSkSxt
STM32F1工程模板:
http://pan.baidu.com/s/1c1AWupM
STM32F2工程模板:
http://pan.baidu.com/s/1o8yGWg6
STM32F3工程模板:
http://pan.baidu.com/s/1boVXh2f
STM32F4工程模板:
http://pan.baidu.com/s/1qYzYMuS
注意:由于許多網(wǎng)盤(pán)近年來(lái)受到影響都相繼停止服務(wù)或關(guān)閉了,如果網(wǎng)盤(pán)鏈接失效,請(qǐng)到官網(wǎng)下載,也可以關(guān)注微信公眾號(hào)查看更新鏈接,或微信聯(lián)系作者。
Ⅵ、說(shuō)明
上面新建軟件工程主要是針對(duì)初學(xué)者,寫(xiě)的比較基礎(chǔ)的。若要了解更多關(guān)于Keil的使用教程,可以進(jìn)入我微信公眾號(hào)或博客查看。
以上內(nèi)容僅供參考,若有不對(duì)之處,敬請(qǐng)諒解。
-
ARM
+關(guān)注
關(guān)注
134文章
9258瀏覽量
372849 -
keil
+關(guān)注
關(guān)注
69文章
1217瀏覽量
168352 -
MDK
+關(guān)注
關(guān)注
4文章
209瀏覽量
32392
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論