logo资料库

华清远见嵌入式Linux课程.doc

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