当前位置
一线技术总监与ARM官方培训讲师联合研发嵌入式课程,全程8核ARM Cortex A53,接近企业真实需求。授课过程分组模拟真实企业部门环境,项目实战授课授课,毕业=两年工作经验。
课程定位
本课程的学习涉及到大量嵌入式、网络编程的学习,由浅入深,主要针对零基础的学员。学完本课程的学员,可胜任嵌入式驱动开发工程师及嵌入式应用开发工程师等职位,可从事的职位包括嵌入式算法移植工程师、嵌入式软件开发工程师、嵌入式Linux内核工程师等,可进入大型互联网公司及金融保险公司。工作 1 年后可成为年薪 15 万以上的嵌入式工程师,工作 5 年后可成为嵌入式高级工程师或项目经理。
什么人可以学
1. 从事非 IT 类工作者; 特点:不满意目前的待遇、职业前景,想转行从事 IT 行业.
2. 应届及往届大学生; 特点:对未来发展比较迷茫,对自身定位缺乏有效指导,渴望自身突破;
3. 从事 IT 基础开发工作者; 特点:技术含量低,做的事情杂,未来提升空间小,期待改变现状,提升待遇空间;
4. 从事 IT 管理、销售工作者; 特点:技术不精,只停留在了解层面,在提供技术方案时,存在致命短板;
课程模块概览
课程大纲详情
尚观物联网嵌入式课程大纲V14.0 | ||
开发平台:推荐ubuntu16.04(64位) windos10(64位) 目标平台:S5P6818+Stm32双开发板 目标系统:Linux、Android双系统 物联网平台:百度物联网平台、中国移动物联网平台、UPLOOKING物联网平台 |
||
嵌入式Linux软件开发 | ||
课程单元 | 包含模块 | 预计学习效果 |
Linux系统 |
Linux安装、Linux使用、Linux常用命令、Linux网络配置 项目案例:Linux下文件服务器搭建 |
熟练掌握linux操作系统的使用 |
C语言高级 |
C语言基础、C语言控制语句、函数基础、数组、排序、指针、构造类型、函数高级、标准IO、GIT、GDB 项目案例:斗地主发牌、计算器、五子棋 |
精通Unix/Linux下C语言编程 |
数据结构 |
链表、栈和队列、hash、树 项目案例:学生管理系统、钟球算法、逆波兰序 |
精通数据结构算法 |
项目实战 | 苹果同款计算器 | 精通C语言程序开发 |
技能水平:通过这个阶段的学习,轻松胜任Linux下C开发工程师的职位 | ||
嵌入式Linux高级应用开发 | ||
课程单元 | 包含模块 | 预计学习效果 |
嵌入式Linux高级编程 |
系统调用IO、文件和目录、进程环境、进程控制、信号、守护进程、进程间通信、线程、线程控制、高级IO 项目案例:命令解释器、进程池、线程池、状态机 |
精通Unix/Linux下系统编程 |
CUnix/Linux网络编程 |
Socket模型、报式套接字编程、流式套接字编程、网络多点通信、Unix域套接字 项目案例:网络状态机 |
精通Unix/Linux系统下网络编程 |
物联网服务器 |
物联网服务器基本使用、Http协议简介、上传数据到物联网服务器、从物联网服务器下载数据 项目案例:远程系统控制 |
熟练开发物联网软件客户端 |
项目实战 |
物联网服务器之高并发负载均衡器 物联网服务器之动态线程池任务模型 |
精通Linux下应用程序开发 |
技能水平:通过这个阶段的学习,可以达到Linux高级C程序员的水平,主要从事网络程序开发,比如网络大数据领域,当然也可以胜任嵌入式Linux应用程序开发的职位 | ||
嵌入式Linux-GUI开发 | ||
课程单元 | 包含模块 | 预计学习效果 |
QT5 UI编程 |
QPushButton、QLineEdit、QTextEdit、QLabel、QToolBox、QRadioButton、QCheckBox、QTreeWidget、QTableView、QComboBox、QLcdNumber、QProgreeBar、QDial、QTimeEdit、QDateEdit等控件、UI布局、QT信号与槽、QT5多线程并发、QT5数据库编程 项目案例:库管系统、学生管理系统 |
精通QT5界面开发 |
QT5网络编程 |
QTcpSocket、QUdpSocket、QNetworkAccessManager、QAuthenticator、Json数据构建与解析 项目案例:天气预报、时间自动校准 |
精通QT5网络编程 |
物联网服务器 |
物联网网服务器基本使用、上传数据到物联网服务器、从物联网服务器获得数据 项目案例:远程数据查看桌面应用软件 |
熟练开发物联网软件客户端 |
项目实战 | 企业内部通信工具 | 熟练QT5应用程序开发 |
技能水平:通过这个阶段的学习,可以达到Linux高级程序员的水平,主要从事桌面软件开发 | ||
Arm-Linux嵌入式开发 | ||
课程单元 | 包含模块 | 预计学习效果 |
Arm嵌入式开发 (STM32F407) |
嵌入式系统概述、搭建嵌入式开发环境、arm架构、、GPIO、中断、CLOCK时钟管理、UART、GPS、WDT看门狗、RTC实时时钟、LCD、DS18B20温度传感器、DHT22温湿度传感器、ADC、SPI、IIC、EEPROM、无线射频传输、NFC、RFID、ESP8260无线WIFI 项目案例:室内空气检测器、共享单车智能锁 |
熟练arm处理器 熟练arm裸板编程 |
物联网服务器 |
物联网网服务器基本使用、上传数据到物联网服务器、从物联网服务器获得数据 项目案例:物联网智能锁、物联网数据检测 |
熟练开发物联网智能硬件开发 |
Linux内核驱动 (S5P6818) |
linux内核简介、linux内核配置和编译、Kconfig/Makefile语法、系统调用、内核模块、MMU、内存管理、proc文件系统、字符驱动、WDT驱动、PWM驱动、中断、内核同步、设备模型、设备分类、Input设备、Button驱动、内核时间、IIC总线、IIC设备模型、TS触摸屏驱动、SPI总线、SPI设备模型、NRF24L01驱动、USB总线、块设备驱动、设备树 项目案例:GPIO驱动、看门狗驱动、按键驱动、触摸屏驱动、无线模块驱动、温湿度传感器驱动 |
熟练Linux内核子系统 熟练Linux内核驱动 熟练Android内核驱动 |
技能水平:经过这个阶段的学习,能够精通嵌入式Linux常用驱动的开发,能够胜任手机驱动开发,Linux及Android设备驱动开发,达到高级驱动工程师的能力,项目的制作让你成为真正有项目经验的嵌入式程序员,而不再是一个毛头小子 | ||
企业项目实战 | ||
课程单元 | 包含模块 | 预计学习效果 |
综合项目A |
物联网智能家居控制系统: 1.智能网关(基于S5P6818和Linux系统) 2.无线传输模块 3.智能开关(基于STM32) 4.物联网服务器 5.手机端APP |
独立完成 |
综合项目B |
物联网机房温湿度监控系统: 1.物联网网关(基于S5P6818) 2.无线传输模块 3.数据采集点(基于STM32) 4.温湿传感器 5.物联网服务器 6.手机端APP |
独立完成 |
综合项目C |
物联网水文监控系统: 1.物联网网关(基于S5P6818) 2.无线传输模块 3.数据采集点(基于STM32) 4.温湿传感器 5.液位采集 6.物联网服务器 7.手机端APP |
独立完成 |
综合项目D |
智能机器人: 1.舵机控制 2.WIFI通信 3.手机端app |
独立完成 |
综合项目E |
无人机: 1.无人机控制模块(基于STM32) 2.图像采集(基于华为海思网络摄像机开发板)3.nRF24L01无线模块 |
独立完成 |
综合项目F |
智能医疗项目: 1.中控机(基于S5P6818和QT5) 2.数据采集器(基于STM32) 3.样本池液位采集 4.样本池温度采集 5.样本池液位自动控制 5.物联网服务器 6.手机app |
独立完成 |
技能水平:经过这个阶段的学习,能够让学生成为一个真正的嵌入式开发工程师,从无系统的stm32嵌入式开发到基于Linux和Android的嵌入式开发无所不能、无论应用编程还是裸板编程、哪怕是Android内核驱动通通一网打尽 | ||
指导 | ||
课程内容 |
简历编写 面试技巧 企业常见笔试题强化训练 企业常见面试题强化训练 压力面试 推荐 |
|
技能水平:让你提前感觉到企业面试的真实感受,在以后真正的面试中能够脱颖而出 | ||
· 课程知识点列表 | ||
Linux开发环境 | ||
模块名称 | 涵盖知识点 | |
Linux安装 |
系统安装 软件安装 Yum配置 |
|
Linux使用 |
单用户启动 帮助系统 文件管理 用户和组管理 权限 文本处理与编辑 |
|
Linux常用命令 |
查找 时间日期 压缩 输入/出重定向 链接和符号链接 管道 进程管理 环境变量 |
|
Linux网络配置 |
网络配置 FTP NFS SSH |
|
C语言 | ||
模块名称 | 涵盖知识点 | |
C语言基础 |
C语言特点及用途简介 数据类型及存储形式 常量与变量 运算符与表达式 输入输出常用函数及格式 |
|
C语言控制语句 |
顺序结构 选择结构 循环结构 |
|
函数基础 |
函数的基本概念及调用特点 函数传参形式 函数嵌套及递归的实现 |
|
数组 |
数组的基本概念及用途 一维数组 数组与函数 二维数组 字符数组 多维数组 数组与函数 |
|
排序 |
冒泡排序 快速排序 选择排序 归并排序 |
|
指针 |
指针的基本概念及使用目的 指针的运算 指针与数组 指针与构造类型 指针常量与常量指针 动态内存的分配和使用 |
|
构造类型 |
结构体 共用体 枚举 位域 构造类型与函数 |
|
函数高级 |
指针与函数高级会话 指针与数组高级会话 |
|
标准IO |
标准IO函数 缓冲区的作用 |
|
数据结构 | ||
模块名称 | 涵盖知识点 | |
线性表的链式存储 |
单向链表 单向循环链表 双向循环链表 内核链表 |
|
栈和队列 |
顺序栈与链式栈 顺序队列与链式队列 |
|
树 |
树的基本概念 平衡二叉树 红黑树 |
|
hash |
hash的概念 常用hash函数 |
|
Unix/Linux系统编程 | ||
模块名称 | 涵盖知识点 | |
标准IO |
流的概念 标准输入、输出、出错 缓冲 文件基本操作 临时文件 |
|
系统调用IO |
文件描述符的概念 文件打开、关闭、读写、定位等操作 文件共享 原子操作 dup和dup2文件描述符复制 sync、fsync和fdatasync ioctl和fcntl |
|
文件和目录 |
文件属性 文件权限 文件系统 目录创建、删除、打开、关闭、读写等操作 链接和符号链接 设置用户ID和设置组ID 时间和日期 |
|
进程环境 |
进程的概念 进程的启动与结束 环境变量 长跳转 进程资源 |
|
进程控制 |
进程ID 进程的用户ID和组ID 创建子进程和等待子进程结束 多进程并发导致的竞争 执行新程序 System函数 进程时间 |
|
信号 |
信号概念 产生信号的条件 对信号的处理 不可靠信号语义 可靠信号语义 信号与进程 发送、阻塞信号等操作 信号排队 |
|
守护进程 |
守护进程概念 常见的守护进程 守护进程的特点 守护进程编程规则 单实例守护进程 系统日志 |
|
进程间通信 |
管道 Popen和pclose函数 协同进程 FIFO System V IPC |
|
线程 |
线程的概念 线程和进程的区别 查看系统中的线程 线程标识 线程的创建于终止 线程同步 互斥量 条件变量 |
|
线程控制 |
线程属性 同步属性 重入(线程安全函数) 线程私有数据 线程和信号 线程和fork |
|
高级IO |
非阻塞IO 记录锁 建议锁和强制性锁 IO多路转接(select、poll、epoll) 存储映射IO |
|
Unix/Linux网络编程 | ||
模块名称 | 涵盖知识点 | |
Socket模型 |
套接字概念 流式套接字 报式套接字 |
|
报式套接字编程 |
字节序 创建、销毁报式socket Socket地址格式 利用报式socket收发包 tftp客户端实现 |
|
流式套接字编程 |
三次握手 四次挥手 创建、销毁流式socket 利用流式socket收发包 文件服务器实现 |
|
网络多点通信 |
广播 多播(组播) |
|
Unix域套接字 |
流式套接字 报式套接字 |
|
QT5编程 | ||
模块名称 | 涵盖知识点 | |
QT5 UI编程 |
QPushButton QLineEdit QTextEdit QLabel QToolBox QRadioButton QCheckBox QTreeWidget QTableView QComboBox QLcdNumber QProgreeBar QDial QTimeEdit QDateEdit UI布局 QT信号与槽 QT5多线程并发 QT5数据库编程 |
|
QT5网络编程 |
QTcpSocket QUdpSocket QNetworkAccessManager QAuthenticator Json数据构建与解析 |
|
数据库编程 | ||
模块名称 | 涵盖知识点 | |
Mysql简介 | MYSQL结构体系概述 | |
Mysql安装 |
Yum安装 Apt安装 |
|
Mysql基本操作 |
创建数据库 删除数据库 创建表 删除表 数据增删改查 |
|
Mysql C语言接口 |
基本语法 增删改查 |
|
Sqlite3简介 | Sqlite3结构体系概述 | |
Sqlite3安装 | 源码安装 | |
Sqlite3基本操作 |
创建表 删除表 数据增删改查 |
|
Sqlite3C语言接口 |
基本语法 增删改查 |
|
Arm嵌入式&Linux内核驱动 | ||
模块名称 | 涵盖知识点 | |
嵌入式系统概述 |
嵌入式应用 嵌入式系统组成(举例说明) Arm版本与实现 |
|
arm架构 |
Arm处理器结构简介 Arm处理器模式 Arm寄存器 Arm流水线、Cache、协处理器、TCM简介 |
|
GPIO |
Gpio控制led Gpio控制button |
|
中断 |
Arm异常处理 中断控制器 按键中断 |
|
CLOCK时钟管理 | 时钟管理体系 | |
UART | Uart控制程序 | |
看门狗 | 看门狗定时重启系统 | |
LCD |
LCD控制时序 LCD显示字符、数字、图片 |
|
温湿度传感器 |
DS18B20 DHT22 MCP9600 |
|
ADC |
ADC控制器 ADC数据采集 PM2.5数据采集 |
|
IIC |
IIC总线 EEPROM |
|
RTC |
读取时间 设置时间 |
|
ESP8260 |
UDP客户端 TCP客户端 |
|
NRF24L01 |
数据发送 数据接收 |
|
Linux搭建嵌入式开发环境 |
在linux下烧写uboot 基于uboot刷机(Android系统) 基于uboot刷机(Linux+QT) 编译Uboot Uboot命令使用 编译Linux内核 编译Busybox 配置nfs服务 网络文件系统 |
|
linux内核简介 |
Linux内核版本 Linux内核实现的功能 |
|
linux内核配置和编译 |
Linux内核源码简介 Linux内核配置、编译 |
|
Kconfig/Makefile语法 | 在linux内核中添加自己的代码 | |
内核模块 |
Linux内核模块 模块参数 |
|
MMU |
MMU原理 段映射 页映射 |
|
内存管理 |
Buddy子系统和Slab子系统简介 在linux内核中分配内存的方法 |
|
proc文件系统 |
只读型proc文件 读写型proc文件 Seq_file文件 |
|
字符驱动 |
内存设备 GPIO驱动 |
|
WDT驱动 | 看门狗驱动 | |
中断 |
GIC简介 中断处理 外部中断 中断下半部分 中断控制 |
|
内核同步 |
内核抢占 原子变量 原子位操作 自旋锁 信号量 互斥量 |
|
设备模型 |
总线 设备 驱动 Platform总线 |
|
设备分类 |
/sys目录简介 Misc设备 |
|
Input设备 | Input设备 | |
Button驱动 | 按键驱动 | |
内核时间 |
短延时 mdelayudelay 睡眠延时 msleep ssleep Jiffies、HZ 内核定时器 高精度内核定时器 |
|
IIC设备模型 |
IIC总线 IIC设备 IIC驱动 |
|
TS驱动 | FT5X06电容屏控制器驱动 | |
NRF24L01驱动 | 无线传输模块驱动 |
课程特色
• 尚观嵌入式课程,上课过程模拟真实企业部门环境,将学员分组,职责明确,完全实战授课,学习场景就是以后
工作的场景, 完全做到学以致用;
• 对于在读学员,尚观还会带领学员定期去红帽等企业参观学习,真正学到企业需要的技术。
• 大专以上学历学员,尚观提供全方位的体系保障,授课期间包含《职业规划课程》《简历包装与压力面试课程》
《尚观合作企业推荐免试服务》等个人职业能力重塑服务;
• 校区具有严格的学习保障体系,每日强制自习至晚 9 点;
每日作业项目练习,专业督导老师检查确认;
严格的学分管理制度保证学员高薪;
报名尚观长期课程,培训入职企业后,可免费参加尚观周末班同等课程,无限制听课。随时请教老师解决实际企业问题,
尚观多达 100名外企 IT 技术顾问,辅助学员在职期间遇到的技术难题。猎头服务终身免费,尚观提供高薪跳槽直通渠道,
全国 2 万家企业人力资源。