当前位置: 首页 > news >正文

STM32-ARM

一、体系架构

  1. ARM里有37个寄存器
  2. ALU算数逻辑单元
  3. PC程序计数器:指向哪里执行哪里
  4. SP栈指针寄存器
  5. LR链接寄存器:保存函数入口地址
  6. CPSR(current program status register)当前程序状态寄存器:
  7. SOSR(CPSR的备份)
  8. MMU(内存管理单元)
  9. Cache高速缓冲(iCache\dCache)
  10. CISC复杂指令集
  11. RISC精简指令集
  12. AHB先进的总线,高速总线()
  13. APB连接慢的总线、(连接外设)
  14. ARM易失性存储器
  15. ROM非易失性存储器
  16. flash(nor flash中任意字节都允许被寻址通常用于从程序、nand flash用于从数据)

二、数据和指令类型

ARM采用的是32位架构
ARM 约定:
Byte :             8 bits
Halfword :      16 bits (2 byte)
Word :            32 bits (4 byte)
Doubkgvord   64-bits(8byte)(Cortex-A处理器)

ARM9有7个基本工作模式:
User:非特权模式,大部分任务执行在这种模式
FIQ:当一个高优先级(fast)中断产生时将会进入这种模式

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

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

Abort:当存取异常时将会进入这种模式
Undef:当执行未定义指令时会进入这种模式
System:使用和User模式相同寄存器集的特权模式
Cortex-A特有模式:
Monitor:是为了安全而扩展出的用于执行安全监控代码的模式:也是一种特权模式

异常向量表:

相关文章:

  • 深入理解 Spring 框架中的 IOC 容器
  • 智能AI优化SEO关键词实战
  • LLM(6):理解词嵌入
  • 大白话详细解读React框架的纯函数和高阶函数
  • 京准电钟:NTP网络时间服务器让城市更智慧更精准
  • 快速入手-基于Django的Form和ModelForm操作(七)
  • C++ 介绍STL底层一些数据结构
  • 数据结构(排序(上)):冒泡、选择、插入
  • MySQL 创建用户,建库,建表
  • 红宝书第八讲:箭头函数与高阶函数:厨房工具与智能菜谱的对比
  • DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加导出数据功能示例6,TableView15_06自定义导出文件名示例
  • ZYNQ的cache原理与一致性操作
  • 跟着StatQuest学知识06-CNN进行图像分类
  • 为容器指定固定IP地址
  • 06_数组
  • Android卷笔试题目总结
  • 大模型架构记录 【综述-文字版】
  • WPS排版如何一张纸显示四张纸的内容?
  • 解析DeepSeek的技术内核:混合专家架构如何重塑AI效能
  • 区块链交易所平台开发全解析
  • 可量产9MWh超大容量储能系统亮相慕尼黑,宁德时代:大储技术迈入新时代
  • 罕见沙尘再度入川,官方:沙尘传输高度达到平流层,远超以往
  • “仓促、有限”,美英公布贸易协议框架,两国分别获得了什么?
  • 洛杉矶奥组委确认2028年奥运会和残奥会开闭幕式场地
  • 老铺黄金拟配售募资近27亿港元,用于门店拓展扩建及补充流动资金等
  • 湖南省邵阳市副市长仇珂静主动向组织交代问题,接受审查调查