0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32CubeMX和HAL驅(qū)動(dòng)庫(kù)的嵌入式系統(tǒng)設(shè)計(jì)淺談

黃工的嵌入式技術(shù)圈 ? 來(lái)源:黃工的嵌入式技術(shù)圈 ? 作者:黃工的嵌入式技術(shù) ? 2020-01-09 13:59 ? 次閱讀
1.課程詳情

嵌入式系統(tǒng)電子信息產(chǎn)業(yè)的基礎(chǔ),廣泛應(yīng)用于工業(yè)控制等領(lǐng)域。本課程選用ST公司STM32F4微控制器為載體,采用STM32CubeMX開(kāi)發(fā)工具及HAL驅(qū)動(dòng)庫(kù),以嵌入式硬件設(shè)計(jì)和軟件設(shè)計(jì)為主線,按照“最小系統(tǒng)電路設(shè)計(jì) → 開(kāi)發(fā)工具使用 → 片內(nèi)外設(shè)應(yīng)用” 的路徑,分層次、遞進(jìn)式的講授嵌入式系統(tǒng)的設(shè)計(jì)方法?!?課程團(tuán)隊(duì)

2.課程概述

嵌入式系統(tǒng)是電子信息產(chǎn)業(yè)的基礎(chǔ),是智能系統(tǒng)的核心,廣泛應(yīng)用于工業(yè)控制、汽車(chē)電子、智能家居、醫(yī)療器械和智能穿戴設(shè)備等眾多領(lǐng)域。伴隨物聯(lián)網(wǎng)人工智能的快速發(fā)展,嵌入式系統(tǒng)在智能系統(tǒng)中發(fā)揮著越來(lái)越大的作用。

《嵌入式系統(tǒng)設(shè)計(jì)》是電子信息類(lèi)專(zhuān)業(yè)的學(xué)科基礎(chǔ)課程。本課程選用意法半導(dǎo)體公司的STM32F4微控制器為載體,以嵌入式硬件設(shè)計(jì)和軟件設(shè)計(jì)為主線,結(jié)合工程實(shí)踐,按照“最小系統(tǒng)電路設(shè)計(jì) → 開(kāi)發(fā)工具使用 → 片內(nèi)外設(shè)應(yīng)用 ”的路徑,分層次、遞進(jìn)式的講授嵌入式系統(tǒng)的設(shè)計(jì)方法。

本課程使用了意法半導(dǎo)體公司STM32CubeMX開(kāi)發(fā)工具以及HAL驅(qū)動(dòng)庫(kù)完成微控制器的設(shè)計(jì)。STM32CubeMX軟件提供簡(jiǎn)潔的圖形化界面,設(shè)計(jì)者無(wú)需編寫(xiě)任何代碼,就可以完成引腳分配、時(shí)鐘設(shè)置和外設(shè)設(shè)置等初始化工作,并生成基于MDK-ARM等集成開(kāi)發(fā)環(huán)境的工程框架,使設(shè)計(jì)者可以更專(zhuān)注于應(yīng)用層代碼的編寫(xiě)。采用庫(kù)函數(shù)的編程方式可以不必了解硬件寄存器的含義,利用庫(kù)函數(shù)提供的接口函數(shù)快速實(shí)現(xiàn)功能?;趫D形化的配置方式和庫(kù)函數(shù)的編程方式使得初學(xué)者可以快速入門(mén)嵌入式系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā),降低了學(xué)習(xí)的門(mén)檻。

本課程與工程實(shí)踐緊密結(jié)合,課程中融入了電路設(shè)計(jì)軟件的使用、硬件抽象層設(shè)計(jì)、狀態(tài)機(jī)設(shè)計(jì)和通信協(xié)議設(shè)計(jì)等實(shí)用的工程技能,注重培養(yǎng)學(xué)生解決復(fù)雜工程問(wèn)題的能力。

本課程的硬件平臺(tái)選用意法半導(dǎo)體公司的官方開(kāi)發(fā)板Nucleo-F411RE。該開(kāi)發(fā)板采用USB接口供電,集成ST-Link仿真器,板載基本的指示燈和按鍵,并設(shè)計(jì)了Arduino UNO的接口,方便用戶接入Arduino生態(tài)圈的擴(kuò)展板。NucleoF411RE開(kāi)發(fā)板價(jià)格便宜,不足百元,可以很方便地在淘寶等購(gòu)物平臺(tái)購(gòu)買(mǎi)。

