`g_FATFS_Obj` is located in `__DMA` section, which is not initialised, so that testing `sdMounted()` at boot relies on the fact that the bootloader linker script declares BSS in internal SRAM and not in CCM, as the firmware linker script does.
* Refactoring of startup code, mainly dealing with detection of unexpected restart/shutdown
* Added g_FATFS_Obj initialization [Horus]
* Fix normal startup
* Use g_eeGeneral.unexpectedShutdown only on radios that have PWRMANAGE defined
Fixes for radios that don't have power control.
Other fixes
* CLI test for new()
* [Horus] Reboot protection reworked to also handle non-WDT events
(cherry picked from commit fe9a52779d062e3f24639479273c906abe6e440b)
Conflicts:
radio/src/targets/horus/board.h
* Reverting most of the changes
* Cleanup
* Added comment that explains apparent non usage of the wdt_disable() function
* More cleanup
* Missing include
* Compilation fix
* [480x272] Fix compiler warnings with awkward extern define in layout.h.
* [firmware][misc] Fix build error with undefined SPLASH; Fix 128x64 syntax error in model_setup.cpp; Fix compiler warning on static init in diskio.cpp.
* [480x272] Revert "Fix compiler warnings with awkward extern define in layout.h." and modify lcd::drawSource() to use mixsrc_t for consistency.
This reverts commit d85d994c877a94c1933c6ece806565ca822d0f54.
* [firmware] Cleanup struct init in diskio modules.
* Radio init / masstorage start / massstorage end / shutdown sequences reordering:
- More traces
- Fixes#3642
- Reuses idea of #3662
Still not finished and completely untested
* More traces
* Compilation fix
* Reuses the idea of #3652
* Alarms were checked 2 times on massstorage end