嵌入式Linux系列精品班
 

嵌入式Linux就业培训班

声明:易凡软件课程的版权属于易凡软件所有,严禁任何培训机构或网站转载或抄袭,否则必将追究法律责任
嵌入式Linux课程背景
     随着电子产业不断的发展,近几年嵌入式软件行业发展异常迅猛,并且渗透到了各个行业,如我们熟悉的手机、PDA、数码相机、医疗电子仪器、航天航空设备、军用设备等都是嵌入式系统的典型应用。嵌入式开发已经称为当前最为热门最有发展前途和“钱途”的行业。而众所周知的Linux,由于自身的源代码开放性和自由性,必然倍受企业青睐,成为嵌入式市场中主力军,占据了信息家电和手持设备的大半壁江山。
     业界统计,由于国内外企业纷纷加大对嵌入式业务的投入,相关人才需求极具增长,目前嵌入式行业至少存在30-50万的人才缺口,尤其如北京、上海、深圳等地嵌入式人才需求量非常大,成都、西安做为西部电子产业重地,嵌入式的需求更是与日俱增,极度的供不应求。造成这种局面的原因有:
     1)企业需要的是实战性人才,而高校一贯注重基础理论研究,学生很难学到适应市场需求的嵌入式技能;
     2)嵌入式行业门槛较高,知识要求全面,需要有经验的人进行指导。
     目前,在北京、上海等地,一个具有三年嵌入式工作经验的工程师月薪在10000元以上,西安、成都等地由于消费水平低,一个成熟的嵌入式工程师薪水也在8000以上。
课程介绍
    本课程分为两个阶段,由浅入深,适用于不同层次的学员,主要内容涵盖了嵌入式linux与ARM9处理器两个方面的内容,系统且全面的讲述了嵌入式linux的应用编程,系统移植,以及驱动开发,旨在培养全面系统掌握嵌入式Linux开发技术,具备从事嵌入式Linux应用开发、操作系统移植、驱动开发的高级嵌入式人才。
就业方向
    行业:消费类电子、工业控制、军工企事业、电信/网络/通讯、航空航天、汽车电子、医疗设备、仪器仪表等相关行业。
培训对象
    大专以上学历(含大专),理工科专业背景;须经过入学测试,合格后方可参加培训。
入学条件
    1、计算机、电子、自动化、通信、信息工程等相关专业。
    2、希望从事嵌入式linux开发,并具备计算机软硬件开发经验的技术人员。
    3、有就业需求的学员应满足相关企业员工基本素质要求
入学考试
(一)上机考试
    1、考试科目:C语言编程。
    2、考试时间:所有报名参加考试的学员统一考试,具体时间请与咨询老师联系。  
    3、考试方式:以邮件形式发题目给学员,在规定的时间内做完,答案提交至指定的邮箱。
(二)面试
    上机考试成绩合格的学员将统一参加由易凡软件组织的面试,通过后指定培训计划。
    1、面试科目:C语言编程、操作系统原理。
    2、面试时间:具体时间请与咨询老师联系。
    3、面试方式:西安学员在易凡软件嵌入式培训中心,外地学员安排电话面试。
主讲老师
    【赵老师】4年的嵌入式开发经验,精通ARM7、ARM9多款微处理器,熟悉嵌入式Linux应用开发、Linux内核驱动开发以及Linux下C/C++语言编程,先后参与过抽油机控制系统、虚拟视频服务器、3G移动视频嵌入式平台等项目的开发工作,在项目中主要负责内核移植和驱动开发工作。
    【席老师】8年嵌入式开发经验,2年嵌入式行业教学经验,参与过多个嵌入式系统项目的开发工作,并多次担任项目负责人,精通UC/OS-II、Linux内核、TCP/IP、 bootloader编写、文件系统、ARM处理器,尤其擅长ARM平台上linux系统的移植和应用开发,熟悉的ARM处理器有:S3C2410、S3C2440、EP7312、S3C4510、EP9312等。
    【田老师】西安交通大学博士,6年基于Linux平台项目研发经验,擅长基于Linux平台的应用系统设计与开发以及基于ARM处理器嵌入式Linux内核移植与开发。主持开发过大型嵌入式网络方向的项目以及嵌入式视频监控系统,曾参与过多个国家级及省市级嵌入式系统项目的开发工作,在项目中主要负责Linux系统移植、Linux driver开发、Bootloader移植工作等。曾多次为企业提供解决方案以及培训。。
