1、嵌入式课程大纲 一、嵌入式课程学习体系 .2二、具体课程 .31、C 语言部分 32、C+部分 33、WIN32 编程 34、LINUX 环境编程 35、QT 46、移植 .47、ARM 硬件 .48、底层与驱动 .4三、项目实践 .5项目案例:远程视频监控系统 .5Windows 客户端子项目 .5Live555 监控服务器项目 .6网络摄像头子项目 .6客户端在 LINUX 下和 WINDOWS 的效果 2一、嵌入式课程学习体系1 、 C 语言2 、 C 语言3 、 w i n 3 2 编程4 、 l i n u x 环境编程 ( 进程 、网络等 )5 、 Q T7 、 移植8 、 A R
2、 M 硬件9 、 底层 ( 中断 、 驱动 )P C W i n d o w s O S P C L i n u x O SA R M 环境 ( W i n C E 、 嵌入式 L i n u x )3二、具体课程注意时间以小时为单位1、 C 语言部分C、C+简介及数据类型 3面向过程程序设计、C 输入输出 3函数与变量存储 6指针和简单的一维数组 3指针和二维数组 6C 语言文件操作 3预处理与自定义数据类型 6指针与链表操作 6指针与二叉树操作 32、 C+部分 类和对象 6运算符重载 6继承与派生 6C+流 6虚函数与多态性 6模板和 STL 9异常处理和名字空间 33、 WIN32 编
3、程Win32 原理 9封装 Win32 3文本和 GDI 图形编程 64、 LINUX 环境编程LINUX 简介与安装 2LINUX 基本命令与文件结构 1文件操作指令、输入、输出、重定向与过滤器 3文件权限、vi 编辑器与进程 4SHELL 脚本 3LINUX 应用软件安装与配置 3GCC 编译与调试 3通讯技术 3多线程技术 3多进程开发 3多进程通信 3多进程应用 35、 QT嵌入式文件系统 3 嵌入式 Web 3嵌入式数据库 3 嵌入式 GUI-Qtopia 9 6、移植嵌入式开发环境建立和使用 3 7、 ARM 硬件硬件控制原理,ADS 使用 6 UART,Leds 控制, 3 AR
4、M 中断处理 ,按键 3 I2C 模块 3 DMA,Nand Flash 模块操作 3 其它模块 3 8、底层与驱动ARM 汇编程序编写 ,C/汇编混和编程 3 Bootloader 分析与开发 3 Linux 内核配置,编译 3 Linux 驱动开发常识 6 S3C24x0 相关驱动分析 3 Linux 字符设备驱动/块设备驱动 6 Linux 网络设备驱动 5三、项目实践项目案例:远程视频监控系统1、 项目背景:本项目目标是设计一个完整的多媒体监控系统.这个系统主要由监控服务器.和网络摄像头和后台终端组成.基中监控服务器运行 LINUX 服务器,网络摄像头由 ARM-LINUX 开发板组成
5、.后台终端由 Windows 客户端组成.整个项目全部涵盖嵌入式三个阶段.由此这个大项目将会折分三个项目:(1)基于 WINDOWS 的网络监控客户端.(阶段一)Mjpg-client 本身是由 Pascal 语言编写,在 LINUX/WINDOWS 编译.从项目角度来说用 C/C+来做来重新编写也是子项目, (2)基于开源项目 live555 的 Linux 监控服务器(阶段二)这是 LINUX 及网络编程阶段的测试项目.(3)基于 ARM 开发板的网络摄像头.(阶段三)嵌入式 Linux 应用的测试项目2、总体结构:Windows 客户端子项目1、项目目标:参考 mjpg_win32 客户
6、端.增加显示内存 JPG 图片功能.增加连续显示 JPG 功能.增加TCP 支持,从 mpjg-streamer 接收动态图象功能.,参考 Live555 的 RTSP 客户端,openRSTP,将6mjpg_win32 改造成的.RSTP 广播数据的客户端,在一个软件里增加多路监控功能,即能在一个界面中看 4 路数据2、对开发者要求:TCP/IP,WinSock 编程、MFC 对话框编程、WINDOWS 常见 API 的调用、RSTP 在WINDOWS 实现Live555 监控服务器项目1、项目需求:分析在 live media Server 的代码基础上,测试视频数据广播,能用客户端(VL
7、C)进行播放多媒体数据.移植到 LINUX 和 WINDOWS 上。服务器增加接收网络摄像头视频数据接收和控制数据接口。 (比如云台控制)增加 Web 接口, 增加对多个摄像头的选择联接.将其框架(即没有 live555mediaserver 的部分编译成一个动态库.用动态库加主程序方式开发自己程序.2、Live555 项目背景Live555 是基于 Linux/Windows 的开源项目.( 即源码即可以在 Linux 下用 gcc 编译,也可以在 Windows 下用 VC+/VS.net 编译)。这个项目出发点是让开发者快速开发出多媒体广播或组播的媒体服务器。Live555 本身由 C+
8、来进行封装。本身封装一个完整媒体服务器的框架。并且封装支持多种广播协议。如 RTP/RTCP、 RTSP 协议。liveMedia 项目的源代码包括四个基本的库,各种测试代码以及 IVE555 Media Server。3、对开发者要求gcc,Makefile Linux 下开发知识、第三方类库使用、网络通讯 SOCKET 编程,组播,广播、类继承和多态的使用、标准 C/C+操作文件、网络抓包工具使用网络摄像头子项目1、项目目标:7动手移植整个网络摄像头程序.并且在 LINUX/WINDOWS 完整的跑通、设计一个程序在开发板显示视频.达到 Windows 下 Viewer.exe 的效果 .2、对开发者要求:交叉编译器 arm-linux-gcc 的移植、修改 Makefile 来移植软件、内核的移植,编译下载、TCP/IP 编程、嵌入式 QTopia 编程.客户端在 LINUX 下和 WINDOWS 的效果完整测试系统:7