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

16 篇文章 1 订阅

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

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Petalinux QSPI 启动是指使用 PetaLinux 工具链将 Linux 操作系统和应用程序编译成适合在 QSPI 存储器上运行的镜像文件,并通过 QSPI 接口启动系统。这种启动方式可以提高系统的启动速度和稳定性,适用于嵌入式系统等场景。在使用 Petalinux 进行 QSPI 启动时,需要进行相关的配置和编译工作,具体步骤可以参考 Petalinux 官方文档或相关教程。 ### 回答2: Petalinux是一个基于Yocto的开源Linux发行版,它提供了一套完整的工具链,可以用来构建和定制Linux系统。而QSPI(Quad SPI)则是一种串行接口,可以用于在Flash EEPROM中读写数据,也是一种常用于嵌入式系统中的存储器芯片接口。可以通过在Petalinux中配置和启用QSPI接口,来启动并运行Linux系统。 在使用Petalinux构建QSPI启动Linux系统时,需要经过以下步骤: 1. 在Petalinux中配置QSPI接口:在系统配置文件中,需要打开QSPI接口的支持,并为QSPI设置正确的时钟和IO,以确保正确的数据传输。此外,还需将QSPI Flash EEPROM的详细信息添加到设备树文件中,如型号、容量、启动地址等。 2. 构建Linux内核镜像和根文件系统:使用Petalinux提供的工具链,编译内核镜像和根文件系统,并将其打包成BOOT.bin文件。 3. 烧写BOOT.bin文件到QSPI Flash EEPROM中:将已生成的BOOT.bin文件烧写到QSPI Flash EEPROM中,以便系统启动时可以读取和加载文件。 4. 通过串口控制台启动Linux系统:启动嵌入式设备,并通过串口连接终端,输入相应的命令,即可加载内核镜像和根文件系统,启动Petalinux系统。 在使用QSPI启动Petalinux时,需要注意以下几点: 1. 确保QSPI Flash EEPROM的正确性和可靠性:由于QSPI Flash EEPROM是嵌入式系统的启动设备之一,因此需确保选择的芯片型号和容量符合设备要求,且芯片本身稳定可靠,以免启动或运行时出现问题。 2. 需要针对具体QSPI Flash EEPROM做出配置:对于不同型号的QSPI Flash EEPROM,需要根据其具体规格和接口特性,进行正确的配置和编程,以确保数据传输的正确性和稳定性。 3. 需要正确处理启动引导:在QSPI启动时,需要保证BootROM能够正确加载和运行BOOT.bin文件。因此,需要考虑和配置引导地址、引导大小、引导模式等参数,并确保BOOT.bin文件能够正确地烧写到QSPI Flash EEPROM的启动地址中。 总之,使用QSPI启动Petalinux系统是一个较为复杂的过程,需要考虑到硬件、软件、配置等方面的问题。只有充分理解和掌握相关知识,并将其运用到实际生产中,才能够确保系统启动和运行的正确性和稳定性。 ### 回答3: PetaLinux是基于Yocto Project和OpenEmbedded构建的嵌入式Linux开发环境,它提供了完整的工具链以及开发包,可以用于开发多种嵌入式平台。PetaLinux支持QSPI启动,这使得我们可以在嵌入式平台上通过QSPI闪存进行启动,从而实现更高效的启动和更快的操作。下面将详细介绍如何进行PetaLinux QSPI启动。 1.准备工作 首先,我们需要安装PetaLinux环境。安装后,我们需要为目标硬件生成PetaLinux项目,并且确保打开了QSPI闪存选项。通常可以在配置PetaLinux项目时勾选QSPI闪存选项,选择适当的闪存设备、接口和其他设置。 2.生成Boot Image 生成的PetaLinux项目包含了所有需要的文件和配置,但是还需要生成引导镜像。引导镜像通常包括Bootloader和Kernel,以及一些其他的设备树、rootfs等。PetaLinux提供了"petalinux-package" 命令来生成引导镜像,可以根据需要选择不同的选项,并指定生成的镜像名称和路径。 3.烧写Boot Image 生成的镜像需要烧写到QSPI闪存中,以便平台可以从中启动。这可以通过多种方式实现,例如使用JTAG以及其他专用烧写器。许多平台也支持网络启动(TFTP),以便更轻松地更新或修改镜像。 4.QSPI启动 完成上述步骤后,我们可以尝试使用QSPI闪存启动目标平台。为此,我们需要更改平台的启动序列,以便从QSPI闪存中加载引导镜像。这通常需要进入平台的BIOS配置界面,并选择适当的启动顺序,将其设置为QSPI闪存。我们可以根据平台的不同,采用不同设置方法。 总之,PetaLinux QSPI启动可以大大提高启动和操作效率,所有的前期准备工作都需要耐心严密地完成。在配置过程中,建议参考平台官方文档以及其他开发者的经验,并根据具体情况进行调整。同时,需要注意保护闪存中的重要数据,以免误删除或覆盖。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值