目录
底层课程导学
课程回顾
1.编程基础
2.应用开发(使用操作系统提供的函数开发应用程序)
3.底层开发(开发操作系统本身,向下管理硬件、向上提供接口(API))
嵌入式系统分层
应用开发
底层开发
Linux层次结构
ARM体系结构与接口技术课程导课
ARM体系结构
学习目的
接口技术
学习目的
ARM课程与驱动课程的区别
学习方法
学习内容
思维方式
学习方法
计算机基础知识
计算机的进制
计算机的组成
输入设备的作用
输出设备的作用
存储器的作用
CPU的作用
运算器的作用(CPU工人)
控制器的作用(CPU老板)
总线
总线
DMA总线
DMA总线的作用
多级存储结构与地址空间
三级存储结构
辅助存储器
主存储器
Cache
程序的存储顺序
地址空间
CPU工作原理概述
CPU原理
控制器
运算器
指令的执行过程
底层课程导学
课程回顾
1.编程基础
C语言基础
C高级及Linux
数据结构
2.应用开发(使用操作系统提供的函数开发应用程序)
文件IO
进程线程
网络编程
数据库
3.底层开发(开发操作系统本身,向下管理硬件、向上提供接口(API))
ARM(处理器,cup架构)
系统移植(将Linux系统安装到特定的产品上,如基于ARM处理器的平台上)
驱动开发(不同的产品有不同的硬件,需要驱动适配系统)
嵌入式系统分层
应用开发
即使用系统提供的接口(API),做上层应用程序的开发
底层开发
即做操作系统本身的开发
Linux层次结构
Linux操作系统内核为上层提供五大类接口
内存管理
文件系统
进程管理
网络协议
设备管理:驱动开发
ARM体系结构与接口技术课程导课
ARM体系结构
ARM:处理器架构,CPU的一种架构
存储模型
工作模式
寄存器:CPU内部的存储器
异常机制
流水线
指令集:汇编语言
学习目的
了解程序是如何在操作系统内部运行,从而写出高效率的程序
接口技术
向上提供接口,向下管理硬件
学习如何通过CPU接口控制硬件
通过CPU的模块、接口来控制硬件
GPIO接口:控制LED
PWM接口:控制蜂鸣器
IIC接口:控制传感器
ADC接口:测电压
学习目的
了解硬件如何控制,为之后驱动开发做准备
ARM课程与驱动课程的区别
ARM课程是在单片机上裸机写程序
驱动课程是在单片机上安装Linux操作系统后写程序
学习方法
学习内容
CPU、接口、硬件
思维方式
程序执行、接口配置、硬件控制
学习方法
先宏观再微观、重理解轻记忆、善于总结归纳
计算机基础知识
ARM是CPU的一种架构
CPU是电脑的一部分
计算机的进制
数据在计算机中的数据的存储、运算、传输都是以高低电平的形式,所以数字电路中用高、低电平表示逻辑1和0
内存使用硬件的总线将数据传输给CPU,通过高低的电信号表示逻辑上的1和0
计算机存储、运算、传输都是以高低电平的方式,所以数字电路中用高、低电平来表示逻辑1和0
计算机的组成
输入设备的作用
将其他信号转换为CPU可以识别的电信号
输出设备的作用
将CPU的电信号转换为其他信号
存储器的作用
存储程序与数据
CPU的作用
可以执行程序,无法存储数据,存储数据是在存储器内,需要执行时从存储器中调用
运算器的作用(CPU工人)
运行数据运算(如+、-、*、/)与逻辑运算(如if、while)
控制器的作用(CPU老板)
控制程序的执行流程,CPU的指挥中心
总线
总线
总线是计算机中各个部件之间传送信息的公共信息干线,在物理上就是一束导线,按照器传递信息的类型可以分为数据总线、地址总线、控制总线
DMA总线
DMA即直接存储器访问,使用DMA总线可以不通过CPU直接在存储器之间进行数据传递
DMA总线的作用
因为其可以不通过CPU进行传输,如果存储器中存储了一张照片,想直接在屏幕显示如果没有DMA总线只能通过存储器将照片传输到CPU中,CPU在通过IO总线及其接口传输,而有DMA总线可以直接通过DMA总线将存储器中的照片传输到显示器上,减少了CPU的占用,提升CPU运算的性能
多级存储结构与地址空间
三级存储结构
辅助存储器
外存 如硬盘,优点:容量大、价格便宜、断电不丢失,缺点:读写速度慢、按块读写
主存储器
内存 优点:读写速度快、可按字节读写,缺点:容量小、价格贵、断电丢失
Cache
高速缓存 优点:速度更快,缺点:容量更小、价格更高
使用三级存储结构是为了兼顾速度、容量、价格
程序的存储顺序
CPU可以读写Cache、主存储器,但是不能直接读辅助存储器
程序安装时,将暂时不需要运行的程序和数据安装在辅助存储器,断电不丢失
打开程序时,将硬盘中的程序搬移到内存中,断电数据丢失,存放当前正在执行的程序和数据,CPU直接访问
执行程序时,程序中有一些代码需要经常被使用,将这些经常被使用的程序搬移到Cache中,存放当前执行程序中的活跃部分
地址空间
CPU可以从地址空间中读取数据,但是可以读取到的空间并不是无限大的,限制主要与地址总线的宽度有关
CPU可以读取的地址空间叫做地址空间
一般来说N位地址总线的处理器的地址空间是2的N次方
如果内存的空间大于CPU的寻址空间,CPU只能访问到寻址空间范围内的内存。多余的空间无法被CPU直接利用
CPU工作原理概述
CPU原理
CPU工作方式是串行
同一时间只能进行一个运算
控制器
控制程序的执行过程
1.取址
指令计数器PC:存储想要执行的指令的地址
指令寄存器IR:存储内存中返回的指令的内容
2.译码
指令译码器:将取得的指令译码
运算器
3.执行
CPU的运算都是在电路里完成的
运算器内部是各种运算电路
程序中需要什么样的运算,运算器中就需要设计什么样的运算电路
执行结束后,指令计数器PC自加,继续执行下一条运算,重复过程
指令的执行过程
一条指令的执行分为三个阶段
1.取址: CPU将PC寄存器中的地址发送给内存,内存将其地址中对应的指令返回 到CPU中的指令寄存器(IR)
2.译码: 译码器对IR中的指令进行识别,将指令(机器码)解析成具体的运算
3.执行: 控制器控制运算器中对应的运算单元进行运算,运算结果写入寄存器 每执行一条指令后PC的值会自动增加指向下一条指令
每执行一条指令后PC的值会自动增加指向下一条指令