Missing helloworldfpga_bit.h file for helloworld example

Post Reply
juanyi
Posts: 19
Joined: Thu Jan 28, 2021 7:38 am

Following the helloworld steps, had installed GCC tool chain 9-2020-q2-update, installed the GNU make 3.81 and symbiflow v1.3.1 as well. Got error below when execute command MAKE in the GCC_project folder.

Code: Select all

Building using GCC Toolchain
Using Linux GNU GCC Toolchain
PROJ_NAME = qf_helloworldhw
make -f makefiles/Makefile_Startup
make[1]: Entering directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
make -f makefiles/Makefile_HAL
make[1]: Entering directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
make -f makefiles/Makefile_FreeRTOS
make[1]: Entering directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
make -f makefiles/Makefile_Libraries
make[1]: Entering directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
make -f makefiles/Makefile_Power
make[2]: Entering directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
make -f makefiles/Makefile_SysFlash
make[2]: Entering directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
make -f makefiles/Makefile_Utils
make[2]: Entering directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
make -f makefiles/Makefile_FPGA
make[2]: Entering directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
make -f makefiles/Makefile_cli
make[2]: Entering directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
make[1]: Leaving directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
make -f makefiles/Makefile_quickfeather_BSP
make[1]: Entering directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
make -f makefiles/Makefile_FPGA
make[1]: Entering directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
External sources built
make -f makefiles/Makefile_appfpga
make[1]: Entering directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
ql_symbiflow  -compile -src /mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/fpga/rtl -d ql-eos-s3 -t helloworldfpga -v helloworldfpga.v -p quickfeather.pcf -P PU64 -dump header | grep -v "^Warning [0-9]\{1,\}:.*no timing specification"
-----------------

-compile
-src
/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/fpga/rtl
-d
ql-eos-s3
-t
helloworldfpga
-v
helloworldfpga.v
-p
quickfeather.pcf
-P
PU64
-dump
header
verilog files: helloworldfpga.v
make[2]: Entering directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/fpga/rtl'
cd build && symbiflow_synth -t helloworldfpga -v /mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/fpga/rtl/helloworldfpga.v   -d ql-eos-s3_wlcsp -p /mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/fpga/rtl/quickfeather.pcf -P PU64 2>&1 > /mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/fpga/rtl/build/helloworldfpga.log
/mnt/c/QF/quicklogic-arch-defs/bin/symbiflow_synth: line 128: yosys: command not found
make[2]: *** [build/helloworldfpga.eblif] Error 127
make[2]: Leaving directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/fpga/rtl'
make[1]: Leaving directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
make -f makefiles/Makefile_appdir
make[1]: Entering directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
"/usr/share/gcc-arm-none-eabi-9-2020-q2-update/bin/arm-none-eabi-gcc" -c /mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/src/c_lib_retarget.c -D__FPU_USED=1 -D__FPU_USED=1 -D__M4_DEBUG -D__EOSS3_CHIP -D__RTOS -D__GNU_SOURCE -D_DEFAULT_SOURCE -DARM_MATH_CM4 -DFFE_NEWARCH -DARM_MATH_MATRIX_CHECK -DARM_MATH_ROUNDING -D__FPU_PRESENT -DconfigUSE_STATS_FORMATTING_FUNCTIONS -DconfigUSE_TRACE_FACILITY -DGCC -DNDEBUG -DGCC_MAKE -mcpu=cortex-m4 -mthumb -mlittle-endian -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Os -fmerge-constants -fomit-frame-pointer -fcrossjumping -fexpensive-optimizations -ftoplevel-reorder -fmessage-length=0 -lm -fsigned-char -ffunction-sections -fdata-sections  -gdwarf-4 -std=c99 -MMD -MD -MP -MT /mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/output/c_lib_retarget.o -MMD -MP -MF /mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/output/depend/c_lib_retarget.d -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/fpga/rtl" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/fpga/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/CMSIS/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../HAL/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/cli/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/Power/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../FreeRTOS/include" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../FreeRTOS/portable/GCC/ARM_CM4F_quicklogic_s3XX" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/Power/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/Utils/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/SysFlash/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../BSP/quickfeather/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/Utils/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/FPGA/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/DatablockManager/inc"  -o /mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/output/c_lib_retarget.o
"/usr/share/gcc-arm-none-eabi-9-2020-q2-update/bin/arm-none-eabi-gcc" -c /mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/src/exceptions.c -D__FPU_USED=1 -D__FPU_USED=1 -D__M4_DEBUG -D__EOSS3_CHIP -D__RTOS -D__GNU_SOURCE -D_DEFAULT_SOURCE -DARM_MATH_CM4 -DFFE_NEWARCH -DARM_MATH_MATRIX_CHECK -DARM_MATH_ROUNDING -D__FPU_PRESENT -DconfigUSE_STATS_FORMATTING_FUNCTIONS -DconfigUSE_TRACE_FACILITY -DGCC -DNDEBUG -DGCC_MAKE -mcpu=cortex-m4 -mthumb -mlittle-endian -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Os -fmerge-constants -fomit-frame-pointer -fcrossjumping -fexpensive-optimizations -ftoplevel-reorder -fmessage-length=0 -lm -fsigned-char -ffunction-sections -fdata-sections  -gdwarf-4 -std=c99 -MMD -MD -MP -MT /mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/output/exceptions.o -MMD -MP -MF /mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/output/depend/exceptions.d -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/fpga/rtl" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/fpga/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/CMSIS/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../HAL/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/cli/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/Power/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../FreeRTOS/include" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../FreeRTOS/portable/GCC/ARM_CM4F_quicklogic_s3XX" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/Power/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/Utils/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/SysFlash/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../BSP/quickfeather/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/Utils/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/FPGA/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/DatablockManager/inc"  -o /mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/output/exceptions.o
"/usr/share/gcc-arm-none-eabi-9-2020-q2-update/bin/arm-none-eabi-gcc" -c /mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/src/main.c -D__FPU_USED=1 -D__FPU_USED=1 -D__M4_DEBUG -D__EOSS3_CHIP -D__RTOS -D__GNU_SOURCE -D_DEFAULT_SOURCE -DARM_MATH_CM4 -DFFE_NEWARCH -DARM_MATH_MATRIX_CHECK -DARM_MATH_ROUNDING -D__FPU_PRESENT -DconfigUSE_STATS_FORMATTING_FUNCTIONS -DconfigUSE_TRACE_FACILITY -DGCC -DNDEBUG -DGCC_MAKE -mcpu=cortex-m4 -mthumb -mlittle-endian -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Os -fmerge-constants -fomit-frame-pointer -fcrossjumping -fexpensive-optimizations -ftoplevel-reorder -fmessage-length=0 -lm -fsigned-char -ffunction-sections -fdata-sections  -gdwarf-4 -std=c99 -MMD -MD -MP -MT /mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/output/main.o -MMD -MP -MF /mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/output/depend/main.d -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/fpga/rtl" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/fpga/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/CMSIS/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../HAL/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/cli/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/Power/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../FreeRTOS/include" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../FreeRTOS/portable/GCC/ARM_CM4F_quicklogic_s3XX" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/Power/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/Utils/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/SysFlash/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../BSP/quickfeather/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/Utils/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/FPGA/inc" -I"/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/../../../Libraries/DatablockManager/inc"  -o /mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/output/main.o
/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/src/main.c:46:10: fatal error: helloworldfpga_bit.h: No such file or directory
   46 | #include "helloworldfpga_bit.h"   // FPGA bitstream to load into FPGA
      |          ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: *** [/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project/output/main.o] Error 1
