Other Parts Discussed in Thread: TMDS243EVM, SYSCONFIG
Hello TI Team,
I am currently facing a problem with the OSPI multi partition bootloader running into a data_abort exception. I debugged the exception and understood the root cause but cannot get my head around why I am facing the exception in the first place.
First off some details of my environment:
I am running my code on a AM2434B SoC in the HS_FS variant on the TMDS243EVM.
The bootloader code I am using is based off of the sbl_ospi_multi_partition example project from the MCU+ SDK 9.1.0.41. No changes have been made to the SysCfg. A spinlock has been added right before the first call to Bootloader_parseMultiCoreAppImage() to attach the debugger.
All signed appimages and the bootloader itself have been written to the flash at their respective offsets configured in SysCfg (bootloader at offset 0x0) and verified that they've been written.
Issue description:
The exception is thrown in the function Bootloader_verifyMulticoreImage() as the called function Bootloader_getMsgLen() tries to dereference a pointer (x509_cert_ptr) in the FSS0_DAT_REG1 memory region which fails. It appears that this function wants to access the FLASH as a memory mapped peripheral. All other functions called during verification and actual loading of the appimage really read from the flash via OSPI.
Questions:
1. The example does not configure DAC for OSPI. How can memory mapped access work without configurung the OSPI DAC?
2. Are there additional potentially undocumented steps to get the example to work?