教育教学

当前位置: 网站首页 -> 教育教学 -> 教学工作 -> 人才培养 -> 本科生培养 -> 教学大纲 -> 正文

《嵌入式系统应用与开发》课程教学大纲

信息来源: 发布日期:2015-09-25

《嵌入式系统应用与开发》课程教学大纲

课程名称:

嵌入式系统应用与开发

课程编号:

420308

适用专业:

网络工程

课程类别:

专业限选

课程学分:

3

总学时:

54

其中:理论学时

42

式实验学时

12

先修课程:

C语言程序设计、数据结构、操作系统原理、计算机网络

一、课程的性质、目的与任务

《嵌入式系统应用与开发》课程是嵌入式方向和物联网方向的方向课。该课程主要讲述嵌入式系统应用程序开发方法与技巧,主要内容包括嵌入式应用程序开发基础、嵌入式应用程序开发环境的搭建、文件I/O编程、进程控制开发、进程间通信开发、多线程编程及网络编程等方法与技巧。通过本实验课程,应达到以下几个教学目的:

(1)掌握嵌入式系统应用程序开发编程基础,包括能熟练掌握vi、gcc、gdb、makefile等开发工具的使用,能掌握linux操作系统常用的基本命令的使用。

(2)熟练掌握嵌入式系统开发环境搭建过程,包括掌握交叉环境的搭建,tftp服务器的使用,nfs文件系统的使用,smb服务器的使用,常用的烧写工具的使用等。

(3)掌握linux操作系统下,文件I/O编程方法和技巧,能熟练使用ANSIC标准和POSIX标准C库I/O函数对文件进行操作。

(4)掌握linux下进程控制编程方法和技巧。能熟练掌握进程的创建、进程的等待、多进程、守护进程的编程方法和技巧。

(5)掌握linux下进程通信编程的方法和技巧。熟练掌握管道通信、消息队列、共享内存,信号及信号量等通信机制的原理和编程方法。

(6)掌握linux下线程编程的方法和技巧。

(7)掌握linux下网络编程的方法和技巧,能够使用socket通信原理编写TCP程序。

二、课程教学基本内容与要求

第一章 Linux快速入门

(一)基本教学内容

1.1嵌入式Linux基础

1.2 Linux安装

1.3 Linux文件及文件系统

1.4文件类型及文件属性

1.5 Linux目录结构

(二)基本要求

教学目的:掌握嵌入式Linux的基本概念、理解嵌入式linux的文件系统及目录结构和掌握linux系统的安装。

教学重点:Linux安装、linux文件系统及文件属性和Linux目录结构。

教学难点:Linux的安装和Linux的目录结构。

第二章 Linux基础命令

(一)基本教学内容

2.1 Linux常用命令

2.2 Linux启动过程详解

2.3 Linux系统服务

(二)基本要求

教学目的:掌握linux下常用命令的使用、理解linux启动过程和能使用linux提供的系统服务相关命令完成常用的服务的设定。

教学重点:linux常用命令的使用。

教学难点:linux系统的启动过程。

第三章 Linux下C编程基础

(一)基本教学内容

3.1 Linux下C语言编程概述

3.2常用编辑器

3.3 gcc编译器

3.4 gdb调试器

3.5 make工程管理器

(二)基本要求

教学目的:掌握linux下常用GNU工具vi编辑器、gcc编译器和gdb调试器的使用,能编写简单的make file配置文件。

教学重点:vi编辑器、gcc编译器、gdb调试器和make工程管理器。

教学难点:gcc编译器编译选项的分析、makefile文件的编写。

第四章 嵌入式系统基础

(一)基本教学内容

4.1嵌入式系统概述

4.2 ARM处理器硬件开发平台

4.3嵌入式软件开发流程

(二)基本要求

教学目的:了解嵌入式系统概述、熟悉ARM处理器硬件开发平台、掌握嵌入式软件开发流程。

教学重点:嵌入式系统的特点、嵌入式系统的体系结构、ARM9体系结构、嵌入式软件开发流程。

教学难点:ARM9体系结构、S3C2410处理器。

第五章 嵌入式Linux开发环境的搭建

(一)基本教学内容

5.1嵌入式开发环境的搭建

5.2 U-Boot移植

(二)基本要求

教学目的:掌握嵌入式开发环境的搭建和U-Boot移植主要步骤。

教学重点:嵌入式交叉编译环境的搭建、编译嵌入式Linux内核、制作文件系统、U-Boot移植主要步骤。

教学难点:编译嵌入式Linux内核、制作文件系统、U-Boot移植主要步骤。

第六章 文件I/O编程

(一)基本教学内容

6.1 Linux系统调用及用户编程接口(API)

