ref: c04813b6d303f4b341e5c7df885809913e83060a
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(); } |