From 02f20b411482c90cd283d42c25646f83fe206c85 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sun, 4 Mar 2018 18:14:46 +1100 Subject: [PATCH] HAL_ChibiOS: first version of OMNIBUSF7V2 board support first F7 based board --- Tools/ardupilotwaf/chibios.py | 4 +- .../hwdef/OMNIBUSF7V2/hwdef.dat | 113 ++++++++++++++++++ 2 files changed, 115 insertions(+), 2 deletions(-) create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/OMNIBUSF7V2/hwdef.dat diff --git a/Tools/ardupilotwaf/chibios.py b/Tools/ardupilotwaf/chibios.py index 574509dfab..b3302ffdd2 100644 --- a/Tools/ardupilotwaf/chibios.py +++ b/Tools/ardupilotwaf/chibios.py @@ -270,7 +270,7 @@ def build(bld): bld( # create the file modules/ChibiOS/include_dirs - rule='touch Makefile && BUILDDIR=${BUILDDIR_REL} CHIBIOS=${CH_ROOT_REL} AP_HAL=${AP_HAL_REL} ${CHIBIOS_FATFS_FLAG} ${CHIBIOS_BOARD_NAME} ${MAKE} pass -f ${BOARD_MK}', + rule='touch Makefile && BUILDDIR=${BUILDDIR_REL} CHIBIOS=${CH_ROOT_REL} AP_HAL=${AP_HAL_REL} ${CHIBIOS_BUILD_FLAGS} ${CHIBIOS_BOARD_NAME} ${MAKE} pass -f ${BOARD_MK}', group='dynamic_sources', target='modules/ChibiOS/include_dirs' ) @@ -283,7 +283,7 @@ def build(bld): common_src += bld.path.ant_glob('modules/ChibiOS/os/hal/**/*.mk') ch_task = bld( # build libch.a from ChibiOS sources and hwdef.h - rule="BUILDDIR='${BUILDDIR_REL}' CHIBIOS='${CH_ROOT_REL}' AP_HAL=${AP_HAL_REL} ${CHIBIOS_FATFS_FLAG} ${CHIBIOS_BOARD_NAME} '${MAKE}' lib -f ${BOARD_MK}", + rule="BUILDDIR='${BUILDDIR_REL}' CHIBIOS='${CH_ROOT_REL}' AP_HAL=${AP_HAL_REL} ${CHIBIOS_BUILD_FLAGS} ${CHIBIOS_BOARD_NAME} '${MAKE}' lib -f ${BOARD_MK}", group='dynamic_sources', source=common_src, target='modules/ChibiOS/libch.a' diff --git a/libraries/AP_HAL_ChibiOS/hwdef/OMNIBUSF7V2/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/OMNIBUSF7V2/hwdef.dat new file mode 100644 index 0000000000..df543d0700 --- /dev/null +++ b/libraries/AP_HAL_ChibiOS/hwdef/OMNIBUSF7V2/hwdef.dat @@ -0,0 +1,113 @@ +# hw definition file for processing by chibios_pins.py +# for OMNIBUSF7V2 hardware. +@ thanks to betaflight for pin information + +# MCU class and specific type +MCU STM32F7xx STM32F745xx + +define CONFIG_HAL_BOARD_SUBTYPE HAL_BOARD_SUBTYPE_CHIBIOS_OMNIBUSF7V2 + +# board ID for firmware load +APJ_BOARD_ID 81 + +# crystal frequency +OSCILLATOR_HZ 25000000 + +FLASH_SIZE_KB 1024 +FLASH_RESERVE_START_KB 0 + +# board voltage +STM32_VDD 330U + +# only one I2C bus +# I2C_ORDER I2C2 + +# order of UARTs (and USB) +UART_ORDER OTG1 + +# PA10 IO-debug-console +PA11 OTG_FS_DM OTG1 +PA12 OTG_FS_DP OTG1 + +PA13 JTMS-SWDIO SWD +PA14 JTCK-SWCLK SWD + +PE0 LED0 OUTPUT LOW +#PD15 BUZZER OUTPUT + +PA4 MPU6000_CS CS + +# SPI1 for IMU +PA5 SPI1_SCK SPI1 +PA6 SPI1_MISO SPI1 +PA7 SPI1_MOSI SPI1 + +# SPI2 for MAX7456 OSD +PB12 MAX7456_CS CS +PB13 SPI2_SCK SPI2 +PB14 SPI2_MISO SPI2 +PB15 SPI2_MOSI SPI2 + +PA15 EXTRA_CS1 CS +PC10 SPI3_SCK SPI3 +PC11 SPI3_MISO SPI3 +PC12 SPI3_MOSI SPI3 + +# SPI4 for SDCard +PE4 EXTRA_CS2 CS +PE2 SPI4_SCK SPI4 +PE5 SPI4_MISO SPI4 +PE6 SPI4_MOSI SPI4 + +# optional I2C device2, shared with USART3 +#PB10 I2C2_SCL I2C2 +#PB11 I2C2_SDA I2C2 + +# baro is BMP280 on SPI1 +PA1 BMP280_CS CS + +# mag is on I2C if connected + +PC3 BATT_VOLTAGE_SENS ADC1 SCALE(1) +PC2 BATT_CURRENT_SENS ADC1 SCALE(1) + +PC5 RSSI_ADC ADC1 + +# USART1 +#PA10 USART1_RX USART1 +#PA9 USART1_TX USART1 + +# USART2 for SBUS input, RX only +#PA3 USART2_RX USART2 + +# USART3 +#PB11 USART3_RX USART3 +#PB10 USART3_TX USART3 + +# USART6 +#PC7 USART6_RX USART6 +#PC6 USART6_TX USART6 + +# UART7, RX only? +#PE7 UART7_RX UART7 + +#PC8 SDMMC1_D0 SDMMC1 +#PC9 SDMMC1_D1 SDMMC1 +#PC10 SDMMC1_D2 SDMMC1 +#PC11 SDMMC1_D3 SDMMC1 +#PC12 SDMMC1_CK SDMMC1 + +PB0 TIM3_CH3 TIM3 PWM(1) +PB1 TIM3_CH4 TIM3 PWM(2) +PE9 TIM1_CH1 TIM1 PWM(3) +PE11 TIM1_CH2 TIM1 PWM(4) + +define STM32_LSECLK 32768U +define STM32_LSEDRV (3U << 3U) +define STM32_SDC_USE_SDMMC1 TRUE + +DMA_PRIORITY S* +define HAL_USE_EMPTY_STORAGE + +define HAL_STORAGE_SIZE 16384 +define STORAGE_FLASH_PAGE 1