From 2929b3dbb190aa128d9bbff21884b4e8013f67d8 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sun, 14 Jan 2018 08:17:57 +1100 Subject: [PATCH] HAL_ChibiOS: allow builds on systems with no SDIO --- libraries/AP_HAL_ChibiOS/hwdef/common/board.c | 8 ++++++++ .../AP_HAL_ChibiOS/hwdef/common/chibios_board.mk | 12 +++++++++++- .../AP_HAL_ChibiOS/hwdef/scripts/chibios_hwdef.py | 5 +++-- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/libraries/AP_HAL_ChibiOS/hwdef/common/board.c b/libraries/AP_HAL_ChibiOS/hwdef/common/board.c index 0626199f09..b78cb68e9f 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/common/board.c +++ b/libraries/AP_HAL_ChibiOS/hwdef/common/board.c @@ -30,10 +30,18 @@ const PALConfig pal_default_config = { {VAL_GPIOC_MODER, VAL_GPIOC_OTYPER, VAL_GPIOC_OSPEEDR, VAL_GPIOC_PUPDR, VAL_GPIOC_ODR, VAL_GPIOC_AFRL, VAL_GPIOC_AFRH}, {VAL_GPIOD_MODER, VAL_GPIOD_OTYPER, VAL_GPIOD_OSPEEDR, VAL_GPIOD_PUPDR, VAL_GPIOD_ODR, VAL_GPIOD_AFRL, VAL_GPIOD_AFRH}, {VAL_GPIOE_MODER, VAL_GPIOE_OTYPER, VAL_GPIOE_OSPEEDR, VAL_GPIOE_PUPDR, VAL_GPIOE_ODR, VAL_GPIOE_AFRL, VAL_GPIOE_AFRH}, +#if STM32_HAS_GPIOF {VAL_GPIOF_MODER, VAL_GPIOF_OTYPER, VAL_GPIOF_OSPEEDR, VAL_GPIOF_PUPDR, VAL_GPIOF_ODR, VAL_GPIOF_AFRL, VAL_GPIOF_AFRH}, +#endif +#if STM32_HAS_GPIOG {VAL_GPIOG_MODER, VAL_GPIOG_OTYPER, VAL_GPIOG_OSPEEDR, VAL_GPIOG_PUPDR, VAL_GPIOG_ODR, VAL_GPIOG_AFRL, VAL_GPIOG_AFRH}, +#endif +#if STM32_HAS_GPIOH {VAL_GPIOH_MODER, VAL_GPIOH_OTYPER, VAL_GPIOH_OSPEEDR, VAL_GPIOH_PUPDR, VAL_GPIOH_ODR, VAL_GPIOH_AFRL, VAL_GPIOH_AFRH}, +#endif +#if STM32_HAS_GPIOI {VAL_GPIOI_MODER, VAL_GPIOI_OTYPER, VAL_GPIOI_OSPEEDR, VAL_GPIOI_PUPDR, VAL_GPIOI_ODR, VAL_GPIOI_AFRL, VAL_GPIOI_AFRH} +#endif }; #endif diff --git a/libraries/AP_HAL_ChibiOS/hwdef/common/chibios_board.mk b/libraries/AP_HAL_ChibiOS/hwdef/common/chibios_board.mk index c63c60b4a4..a19de690d5 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/common/chibios_board.mk +++ b/libraries/AP_HAL_ChibiOS/hwdef/common/chibios_board.mk @@ -49,6 +49,10 @@ ifeq ($(USE_SMART_BUILD),) USE_SMART_BUILD = no endif +ifeq ($(USE_FATFS),) + USE_FATFS = yes +endif + # # Build global options ############################################################################## @@ -98,7 +102,10 @@ include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk # Other files (optional). #include $(CHIBIOS)/test/rt/test.mk include $(CHIBIOS)/os/hal/lib/streams/streams.mk + +ifeq ($(USE_FATFS),yes) include $(CHIBIOS)/os/various/fatfs_bindings/fatfs.mk +endif VARIOUSSRC = $(STREAMSSRC) @@ -120,9 +127,12 @@ CSRC = $(STARTUPSRC) \ $(HWDEF)/common/flash.c \ $(HWDEF)/common/malloc.c \ $(HWDEF)/common/stdio.c \ - $(HWDEF)/common/posix.c \ $(HWDEF)/common/hrt.c +ifeq ($(USE_FATFS),yes) +CSRC += $(HWDEF)/common/posix.c +endif + # $(TESTSRC) \ # test.c diff --git a/libraries/AP_HAL_ChibiOS/hwdef/scripts/chibios_hwdef.py b/libraries/AP_HAL_ChibiOS/hwdef/scripts/chibios_hwdef.py index ab14f9683e..281667d63f 100755 --- a/libraries/AP_HAL_ChibiOS/hwdef/scripts/chibios_hwdef.py +++ b/libraries/AP_HAL_ChibiOS/hwdef/scripts/chibios_hwdef.py @@ -300,8 +300,9 @@ def write_mcu_config(f): if 'SDIO' in bytype: f.write('// SDIO available, enable POSIX filesystem support\n') f.write('#define USE_POSIX\n\n') - if not 'SDIO_CMD' in bylabel: - f.write('#define HAL_USE_SDC FALSE\n') + f.write('#define HAL_USE_SDC TRUE\n') + else: + f.write('#define HAL_USE_SDC FALSE\n') if 'OTG1' in bytype: f.write('#define STM32_USB_USE_OTG1 TRUE\n') f.write('#define HAL_USE_USB TRUE\n')