打印
[技术问答]

什么是SPROM?

[复制链接]
413|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
uytyu|  楼主 | 2025-6-23 07:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  • 什么是SPROM?
新唐针对程序和数据安全提供两种保护机制, “Config0寄存器中安全锁” 和“安全保护存储器(SPROM)”。“Config0寄存器中安全锁”就是通过设置Config0使能安全加密功能,此方法可以避免从板上芯片读取整个程序和数据。“安全保护存储器(SPROM)”支持独立锁机制,不同于 “Config0寄存器中安全锁”。换句话说,用户可以不锁MCU的整个存储器,仅锁SPROM。把库的核心程序存在SPROM中,用户方便制作被保护的库给客户。
双重锁保护
SPROM优势:
  • 安全可靠,一旦上锁执行,所有工具读取SPROM数值都是00;
  • 方便维护,方案商只需维护存放在SPROM的关键代码就能掌握程序主导权;
  • 独立模块,同APROM相互独立,各自区域更新不会相互影响;
  • 灵活应用,SPROM存放可以是程序,也可以是密钥或者参数。

2. SPROM介绍
根据不同的NuMicro® 系列,SPROM大小支持512字节存储地址为0x20_0000 ~ 0x20_01FF;或支持2048字节存储地址为0x20_0000 ~ 0x20_07FF。SPROM支持3种安全模式,分别为“不安全模式”、“调试安全模式”和“安全模式”。SPROM的最后一个字节用于选择SPROM的当前模式。. 由于SPROM的特性在“安全模式”和“调试安全模式”不支持通用的ISP“擦除命令”。在这 两 种 模 式 下 , 用 户 需 要 用 指 定 数 据 0x0055AA03 进 行 “ 页 擦 除 命 令 ” , 即 ISPDAT=0x0055AA03去擦除SPROM。
3. SPROM模式
不安全模式:如果SPROM 的最后一个字节为0xFF,SPROM 当前是“不安全模式”。
在“不安全模式” 下, SPROM 的访问行为与APROM 和LDROM相同。所有存储区域都可以通过CPU或ISP命令读取,通过ISP命令擦除和编程。

调试安全模式:如果SPROM 的最后一个字节为0xAA,SPROM 当前是“调试安全模式”。
在“调试安全模 式”下,当CPU在SPROM地址空间运行时,SPROM中的程序和数据可以通过CPU读取。但是 通过在线仿真器ICE读出总是0x0000_0000,通过ISP“读出命令”读出是0xFFFF_FFFF。
安全模式:如果SPROM 的最后一个字节即不是0xFF也不是0xAA,SPROM为“安全模式”。
为了保护 SPROM中程序和数据,仅仅当CPU运行在SPROM中才能从SPROM中取指令和获取数据,否 则,CPU访问到的数据是0x0000_0000。为了保护SPROM,当ICE端口连接时CPU取到指令 是0x0000_0000。在这模式下,SPROM不支持ISP编程和读flash命令。仅仅支持用指定数据 0x0055AA03进行“页擦除命令” ,即ISPDAT=0x0055AA03去擦除SPROM。用户不能在ICE 调试模式下设置断点。

3种SPROM模式总结:



使用特权

评论回复
沙发
21mengnan| | 2025-6-23 17:28 | 只看该作者
没看到这个贴子前,我还真不知道。

使用特权

评论回复
板凳
21mengnan| | 2025-6-23 17:40 | 只看该作者
可以对芯片加密防止读出来固件吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

3503

帖子

1

粉丝