0%

[Vivado Vitis] 在軟體開發環境中缺少一堆 .h 檔的解決方法

前言

最近接手一個 Zynq 的開發板 (RFSoC ZCU111),新手上路肯定是要參考網路上豐富的文件,才會學得快。但在參考文獻的過程中碰到一個似乎教學的作者沒有提及,但自己遇到的問題,也就是 Build 時缺少一堆 .h 檔案的錯誤提示。

開發環境

  • Vivado 2019.2
  • Vitis 2019.2
  • Windows 10

解決方法

網路上沒有提供清楚的解決方法,因此自己記錄下遇到的問題與解決的步驟

  1. 在 Vitis (或 SDK) 創建 Application Project,硬體平台選擇 Vivado 輸出的 *.xsa 檔案,並且將範例 *.c 檔匯入 src 目錄下,開始 Build,會出現以下的提示,這是在路徑下找不到 *.h 檔案的意思,但照理來說 Vivado 的 xsa 都包含這些了。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    22:54:01 **** Incremental Build of configuration Debug for project LED ****
    make all
    make --no-print-directory pre-build
    a9-linaro-pre-build-step
    ' '
    make --no-print-directory main-build
    'Building file: ../src/LED_test_tut_1C.c'
    'Invoking: ARM v7 gcc compiler'
    arm-none-eabi-gcc -Wall -O0 -g3 -c -fmessage-length=0 -MT"src/LED_test_tut_1C.o" -mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard -IC:/Zynq_Book/first_zynq_design/SDK/first_zynq_system_wrapper/export/first_zynq_system_wrapper/sw/first_zynq_system_wrapper/standalone_domain/bspinclude/include -MMD -MP -MF"src/LED_test_tut_1C.d" -MT"src/LED_test_tut_1C.o" -o "src/LED_test_tut_1C.o" "../src/LED_test_tut_1C.c"
    ../src/LED_test_tut_1C.c:31:10: fatal error: xgpio.h: No such file or directory
    #include "xgpio.h"
    ^~~~~~~~~
    compilation terminated.
    make[1]: *** [src/subdir.mk:23: src/LED_test_tut_1C.o] Error 1
    make: *** [makefile:34: all] Error 2

    22:54:02 Build Finished (took 987ms)
  2. 查看在 *.h 目錄底下到底有甚麼檔案,我的路徑為:

    1
    C:\Zynq_Book\first_zynq_design\SDK\first_zynq_system_wrapper\export\first_zynq_system_wrapper\sw\first_zynq_system_wrapper\standalone_domain\bspinclude\include

    發現只有一個檔案 xparameters.h ,這為不正常的結果。

  3. 再回到 Vitis 畫面,直接重新 Build BSP 一次,並等待執行完成。再回到步驟 2 的路徑去查看,會發現多出很多 *.h 檔案,回到Vitis,Build *.c 檔案,結果為可以順利完成。

很高興能在這裡幫助到您,歡迎登入 Liker 為我鼓掌 5 次,或者成為我的讚賞公民,鼓勵我繼續創造優質文章。
以最優質的內容回應您的鼓勵