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.

[参考译文] AWR1642:引导加载程序如何确定元映像是否正确?

Guru**** 2595805 points
Other Parts Discussed in Thread: AWR1642

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/658844/awr1642-how-does-bootloader-decide-an-meta-image-is-correct

器件型号:AWR1642

你好、冠军、
   我的客户正在 AWR1642中开发动态图像升级解决方案。 他们注意到我们已将闪存分为四个部分。 计划在出厂时使用默认映像对全部四个段进行编程、并使用 CAN 中的映像更新第一个段。 如果由于某种原因中断了对第一部分的编程、并且未成功、则引导加载程序将无法获取第2部分中的映像(这可能是特殊情况下的使用)、他们就会遇到问题。
   引导加载程序中查看段中的映像是否正确的原理是什么? 仅 CRC? 如果第一部分的映像不正确、引导加载程序是否会自动从第2部分获取?

谢谢、
Adam

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

    尊敬的 Adam:

    执行图像完整性检查以查看部分中的图像是否正确。 可能还会检测到一些其他相关错误、例如无效段地址。 是的、如果第一个段映像不正确(检测到任何错误)、引导加载程序应尝试自动从第2段获取。

    您的客户是否发现此方法存在问题? 您能否分享更多详细信息?

    此致、

    Naveen

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Naveen、
    客户进行了以下实验:
    实验1:
    1) 1)将有效映像编程到元数据部分4
    2) 2)擦除元数据段1至3
    3) 3)重新启动板
    在这种情况下、程序运行正确、可以正常工作。

    实验2:
    1)对有效元数据进行编程第4节
    2) 2)擦除元数据段1至3
    3)对第1节中的另一个映像进行编程、但在编程成功之前、请关闭电源(这是为了进行仿真
    字段中的升级错误)
    在这种情况下、他们发现程序无法正确运行、无法正常工作。
    在这种情况下、映像1的完整性检查应该失败、但为什么引导加载程序不能成功切换到映像4? 就在那里
    一种查看引导加载程序正在加载哪个段的调试方法?

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

    尊敬的 Adam:

    以上观察结果是 XWR1642 ES1.0器件中的一个已知问题。 此问题在 XWR1642 ES2.0器件中得到解决。

    此致、

    Prathyusha Teja.i

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

    您好、Prathyusha、
       感谢您的回复。 我能否了解有关该问题的更多详细信息? 这是由引导加载程序的差异引起的吗? ES1.0中出现此问题的根本原因是什么?

    谢谢、此致、
    Adam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Prathyusha、
    客户希望了解有关此问题的根本原因的更多信息、并明确确认 ES2.0中已解决此问题。 如果您是 conventinet、您能否帮助提供有关此问题的更多详细信息?

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

    尊敬的 Adam:

    在 ES1.0器件中、在 MetaImage1中检测到错误是正确的。 但是、在分析 MetaImage1时的某些错误条件下、由于某些状态变量保留了以前的历史记录、因此无法正确解析和加载下一个有效的 MetaImage。 在 ES2.0器件上、状态变量已复位、以启用下一个有效映像的正确解析。

    更新映像的另一种更常用的方法是使用次级引导加载程序、 次级引导加载程序始终由 ROM 引导加载程序首先进入 RAM、然后根据触发器、将更新 SFLASH 中的应用程序映像或从 SFLASH 加载应用程序映像。

    此致、

    Naveen

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

    您好、Naveen、
       感谢您的回复。 我现在很清楚。

    此致、
    Adam