各教學(xué)單元的內(nèi)容及學(xué)時(shí)分配如下:

1、嵌入式系統(tǒng)概要:4學(xué)時(shí)

2、STM32F4微控制器電路設(shè)計(jì):4學(xué)時(shí)

3、STM32微控制器開(kāi)發(fā)環(huán)境的搭建:2學(xué)時(shí)

4、STM32CubeMX軟件的使用:2學(xué)時(shí)

5、MDK-ARM開(kāi)發(fā)軟件的使用:4學(xué)時(shí)

6、通用輸入/輸出接口:8學(xué)時(shí)

7、外部中斷:4學(xué)時(shí)

8、定時(shí)器:8學(xué)時(shí)

9、串口通信:8學(xué)時(shí)

3.授課目標(biāo)

通過(guò)課程的學(xué)習(xí),要求學(xué)生掌握嵌入式系統(tǒng)的基礎(chǔ)知識(shí);熟練掌握Cortex-M4內(nèi)核微控制器的內(nèi)部結(jié)構(gòu)及片內(nèi)外設(shè)的應(yīng)用。掌握嵌入式系統(tǒng)的設(shè)計(jì)及軟硬件調(diào)試方法。能夠設(shè)計(jì)、調(diào)試簡(jiǎn)單的嵌入式系統(tǒng),使學(xué)生初步具備實(shí)際工作的能力。

4.課程大綱

01.嵌入式系統(tǒng)概要

掌握嵌入式系統(tǒng)的概念和組成;了解嵌入式系統(tǒng)的編程模式及程序開(kāi)發(fā)方式;了解硬件抽象層設(shè)計(jì)思想。

02.STM32微控制器硬件電路設(shè)計(jì)

了解STM32微控制器的特點(diǎn);掌握Nucleo開(kāi)發(fā)板的設(shè)計(jì)原理;熟練應(yīng)用電路設(shè)計(jì)軟件完成微控制器最小系統(tǒng)設(shè)計(jì)。

03.STM32微控制器開(kāi)發(fā)環(huán)境的搭建

了解STM32Cube生態(tài)系統(tǒng)的組成;了解STM32CubeMX軟件的開(kāi)發(fā)特點(diǎn)及開(kāi)發(fā)流程;完成STM32開(kāi)發(fā)環(huán)境的搭建。

04.STM32CubeMX軟件的使用

了解HAL庫(kù)的基本特點(diǎn);熟練掌握STM32CubeMX的使用流程;熟練掌握MDK軟件的程序編寫(xiě)和程序下載方法。

05.MDK-ARM開(kāi)發(fā)軟件的使用

熟練掌握MDK-ARM的使用流程;熟練掌握軟件的調(diào)試方式;了解MDK-ARM軟件的RTE工具。

06.通用輸入輸出接口

了解GPIO的功能和特點(diǎn);掌握基于寄存器和基于庫(kù)函數(shù)的程序開(kāi)發(fā)方式;了解庫(kù)函數(shù)的設(shè)計(jì)思想;掌握硬件抽象層的設(shè)計(jì)思想和實(shí)現(xiàn)方法。

07.外部中斷

掌握中斷的基本概念和作用;了解HAL庫(kù)的中斷處理流程;熟練運(yùn)用外部中斷進(jìn)行程序設(shè)計(jì)。

08.定時(shí)器

了解定時(shí)器的功能和特點(diǎn);了解HAL庫(kù)的外設(shè)模塊設(shè)計(jì)方法;熟練掌握定時(shí)器的定時(shí)功能使用方法;熟練掌握定時(shí)器的PWM功能使用方法。

09.串口通信

了解通信的基本概念;了解HAL庫(kù)的外設(shè)初始化設(shè)計(jì)思想;熟練掌握輪詢方式下的串口通信編程方法;熟練掌握中斷方式下的串口通信編程方法。

5.預(yù)備知識(shí)

