SPRAD51A December 2023 – April 2024 F29H850TU , F29H859TU-Q1 , TMS320F2800157 , TMS320F280039 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1 , TMS320F28P659DK-Q1
Before programming a device, it is necessary to understand how the non-volatile memory of C2000 devices works. Flash is a non-volatile memory that allows users to easily erase and re-program it. Erase operations set all the bits in a sector to '1' while programming operations selectively clear bits to '0'. Flash on certain devices can only be erased one sector at a time, but others have bank erase options.
Flash operations on all C2000 devices are performed using the CPU. Algorithms are loaded into RAM and executed by the CPU to perform any flash operation. For example, erasing or programming the flash of a C2000 device with Code Composer Studio™ entails loading flash algorithms into RAM and letting the processor execute them. There are no special JTAG commands that are used. All flash operations are performed using the flash application programming interface (API). Because all flash operations are done using the CPU, there are many possibilities for device programming. Irrespective of how the kernels and application are brought into the device, flash is programmed using the CPU.
The term DCAN used in this report - DCAN flash kernels, DCAN flash programmer, and so forth refer to the Controller Area Network communication interface (CAN) [8]. The DCAN flash programmer described in this document refers to the CAN module.
The term MCAN used in this report - MCAN flash kernels, CAN flash programmer, and so forth refer to the Modular Controller Area Network (MCAN). MCAN is an interchangeable term with Controller Area Network Flexible Data-Rate (CAN-FD) [9]. The CAN flash programmer described in this document refers to the MCAN module.
In future releases, the naming convention for DCAN and MCAN flash projects will be made consistent for their related usage.