6.2 Linux中文件及文件描述符概述

6.3底层文件I/O操作

6.4嵌入式Linux串口应用编程

6.5标准I/O编程

(二)基本要求

教学目的:理解系统调用及用户编程接口、了解Linux中文件及文件描述符概述、掌握底层文件I/O操作、掌握嵌入式Linux串口应用编程、掌握标准I/O编程。

教学重点:Linux系统调用及用户编程接口(API)、inux中文件及文件描述符概述、底层文件I/O操作、嵌入式Linux串口应用编程、标准I/O编程。

教学难点:文件锁、多路复用式串口操作。

第七章 进程控制开发

(一)基本教学内容

7.1 Linux进程概述

7.2 Linux进程控制编程

7.3 Linux守护进程

(二)基本要求

教学目的:理解Linux进程概述、掌握Linux进程控制编程方法和技技巧、掌握Linux守护进程编程的方法。

教学重点:Linux下的进程结构、Linux下的进程管理、编写守护进程。

教学难点:Linux下的进程结构、守护进程的出错处理。

第八章 进程间通信

(一)基本教学内容

8.1 Linux下进程间通信概述

8.2管道

8.3信号

8.4信号量

8.5共享内存

8.6消息队列

(二)基本要求

教学目的:理解Linux下进程间通信概述,掌握管道、信号、信号量、共享内存和消息队列等通信方式的应用和编程方法。

教学重点:管道、信号、信号量、共享内存和消息队列等通信方式的应用和编程方法。

教学难点:信号的处理、信号量的应用。

第九章 进程间通信

(一)基本教学内容

10.1 TCP/IP概述

10.2网络基础编程

10.3网络高级编程

(二)基本要求

教学目的:理解Linux线程概述、掌握Linux线程编程。

教学重点:线程的创建、线程等待、线程之间的同步与互斥。

教学难点:线程之间的同步与互斥。

第十章 嵌入式Linux网络编程

(一)基本教学内容

9.1 Linux线程概述

9.2 Linux线程编程

(二)基本要求

教学目的:理解TCP/IP概述、掌握网络基础编程、掌握网络高级编程。

教学重点:TCP/IP协议族、TCP和UDP、地址及顺序处理、socket基础编程。

教学难点:地址及顺序处理、网络高级编程。

三、课程各章节学时分配

序号

内容

理论学时

实验学时

网工

网工

1

Linux快速入门

2

0

2

Linux基础命令

4

0

3

Linux下C编程基础

4

0

4

嵌入式系统基础

2

0

5

嵌入式Linux开发环境的搭建

6

2

6

文件I/O编程

6

2

7

进程控制开发

4

2

8

进程间通信

6

2

9

多线程编程

4

2

10

嵌入式Linux网络编程

4

2

合计

42

12

四、本课程课外学习与修学指导

该课程是一门综合性的课程,运用到操作系统原理、C编程基础和计算机网络等先行课程的内容,所以要多参考相关书籍,做到能系统的撑握相关知识;该课程是一门应用性较强的课程,在有限的实验课时以外,多实践练习,锻炼嵌入式应用程序开发的基本技能、基本设计思路,另外嵌入式系统源代码,大多是开源的。所以在进行应用程序开发过程中,课外多下载阅读分析相关应用程序源代码,做到个性化应用开发。

五、本课程考核方式及成绩评定标准

考核方式:闭卷考试

成绩评定方法:本课程的考核是平时成绩、实验成绩和期终考试成绩相结合。具体比例为:上课出勤、作业占20%,实验占20%,期末考试成绩占60%。

其中期未考试总分100分,基础题占50%,中等难度题占40%,较难题占10%。考试题型主要有:选择题、填空题、判断题、程序填空题、程序设计题等。

六、教材及参考书

教材:《嵌入式Linux应用程序开发标准教程(第2版)》.华清远见嵌入式培训中心,人民邮电出版社,2009.

主要参考书:

[1] 刘洪涛,孙天泽.嵌入式系统技术与设计.北京:人民邮电出版社,2008

[2] Daniel P.Bovet;Marco Cesati著.陈莉君,张琼声,张宏伟译,深入linux内核(第三版).北京:中国电力出版社,2007

[3] [美]Christopher Halinan.嵌入式Linux开发(英文版).北京:人民邮电出版社,2008

[4] 罗克露,陈云川.嵌入式软件调试技术.北京:电子工业出版社,2009

[5] [英]Neil Matthew;Richard Stones著.陈健,宋健建译.linux程序设计(第三版).北京:人民邮电出版社,2009

大纲撰写人: 刘泽平

大纲审阅人: 刘伟群

教学副主任: 易叶青

编写日期:2012.6