diff options
author | David Crocker <dcrocker@eschertech.com> | 2019-12-16 14:57:49 +0300 |
---|---|---|
committer | David Crocker <dcrocker@eschertech.com> | 2019-12-16 14:57:49 +0300 |
commit | 9ec73aac0702d91fb099dc086f8fb686541c88da (patch) | |
tree | d65a22e29b12d1c22369d0a9a9a29ae6b3c32a2a /src/Linux/LinuxInterface.cpp | |
parent | 0175ccbe94780d94e94c64f0fb894f85881f9d3b (diff) |
Fixes for IAP in RAM
Diffstat (limited to 'src/Linux/LinuxInterface.cpp')
-rw-r--r-- | src/Linux/LinuxInterface.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/Linux/LinuxInterface.cpp b/src/Linux/LinuxInterface.cpp index cd9a2343..3b9f73b7 100644 --- a/src/Linux/LinuxInterface.cpp +++ b/src/Linux/LinuxInterface.cpp @@ -15,6 +15,7 @@ #include "Tools/Filament.h" #include "RepRap.h" #include "RepRapFirmware.h" +#include <Hardware/Cache.h> #if HAS_LINUX_INTERFACE @@ -268,6 +269,13 @@ void LinuxInterface::Spin() // Launch the IAP binary case LinuxRequest::StartIap: + reprap.EmergencyStop(); // turn off heaters etc. + Cache::Disable(); // this also flushes the data cache +#if USE_MPU + //TODO consider setting flash memory to strongly-ordered instead + ARM_MPU_Disable(); +#endif + #if !IAP_IN_RAM // Lock the whole IAP flash area again and start the IAP binary flash_lock(IAP_IMAGE_START, IAP_IMAGE_END, nullptr, nullptr); |