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.

[参考译文] MSPM0G3507:安全启动和启动映像管理器

Guru**** 2468460 points
Other Parts Discussed in Thread: MSPM0G3507

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1464012/mspm0g3507-secure-boot-and-boot-image-manager

器件型号:MSPM0G3507

工具与软件:

在 mspm0g3507控制器中、是否可以随次级引导加载程序一起添加安全引导? 有哪些局限性? 我是指 BIM 示例代码、但它仅支持文档中所述的就地执行模式。 BIM 示例代码中的 MCUboot 作用是什么? 我们可以在 mspm0g3507上实施哪些确切的安全启动策略?

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

    嗨、 

    我们可以在 mspm0g3507上实施哪些确切的安全启动策略?

    对于安全功能、几乎所有软件功能都受支持。

    但 G3519和 G3507之间仍然存在技术差距。

    请在相应网站中比较这两款器件:

    https://www.ti.com/product/MSPM0G3519

    https://www.ti.com/product/MSPM0G3507

    您也可以在以下两个演示的文档中找到: https://dev.ti.com/tirex/explore/node?node=A__APjkYg9RWxwM6nRUc3InzA__MSPM0-SDK__a3PaaoK__LATEST

    此致、

    Helic

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

    如果我引用的是 BIM 示例代码、其中集成了 MCUboot 文件。 那么、我是否需要使用任何其他引导加载程序来刷写新映像?如次级引导加载程序?

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

    嗨、 

    那么我是否需要使用任何其他引导加载程序来刷写新映像?如次级引导加载程序?

    是的、 它更像是引导例程、而不是映像更新。

    在 G3507的引导应用程序中、引导应用程序在 main 中有用于如何 启动应用代码的示例代码、并有一个用于显示如何处理两个应用代码区域的结构。

    flash_map_backend 文件夹中有闪存示例。 但现在正在使用中。

    您需要使用通信接口来在引导应用程序中接收应用代码、然后将它们编程到闪存中。

    此外、次级引导加载程序是映像传输和映像闪存的一个很好的示例。 但它遵循 BSL 协议。

    此致、

    Helic

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

    这意味着 MCUboot 仅执行引导功能、这意味着它需要将映像预加载到闪存中、然后 MCUboot 仅执行验证验证并引导到正确的固件。 对吧? 在中、我要将新固件映像写入闪存、那么我应该有次级引导加载程序。 因此我可以从客户端器件/主器件获取新映像并将其加载(刷写)到服务器/从器件中。 如果是、那么如何维护在闪存区域? 我的应用代码在闪存中的哪个地址、MCUboot 和次级引导加载程序的地址是什么? 给我巩固的形象如何所有这些东西一起工作,以我更好地理解?  

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

    嗨、 

    这意味着 MCUboot 仅具有引导功能、这意味着需要将映像预加载到闪存中、然后 MCUboot 仅执行验证验证并引导至正确的固件。 对吗?

    是的、OUT 演示以这种方式工作。 您可以在此处找到应用演示:

    C:\ti\mspm0_sdk_2_03_00_07\examples\nortos\LP_MSPM0G3507\boot_manager\bim_sample_image

    并且在我想将新固件映像写入闪存中、我应当配有次级引导加载程序。 因此我可以从客户端器件/主器件获取新映像并将其加载(刷写)到服务器/从器件中。 [报价]

    您可以参考辅助 BSL 或自行执行此 jop、实际上它仅包含从主机下载映像(例如使用 UART)、然后将代码编程到应用代码区域(例如使用 driverlib 闪存 API)。

    [报价 userid="584844" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1464012/mspm0g3507-secure-boot-and-boot-image-manager/5617881 #5617881"]如果是、则如何在闪存区域维护?[/QUOT]

    对于闪存区域、在 CCS 中、我们将在.cmd 文件中管理此部分。

    同样适用于[C:\ti\mspm0_sdk_2_03_00_07\examples\nortos\LP_MSPM0G3507\boot_manager]中的演示代码

    它已经为您提供了示例闪存区域管理器计划、请参阅引导应用文档和.cmd 文件。

    我的应用程序代码在闪存的哪个地址以及 MCUboot 和次级引导加载程序使用什么地址?

    请参阅文档 https://dev.ti.com/tirex/explore/node?node=A__APjkYg9RWxwM6nRUc3InzA__MSPM0-SDK__a3PaaoK__LATEST

    在启动应用功能之前、您可以将自己的引导加载程序放在引导区域中。

    此外、在 SYSCTL 中、复位原因寄存器也将帮助引导、以确认这是 BSL 复位还是上电复位。

    给我一个整合图片为了更好地理解、所有这些要素是如何协同工作的?  [报价]

    BIM_SAMPLE_IMAGE 对 app1或 app2使用不同的槽位、这意味着可根据不同的调试配置将单个项目编译到两个应用槽位中。

    此致、

    Helic

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

    谢谢你。  感谢您的帮助。 我会检查并得到回来,如果我卡在某个地方.

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

    嗨、 

    请随时与我联系~

    此致、

    Helic

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

    你(们)好 我有一个向我发送固件映像的主器件。 我所引用的 BIM 示例代码是使用 MCUboot 验证映像、但仅执行 XIP (就地执行)、这意味着它需要固件映像 已经位于闪存中(我的理解是否正确?)。 但是、由于一些限制、我想在将新固件映像加载到闪存之前对其应用映像身份验证和验证、我该怎么办? 在将其加载到闪存之前、是否可以使用 MCUboot 执行映像身份验证和验证?

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

    嗨、 

    以及在将映像加载到闪存之前是否可以使用 MCUboot 执行映像身份验证和验证?

    是的、这是可能的。 引导中的所有函数均由用户定义。

    本演示仅展示了一个基本例程、可帮助客户快速处理启动应用功能。

    这意味着您需要在运行引导时将它们保存在 RAM 中、请确保 RAM 足够、或者您需要在几个部分中剪切映像、然后分别进行验证。

    此致、

    Helic

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

    尊敬的 Helic:

    我有一个问题、如果我想存储一些数据、即使在下电上电后也能保持可用。 我已经看到了 EEPROM 仿真示例、通过使用它、我可以利用闪存的某些部分来存储一些数据、但在加电启动所有擦除操作时。 我该怎么办?  

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

    嗨、 

    我有一个问题、那就是我是否要存储一些即使在重启之后仍能使用的数据。 我已经看到了 EEPROM 仿真示例、通过使用它、我可以利用闪存的某些部分来存储一些数据、但在加电启动所有擦除操作时。 我该怎么办?  [报价]

    默认情况下、使用 CCS 编程闪存将进行批量擦除。

    就我而言、MSPM0 SDK 中的 EEPROM 仿真演示运行良好。

    请尝试找到不会受图像影响的 Flash 系列、然后再次进行测试。

    此外、在 CCS 调试中、您还可以尝试在 Memory 窗口中观察 MSPM0的 Memory。

    此致、

    Helic