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.

[参考译文] RTOS/SW-EK-TM4C129EXL:TCP echo Thread

Guru**** 2480155 points
Other Parts Discussed in Thread: EK-TM4C129EXL

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/696780/rtos-sw-ek-tm4c129exl-tcp-echo-thread

器件型号:SW-EK-TM4C129EXL
Thread 中讨论的其他器件:EK-TM4C129EXL

工具/软件:TI-RTOS

     我正在使用 EK-TM4C129EXL 开发板。 我使用 Tcpecho 示例连接以太网。 它工作正常。 我需要将整个 TcpEcho 示例转换为全功能、如 Heartbeatfxn 示例中的最小占用空间示例。 这是可能的吗??? 如果可能、如何实现???

     该示例的工作方式是否有流程图?????   在程序 tcpHandler 的哪个执行点运行 tcpWorker 任务???

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否可以配置和编辑示例 Tcpecho???
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的。 我要重命名该项目、但您应该能够扩展该示例。

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

       我正在使用 EK-TM4C129EXL 开发板。 我使用 Tcpecho 示例连接以太网。 它工作正常。 我需要将整个 TcpEcho 示例转换为全功能、如 Heartbeatfxn 示例中的最小占用空间示例。 这是可能的吗??? 如果可能、如何实现???

       该示例的工作方式是否有流程图?????   在程序 tcpHandler 的哪个执行点运行 tcpWorker 任务???

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

    netOpenHook 函数在启动后(在 BIOS_start 函数之后)由 NDK 调用。 此函数创建 tcpHandler 任务。 连接进入后、tcpHandler 会创建 tcpWorker 任务。

    很抱歉、您的其他问题非常模糊和笼统。

    Todd
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我尝试在 NDK 堆栈中配置 netOpenHook,然后包括 tcpHooks.c,从 tcpEcho.c 复制了代码的某些部分(头文件、void tcpWorker、void tcpHandler),并将其粘贴到 empty(最小)项目中,但仍然无法正常工作。

    我可以 ping IP 地址,但无法连接到 IP 地址....
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您说 TCP Echo 示例工作正常...对吗? 您改变了什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我的意思是、我创建了新项目(最小为空)、然后复制了 TCP

    tcpEcho()示例中的 hooks.c 和 tcpHandler()以及 tcpWorker()。 此外 、通过向添加 tcpHooks 对 NDK 堆栈进行了少量更改  

    NDK 堆栈。 执行这些步骤时、我可以执行 ping 操作、但无法连接到 IP 地址。

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

    我导入了空示例并进行了以下更改以模拟 tcpEcho。

    1.在项目设置中添加以下包含路径
    ${COM_TI_RTSC_TIRTTOSTIVAC_INSTALL_DIR}/products/ndk_2_25_00_09/packages/ti/ndk/inc/bsd

    2.复制了 tcpEcho 示例中的以下 NDK 配置并添加到 empty 的.cfg 文件中
    /*========================= NDK 配置=================== *
    VAR NDK = xdc.loadPackage ('ti.ndk.config');
    VAR Global = xdc.useModule('ti.ndk.config.Global');
    VAR IP = xdc.useModule('ti.ndk.config.Ip');
    VAR UDP = xdc.useModule('ti.ndk.config.Udp');
    VAR TCP = xdc.useModule('ti.ndk.config.Tcp');

    global.ipv6 = false;
    global.stackLibType = Global. min;
    Global.networkOpenHook ="&netOpenHook";

    //自动调用 fdOpen/CloseSession 以执行套接字任务*/
    Global.autoOpenCloseFD = true;

    global.pktNumFrameBufs=10;
    global.memRawPageCount = 6;
    global.ndkThreadStackSize = 1536;
    global.lowTaskStackSize = 1024;
    Global.normTaskStackSize = 1024;
    global.highTaskStackSize = 1024;
    tcp.transmitBufSize = 1024;
    tcp.receiveBufSize = 1024;

    3.增加.cfg 中系统堆的大小。 堆栈需要的空间大于空示例中指定的1024。
    BIOS.heapSize = 20480;

    有关 NDK 中存储器使用情况的更多信息、请参阅 :processors.wiki.ti.com/.../TI-RTOS_Networking_Stack_Memory_Usage

    4.将 tcpEcho.c 和 tcpEchoHooks.c 文件从 TCP Echo 示例复制到空项目中。 我还删除了 empty.c。

    我能够像 TCP Echo 一样构建和运行它。

    Todd