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

跳转汇编指令解读

__asm volatile (
"cpsid i\n" // ① 关闭全局中断(PRIMASK=1)
"ldr r0, =0xE000ED08\n" // ② R0 = VTOR 寄存器的地址(0xE000ED08)
"str %1, [r0]\n" // ③ 将 appBinStartAddr 写入 VTOR(重映射向量表)
"ldr r0, [%1]\n" // ④ 从 appBinStartAddr 处读取第一个字(即初始 MSP 值)
"msr msp, r0\n" // ⑤ 设置主堆栈指针(MSP)为上述值
"dsb\n" // ⑥ 数据同步屏障(确保之前的写操作完成)
"isb\n" // ⑦ 指令同步屏障(刷新流水线,确保新 VTOR 生效)
"bx %0\n" // ⑧ 跳转到 appStartAddr(复位处理函数地址)
:
: "r"(appStartAddr), "r"(appBinStartAddr) // 输入操作数
: "r0", "memory" // 被修改的寄存器和内存
);

appBinStartAddr:编译好的hex文件的起始地址

appStartAddr:appBinStartAddr地址+4,一般是reset_handler函数存放的地址

cpsid i, 关闭全局中断

"ldr r0, =0xE000ED08\n" ,将SCB->VTOR寄存器的地址赋值给R0

"str %1, [r0]\n", 将appBinStartAddr的地址赋值给SCB->VTOR 重新映射中断向量表。

"ldr r0, [%1]\n": 读取栈顶的指针

"msr msp, r0\n":将栈顶指针的数据赋值给msp。

dsb isb:data synchronization barraier,instruction synchronization barraier,一个是用于所有的内存访问完成,阻塞式的。一个是用于取指令的动作访问完成,阻塞式的

"bx %0\n":bx appStartAddr,直接调准到reset_handler地址

http://www.jsqmd.com/news/1190708/

相关文章:

  • 3分钟终极指南:免费解锁Microsoft 365完整功能的简单方法
  • 2026年台州专业打合伙纠纷的律师有哪些 - 品牌排行榜
  • 模板驱动型文档自动化:企业级结构化文档生成原理与实践
  • Kimi LeetCode 3563. 移除相邻字符后字典序最小的字符串 Rust实现
  • 探究-Java字符串比较:从==与equals的误区到字符串常量池的深度解析
  • Rust 为 Python 补位:CPU密集、高并发、内存敏感与系统级扩展四大场景
  • 大学物理C:从真题拆解到核心概念贯通【个人学习笔记】【欢迎探讨指正】
  • (2026最新)南充防水补漏本地人必选的正规靠谱公司推荐-房屋漏水检测维修师傅上门-卫生间/厨房/阳台/房顶/外墙漏水检测精准测漏 - 即刻修防水
  • 2026年金相仪器品牌推荐榜:金相切割机/镶嵌机/研磨抛光机/显微镜源头厂家实力解析与选购指南 - 甄选服务推荐
  • STM32F407驱动HC-SR04实现厘米级超声波测距的Keil工程源码
  • ggplot2条形图原理精讲:geom_bar与geom_col的本质区别
  • (2026最新)南昌防水补漏本地人必选的正规靠谱公司推荐-房屋漏水检测维修师傅上门-卫生间/厨房/阳台/房顶/外墙漏水检测精准测漏 - 即刻修防水
  • WPF应用启动性能优化与启动画面实践
  • Matplotlib安装全攻略:从新手到专家的环境搭建指南
  • 基于STM32F103和AD9851的可调波形信号发生器工程包(含LCD菜单、DAC输出与完整驱动)
  • (2026最新)南充漏水检测维修师傅上门-正规防水补漏公司本地居民实测推荐五家-卫生间/屋顶/厨房/阳台/外墙/地下室专业仪器精准检测漏水点 - 安佳防水
  • 黄金分割法:从数学之美到工程优化的实战解析
  • 终极指南:基于真实充电数据的电动汽车电池健康度预测
  • Rerank 为什么重要?RAG 不只是把 TopK 塞给模型
  • 2026 年现阶段四子王旗值得关注的中厚板切割厂家哪家强,千万别让这玩意儿毁了你的预算,内行人揭秘省钱门道。 - 行业甄选官
  • Matlab(R2014a版本)一阶、二阶系统响应:从极点分布到系统稳定性实战解析
  • 2026年衢州市防油汉堡盒源头厂家综合体验测评 - 热点品牌推荐
  • 亲身探访北京泰格豪雅官方售后服务中心|官方电话及详细网点地址(2026年7月最新) - 亨得利官方服务中心
  • 数据挖掘-实战解析(二)基于多算法对比的乳腺癌数据聚类评估与优化
  • AI研发中的优化陷阱:当目标函数掩盖了真实问题
  • 从零到一:基于T265与PX4的无人机室内VIO自主飞行系统搭建全攻略
  • Pandas性能优化七步实战:从卡顿到秒级响应
  • 合肥及安徽各地女士科技记忆假发实体门店选购实用指南 - 热点品牌推荐
  • 电子滤波器实战:从RC到晶体管,如何用‘小电流’实现‘大滤波’效果
  • Python桌面应用自动化:从入门到实战的完整指南