-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
esp32s3: add simple boot support #12165
esp32s3: add simple boot support #12165
Conversation
The Simple Boot feature for Espressif chips is a method of booting that doesn't depend on a 2nd stage bootloader. Its not the intention to replace a 2nd stage bootloader such as MCUboot and ESP-IDF bootloader, but to have a minimal and straight-forward way of booting, and also simplify the building. This commit also removes deprecated code and makes this bootloader configuration as default for esp32s3 targets and removes the need for running 'make bootloader' command for it. Other related fix, but not directly to Simple Boot: - Instrumentation is required to run from IRAM to support it during initialization. `is_eco0` function also needs to run from IRAM. - `rtc.data` section placement was fixed. - Provide arch-defined interfaces for efuses, in order to decouple board config level from arch-defined values. Signed-off-by: Almir Okato <almir.okato@espressif.com>
@almir-okato have you tested CONFIG_ESP32S3_APP_FORMAT_LEGACY=y with this patch? |
@almir-okato is this supposed to work for esp32s3 with 32MB flash? i've got:
i can use the same board with ESP32S3_APP_FORMAT_LEGACY. |
|
||
/* ------------------Enable Cache----------------------------------- */ | ||
|
||
cache_hal_enable(CACHE_TYPE_ALL); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can these apis (cache_hal_enable/cache_hal_disable) be used w/o calling cache_hal_init?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @yamt , the cache_hal_init
is called from bootloader_init
. Same routine is called from MCUboot bootloader.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @yamt , the
cache_hal_init
is called frombootloader_init
. Same routine is called from MCUboot bootloader.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok. thank you.
Summary
The Simple Boot feature for Espressif chips is a method of booting that doesn't depend on a 2nd stage bootloader. Its not the intention to replace a 2nd stage bootloader such as MCUboot and ESP-IDF bootloader, but to have a minimal and straight-forward way of booting, and also simplify the building.
This commit also removes deprecated code and makes this bootloader configuration as default for esp32s3 targets and removes the need for running 'make bootloader' command for it.
Other related fix, but not directly to Simple Boot:
is_eco0
function also needs to run from IRAM.rtc.data
section placement was fixed.Impact
ESP32-S3 targets and bootloader.
Testing
Internal CI testing