I continue thread here, because ReinierC did not like that I have hijacked his thread: http://e2e.ti.com/support/dsp/omap_applications_processors/f/42/p/246851/1013631.aspx#1013631
The problem is that I would like to boot C6748 as quickly as possible. Using secondary bootloader and Micron 25Q032A flash should be one of the quickest methods. Because 25Q032A uses clock signal up to 108 MHz and is able to use 4 bit bus, instead of normal 25 MHz 1 bit SPI.
StarterWare bootloader is used as basis of the project: C:\Program Files\Texas Instruments\pdk_C6748_2_0_0_0\C6748_StarterWare_1_20_03_03\bootloader
Currently following tests have been made.
1. boot into production 617 KB sys/bios app takes 2.8 s (it is 0.8 s if bootloader is executed via JTAG connection)
2. boot into test Starterware app happens almost immediately
3. boot into test 670 KB sys/bios app takes 0.2 s.
Times are measured using logic analyzer. Bootloader prints something out before starting app and in app main function some pins are toggled or something is sent to serial. Therefore times can be measured very precisely.
From .map file can be seen what is called from bootloader. Here is example from our sys/bios app.
ENTRY POINT SYMBOL: "_c_int00" address: c185d360
c185d360 000000a0 boot.ae674 : boot.oe674 (.text:_c_int00)
I thought that first call is made into main function and sys/bios stuff is started with BIOS_started, but I was wrong. There is boot library that handles quite many aspects: http://rtsc.eclipse.org/docs-tip/Using_xdc.runtime_Startup
Production app uses many peripheral devices and libraries I would like to find out which of them causes the long delay. My question is how to check what is actually started with boot, before main is called?
Andres