|
|
2015年嵌入式系统开发长期就业班(3G\android)4 r: k, ]5 X# \
" ? {1 @/ r% ]3 p, x9 C' n
学员要求:
1 O8 t9 l1 Q u" Z' h 1、理工科相关专业本科学历或相当学历的学生;* ~, c+ T4 M) u% [# S
2、具备C语言或JAVA或.Net编程基础,有一定的编程思维;
1 a( W+ G9 n, j 3、要求能吃苦耐劳,能坚持,踏实认真;
1 |2 s& M0 M9 }1 U2 q 4、有志投身于IT事业及嵌入式产品开发人士。
$ u6 U( r2 z& `5 y ` d 质量保障:3 R4 A, v+ Z% R8 k7 | a
1、小班10人以内教学,由专业班主任全程跟踪教学计划;
6 W" S' X$ o4 j* e' u( M+ G3 a 2、授课老师均为多年从事嵌入式开发工程师、项目经理8 w4 P+ P' C7 O
3、要求晚上必须上自习,强调团队互帮互助,当天作业当天完成;
5 ^ j" X7 K) \+ A 4、分阶段考试,根据学生学习实际情况进行针对性课程调整; J4 E* @, L s0 \2 S) f
5、强调学生能力培训和性格塑造,提供学员职业素养、简历面试及团队意识训练;( t: n3 O" y \, |: u u; f; d- s
6、实战过程中可以接触使用公司研发中心的各类开发工具
0 w" L) f; ~. |2 \6 U8 v2 @" z 7、培训结束后,免费提供1年的技术支持,和终身人才猎头服务服务。
! G- B; Q5 q% u) s, J9 u" }! g# A* ?* n" ~7 t3 \, L
技术咨询:何老师 18925218907 QQ:2859780203
* n, i; q% x% Q' Q+ K$ p* K2 ]: s/ {/ Y! ^ H! R" B
课程大纲及安排
& B6 X. ^* c" A& K) ^, V
6 B0 Q/ Q! m7 P3 v- }第一阶段 嵌入式Linux系统开发基础
6 Z% t7 Z' U: ~+ B1 `1 N. u主要介绍Linux的基本命令和基础编程知识,包括Linux的文件操作和目录操作命令,VI编辑器,GCC编译器,GDB调试器和Make项目管理工具等知识。---配合实验学习
6 E( q% q5 Z1 }* ], ^
5 v1 @* H3 X1 ^0 i3 G第二阶段 嵌入式C基础编程
) X5 d; x! ], t主要介绍在嵌入式开发编程中C语言的重要概念和编程技巧中的重点难点,以复习串讲和实例分析的形式,重点介绍包括函数与程序结构,指针、数组和链表,库函数的使用等知识。指针训练,字符串训练和常用C库函数编程接口实践,强化学员对Linux下基本编程开发的理解和编码调试的能力。配合实验学习
9 `( ~: t E# Y
/ u) E6 U) p+ W6 p第三阶段 嵌入式C高级编程1 ?; }) S" h1 U
C语言是嵌入式领域最重要也是最主要的编程语言,本课程将在学员C语言基础知识之上,通过大量编程实例重点讲解C语言的基础编程以及高级编程知识,包括常用函数与程序结构、字符串操作、指针、数组、结构体、宏、枚举、常用算法、库函数、文件的使用等知识。另外,本节还重点讲解数据结构的基础内容,包括链表、队列、栈等内容的应用与C语言实现。各知识点都通过一个个实例,使理解更加深入。
7 v7 Q- z' [9 Z7 Q( `8 p+ `1 A9 r
' ^& C$ e, O5 ^7 J第四阶段 嵌入式Linux系统应用开发# F+ _9 j8 Z- R+ s5 R% S5 V7 }% t; ~
主要介绍嵌入式Linux开发应用程序的基本流程和知识,包括嵌入式Linux基本概念和开发流程、Bootloader工作原理、内核裁减配置和交叉编译、根文件系统制作、网络编程以及图形界面和数据库开发等知识。同时独立完成一个基于嵌入式Linux GUI的应用编程大作业。
# H, ^3 N; ^; w" Q: m* J
& {( e- C7 [) k. q# m第五阶段:ARM设计,及驱动开发
$ v+ k: W* ?2 R3 z/ M3 q5 ]- J本课程分两个阶段第一阶段重点讲解标准I/O库,Linux多任务编程中的多进程和多线程,以及进程间通信、线程间通信、管道、消息队列、信号等重要知识。第二阶段主要讲解是精通嵌入式Linux下的网络编程,主要内容有TCP/IP协议,socket编程,包括TCP网络编程、UDP网络编程。为加深学员对网络编程的理解,期间做一些简单的聊天程序、Web服务器、实现TFTP以及飞鸽传书项目。加强学员对Linux应用开发的理解和编码调试的能力。 9 S3 @2 S+ z6 E! D: J
, k+ F2 m9 O! J第六阶段 嵌入式Linux系统定制4 N0 A- x1 B: L+ p
1、使学员快速掌握嵌入式系统开发的流程,系统移植的方法,Bootloader的原理。深入地了解u-boot启动流程和原理,熟练地进行u-boot不同平台的移植。 L# S4 X& B8 \7 D" ~
2、在掌握Linux内核的基本功能和源代码结构基础上,让学生深入地了解Linux内核编译的原理;根据不同项目的需要,熟练地进行内核裁剪,编译和下载到目标板。
- q3 K5 f) M6 x) Y6 r; @3、深入学习linux系统支持的各种文件系统的原理和特点,熟练地进行各种文件系统的创建。通过本章地学习,让学员能够从事嵌入式系统相关的项目集成开发。
. T3 c _8 ]2 h2 a; _ t7 o% J
$ b% U! Q" y0 X2 s熟练编译,使用u-boot,理解bootloader的原理和功能,以及掌握u-boot的启动过程
8 T2 @0 Q S) a, o6 h' R2 {熟练uboot过程开发细节,编写uboot代码. d* ~, P# T6 w6 K* |0 C) Y& O6 a
掌握Linux内核的基本功能和源代码结构,熟悉Linux内核的编译和配置;& P* _5 [2 I8 o5 b4 |# l6 }4 G* |% `+ |
熟悉内核电源控制和中断处理机制5 c7 Y( i! [6 n+ I. H! d
Kernel的定制和编译,内核移植,内核调试;) n& y4 C2 g0 \' e3 }$ o$ W E/ g
A# F( N* S% ]第七阶段 嵌入式Linux设备驱动开发/ Q! M8 E }6 P y3 }3 n% t
驱动程序开发是嵌入式Linux项目中工作量最大的一部分内容,开发出高质量的驱动程序是项目成功的关键。随着产品上市周期的缩短,市场对于驱动程序开发人员的要求也在日益增加。
- F' O% i" X& v' ?6 j( \# G- F课程旨在培养具备开发Linux下驱动程序的人才,采用理论教学与实验相结合的方式,系统地介绍Linux下设备驱动程序开发过程。
% p: X% t+ K- V3 a; Y! b7 n) c通过本课程的学习,学员可以掌握Linux下字符设备、块设备、网络设备、framebuffer设备,同时掌握嵌入式Linux的系统开发和分析方法。
# y3 K8 \- F) i& U5 S+ E; d9 z3 q6 d7 |) j/ b
1、了解根文件系统的内容,创建根文件系统镜像;掌握用户空间与内核空间的数据传输,内核中同步、互斥、阻塞、睡眠机制;* k0 D* V9 H) o8 T
2、深入理解并掌握Linux内核中断子系统的实现原理,掌握linux中断处理程序编写方法;掌握内核延时机制及内存管理机制。$ i) y. `+ g# K$ ]& _7 O9 ?
3、能够理解Linux的三类设备的驱动程序的基本结构,能够开发简单的字符驱动设备;
) e9 s! I! m1 O* \' g8 [ r4、了解Linux块设备,特别是MTD驱动程序的工作原理,以及网络设备的工作流程。
( b* r# s8 o8 F7 ?- F5、网络设备驱动程序开发及实例; h! n& U3 M9 O9 |8 T" a4 V7 O
6、音频和显示设备驱动程序开发;7 v8 Y( L# l n! }
7、了解LCD、Touch、SD驱动编写过程。
+ J) b3 Y4 t" b' D5 p& D. T8、熟悉对驱动程序的基础测试功能和高级驱动的编程流程。) _( x. q$ _1 X' f Q! J
3 T; I5 i5 t7 S
第九阶段 基于QT的GUI开发及UML
+ x4 d+ p. R* u基于QT的GUI开发会重点讲解常用的QT部件、布局管理、信号和槽以及QT事件处理等。最后通过黑白棋项目让学员熟练编写GUI程序。' |8 ^2 D5 J* n
: k' V) O+ A W" ]7 s* l) C
第十阶段:Android驱动开发,环境搭建中间件开发,架构开发
$ S) P4 M" y. Y* p- q) }本阶段主要讲解android移植的过程,简介中间件开发,介绍adroid驱动开发的要点。包括Android系统底层架构分析,从移植Android到硬件平台进行讲述。在新的硬件平台上移植和运用Android系统的能力,能够迅速提高开发水平,掌握Android底层开发技术:全面的掌握Android系统环境搭建、移植、底层开发技术;熟悉、掌握android移植的步骤。7 c7 Z5 g6 o: Y3 W0 A7 L6 C
) A$ m2 n( K' y& B十一阶段:嵌入式Linux项目团队开发实践锻炼
# g( l7 s- b6 ^1 A5 G1 G4 F主要包括设计并实现真实和完整的嵌入式项目的开发流程,涉及到数据采集、网络通讯、图形用户界面显示以及嵌入式数据库存储系统等多种嵌入式Linux编程技术。要求学员建立起团队开发和协同工作的企业项目开发模式的概念和流程,强化学员对编写项目概要设计文档和详细设计文档的理解,为就业前的职业技能和素质训练做好充分准备。3 t& ?8 q$ N0 a) T M
/ p. {7 {+ C) s$ P* C, V# z! d第十二阶段:课程总结,进入实训项目阶段,就业阶段等0 K( r7 P6 i0 S0 D
8 ~+ B( C& f0 |2 x1 w$ g
/ V3 _$ m; P2 O' L7 h技术咨询:何老师 18925218907 QQ:2859780203
' f% ]4 Q+ _, t5 _, S( g3 S% u: I |
|