首先安装好petalinux,然后开始后面步骤。
设置petalinux环境变量在当前终端有效:
source /xxx/xxx/xxx/petalinux/settings.sh
可以打印全局参数确认环境变量设置OK:
echo $PETALINUX
创建petalinux工程:
petalinux-create -t project -n 工程名 --template zynqMP
进入工程名对应的文件夹,创建一个hardware文件夹,将xsa文件放入到hardware文件夹下,回到工程名对应文件夹,配置petalinux工程的硬件信息
petalinux-config --get-hw-decsription hardware
进入Auto Config Settings,勾选Device tree atuoconfig,kernel autoconfig,u-boot autoconfig,保存并退出。
打开project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi,改成这样
/include/ "system-conf.dtsi"
/ {
};
/* SD */
&sdhci1 {
disable-wp;
no-1-8-v;
};
/* USB */
&dwc3_0 {
status = "okay";
dr_mode = "host";
};
直接编译耗时,我们下载了缓存包到指定目录下,缓存包下载可以去xilinx官网,我们设置离线编译,然后设置一下要从离线编译从哪里拿取编译用文件:
petalinux-config -->Yocto Settings-->Add pre-mirror url-->file:///xxx/xxxx/downloads
petalinux-config -->Yocto Settings-->Local sstate feeds settings-->file:///xxx/xxxx/aarch64
设置下载和共享状态目录,在project-spec/meta-user/conf/petalinuxbsp.conf文件中添加以下变量:
DL_DIR = "/xxx/xxx/downloads"
SSTATE_DIR = "/xxx/xxx/aarch64"
最后回到工程目录开始编译:
petalinux-build