课程简介
本课程从础的C语言和数据结构起步,一步步学习嵌入式LINUX系统移植、Linux应用开发、Android应用开发、Android系统移植、Android设备中间件开发。本课程全程双平台教学Cortex-M4+四核ARM Cortex A9硬件平台、Linux 3.5内核。通过全套课程的学习,完全可以从入门到精通,进入到“钱途”无限的Linux嵌入式开发。包括应用开发和中间层开发,都足以胜任。本套课程融合了国内Linux培训和嵌入式培训好的一部分课程,并加入新的Linux 4.x驱动开发,是国内首创的全套Linux驱动开发课程,成为国内大学生学习Linux嵌入式开发的入门选!本课程总共分为八部分,基础薄弱起步,由浅入深,全面系统的介绍了Linux系统从应用开发、系统移植、再到Linux驱动开发的全过程。
课程目标
1、掌握操作系统原理,编译原理,数据结构,数据库等相关知识
2、掌握Linux操作系统使用,包括命令,Shell,系统配置
3、掌握进行Linux下应用编程及系统调用
4、精通ARM CORTEX-A9体系结构以及开发
5、精通Bootloader移植、开发
6、精通Linux系统移植,内核裁减,调试
7、精通Linux常用接口驱动开发及驱动移植
8、精通用开发及系统移植
适合人群
1、希望往嵌入式应用方向开发的工程师
2、基础良好的在读研究生或者即将毕业的应届毕业生
3、熟悉Linux应用和框架开发,希望从上到下走通Linux系统的工程师
4、希望做驱动,做系统移植的工程师
5、有手机硬件维修基础,希望走向软件开发的特殊爱好者
6、在应用职工程师想提升个人技术水平者
上课方式
理论20%+实践*+项目*
课程大纲
一阶段:Linux基础 | |
1、C程序结构、编译原理、基本数据类型、输入、输出函数 |
2、linux程序设计,编译器 |
3、Makefile 学习 | 4、Shell编程 |
|
|
第二阶段: C程序设计 | |
1、C程序结构、编译原理、基本数据类型 |
2、运算符、表达式、流程控制、关键字 |
3、函数、数组,排序算法 | 4、精讲指针 |
5、预处理 |
6、结构体、共用体、枚举型 |
7、线性结构(链表) | 8、堆栈应用和举例、栈与递归的实现 |
9、阶段项目实战 | |
|
|
第三阶段: Linux *系统编程 | |
1、创建和使用库 |
2、文件和目录的维护、扫描目录 |
3、基于文件描述符的文件操作(非缓冲) | 4、多进程 |
5、多进程,进程间通信 |
6、多线程编程 |
7、Socket网络编程 | 8、阶段项目实战 |
9、IO多路复用 | |
|
|
第四阶段:Cortex-M4/7 驱动开发 | |
1、Cortex-M4 介绍,开发环境搭建,GPIO模块实战 |
2、STM32F407 UART模块实战 |
3、STM32F407 中断模块实战 | 4、STM32F10X DMA模块 |
5、基本&通用定时器定时功能软件设计 |
6、ADC模数转换模块 |
7、STM32F407 RTC和系统定时器模块实战 | 8、STM32F407 IIC模块实战 |
9、STM32F407 SPI模块实战 |
10、TFTLCD模块实战 |
11、触摸屏模块实训 | 12、GUI |
13、UCOS-II |
14、环境检测项目实战 |
15、Cortex-M4*进阶模块实训 (CanBus总线、DAC数模转换、*定时器、看门狗定时器、FSMC文件系统等) | |
16、热门项目模块实战(Zigbee、IP程序远程升级、TCP/IP和USB模块、心跳传感器、433M模块、通信协议、蓝牙wifi、温湿度检测、语音等) | |
17、产品项目实战(智能机械手臂、可穿戴设备、四轴无人机、人体健康检测、驾校语音模拟等) | |
|
|
第五阶段:嵌入式Linux驱动开发阶段 (A9/A72双平台教学,采用新的RK-3399) | |
1、u-boot介绍,u-boot常用命令学习 |
2、Linux内核移植编译,裁剪 |
3、内核顶层Makefile 交叉编译器修改 | 4、根文件系统制作,挂接 |
5、驱动理论,字符设备驱动 |
6、设备驱动:Linux驱动中断编程 |
7、平台总线驱动模型 | 8、LCD驱动程序移植 ,LCD应用程序编程 |
9、Linux输入子系统,触摸屏驱动 |
10、Linux I2C子系统 |
11、Exynos4412产品发布 | 12、Linux驱动项目实战 |
|
|
第六阶段:嵌入式 Android驱动开发阶段 | |
1、Android设备驱动概述 |
2、Android设备驱动概述 |
3、JNI开发 |
4、NDK开发 |
5、SystemServer |
6、ServiceManager |
7、Android Binder通讯机制 |
8、Android电源管理 |
9、Android调试方法 |
10、Android设备驱动开发实例:LED |
11、Android设备驱动开发实例:按键 |
12、Android设备驱动开发实例:蜂鸣器 |
11、Android设备驱动开发实例:串口 |
12、Android设备驱动项目实战 |
|
|
第七阶段:C++、QT开发 | |
1、C++新特性,类和对象基本知识 |
2、类和对象基本思想,构造函数,析构函数 |
3、类中特殊数据成员和函数成员的初始化等类的其它基本知识 | 4、类域,友元,运算符重载 |
5、深入运算符重载 |
6、派生与继承 |
7、多态 | 8、模版思想 |
9、名称空间,string类,智能指针,typeid操作符 |
10、Qt入门知识 |
11、Qt信号与槽函数机制 | 12、基于Qt的图片浏览器的制作 |
13、基于Qt的MP3音乐播放器的制作 | 14、基于Qt的网络视频播放器的制作 |
|
|
第八阶段:Linux综合项目实战 | |
1、基于嵌入式linux的智能家居管理系统 | 2、智能医疗管理系统 |
2、智能医疗管理系统 | 3、智能物联网管理系统 |
4、多媒体视频广告机 | 5、远程视频监控项目 |
6、USB键盘生产测试仪器 | 7、人脸识别系统 |
8、行车记录仪 | 9、刷卡消费系统 |
更多培训课程,学习资讯,课程优惠等学校信息,请进入 深圳民治信盈达嵌入式培训学院 网站详细了解,免费咨询电话:400-998-6158