主题中讨论的其他器件:PCA9306、 SN74AVC4T774
我在让我的自定义硬件引导 IBL 时遇到一些问题。 我的定制硬件与 TMDSEVM6657LS 类似、因为它具有一个连接到处理器 I2C 端口的 EEPROM (AT24CM01)和一个连接到 SPI CS0端口的 NOR 闪存(N25Q064A)。 唯一的区别是存储器和 C6657之间有一个缓冲器。 I2C 线路上的缓冲器是 SPI 线路上的 PCA9306和 SN74AVC4T774。 此外、我的硬件和 EVM 都具有来自处理器 UART0的外部 UART 连接。
由于需要定制 IBL、我已按照提供的说明在 EVM 和定制硬件上构建和加载 IBL。 注意:我已修改 IBL 以在版本行中返回其他字符、以确认我的 IBL 构建正在硬件上执行。
(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) 注意:在脚本正确构建映像之前、我需要运行"make clear"。
我在 EVM 和我的定制硬件上加载了这个新的 IBL。 使用 EVM 时、器件按预期引导(即串行端口报告 IBL 的版本、然后尝试从 SPI NOR 引导。) 在我的自定义硬件上加载此代码时、串行端口上不显示任何内容。 此时、我监控了存储器和 C6657之间的 I2C 通信。 下面总结了 I2C 通信 
然后、我注意到两个单元之间的引导地址不同。 因此、我将 IBL 重新编译为目标0x50 (使 EVM_c6657_i2c ENDIAN=Little I2C_BUS_ADDR=0x50)。 我将这个新的输出文件 i2crom_0x50_c6657_le.bin 复制到 EEPROM 加载程序目录、并将 eepromwriter_input.txt 文件 的 bus_addr 更改为 0x50 、并将这个版本加载到定制硬件中。 I2C 事务与 EVM 的事务匹配、但未在 UART 上生成预期结果。 (例如、IBL 版本信息的传输)

我的问题是:
1) 1)这就是我需要更改的全部内容、以便将 IBL 重新定位为从 addr = 0x50加载吗? 如果不是、还需要更改什么?
2) 2)为了正确运行默认 IBL 编译、我是否需要将我的硬件更改为从 addr = 0x51引导?
3) 3)对于如何继续调试此引导方法是否有任何建议?
提前感谢您的帮助。