S32系列芯片如何从外置flash进行Boot启动?


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

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

Tip📌:
  鼠标悬停双虚线关键词/句,可获得更详细的描述;
  建议按照专栏文章目录顺序依次阅读以便了解相关背景知识。

一、概述

  BootROM支持从外置flash通过诸如QuadSPI接口或者基于μSDHC接口的SD/MMC/eMMC等设备接口执行Boot流程。具体从哪种外设flash启动由寄存器Boot_CFG1的bit位 [7:5] 的配置决定,如下表所示:

在这里插入图片描述

二、基于QuadSPI的boot

2.1 基于QuadSPI的boot方式概述

  QuadSPI是一种高速串行外设接口(四线串行外设接口),可以实现微控制器与闪存的高速通讯。在启动过程中,首先,BootROM利用QuadSPI接口从外部闪存启动。这个过程分为两个阶段:

  初始配置阶段: 在这个阶段,QuadSPI控制器被配置为低速模式(30MHz),以便识别连接的闪存类型。对于Quad闪存Octal闪存,它使用1位单数据速率(SDR)模式;对于HyperFlash,则使用8位模式。

Tip📌:
  QuadSPI控制器支持双数据速率(DDR)和单数据速率(SDR)两种高速操作模式。DDR模式在每个时钟周期内能够在上升沿和下降沿两次采样数据,而SDR只在每个时钟周期的一个边沿上采样,这样DDR能够提供更高的数据传输速率。

  最终配置阶段: 在读取了闪存的重配置数据之后,根据这些数据重新配置QuadSPI控制器,实现更优的性能。

  此外,QuadSPI控制器支持通过AHB(高级微控制器总线架构)接口或IP(外设接口)接口来读取数据。AHB接口是一种高性能的总线接口,用于高速数据传输。BootROM,则只支持通过AHB接口读取数据,而不支持通过IP接口。

  当然,BootROM在启动过程中不支持对QuadSPI闪存进行任何写操作。这意味着在启动时,BootROM只能读取闪存中的数据,用于加载和执行系统必需的代码,BootROM无法修改闪存内容。这是一种安全措施,确保启动过程中闪存的内容不会被篡改,保障系统的引导安全和可靠性。

  简单来说,BootROM利用QuadSPI接口从外部闪存启动时会先确定闪存类型,将QuadSPI控制器设置为低速模式,然后根据读取到的flash信息重新调整QuadSPI控制器的配置。

  BootROM在这个过程中使用了一系列配置参数,这些参数需要使用方提前通过RCON寄存器或者fuses设置。以下是一些关键的配置参数,以及它们如何通过RCON寄存器或fuses设置:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Tip📌:
  BootROM载入应用程序镜像的时候

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

车载系统攻城狮

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

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

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

打赏作者

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

抵扣说明:

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

余额充值