关于C6678的SYS/BIOS 多核工程,我相信大家都遇到不少问题,我也是,每个人学习时间、程度不一样所遇到的问题深度也不一样。大家不妨放下脚步,整理一下我们的思路。对于C6678这款DSP,我们都知道有8核,每个核有自己的L1D、L1P、L2;除此之外我们的C6678还给八个核提供了一块大小为4M的MSMC 和 一片大小为2G的DDR3。我们的目的很简单就是在这片C6678上编程,实际上就是在C6678的硬件上分配好各个内存资源。为了更好的利用资源和提供芯片的效率,TI给我们提供SYS/BIOS内核,同时我们需要配置自己的cfg文件。
关于我对C6678的SYS/BIOS 多核工程的理解:
1、TI提供SYS/BIOS的内核模式是对于每个核都需要加载SYS/BIOS内核:
a、对于把所有核都放在同一工程中调试,所有核都公用一个cfg文件的这种情况,我们这时希望所有核执行的代码相似,每个核功能相似。这是因为我们可以将基本相似的代码放入MSMC或者DDR3中,实现八核共享;而差异较大的代码放入各个核的L2中。(目前我认为同一工程、同一cfg文件对于每个核要执行代码差异性较大的情况优势不大;不知道是否可以在同一个工程针对不同的核配置不同cfg文件或者在同一个cfg文件中通过某种标识(就像DNUM寄存器一样能分离出各个核需要运行的代码)来选择性配置各个核,以满足每个核自己的代码放入自己的L2中);
b、为每个核建立一个工程,这样就可以有自己的cfg配置文件(这种方式我目前没有试过,只是在论坛中看到),通过将每个工程生成的.out文件加载到每个核中。但是我觉得通过这种方式如何进行多核之间的在线调试呢?
上述理解只是个人理解,肯定有很多出入,望大家多多补充、指点,希望大家一起讨论、交流一下。