使用的库文件:
MACSDK:2.0.9.21, 6678PDK:1.0.0.21 NDK:2.21.0.32, SYS/BIOS:6.33.4.39
1.在Available Products->ndk core stack->global下,welcome界面勾选add NDK/GLOBAL to my configuration之后,出现一些列错误:
unresolved symbol Osal_platformFree,first reference in c:\ti\pdk_6678_1_0_0_21\packages\ti\platform\evmc6678l\platform..
unresolved symbol Osal_platformMalloc,first reference in c:\ti\pdk_6678_1_0_0_21\packages\ti\platform\evmc6678l\platform..
...
unresolved symbol QMSS_QPOP,first reference in c:\ti\pdk_6678_1_0_0_21\packages\ti\transport\ndk\nimu\lib\ti......
.....
这是属于include文件设置错误还是少安装了NSP?
2.将Program.sectMap["systemHeap"] = "L2SRAM";修改为Program.sectMap["systemHeap"] = "DDR_Heap";
DDR_Heap在platform设置为起始地址0x8000_0000,长度为32MB,该段为虚拟地址?
在xdcReset Function处将0x8000_0000,长度为32MB的地址映射到DDR3物理空间,每个核分配32MB,总共256MB。
多核使用单镜像工程,固化时systemHeap在L2SRAM通过以下方式启动其他核,将systemHeap修改为DDR时怎么启动其他核?
int *pBootMagicAddCore0;
int *ENTRY=NULL;
int *IpcGr0;
int i;
for(i=1;i<8;i++)
{
memcpy((int *)(0x10800000+i*0x1000000),(int *)0x10800000,0x72e00);
}
//while(i>1);
/*write Boot Magic add of other cores and send IPC interrupt*/
ENTRY=(int*)0x70000400;
pBootMagicAddCore0 = (int*)0x1087FFFC;
(*pBootMagicAddCore0)=*ENTRY;
//pBootMagicAddCore0 = (int*)0x70000400;
//(*pBootMagicAddCore0)+= 0x10000000;// translate to global address
for(i = 1;i < 8; i++)//write the other cores' boot magic address
{
//*(pBootMagicAddCore0+ (0x01000000*i)/4 ) = (*pBootMagicAddCore0) + 0x01000000 * i;
*(pBootMagicAddCore0+ (0x01000000*i)/4 ) = *ENTRY;
}
IpcGr0 = (int*)0x02620240;
/*warning:when running on no-boot mode,core0~core7 must all be connected to the target*/
for(i = 1;i < 8;i++)//core0 sent ipc interrupt to
{
*(IpcGr0+i) = (*(IpcGr0+i)) | 0x00000001;
}