TI中文支持网
TI专业的中文技术问题搜集分享网站

TMSC6678使用IBL方式NAND进行多核boot启动?

实验板:TMDSEVM6678LE开发板

实际现象:

在使用IBL正常的在NAND上进行单核的启动后又进行了多核的boot启动,IBL的模式调成了ELF,根据论坛上说的,将多个核的out文件直接合并在一起使用writer工具下载后,但仍然只有0核启动,其它的核没有任何反应,而程序中的0核已经配置了其它核启动地址,并用IPC中断启动了其它核。

问题:

1:当IBL在ELF格式下通过NAND方式多核启动时,多核的out文件直接合并一起按顺序下入flash中,IBL在启动读取时,是否只是会启动其中的一个out文件,而其它的out文件实际在加载中被后一个out文件给覆盖掉了?

2:如果是被覆盖掉了,那么,则out文件对应应该使用工具链进行裁剪合并生成一个ELF文件,而不是简单的连接起来。但是工具链链接起来生成的是ASCIIHEX格式的文件,IBL实际测试时没有识别,那么如何用工具链将多核的out文件生成IBL可识别的启动NAND的ELF文件呢?需要用到哪些工具,工具的配置文件又应怎么写呢??

Allen35065:

IBL不能下载多核文件,只会启动核0,;

要启动多核你需要自己在核0里把其它核的代码段以及常量等等拷贝到对应地址上去,然后再发IPC启动。

Peng Gao2:

回复 Allen35065:

您好,Allen Yin,很感谢您的回复。

        按照您的意思,我理解的是当烧写进NAND时,我需要烧入一个核0的out文件和非out的其它核的程序文件。其中在核0的用户代码中将其它核的程序拷贝过去并中断启动其它的核。

        我实际操作时,将其它核的out文件用工具链编译生成bin文件烧入NAND,在核0启动后从NAND中将各个核代码拷贝到_c_int00的起始地址后中断核,但是依然其它核没有启动。

如果我的那个理解的方式是正确的,那么我有如下疑问:

1.非0核的out文件应该用哪些工具链转换成何种格式的文件?我不太明白这和SPINOR启动时工具链编译过程中的区别有哪些?

2.核0将其它核的程序拷贝的起始地址是哪里?虽然知道 _c_int00的地址,核实际程序入口地址但这不应该代表我工具编译后的代码的拷贝位置要从这里开始。

赞(0)
未经允许不得转载:TI中文支持网 » TMSC6678使用IBL方式NAND进行多核boot启动?
分享到: 更多 (0)