Relevant Details:
OS: Windows Embedded Compact 7
HW: TI AM3358 processor on custom designed board which is influenced by the TMDXEVM3358 Evaluation Module design
BSP: Windows Embedded Compact 7 TI ARM-A8 BSP Version 02.30.00 From Adeneo Embedded with modifications to support our custom board
We are currently in the board bring-up stage for our custom designed board with AM3358 processor. We are able to run XLDR (MLO) from SD Card which in turn then tries to run EBOOT, but after the text output of "jumping to ebootsd image" the processor resets and then XLDR runs and the same thing happens in a continuous cycle of resets.
I was able to prove that the C code parts of EBOOT were not executing yet by putting an infinite loop at the start of main.c::main, and the processor still reset, so it suggested to me that the reset was occuring prior to EBOOT main. I placed infinite loops into EBOOT startup.s which is the entry point for EBOOT and found that it was resetting in the loop that creates and stores descriptors for entries in the g_oalEbootAddressTable table defined in C:\WINCE700\platform\SMART_TC_AM33X_BSP\SRC\inc\addrtab_cfg.inc and shown below:
The last place in startup.s where I can place my inifinite loop such that it is hit before the reset is above the 'bne %B28' line shown below. To me, there is no obvious reason why this particular line would cause a reset though.
Have attached the full startup.s file in question here: 7128.startup.s
We have managed to get u-boot up and running such that we can use its command line interface and it doesn't reset yet EBOOT is resetting.
I realise it may be a tricky one but hoping someone may have some ideas.
Thanks
John