质量保障
    1、培训过程中,如有部分内容理解不透或消化不好,可免费在以后培训班中重听;
    2、培训结束后免费提供三个月的技术支持,充分保证培训后出效果.
优惠制度
    学员按需报选课程,可按“期”付费,同时报多期班或多人同时报选可再享受如下优惠措施:
    1、同时报选两期班,并在开课前一次性付前学费可获价值1200元ARM9开发板(不带屏)。
    2、两人以及两人以上同时报名,享受95折优惠;
课 程 大 纲

第一阶段:ARM嵌入式系统工程师

1.嵌入式系统与ARM微处理器简介
1) 嵌入式系统组成、特点以及开发流程
2)ARM微处理器的特点
3)常用的ARM微处理器系列介绍
4)ARM微处理器结构
5)ARM微处理器的应用选型
2.ARM微处理器的编程模型

1)ARM微处理器的工作状态
2)ARM微处理器的工作模式
3)寄存器组织

4)ARM体系结构的数据存储格式
5)指令长度及数据类型
6)异常(Exceptions)
3.ARM微处理器的指令系统

理论部分:
1)ARM微处理器的指令集概述
2)ARM指令的寻址方式
3)ARM汇编语言的基本框架
4)ARM指令集
5)Thumb指令及应用

实验部分:
1)使用ADS来编译、链接并调试程序
2)乘法器设计
4.ARM程序设计基础

理论部分:
1)ARM汇编器所支持的伪指令
2)汇编语言的语句格式
3)汇编语言的程序结构

实践部分:
1)使用ARM汇编语言实现if条件执行
2)使用ARM汇编语言实现for循环结构
3)使用ARM汇编语言实现while循环结构
4)使用ARM汇编语言实现do…while循环结构
5)使用ARM汇编语言实现switch结构。
5.汇编语言与C/C++混合编程

理论部分:
1)寄存器的使用规则
2)数据栈的使用规则
3)参数的传递规则
4)内嵌汇编器的使用
5)从汇编程序中访问C变量
6)在汇编程序中调用C/C++程序
7)在C/C++程序中调用汇编程序

实践部分:
从汇编语言切换到C语言,然后在C语言中分别使用内嵌汇编语言和汇编子程序实现一个加法运算的功能
6.ARM异常处理

理论部分:
1)ARM异常处理概述
2)进入和退出异常的过程
3)在应用程序中安装异常处理程序
4)各类异常的具体描述

实践部分:
具体实现SWI异常的装载,功能添加和调试
7.ARM应用系统设计

1)ARM应用系统设计概述
2)S3C2440概述

3)系统的硬件选型与单元电路设计
8.S3C2440的接口工作原理与编程举例

理论部分:
1)通用I/O口工作原理与编程示例
2)串口工作原理与编程示例
3)中断控制器工作原理与编程示例
4)DMA工作原理与编程示例
5)实时时钟工作原理与编程示例
6)看门狗工作原理与编程示例
7)I2C工作原理与编程示例

实践部分:
1)GPIO实验
2)UART实验
3)中断实验
4)DMA实验
5)实时时钟实验
6)看门狗实验
7)I2C实验
10.ADS集成开发环境使用介绍

理论部分:
1)ADS集成开发环境组成介绍
2)使用ADS创建工程

