diff --git a/libraries/AP_HAL_ChibiOS/hwdef/fmuv3/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/fmuv3/hwdef-bl.dat new file mode 100644 index 0000000000..f4ac965f36 --- /dev/null +++ b/libraries/AP_HAL_ChibiOS/hwdef/fmuv3/hwdef-bl.dat @@ -0,0 +1,97 @@ +# hw definition file for processing by chibios_hwdef.py +# for bootloader for FMUv3 hardware (ie. for Pixhawk1, Pixhawk2 cube, XUAV2.1 etc) + +# MCU class and specific type +MCU STM32F4xx STM32F427xx + +# board ID for firmware load +APJ_BOARD_ID 9 + +# crystal frequency +OSCILLATOR_HZ 24000000 + +# board voltage +STM32_VDD 330U + +# ChibiOS system timer +STM32_ST_USE_TIMER 5 + +# flash size +FLASH_SIZE_KB 2048 + +# location of application code +define FLASH_BOOTLOADER_LOAD_KB 16 + +# bootloader loads at start of flash +FLASH_RESERVE_START_KB 0 + +# USB setup +USB_VENDOR 0x0483 # ST +USB_PRODUCT 0x5740 +USB_STRING_MANUFACTURER "ArduPilot" +USB_STRING_PRODUCT "fmuv3-BL" +USB_STRING_SERIAL "%SERIAL%" + +# baudrate to run bootloader at on uarts +define BOOTLOADER_BAUDRATE 115200 + +# uarts and USB to run bootloader protocol on +UART_ORDER OTG1 USART2 UART7 + +# UART4 serial GPS +PA0 UART4_TX UART4 +PA1 UART4_RX UART4 + +# this is the pin that senses USB being connected. It is an input pin +# setup as OPENDRAIN +PA9 VBUS INPUT OPENDRAIN + +# now we define the pins that USB is connected on +PA11 OTG_FS_DM OTG1 +PA12 OTG_FS_DP OTG1 + +# these are the pins for SWD debugging with a STlinkv2 or black-magic probe +PA13 JTMS-SWDIO SWD +PA14 JTCK-SWCLK SWD + +# Another USART, this one for telem1 +PD5 USART2_TX USART2 +PD6 USART2_RX USART2 +PD3 USART2_CTS USART2 +PD4 USART2_RTS USART2 + +# the telem2 USART, also with RTS/CTS available +# USART3 serial3 telem2 +PD8 USART3_TX USART3 +PD9 USART3_RX USART3 +PD11 USART3_CTS USART3 +PD12 USART3_RTS USART3 + +# now the 2nd GPS UART +# UART8 serial4 GPS2 +PE0 UART8_RX UART8 +PE1 UART8_TX UART8 + +# UART7 maps to uartF in the HAL (serial5 in SERIALn_ parameters) +PE7 UART7_RX UART7 +PE8 UART7_TX UART7 + +# define a LED, mapping it to GPIO(0) +PE12 LED_BOOTLOADER OUTPUT GPIO(0) +define HAL_LED_ON 1 + +# this adds a C define which sets up the ArduPilot architecture +# define. Any line starting with 'define' is copied literally as +# a #define in the hwdef.h header +define HAL_CHIBIOS_ARCH_FMUV3 1 + +# we need to tell HAL_ChibiOS/Storage.cpp how much storage is +# available (in bytes) +define HAL_STORAGE_SIZE 16384 + +# uncomment the lines below to enable strict API +# checking in ChibiOS +# define CH_DBG_ENABLE_ASSERTS TRUE +# define CH_DBG_ENABLE_CHECKS TRUE +# define CH_DBG_SYSTEM_STATE_CHECK TRUE +# define CH_DBG_ENABLE_STACK_CHECK TRUE