嵌入式培训课程大纲
嵌入式培训课程大纲 | 嵌入式课程视频介绍 | 嵌入式学习目标
课程安排 课程简介
第一阶段
Linux程序设计基础
Linux环境和开发工具
–文件系统操作
–进程和作业管理
–服务器搭建
–构建工具Make
–编译工具GCC、GDB
–编辑工具VI
你没接触过Linux?那这个环节就正是为你
准备的!我们决不会枯燥地讲授Linux命令。我们会循序渐进地引导你探索这一全新的世界。你将学到如何阅读手册、如何利用联
网查阅Linux资料。这将是一个轻松而愉快
的过程。
C语言基础
– 分支和循环结构
– 数组、字符串
– 标准库函数
– 第三方库函数
– 指针(函数指针)
– 预处理
– 结构体和联合体
你是C新手么?或者你用过C语言?无论你的
基础如何,我们都会在这个阶段精心打磨你
的编程基本功。基本功,永远是你探索未知
世界时的坚实后盾。

shell脚本
–使用shell进行配合
–使用shell进行维护

进阶工具
– Perl
– Sed&Awk
– 正则表达式

上面对你来说太容易了?放心,我们给你准
备了足够多的选学内容。我们挑选了一批地
道的“Linux超级工具”。这些工具不论是
单独使用还是和C程序结合使用,都能爆发
出巨大的威力。
第二阶段
程序设计进阶方法
底层机制视图
–汇编模型
–栈帧模型
–链接原理
–处理器执行过程
–编译原理初步知识
知识点太多了,记不住?理解底层机制的好
处就在于你不再需要去“记住”。也只有在
理解底层机制之后,你才能够深入地分析程
序的性能,调试程序的错误甚至去突破语法
规则的限制。
设计模型
–有限状态机
–正则表达式
–面向对象的C语言
–函数指针和多态
–函数宏高级
写出来程序像个新手?那是因为你没有站在
巨人的肩膀上。本环节的课程能够让你从更
高的层次去分析问题,我们在课程的各个环
节都重视对于关键模型的提炼(尤其是那些
带有广泛适用性的模型)。在这个阶段之后
,你将初步具备高界别的抽象思维方式。
性能优化技术
–瓶颈分析
–性能分析工具
–复杂度分析
–内存池技术
–总线优化技术
–IO优化技术
–Cache优化
–自动化测试
–数据分析
这个阶段的内容是连你将来的面试官都感兴
趣的技术。性能优化历来是顶阶软件工程师
的“不传之秘”。在这一个环节,我们将带
你领略这个神秘的隐藏地带。
第三阶段
嵌入式处理器体系结构
编语言基础
–ARM指令集
–x86指令集
–RVCT汇编
–GCC汇编
–GCC的内嵌汇编语法
汇编语言很难?但你不需要去做汇编程序员,你要做的仅仅是能够理解并查阅关键代码。即使是在操作系统核心级别的代码中,用汇编语言写成的代码也很少。我们彻底改革了这部分的课程以适应最新的工程实践。我们革新了繁琐的汇编指令教学环节,用清晰而简明的框架取而代之。
SOC体系结构
–RISC导论
–总线体系
–中断控制器
–存储器接口
–外设模型
–时钟树模型
–Bootloader
不论是应用开发还是内核开发,工程师都需
要了解程序的运行基础:处理器。对于底层
的了解会让你在开发应用程序时具有深邃的
判断力。
嵌入式电路基础
–半导体器件
–数字模拟抽象
–信号调理电路
–放大器和反馈
不用担心学不会电路,这个部分只是为了在
你头脑中建立起感性的认识。我们用软件工
程师能够理解的语言和思维方式去讲授这部
分。
第四阶段
操作系统原理和接口
操作系统原理
–进程和线程
–异步和并发
–死锁
–处理器调度
–虚拟内存
–文件系统
–TCP/IP协议
程序员,尤其是应用程序员(Java、网络、
Android),如果不深入理解操作系统,都将寸步难行。一切上层的机制和接口,进程、线程、IO、通信,都是建立在操作系统之上。我们引入了美国计算机名校的最新课程内容,结合了工业界的最新工程实践,根据国内学生的实际情况,打造这一环节的王牌课程。
系统调用和编程模型
–进程控制
–进程间通信
–文件系统接口
–多线程设计
–套接字编程
–文件IO接口
操作系统底层提供出来的编程接口是复杂的。我们会帮助你摆脱这种复杂性的泥潭,用统一而简明的视角去去看待整个系统。
跨阶段配合
–异步执行模型
–虚拟文件系统
–阻塞机制
–中间层接口
–进程调度器
–并发服务器
操作系统是软件体系结构的核心,本阶段的理论模型和编程接口和其它环节是紧密结合的。跨阶段配合的课程就显得尤为重要。我们会把这个阶段的课程投射到软件体系的各个层面。从而指导你未来在应用(Android、Network)或核心层(内核、驱动)的工作实践。
第五阶段
面向对象和中间层技术
面向对象程序设计
–函数重载、引用参数
–类、对象、成员
–构造和析构
–运算符重载
–继承和多态
–模板
面向对象思想对于嵌入式课程体系的重要性大大超出原本被认为的那样。这个环节的课程对于整体课程体系的意义在于:其它阶段虽然使用C语言编码,但都与面向对象技术紧密关联。尤其是在操作系统编程Linux内核这两个大环节中。
面向对象设计模式
–观察者模式
–迭代器模式
–策略模式
–工厂模式
–对象代理模式
这个环节的课程中讲授的模型具有普遍价值。本环节将全课程序列中涉及到的模式整理出来进行深层次分析。经典的设计模式理论局限在纯粹的面向对象语言中。而本环节课程突破了这种局限性。课程在不同语言模型下讨论这些设计模式,从而能够体会语言差异对设计结果的影响。
中间层技术
–操作系统的中间层抽象
–中间层的数据结构抽象
–Qt/GUI程序设计
–Android导论
–Android的蓝牙通信接口
–Android的进程间通信机制
这是一个正在建设中的课程环节。中间层技
术是通往应用技术的桥梁,它带给程序员迅
速构建复杂软件系统的能力。中间层拓展了
课程广度,这使得学员有更广阔的就业空间。
第六阶段
Linux内核和设备驱动
内核的编程模型
–Linux内核中的常见C语言技巧
–Linux内核中的面向对象思想
–内核中的常用数据结构
–内核设计模式
本阶段的课程不仅在于培养驱动工程师,更是对学员的程序设计和分析能力的一次全面的提升。如果学员能够分析Linux内核,在面对其它软件系统时,他也能应对自如。
Linux内核架构
–进程和线程的内核视角
–内核的进程调度器
–内核并发机制
–虚拟文件系统
–内存管理
我们在内核和设备驱动阶段的课程引入了一个全新环节:“内核编程模型”。这个环节级大地提升了本阶段的教学效果。
设备驱动架构
–字符设备架构
–总线设备架构
–sysfs和统一设备模型
–IO内存访问
–中断体系结构
通过这个阶段,课程把原本的“设备驱动”拓展到“内核”。这样带来的直接好处是我们的学员可以从事广泛的内核工程师的工作(比如协议栈),而不仅仅是驱动工程师。
内核子系统分析
–MISC子系统
–串口驱动子系统
–Framebuffer
在这个环节我们引导学员自己去思Linux内
核源码的构建思路。在课程的最后我们在内核中挑选杂的子系统让学员独立分析。
毕业典礼