达内嵌入式软件开发工程师

就业班招生简章

  通过该课程的学习,学员熟练掌握Linux系统下的C/C++应用软件开发技术,以及基于ARM的嵌入式底层设备驱动开发技术与应用开发技术,成为从底层驱动开发到高端应用开发技能全面地的嵌入式开发工程师,并通过项目实战积累工作经验,进而获得高薪、有广阔发展空间的工作机会。

 
达内:中国IT培训专家
 
   

  9年运营,北京、上海、广州、深圳、大连、南京、武汉、杭州、成都、苏州、太原、西安等20大城市,几千名软件工程师,正在学习被证明是成功有效的嵌入式、Java、C/C++、C#/.Net、Unix、Oracle、软件测试技术等软件工程师培训课程。达内毕业学员,通过GCT考试,只需要再学习数学、政治、英语等,即可获得国家211重点大学软件工程硕士学位。

 
 

培养目标:嵌入式软件开发工程师(基于ARM处理器的Linux操作系统)
 
   

  以基于ARM处理器的嵌入式开发技术为主,学习嵌入式操作系统Linux下的常用设备驱动开发技术和应用开发技术,专注培养人才市场紧缺,企业需求量大,就业率高的软硬结合的复合型嵌入式开发工程师。
  在学习过程中学员会实现2-3个实战嵌入式项目,完成项目的毕业生将具备相当于1-2年的嵌入式项目开发经验。
学员毕业后可以从事电信/网络/通讯、消费类电子、电子元器件、工业控制、军工企事业、航空航天、汽车电子、医疗设备、仪器仪表等相关行业的开发工作。

 
 

培训内容:国际高端软件技术
 
   

  在技术讲师的带领下,先学习Linux操作系统的配置、常用命令、常见工具和Shell编程。接着学习Linux环境下的C/C++高级程序设计,为下面学习嵌入式开发打下扎实的编程基础。然后了解ARM硬件原理与相关编程语言,学习嵌入式Linux内核的配置、编译、移植,学习QT图形程序设计、图形设计与多媒体编程。最后学习基于ARM处理器的Linux操作系统下的各种嵌入式驱动开发技术:字符设备驱动,块设备驱动,网络设备驱动,USB设备驱动等。在老师的带领下实际完成3个实战项目(基于嵌入式WebServer的气象数据监控系统、基于Arm与射频识别(RFID)的学生安全定位系统、基于嵌入式Linux的餐厅点菜系统)。

 
 

主讲教师:外企强大师资力量
 
   

  主讲教师全部由来自微软、IBM、华为、神州数码、东软、亚信、北大方正等软件专家、海外专业人士和外企IT精英组成:

奚海博士后,嵌入式、无线传感网与物联网、虚拟现实、飞行器控制与仿真领域专家;主要项目经验:直升机遥测遥控系统飞行控制台设计(国家部委项目)、无线传感器网络教学实验设备开发(中科院项目)、基于ZigBee的嵌入式无线检录计分系统的设计与实现等。
陈永博士,无线传感器网络、无线宽带接入网络、嵌入式专家;主要项目经验:无线传感器网络农情信息实时监测与预警系统(863计划子课题)、基于ZigBee技术标准和嵌入式WEB服务器的无线火灾报警系统等。
谌立:硕士研究生,Motorola前项目主管,处理器、手机应用开发专家。
陈宗权:美国IDG投资书生公司架构师,达内金牌C++讲师,13年C++开发经验
马 峰:嵌入式开发专家,有8年嵌入式相关产品经验,15年C/C++开发经验
龚学良:Linux/Unix开发专家,有10年Linux软件项目经验,擅长Linux内核开发
栗松涛:华为前资深软件架构师,达内金牌讲师,C++/Java软件专家
李宝栋:C/C++技术专家,嵌入式系统开发专家
 

 
 

培训环境:高端IT开放实验室
 
   

  24小时开放,由Sun工作站、Cisco路由器、Oracle数据库、Linux操作系统、C++开发环境、Web服务器组成的高端IT实验室、嵌入式实验室。

 
 


就业通道:广泛的企业合作
 
   

  9年运营,累计培养80000名中高级软件人才,其中,不乏成功就业于IBM、Intel、摩托罗拉、Yahoo、华为、中兴通讯、大唐、同方鼎欣、TCL、文思创新、凯通软件等知名IT企业的优秀学员。
