《嵌入式系統(tǒng)應用與開發(fā)》課程教學大綱
課程名稱:
| 嵌入式系統(tǒng)應用與開發(fā)
|
|
|
課程編號:
| 408309
| 436313
|
|
適用專業(yè):
| 計算機科學與技術
| 軟件工程
|
|
課程類別:
| 必修課
| 專業(yè)限選
|
|
課程學分:
| 3
|
|
|
總學時:
| 54
|
|
|
其中:理論學時
| 28
|
|
|
式實驗學時
| 26
|
|
|
先修課程:
| C語言程序設計、數(shù)據(jù)結構、操作系統(tǒng)原理、計算機網(wǎng)絡
|
一、課程的性質(zhì)、目的與任務
《嵌入式系統(tǒng)應用與開發(fā)》課程是嵌入式方向和物聯(lián)網(wǎng)方向的方向課。該課程主要講述嵌入式系統(tǒng)應用程序開發(fā)方法與技巧,主要內(nèi)容包括嵌入式應用程序開發(fā)基礎、嵌入式應用程序開發(fā)環(huán)境的搭建、文件I/O編程、進程控制開發(fā)、進程間通信開發(fā)、多線程編程及網(wǎng)絡編程等方法與技巧。通過本實驗課程,應達到以下幾個教學目的:
(1)掌握嵌入式系統(tǒng)應用程序開發(fā)編程基礎,包括能熟練掌握vi、gcc、gdb、makefile等開發(fā)工具的使用,能掌握linux操作系統(tǒng)常用的基本命令的使用。
(2)熟練掌握嵌入式系統(tǒng)開發(fā)環(huán)境搭建過程,包括掌握交叉環(huán)境的搭建,tftp服務器的使用,nfs文件系統(tǒng)的使用,smb服務器的使用,常用的燒寫工具的使用等。
(3)掌握linux操作系統(tǒng)下,文件I/O編程方法和技巧,能熟練使用ANSIC標準和POSIX標準C庫I/O函數(shù)對文件進行操作。
(4)掌握linux下進程控制編程方法和技巧。能熟練掌握進程的創(chuàng)建、進程的等待、多進程、守護進程的編程方法和技巧。
(5)掌握linux下進程通信編程的方法和技巧。熟練掌握管道通信、消息隊列、共享內(nèi)存,信號及信號量等通信機制的原理和編程方法。
(6)掌握linux下線程編程的方法和技巧。
(7)掌握linux下網(wǎng)絡編程的方法和技巧,能夠使用socket通信原理編寫TCP程序。
二、課程教學基本內(nèi)容與要求
第一章 Linux快速入門
(一)基本教學內(nèi)容
1.1嵌入式Linux基礎
1.2 Linux安裝
1.3 Linux文件及文件系統(tǒng)
1.4文件類型及文件屬性
1.5 Linux目錄結構
(二)基本要求
教學目的:掌握嵌入式Linux的基本概念、理解嵌入式linux的文件系統(tǒng)及目錄結構和掌握linux系統(tǒng)的安裝。
教學重點:Linux安裝、linux文件系統(tǒng)及文件屬性和Linux目錄結構。
教學難點:Linux的安裝和Linux的目錄結構。
第二章 Linux基礎命令
(一)基本教學內(nèi)容
2.1 Linux常用命令
2.2 Linux啟動過程詳解
2.3 Linux系統(tǒng)服務
(二)基本要求
教學目的:掌握linux下常用命令的使用、理解linux啟動過程和能使用linux提供的系統(tǒng)服務相關命令完成常用的服務的設定。
教學重點:linux常用命令的使用。
教學難點:linux系統(tǒng)的啟動過程。
第三章 Linux下C編程基礎
(一)基本教學內(nèi)容
3.1 Linux下C語言編程概述
3.2常用編輯器
3.3 gcc編譯器
3.4 gdb調(diào)試器
3.5 make工程管理器
(二)基本要求
教學目的:掌握linux下常用GNU工具vi編輯器、gcc編譯器和gdb調(diào)試器的使用,能編寫簡單的make file配置文件。
教學重點:vi編輯器、gcc編譯器、gdb調(diào)試器和make工程管理器。
教學難點:gcc編譯器編譯選項的分析、makefile文件的編寫。
第四章 嵌入式系統(tǒng)基礎
(一)基本教學內(nèi)容
4.1嵌入式系統(tǒng)概述
4.2 ARM處理器硬件開發(fā)平臺
4.3嵌入式軟件開發(fā)流程
(二)基本要求
教學目的:了解嵌入式系統(tǒng)概述、熟悉ARM處理器硬件開發(fā)平臺、掌握嵌入式軟件開發(fā)流程。
教學重點:嵌入式系統(tǒng)的特點、嵌入式系統(tǒng)的體系結構、ARM9體系結構、嵌入式軟件開發(fā)流程。
教學難點:ARM9體系結構、S3C2410處理器。
第五章 嵌入式Linux開發(fā)環(huán)境的搭建
(一)基本教學內(nèi)容
5.1嵌入式開發(fā)環(huán)境的搭建
5.2 U-Boot移植
(二)基本要求
教學目的:掌握嵌入式開發(fā)環(huán)境的搭建和U-Boot移植主要步驟。
教學重點:嵌入式交叉編譯環(huán)境的搭建、編譯嵌入式Linux內(nèi)核、制作文件系統(tǒng)、U-Boot移植主要步驟。
教學難點:編譯嵌入式Linux內(nèi)核、制作文件系統(tǒng)、U-Boot移植主要步驟。
第六章 文件I/O編程
(一)基本教學內(nèi)容
6.1 Linux系統(tǒng)調(diào)用及用戶編程接口(API)
6.2 Linux中文件及文件描述符概述
6.3底層文件I/O操作
6.4嵌入式Linux串口應用編程
6.5標準I/O編程
(二)基本要求
教學目的:理解系統(tǒng)調(diào)用及用戶編程接口、了解Linux中文件及文件描述符概述、掌握底層文件I/O操作、掌握嵌入式Linux串口應用編程、掌握標準I/O編程。
教學重點:Linux系統(tǒng)調(diào)用及用戶編程接口(API)、inux中文件及文件描述符概述、底層文件I/O操作、嵌入式Linux串口應用編程、標準I/O編程。
教學難點:文件鎖、多路復用式串口操作。
第七章 進程控制開發(fā)
(一)基本教學內(nèi)容
7.1 Linux進程概述
7.2 Linux進程控制編程
7.3 Linux守護進程
(二)基本要求
教學目的:理解Linux進程概述、掌握Linux進程控制編程方法和技技巧、掌握Linux守護進程編程的方法。
教學重點:Linux下的進程結構、Linux下的進程管理、編寫守護進程。
教學難點:Linux下的進程結構、守護進程的出錯處理。
第八章 進程間通信
(一)基本教學內(nèi)容
8.1 Linux下進程間通信概述
8.2管道
8.3信號
8.4信號量
8.5共享內(nèi)存
8.6消息隊列
(二)基本要求
教學目的:理解Linux下進程間通信概述,掌握管道、信號、信號量、共享內(nèi)存和消息隊列等通信方式的應用和編程方法。
教學重點:管道、信號、信號量、共享內(nèi)存和消息隊列等通信方式的應用和編程方法。
教學難點:信號的處理、信號量的應用。
第九章 進程間通信
(一)基本教學內(nèi)容
10.1 TCP/IP概述
10.2網(wǎng)絡基礎編程
10.3網(wǎng)絡高級編程
(二)基本要求
教學目的:理解Linux線程概述、掌握Linux線程編程。
教學重點:線程的創(chuàng)建、線程等待、線程之間的同步與互斥。
教學難點:線程之間的同步與互斥。
第十章 嵌入式Linux網(wǎng)絡編程
(一)基本教學內(nèi)容
9.1 Linux線程概述
9.2 Linux線程編程
(二)基本要求
教學目的:理解TCP/IP概述、掌握網(wǎng)絡基礎編程、掌握網(wǎng)絡高級編程。
教學重點:TCP/IP協(xié)議族、TCP和UDP、地址及順序處理、socket基礎編程。
教學難點:地址及順序處理、網(wǎng)絡高級編程。
三、課程各章節(jié)學時分配
序號
| 內(nèi)容
| 理論學時
| 實驗學時
|
計科
| 軟工
| 計科
| 軟工
|
1
| Linux快速入門
| 2
| 2
| 2
| 2
|
2
| Linux基礎命令
| 4
| 4
| 2
| 2
|
3
| Linux下C編程基礎
| 2
| 2
| 2
| 2
|
4
| 嵌入式系統(tǒng)基礎
| 2
| 2
| 0
| 0
|
5
| 嵌入式Linux開發(fā)環(huán)境的搭建
| 4
| 4
| 4
| 4
|
6
| 文件I/O編程
| 2
| 2
| 4
| 4
|
7
| 進程控制開發(fā)
| 2
| 2
| 4
| 4
|
8
| 進程間通信
| 4
| 4
| 4
| 4
|
9
| 多線程編程
| 2
| 2
| 2
| 2
|
10
| 嵌入式Linux網(wǎng)絡編程
| 4
| 4
| 2
| 2
|
合計
| 28
| 28
| 26
| 26
|
四、本課程課外學習與修學指導
該課程是一門綜合性的課程,運用到操作系統(tǒng)原理、C編程基礎和計算機網(wǎng)絡等先行課程的內(nèi)容,所以要多參考相關書籍,做到能系統(tǒng)的撐握相關知識;該課程是一門應用性較強的課程,在有限的實驗課時以外,多實踐練習,鍛煉嵌入式應用程序開發(fā)的基本技能、基本設計思路,另外嵌入式系統(tǒng)源代碼,大多是開源的。所以在進行應用程序開發(fā)過程中,課外多下載閱讀分析相關應用程序源代碼,做到個性化應用開發(fā)。
五、本課程考核方式及成績評定標準
考核方式:閉卷考試
成績評定方法:本課程的考核是平時成績、實驗成績和期終考試成績相結合。具體比例為:上課出勤、作業(yè)占20%,實驗占20%,期末考試成績占60%。
其中期未考試總分100分,基礎題占50%,中等難度題占40%,較難題占10%??荚囶}型主要有:選擇題、填空題、判斷題、程序題填空題、程序設計題等。
六、教材及參考書
教材:《嵌入式Linux應用程序開發(fā)標準教程(第2版)》.華清遠見嵌入式培訓中心,人民郵電出版社,2009.
主要參考書:
[1] 劉洪濤,孫天澤.嵌入式系統(tǒng)技術與設計.北京:人民郵電出版社,2008
[2] Daniel P.Bovet;Marco Cesati著.陳莉君,張瓊聲,張宏偉譯,深入linux內(nèi)核(第三版).北京:中國電力出版社,2007
[3] [美]Christopher Halinan.嵌入式Linux開發(fā)(英文版).北京:人民郵電出版社,2008
[4] 羅克露,陳云川.嵌入式軟件調(diào)試技術.北京:電子工業(yè)出版社,2009
[5] [英]Neil Matthew;Richard Stones著.陳健,宋健建譯.linux程序設計(第三版).北京:人民郵電出版社,2009
大綱撰寫人:劉澤平
大綱審閱人:劉偉群
教學副主任:易葉青
編寫日期:2012.6