Part Number:TMS320C6678
尊敬的TI工程师您好:
参考C6678_SPIboot_usersManual.pdf 使用提供的led_play.out成功引导启动
但是自己的工程生成的out文件过大(在6M左右),在运行spiboot.bat执行到b2i2c led_play.btbl led_play.btbl.i2c这一步时
会提示报错Max input array size exceeded
将mcsdk_2_01_02_06\tools\boot_loader\ibl\src\util\btoccs路径下b2ccs.c和b2i2c.c源码中定义的#define SIZE 0x200000 /* max array size */修改后重新生成b2ccs.exe和b2i2c.exe
再次运行spiboot.bat不报错,但是生成的i2crom.ccs没有内容为0kb。
对 mcsdk_2_01_02_06\tools\boot_loader\ibl\src\util\romparse中的romparse.h文件下的#define MAX_DATA_LEN_32bit 32768进行修改后用MinGW重新生成romparse.exe但是生成的i2crom.ccs依旧为0kb,不知道是否需要修改别的地方。
另外有在e2echina.ti.com/…/evm6678le-i2c-nor-flash-boot-spi-flash-boot这篇帖子中看到有人提供了修改过的工具链,可以满足较大二进制文件的转换,但是我好像没有权限下载。
Howl04:
https://e2echina.ti.com/support/processors/f/processors-forum/8065/evm6678le-i2c-nor-flash-boot-spi-flash-boot
帖子的连接
,
Shine:
您可以下载下面帖子里的支持2M的代码https://www.ti2k.com/wp-content/uploads/ti2k/DeyiSupport_DSP_c6678-spi-nor-flash-boot SIZE (1024 * 1024 * 2) /* max array size 2MB */改成6M后,再编译试试。
,
Howl04:
您好,我已经对b2i2c进行了修改并生成了新的exe,但是现在的问题是romparse nysh.spi.map这一步生成的i2crom.ccs没有内容为0kb。
,
Shine:
请问在修改之前,用一个简单的.out文件,可以成功转换么?如果可以的话,在用这个简单的.out文件,在修改后,看是否能生成文件?
,
Howl04:
修改之前使用一个简单的out是可以成功转换的,修改之后再次使用简单的out也可以,使用比较大的out就不行
,
Shine:
Howl04 说:使用比较大的out就不行
2M大的文件行么?
,
Howl04:
最终解决的方法是对 mcsdk_2_01_02_06\tools\boot_loader\ibl\src\util\romparse中的romparse.h文件下的
#define MAX_DATA_LEN_32bit 32768修改为327680,
#define NUM_BOOT_PARAM_TABLES 8修改为80.
用MinGW重新生成romparse.exe解决问题。
,
Shine:
非常感谢解决办法!