AMD Xilinx SoC: 定制PetaLinux中的FSBL

作者:付汉杰 hankf@amd.com

需求
客户为AMD Xilinx SoC创建了PetaLinux工程。需要定制PetaLinux中的FSBL。

PetaLinux默认从内部指定的源取代码。

取出FSBL代码
使用命令“petalinux-devtool modify fsbl-firmware”, 可以取出FSBL代码到目录“components/yocto/workspace/sources/fsbl-firmware/”。FSBL的主代码是文件“lib/sw_apps/zynq_fsbl/src/main.c”。

修改目录“components/yocto/workspace/sources/fsbl-firmware/”中的代码,会影响以后在PetaLinux中的编译的FSBL。

编译FSBL代码
使用命令“petalinux-build -c fsbl-firmware -x distclean && petalinux-build -c fsbl-firmware”,能编译FSBL代码,会导入目录“components/yocto/workspace/sources/fsbl-firmware/”中的代码,使其生效。

编译目录
编译时,PetaLinux会把目录“components/yocto/workspace/sources/fsbl-firmware/”中的代码,复制到类似下面的目录。

build/tmp/work/zc706-xilinx-linux-gnueabi/fsbl-firmware/2021.2+git999-r0/fsbl-firmware-2021.2+git999/fsbl-firmware/zynq_fsbl_bsp

PetaLinux接着在上述目录中执行编译。上述目录也包含单板相关的ps7_init或者psu_init文件。

版本更改后,上述目录的名称可能变化。

注意事项
从PetaLinux 2021.1起,FSBL的 recipe 名称,从fsbl.bb改为了fsbl-firmware.bb。编译时,要使用fsbl-firmware,而不是fsbl。

从PetaLinux 2021.1起,PLM的 recipe 名称,从plm.bb改为了plm-firmware.bb。

测试环境
ZC706 单板
PetaLinux 2021.2

额外信息
外部目录信息
使用外部目录的源代码编译,会打印字符串“compiling from external source tree”。

NOTE: fsbl-firmware: compiling from external source tree /home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/workspace/sources/fsbl-firmware

编译成功的信息

[INFO] Sourcing buildtools
[INFO] Building fsbl-firmware
[INFO] Sourcing build environment
[INFO] Generating workspace directory
INFO: bitbake fsbl-firmware
NOTE: Started PRServer with DBfile: /proj/hankf/hankf/zc706/v212/zc706-v211-bsp-peta/build/cache/prserv.sqlite3, IP: 127.0.0.1, PORT: 38015, PID: 62600
Loading cache...done.
Loaded 5126 entries from dependency cache.
Parsing recipes...done.
Parsing of 3476 .bb files complete (3469 cached, 7 parsed). 5133 targets, 268 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks...done.
Sstate summary: Wanted 1 Found 1 Missed 0 Current 103 (100% match, 100% complete)
NOTE: Executing Tasks
NOTE: Running task 1 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_populate_lic)
NOTE: Running task 3 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_deploy_source_date_epoch)
NOTE: Running noexec task 350 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_rm_work_all)
NOTE: Running task 363 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_fetch)
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_populate_lic: Started
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_fetch: Started
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_deploy_source_date_epoch: Started
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_fetch: Succeeded
NOTE: Running task 391 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_prepare_recipe_sysroot)
NOTE: Running task 392 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_unpack)
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_populate_lic: Succeeded
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_deploy_source_date_epoch: Succeeded
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_unpack: Started
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_prepare_recipe_sysroot: Started
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_unpack: Succeeded
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_prepare_recipe_sysroot: Succeeded
NOTE: Running task 393 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_create_yaml)
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_create_yaml: Started
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_create_yaml: Succeeded
NOTE: Running task 394 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_configure)
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_configure: Started
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_configure: Succeeded
NOTE: Running task 395 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_compile)
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_compile: Started
NOTE: fsbl-firmware: compiling from external source tree /home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/workspace/sources/fsbl-firmware
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_compile: Succeeded
NOTE: Running task 396 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_install)
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_install: Started
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_install: Succeeded
NOTE: Running task 397 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_populate_sysroot)
NOTE: Running task 398 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_package)
NOTE: Running task 399 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_deploy)
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_populate_sysroot: Started
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_deploy: Started
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_package: Started
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_deploy: Succeeded
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_populate_sysroot: Succeeded
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_package: Succeeded
NOTE: Running task 400 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_packagedata)
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_packagedata: Started
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_packagedata: Succeeded
NOTE: Running task 401 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_package_qa)
NOTE: Running task 402 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_package_write_rpm)
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_package_qa: Started
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_package_write_rpm: Started
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_package_write_rpm: Succeeded
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_package_qa: Succeeded
NOTE: Running noexec task 403 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_build)
NOTE: Tasks Summary: Attempted 403 tasks of which 386 didn't need to be rerun and all succeeded.
INFO: Failed to copy built images to tftp dir: /tftpboot
[INFO] Successfully built fsbl-firmware