国际一流软件公司:
IBM:王文欢、孟爱珍、伏泳帆、栾华琳、李 鑫、王洪波、翟永、范亦凡、赵亮等
摩托罗拉:郭雨、张惠琦、微软:曾琛、惠普:朱凌、西门子:张颢;阿里巴巴-Yahoo:刘乐、翁海;NEC:白鹏;三星电子:李伟;富士通:李宁;法国 BULL:张立世;韩国乐天子:朴阳俊、香港长达:温浩等
国内知名软件/IT公司:
华为:吴颖昕、何明哲、李杰;用友(王宏梅、李培圣)、方正(丛喜峰)、清华同方(高瑞军)、金山软件(朱**)神州数码(黄勇)、大唐微电子(李培华)、Tom.com(仲志刚)等
国家级大型企业:
中国网通:高永虎;中国工商银行:胡安琪;中国银行:乔大伟;中国移动通讯公司:路继亮、袁轩、程志龙、张扬等
美国Nasdaq上市公司:
亚信:李志红、席博、黄之豪、赵瑜、刘涛、曹晖、白岳峰、范春华、李志红、周晓霞、新浪Sina(蓝茳)、搜狐Sohu(王志刚)、华友(闫修华)、网易(张伟伟)等
IDG投资的兄弟公司:
百度(胡万军)、搜狐Sohu(王志刚)、书生国际(吴建苹)、美通无线(高威)
达内合作软件外包公司:
博彦(曾琛)、文思创新(何同学)、博大正方(张雷)、鼎新(冯伟淘)等
全国各地软件园:
中关村软件园、上海浦东软件园、广州天河软件园、苏州软件园、江苏软件园等。

 
 

授课方式: 独创P+E+T(Pet)授课法
 
   

  通过多个项目(Projects)来学习掌握嵌入式开发技术(Technologies);学习过程中每天需要完成课堂作业和课后作业;最后独立完成 2-3个软硬结合的嵌入式大型实战项目。学习过程中学员人手一机,边讲边练,积累至少1-2年的嵌入式开发经验(Experience)。
 

 
 

入学条件:理工科大专以上学历
 
   

从基础开始,由浅入深,循序渐进,适合于理工科大专以上学历者。需经过入学测试。
课程安排:全日制,3个多月
培训价格:0首付,先就业后付款

 

 

实训课程安排
 
   
课程主题 实训内容 实训目标
C/C++语言程序设计
课时:20天
标准C/C++开发 数据类型,控制语句,自定义数据类型,模块化程序设计,指针, C的常用标准库函数errno.h math.h stdlib.h stdio.h等 能独立使用C语言开发应用。
培养良好的编码风格与编码技巧。

 

Linux操作系统基础与shell编程
课时: 5天
Linux系统简介与安装

内容:介绍linux各个发行版本,学习安装linux系统。
重点:介绍安装过程中的配置选项。

 掌握Linux系统的安装方法。

Linux命令

内容:基本工具,文件操作,|(管道),压缩和归档文件,VI编辑器的使用。
重点:掌握常用命令的使用。

掌握Linux系统的常用命令。掌握vi等编辑器的使用。

Linux文件系统

内容:目录操作、访问权限、链接
重点:掌握目录操作,以及访问权限。

 掌握Linux系统权限设置等。
Linux系统配置

配置linux系统文件挂载、网络地址、配置samba服务器、配置tftp服务器。
重点:配置文件挂载、网络地址

掌握Linux系统的配置方法。包括配置samba、网络、管理用户帐户。
Shell编程基础  内容:Shell编程基本命令  掌握Linux shell编程。
Linux环境高级程序设计
课时: 10天
Linux下C语言  Linux系统下编译工具(gcc/g++/ld工具、makefile介绍、GDB调试) 握Linux环境下的C语言编程方法。精通C语言编程基础,掌握Linux系统下C语言编程工具。
ANSI文件管理  标准IO库,文件基本概念及文件指针,标准文件IO操作。  掌握Linux环境下的文件操作编 程。掌握C语言中对文件的操作 ,掌握Linux系统中文件IO的操 作,掌握文件和目录的操作函数 。理解不带缓冲的I/O与标准 IO的区别和联系。
POSIX标准文件I/O管理  Linux系统下文件类型及属性,POSIX标准下文件I/O管理
Linux文件管理及目录操作  Linux文件系统管理、Linux文件及目录管理操作
Linux进程管理与程序开发  进程环境及进程属性、Linux进程控制、Linux进程调度 掌握Linux环境下多进程程序开发
进程间通信  管道、信号、消息队列、信号量、共享内存 掌握Linux环境下进程间通信机制
Linux多线程编程  多线程的创建与管理,线程间通信机制。 掌握Linux环境下多线程程序开发
Linux Socket网络编程 Socket通信基本概念及过程,面向连接的TCP套接字编程实例,面向无连接的UDP套接字编程实例 掌握socket网络编程方法。
ARM体系结构与开发
课时: 10天
ARM体系结构概述

