Post Go back to editing

Fail to UARTFlashProgrammer for ADSP-CM40x 2.0

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.


#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_ADDRESS 0x18001000
#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


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


- 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)?