实践部分:
用AXD进行代码调试
11.嵌入式操作系统及uC/OS-II

理论部分:
1)操作系统及uC/OS-II 概述
2)任务、进程概念
3)内核数据结构
4)内核调度算法
5)系统中断处理
6)系统移植方法

实践部分:
1)实现uC/OS-II在ARM开发板上的移植
2)移植的关键代码解析
12.在ARM9上开发uC/OS-II应用程序

理论部分:
1)uC/OS-II应用程序编写、调试方法
2)多任务开发
3)任务间的通信与同步
4)任务优先级控制
5)任务实时性检测与提高方法

实践部分:
1)LED控制应用程序
2)多任务程序实验
3)任务间通信实验
4)串口控制应用程序
5)LCD控制应用程序
13..项目实训

1)基于ARM的数据采集系统设计;
2)实用ARM视频处理系统;
3)实用MP3播放系统开发;

4)基于uC/OS-II的网络传输系统设计;
5)基于ARM的SD卡存储系统设计;
6)基于三星2440的触摸屏幕系统开发;

第二阶段:嵌入式linux系统工程师

1.Linux环境及程序设计基础

1)Linux系统安装、基本命令介绍
2)Linux目录组织、常用服务器配置

3)文本编译工具vi和gcc工具使用
4)调试工具GDB使用、Shell、make及makefile使用

2.Linux下C/C++高级程序设计与实践

1)C语言的高级编程知识
2)数据结构的基础内容
3)面向对象程序设计基础
4)C++程序设计
3.Linux下高级程序设计与实践

1)Linux进程控制管理
2)Linux文件管理,IO控制
3)串口概念Linux代码控制
4)进程间通讯:管道通信、信号通信、共享内存、消息队列

5)Linux线程访问与控制
6)TCP/IP协议讲解
7)Linux socket程序设计
4.linux下QT高级编程
1)搭建QT开发环境
2)对话框
3)主应用窗口
4)实现应用程序的功能
5)自定义窗口部件
6)布局管理
7)事件处理
8)输入输出
9)网络
10)综合案例分析与实现
5.Linux系统移植

理论部分:
1)Linux内核的代码结构。
2)Linux启动过程源代码分析。
3)Linux下的多进程理论。

实践部分:
1)实际制作一个嵌入式Linux内核,并且将其烧写到实验板上。
2)实际写一个内核进程,同时在Linux内核启动时运行

6.Boottloader移植

理论部分:
VIVI全过程代码详解。

实践部分:
UBOOT移植过程实际演练
7.嵌入式Linux的文件系统
理论部分:
1)Ext2文件系统加载过程代码分析。
2)JFFS2文件系统制作指导。
实践部分:
1)Ext2文件系统在实验板上的制作。
2)JFFS2文件系统在实验板上的制作。UBOOT移植过程实际演练
8.嵌入式Linux设备驱动程序设计与开发实践

理论部分:
1)字符设备,块设备驱动详解。
2)网络驱动详解。
3)驱动程序中的一些基本概念。

实践部分:
1)实际在实验板上开发按键控制的驱动程序。
2)在开发板上实现SMC网口驱动或者CS8900网卡的移植。
9.项目实训
远程视频监控系统
项目内容:
1.基于ARM/Linux的嵌入式项目研发流程。
2.项目分析和规划。
3.基于ARM的Linux操作系统移植。
4.USB、串口、网卡、摄像头等相关驱动。
5.Linux网络服务器配置,网络应用程序编程。
6.软件的测试与调试。
项目要求:
     设计并实现一个真实和完整的嵌入式项目的开发流程,涉及到数据采集、网络通讯、图形用户界面显示以及嵌入式数据库存储系统等多种嵌入式Linux编程技术。
      要求学员建立起团队开发和协同工作的企业项目开发模式的概念和流程,强化学员对编写项目概要设计文档和详细设计文档的理解,为就业前的职业技能和素质训练做好充分准备。