ref: 45e65b66b11b6b8533b225067ce4c2a4b5eac653
src/components/firmwarevalidator/FirmwareValidator.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#include <drivers/InternalFlash.h> #include <hal/nrf_rtc.h> #include "FirmwareValidator.h" using namespace Pinetime::Controllers; bool FirmwareValidator::IsValidated() const { auto* imageOkPtr = reinterpret_cast<uint32_t *>(validBitAdress); return (*imageOkPtr) == validBitValue; } void FirmwareValidator::Validate() { if(!IsValidated()) Pinetime::Drivers::InternalFlash::WriteWord(validBitAdress, validBitValue); } void FirmwareValidator::Reset() { NVIC_SystemReset(); } |