0
点赞
收藏
分享

微信扫一扫

ARM 汇编指令 CPS CPSID CPSIE


前言

  • 移植基于ARM平台的RTOS时,需要掌握一些基本的汇编指令,只有熟悉了这些ARM 的汇编指令,才能真正的掌握RTOS的移植方法

CPSID

  • 通过ARM 官方的文档,真正熟悉这个 ​​CPSID​​ 的含义与用法
  • 官方关连接:​​https://developer.arm.com/documentation/dui0489/c/arm-and-thumb-instructions/miscellaneous-instructions/cps​​

CPS

  • 原来 CPSID 是由 CPS 与 ID 两个部分组成的
  • CPS (Change Processor State) changes one or more of the mode, A, I, and F bits in the CPSR, without changing the other CPSR bits.
  • 更改处理器状态,单独更改 A、 I、 F CPSR的寄存器的位
  • CPS is only permitted in privileged software execution, and has no effect in User mode.
  • CPS 指令用于需要在特权模式下使用,也就是默认C的代码在用户模式,不能直接操作CPS指令,需要使用汇编来操作
  • CPS cannot be conditional, and is not permitted in an IT block.
  • CPS 不能中断阻塞

CPS 的Mode

  • IE : Interrupt or abort enable. 中断或 abort异常 使能
  • ID : Interrupt or abort disable. 中断或 abort 异常 禁能

CPS flags

  • a : Enables or disables imprecise aborts. abort 异常
  • i : Enables or disables IRQ interrupts. IRQ中断
  • f : Enables or disables FIQ interrupts. FIQ中断

CPSID

  • CPSID : Change Processor State Interrupt or abort disable : 禁用IRQ中断或abort异常

CPSID I

  • CPSID I : Change Processor State disables IRQ interrupts : 禁用 IRQ 中断

CPSIE

  • CPSID : Change Processor State Interrupt or abort enable : 使能IRQ中断或abort异常

CPSIE I

  • CPSID : Change Processor State enable IRQ interrupts : 使能IRQ中断

小结

  • 通过查看ARM官方的文档,真正了解 CPSID 与 CPSIE的 作用与用法


举报

相关推荐

0 条评论