【简介】
S32K3 系列的MCU 在安全启动方面是由但单独的HSE core 来负责,以下是S32K3 系列芯片的启动流程图,从图中可以看出在POR 上电后在执行完蓝色的HardWare 的上电时序后,芯片会运行HSE core 内部固化的程序SBAF(可以认为是芯片内部的bootrom)代码,如果开启了安全启动会通过安装的紫色的HSE_B_firmware 对镜像进行校验,校验成功则拉去对应的application core.s
从上述boot 流程图也可以看出芯片启动被划分为Power-on reset -> Destructive reset -> Function reset ->Run 四个阶段,其中Destructive reset 和 Function reset 在此贴中(【S32K3XX】MC_RGM 功能整理)有描述。
【HSE_B firmware 安装】
上述紫色部分的HSE_B firmware 在芯片出厂时是不存在的,这段代码需要用户根据需要自己来安装。HSE FW NXP 支持AB SWAP 和 FULL MEM 模式。
我们以S32K3X4 系列的MCU HSE_B firmware 的安装流程来介绍两种安装方式。
【FULL MEM 的安装方式】
以下示例图是芯片中安装了V1 固件。
在此基础基础上我们update V2 的Firmware ,首先我们将V2 的固件放入到FLASH中
放入后FLASH 内部后按包装程序会将V2 的固件安装到Secure 区域的flash 中
【AB SWAP 的安装方式】
将ABSWAP 的firmware 在flash 中放置
HSE 继续将存储在flash 中的固件安装到secure 区域的flash 中
安装完成后将flash 划分为Active/Passive 两个区域,此时Passive 面还未安装HSE_FRIMWARE
最后对Passive 区域进行安装HSE_FRIMWARE 从而完成AB_SWAP 方式的HSE_FIRMWARE 的安装