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.

[参考译文] AWRL6432:[存储器损坏]指定地址中存在意外数据

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1243255/awrl6432-memory-corruption-unexpected-data-is-located-in-specifice-address

器件型号:AWRL6432

尊敬的 TI 团队

   在编译源代码后加载调试映像时、会在特定地址中放置意外数据。 (调试会话尚未激活)

请在下面进行检查。

CCS 中的存储器视图(hexa 格式)

CCS 中的内存视图( 字符格式 )

在映射文件中

在源文件中

如您所见、由于加载了意外数据、初始配置失败。

重复度为100%。

经过一些测试、我发现在地址0x45f95c 处、这个值一直为0x0466530、即使源代码被改变了也是如此。

请告诉我发生这种情况的原因、原因是什么、值(0x0466530)意味着什么以及解决方案是什么。

最棒的和尊重的

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

    嗨、崔  

    我将对此进行深入探讨、并在下周中旬更新。

    此致、
    凯文

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

    尊敬的 Kevin。

    时间更长。

    请告诉我问题的结果。

    此致、此致

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

    嗨、崔

    最后、我们在存储器地址中未看到此值。我们观察到值为0x0000733D。 您加载的是定制软件还是示例演示? 您是否还可以共享链接器文件?

    此致、
    凯文

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

    尊敬的 Kevin:

    我是崔先生的同事。
    我也对这个问题感兴趣、所以我来评论一下。

    我认为写入该地址(0x45f95c)中的值(0x00466530)是栈存储器的结束地址(='sysmem'的起始地址)。
    可以在问题中随附的捕获映射文件中确认。

    我们所关注的问题如下。

    将堆栈结束地址写入0x45f95c 的操作会在加载调试映像期间自动执行。

    2.地址0x45f95c 包含在用户使用的范围内。 (M4F_RAM:0x400200 ~ 0x47FF00)
     根据代码大小,0x45f95c 可能对应于".rodata"或".bss"。
     这意味着  写操作可能会损坏指令或只读数据。
     它可能会导致系统严重故障。

    请告诉我是什么导致了这种情况。

    此致、

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

    您好、Lee、

    感谢您提供的详细信息。 这样的问题特别棘手,因为它可以是一个无数的事情。 您看到的错误可能与数据无关。 问题:您是否验证了配置参数在该项目之外工作?  

    您可以在文本文件中向我发送您的配置参数、我可以尝试运行它们。 好像您在使用运动和存在检测演示。 顺便说一下、您正在使用哪个 SDK 版本?

    此致、
    凯文

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

    尊敬的 Kevin Ortiz:

    使用 MMWAVE_L_SDK_05_02_00_02可以几乎清除该问题

    我的工程基于 MMWAVE_L_SDK_05_01_00_04中的 MOTOR_AND_Presence 位检测演示应用 。

    (实际上在 MMWAVE_L_SDK_05_01_00_04中使用 linker.cmd、而不是在 MMWAVE_L_SDK_05_02_00_02中使用 linker.cmd)

    请告诉我一些用户指南或与 linker.cmd 语法相关的文档。

    这两个版本的 linker.cmd 文件有不同之处。

    此致、此致

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

    嗨、崔

    我也建议在5.2.0.2中使用 linker.cmd 文件。 此处找到的链接器文件略有更改、增加了存储器区域(M4F_RBL)。 需要进行此操作、因为器件的引导加载程序期望存储器中的该空间正确运行。 5.1.0.4中的链接器没有定义此区域。 因此、RBL 预期的存储器空间可能会被覆盖并损坏器件。  

     介绍了链接器命令文件的基础知识、重点介绍 MEMORY 和 SECTIONS 指令。

    《汇编语言工具用户指南》的"链接器"一章中可以找到有关链接器命令文件的完整详细信息

    此致、

    凯文

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

    尊敬的 Kevin Ortiz:

    谢谢您的支持。

    此致、此致