天天看点

DSP:TMS320C6657 之 核间通信(1)

主要是想利用起来core0和core1:后期打算把core0主要用作通信数据传递,core1用作数据处理,虽然现在也不知道这样安排是否正确考虑是否周全,就这么做了。

第一步是在多核多镜像的例程上修改,打算将udp通信功能整合进去,无奈,第一步就卡住了整整两天。进入正题:

1、MultiCore_DualImage_Core0_SYSBIOS这个例程cfg没用到NDK,UDP,IP这些东西,于是第一步:add。紧接着问题来了。

<Linking>

undefined first referenced

symbol in file

--------- ----------------

NIMUDeviceTable C:\ti\ndk_2_24_03_35\packages\ti\ndk\stack\lib\stk6.ae66<nimu.oe66>

error #10234-D: unresolved symbols remain

error #10010: errors encountered during linking; "MultiCore_DualImage_Core0_SYSBIOS.out" not built

>> Compilation failure

2、根据错误,在库文件添加stk6.ae66以及它的路径,然后还添加了两个ae66文件:ti.drv.emac.ae66   ti.transport.ndk.nimu.ae66以及路径,又报错(每次build的error都有变化但类型基本上都是这样的)

<Linking>

undefined first referenced

symbol in file

--------- ----------------

Convert_CoreLocal2GlobalAddr C:/ti/pdk_c665x_2_0_1\packages\ti\transport\ndk\nimu\lib\c6657\c66\ti.transport.ndk.nimu.c6657.ae66<nimu_eth.oe66>

Osal_exitSingleCoreCriticalSection C:/ti/pdk_c665x_2_0_1\packages\ti\transport\ndk\nimu\lib\c6657\c66\ti.transport.ndk.nimu.c6657.ae66<nimu_eth.oe66>

emac_close C:/ti/pdk_c665x_2_0_1\packages\ti\transport\ndk\nimu\lib\c6657\c66\ti.transport.ndk.nimu.c6657.ae66<nimu_eth.oe66>

emac_config C:/ti/pdk_c665x_2_0_1\packages\ti\transport\ndk\nimu\lib\c6657\c66\ti.transport.ndk.nimu.c6657.ae66<nimu_eth.oe66>

emac_int_service C:/ti/pdk_c665x_2_0_1\packages\ti\transport\ndk\nimu\lib\c6657\c66\ti.transport.ndk.nimu.c6657.ae66<nimu_eth.oe66>

emac_open C:/ti/pdk_c665x_2_0_1\packages\ti\transport\ndk\nimu\lib\c6657\c66\ti.transport.ndk.nimu.c6657.ae66<nimu_eth.oe66>

emac_send C:/ti/pdk_c665x_2_0_1\packages\ti\transport\ndk\nimu\lib\c6657\c66\ti.transport.ndk.nimu.c6657.ae66<nimu_eth.oe66>

error #10234-D: unresolved symbols remain

error #10010: errors encountered during linking; "MultiCore_DualImage_Core0_SYSBIOS.out" not built

3、根据错误提示到原来的NDK_UDP例程里面,主要是main.c文件里提示的网卡部分的函数粘贴过来,我记得Osal_打头的不再报错,开始是一些platform_get...的东西开始报错,根据经验再去NDK_UDP例程里面找其定义,在一个platform.h里面。我对比之后发现很多.h文件例程里是一样的,所有继续用的是sysbios底下的.h文件,暂时还不知道有什么隐患问题。

4、Build过程中有些error和warning慢慢改,上面的东西做好了这一步不难了。

5、总结

在移植的时候要注意把配置里的东西尽量全部照搬过去,后面再做删减,尤其是库文件头文件这一些,还有RTSC!!!

6、出现新的问题:在core0上网口通信功能正常,但串口相关的函数变量好像不是通用,目前数据给不到串口,推测跟函数以及地址分配有关系,cmd文件划分了DDR3这些,唉还要加油鸭,心累。

7、我用的是pdk_C6657_1_1_2_6,ndk_2_21_02_43,原想用ndk_2_24_03_35但是好像有些区别的,放弃了。。。

继续阅读