《嵌入式开发》教案.docx

上传人:b****1 文档编号:10994916 上传时间:2023-05-28 格式:DOCX 页数:38 大小:22.07KB
下载 相关 举报
《嵌入式开发》教案.docx_第1页
第1页 / 共38页
《嵌入式开发》教案.docx_第2页
第2页 / 共38页
《嵌入式开发》教案.docx_第3页
第3页 / 共38页
《嵌入式开发》教案.docx_第4页
第4页 / 共38页
《嵌入式开发》教案.docx_第5页
第5页 / 共38页
《嵌入式开发》教案.docx_第6页
第6页 / 共38页
《嵌入式开发》教案.docx_第7页
第7页 / 共38页
《嵌入式开发》教案.docx_第8页
第8页 / 共38页
《嵌入式开发》教案.docx_第9页
第9页 / 共38页
《嵌入式开发》教案.docx_第10页
第10页 / 共38页
《嵌入式开发》教案.docx_第11页
第11页 / 共38页
《嵌入式开发》教案.docx_第12页
第12页 / 共38页
《嵌入式开发》教案.docx_第13页
第13页 / 共38页
《嵌入式开发》教案.docx_第14页
第14页 / 共38页
《嵌入式开发》教案.docx_第15页
第15页 / 共38页
《嵌入式开发》教案.docx_第16页
第16页 / 共38页
《嵌入式开发》教案.docx_第17页
第17页 / 共38页
《嵌入式开发》教案.docx_第18页
第18页 / 共38页
《嵌入式开发》教案.docx_第19页
第19页 / 共38页
《嵌入式开发》教案.docx_第20页
第20页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《嵌入式开发》教案.docx

《《嵌入式开发》教案.docx》由会员分享,可在线阅读,更多相关《《嵌入式开发》教案.docx(38页珍藏版)》请在冰点文库上搜索。

《嵌入式开发》教案.docx

《嵌入式开发》教案

计算机与信息工程学院

教案

 

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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2