admin管理员组

文章数量:1533899

2023年12月14日发(作者:)

《嵌入式Linux系统开发》课程教学大纲

课程编号:

课程名称:嵌入式Linux系统开发

英文名称:Development of Embedded Linux

课程类型:专业课 任选

总 学 时:48 讲课学时:32 实验学时:16

学 分:3

适用对象:计算机科学与技术专业本科生

先修课程:数据结构、操作系统、实用软件工程、JAVA程序设计

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

《嵌入式Linux系统开发》课程是计算机科学与技术专业本科生的一门专业选修课。通过本课程的学习要求学生系统地学习嵌入式操作系统的基本概念和基本理论,能够在理解嵌入式Linux系统的基础知识的前提下,熟悉基于嵌入式Linux的软件系统,能较为熟练地编写嵌入式Linux系统下的常见硬件的驱动,能编写简单基于图形界面的应用程序,增强学生的实践能力。培养学生成为面向嵌入式Linux应用领域从事技术和管理工作的高技能应用型人才。

二、教学基本要求

本课程的基本要求如下:

1.掌握嵌入式操作系统的基本概念。

2.掌握嵌入式Linux的基本知识,能够搭建嵌入式Linux开发环境。

3.掌握嵌入式Linux的I/O与文件系统的开发、进程控制开发、进程间通信开发、网络应用开发、设备驱动程序的开发以及嵌入式图形界面的开发。

4.具备基于嵌入式Linux的完整的应用系统开发的能力。

三、教学内容及要求

1.Linux 入门

① 嵌入式Linux基础: 了解Linux的发展,了解Linux作为嵌入式操作系统的优势;

② Linux安装:掌握Linux的安装步骤,能够解决Linux安装过程中常见问题;

③ Linux文件及文件系统:掌握Linux下的文件系统类型、目录结构。

2.Linux系统基础命令

① Linux常用操作命令:掌握Shell基本概念,熟练使用Linux中用户管理命令,熟练使用Linux系统相关命令,熟练使用Linux中文件目录相关命令,熟练使用Linux中打包压缩相关命令,熟练使用Linux中网络相关命令;

② Linux启动过程:了解Linux的启动过程,深入了解INIT进程及其配置文件;

③ Linux系统服务:了解Linux中常用的系统服务,并能够定制Linux中的系统服务。

3.Linux下的C编程

① Vi的基本操作:掌握Vi的命令行模式、插入模式及底行模式的操作方法;

② Emacs的基本操作:掌握Emacs的安装、启动操作,掌握在中Emacs进行代码编辑、编译、调试;

③ Gcc编译器:掌握Gcc的编译流程,熟悉常用编译选项,能够利用Gcc进行开发;

④ Gdb调试技术:掌握Gdb的使用流程,熟悉Gdb的常用命令;

⑤ Makefile技术:理解Make工程管理器的概念,掌握Makefile的基本结构,Makefile的规则以及Make管理器的使用。

4.嵌入式系统基础

① 嵌入式系统概述:掌握嵌入式系统的基本知识,了解嵌入式系统的发展、特点,了解主流的嵌入式操作系统;

② ARM处理器硬件平台:了解ARM处理器的基本知识,ARM处理器的体系结构;

③ 嵌入式系统软件开发流程:掌握嵌入式软件开发的基本概念,如交叉编译、交叉调试等。

5.嵌入式Linux开发环境的搭建

① 嵌入式开发环境的搭建:掌握嵌入式交叉编译环境的搭建,掌握超级终端和Minicom的配置及使用,掌握下载映像到开发板的方法,掌握编译嵌入式Linux内核的技术;

② U-Boot移植:熟悉Bootloader的基本知识,了解U-Boot的源码,熟悉U-Boot移植的主要步骤,熟悉U-Boot的常见命令。

6.I/O编程

① 嵌入式Linux中的文件操作:掌握文件描述符的概念,熟悉文件I/O操作;

② 嵌入式Linux串口应用开发:掌握串口的基本概念、基本参数设置,串口的编程方法;

③ 标准I/O开发:掌握常用的I/O操作API函数。

7.进程控制开发

① Linux下进程概述:掌握进程的基本概念,掌握Linux下的进程结构、模式和类型,以及进程的管理;

② Linux进程控制编程:掌握Linux中控制进程的编程技术;

③ Linux守护进程:熟悉守护进程的概念,掌握守护进程的编写方法、出错处理;

