diff --git a/firmware/application/m4_startup.cpp b/firmware/application/m4_startup.cpp index 2313b4939..9b5f2b4fb 100644 --- a/firmware/application/m4_startup.cpp +++ b/firmware/application/m4_startup.cpp @@ -23,6 +23,9 @@ #include "hal.h" +#include "lpc43xx_cpp.hpp" +using namespace lpc43xx; + #include "message.hpp" #include "baseband_api.hpp" @@ -51,3 +54,10 @@ void m4_init(const portapack::spi_flash::region_t from, const portapack::memory: void m4_request_shutdown() { baseband::shutdown(); } + +void m0_halt() { + rgu::reset(rgu::Reset::M0APP); + while(true) { + port_wait_for_interrupt(); + } +} diff --git a/firmware/application/m4_startup.hpp b/firmware/application/m4_startup.hpp index ce22770e1..95042f759 100644 --- a/firmware/application/m4_startup.hpp +++ b/firmware/application/m4_startup.hpp @@ -30,4 +30,6 @@ void m4_init(const portapack::spi_flash::region_t from, const portapack::memory::region_t to); void m4_request_shutdown(); +void m0_halt(); + #endif/*__M4_STARTUP_H__*/ diff --git a/firmware/application/main.cpp b/firmware/application/main.cpp index a3674ab71..d98caa53f 100755 --- a/firmware/application/main.cpp +++ b/firmware/application/main.cpp @@ -47,9 +47,6 @@ #include "gcc.hpp" -#include "lpc43xx_cpp.hpp" -using namespace lpc43xx; - #include "sd_card.hpp" #include @@ -100,8 +97,7 @@ int main(void) { portapack::shutdown(); m4_init(portapack::spi_flash::hackrf, portapack::memory::map::m4_code_hackrf); - - rgu::reset(rgu::Reset::M0APP); + m0_halt(); return 0; }