szxm 发表于 2025-9-3 09:36

HC32L021 IAP 偏移做了映射,能跳转但进不了APP程序中断

HC32L021 这颗芯片想做IAP升级功能,偏移做了映射,能跳转但进不了APP程序中断,一直在main()while处:

void JumpToApplication(void)
{
    typedef void (*pFunction)(void);
    pFunction Jump_To_Application;
    uint32_t JumpAddress;

    // 检查应用程序地址是否有效
    if ((*(__IO uint32_t*)APP_START_ADDR) == 0xFFFFFFFF) {
      return; // 没有有效的应用程序
    }

    // 禁用所有中断
    __disable_irq();

    // 设置主堆栈指针
    __set_MSP(*(__IO uint32_t*)APP_START_ADDR);

    // 获取复位处理函数地址
    JumpAddress = *(__IO uint32_t*)(APP_START_ADDR + 4);
    Jump_To_Application = (pFunction)JumpAddress;

    // 跳转到应用程序
    Jump_To_Application();
}
APP设置:







请大神们帮忙分析一下,问题出在哪了,要如何查找问题




wubangmi 发表于 2025-9-3 17:34

本帖最后由 wubangmi 于 2025-9-3 17:37 编辑

找一个代理商的小伙伴支持你或者我可以支持你搞出来,你在我们公司买货,{:lol:}

dffzh 发表于 2025-9-4 09:41

是可以正常从boot跳转到app?然后app程序运行异常?

linguanghua 发表于 2025-9-5 13:53

主函数里打印一下中断偏移寄存器修改了没有。
还有总中断开了没。
页: [1]
查看完整版本: HC32L021 IAP 偏移做了映射,能跳转但进不了APP程序中断