新闻详情

新闻详情

首页 / 资讯中心 / 详情

【嵌入式学习笔记】ARM的存储和中断控制

发布时间:2026/10/1 18:39:06来源:尧图网络
【嵌入式学习笔记】ARM的存储和中断控制
ARM存储数据类型基础整数类型ARM核通用Byte字节8 位Halfword半字16 位Word字32 位Doubleword双字64 位浮点与向量类型看具体核浮点半精度 (16位)、单精度 (32位)、双精度 (64位)。向量 (NEON/SIMD)支持 8/16/32/64 位元素的向量。AM64x/AM243xCortex-R5F支持 8/16/32/64 位整数、单精度和双精度浮点。Cortex-A53支持全系列整数、浮点及 128 位 NEON 向量。Cortex-M4F仅支持 8/16/32 位整数和单精度浮点。ARM存储格式大端模式较高的有效字节存放在较低的存储器地址较低的有效字节存放在较高的存储器地址。数据地址存储单元0x123456780x0012330x780x0012320x560x0012310x340x0012300x12小端模式较高的有效字节存放在较高的存储器地址较低的有效字节存放在较低的存储器地址。数据地址存储单元0x123456780x0012330x120x0012320x340x0012310x560x0012300x78ARM处理器可以配置为其中任何一种存储方式。AM64x/AM243xCortex-R5F支持双端序可配置Cortex-A53支持双端序可配置Cortex-M4F仅支持小端Little-EndianARM的存储器层次以访问速度由快到慢寄存器组在CPU内部最快R0-R15Cache缓存I-Cache和D-Cache片上RAMSRAM主存DDR外部存储Flash等AM64x/AM243x拥有TCM紧耦合内存访问速度相当于缓存命中的Cache。ARM的中断控制ARM的异常分类ARM的异常可以分为三类。指令执行引起的直接异常——SWIUndefinedPrefech Abort指令执行引起的间接异常——Data Abort外部产生的与指令流无关的异常——ResetIRQFIQARM的中断异常向量表ARM 的中断异常向量表本质上是一张固定的“跳转地址表”。当异常如中断、复位发生时CPU 硬件会根据异常类型强制跳转到表中对应的固定地址去执行处理程序。异常向量表通常位于内存的最底部0x00000000固定占用 32 字节每个表项仅 4 字节刚好一条指令的空间。异常类型向量地址优先级处理器模式触发方式Reset0x000000001SVC上电/复位引脚Undefined0x000000046UND非法指令SWI0x000000086SVCSVC指令Prefech Abort0x0000000C5ABT取指地址非法Data Abort0x000000102ABT访存地址非法IRQ0x000000184IRQ外部中断请求FIQ0x0000001C3FIQ高优先级中断请求AM64x/AM243xCortex-R5FVIM向量中断管理器。VIM 会把外设中断映射到一个独立的中断向量表中这个表由 TI 配置地址可以重定位且受 ECC 保护。当发生中断时VIM 会直接提供对应 ISR 的入口地址效率比软件查表更高。Cortex-A53GIC通用中断控制器。ARM 官方标准为多核应用处理器设计。Cortex-M4FNVIC嵌套向量中断控制器。ARM 定义的 Cortex-M 标准组件深度集成在 CPU 内部硬件自动压栈、尾链、嵌套。ARM的异常中断响应过程硬件部分复制CPSR到SPSR_model设置正确的CPSR位切换到modelSP切换保存返回地址到LR_model设置PC跳转到相应的异常向量表入口软件部分把LR压栈保存返回地址把SPSR压栈保存状态把中断服务程序的寄存器压栈R0-R3, R12 等开中断允许嵌套中断中断服务执行完后恢复寄存器出栈弹出SPSR写回 CPSR和PC从LR恢复恢复执行AM64x/AM243xCortex-R5FTI 在 R5F前端集成了 VIM。当 IRQ 发生时VIM 会向 CPU 提供对应 ISR 的入口地址。因此硬件跳转这一步被极大地“加速”和“特化”了软件不再需要去读中断状态寄存器来判断来源。并且VIM 支持优先级嵌套高优先级中断可以打断正在执行的低优先级 ISRVIM 会把被打断的上下文压入内部堆栈处理完再恢复。Cortex-A53使用 GIC硬件自动化程度很高支持虚拟化中断等复杂功能。Cortex-M4F使用 NVIC会自动压栈关键寄存器PC、PSR、R0-R3 等。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

LikeShop 商城秒杀模块源码解读:限时秒杀从配置到执行的完整链路 2026/10/1 21:01:19

LikeShop 商城秒杀模块源码解读:限时秒杀从配置到执行的完整链路

一、前言 秒杀是电商系统中最典型的高并发场景,也是营销模块里技术复杂度最高的功能之一。它涉及的不只是“把价格改低、把时间限定住”这么简单——库存防超卖、请求削峰、订单归属、平台审核,每一个环节都需要独立的设计。 LikeShop 的秒杀模块在架构上…

阅读更多 →
多端数据分析平台的事件中心对比:神策、GrowingIO、火山引擎、456数据怎么选 2026/10/1 21:01:18

多端数据分析平台的事件中心对比:神策、GrowingIO、火山引擎、456数据怎么选

结论先行:选多端数据分析平台,先看它的事件中心——事件模型清不清晰、分析维度灵不灵活、埋点治理完不完善,这三件事决定你后面所有分析的地基。平台功能宣传各有侧重,我的建议是统一按 6 个维度逐家核对官方文档,再结…

阅读更多 →
计算机毕业设计之基于vue的流浪猫狗救助网站设计与实现 2026/10/1 21:01:17

计算机毕业设计之基于vue的流浪猫狗救助网站设计与实现

随着新经济的需求和新技术的发展,特别是网络技术的发展,如果可以建立起流浪猫狗救助网站设计与实现,就可以改变传统线下管理方式。由于中国存在很多的企业或者学校等等,目前为止仍然采用纸质化管理方式,整体管理方式相…

阅读更多 →
群晖NAS开启SSH root登录:原理、配置与安全加固 2026/10/1 21:01:08

群晖NAS开启SSH root登录:原理、配置与安全加固

群晖改了默认SSH登录账号这件事,我其实犹豫了很久要不要写。因为身边不少朋友第一台NAS都是群晖,从第三方套件、Docker容器跑到底层脚本,总会撞上“需要root权限”这堵墙——明明在SSH里登录了,敲sudo却被提示没有权限&#xff0c…

阅读更多 →
小红书笔试真题 9.13 - 避重口令(C++/Py/Java /Js/Go) 2026/10/1 21:01:08

小红书笔试真题 9.13 - 避重口令(C++/Py/Java /Js/Go)

避重口令小红书 9月13号 笔试真题 第一题题目描述 短视频审核后台要把已过审成片的标题按发布时间依次拼接,得到小写字符串 SSS。SSS 的每一个子序列(含 SSS 本身与空串)都被视为已经占用的口令,不能再给新专题使用。 求最短的、不…

阅读更多 →
企业微信API接口如何实现智能会议助手?从消息触发到会议任务处理 2026/10/1 21:01:01

企业微信API接口如何实现智能会议助手?从消息触发到会议任务处理

最近做的企微二开,要求会议全流程自动化——客户说"约个会聊下产品",机器人自动建会议、拉群、发提醒、会后生成纪要、提取待办。和之前聊的 AI 办公场景不同,那篇是泛泛讲几个场景,这篇重点是会议这个具体场景的完整接…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