SPRUHM8K December 2013 – May 2024 TMS320F28374D , TMS320F28375D , TMS320F28376D , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28378D , TMS320F28379D , TMS320F28379D-Q1
There is a dedicated Flash module controller in both the CPU1 subsystem (CPU1-FMC) and the CPU2 subsystem (CPU2-FMC). The CPU1 in the CPU1 subsystem interfaces with the CPU1 Flash module controller (CPU1-FMC), which in turn, interfaces with the CPU1 Flash bank and shared pump to perform erase/program operations as well as to read data/execute code from the CPU1 Flash bank.
The CPU2 in the CPU2 subsystem interfaces with the CPU2 Flash module controller (CPU2-FMC) which in turn, interfaces with the CPU2 Flash bank and shared pump to perform erase and program operations as well as to read data and execute code from the CPU2 Flash bank. Control signals to the Flash pump are controlled by either CPU2-FMC or CPU1-FMC, depending on who gains the Flash pump semaphore.
There is a state machine in both CPU1-FMC and CPU2-FMC that generates the erase and program sequences in hardware. This simplifies the Flash API software that configures control registers in the FMC to perform Flash erase and program operations (see TMS320F2837xD Flash API Version 1.54 Reference Guide, for details on Flash API).