《嵌入式开发》教学大纲
课程编码:
课程名称:嵌入式开发
学时/学分: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 嵌入式系统开发环境简介
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文件
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
第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
8.5OpenGUI
Linux C编程一站式学习II. C语言本质
主要知识点:
14. 计算机中数的表示
15. 数据类型详解
16. 运算符详解
17. 计算机体系结构基础
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论