课程名称:ARM+LINUX嵌入式应用开发工程师班
一:LINUX环境搭建和操作
LINUX环境搭建和操作 1、Linux概述
2、LINUX安装和配置
3、Linux系统的一些术语与概念
4、Linux系统结构
5、Linux目录结构
6、基本文件与目录操作
7、Linux基本设置与配置
8、LINUX环境常用系统命令
9、LINUX窗口环境常用功能操作
10、Linux软件安装与卸载
11、LINUX环境网络环境的搭建及与WINDOWS环境的通讯
12、在PC虚拟机环境安装LINUX
13、在PC虚拟机环境LINUX网络环境搭建和设置
14、在PC虚拟机环境LINUX与本地机通讯
15、在PC虚拟机环境LINUX访问互联网设置
16、LINUX环境FTP服务器搭建与设置及与PC机程序源代码资源传输
二:LINUX C/C++/数据结构强化
LINUX C/C++/数据结构强化 1、c/c++逻辑,循环,判断等语句流和运算符及其在各种算法中的案例分析
2、变量(variable)类型及其声明使用及其内存分配区域
3、地址(address),指针(pointer),多重指针及其使用
4、数组(array)和指针
5、结构(struct),联合(union),枚举(Enum)及其编程及应用案例分析
6、计算机中各种数据存放的原理及程序控制处理
7、内存(memory)管理(申请,分配和释放)编程
8、内存分配的代码区(code)、全局/静态数据区(static)、堆区(heap)、栈区(stack)、常量区(const)详解
9、OOP(面向对象程序设计)基本理论
10、OOP特性及其编程(抽象(abstract)、封装(encapsulation)、继承(inheritance)、 派生(deriving)、多态(multimorphrism)等)
11、类(class):无关类,派生类,友元类,构造(construct)函数,析构(deconstruct)函数
12、各种类(无关类,派生类,友元类)交叉互相使用其成员(members)编程技术
13、重载(overload)与覆盖(override)技术
14、内联(online)函数及其编程
15、友元(friend)函数及其编程
16、虚函数(virtual function)及其编程
17、静、动态联编(binding)
18、纯虚函数,抽象类,多态性,及其编程
19、链表概念、类型及其动态内存管理原理
20、C语言链表编程
21、C++链表编程
三:LINUX环境,C/C++应用程序开发
LINUX环境,C/C++应用程序开发 1、LINUX 内存管理
静态内存与动态内存,安全性问题,内存管理操作,动态内存的释放,调整动态内存的大小,分配堆栈,内存锁定,使用链表,内存映像,创建内存映像,撤销内存映像,
将内存映像写入外存,改变内存映像的属性
2、使用make
makefile文件简介,make书写规则,make文件编写,采用make文件对系统代码的维护
3、gcc编译器
gcc编译器简介,hello world程序,gcc选项概述,利用gcc优化代码,使用高级gcc选项,gcc编译流程简介,c预处理器cpp,gun连接,文件处理器,库显示,其他编译调试工具
4、进程控制编程
进程的基本概念,进程控制的相关函数,进程的创建,进程等待,进程的终止,进程id和进程组,system函数,多个进程间的关系,进程组,时间片的分配,进程的同步
5、多线程编程
线程的创建,线程属性的设置,结束线程,线程的挂起,取消线程,互斥
6、进程间通信编程
进程间通信简介,共享内存和信号量,sysv子系统的基本概念,共享内存,信号量
7、串口通讯编程
a、串口通讯概念和标准
计算机并行通信与串行通讯的比较,串行通信接口标准:RS232,RS422,RS485,串行通信中的同步通讯和异步通讯,串行通信中的波特率、数据位、起始位、停止位、校验位
,串行通信的传输模式:单工、半双工、全双工,串口通讯与信号的调制解调,串行通信的错误校验:奇偶校验,代码和校验,循环冗余校验
b、LINUX串口通讯开发编程
LINUX串口通讯编程的串口设置,串口的打开和关闭,串口读写缓冲区的设置,串口数据的读写,串口数据格式的灵活化,LINUX与PC机之间的串口通讯实现
8、网络通讯编程
a、TCP网络编程
网络编程基本原理,计算机网络体系结构模式,tcp/ip协议,客户机/服务器模式,套接口编程基础,ip地址转换,tcp套接口编程,基于tcp的客户机/服务器模式,信号处理
b、UDP网络编程
udp套接口编程,基于udp的客户机/服务器模式,主要系统调用,基于udp套接口编程示例,可靠性问题,udp套接口的连接,原始套接口编程,基本形式和操作,原始套接口编程实例,网络编程实例
四、ARM 嵌入式开发环境搭建
ARM 嵌入式开发环境搭建 1、PC端LINUX环境配置
2、PC端LINUX为ARM开发板搭建交叉编译开发环境
3、对ARM开发板烧写U-BOOT的JTAG软件设置与使用
4、PC端超级终端软件与ARM开发板的通讯设置与使用
5、嵌入式QT在PC端LINUX中的安装与配置
6、ARM开发板,PC端WINDOWS,PC端LINUX,三方通讯环境的构建
五、 ARM体系结构及其运行各个模块程序烧写或移植
ARM体系结构及其运行各个模块程序烧写或移植 1、ARM架构
2、ARM处理器的工作状态
3、ARM流水线技术
4、ARM体系结构的存储器格式
5、ARM处理器工作模式
6、ARM体系结构的常用的内部寄存器及其组织管理
7、ARM处理器的各种异常处理及其访问操作的内部寄存器
8、ARM GPIO输入输出控制及其配套寄存器管理
9、ARM 定时器及其相关寄存器管理设置
10、ARM 定时器中断、PWM及其应用控制
11、NOR FLASH与NAND FLASH
12、u-boot(bootloader)程序的特点功能
13、ARM开发板,Bootloader程序烧写
14、ARM Linux内核系统移植
15、ARM Linux文件系统移植
16、嵌入式QT/embedded运行环境的搭建和移植
六、 ARM LINUX环境硬件驱动和应用控制开发
ARM LINUX环境硬件驱动和应用控制开发 1、ARM LINUX环境硬件驱动导引
2、ARM LINUX硬件驱动程序的编程框架
3、ARM LINUX硬件驱动程序的注册、卸载、调用
4、ARM LINUX环境,LED灯驱动编程
5、ARM LINUX环境,数码管驱动编程
6、ARM LINUX环境,蜂鸣器驱动编程
7、ARM LINUX环境,矩阵键盘设计及其驱动编程
8、ARM LINUX环境,数据采集并AD转换驱动编程
9、ARM LINUX环境,四相步进电机控制驱动编程
七、嵌入式QT/embedded图形用户界面编程
嵌入式QT/embedded图形用户界面编程 1、LINUX GUI分析
2、嵌入式QT开发环境搭建
3、QT/embedded应用软件的整体结构
4、QT/embedded图形用户界面(GUI)设计开发编程
5、QT/embedded常用GUI)和常用组件控件开发编程
6、QT/embedded基本图形图像处理开发编程
7、QT/embedded槽(slot)和信号(signal)编程
8、QT/embedded事件处理编程
9、QT/embedded多线程编程
10、QT/embedded嵌入式数据库SQLITE应用开发编程
11、QT/embedded网络(TCP/IP)编程
12、QT/embedded串口通讯编程
13、QT作为上位机与嵌入式终端的通讯开发编程
14、QT/embedded应用程序移植到ARM开发板
15、嵌入式驱动程序与QT接口开发应用编程
16、嵌入式内核空间与QT用户空间双向交互编程
八、LINUX ARM嵌入式应用实做
LINUX ARM嵌入式应用实做 1、 基于LINUX ARM的数据采集和监控管理系统
2、 基于LINUX ARM为上位机的工控实现
3、 LINUX服务器与ARM终端设备的通讯管理和控制
4、 基于ARM LINUX的舞蹈机器人设计和开发