嵌入式系統及套用(蘇州大學提供的慕課)

嵌入式系統及套用(蘇州大學提供的慕課)

本詞條是多義詞,共5個義項
更多義項 ▼ 收起列表 ▲

嵌入式系統及套用課程是蘇州大學於2017年04月10日首次在中國大學MOOC開設的慕課、國家精品線上開放課程。該課程授課教師是王宜懷、王林、張建、劉長勇。據2021年3月中國大學MOOC官網顯示,該課程已開課9次。

嵌入式系統及套用課程共有五單元,14章,包括ARM Cortex-M0+處理器、存儲映像、中斷源與硬體最小系統、第一個樣例程式及工程組織、構件化開發方法與底層驅動構件封裝規範、串列通信模組及第一個中斷程式結構、定時器相關模組等內容。

基本介紹

  • 中文名:嵌入式系統及套用
  • 授課老師:王宜懷、王林、張建、劉長勇
  • 類 別:慕課、國家精品線上開放課程
  • 提供院校:蘇州大學
  • 授課平台:中國大學MOOC
  • 開課時間:2017年04月10日(首次)
課程性質,課程背景,課程定位,開課信息,課程簡介,課程大綱,教學要點,課前預備,預備知識,學習資料,授課目標,所獲榮譽,授課教師,

課程性質

課程背景

嵌入式系統是嵌入式人工智慧與物聯網的基礎。其套用範圍可以粗略分為兩大類:一類是電子系統智慧型化(如工業控制、汽車電子、家用電器、物聯網套用、嵌入式人工智慧等),這類套用也被稱為微控制器MCU領域,從形態上看,更類似於早期的電子系統,但內部計算程式起核心控制作用。另一類是計算機套用的延伸(如平板電腦、手機等),這類套用也被稱為套用處理器MAP領域。在此背景下,蘇州大學開設了嵌入式系統及套用課程。

課程定位

嵌入式系統及套用課程是計算機科學與技術、物聯網工程、電子信息等專業的重要技術類課程。

開課信息

