Part Number: TMS320F28377D
Other Parts Discussed in Thread: CONTROLSUITE, POWERSUITE
Part Number: TMS320F28377D
Other Parts Discussed in Thread: CONTROLSUITE, POWERSUITE
Hello,
I have identified the SDK as one of controlSUITE v3.3.9-v3.4.3. (powerSUITE V1.05.00.00)
My customer is currently performing software changes to a preexisting system, and as a result updating to the newest SDK/CCS may not be feasible at this time.
Thank you,
Michael
Hello,
I believe that the default gel file (emulation\gel\f28377d_cpu1.gel) is being used.
I can provide the gel file, alongside the cmd and map files, for your review.
My apologies but this is a time-sensitive issue, so I would appreciate any assistance you can provide at your earliest convenience.
I look forward to your guidance.
Best regards,
Michael
Hi Ira,
Thank you for the response.
I've sent you a friend request so that I can share the files with you privately.
If you have another preferred method for sharing files securely, please let me know.
Best regards,
Michael
Hi Michael,
Sorry for the late reply. The most likely trigger for the warning is this: sections are being placed into OTP (One-Time Programmable) memory regions that the debugger/loader considers non-writable at load time.
From the map file:
DCSM_OTP_Z1_LINKPOINT 00078000 0000000c 0000000c 00000000 RWIX
DCSM_OTP_Z1_PSWDLOCK 00078010 00000004 00000004 00000000 RWIX
DCSM_OTP_Z1_CRCLOCK 00078014 00000004 00000004 00000000 RWIX
DCSM_OTP_Z1_BOOTCTRL 0007801c 00000004 00000004 00000000 RWIX
DCSM_ZSEL_Z1_P0 00078020 00000010 00000010 00000000 RWIX
All Z1 OTP sections show used = length (fully occupied) and are being actively loaded. These regions map to physical OTP flash at 0x78000
The GEL-based Memory Map Initialization sets these regions as read-only after initialization, and the XDS100v2 loader will flag them as non-writable.
The Z2 OTP sections, by contrast, show used = 0 they are defined but empty, which is correct behavior for an unpopulated zone.
Specific Issues Found
1. DCSM OTP Sections Are Loaded (Not DSECTed)
The dcsm_otp_z1_* sections in the .cmd file are mapped directly with > (load placement). If these already contain programmed values in OTP, the loader cannot overwrite them as OTP can only be written once. This triggers the warning.
Fix: If these sections are only needed for reading (zone configuration already programmed), they should use TYPE = DSECT or TYPE = NOLOAD
to prevent the loader from attempting to write:
dcsm_otp_z1_linkpointer : > DCSM_OTP_Z1_LINKPOINTER, PAGE = 0, TYPE = DSECT
Note that DcsmZ1OtpFile and DcsmZ2OtpFile in the map file are already correctly marked as NOLOAD SECTION the same treatment should be applied to the individual DCSM OTP sections if they are already programmed.
So here are the 2 things to try
1. Add TYPE = DSECT or TYPE = NOLOAD to all dcsm_otp_z1_* section mappings if the OTP is already programmed.
2. Verify whether Z1 OTP regions at 0x78000–0x7802F have already been programmed; if so, the loader cannot touch them
Hi Ira,
Thank you for the response.
My customer has now tested both suggestions:
TYPE = DSECT to all dcsm_otp_z1_* section mappings.TYPE = NOLOAD.However, in both cases the loader warning remains unchanged.
In addition, I checked the Z1 OTP region (0x78000–0x7802F) using the CCS Memory Browser and confirmed that some locations contain values other than 0xFF, indicating that at least part of the OTP region has already been programmed.
Since the warning still persists even after changing the section types, I would greatly appreciate it if you could review the updated linker command file and map file to determine whether another section or memory region may be triggering the warning.
I will send the latest .cmd and .map files through our email thread shortly. Please let me know once you have had a chance to review them.
Thank you for your continued support.
Best regards,
Michael