课程名称:嵌入式学院—嵌入式LINUX工程师就业培训班上课时间为:上午9:00—12:00下午13:30—17:30(每天7小时正式上课时间)晚自习18:00—21:00第一阶段:嵌入式Linux软件工程师职场定位:LinuxDevelopmentEngineerforSoftwareEngineering本期目标:嵌入式系统是现在最热门的计算机应用领域之一,嵌入式C语言在其中起着至关重要的作用。一个精通C语言程序设计的程序员,可以很容易地进入Linux、WinCE、Vxworks等嵌入式操作系统下的软件开发工作。本阶段学习目标是掌握C语言基本知识、C编程语法基础和Linux操作系统的使用,并熟练掌握嵌入式Linux的开发环境,为将来的编程工作打基础。序号课程名称课程内容掌握要求1Linux操作系统使用本课程从零起点,讲解Linux操作系统的概念和安装方法,详细介绍Linux下的基本命令、管理配置和编辑器,包括VI编辑器,GCC编译器,GDB调试器和Make项目管理工具等知识。精通2嵌入式LinuxC语言编程C语言是嵌入式领域最重要也是最主要的编程语言,本课程将在学员C语言基础知识之上,通过大量编程实例重点讲解C语言的高级编程知识,包括函数与程序结构、指针、数组、常用算法、库函数的使用等知识,另外,本节还重点讲解数据结构的基础内容,包括链表、队列、栈、树、哈希表、图等内容。精通3Java编程基础本课程主要让学员掌握Java语言基本语法,熟悉面向对象编程方法,熟悉Java中重要的核心API,为后续的Android应用编程打下基础。熟悉4嵌入式Linux项目开发流程本课程主要让学员从宏观了解嵌入式Linux开发环境搭建和项目开发流程,让学员建立起整体架构的概念,包括嵌入式产品需求分析和选型、硬件平台、移植、启动代码、驱动开发、系统部署等整个过程。熟悉第二阶段:嵌入式Linux系统工程师职场定位:LinuxDevelopmentEngineerforEmbeddedSystems证书:微软《WinCE嵌入式开发工程师证书》(认证费500元),红帽公司《Linux应用开发工程师证书》(认证费500元)本期目标:参加本期培训的学员应该掌握嵌入式C语言高级编程技巧。嵌入式Linux应用开发和系统开发是嵌入式Linux中最重要的一部分,也是企业人才需求最广的一部分。本期学习的主要目标是精通嵌入式Linux下的程序设计,熟悉嵌入式Linux开发流程,强化学员对Linux应用开发的理解和编码调试的能力,同时掌握bootloader和kernel的移植技能,了解ARM体系结构和编程,具备ARM硬件接口的基础知识,并了解Linux内核开发相关内容,在初步掌握Linux下的驱动程序开发方法的基础上,通过典型应用场景的分析举例,深入掌握Linux驱动程序的开发技巧,让学员能够熟练的移植或编写不同类型的设备驱动程序。序号课程名称课程内容掌握要求5嵌入式Linux应用编程嵌入式Linux应用开发是嵌入式Linux中最重要的一部分,也是就业面最广的方向。本课程的主要目标是精通嵌入式Linux下的程序设计,精通嵌入式Linux开发环境,强化学员对Linux应用开发的理解和编码调试的能力,包括系统编程、文件I/O、多进程和多线程、网络编程、GUI图形界面编程、数据库。精通6Android应用编程本课程主要让学员掌握Android应用编程的主要方法,熟悉Android中的主要组件和常用图形界面组件,熟悉Android中的事件处理方法等,并完成一个Android平台音乐播放器的编写。熟悉7ARM处理器编程ARM是嵌入式领域最主要的CPU处理器,了解ARM处理器的基础知识将为后面课程的底层开发打好坚实基础,本课程内容包括ARM处理器体系结构、编程环境、指令集、寻址方式、调试、汇编和混合编程等方面的内容,为后面移植课程的学习打好基础。学完此课程学员可获得ARM公司全球统一授权培训证书。熟练8ARM硬件接口开发本课程重点介绍ARM的常用接口开发及硬件电路设计基熟练础(包括IO、串口、看门狗、实时时钟、SPI、IIC、扫描键盘、FLASH操作等),为以后的设备驱动的学习打好基础。9嵌入式Linux系统开发系统开发是嵌入式Linux底层开发必备的基本技能,本课程将教会学员在硬件电路板做好的情况下,如何从零开始搭建嵌入式Linux运行环境,内容包括内核裁减、内核移植、交叉编译、内核调试、启动程序Bootloader编写、根文件系统制作和集成部署Linux系统等整个流程。熟练10嵌入式Linux内核开发本课程是驱动开发的基础课程,深入内核细节,了解Linux相关运行机理,为后面的驱动开发打好理论基础,内容包括内核源码结构、内存管理、进程管理、中断管理、系统调用、内核同步、时钟和定时器管理、信号、调度、进程间通信、文件系统和I/O设备管理等方面的内容。熟悉11嵌入式Linux驱动开发基础介绍嵌入式Linux驱动开发相关概念及开发流程,了解驱动涉及到的关键技术点,并重点学习字符设备驱动开发,包括串口、I/O、看门狗、实时时钟、SPI、IIC、扫描键盘、A/D转换、定时器等接口的驱动开发,为后续深入学习驱动高级开发打好基础。熟练12嵌入式Linux驱动高级开发驱动开发是嵌入式Linux开发难度最高的内容,也是目前嵌入式行业最紧缺的人才之一。有了前面课程知识的铺垫,本课程将重点讲解嵌入式Linux下常用接口驱动的编写方法,内容包括:1、flash驱动:掌握在linux环境下驱动常见flash存储器(norflash、nandflash);2、块设备驱动:掌握块设备驱动的原理、学会ramdisk的编写;3、网卡驱动:掌握网卡设备的编写原理、能够熟练移植各种网卡驱动。在对网卡硬件寄存器熟悉的基础上,有能力为其编写出完善的网卡驱动;4、液晶驱动:掌握frambuffer驱动的原理。有能力在有控制器的嵌入式平台上参考液晶手册实现各种常见液晶熟练驱动;5、sd卡驱动:掌握sdio接口操作,熟悉sd卡驱动驱动的原理;6、usb设备驱动:了解usb主机设备驱动的结构及编程方式。13综合案例的实战训练在第二阶段课程中,为了帮助学员充分有效地掌握核心知识点在企业中的具体应用,并开始逐步按照企业需求、流程和规范进行实战训练,在嵌入式Linux应用开发、系统内核开发的课程讲授过程中全部采用项目驱动的方式,将来自合作企业的全真案例贯穿于课程中。通过这种方式带领学员分析企业岗位的真实技术需求,进行案例演练,从而快速掌握相关的技能和开发技巧。精通第三阶段:嵌入式Linux驱动工程师职场定位:EmbeddedLinuxDriverDevelopmentEngineer证书:嵌入式学院《嵌入式Linux工程师职业资格证书》(认证费800元),ARM公司全球统一《ARM嵌入式工程师认证证书》(认证费500元),Atmel公司全球统一《Atmel嵌入式工程师认证证书》(认证费500元),工业和信息化部《国家信息技术应用技能嵌入式Linux工程师认证证书》(认证费500元)本期目标:参加本期培训的学员应该掌握嵌入式Linux应用开发、系统开发和驱动开发的综合能力。本期学习的主要目标是掌握嵌入式产品开发从需求分析到详细设计整个过程的开发内容,并通过技术专题的讲解,帮助学员进一步体验Linux驱动程序开发的技巧,并积累足够的设备驱动开发经验。同时,本期课程还重点讲解嵌入式Linux在3G领域的典型应用--3G手机Android操作系统,全面了解Android系统的开发过程和行业前景,在专业讲师的带领下,实战体验Android应用程序的开发及底层的系统移植及驱动开发。最后,本期将重点花一个月时间,让学员从零开始完整完成一个真实项目的设计,使学员在巩固所学内容的同时,迅速积累项目设计经验,达到并超过企业用人需求,另外,通过实际项目案例,可以发现学员知识薄弱环节进行重点加强。目前嵌入式学院提供的真实项目包括:远程视频监控系统、商用POS机、汽车导航GPS、个人娱乐系统PMP,每期学员可完整完成其中一个项目。序号课程名称课程内容掌握要求14嵌入式Linux在3G领域的典型应用--3G手机Android操作系统介绍嵌入式Linux在3G领域的典型应用Android系统,了解Android系统如何由嵌入式Linux衍生出来的,以及Android系统和嵌入式Linux系统差异化,了解Android系统的体系结构、开发特点以及关键技术点,并重点学习ARM对Android系统的支持现状,掌握ARM平台上的Android相关开发工具和解决方案,重点讲解Android系统在ARM平台上的移植过程,介绍Android系统底层驱动开发和嵌入式Linux驱动开发的差异化,最后介绍ARM+Andriod平台组合的行业应用前景,使学员全面了解Android系统的开发过程及发展前景。熟悉15Android底层系统开发通过本课程的学习,学员可以全面认识和了解Android内核的框架,并以此为基础掌握学习Android内核、分析阅读Android内核源码的方法,真正地迈过那道无形的门坎。掌握、分析、钻研某个子系统在Android内核中实现机制的方法,并了解Android内核中的进程管理、内存管理、文件系统。了解如何参与Android内核的开发和测试,以及一些常用的调试手段和工具。通过对其框架,结构的分析,实现将Android应用到任何移动硬件平台上,支持各种硬件设备、应用于多种行业。熟悉16嵌入式Linux项目实践课程将通过一个真实完整的项目案例,让学员了解真实项目的开发流程,让学员知道如何将所学知识应用到项目开发中。本课程将模拟真实项目的管理过程,培养学员项目团队协同开发能力,项目文档编写能力和新知识的学习能力,为下一步就业做好知识上和心理上的充分准备。目前学员在嵌入式学院可完成的真实项目包括:远程视频监控系统、商用POS机、汽车导航GPS、个人娱乐系统PMP、3G智能机器人,学员可在嵌入式学院学习期间独立完成其中一个项目。熟练嵌入式学院学员实践项目案例介绍——项目案例1:基于GPRS的远程安防监控系统1.项目背景随着现代电力电子技术和微电子技术的迅猛发展,自动化,智能化程度的不断的提高,家居安防技术正在不断发展。传统的家居安防系统已经越来越不能满足现代人的需求。消费者希望自己可以实时“看见”现场的情况,并且可以远程控制现场的一些自动化设备来处理紧急情况。这个项目的方案主要是利用internet、GPRS,3G、WIFI等技术实现远程监控通信,此系统不但具有易维护性、可扩展性和安全性等这些嵌入式基本特点,而且充分融合了嵌入式和通信技术。使得本系统的功能扩展性非常好,方案具有一定领先性,可以稍做定制就可以应用于很多其它场合。对我们掌握嵌入式LINUX传统技术和比较新的3G技术和为毕业后找工作都应该有帮助。2.项目功能介绍远程安防监控项目功能介绍,此系统分为服务端和客户端2个部分,其中服务端由ARM作为主控,操作系统采用嵌入式LINUX实现,它通过实时采集红外、温度、烟雾探头以及USB摄像头的的数据,通过互联网将数据发送到客户端进行显示和告警,客户端由PC,传统手机和比较新的3G手机相互比较独立的几个部分组成。监控项目功能示例图3.技术点1)uboot移植2)内核移植及网卡驱动3)Nandflash驱动坏块管理4)Usb协议,USBHOST驱动移植及分析5)Sd卡驱动和自动卸挂载6)Adc温度传感器驱动以及应用控制7)UsbCamera驱动以及云台控制8)人体感应器以及烟雾探测器驱动以及应用控制编程9)USBWifi驱动及配置10)GPRS收发短信及应用功能封装11)Server端的主体实现及各个功能模块划分和综合12)Android客户端的实现13)其它技术点通过上面可作为技术点的实现,可实现的功能如下:1)监控机可以通过摄像头采集现场图像;2)监控机可以通过传感器采集现场火警等数据;3)监控机可以通过红外传感器探测是否有人进