This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM6411: Bootloader parse image fails

Part Number: AM6411
Other Parts Discussed in Thread: UNIFLASH

Tool/software:

Hello,

I am modifying the uniflash and bootloader applications to support my custom board which mounts a quad-spi flash (S25HS512TFAMHI01).

I managed to successfully flash the bootloader at 0x00 and the application at 0x80000, but when the bootloader starts after reset the system hangs on this function call:

status = Bootloader_parseMultiCoreAppImage(bootHandle, &bootImageInfo);
.

By single-stepping through the code I found out that the code hangs and end up in

HwiP_data_abort_handler
 when executing the following statements in file bootloader.c line 384: 
if ((*x509_cert_ptr == seq_oid[0]) && 
            (*(x509_cert_ptr + 2) == seq_oid[2]) &&
            (*(x509_cert_ptr - 2) == 0x30))

The same application instead runs smoothly if I load it using for example uart bootloader so I exclude it is a certificate problem.

Some notes: 

  • I am using mcu_plus_sdk_am64x_09_01_00_41
  • I used sbl_ospi application as a starting point.
  • I need to reset the flash before calling 
    status = Board_driversOpen();
    otherwise the system reads wrong manufacturer id and device id.

Looking forward to hearing from you

Paolo