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.

[参考译文] TM4C129ENCPDT:RTOS/NDK:ICMPv6接收故障

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/765580/tm4c129encpdt-rtos-ndk-fault-in-icmpv6-receive

器件型号:TM4C129ENCPDT

您好!

我正在使用 NDK 库通过链路本地接口在 IPv6套接字上接收和传输 TCP 数据。 这种情况很好、我没有遇到任何问题。

但是、当 Tiva 接收到一个可路由的网络 IPv6地址(前缀20XX)时、它在大约10分钟内出现故障。

该地址通过在本地路由器上运行的 SLAAC 服务器委派给 Tivas。

 

以下是当我遇到问题时的 HWI 故障跟踪:

"已解码异常":{
"已解码":"硬故障:强制:BUSFAULT:IMPRECISERR"
}、
"异常上下文":{
"$addr":"0x20030680"、
"$type":"TI.SYSBIOS.family.ARM.M3.HwI.Excal.HandText"、
"threadType":{}、"0x20030680"

、"0x200bstack"、"0x200d520"
"threadStackSize":"3072"、
"r0":"0x0"、
"r1":"0x86"、
"r2":"0x1"、
"R3":"0x0"、
"R4":"0x0"、
"R5":"0x0"、
"R6":"0x86"、
"r7":"0x0"、
"R8":"0x2002A936"、
"R9":"0x20038e5c"、
"R10":"0x2002d42c"、
"r11":"0x0"、
"R12":"0x0"、
"sp":"0x20030758"、
"LR":"0x63d9b"、
"PC":"0x68b5c"、
"PSR":"0x8100f000"、
"ICSR":"0x803"、
"MMFSR":"0x0"、
"BFSR":"0x4"、
"UFSR":"0x0"、
"HFSR":"0x40000000"、
"DFSR":"0x1"、
"MMAR":"0xe000ed34"、
"BFAR":"0xe000ed38"、
"AFSR":"0x0"
}、
"异常调用栈":{
"0 LLI6IsRouterStatMachine at lli6.c:217:":"PC=0x00068B5C"、
"1 LLI6Update at llib6.c:":"PC=0x0006IPV6




:0x0006485r: v"、"0x0006Ript 086a:0x0006rb:0x0006:0x0006rb:0x0006r40c:0x0006rb:0x0006rb:0x0006rb:0x0006:0x000a:0x000a:0x0006rb "PC=0x00059E9A"、
"7 NIMUReceivePacket at NIMu.c:304:":"PC=0x0005AF20"、
"8 EMACSnow.c:

c6的 EMACSnow_pkt_service:"PC=0x0003F268"、"9 NIMUPacketService at EMACSnu.c:0x000429"




、"NE_CC_TRS=0x0004674":0x0004_NE_CL_CL_TRS=0x00013":0x0004674_NE_CL_CL_CL_CL_0004674_CL_CL_TRB:"0x0004_NE_0004_NETRS=0x0004_0004674_CL_CL_NE.00064_CL_CL_CL_NE.0004_TRS=0x0004_CL_0004_00064_0004_CL_CL_TRS=0x0004_00064_00064_00015"

我已验证所有任务(包括 NDK 任务)没有耗尽堆栈空间。

我在堆上还有可用的内存。

我将 NDK 修订版本更新为2.25.01.11、但未解决问题。

它看起来是 Tiva 接收到的最后一个数据包、是 ICMPv6类型的数据包。

 

另一个论坛帖子似乎描述了可能相同的问题:

http://e2e.ti.com/support/microcontrollers/other/f/908/t/680689

在最后一篇文章中、有人提到此问题可能已作为 NDK 中的错误进行跟踪。

 

谢谢、

Brandon Rivera

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Brandon、
    IPv4中是否存在相同的问题? 如果这是一个已知问题、我会将您的问题提交给 NDK 专家、并建议采取哪些变通办法、我将尝试收集信息。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    有关 EMAC 驱动程序的未决已知问题,请访问 :processors.wiki.ti.com/.../TI-RTOS_Support 。 我们似乎忘记添加您指向的线程中提到的那个。 您是否完成了该主题中建议的更改?

    我们在较新版本的 NDK (3.40)中修复了该问题、但我建议在 TI-RTOS 中对 NDK 进行更改并重新构建库。 《用户指南》详细介绍了如何重建组件。

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

    感谢您的快速回答。

    我完全错过了该论坛帖子的第二页。
    很抱歉、我仍然习惯这里的论坛格式。
    我将尝试构建并使用结果更新此帖子。

    再次感谢、
    Brandon Rivera
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    听起来不错。 是的...处理更长线程的方式有点过时和繁琐。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Todd、

    重新编译 NDK 代码后、Tiva 板在12小时内未复位。
    再次感谢您的帮助。

    此致、
    Brandon Rivera
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的更新、很高兴听到修复了它!

    Todd