ti工程师您好,C6678,Flash型号为N25Q128A11ESE40F,目前我的程序是所有核共用一个工程,烧写过程中有如下问题:
1、8个核共用同一个.out,是不是只需要将这一个.out转换成.dat之后写进Flash中就可以了?我看有的帖子中说即使共用同一套代码也需要做出8个工程?
2、关于代码搬移的问题,启动过程中需要主核搬移从核代码到各自的L2SRAM中,这一段代码是不是要加在主核的程序中?怎么写呢?
Shine:
1. 虽然你的代码一样,你在cmd中定义的memory section都是一样的吗?由于DSP有私有地址的概念0x00800000开头的地址,只有每个core自己访问,要访问其他core的时候需要使用全局地址0x1x800000,其中x分别为核号 0-7,如果你能做到所有代码和memory section都能使用相同的全局地址,那么可以只用加载1个core,其他的core手动在代码中指定启动地址,随后触发核间中断就能启动多核。如果不可以的话,就要建立8个工程,每个工程必须有一套自己的cmd,并且是全局地址。
请参考下面的spi多核boot例程。
e2echina.ti.com/…/80652. 不需要主核搬移,ROM bootloader认为只有一个image。请参考bootloader文档说明。
This boot scenario further assumes that the same application is loaded in all the CorePacs and the program resides completely in the
shared L2 memory and the external DDR memory. This assumption has one copy of the application for all CorePacs.
www.ti.com/…/sprugy5c.pdf
user4683768:
回复 Shine:
shine,非常感谢你的解答,链接1中的例程附件在哪里?我这边找不到?我理解的你的意思是同样的源代码,分作8个工程,写不同的cmd文件,关于MSMC或者DDR的可以一样,但是L2内存需要写全局地址,也就是core0 写0x10800000起始,core1写0x11800000起始以此类推,各自产生.out文件后,用工具链转换到.btbl后,再使用mergebtbl将8个btbl文件联合起来,是这样吗
Shine:
回复 user4683768:
是的,您的理解正确。例程在第二页,是客户分享的,可以参考。
e2echina.ti.com/…/8065
user4683768:
回复 Shine:
shine你好,关于第二个代码搬移的问题,我看到如下帖子中ti员工给的回复是需要用户自己编写代码进行搬移,请问是有什么更新或者适用情况不同吗?期盼你的回复
e2echina.ti.com/…/6477
Shine:
回复 user4683768:
RBL会从nor flash搬移代码,不需要写二次bootloader代码。您可以看一下bootloader文档。
3.8.2 RBL Loading Process
www.ti.com/…/sprugy5c.pdf