From 1852442c5cb0b3169bd65970cb4052d02364011e Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Fri, 2 May 2025 05:17:43 +0200 Subject: [PATCH] feat(h7): RTC backup RAM (#6171) --- radio/src/storage/rtc_backup.cpp | 5 +++++ radio/src/targets/common/arm/stm32/rtc_driver.cpp | 4 ++++ radio/src/targets/st16/CMakeLists.txt | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/radio/src/storage/rtc_backup.cpp b/radio/src/storage/rtc_backup.cpp index 1736cfaaf..990aa82c2 100644 --- a/radio/src/storage/rtc_backup.cpp +++ b/radio/src/storage/rtc_backup.cpp @@ -40,6 +40,11 @@ Backup::RamBackupUncompressed ramBackupUncompressed __DMA; RamBackup _ramBackup; RamBackup * ramBackup = &_ramBackup; #else + +#if !defined(BKPSRAM_BASE) && defined(D3_BKPSRAM_BASE) + #define BKPSRAM_BASE D3_BKPSRAM_BASE +#endif + RamBackup * ramBackup = (RamBackup *)BKPSRAM_BASE; #endif diff --git a/radio/src/targets/common/arm/stm32/rtc_driver.cpp b/radio/src/targets/common/arm/stm32/rtc_driver.cpp index 9aa98841a..cd07d6a88 100644 --- a/radio/src/targets/common/arm/stm32/rtc_driver.cpp +++ b/radio/src/targets/common/arm/stm32/rtc_driver.cpp @@ -106,7 +106,9 @@ void rtcInit() #endif #if defined(RTC_BACKUP_RAM) && !defined(BOOT) +#if defined(STM32F4) __HAL_RCC_BKPSRAM_CLK_ENABLE(); +#endif HAL_PWREx_EnableBkUpReg(); HAL_PWR_EnableBkUpAccess(); #endif @@ -115,7 +117,9 @@ void rtcInit() void rtcDisableBackupReg() { #if defined(RTC_BACKUP_RAM) +#if defined(STM32F4) __HAL_RCC_BKPSRAM_CLK_DISABLE(); +#endif HAL_PWREx_DisableBkUpReg(); HAL_PWR_DisableBkUpAccess(); #endif diff --git a/radio/src/targets/st16/CMakeLists.txt b/radio/src/targets/st16/CMakeLists.txt index 5ff843960..e4ddcf75a 100644 --- a/radio/src/targets/st16/CMakeLists.txt +++ b/radio/src/targets/st16/CMakeLists.txt @@ -19,7 +19,7 @@ set(HAPTIC YES) set(GUI_DIR colorlcd) set(BITMAPS_DIR 480x272) set(TARGET_DIR st16) -# set(RTC_BACKUP_RAM YES) +set(RTC_BACKUP_RAM YES) set(PPM_LIMITS_SYMETRICAL YES) set(USB_SERIAL ON CACHE BOOL "Enable USB serial (CDC)") set(HARDWARE_EXTERNAL_MODULE YES)