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

arm LDR指令

 

/*ulPortInterruptNestingConst = ulPortInterruptNestingConst +1*/

LDR r3, ulPortInterruptNestingConst    /*获取ulPortInterruptNestingConst位置的内容,即ulPortInterruptNesting变量对应的地址。所有如果访问ulPortInterruptNesting,需要LDR r1, [r3] 才会将ulPortInterruptNesting放到r1*/
LDR r1, [r3]
ADD r4, r1, #1
STR r4, [r3]

 

/* Call the interrupt handler. */
PUSH {r0-r4, lr}
LDR r1, vApplicationIRQHandlerConst  /*获取vApplicationIRQHandlerConst位置的内容,即HwiP_irq_handler_c,因为HwiP_irq_handler_c本身就是一个中断处理函数地址,所有能够使用 blx r1直接跳转到函数地址*/
BLX r1
POP {r0-r4, lr}
ADD sp, sp, r2

ulPortInterruptNestingConst: .word ulPortInterruptNesting
vApplicationIRQHandlerConst: .word HwiP_irq_handler_c

 

void __attribute__((section(".text.hwi"))) HwiP_irq_handler_c(void)
{
....
}
uint32_t ulPortInterruptNesting = 0UL;
 
总结:使用.word 关键字 分别将ulPortInterruptNesting的地址,以及HwiP_irq_handler_c(本身就是地址)按顺序放到特定位置
          另外一点ulPortInterruptNesting本身是不是指针都没有影响

 

http://www.aitangshan.cn/news/171.html

相关文章:

  • QNAP QTS SSL Certificate 证书更新修复
  • Python入门学习(九)Python的高级语法与用法(二)闭包
  • 工程师团队如何打造4K流媒体设备的创新技术
  • 【题解】P4063 [JXOI2017] 数列
  • mount: /mnt/hgfs/vm_share: unknown filesystem type vmhgfs - hbg
  • 8月11日总结
  • OpenCV-鱼眼相机图像处理
  • 新高一暑假二期集训 Week 1
  • ZR 25 summer D6T1 题解 | 思维、数学(计算几何)
  • 线程安全的集合类 ConcurrentQueue、ConcurrentStack、BlockingCollection、ConcurrentBag、ConcurrentDictionary
  • 【自学嵌入式:stm32单片机】对射式红外传感器记次
  • Rime-weasel 中州韻輸入法-小狼毫 输入法候选框不显示拼音的解决办法
  • 从美世《中国员工敬业度员工体验白皮书》看AI如何改善员工体验
  • 线程安全的集合类 ConcurrentQueue、BlockingCollection、ConcurrentBag
  • 通达信指标泰乐1号战法指标分享(无偿分享全套指标)
  • 差分约束
  • CMake的简单示例
  • 《乐毅报燕王书》
  • 浅谈C++ const
  • NextJS 02 - 服务端渲染
  • Supervisor安装与使用
  • 假期学习
  • 深入解析:【JavaEE】多线程之Thread类(下)
  • proxmox云镜像安装过程
  • 为什么Moka能留住核心人才?智能继任计划+离职风险预测
  • 文件访问被拒绝。
  • ArcgisPro ArcPy (还未)实现缩放至图层
  • Linux环境 RocketMQ 5.X 三主三从集群部署
  • 从嘉手札2025-8-11
  • android开发将项目升级到target35的解决方法