longz0 2018-10-29
嵌入式系统是当前热门、具发展前景的IT应用领域之一,很多数字包括手机、电子字典、可视电话、数字相机、数字摄像机、机顶盒、智能玩具医疗仪器和航空航天设备等都是典型的嵌入式系统。越来越多的人想要了解学习嵌入式技术,那么今天就把我收藏的千锋嵌入式编程入门教程学习大纲分享给大家参考学习。
一、嵌入式C语言高级编程
1、C数据类型、控制语句
2、C程序结构设计、数组、函数、预处理:
3、指针及字符串操作
4、结构体、共用体、宏、枚举
5、文件I/O操作
阶段练习项目:《GPRS信息分析器》、《输入法程序》、《税收计算器》、《信息管理系统》
数据结构及算法
1、数据结构之单向链表、双向链表
2、数据结构之队列、栈
3、数据结构之树、图
4、算法之各种排序(选择法、冒泡法、插入法等)
5、递归
6、算法之二分查找
阶段练习项目:《文件系统目录扫描项目》
二、嵌入式设备及GUI开发
嵌入式环境配置与开发工具学习
1、Linux下项目管理工具Make以及Makefile工作原理及其编写
2、Linux下shell脚本相关知识及其编写
3、嵌入式开发环境的基本概念及其搭建
4、A53开发板介绍、设备使用、A53开发板与电脑通信、交叉编译
GUI图形界面开发
1、常用控件——button、label、text edit等
2、常用布局方式——水平布局、垂直布局、固定布局、网格布局、相对布局等
3、常用事件及信号处理技术——信息回调、鼠标、键盘事件等
4、时间编程、数据存储、绘图机制、定时器处理、多任务处理等
阶段练习项目:《数码相框》、《手机计算器》、《用户登录器》、《排号机界面设计》
三、嵌入式Linux高级程序设计
嵌入式Linux系统编程
1、Linux系统调用概念
2、进程相关概念、多进程实现多任务开发
3、进程间通信:无名管道、命名管道、信号、消息队列、共享内存等
4、多线程实现多任务开发
5、多任务的同步互斥开发:互斥锁、信号量
阶段练习项目:《单机多任务通信工具》、《shell命令解释器》《简单版多媒体播放器》等
四、Linux高级网络程序设计
Linux高级网络编程
1、网络相关概念及网络发展
2、TCP/IP协议
3、socket编程、TCP网络编程、UDP网络编程、Web编程开发等
4、Linux网络应用程序开发,Linux网络编程相关API
5、TCP协议服务器的编程方法和并发服务器的实现
6、HTTP协议及其实现方法,熟悉UDP广播、多播的原理及编程方法,掌握混合C/S架构网络通信系统的设计
7、IPv6与IPv4协议,及其编程接口
8、网络数据通信过程
9、网络原始套接字概念及编程接口
阶段练习项目:《基于TCP协议的通信工具》、《Webserver 服务器开发》、《文件传输服务器》《网络身份伪装》、《网络数据分析器》
五、数据库开发
数据库开发
1、数据库概念、数据库类型、常见数据库
2、SQLite数据库介绍及其安装与移植
3、SQL数据库语言( 数据定义语言(DDL)、数据操作语言(DML)、数据查询语言(DQL)、数据控制语言(DCL) )
4、sqlite数据库C语言编程中的各种SQL指令执行函数完成对数据库的控制。
阶段练习项目:《学生信息管理系统》
六、C++面向对象高级语言程序设计
C++语言高级语言开发
1.熟悉面向对象的语言概述
2.熟练掌握c++语言的基本知识和类与对象及其高级应用
3、作用域运算符、内联函数、强制类型转换
4、new、delete内存管理
5、对象成员、成员函数
6、构造函数、析构函数、拷贝构造函数、函数重载
7、对象数组、this指针、枚举、
8、静态成员、静态成员函数
9、对象成员
10、友元
11、封装、继承、多继承、多态
12、虚函数、纯虚函数、抽象类、虚析构函数 等
阶段练习项目:《用户管理系统》、《贪吃蛇游戏》
七、物联网
物联网开发
1、了解物联网、泛在网、互联网基本要领及其关系
2、熟悉RFID从低频段到高频段的基本工作原理,以及RFID标签的种类与行业应用,读卡器原理与通信过程
3、熟悉TI的cc2530的基本应用,包含基本硬件资源,协议栈相关接口使用,以及点对点通信、星形通信、广播通信、绑定通信,三种网络结构star、tree、mesh,掌握zibgee相关微控制处理芯片
4、了解zigbe协议栈组成,以及zigbee在通信、组网、摇控等领域的不同应用
5、通过Bluetooth、wifi和zigbee技术对比各自的优缺点,并重点介绍zigbee的各种应用
6、掌握温度、湿度、光照、PH值、二氧化碳等传感器的工作原理及通信接口
7、了解NB-IOT基本概念及移运BC95模块
8、熟悉CoAP协议在NB-IOT中的应用
9、掌握常用AT指定集
阶段练习项目:《智慧温室大棚》
八、CotexA53 Linux平台驱动开发
Linux平台驱动开发
1、了解ARM处理器基本特征及工作原理
2、掌握ARM裸机程序开发以及裸机编译工具的使用
3、嵌入式Bootloader原理分析及其移植
4、嵌入式Linux内核结构分析及其移植
5、掌握嵌入式Linux根文件系统组成分析及其制作过程
6、掌握嵌入式Linux三大类设备驱动基本概念
7、掌握Linux字符驱动框架及GPIO输入输出驱动
8、Linux中断机制处理及响应过程
9、Linux下SPI/IIC/UART串行通信技术驱动编写与应用
10、Linux下input设备驱动框架介绍
11、Linux下platform机制设备驱动框架介绍
12、Linux下kfifo缓冲机制、并发与竞态(如互斥锁与信息号等)讲解
13、Linux驱动中的阻塞与非阻塞
14、Linux下块设备驱动框架——RAMdisk驱动实例编写
15、USB设备硬件设计原理、驱动协议架构、驱动开以流程
16、了解Linux设备驱动模型(kobject、kset、子系统、底层sysfs操作、虚拟总线等)
以上就是嵌入式学习大纲,内容很丰富,学习的同学可以参考。