diff options
Diffstat (limited to 'src/Hardware/NonVolatileMemory.cpp')
-rw-r--r-- | src/Hardware/NonVolatileMemory.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/Hardware/NonVolatileMemory.cpp b/src/Hardware/NonVolatileMemory.cpp index 1a5e8582..d36e6dae 100644 --- a/src/Hardware/NonVolatileMemory.cpp +++ b/src/Hardware/NonVolatileMemory.cpp @@ -26,14 +26,11 @@ void NonVolatileMemory::EnsureRead() noexcept #elif defined(__LPC17xx__) # error //TODO #elif SAM4E || SAM4S || SAME70 + const bool cacheEnabled = Cache::Disable(); + flash_read_user_signature(reinterpret_cast<uint32_t*>(&buffer), sizeof(buffer)/sizeof(uint32_t)); + if (cacheEnabled) { - TaskCriticalSectionLocker lock; // prevent scheduling while the cache is disabled - const bool cacheEnabled = Cache::Disable(); - flash_read_user_signature(reinterpret_cast<uint32_t*>(&buffer), sizeof(buffer)/sizeof(uint32_t)); - if (cacheEnabled) - { - Cache::Enable(); - } + Cache::Enable(); } #else # error Unsupported processor @@ -79,7 +76,6 @@ void NonVolatileMemory::EnsureWritten() noexcept if (state == NvmState::writeNeeded) { # if SAM4E || SAM4S || SAME70 - TaskCriticalSectionLocker lock; // prevent scheduling while the cache is disabled const bool cacheEnabled = Cache::Disable(); flash_write_user_signature(reinterpret_cast<const uint32_t*>(&buffer)); if (cacheEnabled) |