单片机/MCU论坛
直播中

王强

8年用户 1422经验值
私信 关注
[问答]

关于使用FlsLoader_Erase擦除UCB的疑问求解

您好:
板子是TC389,函数FlsLoader_Erase的解释:
FlsLoader_ReturnType FlsLoader_Erase(const FlsLoader_AddressType TargetAddress,  const FlsLoader_LengthType Length);

其中 Length: Number of Flash (PFlash or DFlash) sectors to  be erased.

Note: Number of sectors should lie within  single Flash bank. Erase operation across the Flash  banks is not supported.  TargetAddress: Target address in Flash memory. It  should be aligned to the following sector sizes of the  selected Flash for erase.
PFlash: 16 Kbyte
DFlash: 4 Kbyte

我做了使用该接口擦除UCB的测试,擦除地址是0xaf400200,长度是1个sector,但是只擦除了1个UCB 512字节的内容,并不是8个UCB 4Kbyte的长度,想询问下这种情况是正常的吗,如果我要擦除配置HSM启动的这个UCB(0xaf402804, 0xaf402818这个UCB)的话,是不是也是可以用这个接口呢,会将前后的UCB一起擦除吗?



                                                                                                                                                                                                                                                                                                                                                                                             

回帖(1)

爱吃果冻

2024-1-18 17:12:40
函数FlsLoader_Erase用于擦除UCB(User Configuration Block)。该函数的参数解释如下:

1. TargetAddress:目标地址,即要擦除的UCB起始地址。
2. Length:要擦除的Flash(PFlash或DFlash)扇区数。注意:扇区数必须在单个Flash bank中。不支持跨Flash bank进行擦除操作。

对于您提到的TC389板子,您可以使用该函数来擦除UCB。需要指定有效的TargetAddress和Length参数,根据UCB所在的Flash扇区数量来设置Length值。注意不要跨Flash bank进行擦除操作。

请您确认UCB所在的Flash bank位置,并根据其扇区数量来设置Length值。然后调用FlsLoader_Erase函数来执行擦除操作。
举报

更多回帖

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