気を取り直して、MKRVIDOR4000_graphicsがビルドできない原因を考えてみます。
まずは改めてビルドして気になるところを洗い出してみます。
$ ./intelFPGA_lite/18.1/nios2eds/nios2_command_shell.sh ------------------------------------------------ Altera Nios2 Command Shell [GCC 4] Version 18.1, Build 625 ------------------------------------------------ $ cd intelFPGA_lite/VidorBitstream-release/projects/MKRVIDOR4000_graphics/ $ time build_all.sh 2019.02.24.15:35:06 Info: Saving generation log to /home/xxx/intelFPGA_lite/VidorBitstream-release/projects/MKRVIDOR4000_graphics/build/MKRVIDOR4000_graphics_lite_sys/MKRVIDOR4000_graphics_lite_sys_generation.rpt 2019.02.24.15:35:06 Info: Starting: <b>Create HDL design files for synthesis</b> 2019.02.24.15:35:06 Info: qsys-generate /home/xxx/intelFPGA_lite/VidorBitstream-release/projects/MKRVIDOR4000_graphics/build/MKRVIDOR4000_graphics_lite_sys.qsys --synthesis=VERILOG --output-directory=/home/xxx/intelFPGA_lite/VidorBitstream-release/projects/MKRVIDOR4000_graphics/build/MKRVIDOR4000_graphics_lite_sys/synthesis --family="Cyclone 10 LP" --part=10CL016YU256C8G 2019.02.24.15:35:06 Info: Loading build/MKRVIDOR4000_graphics_lite_sys.qsys : : ########################################## # using local bsp settings # ########################################## nios2-bsp: Using /home/xxx/intelFPGA_lite/18.1/nios2eds/sdk2/bin/bsp-set-defaults.tcl to set system-dependent settings. nios2-bsp: Updating existing BSP because ./build/software/launcher_lite_bsp/settings.bsp exists. nios2-bsp: Running "nios2-bsp-update-settings --settings ./build/software/launcher_lite_bsp/settings.bsp --bsp-dir ./build/software/ : : INFO: Updating BSP settings... INFO: nios2-bsp-update-settings --settings ./build/software/launcher_lite_bsp/settings.bsp --bsp-dir ./build/software/launcher_lite_bsp --sopc ./build/MKRVIDOR4000_graphics_lite_sys.sopcinfo --script /home/xxx/intelFPGA_lite/18.1/nios2eds/sdk2/bin/bsp-set-defaults.tcl : : INFO: Initializing BSP components... : : INFO: Finished initializing SOPC project local software IP. Total time taken = 2 seconds INFO: Searching for BSP components with category: driver_element INFO: Searching for BSP components with category: software_package_element INFO: No memory regions found in BSP Settings File. Default memory regions generated. INFO: Found Flash Memory: qspi_avl_mem for CPU: nios2_gen2_0 INFO: Loading drivers from ensemble report. INFO: Finished loading drivers from ensemble report. INFO: Tcl message: "No STDIO character device" INFO: Tcl message: "System timer device is timer_0" INFO: Tcl message: "Default instruction linker sections mapped to onchip_memory2_0" INFO: Tcl message: "Default data linker sections mapped to SDRAM_ARBITER" INFO: Tcl message: "Setting specified section .rwdata to map to region onchip_memory2_0" INFO: Tcl message: "Setting specified section .bss to map to region onchip_memory2_0" INFO: Tcl message: "Setting specified section .heap to map to region onchip_memory2_0" INFO: Tcl message: "Setting specified section .entry to map to region onchip_memory2_0" INFO: Tcl message: "Setting specified section .text to map to region onchip_memory2_0" INFO: Tcl message: "Setting specified section .rodata to map to region onchip_memory2_0" INFO: Tcl message: "Setting specified section .data to map to region onchip_memory2_0" INFO: Tcl message: "Setting specified section .stack to map to region onchip_memory2_0" INFO: Tcl message: "No bootloader located at the reset address." INFO: Tcl message: "Application ELF allowed to contain code at the reset address." INFO: Tcl message: "The alt_load() facility is enabled." INFO: Tcl message: "The .rwdata section is copied into RAM by alt_load()." SEVERE: Driver not found: 'arduino_generic_quad_spi_controller2 of any version WARNING: Tcl command "set_driver arduino_generic_quad_spi_controller2 qspi" error: Driver not found: 'arduino_generic_quad_spi_controller2 of any version : : Compiling sf.c... nios2-elf-gcc -xc -MP -MMD -c -I./HAL/inc -I. -I./drivers/inc -pipe -D__hal__ -DALT_NO_C_PLUS_PLUS -DALT_NO_CLEAN_EXIT -D'exit(a)=_exit(a)' -DALT_NO_EXIT -DALT_USE_DIRECT_DRIVERS -DALT_NO_INSTRUCTION_EMULATION -DALT_USE_SMALL_DRIVERS -DSMALL_C_LIB -DALT_SINGLE_THREADED -DNO_RPC=1 -Os -g -Wall -DFREE_VERSION=1 -mno-hw-div -mno-hw-mul -mno-hw-mulx -mgpopt=global -o obj/drivers/src/sf.o drivers/src/sf.c drivers/src/sf.c:31:52: fatal error: arduino_generic_quad_spi_controller2.h: No such file or directory <---- これが致命的にだめな気がする compilation terminated. Makefile:681: recipe for target 'obj/drivers/src/sf.o' failed make[1]: *** [obj/drivers/src/sf.o] Error 1 Makefile:900: recipe for target '../launcher_lite_bsp-recurs-make-lib' failed make: *** [../launcher_lite_bsp-recurs-make-lib] Error 2 make: ディレクトリ '/home/xxx/intelFPGA_lite/VidorBitstream-release/projects/MKRVIDOR4000_graphics/build/software/launcher' から出ます make failed ########################################## # using local bsp settings # ########################################## : : 2019/02/24 15:41:20 - (情報) elf2flash: args = --input=build/software/MKRVIDOR4000_graphics/MKRVIDOR4000_graphics_lite.elf --output=build/output_files/MKRVIDOR4000_graphics_lite.flash --base=0x008E0000 --end=0x008FFFFF --verbose --save 2019/02/24 15:41:20 - (普通) elf2flash: Starting 2019/02/24 15:41:20 - (普通) elf2flash: Done projects ip cp: -r not specified; omitting directory './ip/GFX/arduino/Vidor_GFX/examples' cp: -r not specified; omitting directory './ip/QUAD_ENCODER/arduino/VidorEncoder/examples' cp: -r not specified; omitting directory './ip/NEOPIXEL/arduino/VidorNeopixel/examples' cp: -r not specified; omitting directory './ip/MIPI_RX_ST/arduino/VidorCamera/examples' real 6m31.672s user 10m18.175s sys 0m15.768s $
途中で
SEVERE: Driver not found: 'arduino_generic_quad_spi_controller2 of any version WARNING: Tcl command "set_driver arduino_generic_quad_spi_controller2 qspi" error: Driver not found: 'arduino_generic_quad_spi_controller2 of any version : : drivers/src/sf.c:31:52: fatal error: arduino_generic_quad_spi_controller2.h: No such file or directory <---- これが致命的にだめな気がする compilation terminated.
というところがあって、arduino_generic_quad_spi_controller2が絡んで致命的にだめな感じです。
~/intelFPGA_lite/18.1/ip/altera/pgm/arduino_generic_qpsi_controller2 の下でリジェクトされたパッチが2つあったのですが、そのうちの対象の一つが arduino_generic_quad_spi_controller2_sw.tcl というファイル名なので、何か関連がありそうです。リジェクトされたパッチ arduino_generic_quad_spi_controller2_sw.tcl.rej を見てみます。
--- pgm/arduino_generic_qspi_controller2/arduino_generic_quad_spi_controller2_sw.tcl 2018.18-22 19:45:29.112314100 +0200 +++ pgm/arduino_generic_qspi_controller2/arduino_generic_quad_spi_controller2_sw.tcl 2018.18-22 19:45:06.047573800 +0200 @@ -16,10 +16,10 @@ # # Create a new driver -create_driver altera_generic_quad_spi_controller2 +create_driver arduino_generic_quad_spi_controller2 -# Associate it with some hardware known as "altera_generic_quad_spi_controller2" -set_sw_property hw_class_name altera_generic_quad_spi_controller2 +# Associate it with some hardware known as "arduino_generic_quad_spi_controller2" +set_sw_property hw_class_name arduino_generic_quad_spi_controller2 # The version of this driver set_sw_property version 18.1 @@ -50,11 +50,11 @@ # # Header files -add_sw_property include_source HAL/inc/altera_generic_quad_spi_controller2.h -add_sw_property include_source inc/altera_generic_quad_spi_controller2_regs.h +add_sw_property include_source HAL/inc/arduino_generic_quad_spi_controller2.h +add_sw_property include_source inc/arduino_generic_quad_spi_controller2_regs.h # C/C++ source files -add_sw_property c_source HAL/src/altera_generic_quad_spi_controller2.c +add_sw_property c_source HAL/src/arduino_generic_quad_spi_controller2.c # This driver supports HAL & UCOSII BSP (OS) types add_sw_property supported_bsp_type HAL
この中に、
# Create a new driver -create_driver altera_generic_quad_spi_controller2 +create_driver arduino_generic_quad_spi_controller2
というようなところがあるので、なんか関連はありそうです。arduino_generic_quad_spi_controller2_sw.tcl の中をみても、なぜリジェクトされたのかイマイチよくわかりません(適用されても良さそうな気がする)が、とにかく手動で適用してみます。(追記: 要は、arduino_generic_quad_spi_controller2_sw.tcl というファイルの中の16行目からの10行くらいと、50行目からの11行くらいのところにある「altera_generic_quad_spi_controller2」を「arduino_generic_quad_spi_controller2」に書き換える、ということです。)
もう一つのarduino_generic_qspi_controller2_hw.tclに対して1箇所失敗している方はかなり雰囲気が違うので、まずはこのまま再トライしてみることにしてみます。
$ time build_all.sh 2019.02.24.16:18:05 Info: Saving generation log to /home/xxx/intelFPGA_lite/VidorBitstream-release/projects/MKRVIDOR4000_graphics/build/MKRVIDOR4000_graphics_lite_sys/MKRVIDOR4000_graphics_lite_sys_generation.rpt 2019.02.24.16:18:05 Info: Starting: <b>Create HDL design files for synthesis</b> 2019.02.24.16:18:05 Info: qsys-generate /home/xxx/intelFPGA_lite/VidorBitstream-release/projects/MKRVIDOR4000_graphics/build/MKRVIDOR4000_graphics_lite_sys.qsys --synthesis=VERILOG --output-directory=/home/xxx/intelFPGA_lite/VidorBitstream-release/projects/MKRVIDOR4000_graphics/build/MKRVIDOR4000_graphics_lite_sys/synthesis --family="Cyclone 10 LP" --part=10CL016YU256C8G : : INFO: Finished initializing SOPC project local software IP. Total time taken = 2 seconds INFO: Searching for BSP components with category: driver_element INFO: Searching for BSP components with category: software_package_element INFO: No memory regions found in BSP Settings File. Default memory regions generated. INFO: Found Flash Memory: qspi_avl_mem for CPU: nios2_gen2_0 INFO: Loading drivers from ensemble report. INFO: Finished loading drivers from ensemble report. INFO: Tcl message: "No STDIO character device" INFO: Tcl message: "System timer device is timer_0" INFO: Tcl message: "Default instruction linker sections mapped to onchip_memory2_0" INFO: Tcl message: "Default data linker sections mapped to SDRAM_ARBITER" INFO: Tcl message: "Setting specified section .rwdata to map to region onchip_memory2_0" INFO: Tcl message: "Setting specified section .bss to map to region onchip_memory2_0" INFO: Tcl message: "Setting specified section .heap to map to region onchip_memory2_0" INFO: Tcl message: "Setting specified section .entry to map to region onchip_memory2_0" INFO: Tcl message: "Setting specified section .text to map to region onchip_memory2_0" INFO: Tcl message: "Setting specified section .rodata to map to region onchip_memory2_0" INFO: Tcl message: "Setting specified section .data to map to region onchip_memory2_0" INFO: Tcl message: "Setting specified section .stack to map to region onchip_memory2_0" INFO: Tcl message: "No bootloader located at the reset address." INFO: Tcl message: "Application ELF allowed to contain code at the reset address." INFO: Tcl message: "The alt_load() facility is enabled." INFO: Tcl message: "The .rwdata section is copied into RAM by alt_load()." INFO: Default memory regions will not be persisted in BSP Settings File. INFO: Generated file "/home/xxx/intelFPGA_lite/VidorBitstream-release/projects/MKRVIDOR4000_graphics/build/software/launcher_lite_bsp/settings.bsp" INFO: BSP settings updated : : Compiling sf.c... nios2-elf-gcc -xc -MP -MMD -c -I./HAL/inc -I. -I./drivers/inc -pipe -D__hal__ -DALT_NO_C_PLUS_PLUS -DALT_NO_CLEAN_EXIT -D'exit(a)=_exit(a)' -DALT_NO_EXIT -DALT_USE_DIRECT_DRIVERS -DALT_NO_INSTRUCTION_EMULATION -DALT_USE_SMALL_DRIVERS -DSMALL_C_LIB -DALT_SINGLE_THREADED -DNO_RPC=1 -Os -g -Wall -DFREE_VERSION=1 -mno-hw-div -mno-hw-mul -mno-hw-mulx -mgpopt=global -o obj/drivers/src/sf.o drivers/src/sf.c Compiling tmr.c... : : create ram + flash app.ttf 2019/02/24 16:24:33 - (情報) elf2flash: args = --input=build/software/MKRVIDOR4000_graphics/MKRVIDOR4000_graphics_lite.elf --output=build/output_files/MKRVIDOR4000_graphics_lite.flash --base=0x008E0000 --end=0x008FFFFF --verbose --save 2019/02/24 16:24:33 - (普通) elf2flash: Starting 2019/02/24 16:24:33 - (普通) elf2flash: Done projects ip cp: -r not specified; omitting directory './ip/GFX/arduino/Vidor_GFX/examples' cp: -r not specified; omitting directory './ip/QUAD_ENCODER/arduino/VidorEncoder/examples' cp: -r not specified; omitting directory './ip/NEOPIXEL/arduino/VidorNeopixel/examples' cp: -r not specified; omitting directory './ip/MIPI_RX_ST/arduino/VidorCamera/examples' real 6m45.698s user 10m49.909s sys 0m15.988s $
ということで、当該箇所では特にエラーなく完了しました。
・・・ということで試してみると、
4:3サイズで全面白になった後、しばらく経ってからこんな表示に。
まあ、全く動いてないわけではないので、だいぶ進歩しました^^;