· 第一阶段
· 第二阶段
· 第三阶段
· 第四阶段
· 第五阶段
第一阶段:嵌入式C高级编程
本期目标:在嵌入式领域中大部分开发都会用到C语言。C语言简洁、紧凑、使用方便灵活加上GNU在实际项目开发中所做的扩展,使得C语言在整个嵌入式开发过程中起着至关重要的作用。更重要的是用C语言开发的程序在嵌入式平台下可移植性比较强。一个精通C语言程序
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
的程序员,可以很容易地从事Linux、WinCE、Vxworks、μc/os等嵌入式操作系统下的软件开发工作。本阶段学习目标是掌握C语言基本知识、巩固C编程语法基础,以及深入C语言高级编程和数据结构与算法,为将来的程序设计工作打下坚实的基础。
序号
课程名称
课程内容
掌握要求
1
嵌入式C语言高级编程
C语言是嵌入式领域最重要也是最主要的编程语言,本课程将在学员C语言基础知识之上,通过大量编程实例重点讲解C语言的基础编程以及高级编程知识。包括:
1)数组、函数、程序结构设计。
项目练习:《猜数字游戏》、《打字游戏》
2)字符串操作、指针。
项目练习:《计算器练习》
3)结构体、共用体、宏、枚举、链表。
项目练习:《GPS信息
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
程序》、《学生信息管理系统》
4)位运算。
项目练习:《魔幻数字》
5)文件I/O操作。
项目练习:《文件加密器》
精通
2
嵌入式C语言
经典数据结构及算法编程
数据结构及算法在嵌入式底层驱动、通信协议、及各种引擎开发中会得到大量应用,对其掌握的好坏直接影响程序的效率、简洁及健壮性。本节灵活生动的讲解数据结构与算法的基础内容,包括顺序表、链表、队列、栈、树、图、哈希表、各种查找排序算法等应用及其C语言实现过程。各知识点都通过一个个形象实例,使理解更加深入。
项目练习:《多媒体播放器歌曲信息搜索器》、《磁盘文件目录构建器》
精通
3
项目实战(一)
《lrc歌词解析器》
本项目在C语言阶段是非常具有代表性的,通过本项目对C语言的重点知识灵活运用,完成lrc格式歌词文件的读取、解析、存入链表等功能,并且能够实现与歌曲同步实时显示。通过该项目能熟练掌握C语言各种字符串处理方法、基本数据结构,培养良好的编程
规范
编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载
。
独立完成
· 第一阶段
· 第二阶段
· 第三阶段
· 第四阶段
· 第五阶段
第二阶段:Linux应用及系统编程
本期目标:嵌入式Linux应用开发和系统开发是嵌入式Linux中非常重要的一部分,也是企业人才需求最广的一部分。本阶段学习的主要目标是精通嵌入式Linux下的应用程序设计,熟练掌握嵌入式Linux的开发环境、常用Linux命令,精通Linux系统编程、网络编程、QT GUI编开发,熟练掌握整个嵌入式Linux项目开发流程,提升学员对Linux应用开发的能力。最后能够独立完成《Mplayer多媒体播放器》、《基于Linux的信息交换系统》、《基于QT的网络游戏对战平台》等项目。在工作中能很快适应项目中所涉及到的多任务编程及UI界面开发,并且能快速转移到其它操作系统应用开发中。
序号
课程名称
课程内容
掌握要求
4
Linux操作系统应用开发
本课程从零起点,讲解Linux操作系统的概念知识和安装方法。详细介绍Linux下的目录结构、基本命令、管理配置和编辑器,包括VI编辑器,GCC编译器,GDB调试器和 Make 项目管理工具以及Makefile、shell脚本编写等知识。并进行嵌入式开发环境的搭建。
完成:《嵌入式电子相册》、《嵌入式版lrc歌词解析器》、《基于shell的Linux文件自动安装器》
熟悉
5
嵌入式Linux高级系统编程
本课程从系统调用开始,重点讲解标准I/O库,Linux多任务编程中的多进程和多线程,以及进程间通信(pipe、FIFO、消息队列、共享内存、signal、信号量等),同步与互斥对共享资源访问控制等重要知识。让学员与实际应用相联系,提升学员对Linux应用开发的理解和代码调试的能力。
完成:《Linux shell命令解释器》、《基于消息队列的QQ聊天系统》、《基于命名管道的命令行版mplayer播放器》
精通
6
嵌入式数据库——SQLite
在嵌入式产品中经常会涉及到大量数据快速排序、查找、数据更新、数据加密等数据管理,数据库的加入使得嵌入式数据管理变得安全高效。本阶段主要讲解数据库概念、数据库类型、常见数据库、SQLite数据库介绍及其安装与移植、SQL数据库语言( 数据定义语言(DDL)、数据操作语言(DML)、数据查询语言(DQL)、数据控制语言(DCL) ),及windows下的图形化数据库管理软件SQLite Expert Professional。最后通过sqlite数据库C语言编程中的各种SQL指令执行函数完成对数据库的控制。
完成:《基于SQLite的信息管理系统》、《基于RFID与SQLite的图书借阅系统》
掌握
7
项目实战(二)
《Mplayer播放器》
利用TFT图形库实现Mplayer UI界面的设计,即图形界面的开发,通过触摸屏和按键进行控制,实现Mplayer播放、暂停、上一首、下一首、静音、音量调节、播放列表、歌曲信息、播放进度、歌词同步等功能。该项目中涉及到多进程、多线程以及进行间通信、重定向等系统编程知识,是对前面所学知识点的强化和提升。
独立完成
8
Linux网络编程
计算机网络在嵌入式Linux系统应用开发过程中使用非常广泛,本课程从Linux网络发展、TCP/IP协议、socket编程、TCP网络编程、UDP网络编程、Web编程开发等方面入手,全面讲解Linux网络应用程序开发。重点介绍网络编程相关API,熟练掌握TCP协议服务器的编程方法和并发服务器的实现,了解HTTP协议及其实现方法,熟悉UDP广播、多播的原理及编程方法,掌握混合C/S架构网络通信系统的设计,熟悉HTML,Javascript等Web编程技术及实现方法。
完成:《基于TCP协议的QQ聊天器》、《基于HTTP协议的Web服务器》、《基于UDP协议的TFTP服务器》
精通
9
项目实战(三)
《基于Linux的信息交换系统》
本项目利用UDP实现服务器搜索,利用UDP和TCP实现局域网群聊和私聊,以及多文件、文件夹传输等功能。具备用户上下线动态识别机制,用户分组,组内用户之间的信息交换,信息不与组外用户分享,与指定用户之间进行私密信息交换,保证信息不被其他人获取,信息采用加密算法加密确保数据安全,两用户之间可通过语音进行通话等功能。
独立完成
10
C++及基于QT的GUI开发
C++是Linux应用开发主要语言之一,本阶段重点让学员掌握面向对象编程的基本思想以及C++的重要内容。图形界面编程是嵌入式开发中非常重要的一个环节。
由于QT具有跨平台、面向对象、丰富API、支持2D/3D渲染、支持XML、多国语等强大功能,在嵌入式领域的GUI开发中得到了广范的应用,在本阶段通过基于QT图形库的学习使学员可以熟练编写GUI程序,并移植QT应用程序到Cortex-A8平台。
课程内容包括IDE使用、QT部件及布局管理器、信息与槽机制的应用、鼠标、键盘及绘图事件处理及文件处理的应用。
完成:《QQ登录器》、《基于QT的猜数字游戏》、《QT画图板》、《基于QT的led控制器》、《基于QT的串口控制器》
精通
11
项目实战(四)
《网络游戏对战平台》
本项目既是对QT的应用也是对网络编程开发的巩固,项目主要是在Linux环境下进行基于QT的GUI网络对战平台的开发,主要包括网络层服务的搭建,中间层的数据交换,与上层GUI的交互。学员需要独立完成项目整体架构及功能模块的划分,游戏整体界面的设计,以及各模块功能的实现,并且要处理好各线程间的关系等。
独立完成
· 第一阶段
· 第二阶段
· 第三阶段
· 第四阶段
· 第五阶段
第三阶段:嵌入式Linux平台开发
本期目标:本阶段将使学员掌握从零开始搭建嵌入式Linux运行环境。首先通过基于ARM Cortex-A8处理器S5pv210了解芯片手册的基本阅读技巧,掌握S5pv210系统资源、时钟控制器、电源管理、异常中断控制器、nand flash控制器等模块,为底层平台搭建做好准备。Linux平台包括内核裁减、内核移植、交叉编译、GNU工具使用、内核调试、Bootloader介绍、制作与原理分析、根文件系统制作以及向内核中添加自己的模块,并在s5pv210实验平台上运行自己制作的Linux系统,集成部署Linux系统整个流程。同时了解Android操作系统开发流程。Android系统是基于Linux平台的开源操作系统,该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动软件,目前它的应用不再局限于移动终端,还包括数据电视、机顶盒、PDA等消费类电子产品。
序号
课程名称
课程内容
掌握要求
12
ARM体系结构
原理分析及其移植
ARM处理器在全球范围内,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。课程主要以基于ARM Cortex-A8处理s5pv210为主,了解ARM处理器的基础知识熟悉ARM体系结构及其相关资源。主要内容包括ARM编程模型、异常中断、寄存器介绍等方面。
掌握
13
ARM处理器编程
原理分析及其移植
课程内容主要包括ARM编程环境、ARM/Thumb指令集、寻址方式、调试、汇编与C混合编程等方面内容,要求熟悉ARM常用指令与GNU伪操作,GNU工具的制作与使用,裸机代码的调试技巧。
熟悉
14
基于ARM裸机驱动开发
原理分析及其移植
这部分课程是对ARM处理器进行裸机应用编程开发,使得ARM处理器在没有操作系统的支持下同样可以胜任一些应用开发需求,课程内容主要包括GPIO、键盘扫描、时钟、电源管理、中断、定时器等,通过这部分知识让学员深刻理解ARM处理器底层工作原理。
完成:《GPIO接口驱动编写》、《s5pv210基于中断的1*5键盘驱动编写》、《s5pv210定时器驱动编写》、《nand flash擦/写/读驱动编写》
熟练
15
嵌入式Bootloader
原理分析及其移植
本课程要求学员了解嵌入式Linux的系统组成,熟悉Bootloader的目录结构、启动过程、源码分析,重点讲解u-boot的配置机制及其编译原理,Uboot目录结构和源码分析以及在s5pv210上的修改和移植过程。
完成:《u-boot在s5pv210上移植》
掌握
16
自制嵌入式系统启动代码
(Bootloader)
本课程要求学员深入了解嵌入式Bootloader的详细工作原理,以及对底层驱动的了解,通过自已从零开始设计一个Bootloader来了解和认识嵌入式系统启动和初始化流程以及内核传参过程。
完成:《简易bootloader编写》(涉及串口、RAM、FLASH等操作)
掌握
17
嵌入式Linux内核工作原理
分析及其移植
本课程要求学员了解Linux内核的目录及源码结构,熟悉内核移植、裁剪等过程及内核配置机制,重点掌握Linux2.6.35.7内核在s5pv210开发平台的移植及修改过程。
项目练习:《Linux-3.2.6内核在s5pv210平台上的移植》、《LCD/触摸屏/IIS/SD/USB/网卡等驱动在s5pv210平台移植》
掌握
18
Linux内核调试技术
本课程要求学员掌握Linux内核常用调试技巧,重点掌握printk、KGDB、DDD、oops、strace等工具使用技巧。
掌握
19
嵌入式Linux根文件系统
组成分析及其制作
本课程重点讲解Linux文件系统的基本概念及其基本架构,要求学员掌握一个完整的根文件系统的组成及其制作过程,掌握基本应用程序,如TFTP/FTP/TELNET/HTTP的配置及使用,熟悉cramfs、yaffs、nfs格式根文件系统的制作。
完成:《基于Busybox的嵌入式根文件系统制作》、《嵌入式根文件系统下FTP/TFTP/TELNET服务器配置》、《基于nfs/yaffs2/cramfs嵌入式根文件系统制作》
掌握
20
嵌入式Linux开源
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
源码分析及其编程
本课程重点介绍Linux下众多开源工程的嵌入式移植及基本应用编程,如mplayer多媒体播放器。
完成:《QtopiaCore4.7.0在s5pv210上移植》、《Boa web服务器及CGI应用开发》、《Sqlite数据库在s5pv210上移植》、《OpenCV图像识别技术在嵌入式平台的应用》、《Freetype矢量字体在嵌入式平台的应用》
掌握
21
项目实战(五)
《Web应用开发技术》
多功能Web查询系统,利用Web开发技术,实现了手机号码归属地、IP地址归属地、城市天气预报和火车车次时刻表查询等功能。
该项目包含服务器端和客户端两部分,服务器端的主要功能是接受客户端发送的数据,然后根据服务端与客户端规定的协议,将本地XML文件发送给客户端,如果本没有相应的XML文件,则向Web开发网站发送请求,获得相应XML文件,保存在本地,然后再发送给客户端。服务器端的代码用C语言。
掌握
第四阶段:嵌入式微处理器及Linux设备驱动开发
本期目标:驱动程序设计是嵌入式Linux开发工作中重要的一部分,也是比较困难的一部分。本阶段课程让学员熟悉Linux的内核机制、驱动程序与用户级应用程序的接口,掌握系统对设备的并发操作。熟悉所开发硬件的工作原理,具备ARM硬件接口的基础知识,熟悉ARM Cortex-A8处理器s5pv210各资源、掌握Linux设备驱动原理框架,熟悉工程中常见Linux高级字符设备、块设备、网络设备、USB设备等驱动开发,在工作中能独立胜任底层驱动开发。
序号
课程名称
课程内容
掌握要求
22
ARM硬件接口原理
本课程重点介绍ARM的常用接口开发及硬件电路设计基础,包括IO、键盘扫描、串口、看门狗、实时时钟、SPI、IIC、flash操作等,为接下来的设备驱动开发打下良好的基础。
熟悉
23
嵌入式Linux设备驱动开发
掌握Linux内核模块编程,用户态与内核态数据交换,掌握Linux操作系统下驱动原理,重点讲解嵌入式Linux下常用字符设备驱动的编写方法,熟悉字符设备驱动框架,能独立完成常见Linux设备驱动开发。重点讲解内核模块编程,字符设备驱动的各种注册机制。
主要内容包括:
1) Linux字符驱动框架及GPIO输入输出驱动
2)Linux中断机制处理及响应过程
3)Linux下时钟、电源管理机制
4) Linux下触模屏驱动编写
5)Linux下SPI/IIC/UART串行通信技术驱动编写与应用
6)Linux下input设备驱动框架介绍
7)Linux下platform机制设备驱动框架介绍
8)Linux下kfifo缓冲机制、并发与竞态(如互斥锁与信息号等)讲解
9)Linux驱动中的阻塞与非阻塞
精通
24
嵌入式Linux高级驱动程序设计
掌握Linux下高级驱动设计模型,完成从基本驱动程序设计到高级驱动设计的飞跃,更加深入的理解Linux内核工作原理与实现机制。
主要内容包括:
1)Linux下块设备驱动框架——RAMdisk驱动实例编写
2)SD卡驱动原理——SD卡三种模式、十大状态切换与数据传输技术
3)Linux下framebuffer机制驱动讲解
4)常见lcd接口:MCU(8080/6800)、RGB、SPI在Linux下驱动程序的实现
5)常见网卡驱动(CS8900、28J60、DM9000、LAN9220等)以及虚拟网络设备驱动等
6)USB设备硬件设计原理、驱动协议架构、驱动关键数据结构等
7)了解Linux设备驱动模型(kobject、kset、子系统、底层sysfs操作、总线与设备等)
掌握
25
项目实战(六)
《重力感应实战系统》
本项目是通过对驱动课程软硬件知识的学习,在内核iic子系统的基础之上实现重力加速度传感器BMA150驱动程序,完成x/y/z坐标读取,模式控制。最后统一将接口交给上层UI,完成简单游戏设计。通过本项目熟悉并掌握阅读芯片手册的方法和技巧,为实际工作中的驱动项目开发夯实基础。
独立完成
· 第一阶段
· 第二阶段
· 第三阶段
· 第四阶段
· 第五阶段
第五阶段:嵌入式综合复习与面试指导
本期目标:从企业对人员的要求的角度出发对学员进行综合的辅导,使其能够完全掌握面试中可能会遇到的问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
,为就业做好充分的准备。主要包括:知识的串讲、面试题模拟、简历制作与修改等等;然后按照公司项目开发流程完成一个实际项目,让学员了解真实项目的开发流程,并学会将所学知识应用到项目开发中,详细说明请参考《凌阳教育项目开发参考题目》。
序号
课程名称
课程内容
掌握要求
26
嵌入式综合复习
本阶段对C语言编程、应用编程、系统移植、驱动开发等所有知识点进行串讲,强化对知识的理解与应用;并且通过面试的解答,使学员充分了解答试题的技巧与方法
掌握
27
就业面试指导
本阶段对学员进行面试的辅导,主要包括:简历制作与修改、面试方法与技巧等
掌握
28
嵌入式Linux实践项目一
远程监控系统
独立完成
嵌入式Linux实践项目二
GPS卫星定位仪
独立完成
嵌入式Linux实践项目三
网络游戏对战平台
独立完成
嵌入式Linux实践项目四
物联网——智能家居
独立完成
嵌入式Linux实践项目五
智能手机
独立完成
嵌入式Linux实践项目六
数码相机
独立完成
嵌入式Linux实践项目七
嵌入式多媒体Mplayer播放器
独立完成
嵌入式Linux实践项目八
自动电话语音服务系统
独立完成
嵌入式Linux实践项目九
多功能Web查询系统
独立完成