Need help porting PX4-Autopilot to custom STM32H743VIT6 hardware (PX4 FMU-V6C clone)

I’m working on a project to adapt the PX4-Autopilot firmware to my custom flight controller hardware, which uses the STM32H743VIT6 chip. I chose the existing PX4 FMU-V6C board as my base and cloned its configuration for my port.

However, after adding my customized files to the repository (https://github.com/mkeyno/pixeagle), the new hardware target is failing to compile.

I am getting the following error when attempting to build,
Has anyone successfully ported PX4 to this specific microcontroller or encountered a similar compilation issue when cloning a board configuration? I would be grateful for any advice!

~/PX4/PX4-Autopilot$ make px4_pixeagle_default menuconfig
[0/1] Re-running CMake…
– PX4_GIT_TAG: v1.16.0-rc1-783-g0c8f5ebc32
– PX4 config file: /home/mehrdad/PX4/PX4-Autopilot/boards/px4/pixeagle/default.px4board
– PLATFORM nuttx
– TOOLCHAIN arm-none-eabi
– ARCHITECTURE cortex-m7
– ROMFSROOT px4fmu_common
– CONSTRAINED_FLASH y
– SERIAL_GPS1 /dev/ttyS2
– SERIAL_TEL1 /dev/ttyS0
– SERIAL_TEL2 /dev/ttyS3
– SERIAL_TEL3 /dev/ttyS1
– SERIAL_TEL4 /dev/ttyS4
– ROOT_PATH /fs/microsd
– PARAM_FILE /fs/mtd_params
– PWM_FREQ 400
– PX4 config: px4_pixeagle_default
– PX4 platform: nuttx
make[2]: *** [tools/Unix.mk:267: include/arch/board] Error 1
make[1]: *** [tools/Unix.mk:606: olddefconfig] Error 2
– cmake build type: MinSizeRel
– ccache enabled (export CCACHE_DISABLE=1 to disable)
– NuttX Stack Checking (CONFIG_ARMV7M_STACKCHECK) enabled
– ROMFS: ROMFS/px4fmu_common
– ROMFS: Adding boards/px4/pixeagle/init/rc.board_defaults β†’ /etc/init.d/rc.board_defaults
– ROMFS: Adding boards/px4/pixeagle/init/rc.board_sensors β†’ /etc/init.d/rc.board_sensors
– Configuring done
– Generating done
– Build files have been written to: /home/mehrdad/PX4/PX4-Autopilot/build/px4_pixeagle_default
[1/3] Generating ../../../platforms/nuttx/NuttX/nuttx/.config
FAILED: ../../platforms/nuttx/NuttX/nuttx/.config
cd /home/mehrdad/PX4/PX4-Autopilot/platforms/nuttx/NuttX/nuttx && /usr/bin/cmake -E copy_if_different /home/mehrdad/PX4/PX4-Autopilot/build/px4_pixeagle_default/NuttX/nuttx/Make.defs /home/mehrdad/PX4/PX4-Autopilot/platforms/nuttx/NuttX/nuttx/Make.defs && cat /home/mehrdad/PX4/PX4-Autopilot/boards/px4/pixeagle/nuttx-config/nsh/defconfig /home/mehrdad/PX4/PX4-Autopilot/build/px4_pixeagle_default/NuttX/extra_config_options > /home/mehrdad/PX4/PX4-Autopilot/platforms/nuttx/NuttX/nuttx/.config && /usr/bin/cmake -E copy_if_different /home/mehrdad/PX4/PX4-Autopilot/boards/px4/pixeagle/nuttx-config/nsh/defconfig /home/mehrdad/PX4/PX4-Autopilot/platforms/nuttx/NuttX/nuttx/defconfig && /home/mehrdad/PX4/PX4-Autopilot/platforms/nuttx/NuttX/tools/px4_nuttx_make_olddefconfig.sh > /home/mehrdad/PX4/PX4-Autopilot/build/px4_pixeagle_default/NuttX/nuttx_olddefconfig.log && /usr/bin/cmake -E copy_if_different /home/mehrdad/PX4/PX4-Autopilot/platforms/nuttx/NuttX/nuttx/.config /home/mehrdad/PX4/PX4-Autopilot/build/px4_pixeagle_default/NuttX/nuttx/.config
make[2]: *** [tools/Unix.mk:267: include/arch/board] Error 1
make[1]: *** [tools/Unix.mk:606: olddefconfig] Error 2
ninja: build stopped: subcommand failed.
make: *** [Makefile:222: px4_pixeagle_default] Error 1

1 Like

Hi,
check in menuconfig if you’ve selected the good arch chip stm32h7:

System Type > ARM MCU selection (STMicro STM32 H7)
System Type > STM32 H7 Chip Selection (STM32H7743VI)
1 Like

Thanks, I fixed that

Do you have a document that describes the process for adapting an exist PX4 board to a new custom board? I want to do exactly this, but can’t seem to find any detailed procedure on how this is done. I’m wanting to use the SP Racing H7 Extreme board as my starting point. All I’ve found so far has been vague generalities of how this is done, with no specifics like which files must be modified/created, their locations, examples, etc. I would be grateful for any help in this regard.