HI,
我将原来sysbios IPC多核触发的demo和QMSS的demo移植到一起。QMSS用的是C:\Program Files\Texas Instruments\pdk_C6678_1_0_0_16\packages\ti\transport\ipc\examples\qmssIpcBenchmark。
但是出现了一个问题,编译出的.out文件大于4M,也就是大于MSMC的大小(原先放在MSMC下),所以我将自己创建的platform做了修改,想把data和code段放到DDR里面。但是这样我移植后,多核就无法跑起来(原先IPC多核触发在SYSBIOS下可以跑起来),而且会有错误。然后有时候我再去修改自己创建的 package,就出现了找不到自己创建的package。
请问:
1..out执行文件不能放在DDR上么?
2.在自己创建的package目录下,找不到自己创建的package,这个是怎么回事? 我是通过 Tools->RTSC Tools->Platform->edit去修改自己创建的package。
Andy Yin1:
您好,
1. 在加载时,正常方式下首先需要生成相应的镜像文件,然后再加载,代码可以放在任意地方,但是注意的是如果放在DDR,首先需要对DDR做初始化;所以建议先了解一下多核加载,使用特定工具生成镜像,然后正常加载,具体可以参考一下MCSDK中的tools。
2. 由于在cfg文件中对platform进行了限制,所以需要结合修改cfg文件。请先稍微了解一下cfg文件代码。
chunlei gan:
回复 Andy Yin1:
您好,andy
请问有cfg的配置要求和说明么?因为代码里面许多参数都不知道是什么意思,按照其他cfg做修改也会有错。
望可以有说明文档这类资料可供参考。
还有我现在因为在QMSS里面无法修改platform文件,所以将QMSS移植到原先可修改platform的工程里面,但是出现了如下错误:
undefined first referenced
symbol in file
——— —————-
Ipc_attach ./bench_common.obj
Ipc_detach ./bench_common.obj
Ipc_start ./bench_common.obj
MessageQ_alloc ./bench_qmss.obj
MessageQ_create ./bench_qmss.obj
MessageQ_free ./bench_qmss.obj
MessageQ_get ./bench_qmss.obj
MessageQ_open ./bench_qmss.obj
MessageQ_put ./bench_qmss.obj
MessageQ_registerHeap ./bench_qmss.obj
MultiProc_getBaseIdOfCluster ./bench_common.obj
MultiProc_getName ./bench_qmss.obj
MultiProc_getNumProcessors ./bench_qmss.obj
MultiProc_self ./bench_common.obj
Notify_numIntLines ./bench_common.obj
我参考了E2E的论坛。说是 cfg文件的问题,所以需要自行配置cfg文件。所以请TI工程师能否介绍些cfg配置说明,或者有资料可能参考下。 还有什么情况会出现如上述错误呢?如果是库的错误我已经把QMSS的库都添加上了。请TI工程师解答下。谢谢。