petalinux从flash启动然后引导emmc教程

petalinux从flash启动然后引导emmc教程

0. 概述

  • 以下只对petalinux从flash启动然后引导emmc相关操作做描述,其它操作不做赘述。

1. 硬件使能

PS侧需要使能SD0以及SD1,然后生成XSA文件。

2. 制作一个SD卡启动的系统

用步骤1中的XSA文件制作一个SD卡启动的系统。

这个就是常用的SD卡制作方法,在此不做赘述。

有一点区别,在rootfs中需要添加

  • mkdosfs
  • mkfs.ext4

两个命令。

方法见:

petalinux如何在rootfs中添加mkfs.ext4命令

https://blog.csdn.net/PlutoZuo/article/details/131939317

petalinux如何在rootfs中添加mkdosfs命令

https://blog.csdn.net/PlutoZuo/article/details/131939464

注:这两个命令后续用来格式化SD1(emmc)

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分区启动。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值