【经验】如何在程序中修改RH850芯片的复位向量

【经验】如何在程序中修改RH850芯片的复位向量

时间: 2021-09-14 来源:世强

MCU,RH850,Renesas

MCU,RH850,Renesas

MCU,RH850,Renesas

MCU,RH850,Renesas

MCU的复位向量指的是MCU上电后,所跑的第一条指令所在的地址。车载器件需要以bootloader方式来升级程序,而bootlaoder将MCU的程序代码段分为两个代码段,甚至更多代码段。当更新程序时,我们需要从当前的程序切换到新的程序地址,此时我们可以通过修改复位向量的方式来切换程序。本文介绍瑞萨RH850芯片如何修改复位向量?

瑞萨RH850芯片的上电复位向量默认地址是0x0000,如果我们需要在程序中修改复位向量,则需要调用瑞萨的FCL库来实现。

FCL库中需要打开#define R_FCL_SUPPORT_RESETVECTOR,此时FCL库可以支持修改复位向量的指令:R_FCL_CMD_SET_RESET_VECTOR。

相关参数介绍:

1.   command_enu: 填入R_FCL_CMD_SET_RESET_VECTOR命令

2.   bufferAdd_u32:填入修改后的复位向量值。

在上述参数初始化后,调用R_FCL_Execute(r_fcl_request_t * request_pstr)后根据request_pstr.status_enu返回值来判断是否修改成功。修改复位向量成功后,重新执行复位,程序即可从修改后的复位向量地址开始跑。

我们可以通过R_FCL_CMD_GET_RESET_VECTOR命令来获取当前的RESET_VECTOR是否被正常修改。

通过上述操作,我们即可实现在更新APP程序后,复位MCU,直接从新的APP程序的复位向量地址开始运行程序,简单快速的实现bootloader的程序切换。

相关推荐

  1. AI芯片设计未来

    2024-01-17 07:30:01       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-17 07:30:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-17 07:30:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-17 07:30:01       87 阅读
  4. Python语言-面向对象

    2024-01-17 07:30:01       96 阅读

热门阅读

  1. 2024华数杯数学建模A题思路模型代码论文

    2024-01-17 07:30:01       56 阅读
  2. 【DevOps-08-4】Jenkins实现自定义镜像并推送到Harbor

    2024-01-17 07:30:01       50 阅读
  3. 我的2023年个人总结

    2024-01-17 07:30:01       50 阅读
  4. 给APM固定翼增加相机

    2024-01-17 07:30:01       43 阅读
  5. Opencv_棋盘格标定相机

    2024-01-17 07:30:01       46 阅读