KonstantinKondrashov
9605f3eb1a
soc: Adds efuse hal
...
Replaced eFuse ROM funcs with hal layer
2022-02-24 22:20:09 +08:00
laokaiyao
cf049e15ed
esp8684: rename target to esp32c2
2022-01-19 11:08:57 +08:00
morris
869bed1bb5
soc: don't expose unstable soc header files in public api
2022-01-06 23:10:22 +08:00
Cao Sen Miao
3a4db97cec
spi_flash: move patch files to common rom patch folder
2021-12-30 14:05:12 +08:00
Jakob Hasse
64a355eba8
feat (bootloader): added rng sampling
...
Set maximum RNG query frequency to save value known from tests
2021-12-27 13:59:20 +08:00
Ivan Grokhotkov
7056fd3129
bootloader: don't add nonexistent directories to EXTRA_COMPONENT_DIRS
2021-12-14 19:17:53 +01:00
Cao Sen Miao
e81841318f
CI: Enable ESP8684 build stage CI on master
2021-12-13 19:18:47 +08:00
Roland Dobai
766aa57084
Build & config: Remove leftover files from the unsupported "make" build system
2021-11-11 15:32:36 +01:00
Cao Sen Miao
bf6fa70812
ESP8684: update bootloader, bootloader_support, esp_rom
2021-11-06 17:33:44 +08:00
Ivan Grokhotkov
5bfd10113a
bootloader: fix adding bootloader_components to EXTRA_COMPONENT_DIRS
2021-10-06 10:17:19 +02:00
Sachin Parekh
bf1dde7233
bootloader: Enable clock glitch detection
...
Reset the device when clock glitch detected. Clock glitch detection is
only active in bootloader
2021-09-02 12:25:12 +05:30
Wu Zheng Hui
fb7894382b
Merge branch 'bugfix/fix_c3_bootloader_ld_addr_err' into 'master'
...
update c3 bootloader ld rom addr info
See merge request espressif/esp-idf!14168
2021-07-31 05:43:58 +00:00
SalimTerryLi
2347e68e6b
soc: move peripheral linker scripts out of target component
2021-07-22 12:55:01 +08:00
KonstantinKondrashov
4ccb5515ef
fpga/bootloader: Fix LoadProhibited error when bootloader_fill_random() is not in iram_loader_seg
2021-07-16 10:50:06 +10:00
Angus Gratton
4fe4df8770
Merge branch 'feature/bootloader_pin_level_pr7089' into 'master'
...
bootloader: Add configurable pin level for factory reset (PR)
Closes IDFGH-5337
See merge request espressif/esp-idf!13956
2021-07-13 05:39:25 +00:00
Angus Gratton
6bbb58c8c2
bootloader: Small cleanup and docs for factory reset level config
...
- Add to docs & config descriptions
- Change to a "choice" to become self-documenting
- Keep the bootloader_common_check_long_hold_gpio() function for compatibility
2021-07-05 12:08:36 +08:00
chegewara
fb7234a13d
bootloader: Add selectable level for factory reset pin
...
Closes https://github.com/espressif/esp-idf/pull/7089
2021-07-05 12:08:36 +08:00
Omar Chebib
a79acb413e
bootloader: override the 2nd stage bootloader
...
Add the possibility to have user bootloader components. This is performed
from an application/project, by creating bootloader components. To do so,
it is required to create a `bootloader_component` directory containing
the custom modules to be compiled with the bootloader.
Thanks to this, two solutions are available to override the bootloader now:
- Using hooks within a user bootloader component
- Using a user defined `main` bootloader component to totally override the
old implementation
Please check the two new examples in `examples/custom_bootloader`
* Closes https://github.com/espressif/esp-idf/issues/7043
2021-07-05 10:25:32 +08:00
Shu Chen
75bd02bd46
esp32h2: add some more fixes and TODOs
2021-07-01 20:36:39 +08:00
wuzhenghui
112372d598
update rom bootloader addr info
2021-07-01 19:53:50 +08:00
Shu Chen
2df4ddf998
esp32h2: fixes after rebase
2021-07-01 19:53:50 +08:00
Shu Chen
c0056813f2
esp32h2: add bootloader support
2021-07-01 19:53:11 +08:00
wuzhenghui
a59eb2d607
update c3 bootloader ld addr info
2021-06-28 10:51:06 +08:00
Konstantin Kondrashov
f339b3fc96
efuse(esp32): Deprecate esp_efuse_burn_new_values() & esp_efuse_write_random_key()
...
These functions were used only for esp32 in secure_boot and flash encryption.
Use idf efuse APIs instead of efuse regs.
2021-06-17 07:21:36 +08:00
Anton Maklakov
343cc5025b
make build system: fix build for undefined _lock_* funcs
2021-06-07 12:53:45 +07:00
Jan Brudný
dffe49f305
bootloader: update copyright notice
2021-06-02 14:22:09 +02:00
Jakob Hasse
fc22e3c645
[system]: Made longjmp save for context switch
...
* Patched longjmp to be context-switch safe
longjmp modifies the windowbase and windowstart
registers, which isn't safe if a context switch
occurs during the modification. After a context
switch, windowstart and windowbase will be
different, leading to a wrongly set windowstart
bit due to longjmp writing it based on the
windowbase before the context switch. This
corrupts the registers at the next window
overflow reaching that wrongly set bit.
The solution is to disable interrupts during
this code. It is only 6 instructions long,
the impact shouldn't be significant.
The fix is implemented as a wrapper which
replaces the original first instructions of
longjmp which are buggy. Then, it jumps back
to execute the rest of the original longjmp
function.
Added a comparably reliable test to the
test apps.
2021-04-23 15:55:31 +08:00
KonstantinKondrashov
fd867a11df
bootloader: Suppress a Cmake warning - variables were not used by the project
...
Manually-specified variables were not used by the project: SECURE_BOOT_SIGNING_KEY
2021-04-13 11:28:13 +00:00
Marius Vikhammer
8ac74082f1
soc: add dummy bytes to ensure instr prefetch always valid
...
The CPU might prefetch instructions, which means it in some cases
will try to fetch instruction located after the last instruction in
flash.text.
Add dummy bytes to ensure fetching these wont result in an error,
e.g. MMU exceptions
2021-03-29 13:50:03 +08:00
Angus Gratton
1581744c10
Merge branch 'feature/main_task_affinity_pr6627' into 'master'
...
Allow selection of different core for main task
Closes IDFGH-4828
See merge request espressif/esp-idf!12654
2021-03-22 06:46:24 +00:00
KonstantinKondrashov
95564b4687
secure_boot: Secure Boot V2 verify app signature on update (without Secure boot)
...
- ESP32 ECO3, ESP32-S2/C3/S3
2021-03-15 12:30:20 +00:00
0xFEEDC0DE64
6928db7670
Allow selection of different core for main task
...
Closes https://github.com/espressif/esp-idf/pull/6627
2021-03-09 10:13:28 +11:00
Angus Gratton
90ec0b0327
bootloader: Allow 'silent assert' config to work in bootloader
...
Requires adding the 'newlib' component to the bootloader project, for
platform_include header.
2021-03-03 10:26:57 +11:00
Renz Bagaporo
5e8799bbfe
esp_common: move some headers
2021-02-24 12:16:37 +08: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
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
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
fuzhibo
247789bb2e
rtc: support access internal i2c register
2020-09-27 12:12:17 +08: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
morris
3a8f5e45f0
bootloader: add linker script for esp32s3
2020-07-20 10:51:05 +08: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
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
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
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
Xia Xiaotian
9afba2abf5
esp_wifi: merge esp32s2beta WiFi library to master branch
2019-10-29 19:41:33 +08: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
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
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
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
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
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
Anton Maklakov
afbaf74007
tools: Mass fixing of empty prototypes (for -Wstrict-prototypes)
2019-08-01 16:28:56 +07:00
Renz Christian Bagaporo
9edc867c62
bootloader: fix secure boot issues
...
Do not include bootloader in flash target when secure boot is enabled.
Emit signing warning on all cases where signed apps are enabled (secure
boot and signed images)
Follow convention of capital letters for SECURE_BOOT_SIGNING_KEY variable, since it is
relevant to other components, not just bootloader.
Pass signing key and verification key via config, not requiring
bootloader to know parent app dir.
Misc. variables name corrections
2019-06-28 10:54:21 +08:00
Angus Gratton
9a412d3a08
Merge branch 'feature/use_new_component_registration_apis' into 'master'
...
Use new component registration API
See merge request idf/esp-idf!4898
2019-06-25 10:24:11 +08:00
Angus Gratton
9d573c65dc
Merge branch 'bugfix/legacy_header_bootloader_build' into 'master'
...
bootloader: pass legacy header config variable to subproject
See merge request idf/esp-idf!4966
2019-06-25 10:23:33 +08:00
Renz Christian Bagaporo
9eccd7c082
components: use new component registration api
2019-06-21 19:53:29 +08:00