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

关于C6678 Multicore Boot相关问题

各位好!

        刚接触6678不久,最近因为项目需要,要实现多核程序的固化,现在对bootloader只有大概的认识,能实现单核的spi一次加载和二次加载,

但对于多核加载知之甚少,论坛里看了很多帖子,学习了很多,不过都不能解决我的问题。现在就说下我的情况,希望各位不吝赐教:

        首先我要实现的是核0跑程序1,核1~7都跑程序2,打算采用spi模式+二次加载,nor flash中先后烧入二次加载程序,主核程序和从核程序,其

中在主核程序里面添加了多核启动代码(搬移从核程序到各个从核存储空间,设置magic address及设置ipc中断)。现在问题是当8个核程序都一样

时,只采用spi模式,只要用DMA搬移core0中的整个L2存储空间到各个从核的L2中,将程序入口地址赋给各核magic address就能实现成功加载,

但是当有多个工程时候,我想实现读取各个核应用程序到该核的相应存储空间上,而不是整个的搬移,这该如何实现? 而主、从核的magic address

是不是只要分别赋为两个工程的入口地址即可? 不知道前面我说的做法又对不对?

       谢谢!

Andy Yin1:

单核可以是一个out生成最终的bin文件烧写在flash,多核如果存在多个out文件,可以把out文件合并成一个bin烧写,或者多个bin分开烧写均可。bin文件中都有程序的地址及长度信息,在多个bin时,也是一样可以由core0负责对flash的程序文件解析,将程序搬移到相应的地址上,最后core0再向其他core magic address写入入口地址,并发送ipc触发即可。

ZHAN LI1:

回复 Andy Yin1:

“多核如果存在多个out文件,可以把out文件合并成一个bin烧写,或者多个bin分开烧写均可”

1、如何将多个out文件合并成一个bin?有现成的工具么?还是需要编写代码实现?

2、如果是多个bin分开烧写,如何烧写能具体说明一下么?

多谢Andy Yin1

Andy Yin1:

回复 ZHAN LI1:

参考SPI FLASH boot 例程

http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/46608.aspx

Shi Firo:

回复 Andy Yin1:

你好,Andy Yin1

        很感谢你的回复,不过我想知道的就是你说的“core0负责对flash的程序文件解析,将程序搬移到相应的地址上”中,怎样对flash的程序解析?能否给个相关的参考代码?按照多核加载中工程一样时,core0要完成的是搬移L2的总体存储空间到各个从核的L2上,那我是不是可以理解为当复位以后,RBL会将flash中的程序都先搬移到L2中,然后程序才能执行,那么我想直接读取L2上不同程序的内容,该怎么实现? 不知道我说的对不对,水平有限,见笑了。

       谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » 关于C6678 Multicore Boot相关问题
分享到: 更多 (0)