Petalinux快速入门向导 (4) 第三章.PetaLinux开发基本流程

  1. 配置环境变量

source /opt/xilinx/p201/settings.sh

如果已经在bashrc里面添加了这行,则可以省略

2. 创建project

创建工程有几种方式

1)基于cpu模板创建基本的框架,然后在后续用petalinux-config导入vivado导出的xsa(hdf)文件

petalinux-create -t project --template <CPU-TYPE> -n <PROJECT-NAME>

其中,

  • <CPU-TYPE>为CPU类型,具体值可为:zynqMP (for UltraScale+ MPSoC)、zynq (for Zynq)、microblaze (for MicroBlaze)
  • <PROJECT-NAME>为工程名称

例如:

petalinux-create -t project --template zynqMP -n test1

2) 基于官方提供的bsp包

petalinux-create -t project -s test.bsp

3. 基于Vivado产生的硬件描述文件的创建工程

petalinux-config --get-hw-description=<PATH-TO-HDF/XSA-DIRECTORY>

其中,<PATH-TO-HDF/XSA-DIRECTORY>为Vivado硬件描述文件所在目录路径;老版本的硬件描述文件的后缀名为hdf,新版本的后缀名为xsa,其他是相同的。

注意:这里是指xsa文件所在的目录,不是文件名

假设test1.xsa在当前目录,则

cd test1

petalinux-config --get-hw-description=../

4.设置缓存目录

在project-spec/meta-user/conf/petalinuxbsp.conf文件中

gedit project-spec/meta-user/conf/petalinuxbsp.conf

增加以下几行

DL_DIR = "/opt/xilinx/p201/downloads"

SSTATE_DIR = "/opt/xilinx/p201/sstate/aarch64"

RM_WORK_EXCLUDE += "linux-xlnx"

RM_WORK_EXCLUDE += "u-boot-xlnx"

5. 配置u-boot

petalinux-config -c u-boot

(源码会自动下载到components/plnx_workspace/sources/u-boot-xlnx)

根据需求进行修改,然后按ESC保存退出

6. 配置kernel

petalinux-config -c kernel

(源码会自动下载到components/plnx_workspace/sources/linux-xlnx)

根据需求进行修改,然后按ESC保存退出

7. 配置rootfs

petalinux-config -c rootfs

 

根据需求进行修改,然后按ESC保存退出

8. 编译PetaLinux

petalinux-buid

(可以用time petalinux-build,这样执行完会显示编译总共花了多少时间)

最后生成的二进制文件位于images/linux目录下

-rw-r--r-- 1 av av  16493056 Nov 10 10:02 Image

-rw-r--r-- 1 av av     51120 Nov 10 08:57 bl31.bin

-rw-r--r-- 1 av av    154752 Nov 10 08:57 bl31.elf

-rw-r--r-- 1 av av      2007 Nov 10 08:44 boot.scr

-rw-r--r-- 1 av av 106810856 Nov 10 10:02 image.ub

-rw-r--r-- 1 av av    132716 Nov 10 08:46 pmufw.elf

drwxr-xr-x 2 av av      4096 Nov 10 08:44 pxelinux.cfg/

-rw-r--r-- 1 av av 267110400 Nov 10 10:02 rootfs.cpio

-rw-r--r-- 1 av av  98912037 Nov 10 10:02 rootfs.cpio.gz

-rw-r--r-- 1 av av  98912101 Nov 10 10:02 rootfs.cpio.gz.u-boot

-rw-r--r-- 1 av av 126353408 Nov 10 10:02 rootfs.jffs2

-rw-r--r-- 1 av av     35517 Nov 10 10:02 rootfs.manifest

-rw-r--r-- 1 av av  99264053 Nov 10 10:02 rootfs.tar.gz

-rw-r--r-- 1 av av   7797808 Nov 10 08:38 system.bit

-rw-r--r-- 1 av av     46238 Nov 10 10:01 system.dtb

-rw-r--r-- 1 av av    911294 Nov 10 10:01 u-boot.bin

-rw-r--r-- 1 av av    977408 Nov 10 10:01 u-boot.elf

-rw-r--r-- 1 av av 287638080 Nov 10 10:02 vmlinux

-rw-r--r-- 1 av av     67419 Nov 10 08:44 zynqmp-qemu-arm.dtb

-rw-r--r-- 1 av av     76919 Nov 10 08:44 zynqmp-qemu-multiarch-arm.dtb

-rw-r--r-- 1 av av     10215 Nov 10 08:44 zynqmp-qemu-multiarch-pmu.dtb

-rw-r--r-- 1 av av    123672 Nov 10 08:47 zynqmp_fsbl.elf

9.打包生成boot.bin

cd images/linux

9.1 不带bit

petalinux-package --boot --fsbl zynqmp_fsbl.elf --u-boot u-boot.elf --pmufw pmufw.elf --force

9.2 包含bit

petalinux-package --boot --fsbl zynqmp_fsbl.elf --u-boot u-boot.elf --pmufw pmufw.elf --fpga system.bit --force

