目录
ARM:处理器
系统移植:将linux系统撞到ARM平台上
驱动开发:开发linux内部设备的驱动
一、底层开发导学
1.嵌入式系统分层
1.1系统分层
操作系统(Linux)的作用 : 向下管理硬件、向上提供接口(API)
应用开发(应用软件):用系统提供的接口(API),做上层应用程序的开发
底层开发(硬件):即做操作系统本身的开发
1.2linux层次结构
1.3 Linux子系统
1.进程管理:管理进程的创建、调度、销毁等
2.内存管理:管理内存的申请、释放、映射等
3.文件系统:管理和访问磁盘中的文件(文件I/O)
4.设备管理:硬件设备及驱动的管理
5.网络协议:通过网络协议栈(TCP、IP...)进行通信
二、ARM体系结构与接口技术课程导学
2.1ARM:处理架构,即CPU
存储模型:数据、指令再内存中如何存储
工作模式:不同模式满足不同条件的需求(内核空间用户空间)
寄存器:CPU内部存储器
异常机制:CPU正常执行程序时遇到的异常,CPU处理异常的机制
流水线:指令在CPU中如何执行的流程
指令集:汇编指令集
学习 完 达到 程序在CPU的运行原理
2.2 接口技术
即如何通过CPU处理硬件
举例:
GPIO接口:可以控制LED灯
PWM接口:蜂鸣器
UART,即通用异步接收器/发送器
ADC:测电压
RTC (Real Time Clock):实时时钟. 实时时钟是一个独立的定时器
IIC总线:集成电路总线,它是一种具有两线传输的串行通信总线,使用多主从架构
底层多理解,多总结
三、计算机基础知识
3.1 计算器的进制
数字电路中 高低电信号 代替 1和0
0x55 转为 二进制:01010101 (低高低高低高低高)
3.2 计算机的组成
把其他信号转换成计算机能识别和处理的信号并送入计算机中
如键盘、鼠标、摄像头等
把运算结果以人或其他设备所能接受的形式送出计算机外
如显示器、音响、打印机等
存储器是用来存储程序和数据的部件,是实现"存储程序控制"的基础
如内存、硬盘等
CPU中负责进行算数运算和逻辑运算的部件,其核心是算术逻辑单元ALU
控制器是CPU的指挥中心,其控制着整个CPU执行程序的逻辑过程
运算器和控制器共同组成了CPU
3.3 总线
总线是计算机中各个部件之间传送信息的公共通信干线, 在物理上就是一束导线按照其传递信息的类型可以分为数据总线、地址总线、控制总线
DMA总线
DMA(Direct Memory Access)即直接存储器访问,使用DMA总线可以不通过CPU直接在存储器之间进行数据传递
四、多级存储结构与地址空间
4.1 三级存储结构
Cache(高速缓存)
速度最快、价格最贵、容量最小、断电数据丢失、cpu可直接访问
存储当前正在执行的程序中的活跃部分,以便快速地向CPU提供指令和数据
主存储器(内存)
速度、价格、容量介于Cache与辅存之间、断电数据丢失、cpu可直接访问
存储当前正在执行的程序和数据
辅助存储器(硬盘)
速度最慢、价格最低、容量最大、断电数据不丢失、cpu不可直接访问
存储暂时不运行的程序和数据,需要时再传送到主存
使用三级存储结构是为了兼顾速度、容量、价格
4.2地址空间
CPU给 内存发地址 00 ,地址0 中的内容回给CPU
当地址总线2bit,cpu想到读取’E‘,100,0x04转为二进制位100,总线只有两根,最大只能发11,100发不了,’E‘读取不了;
地址空间:CPU向内存读数据,受地址总线宽度所限;cpu所能读到的内存空间为cpu地址空间
32为地址总线的地址空间为2^32 = 4G
五、CPU工作原理概述
5.1CPU工作原理
指令的执行过程(电路中进行)
一条指令的执行分为三个阶段
1.取址:CPU将PC指令计数器(想要执行的指令的地址)中的地址发送给内存,内存将其地址中对应的指令返回到CPU中的指令寄存器(IR)
2.译码:译码器对IR中的指令进行识别,将指令(机器码)解析成具体的运算
3.执行:控制器控制运算器中对应的运算单元进行运算,运算结果写入寄存器
每执行一条指令后PC的值会自动增加指向下一条指令