Other Parts Discussed in Thread: PCA9306, SN74AVC4T774, TEST2
I am having some issues with getting the my custom hardware to boot the IBL. My custom hardware is similar to that of the TMDSEVM6657LS in that it has a EEPROM(AT24CM01) attached to the I2C port of the processor and an NOR FLASH(N25Q064A) attached to the CS0 port of the SPI. The only differences is that there is a buffer between the memories and the C6657. The buffer on the I2C lines is a PCA9306 and a SN74AVC4T774 on the SPI lines. Also both my hardware and the EVM have an external uart connection from UART0 of the processor.
Since a custom IBL will be needed I have followed the instructions provided to build and load the IBL on both the EVM and my custom hardware. NOTE: I have modified the IBL to return additional characters in the version line to confirm that my build of the IBL is being executed on the hardware.
(https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1057566/faq-tms320c6657-how-to-flash-the-ibl-intermediate-boot-loader-into-eeprom-and-how-to-flash-the-application-binary-into-nor-how-to-boot-the-ibl-application-binary) NOTE: I needed to run the "make clean" before the script built the image correctly.
I loaded this new IBL on both the EVM and my custom hardware. With the EVM the unit boots as expected (i.e. the Serial port reports the version of the IBL and then attempts to boot from the SPI NOR.) When loading this code on my custom hardware I nothing is displayed on the serial port. At this point I monitored the I2C communications between the memory and the C6657. The following is a summary of the I2C communications
I then noticed that the Boot Address between the two units were different. So, I recompiled the IBL to target 0x50 (make evm_c6657_i2c ENDIAN=little I2C_BUS_ADDR=0x50). I copied this new output file, i2crom_0x50_c6657_le.bin, to the EEPROM loader directory and changed the eepromwriter_input.txt file's bus_addr to 0x50 and loaded this version into the custom hardware. The I2C transactions match that of the EVM but did not produce the expected results on the UART. (ie. Transmission of the IBL Version information)
My questions are:
1) Is this all I would need to change to retarget the IBL to load from addr = 0x50? If not what else needs to change?
2) For proper operation of the default IBL build, do I need to change my hardware to boot from addr = 0x51?
3) Any suggestions as to how to proceed with debugging this boot methodology?
Thanks in advance for your assistance.