Fix insertion location of trap section in ram (#605)

* Fix insertion location of trap section in ram

* Apply fixes for db and mcuboot

* Add changelog
This commit is contained in:
Scott Mabin 2023-06-23 12:00:16 +01:00
parent 0b26d3851c
commit 510dba03b4
10 changed files with 14 additions and 14 deletions

View File

@ -51,7 +51,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Fixed CI by pinning the log crate to 0.4.18 (#600) - Fixed CI by pinning the log crate to 0.4.18 (#600)
- ESP32-S3: Fix calculation of PSRAM start address - ESP32-S3: Fix calculation of PSRAM start address
- Fixed wrong variable access (FOSC CLK calibration for ESP32-C6 #593) - Fixed wrong variable access (FOSC CLK calibration for ESP32-C6 #593)
- Fixed [trap location in ram](https://github.com/esp-rs/esp-hal/pull/605#issuecomment-1604039683) (#605)
### Changed ### Changed
- Improve examples documentation (#533) - Improve examples documentation (#533)

View File

@ -67,7 +67,7 @@ SECTIONS {
*(.trap.*); *(.trap.*);
} > RWTEXT } > RWTEXT
} }
INSERT AFTER .rwtext; INSERT BEFORE .rwtext;
SECTIONS { SECTIONS {
/** /**

View File

@ -89,10 +89,10 @@ SECTIONS
_data_size = _data_end - _data_start + 8; _data_size = _data_end - _data_start + 8;
.rwtext ORIGIN(REGION_RWTEXT) + _data_size : AT(_text_size + _rodata_size + _data_size){ .rwtext ORIGIN(REGION_RWTEXT) + _data_size : AT(_text_size + _rodata_size + _data_size){
_srwtext = .; _srwtext = .;
*(.rwtext);
. = ALIGN(4);
KEEP(*(.trap)); KEEP(*(.trap));
*(.trap.*); *(.trap.*);
*(.rwtext);
. = ALIGN(4);
_erwtext = .; _erwtext = .;
} > REGION_RWTEXT } > REGION_RWTEXT
_rwtext_size = _erwtext - _srwtext + 8; _rwtext_size = _erwtext - _srwtext + 8;

View File

@ -67,7 +67,7 @@ SECTIONS {
*(.trap.*); *(.trap.*);
} > RWTEXT } > RWTEXT
} }
INSERT AFTER .rwtext; INSERT BEFORE .rwtext;
SECTIONS { SECTIONS {
/** /**

View File

@ -89,10 +89,10 @@ SECTIONS
_data_size = _data_end - _data_start + 8; _data_size = _data_end - _data_start + 8;
.rwtext ORIGIN(REGION_RWTEXT) + _data_size : AT(_text_size + _rodata_size + _data_size){ .rwtext ORIGIN(REGION_RWTEXT) + _data_size : AT(_text_size + _rodata_size + _data_size){
_srwtext = .; _srwtext = .;
*(.rwtext);
. = ALIGN(4);
KEEP(*(.trap)); KEEP(*(.trap));
*(.trap.*); *(.trap.*);
*(.rwtext);
. = ALIGN(4);
_erwtext = .; _erwtext = .;
} > REGION_RWTEXT } > REGION_RWTEXT
_rwtext_size = _erwtext - _srwtext + 8; _rwtext_size = _erwtext - _srwtext + 8;

View File

@ -64,9 +64,9 @@ SECTIONS
KEEP(*(.init)); KEEP(*(.init));
KEEP(*(.init.rust)); KEEP(*(.init.rust));
KEEP(*(.text.abort)); KEEP(*(.text.abort));
. = ALIGN(4);
KEEP(*(.trap)); KEEP(*(.trap));
*(.trap.*); *(.trap.*);
. = ALIGN(4);
*libriscv-*.rlib:riscv.*(.literal .text .literal.* .text.*); *libriscv-*.rlib:riscv.*(.literal .text .literal.* .text.*);
*libesp_riscv_rt-*.rlib:esp-riscv-rt.*(.literal .text .literal.* .text.*); *libesp_riscv_rt-*.rlib:esp-riscv-rt.*(.literal .text .literal.* .text.*);

View File

@ -71,7 +71,7 @@ SECTIONS {
*(.trap.*); *(.trap.*);
} > RWTEXT } > RWTEXT
} }
INSERT AFTER .rwtext; INSERT BEFORE .rwtext;
SECTIONS { SECTIONS {
/** /**

View File

@ -94,10 +94,10 @@ SECTIONS
_data_size = _data_end - _data_start + 8; _data_size = _data_end - _data_start + 8;
.rwtext ORIGIN(REGION_RWTEXT) + _data_size : AT(_text_size + _rodata_size + _data_size){ .rwtext ORIGIN(REGION_RWTEXT) + _data_size : AT(_text_size + _rodata_size + _data_size){
_srwtext = .; _srwtext = .;
*(.rwtext);
. = ALIGN(4);
KEEP(*(.trap)); KEEP(*(.trap));
*(.trap.*); *(.trap.*);
*(.rwtext);
. = ALIGN(4);
_erwtext = .; _erwtext = .;
} > REGION_RWTEXT } > REGION_RWTEXT
_rwtext_size = _erwtext - _srwtext + 8; _rwtext_size = _erwtext - _srwtext + 8;

View File

@ -65,7 +65,7 @@ SECTIONS {
*(.trap.*); *(.trap.*);
} > RWTEXT } > RWTEXT
} }
INSERT AFTER .rwtext; INSERT BEFORE .rwtext;
SECTIONS { SECTIONS {
/** /**

View File

@ -94,10 +94,10 @@ SECTIONS
_data_size = _data_end - _data_start + 8; _data_size = _data_end - _data_start + 8;
.rwtext ORIGIN(REGION_RWTEXT) + _data_size : AT(_text_size + _rodata_size + _data_size){ .rwtext ORIGIN(REGION_RWTEXT) + _data_size : AT(_text_size + _rodata_size + _data_size){
_srwtext = .; _srwtext = .;
*(.rwtext);
. = ALIGN(4);
KEEP(*(.trap)); KEEP(*(.trap));
*(.trap.*); *(.trap.*);
*(.rwtext);
. = ALIGN(4);
_erwtext = .; _erwtext = .;
} > REGION_RWTEXT } > REGION_RWTEXT
_rwtext_size = _erwtext - _srwtext + 8; _rwtext_size = _erwtext - _srwtext + 8;