嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)-基于STM32L431、HAL庫(kù)和FreeRTOS 課件 項(xiàng)目二 搭建開發(fā)環(huán)境_第1頁(yè)
嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)-基于STM32L431、HAL庫(kù)和FreeRTOS 課件 項(xiàng)目二 搭建開發(fā)環(huán)境_第2頁(yè)
嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)-基于STM32L431、HAL庫(kù)和FreeRTOS 課件 項(xiàng)目二 搭建開發(fā)環(huán)境_第3頁(yè)
嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)-基于STM32L431、HAL庫(kù)和FreeRTOS 課件 項(xiàng)目二 搭建開發(fā)環(huán)境_第4頁(yè)
嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)-基于STM32L431、HAL庫(kù)和FreeRTOS 課件 項(xiàng)目二 搭建開發(fā)環(huán)境_第5頁(yè)
已閱讀5頁(yè),還剩48頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

項(xiàng)目二

搭建開發(fā)環(huán)境CONTENTS項(xiàng)目概述任務(wù)一

安裝嵌入式開發(fā)軟件任務(wù)二

編寫第一個(gè)嵌入式程序任務(wù)總結(jié)00項(xiàng)目概述項(xiàng)目概述項(xiàng)目描述:一是安裝嵌入式開發(fā)軟件,構(gòu)建CubeMX+MDK5的嵌入式開發(fā)環(huán)境,同時(shí)需要完成ST-Link驅(qū)動(dòng)程序和串口驅(qū)動(dòng)程序的安裝。二是掌握嵌入式程序開發(fā)流程,熟悉CubeMX+MDK5的開發(fā)模式,同時(shí)通過(guò)程序下載、在線調(diào)試、串口通信進(jìn)一步驗(yàn)證相關(guān)驅(qū)動(dòng)是否正常工作。

學(xué)習(xí)目標(biāo):知識(shí)目標(biāo):

了解相關(guān)的嵌入式開發(fā)軟件和開發(fā)工具。熟悉STM32CubeMX的配置流程,掌握MDK5軟件的使用方法。掌握CubeMX+MDK5的開發(fā)模式。素養(yǎng)目標(biāo):

能夠利用系統(tǒng)觀整體看待各個(gè)軟件在程序開發(fā)中的作用和相互聯(lián)系。01任務(wù)一:安裝嵌入式開發(fā)軟件任務(wù)一:安裝嵌入式開發(fā)軟件1任務(wù)描述:

集成開發(fā)環(huán)境IDE、仿真器以及串口調(diào)試工具安裝2任務(wù)分析:

選擇MDK5、STM32CubeMX3任務(wù)實(shí)現(xiàn):

相關(guān)軟件安裝4任務(wù)總結(jié):

為后續(xù)學(xué)習(xí)打下基礎(chǔ)1任務(wù)描述基于STM32的嵌入式系統(tǒng)開發(fā)需要開發(fā)軟件或者開發(fā)工具的支持,選擇合適的開發(fā)工具并能夠正確的安裝顯得尤為重要。本任務(wù)帶領(lǐng)大家選擇經(jīng)常使用到的開發(fā)工具,并教會(huì)這些工具的安裝方法。這些工具主要包括集成開發(fā)環(huán)境IDE、仿真器以及串口調(diào)試工具等。2任務(wù)分析常用的集成開發(fā)環(huán)境主要有MDK5、IAREmbeddedWorkbench、STM32CubeIDE以及VisualStudioCode。它們各有特色,可以根據(jù)需要和喜好選擇適合自己的開發(fā)工具,推薦使用MDK5。為了提高代碼編寫效率,建議使用STM32CubeMX。它是ST公司推出的一款用于STM32微控制器的圖形化配置工具,用于快速配置片內(nèi)外設(shè)的工作模式、參數(shù)等,并能夠生成基于MDK5的工程文件。程序編寫完成后需要調(diào)試和下載,常見調(diào)試和下載工具有J-Link、ST-Link、DAP等。采用ST-LINKV2仿真器CubeMX+MDK5的開發(fā)模式。3任務(wù)實(shí)現(xiàn)Jave運(yùn)行環(huán)境的安裝可在Java官網(wǎng)上下載安裝文件(地址為/zh-CN/download/)或者在軟件包中找到安裝文件jre-8u431-windows-x64。圖2-1