make[1]: Leaving directory `/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldhw/GCC_Project'
make: *** [appdir] Error 2
I've checked my GCC version is actually still "gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0". Not quite sure if this the reason or not. GNU version is confirmed, 3.81.
juanyi
Posts: 19
Joined: Thu Jan 28, 2021 7:38 am

Got it worked at last, just to share the experience with others.
So I re-install the symbiflow v1.3.1 successfully and have the same 'antlr' warning. I had followed the steps to manual install 'antlr' but got missing packages somehow so I just stop there. And then, I had re-download the entire qorc-sdk folder again, and run the helloworld example project again, it worked.
What I did differently was, the qorc-sdk folder that i downloaded first time was located at a folder which connected to one-drive, but it didn't work. So, the 2nd download was located at local c-drive and it worked. Not sure if this is the root cause, hoping someone could explain the reason.
anthony-ql
Posts: 49
Joined: Thu Jun 04, 2020 1:26 am

Regression test setup uses local drives. I am not sure the system be able to get all files from one-drive. Glad that you have resolved the issue.
Martoni
Posts: 18
Joined: Fri Mar 19, 2021 8:37 am

Hello,
I get the same error with a fresh clone of qorc-sdk :

Code: Select all

$ git clone --recursive https://github.com/QuickLogic-Corp/qorc-sdk.git
$ source envsetup.sh
$ cd qf_apps/qf_helloworldhw/GCC_Project/
$ make
The error :

Code: Select all

cd build && symbiflow_write_bitstream -d ql-eos-s3_wlcsp -f helloworldfpga.fasm -P PU64 -b helloworldfpga.bit
Writing bitstream ...
Traceback (most recent call last):
  File "/home/user/qorc-sdk/fpga_toolchain_install/v1.3.1/conda/bin/qlfasm", line 8, in <module>
    sys.exit(main())
  File "/home/user/qorc-sdk/fpga_toolchain_install/v1.3.1/conda/lib/python3.7/site-packages/quicklogic_fasm/qlfasm.py", line 290, in main
    assembler.parse_fasm_filename(args.infile)
  File "/home/user/qorc-sdk/fpga_toolchain_install/v1.3.1/conda/lib/python3.7/site-packages/fasm_utils/fasm_assembler.py", line 170, in parse_fasm_filename
    for line in fasm.parse_fasm_filename(filename):
  File "/home/user/qorc-sdk/fpga_toolchain_install/v1.3.1/conda/lib/python3.7/site-packages/fasm/parser/antlr.py", line 104, in parse_fasm_filename
    parse_fasm.from_file(bytes(filename, 'ascii'), 0, callback, error_callback)
TypeError: encoding without a string argument
make[2]: *** [Makefile.symbiflow:35: build/helloworldfpga.bit] Error 1 
To "solve" it I edited the file /home/user/qorc-sdk/fpga_toolchain_install/v1.3.1/conda/lib/python3.7/site-packages/fasm/parser/antlr.py

And replaced the line :

Code: Select all

    parse_fasm.from_file(bytes(filename, 'ascii'), 0, callback, error_callback)
By (with str())

Code: Select all

    parse_fasm.from_file(bytes(str(filename), 'ascii'), 0, callback, error_callback)
 
Don't know if it's the right things to do, but it remove the error.
Post Reply