petalinux从flash启动然后引导emmc教程
文章目录
- petalinux从flash启动然后引导emmc教程
- 0. 概述
- 1. 硬件使能
- 2. 制作一个SD卡启动的系统
- 3. 制作emmc启动的系统:
- 3.1 对于配置Advanced bootable images storage settings:
- 3.2 对于配置SD/SDIO Settings:
- 3.3 对于配置Image Packaging Configuration:
- 3.4 最终生成:
- 4. 更改文件名
- 5. 用vitis烧写BIN文件
- 5.1 烧写BOOT.BIN
- 5.2 烧写boot.scr.BIN
- 5.3烧写image.ub.BIN
- 6. 拷贝文件到SD卡
- 7. emmc 分区
- 7. 制作emmc rootfs
- 8. 从flash启动
0. 概述
- 以下只对petalinux从flash启动然后引导emmc相关操作做描述,其它操作不做赘述。
1. 硬件使能
PS侧需要使能SD0以及SD1,然后生成XSA文件。
2. 制作一个SD卡启动的系统
用步骤1中的XSA文件制作一个SD卡启动的系统。
这个就是常用的SD卡制作方法,在此不做赘述。
有一点区别,在rootfs中需要添加
- mkdosfs
- mkfs.ext4
两个命令。
3. 制作emmc启动的系统:
运行命令:
petalinux-config
3.1 对于配置Advanced bootable images storage settings:
petalinux-config
->Subsystem AUTO Hardware Setting
-> Advanced bootable images storage settings
中的
->boot image settings
->kernel image settings
。。。。。。
等等配置全部选择在qspi flash启动
3.2 对于配置SD/SDIO Settings:
petalinux-config
->Subsystem AUTO Hardware Setting
-> SD/SDIO Settings
中的
->Primary SD/SDIO
配置选择在ps7_sd_1
3.3 对于配置Image Packaging Configuration:
petalinux-config
->Image Packaging Configuration
中的
->Root filesystem type
配置选择EXT4
3.4 最终生成:
BOOT.BIN
boot.scr
image.ub
rootfs.tar.gz
文件。
4. 更改文件名
拷贝文件到Windows,
- 将boot.scr文件名改成boot.scr.BIN
- 将image.ub文件名改成image.ub.BIN
5. 用vitis烧写BIN文件
打开任意vitis工程
5.1 烧写BOOT.BIN
选择xilinx -> program flash
- image file选择BOOT.BIN
- offset不填(0)
点击program烧写即可
5.2 烧写boot.scr.BIN
选择xilinx -> program flash
- image file选择boot.scr.BIN
- offset填(0xFC0000)
点击program烧写即可
5.3烧写image.ub.BIN
选择xilinx -> program flash
- image file选择image.ub.BIN
- offset填(0x1000000)
点击program烧写即可
6. 拷贝文件到SD卡
将第3步骤生成的
rootfs.tar.gz
文件拷贝到SD卡的root分区下的任意目录内.
7. emmc 分区
从SD卡启动petalinux
用
fdisk /dev/mmcblk1
命令进行分区。分两个区,第一个大概128M,第二个为emmc剩余所有的空间。
用
mkdosfs -F 32 /dev/mmcblk1p1 #格式化为FAT32格式。
mkfs.ext4 /dev/mmcblk1p2 #格式化为EXT4格式
格式化分区。
7. 制作emmc rootfs
从SD卡启动petalinux
把第6步骤拷贝的rootfs.tar.gz文件拷贝到emmc的第二个分区(/media/mmcblk1p2),并执行:
tar -zxvpf rootfs.tar.gz
这样emmc的rootfs就做好了。
8. 从flash启动
拨码开关选择从flash启动,此时系统将从flash启动并引导flash中的image启动,然后引导emmc中的EXT4分区启动。