嵌入式技术william hill官网
直播中

bigbangboom

8年用户 1296经验值
擅长:电源/新能源
私信 关注
[问答]

为什么在rt-thread上移植HC32F4A0的IAP例程却始终跳不进APP中呢

你好,现在我们在rt-thread上移植华大HC32F4A0的IAP例程的时候始终跳不进APP中,在判断更新标志的时候就报错了,有没有可以直接跑的IAP程序可以提供,谢谢!

回帖(3)

h1654155275.5614

2022-8-17 12:48:52
现成的程序还没有,RT有HC32F4A0的BSP,先把RT程序跑通,然后再移植IAP程序,过程遇到问题慢慢排查了。如果解决不了可以把具体的问题发出来,大家帮忙看看。
建议可以尝试一下软件包QBOOT
举报

bigbangboom

2022-8-17 12:49:15
现在报错跳转失败在boot的这个地方:
1.jpg
629b2381786b730c99d98aa6169e5723.png
IAP的跳转地址都已经修改过来,

#ifndef HC32F4A0
    #define HC32F4A0
#endif
/* Flash definitions */
#if defined(HC32F460) || defined(HC32F4A0)
   // #define EFM_BASE                    (M4_EFM)
    #define FLASH_SECTOR_SIZE           (0x2000UL)
    #define FLASH_BASE                  (0UL)
    #if defined(HC32F460)
        #define FLASH_SIZE              (64U * FLASH_SECTOR_SIZE)
        #define SRAM_BASE               (0x1FFF8000UL)
        #define RAM_SIZE                (0x02F000UL)
    #elif defined(HC32F4A0)
        #define FLASH_SIZE              (256U * FLASH_SECTOR_SIZE)
        #define SRAM_BASE               (0x1FFE0000UL)
        #define RAM_SIZE                (0x080000UL)
#define BOOT_WAIT_TIME                  (2000UL)    //ms
#if defined(HC32F460) || defined(HC32F4A0)
    #define BOOT_SIZE                   (128U * FLASH_SECTOR_SIZE)
#elif defined(HC32F120) || defined(HC32M120) || defined(HC32F160)
    #define BOOT_SIZE                   (8U * FLASH_SECTOR_SIZE)
#elif defined(HC32M423)
    #define BOOT_SIZE                   (16U * FLASH_SECTOR_SIZE)
#endif
#define APP_FLAG_ADDRESS                (FLASH_BASE + BOOT_SIZE - 4U)
#define APP_UPGRADE_ADDRESS             (FLASH_BASE + BOOT_SIZE - 8U)
#define APP_RUN_ADDRESS                 (FLASH_BASE + BOOT_SIZE - 12U)
#define APP_FLAG                        (0x67890123UL)
#define APP_UPGRADE_FLAG                (0xA5B6C7D8UL)
举报

李波

2022-8-17 12:49:35
你的app烧进去了吗?没有app的话,qboot跳转到app失败就是正常的了
qboot中有对HC32F460的支持,你可以参考HC32F460实现对HC32F4A0的支持。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分