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.

[参考译文] TMS320F28069:通过引导 ROM 进行软件更新

Guru**** 2587345 points
Other Parts Discussed in Thread: TMS320F28069, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/867544/tms320f28069-software-update-via-boot-rom

器件型号:TMS320F28069
主题中讨论的其他器件: C2000WARE

尊敬的 TI 支持:

我们在项目中使用引导 ROM 实现了 TMS320F28069 MCU 的软件更新。 在将转换为引导表的映像传输到引导 ROM 的过程中、发送引导表头并从引导 ROM 接收 CRC 后会有延迟。 对于不同的样本(例如从3.2s 到5s 以上)、此延迟似乎有所不同。

因此,我谨提出以下问题:

  • 接收到引导表头后、引导 ROM 执行什么操作?
  •  在安装相同 TMS320F28069 MCU 的情况下、不同样片的延迟不同、原因可能是什么?

另一个问题是内存擦除已完成。 大概在某个时候、引导 ROM 也会在继续存储器写入之前触发闪存存储器擦除。

  • 在写入新内容之前、我对存储器在某个时刻被引导 ROM 擦除的理解是否正确?
  • 通过引导 ROM 进行软件更新的哪个点会擦除目标存储器区域?
  • 是否有关于内存擦除所需时间的信息(例如、最佳情况、典型情况和最坏情况)?

期待您的反馈、非常感谢您的支持!

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

    您好、  

    让我们首先看看您的第二组问题:

    >>另一个问题是内存擦除已完成。 大概在某些时候,引导 ROM 也会触发闪存擦除,然后再继续>>内存写入。

    -引导 ROM 代码不执行闪存擦除。

    • 在写入新内容之前、我对存储器在某个时刻被引导 ROM 擦除的理解是否正确?
      • 否、 存储器不会被引导 ROM 擦除  
    • 通过引导 ROM 进行软件更新的哪个点会擦除目标存储器区域?
      • 同上
    • 是否有关于内存擦除所需时间的信息(例如、最佳情况、典型情况和最坏情况)?
      •  如有需要、可提供此数据。  但是、它可能不适用于您之前提出的问题。

    由于引导 ROM 支持的工作方式似乎存在一些断开连接、请查看您之前提出的问题、并告知我们这些问题是否仍然有效。

    如果您认为它们仍然有效、请告诉我们您的项目到底要完成什么。  您是否使用作为 C2000Ware 一部分提供的引导 ROM 源代码作为示例、为28069目标创建引导加载程序或开发软件更新机制?

    谢谢、

    Krishna  

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

    您好!

    感谢您的回答和解释。

    我们的项目包含2个 MCU 使用、28069是系统中的从站。 我们使用引导 ROM 功能来更新在28069目标上运行的应用软件、序列(发送闪存内核、执行自动波特、传输数据)由主 MCU 控制。 我们不是自行开发引导加载程序。

    看起来我对擦除错误了。 我研究了名为"C2000微控制器的串行闪存编程"的 TI 文档、它告诉我们闪存内核实际上负责擦除和写入闪存。 它还很好地说明了闪存被闪存内核擦除的时间点。

    从文档中输出:

    1. "在接收到任何应用数据之前、闪存内核会擦除器件的闪存、以便对其进行编程。"
    2. "在下载过程开始时、会传输一个密钥、一些保留字段和应用程序入口点
      实际应用代码之前。 正是在接收到入口点后内核才开始擦除闪存。"

    因此、我想问以下问题:

    • 存储器擦除所需的最大时间(最坏情况)是多少?

    很抱歉、我在初次加入时提出了一些问题。

    谢谢!

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

    大家好  

    有关擦除时间的详细信息、请参阅数据表。   表5-14. 90MHz SYSCLKOUT 上的闪存参数、您可以开始使用。  这是 数据表的链接。   

    谢谢!

    Krishna

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

    您好、Krishna Allam、

    提供的数据表给出了我的问题的答案。 但是、表5-14中有一条说明了以下最长擦除时间的注释:

    • MAX 列中提到的参数用于前100个擦除/编程周期。

    如何理解这一点?
    在这100个擦除/编程周期后、最大时间是否会增加?

    谢谢!

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

    您好、 Lev Avdejev、  

    感谢您确认数据表可解答您的问题。  通常、在嵌入式系统中、开发人员将使用基于 RAM 和 RAM 的应用程序构建来调试和完成软件开发周期。  开发接近完成后、应用程序将编程到闪存中。  您可能已经知道、闪存会随着时间的推移而降级(在很长的时间内)。  因此、关于100个擦除/编程周期的注释是一个保证最坏情况的数字。  之后、MAX 时间也可能保持不变。  

    您的要求是什么?  请告知我们您的具体问题。  

    此致、

    Krishna  

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

    您好 、Krishna Allam、

    是的、我知道闪存老化问题。

    我们对此没有直接要求。 我们的目标是实现超时机制、以便在引导 ROM 出现通信问题时取消软件更新过程。 考虑到在产品寿命期间很可能无法实现100个擦除/写入周期、因此使用数据表中指定的最大时间是合理的。

    感谢您的澄清和帮助!

    LEV