Hello.
I'm trying to get my Sitara-based board to boot MLO from MMC0 (SD Card).
I've built my own 2nd-stage bootloader following StarterWare instructions (sys/bios sdk 1.0.0.8) and it works fine both during debugging and when booting from SPI Flash (SPI0); I know that because it sends ASCII message strings on UART2 and I can capture those strings using a terminal emulator; nonetheless, I cannot get it loaded from MMC0 and run.
Both bootloader_SPI.bin and bootloader_SD.bin are generated by isdk_image.exe (launched by post_build.bat), of course.
If I copy to my SD card either Android MLO or Linux MLO prebuilt by TI, both of them are loaded and run (I can see their boot messages in a terminal emulator).
So, I compared my MLO and TI MLO's and found that the header in TI prebuilt MLO files is 200h byte long, while the header in my MLO is 8 byte long (as it is said on page 4146 of Technical Reference Manual and as it is for MLO file for IDK board prebuilt by TI).
It seems that on-chip booloader needs to be better documented in the technical manual ...
I'm attaching a zipped .doc file containing dumps of MLO files
4760.Some_dumps_of_MLO_files.zip.
Can somebody help me?
Thanks in advance.
Mario G. Casali
System Electronics
Italy
Post Scriptum:
I found somewhere in the forum that somebody had a similar problem and solved it just eliminating a "printf" in his source file; I cannot believe it's just because I too have "printf" in my MLO but
1) my bootloader works fine when loaded from SPI Flash and
2) looking with an oscilloscope at accesses to MMC0, it seems that MLO with 8 byte header are not loaded (and then not run).