《Linux嵌入式工程师》教学大纲
一、课程基本情况
课程代码:
总学时数:60-80
课程类型: 考试课
适用对象: 计算机科学专业本科学生或研究生。通信、电子、自动化专业本专科学生。
先导课程:Linux程序员(C语言)。
二、课程性质和目标
1.课程的基本特性
本课程将嵌入式软件的知识体系和工程实践有机结合,注重培养学生的跨学科研究与开发实践能力、团队合作与学习创新的职业素质。
2.课程的教学目标
通过本课程的学习,学生能够熟悉。使学生掌握嵌入式Linux开发环境,进程与进程控制, ARM9处理器的硬件开发平台,Bootloader,嵌入式系统程序,嵌入式Linux网络编程,Linux驱动程序的编写,嵌入式Linux图形用户界面等,使学生具有在通信、信息家电、工业控制、移动计算设备、网络设备等领域的设计、开发能力。
三、课程教学方法与手段
本课程的教学主要以理论教学和上机实践教学相结合的方式进行。
四、课程教学内容、要求及重点、难点
第一章 嵌入式系统概论
(一)主要教学内容
第一节 嵌入式系统概述
第二节 ARM开发平台
第三节 嵌入式硬件开发平台
(二)学习目的要求
1.了解嵌入式系统的特点,体系结构;
2.熟悉ARM开发平台;
3.了解嵌入式硬件平台。
(三)重点和难点
教学重点:ARM开发平台。
教学难点:嵌入式系统的体系结构。
第二章 嵌入式Linux开发环境
(一)主要教学内容
第一节 嵌入式开发环境的搭建
第二节 嵌入式开发实例
(二)学习目的要求
1.熟悉嵌入式交叉编译环境,内核定制,移植步骤;
2.熟悉嵌入式开发步骤。
(三)重点和难点
教学重点:嵌入式交叉编译环境,内核定制,移植步骤以及嵌入式开发步骤。
教学难点:内核定制,移植步骤。
第三章 进程与进程控制
(一)主要教学内容
第一节 进程概述
第二节 进程的一般操作
第三节 进程的特殊操作
(二)学习目的要求
1.了解进程的状态及其状态转换;
2.了解进程调度;
3.熟悉进程的一般操作;
4.熟悉进程的特殊操作。
(三)重点和难点
教学重点:进程的状态、进程调度、进程的一般操作和特殊操作。
教学难点:进程的一般操作和特殊操作。
第四章 ARM9处理器的硬件开发平台
(一)主要教学内容
第一节 ARM处理器简介
第二节 ARM9处理器的硬件开发平台
第三节 嵌入式软件开发流程
(二)学习目的要求
1.了解ARM微处理器核;
2.ARM9处理器的硬件开发平台;
3.嵌入式软件开发流程。
(三)重点和难点
教学重点:ARM微处理器。
教学难点:硬件开发平台的搭建。
第五章 嵌入式Linux开发环境的搭建
(一)主要教学内容
第一节 嵌入式开发环境的搭建
第二节 嵌入式系统的引导代码
第三节 U-Boot的移植
(二)学习目的要求
1.了解嵌入式Linux开发环境;
2.掌握编译嵌入式Linux内核;
3.学会U-Boot移植;
4.了解U-Boot命令。
(三)重点和难点
教学重点:编译U-Boot代码。
教学难点:编译U-Boot代码。
第六章 嵌入式系统程序
(一)主要教学内容
第一节 键盘与LED控制
第二节 EEPROM读写
(二)学习目的要求
1. 了解Linux IIC驱动程序的作用;
2.熟悉在Linux下操作八段LED/键盘控制器件的方法。
(三)重点和难点
教学重点:在Linux下操作八段LED/键盘控制器件的方法。
教学难点:在Linux下操作八段LED/键盘控制器件的方法。
第七章 嵌入式Linux网络编程
(一)主要教学内容
第一节 嵌入式Linux网络体系结构
第二节 构建嵌入式网络设备
第三节 嵌入式Linux环境下的Socket编程
第四节 网络编程实例
(二)学习目的要求
1.了解互连网嵌入式系统;
2.熟悉构建嵌入式网络设备;
3.了解TCP/IP协议;
4.熟悉Linux环境下socker编程和网口通讯;
(三)重点和难点
教学重点:构建嵌入式网络设备,Linux网络编程。
教学难点:Linux环境下socker编程和网络通信。
第八章 嵌入式Linux下串行通信程序设计
(一)主要教学内容
第一节 串口通信的基本概念
第二节 串行通信程序的设计
第三节 嵌入式Linux串口通信实例
第四节 IIC总线接口实例
(二)学习目的要求
1. 了解上Linux的串行通信的基本概念;
2. 熟悉串行通信(UART)单元的相关寄存器功能;
3.熟悉Linux的串行通信单元的设置和基本操作。
(三)重点和难点
教学重点:Linux的串行通讯单元的设置和基本操作。
教学难点:Linux的串行通讯单元的设置和基本操作。
第九章 Linux驱动程序
(一)主要教学内容
第一节 LED字符设备驱动程序设计
第二节 LCD显示驱动设计
第三节 USB设备驱动程序设计
第四节 PC机串吕驱动程序的设计
第五节 键盘驱动程序的设计
(二)学习目的要求
1. 熟悉Linux字符设备驱动程序的编写;
2.了解Linux设备驱动程序模块结构;
3.了解LED驱动设计原理;
4.熟悉驱动程序实现设备打开、关闭、读和写等基本的操作。
(三)重点和难点
教学重点:Linux字符设备驱动程序的编写,驱动程序实现设备打开、关闭、读和写等基本的操作。
教学难点:Linux字符设备驱动程序的编写,EduKit2410 LED驱动设计原理。
第十章 Linux GUI基础
(一)主要教学内容
第一节 嵌入式GUI概述
第二节 Qt/Embedded开发入门
第三节 构建图形界面的Cramfs文件系统
第四节 应用程序的编程实例
(二)学习目的要求
1.了解Linux平台常用的QT图形界面,以及它的移植和编译方法;
2.了解嵌入式Linux操作系统上构建带QT图形界面的Cramfs文件系统;
3.熟悉嵌入式Linux操作系统中QTOPIA应用程序的编译及调试方法。
(三)重点和难点
教学重点:嵌入式Linux操作系统中QTOPIA应用程序的编译及调试方法。
教学难点:嵌入式Linux操作系统上构建带QT图形界面的Cramfs文件系统。
五、各教学环节学时分配 (建议)
内 容 | 课堂讲授 | 课程实验 | 习题或讨论 | 其它教学环节 | 小计 |
嵌入式系统概论 | 2 | 0 | 2 | ||
嵌入式Linux开发环境 | 2 | 2 | 4 | ||
进程与进程控制 | 4 | 2 | 6 | ||
ARM9处理器的硬件开发平台 | 2 | 2 | 4 | ||
Bootloader | 2 | 2 | 4 | ||
嵌入式系统程序 | 6 | 4 | 10 | ||
嵌入式Linux网络编程 | 4 | 2 | 6 | ||
接口及通讯程序设计 | 4 | 2 | 6 | ||
Linux驱动程序 | 6 | 4 | 10 | ||
Linux GUI基础 | 6 | 4 | 10 | ||
总 计 | 38 | 24 | 62 |