达内嵌入式课程概况
最科学的课程体系
课程主题课程内容课程目标
第一阶段、嵌入式Linuxr软件开发基础(C、数据结构、C++);课程持续4.5周共168课时。
Unix/Linux基础Unix/Linux操作系统Kernel和
Shell;Unix/Linux文件系统简介;
常用的Shell命令;vi的使用;环境
变量;简单Shell脚本程序;
熟悉Unix/Linux系统的基本操作和基本命令,
掌握vi编辑器的用法
标准C基础gcc编译器,数据类型,变量和常量;
运算符和表达式,分支,循环;数
组,函数,指针和字符串,结构,
联合和枚举;指针高级应用,双指
针,void指针,函数指针;C标准
库,堆内存分配,IO等;
完全掌握C语言的本质,成为一名合格的C程序
员,为以后的学习和工作打下坚实的基础
C++编程C++命名空间和数据类型;面向对
象编程(OOP),类和对象;构造器,
拷贝构造,析构,new/delete;运
算符重载;面向对象编程(OOP),
封装、继承和多态;输入输出流;
异常处理(Exception);
掌握C++语言高级特性,理解面向对象编程思
想,掌握封装,继承,多态三大特性。掌握C++
异常处理,掌握运算符重载。
数据结构和算法数据结构的基本概念;线性结构;
双向链表;栈和队列;树和二叉树;
顺序查找法和二分查找法;排序算
法(冒泡、选择、插入、快速);
掌握基本数据结构,掌握集合、线性结构、树状
结构的基本用法,掌握排序算法和查找算法
模板和STL 模板基本概念(template);类模板
和模板类;函数模板和模板函数;
类型推断;类模板和函数模板的特
化;智能指针的实现;标准模板库
(Standard Template Library);STL
容器、迭代器和算法,
掌握模板的基本概念和基本用法,掌握特化和偏
特化,了解智能指针;掌握STL(标准模板库),
熟练使用容器,迭代器,熟悉各种相关算法。
全真实训项目一T-Score学生成绩管理系统、T-Emis企业信息管理系统、LinkedList的实现、T-Emis 企业信息管理系统的重构
第二阶段、嵌入式Linux高级软件开发(Linux环境高级软件开发、QT、数据库);课程持续5周共200
课时。
Unix/Linux核心编程Unix/Linux静态库和共享库的使用;
Unix/Linux内存管理
(malloc/brk/mmap);Unix/Linux文件和输入
输出设备的系统调用(System Call);
Unix/Linux进程管理;Unix/Linux信号处理
(signal);Unix/Linux进程间通信(IPC);
Unix/Linux网络编程(socket);Unix/Linux多
线程开发;Unix/Linux多线程同步技术;
掌握Unix/Linux系统下C语言的
开发,熟练使用常用的系统调用函
数,掌握Unix/Linux下内存管理,
进程管理、文件操作,掌握
Unix/Linux信号,了解IPC,熟练
编写网络多线程程序。
Oracle数据库和数据库开发Oracle SQL 查询语句;Oracle SQL DML和
事务处理语句;Oracle SQL 建表和约束;
Oracle的序列、视图和索引;PL/SQL 存储过
程;PL/SQL 函数(function);PL/SQL 游标和
触发器;PL/SQL 异常处理(Exception);
Pro*c 操作数据库;动态SQL;
掌握Oracle数据库的基本知识,熟
练使用SQL语句,掌握PL/SQL编
程,掌握Por*c访问Oracke数据
库。
QT图形界面开发QT 基础;QT 信号和槽;QT Creator的使用;
QT Designer的使用;
了解QT,熟练使用QT Creator和
Designer进行开发,理解信号和槽
的概念和用法。
大型项目
T-DMS电信计费系统数据读取模块;数据匹配模块;数据发送模块;
数据接收模块;数据保存模块;数据整合模块;
编写T-DMS电信数据采集系统。
全真实训项目二T-Bank 银行账户管理系统、T-Chat 多线程聊天室、网上商城数据库设计、Pro*c连接Oracle数据库、T-Lottery、T-Snake、T-Bank界面、T-DMS
第三阶段、ARM体系结构与编程(ARM体系结构、编程模型、指令集、裸板驱动开发);课程持续2周
共80课时。
ARM 体系结构与编程嵌入式系统特征、发展、应用领域介绍。
嵌入式系统开发的特点、软硬件开发系
统构成,开发环境的建立。T-PAD平台
特性介绍,T-PAD平台初体验。ARM
体系结构、ARM处理器系列与发展、
ARM编程模型。ARM指令集(分支
指令、数据处理指令、加载存储指令等)
GNU ARM 汇编程序设计
熟悉嵌入式系统开发的特点、掌握嵌入式系
统开发方法,掌握ARM体系结构与汇编程
序设计,加深对之前学习的C语言的理解。
基于T-PAD平台的裸板驱动开发基于T-PAD的GPIO使用方法,LED
驱动编写。UART原理,基于T-PAD的
UART驱动编写、调试、测试。
掌握基于ARM的裸板驱动开发方法,使自
己更深层次理解嵌入式系统开发的本质,通
过项目实践,提高自身软实力。
BootLoader原型设计,完成Shell框
架,人机交互,命令编写。NAND
FLASH 特性与使用方法,基于T-PAD
的NAND FLASH驱动开
发、调试、测试。内核引导条件,引导
方法,编写Linux引导命令,完善
Bootloader。ARM异常处理程序设计、
T-PAD启动原理,升级方法。为
Bootloader增加启动代码和内存初始
化代码。MMU 原理和MMU地址转表
制作,软中断异常处理程序设计、开发、
调试、测试。
全真实训项目
三
从零编写嵌入式Linux引导程序(BootLoader)
第四阶段、嵌入式Linux系统软件开发(嵌入式Linux系统部署、嵌入式Linux驱动开发);课程持续4
周共160课时。
嵌入式Linux系统部署嵌入式Linux系统构成、各部分的
作用和关心。嵌入式Linux系统
开发环境建立,U-Boot特性、
代码结构、编译方法、移植方法。
Linux内核特性、代码结构、编译
方法。Linux内核移植方法、移植
实践。根文件系统组成,根文件
系统制作方法。tslib、qt移植部
署方法。
掌握嵌入式Linux系统构成、Linux内核的编程方法,
完成嵌入式Linux系统在T-PAD平台的部署以及
Linux应用软件的移植部署。同时提高学员的动手能
力,代码阅读能力,提高学员的综合素质。
Linux驱动开发Linux内核模块化设计思想、设备
类型、驱动的作用和编写方法;字
符设备驱动程序设计、完成键盘驱
动程序设计;高级字符设备驱动程
序设计(原子变量、信号量、自旋
锁、阻塞/非阻
塞、等待队列、定时器、中断、内
核内存管理);字符设备驱动专题
I2C驱动程序设计;字符设备驱动
专题之ADC驱动程序设计、温度
场传感器驱动程序设计;字符设备
驱动专题定时器、PWM驱动设
计;字符设备驱动专题RTC 驱动
程序设计;输入子系统;显示子系
统;块设备驱动程序设计;网络
掌握Linux驱动架构和开发方法,通过完成具体案例
的编码、调试、测试实战来增强学员的编码能力,解
决问题的能力,使其有能力解决企业及开发问题。
驱动程序设计
全真实训
项目四
基于T-PAD平台的智能家居控制系统驱动程序开发
第五阶段、嵌入式Linux软件开发项目实践(智能家居控制系统)课程持续2周共80课时
智能家居控制系统?人机交互模块;
?设备驱动模块;
?服务器模块;
?客户端模块;
?设备控制和信息采集模块;
?ZIGBEE接口;
?3G接口;
?摄像监控接口;
?系统升级模块;
自从1984年在美国康涅迪格州出现
世界上第一幢智能建筑以来,智能家
居就被人们所关注,比尔﹒盖茨在华
盛顿的私人豪宅更是世界瞩目的智
能建筑的经典之作。智能家居将给人
们带来更加便捷、舒适、安全、快乐
的生活环境,家、公司、车三者的无
缝融合更让人们充满期待,智能家居
系统正是在此背景下如火如荼的发
展起来,随着计算机技术、互联网技
术、移动互联网技术、物联网的发展,
智能家居已经不再是富豪们专有系
统,其走入普通家庭将是必然趋势。