OVMS3-idf/components/bootloader_support
Konstantin Kondrashov f7df532ec0 bugfix/rtc_clk_32k_bootstrap: Fix starting 32k RTC
1. External 32kHz crystal is started for too long or it may not start at all. It is often observed at the first start.
2. At the first start, it is possible that the crystal did not start. And the recorded period was recorded as 0. Which led to a division error by zero during the transition to the deep sleep mode (Maybe somewhere else).
3. Added a unit test to test a new method of oscillation an external crystal.
4. Added a new method of oscillating of an external crystal. The legs of the crystal are fed with a 32 kHz frequency.

The new method eliminates these errors.

Added unit test: `\esp-idf\components\soc\esp32\test\test_rtc_clk.c`: `make TEST_COMPONENTS=soc`
- 8 Test starting external RTC crystal. Will pass.

`Bootstrap cycles for external 32kHz crystal` - is specified in the file Kconfig by default 100.

QA tested a new method of oscillation the crystal on 25 boards. The supply of square waves on the crystal showed a 100% result in contrast to the previous method of launching the crystal. After the tests, the old method was deleted.

Closes TW19143
2018-03-21 13:27:56 +05:00
..
include esp32: Fix backwards compatibility for pre-v2.1 bootloaders 2017-12-18 13:45:57 +11:00
include_priv bootloader: Calculate SHA256 hash of image on every boot 2017-07-19 18:31:59 +10:00
src bugfix/rtc_clk_32k_bootstrap: Fix starting 32k RTC 2018-03-21 13:27:56 +05:00
test bootloader: Calculate SHA-256 of image while loading/verifying 2017-07-19 18:25:17 +10:00
component.mk Secure boot: Option for app & partition table signing to happen outside build system 2016-12-19 13:12:05 +11:00
Makefile.projbuild Secure boot: Correctly re-sign if signing key changes, better error if missing 2016-12-01 23:49:12 -08:00
README.rst Refactor existing bootloader common functionality into bootloader_support component 2016-11-02 17:58:41 +11:00

Bootloader Support Component
============================

Overview
--------

"Bootloader support" contains APIs which are used by the bootloader but are also needed for the main app.

Code in this component needs to be aware of being executed in a bootloader environment (no RTOS available, BOOTLOADER_BUILD macro set) or in an esp-idf app environment (RTOS running, need locking support.)