嵌入式軟體設計(大連理工大學建設的慕課)

嵌入式軟體設計(大連理工大學建設的慕課)

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

嵌入式軟體設計課程是大連理工大學建設的慕課、國家精品線上開放課程、國家級一流本科課程,於2018年04月23日首次在中國大學MOOC開課,於2019年12月30日首次在學堂線上開課。該課程授課教師是賴曉晨、遲宗正、王潔、林馳、周寬久、李岩、申建建、張立勇、劉輝。據2022年8月中國大學MOOC官網顯示,該課程已開課9次。據2022年8月學堂線上官網顯示,該課程已經開課7次。

該課程共14章,包括概述、嵌入式C編程綜述、ARM C程式最佳化、Linux作業系統、Linux C編程工具鏈及Makefile、嵌入式軟體平台構建、檔案目錄和記憶體、進程與執行緒、信號、進程間通信、套接字、模組與驅動程式及驅動程式舉例、STM32編程方法、基於Proteus的嵌入式軟體仿真。

基本介紹

  • 中文名:嵌入式軟體設計
  • 外文名:Embedded Software Design
  • 類別:慕課、國家精品線上開放課程、國家級一流本科課程
  • 建設院校:大連理工大學
  • 授課平台:中國大學MOOC、學堂線上
  • 授課教師:賴曉晨、遲宗正、王潔、林馳、周寬久、李岩、申建建、張立勇、劉輝
  • 開課時間:2018年04月23日(中國大學MOOC首次)、2019年12月30日(學堂線上首次)
課程性質,課程背景,課程定位,課程簡介,課程大綱,開課信息,教學目標,學習預備,預備知識,學習資料,所獲榮譽,教師簡介,

課程性質

課程背景

隨著文明社會的不斷進步,人類的生存和發展越來越離不開日新月異的科學技術,而嵌入式軟體設計就是計算機科學技術套用的一項重大技術。嵌入式軟體設計已經普及到移動網際網路、工業控制、智慧城市、信息通信、環境工程、可穿戴設備、智慧交通、生物仿真、智慧防控、智慧農業、智慧醫療等領域。

課程定位

嵌入式軟體設計是計算機、軟體工程等學科的專業方向課,是一門實踐性、技術性很強的重要課程。該課程的主要任務是介紹基於ARM/嵌入式Linux作業系統的GNU C語言程式設計思想、方法,以及基於STM32處理器和Proteus的嵌入式仿真技術。通過該課程的學習,使學習者掌握嵌入式軟體設計的基本流程和方法。

課程簡介

該課程共14章。第1章內容主要為常識介紹、基本原理介紹;第2章內容主要為基本軟體設計方法介紹;第3章內容主要為對ARM C語言的底層特性理解,包括對編譯器特點的理解;第4章內容主要為對Linux作業系統的一般性功能介紹;第5章內容主要為對Linux C編程工具鏈的詳細介紹;第6章內容主要為嵌入式軟體平台設計的詳細介紹;第7章內容主要為對檔案、目錄、記憶體的詳細介紹;第8章內容主要為對進程、執行緒的詳細介紹;第9章內容主要為對信號的傳送、捕獲等詳細介紹;第10章內容主要為對進程間通信的管道、共享、佇列等詳細介紹;第11章內容主要為對套接字的簡介、舉例、函式等詳細介紹;第12章內容主要為基於驅動程式,對實際硬體設備進行操作;第13章內容主要為分析STM32的系統設計方法,對實際硬體設備進行操作;第14章內容主要為基於Proteus的STM32系統仿真實例操作介紹。

課程大綱

