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.

[参考译文] TMS570LC4357:程序在 DataEntry b DataEntry 挂起

Guru**** 2524460 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1550699/tms570lc4357-program-hang-at-dataentry-b-dataentry

器件型号:TMS570LC4357


工具/软件:

你(们)好

最近、我遇到了上述错误。 这是一个奇怪的问题。 下面是我主程序中的起始代码。

如果我从起始位置运行程序、将出现如下所示的 DataEntry 错误

DataEntry
       b DataEntry
       反相中断
       LDR PC、[PC、#–0x1b0]
       LDR PC、[PC、#–0x1b0]

程序将卡在 DataEntry。 如果我逐步执行主启动软件、例如在  main_vv Pcba_Init () 和中停止  

boa Flag_System Init_Done = true、它不会挂起、软件将正常运行。  

您能告诉我什么问题吗? 根据 chatgpt 的说法,原因可能是  

您能帮助我验证这是否是原因吗? 如果是,如何解决它,使它不会发生。 谢谢你

--------------------------------------------------------

内部 main (void)

静态 bool BL_FLASH = false;
//其他任务计时计数器

//初始化所有硬件和低级模块
main_v Pcba_Init ();

//初始化所有软件模块
main_v Module_Init ();

对于 (uint8_t blockIdx=0U;blockIdx < EEP_TOT_NUM_BLOCKS;blockIdx++)

eep_vWriteEepDataCyclic ();
}

Bo Flag_System Init_Done = true;

while (true)

...

}

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

    尊敬的 LayEng:

    如果从受保护或有故障的存储位置读取数据或向其中写入数据、则处理器会接收到数据中止异常。

    请参阅以下线程、确切了解代码的哪行导致了此中止。

    (+)【常见问题解答】TMS570LC4357:Hercules 器件上的中止异常疑难解答 — 基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛

    --

    此致、
    Jagadish。

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

    亲爱的 Jagadish

    感谢您的答复。 请给我一些时间进行进一步调查。 谢谢你

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

    亲爱的 Jagadish

    问题不时挂起。 我对调试任何数据进入中止的原因非常感兴趣。 目前我们遇到了问题。 下面是我遇到问题时捕获的图像:

    R14_ABT 包含值 0x0006E8C2。  

    我该如何从这里着手。 期待您的答复。 谢谢你

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

    您好 Jagadish

    对于我阅读的内容是否正确、您是否有任何建议? 期待您的答复。

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

    尊敬的 LayEng:

    由于个人工作、我休息了几天、没有时间研究这个问题。

    [引述 userid=“557411" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1550699/tms570lc4357-program-hang-at-dataentry-b-dataentry/5972679

    R14_ABT 包含值 0x0006E8C2。  

    我该如何从这里着手。 期待您的答复。 谢谢你

    [/报价]

    请在映射文件中验证此地址、并验证哪个函数具有该地址。

    然后、您可以将断点保留在相应函数的开头、并且可以执行逐行调试以准确找出导致错误的行。

    --
    此致、
    Jagadish。

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

    通常、映射文件包含所有例程的起始地址、因此您可以验证此地址接近哪个地址、并找出导致此问题的函数。

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

    亲爱的 Jagadish

    很抱歉此晚回复。 我从 8 月 30 日开始度过了一个 4 周的假期。 我想你的电子邮件。 我只是看到了。  

    我只能在 9 月末回复