这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 行业应用 » 汽车电子 » 【S32K146】S32K146 片内 flash 安全访问之 Mass Era

共4条 1/1 1 跳转至

【S32K146】S32K146 片内 flash 安全访问之 Mass Erase

高工
2025-07-21 19:34:46     打赏

【简介】

在产品开发过程中我们一般是开启芯片的调试口访问功能的,正式交付给客户前为了保护flash 内部的数据从调试端口读取,通常要求需要关闭调试端口。S32K146 的启动代码中存在一个16字节的__FlashConfig区域, 可以用来配置flash 的访问控制,对应如下:

image.png

以下是手册中对该区域的描述

image.png

MCU 在reset 时会将该区域的16字节的数据的配置数据加载到芯片内部。

其中安全访问的控制开关在0x004c 位置保存,芯片启动后会将该字节的数据加载到FSEC寄存器中,FSEC寄存器的描述如下:

image.png

KEYEN:

用于使能和关闭通过 Backdoor Key 解除芯片安全状态的功能。

00b - Backdoor key 功能允许。

01b - Backdoor key 功能禁止(推荐在不使用 Backdoor Key 功能的时候将其关闭)。

10b - Backdoor key 功能允许。

11b - Backdoor key 功能允许。

MEEN:

用于使能和关闭在芯片加密状态下通过 FTFC 模块的 Mass Erase 功能。在芯片未加密状态时,此设置没有任何影响。

00b - Mass erase 功能允许。

01b - Mass erase 功能允许。

10b - Mass erase 功能禁止。

11b - Mass erase 功能允许。

FSLACC

用于工厂通过失效分析访问码的方式在对芯片进行失效分析时候,对 Flash 进行数据访问的授权。 授权工厂访问 Flash 数据后,工厂在进行失效分析时,能够访问到 Flash 数据,否则工厂只有擦除 Flash 的权限,而无法读取到 Flash 种的数据。 如果芯片未开启安全功能,则此设置没有任何影响。

00b – 授权工厂访问 Flash 数据

01b – 拒绝工厂访问 Flash 数据

10b - 拒绝工厂访问 Flash 数据

11b - 授权工厂访问 Flash 数据

SEC

用于使能和关闭芯片的安全功能,当使能芯片安全功能后, FTFC 能够访问的资源将会被限制,当使用了 backdoor key 对 FTFC 进行解密访问后, SEC 位将会被强制设置位 10b,不过当下次复位后, SEC 位依然是通过 Flash 配置段进行初始化。

00b - MCU 安全状态开启

01b - MCU 安全状态开启

10b - MCU 安全状态关闭(FTFC 的标准运行状态为关闭)

11b - MCU 安全状态开启

根据上述的描述可以使用backdoor  和 Mass erase 的方式实现flash 内容的保护,我们使用Mass erase 的方式来保护flash 的数据,一旦通过调试接口访问flash 会触发Mass erase  需要先擦除flash 的数据才能进行访问从而保护fllash 的数据被异常读取。

我们按照上述寄存器配置0x40c 为0x44,关闭KEYEN 开启 MEEN ,使能SEC

image.png

对应 flash config 配置如下

image.png

编译后查看bin 文件 flash config已经按照预期进行了修改

image.png

此时jlink 连接会有如下的错误提示,触发mass erase 来解除secure 状态才能连接访问

image.png

烧写后jlink 连接会触发 mass erase 进入非安全状态,虽然可以连接上但会先擦除全片的数据

image.png

此时读取flash 的数据发现已经变成0xff

image.png

至此已经完成通过MEEN 的方式对数据的保护。

在安全状态下程序运行状态读取SEC 的寄存器状态和配置的0x44保持一致。

image.png

image.png

至此就完成了基于flash config 通过MEEN 的方式保护程序flash 的配置。

 











专家
2025-07-21 23:14:00     打赏
2楼

感谢分享


专家
2025-07-21 23:20:04     打赏
3楼

感谢分享


专家
2025-07-21 23:23:31     打赏
4楼

感谢分享


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]