因客户要求zynq开辟板只有FLASH和emmc,然而还得在petalinux进行开辟体系,因FLASH大小有限,所以没办法把内核和根文件地址全部存储到FLASH中,于是想配合emmc进行启动,但是在网上搜索的大多都是只把根文件体系放到了emmc,然后把内核和BOOT.bin放到了FLASH,但是烧写FLASH真的很费时间,所以就想出了一个新的办法(被逼的):
启动文件分配:
存储地区 | 分区 | 存储文件 | FLASH | - | BOOT【fsbl、u-boot、bit(可选)】 | EMMC | FAT32 | image.ub【Image】 | Ext4 | rootfs.tar.gz【解压后的】 | 这样分配下来,BOOT.bin 的大小只有几M,烧写起来方便许多
接下来直接讲授实现过程:
起首想先容一下我的环境:
petalinux2021.2、vivado2021.2、zynq7020、zynqMP 7ev
一、向EMMC存储文件
起首应该使用ramdisk模式创建一个很小的petalinux体系:(这个须要打包一起放到FLASH启动)
1、须要把FLASH内存进行分配(添加kernel、bootscr和rootfs分区)
2、 修改 Root filesystem type 为 (INITRD),并进行地址配置
3、 修改 Boot script offset的值 (0x3E80000),这个值为boot.scr的基地址
然后直接petalinux-build即可
然后对这些文件进行打包(网上都是一个一个的分地址烧录到FLASH,但是太麻烦):
这边分享一个把上述文件全部打包成一个BOOT.bin
- petalinux-package --boot --force --format BIN --fsbl --u-boot --kernel images/linux/Image --offset 0x1E40000 --cpu a53-0 --boot-script --offset 0x3E80000 --add images/linux/rootfs.cpio.gz.u-boot --offset 0x4000000 --cpu a53-0 --file-attribute partition_owner=uboot
复制代码 这样只须要把BOOT.bin(大概50Mb)烧写到FLASH即可,时间有点久(去厕所钓会鱼)
烧写完之后,把启动模式切换到FLASH启动,即可进入体系了,然后如果有网络可以通过网络把image.ub和rootfs.tar.gz 传到体系,参考我以前的文章进行分区和存放即可。
Linux下给emmc进行分区操纵总结-CSDN博客
二、配置从EMMC启动
1、只需修改Root filesystem type 为 (EXT4 (SD/eMMC/SATA/USB)),并修改rootfs存放的mmc位置
然后进行petalinux-build
然后进行打包BOOT.bin (只有5Mb)(只需打包fsbl、u-boot、bit(可选))
- petalinux-package --boot --fsbl ./zynq_fsbl.elf --fpga ./system.bit --u-boot ./u-boot.elf --force
复制代码 这样的BOOT.bin只有5M大小,烧写到FLASH用时很短
然后启动开辟板,进入到u-boot界面:(在执行到U-BOOT倒计时的时间按任意键停息)
在这里修改u-boot启动的指令:
查看当前的启动变量:
如下所示,在bootcmd的下令中我们使用的默认的distro_bootcmd
查看iamge.ub文件
如下所示,即我把image.ub存放到了emmc1的第一个分区
查看rootfs文件
如下所示,即我把根文件体系放到了emmc1的第二个分区
挂载emmc1
修改启动内核环境变量
- setenv run_emmc_boot "mmc dev 1:1 && load mmc 1:1 0x10000000 /image.ub && bootm 0x10000000"
复制代码 将bootcmd的下令修改成run_emmc_boot
- setenv bootcmd "run run_emmc_boot"
复制代码 生存环境变量
重启开辟板即可查看到,从emmc中读取iamge.ub
然后就是进行读取根文件体系,直至进入到petalinux体系
大功告成!!!(开香槟!!)
更多关于zynq和zynqMP的标题,可以批评留言
如果感觉文章对您有用,麻烦三连支持一下,方便下次用到的时间,就可以快速找到我,非常感谢您的支持!!!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |