|
大纲目标
嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一,像常见到的手机、PDA、机顶盒、高清电视(HDTV)、路由器、汽车电子、智能家电、医疗仪器、航天航空设备等等都是典型的嵌入式系统。目前我国嵌入式系统发展最大制约因素是稀缺人才,这主要有两方面的原因:一是与目前我们高校的专业设置有关,我国高校的计算机教育普遍以应用软件为主,很少涉及嵌入式软件的课程,因此企业很难招聘到马上可以投入嵌入式软件开发的实战型人才;二是嵌入式领域门槛相对较高,知识要求比较全面,而且需要一定的实验环境(开发板和工具软件)和有经验的人进行指导。
ITjob多年来一直从事高端就业培训,特别是在嵌入式领域,依托计算机行业协会嵌入式委员会以及深圳市数千家嵌入式领域开发企业,为缓解这种现状,推出嵌入式就业培训课程,专门针对零基础有就业需求的毕业生。本课程在设计上遵循循序渐进和深入浅出的特点,并牢牢把握入门零基础和结业即就业的原则;同时,在教学上配备了优良的教学环境和实力强大的师资团队,确保培训出效果。对培训合格的学员,ITjob提供理想的人才输送渠道,使学员真正达到结业即就业的目标。
为了达到高品质、高起点、高比例就业目的,本项目实战部分要求学生至少完成两个本大纲中所列项目,给学员提供一个真实的项目开发经验,巩固已学知识,做到温故而知新,并获得在企业工作的实际项目经验及其它IT人业人员所必备的素质。通过项目实战,还能让学员了解项目中软件测试基本技术,项目管理流程,项目技术文档编写技术,人员沟通技术,企业管理理论基础,企业文化基础。
在学习基本理论知识,进行项目实战演练的同时,定期进行学员就业心态,面试技巧相关培训以及学员口头表达能力和面试技巧训练,提升学员综合能力以达到企业的用人要求。
理论教学内容
课程分为三大块:
- 嵌入式Linux系统开发:侧重开发环境搭建、内核原理、交叉编译等
- 嵌入式Linux应用开发:侧重Linux应用编程、内核编译、系统调用。
- 嵌入式Linux驱动开发:侧重嵌入式Linux系统下的驱动开发、内核的深入分析。
第一阶段:嵌入式学习基础
目标:掌握学学习嵌入式所必须的基本功,如:能够简单的使用linux,能够写简单的shell脚本,能够编写C语言程序等。
Linux 基础
目标 能够独立安装Linux操作系统 能够熟练使用Linux系统的基本命令 认识Linux系统的常用服务 主要知识点 了解并认识Linux操作系统 安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解 熟悉Linux服务
实验内容 安装Linux操作系统 Linux基本命令实践 设置Linux环境变量 定制Linux的服务 安装Linux操作系统 下载最新Linux源码,并解开至/usr/src目录下 修改SSH、FTP服务的端口号
Shell 编程基础
目标 熟悉Linux系统下的编辑环境 熟悉Linux下的各种Shell 熟练进行shell编程 主要知识点 使用vi编辑文件 使用Emacs编辑文件 使用其他编辑器 Shell简介 认识后台程序 Bash编程
实验内容 熟悉vi基本操作 熟悉Emacs的基本操作 比较不同shell的区别 编写一个测试服务器是否连通的shell脚本程序 编写一个查看进程是否存在的shell脚本程序 编写一个带有循环语句的shell脚本程序 使用vi在不同文件中的复制粘贴操作 编写一个目录菜单 编写一个Makefile文件
Linux 下的 C 编程基础
目标 熟悉Linux系统下的开发环境 熟悉Gcc编译器 熟悉Makefile规则 主要知识点 linux C语言环境概述 Gcc使用方法 Gdb调试技术 Autoconf Automake Makefile 代码优化
实验内容 编写Hello,World程序 使用 make命令编译程序 编写带有一个循环的程序 调试一个有问题的程序 编写汉诺塔程序
第二阶段:嵌入式开发
目的:学习嵌入式开发所必须的种种基本技能。达到能够独立的完成嵌入式开发的基本要求。为参加项目实战作准备。
嵌入式系统开发基础
目标 熟悉嵌入式系统概念以及开发流程 建立嵌入式系统开发环境
主要知识点 嵌入式系统概述 交叉编译 配置TFTP服务 配置NFS服务 下载Bootloader和内核 嵌入式Linux应用软件开发流程
实验内容 制作cross_gcc工具链 编译并下载U-boot 编译并下载Linux内核 编译并下载Linux应用程序 下载配置TFTP服务 重新配置NFS服务的根目录
嵌入式系统移植
目标 了解移植的概念 能够移植Linux内核
主要知识点 Linux内核代码 平台相关代码分析 ARM平台介绍 平台移植的关键技术 移植Linux内核到 ARM平台
实验内容 移植Linux2.6内核到 ARM9开发板 复习Linux内核代码分布
嵌入式 Linux 下串口通信
目标 能够熟悉进行串口通信 熟悉文件I/O
主要知识点 串行I/O的基本概念 嵌入式Linux应用软件开发流程 Linux系统的文件和设备 与文件相关的系统调用 配置超级终端和MiniCOM
实验内容 编写串口通信程序 编写多串口通信程序 复习本章课上讲述的系统调用
嵌入式系统中多进程程序设计
目标 了解Linux系统中进程的概念 能够编写多进程程序
主要知识点 Linux系统进程概述 嵌入式系统的进程特点 进程操作 守护进程 相关的系统调用
实验内容 编写多进程程序 编写一个守护进程程序 sleep系统调用 配置crond服务 用PS命令查看当前系统进程
任务管理、同步与通信
目标 了解Linux系统任务管理机制 熟悉进程间通信的几种方式 熟悉嵌入式Linux中的任务间同步与通信
主要知识点 Linux任务概述 任务调度 管道 信号 共享内存 任务管理 API
实验内容 编写一个简单的管道程序实现文件传输 编写一个使用共享内存的程序 熟悉信号,并自定义一个信号
嵌入式系统中多线程程序设计
目标 了解线程的概念 能够编写简单的多线程程序
主要知识点 线程的基础知识 多线程编程方法 线程应用中的同步问题
实验内容 编写一个多线程程序 思考嵌入式系统中使用多进程和多线程
嵌入式 Linux 网络编程
目标 了解嵌入式Linux网络体系结构 能够进行嵌入式Linux环境下的socket 编程
主要知识点 网络基础知识 嵌入式Linux中TCP/IP网络结构 socket 编程 常用 API函数 分析Ping命令的实现
实验内容 使用socket 编写代理服务器 使用socket 编写路由器 编写一个运行在 ARM平台的网络播放器 编写一个web服务器
嵌入式Linux 网络编程(2)
目标 熟悉UDP协议、PPP协议 熟悉GPRS
主要知识点 基本UDP套接口编程 许可证管理 PPP协议 GPRS
实验内容 编写许可证服务器 指出TCP和UDP的优缺点 编写一个web服务器
GUI 程序开发
目标 熟悉嵌入式系统常用的GUI 能够进行QT编程
主要知识点 GUI基础 嵌入式系统GUI类型 编译QT 进行QT开发
实验内容 使用QT编写“Hello,World”程序 调试一个加入信号/槽的实例 通过重载QWidget 类方法处理事件
Linux 字符设备驱动程序
目标 了解设备驱动程序的概念 了解Linux字符设备驱动程序结构 能够编写字符设备驱动程序
主要知识点 设备驱动程序基础知识 Linux系统的模块 字符设备驱动分析 fs_operation结构 加载驱动程序
实验内容 编写Skull驱动 编写键盘驱动 编写I/O驱动 分析一个看门狗驱动程序 对比Linux2.6内核与2.4内核中字符设备驱动的不同
Linux 块设备驱动程序
目标 了解Linux块设备驱动程序结构 能够编写简单的块设备驱动程序
主要知识点 块设备驱动程序工作原理 典型的块设备驱动程序分析 块设备的读写请求队列
实验内容 比较字符设备与块设备的异同 编写MMC卡驱动程序 分析一个文件系统 对比Linux2.6内核与2.4内核中块设备驱动的不同
文件系统
目标 了解Linux系统的文件系统 了解嵌入式Linux的文件系统 了解MTD技术 能够编写简单的文件系统
主要知识点 虚拟文件系统 文件系统的建立 ramfs内存文件系统 proc文件系统 devfs 文件系统 MTD技术简介 MTD块设备初始化 MTD块设备的读写操作
实验内容 为 ARM9开发板添加 MTD支持 移植JFFS2文件系统 通过proc文件系统修改操作系统参数 分析romfs 文件系统源代码 创建一个cramfs 文件系统
第三阶段:项目实战 目的:通过几个实际的项目开发。来获得实际的项目开发经验。满足企业的要求。
公共教学内容
数据库课程 关系型数据库原理 SQL数据查询语言(DML DDL DCL) 索引 存储过程 触发器 游标 事务 函数
软件工程课程 面向对象(OO)的分析和设计(OOA&OOD) 统一建模语言(UML) CMM基本概述、模型、实施。 软件工程概述 软件工程生命周期模型
就业训练课 就业心态训练 简历写作技巧 企业人才需求介绍 面试技巧训练(常见问题的应答) 模拟技术面试训练(项目阐述) 模拟综合面试训练
项目实战概述 项目实战课程主要侧重学员的自己动手能力。每个项目实战包括组建项目组,选举项目经理,开发经理,系统架构师,系统配置员,系统测试员的过程,有中心相关教师和用人企业项目经理组成项目评审委员会,严格按项目计划执行,每一个里程碑要严格按照软件工程规范输出相应文档并由项目评审小组给出成绩。
嵌入式数据采集系统 项目描述: 本项目的目标是实现一个嵌入式数据采集系统,该项目涉及到的相关技术有:NFS的搭建、JFFS2文件系统的建立及使用、嵌入式数据库Sqlite的移植及编程、MiniGUI编程、设备驱动程序的编写及添加,以及内核、文件系统的裁减及编译。 软件平台: RedHat 9.0 、uCLinux 硬件平台: 2410开发板 项目成员: 由中心老师及学员组成。 开发方式: 由项目模块负责人带领学员完成。 功能描述: 实现一个基于2410的8路数据采集系统。 基本要求:
- 可同时采集8路数据;
- 8路数据及时间在液晶屏上图形化实时显示;
- 8路数据每5秒存放一帧(保存到flash中);
- 具有查询功能;
- 8路数据通过网口传入上位机进行实时监控.
模拟宽带路由器 项目描述:本项目的目标是实现一个嵌入式款待路由器,本系统涉及两个部分,Web服务部分和路由控制部分,系统将建立一个内置Web服务器,用NAT方式实现路由功能。 软件平台: RedHat 9.0 、uCLinux 硬件平台: 2410开发板 项目成员: 由中心老师及学员组成。 开发方式: 由项目模块负责人带领学员完成。 功能描述: 实现一个基于Web管理的简单路由器。 基本要求:
- 网卡的半轮询工作模式
- 网络地址转换——NAT
- 模块的定义
- NAT模块
- 模块的实现
局域网电子点菜系统 项目描述:本项目的目标是实现一个基于UDP通讯的局域网点菜系统,系统具备与网内应用服务器提取菜单信息以及将客户点菜信息发往应用服务器的能力。 软件平台: RedHat 9.0 、uCLinux 硬件平台: 2410开发板 项目成员: 由中心老师及学员组成。 开发方式: 由项目模块负责人带领学员完成。 功能描述: 实现一个基于UDP通讯的点菜系统。 基本要求:
- UDP通讯协议
- 嵌入式数据库与持久存储
- 信息压缩与解压缩
- 图形界面QT
|