Petalinux快速入门向导 (5) 第四章.PetaLinux常见问题

  1. 一键离线安装PetaLinux依赖包

1.1 网络安装

安装PetaLinux时,需要安装PetaLinux依赖的Linux软件包。对于Ubuntu,可以执行下面命令,安装所有软件包:

sudo apt-get install -y python tofrodos iproute2 gawk xvfb gcc git net-tools libncurses5-dev tftpd zlib1g-dev libssl-dev flex bison libselinux1 gnupg wget diffstat chrpath socat xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib build-essential libsdl1.2-dev libglib2.0-dev zlib1g:i386 screen

执行上述命令,对于Ubuntu来说,需要有网络连接。如果已经执行了上述命令,软件包已经下载到/var/cache/apt/archives, 下一次就可以离线安装。

1.2 所有软件包生成索引

在/var/cache/apt/archives, 执行命令

dpkg-scanpackages . | gzip -9c > Packages.gz

为所有软件包生成索引。

1.3 拷贝文件

将Packages.gz, 和/var/cache/apt/archives下所有的软件包拷贝到一个目录,比如/xilinxtool/download/linux/ubuntu-16.04-sw-packages/。

1.4 修改仓库文件

再把下列内容添加仓库文件 /etc/apt/sources.list开始处。

# PetaLinux software package

deb [trusted=yes] file:///xilinxtool/download/linux/ubuntu-16.04-sw-packages/ ./

1.5 刷新软件库

再刷新软件库,执行上述命令

apt update

之后就能依靠本地软件源,离线安装PetaLinux依赖包

2. 编译器怎么独立安装

编译器是在PetaLinux编译过程中实时生成的,路径位于

./build/tmp/sysroots-components/x86_64/gcc-cross-aarch64

./build/tmp/sysroots-components/x86_64/gcc-cross-aarch64/usr/bin/aarch64-xilinx-linux/aarch64-xilinx-linux-gcc

将这个目录复制到/opt目录下,并加入path路径

编译时加入以下两个参数即可

make ARCH=arm CROSS_COMPILE=aarch64-xilinx-linux-

3. PetaLinux下如何修改设备树

PetaLinux在导入xsa文件时,会根据硬件配置自动生成dts,自动生成的dts位于

components/plnx_workspace/device-tree/device-tree

 

但是这个目录下的文件不能直接修改,修改内容会被系统自动覆盖,导致无法生效。用户可以修改的设备树文件位于

project-spec/meta-user/recipes-bsp/device-tree/files

 

ps端的设备添加在system-user.dtsi,pl端的设备添加在pl-custom.dtsi。一般情况我们只需修改这两个文件即可。

4. 创建自己的bsp包

4.1 BSP打包

BSP对于团队和客户之间的分发非常有用。定制的PetaLinux项目可以通过bsp交付给下一个级别的团队或外部客户。

在创建BSP之前,假设你已经针对你的硬件平台已经定制了一套Linux系统。按以下步骤来进行打包BSP。

在你的petalinux工程目录之外运行以下命令:

petalinux-package --bsp -p <plnx-proj-root> --output my.bsp

就可以在你当前目录下看到生成的BSP包。

4.2 BSP的使用

对于其他开发人员提供的BSP包,不用重新为硬件平台来建立linux系统的配置信息。利用BSP来建立petalinux工程的命令如下:

petalinux-create -t project -s my.bsp

5. image.ub打包问题

(注意不同的版本可能稍有差异,这里以2020.1为例,2019.2也适用)

mkimage来分析image.ub

先安装sudo apt install u-boot-tools

然后mkimage -l images/linux/image.ub

 

可以看出image.ub包含了内核、设备树和根文件系统

6. 如何生成不包含rootfs的image.ub

petalinux-config

把根文件的类型选为ext4,

 

 

 

 

 

7. 用jtag命令行烧写flash

7.1 概述

program_flash脚本位于vitis安装目录的bin目录下,例如C:\Xilinx\Vitis\2019.2\bin\

详细信息可以参考官方的文档ug908-vivado-programming-debugging.pdf

查看jtag

program_flash -jtagtargets

 

7.2 用jtag命令行烧写qspi flash

program_flash -f BOOT.bin -fsbl fsbl.elf -flash_type qspi-x4-dual_stacked -target_name  jsn-DLC9LP-00000000000000-5ba00477-0 -url tcp:localhost:3121

7.3 用jtag命令行烧写nand flash

program_flash% -f BOOT.bin -fsbl fsbl.elf -flash_type nand-x8 -target_name  jsn-DLC9LP-00000000000000-5ba00477-0 -url tcp:localhost:3121

7.4 烧写时加载的uboot.bin路径(安装路径根据具体安装不同略有不同)

C:\Xilinx\Vitis\2019.2\data\xicom\cfgmem\uboot

 

7.5 PL编程参考

Mpsoc系列

Solution ZynqMP PL Programming - Xilinx Wiki - Confluence

Zynq7000系列

Solution Zynq PL Programming With FPGA Manager - Xilinx Wiki - Confluence

8. Ethernet开发参考

PS and PL based Ethernet in Zynq MPSoC - Xilinx Wiki - Confluence

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值