单片机/MCU论坛
直播中

尤立虔

7年用户 972经验值
擅长:控制/MCU
私信 关注

请问如何激活Traveo II (TVIIBH4M) 引导加载程序?

嗨,我目前正在从事一个需要通过CAN刷新Traveo II的项目。 因此,我想激活引导加载程序,以便我能够"根据 AN227076 使用命令"进入引导加载器并开始向 Traveo II 加载新固件。
从 Traveo II TRM 来看,我知道激活引导加载程序有 3 个主要要求:
1.CPUS.PROTECtiON= 安全
2.TOC2 状态要么是已擦除,要么是有效的,SFLASH.TOC2_FLASH 位 FB_BOOTLOADER_DISABLOAD 为零 3。
0x1000000000(第一个应用程序闪存地址;代码闪存大扇区地址)的前两个 32 位单词等于 0xFFFFFFF
我 CAN 确认 Traveo II 满足第 1 点和第 2 点。
我目前的阶段是第 3 点,我正在使用 SROM API:Cy_FlashSectorErase 和 Cy_FlashWriteCode 擦除,然后将0xFFFFFFFF写入0x10000000和0x10000004。
但是,当我使用 OpenOCD 读取 0x10000000 和 0x1000004 的内存时,Traveo II 似乎没有执行 SROM API,因为 0x10000000 存储 0x2808000(SRAM 1 第一个地址),0x1000004 存储 0x10002845。
我该如何解决这个问题?
此外,是否有编写引导加载程序固件的参考/示例?
备注:我将代码存储在 CM0+ 上,我正在使用 Flash API 的屏蔽模式

回帖(1)

杨静

2024-2-1 17:08:45
要激活Traveo II (TVIIBH4M)引导加载程序,您需要执行以下步骤:

1. 确保Traveo II的CPUS.PROTECTION设置为安全。可以通过读取这个寄存器的值来确认。如果不是安全模式,请将其设置为安全模式。

2. 确保TOC2的状态要么是已擦除,要么是有效的。可以通过读取TOC2的状态来确认。如果TOC2的状态不是已擦除或有效,请擦除或创建有效的TOC2。

3. 确保SFLASH.TOC2_FLASH位的FB_BOOTLOADER_DISABLOAD为零。可以通过读取SFLASH寄存器中的该位的值来确认。如果该位的值不是零,请将其设置为零。

4. 确保0x1000000000(第一个应用程序闪存地址)的前两个32位单词等于0xFFFFFFFF。可以通过读取闪存中该地址处的值来确认。如果前两个32位单词不等于0xFFFFFFFF,请将其设置为0xFFFFFFFF。

完成以上步骤后,Traveo II引导加载程序将被激活,您就可以按照AN227076中的命令进入引导加载程序,并开始向Traveo II加载新固件。
举报

更多回帖

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