sys.c 398 B

1234567891011121314151617181920212223242526
  1. #include "sys.h"
  2. //采用如下方法实现执行汇编指令WFI
  3. void WFI_SET(void)
  4. {
  5. __ASM volatile("wfi");
  6. }
  7. //关闭所有中断
  8. void INTX_DISABLE(void)
  9. {
  10. __ASM volatile("cpsid i");
  11. }
  12. //开启所有中断
  13. void INTX_ENABLE(void)
  14. {
  15. __ASM volatile("cpsie i");
  16. }
  17. //设置栈顶地址
  18. //addr:栈顶地址
  19. __asm void MSR_MSP(u32 addr)
  20. {
  21. MSR MSP, r0 //set Main Stack value
  22. BX r14
  23. }