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