我们主要任务是实现上位机与DSP通过网口通信,在DSP端我采用sys/bios + NDK的开发思路,在sys/bios操作系统上配置和运行NDK的TCP/IP协议,利用XGCONF图形化配置NDK,传输层、网络层、数据链路层分别选用TCP、IP、EMAC协议。网络应用程序采用Socket来实现与上位机的通信。
我按照TI Network Developer's Kit (NDK) v2.25 API,TI Network Developer's Kit (NDK) v2.25和SYS_BIOS (TI-RTOS Kernel) v6.46这三份官方文档来学习配置的,其中sys/bios是用的C6657的一个官方的例程:
之后修改了sys/bios中的部分模块,最终sys/bios启用的模块如下:
NDK是之后加入的,但是再加入NDK并作相关配置后就不能编译过,报错如下:
Description Resource Path Location Type
unresolved symbol ti_sysbios_knl_Semaphore_delete, first referenced in C:\ti\ndk_2_25_00_09\packages\ti\ndk\os\lib\os.ae66<semaphore.oe66> hello_TMS320C6657 C/C++ Problem
unresolved symbol ti_sysbios_knl_Task_create, first referenced in C:\ti\ndk_2_25_00_09\packages\ti\ndk\os\lib\os.ae66<task.oe66> hello_TMS320C6657 C/C++ Problem
unresolved symbol NIMUDeviceTable, first referenced in C:\ti\ndk_2_25_00_09\packages\ti\ndk\stack\lib\stk6.ae66<nimu.oe66> hello_TMS320C6657 C/C++ Problem
unresolved symbol ti_sysbios_knl_Semaphore_create, first referenced in C:\ti\ndk_2_25_00_09\packages\ti\ndk\os\lib\os.ae66<task.oe66> hello_TMS320C6657 C/C++ Problem
#10010 errors encountered during linking; "hello_TMS320C6657.out" not built hello_TMS320C6657 C/C++ Problem
unresolved symbol ti_sysbios_knl_Task_delete, first referenced in C:\ti\ndk_2_25_00_09\packages\ti\ndk\os\lib\os.ae66<task.oe66> hello_TMS320C6657 C/C++ Problem
#10234-D unresolved symbols remain hello_TMS320C6657 C/C++ Problem
NDK的配置如下:
右侧outline如下:
DSP的主要工作是接收上位机发送到数据
设置的具体步骤
问题:
1、 EMAC和底层硬件是怎样交互的?需要自己编写驱动程序吗?
我们用的是88E1112芯片,和DSP管脚连接如下图:
2、 图形化配置NDK后,右边outline对应的IP、TCP为什么是红色圆点,我在文档中看到红色是并没有生成相应的代码,蓝色才是生成代码,请问是这样的吗?以及如何解决?
3、 利用NDK图形化界面配置之后,直接就可以在程序中调用socket函数了吗?还是需要相关的配置?如果需要,应如何配置?
4、 上面贴出的build过程中的报错应如何解决?
5、 请问在编写socket程时需要包含什么头文件?
6、 请问是要创建一个task去运行socket程序吗?




