主要是想利用起來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但是好像有些差別的,放棄了。。。