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.

[参考译文] 如何修改 NDK NSP 示例?

Guru**** 2593120 points
Other Parts Discussed in Thread: SYSBIOS

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/642821/how-do-i-modify-ndk-nsp-examples

Thread 中讨论的其他器件:SYSBIOS

我是一名 DSP 编程人员(而不是网络编程人员)、使用 LCDK6748开发板开发数据采集产品。  我的目标是使用 TI 网络开发套件(NDK)从 A/D 转换器捕获数据并将原始数据传输到主机 PC。

 已使用 NDK 2.23.1.1成功安装并测试 NSP 1.10.2.9的 NDK_evm6748_COFF_CLIENT 示例。  我还开发了一个 SYSBIOS 应用程序、该应用程序从 ADC 获取样本并将其存储到双缓冲器中。

当一个缓冲区被填满时、我想使用客户端示例的数据服务器将其内容传输到 PC、而另一个缓冲区正在被填满。  

当我 使用 winapp 应用程序 recv.exe 来运行 NDK_evm6748_coff 客户端数据服务器时、似乎 DSP 只是回循环 PC 发送的数据。  我在 DSP 端 NSP 源代码中找不到任何可以告诉我如何"发送()"缓冲数据的挂钩。

我找到了一个题为"C6000网络开发套件入门"的文档(spraa4x.pdf)、其中介绍了如何添加 DSP/BIOS 任务 "Sender.c"。要通过 入门技术讲座中使用的 CCS 3.3/DSP/BIOS 客户端示例从 TI C6455 EVM 声卡传输数据。  遗憾的是、与 Workshop 关联的源代码.zip 文件似乎不再可用。

有人可以告诉我一些代码示例 (或建议) 、说明如何从  NSP 1.10.2.9修改 NDK_evm6748_coff 客户端示例 以发送缓冲区?  

谢谢!

Bob

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Bob:

    我已通知 NDK 团队。 他们的反馈将直接发布在此处。

    在平均时间 a 中、您能否发布您正在使用的 RTOS 版本?

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Yordan、您好!

    我的系统配置如下:

    CCS6.1.0.00104
    NDK 2.23.1.01
    NSP 1.10.2.09
    SYS/BIOS 6.35.1.29
    XDC 工具3.25.0.48

    我认为我已经找到了用于连接外部缓冲器的挂钩。 client.prj 有一个名为 netHooks.c 的文件,该文件通过调用 DemonNew()来实例化各种服务器。 我查找的特定服务器通过指向回调函数 dtask_tcp_datasrv 的函数指针进行调用。

    但是、dtask_tcp_datasrv 在本地分配并加入其缓冲区内存、因此为了将我的全局 ADC 缓冲区复制到分配的本地内存、我必须修改此函数并重命名它或修改库条目。

    我还在单独的文件 datasrv.c 中找到了另一个函数 void datasrv (void)、这正是我要查找的函数、包括外部全局 buf[1024]。 但是、当我将 dtask_tcp_datasrv 替换为 datasrv 时、它会编译但生成参数不匹配警告、因为 datasrv 的参数为 void、而 dtask_tcp_datasrv 的参数为(socket s、未使用 uint32)。

    由于这只是一个警告、我将在硬件上尝试它、看看会发生什么情况。

    但我想知道如何正确使用 datasrv()(如果可以使用)。 因此,我想知道您是否可以向 NDK 团队寻求有关使用 datasrv()的指导。

    谢谢
    Bob
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    datasrv ()和 dtask_tcp_datasrv ()都在 ti\ndk\tools\servers 下实现。 前者打开套接字本身、后者使用套接字作为输入参数。 您可以查看代码以了解哪些符合您的需求。

    此致、Eric