第一部分:ARM课程(6天)
1.1 ARM体系结构
1)嵌入式处理器概述;
2)ARM体系结构;
3)ARM指令分类及其寻址方式;
4)ARM程序设计;
1.2 ARM的C编程
1)ARM C/C++ 混合编程;
2)ADS的使用;
3)ARM开发调试环境的建立;
实验:
1、汇编语言实验;
2、汇编、C语言混合编程实验。
1.3 S3C2410A处理器
1)S3C2410A处理器体系结构;
2)S3C2410A 启动代码分析-汇编;
3)S3C2410A中断控制器;
实验:
1、外部中断实验;
2、矩阵键盘扫描实验。
4)S3C2410A看门狗控制器;
5)3C2410A PWM时钟应用;
6)S3C2410A实时时钟控制器;
实验:
定时器实验(看门狗、PWM时钟、实时时钟)。
7)S3C2410 Nand flash控制器;
8)S3C2410启动代码分析-C部分;
9)S3C2410串口控制器;
实验:
1、flash控制器实验;
2、串口控制器实验。
10)S3C2410A IIC控制器;
11)S3C2410A LCD控制器;
12)S3C2410A触摸屏控制器;
实验:
1、IIC控制器实验;
2、LCD控制器实验
3、触摸屏控制器实验。
第二部分:
嵌入式linux基础课程(3天)
2.1 linux 快速入门
1)Linux 概述;
2)Linux 的主要发行版;
3)Linux开发环境搭建-vmware虚拟机;
4)Linux的基础知识;
5)Linux文件系统和文件;
6)Shell的使用;
7)常用的shell命令;
8)Linux的软件安装;
实验:
1、安装linux系统;
2、常用命令练习
2.2 linux开发基础
1)Linux 的编程常识;
2)Linux下VIM的使用;
3)编译器GCC的使用;
4)调试器gdb的使用;
5)项目管理工具make的使用;
实验:
1)gcc编译器使用;
2)gdb调试;
3)编写Makefile
2.3 嵌入式Linux开发环境的搭建
1)嵌入式系统定义;
2)Linux交叉开发环境介绍;
3)GNU交叉工具链的安装与使用;
4)宿主机与PC机间的通信;
5)串口通信,以太网通信;
6)交叉调试;
实验:1)minicom,超级终端配置实验;
2)NFS共享设置实验
第三部分:嵌入式linux编程(4天)
3.1 Linux应用编程
1)linux进程控制;
2)进程间通信;
3)文件操作编程;
实验:进程实验,进程间通信实验,文件操作实验;
3.2 Linux网络编程 实验:服务器与客户端
3.3 QT程序设计
1)Linux下gui编程介绍;
2)Qt介绍;
3)通过Qt designer认识Qt;
4)信号和槽;
5)Qt的事件
实验:
1)“Hello word!”Qt ;
2)对象间通信:
3)Signal 和 Slot 机制;
4)对话框;
5)Qt 中的多线程编程;
6)Qt 中的网络编程。
第四部分:嵌入式linux驱动课程(5天)
4.1 嵌入式Linux内核配置与编译
4.2 Linux内核模块设计
4.3 Linux字符设备驱动设计
4.4 驱动中的并发控制、中断、延时
实验:
1)GEC2410小键盘驱动实例;
2)Linux的IIC设备驱动分析
第五部分:嵌入式linux移植课程(4天)
5.1 引导加载程序设计
1)bootloader介绍;
2)u-boot软件工程;
3)u-boot配置与编译;
4)u-boot移植;
5)u-boot 使用
实验:
u-boot常用命令,分析修改u-boot源代码,移植到GEC2410开发板上。
5.2
linux内核移植
1)Linux内核介绍;
2)Linux内核源代码结构;
3)Linux内核配置系统;
4)Linux内核配置与编译;
5)Linux内核启动流程分析
实验:
移植linux内核到gec2410开发板
5.3 根文件系统制作
1)根文件系统介绍;
2)根文件系统的目录结构;
3)根文件系统内容;
4)添加设备文件;
5)添加动态链接库;
6)添加系统应用程序;
7)添加配置文件
实验:
使用busybox,bash等开源软件构建根文件系统;
第六部分:
实践项目(7天)
实践项目:VOD视频点播 (学员在讲师辅导下独立完成)
项目阶段一:bootloader的移植
项目阶段二:内核的移植
项目阶段三:根文件系统的制作和移植
项目阶段四:播放器的移植
项目阶段五:界面的编写和vod的编写
|