带有HSE组件的S32系列芯片中各子系统如何依次启动?

《S32系列芯片——Boot详解》系列——带有HSE组件的S32系列芯片中各子系统如何依次启动?


  博主已开通同名公众号,通过文末或主页二维码关注博主,将为你推送最新、最细、最硬核的车载系统知识和嵌入式开发知识!公众号主页设有交流群作为同行江湖朋友们相互交流学习的驿站。

学习更多Boot相关内容,获取HSE基于IVT安全启动方案?
>>>>>>>>> 返回专栏总目录 《S32系列芯片——Boot详解》<<<<<<<<<

Tip📌:
  鼠标悬停双虚线关键词/句,可获得更详细的描述;
  建议按照专栏文章目录顺序依次阅读以便了解相关背景知识。尤其建议先通读下:
《Boot过程相关镜像详解:IVT、DCD、App Boot镜像到底是什么?》《S32系列芯片Boot流程详解!》

  本文中的很多细节其实没必要做深入了解,毕竟我们只是使用HSE固件提供的各种服务,而不是深究这项服务到底是如何实现的。

一、各子系统的重置释放顺序

  在设备启动时,不同的CPU子系统会按照特定的顺序和条件从重置状态中释放(运行起来)。各个子系统的释放顺序描述如下:

  • HSE子系统:HSE是唯一在上电后无条件运行的CPU子系统。
  • 其他子系统的释放:其他CPU子系统的运行依赖于HSE的配置,这是在启动之前定义的,具体情况会根据BOOT_SEQ的值而变化。运行条件如下所示:
BOOT_SEQCPU子系统释放条件释放条件说明
BOOT_SEQ == 0BOOT_TARGET (在IVT中指定)无条件释放
BOOT_SEQ == 1core reset table (在SYS-IMG中定义)根据安全内存区域(SMR)的表的定义释放
  • BOOT_SEQ为0时,HSE会根据IVT中的BOOT_TARGET无条件释放特定CPU子系统使其运行。
  • BOOT_SEQ为1时,释放各个子系统的条件由core reset table定义,core reset table存储在安全内存区域中。

  关于上面BOOT_TARGET的概念详见:《Boot过程相关镜像详解:IVT、DCD、App Boot镜像到底是什么?》一文中的 “BCW和LCW的结构” 小节。

二、启动流程

  在启动时,HSE可以执行正常启动或安装启动,取决于以下几个因素:

  • IVT的存在:检查IVT是否存在。
  • FW-IMG的存在:HSE固件映像是否存在。
  • 是否需要安装FW-IMG:是否需要更新HSE固件。

  如果IVT_AUTH设置为1,那么在使用IVT之前,必须先通过HSE的特定的服务进行身份验证。启动流程如下所示:

在这里插入图片描述

2.1 安装启动过程

  在安装启动过程中,HSE执行以下步骤:

  1. 从应用的非易失性存储器中读取加密且经过身份验证的FW-IMG。
  2. 解密FW-IMG,并将解密后的图像存储在受保护的系统RAM中。
  3. 确认解密后的镜像的真实性(完成校验认证)。
  4. 将经过验证的固件程序写入HSE的代码闪存区域。
  5. 删除存储在受保护的系统RAM中的明文图像,以保护系统安全。

在这里插入图片描述

  FW-IMG的源地址可以由IVT提供,或者通过将FW-IMG放置在IVT的第一个位置IVT_START来指定。点击查看IVT的结构:《Boot过程相关镜像详解:IVT、DCD、App Boot镜像到底是什么?》

2.2 正常启动流程

  在正常启动流程中,HSE执行以下操作:

  1. 加载并解析IVT。
  2. HSE不会启用XRDC(扩展区域保护控制器),而是配置一些MRGD(内存资源组定义)以获得对其安全区域的访问。
  3. 如果安全NVM中存在HSE固件,HSE将运行该固件;如果没有,将进入等待中断模式(WFI)。

在这里插入图片描述

  BOOT_SEQ和BOOT_TARGET参数控制CPU子系统的释放,从而使应用程序能够执行。在释放主机之前,如果SWT(看门狗定时器)设置为1,应用程序看门狗也会被启用。

>>>>>>>>> 返回专栏总目录 《S32系列芯片——Boot详解》<<<<<<<<<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

车载系统攻城狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值