④ Linux中进程的通信:掌握Linux中进程的通信方式,以及编程方法。

8.多线程编程

① Linux下线程概述:熟悉线程的基本概念、分类、Linux线程技术的发展;

② Linux线程控制编程:掌握Linux中控制线程的编程技术,掌握线程的控制访问方法。

9.嵌入式Linux网络编程

① TCP/IP概述:熟悉TCP/IP协议的基本知识;

② 网络编程基础:掌握socket技术的基本概念,掌握socket基础编程;

③ 网络高级编程:掌握Linux下网络编程的高级应用,了解常见的网络工具源代码,例如ping的源代码。

10.嵌入式Linux设备驱动开发

① 设备驱动概述:掌握设备驱动模块的基本知识,熟悉设备文件的分类、设备驱动程序与外界的接口;

② 字符设备驱动编写:熟悉字符设备驱动编写流程,掌握字符设备驱动编写的基本知识;

③ LCD驱动编写实例:掌握LCD工作原理,熟悉LCD驱动编程;

④ 块设备驱动编写:掌握块设备驱动程序描述符,掌握块设备驱动编写流程,掌握基本的块设备驱动编程技术。

11.Qt图形编程

① 嵌入式GUI简介:熟悉Qt/Embedded、MiniGUI、Microwindows、Tiny X;

② Qt/Embedded开发入门:熟悉Qt/Embedded的基本知识,熟悉Qt/Embedded信号和插槽机制,掌握Qt/Embedded开发环境的搭建,熟练应用Qt/Embedded的窗口部件进行图形界面编程。

四、实践环节

《嵌入式Linux系统开发》是一门实践性很强的课程,不仅仅要注重理解基本知识,更要注重培养实际的操作技能。实践性环节是巩固所学理论知识、使理论与实际相结合、提高嵌入式Linux系统开发能力的一项必不可少的重要环节。因此,习题课、课后习题、上机实验等都是加强软件开发能力训练所必需的。

本课程实验部分提供了8个实验,每个实验应安排在所需要的教学内容学完之后。

1.Linux开发平台的构建与配置

2学时

2. 嵌入式Linux内核编译移植 2学时

3.BootLoader实验

4.Linux系统I/O编程实验

5.Linux系统下多进程编程

2学时

2学时

2学时

6.嵌入式Linux平台中网络编程 2学时

7.Linux嵌入式系统设备驱动开发 2学时

8.Linux嵌入式系统图形界面开实验 2学时

五、课外习题及课程讨论

本课程通过课堂讲授例题、课堂练习、课后习题、上机实验等各个实践环节,对学生进行嵌入式Linux开发训练。所有例题、课后习题、上机实验都是精心挑选的,由浅入深,步步推进,调动学生的主动性和自觉性并培养学生对于嵌入式Linux开发技术的兴趣和能力。

除了课内的教学以外,每个完整的教学单元后都有相关作业,并定期检查学生做作业的情况,作业的数量和质量占平时成绩的一部分。

六、教学方法与手段

本课程的课堂教学采用多媒体课件、板书与电脑操作演示相结合的方式进行。采用电脑操作演示方式的课堂讲授可以配有多媒体课件,也可以不配有多媒体课件。

七、教学环节学时分配

章节(或内容)

Linux 入门

讲课

2

习题课

讨论课

实验

2

其它

小计

2 Linux系统基础命令

Linux下的C编程

嵌入式系统基础

嵌入式Linux开发环境的搭建

I/O编程

进程控制开发

多线程编程

嵌入式Linux网络编程

嵌入式Linux设备驱动开发

Qt图形编程

合 计

2

2

2

2

2

4

2

4

6

4

32

4

2

2

2

2

2

16

2

4

2

6

4

6

2

6

8

6

48

八、考核方式

本课程为考试课程,期末考试为闭卷笔试。学生的课程总评成绩由平时成绩(占30%)和期末考试成绩(占70%)两部分构成,平时成绩中实验成绩占15%,出勤、作业和学习主动性等占15%。实验成绩根据实验报告质量评定,作业成绩根据习题的数量和质量评定。

九、推荐教材和教学参考书

教 材:《嵌入式Linux应用程序开发详解》,孙琼编著,人民邮电出版社,2006

参考书:《入式Linux开发详解--基于AT91RM9200和Linux2.6》,刘庆敏编著,北京航空航天大学出版社,2010

