【STM32】 keil新建工程模板
Ⅰ、寫在前面
???? 本文使用目前(2016年11月)最新版本Keil(MDK-ARM)V5.21a開發(fā)環(huán)境、以STM32的處理器為例給大家講述新建一個(gè)軟件工程的詳細(xì)過程。
???? Keil(MDK-ARM)V4和V5新建軟件工程基本一樣,本文也適合與V4版本的新建軟件工程。
???? 本文使用的處理器是ST公司的STM32F1系列芯片,ST公司其它系列(如:F4等)、其它公司(如:TI)新建軟件工程的過程也是一樣。
?
轉(zhuǎn)載至:https://blog.csdn.net/ybhuangfugui/article/details/51501781
Ⅱ、本文要點(diǎn)
????? 從本文標(biāo)題可以看得出,重點(diǎn)是新建軟件工程的過程。但是作為ARM開發(fā)的軟件工程,一般都會(huì)包含部分源代碼(如:庫),意思就是說需要準(zhǔn)備一些工程所包含的源代碼文件。
?
???本文基于STM32F1系列芯片為例來講述(其他系列芯片類似),將簡單描述一下準(zhǔn)備STM32F1標(biāo)準(zhǔn)外設(shè)庫、Demo源代碼(LED閃爍例程)。
?
???? 準(zhǔn)備工作之后新建軟件工程才是本文是要點(diǎn),新建軟件工程的過程主要針對(duì)初學(xué)者,大部分工程的配置就選擇默認(rèn)
?
Ⅲ、準(zhǔn)備工作
??? 俗話說“磨刀不誤砍柴工”,準(zhǔn)備工作雖然與題目關(guān)系不是很大,但也是本文的重點(diǎn),做好了準(zhǔn)備工作,后面新建軟件工程的工作就很容易實(shí)現(xiàn)了。
?
2.STM32標(biāo)準(zhǔn)外設(shè)庫下載
??? 官網(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è)庫(如芯片為STM32F103ZE,則下載對(duì)應(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:?公共代碼、評(píng)估板代碼(不提取)
?
我們使用標(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)容請(qǐng)下載Demo工程查看。
?
Ⅳ、新建軟件工程
新建一個(gè)簡單、基礎(chǔ)的軟件工程大概需要有三個(gè)步驟:建立工程、添加文件和配置工程。
上面的準(zhǔn)備工作做好之后,就可新建自己的軟件工程了,下面將一步一步講述從零開始新建一個(gè)軟件工程的詳細(xì)過程。
?
1.建立工程
建立工程的步驟是基礎(chǔ),也比較簡單。
?
A.打開軟件,新建立工程(Project -> New uVision Project)
?
B.選擇路徑,保存名稱
?
C.選擇芯片型號(hào)
?
D.基礎(chǔ)工程
一個(gè)基礎(chǔ)的工程就完成了,但需要使用還不夠,還需要下面的步驟。
?
2.添加文件
準(zhǔn)確的來說,應(yīng)該是添加組(文件夾)和添加文件。直接的說,就是將你自己的源代碼(前面提取的庫、新建的文件等)添加到工程中。
這里的工程項(xiàng)目管理可根據(jù)自己的想法來定義(類似于自己分類、命名文件夾和文件),我這里按照常規(guī)的方式進(jìn)行管理項(xiàng)目。
?
?
·
·
一步一步添加,直到最后完成
·
·
?
3.配置工程
配置工程對(duì)于初學(xué)者來說,大部分內(nèi)容只需要默認(rèn)即可,這里只講述幾個(gè)常見的配置,能滿足基本的功能。
?
A.點(diǎn)擊“工程目標(biāo)選項(xiàng)”進(jìn)入配置(或Project -> Options for Target)
?
B.輸出Hex文件
很多朋友初學(xué)的朋友都會(huì)問怎么輸出Hex(可直接下載的文件),只需要勾選上【Project -> Options for Target -> Output】“Create HEX File”即可。
?
C.C/C++配置
這個(gè)選項(xiàng)的配置參數(shù)比較多,對(duì)于大型項(xiàng)目來說比較重要,但對(duì)于初學(xué)者來說,只需要簡單配置兩項(xiàng)就行。
?
第一處配置---預(yù)定義:
【這里只針對(duì)于STM32F103大容量芯片,其他芯片視情況而定】
預(yù)定義STM32F10X_HD,有些工程還預(yù)定義USE_STDPERIPH_DRIVER。由于都是使用“標(biāo)準(zhǔn)外設(shè)庫”,我個(gè)人習(xí)慣把USE_STDPERIPH_DRIVER,定義在stm32f10x.h文件里面,所以在這里就看不到我定義的這一項(xiàng)了。
?
第二處配置---包含路徑:
由于我們前面工程中有很多文件夾,因此需要添加對(duì)應(yīng)的路徑,這樣編譯器才能找得到。
·
·
一步一步添加,直到最后完成
·
·
?
D.選擇下載調(diào)試工具
這個(gè)選項(xiàng)根據(jù)自己的下載調(diào)試器來選擇(比如:ST-Link)
E.下載復(fù)位并運(yùn)行設(shè)置
有些初學(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新建的工程供大家下載。【如果沒有你對(duì)應(yīng)的芯片型號(hào),你又想得到,可以給我留言“STM32FXXXxxDemo?工程”。我會(huì)做一個(gè)統(tǒng)計(jì),如果某一型號(hào)芯片Demo工程有多人需要,我會(huì)考慮給你們寫的。】
?
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
?
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的【STM32】 keil新建工程模板的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【STM32】 Keil介绍、下载、安装
- 下一篇: 【STM32】 keil软件介绍--工具