课 程 大 纲 |
第一阶段:ARM嵌入式系统工程师
|
| 1.嵌入式系统与ARM微处理器简介 |
1) 嵌入式系统组成、特点以及开发流程
2)ARM微处理器的特点
3)常用的ARM微处理器系列介绍
|
4)ARM微处理器结构
5)ARM微处理器的应用选型 |
| 2.ARM微处理器的编程模型 |
1)ARM微处理器的工作状态
2)ARM微处理器的工作模式
3)寄存器组织
|
4)ARM体系结构的数据存储格式
5)指令长度及数据类型
6)异常(Exceptions) |
| 3.ARM微处理器的指令系统 |
理论部分:
1)ARM微处理器的指令集概述
2)ARM指令的寻址方式
3)ARM汇编语言的基本框架
4)ARM指令集
5)Thumb指令及应用
|
实验部分:
1)使用ADS来编译、链接并调试程序
2)乘法器设计 |
| 4.ARM程序设计基础 |
理论部分:
1)ARM汇编器所支持的伪指令
2)汇编语言的语句格式
3)汇编语言的程序结构
|
实践部分:
1)使用ARM汇编语言实现if条件执行
2)使用ARM汇编语言实现for循环结构
3)使用ARM汇编语言实现while循环结构
4)使用ARM汇编语言实现do…while循环结构
5)使用ARM汇编语言实现switch结构。 |
| 5.汇编语言与C/C++混合编程 |
理论部分:
1)寄存器的使用规则
2)数据栈的使用规则
3)参数的传递规则
4)内嵌汇编器的使用
5)从汇编程序中访问C变量
6)在汇编程序中调用C/C++程序
7)在C/C++程序中调用汇编程序
|
实践部分:
从汇编语言切换到C语言,然后在C语言中分别使用内嵌汇编语言和汇编子程序实现一个加法运算的功能 |
| 6.ARM异常处理 |
理论部分:
1)ARM异常处理概述
2)进入和退出异常的过程
3)在应用程序中安装异常处理程序
4)各类异常的具体描述
|
实践部分:
具体实现SWI异常的装载,功能添加和调试 |
| 7.ARM应用系统设计 |
1)ARM应用系统设计概述
2)S3C2440概述
|
3)系统的硬件选型与单元电路设计
|
| 8.S3C2440的接口工作原理与编程举例 |
理论部分:
1)通用I/O口工作原理与编程示例
2)串口工作原理与编程示例
3)中断控制器工作原理与编程示例
4)DMA工作原理与编程示例
5)实时时钟工作原理与编程示例
6)看门狗工作原理与编程示例
7)I2C工作原理与编程示例
|
实践部分:
1)GPIO实验
2)UART实验
3)中断实验
4)DMA实验
5)实时时钟实验
6)看门狗实验
7)I2C实验 |
| 10.ADS集成开发环境使用介绍 |
理论部分:
1)ADS集成开发环境组成介绍
2)使用ADS创建工程
|
实践部分:
用AXD进行代码调试 |
| 11.嵌入式操作系统及uC/OS-II |
理论部分:
1)操作系统及uC/OS-II 概述
2)任务、进程概念
3)内核数据结构
4)内核调度算法
5)系统中断处理
6)系统移植方法
|
实践部分:
1)实现uC/OS-II在ARM开发板上的移植
2)移植的关键代码解析 |
| 12.在ARM9上开发uC/OS-II应用程序 |
理论部分:
1)uC/OS-II应用程序编写、调试方法
2)多任务开发
3)任务间的通信与同步
4)任务优先级控制
5)任务实时性检测与提高方法
|
实践部分:
1)LED控制应用程序
2)多任务程序实验
3)任务间通信实验
4)串口控制应用程序
5)LCD控制应用程序 |
| 13..项目实训 |
1)基于ARM的数据采集系统设计;
2)实用ARM视频处理系统;
3)实用MP3播放系统开发;
|
4)基于uC/OS-II的网络传输系统设计;
5)基于ARM的SD卡存储系统设计;
6)基于三星2440的触摸屏幕系统开发; |
第二阶段:嵌入式linux系统工程师
|
| 1.Linux环境及程序设计基础 |
1)Linux系统安装、基本命令介绍
2)Linux目录组织、常用服务器配置
|
3)文本编译工具vi和gcc工具使用
4)调试工具GDB使用、Shell、make及makefile使用 |
2.Linux下C/C++高级程序设计与实践 |
1)C语言的高级编程知识
2)数据结构的基础内容
|
3)面向对象程序设计基础
4)C++程序设计 |
| 3.Linux下高级程序设计与实践 |
1)Linux进程控制管理
2)Linux文件管理,IO控制
3)串口概念Linux代码控制
4)进程间通讯:管道通信、信号通信、共享内存、消息队列
|
5)Linux线程访问与控制
6)TCP/IP协议讲解
7)Linux socket程序设计 |
| 4.linux下QT高级编程 |
1)搭建QT开发环境
2)对话框 3)主应用窗口
4)实现应用程序的功能
5)自定义窗口部件 |
6)布局管理
7)事件处理
8)输入输出
9)网络
10)综合案例分析与实现 |
| 5.Linux系统移植 |
理论部分:
1)Linux内核的代码结构。
2)Linux启动过程源代码分析。
3)Linux下的多进程理论。
|
实践部分:
1)实际制作一个嵌入式Linux内核,并且将其烧写到实验板上。
2)实际写一个内核进程,同时在Linux内核启动时运行 |
| 6.Boottloader移植 |
理论部分:
VIVI全过程代码详解。
|
实践部分:
UBOOT移植过程实际演练 |
| 7.嵌入式Linux的文件系统 |
理论部分:
1)Ext2文件系统加载过程代码分析。
2)JFFS2文件系统制作指导。
|
实践部分:
1)Ext2文件系统在实验板上的制作。
2)JFFS2文件系统在实验板上的制作。UBOOT移植过程实际演练 |
| 8.嵌入式Linux设备驱动程序设计与开发实践 |
理论部分:
1)字符设备,块设备驱动详解。
2)网络驱动详解。
3)驱动程序中的一些基本概念。
|
实践部分:
1)实际在实验板上开发按键控制的驱动程序。
2)在开发板上实现SMC网口驱动或者CS8900网卡的移植。 |
| 9.项目实训 |
远程视频监控系统
项目内容:
1.基于ARM/Linux的嵌入式项目研发流程。
2.项目分析和规划。
3.基于ARM的Linux操作系统移植。
4.USB、串口、网卡、摄像头等相关驱动。
5.Linux网络服务器配置,网络应用程序编程。
6.软件的测试与调试。
项目要求:
设计并实现一个真实和完整的嵌入式项目的开发流程,涉及到数据采集、网络通讯、图形用户界面显示以及嵌入式数据库存储系统等多种嵌入式Linux编程技术。
要求学员建立起团队开发和协同工作的企业项目开发模式的概念和流程,强化学员对编写项目概要设计文档和详细设计文档的理解,为就业前的职业技能和素质训练做好充分准备。 |