電子產業(yè)一站式賦能平臺

PCB聯(lián)盟網

搜索
查看: 1733|回復: 0
收起左側

武漢嵌入式技術培訓_STM32CubeMX和HAL驅動庫的嵌入式系統(tǒng)設計淺談

[復制鏈接]

2607

主題

2607

帖子

7472

積分

高級會員

Rank: 5Rank: 5

積分
7472
跳轉到指定樓層
樓主
發(fā)表于 2020-7-21 14:05:05 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
武漢嵌入式技術培訓_STM32CubeMX和HAL驅動庫的嵌入式系統(tǒng)設計淺談,   
    1.課程詳情


  嵌入式系統(tǒng)是電子信息產業(yè)的基礎,廣泛應用于工業(yè)控制等領域。本課程選用ST公司的STM32F4微控制器為載體,采用STM32CubeMX開發(fā)工具及HAL驅動庫,以嵌入式硬件設計和軟件設計為主線,按照“最小系統(tǒng)電路設計 → 開發(fā)工具使用 → 片內外設應用” 的路徑,分層次、遞進式的講授嵌入式系統(tǒng)的設計方法。—— 課程團隊

  2.課程概述

  

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

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

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

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

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

  

  各教學單元的內容及學時分配如下:

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

  2、STM32F4微控制器電路設計:4學時

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

  4、STM32CubeMX軟件的使用:2學時

  5、MDK-ARM開發(fā)軟件的使用:4學時

  6、通用輸入/輸出接口:8學時

  7、外部中斷:4學時

  8、定時器:8學時

  9、串口通信:8學時

  3.授課目標

  通過課程的學習,要求學生掌握嵌入式系統(tǒng)的基礎知識;熟練掌握Cortex-M4內核微控制器的內部結構及片內外設的應用。掌握嵌入式系統(tǒng)的設計及軟硬件調試方法。能夠設計、調試簡單的嵌入式系統(tǒng),使學生初步具備實際工作的能力。

  4.課程大綱

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

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

  02.STM32微控制器硬件電路設計

  了解STM32微控制器的特點;掌握Nucleo開發(fā)板的設計原理;熟練應用電路設計軟件完成微控制器最小系統(tǒng)設計。

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

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

  04.STM32CubeMX軟件的使用

  了解HAL庫的基本特點;熟練掌握STM32CubeMX的使用流程;熟練掌握MDK軟件的程序編寫和程序下載方法。

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

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

  06.通用輸入輸出接口

  了解GPIO的功能和特點;掌握基于寄存器和基于庫函數的程序開發(fā)方式;了解庫函數的設計思想;掌握硬件抽象層的設計思想和實現方法。

  07.外部中斷

  掌握中斷的基本概念和作用;了解HAL庫的中斷處理流程;熟練運用外部中斷進行程序設計。

  08.定時器

  了解定時器的功能和特點;了解HAL庫的外設模塊設計方法;熟練掌握定時器的定時功能使用方法;熟練掌握定時器的PWM功能使用方法。

  09.串口通信

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

  5.預備知識

  本課程的學習需要C語言程序設計和電子線路設計等預備課程的知識。

  6.參考資料

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

  7.常見問題

 。1]硬件平臺:Nucleo-F411RE開發(fā)板,可在意法半導體的官方淘寶店購買[2]STM32CubeMX軟件下載地址:http://www.st.com/stm32cubemx[3]MDK-ARM軟件下載地址:http://www.keil.com/download/product/
回復

使用道具 舉報

發(fā)表回復

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關注微信 下載APP 返回頂部 返回列表