This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

sys/bios工程的多核加载

Other Parts Discussed in Thread: SYSBIOS

各位专家好,之前问过关于sysbios的多核加载,回复说是每个核使用的L2的地址要用全局什么的。 现在我已经可以实现非sysbios的多核上电加载,具体做法是改cmd文件里的L2的地址,每个核改为各自对应的全局地址,然后将每个核的image合并成一个进行加载,已成功。 我现在的工程是在vlfft工程上改的,已经知道怎么修改platform的内存分配,会创建新的platform。还有以下存在问题 1.根据0核的platform创建1核的,除了L2的地址不一样外其他都一样,L2地址用每个核全局的。由于code段是放在MSMC中的,如果1核也放在同样的位置,加载时候覆盖了前面核的,code应该放在哪里?或者内存需要怎么分配? 2.若果code需要放在ddr中的话,在启动时候必须要先初始化ddr了,这个应该在将flash代码拷贝到dsp之前,如果是具体怎么做? 3.vlfft里用到的全局变量都在DDR中,应该不会出现访问冲突吧? 希望专家能详细指导下,尤其是前两个问题,非常感谢
  • 如果你的code段是一样的,你可以考虑建一个lib,把这些共享的代码都放在这个lib里,然后每个工程都把这个lib指定到相同的位置上,这样比较好维护。

    如果要放到DDR里,流程是这样的

    boot->初始化PLL,DDR->拷贝代码到DDR3->跳转到DDR3执行;

    MCSDK里有SRIO做二级boot的例子,你看一看就知道要怎么做了。

    C:\ti\mcsdk_2_01_02_06\tools\boot_loader\examples\srio\srioboot_ddrinit

  • 谢谢您的回复,我想知道 1.这个工程有必要将code段放到DDR中吗?没有的话具体怎么设置段的分配? 2.我现在的测试工程里就将.text放到了DDR中,然后先让核0启动,核0初始化时钟和ddr后,在按照img规则从flash里加载其它核代码。但是目前从flash拷贝到ddr中的数据不对,我的这种方法可行不? 先学习下你说的例子,还有希望我的问题能详细解答,太笼统也不太懂,谢谢
  • 你好,我看到你之前提问过关于1848的问题,想请教一下你,使用6678通过maintenance包可以读到1848的路由表等寄存器信息,但是进行maintenance写之后,再经过回读发现写操作没有起到作用,能否给点解决的建议,谢谢!

  • 关于多核加载,我做了完整的笔记,BIOS 和 非BIOS 都成功了,由于笔记太长,这里回复比较麻烦,如有需要请与我联系,QQ 104284980

  • 能提供下跑sys/bios系统时的spi加载方式吗?86089043@qq.com

    谢谢