Part Number: TMS320F28377D
Hello,
I have an issue with programming my Flash Sectors with the FlashAPI and activated DCSM on my TMS320F28377D. The erasing off the flash will work. After that the programming routine is working without any error from the API and the verify routine is working, too. But the data is still 0xFFFF instead of my value.
With deactivated DCSM all is working like a charm.
On a TMX320F28377D the whole erase-flash-verify routine is working WITH activated DCSM. Why?
The FlashAPI is running from RAM L in DCSM Z1 and the flash is in DCSM Z1, too. The Buffer_Data for the program routine is stored in RAM Gx.
The DCSM_Z1_ZoneSelectBlock.asm is filled out like this:
.sect "dcsm_otp_z1_linkpointer"
.long 0x1FFFFFF0 ;Z1-LINKPOINTER1
.long 0xFFFFFFFF ;Reserved
.long 0x1FFFFFF0 ;Z1-LINKPOINTER2
.long 0xFFFFFFFF ;Reserved
.long 0x1FFFFFF0 ;Z1-LINKPOINTER3
.long 0xFFFFFFFF ;Reserved
.sect "dcsm_zsel_z1"
.long 0xFFFFFFFF ;Z1-EXEONLYRAM
.long 0xFFFFFFFF ;Z1-EXEONLYSECT
.long 0x55555555 ;Z1-GRABRAM
.long 0x55555555 ;Z1-GRABSECT
.long 0x12345678 ;Z1-CSMPSWD0 (LSW of 128-bit password)
.long 0x12345678 ;Z1-CSMPSWD1
.long 0x12345678 ;Z1-CSMPSWD2
.long 0x12345678 ;Z1-CSMPSWD3 (MSW of 128-bit password)
What did I miss?
