这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 行业应用 » 汽车电子 » 【S32K3XX】FLASH擦写过程的Lock保护机制

共1条 1/1 1 跳转至

【S32K3XX】FLASH擦写过程的Lock保护机制

高工
2026-06-05 10:02:37     打赏

【简介】

在之前的帖子(【S32K3XX】FLASH 的 DID 保护机制)和 (【S32K3XX】FLASH的访问锁保护机制)的帖子中对FLASH的保护机制有介绍,我们基于以上两篇帖子的基础上进一步梳理Flash 的解锁流程。

S32K3 芯片的FLASH 区域按照类型分为UTEST/DFLASH/PFLASH三种类型,每个类型内部又被划分为多个Sector. 以下的这组信号可以用来获取和设置和获取当前Sector 的状态。


image.png

从以下的寄存器定义可以看出,对应的Sector 芯片设计时划分为普通的Sector 和 Super Sector 和UTEST 

__IO uint32_t PFCBLK_SPELOCK[PFLASH_PFCBLKI_SPELOCK_COUNT]; /**< Block n Sector Program Erase Lock, array offset: 0x340, array step: 0x4 */
uint8_t RESERVED_3[4];
__IO uint32_t PFCBLKU_SPELOCK[PFLASH_U_PFCBLKI_SPELOCK_COUNT]; /**< Block UTEST Sector Program Erase Lock, array offset: 0x358, array step: 0x4 */
__IO uint32_t PFCBLK_SSPELOCK[PFLASH_PFCBLKI_SSPELOCK_COUNT]; /**< Block n Super Sector Program Erase Lock, array offset: 0x35C, array step: 0x4 */


其中 PFCBLK_SPELOCK 寄存器按照BLOCK 管理最多五组区域,0 对应DFLASH,1~4 对应每组FLASH 的最后的32个8KB的区域。

image.png

对应的C40 IP 的如下驱动接口就时读取该寄存器信息来返回当前sector 的lock 状态。

因为S32K3 芯片内部有多个domain 为了避免多个domain 同时擦写同一个Sector 的flash,如下的寄存器可以获取当前Sector是否可以解锁处理。

image.png

image.png

只有该信号为1 时才可以操作FLASH 的lock 寄存器。上述提到了当前Sector 是被哪个domain 所持有只有其他domain无法操作该Sector 的flash,对应的值可以从该组寄存器来获取。

image.png

image.png

该寄存器用8个bit 定义当前Sector 是被哪个master 所持有,只有持有Lock 的master 才可以对flash进行擦写操作。


   


           


共1条 1/1 1 跳转至

回复

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