Skip to content

Commit 751ce01

Browse files
Merge branch 'main' into feat/i2s-move
2 parents 1951f08 + 4b7fbc7 commit 751ce01

File tree

53 files changed

+944
-551
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+944
-551
lines changed

esp-bootloader-esp-idf/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name = "esp-bootloader-esp-idf"
33
version = "0.2.0"
44
edition = "2024"
5-
rust-version = "1.86.0"
5+
rust-version = "1.88.0"
66
description = "Functionality related to the esp-idf bootloader"
77
documentation = "https://docs.espressif.com/projects/rust/esp-bootloader-esp-idf/latest/"
88
keywords = ["esp32", "espressif", "no-std"]

esp-bootloader-esp-idf/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[![Crates.io](https://img.shields.io/crates/v/esp-bootloader-esp-idf?labelColor=1C2C2E&color=C96329&logo=Rust&style=flat-square)](https://crates.io/crates/esp-bootloader-esp-idf)
44
[![docs.rs](https://img.shields.io/docsrs/esp-bootloader-esp-idf?labelColor=1C2C2E&color=C96329&logo=rust&style=flat-square)](https://docs.espressif.com/projects/rust/esp-bootloader-esp-idf/latest/)
5-
![MSRV](https://img.shields.io/badge/MSRV-1.86.0-blue?labelColor=1C2C2E&style=flat-square)
5+
![MSRV](https://img.shields.io/badge/MSRV-1.88.0-blue?labelColor=1C2C2E&style=flat-square)
66
![Crates.io](https://img.shields.io/crates/l/esp-bootloader-esp-idf?labelColor=1C2C2E&style=flat-square)
77
[![Matrix](https://img.shields.io/matrix/esp-rs:matrix.org?label=join%20matrix&labelColor=1C2C2E&color=BEC5C9&logo=matrix&style=flat-square)](https://matrix.to/#/#esp-rs:matrix.org)
88

esp-bootloader-esp-idf/src/partitions.rs

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,8 @@ impl<'a> PartitionTable<'a> {
199199
return Err(Error::Invalid);
200200
}
201201

202-
if binary.len() % RAW_ENTRY_LEN != 0 {
202+
let (binary, rem) = binary.as_chunks::<RAW_ENTRY_LEN>();
203+
if !rem.is_empty() {
203204
return Err(Error::Invalid);
204205
}
205206

@@ -210,14 +211,6 @@ impl<'a> PartitionTable<'a> {
210211
});
211212
}
212213

213-
// we checked binary before
214-
let binary = unsafe {
215-
core::slice::from_raw_parts(
216-
binary.as_ptr() as *const [u8; RAW_ENTRY_LEN],
217-
binary.len() / RAW_ENTRY_LEN,
218-
)
219-
};
220-
221214
let mut raw_table = Self {
222215
binary,
223216
entries: binary.len(),

esp-hal/src/exception_handler/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ unsafe extern "C" fn ExceptionHandler(context: &TrapFrame) -> ! {
4949
};
5050

5151
panic!(
52-
"Exception '{}' mepc={:08x}, mtval={:08x}\n{:?}",
52+
"Exception '{}' mepc=0x{:08x}, mtval=0x{:08x}\n{:?}",
5353
code, mepc, mtval, context
5454
);
5555
}

esp-hal/src/lib.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -699,5 +699,9 @@ pub fn init(config: Config) -> Peripherals {
699699
#[cfg(feature = "psram")]
700700
crate::psram::init_psram(config.psram);
701701

702+
unsafe {
703+
esp_rom_sys::init_syscall_table();
704+
}
705+
702706
peripherals
703707
}

esp-metadata-generated/src/_build_script_utils.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,7 @@ impl Chip {
201201
"soc_has_cpu_ctrl",
202202
"soc_has_dac1",
203203
"soc_has_dac2",
204+
"soc_has_flash",
204205
"soc_has_psram",
205206
"soc_has_sw_interrupt",
206207
"soc_has_touch",
@@ -363,6 +364,7 @@ impl Chip {
363364
"cargo:rustc-cfg=soc_has_cpu_ctrl",
364365
"cargo:rustc-cfg=soc_has_dac1",
365366
"cargo:rustc-cfg=soc_has_dac2",
367+
"cargo:rustc-cfg=soc_has_flash",
366368
"cargo:rustc-cfg=soc_has_psram",
367369
"cargo:rustc-cfg=soc_has_sw_interrupt",
368370
"cargo:rustc-cfg=soc_has_touch",
@@ -502,6 +504,7 @@ impl Chip {
502504
"soc_has_dma_ch0",
503505
"soc_has_adc1",
504506
"soc_has_bt",
507+
"soc_has_flash",
505508
"soc_has_sw_interrupt",
506509
"soc_has_wifi",
507510
"soc_has_mem2mem1",
@@ -622,6 +625,7 @@ impl Chip {
622625
"cargo:rustc-cfg=soc_has_dma_ch0",
623626
"cargo:rustc-cfg=soc_has_adc1",
624627
"cargo:rustc-cfg=soc_has_bt",
628+
"cargo:rustc-cfg=soc_has_flash",
625629
"cargo:rustc-cfg=soc_has_sw_interrupt",
626630
"cargo:rustc-cfg=soc_has_wifi",
627631
"cargo:rustc-cfg=soc_has_mem2mem1",
@@ -761,6 +765,7 @@ impl Chip {
761765
"soc_has_adc1",
762766
"soc_has_adc2",
763767
"soc_has_bt",
768+
"soc_has_flash",
764769
"soc_has_sw_interrupt",
765770
"soc_has_tsens",
766771
"soc_has_wifi",
@@ -923,6 +928,7 @@ impl Chip {
923928
"cargo:rustc-cfg=soc_has_adc1",
924929
"cargo:rustc-cfg=soc_has_adc2",
925930
"cargo:rustc-cfg=soc_has_bt",
931+
"cargo:rustc-cfg=soc_has_flash",
926932
"cargo:rustc-cfg=soc_has_sw_interrupt",
927933
"cargo:rustc-cfg=soc_has_tsens",
928934
"cargo:rustc-cfg=soc_has_wifi",
@@ -1117,6 +1123,7 @@ impl Chip {
11171123
"soc_has_dma_ch2",
11181124
"soc_has_adc1",
11191125
"soc_has_bt",
1126+
"soc_has_flash",
11201127
"soc_has_lp_core",
11211128
"soc_has_sw_interrupt",
11221129
"soc_has_tsens",
@@ -1335,6 +1342,7 @@ impl Chip {
13351342
"cargo:rustc-cfg=soc_has_dma_ch2",
13361343
"cargo:rustc-cfg=soc_has_adc1",
13371344
"cargo:rustc-cfg=soc_has_bt",
1345+
"cargo:rustc-cfg=soc_has_flash",
13381346
"cargo:rustc-cfg=soc_has_lp_core",
13391347
"cargo:rustc-cfg=soc_has_sw_interrupt",
13401348
"cargo:rustc-cfg=soc_has_tsens",
@@ -1548,6 +1556,7 @@ impl Chip {
15481556
"soc_has_dma_ch2",
15491557
"soc_has_adc1",
15501558
"soc_has_bt",
1559+
"soc_has_flash",
15511560
"soc_has_sw_interrupt",
15521561
"soc_has_mem2mem1",
15531562
"soc_has_mem2mem4",
@@ -1737,6 +1746,7 @@ impl Chip {
17371746
"cargo:rustc-cfg=soc_has_dma_ch2",
17381747
"cargo:rustc-cfg=soc_has_adc1",
17391748
"cargo:rustc-cfg=soc_has_bt",
1749+
"cargo:rustc-cfg=soc_has_flash",
17401750
"cargo:rustc-cfg=soc_has_sw_interrupt",
17411751
"cargo:rustc-cfg=soc_has_mem2mem1",
17421752
"cargo:rustc-cfg=soc_has_mem2mem4",
@@ -1920,6 +1930,7 @@ impl Chip {
19201930
"soc_has_adc2",
19211931
"soc_has_dac1",
19221932
"soc_has_dac2",
1933+
"soc_has_flash",
19231934
"soc_has_psram",
19241935
"soc_has_sw_interrupt",
19251936
"soc_has_ulp_riscv_core",
@@ -2098,6 +2109,7 @@ impl Chip {
20982109
"cargo:rustc-cfg=soc_has_adc2",
20992110
"cargo:rustc-cfg=soc_has_dac1",
21002111
"cargo:rustc-cfg=soc_has_dac2",
2112+
"cargo:rustc-cfg=soc_has_flash",
21012113
"cargo:rustc-cfg=soc_has_psram",
21022114
"cargo:rustc-cfg=soc_has_sw_interrupt",
21032115
"cargo:rustc-cfg=soc_has_ulp_riscv_core",
@@ -2287,6 +2299,7 @@ impl Chip {
22872299
"soc_has_adc2",
22882300
"soc_has_bt",
22892301
"soc_has_cpu_ctrl",
2302+
"soc_has_flash",
22902303
"soc_has_psram",
22912304
"soc_has_sw_interrupt",
22922305
"soc_has_ulp_riscv_core",
@@ -2487,6 +2500,7 @@ impl Chip {
24872500
"cargo:rustc-cfg=soc_has_adc2",
24882501
"cargo:rustc-cfg=soc_has_bt",
24892502
"cargo:rustc-cfg=soc_has_cpu_ctrl",
2503+
"cargo:rustc-cfg=soc_has_flash",
24902504
"cargo:rustc-cfg=soc_has_psram",
24912505
"cargo:rustc-cfg=soc_has_sw_interrupt",
24922506
"cargo:rustc-cfg=soc_has_ulp_riscv_core",
@@ -2704,6 +2718,7 @@ pub fn emit_check_cfg_directives() {
27042718
println!("cargo:rustc-check-cfg=cfg(soc_has_cpu_ctrl)");
27052719
println!("cargo:rustc-check-cfg=cfg(soc_has_dac1)");
27062720
println!("cargo:rustc-check-cfg=cfg(soc_has_dac2)");
2721+
println!("cargo:rustc-check-cfg=cfg(soc_has_flash)");
27072722
println!("cargo:rustc-check-cfg=cfg(soc_has_psram)");
27082723
println!("cargo:rustc-check-cfg=cfg(soc_has_sw_interrupt)");
27092724
println!("cargo:rustc-check-cfg=cfg(soc_has_touch)");

esp-metadata-generated/src/_generated_esp32.rs

Lines changed: 49 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -567,54 +567,55 @@ macro_rules! for_each_peripheral {
567567
_for_each_inner!((ADC2 <= virtual() (unstable))); _for_each_inner!((BT <=
568568
virtual() (unstable))); _for_each_inner!((CPU_CTRL <= virtual() (unstable)));
569569
_for_each_inner!((DAC1 <= virtual() (unstable))); _for_each_inner!((DAC2 <=
570-
virtual() (unstable))); _for_each_inner!((PSRAM <= virtual() (unstable)));
571-
_for_each_inner!((SW_INTERRUPT <= virtual() (unstable))); _for_each_inner!((TOUCH
572-
<= virtual() (unstable))); _for_each_inner!((all(GPIO0 <= virtual()), (GPIO1 <=
573-
virtual()), (GPIO2 <= virtual()), (GPIO3 <= virtual()), (GPIO4 <= virtual()),
574-
(GPIO5 <= virtual()), (GPIO6 <= virtual()), (GPIO7 <= virtual()), (GPIO8 <=
575-
virtual()), (GPIO9 <= virtual()), (GPIO10 <= virtual()), (GPIO11 <= virtual()),
576-
(GPIO12 <= virtual()), (GPIO13 <= virtual()), (GPIO14 <= virtual()), (GPIO15 <=
577-
virtual()), (GPIO16 <= virtual()), (GPIO17 <= virtual()), (GPIO18 <= virtual()),
578-
(GPIO19 <= virtual()), (GPIO20 <= virtual()), (GPIO21 <= virtual()), (GPIO22 <=
579-
virtual()), (GPIO23 <= virtual()), (GPIO25 <= virtual()), (GPIO26 <= virtual()),
580-
(GPIO27 <= virtual()), (GPIO32 <= virtual()), (GPIO33 <= virtual()), (GPIO34 <=
581-
virtual()), (GPIO35 <= virtual()), (GPIO36 <= virtual()), (GPIO37 <= virtual()),
582-
(GPIO38 <= virtual()), (GPIO39 <= virtual()), (AES <= AES() (unstable)),
583-
(APB_CTRL <= APB_CTRL() (unstable)), (BB <= BB() (unstable)), (DPORT <= DPORT()
584-
(unstable)), (SYSTEM <= DPORT() (unstable)), (EFUSE <= EFUSE() (unstable)),
585-
(EMAC_DMA <= EMAC_DMA() (unstable)), (EMAC_EXT <= EMAC_EXT() (unstable)),
586-
(EMAC_MAC <= EMAC_MAC() (unstable)), (FLASH_ENCRYPTION <= FLASH_ENCRYPTION()
587-
(unstable)), (FRC_TIMER <= FRC_TIMER() (unstable)), (GPIO <= GPIO() (unstable)),
588-
(GPIO_SD <= GPIO_SD() (unstable)), (HINF <= HINF() (unstable)), (I2C0 <=
589-
I2C0(I2C_EXT0 : { bind_peri_interrupt, enable_peri_interrupt,
590-
disable_peri_interrupt })), (I2C1 <= I2C1(I2C_EXT1 : { bind_peri_interrupt,
591-
enable_peri_interrupt, disable_peri_interrupt })), (I2S0 <= I2S0(I2S0 : {
592-
bind_peri_interrupt, enable_peri_interrupt, disable_peri_interrupt })
593-
(unstable)), (I2S1 <= I2S1(I2S1 : { bind_peri_interrupt, enable_peri_interrupt,
594-
disable_peri_interrupt }) (unstable)), (IO_MUX <= IO_MUX() (unstable)), (LEDC <=
595-
LEDC() (unstable)), (MCPWM0 <= MCPWM0() (unstable)), (MCPWM1 <= MCPWM1()
596-
(unstable)), (NRX <= NRX() (unstable)), (PCNT <= PCNT() (unstable)), (RMT <=
597-
RMT() (unstable)), (RNG <= RNG() (unstable)), (RSA <= RSA(RSA : {
598-
bind_peri_interrupt, enable_peri_interrupt, disable_peri_interrupt })
599-
(unstable)), (LPWR <= RTC_CNTL() (unstable)), (RTC_I2C <= RTC_I2C() (unstable)),
600-
(RTC_IO <= RTC_IO() (unstable)), (SDHOST <= SDHOST() (unstable)), (SENS <= SENS()
601-
(unstable)), (SHA <= SHA() (unstable)), (SLC <= SLC() (unstable)), (SLCHOST <=
602-
SLCHOST() (unstable)), (SPI0 <= SPI0() (unstable)), (SPI1 <= SPI1() (unstable)),
603-
(SPI2 <= SPI2(SPI2_DMA : { bind_dma_interrupt, enable_dma_interrupt,
604-
disable_dma_interrupt }, SPI2 : { bind_peri_interrupt, enable_peri_interrupt,
605-
disable_peri_interrupt })), (SPI3 <= SPI3(SPI3_DMA : { bind_dma_interrupt,
606-
enable_dma_interrupt, disable_dma_interrupt }, SPI3 : { bind_peri_interrupt,
607-
enable_peri_interrupt, disable_peri_interrupt })), (TIMG0 <= TIMG0() (unstable)),
608-
(TIMG1 <= TIMG1() (unstable)), (TWAI0 <= TWAI0() (unstable)), (UART0 <=
609-
UART0(UART0 : { bind_peri_interrupt, enable_peri_interrupt,
610-
disable_peri_interrupt })), (UART1 <= UART1(UART1 : { bind_peri_interrupt,
611-
enable_peri_interrupt, disable_peri_interrupt })), (UART2 <= UART2(UART2 : {
612-
bind_peri_interrupt, enable_peri_interrupt, disable_peri_interrupt })), (UHCI0 <=
613-
UHCI0() (unstable)), (UHCI1 <= UHCI1() (unstable)), (WIFI <= WIFI() (unstable)),
614-
(DMA_SPI2 <= SPI2() (unstable)), (DMA_SPI3 <= SPI3() (unstable)), (DMA_I2S0 <=
615-
I2S0() (unstable)), (DMA_I2S1 <= I2S1() (unstable)), (ADC1 <= virtual()
616-
(unstable)), (ADC2 <= virtual() (unstable)), (BT <= virtual() (unstable)),
617-
(CPU_CTRL <= virtual() (unstable)), (DAC1 <= virtual() (unstable)), (DAC2 <=
570+
virtual() (unstable))); _for_each_inner!((FLASH <= virtual() (unstable)));
571+
_for_each_inner!((PSRAM <= virtual() (unstable))); _for_each_inner!((SW_INTERRUPT
572+
<= virtual() (unstable))); _for_each_inner!((TOUCH <= virtual() (unstable)));
573+
_for_each_inner!((all(GPIO0 <= virtual()), (GPIO1 <= virtual()), (GPIO2 <=
574+
virtual()), (GPIO3 <= virtual()), (GPIO4 <= virtual()), (GPIO5 <= virtual()),
575+
(GPIO6 <= virtual()), (GPIO7 <= virtual()), (GPIO8 <= virtual()), (GPIO9 <=
576+
virtual()), (GPIO10 <= virtual()), (GPIO11 <= virtual()), (GPIO12 <= virtual()),
577+
(GPIO13 <= virtual()), (GPIO14 <= virtual()), (GPIO15 <= virtual()), (GPIO16 <=
578+
virtual()), (GPIO17 <= virtual()), (GPIO18 <= virtual()), (GPIO19 <= virtual()),
579+
(GPIO20 <= virtual()), (GPIO21 <= virtual()), (GPIO22 <= virtual()), (GPIO23 <=
580+
virtual()), (GPIO25 <= virtual()), (GPIO26 <= virtual()), (GPIO27 <= virtual()),
581+
(GPIO32 <= virtual()), (GPIO33 <= virtual()), (GPIO34 <= virtual()), (GPIO35 <=
582+
virtual()), (GPIO36 <= virtual()), (GPIO37 <= virtual()), (GPIO38 <= virtual()),
583+
(GPIO39 <= virtual()), (AES <= AES() (unstable)), (APB_CTRL <= APB_CTRL()
584+
(unstable)), (BB <= BB() (unstable)), (DPORT <= DPORT() (unstable)), (SYSTEM <=
585+
DPORT() (unstable)), (EFUSE <= EFUSE() (unstable)), (EMAC_DMA <= EMAC_DMA()
586+
(unstable)), (EMAC_EXT <= EMAC_EXT() (unstable)), (EMAC_MAC <= EMAC_MAC()
587+
(unstable)), (FLASH_ENCRYPTION <= FLASH_ENCRYPTION() (unstable)), (FRC_TIMER <=
588+
FRC_TIMER() (unstable)), (GPIO <= GPIO() (unstable)), (GPIO_SD <= GPIO_SD()
589+
(unstable)), (HINF <= HINF() (unstable)), (I2C0 <= I2C0(I2C_EXT0 : {
590+
bind_peri_interrupt, enable_peri_interrupt, disable_peri_interrupt })), (I2C1 <=
591+
I2C1(I2C_EXT1 : { bind_peri_interrupt, enable_peri_interrupt,
592+
disable_peri_interrupt })), (I2S0 <= I2S0(I2S0 : { bind_peri_interrupt,
593+
enable_peri_interrupt, disable_peri_interrupt }) (unstable)), (I2S1 <= I2S1(I2S1
594+
: { bind_peri_interrupt, enable_peri_interrupt, disable_peri_interrupt })
595+
(unstable)), (IO_MUX <= IO_MUX() (unstable)), (LEDC <= LEDC() (unstable)),
596+
(MCPWM0 <= MCPWM0() (unstable)), (MCPWM1 <= MCPWM1() (unstable)), (NRX <= NRX()
597+
(unstable)), (PCNT <= PCNT() (unstable)), (RMT <= RMT() (unstable)), (RNG <=
598+
RNG() (unstable)), (RSA <= RSA(RSA : { bind_peri_interrupt,
599+
enable_peri_interrupt, disable_peri_interrupt }) (unstable)), (LPWR <= RTC_CNTL()
600+
(unstable)), (RTC_I2C <= RTC_I2C() (unstable)), (RTC_IO <= RTC_IO() (unstable)),
601+
(SDHOST <= SDHOST() (unstable)), (SENS <= SENS() (unstable)), (SHA <= SHA()
602+
(unstable)), (SLC <= SLC() (unstable)), (SLCHOST <= SLCHOST() (unstable)), (SPI0
603+
<= SPI0() (unstable)), (SPI1 <= SPI1() (unstable)), (SPI2 <= SPI2(SPI2_DMA : {
604+
bind_dma_interrupt, enable_dma_interrupt, disable_dma_interrupt }, SPI2 : {
605+
bind_peri_interrupt, enable_peri_interrupt, disable_peri_interrupt })), (SPI3 <=
606+
SPI3(SPI3_DMA : { bind_dma_interrupt, enable_dma_interrupt, disable_dma_interrupt
607+
}, SPI3 : { bind_peri_interrupt, enable_peri_interrupt, disable_peri_interrupt
608+
})), (TIMG0 <= TIMG0() (unstable)), (TIMG1 <= TIMG1() (unstable)), (TWAI0 <=
609+
TWAI0() (unstable)), (UART0 <= UART0(UART0 : { bind_peri_interrupt,
610+
enable_peri_interrupt, disable_peri_interrupt })), (UART1 <= UART1(UART1 : {
611+
bind_peri_interrupt, enable_peri_interrupt, disable_peri_interrupt })), (UART2 <=
612+
UART2(UART2 : { bind_peri_interrupt, enable_peri_interrupt,
613+
disable_peri_interrupt })), (UHCI0 <= UHCI0() (unstable)), (UHCI1 <= UHCI1()
614+
(unstable)), (WIFI <= WIFI() (unstable)), (DMA_SPI2 <= SPI2() (unstable)),
615+
(DMA_SPI3 <= SPI3() (unstable)), (DMA_I2S0 <= I2S0() (unstable)), (DMA_I2S1 <=
616+
I2S1() (unstable)), (ADC1 <= virtual() (unstable)), (ADC2 <= virtual()
617+
(unstable)), (BT <= virtual() (unstable)), (CPU_CTRL <= virtual() (unstable)),
618+
(DAC1 <= virtual() (unstable)), (DAC2 <= virtual() (unstable)), (FLASH <=
618619
virtual() (unstable)), (PSRAM <= virtual() (unstable)), (SW_INTERRUPT <=
619620
virtual() (unstable)), (TOUCH <= virtual() (unstable))));
620621
};

0 commit comments

Comments
 (0)