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

C6678 spi flash多核启动,如果我用mergetable合并了多个核的程序,但是核0没有写megicaddress,那么烧写之后核0能够正常启动吗?

如题,目前看似乎不能。关键在于当镜像文件中包含了多个核时,是否核0必须成功启动其他核,核0才能正常工作?

Shine:

要写magic address,要不然加载完后不会从程序入口地址处开始执行代码。

核0要先起来,其他核的代码是由核0加载的。

枕水:

回复 Shine:

核0自己是不需要magicaddress的吧?magicaddress的作用是让其他核从程序入口地址执行代码,但是核0自己在这个时候已经起来了,可以跑自己的代码了吧?我这样理解对吗?

枕水:

回复 Shine:

因为我用6678的spi flash加载功能,只烧写0核的程序可以启动,但是用mergetable又附加了多个核的程序之后,烧进去连核0的功能都没有了,不知道是为什么?

Shine:

回复 枕水:

核0 magic address也要写,这是应用代码的入口地址。

可以用仿真器跟一下核0,看为什么核0的代码没有运行起来。

枕水:

回复 Shine:

我在spi启动之后,用仿真器挂接上去,发现核0的代码载入到了核1或核2上并且停在了程序入口点,这是为什么呢?
我在只加载单核的时候也没有写核0的magicaddress,核0都已经启动了,我的理解他应该可以从map文件中获取_c_int00吧?
而且在哪以及如何给核0写magic address呢?肯定不是在核0的程序里吧?鸡生蛋蛋生鸡的问题。

Shine:

回复 枕水:

核0的magic addres由ROM bootloader写。

多核的SPI boot,请参考下面的例程。
e2echina.ti.com/…/8065

枕水:

回复 Shine:

我就是参照这个例程做的,结果就是帖子里说的那样,单核可以启动,多核不能启动,多核连核0都启动不了

赞(0)
未经允许不得转载:TI中文支持网 » C6678 spi flash多核启动,如果我用mergetable合并了多个核的程序,但是核0没有写megicaddress,那么烧写之后核0能够正常启动吗?
分享到: 更多 (0)