一种让PetaLinux 2020.2从QSPI flash启动的简单办法

背景

公司一款数据采集板用到了xilinx的zynq系列芯片,选择PetaLinux 2020.2来为PS端生成linux系统。

板子硬件启动有2种模式,一种是从SD卡直接启动linux系统,另一种是从QSPI Flash启动linux内核,linux内核再从eMMC挂载root并进入系统。
硬件启动配置
为什么搞2套启动机制?因为想兼顾硬件稳定性、经济效益和灵活性:

SD卡是可插拔的,QSPI Flash和eMMC是贴片安装的(可靠性高但不可插拔,属于沉没成本),在产品调试阶段用SD卡启动,在产品稳定后用QSPI+eMMC启动,SD卡就可以省下来了

zynq启动流程

SD卡启动

SD卡启动比较简单

  1. zynq上电后先检查boot_pin,看是从SD卡启动还是QSPI flash启动
  2. 如果是SD卡,则BootRom会读取SD卡的第一个分区(仅支持FAT格式),从根目录下读取并解析BOOT.bin,加载其中的FSBL。
  3. FSBL运行后,首先将boot.bin的FPGA bit文件写入PL,然后加载boot.bin中的u-boot
  4. uboot读取boot.scr,根据其内容加载linux内核文件image.ub到合适位置,然后跳转执行,linux内核就启动了
  5. linux内核启动后根据boot.scr的root分区信息,挂载SD上的root分区,执行rootfs里的init,系统就可用了

QSPI Flash启动流程

QSPI Flash启动大同小异

  1. zynq上电后先检查boot_pin,看是从SD卡启动还是QS
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值