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.

[参考译文] MSPM0G3519:用于存储敏感信息的安全存储器区域

Guru**** 2553450 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1565692/mspm0g3519-secure-memory-area-for-storing-sensitive-information

器件型号:MSPM0G3519
主题:SysConfig 中讨论的其他器件

工具/软件:

您好、

我想知道是否有任何特定区域可以存储无法再次修改的数据。 这意味着该区域应该是一次性可写的、在这之后、用户可以通过任何方式更改但只能读取。 如果我要在应用程序代码和引导加载程序代码之间安全地共享一些数据、如何做到这一点?  

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

    尊敬的 Mehul:

    您可以以一个扇区= 1KB 的分辨率对闪存的前 32KB 进行写保护、可以以一个扇区= 8KB 的分辨率保护闪存的其余部分。 如果引导加载程序闪存前面没有读取保护防火墙、则可在应用程序和引导加载程序代码之间共享受写保护的数据。

    此致、
    Brian

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

    您是否有此实现的示例? 如果我对闪存的前 32KB 进行写保护、那么我的引导加载程序将在该 32KB 之后吗?  

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

    此外,此控制器有内存区域,我们只能编程一次,永远不能以任何方式更改,这意味着它将硬编码到该芯片。

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

    没有闪存写保护示例工程、但您可以 在 SysConfig 的配置 NVM 部分中对其进行配置。 我将在此处包含 TRM 中的闪存存储器映射、但简而言之、您的引导加载程序代码将在主闪存之后。

    此致、
    Brian

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

    有一种方法可以执行此操作:

    1. 将数据写入闪存
    2. 配置数据所在的扇区以进行写保护
    3. 使用密码启用批量擦除和恢复出厂设置、或在非主闪存中禁用
    4. 写保护非主配置

    如果禁用恢复出厂设置并且非主存储器受写保护、则非主配置和其中所做的所有设置从该点开始不可更改。 这包括数据和引导加载程序代码的写保护。

    此致、
    Brian

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

    您好 Brian、您的意思是、在执行上述步骤后、数据无法更改? 甚至不能通过编程方式实现。

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

    尊敬的 Mehul:

    是的、如果您在禁用恢复出厂设置和批量擦除功能并使其具有非主写保护功能、则在非主闪存中进行的任何和所有配置都将被永久锁定、并且无法通过编程访问。

    此致、
    Brian

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

    因此、如果我想存储我用来进行映像验证的公钥和密钥、我只能写一次、这将是一个插入到芯片中的附加密钥。  那么如何才能做到这一点呢? 我是指如何将密钥写入非主存储器? 而这只能在非主区域实现?  

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

    尊敬的 Mehul:

    就会将密钥写入 MAIN 闪存。  将其写入 MAIN 闪存后、配置该密钥所在的扇区、以实现受写保护。 保护这个存储器扇区的工作在引导配置例程 (BCR) 配置中完成。 BCR 位于 NONMAIN 存储器中。

    为了确保 MAIN 闪存中的密钥写保护是永久的、配置 NVM (NONMAIN) 应在禁用恢复出厂设置的情况下进行写保护。  

    此致、
    Brian