Java環(huán)境安裝向?qū)?任務(wù)實(shí)現(xiàn)Jave運(yùn)行環(huán)境的安裝圖2-2

Java環(huán)境安裝成功3任務(wù)實(shí)現(xiàn)安裝STM32CubeMX軟件STM32CubeMX軟件可以從ST官網(wǎng)下載(地址為/zh/development-tools/stm32cubemx.html),當(dāng)前最新版本是v6.13.0或者在軟件包中找到壓縮包en.stm32cubemx-win_v6-6-1(版本是v6.6.1)圖2-3

STM32CubeMX安裝路徑選擇3任務(wù)實(shí)現(xiàn)安裝STM32CubeMX軟件圖2-4

STM32CubeMX安裝完成3任務(wù)實(shí)現(xiàn)安裝STM32Cube固件庫(kù)包圖2-5添加STM32Cube固件庫(kù)包3任務(wù)實(shí)現(xiàn)安裝STM32Cube固件庫(kù)包圖2-6在線下載STM32CubeL4固件庫(kù)3任務(wù)實(shí)現(xiàn)安裝MDK5軟件MDK5的安裝包括安裝MDK5集成開發(fā)環(huán)境和所需的器件支持包。MDK軟件下載地址為/download/product/,目前最新版本是MDK-ARMVersion5.41。器件支持包下載地址為/devices/,找到STM32L4Series進(jìn)行下載。圖2-7MDK-ARMV5.25安裝向?qū)?任務(wù)實(shí)現(xiàn)安裝MDK5軟件圖2-8MDK-ARMV5.25安裝路徑選擇3任務(wù)實(shí)現(xiàn)安裝MDK5軟件圖2-9器件支持包的安裝界面3任務(wù)實(shí)現(xiàn)安裝ST-Link驅(qū)動(dòng)圖2-10STM32STLink設(shè)備不可用安裝ST-Link驅(qū)動(dòng)前,需要用杜邦線將ST-LINKV2調(diào)試器與開發(fā)板的SWD(SerialWireDebug)端口進(jìn)行連接。ST-LINKV2調(diào)試器的3.3V、GND、SWCLK、SWDIO分別與開發(fā)的3V3、GND、SWC、SWD連接。3任務(wù)實(shí)現(xiàn)安裝ST-Link驅(qū)動(dòng)圖2-11STM32STLink驅(qū)動(dòng)安裝解壓軟件包中的STLINK驅(qū)動(dòng)后,雙擊dpinst_amd64(64位機(jī))或dpinst_x86(32位機(jī))應(yīng)用程序進(jìn)行安裝,點(diǎn)擊下一步或者安裝將自動(dòng)完成安裝,如圖2-11所示,點(diǎn)擊完成結(jié)束安裝。3任務(wù)實(shí)現(xiàn)安裝CH342F驅(qū)動(dòng)圖2-12USB轉(zhuǎn)串口驅(qū)動(dòng)安裝界面安裝CH342F驅(qū)動(dòng)前,需要將USB轉(zhuǎn)Type-C線一端接入開發(fā)板的TYPE-C端口,另一端接入上位機(jī)的USB口。3任務(wù)實(shí)現(xiàn)安裝CH342F驅(qū)動(dòng)圖2-13查看USB轉(zhuǎn)串口是否安裝成功任務(wù)總結(jié)本節(jié)完成了基于STM32開發(fā)工具的選擇,涵蓋多種關(guān)鍵軟件或工具。02任務(wù)二:編寫第一個(gè)嵌入式程序任務(wù)二:編寫第一個(gè)嵌入式程序1任務(wù)描述:

帶大家編寫第一個(gè)嵌入式程序2任務(wù)分析:

軟件MDK5、STM32CubeMX的使用3任務(wù)實(shí)現(xiàn):

相關(guān)軟件使用過(guò)程4任務(wù)總結(jié):

