Other Parts Discussed in Thread: C2000WARE, SYSCONFIG
In a F28388 app, we need to program the Z1-BOOTPINCONFIG and Z1-BOOTDEF in order to force boot of CPU1 from flash regardless of GPIO72/84.
Configuration is exactly what described into 5.4.3.1 for reference manual.
This translates to write OTP with following values:
0x78008 = 0x5AFF_FFFF (Z1-GPREG1 aka Z1-BOOTPINCONFIG)
0x7800A = 0xFFFF_FFFF (Z1-GPREG2)
0x7800C = 0x0303_0303 (Z1-GPREG3 aka Z1-BOOTDEFLOW)
0x7800E = 0xFFFF_FFFF (Z1-GPREG4 aka Z1-BOOTDEFHIGH)
So far I've tested the following approaches to write OTP:
a) With CCS10.2, in the debug configuration, set the following values in CPU1 / Flash Settings:
Zone1:
Z1-GPREG1..4 set as above
Z1-CSMPSWD0=0xFFFF_FFFF
Z1-CSMPSWD1=0x4D7F_FFFF
Z1-CSMPSWD2=0xFFFF_FFFF
Z1-CSMPSWD3=0xFFFF_FFFF
All other fields Z1/Z2 set to "--"
On debug settings OTP is not set, via memory browser otp is still all 0xFF
b) Included into the binary the image for Z1-GPREG1..4, in debug configuration set Z1-CSMPSWDx as a) and started debug.
CCS fails to program Cpu1 program OTP.
As none of the previous approach works, I'm going to write code for writing OTP via FlashAPI.
I cannot find in c2000ware 3.04 any example about programming OTP with:
- unlock DCSM for OTP write
- actually write OTP words
Is there a suggested approach for managing OTP program?
Best regards,
Elker


