diff --git a/firmware/config/boards/nucleo_h743/compile_stm32h743_nucleo.sh b/firmware/config/boards/nucleo_h743/compile_stm32h743_nucleo.sh index 615e2bddf8..fc7934a2e1 100644 --- a/firmware/config/boards/nucleo_h743/compile_stm32h743_nucleo.sh +++ b/firmware/config/boards/nucleo_h743/compile_stm32h743_nucleo.sh @@ -7,6 +7,8 @@ echo "Entering $SCRIPT_NAME" export PROJECT_BOARD=nucleo_h743 export PROJECT_CPU=ARCH_STM32H7 +export USE_LIS302=no +export USE_FATFS=no export EXTRA_PARAMS="-DDUMMY -DSTM32H743xx \ -DEFI_INJECTOR_PIN3=GPIO_UNASSIGNED \ -DFIRMWARE_ID=\\\"nucleoH743\\\" \ diff --git a/firmware/config/stm32h7ems/efifeatures.h b/firmware/config/stm32h7ems/efifeatures.h new file mode 100644 index 0000000000..47039d3dc6 --- /dev/null +++ b/firmware/config/stm32h7ems/efifeatures.h @@ -0,0 +1,25 @@ +#include "../stm32f4ems/efifeatures.h" + +#pragma once + +#undef EFI_MEMS +#define EFI_MEMS FALSE + +#undef EFI_USB_SERIAL +#define EFI_USB_SERIAL FALSE + +#undef EFI_INTERNAL_FLASH +#define EFI_INTERNAL_FLASH FALSE + +#undef BOARD_TLE6240_COUNT +#undef BOARD_MC33972_COUNT +#undef BOARD_TLE8888_COUNT +#define BOARD_TLE6240_COUNT 0 +#define BOARD_MC33972_COUNT 0 +#define BOARD_TLE8888_COUNT 0 + +#undef BOARD_EXT_GPIOCHIPS + #define BOARD_EXT_GPIOCHIPS (BOARD_TLE6240_COUNT + BOARD_MC33972_COUNT + BOARD_TLE8888_COUNT + BOARD_DRV8860_COUNT + BOARD_MC33810_COUNT) + +#undef ENABLE_PERF_TRACE +#define ENABLE_PERF_TRACE FALSE \ No newline at end of file diff --git a/firmware/config/stm32h7ems/halconf.h b/firmware/config/stm32h7ems/halconf.h index cd749e20ca..9b9c976328 100644 --- a/firmware/config/stm32h7ems/halconf.h +++ b/firmware/config/stm32h7ems/halconf.h @@ -100,7 +100,7 @@ * @brief Enables the ICU subsystem. */ #if !defined(HAL_USE_ICU) || defined(__DOXYGEN__) -#define HAL_USE_ICU FALSE +#define HAL_USE_ICU TRUE #endif /** @@ -114,7 +114,7 @@ * @brief Enables the MMC_SPI subsystem. */ #if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__) -#define HAL_USE_MMC_SPI TRUE +#define HAL_USE_MMC_SPI FALSE #endif /** @@ -135,7 +135,7 @@ * @brief Enables the SDC subsystem. */ #if !defined(HAL_USE_SDC) || defined(__DOXYGEN__) -#define HAL_USE_SDC TRUE +#define HAL_USE_SDC FALSE #endif /** @@ -149,7 +149,7 @@ * @brief Enables the SERIAL over USB subsystem. */ #if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__) -#define HAL_USE_SERIAL_USB TRUE +#define HAL_USE_SERIAL_USB FALSE #endif /** @@ -163,7 +163,7 @@ * @brief Enables the SPI subsystem. */ #if !defined(HAL_USE_SPI) || defined(__DOXYGEN__) -#define HAL_USE_SPI TRUE +#define HAL_USE_SPI FALSE #endif /** @@ -177,14 +177,14 @@ * @brief Enables the UART subsystem. */ #if !defined(HAL_USE_UART) || defined(__DOXYGEN__) -#define HAL_USE_UART FALSE +#define HAL_USE_UART TRUE #endif /** * @brief Enables the USB subsystem. */ #if !defined(HAL_USE_USB) || defined(__DOXYGEN__) -#define HAL_USE_USB TRUE +#define HAL_USE_USB FALSE #endif /** diff --git a/firmware/config/stm32h7ems/mcuconf.h b/firmware/config/stm32h7ems/mcuconf.h index 3bdc400cdb..da3237e30e 100644 --- a/firmware/config/stm32h7ems/mcuconf.h +++ b/firmware/config/stm32h7ems/mcuconf.h @@ -302,9 +302,9 @@ /* * ICU driver system settings. */ -#define STM32_ICU_USE_TIM1 FALSE -#define STM32_ICU_USE_TIM2 FALSE -#define STM32_ICU_USE_TIM3 FALSE +#define STM32_ICU_USE_TIM1 TRUE +#define STM32_ICU_USE_TIM2 TRUE +#define STM32_ICU_USE_TIM3 TRUE #define STM32_ICU_USE_TIM4 FALSE #define STM32_ICU_USE_TIM5 FALSE #define STM32_ICU_USE_TIM8 FALSE @@ -333,9 +333,9 @@ #define STM32_PWM_USE_TIM1 FALSE #define STM32_PWM_USE_TIM2 FALSE #define STM32_PWM_USE_TIM3 FALSE -#define STM32_PWM_USE_TIM4 FALSE -#define STM32_PWM_USE_TIM5 FALSE -#define STM32_PWM_USE_TIM8 FALSE +#define STM32_PWM_USE_TIM4 TRUE +#define STM32_PWM_USE_TIM5 TRUE +#define STM32_PWM_USE_TIM8 TRUE #define STM32_PWM_USE_TIM12 FALSE #define STM32_PWM_USE_TIM13 FALSE #define STM32_PWM_USE_TIM14 FALSE @@ -365,9 +365,9 @@ /* * SERIAL driver system settings. */ -#define STM32_SERIAL_USE_USART1 FALSE -#define STM32_SERIAL_USE_USART2 FALSE -#define STM32_SERIAL_USE_USART3 TRUE +#define STM32_SERIAL_USE_USART1 TRUE +#define STM32_SERIAL_USE_USART2 TRUE +#define STM32_SERIAL_USE_USART3 FALSE #define STM32_SERIAL_USE_UART4 FALSE #define STM32_SERIAL_USE_UART5 FALSE #define STM32_SERIAL_USE_USART6 FALSE @@ -426,7 +426,7 @@ */ #define STM32_UART_USE_USART1 FALSE #define STM32_UART_USE_USART2 FALSE -#define STM32_UART_USE_USART3 FALSE +#define STM32_UART_USE_USART3 TRUE #define STM32_UART_USE_UART4 FALSE #define STM32_UART_USE_UART5 FALSE #define STM32_UART_USE_USART6 FALSE diff --git a/firmware/hw_layer/ports/stm32/stm32h7/device_mpu_util.h b/firmware/hw_layer/ports/stm32/stm32h7/device_mpu_util.h new file mode 100644 index 0000000000..d1b6312f44 --- /dev/null +++ b/firmware/hw_layer/ports/stm32/stm32h7/device_mpu_util.h @@ -0,0 +1,6 @@ +#pragma once + +#include "stm32h7xx_hal_flash_ex.h" + + +// todo SPI! \ No newline at end of file diff --git a/firmware/hw_layer/ports/stm32/stm32h7/hw_ports.mk b/firmware/hw_layer/ports/stm32/stm32h7/hw_ports.mk new file mode 100644 index 0000000000..d88bbd5936 --- /dev/null +++ b/firmware/hw_layer/ports/stm32/stm32h7/hw_ports.mk @@ -0,0 +1,6 @@ +include $(PROJECT_DIR)/hw_layer/ports/stm32/stm32_common.mk + +HW_LAYER_EMS += $(PROJECT_DIR)/hw_layer/ports/stm32/stm32h7/stm32h7xx_hal_flash.c \ + $(PROJECT_DIR)/hw_layer/ports/stm32/stm32h7/stm32h7xx_hal_flash_ex.c + +HW_LAYER_EMS_CPP += $(PROJECT_DIR)/hw_layer/ports/stm32/stm32h7/mpu_util.cpp diff --git a/firmware/hw_layer/ports/stm32/stm32h7/mpu_util.cpp b/firmware/hw_layer/ports/stm32/stm32h7/mpu_util.cpp new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/firmware/hw_layer/ports/stm32/stm32h7/mpu_util.cpp @@ -0,0 +1 @@ + diff --git a/firmware/hw_layer/ports/stm32/stm32h7/stm32h7xx_hal_def.h b/firmware/hw_layer/ports/stm32/stm32h7/stm32h7xx_hal_def.h index d59c8c12bb..171e713bc7 100644 --- a/firmware/hw_layer/ports/stm32/stm32h7/stm32h7xx_hal_def.h +++ b/firmware/hw_layer/ports/stm32/stm32h7/stm32h7xx_hal_def.h @@ -28,7 +28,7 @@ /* Includes ------------------------------------------------------------------*/ #include "stm32h7xx.h" -#include "Legacy/stm32_hal_legacy.h" +//#include "Legacy/stm32_hal_legacy.h" #include #include @@ -67,7 +67,7 @@ typedef enum (__DMA_HANDLE__).Parent = (__HANDLE__); \ } while(0) -#define UNUSED(x) ((void)(x)) +//#define UNUSED(x) ((void)(x)) /** @brief Reset the Handle's State field. * @param __HANDLE__: specifies the Peripheral Handle. diff --git a/firmware/hw_layer/ports/stm32/stm32h7/stm32h7xx_hal_flash.c b/firmware/hw_layer/ports/stm32/stm32h7/stm32h7xx_hal_flash.c index 6383da56e1..7c53edcc54 100644 --- a/firmware/hw_layer/ports/stm32/stm32h7/stm32h7xx_hal_flash.c +++ b/firmware/hw_layer/ports/stm32/stm32h7/stm32h7xx_hal_flash.c @@ -86,7 +86,7 @@ */ /* Includes ------------------------------------------------------------------*/ -#include "stm32h7xx_hal.h" +//#include "stm32h7xx_hal.h" /** @addtogroup STM32H7xx_HAL_Driver * @{ diff --git a/firmware/hw_layer/ports/stm32/stm32h7/stm32h7xx_hal_flash_ex.c b/firmware/hw_layer/ports/stm32/stm32h7/stm32h7xx_hal_flash_ex.c index dc45d4a190..a36eaa2358 100644 --- a/firmware/hw_layer/ports/stm32/stm32h7/stm32h7xx_hal_flash_ex.c +++ b/firmware/hw_layer/ports/stm32/stm32h7/stm32h7xx_hal_flash_ex.c @@ -74,7 +74,7 @@ */ /* Includes ------------------------------------------------------------------*/ -#include "stm32h7xx_hal.h" +//#include "stm32h7xx_hal.h" /** @addtogroup STM32H7xx_HAL_Driver * @{ diff --git a/firmware/hw_layer/ports/stm32/stm32h7/stm32h7xx_hal_flash_ex.h b/firmware/hw_layer/ports/stm32/stm32h7/stm32h7xx_hal_flash_ex.h index 3c4c81a575..e8fa1fb42c 100644 --- a/firmware/hw_layer/ports/stm32/stm32h7/stm32h7xx_hal_flash_ex.h +++ b/firmware/hw_layer/ports/stm32/stm32h7/stm32h7xx_hal_flash_ex.h @@ -338,6 +338,8 @@ typedef struct #define OB_BOR_LEVEL1 FLASH_OPTSR_BOR_LEV_0 /*!< Reset level threshold is set to 2.1V */ #define OB_BOR_LEVEL2 FLASH_OPTSR_BOR_LEV_1 /*!< Reset level threshold is set to 2.4V */ #define OB_BOR_LEVEL3 (FLASH_OPTSR_BOR_LEV_1 | FLASH_OPTSR_BOR_LEV_0) /*!< Reset level threshold is set to 2.7V */ + +#define OB_BOR_OFF OB_BOR_LEVEL0 /** * @} */