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/TDA2EG:TI.SYSBIOS.family.ARM.m3/Hwi:e_hardFault:Forced

Guru**** 2939240 points

Other Parts Discussed in Thread: SYSBIOS

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/657799/rtos-tda2eg-ti-sysbios-family-arm-m3-hwi-e_hardfault-forced

器件型号:TDA2EG

工具/软件:TI-RTOS

您好!

我正在使用基于 TDA2x 的 VAYU 视觉应用板、并尝试在随 VISION SDK 提供的 SAMPLE_APP 中添加自己的用例。

我的用例很简单:我创建了简单函数、该函数返回一些固定值、并使用 SDK 提供的工具链中的编译器和归档器生成了库。

从显示我调用自己函数的用例列表的 c 文件中、该函数转而调用库中定义的函数。

此库与最终可刷写程序正确链接、我可以在映射文件中看到我的函数符号。

但是、当我刷写并运行代码时、我会得到 ti.sysbios.family.arm.m3.Hwi:e_hardFault:在函数调用时强制执行。

我没有得到这一例外的确切原因。

反汇编的一部分显示了以下内容:

chains_link_test():
8493c878:B508推{R3、LR}
9 int val = 0;
8493c87a:2000 MOV r0、#0
8493c87c:9000 str r0、[sp]
10 VPS_printf ("\r\n 测试静态库.......... 1英寸);
8493c87e:A005 ADR r0、#0x14
8493c880:F7E5FDD6 BL #0x84922430
11 val = test_static_lib ();
8493c884:F00DE7A .word 0xed7af00d           ---------------------- >此处出现异常
8493c888:9000 str r0、[sp]
12 VPS_printf ("\r\nTest static lib %d"、val 中的值);
8493c88a:9900 LDR R1、[sp]
8493c88c:A00A ADR r0、#0x28
8493c88e:F7E5FDCF BL #0x84922430
13}

下面是堆栈跟踪:  

TI.SYSBIOS.family.ARM.m3/Hwi:第1105行:TI.SYSBIOS.family.ARM.m3/Hwi:第1105行:E_hardFault:Forced
TI.sysbios.family.arm.m3/Hwi:第1217行:TI.sysbios.family.arm.m3/Hwi:第1217行:e_usageFault:undefinSTR:未定义的指令
在 PC = 0x8493c884的后台线程中发生异常。
内核0:ThreadType_Task 中发生异常。
任务名称:系统主控、句柄:0x86738bc0。
任务堆栈基地址:0x869317e0。
任务堆栈大小:0x8000。
R0 = 0x00000000 R8 = 0xffffffff
R1 = 0x00000000 R9 = 0xffffffff
R2 = 0x00000000 R10 = 0xffffffff
R3 = 0x00001164 R11 = 0xffffffff
R4 = 0xffffffff R12 = 0x8674b897
R5 = 0xffffffff SP (R13)= 0x869397a0
R6 = 0xffffffff LR (R14)= 0x8493c885
R7 = 0xffffffff PC (R15)= 0x8493c884
PSR = 0x21000000
ICSR = 0x00437803
MMFSR = 0x00
BFSR = 0x00
UFSR = 0x0001
HFSR = 0x40000000
DFSR = 0x00000001
MMAR = 0xe000ed34
BFAR = 0xe000ed38
AFSR = 0x00000000
未处理异常:
ThreadType_Taskhandle:0x86738bc0中发生异常。
栈基地址:0x869317e0。
R0 = 0x00000000 R8 = 0xffffffff
R1 = 0x00000000 R9 = 0xffffffff
R2 = 0x00000000 R10 = 0xffffffff
R3 = 0x00001164 R11 = 0xffffffff
R4 = 0xffffffff R12 = 0x8674b897
R5 = 0xffffffff SP (R13)= 0x869397a0
R6 = 0xffffffff LR (R14)= 0x8493c885
R7 = 0xffffffff PC (R15)= 0x8493c884
PSR = 0x21000000
ICSR = 0x00437803
MMFSR = 0x00
BFSR = 0x00
UFSR = 0x0001
HFSR = 0x40000000
DFSR = 0x00000001
MMAR = 0xe000ed34
BFAR = 0xe000ed38
AFSR = 0x00000000
正在终止执行...正在终止执行...

请帮助!

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

    我已将您的问题转交给 VisionSDK 专家。

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

    你(们)好

    您包含了您的库的哪个内核/CPU?

    我可以在您的案例中看到 IPU 崩溃。

    请将 CCS 连接到 IPU 内核、加载符号、

    打开变量窗口并设置

    PC 连接到0x8493c884。

    这可帮助您从此处获取调用堆栈、您可以识别崩溃位置

    此致、Shiju

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

    我遇到了同样的问题。

    在本例中、要创建库、我使用的是 CCS。

    因此,在创建项目时,请检查 IPU 的内核选择是否应为“Cortex M [ARM]”。

    这解决了我的问题。

    希望这会有所帮助!!

    此致、

    Kajal