一、 嵌入式开发基础
1、 Linux基础知识和系统安装
2、 交叉环境的搭建;开发板的初步认识和环境建立;
3、 Linux常用命令,文察御本编辑器vi,简单shell脚本编程;
4、Linux开发环境基础:Gcc,Gdb,Make和Makefile;
5、嵌入式软件开发环境搭建与使用,开发板平台内核系统的烧写;
二、嵌入式C语言编程
1、复习C语言基础知识,强化指针和数组概念,学习数据结构和一些 基本算法;
2、通过大量编程实例重点讲解C语言的高级编程知识,包括函数与程序结构、指针、数组;
3、常用算法、标准库函数的使用;
4、重点讲正没培解数据结构的基础内容,熟练地应用链表、队列、栈等编程;
5、深入介绍C程序在编译时与运行时的基本原理,及其程序的内存分布。
6、高质量的C语言编程规范和嵌入式编程要点。
三、嵌入式C++编程及嵌入式LINUX QT图形用户界面编程
1、 Linux c++编程环境;
2、 C++语法基础, 数组、指针及引用, 函数、递归及程序结构及 复杂数据类型;
3、面向对象编程:继承及多重继承、运算符重载;
4、模板类及标准模板库;
5、 异常处理;
6、 数据结构及简单算法;
7、LINUX GUI分析
8、 嵌入式QT开发环境搭建
9、QT 体系结构分析
10、QT开发图形界面程序的流程
11 、深入QT编程
12、移植Qtopia到ARM开发板
四、 嵌入式举唯linux应用编程
1、 Linux文件管理及目录操作及其编程
2、 Linux进程管理与程序开发
3、 Linux多进程编程
4、Linux多线程编程
5、Linux Socket网络编程
6、Linux 串口通讯编程
五、 ARM体系结构与编程及系统构建
1 、ARM体系结构概述
2 、ARM指令集
3 、ARM存储系统
4、 ARM集成开发环境ADS
5、ARM C/C++编程流程
6、 Bootloader构建及移植
7 、Linux内核构建及移植
8 、嵌入式Linux根文件系统
9、应用程序开发及移植
六、 基于ARM开发板的应用系统构建和编程
1、 LINUX ARM目标机与下位机PLC、单片机等通讯机交互控制的设计与实现
2、 LINUX ARM目标机与上位机PC的通讯机交互控制的设计与实现
3、 LINUX ARM目标机独立管理控制部设备(步进电机、继电器、直流电机等)的设计与实现
ARM基础原理
RISC微处理器和CISC微处理器枣凳伏的区别
RISC(Reduced Instruction Set Computer)是精简指令集计算机。
侧重点:如何使计算机的结构更加简单和如何使计算机的处理速度更加快速;
特点:指令数量少、简单指令、固定指令长度、减少指令格式和寻址方式、不用或少用微码控制、能耗较低;
应用:嵌入式处理器、各种移动终端。
CISC是复杂指令凳携集计算机。
侧重点:硬件执行指令的功能性;
特点:指令数量多、设计复杂、能耗高;
应用:intel的处理器(电脑)。
ARM微处理器结构
ARM内核采用RISC体系结构。ARM体系结构的主要特征如下:
1、大量的寄存器;
2、 Load/Store体系结构;
3、每条指令都条件执行;
4、多寄存器的Load/Store指令;
5、能够在单时钟周期执行的单指令内完成一项普通的位移操作和一项普通的ALU操作;
6、通过协处理器指令集来扩展ARM指令集,包括在编程模式中增加了新的寄存器和数据类型;
7、如果报Thumb指令集也当作ARM体系结构的一部分,那边还可以加上在Thumb体系结构中以高密度16位压缩形式表示指令集。
基本数据类型
ARM内核采用32位架构。基本数据类型有以下4种:
1、Byte : 字节, 8位;
2、HalfWord:半字,16位;
3、Word:字,32位;
4、 DoubleWord(Cortex-A支持):双字,64位。
ARM存储器的组织结
ARM920T处理器的工作模式
除用户模式外,其余6种模式称为非用户模式或特权模式;用户模式和系统模式之外的5种模式称为异常模式。ARM处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。
存储系统
1、提供多种类型的存储器件,如Flash、ROM、SRAM等;
2、Cache技术;
3、 写缓存技术(Write Buffer);
4、 虚拟内存和I/O地址映射技术。
流水线
处理器按照一系列步骤来执行每一条指令,典型的步骤如下:
1、从存储器读取指令(fetch);
2、 译码以鉴别它是属于哪一条指令(decode);
3、从指令中提取指令的操作数(这些操作数往往存在于寄存器中)(reg);
4、将操作数进行组合以得到结果或存储器地址(ALU);
5、如果需要,则访问存储器以存储数据(mem);
6、将结果写回到寄存器组中(res)。
寄存器结构
ARM Cortex-A8处理器共粗握有40个寄存器(32位),被分为若干个组(BANK),这些寄存器包括:
(1) 32个通用寄存器;
(2) 1个程序计数器(PC指针);
(3) 7个状态寄存器:1个CPSR当前程序状态寄存器,6个SPSR备份程序状态寄存器。
同时嵌入式又是和应用紧密挂钩的学科,所以不同应用领域,对嵌入式开发水平要求是不一样的。
对山正于入门,我觉得需要系统的学习嵌入式的基础学科,勤实践,是入门的不二法缺枝门。
我的qq250150100,以后可以多多交流。