1、课程名称:嵌入式学院嵌入式 LINUX 工程师就业培训班上课时间为:上午 9:0012:00 下午 13:3017:30 (每天 7 小时正式上课时间) 晚自习 18:0021:00第一阶段:嵌入式 Linux 软件工程师 职场定位:Linux Development Engineer for Software Engineering 本期目标:嵌入式系统是现在最热门的计算机应用领域之一,嵌入式 C 语言在其中起着至关重要的作用。一个精通 C 语言程序设计的程序员,可以很容易地进入 Linux、WinCE、Vxworks 等嵌入式操作系统下的软件开发工作。本阶段学习目标是掌握 C 语言基本知识
2、、C 编程语法基础和 Linux 操作系统的使用,并熟练掌握嵌入式 Linux 的开发环境,为将来的编程工作打基础。序号 课程名称 课程内容 掌握要求1 Linux 操作系统使用本课程从零起点,讲解 Linux 操作系统的概念和安装方法,详细介绍 Linux 下的基本命令、管理配置和编辑器,包括 VI 编辑器,GCC 编译器,GDB 调试器和 Make 项目管理工具等知识。精通2嵌入式 Linux C 语言高级编程C 语言是嵌入式领域最重要也是最主要的编程语言,本课程将在学员 C 语言基础知识之上,通过大量编程实例重点讲解 C 语言的高级编程知识,包括函数与程序结构、指针、数组、常用算法、库函
3、数的使用等知识,另外,本节还重点讲解数据结构的基础内容,包括链表、队列、栈、树、哈希表、图等内容。精通3 C+面向对象编程C+是 Linux 应用开发主要语言之一,本节重点让学员掌握面向对象编程的基本思想,以及 C+语言的基础内容,为后面的课程做好铺垫。掌握4嵌入式 Linux 项目开发流程本课程主要让学员从宏观了解嵌入式 Linux 开发环境搭建和项目开发流程,让学员建立起整体架构的概念,包括嵌入式产品需求分析和选型、硬件平台、移植、启动代码、驱动开发、系统部署等整个过程。掌握 第二阶段:嵌入式 Linux 系统工程师 职场定位:Linux Development Engineer for
4、Embedded Systems 证书:微软嵌入式工程师认证证书(认证费 500 元),红帽公司Linux 应用开发工程师证书(认证费 500 元) 本期目标:参加本期培训的学员应该掌握嵌入式 C 语言编程技巧。嵌入式 Linux 应用开发和系统开发是嵌入式 Linux 中最重要的一部分,也是企业人才需求最广的一部分。本期学习的主要目标是精通嵌入式 Linux 下的程序设计,熟悉嵌入式 Linux 开发流程,强化学员对 Linux 应用开发的理解和编码调试的能力,同时掌握 bootloader 和 kernel 的移植技能,了解 ARM 体系结构和编程,具备 ARM 硬件接口的基础知识,并了解
5、 Linux 内核开发相关内容,初步掌握 Linux 下的驱动程序开发方法。另外,本期课程还会让学员了解另外一个比较重要的嵌入式操作系统:Windows CE,使学员在掌握嵌入式 Linux 的同时,也了解 Windows CE 的开发方法,拓展学员的知识面,丰富学员的知识结构。最后通过几个典型的企业全真案例,进一步巩固本期课程内容,使学员真正学以致用。序号 课程名称 课程内容 掌握要求5嵌入式 Linux 高级应用编程嵌入式 Linux 应用开发是嵌入式 Linux 中最重要的一部分,也是就业面最广的方向。本课程的主要目标是精通嵌入式 Linux 下的程序设计,精通嵌入式 Linux 开发环
6、境,强化学员对 Linux 应用开发的理解和编码调试的能力,包括系统编程、文件 I/O、多进程和多线程、网络编程、 GUI 图形界面编程、数据库。精通6 ARM 处理器编程ARM 是嵌入式领域最主要的 CPU 处理器,了解 ARM 处理器的基础知识将为后面课程的底层开发打好坚实基础,本课程内容包括 ARM 处理器体系结构、编程环境、指令集、寻址方式、调试、汇编和混合编程等方面的内容,为后面移植课程的学习打好基础。学完此课程学员可获得 ARM 公司全球统一授权培训证书。掌握7 ARM 硬件接口开发本课程重点介绍 ARM 的常用接口开发及硬件电路设计基础(包括 IO、串口、看门狗、实时时钟、SPI
7、 、IIC、扫描键盘、FLASH 操作等),为以后的设备驱动的学习打好基础。了解8嵌入式 Linux 系统开发系统开发是嵌入式 Linux 底层开发必备的基本技能,本课程将教会学员在硬件电路板做好的情况下,如何从零开始搭建嵌入式 Linux 运行环境,内容包括内核裁减、内核移植、交叉编译、内核调试、启动程序 Bootloader 编写、根文件系统制作和集成部署 Linux 系统等整个流程。精通9嵌入式 Linux 内核开发本课程是驱动开发的基础课程,深入内核细节,了解 Linux相关运行机理,为后面的驱动开发打好理论基础,内容包括内核源码结构、内存管理、进程管理、中断管理、系统调用、内核同步、
8、时钟和定时器管理、信号、调度、进程间通信、文件系统和 I/O 设备管理等方面的内容。了解10嵌入式 Linux 驱动开发基础介绍嵌入式 Linux 驱动开发相关概念及开发流程,了解驱动涉及到的关键技术点,并重点学习字符设备驱动开发,包括串口、I/O、看门狗、实时时钟、 SPI、IIC、扫描键盘、A/D转换、定时器等接口的驱动开发,为第三期课程深入学习驱动高级开发打好基础。掌握11WinCE 操作系统开发基础Windows CE 是目前另外一个最主流的嵌入式操作系统,嵌入式学院利用自身在 Windows CE 系统方面的教学优势,使学员了解 Windows CE 应用开发和系统开发的特点,并对比
9、Linux 操作系统,让学员了解目前主流嵌入式 OS 的异同点,增进对嵌入式 OS 开发的理解,拓展学员知识面,增加就业渠道。学完此课程学员可获得 Microsoft 公司全球统一授权培训证书。了解12 综合案例的实战训练在第二阶段课程中,为了帮助学员充分有效地掌握核心知识点在企业中的具体应用,并开始逐步按照企业需求、流程和规范进行实战训练,在嵌入式 Linux 应用开发、系统内核开发的课程讲授过程中全部采用项目驱动的方式,将来自合作企业的全真案例贯穿于课程中,实现的功能包括:基于本机多进程的聊天工具、基于 QT 的即时通讯系统、基于 ARM精通的温控系统、汽车防盗系统及基于 QT 的多媒体播
10、放器等。通过这种方式带领学员分析企业岗位的真实技术需求,进行案例演练,从而快速掌握相关的技能和开发技巧。第三阶段:嵌入式 Linux 驱动工程师 职场定位:Embedded Linux Driver Development Engineer 证书:嵌入式学院嵌入式 Linux 工程师职业资格证书(认证费 800 元),ARM 公司全球统一认证证书(认证费 500 元),Atmel 公司全球统一Atmel 嵌入式工程师认证证书(认证费500 元),工业和信息化部国家信息技术应用技能嵌入式 Linux 工程师认证证书(认证费500 元) 本期目标:参加本期培训的学员应该掌握嵌入式 Linux 应用
11、开发和系统开发能力。本期学习的主要目标是掌握嵌入式产品开发从需求分析到详细设计整个过程的开发内容,深入掌握 Linux 驱动程序开发技巧,能够熟练的移植或编写设备驱动。同时,本期课程还重点讲解嵌入式 Linux 在3G 领域的典型应用-3G 手机 Android 操作系统,全面了解 Android 系统的开发过程和行业前景,在专业讲师的带领下,实战体验 Android 应用程序的开发及系统移植。最后,本期将重点花一个月时间,让学员从零开始完整完成一个真实项目的设计,使学员在巩固所学内容的同时,迅速积累项目设计经验,达到并超过企业用人需求,另外,通过实际项目案例,可以发现学员知识薄弱环节进行重点
12、加强。目前嵌入式学院提供的真实项目包括:远程视频监控系统、商用 POS 机、汽车导航 GPS、个人娱乐系统 PMP,每期学员可完整完成其中一个项目。序号 课程名称 课程内容 掌握要求13嵌入式 Linux 驱动高级开发驱动开发是嵌入式 Linux 开发难度最高的内容,也是目前嵌入式行业最紧缺的人才之一。有了前面课程知识的铺垫,本课程将重点讲解嵌入式 Linux 下常用接口驱动的编写方法,内容包括:1、flash 驱动:掌握在 linux 环境下驱动常见 flash 存储器(nor flash、nand flash);2、块设备驱动:掌握块设备驱动的原理、学会 ramdisk的编写;3、网卡驱动
13、:掌握网卡设备的编写原理、能够熟练移植各种网卡驱动。在对网卡硬件寄存器熟悉的基础上,有能力为其编写出完善的网卡驱动;精通4、液晶驱动:掌握 frambuffer 驱动的原理。有能力在有控制器的嵌入式平台上参考液晶手册实现各种常见液晶驱动;5、sd 卡驱动:掌握 sdio 接口操作,熟悉 sd 卡驱动驱动的原理;6、usb 设备驱动:了解 usb 主机设备驱动的结构及编程方式。14嵌入式 Linux 在 3G领域的典型应用-3G手机 Android 操作系统介绍嵌入式 Linux 在 3G 领域的典型应用 Android 系统,了解 Android 系统如何由嵌入式 Linux 衍生出来的,以及
14、Android 系统和嵌入式 Linux 系统差异化,了解 Android系统的体系结构、开发特点以及关键技术点,并重点学习 ARM 对 Android 系统的支持现状,掌握 ARM 平台上的 Android 相关开发工具和解决方案,重点讲解 Android系统在 ARM 平台上的移植过程,介绍 Android 系统底层驱动开发和嵌入式 Linux 驱动开发的差异化,最后介绍 ARM+Andriod 平台组合的行业应用前景,使学员全面了解Android 系统的开发过程及发展前景。了解15Android 应用程序开发主要针对目前嵌入式设备上另外一个主流的应用程序开发平台 Android,包括 A
15、ndroid 体系结构和原理,Android应用程序开发工具的使用,在成功移植 Android 的平台上开发和部署应用程序,进而验证嵌入式 Linux 系统移植后的稳定性等。以帮助学员进一步拓展和补充嵌入式应用开发的相关内容。了解16嵌入式 Linux 项目实践本课程将通过一个真实完整的项目案例,让学员了解真实项目的开发流程,让学员知道如何将所学知识应用到项目开发中。本课程将模拟真实项目的管理过程,培养学员项目团队协同开发能力,项目文档编写能力和新知识的学习能力,为下一步就业做好知识上和心理上的充分准备。目前学员在嵌入式学院可完成的真实项目包括:远程视频监控系统、商用 POS 机、汽车导航 G
16、PS、个人娱乐系统 PMP、3G 智能机器人,学员可在嵌入式学院掌握学习期间独立完成其中一个项目。嵌入式学院学员实践项目案例介绍项目案例 1:基于 GPRS 的远程安防监控系统1.项目背景随着现代电力电子技术和微电子技术的迅猛发展,自动化,智能化程度的不断的提高,家居安防技术正在不断发展。传统的家居安防系统已经越来越不能满足现代人的需求。消费者希望自己可以实时“看见”现场的情况,并且可以远程控制现场的一些自动化设备来处理紧急情况。这个项目的方案主要是利用 internet、GPRS,3G 、WIFI 等技术实现远程监控通信,此系统不但具有易维护性、可扩展性和安全性等这些嵌入式基本特点,而且充分
17、融合了嵌入式和通信技术。使得本系统的功能扩展性非常好,方案具有一定领先性,可以稍做定制就可以应用于很多其它场合。 对我们掌握嵌入式 LINUX 传统技术和比较新的 3G 技术和为毕业后找工作都应该有帮助。 2.项目功能介绍远程安防监控项目功能介绍,此系统分为服务端和客户端 2 个部分,其中服务端由 ARM 作为主控,操作系统采用嵌入式 LINUX 实现,它通过实时采集红外、温度、烟雾探头以及 USB 摄像头的的数据,通过互联网将数据发送到客户端进行显示和告警,客户端由 PC,传统手机和比较新的 3G 手机相互比较独立的几个部分组成。 监控项目功能示例图3.技术点1)uboot 移植 2)内核移
18、植及网卡驱动3)Nandflash 驱动坏块管理4)Usb 协议,USB HOST 驱动移植及分析5)Sd 卡驱动和自动卸挂载6)Adc 温度传感器驱动以及应用控制7)Usb Camera 驱动以及云台控制8)人体感应器以及烟雾探测器驱动以及应用控制编程 9)USB Wifi 驱动及配置10)GPRS 收发短信及应用功能封装11)Server 端的主体实现及各个功能模块划分和综合12)Android 客户端的实现13)其它技术点通过上面可作为技术点的实现,可实现的功能如下:1) 监控机可以通过摄像头采集现场图像;2) 监控机可以通过传感器采集现场火警等数据;3) 监控机可以通过红外传感器探测是
19、否有人进入现场(或家中,可用做防盗);4) 监控机可以在异常情况下给用户发送短信报警;5) 监控机可以储存特殊情况下的数据和照片;6) 用户可以通过网络登陆监控机的主页(有权限验证);7) 用户可以在主页上观察到监控机通过摄像头采集到的现场图像;8) 监控机可以将特殊情况下的数据和照片存在 SD 卡中,要实现卡的动态插拔检测和挂载;9) 用户除了可以在主页上观察到监控机通过摄像头采集到的现场图像外,用户还可以在主页上屏蔽或开启温度、闯入、USB 摄像头监控功能;10) 添加日志功能,结合 SQLITE,在网页中或者 WINDOWS 上 PC 机软件中能够查看和操作日志;11) 监控机本身可扩展
20、本地显示控制功能。通过添加邮件发送功能。收集报警信息,并让系统自动通过短信和邮件的方式通知事先设置好的管理员,当异常发生时通过网络发送抓拍的图片到指定邮箱; 12) USB CARERA 云台功能支持,用户可以在网页上对摄像头的亮度进行控制;添加巡航功能,让用过在网页中能够定制和实时控制 USB CAMERA 镜头的转动,实现巡航功能;在异常发生的时候,镜头可以快速对着用户预先定义的区域进行抓拍;13) 监控机可以通过 GPRS 接入 INTERNET,WIFI 接入局域网,加上 ethernet 提供多中接入网络的方式,根据具体的网络接入情况智能选取网络进行数据发送;14) 开发 andro
21、id 手机程序,实现在手机里面实现查看日志,抓图,或者视频浏览功能;15) 支持彩信的方式报警 (选做);16) 画面变化侦测(选做);17) 完善 WINDOWS 客户端,支持图像的视频流格式进行 AVI,MP4 或 H.264 的压缩和存储,检索(选做);18) 上面没有列出的,以后可能再加入进去的功能。嵌入式学院学员实践项目案例介绍项目案例 2:车载导航系统1. 项目背景现在,随着 GPS 技术、多媒体应用、LCD 显示技术的日趋成熟,汽车导航、防盗系统在高端汽车中已经是现实,而在普通汽车中实现,也是指日可待了。车载导航系统中包含了很多前卫、实用的技术,如:GPS 应用技术、GPRS 应
22、用技术、 GUI 开发技术、多媒体功能应用技术、传感器技术、嵌入式操作系统应用开发技术、系统构建技术、驱动编写技术、数据库技术等等。学员通过项目的完成,对于巩固理论知识、拓展实用的项目经验都有很大的帮助。 2. 系统功能说明定位功能:GPS 通过接收卫星信号,可以准确地定出其所在的位置,位置误差小于 10 米。利用GPS,在地图上实时显示车辆当前位置;地图导航功能:输入目标地点后,自动在地图上显示出行车路线;重假如用户因为不小心错过路口,没有走车载 GPS 导航系统推荐的最佳线路,新为用户设计一条回到主航线路线,或是为用户设计一条从新位置到终点的最佳线路;语音导航功能:输入目标地点后,车辆只要
23、遇到前方路口或者转弯,车载 GPS 语音系统提示用户转向等语音提示;防盗功能:通过发送 gprs 短信,可以返回车辆当前位置;娱乐功能:播放 U 盘、SD 卡中的 MP3、MP4 文件;智能导航功能:在短时间失去 GPS 信号时,可根据车内的加速度传感器、结合行车速度计算出行车情况;增加兴趣点功能:由于我国大部分城市都处于建设阶段,随时随地都有可能冒出新的建筑物,由此,电子地图的更新也成为众多消费者关心的问题。因此遇到一些电子地图上没有的目标点,只要你感兴趣或者认为有必要,可将该点或者新路线增加到地图上。3、硬件需求名称 说明CPU S3C2410, 2440 FLASH 2M norflas
24、h + 64M Nand FlashSDRAM 64MUSB 1 个 USB Host 接口, 1.1 标准网口 10M串口 2 个 3 线串口SD 卡接口 SD 卡容量 1GI/O 8 路 I/OLCD 3.5 寸 240*320 TFT 屏触摸屏 4 线电阻式触摸屏GPRS 模块 3 线串口接线GPS 模块 3 线串口接线 加速度传感器 输出电压范围 0-3VU 盘 容量 14GSD 卡 容量 14G4、软件需求名称 说明操作系统 Linux-2.6.26开发工具 GNU 工具启动代码 u-boot 1.3.4驱动程序 所有硬件驱动文件系统 根文件系统采用 cramfs,用户文件系统采用
25、yaffs2GUI QT地图嵌入式学院学员实践项目案例介绍项目案例 3:3G 智能机器人1. 项目背景随着物联网技术、3G 通讯技术、多媒体技术、机电控制技术的日趋成熟,基于相关技术的产品也备受消费者的欢迎。目前嵌入式用人市场上紧缺相关人才。家用智能机器人项目正是在此背景下设立的。3G 智能机器人项目中包含了的技术有: 传感器技术 RFID 射频识别技术 Wifi 通讯技术 Android 手机开发技术 音、视频采集、处理技术 多媒体传输技术 Linux 驱动编程技术 电源管理技术 电机控制技术 Linux 网络开发技术 Linux 其它应用编程技术 ARM11 开发技术由于项目涉及的技术较新
26、,覆盖技术面广,且难度大,所以项目目前正在不断的完善过程中。学员在较短的时间内,无法涉及或掌握项目的所有技术。所以针对这个项目的特点,学校计划设置成为学校内部的开源项目。学员在毕业以后仍然可以加入到项目的开发中,且可以获得到项目的最新成果。2. 项目结构图3、系统功能简述用户可以在其 android 手机上安装项目开发的 andorid 程序,实现远程控制智能机器人。机器人利用其丰富的传感器实时检测周围的环境参数,并在遇到紧急情况时主动通知用户。机器人和手机间可以实现视频、语音等多媒体通讯。用户可以通过手机控制机器人运动,也可以通过机器人控制家中的其它智能设备。4、部分实物照片实验设备国内独家同时提供 Samsung 和 Atmel 嵌入式开发平台ARM 公司 Realview 仿真器IAR J-Link/J-Trace ARM 仿真器夏普液晶触摸屏三星 S3C2410A ARM9 开发板三星 S3C2440A ARM9 开发板Atmel EB-SAM9G45(带屏)的开发板Atmel EB-SAM9G45(带屏)的开发板三星 S3C6410 ARM11 开发板基于三星 S3C6410 ARM11 的实验设备