各位专家好,之前问过关于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中,应该不会出现访问冲突吧?
希望专家能详细指导下,尤其是前两个问题,非常感谢
Allen35065:
如果你的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
qian cui:
回复 Allen35065:
谢谢您的回复,我想知道
1.这个工程有必要将code段放到DDR中吗?没有的话具体怎么设置段的分配?
2.我现在的测试工程里就将.text放到了DDR中,然后先让核0启动,核0初始化时钟和ddr后,在按照img规则从flash里加载其它核代码。但是目前从flash拷贝到ddr中的数据不对,我的这种方法可行不?
先学习下你说的例子,还有希望我的问题能详细解答,太笼统也不太懂,谢谢
Zhengdong Li:
回复 qian cui:
你好,我看到你之前提问过关于1848的问题,想请教一下你,使用6678通过maintenance包可以读到1848的路由表等寄存器信息,但是进行maintenance写之后,再经过回读发现写操作没有起到作用,能否给点解决的建议,谢谢!
jimmy cui:
关于多核加载,我做了完整的笔记,BIOS 和 非BIOS 都成功了,由于笔记太长,这里回复比较麻烦,如有需要请与我联系,QQ 104284980
sky4:
回复 jimmy cui:
能提供下跑sys/bios系统时的spi加载方式吗?86089043@qq.com
谢谢
TI中文支持网