開課次數
開課時間
學時安排
授課教師
參與人數
第1次開課
2017年04月10日~2017年07月31日
3~5小時每周
王宜懷、王林、張建
4269
第2次開課
2017年09月04日~2018年01月07日
3824
第3次開課
2018年03月12日~2018年07月07日
3小時每周
王宜懷
4073
第4次開課
2018年09月10日~2019年01月06日
王宜懷、王林、張建
4711
第5次開課
2019年03月04日~2019年06月30日
4848
第6次開課
2019年09月02日~2019年12月25日
4950
第7次開課
2020年02月17日~2020年06月14日
3.5小時每周
王宜懷、王林、張建、劉長勇
9161
第8次開課
2020年09月07日~2021年01月03日
4小時每周
王宜懷、王林、張建
3002
第9次開課
2021年03月01日~2021年06月27日
王宜懷、王林、張建、劉長勇
待定
(表格內容參考資料

課程簡介

嵌入式系統及套用課程以ARM Cortex-M微處理器為藍本以軟硬體構件為主線,基於嵌入式軟體工程基本原理,按照"通用知識—驅動構件使用方法—測試實例—晶片編程結構—構件設計方法”的線條,逐步闡述嵌入式系統基本知識要素及較為規範的底層軟硬體相結合的設計方法。課程內容主要包括基礎與硬體、入門與軟體框架、基本模組、較複雜通信模組、其他套用等五個章節。

課程大綱

第1~2次開課課程大綱
第一單元 基礎與硬體(第1~3章(1~5講))
第一章 概述(第1~3講)
1.1 嵌入式系統定義、發展簡史、分類及特點
1.2 嵌入式系統的學習困惑、知識體系及學習建議
1.3 微控制器與套用處理器簡介
1.4 嵌入式系統常用術語
1.5 嵌入式系統常用的C語言基本語法概要
第2章 ARM Cortex-M0+處理器(第4講)
2.1 ARM Cortex-M0+處理器簡介
2.2 ARM Cortex-M0+處理器的指令系統
2.3 ARM Cortex-M0+指令集與機器碼對應表
2.4 GNU彙編語言的基本語法
第3章 存儲映像、中斷源與硬體最小系統(第5講)
3.1 恩智浦Kinetis系列微控制器簡介
3.2 KL系列MCU簡介與體系結構概述
3.3 KL25/26系列存儲映像與中斷源
3.4 KL25/26的引腳功能
3.5 KL25/26硬體最小系統原理圖
第二單元 入門與軟體框架(第4~6章(6~14講))
第4章 第一個樣例程式及工程組織(第6~9講)
4.1 通用I/O接口基本概念及連線方法
4.2 連線埠控制模組與GPIO模組的編程結構
4.3 GPIO驅動構件封裝方法與驅動構件封裝規範
4.4 利用構件方法控制小燈閃爍
4.5 工程檔案組織框架與第一個C語言工程分析
4.6 第一個彙編語言工程:控制小燈閃爍
第5章 構件化開發方法與底層驅動構件封裝規範(第10講)
5.1 嵌入式硬體構件
5.2 嵌入式底層驅動構件的概念與層次模型
5.3 底層驅動構件的封裝規範
5.4 硬體構件及底層軟體構件的重用與移植方法
第6章 串列通信模組及第一個中斷程式結構(第11~14講)
6.1 異步串列通信的通用基礎知識
6.2 KL25/26晶片UART驅動構件及使用方法
6.3 ARM Cortex-M0+中斷機制及KL25/26中斷編程步驟
6.4 UART驅動構件的設計方法
第三單元 基本模組(第7~10章(第15~24講))
第7章 定時器相關模組(第15~17講)
7.1 ARM Cortex-M0+核心定時器(Systick)
7.2 脈寬調製、輸入捕捉與輸出比較通用基礎知識
7.3 TPM模組的驅動構件及使用方法
7.4 TPM模組驅動構件的設計方法
7.5 周期中斷定時器PIT模組
7.6 低功耗定時器LPTMR模組
7.7 實時時鐘RTC模組
第8章 GPIO套用—鍵盤、LED與LCD(第18~20講)
8.1 鍵盤基礎知識與鍵盤驅動構件設計
8.2 LED數碼管基礎知識與LED驅動構件設計
8.3 LCD基礎知識與LCD驅動構件設計
8.4 鍵盤、LED及LCD驅動構件測試實例
第9章 Flash線上編程(第21~22講)
9.1 Flash驅動構件及使用方法
9.2 Flash保護與加密
9.3 Flash驅動構件的設計方法。
第10章 ADC、DAC與CMP模組(第23~24講)
10.1 模擬/數字轉換器ADC
10.2 數字/模擬轉換器DAC
10.3 比較器CMP
第四單元 較複雜通信模組(第11~12章(第25~31講))
第11章 SPI、I2C與TSI模組(第25~27講)
11.1 串列外設接口SPI模組
11.2 積體電路互聯匯流排I2C模組
11.3 觸摸感應接口TSI模組
第12章 USB2.0編程(第28~31講)
12.1 USB套用開發基礎知識
12.2 USB設備(從機)的套用編程方法
12.3 USB主機的套用編程方法
12.4 設計微控制器的USB驅動構件應掌握的基礎知識
12.5 KL25/26晶片USB模組的編程結構
12.6 KL25/26晶片作為USB設備(從機)的驅動構件設計
12.7 KL25/26晶片作為USB主機的驅動構件設計
第五單元 其他(第13~14章(第32~35講))
第13章 系統時鐘與其他功能模組(第32~34講)
13.1 時鐘系統
13.2 電源模組
13.3 低漏喚醒單元
13.4 看門狗
13.5 復位模組
13.6 位操作引擎技術及套用方法
第14章 進一步學習指導(第35講)
14.1 關於更為詳細的技術資料
14.2 關於實時作業系統RTOS
14.3 關於嵌入式系統穩定性問題
(註:課程大綱排版從左到右列
第3~9次開課課程大綱
第一單元 基礎與硬體(第1~3章(1~5講))
第01講 嵌入式系統概述(書1.1~1.3)
第02講 嵌入式系統常用術語(書1.4)
第03講 嵌入式系統常用的C語言基本語法概要(書1.5)
第04講 ARM Cortex-M體系結構與指令系統簡介(書第2章)
第05講 存儲映像、中斷源與硬體最小系統(書第3章)
第一單元 單元測試
第二單元 入門與軟體框架(第4~6章(6~14講))
第06講 GPIO及基本打通原理(書4.1~4.2)
第07講 程式的基本調試方法(補充)
第08講 用構件方法進行GPIO套用編程(書4.3~4.4)
第09講 分析一個彙編實例(書4.5~4.6)
第10講 嵌入式硬體構件與底層驅動構件基本規範(書第5章)
第11講 串列通信基礎知識與UART驅動構件使用方法(書6.1~6.2)
第12講 ARM Cortex-M0+中斷機制與中斷編程步驟(書6.3)
第13講 UART驅動構件的設計方法(書6.4)
第14講 C#快速入門與串口通信編程方法
實驗01講 開發環境搭建
實驗02講 實驗儀器及使用方法
實驗03講 入門實驗:點亮小燈
第二單元 單元測試
第三單元 基本模組(第7~10章(第15~24講))
第15講 ARM Cortex-M0+核心定時器(Systick)(書7.1)
第16講 脈寬調製、輸入捕捉、輸出比較(書7.2~7.3)
第17講 周期中斷定時器、低功耗定時器、實時時鐘(書7.4~7.7)
第18講 GPIO套用—鍵盤(書8.1)
第19講 GPIO套用—LED(書8.2)
第20講 GPIO套用—LCD(書8.3)
第21講 Flash線上編程構件的使用(書9.1~9.2)
第22講 Flash線上編程構件的設計方法(書9.3)
第23講 模數轉換ADC模組(書10.1)
第24講 數模轉換DAC與CMP模組(書10.2~10.3)
第三單元 單元測試
第四單元 較複雜通信模組(第11~12章(第25~31講))
第25講 串列外設接口SPI模組(書11.1)
第26講 積體電路互聯匯流排I2C模組(書11.2)
第27講 觸摸感應接口TSI模組(書11.3)
第28講 USB基本概念及從機編程方法(書12.1~12.2)
第29講 USB主機編程方法(書12.3)
第30講 MCU的USB底層驅動設計方法(上)(書12.4~12.7)
第31講 MCU的USB底層驅動設計方法(下)(書12.4~12.7)
第四單元 單元測試
第五單元 其他(第13~14章(第32~35講))
第32講 時鐘系統(書13.1)
第33講 看門狗相關模組(書13.5)
第34講 位操作引擎技術及套用方法(書13.4)
第35講 進一步學習指導(書第14章)
第五單元 單元測試
(註:課程大綱排版從左到右列

教學要點

章節
目的和要求
重點和難點
第1章
本章作為導引,要求學生掌握嵌入式系統定義、由來、分類及特點;了解初學者在學習嵌入式系統時可能遇到的困惑認識,從而消除這些困惑;掌握嵌入式系統的知識體系,理解學習建議;掌握MCU的基本含義及MCU給測控系統設計帶來的變化及嵌入式產品的一般構成與開發方法。了解嵌入式系統的基本術語,快速收攏與複習本書所用到的C語言基本知識要素。
嵌入式系統分類及不同類型的學習方法、嵌入式系統的學習困惑、MCU的基本含義、嵌入式產品的一般構成與開發方法。
第2章
了解CMO+核心結構、存儲映像;掌握CM0+內部暫存器,記憶部分指令保留字;理解CM0+定址方式;了解指令系統及機器碼;記憶部分偽指令。
內部暫存器、記憶指令保留字、記憶部分偽指令。
第3章
本章通過介紹Kinetis L 系列MCU與最小硬體系統,結合開發板,對基於AMR Cortex-M0+核心的微控制器有更進一步了解,更快速入門學習嵌入式開發技術。
存儲器映像結構、引腳功能分類(分成硬體最小系統引腳及功能引腳)、硬體最小系統電路的理解。
第4章
需要花功夫透徹理解,達到快速且規範入門的目的。本章通過GPIO實例完成第一個工程的入門,學會下載程式與調試程式的基本方法,理解啟動過程。主要目的是理解程式框架和工作過程。了解彙編工程。
底層驅動、程式框架和程式的調試方法。
第5章
本章主要分析嵌入式系統構件化設計的重要性和必要性,給出嵌入式硬體構件概念及嵌入式硬體構件的分類、基於嵌入式硬體構件的電路原理圖設計簡明規則;給出嵌入式底層驅動構件的概念與層次模型;給出底層驅動構件的封裝規範,包括構件設計的基本思想與基本原則、編碼風格基本規範、頭檔案及源程式設計規範;給出硬體構件及底層軟體構件的重用與移植方法。這一章的目的,是期望通過一定的規範,提高嵌入式軟硬體設計的可重用性和可移植性。
底層軟體構件的編程規範。
第6章
本章闡述KL25的串列通信模組構件化編程,並且闡述ARM Cortex-M0+的中斷編程框架,通過這一章的學習,掌握嵌入式系統中斷程式的設計。
中斷的產生,中斷處理函式的作用,學會處理其他中斷的方法。對要求較高的學生,UART驅動構件的製作也是重點和難點之一。
第7章
掌握ARM Cortex-M0+核心定時器(Systick)的編程方法定時接口模組;掌握脈寬調製、輸入捕捉與輸出比較通用基礎知識及其構件使用方法;理解脈寬調製、輸入捕捉與輸出比較構件的設計方法;了解周期中斷定時器PIT模組、低功耗定時器LPTMR模組、實時時鐘RTC模組構件使用方法。
Systick的編程方法、脈寬調製、輸入捕捉與輸出比較通用基礎知識。
第8章
對於鍵盤,主要掌握查詢法、定時掃描法與中斷法,掌握鍵值轉為定義值的編程方法。對於LED編程,掌握掃描法的基本工作原理、接口方法和編程要點。對於LCD編程,了解LCD驅動程式的編寫以及LCD顯示的原理。同時,通過對構件封裝過程的學習加深對構件思想的理解。
套用構件的設計方法。
第9章
了解Flash存儲器的基本特點及編程模式,掌握Flash存儲器線上編程的基本概念,理解的Flash存儲器編程的基本操作。掌握Flash存儲器線上編程驅動構件的使用方法。
Flash存儲器編程的基本操作,Flash編程方法。
第10章
掌握模/數轉換(ADC)、數/模轉換(DAC)以及比較器(CMP)模組的基本原理和構件的使用方法。
ADC轉換的技術參數及構件設計。
第11章
串列外設接口SPI、積體電路互聯匯流排I2C和觸摸感應輸入(TSI)模組的工作原理和編程方法。
SPI、I2C、TSI的基本原理。
第12章
了解USB通信接口的優點及基本特點,掌握USB驅動構件的使用方法。了解USB驅動構件的設計方法。
USB設備上電的枚舉過程。
第13章
掌握時鐘系統、看門狗的編程方法;了解電源模組、低漏喚醒單元、復位模組、位操作引擎技術及套用方法。理解冷復位及熱復位。
重點是時鐘系統、看門狗定時器、冷復位及熱復位。難點是位操作引擎技術。
(註:表格內容參考資料

課前預備

預備知識

學習嵌入式系統及套用課程,學習者必須具備C語言、計算機基礎操作、電子線路及行業領域相關知識;還需要以下軟體硬體基礎知識與實踐訓練:
(1)硬體最小系統(包括電源、晶振、復位、寫入調試器接口等);
(2)通用I/O(開關量輸入/輸出,涉及各種二值量檢測與控制);
(3)模數轉換A/D(各種感測器信號的採集與處理,如紅外、溫度、光敏、超音波、方向等);
(4)數模轉換D/A(對模擬量設備利用數字進行控制);
(5)通信(串列通信接口UART、串列外設接口SPI、積體電路互聯匯流排I2C,CAN、USB、嵌入式乙太網、無線感測器網路等);
(6)顯示(LED、LCD、觸控螢幕等);
(7)控制(控制各種設備,包括PWM等控制技術);
(8)數據處理(圖形、圖像、語音、視頻等處理或識別);
(9)各種具體套用。

學習資料

書名
作者
出版時間
出版社
《嵌入式系統設計的藝術(英文版•第2版)》
[美]Jack Ganssle
2009
人民郵電出版社
《嵌入式軟體概論》
[美]Colin Walls
2007
北京航空航天大學出版社
《英漢雙解嵌入式系統詞典》
[美]Jack Ganssle, Michael Barr
2006
北京航空航天大學出版社
《USB 2.0設備的設計與開發》
邊海龍,賈少華
2004
人民郵電出版社
《 NATO Standard for Development of Reusable Software Components》
NATO Communications and Information Systems Agency
1991
-
《Using as The gnu Assembler Version2》
Free Software Foundation Inc
2012
《 Cortex-M3權威指南(中文版)》
Joseph Yiu
2011
北京航空航天大學出版社
《The Definitive Guide to the ARM Cortex-M0》
Joseph Yiu
2011
Elsevier Inc
ARMv7-M Architecture Reference Manual
ARM
2010
-
ARMv6-M Architecture Reference Manual
《Cortex-M0+ Devices Generic User Guide》
2012
《Cortex-M0+ Technical Reference Manual Rev.r0p1》
《FRDMKL26ZUser Guide》
NXP
2013
《 Kinetis SDK V1.1.0 For KL26》
2015
《KL26 Sub-Family Data Sheet Rev.3》
2014
《KL26 Sub-Family Reference Manual》
2015
《Kinetis Design Studio V3.0.0- User's Guide Rev3.0》
《 Kinetis L Peripheral Module Rev.0》
2012
《 KL25 Sub-Family Data Sheet Rev.3》
《KL25 Sub-Family Reference Manual Rev.3》
(註:表格內容參考資料

授課目標

該課程教學目的在於通過“通用知識—驅動構件使用方法—測試實例—晶片編程結構—構件的設計方法”的線條,使學生逐步掌握嵌入式系統的基本概念、基本原理與設計方法,獲得嵌入式系統的基本脈絡,打好嵌入式系統軟硬設計的基礎,逐步學會電子系統智慧型化嵌入式套用的軟體與硬體設計,強化實踐訓練。

所獲榮譽

2019年1月8日,該課程被中華人民共和國教育部認定為“2018年國家精品線上開放課程”。

授課教師

王宜懷,蘇州大學教授、博士生導師。
王林,蘇州大學副教授。
張建,蘇州大學講師。
劉長勇,武夷學院副教授。

相關詞條

熱門詞條

聯絡我們