|
嵌入式linux 系统与应用开发就业班课程大纲 1周入学辅导+14周理论+2周项目指导(其中含7周项目实践)
入学考核: C语言基础、C++基础、数据结构、操作系统原理、Linux应用基础、电子电路基础 开课前一周:入学基础测试与辅导(C语言、C++、linux基础、数据结构、电子电路) |
|
序号
|
课程目标
|
课程内容
|
|
1
|
Linux 快速入门
|
Linux 概述; Linux发行版; Linux开发环境搭建-vmware虚拟机;Linux系统安装 Linux的基础知识; Linux文件系统和文件; Shell的使用; 常用的shell命令;Linux的软件安装; Linux 下的C语言编程基础;Linux下VIM的使用; 编译器GCC的使用;调试器gdb的使用; Linux下多文件编译与项目管理工具make的使用;
|
|
2
|
|
C语言语法 C语言的内存布局与常见库函数 |
|
3
|
|
链表、队列、栈、树、哈希表 数据搜索、遍历、排序与常见算法
|
|
4
|
|
面向对象的编程方法 类及对象的封装 类的继承与派生 虚函数与多态性 构造函数与虚构函数 模板 异常处理 |
|
5
|
|
嵌入式微处理器 ARM寄存器 ARM工作模式 ARM异常中断 ARM汇编指令分类 ARM汇编指令寻址方式 ARM汇编程序设计 C及汇编语言混合编程 实验: 基本ARM汇编指令编程;数据访问练习; ARM汇编和C混合编程;ARM指令和THUMB指令混合编程
|
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交叉开发环境介绍; GNU交叉工具链的使用;宿主机与PC机间的通信; 串口通信;交叉调试; 实验: Minicom配置使用,Windows超级终端配置实验; NFS共享设置实验
|
|
7
|
|
文件I/O操作编程; Linux系统调用与用户编程接口; Linux中文件及文件描述符概述; 不带缓存的文件I/O操作;标准I/O开发。 文件操作 目录操作 特殊文件
|
Linux进程概述;Linux下进程结构;Linux下进程的模式类型; Linux下进程管理;Linux进程控制编程;守护进程; 信号及信号处理 |
进程间通信;多线程编程 管道;管道创建与读写;标准流管道;FIFO信号量; 共享内存实现;消息队列实现 线程概述与分类;Linux线程技术发展;线程的实现和基本操作; 线程访问控制。 |
TCP/IP协议概述;OSI参考模型和TCP/IP参考模型; TCP/IP协议栈;TCP和UDP; 套接字基础 网络Socket概述;Socket通信原理; Socket基础编程。 |
| 套接字编程进阶 多路选择I/O 文件传输实现 |
|
8
|
|
Linux下嵌入式gui编程介绍;Qt介绍;通过Qt designer认识Qt; 信号和槽;Qt的事件 QT中的多线程编程;Qt 中的网络编程。 Qt界面布局与特效处理 |
|
9
|
|
数据库基础 嵌入式数据库应用 嵌入式GUI与数据库结合技术
|
|
10
|
|
常见根文件系统一(cramfs、jffs2) 根文件系统的目录结构;根文件系统内容; 常见根文件系统制作;添加设备文件;添加动态链接库; 添加系统应用程序;添加配置文件; |
常见根文件系统二(yaffs、romfs) 根文件系统的目录结构;根文件系统内容; 常见根文件系统制作;添加设备文件;添加动态链接库; 添加系统应用程序;添加配置文件; |
|
11
|
|
综合项目架构分析与项目开发技巧 |
|
12
|
|
Bootloader介绍;GEC2440Bootloader分析; 常见bootloader源码分析; u-boot配置与编译;u-boot移植;u-boot 使用 实验: 修改u-boot源代码,移植到开发板上
|
|
13
|
|
Linux内核结构 配置与编译移植 Linux内核模块设计 内核内存管理、进程管理、中断管理、设备管理 内核时钟和定时器管理、信号、调度 Linux内核调试与优化 |
|
14
|
|
字符驱动
|
| 驱动的中断 延时 并发控制 |
| 设备驱动的阻塞与非阻塞、异步通信 |
| 高级字符设备 |
| 块设备驱动 Flash设备驱动 |
| 网络设备驱动 |
| USB设备驱动 |
| LCD&触摸屏 设备驱动 |
| IIC & SPI设备驱动 |
| 设备驱动调试与移植技巧 |
|
项目指导(2周)
|