编译失败的信息
如果故意在代码添加错误,会得到类似下面的信息。

[INFO] Sourcing buildtools
[INFO] Building fsbl-firmware
[INFO] Sourcing build environment
[INFO] Generating workspace directory
INFO: bitbake fsbl-firmware
NOTE: Started PRServer with DBfile: /proj/hankf/hankf/zc706/v212/zc706-v211-bsp-peta/build/cache/prserv.sqlite3, IP: 127.0.0.1, PORT: 34645, PID: 6208
Loading cache...done.
Loaded 5126 entries from dependency cache.
Parsing recipes...done.
Parsing of 3476 .bb files complete (3469 cached, 7 parsed). 5133 targets, 268 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks...done.
Sstate summary: Wanted 1 Found 1 Missed 0 Current 103 (100% match, 100% complete)
NOTE: Executing Tasks
NOTE: Running task 1 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_populate_lic)
NOTE: Running task 3 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_deploy_source_date_epoch)
NOTE: Running noexec task 350 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_rm_work_all)
NOTE: Running task 363 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_fetch)
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_populate_lic: Started
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_deploy_source_date_epoch: Started
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_fetch: Started
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_fetch: Succeeded
NOTE: Running task 391 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_prepare_recipe_sysroot)
NOTE: Running task 392 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_unpack)
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_populate_lic: Succeeded
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_deploy_source_date_epoch: Succeeded
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_prepare_recipe_sysroot: Started
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_unpack: Started
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_unpack: Succeeded
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_prepare_recipe_sysroot: Succeeded
NOTE: Running task 393 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_create_yaml)
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_create_yaml: Started
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_create_yaml: Succeeded
NOTE: Running task 394 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_configure)
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_configure: Started
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_configure: Succeeded
NOTE: Running task 395 of 403 (/home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_compile)
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_compile: Started
NOTE: fsbl-firmware: compiling from external source tree /home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/workspace/sources/fsbl-firmware
Log data follows:
| DEBUG: Executing python function externalsrc_compile_prefunc
| NOTE: fsbl-firmware: compiling from external source tree /home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/workspace/sources/fsbl-firmware
| DEBUG: Python function externalsrc_compile_prefunc finished
| DEBUG: Executing shell function do_compile
| NOTE: make -j1
| make -C zynq_fsbl_bsp
| make[1]: Entering directory '/proj/hankf/hankf/zc706/v212/zc706-v211-bsp-peta/build/tmp/work/zc706-xilinx-linux-gnueabi/fsbl-firmware/2021.2+git999-r0/fsbl-firmware-2021.2+git999/fsbl-firmware/zynq_fsbl_bsp'
| make --no-print-directory seq_libs
| Running Make include in ps7_cortexa9_0/libsrc/coresightps_dcc_v1_8/src
| make -C ps7_cortexa9_0/libsrc/coresightps_dcc_v1_8/src -s include  "SHELL=/bin/sh" "COMPILER=arm-none-eabi-gcc" "ASSEMBLER=arm-none-eabi-as" "ARCHIVER=arm-none-eabi-ar" "COMPILER_FLAGS=  -O2 -c" "EXTRA_COMPILER_FLAGS=-mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard -nostartfiles -g -Wall -Wextra -fno-tree-loop-distribute-patterns"
| Running Make include in ps7_cortexa9_0/libsrc/cpu_cortexa9_v2_11/src
.......................
| make -C ps7_cortexa9_0/libsrc/xilffs_v4_6/src -s libs  "SHELL=/bin/sh" "COMPILER=arm-none-eabi-gcc" "ASSEMBLER=arm-none-eabi-as" "ARCHIVER=arm-none-eabi-ar" "COMPILER_FLAGS=  -O2 -c" "EXTRA_COMPILER_FLAGS=-mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard -nostartfiles -g -Wall -Wextra -fno-tree-loop-distribute-patterns"
| xtime_l.c:45:9: note: '#pragma message: For the sleep routines, Global timer is being used'
|    45 | #pragma message ("For the sleep routines, Global timer is being used")
|       |         ^~~~~~~
| Finished building libraries parallelly.
| make --no-print-directory archive
| arm-none-eabi-ar -r  ps7_cortexa9_0/lib/libxil.a ps7_cortexa9_0/lib/abort.o ps7_cortexa9_0/lib/asm_vectors.o ps7_cortexa9_0/lib/boot.o ps7_cortexa9_0/lib/close.o ps7_cortexa9_0/lib/cpputest_time.o ps7_cortexa9_0/lib/cpu_init.o ps7_cortexa9_0/lib/errno.o ps7_cortexa9_0/lib/_exit.o ps7_cortexa9_0/lib/fcntl.o ps7_cortexa9_0/lib/fstat.o ps7_cortexa9_0/lib/getpid.o ps7_cortexa9_0/lib/inbyte.o ps7_cortexa9_0/lib/isatty.o ps7_cortexa9_0/lib/kill.o ps7_cortexa9_0/lib/lseek.o ps7_cortexa9_0/lib/_open.o ps7_cortexa9_0/lib/open.o ps7_cortexa9_0/lib/outbyte.o ps7_cortexa9_0/lib/print.o ps7_cortexa9_0/lib/putnum.o ps7_cortexa9_0/lib/read.o ps7_cortexa9_0/lib/_sbrk.o ps7_cortexa9_0/lib/sbrk.o ps7_cortexa9_0/lib/sleep.o ps7_cortexa9_0/lib/time.o ps7_cortexa9_0/lib/translation_table.o ps7_cortexa9_0/lib/unlink.o ps7_cortexa9_0/lib/usleep.o ps7_cortexa9_0/lib/vectors.o ps7_cortexa9_0/lib/write.o ps7_cortexa9_0/lib/xadcps_g.o ps7_cortexa9_0/lib/xadcps_intr.o ps7_cortexa9_0/lib/xadcps.o ps7_cortexa9_0/lib/xadcps_selftest.o ps7_cortexa9_0/lib/xadcps_sinit.o ps7_cortexa9_0/lib/xcoresightpsdcc.o ps7_cortexa9_0/lib/xdevcfg_g.o ps7_cortexa9_0/lib/xdevcfg_hw.o ps7_cortexa9_0/lib/xdevcfg_intr.o ps7_cortexa9_0/lib/xdevcfg.o ps7_cortexa9_0/lib/xdevcfg_selftest.o ps7_cortexa9_0/lib/xdevcfg_sinit.o ps7_cortexa9_0/lib/xdmaps_g.o ps7_cortexa9_0/lib/xdmaps_hw.o ps7_cortexa9_0/lib/xdmaps.o ps7_cortexa9_0/lib/xdmaps_selftest.o ps7_cortexa9_0/lib/xdmaps_sinit.o ps7_cortexa9_0/lib/xemacps_bdring.o ps7_cortexa9_0/lib/xemacps_control.o ps7_cortexa9_0/lib/xemacps_g.o ps7_cortexa9_0/lib/xemacps_hw.o ps7_cortexa9_0/lib/xemacps_intr.o ps7_cortexa9_0/lib/xemacps.o ps7_cortexa9_0/lib/xemacps_sinit.o ps7_cortexa9_0/lib/xgpio_extra.o ps7_cortexa9_0/lib/xgpio_g.o ps7_cortexa9_0/lib/xgpio_intr.o ps7_cortexa9_0/lib/xgpio.o ps7_cortexa9_0/lib/xgpiops_g.o ps7_cortexa9_0/lib/xgpiops_hw.o ps7_cortexa9_0/lib/xgpiops_intr.o ps7_cortexa9_0/lib/xgpiops.o ps7_cortexa9_0/lib/xgpiops_selftest.o ps7_cortexa9_0/lib/xgpiops_sinit.o ps7_cortexa9_0/lib/xgpio_selftest.o ps7_cortexa9_0/lib/xgpio_sinit.o ps7_cortexa9_0/lib/xiicps_g.o ps7_cortexa9_0/lib/xiicps_hw.o ps7_cortexa9_0/lib/xiicps_intr.o ps7_cortexa9_0/lib/xiicps_master.o ps7_cortexa9_0/lib/xiicps.o ps7_cortexa9_0/lib/xiicps_options.o ps7_cortexa9_0/lib/xiicps_selftest.o ps7_cortexa9_0/lib/xiicps_sinit.o ps7_cortexa9_0/lib/xiicps_slave.o ps7_cortexa9_0/lib/xiicps_xfer.o ps7_cortexa9_0/lib/xil_assert.o ps7_cortexa9_0/lib/xil_cache.o ps7_cortexa9_0/lib/xil_clocking.o ps7_cortexa9_0/lib/xil-crt0.o ps7_cortexa9_0/lib/xil_exception.o ps7_cortexa9_0/lib/xil_mem.o ps7_cortexa9_0/lib/xil_misc_psreset_api.o ps7_cortexa9_0/lib/xil_mmu.o ps7_cortexa9_0/lib/xil_printf.o ps7_cortexa9_0/lib/xil_sleepcommon.o ps7_cortexa9_0/lib/xil_sleeptimer.o ps7_cortexa9_0/lib/xil_spinlock.o ps7_cortexa9_0/lib/xil_testcache.o ps7_cortexa9_0/lib/xil_testio.o ps7_cortexa9_0/lib/xil_testmem.o ps7_cortexa9_0/lib/xil_util.o ps7_cortexa9_0/lib/xl2cc_counter.o ps7_cortexa9_0/lib/xplatform_info.o ps7_cortexa9_0/lib/xpm_counter.o ps7_cortexa9_0/lib/xqspips_g.o ps7_cortexa9_0/lib/xqspips_hw.o ps7_cortexa9_0/lib/xqspips.o ps7_cortexa9_0/lib/xqspips_options.o ps7_cortexa9_0/lib/xqspips_selftest.o ps7_cortexa9_0/lib/xqspips_sinit.o ps7_cortexa9_0/lib/xscugic_g.o ps7_cortexa9_0/lib/xscugic_hw.o ps7_cortexa9_0/lib/xscugic_intr.o ps7_cortexa9_0/lib/xscugic.o ps7_cortexa9_0/lib/xscugic_selftest.o ps7_cortexa9_0/lib/xscugic_sinit.o ps7_cortexa9_0/lib/xscutimer_g.o ps7_cortexa9_0/lib/xscutimer.o ps7_cortexa9_0/lib/xscutimer_selftest.o ps7_cortexa9_0/lib/xscutimer_sinit.o ps7_cortexa9_0/lib/xscuwdt_g.o ps7_cortexa9_0/lib/xscuwdt.o ps7_cortexa9_0/lib/xscuwdt_selftest.o ps7_cortexa9_0/lib/xscuwdt_sinit.o ps7_cortexa9_0/lib/xsdps_card.o ps7_cortexa9_0/lib/xsdps_g.o ps7_cortexa9_0/lib/xsdps_host.o ps7_cortexa9_0/lib/xsdps.o ps7_cortexa9_0/lib/xsdps_options.o ps7_cortexa9_0/lib/xsdps_sinit.o ps7_cortexa9_0/lib/xtime_l.o ps7_cortexa9_0/lib/xttcps_g.o ps7_cortexa9_0/lib/xttcps.o ps7_cortexa9_0/lib/xttcps_options.o ps7_cortexa9_0/lib/xttcps_selftest.o ps7_cortexa9_0/lib/xttcps_sinit.o ps7_cortexa9_0/lib/xuartps_g.o ps7_cortexa9_0/lib/xuartps_hw.o ps7_cortexa9_0/lib/xuartps_intr.o ps7_cortexa9_0/lib/xuartps.o ps7_cortexa9_0/lib/xuartps_options.o ps7_cortexa9_0/lib/xuartps_selftest.o ps7_cortexa9_0/lib/xuartps_sinit.o ps7_cortexa9_0/lib/xusbps_endpoint.o ps7_cortexa9_0/lib/xusbps_g.o ps7_cortexa9_0/lib/xusbps_hw.o ps7_cortexa9_0/lib/xusbps_intr.o ps7_cortexa9_0/lib/xusbps.o ps7_cortexa9_0/lib/xusbps_sinit.o
| /opt/Xilinx/peta/2021.2/tools/xsct//gnu/aarch32/lin/gcc-arm-none-eabi/bin/../x86_64-oesdk-linux/usr/bin/arm-xilinx-eabi/arm-xilinx-eabi-ar.real: creating ps7_cortexa9_0/lib/libxil.a
| Finished building libraries
| make[1]: Leaving directory '/proj/hankf/hankf/zc706/v212/zc706-v211-bsp-peta/build/tmp/work/zc706-xilinx-linux-gnueabi/fsbl-firmware/2021.2+git999-r0/fsbl-firmware-2021.2+git999/fsbl-firmware/zynq_fsbl_bsp'

