Hi everyone,
I’m trying to compile the PX4 Firmare (pulled on april 15) for the durandal board
make holybro_durandal-v1_default
but the compilation crashes
Makefile:172: recipe for target 'stm32_spi.o' failed
The odd thing is that I am able to compile the other boards; make
and make mro_x21
are working perfectly.
I’m on ubuntu 16.04LTS. Any idea ?
complete compilation report:
-- PX4 version: v1.11.0-beta1-1323-g90a5827
-- PX4 config file: /home/romain/src/ourpx4stuff/boards/holybro/durandal-v1/default.cmake
-- PX4 config: holybro_durandal-v1_default
-- PX4 platform: nuttx
Checked platforms/nuttx/NuttX/nuttx submodule, ACTION REQUIRED:
Different commits:
* platforms/nuttx/NuttX/nuttx b902d4c...7fffab1 (5):
> [BACKPORT] Revert "arch/arm/src/stm32f7/stm32_flash.c: Add flash block mapping support for progmem."
> [Backport] FMUK66 SocketCAN driver & Configurable Bitrate support
> [Backport] SocketCAN support
> [BACKPORT] stm32h7:Fix DMA Overrun error
> [BACKPORT] stm32h7:spi Add buffers for DMA
*******************************************************************************
* IF YOU DID NOT CHANGE THIS FILE (OR YOU DON'T KNOW WHAT A SUBMODULE IS): *
* Hit 'u' and <ENTER> to update ALL submodules and resolve this. *
* (performs git submodule sync --recursive *
* and git submodule update --init --recursive ) *
*******************************************************************************
Only for EXPERTS:
platforms/nuttx/NuttX/nuttx submodule is not in the recommended version.
Hit 'y' and <ENTER> to continue the build with this version. Hit <ENTER> to resolve manually.
Use git add platforms/nuttx/NuttX/nuttx && git commit -m 'Updated platforms/nuttx/NuttX/nuttx' to choose this version (careful!)
u
Synchronizing submodule url for 'platforms/nuttx/NuttX/nuttx'
Submodule path 'platforms/nuttx/NuttX/nuttx': checked out 'b902d4ca3d79ffbd5148670cb13bfeef7d917555'
Submodule path 'platforms/nuttx/NuttX/nuttx': checked out 'b902d4ca3d79ffbd5148670cb13bfeef7d917555'
Submodule fixed, continuing build..
-- cmake build type: MinSizeRel
-- The CXX compiler identification is GNU 7.2.1
-- The C compiler identification is GNU 7.2.1
-- The ASM compiler identification is GNU
-- Found assembler: /home/romain/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-gcc
-- Check for working CXX compiler using: Ninja
-- Check for working CXX compiler using: Ninja -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler using: Ninja
-- Check for working C compiler using: Ninja -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Enabling double FP precision hardware instructions
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.5.1", minimum required is "3")
-- build type is MinSizeRel
-- PX4 ECL: Very lightweight Estimation & Control Library v1.9.0-rc1-255-g47624a0
-- Building and including px4_io-v2_default
-- Building and including bootloader holybro_durandal-v1_bootloader
-- ROMFS: px4fmu_common
-- ROMFS: Adding rc.board_defaults
-- ROMFS: Adding rc.board_sensors
-- ROMFS: Adding rc.board_mavlink
-- Found SVD:
-- Configuring done
-- Generating done
-- Build files have been written to: /home/romain/src/ourpx4stuff/build/holybro_durandal-v1_default
[1/1276] git submodule platforms/nuttx/NuttX/nuttx
[7/1276] git submodule platforms/nuttx/NuttX/apps
[10/1276] git submodule src/lib/ecl
[20/1276] git submodule src/drivers/gps/devices
[23/1276] git submodule mavlink/include/mavlink/v2.0
[183/1276] Performing configure step for 'bootloader_firmware'
-- PX4 version: v1.11.0-beta1-1323-g90a5827
-- PX4 config file: /home/romain/src/ourpx4stuff/boards/holybro/durandal-v1/bootloader.cmake
-- PX4 config: holybro_durandal-v1_bootloader
-- PX4 platform: nuttx
-- cmake build type: MinSizeRel
-- The CXX compiler identification is GNU 7.2.1
-- The C compiler identification is GNU 7.2.1
-- The ASM compiler identification is GNU
-- Found assembler: /home/romain/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-gcc
-- Check for working CXX compiler using: Ninja
-- Check for working CXX compiler using: Ninja -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler using: Ninja
-- Check for working C compiler using: Ninja -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Enabling double FP precision hardware instructions
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.5.1", minimum required is "3")
-- build type is MinSizeRel
-- PX4 ECL: Very lightweight Estimation & Control Library v1.9.0-rc1-255-g47624a0
-- Configuring done
-- Generating done
-- Build files have been written to: /home/romain/src/ourpx4stuff/build/holybro_durandal-v1_default/external/Build/bootloader_firmware
[184/1276] Performing build step for 'bootloader_firmware'
[1/238] git submodule platforms/nuttx/NuttX/nuttx
[5/238] git submodule platforms/nuttx/NuttX/apps
[236/238] Linking CXX executable holybro_durandal-v1_bootloader.elf
Memory region Used Size Region Size %age Used
itcm: 0 GB 64 KB 0.00%
flash: 41850 B 2 MB 2.00%
dtcm1: 0 GB 64 KB 0.00%
dtcm2: 0 GB 64 KB 0.00%
sram: 7032 B 512 KB 1.34%
sram1: 0 GB 128 KB 0.00%
sram2: 0 GB 128 KB 0.00%
sram3: 0 GB 32 KB 0.00%
sram4: 0 GB 64 KB 0.00%
bbram: 0 GB 4 KB 0.00%
[238/238] Creating /home/romain/src/ou...are/holybro_durandal-v1_bootloader.px4
[184/1276] Performing configure step for 'px4io_firmware'
-- PX4 version: v1.11.0-beta1-1323-g90a5827
-- PX4 config file: /home/romain/src/ourpx4stuff/boards/px4/io-v2/default.cmake
-- PX4 config: px4_io-v2_default
-- PX4 platform: nuttx
-- cmake build type: MinSizeRel
-- The CXX compiler identification is GNU 7.2.1
-- The C compiler identification is GNU 7.2.1
-- The ASM compiler identification is GNU
-- Found assembler: /home/romain/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-gcc
-- Check for working CXX compiler using: Ninja
-- Check for working CXX compiler using: Ninja -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler using: Ninja
-- Check for working C compiler using: Ninja -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.5.1", minimum required is "3")
-- build type is MinSizeRel
-- PX4 ECL: Very lightweight Estimation & Control Library v1.9.0-rc1-255-g47624a0
-- Configuring done
-- Generating done
-- Build files have been written to: /home/romain/src/ourpx4stuff/build/holybro_durandal-v1_default/external/Build/px4io_firmware
[314/1276] Generating nuttx/arch/arm/src/libarch.a
FAILED: cd /home/romain/src/ourpx4stuff/build/holybro_durandal-v1_default/NuttX/nuttx && find arch/arm/src -type f -name *.o -delete && make -C arch/arm/src --quiet --no-print-directory all TOPDIR=/home/romain/src/ourpx4stuff/build/holybro_durandal-v1_default/NuttX/nuttx KERNEL=y EXTRADEFINES=-D__KERNEL__
chip/stm32_spi.c:387:15: error: 'DMAMAP_SPI2_RX' undeclared here (not in a function); did you mean 'DMAMAP_SPI1_RX'?
.rxch = DMAMAP_SPI2_RX,
^~~~~~~~~~~~~~
DMAMAP_SPI1_RX
chip/stm32_spi.c:388:15: error: 'DMAMAP_SPI2_TX' undeclared here (not in a function); did you mean 'DMAMAP_SPI2_RX'?
.txch = DMAMAP_SPI2_TX,
^~~~~~~~~~~~~~
DMAMAP_SPI2_RX
chip/stm32_spi.c:487:15: error: 'DMAMAP_SPI4_RX' undeclared here (not in a function); did you mean 'DMAMAP_SPI2_RX'?
.rxch = DMAMAP_SPI4_RX,
^~~~~~~~~~~~~~
DMAMAP_SPI2_RX
chip/stm32_spi.c:488:15: error: 'DMAMAP_SPI4_TX' undeclared here (not in a function); did you mean 'DMAMAP_SPI4_RX'?
.txch = DMAMAP_SPI4_TX,
^~~~~~~~~~~~~~
DMAMAP_SPI4_RX
chip/stm32_spi.c:537:15: error: 'DMAMAP_SPI5_RX' undeclared here (not in a function); did you mean 'DMAMAP_SPI4_RX'?
.rxch = DMAMAP_SPI5_RX,
^~~~~~~~~~~~~~
DMAMAP_SPI4_RX
chip/stm32_spi.c:538:15: error: 'DMAMAP_SPI5_TX' undeclared here (not in a function); did you mean 'DMAMAP_SPI5_RX'?
.txch = DMAMAP_SPI5_TX,
^~~~~~~~~~~~~~
DMAMAP_SPI5_RX
chip/stm32_spi.c:587:15: error: 'DMAMAP_SPI6_RX' undeclared here (not in a function); did you mean 'DMAMAP_SPI5_RX'?
.rxch = DMAMAP_SPI6_RX,
^~~~~~~~~~~~~~
DMAMAP_SPI5_RX
chip/stm32_spi.c:588:15: error: 'DMAMAP_SPI6_TX' undeclared here (not in a function); did you mean 'DMAMAP_SPI6_RX'?
.txch = DMAMAP_SPI6_TX,
^~~~~~~~~~~~~~
DMAMAP_SPI6_RX
Makefile:172: recipe for target 'stm32_spi.o' failed
make[1]: *** [stm32_spi.o] Error 1
[314/1276] Generating nuttx/drivers/libdrivers.a
ninja: build stopped: subcommand failed.
Makefile:198: recipe for target 'holybro_durandal-v1_default' failed
make: *** [holybro_durandal-v1_default] Error 1