课程简介
课程周期:5个月
课程目标:本课程旨在培养嵌入式驱动研发工程师,能从事嵌入式驱动开发、Android底层开发、多平台驱动开发、Linux 应用程序开发等相关工作。
课程特色:
★ 行业定制*课程
紧跟国内外行业应用热点,顺应企业需求。全面定制行业*课程,课程*点全面深入,全面*升学员们的综合能力,打造行业*的复合型人才。
★ 高级讲师团队面授指导
核心教学团队汇聚CSDN客座讲师、四川省物联网协会专家讲师,成都市高新人才,四川省软件行业会员等*大牛。具有数十年研发教学*的团队倾力指导,培训期间全程面授,助攻学员击破每个难题。小班制教学不留死角,每一位学员均接受一对一指导。
★ 企业制项目研发管理
依照名企招人需求定制化培养学习路径,采用员工制进行管理,打造企业实用性复合人才。*供*实习项目,深入一线实践其中,一对一指导每个环节,为企业面试*供强硬的敲门砖。
★ 完善的就业服务体系
稳定*的就业筛选渠道,依照岗位需求培养专人专技,为企业输送专业*人才,已为华为、中兴、腾讯等企业 定向输送多名*人员。入学签订就业协议、100%保证学员就业,并*供终身就业指导 。
★ 不定期邀请世界500强企业*骨干进行*热点、难点,行业资讯、动态分享
项目展示
【项目一】:人脸识别系统
人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别*。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关*,通常也叫做人像识别、面部识别。
“人脸识别系统”集成了人工智能、机器识别、机器学习、模型理论、专家系统、视频图像处理等多种专业*,同时需结合中间值处理的理论与实现,是生物特征识别的*应用,其核心*的实现,展现了弱人工智能向强人工智能的转化。
人脸识别产品已广泛应用于*、司法、军队、公安、边检、政府、航天、电力、工厂、教育、医疗及众多企事业单位等领域。如:人脸识别门禁考勤系统,人脸识别防盗门,电子护照及身份证,自助服务,信息安全等。
【项目二】:5G(NB-IoT)物联网环境监测系统
窄带物联网(Narrow Band Internet of Things, NB-IoT)成为万物互联网络的一个重要分支。NB-IoT构建于蜂窝网络,只消耗大约180KHz的带宽,可直接部署于GSM网络、UMTS网络或LTE网络,以降低部署成本、实现平滑升级。
NB-IoT是IoT领域一个新兴的*,支持低功耗设备在广域网的蜂窝数据连接,也被叫作低功耗广域网(LPWAN)。NB-IoT支持待机时间长、对网络连接要求较高设备的高效连接。据说NB-IoT设备电池寿命可以*高至至少10年,同时还能*供非常全面的室内蜂窝数据连接覆盖。
现阶段,NB-IoT垂直行业主要集中交通行业、物流行业、卫生医疗、商品零售行业、智能抄表、公共设施、智能家居、智能农业、工业制造、企业能耗管理、企业安全防护等。
【项目三】:航拍无人机
无人机航拍摄影是以无人驾驶飞机作为空中平台,以机载遥感设备,如高分辨率CCD数码相机、轻型光学相机、红外扫描仪,激光扫描仪、磁测仪等获取信息,用计算机对图像信息进行处理,并按照一定精度要求制作成图像。全系统在设计和*化组合方面具有突出的特点,是集成了高空拍摄、*、遥测*、视频影像微波传输和计算机影像信息处理的新型应用*。
本公司*供各种型号的多旋翼无人机,包含无人机地面站软件、飞控系统以及搭载各种不同的硬件负载,可应用于航拍、测绘、农业植保、监控等。公司拥有自主知识产权的GIS系统,可配合无人机实现一系列更加复杂的定制化应用。
课程大纲
【初生牛犊】开班典礼后正式入学,新学员们敢想敢为,历练从此开始。
第一阶段:C语言核心(学习时长:5周)
课程名称
课程内容
课程目标
Linux系统基础
· Linux系统安装、命令讲解、文件管理、用户管理
· linux各种软件安装、shell脚本、环境变量
· 系统网络配置,TCP/IP简介,网络文件系统
课程目标:达到在Linux系统使用和开发, C语言程序开发,并深入C语言,尤其是内存使用,达到能够看懂Linux内核代码水平
C语言核心
· C语言表达式、基础运算符、C语言关键字、基本数据类型
· 内存图:取地址与解地址、指针与内存、内存管理
· 逻辑运算和位运算
· 程序结构:顺序结构、分支结构、循环结构
· 数组:一维数组、二维数组、多维数组、指针数组、字符数组等;
· 编译原理:宏定义与预处理、内存分段、代码段、数据段、堆栈段等
· 函数:参数传递和*回值传递规则、递归函数、回调函数
· 字符串:字符串基本操作、字符串函数实现等;
· 指针:一级指针、二级指针、多级指针、数组指针、函数指针等;
· 自定义数据结构:结构体、联合、枚举
· 标准库文件操作:文件打开、关闭、读、写、读写缓冲区等;
· 强制类型转*
· C语言封装与设计
· C语言头文件、动态库和静态库、大型工程文件布局与头文件的使用
辅助工具
· Makefile、GDB调试软件、GIT版本控制管理
· visual studio使用、Eclipse入门
· Source Insight代码查看与编写、Putty工具
数据结构
· 单链表操作,链表构建、销毁、插入、删除、排序、逆转
· 冒泡、选择、插入、快速排序
· 队列、循环队列、栈
· 二分查找、哈希表构建
· 树、二叉树、哈弗曼树
· Linux内核链表、双向循环链表
· this指针、container_of等
教学案例:
学生管理系统、俄罗斯方块、贪吃蛇
【牛角书生】基础知识必备环节,踏实勤奋,出入门道。
第二阶段:系统编程和网络编程(学习时长:3周)
课程名称
课程内容
教学目标
系统文件
· POSIX标准介绍、Unix和Linux关系
· Linux系统I/O、文件读写、锁、mmap等操作
· 视频显示设备FrameBuffer操作
· Linux I/O多路复用
课程目标:使学员理解系统编程,尤其是文件、进程和数据库;对网络五层有深入了解,能够抓包、分析包和封装包,熟悉基于TCP和UDP的编程;理解C++语言与C语言的优缺点,并能够基于QT图形化编程。
进程和线程
· 系统进程创建、通信、退出机制
· Linux线程操作、互斥操作
· Linux系统进程间通信(管道、消息队列、共享内存、信号、本地socket)
· Linux线程创建、退出等操作
· Linux线程间同步与互斥(互斥锁、信号量、条件变量等)
网络接口调用
· UDP和TCP接口编程,数据的发送与接收
· Sniffer抓包程序分析,TCP/IP五层详解,各层数据原理
· 网络数据封装,各层数据的发送与接收
· 网络文件传输、消息打包等
· 简明局域网聊天软件
网络数据构建
· I/O多路复用、广播、多播程序
· ARP请求与攻击
· 路由器、交*机、网关原理
· Sniffer网络抓包程序分析,TCP/IP五层详解
· 网络数据封装,各层数据的发送和接收
· 广播、多播程序
教学案例:
TCP和UDP网络文件传输、局域网络聊天
【庖丁解牛】理论知识必须结合实操,*复打磨,才能运用的得心应手。
第三阶段:C++ QT开发(学习时长:4周)
课程名称
课程内容
课程目标
C++核心
· C++、C和汇编语言三者之间的联系与区别
· 输入输出流、文件IO流、引用、友元、命名空间
· 函数重载、默认参数等;
· 面向对象编程思想
· 类的封装和继承
· 对象内存:对象内存的动态分配和释放、this指针
· 类的成员函数和成员变量、静态成员和静态成员函数
· 构造函数、析构函数、拷贝构造函数(深拷贝、浅拷贝)
· 友元函数和友元类
· 内联函数
· 操作符重载、仿函数functor、谓词函数
· C++多态、虚函数、纯虚函数、虚函数表、抽象类和接口类
· C++类型转*:向上造型和向下造型、 static_cast、 dynamic_cast、 const_cast、 reinterpret_cast
· STL模板、类模板、函数模板、迭代器、容器、适配器、算法等;
· 泛型、Boost库、ACE框架
· C++设计模式:单例模式、工厂模式、代理模式等
· C++异常:C++标准异常库、异常的抛出和捕获
· C++11新标准: 类型推导、Lambda表达式、正则表达式、模板增强、区间迭代等。
课程目标:理解C++语言与C语言的优缺点,并能掌握QT图形化编程;熟悉基于QT的TCP和UDP编程,对网络五层有深入了解,能够抓包、分析包和封装包;深入学习基于QT的文件和数据库操作;了解进程;深入学习基于QT线程。
QT编程基础
· QtCreator 集成开发环境介绍(设置开发环境, 设置编译环境,视图切*,快速查声明)
· QT编程基础:源文件、头文件、ui文件、.qrc资源文件、.pro工程文件等
· QT 编译器与编译流程
· QT Designer:控件和布局、主界面区域、控件属性区域、控件列表区。
· 元对象系统,元对象属性
· QT信号和槽机制
数据结构
· QByteArray字节数组
· QString字符串
· 顺序容器:QList、QLinkList、QVector、QQueue、QStack,掌握数组、栈和链表的操作
· 关联容器:QSet、QMultiSet、QMap、QMultiMap、QHash、QMultiHash
· 迭代器iterator的使用,掌握对容器的迭代遍历
· 掌握二叉树和哈希表等操作
QT图形界面
· QT组件布局(QLayout):QBoxLayout, QFormLayout, QGridLayout和 QStackedLayout
· QT按键:QAbstractBu*n、QPushBu*n、QCheckBox、QRadioBu*n、QToolBu*n
· QT Widget: QListWidget、QTableWidget、QTreeWidget等。
· QT窗口:主界面、菜单栏、工具栏、状态栏等
· QT样式表(QSS)
QT对话框
· QT对话框: 模态对话框和非模态对话框。
· QT标准对话框:QFileDialog、QFontDialog、QColorDialog、QMessageBox等。
· QT自定义对话框
QT事件
· QT事件: QT事件循环、 鼠标事件、 按键事件、 事件过滤器
· Painter事件(QPen和QBrush、 QT系统坐标、绘画系统、QPainter绘图; update函数;绘图设备(QPixmap、QBitmap、QImage、QPicture))
文件操作
· 抽象文件引擎类:QIODevice
· 文本流与二进制数据流
· 文件和数据流的基本原理和概念
· 使用QFile、QTextStream、QDataStream与文件的读出和写入
· INI文件使用
· XML文件使用
· JSON文件使用
数据库
· QT QSqlDatabase与数据库交互操作
· QSqlQuery执行SQL语句,数据库数据增删改查
· Navicat安装与使用
进程和线程
· QT进程:进程创建、进程间通信和进程退出机制
· QT线程: QT线程(QThread)创建、moveToThread创建
· QT线程的互斥和同步:QMutex、QReadWriteLock、QSemphore和QWaitCondition
网络编程
· TCP/IP网络通信基础
· UDP网络通信(QUdpSocket)
· TCP网络通信(QTcpSocket、QTcpServer)
教学案例:
TCP和UDP网络文件传输、局域网络聊天、计算器软件、数据管理系统
【牛刀小试】集中火力在模拟项目中一展身手。
第四阶段:模块项目(学习时长:2周)
项目列表
· 装备管理系统
· 串口网络调试助手
· 文本编辑器
· FeiQ通信软件
· 网络抓包工具
· 音视频播放器
· ModScan32软件
课程目标:熟练使用前期课程内容,完成项目内容。掌握项目需求分析及文档编写,项目时间及进度*,项目模块化及任务分工。了解代码测试用例编写及BUG调试,*高解决问题能力。熟练使用项目工程代码版本管理工具SVN及GIT。熟悉项目汇报文档编写及项目汇报。
第五阶段:Linux内核驱动(学习时长:2周)
课程名称
课程内容
课程目标
开发板环境搭建
· 嵌入式系统软硬件介绍,ARM、三星、Exynos4412开发板等介绍
· 主流软硬件8051、DSP、FPGA、X86介绍
课程目标:能够构建基于A9开发板的工作环境,并使学员理解从应用层与内核的关系,掌握Linux内核机制;通过两种驱动,从应用层、内核层再到硬件之间关系,明白内核驱动的真正含义;*后熟悉各种平台的研发,满足不同公司和平台的需求。
· Uboot烧写、Linux内核烧写、网络文件系统*载
· 嵌入式交叉编译环境搭建
内核构建
· Linux内核编译配置与编译
· Linux内核裁剪
· 根文件系统制作、Busybox编译配置与安装
Linux内核机制
· Linux内核IO
· Linux内核中断
· Linux内核字符设备驱动模型
· 应用层、Linux内核与硬件之间的关系
· 输入设备访问程序开发,Camera, Mouse, Keyboard, Touch Screen
教学案例:
Linux系统移植、图片格式转*、视频文件播放、输入类设备驱动
【汗牛充栋】攻克实战重重关卡,完成晋级蜕变之路。
第六阶段:实战项目(学习时长:4周)
课程目标:掌握项目需求分析及文档编写,项目时间及进度*,项目模块化及任务分工。了解代码测试用例编写及BUG调试,*高解决问题能力。熟练使用项目工程代码版本管理工具SVN及GIT。熟悉项目汇报文档编写及项目汇报。商业项目开发运营模式,真正实现与企业项目无缝对接。
项目列表
· Android系统移植与开发
· 数码相框
· 人脸识别系统开发
· 无人机飞控系统
· 物联网数据采集网关
· 5G物联网环境监测系统
· ……
·
项目专题
· 总线设备驱动模型
·
· USB总线设备驱动
·
· IIC总线设备驱动
·
· LCD底层驱动,内核图形设备管理
·
· 多平台驱动研发
·
【牛气冲天】全面*升自我,“犇”向薪未来。
第七阶段:就业指导(学习时长:1周)
课程名称
课程内容
课程目标
内容涵盖
· 个人简历制作指导
· 讲解不同企业/职位面试*
· 模拟企业一对一、多对一面试现场
· 向合作企业内推学员简历或组织专场招聘会
指导学员知晓、理解、掌握面试流程及*,学会分析自我能力是否匹配企业职位,并在面试时可以清晰准确的表达出自己的亮点及优势,*终拿到优秀的职业offer。