Part Number: TMS320F28377D Tool/software: Code Composer Studio Hello Everyone, I am working in a project with TMS320C28377D and I want to change the boot mode pins to GPIOs 8 and 9, but before doing this I did a little experiment. I know that, by the default, the pins are 72 and 84 and if they are both set to `1`, the CPU will boot to Flash. Anyway, if I program the OTP BOOTCTRL register as 0x49550B5A, I think it should work the same, but it does not so my application program does not start. Am I missing any step? This is the listing of the DCSM_Z1_ZoneSelectBlock.asm file I use. .sect "dcsm_otp_z1_linkpointer" ;; .long 0x1FFFFFFF ;Z1-LINKPOINTER1 ;; .long 0xFFFFFFFF ;Reserved ;; .long 0x1FFFFFFF ;Z1-LINKPOINTER2 ;; .long 0xFFFFFFFF ;Reserved ;; .long 0x1FFFFFFF ;Z1-LINKPOINTER3 ;; .long 0xFFFFFFFF ;Reserved .sect "dcsm_otp_z1_pswdlock" ;; .long 0xFFFFFFFF ;Z1-PSWDLOCK ;; .long 0xFFFFFFFF ;Reserved .sect "dcsm_otp_z1_crclock" ;; .long 0xFFFFFFFF ;Z1-CRCLOCK ;; .long 0xFFFFFFFF ;Reserved .sect "dcsm_otp_z1_bootctrl" .long 0xFFFFFFFF ;Z1-GPREG3 .long 0x49550B5A ;Z1-BOOTCTRL .sect "dcsm_zsel_z1" ;; .long 0xFFFFFFFF ;Z1-EXEONLYRAM ;; .long 0xFFFFFFFF ;Z1-EXEONLYSECT ;; .long 0xFFFFFFFF ;Z1-GRABRAM ;; .long 0xFFFFFFFF ;Z1-GRABSECT ;; .long 0xFFFFFFFF ;Z1-CSMPSWD0 (LSW of 128-bit password) ;; .long 0xFFFFFFFF ;Z1-CSMPSWD1 ;; .long 0xFFFFFFFF ;Z1-CSMPSWD2 ;; .long 0xFFFFFFFF ;Z1-CSMPSWD3 (MSW of 128-bit password) This is the listing of the 28X7x_dscm_lnk_cpu1.cmd MEMORY { PAGE 0 : /* Program Memory */ /* Z1 OTP. LinkPointers */ DCSM_OTP_Z1_LINKPOINTER : origin = 0x78000, length = 0x00000C /* Z1 OTP. PSWDLOCK/RESERVED */ DCSM_OTP_Z1_PSWDLOCK : origin = 0x78010, length = 0x000004 /* Z1 OTP. CRCLOCK/RESERVED */ DCSM_OTP_Z1_CRCLOCK : origin = 0x78014, length = 0x000004 /* Z1 OTP. RESERVED/BOOTCTRL */ DCSM_OTP_Z1_BOOTCTRL : origin = 0x7801C, length = 0x000004 /* DCSM Z1 Zone Select Contents (!!Movable!!) */ /* Z1 OTP. Z1 password locations / Flash and RAM partitioning */ DCSM_ZSEL_Z1_P0 : origin = 0x78020, length = 0x000010 /* Z2 OTP. LinkPointers */ DCSM_OTP_Z2_LINKPOINTER : origin = 0x78200, length = 0x00000C /* Z2 OTP. GPREG1/GPREG2 */ DCSM_OTP_Z2_GPREG : origin = 0x7820C, length = 0x000004 /* Z2 OTP. PSWDLOCK/RESERVED */ DCSM_OTP_Z2_PSWDLOCK : origin = 0x78210, length = 0x000004 /* Z2 OTP. CRCLOCK/RESERVED */ DCSM_OTP_Z2_CRCLOCK : origin = 0x78214, length = 0x000004 /* Z2 OTP. GPREG3/BOOTCTRL */ DCSM_OTP_Z2_BOOTCTRL : origin = 0x7821C, length = 0x000004 /* DCSM Z1 Zone Select Contents (!!Movable!!) */ /* Z2 OTP. Z2 password locations / Flash and RAM partitioning */ DCSM_ZSEL_Z2_P0 : origin = 0x78220, length = 0x000010 } SECTIONS { dcsm_otp_z1_linkpointer : > DCSM_OTP_Z1_LINKPOINTER PAGE = 0, type = DSECT dcsm_otp_z1_pswdlock : > DCSM_OTP_Z1_PSWDLOCK PAGE = 0, type = DSECT dcsm_otp_z1_crclock : > DCSM_OTP_Z1_CRCLOCK PAGE = 0, type = DSECT dcsm_otp_z1_bootctrl : > DCSM_OTP_Z1_BOOTCTRL PAGE = 0 dcsm_zsel_z1 : > DCSM_ZSEL_Z1_P0 PAGE = 0, type = DSECT dcsm_otp_z2_linkpointer : > DCSM_OTP_Z2_LINKPOINTER PAGE = 0, type = DSECT dcsm_otp_z2_pswdlock : > DCSM_OTP_Z2_PSWDLOCK PAGE = 0, type = DSECT dcsm_otp_z2_crclock : > DCSM_OTP_Z2_CRCLOCK PAGE = 0, type = DSECT dcsm_otp_z2_bootctrl : > DCSM_OTP_Z2_BOOTCTRL PAGE = 0 dcsm_zsel_z2 : > DCSM_ZSEL_Z2_P0 PAGE = 0, type = DSECT } This is the OTP memory at address 0x7801C Can anyone help me with this issue? Best regards, Andreu
↧