ARM ---day1

一、 基本概念

1. RISC和CISC?

RISC:Reduced Instruction Set Computer,精简指令集

芯片简单、成本低、体积小、功耗小

CISC:Complex Instruction Set Computer,复杂指令集

性能强、芯片复杂、成本高、体积高、功耗大

x86:复杂指令集架构

ARM:精简指令集架构

2. Cortex-A7内核中有多少个通用寄存器?

非工作模式情况下:16个通用寄存器(R0-R15)

工作模式情况下:40个通用寄存器

3. PC、LR、SP、CPSR、SPSR寄存器作用?

pc(R15寄存器):programmer counter 程序计数器,本质上是一个指针,指向代码正在执行的当前指令的下一条指令。pc指向哪,程序运行到哪。

lr(R14寄存器):lined regiter 链接寄存器,保存函数返回地址。

sp(R13寄存器):stack pointer 栈指针寄存器,用于管理栈区空间,永远指向栈顶。

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

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

4. MMU、Cache作用?

MMU:Memory Mangement Unit 内存管理单元,将程序中的虚拟内存空间映射到实际物理内存空间,提高物理内存利用率。(学习ARM裸机,关闭MMU;学linux驱动,打开MMU)。

CACHE:高速缓存,提高CPU访问数据的速度

DCACHE:data cache,数据缓存

ICACHE:instruction cache,指令缓存

5. nor flash和nand flash区别?

NOR Flash 和 NAND Flash 都属于广义 ROM,都是非易失性存储器;

但它们不是传统的只读 ROM,而是可擦写的 Flash ROM。

nor flash:每一个字节都可以被寻址,带有地址总线、数据总线和控制总线,数据访问时可以像RAM一样(51单片机)

nand flash:块设备数据,通常以512byte去访问(一次性读/写512byte),不带地址(电脑、SOC)

6. ARM处理器的7种工作模式?

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

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

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

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

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

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

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

Cortex-A特有模式:

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

7. ARM异常处理流程?(重点)

当异常产生时,ARM core:

拷贝CPSR到SPSR_<mode> 备份

设置适当的CPSR位:

改变处理器状态进入ARM态

改变处理器模式进入相应异常模式 低五位

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

保存返回地址到LR_<mode>

设置PC为相应的异常向量 给地址

返回时,异常处理需要:

从SPSR_<mode>恢复CPSR

从LR_<mode>恢复PC

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

8. 异常向量和异常向量表?

异常向量:跳转到异常服务函数指令的++++地址++++

异常向量表:++++数组++++,数组中存放的是跳转到对应异常服务函数的指令

9. AHB和APB总线?

AHB:Advanced High Bus,先进高速总线,连接一些通信速度比较快的外设(USB、网口、RAM)(北桥芯片)

APB:Advanced Peripheral Bus,先进外设总线,连接一些通信速度比较慢的外设(Timer、GPIO、UART)(南桥芯片)

10. i.mx6ull芯片内核版本?

cortexA7

相关推荐
AlanBruce1 天前
摩尔信使MThings功能综述与应用使用指南
linux·自动化·plc·mthings·摩尔信使
小弥儿1 天前
GitHub今日热榜 | 2026-09-15:AI 智能体与本地生成工具领跑
学习·开源
Horn Still Sounds1 天前
ARM嵌入式基础|内核、寄存器、架构、存储、汇编移位全面梳理
arm开发·单片机·嵌入式硬件·硬件架构
susplus1 天前
【初识ARM】ARM相关基础概念
学习·arm
XiHongShi20161 天前
键盘大小写指示器(代替键盘灯)
学习·计算机
斯维赤1 天前
AI Agent学习之路 | Prompt Engineering(提示词工程)的三板斧核心技巧
人工智能·学习·prompt
从零开始的嵌入式之旅1 天前
day44
arm开发·经验分享·笔记·嵌入式硬件
陈陈CHENCHEN1 天前
【Linux】服务器根目录磁盘扩容操作记录
linux·运维·服务器
GeW1 天前
RHCE快速拿证全攻略:考点拆解+实验强化+时间规划,一次通关
linux
2301_802651081 天前
imx6ull裸机开发:UART
学习