| arm-none-eabi-gcc  -O2 -c -MMD -MP       -mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard  -c fsbl_hooks.c -o fsbl_hooks.o -Izynq_fsbl_bsp/ps7_cortexa9_0/include -I.
| arm-none-eabi-gcc  -O2 -c -MMD -MP       -mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard  -c image_mover.c -o image_mover.o -Izynq_fsbl_bsp/ps7_cortexa9_0/include -I.
| arm-none-eabi-gcc  -O2 -c -MMD -MP       -mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard  -c main.c -o main.o -Izynq_fsbl_bsp/ps7_cortexa9_0/include -I.
| main.c:216:1: error: unknown type name 'hankf_error_ffdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd'
|   216 | hankf_error_ffdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
|       | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| main.c:218:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'hankf_error_ffdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd'
|   218 | hankf_error_ffdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
|       | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| main.c:218:1: error: unknown type name 'hankf_error_ffdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd'
| make: *** [Makefile:35: main.o] Error 1
| WARNING: /proj/hankf/hankf/zc706/v212/zc706-v211-bsp-peta/build/tmp/work/zc706-xilinx-linux-gnueabi/fsbl-firmware/2021.2+git999-r0/temp/run.do_compile.7680:165 exit 1 from 'exit 1'
| WARNING: Backtrace (BB generated script):
| 	#1: bbfatal_log, /proj/hankf/hankf/zc706/v212/zc706-v211-bsp-peta/build/tmp/work/zc706-xilinx-linux-gnueabi/fsbl-firmware/2021.2+git999-r0/temp/run.do_compile.7680, line 165
| 	#2: die, /proj/hankf/hankf/zc706/v212/zc706-v211-bsp-peta/build/tmp/work/zc706-xilinx-linux-gnueabi/fsbl-firmware/2021.2+git999-r0/temp/run.do_compile.7680, line 175
| 	#3: oe_runmake, /proj/hankf/hankf/zc706/v212/zc706-v211-bsp-peta/build/tmp/work/zc706-xilinx-linux-gnueabi/fsbl-firmware/2021.2+git999-r0/temp/run.do_compile.7680, line 170
| 	#4: do_compile, /proj/hankf/hankf/zc706/v212/zc706-v211-bsp-peta/build/tmp/work/zc706-xilinx-linux-gnueabi/fsbl-firmware/2021.2+git999-r0/temp/run.do_compile.7680, line 152
| 	#5: main, /proj/hankf/hankf/zc706/v212/zc706-v211-bsp-peta/build/tmp/work/zc706-xilinx-linux-gnueabi/fsbl-firmware/2021.2+git999-r0/temp/run.do_compile.7680, line 194
| 
| Backtrace (metadata-relative locations):
| 	#1: bbfatal_log, /home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/core/meta/classes/logging.bbclass, line 72
| 	#2: die, /home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/core/meta/classes/base.bbclass, line 56
| 	#3: oe_runmake, /home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/core/meta/classes/base.bbclass, line 65
| 	#4: do_compile, /home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx-tools/classes/xsctapp.bbclass, line 25
NOTE: recipe fsbl-firmware-2021.2+git999-r0: task do_compile: Failed
NOTE: Tasks Summary: Attempted 395 tasks of which 386 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /home/hankf/proj/zc706/v212/zc706-v211-bsp-peta/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2021.2.bb:do_compile
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.

本文转载自:博客园

最新文章

最新文章