Part Number: F28377D-SEP
Other Parts Discussed in Thread: TMS320F28388D, SYSCONFIG, C2000WARE
Hi, I am working with the TMS320F28388D dual‑core MCU (CPU1 + CPU2).
My use case is as follows:
- Fault data is generated in CPU1.
- I want to store all fault logs in a dedicated raw flash area owned by CPU2.
- Therefore, CPU1 will transfer the fault data to CPU2 (using IPC), and CPU2 will write the data into its flash region.
This design is intentional: CPU1 only sends data, and CPU2 alone accesses and writes to its flash.
From my understanding:
- CPU1 is responsible for system boot, flash configuration, and overall ownership setup.
- CPU2 is booted by CPU1 and runs its own application.
- The application is built as two separate CCS projects, one for CPU1 and one for CPU2.
I run into errors when trying to set up or program these flash‑related settings. I found recommendations stating that:
- Flash configuration must be done from a CPU1‑dedicated project.
The problem is that:
- When creating a new project in CCS, TI‑provided example projects appear generic, and it’s unclear how to ensure the project is truly CPU1/CPU2‑specific.
- Because of this, I’m unsure whether my CPU1 project is correctly set up to handle flash configuration and CPU2 booting. (Becuase it throws error when I write boot commands)
How to correctly create or identify a CPU1‑dedicated CCS project suitable for:
- Flash configuration
- Flash sector allocation
- CPU2 boot control
What is the recommended way to manage this kind of cross‑CPU flash logging use case on F28388D without running into flash ownership or boot configuration errors.
Below is the image for creating new project - no option to select the CPUs
When I use an example project (dual empty projects with sysconfig - as recommended by Ti), I enable the flash in sysconfig and write the below line of code in c. But when I build it, errors are present
void main(void)
{
Device_init();
Device_initGPIO();
Board_init();
MemCfg_setBusMasterAccess(MEMCFG_SECT14, MEMCFG_MASTER_CPU2);
MemCfg_setBusMasterAccess(MEMCFG_SECT15, MEMCFG_MASTER_CPU2);
Device_bootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH);
while(1)
{
}
}
This has blocked me from working further on the project. Let me know how to solve it.









