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