AnsweredAssumed Answered

Fail to UARTFlashProgrammer for ADSP-CM40x 2.0

Question asked by SilentButeo2 on Sep 14, 2015
Latest reply on Sep 21, 2015 by John_M

We have successfully written our hex code to the development board. (but that was a <rev2.0).

Now working on our own test board (with >rev2.0) we have trouble on flashing the code.

 

Running from IAR, all goes well. We can debug the code an when rebooting the board, the program is started from flash and working.

Security headers are enabled.

EccGen has run.

 

results:

#define ADI_SECURITY_SIGNATURE0 0x16c80dbd
#define ADI_SECURITY_RESERVED0  0xffffffff

 

#define ADI_SECURITY_USER_KEY0  0xa4b8e4a0
#define ADI_SECURITY_USER_KEY1  0xd2041dd7
#define ADI_SECURITY_USER_KEY2  0x18839df8
#define ADI_SECURITY_USER_KEY3  0x8392c1fe

 

#define ADI_SECURITY_BOOT_FLAGS 0x00000000
#define ADI_SECURITY_IVT_ADDRESS0x18001000
#define ADI_SECURITY_ECC0       0x138a6fc7
#define ADI_SECURITY_ECC1       0xffffffc2
#define ADI_SECURITY_SIGNATURE1 0xa4287f8a
#define ADI_SECURITY_SIGNATURE2 0x14b234f2

Next things we see:

Steps we do:

- select bootmode 3

- power up the board

- run UARTFlashProgrammer

- result: FAILING TO PROGRAM

We can make the programming to work, if we first erase the flash and don't specify the security key.

 

Steps we do:

- select bootmode 3

- power up the board

- run UARTFlashProgrammer

- first select Erase flash

- result:

- now wait at least 60 seconds (very important, because this is the amount of time that is actually needed to erase the flash)

- after that, reboot the board (still bootmode 3)

- then program the flash

- result: FAILING TO BOOT

 

- as you can see, the flash is completed, but rebooting the board in mode 1, we see no activity so we think our code is not running.

 

What could be wrong?

1. Why is the direct flashing not working? Why must we do a full erase before we can flash our code?

2. Why doe our code not start after flashing (without security key)?

Outcomes