So, the link pointer in the DCSM points to a single 0x10 word region in a 0x200 word area of OTP per zone. Can we use say most of the DCSM zone 2 region (0x78220-0x783EF, for example) for user data, if we are setting the zone 2 link pointers to all 0s to select the last region, and zero that out (0x783F0-0x783FF)?
In fact, it'd seem to me you could do that with both zones and have user OTP data at 0x78020-0x781EF and 0x78220-0x783EF, program both DCSM zones' link pointers to all 0s to use 0x781F0 and 0x783F0 for DCSM bank information, and zero out 0x783F0-0x783FF to disable zone 2. Does this sound workable?
Our DCSM configuration is to only use zone 1 and lock everything as secure, no JTAG, etc (not EXE only, not quite brave enough for that one)... we really don't need any other configuration than that.
We use the unique ID at 0x730CC in our calibration database, but the user-facing serial number is a much simpler value (like 418, etc). We'd like to use an unused OTP region to store this version of the serial number and other information.
This is especially important because CCS has a tendency to completely reset the choice for "Program only necessary sectors" and wipe the entire user flash area. I assume it's some kind of fallback if it has trouble communicating... we ran into this a lot while developing our bootloader and it didn't really happen before that. It regularly wipes our serial number, so we're looking for a more permanent location for it.