在之前的文章中,已经成功的从 SD 卡中启动 Linux 系统,下面将演示如何从 QSPI Flash 中启动 Linux。ZYNQ 核心板板载的 QSPI Flash 芯片是 Winbond 公司生产的W25Q256FV,其容量为 256Mbit。需要说明的是,尽管核心板板载的 QSPI Flash 容量为 256Mbit,但是 ZYNQ 支持该公司的 Flash 芯片容量最大为 128Mbit,因此 Linux 系统的文件 不能太大,否则无法从 QSPI Flash 中启动 Linux。
首先进入到 petalinux 工程目录下,大家可以先把 petalinux 工程目录 images/linux 目 录下的 BOOT.BIN 文件和 image.ub 文件做一个备份,以免后面自己还会需要避免重新配置编译。
在 petalinux 工程目录下,执行如下命令对 petalinux 工程进行配置:
petalinux-config
接下来会弹出 petalinux 工程配置窗口,如下图所示:
不同的启动方式在配置上会有区别。通过按下键盘上的上下箭头,使其指示上图中的 “Subsystem AUTO Hardware Settings”,并按下键盘的“Enter”按键,进入如下图所示的子界面。
移动光标至上图中的“Advanced bootable images storage Settings”,并按下键盘的“Enter”按键,进入如下图所示的子界面。
“boot image settings”可以配置启动方式。移动光标至上图中的“boot image settings”,并按下键盘的“Enter”按键,进入如下图所示的子界面。
由上图可知,当前启动方式为 SD 卡启动。按下“Enter”按键进入“image storage media”子界面,如下图所示:
通过按下键盘上的上下箭头,使其指示上图中的“primary flash”,设置成 QSPI Flash 启动。并按下键盘的“Enter”按键,此时会返回至上一层界面,如下图所示。
由上图可知,已经成功配置成 flash 启动。按下键盘的“ESC”按键,直至返回到“Subsystem AUTO Hardware Settings”界面,如下图所示: 通过按下键盘上的上下箭头,使其指示上图中的“Flash Settings”,并按下键盘的
“Enter”按键,进入如下图所示的子界面。
“Flash Settings”可以设置 Flash 分区中的容量大小,一般保持默认即可,这里我们不做任何修改。
按键盘上的右方向键(即右箭头),移动到底部的“Save”,按键盘上的“Enter”键,进入如下图所示的保存配置文件界面:
按键盘上的“Enter”键确认,进入下图所示界面:再次按键盘上的“Enter”键确认。然后按下“ESC”键返回到原界面,跟按两次键盘上 的“Esc”退出配置窗口。等待一段时间后,完成 petalinux 工程的配置。完成之后以编译整个 Petalinux 工程。
petalinux-build
等待编译完成就可制作BOOT。BIN文件,和之前的文章做法一致。https://blog.csdn.net/weixin_52804129/article/details/122200434?spm=1001.2014.3001.5501
生成的 BOOT.BIN 文件就在 images/linux 目录下,接下来 BOOT.BIN 文件固化到开发板 QSPI Flash 中,并且把 images/linux 目录下的 image.ub 文件拷贝到 SD 卡的第一个分区。
把刚刚生成的 BOOT.BIN 文件烧录到开发板中。这个过程需要用到几个软件,还得要钱,等我找找破解版看看能不能补全。