01 概述
課時
本章的主要視頻及課件資源列表如下(2學時):
1.1 嵌入式系統概述
1.2 嵌入式軟體設計概述
02 嵌入式C編程綜述
課時
本章的主要視頻及課件資源列表如下(2學時):
2.1 軟體架構
2.2 C的面向對象化
2.3 漢字處理
2.4 螢幕操作
2.5 輸入事件
03 ARM C程式最佳化
課時
本章的主要視頻及課件資源列表如下(2學時):
3.1思路最佳化
3.2變數的數據類型選擇
3.3次數固定的循環最佳化
3.4次數不定的循環最佳化
3.5循環展開
04 Linux作業系統
課時
本章的主要視頻及課件資源列表如下(2學時):
4.1Linux簡介
4.2Linux的shell
4.3Linux的基本操作
4.4Linux的網路命令
05 Linux C編程工具鏈及Makefile
課時
本章的主要視頻及課件資源列表如下(4學時):
5.1工具鏈概述
5.2編輯器vi
5.3gcc簡介
5.4gcc的使用
5.5gdb簡介
5.6Makefile工作原理
5.7Makefile實例分析
5.8Makefile設計
5.9Makefile綜合實例
06 嵌入式軟體平台構建
課時
本章的主要視頻及課件資源列表如下(2學時):
6.1基於Linux的嵌入式平台
6.2BootLoader
6.3應用程式設計流程
07 檔案目錄和記憶體
課時
本章的主要視頻及課件資源列表如下(2學時):
7.1 檔案的屬性
7.2 檔案操作
7.3 檔案操作舉例
7.4 目錄操作
7.5 獲取目錄列表
7.6 記憶體映像
7.7 記憶體映像舉例
08 進程與執行緒
課時
本章的主要視頻及課件資源列表如下(2學時):
8.1 進程創建
8.2 在進程中啟動程式
8.3 等待進程結束
8.4 執行緒簡介
8.5 多執行緒編程舉例
8.6 執行緒同步
8.7 執行緒的屬性
09 信號
課時
本章的主要視頻及課件資源列表如下(2學時):
9.1 信號簡介
9.2 傳送和捕獲信號
9.3 更健壯的信號接口
9.4 信號集處理
10 進程間通信
課時
本章的主要視頻及課件資源列表如下(2學時):
10.1 無名管道
10.2 有名管道
10.3 信號量簡介
10.4 信號量舉例
10.5 共享記憶體簡介
10.6 共享記憶體舉例
10.7 訊息佇列簡介
10.8 訊息佇列舉例
11 套接字
課時
本章的主要視頻及課件資源列表如下(2學時):
11.1 套接字簡介
11.2 套接字舉例
11.3 套接字接口函式
11.4 網路套接字
11.5 訪問系統服務
11.6 多客戶
12 模組與驅動程式及驅動程式舉例
課時
本章的主要視頻及課件資源列表如下(4學時):
12.1 核心模組簡介
12.2 核心模組設計
12.3 Linux設備驅動程式簡介
12.4 驅動程式的數據結構
12.5 虛擬字元設備驅動程式實例
13 STM32編程方法
課時
本章的主要視頻及課件資源列表如下(2學時):
13.1 STM32簡介
13.2 STM32常用片內資源
13.3 GPIO編程方法--暫存器方式
13.4 LED流水燈實例--GPIO暫存器方式
13.5 GPIO編程方法--標準庫方式
13.6 LED燈閃爍實例--GPIO標準庫方式
14 基於Proteus的嵌入式軟體仿真
課時
本章的主要視頻及課件資源列表如下(2學時):
14.1 Proteus工具介紹
14.2 LED流水燈實例
14.3 定時器實例
14.4 外部按鍵中斷實例
(註:課程大綱排版從左到右列

開課信息

中國大學MOOC的開課信息
開課次數
開課時間
授課教師
學時安排
參與人數
第1次開課
2018年04月23日~2018年06月30日
賴曉晨、遲宗正、王潔、林馳、周寬久、李岩、申建建、張立勇
4小時每周
7439
第2次開課
2018年09月03日~2018年11月30日
9367
第3次開課
2019年03月04日~2019年05月31日
賴曉晨、遲宗正、張立勇、李岩、申建建
4250
第4次開課
2019年11月04日~2020年01月17日
3765
第5次開課
2020年02月24日~2020年05月10日
4779
第6次開課
2020年09月14日~2021年01月20日
賴曉晨
1070
第7次開課
2021年05月17日~2021年07月25日
賴曉晨、遲宗正、張立勇、劉輝、申建建
4041
第8次開課
2021年10月18日~2022年01月16日
賴曉晨
4264
第9次開課
2022年02月28日~2022年05月15日
3131
線上學堂的開課信息
開課次數
開課時間
授課教師
教學時長
報名人數
第1次開課
2019-12-30至2020-03-31
賴曉晨、申建建、劉輝
14周
1366
第2次開課
2020-04-06至2020-07-26
16周
第3次開課
2020-09-01至2020-12-31
18周
第4次開課
2021-01-04至2021-07-25
29周
第5次開課
2021-08-09至2022-01-16
23周
第6次開課
2022-01-18至2022-07-18
26周
第7次開課
2022-07-25至2023-01-09
12周

教學目標

課程學習目標:
1、能夠說出嵌入式系統和嵌入式軟體的內涵與外延、以及交叉開發環境的概念;
2、能夠列舉出主要的幾種嵌入式C編程架構和ARM C程式最佳化方法;
3、能夠使用編輯器、編譯器、調試器等工具完成嵌入式軟體的構建;
4、運用嵌入式Linux C編程的一般方法完成檔案、目錄、記憶體、進程、執行緒、IPC、socket等軟體設計;
5、能充分運用驅動程式設計方法獨立完成led、鍵盤、數碼管等硬體的驅動程式設計;
6、能夠複述STM32的基本結構、Proteus的基本工作原理;
7、該課程列出14個主題,由學生自己製作ppt和視頻資料,並在課上做專題匯報,以鍛鍊自學能力、表達能力;
學習目標分解:
該課程內容的前14章中,每章介紹中均會包括該章學習目標與課程學習目標的對應關係,學習者可據此對各章節的學習內容與價值進行定位。
學習活動達成:
1、該課程的前14章中,總計包含課後習題80道,以及課後討論主題42個。習題和討論主題按照布魯姆教育目標分類,對學習者的要求從第到高分別為:記憶、理解、套用、分析、評價、創造。
2、在每章的介紹中,會對習題和討論主題按照布魯姆教育目標進行分類,學習者可據此判斷自己對該章內容的掌握程度。

學習預備

預備知識

該課程的學習者,應具備以下先導知識:
1.C or C++語言:學習過相關課程,能獨立編寫200行以上代碼的程式;
2.計算機組織與結構:學習過計算機組織與結構課程,了解計算機內部5大部件的工作原理;
3.ARM體系結構:學習過任意一種ARM處理器的體系結構,獨立編寫過彙編語言程式;
4.作業系統原理:學習過作業系統原理課程,了解檔案、目錄、IPC等機制的基本原理;
5.Linux作業系統:學習過linux作業系統課程,或自己安裝、使用過linux作業系統,能熟練使用20種以上常見shell命令;

學習資料

授課教材
書名
作者
ISBN
出版時間
出版社
賴曉晨等
9787040552263
2020年
高等教育出版社
參考教材
書名
作者
ISBN
出版時間
出版社
《精通Proteus電路設計與仿真》
王博等
9787302483892
2017年
《Linux程式設計(第四版)》
馬修等
9787115228215
2010年6月
人民郵電出版社
《Linux設備驅動開發詳解:基於最新的Linux 4.0核心》
宋寶華等
9787111507895
2015年

所獲榮譽

2019年,該課程被中華人民共和國教育部認定為“國家精品線上開放課程”。
2020年11月24日,該課程被中華人民共和國教育部認定為首批“國家級一流本科課程”。

教師簡介

賴曉晨,博士,大連理工大學教授、碩士生導師,主講計算機組織與結構、嵌入式軟體設計、計算機組織與結構等課程。
遲宗正,博士,大連理工大學高級工程師,正開展科研項目:基於玄鐵處理器的國家級一流本科課程建設。
王潔,博士,大連理工大學高級工程師、碩士生導師,主要從事智慧型無線感知、無線定位跟蹤、人工智慧、智慧型系統相關的研究工作。
林馳,博士,大連理工大學副教授、碩士生及博士生導師,研究方向:物聯網、醫療大數據、人工智慧、深度學習、無線通信等。
周寬久,博士,大連理工大學教授、碩士生及博士生導師,大連理工大學軟體評測中心主任,研究方向為安全關鍵行業嵌入式軟體形式化建模與編譯最佳化、可靠性評估等。
李岩,大連理工大學講師。
申建建,大連理工大學教授、碩士生及博士生導師,致力於水電系統調度、多能互補、清潔能源電力市場等研究與開發。
劉輝,女,研究生,大連理工大學軟體學院講師,研究方向為交叉學科領域下的語言學及語言教學的研究。

相關詞條

熱門詞條

聯絡我們