学习嵌入式绝佳资料就业班课程大纲.docx
- 文档编号:15139783
- 上传时间:2023-07-01
- 格式:DOCX
- 页数:37
- 大小:25.81KB
学习嵌入式绝佳资料就业班课程大纲.docx
《学习嵌入式绝佳资料就业班课程大纲.docx》由会员分享,可在线阅读,更多相关《学习嵌入式绝佳资料就业班课程大纲.docx(37页珍藏版)》请在冰点文库上搜索。
学习嵌入式绝佳资料就业班课程大纲
培训大纲
时间
培训内容
培训目标
Linux基础<共5天)
第1天
Linux入门
1、Linux介绍
2、Linux虚拟定制安装
3、Linux文件类型及属性
4、文件系统类型
5、Linux目录结构
6、Linux基本命令
7、文件、压缩、比较合并
8、网络相关命令
9、Linux系统服务
10、Linux启动详解
实验:
第2天
LINUX基础
1、Linux系统服务
2、常用服务器配置
3、Xineted设定
4、LinuxC语言编程环境
5、Linux编辑器vi的使用
6、Emacs综合编辑器
7、Gcc编译器
8、Gcc编译流程解读
9、Gdb调试器及调试技巧
10、GCC代码优化
11、Makefile工程管理器
12、Autotools使用
第3天
实验:
1、Vi的练习使用
2、Gdb调试有问题的程序
3、编写多文件的makefile
第4天
文件和调试
1、文件类型
2、文件和目录
3、文件系统
4、设备特殊文件
5、文件访问
6、tar打包器
7、库函数和系统调用
1、输入和输出
2、程序和进程
3、出错处理
4、用户标识
5、POSIX限制
6、功能测试宏
7、在线文档介绍
8、获取错误信息
9、部分常用工具简介
第5天
C语言<共8天)
第1天
C基础
1、标准C
2、基本数据类型
3、表达式、
4、运算符、常量与变量
5、赋值语句
6、数据输入输出
第2天
模块化程序设计
1、格式输入与输出,
2、顺序结构
3、程序设计举例
4、选择结构程序设计
5、循环控制
第3天
字符串与数组
1、标准C字符串库函数一览
2、重点函数实现解读
3、C字符串处理范例
4、一维数组
5、二维数组
6、字符数组
7、数组与指针
第4天
函数
1、判断指针的类型
2、指针的运算
3、数组和指针的同异
4、指向函数的指针
5、指针与抽象
6、指针与函数
第5天
指针
1、函数的类型和返回值
2、函数的参数传递
3、函数调用过程中的栈堆结构
4、可变参数列表
5、递归函数调用
6、回调函数
第6天
结构体
1、结构体
2、结构体数组
3、结构体与指针
4、指针与链表
5、共用体、位运算
第7天
文件IO
1、文件类型指针
2、文件打开与关闭
3、文件的读写操作
4、文件的定位
5、流和IO重定向
6、文件共享
7、文件记录锁
8、出错的检测
9、小结
第8天
C语言实训和考核
C++<共6天)
第1天
C++基础
1、从C到C++
2、C++程序构成
3、常变量
4、C++输入输出
5、内置函数
6、函数重载
7、C++处理字符串
8、引用
9、new和delete
第2天
类
1、面向对象
2、类申明
3、类成员
4、类和对象
5、类和对象实验
第3天
构造函数
1、构造函数
2、析构函数
3、对象数组
4、静态函数
5、实验
第4天
继承与派生
1、运算符重载
2、继承和派生
3、多重派生
4、继承和组合
5、实验
第5天
C++的多态性
1、多态与虚函数
2、多态与虚函数实验
第6天
C++实训和考核
数据结构<共6天)
尽量让学生用C语言来实现数据结构的算法,模拟排序和存储管理
第1天
线性表和树
1、数据结构基本概念
2、线性表、
3、栈和队列
4、串、数组和链表<可放到第二天)
5、存储表示
6、实验
7、树和二叉树
8、二叉树的遍历
9、树的存储结构
10、赫夫曼树及其应用
11、实验
第2天
图
1、有向图和无向图,
2、图的遍历
3、图的连通性
4、动态存储管理
5、实验
第3天
动态存储管理
1、可利用空间表及分配方法
2、边界标识法
3、伙伴系统
4、分配算法
5、无用单元收集
6、实验
第4天
查找和排序
1、查找
2、内部排序
3、外部排序
4、哈希表
第5天
文件
1、有关文件的基本概念
2、顺序文件
3、索引文件
4、ISAM文件和VSAM文件
5、直接存取文件<散列文件)
6、种经典算法以及初步的算法分析技术
第6天
数据结构实训和考核
嵌入式系统基础<共8天)
第1天
嵌入式系统基础
1、嵌入式系统概述
2、开发板的介绍
3、基于ARM技术的嵌入式系统硬件架构
4、ARM外围硬件设计
5、嵌入式系统硬件平台选型
6、常用处理器芯片
7、常用嵌入式操作系统
8、ARM处理器及芯片选型
9、嵌入式系统的组成和开发流程介绍
10、开发板演示
ARM体系结构与编程
1、ARM内核概述(内核命名/应用内核/嵌入式内核/内核系列>
2、ARM的特点(体系结构/工作模式/流水线/异常处理/寄存器组织/存储器>
3、ARM与其他体系结构处理器异同比较
4、ARM的异常
5、S3C2440处理器(主要结构/片内资源/存储器映射/总线宽度/引脚操作>
第2天
Arm编程与ADS使用
1、ARM指令概述与特点
2、ARM寻址方式
3、ARM/Thumb指令集
4、ARM汇编与C混合编程
5、中断与异常处理机制
6、CodeWarrior集成开发环境
7、Armcc/armlink使用法详解
8、调试器及调试工具(axd/jtag>
9、辅助开发工具(fromelf/armprof/nmake/Makefile>
10、参数设置选项
11、内存地址重映射(memoryremap>
12、堆栈初始化(stack&heap>
13、RO/RW/ZI段地址分配
14、系统呼叫机制(SoftWareInterrupt>
15、ADS示例
第3天
Arm编程及启动代码分析
1、Init启动代码分析
2、启动代码基本概念和执行流程
3、全局变量和局部变量的存储结构
4、程序的存储和加载过程
5、ADS开发实例
实验:
6、启动代码<修改频率/串口波特率/参数配置/内存搬移/初始化等)
第4-5天
常用接口与实验
1、嵌入式系统常用接口电路介绍
2、UART接口
3、SPI接口
4、IIC接口
5、RTC
6、时钟和电源管理
7、看门狗
8、结合包括常用接口、总线、模块介绍
9、ADS开发实例(结合各个接口细解>
实验:
10、ARM开发板-启动代码烧写实验
11、ARM开发板-LED显示灯实验
12、ARM开发板-蜂鸣器实验
13、ARM开发板-中断按钮实验
14、ARM开发板-定时器实验
15、ARM开发板-串口通讯实验
第6天
嵌入式Linux开发环境构建
1、嵌入式Linux定制、开发
2、内核编译和配置
3、配置主机开发环境
4、交叉开发环境搭建
5、嵌入式Linux开发工具介绍
6、Shell编程
7、交叉调试应用程序
8、应用程序开发的示例
实验:
9、嵌入式Linux开发环境构建
第7天
嵌入式linux内核移植
1、嵌入式系统移植基本概念
2、Linux内核源代码结构
3、Linux内核选项解读
4、内核模块编译、使用方法
5、Linux内核移植平台相关代码分析
6、Linux内核的打印与调试
7、Linux启动过程源代码分析
8、常用调试方法和工具
9、动手修改Linux内核源代码
1、Linux文件系统制作
10、文件系统和存储设备的选择
11、ARM平台相关层代码结构 实验: 12、Linux内核启动过程错误分析 13、分析编译过程错误和宏定义的关系 14、解读oops信息 15、部署Ramdisk文件系统的过程 16、JFFS2文件系统和Yaffs2文件系统 第8天 复习和阶段考核 Linux高级编程<共18天) 第1天 IO口编程,文件编程 1、Glibc简介 2、文件描述符 3、文件共享 4、常用文件操作函数 5、系统功能调用接口 6、标准I/O库接口 7、文件I/O操作 8、流和对象 9、串口应用开发 10、高级I/O 11、Poll函数 第2天 1、文件读写及上锁 2、串口操作 第3天 进程编程和 进程通讯 1、进程的属性和状态 2、进程控制和调度 3、守护进程 4、进程间的关系 5、信号、管道 6、守护进程 7、信号(signal>处理 8、内存映射 9、消息队列 10、posix共享内存 11、信号量, 12、互斥锁,读写锁 第4天 第5天 第6天 第7天 多线程编程 1、线程与进程的区别 2、Posix线程 3、线程的创建与结束 4、竞争和临界区概念 5、线程同步 第8天 第9天 IPC高级编程 1、线程间通信与进程间通信 2、posixIPC和systemVIPC 3、消息传递 4、同步 5、共享内存 第10天 网络编程 1、网络基本概念 2、路由概念 3、TCP/IP各个层次的主要协议和功能 4、UDP与TCP的区别 5、NTP协议实现 6、基于嵌入式LINUX的SOCKET编程 7、UDPSERVER-CLIENT关系程 8、如何抓包并分析内容 第11天 第12天 客户端/服务器编程 1、客户端与服务器概念 2、字节顺序 3、网络编程常用函数 4、socket概念及使用 第13天 第14天 socket网络高级编程 1、最简单的TCPC/S 2、添加错误处理 3、处理SIGPIPE信号 4、使用fork进行并发处理 5、使用select与poll 第15天 第16天 UPNP实现 1、socket处理 2、RTSP请求处理 3、媒体数据传输 4、什么是UPnP 5、UDP广播 6、HTTP协议的GET与POST 7、XML解读 第17天 第18天 复习与阶段考核 Linux内核<共7天) 第1天 内核基本结构 1、简要介绍2.6内核 2、内核和2.4比较 3、最新内核技术介绍 4、Linux内核源代码结构 5、Linux内核启动流 6、Linux内核模块开发 第2天 1、Linux进程管理 2、O(1>调度器分析 3、内核锁机制分析 4、内核抢占技术分析 第3天 内存管理 1、内存管理与分配 2、Linux-i386的段式存储和页式管理 3、四级页表树 4、Linux的进程地址空间分布 5、VM的策略: 请求分页、写时复制,交换和页面置换(Token-based> 6、内核缓冲区管理: slab分配器 7、页核心分配器和NUMA内存分配策略 8、页帧换出守护进程: kswapd 9、Linux中断处理 第4天 第5天 中断和异常 1、内核中的定时 2、高精度定时 3、IA-32平台上的中断概述以及APIC介绍 4、Linux的硬件中断模型和内核出入口图 5、BottomHalf机制 6、软中断的实现 7、Tasklet 8、工作队列 9、Linux对异常的实现 10、Linux内核并发与同步 11、时间、定时、延缓操作等 第6天 第7天 复习和考核 QT图形界面<共6天) 第1天 QT基础 1、嵌入式Linux图形用户界面 2、Qt的特点 3、搭建QT开发环境 4、QT图形界面编程技术 5、QT窗口部件 6、QT介绍及其信号插槽机制 实验: 1、Helloworld 2、数字钟 第2天 1、父子化机制 2、常用控件介绍 3、界面布局管理 4、QT绘图 实验: 1、数字钟布局 2、模拟钟 3、实时曲线绘制 第3天 1、QVFB虚拟帧缓存的建立和模拟开发调试 2、Qt编程举例 3、QT程序移植技术 4、QT设计师的应用 5、QT中的事件处理 6、项视图类 实验: 1、拼图游戏 第4天 1、开发板的NFS启动 2、开发板的QT运行环境搭建 3、QT程序的移植 4、QT对开发板上硬件资源的操作 5、为嵌入式应用定制Qtopia 6、交叉编译 实验: 1、串口设置、数据采集程 第5天 1、QT的网络编程 2、QT的数据库编程 实验: 1、局域网聊天工具 第6天 QT复习和考核 Linux驱动程序设计<共15天) 第1天 Bootloader编程 1、Linux启动代码分析 2、程序的存储和加载过 3、RO、RW以及ZI段的存储特性 4、启动代码的搬移过程 5、启动代码的初始化流程 6、bootloader简介和架构分析 7、boot常用命令 8、设置u-boot环境变量 9、配置编译u-boot 10、bootloader代码解读及使用 11、bootloader资源分配和移植 12、添加/修改bootloader功能模块 13、实现自己的bootloader 第2天 第3天 实验: 1、添加u-boot新命令 2、移植u-boot-1.3.4 3、修改Linux的启动logo 4、修改核心启动参数 5、添加硬件检测功能模块 第4天 1、Linux驱动简介 2、Linux设备驱动的概念 3、Platformdevice模型介绍 4、模块的概念 5、模块的构建、编译和加载 6、驱动程序调试技术简单介绍 7、字符设备驱动程序设计 实验: 1、Platformdevice模型实验 2、GPIO按键实验——使用中断机制访问 3、按键中断实验 第5天 字符驱动 1、字符设备驱动程序实现框架 2、典型驱动分析 3、用户空间与内核空间的数据传输 4、同步、互斥、阻塞、睡眠机制 5、Linux-2.6设备模型与sysfs文件系统 6、udev与devfs文件系统 7、fs_operation结构分析 8、中断机制 9、softirq机制 实验: 1、驱动开发编程环境与内核配置、编译 2、LED驱动程序设计 3、蜂鸣器驱动程序编写与测试 4、编写秒表字符设备,掌握定时器用法 第6天 字符驱动 1、Poll和select操作 2、异步通知机制 3、1inux内核中断子系统 4、中断处理程序编写 5、驱动程序上/下半部处理与延缓执行机制 6、内核定时器与延迟机制 7、内核内存管理机制 8、ioctl型驱动 9、阻塞型驱动程序设计 实验: 1、内核程序传递参数 2、串口驱动程序设计 3、在驱动代码中加入创建proc结点方法 4、编写驱动实现包含等待队列、信号量、fifo等功能 5、编写驱动实现包含poll功能 6、编写驱动实现tasklet功能 7、驱动的测试程序编写 第7天 块设备驱动程序开发 1、块设备驱动程序的特点和工作原理 2、块设备驱动程序中两个关键结构体GEN_DISK与REQUEST 3、块设备驱动的设备文件接口概念 4、块设备驱动的文件系统接口概念 5、MTD设备的特点以及与块设备的关系 6、MTD设备驱动的框架及关键结构体分析 7、S3C2440中的NANDFLASH控制器驱动分析 8、块设备驱动的注册接口(register_blkdev>等 9、块设备驱动操作接口(open,release,ioctl等> 10、块设备驱动的request队列和request操作 第8天 实验: 1、实现RAMDISK驱动 2、移植S3C2410闪存控制器驱动 3、配置MTD内核选项 4、修改vdisk.c支持多个设备 5、移植嵌入式文件系统 代码分析(vdisk.c> 1、vdisk.c的注册接口 2、vdisk.c的open,release,ioctl 3、vdisk.c的request队列和request操作 实验: 1、音频驱动实验 2、I2C驱动实验 3、AD/DA采集实验 第9天 LCDFramebuffer设备驱动程序开发 1、液晶/触摸屏工作原理 2、S3C2440液晶、触摸屏控制器工作原理 3、LCD屏驱动程序编写 4、Framebuffer帧缓冲显示技术 5、帧缓冲驱动程序原理 6、帧缓冲驱动程序的数据结构及结构分析 7、帧缓冲驱动程序的API 8、帧缓冲驱动程序的基本实现 9、使用高级图形库 第10天 实验 1、熟悉FRAMEBUFFER驱动的结构 2、熟悉FRAMEBUFFER中的重要数据结构 3、编写S3C2440彩色LCD控制器驱动程序 4、编写测试程序控制屏幕显示 5、编译高级图形库例子,显示图形 6、熟悉触屏驱动程序 7、写触屏测试代码 第11天 网络设备驱动程序开发 8、常见网卡 9、网卡芯片所实现的协议层功能 10、cs8900网卡芯片手册导读 11、cs8900网卡硬件电路分析 12、LinuxTCPIP网络结构概述 13、套接字 14、套接字缓冲区 15、数据包传送与接收 16、NET_DEVICE结构分析 17、网络驱动的中断处理 18、网络设备驱动程序的基本实现 19、Linux网络设备结构 第12天 实验: 1、编写简单的虚拟以太网卡驱动程序 2、移植并编写CS8900A网卡驱动程序 3、cs8900与DM9000网卡驱动程序对比 4、配置网络参数,测试网卡驱动程序行为 第13天 USB设备原理 1、USB规范介绍 2、usbhost/client分类说明 3、usb四种传输类型及其作用 4、USB设备状态 5、USB描述符 6、USB请求 7、USB通讯数据格式 8、usb地址端点的使用 9、S3C2440USBdevice控制器 10、usb协议实现及其详解 11、编写usbtransfer固件程序 12、usb设备即插即用过程 实验: 1、在开发板上烧写并测试USB固件程序 2、usbtransfer固件程序分析与编写 3、使用usbview工具观察USB设备 4、使用sysfs分析USB层次结构 5、LINUX下编写usbtransfer设备驱动实现USB下载 4、USB摄像头采集实验 6、数字接口摄像头采集实验 第14天 第15天 复习和考核 其他课程(6天,视情况穿插在课程中间> 4天 补习、复习、答疑 1天 职业素养 1天 面试技巧 毕业设计(40天> 考核与就业 毕业答辩与就业指导 嵌入式linux工程实战部分 视频采集终端工程实训大纲 课程内容 理论部分 工程需求分析说明书 1.编写需求分析报告的要求 2.需求分析报告的编制者 3.需求报告评审 4.需求报告格式 工程概要设计说明书 1.编写概要设计的要求 2.概要设计报告的编写者 3.概要设计和需求分析、详细设计之间的关系和区别 4.概要设计的评审 5.概要设计格式 工程详细设计说明书 1.详细设计的要求 2.详细设计的评审 3.详细设计格式 测试分析报告 1.界面测试 2.可用性测试 3.功能测试 4.稳定性(强度>测试 5.性能测试 6.逻辑性测试 实验部分 编码调试 1.软件编码的要求 2.编码的评审 3.编程规范及要求 工程开发总结报告 1.合法性检查 2.软件代码测试 3.软件文档检查 4.软件系统测试 5.测试结果交付方式 嵌入式Linux工程实战 设计并实现一个完整的嵌入式视频服务器的完整解决方案,涉及到数据采集、网络/无线通讯、图形用户界面显示以及嵌入式数据库存储系统等多种嵌入式Linux编程技术。 在整个开发过程中,需要用到的知识点包括如下方面: 1.需求分析文档,系统设计文档,详细设计文档 2.ARMLinux的内核编译 3.rootfs文件系统构建 4.linuxweb服务器的搭建 5.按键驱动编写 6.usb驱动编写 7.GPRS通信驱动实现 8.网卡驱动程序编写 9.通过摄像头驱动编写 10.SOCKET编程,基于标准协议的媒体数据传输 11.中断驱动程序编写 12.使用Qt图形界面编程实现视频本地播放程序 13.用户界面设计 14.CGI程序设计 15.程序优化、测试<包括: 内存泄漏、系统调用跟踪、函数执行时间及频率检测、coredump处理等) 16.系统测试用例及文档 17.使用说明书 通过实战工程,培训学员建立起团队开发和协同工作的能力;增加学员对企业工程开发模式的概念的理解;规范化学员的工程开发流程;加强学员对编写工程概要设计文档和详细设计文档的能力,加强学员对软件产品质量的理解。 为就业前的职业技能和素质训练做好充分准备。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学习 嵌入式 绝佳 资料 就业 课程 大纲
![提示](https://static.bingdoc.com/images/bang_tan.gif)