KonstantinKondrashov
90f2d3199a
secure_boot: Checks secure boot efuses
...
ESP32 V1 and V2 - protection bits.
ESP32xx V2: revoke bits, protection bits
- refactor efuse component
- adds some APIs for esp32 chips as well as for esp32xx chips
2021-02-23 03:56:21 +08:00
KonstantinKondrashov
11a2f2acd3
bootloader: Adds a check that app is run under FE
2021-02-15 20:33:50 +08:00
Angus Gratton
2c39010b3b
Merge branch 'bugfix/anti_rollback_without_test_app' into 'master'
...
bootloader: Anti-rollback mode doesn't run test_app
See merge request espressif/esp-idf!12225
2021-02-09 14:16:51 +08:00
Yann Pomarède
ee400f8b68
bootloader: SECURE_ENABLE_SECURE_ROM_DL_MODE cannot be y when SECURE_DISABLE_ROM_DL_MODE=y
...
Closes: https://github.com/espressif/esp-idf/pull/6442
2021-02-05 18:38:17 +08:00
KonstantinKondrashov
25ac1d4d28
bootloader: Anti-rollback mode doesn't run test_app
...
- Cmake shows an error if the partition table has a test app.
- BOOTLOADER_APP_TEST depends on !BOOTLOADER_APP_ANTI_ROLLBACK.
- Bootloader does not boot the test app if secure version is low.
Closes: https://www.esp32.com/viewtopic.php?f=13&t=19164&p=71302#p71302
2021-02-01 23:24:23 +08:00
Mahavir Jain
e712a91488
spi_flash: add config option to enable encrypted partition read/write
...
This feature can be disabled to save some IRAM (approx 1KB) for cases
where flash encryption feature is not required.
2021-01-28 12:19:21 +00:00
Angus Gratton
fe8a891de9
Merge branch 'feature/support_esp32c3_master_cmake_secure_boot' into 'master'
...
bootloader/esp32c3: Support secure boot
Closes IDF-2115
See merge request espressif/esp-idf!11797
2021-01-21 08:42:49 +08:00
Li Shuai
6ef2a7def0
bootloader: fix external 32k xtal not found error
2021-01-20 16:51:20 +08:00
KonstantinKondrashov
98f726fa4b
bootloader/esp32c3: Adds secure boot (not yet supported)
2021-01-19 20:51:13 +08:00
morris
753a929525
global: fix sign-compare warnings
2021-01-12 14:05:08 +08:00
Roland Dobai
548ea1bdd5
tools: Wrap flash binaries into a UF2 file for flashing through USB MSC
...
@mmoskal This commit adds basic support for UF2 into ESP-IDF.
2020-12-29 18:14:47 +01:00
morris
65aebef596
esp32c3: added 2nd bootloader project linker file
2020-12-11 11:44:01 +08:00
Angus Gratton
5228d9f9ce
esp32c3: Apply one-liner/small changes for ESP32-C3
2020-12-01 10:58:50 +11:00
Angus Gratton
420aef1ffe
Updates for riscv support
...
* Target components pull in xtensa component directly
* Use CPU HAL where applicable
* Remove unnecessary xtensa headers
* Compilation changes necessary to support non-xtensa gcc types (ie int32_t/uint32_t is no
longer signed/unsigned int).
Changes come from internal branch commit a6723fc
2020-11-13 07:49:11 +11:00
Angus Gratton
66fb5a29bb
Whitespace: Automated whitespace fixes (large commit)
...
Apply the pre-commit hook whitespace fixes to all files in the repo.
(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
Angus Gratton
e82eac4354
cmake: Apply cmakelint fixes
2020-11-11 07:36:35 +00:00
Renz Bagaporo
6b0a5af73e
soc: move implementations to esp_hw_support
2020-10-28 22:38:50 +08:00
Renz Bagaporo
988be69466
esp_hw_support: create component
2020-10-28 07:21:29 +08:00
morris
9de6cba434
ci: add more build test for esp32-s3
2020-10-27 17:22:17 +08:00
Angus Gratton
c51dca618a
Merge branch 'feature/update_key_name_of_secure_boot' into 'master'
...
bootloader: Secure_boot name replaced by secure_boot_v1 & secure_boot_v2
Closes ESPTOOL-55
See merge request espressif/esp-idf!10849
2020-10-22 13:41:13 +08:00
Angus Gratton
75cb8eecf6
Merge branch 'feature/change_factory_reset_pin_range' into 'master'
...
bootloader: Change range of the factory reset pin in Kconfig for ESP32-S2
Closes IDFGH-3537
See merge request espressif/esp-idf!10920
2020-10-22 12:31:08 +08:00
KonstantinKondrashov
5f975a8168
bootloader: Change range of the factory reset pin in Kconfig
...
Closes: https://github.com/espressif/esp-idf/issues/5489
2020-10-20 21:28:37 +08:00
Angus Gratton
b35cb43caf
bootloader_support: Add dummy ESP32-S3 RNG support
2020-10-16 18:48:26 +11:00
Angus Gratton
699742acc6
esp32s2: Support bootloader_random_enable()
2020-10-16 18:48:26 +11:00
KonstantinKondrashov
b19c4739c3
bootloader: Secure_boot name replaced by secure_boot_v1 & secure_boot_v2
...
- espefuse.py burn_key secure_boot is no longer used.
- Secure boot V1: espefuse.py burn_key secure_boot_v1 file.bin
- Secure boot V2: espefuse.py burn_key secure_boot_v2 file.bin
2020-10-15 16:48:23 +08:00
fuzhibo
6773df88f2
feature(rtc): rename i2c_xxx to regi2c_xxx
2020-10-14 21:15:24 +08:00
Michael (XIAO Xufeng)
953c046550
esp32s3/bootloader: extend IRAM usage to 0x6000
...
The bootloader cannot fit in the size of iram_loader_seg when built under -O0. Extend the IRAM size to fix this.
2020-10-09 17:50:17 +08:00
Michael (XIAO Xufeng)
f4aacbef9b
Merge branch 'feature/support_access_internal_i2c_register' into 'master'
...
feature(rtc): add new APIs support access internal i2c register
See merge request espressif/esp-idf!10039
2020-09-29 08:08:51 +08:00
fuzhibo
247789bb2e
rtc: support access internal i2c register
2020-09-27 12:12:17 +08:00
me-no-dev
b64fd872bc
Allow esptool's download stub to be disabled by other options and applications
...
Currently USB CDC Download requires the `--no-stub` option of `esptool`. This change inverts the Kconfig option to negative, so that it can be `selected` by other options or enabled in applications through `sdkconfig.defaults`.
2020-09-16 03:25:53 +00:00
Ivan Grokhotkov
7a9d2c3fb4
bootloader: fix section placement of wdt_hal
...
Regression from moving HAL and LL code into the new "hal" component.
2020-09-03 18:14:17 +02:00
Ivan Grokhotkov
66a32c1707
bootloader: fix section placement issues found by the check script
...
Summary of changes:
- bootloader_clock split into *_clock_init and *_clock_loader.
Only esp_clk_apb_freq is in *_clock_loader.
- bootloader_common moved out of loader; functions needed in loader
(or, referenced from bootloader_utility) were moved into
bootloader_common_loader.c.
- assert and abort moved into bootloader_panic, made part of the
loader
- rtc_clk and rtc_time made part of loader
2020-09-03 18:14:17 +02:00
Michael (XIAO Xufeng)
5425ef4ee4
hal: extract hal component from soc component
2020-09-01 13:25:32 +08:00
Angus Gratton
abdb657926
bootloader esp32s2: Increase bootloader DRAM & IRAM allowance
...
Bootloader DRAM now ends at 0x3FFEAB00 which is the start of ROM
static RAM (reclaimable after app is running).
IRAM loader segment increased by 8KB.
Available total static RAM for the app is now reduced by 16KB.
2020-07-27 00:01:10 +00:00
Supreet Deshpande
e640e148cf
Secure boot v2 support for ESP32-S2
2020-07-27 00:01:10 +00:00
Angus Gratton
442736c5d6
Merge branch 'refactor/common_rom_uart_apis' into 'master'
...
esp_rom: extract common uart apis into esp_rom_uart.h
See merge request espressif/esp-idf!9313
2020-07-21 15:24:21 +08:00
Angus Gratton
3755fb6597
Merge branch 'feature/add_esp32s3_bootloader_ld_file' into 'master'
...
move part of esp32-s3 codes to master (bootloader linker, esp32s3 empty componnet)
See merge request espressif/esp-idf!9608
2020-07-21 14:51:04 +08:00
Angus Gratton
5c58564f90
Merge branch 'feature/support_for_esp32_pico_v3_02' into 'master'
...
psram: support for esp32-pico-v3-02
See merge request espressif/esp-idf!9405
2020-07-21 13:28:26 +08:00
Angus Gratton
c09fdc0b09
esp32: Use package identifier to look up SPI flash/PSRAM WP Pin, unless overridden
...
Allows booting in QIO/QOUT mode or with PSRAM on ESP32-PICO-V3 and
ESP32-PICO-V3-O2 without any config changes.
Custom WP pins (needed for fully custom circuit boards) should still be compatible.
2020-07-20 14:08:49 +08:00
morris
3a8f5e45f0
bootloader: add linker script for esp32s3
2020-07-20 10:51:05 +08:00
morris
b587428e5d
bootloader: make bootloader offset address in flash configurable
2020-07-20 10:51:05 +08:00
Ivan Grokhotkov
eff6a1eaab
bootloader: fix SECURE_TARGET_HAS_SECURE_ROM_DL_MODE enabled for esp32
2020-07-17 21:04:08 +02:00
morris
345606e7f3
esp_rom: extract common uart apis into esp_rom_uart.h
2020-07-17 16:00:59 +08:00
Supreet Deshpande
954c580548
Add platform independent CMake signing
...
Closes https://github.com/espressif/esp-idf/issues/5557
2020-07-09 12:24:50 +05:30
Ivan Grokhotkov
6dfb2d83a7
bootloader: combine console code for ESP32 and S2, add USB support
2020-06-26 15:38:49 +02:00
morris
a34409cffc
esp_rom: extract common CRC apis into esp_rom_crc.h
2020-06-23 16:40:14 +08:00
Angus Gratton
f64ae4fa99
efuse: Add 'disable Download Mode' & ESP32-S2 'Secure Download Mode' functionality
2020-05-28 17:50:45 +10:00
Ivan Grokhotkov
dfbf8ce518
Merge branch 'bugfix/display_partition_table' into 'master'
...
partition_table: do not always display partition table contents on build
See merge request espressif/esp-idf!8289
2020-05-04 14:51:32 +08:00
Felipe Neves
6f27992430
flash_encryption: return more clear error codes when bootloader encryption fails
2020-04-24 12:43:47 -03:00
Felipe Neves
b3d8847406
flash_encryption: added wdt feed during encryption process to avoid undesired reset.
2020-04-24 12:43:47 -03:00
Felipe Neves
7635dce502
bootloader/flash_encrypt: added esp32s2 flash encryption code on build system and enabled example
...
flash_enctryption: enabled flash encryption example on esp32s2
bootloader: raise WDT overflow value providing sufficient interval to encrypt app partition
flash_ encrypt: Fixed the TODOs on flash encryption key generation for esp32s2
flash_encryption: added secure boot features to flash enctryption for esp32s2
bootloader: leave only esp32s2 compatible potentially insecure options on menuconfig.
flash_encryption: removed secure boot version 1 from esp32s2 encryption code
flash_encryption: added CONFIG_SECURE_FLASH_REQUIRE_ALREADY_ENABLED option for esp32s2
flash_encryption: fixed the count of left plaintext flash
flash_encryption: disable dcache and icache download when using encryption in release mode
flash_encryption: add cache potentally insecure options for s2 chips
flash_encryption: fixed bug which bricked some chips in relase mode
2020-04-24 12:43:47 -03:00
Renz Bagaporo
acb7a211dd
partition_table: do not always display partition table contents on build
2020-04-08 11:38:43 +08:00
Angus Gratton
142f69448f
secure boot v2: esp32: Prevent read disabling additional efuses
...
Also reduce the number of eFuse write cycles during first boot when
Secure Boot and/or Flash Encryption are enabled.
2020-03-30 18:00:40 +11:00
Darian Leung
91841a53ff
WDT: Add LL and HAL for watchdog timers
...
This commit updates the watchdog timers (MWDT and RWDT)
in the following ways:
- Add seprate LL for MWDT and RWDT.
- Add a combined WDT HAL for all Watchdog Timers
- Update int_wdt.c and task_wdt.c to use WDT HAL
- Remove most dependencies on LL or direct register access
in other components. They will now use the WDT HAL
- Update use of watchdogs (including RTC WDT) in bootloader and
startup code to use the HAL layer.
2020-03-26 02:14:02 +08:00
Angus Gratton
f2d310fea7
secure boot: Fix anti-fault value if hash is shorter than curve
...
(Not actually a problem with SBV1 anti-fault as hash size == curve size in this case.)
2020-03-11 17:17:20 +11:00
Angus Gratton
26efc5a6d0
bootloader: Set the bootloader optimization level separately to the app
...
Change the default bootloader config to -Os to save size.
This is a useful feature because it allows switching between debug
and release configs in the app without also needing to account for a
size change in the bootloader.
2020-02-27 14:38:52 +05:30
Angus Gratton
d40c69375c
bootloader: Add fault injection resistance to Secure Boot bootloader verification
...
Goal is that multiple faults would be required to bypass a boot-time signature check.
- Also strengthens some address range checks for safe app memory addresses
- Change pre-enable logic to also check the bootloader signature before enabling SBV2 on ESP32
Add some additional checks for invalid sections:
- Sections only partially in DRAM or IRAM are invalid
- If a section is in D/IRAM, allow the possibility only some is in D/IRAM
- Only pass sections that are entirely in the same type of RTC memory region
2020-02-27 14:37:19 +05:30
Supreet Deshpande
a9ccc5e5c8
feat/secure_boot_v2: Adding secure boot v2 support for ESP32-ECO3
2020-02-25 01:28:22 +05:30
Supreet Deshpande
2bf329eb2c
Fixes accessing some files from 2nd part of the bootloader.
2020-02-10 12:34:18 +05:30
Ivan Grokhotkov
fd15acb50f
esp32s2: bootloader: move iram_loader segment higher
...
This gives extra 16kB for the application's static .data/.bss
2020-01-24 10:48:20 +01:00
morris
e30cd361a8
global: rename esp32s2beta to esp32s2
2020-01-22 12:14:38 +08:00
Ivan Grokhotkov
c11f77cb1a
Merge branch 'feature/use_underlying_cmake_targets_for_idf_py' into 'master'
...
CMake: Use underlying flash targets for idf.py
See merge request espressif/esp-idf!7067
2020-01-21 17:05:47 +08:00
duyi
18a05e2ee0
update ld file for esp32-s2
2020-01-16 17:43:59 +08:00
morris
1c2cc5430e
global: bring up esp32s2(not beta)
2020-01-16 17:41:31 +08:00
Renz Christian Bagaporo
cc8bff703e
esptool_py: create flash target functions
2020-01-15 03:36:47 +00:00
Angus Gratton
e890137ad3
Merge branch 'bugfix/cmake_reflashable_build_targets' into 'master'
...
secure boot: Fix bootloader build system target for bootloader digest
Closes IDFGH-2396
See merge request espressif/esp-idf!7069
2020-01-07 06:40:33 +08:00
morris
888316fc64
bootloader_support: refactor to better support multi target
2019-12-23 05:45:17 +00:00
suda-morris
ba7c67ece8
bootloader won't have dependency on wifi
2019-12-23 05:45:17 +00:00
Angus Gratton
0cc98b8d76
secure boot: Fix bootloader build system target for bootloader digest
...
Closes https://github.com/espressif/esp-idf/issues/4513
2019-12-20 15:09:15 +11:00
Angus Gratton
6f761dd62d
cmake: Fix some uninitialized variable warnings
2019-11-08 12:50:28 +08:00
Angus Gratton
4352265fa0
cmake: Fix case error passing extra CMake args to sub-projects
...
Bug in commit f4ea7c5a
where the wrong variable case was used when passing
through to sub-projects
2019-11-08 11:56:13 +08:00
Angus Gratton
75488f1806
Merge branch 'bugfix/cmake_secure_boot' into 'master'
...
secure boot: CMake bug fixes
See merge request espressif/esp-idf!6523
2019-11-08 10:58:04 +08:00
Angus Gratton
e34bb7460f
secure boot: In Reflashable mode, make sure the bootloader digest updates
...
... whenever the bootloader.bin is updated
2019-11-06 12:13:24 +08:00
Jiang Jiang Jian
02a756015d
Merge branch 'feature/wifi_merge_libs_to_master' into 'master'
...
esp_wifi: merge esp32s2beta WiFi library and fix WiFi deinit memory leak bug
See merge request espressif/esp-idf!6531
2019-10-31 20:56:39 +08:00
Xia Xiaotian
9afba2abf5
esp_wifi: merge esp32s2beta WiFi library to master branch
2019-10-29 19:41:33 +08:00
Angus Gratton
f4ea7c5a46
cmake: Set uninitialized variable warnings in ULP & bootloader subprojects
...
Fixes issue where PYTHON was not being expanded when running ulp_mapgen.py,
causing Windows launch setting to be used - reported here:
https://esp32.com/viewtopic.php?f=13&t=12640&p=50283#p50283
2019-10-29 05:38:39 +00:00
Angus Gratton
f5238d5e42
Merge branch 'feature/esp32s2beta' into feature/esp32s2beta_merge
2019-10-15 15:03:45 +11:00
KonstantinKondrashov
267ca19ae8
bootloader: Fix dram_seg
2019-10-08 16:07:53 +08:00
Ivan Grokhotkov
5830f529d8
Merge branch 'master' into feature/esp32s2beta_merge
2019-10-02 19:01:39 +02:00
Ivan Grokhotkov
c496268b10
Merge branch 'feature/load_elf' into 'master'
...
Support ELF files loadable with gdb
Closes IDF-335
See merge request espressif/esp-idf!5779
2019-09-27 19:36:25 +08:00
Roland Dobai
5a916ce126
Support ELF files loadable with gdb
2019-09-24 07:19:50 +00:00
Roland Dobai
833822c10b
Fix Kconfig issues discovered by upstream Kconfiglib
2019-09-23 16:10:57 +02:00
KonstantinKondrashov
6f102125b4
bootloader: Add support esp32s2beta
2019-09-20 16:57:33 +10:00
Angus Gratton
83680bd96b
Merge branch 'feature/esp32s2beta' into feature/esp32s2beta_merge
2019-09-19 21:08:20 +10:00
Angus Gratton
438d513a95
Merge branch 'master' into feature/esp32s2beta_merge
2019-09-16 16:18:48 +10:00
KonstantinKondrashov
e0f7fbc5fa
bootloader: expand the space for iram_loader_seg
...
Fixed ld issue: overflowed iram_loader_seg
2019-09-13 00:39:37 +08:00
Angus Gratton
c052a38e2a
bootloader: Link RTC clock functions to the iram_loader section
...
As flash encryption & secure boot needs these functions after the app is loaded.
Fixes regression introduced in fb72a6f629
2019-09-10 11:28:17 +10:00
jiangguangming
4ef4b29c74
Reorganize the memory to maximize contiguous DRAM
...
1. Fix bug for variable sdkconfig_header in CMakeLists.txt
2. Modify the load address of bootloader
3. Modify the load address of application program
2019-09-06 16:18:42 +08:00
jiangguangming
c057c141eb
Fix bug for reserved memory regions
...
1. Release 16KB memory of reserved regions to heap
2. Modify the dram_seg address of bootloader to 0x3FFF8000, size is 16K
2019-09-05 19:00:14 +08:00
Angus Gratton
c5747027b4
Merge branch 'bugfix/cmake_bootloader_python' into 'master'
...
build system: Pass Python executable through to bootloader build
See merge request espressif/esp-idf!5956
2019-09-03 12:55:58 +08:00
Angus Gratton
abd6d40796
secure boot: Ensure mbedTLS enables ECDSA if signatures are checked in app
...
and all ECDSA to be disabled if secure boot is not enabled
Previously if ECDSA disabled in config then secure_boot_signatures.c would
fail to build (whether or not secure boot was enabled).
To avoid breaking apps that might be using the signature scheme with custom OTA
without enabling secure boot signatures in config, this change just disables
this functionality if unavailable in mbedTLS config.
Possible fix for root cause of https://github.com/espressif/esp-idf/pull/3703
2019-08-30 14:56:11 +10:00
Angus Gratton
e3e21b7954
build system: Pass Python executable through to bootloader build
...
Fixes failures if the PYTHON cache setting doesn't match the
default of "python" on the PATH.
2019-08-29 18:53:18 +10:00
Angus Gratton
1cd54d34f6
Merge branch 'bugfix/bootloader_factory_reset_with_wake_up_from_deep_sleep' into 'master'
...
bootloader: Blocking the Factory reset during wake up from deep sleep
Closes IDFGH-1536
See merge request espressif/esp-idf!5673
2019-08-29 09:35:08 +08:00
Angus Gratton
a21ca2270a
Merge branch 'feature/deep_sleep_fast_wake' into 'master'
...
bootloader: Reduce the time spent in image validation when waking from deep sleep
See merge request espressif/esp-idf!5140
2019-08-28 08:54:28 +08:00
KonstantinKondrashov
69f45c3674
bootloader: Factory reset not for deep sleep
...
Closes: https://github.com/espressif/esp-idf/issues/3800
Closes: IDFGH-1536
2019-08-23 10:21:06 +00:00
Ivan Grokhotkov
12c9d9a564
spi_flash: remove duplicate definition of spi_flash_unlock
...
The other (static) definition is in flash_ops.c, all references are
also in flash_ops.c.
2019-08-23 12:37:55 +08:00
KonstantinKondrashov
c543aac91e
bootloader: API for the fast wakeup and custom using RTC mem
...
Added "Reserve RTC FAST memory for custom purposes" option.
Added a boot counter.
2019-08-21 11:44:37 +00:00
Tim Nordell
43393cf4d1
bootloader: Support for skipping validation upon wake from deep sleep
...
This saves time when waking up from deep sleep, but potentially decreases
the security of the system. If the application able to modify itself
(especially areas that are loaded into RAM) in flash while running
without crashing or is modifies the cached bits of information about
what was last booted from the bootloader, this could cause security
issues if the user does a "deep sleep reset" since the full validation
is skipped.
Signed-off-by: Tim Nordell <tim.nordell@nimbelink.com>
2019-08-21 11:44:37 +00:00
Angus Gratton
04ae56806c
Merge branch 'master' into feature/esp32s2beta_update
2019-08-08 15:26:58 +10:00
Angus Gratton
24d26fccde
Merge branch 'master' into feature/esp32s2beta_update
2019-08-08 13:44:24 +10:00