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.

[参考译文] TMDSCNCD28388D:CM 内核硬故障

Guru**** 2391415 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1174413/tmdscncd28388d-cm-core-hard-fault

器件型号:TMDSCNCD28388D

你好
我目前正在将 FreeRTOS 添加到 Lwip 示例项目中、并尝试使其正常工作。
EtherNet_Init 正常工作、但当 Lwip_Init 中的 TCPIP_init 执行的 lwip_init 函数执行时、调试期间会发生硬故障、无法运行。

通过分析、假设 lwip_init 函数中的 tcp_init 执行的内容存在问题。
使用代码中包含的 tcp_init 中的 LWIP_RAND()宏(rand 函数)进行编译时、似乎会发生硬故障。

我认为初始化行为可能有必要、但如何解决?

此外、在与 lwip 进行 TCP 通信时、端口是否必须是随机的?

谢谢你。

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

    您好!

    请对其进行调试以找出硬件故障的原因。 这可能是由于存储器损坏造成的。

    您可以参考以下链接

    https://www.freertos.org/Debugging-Hard-Faults-On-Cortex-M-Microcontrollers.html

    此致

    Siddharth  

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

    你好
    我有两个问题:
    1.在执行与 LWIP 库的 TCP 通信时,是否应在初始化期间随机生成端口号?
    2.执行初始化操作所需的 rand 函数时是否存在硬故障对策?
    这是两者。

    硬件故障的原因是 lwip_init 函数中执行的 tcp_init 函数。
    如果函数内宏中使用的 rand 函数包含在可执行代码中并经过编译、则调试期间将发生硬故障。

    谢谢你。

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

    您好!  

    TCP 端口不需要随机化、它可以是静态的。 传入连接必须指定相同的端口 才能进行连接。

    不确定在执行 rand 函数期间引起的硬故障。

    此致

    Siddharth