Using an eInfoChips C6657 EVM. Running in Ethernet Boot mode, using IBL, Bootp and TFTP. As I have been debugging the process, it seems to execute in three distinct steps.
1) ROM Boot from I2C EEPROM (loads the IBL)
2) IBL Initial Boot
3) IBL Ethernet Boot
From the viewpoint of the TFTP server, it seems to always take 14 seconds from EVM power up to the first Bootp packet.
Debugging the process using CCS and connecting to the target, it appears steps 1 and 3 happen very quickly, less than a second but step 2 is what is taking the vast majority of the 14 seconds. It is very difficult to step the IBL code and figure out what exactly is going on, but I think the slowdown is in the boot table processing, the function boot_proc_boot_tbl. This seems to loop through "blocks" of EEPROM data searching for address, data, pad sections. Doing what I am not sure. This seems to be what is taking so long to finally get to the code that actually does the booting.
Can TI confirm that 14 seconds seems to be normal time from power up to Bootp? Perhaps I have some board issue slowing things down. (However, we have 3 EVMs and all seem to behave the same. I have updated the FPGA firmware as suggested on the EVM errata.)
I can recompile the EEPROM code and load it, so if something can be changed to speed up or bypass this process, I could do that, but right now I don't understand enough of how this works to proceed. For example, I have successfully sped up the Bootp retransmit time, so if we miss the first Bootp we don't have to wait 4,8,12,16 seconds for the retransmissions.
Thanks,
Chris Peters