学习周期为20周。
就业方向
消费类电子、制造工业、军工企事业、电信/网路/通讯、航空航天、仪器、仪表、汽车电子、医疗设备、船舶、航空、航天、军事装备等各相关行业。
课程进度
时间课程内容
第一周Linux简介、VMware的安装与使用、Linux的安装
Linux的启动过程、Linux目录结构的简介
Linux基本命令的使用、VMare Tools的安装 VIM的使用
Linux常用服务介绍
GCC的使用、 GDB的使用
第二周 C语言
指针、内存和地址、值和类型、指针变量的内容、间接访问操作符、未初始化和非法指针、NULL指针、指针、间接访问和左值、指针、间接访问和变量、指针常量、指针的表达式、指针运算、位操作、一维数组的数组名、下标引用、指针和下标、指针的效率、数组和指针、作为函数参数的数组名、申明数组参数、数组初始化、不完整的初始化、自动计算数组长度、字符数组的初始化、多维数组的存储顺序、多维数组的数组名、多维数组的下标、指向数组的指针、作为函数参数的多维数组、不受限制的字符串函数、长度受限制的字符串函数、字符串查找基础、高级字符串查找
第三周
结构体声明、结构体成员、结构体成员的直接访问、结构体成员的间接访问、结构体的自引用、不完整的结构体声明、结构体的初始化、结构体、指针和成员、访问指针、访问结构体、访问结构体成员、访问嵌套结构、结构体的存储分配、作为函数参数的结构体、位段、联合、链表的创建、链表的插入,删除,遍历操作、类、对象、作用域和可见性、对象的生成周期、数据和函数、静态变量、共享数据的保护、友元、编译的预处理、类的继承与派生、类成员的访问控制、单继承与多继承、派生类的构造、析构函数、类成员的标识和访问、多态性、运算符重载、虚函数、纯虚函数、抽象类
文件I/O操作、文件上锁
文件流操作
进程简介、Linux进程控制编程
第四周exec函数族、system系统调用
进程退出、进程检测
僵尸进程、守护进程
无名管道、有名管道
信号通信、信号的来源
信号的生命周期、信号检测与处理流程
发送信号的函数、进程对信号的响应方式、信号处理的主要方法
共享内存实现步骤、共享内存创建
共享内存映射、共享内存映射
消息队列、消息队列
信号,管道与消息队列比较
消息队列的使用流程
消息队列编程
第五周进程回顾、进程与线程的比较
线程的创建、线程的等待、线程的终止
多线程的同步机制,互斥量、信号量、条件量
socket简介、socket常用函数
TCP网络通信模型.
UDP网络通信模型
网络编程注意事项
第六周服务器的分类、TCP循环服务器、TCP并发服务器
多进程并发服务器、多线程服务器
I/O多路复用服务器
Makeifle工程管理器
嵌入式LINUX GUI介绍及QT/MINIGUI之间比较
QT介绍及其信号插槽机制
QT图形界面编程技术
嵌入式数据库的概念
嵌入式数据库的编程
第七周ARM微处理器概述、ARM微处理器的寄存器结构
ARM微处理器的异常处理、ARM基本寻址方式
ARM指令集、S3C2440微处理器、S3C2440处理器内存映射
裸机开发环境、ADS1.2开发环境介绍
GUI开发环境相关操作介绍、CodeWarrior 集成环境介绍
AXD调试工具、S3C2440原理图分析
GPIO编程讲解
第八周ARM的异常中断类型、异常中断响应过程和返回过程
S3C2440异常中断的响应、S3C2440中断控制器
按键驱动实现过程分析、看门狗原理与执行过程
S3C2440的看门狗介绍、看门狗相关寄存器介绍
看门狗复位实现过程、看门狗中断实现过程
DMA的工作原理、DMA请求源、DMA的工作模式
DMA的工作流程、DMA的寄存器、DMA编程介绍
串口分类、串口通信原理、串口的机械特性
串口控制器、串口寄存器、串口编程
第九周触摸屏的工作原理 、触摸屏的分类 、S3C2440触摸屏介绍
触摸屏相关寄存器介绍 、触摸屏编程分析
LCD简介、LCD分类、LCD工作原理、LCD主要参数
LCD控制器介绍、LCD寄存器、LCD时序分析
LCD编程分析
NAND FLASH简介
NAND FLASH 和NorFlash的区别
NAND FLASH的引脚介绍、NAND FLASH的操作原理
NAND FLASH的寄存器介绍、NAND FLASH的操作流程分析
PWM简介
S3C2440定时器
PWM工作原理、PWM寄存器介绍
PWM操作流程
第十周嵌入式系统介绍、主流的嵌入式系统介绍
Uboot的烧写、Uboot相关命令介绍
内核的烧写、文件系统的烧写
NFS服务器搭建
交叉编译环境搭建
Boot Loader简介、Uboot介绍
S3c2440时钟、S3c2440内存映射
Uboot的启动过程分析
Uboot源码分析
第十一周Uboot源码分析
Uboot移植综合讲解
第十二周Linux内核配置及编译、主流的Linux发行版
Linux内核源码版本命名、Linux的内核构成
Linux内核的目录结构
Linux内核编译步骤
Linux内核移植步骤
构建相关目录、dev的实现、系统命令的实现
构造lib、构造etc
cramfs文件系统
jiffs2文件系统
yaffs2文件系统
ramdisk文件系统
网络文件系统
第十三周添加驱动的两种方法
内核模块简介、内核模块的创建、内核模块的Makfefile编写
内核模块的安装与卸载
内核模块的参数传递
内核模块的外部引用
内核模块的源码移植
内存的概念、物理内存、虚拟内存、MMU
物理地址、逻辑地址、虚拟地址、段式管理、页式管理
Linux内存管理
传统链表的缺点、Linux内核链表
内核链表的常用操作、内核链表的使用
时钟中断、jiffies、delay的实现
内核定时器介绍、内核定时器的结构体
内核定时器相关操作、内核定时器的使用
第十四周AP如何使用Kernel资源、什么是系统调用
系统调用 VS 普通函数调用、Linux库函数由来
系统调用原理、编写一个系统调用的流程
应用程序异常分析、内核异常分析
Linux设备驱动的分类、Linux体系结构
设备号、字符设备驱动的重要数据结构介绍
字符设备的注册流程、字符设备相关操作
创建设备文件、IOCTL的实现方法
GPIO驱动的实现方法
第十五周并发与竞态、原子操作、信号量、自旋锁
同步操作方法比较
睡眠的介绍、阻塞和非阻塞操作
等待队列介绍、简单休眠、高级睡眠
阻塞型字符驱动实现流程
轮询的概念与作用
应用程序中的轮询编程、设备驱动中的轮询编程
轮询型设备驱动实例
动态创建设备文件
Linux中断的实现过程
中断注册、中断服务程序、释放中断、共享中断
Linux驱动的中断实例、Linux中断的高级知识
第十六周寄存器,内存,I/O之间的关系、I/O端口和I/O内存
I/O端口的操作流程、I/O内存的操作流程
应用程序内存映射的使用、内存映射的系统调用
内存映射的高级应用、虚拟内存区域介绍
驱动内存映射的操作、内存映射的实例
输入子系统简介、输入子系统的构成
输入子系统框架、输入子系统的实现流程
触摸屏驱动分析
第十七周内核对象介绍、设备驱动模型、平台驱动程序
块设备的重要数据结构、块设备的注册
块设备相关操作、块设备的请求处理
命令预准备、被标识的命令队列
块设备驱动程序实现流程
网络协议栈、TCP/IP协议
Linux网络体系结构、Linux网络子系统
Linux网卡驱动开发基础、DM9000驱动开发流程
LCD驱动分析
第十八周PCI简介、PCI特点、PCI体系结构、PCI寻址
PCI配置空间、PCI配置空间的读写
Linux对PCI支持、PCI相关数据结构
PCI驱动的基本架构、PCI驱动编写流程
USB简介
USB系统体系结构、USB描述符、USB数据传输
USB设备枚举、Linux内核对USB的支持
USB主控制器初始化、USB主控制器层次结构
USB HUB初始化、USB HUB对端口监控
USB设备探测、USB总线地址分配
USB设备的初始
USB驱动实例
第十九周项目实战 MP4制作
第二十周项目实战 视频监控系统
厦门尚享电子科技有限公司有培训嵌入式 课程安排如下: 嵌入式ARM培训/Linux培训课程安排
学员经过培训后具有系统掌握嵌入式Linux开发技术,可以从事嵌入式 Linux操作系统移植开发、驱动开发、应用开发的高级技术人才。
*教学模式*
为了保证培训效果,增加互动环节,我们坚持小班授课,多余人员安排到下一期进行。
嵌入式ARM/Linux培训班
*课程简介*
课程主要采用实践为主,授课为辅. 采用友善之臂mini2440开发板进行讲课.
课程共分为如下部份:
一. bootloader详解及移植
1.嵌入式Bootloader简介
2.Bootloader的操作模式
3.Bootloader的配置及编译
4.Bootloader的用法
5.修改源码,进行实验
二. 建立开发环境
1.开发环境简介
2.安装交叉编译工具
3.设置环境参数
4.烧写bootloader,kernel,根文件系统,下载应用程序(串口,usb口,网络)
5.建立nfs根文件系统
三.定制内核移植
1. linux内核简介
2. linux内核基本配置
3. 内核的定制及裁剪
4. 两种加入驱动程序方式
5. 启动参数的修改
6. 实践
四. 嵌入式Linux文件系统
1. 嵌入式Linux文件系统简介
2. ext2文件系统的制作
3. yaffs2文件系统的制作
4. 最小根文件系统
5. 启动程序方式
6. 定制工具busybox
7. 实践
五. miniGUI
1. 嵌入式GUI简介
2. miniGUI的配置,编译
3. 建立主机开发环境
4. 建立开发板运行环境
5. GUI基础
6. 实践一个简单例程
六. 嵌入式linux驱动程序开发
1. 设备驱动程序的基本知识
2. 字符设备驱动程序
3. 块设备驱动程序
4. 调试方法
5. 实践一个简单例子
七. 课程设计---做一个IP电话
1.项目总体需求
2.软件需求分析
3.软件总体设计含算法/数据结构/GUI
4.软件代码编写
5.上机调试
课时安排:80学时,三个月让你彻底玩转嵌入式Linux。
收费标准:5600元/人
开课时间:晚上或周未,有特殊要求可随到随学
适合对象:
1.想从事嵌入式linux的人员。
2.现在在从事PC软件开发或单片机软件开发研发人员,想转而从事嵌入式 linux软件开发的工程师
3.从事硬件开发想转而从事软件开发的工程师;
4.对电子技术比较向往,想从事嵌入式软件开发的人
5.应往届缺少实践的毕业生,电子爱好者。
我们这里有学习时间为四个月和一个月的嵌入式培训课程表,你需要哪个?四个月的是嵌入式Linux实战就业班(包含7个大项目),一个月的是特训班(包含2个小项目)。