嵌入式技术白皮书.doc_第1页
嵌入式技术白皮书.doc_第2页
嵌入式技术白皮书.doc_第3页
嵌入式技术白皮书.doc_第4页
嵌入式技术白皮书.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论