如题,目前看似乎不能。关键在于当镜像文件中包含了多个核时,是否核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都启动不了