summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTim Keller <geekboy1011@gmail.com>2021-09-02 23:01:12 (GMT)
committerTim Keller <geekboy1011@gmail.com>2021-09-02 23:01:12 (GMT)
commit28fdc376b23ee2cd87a3ed8925b44a2f6e614ebf (patch)
treefa3f68139c8ebfc0af1d4059c3ca8bfb934d2aa1 /src
parent110c82c225c22685a3f0b7d1d75566a929516637 (diff)
Add some comments
Diffstat (limited to 'src')
-rw-r--r--src/main.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main.cpp b/src/main.cpp
index d5da428..5d304bc 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -160,9 +160,12 @@ Pinetime::System::SystemTask systemTask(spi,
heartRateApp,
fs);
+/* Variable Declarations for variables in noinit SRAM
+ Increment NoInit_MagicValue upon adding variables to this area
+*/
extern uint32_t __start_noinit_data;
extern uint32_t __stop_noinit_data;
-static constexpr uint32_t NoInit_MagicValue = 0xDEADBEEF;
+static constexpr uint32_t NoInit_MagicValue = 0xDEAD0000;
uint32_t NoInit_MagicWord __attribute__((section(".noinit")));
std::chrono::time_point<std::chrono::system_clock, std::chrono::nanoseconds> NoInit_BackUpTime __attribute__((section(".noinit")));
@@ -327,10 +330,11 @@ int main(void) {
// retrieve version stored by bootloader
Pinetime::BootloaderVersion::SetVersion(NRF_TIMER2->CC[0]);
- // Check Magic Ram and reset lost variables
+
if (NoInit_MagicWord == NoInit_MagicValue) {
dateTimeController.SetCurrentTime(NoInit_BackUpTime);
} else {
+ //Clear Memory to known state
memset(&__start_noinit_data,0,(uintptr_t)&__stop_noinit_data-(uintptr_t)&__start_noinit_data);
NoInit_MagicWord = NoInit_MagicValue;
}