ref: e5b73212f6addcfdb5e306df63d7135e543c4f8d
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 "components/firmwarevalidator/FirmwareValidator.h" #include <hal/nrf_rtc.h> #include "drivers/InternalFlash.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(); } |