Other Parts Discussed in Thread: UNIFLASH, C2000WARE
Hi,
I am using C2000 Ware serial flash programmer utility to download .hex file.
Here is my linker file:
MEMORY
{
PAGE 0 : /* Program Memory */
/* Z1 OTP. LinkPointers */
DCSM_OTP_Z1_LINKPOINTER : origin = 0x78000, length = 0x000020
// DCSM_OTP_Z1_LINKPOINTER : origin = 0x78000, length = 0x000030
/* 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_align18 : origin = 0x78018, length = 0x000008
// 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
DCSM_ZSEL_Z1_P1 : origin = 0x78030, length = 0x000010
DCSM_ZSEL_Z1_P2 : origin = 0x78040, length = 0x000010
DCSM_ZSEL_Z1_P3 : origin = 0x78050, length = 0x000010
DCSM_ZSEL_Z1_P4 : origin = 0x78060, length = 0x000010
DCSM_ZSEL_Z1_P5 : origin = 0x78070, length = 0x000010
DCSM_ZSEL_Z1_P6 : origin = 0x78080, length = 0x000010
DCSM_ZSEL_Z1_P7 : origin = 0x78090, length = 0x000010
DCSM_ZSEL_Z1_P8 : origin = 0x780A0, length = 0x000010
DCSM_ZSEL_Z1_P9 : origin = 0x780B0, length = 0x000010
DCSM_ZSEL_Z1_P10 : origin = 0x780C0, 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//, type = DSECT
// dcsm_zsel_z1_78018 : > DCSM_OTP_Z1_align18
dcsm_zsel_z1 : > DCSM_ZSEL_Z1_P0 PAGE = 0//, type = DSECT
// dcsm_zsel_z1 : > DCSM_ZSEL_Z1_P1 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, type = DSECT
dcsm_zsel_z2 : > DCSM_ZSEL_Z2_P0 PAGE = 0, type = DSECT
*/
}
Here is my DCSM Zone1 setup:
.sect "dcsm_otp_z1_linkpointer"
.retain
; .long 0x1FFFFE00 ;Z1-LINKPOINTER1,when dcsm_zsel_z1 is DCSM_ZSEL_Z1_P9
.long 0x1FFFFFFF ;Z1-LINKPOINTER1,when dcsm_zsel_z1 is DCSM_ZSEL_Z1_P0
; .long 0x1FFFFFFE ;Z1-LINKPOINTER1,when dcsm_zsel_z1 is DCSM_ZSEL_Z1_P1
.long 0xFFFFFFFF ;Reserved
; .long 0x1FFFFE00 ;Z1-LINKPOINTER2,when dcsm_zsel_z1 is DCSM_ZSEL_Z1_P9
.long 0x1FFFFFFF ;Z1-LINKPOINTER2,when dcsm_zsel_z1 is DCSM_ZSEL_Z1_P0
; .long 0x1FFFFFFE ;Z1-LINKPOINTER1,when dcsm_zsel_z1 is DCSM_ZSEL_Z1_P1
.long 0xFFFFFFFF ;Reserved
; .long 0x1FFFFE00 ;Z1-LINKPOINTER3,when dcsm_zsel_z1 is DCSM_ZSEL_Z1_P9
.long 0x1FFFFFFF ;Z1-LINKPOINTER3,when dcsm_zsel_z1 is DCSM_ZSEL_Z1_P0
; .long 0x1FFFFFFE ;Z1-LINKPOINTER1,when dcsm_zsel_z1 is DCSM_ZSEL_Z1_P1
.long 0xFFFFFFFF ;Reserved
;reserved 0x...0C-0F
.long 0xFFFFFFFF ;Reserved
.long 0xFFFFFFFF ;Reserved
; .sect "dcsm_otp_z1_pswdlock", 0x...10
.long 0xFFFFFF00 ;Z1-PSWDLOCK
.long 0xFFFFFFFF ;Reserved
; .sect "dcsm_otp_z1_crclock", 0x...14
.long 0x0F0FFFFF ;Z1-CRCLOCK, Not all Fs
.long 0xFFFFFFFF ;Reserved
; .sect "dcsm_zsel_z1_78018"
.long 0xFFFFFFFF ;Reserved
.long 0xFFFFFFFF ;Reserved, 0x...1A-1B
; .sect "dcsm_otp_z1_bootctrl"
.long 0xFFFFFFFF ;Reserved,0x...1C-1D
.long 0x00000B5A ;Z1-BOOTCTRL, 0x... 1E
There is no problem program the DSP with uniflash.
But failed when use 'serial_flash_programmer'. Here is the error with Address 0x78018.

Please advise,
Best Regards,
Lily

