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-
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包含了内核、设备树和根文件系统
petalinux-config
把根文件的类型选为ext4,
7.1
概述
program_flash脚本位于vitis安装目录的bin目录下,例如C:\Xilinx\Vitis\2019.2\bin\
详细信息可以参考官方的文档ug908-vivado-programming-debugging.pdf
查看jtag
program_flash -jtagtargets
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
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