TMS320F28379D: Clarification on Shared RAM Definition in Dual-CPU F28379D RAM Linker Command Files

Part Number: TMS320F28379D
Other Parts Discussed in Thread: C2000WARE

Tool/software:

Hello,

I am currently studying RAM management on the F28379D and using the ram dual-CPU example from C2000Ware (C2000Ware_6_00_00_00\driverlib\f2837xd\examples\dual\ram). I noticed that the project includes three .cmd files per CPU:

  • Headers_nonBIOS_cpuX.cmd

  • RAM_lnk_shared_cpuX.cmd

  • ram_ex1_isr_cpuX.cmd

In the comments, it is mentioned that “Shared RAM regions are defined in both the CPU2 and CPU1 linker files.”

However, when I look at RAM_lnk_shared_cpu1.cmd and RAM_lnk_shared_cpu2.cmd, I see that both contain the exact same MEMORY definitions, including all GSx RAM regions

(e.g., RAMGS0      : origin = 0x00C000, length = 0x001000      "to"         RAMGS15          : origin = 0x01B000, length = 0x000FF8 ).

My question is: is this the correct approach, or should the linker command files reflect the actual RAM ownership configuration? Specifically:

  1. Should I define only those GS RAM blocks (e.g., GS0, GS14) that are owned by CPU2 in the CPU2 linker file, and comment them out in the CPU1 linker file?

  2. Or, should I still define those GS RAM blocks in both CPU1 and CPU2 linker files (i.e., do not comment them out), with actual ownership being controlled only through the CPU system control registers (e.g., MemCfgRegs.GSxMSEL)? i.e in CPU2 linker cmd file GS0 and GS14 will be defined (without commenting them out in CPU1 linker cmd file)

  3. or do I need to define all GS RAM regions in both CPU linker command files, regardless of ownership?

I would appreciate clarification on the intended practice here.

And also when i build the "ram" project (C2000Ware_6_00_00_00\driverlib\f2837xd\examples\dual\ram). I get a lot of similar kind of warnings (a couple of them are as below. I am not sure if any file is missing? 


[16]"C:/ti/C2000Ware_6_00_00_00/device_support/f2837xd/common/include/F2837xD_Ipc_drivers.h", line 74: warning #48-D: incompatible redefinition of macro "IPC_BUFFER_SIZE" (declared at line 89 of "C2000Ware_6_00_00_00/driverlib/f2837xd/driverlib/ipc.h")


[55]"C:/ti/C2000Ware_6_00_00_00/device_support/f2837xd/common/include/F2837xD_Ipc_drivers.h", line 238: warning #48-D: incompatible redefinition of macro "C1C2_BROM_BOOTMODE_BOOT_FROM_SCI" (declared at line 201 of )

Thank you,
Vijaymahantesh V Surkod