From fd3f962e408828249d8a646b250ac020cc589a89 Mon Sep 17 00:00:00 2001 From: Jared Boone Date: Fri, 5 Feb 2016 16:45:23 -0800 Subject: [PATCH] Define and utilize memory region backup_ram. --- firmware/common/memory_map.hpp | 2 ++ firmware/common/portapack_persistent_memory.cpp | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/firmware/common/memory_map.hpp b/firmware/common/memory_map.hpp index 6f4eae1e5..8b32a0cd9 100644 --- a/firmware/common/memory_map.hpp +++ b/firmware/common/memory_map.hpp @@ -69,6 +69,8 @@ constexpr region_t ahb_ram_0 { 0x20000000, 32_KiB }; constexpr region_t ahb_ram_1 { 0x20008000, 16_KiB }; constexpr region_t ahb_ram_2 { 0x2000c000, 16_KiB }; +constexpr region_t backup_ram { LPC_BACKUP_REG_BASE, 256 }; + constexpr region_t spifi_uncached { LPC_SPIFI_DATA_BASE, 1_MiB }; constexpr region_t spifi_cached { LPC_SPIFI_DATA_CACHED_BASE, spifi_uncached.size() }; diff --git a/firmware/common/portapack_persistent_memory.cpp b/firmware/common/portapack_persistent_memory.cpp index de4ce64aa..c94fa0eb5 100644 --- a/firmware/common/portapack_persistent_memory.cpp +++ b/firmware/common/portapack_persistent_memory.cpp @@ -25,6 +25,9 @@ #include "utility.hpp" +#include "memory_map.hpp" +using portapack::memory::map::backup_ram; + #include #include @@ -43,9 +46,9 @@ struct data_t { int32_t correction_ppb; }; -static_assert(sizeof(data_t) <= 0x100, "Persistent memory structure too large for VBAT-maintained region"); +static_assert(sizeof(data_t) <= backup_ram.size(), "Persistent memory structure too large for VBAT-maintained region"); -static data_t* const data = reinterpret_cast(LPC_BACKUP_REG_BASE); +static data_t* const data = reinterpret_cast(backup_ram.base()); rf::Frequency tuned_frequency() { rf::tuning_range.reset_if_outside(data->tuned_frequency, tuned_frequency_reset_value);