Vitis PetaLinux 构建在构建应用程序项目时无法获取所需的文件
Vitis PetaLinux build cant fetch required files while building an application project
我想为我的 Ultra96v2 构建一个 PetaLinux 映像。
我一直关注 this guide,直到在 Vitis 中构建我的应用程序项目。它看起来很有希望,但是在为我的自定义平台构建应用程序项目时,Vitis 抛出了这个错误:
18:08:28 **** Incremental Build of configuration Debug for project dpu_appl_system ****
make all
Generating bif file for the system project
Executing command '::scw::generate_bif -xpfm /media/user/6b04b610-ff80-4702-a575-b0b1a78fbafb/dpu_pkg/dpu_demo/export/dpu_demo/dpu_demo.xpfm -domains linux_domain -bifpath /media/user/6b04b610-ff80-4702-a575-b0b1a78fbafb/dpu_pkg/dpu_appl_system/Debug/system.bif' on XSCT
sdcard_gen --xpfm /media/user/6b04b610-ff80-4702-a575-b0b1a78fbafb/dpu_pkg/dpu_demo/export/dpu_demo/dpu_demo.xpfm --sys_config dpu_demo --bif /media/user/6b04b610-ff80-4702-a575-b0b1a78fbafb/dpu_pkg/dpu_appl_system/Debug/system.bif --bitstream /media/user/6b04b610-ff80-4702-a575-b0b1a78fbafb/dpu_pkg/dpu_appl/_ide/bitstream/dpu_hardware.bit --sd_file /media/user/6b04b610-ff80-4702-a575-b0b1a78fbafb/dpu_pkg/dpu_appl/Debug/dpu_appl.elf
creating BOOT.BIN using /media/user/6b04b610-ff80-4702-a575-b0b1a78fbafb/dpu_pkg/dpu_appl/_ide/bitstream/dpu_hardware.bit
Running /home/user/Xilinx/Vitis/2021.2/bin/bootgen -arch zynqmp -image /media/user/6b04b610-ff80-4702-a575-b0b1a78fbafb/dpu_pkg/dpu_appl_system/Debug/sd_card_temp/boot.bif -w -o i BOOT.BIN
ERROR:BootGen - syntax error
Line #13, "/media/user/6b04b610-ff80-4702-a575-b0b1a78fbafb/dpu_pkg/dpu_appl_system/Debug/sd_card_temp/boot.bif".
... emo/sw/atf,dpu_demo/boot/bl31.elf
^
[ERROR] : BIF file parsing failed with code 1
Error writing SD card data : Error when running '/home/user/Xilinx/Vitis/2021.2/bin/bootgen -arch zynqmp -image /media/user/6b04b610-ff80-4702-a575-b0b1a78fbafb/dpu_pkg/dpu_appl_system/Debug/sd_card_temp/boot.bif -w -o i BOOT.BIN'
make: *** [makefile:42: package] Error 1
18:08:36 Build Finished (took 7s.643ms)
它特别告诉我,它搜索文件的路径中有一个逗号。文件可用
在“正常”位置,没有“atf”、“dtb”等
在“奇怪”的位置。我创建了路径,因此每个抛出错误消息的文件都存在请求的路径,例如
/media/user/6b04b610-ff80-4702-a575-b0b1a78fbafb/dpu_pkg/dpu_appl_system/Debug/sd_card_temp/boot.bif". ... emo/sw/atf,dpu_demo/boot/bl31.elf
我用奇怪的人工制品“arf,dpu_demo”创建了路径,路径中有 komma,但它仍然无法正常工作。这是 Vitis 的某种问题吗,比如一些环境变量设置不正确,或者构建机制只是表现得很奇怪?我无法解决这个问题,因为我无法更改它应该查找文件的路径。这阻碍了我推进我的项目。我在 Ubuntu 20.04.
工作
有人可以帮我吗?我真的很感激!
我也在Xilinx Community里问过这个问题,可惜完全没有共鸣
在此先感谢您!
请阅读完整答案以获得实际解决方案
我想我现在明白了,虽然我还没有验证图像是否真的适用于我的 Ultra96v2。
我注意到,带有逗号的奇怪路径在 boot.bif
和 system.bif
内部。
所以我第一次尝试构建它时,bif 不存在,但被创建了(我假设)。 bif 已经准备好了,但里面只有一个奇怪的路径,所以我拿了 makefile(你可以在 debug/sd_card 中找到它),复制它,然后注释掉行 GENERATE_BIF_XSCT_CMD = ${GENERATE_BIF} -xpfm ${XPFM_PATH} -domains ${DOMAINS} -bifpath ${BIF_PATH}
.
然后我编辑了 boot.bif
和 system.bif
并将 atf,boot
、uboot,boot
和 dts,boot
更改为 boot
,所以BootGen 不会再查看带有逗号的目录,而只会查看指定的引导目录。
设置完成后,我 通过进入 sd_card-directory 并执行以下命令,在我的控制台中编辑了 makefile:
make -f <your_edited_makefile>
这意味着,您不能在 Vitis 中按“构建”,它不会工作。您自己构建内容,项目旁边不会出现绿色复选标记!然后 sd_card-directory 填充了(我假设)从 SD 卡启动 Ultra96v2 所需的所有数据。这是内容:
- boot.scr
- BOOT.BIN
- dpu_appl.elf(我猜是你的应用项目名称)
- README.txt
- system.dtb
潜在的问题似乎是 ::scw::generate_bif
创建了一条不存在的照顾路径。在我看来,这真是一个奇怪的问题。
更新:
我刚刚使用 petalinux-config
命令对 PetaLinux 配置进行了一些更改并重建了所有内容。转到 Vitis 部分后,我更改了 Vitis 本身内的 system.bif
,项目编译成功,看起来也填充了 sd_card 目录。
更新 2:
一切都失败了,所以我试图进入应用系统项目的 *.bif。我打开它 (linux.bif) 并从中编辑了“atf”、“dtb”和“uboot”。由于它只创建一次并被以下文件引用,这解决了我的问题并且构建在 Vitis 中成功完成。所以请忽略我原来的答案并更新。
我希望这是有效的,希望它能对你们中的一些人有所帮助。
我想为我的 Ultra96v2 构建一个 PetaLinux 映像。 我一直关注 this guide,直到在 Vitis 中构建我的应用程序项目。它看起来很有希望,但是在为我的自定义平台构建应用程序项目时,Vitis 抛出了这个错误:
18:08:28 **** Incremental Build of configuration Debug for project dpu_appl_system ****
make all
Generating bif file for the system project
Executing command '::scw::generate_bif -xpfm /media/user/6b04b610-ff80-4702-a575-b0b1a78fbafb/dpu_pkg/dpu_demo/export/dpu_demo/dpu_demo.xpfm -domains linux_domain -bifpath /media/user/6b04b610-ff80-4702-a575-b0b1a78fbafb/dpu_pkg/dpu_appl_system/Debug/system.bif' on XSCT
sdcard_gen --xpfm /media/user/6b04b610-ff80-4702-a575-b0b1a78fbafb/dpu_pkg/dpu_demo/export/dpu_demo/dpu_demo.xpfm --sys_config dpu_demo --bif /media/user/6b04b610-ff80-4702-a575-b0b1a78fbafb/dpu_pkg/dpu_appl_system/Debug/system.bif --bitstream /media/user/6b04b610-ff80-4702-a575-b0b1a78fbafb/dpu_pkg/dpu_appl/_ide/bitstream/dpu_hardware.bit --sd_file /media/user/6b04b610-ff80-4702-a575-b0b1a78fbafb/dpu_pkg/dpu_appl/Debug/dpu_appl.elf
creating BOOT.BIN using /media/user/6b04b610-ff80-4702-a575-b0b1a78fbafb/dpu_pkg/dpu_appl/_ide/bitstream/dpu_hardware.bit
Running /home/user/Xilinx/Vitis/2021.2/bin/bootgen -arch zynqmp -image /media/user/6b04b610-ff80-4702-a575-b0b1a78fbafb/dpu_pkg/dpu_appl_system/Debug/sd_card_temp/boot.bif -w -o i BOOT.BIN
ERROR:BootGen - syntax error
Line #13, "/media/user/6b04b610-ff80-4702-a575-b0b1a78fbafb/dpu_pkg/dpu_appl_system/Debug/sd_card_temp/boot.bif".
... emo/sw/atf,dpu_demo/boot/bl31.elf
^
[ERROR] : BIF file parsing failed with code 1
Error writing SD card data : Error when running '/home/user/Xilinx/Vitis/2021.2/bin/bootgen -arch zynqmp -image /media/user/6b04b610-ff80-4702-a575-b0b1a78fbafb/dpu_pkg/dpu_appl_system/Debug/sd_card_temp/boot.bif -w -o i BOOT.BIN'
make: *** [makefile:42: package] Error 1
18:08:36 Build Finished (took 7s.643ms)
它特别告诉我,它搜索文件的路径中有一个逗号。文件可用
在“正常”位置,没有“atf”、“dtb”等
在“奇怪”的位置。我创建了路径,因此每个抛出错误消息的文件都存在请求的路径,例如
/media/user/6b04b610-ff80-4702-a575-b0b1a78fbafb/dpu_pkg/dpu_appl_system/Debug/sd_card_temp/boot.bif". ... emo/sw/atf,dpu_demo/boot/bl31.elf
我用奇怪的人工制品“arf,dpu_demo”创建了路径,路径中有 komma,但它仍然无法正常工作。这是 Vitis 的某种问题吗,比如一些环境变量设置不正确,或者构建机制只是表现得很奇怪?我无法解决这个问题,因为我无法更改它应该查找文件的路径。这阻碍了我推进我的项目。我在 Ubuntu 20.04.
工作有人可以帮我吗?我真的很感激! 我也在Xilinx Community里问过这个问题,可惜完全没有共鸣
在此先感谢您!
请阅读完整答案以获得实际解决方案
我想我现在明白了,虽然我还没有验证图像是否真的适用于我的 Ultra96v2。
我注意到,带有逗号的奇怪路径在 boot.bif
和 system.bif
内部。
所以我第一次尝试构建它时,bif 不存在,但被创建了(我假设)。 bif 已经准备好了,但里面只有一个奇怪的路径,所以我拿了 makefile(你可以在 debug/sd_card 中找到它),复制它,然后注释掉行 GENERATE_BIF_XSCT_CMD = ${GENERATE_BIF} -xpfm ${XPFM_PATH} -domains ${DOMAINS} -bifpath ${BIF_PATH}
.
然后我编辑了 boot.bif
和 system.bif
并将 atf,boot
、uboot,boot
和 dts,boot
更改为 boot
,所以BootGen 不会再查看带有逗号的目录,而只会查看指定的引导目录。
设置完成后,我
make -f <your_edited_makefile>
这意味着,您不能在 Vitis 中按“构建”,它不会工作。您自己构建内容,项目旁边不会出现绿色复选标记!然后 sd_card-directory 填充了(我假设)从 SD 卡启动 Ultra96v2 所需的所有数据。这是内容:
- boot.scr
- BOOT.BIN
- dpu_appl.elf(我猜是你的应用项目名称)
- README.txt
- system.dtb
潜在的问题似乎是 ::scw::generate_bif
创建了一条不存在的照顾路径。在我看来,这真是一个奇怪的问题。
更新:
我刚刚使用 petalinux-config
命令对 PetaLinux 配置进行了一些更改并重建了所有内容。转到 Vitis 部分后,我更改了 Vitis 本身内的 system.bif
,项目编译成功,看起来也填充了 sd_card 目录。
更新 2: 一切都失败了,所以我试图进入应用系统项目的 *.bif。我打开它 (linux.bif) 并从中编辑了“atf”、“dtb”和“uboot”。由于它只创建一次并被以下文件引用,这解决了我的问题并且构建在 Vitis 中成功完成。所以请忽略我原来的答案并更新。
我希望这是有效的,希望它能对你们中的一些人有所帮助。