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:程序终止

Guru**** 2611705 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/583265/rtos-program-termination

工具/软件:TI-RTOS

我使用的是 Tiva 1294XL 板和最新的 TI RTOS 版本。 我不断遇到以下错误

000000 LR (R14)= 0x0005941f
R7 = 0x2001c82c PC (R15)= 0x0005ff32
PSR = 0x21000000
ICSR = 0x0400f803
MMFSR = 0x00
BFSR = 0x82
UFSR = 0x0000
HFSR = 0x40000000
DFSR = 0x00000001
MMAR = 0x6d376264
BFAR = 0x6d376264
AFSR = 0x00000000
正在终止执行...

当我检查发生此错误的位置时、我会得到以下信息。 有人能告诉我这个问题的原因是什么?  

0x5ff16:0xd001 BEQ.N 0x5ff1c
返回(0);
0x5ff18:0x2000 MOV R0、#0
0x5ff1a:0xe7ff B.N 0x5ff1c
return (pfdt);
0x5ff1c:d0xb02 POP{R1、PC}
int fdint_lockfd( FILEDESC *PFD,uint 类型)

fdint_lockfd:
0x5ff1e:0xb538压入{R3-R5、LR}
0x5ff20:0x0004 MOV R4、R0
0x5ff22:0x000d MOV R5、R1
pfdt = TaskGetEnv( TaskSele(),0 );
0x5ff24:0xf7f9 0xfaa2 BL TaskSelf;0x5946c
0x5ff28:0x2100 MOV R1、#0
0x5ff2a:0xf7f9 0xfa5a BL TaskGetEnv;0x593e2
if (!pfdt || pfdt->Type != HTYPE_FDTABLE)
0x5ff2e:0x2800 CMP R0、#0
0x5ff30:0xd002 BEQ.N 0x5ff38
0x5ff32:0x6801 LDR R1、[R0]
0x5ff34:0x290d CMP R1、#13;0xd
0x5ff36:0xd002 BEQ.N 0x5ff3e
return (socket_error);
0x5ff38:0xf05f 0x30ff MOVs.W R0、#-1;0xffffffff
0x5ff3c:0xe01b B.N 0x5ff76
if (!PFD ||
(类型&& PFD ->类型!=类型)||
((PFD->Type != HTYPE_RAWETHSOCK)&&
#ifdef _include_ipv6_code
(PFD->Type != HTYPE_SOCK6)&&
#endif
(PFD->Type != HTYPE_SOCK_& PFD->Type != HTYPE_BIPE)
)||!PFD->OpenCount)
0x5ff3e:0x2c00 CMP R4、#0
0x5ff40:0xd010 BEQ.N 0x5ff64
0x5ff42:0x2d00 CMP R5、#0
0x5ff44:0xd002 BEQ.N 0x5ff4c
0x5ff46:0x6821 LDR R1、[R4]
0x5ff48:0x42a9 CMP R1、R5
0x5ff4a:0xd10b BNE.N 0x5ff64

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

    Fehan、

    您是否按照SYS/BIOS 常见问题解答中的步骤 、了解如何使用 PC/LR/SP 寄存器值跟踪此问题?  似乎您已经执行了这些步骤、但我想再次检查您是否执行了这些步骤。

    执行此操作后、您可以拍摄 CCS 中显示的调用栈的屏幕截图吗?  请确保"展开"堆栈跟踪上的所有函数调用、以便我可以在屏幕截图中看到它们。

    此外、您的应用程序在做什么?  如果您能简要总结一下正在发生的情况、也有助于更好地理解问题。

    Steve