Quantcast
Channel: C6000™多核 - 最近的话题
Viewing all articles
Browse latest Browse all 5545

使用SPI方式启动时,核0的magic地址为0而其他核的却正确,bootcomplete寄存器值为FF,而核0始终停留在boot rom范围内,寻求专家以及诸位高手的帮助。

$
0
0

各位好:

最近一直在研究SPI方式的多核启动,碰到一些问题想不通,有些心急如焚,希望得到大家的帮助,谢谢啊。

     我用的是自己设计的板子,然后 是不是如果我的boot parameter bable没错,镜像文件生成也没错,烧写入NOR flash也没错,bootmode模式也没错的话,就能顺利实现dsp的自启动。

1、首先描述一下我的遇到的问题,bootcomplete寄存器的值为000000FF,DEVSTAT寄存器的的值设置为0101000000110,也在编译的时候将每个核的L2的本地地址改为了全局地址,这些应该没问题,然而核0的magic address一直为0,而剩余的7核的magic address值都正确为0x0c000000,这是我通过一个multicoreboot 的子函数中将每个核的0x1*87fffc写入0x0c000000。出现上述现象原因是为何啊?

2、在启动过程中,是会初始化所有核的L2中的最后0xD23F个字节,还是只是核0的?下图是从核0的L2最后D23F个字节中相应的位置找出的,该位置对应存的应该是boot parameter bable,然而这些参数显示是后两个字节在前例如原来是00500000成为了00000050,不论大端还是小端,好像都不应该是这样,没找到bootloader的源码,所以不知是不是程序让其变成这样?应该没影响吧。

3、SPI启动过程,原理阐述的都是核0首先启动然后将各核的镜像文件搬至各核的L2中,然后再给各个核写magic address,最后再再给每个核发送核间中断。而因为我的工程比较大,所以将代码段分配到共享存储中去,具体任务通过DUMN区分,设计让每个核的程序入口地址都一样为0x0c000000,这样的设计在SPI启动过程中能启动成功吗?

4、由于启动一直没有成功,因此我到指定的地址查找看有没我要的代码(将导入dsp内的值与对应的.dat镜像文件的值进行对比),发现隔一定间隔个数发现不一致,有的会如下图所示有的1变成7,然而当我用NOR writer网flash写入的时候,提示的NOR programmimg completed successfully,出现这样的变化会影响启动吗?为什么会这样?

希望能得到大家的帮助啊,谢谢啊。。。。。


Viewing all articles
Browse latest Browse all 5545

Latest Images

Trending Articles