课程描述:**本arm linux培训课程,学员可以掌握以下技能:基于S3C2440平台的嵌入式linux移植,开发嵌入式linux驱动程序,开发QTE图形界面;掌握嵌入式linux项目的完整开发流程。相当于在企业经过1年的研发水平。
就 业:消费类电子、工业控制、军工企事业、电信/网络/通讯、航空航天、汽车电子、医疗设备、仪器仪表等相关行业,嵌入式系统开发工程师、系统移植工程师。
合作企业:华为、中兴、联想、步步高、比亚迪、京信通信、佳的美、康佳、飞哥、三索、安联锐视、易博士、泛海三江、海尔、中国移动、中国联通、。
入学要求:您需“掌握”的基础是C语言、英语;需要“了解”的基础是操作系统原理,Linux常用命令的熟悉与使用;如果您能再涉猎些相关电子电路,汇编等知识,就*好不过了。
**认证:GCSDE认证 ARM-ATC认证
模块
|
教学目标
|
培训内容
|
详细介绍
|
|
一、ARM Linux基础 |
1、 熟练安装、操作linux系统,并能配置各种开发环境与常用服务; 2、能利用shell进行系统批量化工作; 3、基本掌握C、C 语言,并能设计较为复杂的应用程序 4、掌握数据结构常用算法 |
linux基础 | 理论 |
Linux 概述; Linux发行版; Linux开发环境搭建-vmware虚拟机;Linux系统安装 Linux的基础知识; Linux文件系统和文件; Shell的使用; 常用的shell命令;Linux的软件安装; |
实践 | linux基础命令使用 | |||
Linux下的C语言编程基础 | 理论 |
Linux下VIM的使用; 编译器GCC的使用;调试器gdb的使用; Linux下多文件编译与项目管理工具make的使用; |
||
实践 | linux下多文件管理实验 | |||
C语言基础强化 | 理论 | C语言语法;C语言的内存布局与常见库函数; | ||
实践 | 指法练习游戏、汉诺塔游戏等 | |||
数据结构强化 | 理论 | 链表、队列、栈、树、哈希表;数据搜索、遍历、排序与常见算法; | ||
实践 | 指法练习游戏、汉诺塔游戏等 | |||
C 语言基础强化 | 理论 | 面向对象的编程方法 类及对象的封装 类的继承与派生;虚函数与多态性 构造函数与虚构函数 模板 异常处理 | ||
实践 | 成绩管理系统、文件压缩器 | |||
二、ARM体系架与接口技术 |
1、熟悉ARM微处理器体系架构、指令与外围器件; 2、掌握通用外设接口的编程方法; |
ARM体系架构 | 理论 | 嵌入式微处理器概述;ARM处理器概述;GEC2440开发平台概述;RealView MDK环境简介 |
实践 | Bootloader烧写、内核烧写、文件系统烧写;使用RealView MDK环境构建基本工程 | |||
ARM指令集 | 理论 | ARM汇编指令分类;ARM汇编指令寻址方式;ARM汇编程序设计;C及汇编语言混合编程; | ||
实践 | 基本ARM指令练习; | |||
ARM接口操作 | 理论 | GPIO接口;UART接口;中断接口;时钟与定时器;ADC接口;TS接口;LCD接口;NAND Flash接口;Nor Flash接口 | ||
实践 |
1)GPIO实验 2) UART实验 3)按键K**FIQ方式控制LED反转 4)K**IRQ方式控制LED反转 5)Timer3定时控制LED反转实验 6)看门狗复位实验 7)PWM控制峰鸣器实验 8)利用TS分别控制LCD绘图、显示图片、显示汉字等功能实验 9)NAND Flash实验 10)Nor Flash实验 |
|||
ARM启动代码 | 理论 | ARM启动代码分析及设计;MMU原理分析; | ||
实践 | *简化bootloader程序代码设计及开发; | |||
三、嵌入式应用开发技术 |
1、熟悉应用各种系统调用 2、熟悉TCP/IP**,掌握并能开发各种网络服务器程序 3、熟悉各种GUI界面开发,能应用QT开发出较为复杂的系统界面 4、熟悉嵌入式数据库技术的应用 掌握Shell编程 |
嵌入式LINUX进程及进程间通讯开发 | 理论 |
1 进程的属性和状态 2 进程的控制和调度 3 进程的创建、执行、消亡 4 进程的相关系统调用 5 守护进程 6 进程间通信基本概念 7 管道(PIPE)8 信号(SIGNAL)9 内存映射(MAPPED MEMORY) 10 消息队列(MESSAGE QUEUE) 11 信号量(SEMAPHORE) 12 共享内存(SHARE MEMORY) |
实践 | 串口监听程序、MP3播放器、使用管道模拟QQ聊天 | |||
嵌入式Linux下的网络开发 |
理论 |
TCP/IP**概述;OSI参考模型和TCP/IP参考模型; TCP/IP**栈;TCP和UDP; 套接字基础 网络Socket概述;Socket通信原理; Socket基础编程;套接字编程进阶 多路选择I/O 文件传输实现 |
||
实践 | QQ聊天程序 | |||
嵌入式GUI与数据库开发 | 理论 | Linux下嵌入式gui编程介绍;Qt介绍;**Qt designer认识Qt; 信号和槽;Qt的事件 QT中的多线程编程;Qt 中的网络编程;Qt界面布局与特效处理;数据库基础;嵌入式数据库应用;嵌入式GUI与数据库结合技术 | ||
实践 | 带QT界面的聊天系统 | |||
Linux下shell编程技术 | 理论 | shell语法;shell脚本使用 | ||
实践 | shell任务批量自动化 | |||
四、嵌入式底层驱动开发技术 |
1、熟悉linux内核体系架构; 2、掌握2.6.30内核的裁剪与移植 3、熟悉各种接口的驱动原理; 4、能编写符合具体硬件的驱动程序 5、熟悉文件系统实现原理;掌握制作根文件系统 |
Linux交叉开发平台 | 理论 | Linux交叉开发环境介绍;GNU交叉工具链的使用; 宿主机与PC机间的通信;串口通信; |
实践 |
Minicom配置使用,Windows超级终端配置实验; NFS共享设置实验 交叉调试; |
|||
Bootloader分析 | 理论 | Bootloader介绍;GEC2440Bootloader分析;常见bootloader源码分析; | ||
实践 | u-boot配置与编译;u-boot移植;u-boot 使用 | |||
设备驱动中常用的内核机制 |
理论 | Poll和select操作;异步通知机制;1inux内核中断子系统;中断处理程序编写;驱动程序上/下半部处理与延缓执行机制;内核定时器与延迟机制;内核内存管理机制 | ||
实践 | 1、编写驱动实现包含等待队列、信号量、fifo等功能 2、编写驱动实现包含poll功能 3、编写驱动实现包含异步通知功能 4、编写秒表字符设备,掌握定时器用法 5、编写驱动实现tasklet功能 6、编写驱动实现工作队列功能 7、按键中断实验 8、A/D转换实验 | |||
LINUX字符设备驱动程序开发 | 理论 | LINUX字符设备驱动基础;字符设备驱动程序实现框架与典型驱动分析;用户空间与内核空间的数据传输;同步、互斥、阻塞、睡眠机制;Linux-2.6设备模型与sysfs文件系统;udev与devfs文件系统 | ||
实践 |
1、驱动开发编程环境与内核配置、编译 2、编写模块化字符设备驱动程序与测试 3、如何为内核程序传递参数 4、在驱动代码中加入创建proc结点方法 5、蜂鸣器驱动程序编写与测试 6、编写驱动实现包含等待队列、信号量、fifo等功能 7、学会利用udev和sysfs文件系统动态创建设备结点 |
|||
LINUX块设备驱动程序开发 | 理论 |
块设备及其驱动的特点;块设备驱动程序中两个关键结构体GEN_DISK与REQUEST;块设备驱动程序的注册与请求处理;MTD设备的特点以及与块设备的关系;MTD设备驱动的框架及关键结构体分析 S3C2440中的NAND FLASH控制器分析;S3C2440 NAND FLASH MTD驱动分析 |
||
实践 | 1、编写**的块设备驱动程序 2、实现RAMDISK驱动 3、IDE硬盘的驱动移植 4、移植S3C2410 闪存控制器驱动 5、配置MTD内核选项 6、移植嵌入式文件系统 | |||
LINUX网络设备驱动程序开发 | 理论 |
OSI网络参考模型;套接字(SOCKET)简介;套接字缓冲区(SK_BUFF);NET_DEVICE结构分析 数据包传送与接收;网络驱动的中断处理;网络设备驱动程序的基本实现 |
||
实践 |
1、编写**的虚拟以太网卡驱动程序 2、移植并编写CS8900A网卡驱动程序 3、移植并编写DM9000网卡驱动程序 4、配置网络参数,测试网卡驱动程序行为 5、MMC/SD**分析 6、在LINUX源码中加入针对ARM平台的MMC/SD主控制器驱动的支持 |
|||
LINUX设备驱动接口分析与设计 | 理论 | LCD设备驱动;触摸屏设备驱动;IIC设备驱动;SPI设备驱动;USB设备驱动; | ||
实践 | 基于Linux的看门狗驱动设计;基于Linux的RTC驱动设计;基于IIC 总线读写AT24c08驱动设计 | |||
根文件系统制作 | 理论 | 根文件系统的目录结构;根文件系统内容;常见根文件系统制作;添加设备文件;添加动态链接库;添加系统应用程序;添加配置文件; | ||
实践 | 支持QT显示的根文件系统制作 | |||
五、项目实战 | 1、**几个综合项目案例巩固、加深前面的知识 2、使学员了解嵌入式Linux项目开发流程。 | 项目一:VOD视频点播系统 | 本项目实现了一款基于 ARM Linux 操作系统和 Qt/Embedded 图形系统的嵌入式视频点播系统。该系统提供美观、友好的图形用户界面。用户可方便地进行播放、停止、暂停、选曲等操作。mplayer播放器输出的音频视频品质优良。 | |
项目二:智能家居控制系统 | 本项目实现了一款基于 ARM Linux 操作系统和 Qt/Embedded 图形系统的嵌入式智能家居控制系统。该系统由室内终端机、门口终端机及媒体终端机三大模块组成。可以实现家用电器控制,家庭安防控制,家庭监视检测控制,家庭信息控制,栋(户)门口机语音对讲,家庭娱乐控制,家庭环境控制。 | |||
六、职业素养与指导 | 了解职业规划、职场礼仪、简历编写、面试技巧等内容 | 职业素养 | 介绍程序员的职业生涯规划,职场礼仪、职场人际关系处理、良好工作习惯的培养等内容 | |
指导 | 介绍简历编写、面试技巧等方面内容 | |||
七、阶段测试 | 1、实时跟踪了解学员学习状况 2、巩固学习知识 |
学员作品
明星
校园环境
>>>>前50名电话咨询的学员即可获得三天免费试听机会,名额有限,快快行动吧!
更多课程查看>>>>>
新信息
广州嵌入式相关搜索:
广州嵌入式培训机构:
>>>>>
信盈达公司2008年在深圳特区南山高新科技园成立。自成立至今近九年来专注为企业和个人提供高端方案设计、高端嵌入式/Android培训等服务。公司下设信盈达实训学院、信盈达研发中心、信盈达教学仪器三大业...
天河校区: 广州天河区棠东东路御富科贸园