2023年7月26日发(作者:)
《嵌入式开发》教学大纲
课程编码:
课程名称:嵌入式开发
学时/学分: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嵌入式系统的结构、开发流程、开发要点
1
第2章 嵌入式系统开发环境
主要知识点:
2.1 嵌入式系统开发环境简介
2.2 OK2440-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文件
2
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_init.S
4.3.5 lib_arm/board.c
4.3.6 init_sequence[]
4.3.7 common/main.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
3
第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 zImage内核映像的生成过程
5.3.1 zImage的构成
5.3.2 zImage的解压过程
※ 5.4 实例—基于skyeye的移植三部曲之二:Kernel
5.5 Linux内核启动流程分析
第6章 根文件系统
主要知识点:
6.1嵌入式Linux的文件系统
6.2Linux系统的引导过程
※ 6.3建立根文件系统
※ 6.4实例—基于skyeye的移植三部曲之三:RootFS
第7章 嵌入式LinUX设备驱动程序开发
7.1 Linux设备驱动程序的相关知识
7.2 Linux设备驱动程序设计
※ 7.2.1 实例—动态加载模块
※ 7.2.2 实例—简单字符驱动程序
第8章 嵌入式Linux的图形用户接口
主要知识点:
8.1嵌入式Linux中的GUI简介
8.2Qt/Embedded
8.3Microwindows
8.4MiniGUI
4
8.5OpenGUI
Linux C编程一站式学习II. C语言本质
主要知识点:
14. 计算机中数的表示
15. 数据类型详解
16. 运算符详解
17. 计算机体系结构基础
※ 18. x86汇编程序基础
※ 19. 汇编与C之间的关系
※ 20. 链接详解
※ 21. 预处理
22. Makefile基础
※ 23. 指针
※ 24. 函数接口
※ 25. C标准库
Linux C编程一站式学习 III. Linux系统编程
主要知识点:
※ 28. 文件与I/O
※ 29. 文件系统
※ 30. 进程
※ 31. Shell脚本
※ 32. 正则表达式
※ 33. 信号
※ 34. 终端、作业控制与守护进程
※ 35. 线程
※ 36. TCP/IP协议基础
※ 37. socket编程
四、学时分配表
理论部分:
章序
1
内容
嵌入式系统开发技术基础
课时
2
备注
5 2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
嵌入式系统开发环境
嵌入式软件开发基础
计算机中数的表示、数据类型详解、运算符详解
计算机体系结构基础
x86汇编程序基础
汇编与C之间的关系
链接详解
预处理
Makefile基础
指针
函数接口
C标准库
引导装载程序BootLoader的移植
Linux在ARM平台的移植
根文件系统
嵌入式Linux设备驱动程序开发
嵌入式Linux的图形用户接口
文件与I/O
文件系统
进程
Shell脚本、正则表达式
信号
终端、作业控制与守护进程
线程、TCP/IP协议基础
socket编程
2
2
1
1
4
2
2
1
1
4
4
4
2
2
2
2
0
4
2
2
1
1
3
1
2
五、教材及参考书
教材:《嵌入式系统开发实用教程》 主编:张同光
出版社:清华大学出版社,2013
《Linux C编程一站式学习》 主编:宋劲杉
出版社:电子工业出版社,2009
参考书:
6 1.(美)施部·克·威(V,S,K). 嵌入式系统原理、设计及开发.西安:清华大学出版社,2012
2.周立功. ARM嵌入式系统基础教程(第2版).北京:北京航空航天大学出版社,2008.9
3.凌明. 嵌入式系统高级C语言编程.北京:北京航空航天大学出版社,2011
主要学习资源:
(1)/
(2)/
(3)/
(4)/
等等
审定:
7
发布者:admin,转转请注明出处:http://www.yc00.com/news/1690378062a340484.html
评论列表(0条)