ZHCAEX1 January   2025 MSPM0G1518 , MSPM0G1519 , MSPM0G3518 , MSPM0G3519 , MSPM0L1227 , MSPM0L1228 , MSPM0L2227 , MSPM0L2228

 

  1.   1
  2.   摘要
  3.   商标
  4. 1非易失性存储器 (NVM) 基本介绍
    1. 1.1 闪存保护
  5. 2客户安全代码 (CSC) 简介
    1. 2.1 客户安全代码 (CSC) 执行概述
    2. 2.2 CSC 内存映射
    3. 2.3 客户安全代码 (CSC) 执行程序
  6. 3存储体交换示例实现
    1. 3.1 客户安全代码项目准备
      1. 3.1.1 在 NONMAIN 中启用客户安全代码 (CSC)
      2. 3.1.2 客户安全代码应用代码的实现:存储提及交换功能
    2. 3.2 应用代码项目准备
  7. 4常见用例介绍
  8. 5DATA 存储体简介
    1. 5.1 数据存储体保护
    2. 5.2 DATA 存储体擦除写入操作
  9. 6总结
  10. 7参考资料

常见用例介绍

双组存储器可以配置并用作具有连续寻址功能的单个大型 NVM 块(只有少数例外情况不在本文档的讨论范围内)。当 NVM 配置为两个并行块时具有显著的优势,最重要的优势是可以在一个存储体中写入而不中断从另一个存储体读取(以及获取指令)。这是在不中断程序 NVM 中代码执行的情况下进行更新的最重要前提。

设计使用双组器件的应用时,有几种选择来决定如何利用程序存储器的第二部分。

该过程也称为实时现场升级,允许用户在不干扰器件正常运行的情况下修改代码和配置。与简单的引导加载器设计相比,这种方式具有更多优势:

  • 引导加载器代码备份:使用双组时,可以更新引导代码
  • 应用代码备份:如果引导加载失败,原始应用代码仍然起作用
  • EEPROM 仿真:应用可以在一个闪存存储体中执行代码,同时使用第二个闪存存储体写入数据,而不会使应用执行停滞

表 4-1 比较了单组和多组器件在闪存操作(擦除和编程)方面的差异。

表 4-1 同一存储体与不同存储体的闪存操作差异
在同一存储体上 在不同存储体上
闪存操作(擦除和编程) 在 SRAM 中执行的闪存操作命令。 当在应用代码的同一存储体上运行时。与单组器件相同。
当在应用代码的不同存储体上运行时。在闪存中执行的闪存操作命令。
闪存操作期间的中断(擦除和编程) TI 建议在进行闪存操作之前禁用中断或将重要的中断例程移至 SRAM 中。正在进行的编程或擦除操作会暂停对该闪存存储器的所有读取请求,直到操作完成并且闪存控制器已经释放了对存储体的控制。 当在应用代码的同一存储体上运行时。与单组器件相同。
当在应用代码的不同存储体上运行时。对中断及时做出响应。