1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-26 17:55:30 +03:00

Added a Unified Target for STM32H743.

This commit is contained in:
Michael Keller 2021-05-30 15:23:41 +12:00
parent 74739ab82f
commit 5549a906f6
5 changed files with 68 additions and 8 deletions

View file

@ -83,7 +83,8 @@ UNIFIED_TARGETS := STM32F405 \
STM32F411 \ STM32F411 \
STM32F7X2 \ STM32F7X2 \
STM32F745 \ STM32F745 \
STM32G47X STM32G47X \
STM32H743
# Legacy targets are targets that have been replaced by Unified Target configurations # Legacy targets are targets that have been replaced by Unified Target configurations
LEGACY_TARGETS := MATEKF405 \ LEGACY_TARGETS := MATEKF405 \

View file

@ -37,9 +37,11 @@ ENTRY(Reset_Handler)
/* Specify the memory areas */ /* Specify the memory areas */
MEMORY MEMORY
{ {
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 128K FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 10K
FLASH_CUSTOM_DEFAULTS (r) : ORIGIN = 0x08002800, LENGTH = 118K
FLASH_CONFIG (r) : ORIGIN = 0x08020000, LENGTH = 128K FLASH_CONFIG (r) : ORIGIN = 0x08020000, LENGTH = 128K
FLASH1 (rx) : ORIGIN = 0x08040000, LENGTH = 1792K FLASH1 (rx) : ORIGIN = 0x08040000, LENGTH = DEFINED(USE_CUSTOM_DEFAULTS_EXTENDED) ? 1664K : 1792K
FLASH_CUSTOM_DEFAULTS_EXTENDED (r): ORIGIN = DEFINED(USE_CUSTOM_DEFAULTS_EXTENDED) ? 0x081E0000 : 0x08200000, LENGTH = DEFINED(USE_CUSTOM_DEFAULTS_EXTENDED) ? 128K : 0K
ITCM_RAM (rwx) : ORIGIN = 0x00000000, LENGTH = 64K ITCM_RAM (rwx) : ORIGIN = 0x00000000, LENGTH = 64K
DTCM_RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 128K DTCM_RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 128K
@ -139,14 +141,29 @@ SECTIONS
KEEP (*(.pg_registry)) KEEP (*(.pg_registry))
KEEP (*(SORT(.pg_registry.*))) KEEP (*(SORT(.pg_registry.*)))
PROVIDE_HIDDEN (__pg_registry_end = .); PROVIDE_HIDDEN (__pg_registry_end = .);
} >FLASH } >FLASH1
.pg_resetdata : .pg_resetdata :
{ {
PROVIDE_HIDDEN (__pg_resetdata_start = .); PROVIDE_HIDDEN (__pg_resetdata_start = .);
KEEP (*(.pg_resetdata)) KEEP (*(.pg_resetdata))
PROVIDE_HIDDEN (__pg_resetdata_end = .); PROVIDE_HIDDEN (__pg_resetdata_end = .);
} >FLASH } >FLASH1
/* Storage for the address for the configuration section so we can grab it out of the hex file */
.custom_defaults :
{
. = ALIGN(4);
KEEP (*(.custom_defaults_start_address))
. = ALIGN(4);
KEEP (*(.custom_defaults_end_address))
. = ALIGN(4);
__custom_defaults_internal_start = .;
*(.custom_defaults);
} >FLASH_CUSTOM_DEFAULTS
PROVIDE_HIDDEN (__custom_defaults_start = DEFINED(USE_CUSTOM_DEFAULTS_EXTENDED) ? ORIGIN(FLASH_CUSTOM_DEFAULTS_EXTENDED) : __custom_defaults_internal_start);
PROVIDE_HIDDEN (__custom_defaults_end = DEFINED(USE_CUSTOM_DEFAULTS_EXTENDED) ? ORIGIN(FLASH_CUSTOM_DEFAULTS_EXTENDED) + LENGTH(FLASH_CUSTOM_DEFAULTS_EXTENDED) : ORIGIN(FLASH_CUSTOM_DEFAULTS) + LENGTH(FLASH_CUSTOM_DEFAULTS));
/* used by the startup to initialize data */ /* used by the startup to initialize data */
_sidata = LOADADDR(.data); _sidata = LOADADDR(.data);

View file

@ -171,6 +171,43 @@
#define TARGET_IO_PORTE 0xffff #define TARGET_IO_PORTE 0xffff
#define TARGET_IO_PORTF 0xffff #define TARGET_IO_PORTF 0xffff
#elif defined(STM32H743)
#define TARGET_BOARD_IDENTIFIER "SH47"
#define USBD_PRODUCT_STRING "Betaflight STM32H743"
#define USE_I2C_DEVICE_1
#define USE_I2C_DEVICE_2
#define USE_I2C_DEVICE_3
#define USE_I2C_DEVICE_4
#define USE_UART1
#define USE_UART2
#define USE_UART3
#define USE_UART4
#define USE_UART5
#define USE_UART6
#define USE_UART7
#define USE_UART8
#define USE_LPUART1
#define SERIAL_PORT_COUNT (UNIFIED_SERIAL_PORT_COUNT + 9)
#define USE_SPI_DEVICE_1
#define USE_SPI_DEVICE_2
#define USE_SPI_DEVICE_3
#define USE_SPI_DEVICE_4
#define USE_SPI_DEVICE_5
#define USE_SPI_DEVICE_6
#define TARGET_IO_PORTA 0xffff
#define TARGET_IO_PORTB 0xffff
#define TARGET_IO_PORTC 0xffff
#define TARGET_IO_PORTD 0xffff
#define TARGET_IO_PORTE 0xffff
#define TARGET_IO_PORTF 0xffff
#define TARGET_IO_PORTG 0xffff
#elif !defined(UNIT_TEST) #elif !defined(UNIT_TEST)
#error "No resources defined for this Unified Target." #error "No resources defined for this Unified Target."

View file

@ -9,19 +9,24 @@ else
ifeq ($(TARGET), STM32F7X2) ifeq ($(TARGET), STM32F7X2)
F7X2RE_TARGETS += $(TARGET) F7X2RE_TARGETS += $(TARGET)
else
ifeq ($(TARGET), STM32F745)
F7X5XG_TARGETS += $(TARGET)
else else
ifeq ($(TARGET), STM32G47X) ifeq ($(TARGET), STM32G47X)
G47X_TARGETS += $(TARGET) G47X_TARGETS += $(TARGET)
else # STM32F745 else # STM32H743
F7X5XG_TARGETS += $(TARGET) H743xI_TARGETS += $(TARGET)
endif endif
endif endif
endif endif
endif endif
endif
ifeq ($(TARGET), $(filter $(TARGET), STM32F405 STM32F745)) ifeq ($(TARGET), $(filter $(TARGET), STM32F405 STM32F745 STM32H743))
# Use a full block (16 kB) of flash for custom defaults - with 1 MB flash we have more than we know how to use anyway # Use a full block (16 kB) of flash for custom defaults - with 1 MB flash we have more than we know how to use anyway
CUSTOM_DEFAULTS_EXTENDED = yes CUSTOM_DEFAULTS_EXTENDED = yes