atbetaflight/make/targets.mk

58 lines
2.1 KiB
Makefile
Raw Normal View History

include $(ROOT)/make/targets_list.mk
ifeq ($(filter $(TARGET),$(NOBUILD_TARGETS)), $(TARGET))
ALTERNATES := $(sort $(filter-out target, $(basename $(notdir $(wildcard $(ROOT)/src/main/target/$(TARGET)/*.mk)))))
$(error The target specified, $(TARGET), cannot be built. Use one of the ALT targets: $(ALTERNATES))
endif
BASE_TARGET := $(call get_base_target,$(TARGET))
Support compilation of EXST (EXTERNAL STORAGE) targets - Initial - Adjust load address of EXST firmware. - Add helper script to pad an EXST binary to the expected size. Padded firmware currently required due to a bug in the flash/dfu code which causes anything less than a flash page size to be truncated when uploading new firmware via the bootloader DFU. - Minor linker script cleanups. - STM32H7.mk change hardcoded TARGET_FLASH (384) to FIRMWARE_SIZE - Delete unused configuration section entries from linker scripts. - Increase EXST firmware size to 448K. It turns out 384K wasn't enough for a feature-complete firmware. - Update pad-exst.sh to use 448K by default. - Move the EXST file generation to the makefile. [EXST] Embed firmware hash in ELF - Add debug marker at end of CODE_RAM section. It was found when transferring firmware to the H7 RAM via a BMP probe using the 'gdb load' command, that the last few bytes were not transferred, this debug marker is present to ensure all needed parts of the firmware are present. Example memory view of corrupted bytes at end of transfer: 0x2407DFAE DEB90000 DEB9DEB9 DEB9DEB9 DEB9DEB9 ..¹Þ¹Þ¹Þ¹Þ¹Þ¹Þ¹Þ 0x2407DFBE 000000B9 00000000 00000000 00000000 ¹............... should be: 0x2407DFAE DEB9DEB9 DEB9DEB9 DEB9DEB9 DEB9DEB9 ¹Þ¹Þ¹Þ¹Þ¹Þ¹Þ¹Þ¹Þ 0x2407DFBE 00000000 00000000 00000000 00000000 ................ - Remove debug marker in EXST firmware. STM32H750_EXST - Provide space for empty hash. * Bootloader will run firmware if hash is empty, without re-verifying RAM content against hash. * CODE_RAM always shows as 100% usage. STM32H750_EXST - Use a specific ELF section for a hash. Two benefits: 1) CODE_RAM no-longer shows 100% full, since it is no-longer padded/filled. 2) Prepares the code so that objcopy can be used to inject the hash into the ELF. STM32H750_EXST - Patch MD5 into ELF. Process is now as follows. * Binary generated (via make target dependency) so there is something to hash. * Binary copied (and padded). * MD5 Hash computed. * xxd patch file generated from hash. * xxd hash patch applied to copy of binary at correct address. * elf .exst_hash section dumped. * hash injected into into dumped section. * elf .exst_hash section updated with updated dumped section. Replace EXST with USE_EXST. Add documentation for the EXST firmware format. Add table formatting to EXST documentation. Update bootloader block. Update H750 EXST linker script to use block format 0x00. Use .exst.elf and .exst.bin on the exst files. Add 'no checksum' to list of checksum hash methods. Update EXST build system so it generates the following sets of files obj/main/betaflight_TARGET.elf obj/main/betaflight_TARGET.map obj/main/betaflight_TARGET_EXST.elf obj/betaflight_VERSION_TARGET.bin obj/betaflight_VERSION_TARGET.bin.md5 obj/betaflight_VERSION_TARGET_EXST.bin Update EXST build system to be more user-friendly. * user-flashable files are generated in the normal place. * Intermediate files are generated in `obj/main/...` * Removes the `exst` goal. * Adds .hex generation for EXST builds based on the patched .elf. To build EXST targets, simply use `make TARGET=x` as normal and flash the resulting `.hex/.bin` files rather than the .exst.bin file. Developers can use either the `.elf` or patched `_EXST.elf` file as is appropriate for their needs. EXST documentation updated to match changes to build system.
2019-05-07 23:38:31 -07:00
# silently ignore if the file is not present. Allows for target specific.
-include $(ROOT)/src/main/target/$(BASE_TARGET)/$(TARGET).mk
ifeq ($(filter $(TARGET),$(OPBL_TARGETS)), $(TARGET))
OPBL = yes
endif
Support compilation of EXST (EXTERNAL STORAGE) targets - Initial - Adjust load address of EXST firmware. - Add helper script to pad an EXST binary to the expected size. Padded firmware currently required due to a bug in the flash/dfu code which causes anything less than a flash page size to be truncated when uploading new firmware via the bootloader DFU. - Minor linker script cleanups. - STM32H7.mk change hardcoded TARGET_FLASH (384) to FIRMWARE_SIZE - Delete unused configuration section entries from linker scripts. - Increase EXST firmware size to 448K. It turns out 384K wasn't enough for a feature-complete firmware. - Update pad-exst.sh to use 448K by default. - Move the EXST file generation to the makefile. [EXST] Embed firmware hash in ELF - Add debug marker at end of CODE_RAM section. It was found when transferring firmware to the H7 RAM via a BMP probe using the 'gdb load' command, that the last few bytes were not transferred, this debug marker is present to ensure all needed parts of the firmware are present. Example memory view of corrupted bytes at end of transfer: 0x2407DFAE DEB90000 DEB9DEB9 DEB9DEB9 DEB9DEB9 ..¹Þ¹Þ¹Þ¹Þ¹Þ¹Þ¹Þ 0x2407DFBE 000000B9 00000000 00000000 00000000 ¹............... should be: 0x2407DFAE DEB9DEB9 DEB9DEB9 DEB9DEB9 DEB9DEB9 ¹Þ¹Þ¹Þ¹Þ¹Þ¹Þ¹Þ¹Þ 0x2407DFBE 00000000 00000000 00000000 00000000 ................ - Remove debug marker in EXST firmware. STM32H750_EXST - Provide space for empty hash. * Bootloader will run firmware if hash is empty, without re-verifying RAM content against hash. * CODE_RAM always shows as 100% usage. STM32H750_EXST - Use a specific ELF section for a hash. Two benefits: 1) CODE_RAM no-longer shows 100% full, since it is no-longer padded/filled. 2) Prepares the code so that objcopy can be used to inject the hash into the ELF. STM32H750_EXST - Patch MD5 into ELF. Process is now as follows. * Binary generated (via make target dependency) so there is something to hash. * Binary copied (and padded). * MD5 Hash computed. * xxd patch file generated from hash. * xxd hash patch applied to copy of binary at correct address. * elf .exst_hash section dumped. * hash injected into into dumped section. * elf .exst_hash section updated with updated dumped section. Replace EXST with USE_EXST. Add documentation for the EXST firmware format. Add table formatting to EXST documentation. Update bootloader block. Update H750 EXST linker script to use block format 0x00. Use .exst.elf and .exst.bin on the exst files. Add 'no checksum' to list of checksum hash methods. Update EXST build system so it generates the following sets of files obj/main/betaflight_TARGET.elf obj/main/betaflight_TARGET.map obj/main/betaflight_TARGET_EXST.elf obj/betaflight_VERSION_TARGET.bin obj/betaflight_VERSION_TARGET.bin.md5 obj/betaflight_VERSION_TARGET_EXST.bin Update EXST build system to be more user-friendly. * user-flashable files are generated in the normal place. * Intermediate files are generated in `obj/main/...` * Removes the `exst` goal. * Adds .hex generation for EXST builds based on the patched .elf. To build EXST targets, simply use `make TARGET=x` as normal and flash the resulting `.hex/.bin` files rather than the .exst.bin file. Developers can use either the `.elf` or patched `_EXST.elf` file as is appropriate for their needs. EXST documentation updated to match changes to build system.
2019-05-07 23:38:31 -07:00
# silently ignore if the file is not present. Allows for target defaults.
-include $(ROOT)/src/main/target/$(BASE_TARGET)/target.mk
F4_TARGETS := $(F405_TARGETS) $(F411_TARGETS) $(F446_TARGETS)
F7_TARGETS := $(F7X2RE_TARGETS) $(F7X5XE_TARGETS) $(F7X5XG_TARGETS) $(F7X5XI_TARGETS) $(F7X6XG_TARGETS)
[H7] System and build files Basic system files - Initial system files - Additional RCC clock enables for testing - Coding style tidy (target/system_stm32h7xx.c) and enable MCO for testing - Clock generator changes for SPI support - Setup MPU for "D2 SRAM as write-through by MPU, call it DMA_RAM" - Drop USB clock enabling from driver/system_stm32h7xx.c - stm32h7_hal_conf.h for persistent object storage Basic build files STM32H7.mk changes - STM32H7.mk for USE_UART and USE_SERIAL_RX - Modify STM32H7.mk for inclusion of SPI driver - STM32H7.mk change for D2 SRAM as write-through by MPU, call it DMA_RAM - STM32H7.mk for DMA facility - STM32H7.mk for [TIMER] For "Initial cut without Dshot" - STM32H7.mk change for [LED_STRIP] Add LED_STRIP - STM32H7.mk for [ADC] Initial cut without internal sensors - STM32H7.mk for Enable I2C (HAL) - STM32H7.mk for "Enable HAL-based DShot (no burst yet)" - STM32H7.mk change for transponder - STM32H750 - Add platform support. - STM32H750 - Add H750 MCU ID. - STM32H743 - Add MCU ID. STM32H7.mk change for "Burst Dshot First working version" Fix boot loader request STM32H750 - Add PERSISTENT memory support. STM32H743 - Add PERSISTENT memory support. Use PERSISTENT memory for bootloader request. Using DTCM RAM did not work on H750. Change flash latency from 4WS to 2WS STM32H750 - Fix reset of RCC_CR to reset value. Note: The comment above the code didn't match code. STM32H750 - Remove duplicate startup code, see SystemClock_Config. STM32H7.mk changes for Port RTC backup register based persistent storage for H7 Make use of persistent object facility Force reboot after possible boot loader activity Enable CRS stm32h7xx_hal_conf.h for H7 - QuadSPI support stm32h7xx_hal_conf.h for STM32H7 - SDCard/SDIO using HAL Driver stm32h7xx_hal_conf.h : Fix systick to be 0x00 instead of ST's default 0x0F. This fixes the ability to use HAL_Delay() from an ISR, as required by the ST's USB Library. Specifically, systick handler must be a higher priority than the USB FS/HS Interrupt handler priorities. stm32h7xx_hal_conf.h for Add PID-Audio support source.mk for H7 - QuadSPI support drivers/system_stm32h7xx.c for H7 - QuadSPI support STM32H7.mk for H7 - QuadSPI support STM32H7.mk change for CDC-HID support common_pre.h updates - Scheduler parameters to same as F4 & F7 - Enable some important default features - STM32H7 - Enable ITCM RAM. Requires voltage scaling fix from commit 6e684c609310024141c43de484a5e78103140e3c STM32H750 - Disable caches before reboot. Prior to this when EEPROM_IN_RAM was used the persistent data section would have corruption immediately after a reboot, prior to even the Reset_Handler code having been executed. drivers/system_stm32h7xx.c Touch-up after 2019-02-02 rebase STM32H7 - Write protect ITCM ram. Remove local defs for RESET_xxx symbols STM32H750 - EXST firmware reboots to FLASH bootloader, rather than ROM bootloader. STM32H750 - Disable some MCO/clock testing code as the pins interfere with new targets. STM32H750 - Don't disable data caches after bootloader. Observed that disabling dcache after cold boot with BOOT pin high causes segfault. drivers/system_stm32h7xx.c for STM32H7 - SDCard/SDIO using HAL Driver drivers/system_stm32h7xx.c change for Move SDMMC clock init into SDIO driver drivers/system_stm32h7xx.c: Cleanup some Clock/MCO/GPIO initialisation code. drivers/system_stm32h7xx.c for Reset if systick is stuck. STM32H7 - Fix missing CPU voltage scaling. It appears this was the cause of other seemingly random issues: * Crash soon after enabling USB. * Flash write failures. * Random un-explainable crashes. Change RCC_HSE_BYPASS to RCC_HSE_ON Even Nucleo-H743 seems to work without setting HSE_BYPASS. STM32H7xx - Move memory section initialisation earlier into the init sequence. Allows startup-code/libs/etc to be moved into different memory regions. Don't touch vector table in EXST targets STM32H750_EXST - fix boot loop target/system_stm32h7xx.c for STM32H7 - SDCard/SDIO using HAL Driver target/system_stm32h7xx.c change for Fix SD card clock speed selection STM32H750_EXST - Reset MPU regions on boot. * Failure to reset regions will result in mem-fault if bootloader has configured a similar region. STM32H750 - Fix missing include of platform.h in system_stm32h7xx.c This caused the SDMMC peripheral clock to be un-configured (at reset state) when USE_SDCARD_SDIO was defined. Change MPU region number for DMA_RAM from 0 to 1 Avoid conflict with ITCM-RAM write protection. STM32H7xx - HSERDY slow/stuck workarounds. STM32H7xx - Fix region MPU number for SDIO. * It was overwriting the previous region causing LED strip and transponder issues. Target/system_stmh7xx.c for Reset if systick is stuck. startup/system_stm32h7xx.c change for non-caching DMA_RAM H750 - Use SIZE optimization by default due to limited flash space. STM32H7.mk for STM32H7 - SDCard/SDIO using HAL Driver STM32H7.mk updates - Decrease HSE_STARTUP_TIMEOUT to 1 second * default is 5 seconds, which is too long when HSE gets stuck. - Add PID-Audio support Temporary override LINKER_DIR
2019-05-04 07:07:45 -07:00
H7_TARGETS := $(H743xI_TARGETS) $(H750xB_TARGETS)
ifeq ($(filter $(TARGET),$(VALID_TARGETS)),)
$(error Target '$(TARGET)' is not valid, must be one of $(VALID_TARGETS). Have you prepared a valid target.mk?)
endif
[H7] System and build files Basic system files - Initial system files - Additional RCC clock enables for testing - Coding style tidy (target/system_stm32h7xx.c) and enable MCO for testing - Clock generator changes for SPI support - Setup MPU for "D2 SRAM as write-through by MPU, call it DMA_RAM" - Drop USB clock enabling from driver/system_stm32h7xx.c - stm32h7_hal_conf.h for persistent object storage Basic build files STM32H7.mk changes - STM32H7.mk for USE_UART and USE_SERIAL_RX - Modify STM32H7.mk for inclusion of SPI driver - STM32H7.mk change for D2 SRAM as write-through by MPU, call it DMA_RAM - STM32H7.mk for DMA facility - STM32H7.mk for [TIMER] For "Initial cut without Dshot" - STM32H7.mk change for [LED_STRIP] Add LED_STRIP - STM32H7.mk for [ADC] Initial cut without internal sensors - STM32H7.mk for Enable I2C (HAL) - STM32H7.mk for "Enable HAL-based DShot (no burst yet)" - STM32H7.mk change for transponder - STM32H750 - Add platform support. - STM32H750 - Add H750 MCU ID. - STM32H743 - Add MCU ID. STM32H7.mk change for "Burst Dshot First working version" Fix boot loader request STM32H750 - Add PERSISTENT memory support. STM32H743 - Add PERSISTENT memory support. Use PERSISTENT memory for bootloader request. Using DTCM RAM did not work on H750. Change flash latency from 4WS to 2WS STM32H750 - Fix reset of RCC_CR to reset value. Note: The comment above the code didn't match code. STM32H750 - Remove duplicate startup code, see SystemClock_Config. STM32H7.mk changes for Port RTC backup register based persistent storage for H7 Make use of persistent object facility Force reboot after possible boot loader activity Enable CRS stm32h7xx_hal_conf.h for H7 - QuadSPI support stm32h7xx_hal_conf.h for STM32H7 - SDCard/SDIO using HAL Driver stm32h7xx_hal_conf.h : Fix systick to be 0x00 instead of ST's default 0x0F. This fixes the ability to use HAL_Delay() from an ISR, as required by the ST's USB Library. Specifically, systick handler must be a higher priority than the USB FS/HS Interrupt handler priorities. stm32h7xx_hal_conf.h for Add PID-Audio support source.mk for H7 - QuadSPI support drivers/system_stm32h7xx.c for H7 - QuadSPI support STM32H7.mk for H7 - QuadSPI support STM32H7.mk change for CDC-HID support common_pre.h updates - Scheduler parameters to same as F4 & F7 - Enable some important default features - STM32H7 - Enable ITCM RAM. Requires voltage scaling fix from commit 6e684c609310024141c43de484a5e78103140e3c STM32H750 - Disable caches before reboot. Prior to this when EEPROM_IN_RAM was used the persistent data section would have corruption immediately after a reboot, prior to even the Reset_Handler code having been executed. drivers/system_stm32h7xx.c Touch-up after 2019-02-02 rebase STM32H7 - Write protect ITCM ram. Remove local defs for RESET_xxx symbols STM32H750 - EXST firmware reboots to FLASH bootloader, rather than ROM bootloader. STM32H750 - Disable some MCO/clock testing code as the pins interfere with new targets. STM32H750 - Don't disable data caches after bootloader. Observed that disabling dcache after cold boot with BOOT pin high causes segfault. drivers/system_stm32h7xx.c for STM32H7 - SDCard/SDIO using HAL Driver drivers/system_stm32h7xx.c change for Move SDMMC clock init into SDIO driver drivers/system_stm32h7xx.c: Cleanup some Clock/MCO/GPIO initialisation code. drivers/system_stm32h7xx.c for Reset if systick is stuck. STM32H7 - Fix missing CPU voltage scaling. It appears this was the cause of other seemingly random issues: * Crash soon after enabling USB. * Flash write failures. * Random un-explainable crashes. Change RCC_HSE_BYPASS to RCC_HSE_ON Even Nucleo-H743 seems to work without setting HSE_BYPASS. STM32H7xx - Move memory section initialisation earlier into the init sequence. Allows startup-code/libs/etc to be moved into different memory regions. Don't touch vector table in EXST targets STM32H750_EXST - fix boot loop target/system_stm32h7xx.c for STM32H7 - SDCard/SDIO using HAL Driver target/system_stm32h7xx.c change for Fix SD card clock speed selection STM32H750_EXST - Reset MPU regions on boot. * Failure to reset regions will result in mem-fault if bootloader has configured a similar region. STM32H750 - Fix missing include of platform.h in system_stm32h7xx.c This caused the SDMMC peripheral clock to be un-configured (at reset state) when USE_SDCARD_SDIO was defined. Change MPU region number for DMA_RAM from 0 to 1 Avoid conflict with ITCM-RAM write protection. STM32H7xx - HSERDY slow/stuck workarounds. STM32H7xx - Fix region MPU number for SDIO. * It was overwriting the previous region causing LED strip and transponder issues. Target/system_stmh7xx.c for Reset if systick is stuck. startup/system_stm32h7xx.c change for non-caching DMA_RAM H750 - Use SIZE optimization by default due to limited flash space. STM32H7.mk for STM32H7 - SDCard/SDIO using HAL Driver STM32H7.mk updates - Decrease HSE_STARTUP_TIMEOUT to 1 second * default is 5 seconds, which is too long when HSE gets stuck. - Add PID-Audio support Temporary override LINKER_DIR
2019-05-04 07:07:45 -07:00
ifeq ($(filter $(TARGET),$(F1_TARGETS) $(F3_TARGETS) $(F4_TARGETS) $(F7_TARGETS) $(H7_TARGETS) $(SITL_TARGETS)),)
$(error Target '$(TARGET)' has not specified a valid STM group, must be one of F1, F3, F405, F411, F446, F7X2RE, F7X5XE, F7X5XG, F7X5XI, F7X6XG or H7X3XI. Have you prepared a valid target.mk?)
endif
ifeq ($(TARGET),$(filter $(TARGET),$(F3_TARGETS)))
TARGET_MCU := STM32F3
else ifeq ($(TARGET),$(filter $(TARGET), $(F4_TARGETS)))
TARGET_MCU := STM32F4
else ifeq ($(TARGET),$(filter $(TARGET), $(F7_TARGETS)))
TARGET_MCU := STM32F7
[H7] System and build files Basic system files - Initial system files - Additional RCC clock enables for testing - Coding style tidy (target/system_stm32h7xx.c) and enable MCO for testing - Clock generator changes for SPI support - Setup MPU for "D2 SRAM as write-through by MPU, call it DMA_RAM" - Drop USB clock enabling from driver/system_stm32h7xx.c - stm32h7_hal_conf.h for persistent object storage Basic build files STM32H7.mk changes - STM32H7.mk for USE_UART and USE_SERIAL_RX - Modify STM32H7.mk for inclusion of SPI driver - STM32H7.mk change for D2 SRAM as write-through by MPU, call it DMA_RAM - STM32H7.mk for DMA facility - STM32H7.mk for [TIMER] For "Initial cut without Dshot" - STM32H7.mk change for [LED_STRIP] Add LED_STRIP - STM32H7.mk for [ADC] Initial cut without internal sensors - STM32H7.mk for Enable I2C (HAL) - STM32H7.mk for "Enable HAL-based DShot (no burst yet)" - STM32H7.mk change for transponder - STM32H750 - Add platform support. - STM32H750 - Add H750 MCU ID. - STM32H743 - Add MCU ID. STM32H7.mk change for "Burst Dshot First working version" Fix boot loader request STM32H750 - Add PERSISTENT memory support. STM32H743 - Add PERSISTENT memory support. Use PERSISTENT memory for bootloader request. Using DTCM RAM did not work on H750. Change flash latency from 4WS to 2WS STM32H750 - Fix reset of RCC_CR to reset value. Note: The comment above the code didn't match code. STM32H750 - Remove duplicate startup code, see SystemClock_Config. STM32H7.mk changes for Port RTC backup register based persistent storage for H7 Make use of persistent object facility Force reboot after possible boot loader activity Enable CRS stm32h7xx_hal_conf.h for H7 - QuadSPI support stm32h7xx_hal_conf.h for STM32H7 - SDCard/SDIO using HAL Driver stm32h7xx_hal_conf.h : Fix systick to be 0x00 instead of ST's default 0x0F. This fixes the ability to use HAL_Delay() from an ISR, as required by the ST's USB Library. Specifically, systick handler must be a higher priority than the USB FS/HS Interrupt handler priorities. stm32h7xx_hal_conf.h for Add PID-Audio support source.mk for H7 - QuadSPI support drivers/system_stm32h7xx.c for H7 - QuadSPI support STM32H7.mk for H7 - QuadSPI support STM32H7.mk change for CDC-HID support common_pre.h updates - Scheduler parameters to same as F4 & F7 - Enable some important default features - STM32H7 - Enable ITCM RAM. Requires voltage scaling fix from commit 6e684c609310024141c43de484a5e78103140e3c STM32H750 - Disable caches before reboot. Prior to this when EEPROM_IN_RAM was used the persistent data section would have corruption immediately after a reboot, prior to even the Reset_Handler code having been executed. drivers/system_stm32h7xx.c Touch-up after 2019-02-02 rebase STM32H7 - Write protect ITCM ram. Remove local defs for RESET_xxx symbols STM32H750 - EXST firmware reboots to FLASH bootloader, rather than ROM bootloader. STM32H750 - Disable some MCO/clock testing code as the pins interfere with new targets. STM32H750 - Don't disable data caches after bootloader. Observed that disabling dcache after cold boot with BOOT pin high causes segfault. drivers/system_stm32h7xx.c for STM32H7 - SDCard/SDIO using HAL Driver drivers/system_stm32h7xx.c change for Move SDMMC clock init into SDIO driver drivers/system_stm32h7xx.c: Cleanup some Clock/MCO/GPIO initialisation code. drivers/system_stm32h7xx.c for Reset if systick is stuck. STM32H7 - Fix missing CPU voltage scaling. It appears this was the cause of other seemingly random issues: * Crash soon after enabling USB. * Flash write failures. * Random un-explainable crashes. Change RCC_HSE_BYPASS to RCC_HSE_ON Even Nucleo-H743 seems to work without setting HSE_BYPASS. STM32H7xx - Move memory section initialisation earlier into the init sequence. Allows startup-code/libs/etc to be moved into different memory regions. Don't touch vector table in EXST targets STM32H750_EXST - fix boot loop target/system_stm32h7xx.c for STM32H7 - SDCard/SDIO using HAL Driver target/system_stm32h7xx.c change for Fix SD card clock speed selection STM32H750_EXST - Reset MPU regions on boot. * Failure to reset regions will result in mem-fault if bootloader has configured a similar region. STM32H750 - Fix missing include of platform.h in system_stm32h7xx.c This caused the SDMMC peripheral clock to be un-configured (at reset state) when USE_SDCARD_SDIO was defined. Change MPU region number for DMA_RAM from 0 to 1 Avoid conflict with ITCM-RAM write protection. STM32H7xx - HSERDY slow/stuck workarounds. STM32H7xx - Fix region MPU number for SDIO. * It was overwriting the previous region causing LED strip and transponder issues. Target/system_stmh7xx.c for Reset if systick is stuck. startup/system_stm32h7xx.c change for non-caching DMA_RAM H750 - Use SIZE optimization by default due to limited flash space. STM32H7.mk for STM32H7 - SDCard/SDIO using HAL Driver STM32H7.mk updates - Decrease HSE_STARTUP_TIMEOUT to 1 second * default is 5 seconds, which is too long when HSE gets stuck. - Add PID-Audio support Temporary override LINKER_DIR
2019-05-04 07:07:45 -07:00
else ifeq ($(TARGET),$(filter $(TARGET), $(H7_TARGETS)))
TARGET_MCU := STM32H7
else ifeq ($(TARGET),$(filter $(TARGET), $(SITL_TARGETS)))
TARGET_MCU := SITL
SIMULATOR_BUILD = yes
else ifeq ($(TARGET),$(filter $(TARGET), $(F1_TARGETS)))
TARGET_MCU := STM32F1
else
$(error Unknown target MCU specified.)
endif
ifneq ($(BASE_TARGET), $(TARGET))
TARGET_FLAGS := $(TARGET_FLAGS) -D$(BASE_TARGET)
endif
TARGET_FLAGS := $(TARGET_FLAGS) -D$(TARGET_MCU)