當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > STM32cubeMX軟件安裝與使用
1、STM32cube簡(jiǎn)介
功能強(qiáng)大的STM32Cube新軟件平臺(tái)由設(shè)計(jì)工具、中間件和硬件抽象層組成,讓客戶能夠集中精力創(chuàng)新,,2014年3月10日 ——橫跨多重電子應(yīng)用領(lǐng)域的全球的半導(dǎo)體供應(yīng)商、全球的ARM Cortex-M內(nèi)核微控制器廠商意法半導(dǎo)體(STMicroelectronics,簡(jiǎn)稱ST)針對(duì)STM32微控制器推出一套免費(fèi)的功能強(qiáng)大的設(shè)計(jì)工具及軟件STM32CubeTM。新開發(fā)平臺(tái)可簡(jiǎn)化客戶的開發(fā)項(xiàng)目,縮短項(xiàng)目研發(fā)周期,并進(jìn)一步強(qiáng)化STM32在電子設(shè)計(jì)人員心目中解決創(chuàng)新難題的首選微控制器的地位。
STM32CubeMX開發(fā)平臺(tái)包括STM32CubeMX圖形界面配置器及初始化C代碼生成器和各種類型的嵌入式軟件。配置初始化工具能夠一步一步地引導(dǎo)用戶完成微控制器配置,而嵌入式軟件將為用戶省去整合不同廠商軟件的繁瑣工作。嵌入式軟件包括一個(gè)新的硬件抽象層(HAL,Hardware Abstraction Layer),用于簡(jiǎn)化代碼在STM32產(chǎn)品之間的移植過程。通過在一個(gè)軟件包內(nèi)整合在STM32微控制器上開發(fā)應(yīng)用所需的全部通用軟件,該平臺(tái)根除了評(píng)估每個(gè)軟件之間關(guān)聯(lián)性的復(fù)雜任務(wù)。STM32Cube提供數(shù)千個(gè)用例和一個(gè)軟件更新功能,方便用戶快捷高效的獲取新版本的軟件。
STM32Cube 是一個(gè)全面的軟件平臺(tái),包括了ST產(chǎn)品的每個(gè)系列。(如,STM32CubeF4 是針對(duì)STM32F4系列).平臺(tái)包括了STM32Cube 硬件抽象層和一套的中間件組件(RTOS,USB,F(xiàn)S,TCP/IP, Graphics,等等).
C代碼項(xiàng)目產(chǎn)生,涵蓋STM32初始化部分。兼容IAR, KEIL和GCC編譯器。
1、STM32cubeMX的獲取
關(guān)于STM32cubeMX軟件我們是在ST公司官網(wǎng)獲取的,具體的下載地址:
//www.st.com/web/en/web/catalog/tools/FM147/CL1794/SC961/SS1533/PF259242?icmp=259242_prom_ss1574_jun2014
在ST官網(wǎng)上的查找路徑:
Home > Tools and Software > Software > MCU Software > STM32 MCUS Software > STM32 Software Development Tools > STM32CubeMX
STM32系列芯片固件庫(kù)的獲取:
//www.st.com/web/en/catalog/tools/FM147/CL1794/SC961
在ST官網(wǎng)上的查找路徑:
Home > Tools and Software > Software > MCU Software > STM32 MCUs Software
2、STM32cubeMX的安裝
在安裝STM32cubeMX之前需要先安裝Java SDK開發(fā)工具包,沒有Java SDK的支持STM32cubeMX就無法正常工作,我們這里安裝的是JavaSetup8u51.exe,下面看一下具體的的安裝步驟:
首先雙擊我們的Java SDK的安裝文件:
如果想改變工具包的安裝路徑,就需要將下面的選項(xiàng)勾選上:
然后點(diǎn)擊安裝,開始Java SDK的安裝,大約兩分鐘的時(shí)間:
根據(jù)需要修改目標(biāo)文件夾的路徑,好就安裝到STM32cubeMX的安裝文件夾中,然后點(diǎn)擊下一步,即可完成Java SDK的安裝。
如果出現(xiàn)檢測(cè)到版本過期點(diǎn)擊以后提醒就ok:
下面開始安裝STM32cubeMX:
首先從官網(wǎng)上獲取到STM32cubeMX軟件安裝包,解壓:
雙擊該安裝程序:
點(diǎn)擊Next,進(jìn)行下一步操作:
勾選圖中對(duì)應(yīng)選項(xiàng),點(diǎn)擊Next進(jìn)行下一步操作:
選擇對(duì)應(yīng)的安裝目錄,需要注意的是安裝目錄中盡量不含中文,然后點(diǎn)擊Next進(jìn)行下一步操作:
等待安裝完成,點(diǎn)擊Next進(jìn)行下一步操作:
點(diǎn)擊Done,完成STM32cubeMX的安裝工作:
這樣STM32cubeMX軟件我們就安裝好了,接下來我們需要為該圖形化軟件配置對(duì)應(yīng)的固件庫(kù),固件庫(kù)的下載地址在一節(jié)中已經(jīng)提到了,具體的配置過程如下:
為了方便,首先將下載好的固件庫(kù)放到STM32cubeMX軟件的安裝目錄下:
解壓后得到如下文件(注意,解壓后的文件可能不是下圖所示的文件,請(qǐng)?jiān)诮鈮汉蟮奈募锩鎸⑾聢D文件夾提出來):
雙擊桌面的STM32cubeMX的快捷圖標(biāo),在工具欄中點(diǎn)擊Help->Check for Updates
點(diǎn)擊Check,完成之后,點(diǎn)擊close
然后點(diǎn)擊工具欄Help->Install New Libraries
點(diǎn)擊check:
我們可以看到,已經(jīng)正確識(shí)別了的固件庫(kù),F(xiàn)irmware Package for Family STM32F4 1.7.0:
3、STM32cubeMX的使用
如何選擇芯片:
雙擊STM32CubeMX快捷圖標(biāo),點(diǎn)擊New Project
參考下圖,選擇我們需要的芯片,我們這里選擇的是,STM32F407,176腳封裝的芯片:
這里選擇好后,點(diǎn)擊下面的OK即可:
我們可以看到彈出一個(gè)圖形化的配置界面:
如何配置工程:
在配置工程之前我們先簡(jiǎn)單介紹一下,怎么使用這個(gè)軟件,還有使用這個(gè)軟件的時(shí)候需要注意的地方。
我們先看一下STM32cubeMX軟件主界面的分布圖:
然后我們可以一起創(chuàng)建一個(gè)簡(jiǎn)單的LED燈的工程,讓大家能盡快的熟悉這個(gè)軟件的使用:
我們想創(chuàng)建一個(gè)點(diǎn)LED燈的工程,在創(chuàng)建工程之前,需要先搞清楚,哪個(gè)引腳控制LED燈,這就需要在原理圖中去看了,下面就是我們的LED燈的電路圖:
由上圖可以看到,如果我們需要點(diǎn)亮D6燈的話,需要操作的引腳是PF7,接下來,我們開始操作說了半天還沒用的這款神奇軟件了。由于這款芯片的引腳比較多,要一個(gè)個(gè)去找引腳可能比較費(fèi)勁,所以在下圖提示的地方輸入想操作的引腳,就會(huì)很快找到:
找到PF7引腳后,單擊該引腳(不是右擊),可以看到我們能對(duì)該引腳進(jìn)行的操作有這么幾個(gè)選項(xiàng):
我們這里點(diǎn)燈,只需要將引腳設(shè)置為輸出,給一個(gè)低電平即可,由上圖可以看到有一個(gè)GPIO_Output選項(xiàng),點(diǎn)擊它,這樣我們就將PF7引腳配置成輸出模式了,是不是很方便呢,其實(shí)我們只做點(diǎn)燈程序的話工程已經(jīng)配置好了,接下來需要自動(dòng)生成源代碼,在源代碼中添加相應(yīng)的邏輯語句即可:
可以看到點(diǎn)擊生成源代碼按鈕后彈出一個(gè)對(duì)話框,需要我們輸入工程名,指定工程的存放路徑,以及我們使用的IDE(我們使用的是MDK-ARM V5,在第一章中已經(jīng)安裝過了),下面我們一一對(duì)這些進(jìn)行配置:
配置完工程的一些屬性后,我們還需要配置生成源代碼時(shí)的一些細(xì)節(jié),這些細(xì)節(jié)可以為我們的工程增色不少。如下圖,點(diǎn)擊Code Generator,在Generated files一欄中勾選第一項(xiàng),這里勾選的目的是,在工程生成源代碼的時(shí)候,會(huì)將每個(gè)外圍設(shè)備分類處理,舉個(gè)簡(jiǎn)單的例子,我們?cè)谀硞(gè)工程中可能會(huì)使用到GPIO的操作,串口的操作,I2C的操作等等,如果我們勾選了這個(gè)選項(xiàng),那么在工程文件中,就會(huì)將GPIO的相關(guān)操作放到一個(gè)GPIO.c的文件中,將串口的操作放到uart.c的文件中,將I2C的操作放到I2C.c的文件中,這樣我們查看程序的時(shí)候就可以一目了然了。勾選完這個(gè)選項(xiàng)后,點(diǎn)擊OK就可以生成源代碼工程了:
點(diǎn)擊OK后,會(huì)彈出一個(gè)對(duì)話框,我們點(diǎn)擊Open Project 就可以打開生成的工程文件:
下面我們需要在main.c中加入一些邏輯代碼,使LED燈實(shí)現(xiàn)閃爍的效果,但是我們要注意,使用STM32CubeMx軟件生成的工程文件,添加代碼時(shí),必須要在固定的位置添加,如果在其它地方添加代碼,再次重新生成工程后,我們添加的代碼就消失了。不過在生成的工程文件中很容易會(huì)發(fā)現(xiàn)可以添加代碼的字段標(biāo)志,每個(gè)字段都是以USER CODE BEGIN開始,以USER CODE END結(jié)束,我們只需將代碼添加到這個(gè)標(biāo)志中間即可,如下圖所示:
下面我們?cè)谥骱瘮?shù)中,添加亮燈和滅燈的邏輯語句:
添加完程序后,保存編譯,將程序下載到開發(fā)板,會(huì)看到如下現(xiàn)象,說明我們的工程創(chuàng)建成功。(程序的編譯和下載工程請(qǐng)參考前一章的介紹):