Xilinx FPGA QSPI的制作

本文详细介绍了如何在Xilinx FPGA上配置QSPI以启动Linux系统,包括生成BOOT.BIN文件、理解ramdisk的作用、设置petalinux-config、烧录步骤以及确认包含的命令sf。同时,讲解了不同文件在启动过程中的作用,如u-boot.elf、image.ub和rootfs。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

生成BOOT.BIN文件命令:

petalinux-package --boot --format BIN --fsbl images/linux/zynq_fsbl.elf --fpga images/linux/system.bit --u-boot --force
john@john-virtual-machine:~/peta_proj/myc-7015/images/linux$ petalinux-package --boot --format BIN --fsbl ./zynq_fsbl.elf --fpga ./system.bit --u-boot --force

Ramdisk

什么是ramdisk?
ramdisk是一个基于内存的文件系统,特点是访问不需要驱动。

ramdisk在Linux内核中的作用是什么?
中介作用,即内核通过执行ramdisk的init文件来设置真正的根文件系统,并执行根文件系统的init文件

在Linux内核中使用ramdisk,可以减少内核的代码量。
解释:

如果没有ramdisk,要启动存储系统的init进程,内核要能直接运行存储系统的init文件。因为Linux系统访问存储设备,需要有驱动才能进行,所以要将存储系统的驱动代码放进内核。现在有各式各样的存储设备,如果将这些存储设备的驱动代码放进内核,则会导致内核的代码量太大。
引入基于内存的文件系统ramdisk,由于访问内存不需要驱动,则就不用将各种设备的驱动代码放入内核代码中,即减少的代码量是各种设备的驱动代码。

作者:橡树人
链接:https://www.jianshu.com/p/c33a29f7f9cd
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

rootfstype=jffs2
rootfstype=squashfs
(如果是jffs2,squashfs等文件系统的话,就需要rootfstype指明文件系统的类型,不然会无法挂载根分区.一般如果根文件系统是ext2的话,有没有这个选项是无所谓的)

在image/linux目录下生成了u-boot.elf,zynq_fsbl, system.bin 以及image.ub。这些文件中实际上跟sd卡启动的petalinux设置唯一差别的文件就是u-boot.elf,而这个文件的差别也仅仅在于autobooting的脚本(是指示从qspi flash的指定地址0X52000获取image.ub而不是从sd卡的指定文件名)

启动文件

ZYNQ-7000系列芯片运行Linux操作系统需要BOOT.BIN文件、image.ub文件和rootfs。
BOOT.BIN文件由fsbl.elf、bitstream和u-boot.elf(裸机elf程序)文件组成。fsbl.elf是由xilinx设计的,由OCM加载执行,有两个主要功能。第一是用于加载bitstream到PL,第二是根据BOOT.BIN文件组成,执行u-boot或是裸机elf程序。bitstream文件是FPGA的配置文件。裸机elf程序用于在不启动操作系统的情况下运行一些软件。u-boot.elf是一种bootloader程序,可以根据不同的硬件情况,在不同的场景下引导操作系统镜像的执行。
image.ub文件是由操作系统的镜像文件uImage和设备树文件dtb组成。uImage由压缩过的操作系统镜像zImage和一段由u-boot在引导时会读取的头image_header_t(64B)组成,这个头用于储存u-boot在引导系统时所要获取的一些信息。zImage由未压缩的内核镜像vmlinux和解压代码组成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值