内容:ARM处理器介绍,ARM处理器模式,ARM寄存器,ARM体系的异常中断。
重点:ARM处理器模式,ARM寄存器。
难点:ARM体系的异常中断。

掌握ARM处理器的体系结构。
ARM指令集

内容:ARM指令集介绍,ARM指令寻址方式,ARM指令集,ARM指令功能段。
重点:ARM指令集,不讲解Thumb指令。

掌握ARM处理器的汇编指令。
ARM存储系统

内容:ARM存储系统概述,协处理器CP15,存储器管理单元MMU,cache,与存储系统相关的程序设计指南。
重点:存储器管理单元MMU。

掌握ARM存储系统程序设计。
ARM C/C++编程

内容:ARM C/C++编译器概述,ARM C/C++编译参数与支持的关键字,ARM C/C++库,ARM连接器介绍,ARM映像文件。
重点:结合ADS来完成ARM编译器、连接器的设置,实现程序的编译连接。

掌握ARM处理器的C语言编程。
使用ADS

内容:简单工程项目的使用,配置生成目标,复杂工程项目的使用,工程项目模板,编译和连接工程项目。
重点:掌握ADS的使用方法。

掌握ARM处理器的集成编程环境ADS。
ARM编程实践 内容:介绍具体的ARM芯片(如S3C2410/s3c2440),根据该处理器的实际资料来理解ARM体系结构,并根据实验开发板进行编程实践。 掌握ARM编程。
嵌入式Linux 移植
课时: 5天
嵌入式Linux系统

内容:介绍嵌入式linux系统的基本概念,组成结构,开发工具。
重点:嵌入式系统的基本概念和交叉编译工具,嵌入式Linux系统的组成。

掌握嵌入式Linux系统的组成结构
设置Bootloader

内容:介绍各种Bootloader,分析Bootloader的代码结构,进行Bootloader代码的编译和映像烧写。
重点:Bootloader代码的编译。

掌握嵌入式系统Bootloader。
Linux内核

内容:linux内核版本、内核配置(配置参数介绍)、编译内核、内核烧写,mtd设备分析。
重点:内核的配置与编译,内核的配置。

握嵌入式Linux内核的配置、编译、移植。
嵌入式Linux根文件系统 内容:linux文件系统介绍,根文件系统介绍,文件系统类型分析,根文件系统映像制作。系统启动流程分析。
重点:理解根文件系统,制作根文件系统映像,系统启动流程分析。

 

掌握嵌入式Linux的根文件系统。熟悉各种文件系统类型的优缺点。
移植应用程序 内容:移植linux应用程序实践。 掌握移植应用程序设计。
QT图形程序设计
课时:10天
QT概述 内容:Qt版本介绍、Qt对象类模型、信号与槽、对象与对象树、事件过滤器、Qt全局函数、Qt开发工具的安装等,介绍一个最简单的Qt程序。 掌握Qt模块与Qt功能类。
QT模块与QT功能类 内容:介绍Qt常用模块、Qt部件与组类说明、基于图形模式部件类、网络与I/O、Qt公有部件等。
Qt桌面软件设计 内容:X11窗口系统信息、窗口布局管理、键盘焦点、菜单、工具栏、状态栏、多文档窗口显示、高级窗口部件、窗口事件与事件过滤等。

掌握Qt桌面软件设计。

Qt程序与用户交互 内容:QTime类、行编辑器与标签、显示与编辑多文本、旋转框、复选框与组合框、时间与日期编辑部件、标准对话框、用户输入对话框等。

掌握Qt程序与用户交互。

Qt图形绘制与多媒体 内容:Qt坐标系统、访问屏幕信息、绘图系统、图形视图框架等。 掌握Qt图形绘制与多媒体。
Qt网络编程 基本网络模型、进程间通信、套接字、Qt网络主机信息类、应用层协议类等。

掌握Qt网络编程。

Qt数据库编程 数据库模块的三层结构、SQL驱动程序插件、连接数据库、基于数据的窗口部件等。

掌握Qt数据库编程。

