ARM基础

计算机CPU分类

CISC:Complex Instruction Set Computer 复杂指令集(x86)

特点:指令功能多、芯片复杂、成本高、体积大、功耗大

RISC:Reduced Instruction Set Computer 精简指令集

特点:指令功能少、芯片简单、成本低、体积小、功耗低

ARM体系架构

IMX6ULL芯片所搭载的内核版本:Cortex-A7

Cortex-A7使用的汇编指令集版本:ARMv7-A

nor flash和nand flash区别:

nor flash: 任何一个字节可以被寻址,带有地址总线和数据总线

nand flash:块设备数据,以512byte为一块进行读写数据

面向应用的ARM最小系统

数据和指令类型

ARM 采用的是32位架构.

ARM 约定:

Byte : 8 bits

Halfword : 16 bits (2 byte)

Word : 32 bits (4 byte)

Doubleword 64-bits(8byte)(Cortex-A处理器)

大部分ARM core 提供:

ARM 指令集(32-bit)

Thumb 指令集(16-bit )

Cortex-A处理器

16位和32位Thumb-2指令集

16位和32位ThumbEE指令集

Jazelle cores 支持 Java bytecode

ARM处理器工作模式

User:非特权模式,大部分任务执行在这种模式。

FIQ:当一个高优先级(fast)中断产生时将会进入这种模式。

IRQ:当一个低优先级(normal)中断产生时将会进入这种模式。

Supervisor:当复位或软中断指令执行时将会进入这种模式。

Abort:当存取异常时将会进入这种模式。

Undef:当执行未定义指令时会进入这种模式。

System:使用和User模式相同寄存器集的特权模式。

Cortex-A特有模式:

Monitor:是为了安全而扩展出的用于执行安全监控代码的模式;也是一种特权模式。

寄存器组织概要

Cortex-A7内核有40个32-bits长的寄存器。

Cortex-A7内核有16个32-bits长的通用寄存器(R0~R15)。

PC: programmer counter 程序计数器,本质是一个指针,指向当前程序正在执行指令的下一条指令。

LR: linked register 链接寄存器,保存函数的返回地址。

**SP:**stack pointer 栈指针寄存器,管理栈区空间。

CPSR: current programmer status register 当前程序状态寄存器,程序运行到某一步时相关的状态(溢出、借位、进位)特殊、异常状态。

SPSR: save programmer status register 保存/备份程序状态寄存器,保存当异常发生时cpsr寄存器中的值。

MMU: Memory Mangement Unit 内存管理单元,将程序中的虚拟地址转换为物理地址。

CACHE **:**高速缓存,CPU直接从CACHE中访问数据,提高CPU访问数据效率。

冯·诺依曼架构和哈佛架构的区别

冯·诺依曼架构:数据和指令共享同一块存储空间。

哈佛架构:数据和指令拥有独立的存储空间(计算机)。

异常处理流程

当异常产生时, ARM core:

拷贝 CPSR 到 SPSR_<mode>

设置适当的 CPSR 位:

改变处理器状态进入 ARM 态

改变处理器模式进入相应的异常模式

设置中断禁止位禁止相应中断 (如果需要)

保存返回地址到 LR_<mode>

设置 PC 为相应的异常向量

返回时, 异常处理需要:

从 SPSR_<mode>恢复CPSR

从LR_<mode>恢复PC

Note:这些操作只能在****ARM 态执行.

异常向量表:本质是一个数组,数组中存放的跳转到异常服务函数的指令。

相关推荐
2401_862880821 小时前
ARM 嵌入式开发 ---知识点
arm开发·嵌入式硬件·物联网
下辈子不要当码农1 小时前
ARM学习(1)
学习·arm
ElfBoard1 小时前
作品展示|基于RK3588的复杂空间下自主导航无人机与多传感器 AI 融合环境监测分析
大数据·人工智能·单片机·嵌入式硬件·团队开发
宣宣猪的小花园.2 小时前
【机器学习】神经网络与表征:为什么深度学习能自动提取特征
人工智能·嵌入式硬件·算法·机器学习
单片机仿真设计2 小时前
【proteus仿真】基于 STM32 单片机农业灾害监测系统(仿真图+程序)
stm32·单片机·嵌入式硬件·proteus
Rocker-Chen3 小时前
应广科技MCU使用注意事项
单片机·嵌入式硬件
HRTOS3 小时前
HRTOS Debug 正式发布:为 8051 实时系统提供可观测、可诊断的运行状态监控能力
单片机·嵌入式硬件·51单片机
llilian_163 小时前
PTP时钟服务器时间溢出隐患解决方案 1588时钟服务器 ptp服务器
大数据·网络·单片机·嵌入式硬件·51单片机
小雪崩4 小时前
嵌入式学习 day49:ARM基础
嵌入式硬件·学习