本課程的學(xué)習(xí)需要C語(yǔ)言程序設(shè)計(jì)和電子線路設(shè)計(jì)等預(yù)備課程的知識(shí)。

6.參考資料

[1] (英)Joseph Yiu著。宋巖譯。 ARM Cortex-M3權(quán)威指南。 北京: 北京航空航天大學(xué)出版社,2009.[2] 劉火良。 STM32庫(kù)開(kāi)發(fā)實(shí)戰(zhàn)指南(第二版)[M]。 北京: 電子工業(yè)出版社, 2018.[3] 高顯生。 STM32F0實(shí)戰(zhàn)—基于HAL庫(kù)開(kāi)發(fā)[M]。 北京: 機(jī)械工業(yè)出版社, 2019.

7.常見(jiàn)問(wèn)題

[1]硬件平臺(tái):Nucleo-F411RE開(kāi)發(fā)板,可在意法半導(dǎo)體的官方淘寶店購(gòu)買(mǎi)[2]STM32CubeMX軟件下載地址:http://www.st.com/stm32cubemx[3]MDK-ARM軟件下載地址:http://www.keil.com/download/product/

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3534

    瀏覽量

    128994
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    4624

    瀏覽量

    87004
  • 驅(qū)動(dòng)庫(kù)

    關(guān)注

    0

    文章

    9

    瀏覽量

    7151
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    七大嵌入式GUI盤(pán)點(diǎn)

    的桌面開(kāi)發(fā)工具,該工具允許開(kāi)發(fā)人員在桌面上設(shè)計(jì)其GUI并生成GUIX代碼,然后可以將其導(dǎo)出到目標(biāo)。 嵌入式系統(tǒng)通常資源有限,包括內(nèi)存、處理能力和存儲(chǔ)空間。因此,要仔細(xì)評(píng)估 GUI 庫(kù)的資源需求,并進(jìn)
    發(fā)表于 09-02 10:58

    myST賬號(hào)無(wú)法注冊(cè)導(dǎo)致stm32cubemx無(wú)法下載hal庫(kù)的固件怎么解決?

    myST賬號(hào)無(wú)法注冊(cè)導(dǎo)致stm32cubemx無(wú)法下載hal庫(kù)的固件包,myST賬號(hào)注冊(cè)卡在最后的郵箱驗(yàn)證環(huán)節(jié),一直卡著無(wú)法注冊(cè)通過(guò) 很急很急!以前stm32cubemx都不需要登錄
    發(fā)表于 07-23 08:05

    stm32L051用cubemx庫(kù)配置不了CMOP是怎么回事?

    求教stm32L051用cubemx庫(kù)配置不了CMOP? 我用STM32CUBEMX配置了COMP1,程序里運(yùn)行了初始化函數(shù)MX_COMP1_Init();(
    發(fā)表于 05-06 07:07

    使用stm32CubeMx時(shí),設(shè)置DMA為Circular模式會(huì)被HAL_ADC_Start_DMA阻塞為什么?

    在使用stm32CubeMx時(shí)遇到一個(gè)問(wèn)題,我在用DMA方式獲取ADC數(shù)據(jù)時(shí),設(shè)置DMA為Circular模式會(huì)被HAL_ADC_Start_DMA阻塞,不懂為什么會(huì)這樣,后來(lái)?yè)Q了F103芯片也一樣
    發(fā)表于 04-25 08:12

    STM32cubemx庫(kù)和KEIL的庫(kù)有什么不同?

    STM32cubemx軟件有對(duì)應(yīng)各個(gè)系列芯片的庫(kù). 使用cubemx,生成代碼框架,比如生成MDK的代碼框架。但MDK也有自己的PACK。那么MDK的PACK和CUBEMX
    發(fā)表于 04-11 06:02

    求助,關(guān)于HAL庫(kù)HAL_UART_Receive使用問(wèn)題求解

    使用HAL_UART_Receive()接收數(shù)據(jù)的時(shí)候就接收不到數(shù)據(jù)了,但是程序還是一直在運(yùn)行,只是無(wú)法接收到數(shù)據(jù)了。我查了挺久都沒(méi)找到是為什么。求大佬解釋?zhuān)。。。。∠旅媸俏覍?xiě)的串口接收的部分程序,整體程序是使用STM32CubeMX生成的
    發(fā)表于 04-10 07:25

    STM32CubeMX生成代碼軟件卡死的原因?怎么解決?

    STM32CubeMX 生成代碼 軟件卡死!在生成代嗎時(shí),一直卡死在如圖所示的狀態(tài),進(jìn)度條一直就不走了。試過(guò)多次,一直如此。請(qǐng)問(wèn)如何解決該問(wèn)題,原因可能是什么?STM32CubeMX版本5.1.0
    發(fā)表于 04-10 06:03

    STM32CubeMX HAL_UART_Receive函數(shù)怎么使用?

    STM32CubeMX HAL_UART_Receive函數(shù)的使用
    發(fā)表于 04-03 08:19

    stm32f1如何將外部中斷關(guān)掉hal庫(kù)

    STM32F1系列微控制器是STMicroelectronics制造的32位ARM Cortex-M3內(nèi)核的嵌入式微控制器系列。該系列采用了HAL庫(kù)(Hardware Abstract
    的頭像 發(fā)表于 12-22 13:52 ?2958次閱讀

    使用STM32 HAL庫(kù)進(jìn)行GPIO控制的實(shí)例

    在基于STM32微控制器的嵌入式系統(tǒng)開(kāi)發(fā)中,GPIO(GeneralPurposeInput/Output)控制是其中最基本、最常見(jiàn)的操作之一。通過(guò)使用STM32
    的頭像 發(fā)表于 12-21 15:22 ?2804次閱讀

    基于STM32CUBEMX驅(qū)動(dòng)低壓步進(jìn)器電機(jī)驅(qū)動(dòng)器STSPIN220(2)----驅(qū)動(dòng)STSPIN220

    本文檔的目標(biāo)是提供關(guān)于使用STM32CubeMX驅(qū)動(dòng)低壓步進(jìn)電機(jī)驅(qū)動(dòng)器STSPIN220的詳盡信息和操作指南。通過(guò)本文檔,將深入了解如何利用STM32CubeMX來(lái)配置電機(jī)
    的頭像 發(fā)表于 12-01 15:25 ?861次閱讀
    基于<b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>驅(qū)動(dòng)</b>低壓步進(jìn)器電機(jī)<b class='flag-5'>驅(qū)動(dòng)</b>器STSPIN220(2)----<b class='flag-5'>驅(qū)動(dòng)</b>STSPIN220

    stm32cube怎么安裝 STM32CubeMX安裝步驟教程

    STM32CubeMXSTM32芯片圖形化配置工具,通過(guò)簡(jiǎn)單的操作便能實(shí)現(xiàn)相關(guān)配置,省去了我們配置各種外設(shè)的時(shí)間,支持MDK、IAR For ARM、TrueStudio等多種工具。
    發(fā)表于 11-14 12:37 ?1535次閱讀
    <b class='flag-5'>stm32</b>cube怎么安裝 <b class='flag-5'>STM32CubeMX</b>安裝步驟教程

    STM8CubeMXSTM32CubeMX功能一樣嗎?

    STM8CubeMXSTM32CubeMX功能一樣嗎?
    的頭像 發(fā)表于 10-31 16:59 ?1648次閱讀
    STM8<b class='flag-5'>CubeMX</b>和<b class='flag-5'>STM32CubeMX</b>功能一樣嗎?

    STM32 HAL庫(kù)串口同時(shí)收發(fā),接收卡死?

    STM32 HAL庫(kù)串口同時(shí)收發(fā),接收卡死? 為什么STM32 HAL庫(kù)串口會(huì)出現(xiàn)同時(shí)收發(fā)導(dǎo)致接
    的頭像 發(fā)表于 10-26 17:42 ?3283次閱讀

    STM32 HAL庫(kù)串口收發(fā)是如何使用的?

    STM32 HAL庫(kù)串口收發(fā)是如何使用的? STM32是一款高性能的微控制器,它擁有廣泛的應(yīng)用領(lǐng)域,其中包括了各種通訊應(yīng)用,如UART串口通訊。HA
    的頭像 發(fā)表于 10-26 17:42 ?1135次閱讀