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