Switch RTC to LSE clock if it is detected on start.
It is not allowed to change source clock of RTC module on STM32.
Source clock can be selected only once after reset of BKP module.
If at first start LSE is failed FW will fallback to inaccurate
LSI (internal RC). If Vbat is present RTC/BKP is not reset between
restarts and RTC is never switched to more accurate LSE event if it
is present.
Implement fixup that will check for the LSE and switch RTC to LSE
through BKP (RTC) module reset and new clock source selection.
allowFlashWhileRunning() -> mcuCanFlashWhileRunning() - true if MCU
can flash while continue code execution. Dual bank mode on STM32.
New allowFlashWhileRunning() return true if MCU can write its own
flash while keep runnig OR settings are stored in external storage.
* OpenBLT: linker file: use last 16 bytes of ram for shared area
This area is used for communication between FW and OpenBLT.
* OpenBLT: startup: invalidate only DFU breadcumb from startup code
Same location (but different seed) is used for shared param's
signature in OpenBLT.
* OpenBLT: enable shared params
* OpenBLT: enable hooks
If 0x01 is stored in shared param idx=0, then stay in OpenBLT forever.
* Jump to OpenBLT: store proper shared param when OpenBLT is requested
TODO: calculate and store CRC too!
* OpenBLT: move shared_params to start of RAM
* Bootloader: Allocate 16 bytes at start of RAM for bootloader shared area
* OpenBLT: shared_params: reuse same .c and .h file for main application
* OpenBLT: shared_params: enable CRC check
* OpenBLT: no need to manualy set breadcumb before reset
* Revert "OpenBLT: startup: invalidate only DFU breadcumb from startup code"
This reverts commit 6b064714b953560227ae53e38355332cf9f46f7f.
* OpenBLT: guard for builds without OpenBLT
* OpenBLT: reboot to OpenBLT on CAN request with ID=0x667 and DLC=2
* config: options to enable OpenBLT on CAN interfaces
* OpenBLT: comments
* use backup ram, hard fault handler improvement
* wire it up
* upload elf
* s
* I guess I'll just use strncpy
* s
* what is it even complaining about?
* neat, we don't need a cast
* cypress and kinetis
* cleanup
* ci
* guard for tests