|
课程计划标准
嵌入式linux 系统与应用开发就业班课程计划 2周入学辅导+14周理论实践+2周项目总结指导(其中含7周项目实践时间) |
|
入学测试: C语言基础、C++基础、数据结构、操作系统原理、Linux应用基础、电子电路基础
|
|
开课前两周: 入学基础测试与辅导(C语言、C++、linux基础、数据结构、电子电路)
|
|
1
|
数字电路基础, 模拟电路基础
|
|
2
|
C语言基础
|
|
3
|
C++语言基础
|
|
4
|
数据结构
|
|
5
|
操作系统
|
|
6
|
C/C++与数据结构基础实验(入学测试一)
|
|
7
|
Linux基础(入学测试二)
|
|
|
正式课程
|
序号
|
课程内容
|
|
|
基础1
学习目标: 熟练安装、操作linux系统,并能配置各种开发环境与常用服务 能利用shell进行系统批量化工作 教学案例: Linux系统安装 Linux开发平台搭建与开发工具使用 Shell编程
|
|
1
|
Linux 概述; Linux发行版; Linux开发环境搭建-vmware虚拟机;Linux系统安装 Linux的基础知识; Linux文件系统和文件; Shell的使用; 常用的shell命令;Linux的软件安装; Linux 下的C语言编程基础;Linux下VIM的使用;
|
|
|
2
|
编译器GCC的使用;调试器gdb的使用; Linux下多文件编译与项目管理工具make的使用;
|
|
|
3
|
Linux下shell程序设计
|
|
|
基础2
学习目标: 基本掌握C、C++语言,并能设计较为复杂的应用程序 掌握数据结构常用算法 教学案例: 指法练习游戏、汉诺塔游戏 成绩管理系统、文件压缩器
|
|
4
|
C语言基础强化(1) C语言语法
|
|
|
5
|
C语言基础强化(2) C语言的内存布局与常见库函数
|
|
|
6
|
数据结构强化(1) 链表、队列、栈、树、哈希表
|
|
|
7
|
数据结构强化(2) 数据搜索、遍历、排序与常见算法
|
|
|
8
|
小项目: 指法练习游戏、汉诺塔游戏等
|
|
|
9
|
Linux下的C++语言基础强化(一) 面向对象的编程方法 类及对象的封装 类的继承与派生
|
|
|
10
|
Linux下的C++语言基础强化(二) 虚函数与多态性 构造函数与虚构函数 模板 异常处理
|
|
|
11
|
小项目: 成绩管理系统、文件压缩器
|
|
|
|
嵌入式硬件开发部分
学习目标: 熟悉ARM微处理器体系架构、指令与外围器件;掌握通用外设接口的编程方法。 教学案例: Watchdog控制程序 RTC时钟控制程序 Uartr控制程序 LCD显示控制程序 ADC转换采集程序 触摸屏控制程序 Nandflash读写控制程序
|
|
1
|
Gec2440硬件开发平台搭建 Bootloader烧写、内核烧写、文件系统烧写
|
|
|
2
|
嵌入式微处理器 ARM寄存器 ARM工作模式 ARM异常中断 ARM汇编指令分类 ARM汇编指令寻址方式 ARM汇编程序设计 C及汇编语言混合编程
|
|
|
3
|
MDK开发环境使用 J-Linuk仿真器使用 ARM开发调试环境建立 ARM GPIO应用 ARM存储器控制器 ARM中断控制器(IRQ和FIQ) ARM工作模式转换;
|
|
|
4
|
ARM时钟及定时器;TFT LCD驱动程序设计 看门狗定时器应用;LCD显示曲线及图片;
|
|
|
5
|
NOR Flash应用设计;NAND Flash应用设计 IIC总线控制器
|
|
|
6
|
ADC控制器应用;触摸屏应用及校准
|
|
|
7
|
PWM时钟应用;实时时钟及闹钟应用 ARM启动代码设计 蜂鸣器控制
|
|
|
|
嵌入式应用编程部分
学习目标: 熟悉应用各种系统调用 熟悉TCP/IP协议,掌握并能开发各种网络服务器程序 熟悉各种GUI界面开发,能应用QT开发出较为复杂的系统界面 熟悉嵌入式数据库技术的应用 教学案例: 串口监听程序、图片浏览器、MP3播放器 QQ聊天程序、ftp下载程序 基于QT界面的聊天系统 网络播放机VOD
|
|
1、基本应用程序设计
|
|
1
|
Linux交叉开发环境介绍;GNU交叉工具链的使用;
宿主机与PC机间的通信;串口通信; Minicom配置使用,Windows超级终端配置实验; NFS共享设置实验 交叉调试;
|
|
2
|
文件I/O操作编程; Linux系统调用与用户编程接口; Linux中文件及文件描述符概述; 不带缓存的文件I/O操作;标准I/O开发。 文件操作 目录操作 特殊文件
|
|
3
|
Linux进程概述;Linux下进程结构; Linux下进程的模式类型;Linux下进程管理; Linux进程控制编程;守护进程;信号及信号处理
|
|
4
|
进程间通信;多线程编程 管道;管道创建与读写;标准流管道;FIFO信号量; 共享内存实现;消息队列实现 线程概述与分类;Linux线程技术发展;线程的实现和基本操作; 线程访问控制。
|
|
5
|
小项目: 串口监听程序、 图片浏览器、 MP3播放器
|
|
2、网络程序设计
|
|
6
|
TCP/IP协议概述;OSI参考模型和TCP/IP参考模型; TCP/IP协议栈;TCP和UDP; 套接字基础 网络Socket概述;Socket通信原理; Socket基础编程。
|
|
7
|
套接字编程进阶 多路选择I/O 文件传输实现
|
|
8
|
小项目: QQ聊天程序、ftp下载程序
|
|
3、界面程序设计
|
|
9
|
Linux下嵌入式gui编程介绍; Qt介绍;通过Qt designer认识Qt; 信号和槽;Qt的事件
|
|
10
|
QT中的多线程编程; Qt 中的网络编程。
|
|
11
|
Qt界面布局与特效处理
|
|
12
|
小项目: 带QT界面的聊天系统
|
|
4、数据库程序设计
|
|
13
|
数据库基础;嵌入式数据库应用
|
|
14
|
嵌入式GUI与数据库结合技术
|
|
15
|
阶段项目 网络播放机VOD
|
|
|
嵌入式底层驱动部分
学习目标: 熟悉bootloader启动原理及流程;掌握U-boot裁剪与移植 熟悉linux内核体系架构;掌握2.6.30内核的裁剪与移植 熟悉文件系统实现原理;掌握制作根文件系统 熟悉各种接口的驱动原理;能编写符合具体硬件的驱动程序 教学案例: 自定义设计Bootloader引导程序 GPIO驱动程序 RTC时钟驱动程序 WatchDog驱动程序 基于Linux的可视化家电开关控制器 触摸屏输入设备驱动程序 LCD显示设备驱动程序 Nandflash块设备驱动程序 网络设备驱动程序
|
|
1
|
根文件系统制作一(cramfs、jffs2、yaffs) 根文件系统的目录结构;根文件系统内容; 常见根文件系统制作;添加设备文件;添加动态链接库; 添加系统应用程序;添加配置文件;
|
|
|
2
|
支持QT显示的根文件系统制作 文件系统的目录结构;带QT根文件系统的主要内容; 添加LCD与触摸屏等设备文件;添加QT动态链接库; 添加系统应用程序;添加系统配置文件支持QT显示;
|
|
|
3
|
Bootloader介绍;GEC2440Bootloader分析; 常见bootloader源码分析;
|
|
|
4
|
u-boot配置与编译; u-boot移植; u-boot 使用
|
|
|
5
|
小项目: 自定义设计Bootloader引导程序
|
|
|
6
|
Linux内核结构 配置与编译移植 Linux内核模块设计
|
|
|
7
|
内核内存管理、进程管理、中断管理、设备管理
|
|
|
8
|
内核时钟和定时器管理、信号、调度 Linux内核调试与优化
|
|
|
9
|
字符驱动
|
|
|
10
|
驱动的中断 延时 并发控制 设备驱动的阻塞与非阻塞、异步通信
|
|
|
11
|
高级字符设备
|
|
|
12
|
小项目: 基于Linux的可视化家电开关控制器
|
|
|
13
|
LCD&触摸屏 设备驱动
|
|
|
14
|
IIC & SPI设备驱动
|
|
|
15
|
USB设备驱动
|
|
|
16
|
块设备驱动 Flash设备驱动
|
|
|
17
|
网络设备驱动 网卡设备驱动
|
|
|
18
|
设备驱动调试与移植技巧
|
|
|
19
|
阶段项目: LCD驱动设计(零代码开始)
|
|
|
20
|
综合项目架构分析与项目开发技巧
|
|
|
|
项目实战部分
学习目标: 熟悉企业实际项目开发流程;掌握项目开发平搭建;积累项目开发经验 研发项目: 智能小区系统(包括门口机、广告机、室内控制机、社区服务器)
|
|
项目能力重点实战强化(一) 项目设计能力
|
|
序号
|
内容
|
|
|
1
|
智能小区综合项目架构
|
|
|
2
|
智能小区硬件设计方案分析
|
|
|
3
|
智能小区系统设计方案分析
|
|
|
4
|
智能小区软件设计方案分析
|
|
|
5
|
智能小区总体设计方案整合指导
|
|
|
6
|
智能小区总体设计方案评审验收
|
|
|
项目能力重点实战强化(二) 项目代码设计能力(依据智能小区总体设计方案实施)
|
|
项目阶段一
|
系统方向
|
媒体广告机系统开发
|
实现: 流媒体自动播放 广告文字显示 生活信息提示
|
|
应用方向
|
媒体广告机应用开发
|
|
项目阶段二
|
系统方向
|
门口机系统开发
|
实现: 广告文字显示 密码门禁 门禁对讲
|
|
应用方向
|
门口机应用开发
|
|
项目阶段三
|
系统方向
|
室内机系统开发
|
实现: 广告文字显示 门禁对讲 室内传感监测 室内电器控制
|
|
应用方向
|
室内机应用开发
|
|
项目阶段 四
|
功能扩展
|
项目功能产品化性能提升
|
实现: 视频监控 WEB网络监控 GPRS WiFi无线 GUI界面优化
|
|