ZHCADG6A December 2023 – April 2024 TMS320F2800157 , TMS320F280039 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1 , TMS320F28P659DK-Q1
F28P55x MCAN 闪存内核允许用户指定在将应用程序加载到闪存之前应擦除哪些闪存组和闪存扇区。在 flash_kernel_ex4_can_flash_kernel.c 文件中,有四个 32 位无符号整数数组用于控制内核擦除的闪存组和扇区。
uint32_t Flash_Banks_To_Erase[5] = {0,1,2,3,4};
uint32_t CMD_WE_Protection_A_Masks[5] = {0,0,0,0,0};
uint32_t CMD_WE_Protection_B_Masks[5] = {0,0,0,0,0};
uint32_t CMD_WE_Protection_UO_Masks[5] = {0,0,0,0,0};
在 Flash_Banks_To_Erase 内,应输入闪存组编号。在 CMD_WE_Protection_A_Masks 内,应输入与 Flash_Banks_To_Erase 中每个闪存组的扇区 0-31 相对应的写入/擦除保护掩码。如上所示,每个闪存组的闪存扇区 0-31 将被擦除。在 CMD_WE_Protection_B_Masks 内,应输入与 Flash_Banks_To_Erase 中每个闪存组的扇区 32-127 相对应的写入/擦除保护掩码。如上所示,每个闪存组的闪存扇区 32-127 将被擦除。更多有关这些掩码的信息,请参阅特定于器件的闪存 API 指南。同样,CMD_WE_Protection_UO_Masks 中应填充每个闪存组的 OTP 所需的掩码。请注意,配置该数组不会导致 OTP 被擦除,而是使器件能够在应用程序加载期间对闪存组的 OTP 进行编程。
此外,将应用程序编程到闪存时使用 CMD_WE_Protection_A_Masks 和 CMD_WE_Protection_B_Masks。根据正在编程的数据的目标地址确定正确的掩码。
根据需要配置这些数组后,重新编译闪存内核并生成新的内核映像。