ZHCUBW3 April 2024
本参考指南详细介绍了德州仪器 (TI) 的 TMS320F28P65x 闪存 API 库(FAPI_F28P65x _EABI_v3.00.02.lib 或 FAPI_F28P65x _COFF_v3.00.02.lib)函数,可用于对 TMS320F28P65x 器件进行擦除、编程和验证。请注意,闪存 API V3.00.XX.XX 应仅与 TMS320F28P65x 器件一起使用。在 C2000Ware 中提供了闪存 API 库,位置为 C2000Ware_x_xx_xx_xx\libraries\flash_api\F28P65x。
TMS320F28P65x 器件最多具有五个闪存组。在这五个闪存组中,用户应用程序可以根据应用程序的要求,使用 BANKMUXSEL 寄存器将任何闪存组映射到任何 CPU(CPU1 或 CPU2)。由于此器件中只有一个闪存封装器(且只有一个闪存泵),因此每次只能擦除/编辑一个闪存组。提供信标(被称为 FLASHCTLSEM 或 FLASHSEM)来管理两个 CPU 之间的闪存封装器所有权。在执行任何闪存擦除/编程操作之前,给定的 CPU 必须通过使用该信标获得闪存封装器的所有权。一旦擦除和编程操作完成,相应的 CPU 应该使用此信标放弃闪存封装器的所有权,以便在需要时允许另一个 CPU 获得闪存封装器的所有权。有关 BANKMUXSEL 和 FLASHCTLSEM(也称为 FLASHSEM)寄存器的更多详细信息,请参阅 TMS320F28P65x 实时微控制器技术参考手册。请注意,闪存 API 库不会配置这些寄存器。在使用闪存 API 库执行任何闪存擦除/编程操作之前,用户应用程序应根据应用程序的要求配置这些寄存器。C2000Ware 中提供的闪存 API 使用示例使用 IPC_claimFlashSemaphore() 配置 FLASHCTLSEM,使用 SysCtl_allocateFlashBank() 配置 BANKMUXSEL。这些函数在 driverLib 中提供。请参阅 C2000Ware 中提供的闪存编程示例,该示例位于“C2000Ware_.....\driverlib\F28P65x\examples\....\flash\flashapi_128bit_programming\flashapi_cpu1_128bitprogramming.c”