当前位置:   article > 正文

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

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目录下

  1. -rw-r--r-- 1 av av  16493056 Nov 10 10:02 Image
  2. -rw-r--r-- 1 av av     51120 Nov 10 08:57 bl31.bin
  3. -rw-r--r-- 1 av av    154752 Nov 10 08:57 bl31.elf
  4. -rw-r--r-- 1 av av      2007 Nov 10 08:44 boot.scr
  5. -rw-r--r-- 1 av av 106810856 Nov 10 10:02 image.ub
  6. -rw-r--r-- 1 av av    132716 Nov 10 08:46 pmufw.elf
  7. drwxr-xr-x 2 av av      4096 Nov 10 08:44 pxelinux.cfg/
  8. -rw-r--r-- 1 av av 267110400 Nov 10 10:02 rootfs.cpio
  9. -rw-r--r-- 1 av av  98912037 Nov 10 10:02 rootfs.cpio.gz
  10. -rw-r--r-- 1 av av  98912101 Nov 10 10:02 rootfs.cpio.gz.u-boot
  11. -rw-r--r-- 1 av av 126353408 Nov 10 10:02 rootfs.jffs2
  12. -rw-r--r-- 1 av av     35517 Nov 10 10:02 rootfs.manifest
  13. -rw-r--r-- 1 av av  99264053 Nov 10 10:02 rootfs.tar.gz
  14. -rw-r--r-- 1 av av   7797808 Nov 10 08:38 system.bit
  15. -rw-r--r-- 1 av av     46238 Nov 10 10:01 system.dtb
  16. -rw-r--r-- 1 av av    911294 Nov 10 10:01 u-boot.bin
  17. -rw-r--r-- 1 av av    977408 Nov 10 10:01 u-boot.elf
  18. -rw-r--r-- 1 av av 287638080 Nov 10 10:02 vmlinux
  19. -rw-r--r-- 1 av av     67419 Nov 10 08:44 zynqmp-qemu-arm.dtb
  20. -rw-r--r-- 1 av av     76919 Nov 10 08:44 zynqmp-qemu-multiarch-arm.dtb
  21. -rw-r--r-- 1 av av     10215 Nov 10 08:44 zynqmp-qemu-multiarch-pmu.dtb
  22. -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
 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/172363
推荐阅读
相关标签
  

闽ICP备14008679号