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.

[参考译文] TM4C1294NCPDT:将 lwip 与 FreeRTOS 配合使用时出错

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/880100/tm4c1294ncpdt-errors-using-lwip-with-freertos

器件型号:TM4C1294NCPDT
Thread 中讨论的其他器件:SYSBIOS

你好

我们希望使用 FreeRTOS 实现 Modbus TCP。 我们已经成功开发了 Modbus TCP,而没有任何 RTOS。 这将在示例代码(enet_lwip)的帮助下完成。 但是、当我们尝试通过 FreeRTOS 100+实现带 lwip 堆栈的 Modbus TCP 时、会出现错误、lwip 堆栈会出现很多错误、因此您可以为 CCS IDE 提供带 FreeRTOS 的 lwip 堆栈示例代码。

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

    Anushka、您好!

    我们没有 FreeRTOS 专业知识来帮助调试 FreeRTOS 实施。 如果您需要德州仪器(TI)的支持、以便将 RTOS 与 TM4C MCU 配合使用、则可以查看使用 TI-RTOS for Tiva-C: http://www.ti.com/tool/TI-RTOS-MCU

    用户指南: http://www.ti.com/lit/ug/spruhu5d/spruhu5d.pdf

    TivaWare 中的 FreeRTOS 资源按原样提供、旨在帮助提供初始起点、但我们无法帮助支持该实现。 如果您继续了解并对 TM4C 本身有具体问题、请告知我们。

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

    您好 Ralph、

    因此、请为我们提供带有 ti-RTOS 的 Modbus TCP 的示例代码。  

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

    Anushka、您好!

    我们没有这方面的示例代码、但可以尝试并帮助指导您解决特定于器件或 RTOS 的实施方面的技术难题。 您提到您是从 enet_lwip 开始、并尝试在 FreeRTOS 上实现它。 因此、对于用于 Tiva-C 的 TI-RTOS、您可以从提供的各种 TCP 示例之一开始、为您提供坚实的基础、然后在之上开发 Modbus 层。

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

    您好 Ralph、

    感谢您的支持。 我现在可以通过 ti-RTOS 成功开发 Modbus TCP 堆栈

    但我有以下查询

    1)     1)当我参考您的 TCP-echo 示例连接 Modbus TCP 时,最多可以同时连接5个连接,对于第6个连接,它将不会连接,因此可以如何以及在哪里限制这种连接,例如只允许5个连接。 请详细说明   

    2)     IP 地址网关和子网我已通过.cfg 文件更改,然后连接到该 IP 地址。 如何在运行时更改(我需要更改它,就像其他常规可设置参数一样)? 如何在运行时更改.cfg 文件参数?

    3)     3)如何在 ti-RTOS 上声明和使用 ISR 函数。 支持我需要 UART 接收 ISR 函数,以便如何声明该函数。 在非 TI-RTOS 项目上、它可以在 startup_ccs.c 文件中定义、但使用 ti-RTOS 函数时、该文件不会被预先设置、因此无法声明 ISR 函数的方式和位置。

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

    尊敬的 Anushka:

    [引用 user="Anushka Parab21]1)     当我参考 TCP-echo 示例连接 Modbus TCP 时,最多我可以同时连接5个连接,对于第6个连接,它将不会连接,因此可以如何以及在哪里限制这种连接,例如只允许5个连接。 请详细解释[/  引述]

    我将访问 https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/738539。 这可能是内存问题。

    [引用 user="Anushka Parab21"]2)     IP 地址网关和子网我已通过.cfg 文件更改,然后连接到该 IP 地址。 如何在运行时更改(我需要更改它,就像其他常规可设置参数一样)? 如何在运行时更改.cfg 文件参数?[/quot]

    查看 debug\configPkg\package\ccfg\<.cfgname>_中的生成代码 .c 文件。 查看“==========” ti.ndk.config.Global 模板=== "部分。 您将看到如何设置 IP 地址(以及 NDK 存储器缓冲区等)。 您可以停止网络 stat 并使用 Generate .c 文件中的类似代码重新启动它。

    [引用 user="Anushka Parab21"]3)     如何在 ti-RTOS 上声明和使用 ISR 函数。 支持我需要 UART 接收 ISR 函数,以便如何声明该函数。 在非 TI-RTOS 项目上、它可以在 startup_ccs.c 文件中定义、但使用 ti-RTOS 函数时、该文件不会被预先设置、因此说明了 ISR 函数的方式和位置。

    您可以使用 TI-RTOS 提供的驱动程序(例如 UART)。 或者编写自己的代码。 不过、请确保使用 ti.sysbios.hal.hwi 模块来设置 ISR。

    Todd