cd images/linux;petalinux-package --boot --fsbl zynqmp_fsbl.elf --u-boot u-boot.elf --pmufw pmufw.elf --fpga system.bit --force;cp image.ub /tftpboot/;cd ../..

10. 其他常用命令

清理目录,删除tmp和sstate cache

petalinux-build -x distclean

清理目录,删除tmp、<PROJECT>/images/,  <PROJECT>/build/、<PROJECT>/components/plnx_workspace

petalinux-build -x mrproper

编译sdk

petalinux-build --sdk

把工程目录打包成bsp

petalinux-package --bsp -p xilinx-zcu106-2020.2 --output leo-xilinx-zcu106-2020.2.bsp
 

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: PetaLinux是一款基于开源Linux发行版的嵌入式开发工具,用于构建、定制和部署嵌入式Linux系统。2018.3是PetaLinux的版本号,代表其发布的时间和更新内容。 PetaLinux2018.3在之前版本的基础上进行了一些改进和优化。首先,该版本加入了对新的硬件平台的支持,包括新的处理器架构和外设。这意味着开发者可以在更多的硬件平台上使用PetaLinux进行嵌入式系统开发,提高了平台的可扩展性和灵活性。 其次,PetaLinux2018.3在功能上也有所增强。它提供了更多的开发工具和工程模板,使开发者在构建嵌入式系统时更加方便和高效。此外,该版本还改进了系统的性能和稳定性,增加了对多线程和多核处理的支持,提升了系统的并行处理能力。 此外,PetaLinux2018.3还新增了一些软件包和驱动程序,使开发者能够更好地支持各种外设和功能。它还引入了更多的编译器和调试工具,方便开发者进行代码编译和调试,并提供了更多的文档和示例代码,帮助开发者更好地了解和使用PetaLinux。 总之,PetaLinux2018.3是一个经过改进和优化的嵌入式开发工具,提供了更多的硬件支持和功能增强。它可以帮助开发者更方便、高效地构建和定制嵌入式Linux系统,为嵌入式开发提供了更多的选择和可能性。 ### 回答2: PetaLinuxXilinx公司推出的一款基于Yocto Project构建的嵌入式Linux开发工具。旨在为XilinxZynq和UltraScale系列FPGA提供一个高度优化的Linux发行版。PetaLinux 2018.3是PetaLinux的一个版本,它包含了一些新的功能和改进。 PetaLinux 2018.3版本主要的更新包括对Yocto Project 2.6和Linux内核4.14的支持。这意味着开发人员可以使用最新版本的软件和驱动程序来构建他们的嵌入式Linux系统。该版本还提供了对新硬件平台的支持,包括Zynq UltraScale+ MPSoC ZCU102和ZCU104评估板。 PetaLinux 2018.3还加强了与Xilinx Vivado工具的集成,简化了从硬件设计到软件开发流程开发人员可以使用Vivado工具生成硬件设计文件,并直接从PetaLinux中进行导入和配置。这样可以提高整体开发效率,减少开发时间和风险。 此外,PetaLinux 2018.3还增强了对容器化应用程序的支持。开发人员可以使用Docker等容器技术在嵌入式Linux系统中运行和管理应用程序。这为开发人员提供了更大的灵活性和便利性,可以轻松构建和管理复杂的嵌入式应用。 总体而言,PetaLinux 2018.3为开发人员提供了更多的选择和工具来构建高度定制的嵌入式Linux系统。通过与Xilinx Vivado工具集成,支持最新版本的软件和驱动程序,以及对容器化应用程序的增强支持,开发人员可以更加轻松地进行嵌入式系统开发,并在不同的硬件平台上实现高性能和可靠性。 ### 回答3: Petalinux 2018.3是Xilinx公司开发的嵌入式Linux解决方案的一个版本。它是基于开源项目Yocto Project的,旨在帮助开发者构建用于Xilinx器件的定制化Linux操作系统。 Petalinux 2018.3提供了一套完整的工具链,使开发者可以轻松地构建、配置和定制嵌入式Linux系统。它支持多种开发板和处理器架构,包括Zynq-7000和Zynq UltraScale+等。通过使用Petalinux开发者可以轻松地将Linux操作系统和Xilinx硬件平台结合起来,提供强大的嵌入式计算和图像处理能力。 Petalinux 2018.3具有许多强大的功能。首先,它提供了一个易于使用的界面,使开发者可以快速设置和配置嵌入式Linux系统。其次,它支持全面的嵌入式硬件和软件开发,包括设备驱动程序、文件系统、应用程序等。此外,Petalinux 2018.3还提供了丰富的软件开发工具,如交叉编译器、调试器和性能分析工具,以帮助开发者更好地进行嵌入式软件开发。 总的来说,Petalinux 2018.3是一个强大而灵活的嵌入式Linux解决方案,使开发者能够快速构建和定制嵌入式系统。无论是在工业自动化、智能交通、网络通信等领域,Petalinux 2018.3都能为开发者提供强大的工具和支持,并为他们带来更高效的开发体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值