This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C6657调试问题

Other Parts Discussed in Thread: SYSBIOS, TMS320C6657

我们主要任务是实现上位机与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程序吗?

  • NDK的hello和client例程是构建在BIOS操作系统上的,学习之初建议不要自己一个一个往里加组件,直接在hello或者client例程的基础上修改即可。

    这些例程的底层驱动在对应芯片的PDK目录下,比如C:\ti\pdk_C6678_1_1_2_6\packages\ti\transport\ndk\nimu\src\nimu_eth.c,它又会调用PDK目录下的Platform的代码,你可以将这些代码加入到你自己的工程里对应修改并重新编译测试。