為后續(xù)學(xué)習(xí)打下基礎(chǔ)1任務(wù)描述在任務(wù)一中進(jìn)行了開發(fā)軟件的安裝,但并不一定保證相關(guān)軟件正常工作。安裝了ST-Link驅(qū)動(dòng),但并不知道能否正常下載程序和調(diào)試程序。安裝了串口驅(qū)動(dòng)和串口助手,也不知道是否真的能夠接受到串口信息。本任務(wù)帶大家編寫第一個(gè)嵌入式程序,熟悉開發(fā)流程和驗(yàn)證相關(guān)軟件是否正常工作。2任務(wù)分析基于CubeMX+MDK5的開發(fā)環(huán)境,首先要利用STM32CubeMX對(duì)工程進(jìn)行配置,包括芯片型號(hào)選擇、時(shí)鐘配工程管理設(shè)置等,最終利用STM32CubeMX生成MDK5工程文件。其次,利用MDK5進(jìn)行程序開發(fā),包括在MDK5中進(jìn)行工程配置、在MDK5中進(jìn)行程序編寫、在MDK5中進(jìn)行程序調(diào)試。通過(guò)對(duì)STM32CubeMX和MDK5軟件的使用初步了解嵌入式程序開發(fā)流程,同時(shí)通過(guò)程序下載、在線調(diào)試、串口通信進(jìn)一步驗(yàn)證相關(guān)驅(qū)動(dòng)的有效性。3任務(wù)實(shí)現(xiàn)利用STM32CubeMX工具進(jìn)行工程配置打開STM32CubeMX,點(diǎn)擊File—>NewProject,也可點(diǎn)擊StartMyprojectfromMCU進(jìn)入MCU選擇界面,如圖2-14所示。圖2-14新建工程界面3任務(wù)實(shí)現(xiàn)利用STM32CubeMX工具進(jìn)行工程配置在MCU選擇界面中的搜索框中輸入STM32L431RC,在右下角選擇具體的主芯片型號(hào)STM32L431RCT6,然后點(diǎn)擊StartProject進(jìn)入具體的配置界面,如圖2-15所示。圖2-15芯片型號(hào)選擇3任務(wù)實(shí)現(xiàn)利用STM32CubeMX工具進(jìn)行工程配置選擇ClockConfiguaration選項(xiàng)卡,在HCK(MHz)中輸入80然后回車確定,即將系統(tǒng)時(shí)鐘從4MHz配置成了最大值80MHz,如圖所示2-16所示。圖2-16配置系統(tǒng)時(shí)鐘3任務(wù)實(shí)現(xiàn)利用STM32CubeMX工具進(jìn)行工程配置在Pinout&Configuration選項(xiàng)卡中,左擊PB5后選擇GPIO_Output(將PB5設(shè)置成輸出,該管腳接了一個(gè)LED紅燈),如圖2-17所示。圖2-17設(shè)置PB5為輸出3任務(wù)實(shí)現(xiàn)利用STM32CubeMX工具進(jìn)行工程配置在Pinout&Configuration選項(xiàng)卡的GPIOModeandConfiguration中設(shè)置PB5管腳的GPIOoutputlevel(輸出電平)為High(高電平),在UserLabel(用戶標(biāo)簽)中輸入LED_RED,其它參數(shù)保持默認(rèn),可以看到PB5管腳上的標(biāo)簽變成了LED_RED,如圖2-18所示。圖2-18配置PB5的相關(guān)參數(shù)3任務(wù)實(shí)現(xiàn)利用STM32CubeMX工具進(jìn)行工程配置在Pinout&Configuration選項(xiàng)卡中選擇Connectivity中的USART2,并在Mode中選擇Asynchronous(異步通信模式),開啟串口2,相應(yīng)管腳自動(dòng)被標(biāo)記,如圖2-19所示。注意串口的傳輸速率為115200Bits/s。圖2-19配置串口的相關(guān)參數(shù)3任務(wù)實(shí)現(xiàn)利用STM32CubeMX工具進(jìn)行工程配置在Pinout&Configuration選項(xiàng)卡中選擇SystemCore中的SYS,并在Debug(調(diào)試)中選擇SerialWire(SWD,串行調(diào)試),相應(yīng)管腳自動(dòng)被標(biāo)記,如圖2-20所示。圖2-20配置調(diào)試的相關(guān)參數(shù)3任務(wù)實(shí)現(xiàn)利用STM32CubeMX工具進(jìn)行工程配置在ProjectManager選項(xiàng)卡中選擇Project,并在ProjectName中設(shè)置工程名稱為Myfirts_Project,設(shè)置工程的存放位置,設(shè)置IDE為MDK-ARM,版本為v5,如圖2-21所示。圖2-21工程管理中的配置3任務(wù)實(shí)現(xiàn)利用STM32CubeMX工具進(jìn)行工程配置在ProjectManager選項(xiàng)卡中選擇CodeGenerator,并在Generatedfiles中勾選“Generateperipheralinitializationas...”。然后點(diǎn)擊右上角的GENERATECODE生成代碼,最后點(diǎn)擊OpenProject,STM32CubeMX自動(dòng)調(diào)用MDK5打開工程。圖2-22生成代碼3任務(wù)實(shí)現(xiàn)利用MDK5軟件進(jìn)行程序開發(fā)點(diǎn)擊工具欄中的“OptionsforTarget...”工具,選擇Target標(biāo)簽,勾選UseMicroLIB選項(xiàng),如圖2-23所示。該選項(xiàng)用于支持printf實(shí)現(xiàn)串口打印。圖2-23勾選UseMicroLIB選項(xiàng)3任務(wù)實(shí)現(xiàn)利用MDK5軟件進(jìn)行程序開發(fā)選擇Output標(biāo)簽,勾選“CreatHEXFile”和“BrowseInformation”選項(xiàng)。CreatHEXFile用于MDK編譯出.hex文件,BrowseInformation用于MDK生成瀏覽信息文件,可輔助瀏覽代碼。選擇Debug標(biāo)簽,在“Use:”中選擇ST-LinkDebugger,如圖2-24所示。圖2-24選項(xiàng)ST-Link調(diào)試器3任務(wù)實(shí)現(xiàn)利用MDK5軟件進(jìn)行程序開發(fā)點(diǎn)擊圖2-24右側(cè)的Settings,進(jìn)入圖2-25的界面,看到ST-LINK/V2的相關(guān)信息。圖2-25選項(xiàng)ST-Link調(diào)試器3任務(wù)實(shí)現(xiàn)利用MDK5軟件進(jìn)行程序開發(fā)點(diǎn)擊圖2-25中的FlashDownload標(biāo)簽,勾選ResetandRun,并且需要添加編程算法,如圖2-26所示。ResetandRun用于下載完程序后自動(dòng)復(fù)位并運(yùn)行。在圖2-26界面中設(shè)置完成后點(diǎn)擊確定,返回圖2-23界面點(diǎn)擊ok,完成整個(gè)工程配置。圖2-26設(shè)置下載功能和編程算法3任務(wù)實(shí)現(xiàn)利用MDK5軟件進(jìn)行程序開發(fā)在MDK5中,點(diǎn)擊Project窗口中Application/User/Core前面的+號(hào)展開目錄,雙擊main.c文件,打開main.c文件。點(diǎn)擊工具欄中的Rebuildalltargetfiles對(duì)整個(gè)工程的文件進(jìn)行編譯。編譯結(jié)果提示“0Error(s),0Warning(s)”,表示程序不存在語(yǔ)法錯(cuò)誤,如圖2-27所示。圖2-27編譯STM32CubeMX生成的代碼3任務(wù)實(shí)現(xiàn)利用MDK5軟件進(jìn)行程序開發(fā)下來(lái)編寫代碼實(shí)現(xiàn)紅色LED的閃爍以及串口打印輸出信息。在main.c的/*USERCODEBEGINIncludes*/和/*USERCODEENDIncludes*/之間添加如下代碼:/*USERCODEBEGINIncludes*/#include"stdio.h"http://包含所需的頭文件/*USERCODEENDIncludes*/3任務(wù)實(shí)現(xiàn)利用MDK5軟件進(jìn)行程序開發(fā)在main.c的/*USERCODEBEGIN0*/和/*USERCODEEND0*/之間添加如下代碼:/*USERCODEBEGIN0*/intfputc(intch,FILE*f)//用于支持printf實(shí)現(xiàn)串口打印{ if(HAL_UART_Transmit(&huart2,(uint8_t*)&ch,1,0xffff)==HAL_OK) { returnch; } else { returnHAL_ERROR; }}/*USERCODEEND0*/3任務(wù)實(shí)現(xiàn)利用MDK5軟件進(jìn)行程序開發(fā)在main()函數(shù)while循環(huán)中的/*USERCODEBEGIN3*/和/*USERCODEEND3*/之間添加如下代碼:while(1){/*USERCODEENDWHILE*//*USERCODEBEGIN3*/ printf("Thisismyfirstproject\r\n");//串口打印輸出信息HAL_GPIO_WritePin(LED_RED_GPIO_Port,LED_RED_Pin,GPIO_PIN_RESET); HAL_Delay(1000); HAL_GPIO_WritePin(LED_RED_GPIO_Port,LED_RED_Pin,GPIO_PIN_SET); HAL_Delay(1000);}/*USERCODEEND3*/3任務(wù)實(shí)現(xiàn)利用MDK5軟件進(jìn)行程序開發(fā)代碼編寫完成后,點(diǎn)擊工具欄的Build對(duì)目標(biāo)文件進(jìn)行編譯。若沒(méi)有語(yǔ)法錯(cuò)誤,則可點(diǎn)擊下載工具欄中的LOAD將程序下載到STM32中去運(yùn)行,信息提示框中顯示下載已經(jīng)完成,如圖2-28所示。圖2-28編譯并下載工程文件3任務(wù)實(shí)現(xiàn)利用MDK5軟件進(jìn)行程序開發(fā)下載后,需要看看運(yùn)行效果并判斷運(yùn)行結(jié)果是否與預(yù)期吻合??梢钥吹介_發(fā)板上LED紅燈已經(jīng)開始閃爍并且通過(guò)串口助手工具打印出來(lái)相關(guān)信息,如圖2-29所示。注意選擇正確的COMPort端口號(hào),設(shè)置波特率為115200Bits/s,并點(diǎn)擊OpenPort。圖2-29串口助手中顯示的信息3任務(wù)實(shí)現(xiàn)利用MDK5進(jìn)行程序調(diào)試在MDK的IDE界面,編譯一下工程。然后點(diǎn)擊工具欄中的開始/停止仿真按鈕進(jìn)入調(diào)試界面。注意保持開發(fā)板通過(guò)ST-LINKV2與電腦正常連接,如圖2-30所示。圖2-30開始在線調(diào)試3任務(wù)實(shí)現(xiàn)利用MDK5進(jìn)行程序調(diào)試工具欄左側(cè)常用工具有RST復(fù)位按鈕、Run全速運(yùn)行和Step單步運(yùn)行。調(diào)試過(guò)程中需要重新運(yùn)行或者程序跑飛時(shí),需要點(diǎn)擊RST復(fù)位按鈕,程序?qū)念^開始運(yùn)行。選擇Run全速運(yùn)行模式則程序運(yùn)行到下一個(gè)斷點(diǎn)處。此外還需通過(guò)合理設(shè)置斷點(diǎn)讓程序停止在需要驗(yàn)證運(yùn)行效果或觀察相關(guān)變量的位置。點(diǎn)擊左側(cè)灰色區(qū)域可以設(shè)置斷點(diǎn),設(shè)置成功后會(huì)有個(gè)紅色小點(diǎn),如圖2-31所示圖2-31設(shè)置斷點(diǎn)進(jìn)行在線調(diào)試3任務(wù)實(shí)現(xiàn)利用MDK5進(jìn)行程序調(diào)試在main()/*USERCODEBEGIN1*/和/*USERCODEEND1*/之間定義變量counter,初始值為0,代碼如下:/*USER

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論