【RH850/U2A】:通过R寄存器和上下文变量定位异常(GreenHills操作)

通过R寄存器和上下文变量定位异常(GreenHills操作)

  • 前言
  • R寄存器
    • 举例
  • 上下文变量
    • 瑞莎U2A8的控制寄存器
    • VECTOR的OS实现Context记录
      • Context原型
      • 异常时Context的记录
  • 总结

前言

单片机开发大部分属于C开发,因C开发的灵活性,经常导致系统内存被踩(比如:数组越界),操作异常(非对齐地址的操作:对非4字节对齐地址进行32bit赋值操作)。

这些异常问题,基本藏得很深,配查难度打,所以,我们必须要采用一套便于我们分析的方法,来辅助我们分析异常问题。

基于上述迫切需求,我们发现单片机基本是ARM内核,ARM内核工作时有哪些寄存器供我们使用呢?带着这些疑问我们开始接下来的分析。

R寄存器

瑞莎U2A8和常规单片机一样,他属于ARM系列,R寄存器则是内核执行PC指令是所暂存的状态寄存器

你可能感兴趣的:(c语言,vscode,python)