TIwilliam hill官网
直播中

张青梅

7年用户 177经验值
私信 关注
[问答]

c6678多核boot的问题

ti的工程师你好,
      a最近研究c6678的boot问题,遇到一些疑问,麻烦指点一下:
1,文档中说到,多核启动,一般是core0先执行初始化,其他core执行IDEL,等到core0把其他core的代码加载后,其他core0通过ipc来通知其他核,那么
这里有一个疑问,就是既然其他核的代码都没有准备好,那其他核的IDEL,还有IPC这些是哪里的代码配置的呢?难道所有核启动的时候自动的都是执行同一份代码?然后在这里的代码中用DNUM来安排不同的工作?也就是说,在core的代码里面用DNUM来分配core0初始化,其他core IDEL 或者等到IPC

2,假如我想使用SPI来保存我的image,我现在有8个核的工程代码,生成8个.out文件,那么我需要做什么,或者怎么样把8个.out文件下载到spi flash中去。。能不能给我列一个流程,包括准备几份para table?
3,第二点中,RBL加载spi flash的image到L2 sram,然后core执行,这里,core0的代码肯定是RBL加载的,其他core的代码是RBL自动加载,还是需要core0的代码去加载他们呢?


谢谢,

回帖(4)

杨娟

2018-6-21 13:45:30
ROM中烧写了一份bootloader source code,在上电后每个核都会先执行一段公共的代码,其中包括IPC等的配置,然后会根据DNUM来决定core0继续执行程序的加载,其他的core处于IDLE状态,你可以稍微看看C6678 RBL source code:http://software-dl.ti.com/sdoemb/sdoemb_public_sw/rbl/1_0_C6678/index_FDS.html
参考SPI flash boot demo:http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/46608.aspx
对多个out,可以将8个out合并成一个boottable,只需要一份boot parameter table。
多个核的代码会合并成一个镜像文件烧写在flash,core0会对flash的代码进行解析copy到相应的memory,此时core0在copy过程中不会区分core,只会根据解析的地址进行copy,所以不需要其他的干预进行程序的copy。
                                                                          

举报

王晶

2018-6-21 14:04:06
引用: zbb9612 发表于 2018-6-21 13:45
ROM中烧写了一份bootloader source code,在上电后每个核都会先执行一段公共的代码,其中包括IPC等的配置,然后会根据DNUM来决定core0继续执行程序的加载,其他的core处于IDLE状态,你可以稍微看看C6678 RBL source code:http://software-dl.ti.com/sdoemb/sdoemb_public_sw/rbl/1_0_C6678/index_FDS.html
参考SPI flash b ...

Andy Yin1,你好!
如果是NOR BOOT的话,请问上面说的“core0会对flash的代码进行解析copy到相应的memory”,这个解析copy动作是6678自己BOOTload完成的还是人为的写一段boot.asm汇编来完成的?谢谢!
举报

杨娟

2018-6-21 14:18:50
引用: HenryRain 发表于 2018-6-21 14:04
Andy Yin1,你好!
如果是NOR BOOT的话,请问上面说的“core0会对flash的代码进行解析copy到相应的memory”,这个解析copy动作是6678自己BOOTload完成的还是人为的写一段boot.asm汇编来完成的?谢谢!

如bootloade手册EMIF16 NOR BOOT时RBL不会进行程序进行搬移,只是直接跳转到0x70000000地址执行,在SPI nor boot时,是会由RBL完成。
                                                                          

举报

jinyi7016

2018-7-22 21:43:55
boot只是启动一个核心,其他的都是在这个核基础上进行加载的吧
举报

更多回帖

发帖
×
20
完善资料,
赚取积分