欢迎您使用程序员知识图谱SVIP会员服务!
程序员知识图谱SVIP会员服务由华清远见教育科技有限公司向您提供。
程序员知识图谱SVIP会员卡,包括180+课程免费观看特权、50+企业级实战项目、专属社区结伴学习、开发者挑战大赛、编程实战训练营体验、大厂工程师亲授答疑、独家源码开放、微课结业证书八大畅享特权,具体以程序员知识图谱SVIP特权页面的说明或华清远见实际提供为准。
一、学习导语
二、课程目标
通过本课程的系统学习,可以使学员由浅入深地对嵌入式Linux和Android系统进行全面学习,能够独立胜任嵌入式Linux和Android两个方向的开发工作。嵌入式Linux方向包括C语言开发、嵌入式Linux应用开发、系统开发、驱动开发等。Android开发包括Android应用开发、Android系统开发、Android底层开发等。学习目标如下:
1.熟练使用Linux操作系统
2.精通Linux下C语言编程
3.精通嵌入式Linux应用开发
4.掌握ARM处理器平台及其接口硬件开发
5.掌握嵌入式Linux下Bootloader的移植方法
6.精通嵌入式Linux内核裁减移植及内核调试
7.精通嵌入式Linux下常用接口的驱动开发
8.熟悉Java语言编程
9.熟悉Android应用开发
10.掌握基于Linux内核的Android底层系统开发
11.熟悉嵌入式Linux实际项目案例开发流程
12.熟悉基于Android系统的实际项目案例开发流程
13.掌握嵌入式Linux内核高级驱动的开发和移植
14.掌握Andorid高级驱动的开发和移植
15.掌握物联网传感器和无线通信技术的开发
16.掌握创客创业的流程和方法
三、课程特色
1、全面覆盖流行的嵌入式与物联网技术
课程涵盖ARM微处理器、Linux操作系统内核驱动、Linux应用开发技术、Android底层移植、Android应用开发、ARM微控制器开发、传感器开发、ZigBee短距离无线传感网络、BluetoothBLE蓝牙通讯技术、RFID射频识别应用开发、智能云服务器等流行技术的开发。这些即分属不同层次,又相互关联,只有全面接触,才能融会贯通。这也是目前硬件智能化、网络化、体系化的要求。
2、深入学习ARM、Linux内核驱动、Android移植驱动等重点/难点内容
ARM处理器、Linux内核驱动、Android移植驱动等内容即是核心技术,也是难点部分。课程对这部分内容分为了初级阶段和高级阶段两个部分,分别培养不同层次嵌入式工程师。学习高级阶段课程,需要经过选拔、考试环节。
3、多个流行的智能硬件实训项目
华清远见研发中心多年来打造了多种实用、专业的智能硬件开发项目。项目同样不仅仅局限于传统的开发板上,而是更多的应用到各种智能系统中,如:智能家居、智能农业、智能穿戴、智能TV、智能医疗等。详见研发中心教学产品介绍。
4、专业的创客创业实践课程
四、学习流程图
五、详细课程大纲
1、基础补习课程
嵌入式Linux操作系统的使用
·Linux开发环境的搭建
·Linux内核的起源、发展历程以及目前广泛的应用场合
·Linux系统的基本组成框架及组件功能
·Linux下的文件管理、用户管理、网络管理、软件管理等基本命令
·VI编辑器,GCC编译器,GDB调试器和Make项目管理工具使用
·shell脚本编程
·完成《文件管理器》和《用户管理器》
嵌入式LinuxC高级编程
·C语言编程基础知识
·重点讲解C语言的高级编程知识,包括函数与程序结构、指针、数组、常用算法、库函数的使用等知识
·完成《字符串处理器》和《学生信息管理系统》
数据结构及经典算法编程
·本重点讲解数据结构的基础内容,包括顺序表、链表、队列、栈、树、图、哈希表、各种查找和排序算法等知识
·完成:《死亡游戏》、《四则运算计算器》、《球钟》、《电文编码器》、《排课系统》
Java语言高级编程
·掌握Java语言的基本语法和面向对象编程方法
·理解Java中多线程编程,网络编程及常用Java类
·完成《停车场系统模拟小项目》
2、应用层核心课程
本阶段学习的主要目标是精通嵌入式Linux下的程序设计,熟悉嵌入式Linux开发流程,强化学员对Linux应用开发的理解和编码调试的能力。Android系统越来越多的应用到嵌入式领域,本课程学习的另一个主要目标是掌握Android应用编程,可以完成Android平台的应用项目的编写。
Linux系统文件I/O
·系统编程、标准I/O、文件I/O
·Linux动态库和静态库的制作和使用
·完成:《硬盘性能测试》和《Linux系统命令ls的实现》
Linux系统并发编程
·进程的基础知识、多进程的创建和使用方法
·进程间通信的7种通信方法(无名管道、有名管道、信号、消息队列、共享内存、信号灯集、socket)
·守护进程的创建和使用方法
·线程的基础知识,多线程的创建和使用方法
·线程间的同步与互斥
·实现《守护进程自动下载木马的实现》和《多进程并发下载》
Linux系统网络编程
·网络体系结构、TCP/IP协议、wireshark抓包工具的使用
·TCP及UDP编程实现
·服务器模型,并发服务器的实现、网络超时控制
·网络协议分析,网络抓包实现
·完成《TCP文件服务器》、《UDP网络聊天室》、《ping客户端》、《网络嗅探器》
嵌入式数据库开发
·Sqlite3数据库基本知识、SQL语句
·命令方式操作Sqlite3数据库
·C语言操作Sqlite3数据库
·完成《学生管理系统》和《在线词典》
Android应用开发基础
·Android四大组件(Activity、Service、BroadcastReceiver、ContentProvide)
·Android常用UI控件和常用布局设计
·Android资源文件的使用
·Android进程与线程
·Android文件存储
·Android传感器编程
·Android网络编程
·Android多媒体编程
·完成《仿酷我音乐器》和《弹力球游戏》
3、底层核心课程
本阶段课程要求学员掌握ARM体系结构基础知识、ARM硬件接口编程方法,掌握Bootloader和Linux内核的移植方法,根文件系统的制作,掌握Linux下的字符设备、块设备、网络设备的驱动程序开发,能够熟练的移植或编写不同类型的设备驱动程序。
通过本阶段课程学习,学员可以掌握从Ubuntu系统上搭建Android开发环境开始,到最终Android系统硬件抽象层分析,从简单到复杂,从基础深入到架构,以源码分析为主线,架构设计理解为蓝图,上手实验为目的,系统介绍Android系统移植与架构开发要点。
ARM处理器编程
·ARM处理器体系结构框架
·ARM处理器工作寄存器、ARM处理器流水线
·ARM处理器编程环境、调试和编程规则
·ARM处理器指令集和ARM指令寻址方式等
ARM硬件接口开发
·ARM处理器常用接口开发
(包括GPIO、串口、看门狗、PWM、ADC、RTC、SPI、I2C等)
·物联网基础知识和物联网常用传感器学习
·完成:
1.基于Cortex‐A9的温度采集实验
2.基于Cortex‐A9的GPIO
3.基于Cortex‐A9的键盘驱动
4.基于Cortex‐A9的闹铃驱动
5.基于Cortex‐A9的adc驱动
6.基于Cortex‐A9的flash读写实验
嵌入式Linux系统开发
·内核源码结构
·最新的Uboot‐201301移植到FS4412平台上的过程
·最新的内核Linux‐3.14移植到在FS4412平台上的过程
·根文件系统制作的过程
·设备树的基本语法和编写
1.搭建交叉开发环境
2.移植uboot支持FS4412开发板(Exynos4412)
3.移植Linux3.14支持FS4412开发板
4.制作自己的根文件系统
Linux内核开发基础
·内核源码结构、内存管理、进程管理、中断管理、系统调用、内核同步
·内核中断机制、时钟和定时器管理、文件系统和I/O设备管理等
·内核模块开发、内核设备模型
1.内核模块编写、编译和使用
2.互斥机制、阻塞和非阻塞IO、设备轮询、异步通知
4.内核内存分配、释放和映射
5.设备模型、设备节点自动创建
Linux内核驱动开发
·Linux内核驱动开发基础、字符设备驱动框架、块设备驱动框架、网络设备驱动框架、platform驱动架构、IIC驱动架构、SPI驱动架构
·Linux字符设备驱动开发
·Linux块设备驱动开发
·Linux网络设备驱动开发
1.GPIO接口驱动
2.按键中断接口驱动
3.PWM接口驱动
4.ADC接口驱动
5.I2C接口驱动
6.SPI接口驱动
7.块设备驱动(ramdisk驱动)
8.网络设备驱动(DM9000)
Android移植开发
·Android底层开发环境的搭建、下载和编译Android源码
·Android系统启动流程分析、定制产品系统
·Android移植技术要点分析、硬件抽象层实战
·完成《智能医疗平板系统深度定制》和《基于Android系统的移动设备开机速度优化》
4、开发拓展与实践
嵌入式Linux&Android项目实践
为了帮助学员充分有效地掌握核心知识点在企业中的具体应用,并开始逐步按照企业需求、流程和规范进行实战训练,在嵌入式Linux应用开发、系统内核开发的课程讲授过程中全部采用项目驱动的方式,将来自合作企业的全真案例贯穿于课程中。
通过项目实践复习和巩固学员前几阶段的的学习,同时培养学员的发现问题、分析问题和解决问题的能力。
完成:
1.基于ARMCortex‐A9+Cortex‐M0的仓储物联网系统
2.基于FSPAD_723双核平板的智能家居系统
3.基于FarsightTV智能网络机顶盒
4.车载导航系统项目
5.基于ARMCortex‐A9的安防监控项目
6.Android开源平板电脑系统设计
7.实景智能家居
8.智能小车项目
9.公交一卡通物联网充值系统
10.便携式智能医疗系统
11.基于FS_Watch的智能手表项目
12、智能农业综合实训系统
13、四轴飞行器项目
5、底层深入课程
从本阶段课程开始进入了嵌入式底层深入加强的课程内容。通过该课程让学员掌握底层高级驱动的开发和Andorid底层高级驱动的移植。