《嵌入式开发》教案.docx
- 文档编号:24522628
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:38
- 大小:22.07KB
《嵌入式开发》教案.docx
《《嵌入式开发》教案.docx》由会员分享,可在线阅读,更多相关《《嵌入式开发》教案.docx(38页珍藏版)》请在冰豆网上搜索。
《嵌入式开发》教案
计算机与信息工程学院
教案
20―20学年度第学期
课程名称嵌入式开发
主讲教师张同光
授课对象计算机科学与技术专业
授课时间
授课地点
教案(首页)
教案编写时间:
2013-05-31
课程名称
嵌入式开发
课程代码
总学时:
72学时
讲课:
64学时
上机:
学时
实验:
18学时
其他:
学时
学分
4
课程类别
公共课()基础课()专业基础课()
专业课(√)专业选修课()公共选修课()
授课对象
计算机科学与技术专业
教材:
《嵌入式系统开发实用教程》主编:
张同光出版社:
清华大学出版社,2013
《LinuxC编程一站式学习》主编:
宋劲杉出版社:
电子工业出版社,2009
主要参考资料:
(1)
(2)
(3)http:
//www.embedu.org/
(4)
教学目的、要求:
目的:
了解嵌入式系统基本要素和最新知识概念,掌握嵌入式系统软硬件设计原理和方法,实践嵌入式系统项目开发基本流程,掌握嵌入式系统开发方法。
通过学习,使学生深刻理解嵌入式系统的基本要素和最新设计理念、嵌入式操作系统、软硬件协同设计的基本方法;实践嵌入式系统设计流程;具备良好的嵌入式系统工程开发能力。
通过本课程的学习,具备一定的分析和解决问题的能力;激起学生们的好奇心和创造力。
要求:
1.嵌入式相关基础理论知识的理解与掌握
2.LinuxC编程、Linux网络编程
3.基于SkyEye的嵌入式系统开发
4.驱动程序设计的框架以及关键点
5.进一步分析Linux0.11内核源代码,提升自己对操作系统原理的理解水平,对操作系统有一个总体的把握和认知
教学重点、难点:
重点:
嵌入式系统开发技术基础的掌握、熟悉嵌入式系统开发环境、掌握嵌入式软件开发基础、QEMU、GDB的安装及简单使用、SkyEye的安装及简单使用、TFTP、NFS服务器的搭建、基于skyeye的Bootloader移植、基于skyeye的Kernel移植、基于skyeye的RootFS移植、linux命令行聊天程序的设计
难点:
嵌入式系统开发技术基础知识、基于skyeye的移植三部曲、LinuxC编程一站式学习II.C语言本质、LinuxC编程一站式学习III.Linux系统编程
注:
1、本页内容针对所讲授课程的总体情况填写;
2、预留版面不够可另附页。
第1讲
一、授课题目:
嵌入式系统开发技术基础。
二、教学目的、要求:
使学生对嵌入式开发有一个整体、宏观的认识。
了解嵌入式系统的定义、分类与特点
了解嵌入式系统的组成
了解嵌入式微处理器的分类与特点
了解嵌入式操作系统的种类与特点
理解ARM微处理器的指令系统
理解嵌入式系统开发流程和开发要点
三、教学重点、难点:
重点:
嵌入式系统的定义、分类与特点、嵌入式系统的组成、操作系统的种类与特点
难点:
微处理器的分类与特点、ARM微处理器的指令系统、嵌入式系统开发流程和开发要点
四、教学进程(含课堂教学内容、教学方法、辅助手段、师生互动、时间分配、板书设计等):
教学方法:
多媒体;师生互动:
即兴提问题;时间分配:
2学时;教学内容:
如下。
嵌入式系统概述、嵌入式系统的定义、分类与特点、嵌入式系统的组成、嵌入式系统的应用领域及发展趋势、嵌入式处理器、嵌入式处理器的分类与特点、ARM微处理器简介、ARM微处理器基础、ARM微处理器的指令系统、ARM内存管理单元、嵌入式操作系统、嵌入式操作系统的种类、特点与发展、嵌入式Linux概述、嵌入式系统的结构、开发流程、开发要点、嵌入式系统的结构、开发模式及开发流程、嵌入式Linux系统开发要点
五、作业布置:
多看书,理解概念
六、主要参考资料:
(1)
(2)
(3)http:
//www.embedu.org/
(4)
等等
第2讲
一、授课题目:
嵌入式系统开发环境
二、教学目的、要求:
使学生对嵌入式系统开发环境有一个整体、宏观的认识。
了解OK2440-Ⅱ开发板构成及硬件资源
了解交叉编译的基本知识
了解WindowsCE和Linux的引导过程
了解SkyEye的起源和发展、目标和意义
掌握SkyEye的配置文件skyeye.conf
掌握交叉编译环境的创建
掌握QEMU、GDB的安装及简单使用
掌握SkyEye的安装及简单使用
掌握TFTP、NFS服务器的搭建
三、教学重点、难点:
重点:
SkyEye的配置文件skyeye.conf、交叉编译环境的创建、QEMU、GDB的安装及简单使用、SkyEye的安装及简单使用、TFTP、NFS服务器的搭建
难点:
QEMU、GDB的安装及简单使用、SkyEye的安装及简单使用
四、教学进程(含课堂教学内容、教学方法、辅助手段、师生互动、时间分配、板书设计等):
教学方法:
多媒体;师生互动:
即兴提问题;时间分配:
2学时;教学内容:
如下。
嵌入式系统开发环境简介、OK2440-II开发平台介绍、OK2440-II开发板构成、OK2440-II开发板硬件资源、实例—OK2440-II开发板的基本使用、实例—引导WindowsCE、实例—引导Linux、交叉编译的基本知识、ARM编译环境、ARM交叉编译工具链、嵌入式软件开发流程、实例—创建交叉编译环境、实例—QEMU、GDB的安装及简单使用、QEMU的安装、GDB的安装、运行ARM汇编程序、调试ARM汇编程序、SkyEye的安装及简单使用、SkyEye简介、实例—安装SkyEye-1.2.6、实例—使用SkyEye-1.2.6、实例—TFTP服务器的搭建、实例—NFS服务器的搭建
五、作业布置:
多看书,理解概念
六、主要参考资料:
(1)
(2)
(3)http:
//www.embedu.org/
(4)
等等
第3讲
一、授课题目:
嵌入式软件开发基础。
二、教学目的、要求:
使学生对嵌入式软件开发基础有一个整体、宏观的认识。
了解LinuxC语言程序设计基础知识
了解ARM汇编语言程序设计的相关知识
了解汇编分类
了解GNUARM汇编语法
了解ELF文件的格式
了解GNU-ld链接脚本
掌握gcc编译器的使用
掌握make及Makefile文件的使用
掌握gdb调试器的使用
掌握ARM汇编&C语言混合编程
掌握x86汇编&C语言混合编程
三、教学重点、难点:
重点:
ARM汇编语言程序设计的相关知识、汇编分类、GNUARM汇编语法、ELF文件的格式、GNU-ld链接脚本、gdb调试器、ARM汇编&C语言混合编程、x86汇编&C语言混合编程
难点:
GNUARM汇编语法、ELF文件的格式、GNU-ld链接脚本、gdb调试器、ARM汇编&C语言混合编程、x86汇编&C语言混合编程
四、教学进程(含课堂教学内容、教学方法、辅助手段、师生互动、时间分配、板书设计等):
教学方法:
多媒体;师生互动:
即兴提问题;时间分配:
2学时;教学内容:
如下。
LinuxC语言程序设计基础知识;程序安装目录、头文件、库文件;gcc编译器;实例—使用gcc编译器;GNUmake工具和Makefile文件;实例—使用make及Makefile文件;glibc;gdb;实例—使用gdb调试器;Binutils工具包;汇编分类;AT&T与Intel汇编语言的比较;ARMASM与GNUARMASM;GNUARM汇编语法;简单的GNUARM汇编源程序举例;GNUARM汇编程序中的语句格式;GNUARM汇编源程序中的标号;GNUARM汇编程序中的分段;GNUARM汇编程序中定义入口点;GNUARM汇编程序中的宏定义;GNUARM汇编程序中的常数;GNUARM汇编程序中的常用伪操作;GNUARM汇编程序中的特殊字符和语法;ATPCS;ARM汇编&C语言混合编程;C内联ARM汇编;模块化程序设计;ARM汇编&C语言混合编程;x86汇编&C语言混合编程;ELF文件的格式;目标文件的格式;可执行文件的格式;GNU-ld链接脚本;
五、作业布置:
多看书,理解概念
六、主要参考资料:
(1)
(2)
(3)http:
//www.embedu.org/
(4)
等等
第4讲
一、授课题目:
C语言基础。
二、教学目的、要求:
回顾C语言基础知识。
三、教学重点、难点:
重点:
C语言基础
难点:
四、教学进程(含课堂教学内容、教学方法、辅助手段、师生互动、时间分配、板书设计等):
程序的基本概念
常量、变量和表达式
简单函数
分支语句
深入理解函数
循环语句
结构体
数组
编码风格
五、作业布置:
多看书,理解概念
六、主要参考资料:
(1)
(2)
(3)http:
//www.embedu.org/
(4)
等等
第5讲
一、授课题目:
计算机中数的表示、数据类型详解。
二、教学目的、要求:
了解计算机中数的表示、数据类型。
三、教学重点、难点:
重点:
计算机中数的表示、数据类型详解。
难点:
计算机中数的表示、数据类型详解。
四、教学进程(含课堂教学内容、教学方法、辅助手段、师生互动、时间分配、板书设计等):
教学方法:
多媒体;师生互动:
即兴提问题;时间分配:
2学时;教学内容:
如下。
由赋值产生的类型转换
强制类型转换
编译器如何处理类型转换
按位与、或、异或、取反运算
移位运算
掩码
异或运算的一些特性
复合赋值运算符
条件运算符
逗号运算符
sizeof运算符与typedef类型声明
SideEffect与SequencePoint
运算符总结
五、作业布置:
多看书,理解概念
六、主要参考资料:
(1)
(2)
(3)http:
//www.embedu.org/
(4)
等等
第6讲
一、授课题目:
计算机体系结构
二、教学目的、要求:
使学生对计算机体系结构有一个整体、宏观的认识。
三、教学重点、难点:
重点:
内存与地址、MMU
难点:
MMU
四、教学进程(含课堂教学内容、教学方法、辅助手段、师生互动、时间分配、板书设计等):
教学方法:
多媒体;师生互动:
即兴提问题;时间分配:
2学时;教学内容:
如下。
内存与地址
CPU
设备
MMU
MemoryHierarchy
五、作业布置:
多看书,理解概念
六、主要参考资料:
(1)
(2)
(3)http:
//www.embedu.org/
(4)
等等
第7讲
一、授课题目:
x86汇编程序
二、教学目的、要求:
使学生对x86汇编程序有一个整体、宏观的认识。
三、教学重点、难点:
重点:
x86的寄存器、第二个汇编程序、寻址方式、ELF文件
难点:
寻址方式、ELF文件
四、教学进程(含课堂教学内容、教学方法、辅助手段、师生互动、时间分配、板书设计等):
教学方法:
多媒体;师生互动:
即兴提问题;时间分配:
2学时;教学内容:
如下。
最简单的汇编程序
x86的寄存器
第二个汇编程序
寻址方式
ELF文件
五、作业布置:
多看书,理解概念
六、主要参考资料:
(1)
(2)
(3)http:
//www.embedu.org/
(4)
等等
第8讲
一、授课题目:
汇编与C之间的关系
二、教学目的、要求:
认识汇编与C之间的关系
三、教学重点、难点:
重点:
函数调用、main函数和启动例程、变量的存储布局、结构体和联合体、C内联汇编、volatile限定符
难点:
main函数和启动例程、变量的存储布局、结构体和联合体、C内联汇编、volatile限定符
四、教学进程(含课堂教学内容、教学方法、辅助手段、师生互动、时间分配、板书设计等):
教学方法:
多媒体;师生互动:
即兴提问题;时间分配:
2学时;教学内容:
如下。
函数调用
main函数和启动例程
变量的存储布局
结构体和联合体
C内联汇编
volatile限定符
五、作业布置:
多看书,理解概念
六、主要参考资料:
(1)
(2)
(3)http:
//www.embedu.org/
(4)
等等
第9讲
一、授课题目:
链接
二、教学目的、要求:
使学生对链接有一个整体的认识。
三、教学重点、难点:
重点:
多目标文件的链接、定义和声明、extern和static关键字、头文件、定义和声明的详细规则、静态库、共享库、编译、链接、运行、动态链接的过程、共享库的命名惯例
难点:
编译、链接、运行、动态链接的过程
四、教学进程(含课堂教学内容、教学方法、辅助手段、师生互动、时间分配、板书设计等):
教学方法:
多媒体;师生互动:
即兴提问题;时间分配:
2学时;教学内容:
如下。
多目标文件的链接
定义和声明
extern和static关键字
头文件
定义和声明的详细规则
静态库
共享库
编译、链接、运行
动态链接的过程
共享库的命名惯例
五、作业布置:
多看书,理解概念
六、主要参考资料:
(1)
(2)
(3)http:
//www.embedu.org/
(4)
等等
第10讲
一、授课题目:
预处理
二、教学目的、要求:
使学生对预处理有一个认识。
三、教学重点、难点:
重点:
预处理的步骤、宏定义、函数式宏定义、内联函数、#、##运算符和可变参数、宏展开的步骤、条件预处理指示、其它预处理特性
难点:
函数式宏定义、内联函数、#、##运算符和可变参数、宏展开的步骤
四、教学进程(含课堂教学内容、教学方法、辅助手段、师生互动、时间分配、板书设计等):
教学方法:
多媒体;师生互动:
即兴提问题;时间分配:
2学时;教学内容:
如下。
预处理的步骤
宏定义
函数式宏定义
内联函数
#、##运算符和可变参数
宏展开的步骤
条件预处理指示
其它预处理特性
五、作业布置:
多看书,理解概念
六、主要参考资料:
(1)
(2)
(3)http:
//www.embedu.org/
(4)
等等
第11讲
一、授课题目:
Makefile、指针
二、教学目的、要求:
使学生对Makefile、指针有一个整体、宏观的认识。
三、教学重点、难点:
重点:
基本规则、隐含规则和模式规则、变量、自动处理头文件的依赖关系、常用的make命令行选项、指针的基本概念、指针类型的参数和返回值
难点:
常用的make命令行选项、指针的基本概念、指针类型的参数和返回值
四、教学进程(含课堂教学内容、教学方法、辅助手段、师生互动、时间分配、板书设计等):
教学方法:
多媒体;师生互动:
即兴提问题;时间分配:
2学时;教学内容:
如下。
基本规则
隐含规则和模式规则
变量
自动处理头文件的依赖关系
常用的make命令行选项
指针的基本概念
指针类型的参数和返回值
五、作业布置:
多看书,理解概念
六、主要参考资料:
(1)
(2)
(3)http:
//www.embedu.org/
(4)
等等
第12讲
一、授课题目:
指针
二、教学目的、要求:
使学生掌握对指针的使用。
三、教学重点、难点:
重点:
指针与数组、指针与const限定符、指针与结构体、指向指针的指针与指针数组、指向数组的指针与多维数组、函数类型和函数指针类型、不完全类型和复杂声明、
难点:
指针与数组、指针与const限定符、指针与结构体、指向指针的指针与指针数组、指向数组的指针与多维数组、函数类型和函数指针类型
四、教学进程(含课堂教学内容、教学方法、辅助手段、师生互动、时间分配、板书设计等):
教学方法:
多媒体;师生互动:
即兴提问题;时间分配:
2学时;教学内容:
如下。
指针与数组
指针与const限定符
指针与结构体
指向指针的指针与指针数组
指向数组的指针与多维数组
函数类型和函数指针类型
不完全类型和复杂声明
五、作业布置:
多看书,理解概念
六、主要参考资料:
(1)
(2)
(3)http:
//www.embedu.org/
(4)
等等
第13讲
一、授课题目:
函数接口
二、教学目的、要求:
使学生对函数接口有一个整体、宏观的认识。
三、教学重点、难点:
重点:
strcpy与strncpy、malloc与free、传入参数与传出参数、两层指针的参数、返回值是指针的情况、回调函数、可变参数
难点:
传入参数与传出参数、两层指针的参数、返回值是指针的情况、回调函数、可变参数
四、教学进程(含课堂教学内容、教学方法、辅助手段、师生互动、时间分配、板书设计等):
教学方法:
多媒体;师生互动:
即兴提问题;时间分配:
2学时;教学内容:
如下。
strcpy与strncpy
malloc与free
传入参数与传出参数
两层指针的参数
返回值是指针的情况
回调函数
可变参数
五、作业布置:
多看书,理解概念
六、主要参考资料:
(1)
(2)
(3)http:
//www.embedu.org/
(4)
等等
第14讲
一、授课题目:
C标准库
二、教学目的、要求:
使学生对C标准库有一个整体、宏观的认识。
三、教学重点、难点:
重点:
字符串操作函数、标准I/O库函数
难点:
字符串操作函数、标准I/O库函数
四、教学进程(含课堂教学内容、教学方法、辅助手段、师生互动、时间分配、板书设计等):
教学方法:
多媒体;师生互动:
即兴提问题;时间分配:
2学时;教学内容:
如下。
字符串操作函数
初始化字符串
取字符串的长度
拷贝字符串
连接字符串
比较字符串
搜索字符串
分割字符串
标准I/O库函数
文件的基本概念
fopen/fclose
stdin/stdout/stderr
errno与perror函数
以字节为单位的I/O函数
操作读写位置的函数
以字符串为单位的I/O函数
以记录为单位的I/O函数
格式化I/O函数
C标准库的I/O缓冲区
五、作业布置:
多看书,理解概念
六、主要参考资料:
(1)
(2)
(3)http:
//www.embedu.org/
(4)
等等
第15讲
一、授课题目:
链表、二叉树和哈希表
二、教学目的、要求:
使学生对链表、二叉树和哈希表的使用。
三、教学重点、难点:
重点:
单链表、双向链表、静态链表
难点:
单链表、双向链表、静态链表
四、教学进程(含课堂教学内容、教学方法、辅助手段、师生互动、时间分配、板书设计等):
教学方法:
多媒体;师生互动:
即兴提问题;时间分配:
2学时;教学内容:
如下。
单链表
双向链表
静态链表
五、作业布置:
多看书,理解概念
六、主要参考资料:
(1)
(2)
(3)http:
//www.embedu.org/
(4)
等等
第16讲
一、授课题目:
引导加载程序Bootloader的移植
二、教学目的、要求:
使学生对引导加载程序Bootloader的移植有一个整体、宏观的认识。
了解常见的BootLoader
理解BootLoader的工作流程
了解U-Boot的代码结构
掌握U-Boot常用命令的使用
掌握Bootloader基于SkyEye的移植
了解真实开发板和虚拟开发板烧写BootLoader的不同
三、教学重点、难点:
重点:
BootLoader的工作流程、U-Boot的代码结构、U-Boot常用命令的使用、Bootloader基于SkyEye的移植、真实开发板和虚拟开发板烧写BootLoader的不同
难点:
Bootloader基于SkyEye的移植、真实开发板和虚拟开发板烧写BootLoader的不同
四、教学进程(含课堂教学内容、教学方法、辅助手段、师生互动、时间分配、板书设计等):
教学方法:
多媒体;师生互动:
即兴提问题;时间分配:
2学时;教学内容:
如下。
BootLoader概述
BootLoader的工作流程
常见BootLoader介绍
U-Boot-1.1.4源代码分析
U-Boot的代码结构
U-Boot的启动流程
移植U-Boot-1.1.4到S3C2440A平台
U-Boot的配置与编译
实例—移植U-Boot到S3C2440A平台
实例—烧写U-Boot到Flash
实例—使用U-Boot
U-Boot的常用命令
U-B
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式开发 嵌入式 开发 教案