File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -160,9 +160,12 @@ Pinetime::System::SystemTask systemTask(spi,
160160 heartRateApp,
161161 fs);
162162
163+ /* Variable Declarations for variables in noinit SRAM
164+ Increment NoInit_MagicValue upon adding variables to this area
165+ */
163166extern uint32_t __start_noinit_data;
164167extern uint32_t __stop_noinit_data;
165- static constexpr uint32_t NoInit_MagicValue = 0xDEADBEEF ;
168+ static constexpr uint32_t NoInit_MagicValue = 0xDEAD0000 ;
166169uint32_t NoInit_MagicWord __attribute__ ((section(" .noinit" )));
167170std::chrono::time_point<std::chrono::system_clock, std::chrono::nanoseconds> NoInit_BackUpTime __attribute__ ((section(" .noinit" )));
168171
@@ -327,10 +330,11 @@ int main(void) {
327330 // retrieve version stored by bootloader
328331 Pinetime::BootloaderVersion::SetVersion (NRF_TIMER2->CC [0 ]);
329332
330- // Check Magic Ram and reset lost variables
333+
331334 if (NoInit_MagicWord == NoInit_MagicValue) {
332335 dateTimeController.SetCurrentTime (NoInit_BackUpTime);
333336 } else {
337+ // Clear Memory to known state
334338 memset (&__start_noinit_data,0 ,(uintptr_t )&__stop_noinit_data-(uintptr_t )&__start_noinit_data);
335339 NoInit_MagicWord = NoInit_MagicValue;
336340 }
You can’t perform that action at this time.
0 commit comments