《《嵌入式系统设计》教学大纲.pdf》由会员分享,可在线阅读,更多相关《《嵌入式系统设计》教学大纲.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、嵌入式京统设计课程教学大纲 一、课程的基本信息 适应对象:通信工程专业本科 课程代码:23E01927 学时分配:54=34 理论+20 实验 赋予学分:3 先修课程:C 语言程序设计,操作系统 后续课程:嵌入式应用开发二、课程性质与任务 嵌入式系统概论课程属于通信工程专业选修课。通过本课程的学习,使学生熟悉基于 Linux 操作系统的嵌入式系统的开发环境、开发流程及其主要技术,对嵌入式 Linux 系统环境下的应 用软件开发有一个整体的概念和思路,并能够进行简单的嵌入式系统应用设计,为今后从事嵌 入式领域工作打下良好的基础。三、教学目的与要求 通过本课程的学习,使学生理解嵌入式系统体系结构,
2、理解嵌入式系统开发采用的“宿主 机一目标机”模式,理解 Linux 内核启动过程和设备驱动实现过程,熟悉 Linux 操作系统,熟 悉嵌入式 Linux 环境下的软件开发流程;要求学生能自行搭建嵌入式 Linux 开发环境,能熟练 使用 vi、gedit.gcc、gdb、autotools 等多种嵌入式系统开发常用工具,并能实现应用程序设 计和简单的设备驱动设计。四 教学内容与安排 本课程教学过程包括理论讲授和实验两局部。1、课时安排 本课程共 40 个学时(课堂讲授 32 课时,实践 8 课时),按照课程内容,分成 4 个教学单元,各单元的课时安排如下表。序号 单元名称 讲 授 讨 论 实
3、验 小 计 1 Linux 系统基 础知识 5 1 0 6 2 嵌入式 Linux 开发环境 3 1 4 8 3 嵌入式 Linux 应用开发基础 14 2 12 28 4 嵌入式 Linux 7 1 4 12 应用开发 课时合计 29 5 20 54 2、理论教学(32学时)本课程以课堂讲授为主,以下是各单元的主要内容。第一单元Linux系统基础知识(讲授5+讨论1=6课时)【教学内容】本课程的特点与学习方法;Linux 操作系统的安装;Linux 文件及文件系统;Linux 常见 命令;Linux 启动过程;Linux 系统服务配置;Linux 下 C 编程基础。【教学重点与难点】教学重点
4、:Linux 安装;Linux 文件及文件系统。Linux 操作命令;Linux 启动过程详解;Linux 系统服务。Linux 下 C 语言编程概述;常用编辑器;gcc 编译器;gdb 调试器;Make 工程管理器;使 用 autotoolso 教学难点:Linux 系统服务;常用编辑器;gcc 编译器;gdb 调试器。【基本要求】了解嵌入式系统基础知识;掌握 Linux 操作系统安装过程;了解 Linux 操作系统文件类型 及目录结构。了解 Linux 命令行基本基本操作;理解 Linux 启动过程;掌握 Linux 软件安装方法,掌握 环境变量设置方法;掌握系统服务设置方法。掌握 vi
5、基本操作;掌握 Emacs 基本操作;理解 gcc 编译器基本原理;掌握 gcc 编译器使用 方法;掌握 gdb 调试技术;理解 Makefile 基本原理及语法规范;掌握 aototools 工具集使用 方法。【培养的能力】能自行安装 Linux 操作系统,完成系统配置。熟练掌握嵌入式 Linux 环境下的常用编程软 件工具的使用方法。第二单元嵌入式Linux开发环境(讲授3+讨论1=4课时)【教学内容】嵌入式系统基础知识;嵌入式系统基本概念;主流嵌入式操作系统介绍;嵌入式软件开发 流程;嵌入式 Linux 开发环境的搭建;嵌入式开发中常见工具。【教学重点与难点】教学重点:嵌入式系统概述;A
6、RM 处理器硬件开发平台;嵌入式软件开发流程。嵌入式开发环境搭建;u-boot 移植。教学难点:嵌入式软件开发流程;嵌入式开发环境搭建。【基本要求】了解嵌入式系统含义及开展情况;了解嵌入式系统的体系结构;了解 ARM 处理器及 ARM9 相关知识;了解嵌入式系统基本调试手段。掌握嵌入式交叉编译环境搭建过程;掌握 minicom 和超级终端配置方法;掌握 TFTP 和 NFS 服务配置方法;了解嵌入式 Linux 内核代码分布情况;掌握 Linux 内核编译方法;理解 Linux 根文件系统;掌握 Bootloader 原理及过程;了解 U-Boot 代码结构和编译方法。【培养的能力】能自行配置
7、嵌入式 Linux 操作系统交叉编译环境。熟练掌握嵌入式 Linux 环境下的常用编 程工具的使用方法。第三单元嵌入式Linux应用开发基础(讲授14+讨论2=16课时)【教学内容】嵌入式 Linux 的 I/O 与文件系统开发;进程控制开发;进程间通信开发;多线程开发。【教学重点与难点】教学重点:Linux 系统调用及用户编程接口(API);Linux 中文件及文件描述符概述;底层文件 I/O 操作;嵌入式 Linux 串口应用编程;标准 I/O 编程。Linux 进程概述;Linux 进程控制编程;Linux 守护进程。Linux 下进程间通信概述概述;管道;信号;信号量;共享内存;消息队
8、列。Linux 线程概述;Linux 线程编程。教学难点:Linux 底层文件 I/O 操作;Linux 进程控制编程;Linux 守护进程;信号量;进程同步与互 斥,线程同步与互斥。【基本要求】理解系统调用概念;理解用户编程接口(API);掌握文件描述符概念;掌握不带缓存 I/O 文件操作函数使用方法;掌握设备文件读写方法;掌握串口操作方法;掌握标准文件 I/O 函数 使用方法。理解进程概念;掌握进程创立及进程管理过程;掌握进程创立相关系统调用;理解守护进 程概念;掌握守护进程编写方法;了解多进程程序编写方法。掌握进程间通信的基本概念;掌握进程间通信相关函数的使用方法;掌握管道的创立、读 写
9、等操作;掌握信号基本概念;掌握信号处理的相关函数的使用;理解共享内存实现方法;理 解消息队列实现方法。了解 Linux 系统中线程的基本概念;掌握 Linux 系统中创立线程的过程及相关函数使用方 法。理解 Linux 中多线程编程;掌握用信号量处理线程间的同步互斥问题。【培养的能力】能自行安装 Linux 操作系统,完成系统配置。熟练掌握嵌入式 Linux 环境下的常用编程工 具的使用方法。第四单元嵌入式Linux应用开发(讲授7+讨论1=8课时)【教学内容】网络应用开发;设备驱动程序开发;嵌入式图形界面开发。【教学重点与难点】教学重点:TCP/IP 概述;网络编程基础;网络高级编程。设备驱
10、动概述;字符设备驱动编程;GP10 驱动实例;块设备驱动编程。GUI 简介;Qt/embedded 开发入门。教学难点:网络套接字编程;字符设备驱动设计。【基本要求】掌握网络编程的基本概念;掌握 Linux 系统中 socket 编程方法;掌握网络协议的分析与实 现能力。了解驱动层次结构;了解驱动程序与外界的接口关系;了解驱动编写流程;熟悉字符设备 驱动编写过程;熟悉块设备驱动编写过程。了解 Qt 开发环境,理解信号-插槽机制。【培养的能力】能实现网络服务器端与客户端的通信过程,能完成内核驱动的编写与加载,能实现简单窗 体的设计。3、实验教学(8学时)1)编译与调试(4 课时)2)文件读写锁(
11、4 课时)3)串口通信(4 课时)4)守护进程(4 课时)5)Socket 编程(4 课时)五、教学设备和设施 多媒体教室。六、课程考核与评估 课程考核与评估采取平时成绩和期末考试成绩相结合的方式,其中平时考勤,作业、实验 和期末考试分别占课程成绩的 10%、20%、20%和 50%。七 附录 教学参考文献目录:嵌入式系统设计与应用,张思民,清华大学出版社 嵌入式技术与系统一 Intel XScale 结构与开发,陈章龙、唐志强、涂时量,北京航空航 天大学出版社 ARM feLinux 嵌入式系统教程,马忠梅、叶烈煌等,北京航空航天大学出版社 嵌入式系统原理与开发,夏靖波、王航、陈雅蓉,西安电子科技大学出版社 嵌入式 Linux 系统开发技术详解一基于 ARM,孙纪坤、张小全,人民邮电出版社