嵌入式Linux驱动程序开发
课时:10天
Linux设备驱动程序简介 内容:驱动程序介绍,应用程序与内核程序的比较,构建和运行模块。 了解Linux设备驱动程序。
字符设备驱动程序

内容:主次设备号,重要的数据结构,字符设备的注册。
重点:字符设备驱动的编写。

掌握嵌入式linux字符设备驱动。
中断处理

内容:安装中断处理例程,实现中断处理例程,顶半部和底半部,tasklet,工作队列,内核定时器
重点:中断处理例程的安装,tasklet,内核定时器。

掌握嵌入式linux内存与IO管理、中断处理。
并发和竞争

内容:信号量和互斥体,completion,自旋锁
重点:信号量、自旋锁。

高级字符驱动程序操作

内容:Ioctl,阻塞型IO,异步通知,poll和select,定位设备,设备文件的访问控制
重点:ioctl,阻塞型IO

分配内存和IO内存

内容:Kmalloc函数,get_free_page相关函数,vmalloc及其辅助函数,IO端口与IO内存,使用IO内存,内存映射
重点:内存分配函数,内存映射。

网络驱动程序

内容:TCP/IP网络介绍,Linux网络协议栈分析,Linux网络设备驱动的注册,网络设备驱动使用的数据结构,具体网络设备驱动代码分析。
重点:网络驱动程序的接口。

掌握嵌入式linux网络设备驱动、USB设备驱动等。
块设备驱动程序 内容:块设备特点,块设备注册,块设备操作,请求处理。
USB设备驱动程序

内容:USB协议介绍,USB总线枚举过程分析,USB数据包,USB传输方式,结构 struct urb,USB设备驱动程序,U盘协议分析。
重点:USB协议,U盘协议分析


企业全真嵌入式项目实战

项目1:基于嵌入式WebServer的气象数据监控系统

项目背景:
气象信息的准确性、实时性对工业、农业、水文水利、环保、高速公路、机场、港口等行业和部门以及人们的日常生活各方面有着重要的影响。实时收集、监控、分发观测数据,具有重要的理论意义和实用价值。本项目提出了一种基于嵌入式WebServer的气象数据监控系统,通过在开发板上建立WebServer,在客户端通过IE浏览器访问,能够将气象信息实时显示到用户端,实现自动气象站。


系统架构:

 
   

 


 

 

  系统通过温度、湿度、风力、紫外线等传感器采集气象信息通过无线或有线的方式传给嵌入式WebServer进行数据融合,用户可以在PC机上通过IE浏览器登陆嵌入式WebServer网址实时监控气象信息。

项目2:基于Arm与射频识别(RFID)的学生安全定位系统

项目背景:
近年来,我国许多学校校外犯罪事件时有发生,如何加强学生安全管理和学生在校的人身安全,家长、学校老师如何有效地实时对学生上学放学情况进行掌握,已经摆到了各个学生家长和校领导以及各级主管部门领导的面前。本项目实现一个基于Arm和射频识别技术的学生安全系统,学校老师可以实时掌握学生上学、放学回家以及在校情况(路上是否安全、是否按时上课、是否逃课、旷课等),并在孩子出现危险情况时,第一时间进行救助。家长可以在自己的孩子到校、离校后第一时间得到短信通知。


系统架构:

 
   

 

 

  学生从家出门,系统记录其出门时间信息,通过internet有线网络传到学校监控服务器;学生上公交车或出租车或父母驾驶出租车后由车中读写器读取学生及车辆位置信息通过DTU无线通信模块传送至学校监控计算机,学生到校后,通过学校门口的读写器读取学生信息传到学校监控室;学生放学回家的过程与此相反。


项目3:基于嵌入式Linux的餐厅点菜系统

项目背景:
随着人们生活水平的提高和生活方式的转变以及中国经济及旅游业的发展,餐饮业市场活跃,蕴藏巨大的商机。传统的点菜模式,即由人工记录点菜并送至厨房,该过程繁琐易出错,当顾客比较多时,造成时间的浪费和服务品质的下降,需进行数字化改造。本项目运用嵌入式Linux技术、数据库技术、用户图形界面编程技术等实现开桌、点菜、换桌、催菜、结帐等功能,开发具有实用价值的点菜系统。


系统架构:

 
   

 

 

  通过手持点菜终端开桌、点菜、催菜、结帐等操作,经过无线传输到嵌入式控制器进行处理后在厨房的打印机打印出点菜单,厨师根据点菜单进行烹制。