《嵌入式开发》教学大纲
课程编码:
课程名称:嵌入式开发
学时/学分:72/4
先修课程:C语言程序设计、数字逻辑、Linux操作系统、计算机网络、操作系统、计算机组成原理、微机原理与接口技术、汇编语言
适用专业:计算机科学与技术
开课教研室:网络教研室
一、课程性质与任务
1 •课程性质:专业方向必修课
2 •课程目的:了解嵌入式系统基本要素和最新知识概念,掌握嵌入式系统软硬件设计原理和方法,实践嵌入式系统项目开发基本流程,掌握嵌入式系统开发方法。
通过学习,使学生深刻理解嵌入式系统的基本要素和最新设计理念、嵌入式操作系统、软硬件协同设计的基本方法;实践嵌入式系统设计流程;具备良好的嵌入式系统工程开发能力。
通过本课程的学习,具备一定的分析和解决问题的能力;激起学生们的好奇心和创造力。
二、课程教学基本要求
1 •嵌入式相关基础理论知识的理解与掌握
2 • Linux C编程、Linux网络编程
3 .基于SkyEye的嵌入式系统开发
4 •驱动程序设计的框架以及关键点
5 •进一步分析Linux 0.11内核源代码,提升自己对操作系统原理的理解水平,对操作系
统有一个总体的把握和认知
三、课程教学内容
第1章嵌入式系统开发技术基础
主要知识点:
探1.1嵌入式系统概述
探1.2嵌入式处理器
探1.3嵌入式操作系统
※^ 1.4嵌入式系统的结构、开发流程、开发要点
第2章嵌入式系统开发环境
主要知识点:
2.1嵌入式系统开发环境简介
22OK2440-II开发平台介绍
2.2.1 OK2440-II开发板构成
2.2.2 OK2440-II开发板硬件资源
探2.2.3 实例一OK2440-II开发板的基本使用2.2.4 实例一引导Windows CE
2.2.5 实例一引导Linux
2.3交叉编译的基本知识
2.3.1 ARM交叉编译工具链
2.3.2嵌入式软件开发流程
探2.4实例一创建交叉编译环境
探2.5 实例一QEMU、GDB的安装及简单使用2.5.1 QEMU的安装
2.5.2 GDB的安装
探2.5.3 运行ARM汇编程序
探2.5.4 调试ARM汇编程序
2.6 SkyEye的安装及简单使用
2.6.1 SkyEye 简介
探 2.6.2 实例一安装SkyEye-1.2.6
探 2.6.2 实例一使用SkyEye-1.2.6
探2.7 实例一TFTP服务器的搭建
探2.8实例一NFS服务器的搭建
第3章嵌入式软件开发基础
主要知识点:
3.1 Linux C语言程序设计基础知识
3.1.1程序安装目录、头文件、库文件
3.1.2 gcc编译器
探3.1.3实例一使用gcc编译器
3.1.4 GNU make 工具和Makefile 文件
※^ 3.1.5 实例一使用make及Makefile文件
3.1.6 glibc
3.1.7 gdb
探3.1.8实例一使用gdb调试器
3.1.9 Binutils 工具包
3.2 GNU ARM汇编语法
3.5 ARM汇编语言程序设计
3.5.1 ARM汇编伪指令介绍
3.5.2模块化程序设计
3.6混合语言编程
第4章引导装载程序BootLoader的移植
主要知识点:
4.1 BootLoader
4.1.1 BootLoader 概述
4.1.2 BootLoader的工作流程
4.2 常见BootLoader 介绍
4.3 U-Boot-1.1.4源代码分析
4.3.1 U-Boot的代码结构
4.3.2 U-Boot的启动流程
4.3.3 cpu/arm920t/start.S
4.3.4 lowlevel」nit.S
4.3.5 lib_arm/board.c
4.3.6 ini t_seque nce[]
4.3.7 common/mai n.c
4.4 移植U-Boot-1.1.4 到S3C2440A 平台4.4.1 U-Boot的配置与编译
探4.4.2 实例一移植U-Boot到S3C2440A平台探4.4.3 实例一烧写U-Boot到Flash
4.5 实例一使用U-Boot
4.5.1 U-Boot的常用命令
4.5.2 U-Boot的环境变量
4.5.3 U-Boot与内核的关系
4.5.4 添加U-Boot命令
探4.6 实例一基于skyeye的移植三部曲之一:Bootloader
第5章Linux在ARM平台的移植
主要知识点:
5.1 Linux 内核
5.1.1 Linux内核简介
5.1.2 Linux内核源代码结构
5.1.3 Linux内核的配置
探 5.1.4 Makefile、Kconfig 与.config 的关系5.2 Linux内核的移植
探5.3 zlmage内核映像的生成过程
5.3.1 zImage 的构成
5.3.2 zImage的解压过程
探5.4 实例一基于skyeye的移植三部曲之二:
5.5 Linux内核启动流程分析
第6章根文件系统
主要知识点:
6.1嵌入式Linux的文件系统
6.2Linux系统的引导过程
探6.3建立根文件系统
探6.4实例一基于skyeye的移植三部曲之三:
第7章嵌入式LinUX设备驱动程序开发
7.1 Linux设备驱动程序的相关知识
7.2 Linux设备驱动程序设计
探7.2.1实例一动态加载模块
探7.2.2实例一简单字符驱动程序
第8章嵌入式Linux的图形用户接口主要知识点:8.1嵌入式Linux中的GUI简介
8.2Qt / Embedded
8.3Microwi ndows
8.4Mi niGUI
8.50pe nGUI
Kernel RootFS
Linux C编程一站式学习II. C语言本质主要知识点:
14. 计算机中数的表示
15. 数据类型详解
16. 运算符详解
17. 计算机体系结构基础
探18. x86汇编程序基础
探19.汇编与C之间的关系
探20.链接详解
探21.预处理
22. Makefile 基础
探23.指针
探24.函数接口
探25. C标准库
Linux C编程一站式学习HI. Linux系统编程
主要知识点:
探28.文件与I/O
探29.文件系统
探30.进程
31. Shell 脚本
探32.正则表达式
探33.信号
探34.终端、作业控制与守护进程
探35.线程
探36. TCP/IP协议基础
探37. socket编程
四、学时分配表
五、教材及参考书
教材:《嵌入式系统开发实用教程》主编:张同光
出版社:清华大学出版社,2013 《Linux C编程站式学习》主编:木劲杉
出版社:电子工业出版社,2009
参考书:
1 •(美)施部•克•威
(V,S,K).嵌入式系统原理、设计及开发•西安:清华大学出版社, 2012
2 .周立功.ARM嵌入式系统基础教程(第2版).北京:北京航空航天大学出版社,
2008.9
3 .凌明.嵌入式系统高级C语言编程.北京:北京航空航天大学出版社,2011
主要学习资源:
(1) /
(2) /
(3) /
(4) /
审定:。