ubuntu - 使用 Arm Trusted Firmware-v2.2 构建 Avenger96 板的错误

标签 ubuntu arm stm32 buildroot

我正在使用 Buildroot 作为构建系统为 Avenger96 板构建 Linux 镜像。
我正在做的步骤:

  • 制作 avenger96_defconfig
  • 制作

  • 我收到以下错误:
    /usr/bin/make -j1 O=/buildroot/output HOSTCC="/usr/bin/gcc" HOSTCXX="/usr/bin/g++"        syncconfig
    make[1]: Entering directory '/buildroot'
    make[1]: Leaving directory '/buildroot'
    >>> arm-trusted-firmware v2.2 Building
    PATH="/buildroot/output/host/bin:/buildroot/output/host/sbin:/usr/local/sbin:/usr/local                     /bin:/usr/sbin:/usr/bin:/sbin:/bin" ENABLE_STACK_PROTECTOR=0 /usr/bin/make -j9 -C /buildroot/output/build/arm-trusted-firmware-v2.2 DEBUG=1 CROSS_COMPILE="/buildroot/output     /host/bin/arm-buildroot-linux-uclibcgnueabihf-" STM32MP_SDMMC=1 AARCH32_SP=sp_min     DTB_FILE_NAME=stm32mp157a-avenger96.dtb PLAT=stm32mp1 ARM_ARCH_MAJOR=7 ARCH=aarch32 all
    make[1]: Entering directory '/buildroot/output/build/arm-trusted-firmware-v2.2'
    Including bl32/sp_min/sp_min.mk
    make[2]: Nothing to be done for 'all'.
    Building stm32mp1
      LD      build/stm32mp1/debug/bl2/bl2.elf
      LD      build/stm32mp1/debug/bl32/bl32.elf
    /buildroot/output/host/bin/arm-buildroot-linux-uclibcgnueabihf-ld: ./build/stm32mp1     /debug/bl32/psci_off.o: in function `psci_do_cpu_off':
    /buildroot/output/host/bin/arm-buildroot-linux-uclibcgnueabihf-ld: /buildroot/output   /build/arm-trusted-firmware-v2.2/lib/psci/psci_off.c:181: undefined reference to    `__stack_chk_fail'
    /buildroot/output/host/bin/arm-buildroot-linux-uclibcgnueabihf-ld: /buildroot/output/build/arm-trusted-firmware-v2.2/lib/psci/psci_off.c:181: undefined reference to `__stack_chk_guard'
    /buildroot/output/host/bin/arm-buildroot-linux-uclibcgnueabihf-ld: ./build/stm32mp1  /debug/bl2/stm32_hash.o./build/stm32mp1/debug/bl32/psci_suspend.o: in function `: in    function `psci_cpu_suspend_start':
    stm32_hash_update/buildroot/output/build/arm-trusted-firmware-v2.2/lib   /psci/psci_suspend.c:':
    272: undefined reference to `__stack_chk_fail'
    /buildroot/output/host/bin/arm-buildroot-linux-uclibcgnueabihf-ld/buildroot/output   /build/arm-trusted-firmware-v2.2/drivers/st/crypto/stm32_hash.c:: 236: undefined reference   to `/buildroot/output/build/arm-trusted-firmware-v2.2/lib  /psci/psci_suspend.c:__stack_chk_fail'
    272: undefined reference to `/buildroot/output/host/bin/arm-buildroot-linux-uclibcgnueabihf-ld: __stack_chk_guard/buildroot/output/build/arm-trusted-firmware-v2.2/drivers/st/crypto/stm32_hash.c:'
    236: undefined reference to `__stack_chk_guard'
    /buildroot/output/host/bin/arm-buildroot-linux-uclibcgnueabihf-ld: ./build/stm32mp1    /debug/bl2/stm32_hash.o: in function `stm32_hash_final':
     /buildroot/output/build/arm-trusted-firmware-v2.2/drivers/st/crypto/stm32_hash.c:263:    undefined reference to `__stack_chk_fail'
    /buildroot/output/host/bin/arm-buildroot-linux-uclibcgnueabihf-ld: /buildroot/output  /build   /arm-trusted-firmware-v2.2/drivers/st/crypto/stm32_hash.c:263: undefined reference   to   `__stack_chk_guard'
    /buildroot/output/host/bin/arm-buildroot-linux-uclibcgnueabihf-ld: ./build/stm32mp1    /debug/bl2/stm32_hash.o: in function `stm32_hash_register':
     /buildroot/output/build/arm-trusted-firmware-v2.2/drivers/st/crypto/stm32_hash.c:330:   undefined reference to `__stack_chk_fail'
     /buildroot/output/host/bin/arm-buildroot-linux-uclibcgnueabihf-ld: /buildroot/output/build/arm-trusted-firmware-v2.2/drivers/st/crypto/stm32_hash.c:330: undefined reference to `__stack_chk_guard'
     /buildroot/output/host/bin/arm-buildroot-linux-uclibcgnueabihf-ld: /buildroot/output   /host/bin/arm-buildroot-linux-uclibcgnueabihf-ld: ./build/stm32mp1/debug    /bl2/io_stm32image.o: in function `stm32image_partition_size':
     /buildroot/output/build/arm-trusted-firmware-v2.2/drivers/st/io/io_stm32image.c:243: undefined reference to `__stack_chk_fail'
    /buildroot/output/host/bin/arm-buildroot-linux-uclibcgnueabihf-ld: /buildroot/output   /build/arm-trusted-firmware-v2.2/drivers/st/io/io_stm32image.c:243: undefined reference to `__stack_chk_guard'
     /buildroot/output/host/bin/arm-buildroot-linux-uclibcgnueabihf-ld: ./build/stm32mp1/debug/bl2/io_stm32image.o: in function `stm32image_partition_read':
     /buildroot/output/build/arm-trusted-firmware-v2.2/drivers/st/io/io_stm32image.c:354:  undefined reference to `__stack_chk_fail'
    
    以及更多
    我附上了完整的日志文件。我不理解这些“ undefined reference ”问题的原因。有人可以让我知道如何解决这个问题吗?
    提前致谢!
    PS:我使用的是 Ubuntu 20.04
    ATF log_1 ATF log_2 ATF log_3

    最佳答案

    这已由 Buildroot 提交 ccac9a5bbbd7374187a0f0017101ece0c202851d 修复它包含在 2021.11 版本中(即发布此问题时的最新版本)。

    关于ubuntu - 使用 Arm Trusted Firmware-v2.2 构建 Avenger96 板的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70512602/

    相关文章:

    linux - docker ubuntu 容器 : shell linked to bash still starts shell

    qt - QT 未满足的依赖关系

    assembly - 什么是非对齐访问? (ARM/凯尔)

    linux - ARM9 异常导致系统崩溃并生成核心转储

    c - FreeRTOS:osDelay 与 HAL_delay

    stm32 - STM32 单元测试

    stm32 - 通过定时器和 GPIO/AF 引脚变化生成两个相反的 PWM 信号

    ubuntu - 找不到包 tsodbc

    php - RabbitMQ - 两个 EC2 实例之间的间歇性 etimedout 错误

    macos - 如何在 OSX 10.6 ("Snow Leopard"下模拟 ARM 架构)?