《嵌入式Linux开发技术》,孙天泽编著,北京航空航天大学出版社,2011

《构建嵌入式Linux系统(第二版)》,亚荷毛尔编著,中国电力出版社,2011

十、说明

无。

大纲制订人:

大纲审定人:

制订日期:2011年11月 《嵌入式Linux系统开发》实验教学大纲

一、实验教学目标与基本要求

通过本课程教学实践,使学生掌握嵌入式操作系统的基本概念,掌握嵌入式Linux的基本知识,能够搭建嵌入式Linux开发环境,掌握嵌入式Linux的I/O与文件系统的开发、进程控制开发、进程间通信开发、网络应用开发、基于中断的开发、设备驱动程序的开发以及嵌入式图形界面的开发。最终具备基于嵌入式Linux的完整的应用系统开发的能力。

基本要求:对于每个实验要求能够认真完成,能够独立调试并运行出结果。实验前,要认真预习,设计好实验用例;实验结束后,能够写出实验报告,分析实验结果。

二、本实验课程的基本理论与实验技术知识

《嵌入式Linux系统开发》课程侧重讨论嵌入式Linux系统的基本组成原理、嵌入式系统的硬件构成、软件组成以及嵌入式Linux系统的开发技术。学习本课程前需要学生较好的掌握有关数据结构、操作系统、计算机组成与结构、数字电路等先修课程,并要求学生熟练掌握C语言的编程和调试技术。

三、实验方法、特点与基本要求

实验方法采用在宿主机上编辑、交叉编译源程序,把可执行程序下载到实验箱上运行,通过串口及其它部件观察程序运行结果的方式。

要求学生课前预习实验指导书,指导教师应概述实验的原理、方法及仪器使用等,并作针对性指导。对于验证性的实验,验证完毕后,指导教师要引导学生对实现原理的思考,并进一步提出问题,在验证的基础上作一些改变。

基本要求:

1.掌握教学实验箱的硬件组成及工作原理。

2.掌握宿主机的配置方法。

3.掌握嵌入式系统程序的编辑、编译、下载及运行方法。

4.掌握嵌入式系统程序的调试方法。

5.能够读懂系统的逻辑框图和各实验电路图。

四、实验主要仪器设备

计算机系统;CVT JXARM9-2410实验系统。

五、实验项目的设置与内容提要

序号

1

2

实验项目

Linux开发平台的构建与配置

嵌入式Linux内核编译移植

内 容 提 要

构建Linux开发平台并进行必要的基本配置

需要根据实际需要,对某些选项进行裁剪,对内核进行编译移植

对BootLoader进行验证、配置

了解Linux下串口程序设计的基本原理,掌握终端的主要属性及设置方法。

实验 实验每组 实验

学时 类型 人数 要求

2

2

2

2

验证

验证

验证

设计

1

1

1

1

必做

必做

必做

必做

3 BootLoader实验

Linux系统I/O编程实4

验 5

Linux系统下多进程编程

设计一个程序,练习Linux中多进程编程

掌握Linux下SOCKET编程的基本方法,掌握Linux下的常用SOCKET编程函数。

2 设计 1 必做

嵌入式Linux平台中网6

络编程

7

Linux嵌入式系统设备2 设计 1 必做

掌握Linux下显示驱动程序的基本结构和编写方法。

驱动开发

Linux嵌入式系统图形使用Qt/Embedded进行图形界面程8

界面开实验 序的开发

注:总实验学时为16学时。

2

2

设计

综合

1

1

必做

必做

六、实验报告要求

每次实验后均要求学生写出实验报告,实验报告内容包括:题目、题意解释、题意分析、设计方案、运行结果、存在问题和改进意见等。

七、考核方式与成绩评定标准

实验成绩:预习30%、操作30%、报告 40%。

八、教材及主要参考资料

教 材:《嵌入式Linux应用程序开发详解》,孙琼编著,人民邮电出版社,2006

参考书:《入式Linux开发详解--基于AT91RM9200和Linux2.6》,刘庆敏编著,北京航空航天大学出版社,2010

《嵌入式Linux开发技术》,孙天泽编著,北京航空航天大学出版社,2011

《构建嵌入式Linux系统(第二版)》,亚荷毛尔编著,中国电力出版社,2011

九、其他说明

无。

大纲制订人:

大纲审定人:

制订日期:2011年11月

本文标签: 掌握开发实验系统课程