debugging, found dodgy relocs

This commit is contained in:
Scott Mabin 2023-07-12 10:43:16 +01:00
parent d19e5aef54
commit f15621244b
21 changed files with 2275603 additions and 21 deletions

View File

@ -43,7 +43,7 @@ riscv-atomic-emulation-trap = { version = "0.4.0", optional = true }
# Xtensa
xtensa-lx = { version = "0.8.0", optional = true }
xtensa-lx-rt = { version = "0.15.0", optional = true }
xtensa-lx-rt = { version = "0.15.0", optional = true, path = "/home/mabez/development/rust/embedded/projects/xtensa-lx-rt" }
# Part of `ufmt` containing only `uWrite` trait
ufmt-write = { version = "0.1.0", optional = true }

View File

@ -2,7 +2,7 @@
SECTIONS {
.rodata_dummy (NOLOAD) :
.rodata_dummy (NOLOAD) : ALIGN(4)
{
/* This dummy section represents the .flash.text section but in RODATA.
* Thus, it must have its alignment and (at least) its size.

View File

@ -4,7 +4,7 @@
*/
SECTIONS {
.rtc_fast.dummy (NOLOAD) :
.rtc_fast.dummy (NOLOAD) : ALIGN(4)
{
_rtc_dummy_start = ABSOLUTE(.); /* needed to make section proper size */
. = . + SIZEOF(.rtc_fast.text);

View File

@ -3,8 +3,8 @@
SECTIONS {
.rodata : ALIGN(4)
{
_rodata_start = ABSOLUTE(.);
. = ALIGN (4);
_rodata_start = ABSOLUTE(.);
*(.rodata .rodata.*)
*(.srodata .srodata.*)
_rodata_end = ABSOLUTE(.);

View File

@ -43,7 +43,7 @@ SECTIONS {
. = ALIGN(4);
} > RWDATA
.data.wifi :
.data.wifi : ALIGN(4)
{
. = ALIGN(4);
*( .dram1 .dram1.*)

View File

@ -8,7 +8,7 @@ SECTIONS {
. = ALIGN(4);
} > RWTEXT
.rwtext.wifi :
.rwtext.wifi : ALIGN(4)
{
. = ALIGN(4);
*( .wifi0iram .wifi0iram.*)

View File

@ -4,7 +4,9 @@ SECTIONS {
.text : ALIGN(4)
{
. = ALIGN(4);
*(.literal .text .literal.* .text.*)
. = ALIGN(4);
} > ROTEXT
}

View File

@ -110,3 +110,6 @@ required-features = ["embassy", "async"]
[[example]]
name = "embassy_i2c"
required-features = ["embassy", "async"]
[profile.release]
debug = true

View File

@ -49,7 +49,7 @@ fn main() -> ! {
let alarm0 = syst.alarm0.into_periodic();
alarm0.set_period(1u32.Hz());
alarm0.interrupt_enable(true);
// alarm0.interrupt_enable(true);
let alarm1 = syst.alarm1;
alarm1.set_target(SystemTimer::now() + (SystemTimer::TICKS_PER_SECOND * 2));
@ -57,7 +57,7 @@ fn main() -> ! {
let alarm2 = syst.alarm2;
alarm2.set_target(SystemTimer::now() + (SystemTimer::TICKS_PER_SECOND * 3));
alarm2.interrupt_enable(true);
// alarm2.interrupt_enable(true);
critical_section::with(|cs| {
ALARM0.borrow_ref_mut(cs).replace(alarm0);
@ -65,21 +65,21 @@ fn main() -> ! {
ALARM2.borrow_ref_mut(cs).replace(alarm2);
});
interrupt::enable(
peripherals::Interrupt::SYSTIMER_TARGET0,
Priority::Priority1,
)
.unwrap();
// interrupt::enable(
// peripherals::Interrupt::SYSTIMER_TARGET0,
// Priority::Priority1,
// )
// .unwrap();
interrupt::enable(
peripherals::Interrupt::SYSTIMER_TARGET1,
Priority::Priority2,
)
.unwrap();
interrupt::enable(
peripherals::Interrupt::SYSTIMER_TARGET2,
Priority::Priority3,
)
.unwrap();
// interrupt::enable(
// peripherals::Interrupt::SYSTIMER_TARGET2,
// Priority::Priority3,
// )
// .unwrap();
// Initialize the Delay peripheral, and use it to toggle the LED state in a
// loop.

View File

@ -9,7 +9,7 @@ RESERVE_RTC_FAST = 0;
RESERVE_RTC_SLOW = 0;
/* define stack size for both cores */
STACK_SIZE = 8k;
STACK_SIZE = 32k;
/* Specify main memory areas */
MEMORY

View File

@ -15,7 +15,7 @@ INCLUDE "alias.x"
/* ESP32S3 fixups */
SECTIONS {
.rwdata_dummy (NOLOAD) :
.rwdata_dummy (NOLOAD) : ALIGN(4)
{
/* This dummy section represents the .rwtext section but in RWDATA.
* Thus, it must have its alignment and (at least) its size.
@ -32,7 +32,6 @@ SECTIONS {
/* Prepare the alignment of the section above. */
. = ALIGN(4);
_rwdata_reserved_start = .;
} > RWDATA
}
INSERT BEFORE .data;

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff