Emebedded System and Application(Linux)
Goal -- 掌握嵌入式系统开发的流程,系统移植的方法,编写Bootloader
(Be familiar with the process of ES Developing , System Migration amd Bootloader Programming )
Requriement -- C、C++、Data Structure、Operating System、Linux、Electronic circuit
Content --
1
| Linux 快速入门 | Linux 概述; Linux发行版; |
2
|
C语言基础强化 | C语言语法 C语言的内存布局与常见库函数 |
3
|
数据结构基础强化 | 链表、队列、栈、树、哈希表 |
4
|
C++语言基础强化 | 面向对象的编程方法 类及对象的封装 类的继承与派生 虚函数与多态性 构造函数与虚构函数 模板 异常处理 |
5
|
ARM硬件接口 | 嵌入式微处理器 ARM寄存器 ARM工作模式 |
MDK开发环境使用 U-Linuk仿真器使用 ARM开发调试环境建立 ARM GPIO应用 ARM存储器控制器 ARM中断控制器(IRQ和FIQ) 实验: ARM汇编语言与C语言实现跑马灯; IRQ与FIQ中断流程分析 | ||
ARM时钟及定时器;TFT LCD驱动程序设计 实验: 看门狗定时器应用;LCD显示曲线及图片; LCD汉字显示实验; | ||
ADC控制器应用;触摸屏应用及校准 实验: ADC应用实验;触摸屏实现实验 | ||
PWM时钟应用;实时时钟及闹钟应用 实验: 蜂鸣器控制;实时时钟及闹钟应用; ARM工作模式转换;ARM启动代码设计 | ||
NOR Flash应用设计;NAND Flash应用设计 IIC总线控制器 实验: NOR Flash编程;NAND Flash编程; | ||
6
|
交叉开发环境搭建 |
嵌入式系统定义;Linux交叉开发环境介绍;
|
7
|
Linux下C语言开发 | 文件I/O操作编程; |
Linux进程概述;Linux下进程结构;Linux下进程的模式类型; Linux下进程管理;Linux进程控制编程;守护进程; 信号及信号处理 | ||
进程间通信;多线程编程 管道;管道创建与读写;标准流管道;FIFO信号量; 共享内存实现;消息队列实现 线程概述与分类;Linux线程技术发展;线程的实现和基本操作; 线程访问控制。 | ||
TCP/IP协议概述;OSI参考模型和TCP/IP参考模型; TCP/IP协议栈;TCP和UDP; 套接字基础 网络Socket概述;Socket通信原理; Socket基础编程。 | ||
套接字编程进阶 多路选择I/O 文件传输实现 | ||
8
|
嵌入式GUI设计 | Linux下嵌入式gui编程介绍;Qt介绍;通过Qt designer认识Qt; 信号和槽;Qt的事件 QT中的多线程编程;Qt 中的网络编程。 Qt界面布局与特效处理 |
9
|
嵌入式数据库应用 | 数据库基础 |
10
|
根文件系统 | 常见根文件系统一(cramfs、jffs2) 根文件系统的目录结构;根文件系统内容; 常见根文件系统制作;添加设备文件;添加动态链接库; 添加系统应用程序;添加配置文件; |
常见根文件系统二(yaffs、romfs) 根文件系统的目录结构;根文件系统内容; 常见根文件系统制作;添加设备文件;添加动态链接库; 添加系统应用程序;添加配置文件; | ||
11
|
项目架构 | 综合项目架构分析与项目开发技巧 |
12
|
Bootloader | Bootloader介绍;GEC2440Bootloader分析; |
13
|
Linux内核高级技术 | Linux内核结构 配置与编译移植 Linux内核模块设计 内核内存管理、进程管理、中断管理、设备管理 内核时钟和定时器管理、信号、调度 Linux内核调试与优化 |
14
|
Linux驱动高级应用 | 字符驱动 |
驱动的中断 延时 并发控制 | ||
设备驱动的阻塞与非阻塞、异步通信 | ||
高级字符设备 | ||
块设备驱动 Flash设备驱动 | ||
网络设备驱动 | ||
USB设备驱动 | ||
LCD&触摸屏 设备驱动 | ||
IIC & SPI设备驱动 | ||
设备驱动调试与移植技巧 |