工具与软件:
在 mspm0g3507控制器中、是否可以随次级引导加载程序一起添加安全引导? 有哪些局限性? 我是指 BIM 示例代码、但它仅支持文档中所述的就地执行模式。 BIM 示例代码中的 MCUboot 作用是什么? 我们可以在 mspm0g3507上实施哪些确切的安全启动策略?
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控制器中、是否可以随次级引导加载程序一起添加安全引导? 有哪些局限性? 我是指 BIM 示例代码、但它仅支持文档中所述的就地执行模式。 BIM 示例代码中的 MCUboot 作用是什么? 我们可以在 mspm0g3507上实施哪些确切的安全启动策略?
嗨、 Mehul
我们可以在 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
嗨、 Mehul
那么我是否需要使用任何其他引导加载程序来刷写新映像?如次级引导加载程序?
是的、 它更像是引导例程、而不是映像更新。
在 G3507的引导应用程序中、引导应用程序在 main 中有用于如何 启动应用代码的示例代码、并有一个用于显示如何处理两个应用代码区域的结构。
flash_map_backend 文件夹中有闪存示例。 但现在正在使用中。
您需要使用通信接口来在引导应用程序中接收应用代码、然后将它们编程到闪存中。
此外、次级引导加载程序是映像传输和映像闪存的一个很好的示例。 但它遵循 BSL 协议。
此致、
Helic
这意味着 MCUboot 仅执行引导功能、这意味着它需要将映像预加载到闪存中、然后 MCUboot 仅执行验证验证并引导到正确的固件。 对吧? 在中、我要将新固件映像写入闪存、那么我应该有次级引导加载程序。 因此我可以从客户端器件/主器件获取新映像并将其加载(刷写)到服务器/从器件中。 如果是、那么如何维护在闪存区域? 我的应用代码在闪存中的哪个地址、MCUboot 和次级引导加载程序的地址是什么? 给我巩固的形象如何所有这些东西一起工作,以我更好地理解?
嗨、 Mehul
这意味着 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 复位还是上电复位。
[/quote]给我一个整合图片为了更好地理解、所有这些要素是如何协同工作的? [报价]BIM_SAMPLE_IMAGE 对 app1或 app2使用不同的槽位、这意味着可根据不同的调试配置将单个项目编译到两个应用槽位中。
此致、
Helic
你(们)好 我有一个向我发送固件映像的主器件。 我所引用的 BIM 示例代码是使用 MCUboot 验证映像、但仅执行 XIP (就地执行)、这意味着它需要固件映像 已经位于闪存中(我的理解是否正确?)。 但是、由于一些限制、我想在将新固件映像加载到闪存之前对其应用映像身份验证和验证、我该怎么办? 在将其加载到闪存之前、是否可以使用 MCUboot 执行映像身份验证和验证?
嗨、 Mehul
以及在将映像加载到闪存之前是否可以使用 MCUboot 执行映像身份验证和验证?
是的、这是可能的。 引导中的所有函数均由用户定义。
本演示仅展示了一个基本例程、可帮助客户快速处理启动应用功能。
这意味着您需要在运行引导时将它们保存在 RAM 中、请确保 RAM 足够、或者您需要在几个部分中剪切映像、然后分别进行验证。
此致、
Helic
嗨、 Mehul
我有一个问题、那就是我是否要存储一些即使在重启之后仍能使用的数据。 我已经看到了 EEPROM 仿真示例、通过使用它、我可以利用闪存的某些部分来存储一些数据、但在加电启动所有擦除操作时。 我该怎么办? [报价]默认情况下、使用 CCS 编程闪存将进行批量擦除。
就我而言、MSPM0 SDK 中的 EEPROM 仿真演示运行良好。
请尝试找到不会受图像影响的 Flash 系列、然后再次进行测试。
此外、在 CCS 调试中、您还可以尝试在 Memory 窗口中观察 MSPM0的 Memory。
此致、
Helic