mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-12-29 00:11:16 +01:00
cpu/esp32/bootloader: add ESP32-C6 support
This commit is contained in:
parent
914f30168a
commit
8ab9078679
@ -176,13 +176,29 @@ else ifeq (esp32c3,$(CPU_FAM))
|
||||
components/soc/$(CPU_FAM)/gdma_periph.c \
|
||||
components/soc/$(CPU_FAM)/temperature_sensor_periph.c \
|
||||
#
|
||||
else ifeq (esp32c6,$(CPU_FAM))
|
||||
ESP_SDK_BOOTLOADER_SRCS += \
|
||||
components/efuse/$(CPU_FAM)/esp_efuse_rtc_calib.c \
|
||||
components/efuse/src/efuse_controller/keys/with_key_purposes/esp_efuse_api_key.c \
|
||||
components/esp_hw_support/port/$(CPU_FAM)/pmu_init.c \
|
||||
components/esp_hw_support/port/$(CPU_FAM)/pmu_param.c \
|
||||
components/esp_hw_support/port/$(CPU_FAM)/pmu_sleep.c \
|
||||
components/esp_rom/patches/esp_rom_hp_regi2c_$(CPU_FAM).c \
|
||||
components/esp_rom/patches/esp_rom_systimer.c \
|
||||
components/esp_rom/patches/esp_rom_wdt.c \
|
||||
components/hal/cache_hal.c \
|
||||
components/hal/wdt_hal_iram.c \
|
||||
components/hal/lp_timer_hal.c \
|
||||
#
|
||||
ESP_SDK_BOOTLOADER_SRCS += components/bootloader_support/src/$(CPU_FAM)/bootloader_ecdsa.c
|
||||
|
||||
else ifeq (esp32h2,$(CPU_FAM))
|
||||
ESP_SDK_BOOTLOADER_SRCS += \
|
||||
components/efuse/$(CPU_FAM)/esp_efuse_rtc_calib.c \
|
||||
components/efuse/src/efuse_controller/keys/with_key_purposes/esp_efuse_api_key.c \
|
||||
components/esp_hw_support/port/esp32h2/pmu_init.c \
|
||||
components/esp_hw_support/port/esp32h2/pmu_param.c \
|
||||
components/esp_hw_support/port/esp32h2/pmu_sleep.c \
|
||||
components/esp_hw_support/port/$(CPU_FAM)/pmu_init.c \
|
||||
components/esp_hw_support/port/$(CPU_FAM)/pmu_param.c \
|
||||
components/esp_hw_support/port/$(CPU_FAM)/pmu_sleep.c \
|
||||
components/esp_rom/patches/esp_rom_regi2c_$(CPU_FAM).c \
|
||||
components/esp_rom/patches/esp_rom_systimer.c \
|
||||
components/esp_rom/patches/esp_rom_wdt.c \
|
||||
@ -260,7 +276,7 @@ ifneq (,$(filter riscv32%,$(TARGET_ARCH)))
|
||||
|
||||
ifeq (esp32c3,$(CPU_FAM))
|
||||
CFLAGS += -march=rv32imc_zicsr_zifencei
|
||||
else ifeq (esp32h2,$(CPU_FAM))
|
||||
else ifneq (,$(filter esp32c6 esp32h2,$(CPU_FAM)))
|
||||
CFLAGS += -march=rv32imac_zicsr_zifencei
|
||||
else
|
||||
$(error Missing -march option for ESP32x RISC-V SoC variant: $(CPU_FAM))
|
||||
@ -353,6 +369,13 @@ else ifneq (,$(filter esp32c3,$(CPU_FAM)))
|
||||
-T$(ESP32_SDK_DIR)/components/esp_rom/$(CPU_FAM)/ld/$(CPU_FAM).rom.eco3.ld \
|
||||
-T$(ESP32_SDK_DIR)/components/esp_rom/$(CPU_FAM)/ld/$(CPU_FAM).rom.eco3_bt_funcs.ld \
|
||||
#
|
||||
else ifneq (,$(filter esp32c6,$(CPU_FAM)))
|
||||
LINKFLAGS += -nostartfiles
|
||||
LINKFLAGS += --specs=nosys.specs
|
||||
ESP_SDK_BOOTLOADER_ADD_LINK_FLAGS += \
|
||||
-T$(ESP32_SDK_DIR)/components/esp_rom/$(CPU_FAM)/ld/$(CPU_FAM).rom.newlib.ld \
|
||||
-T$(ESP32_SDK_DIR)/components/esp_rom/$(CPU_FAM)/ld/$(CPU_FAM).rom.version.ld \
|
||||
#
|
||||
else ifneq (,$(filter esp32h2,$(CPU_FAM)))
|
||||
LINKFLAGS += -nostartfiles
|
||||
LINKFLAGS += --specs=nosys.specs
|
||||
|
||||
@ -36,6 +36,8 @@
|
||||
# include "sdkconfig_default_esp32.h"
|
||||
#elif defined(CPU_FAM_ESP32C3)
|
||||
# include "sdkconfig_default_esp32c3.h"
|
||||
#elif defined(CPU_FAM_ESP32C6)
|
||||
# include "sdkconfig_default_esp32c6.h"
|
||||
#elif defined(CPU_FAM_ESP32H2)
|
||||
# include "sdkconfig_default_esp32h2.h"
|
||||
#elif defined(CPU_FAM_ESP32S2)
|
||||
|
||||
47
cpu/esp32/bootloader/sdkconfig_default_esp32c6.h
Normal file
47
cpu/esp32/bootloader/sdkconfig_default_esp32c6.h
Normal file
@ -0,0 +1,47 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2025 Gunar Schorcht
|
||||
* SPDX-License-Identifier: LGPL-2.1-only
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
/**
|
||||
* @ingroup cpu_esp32
|
||||
* @{
|
||||
*
|
||||
* @file
|
||||
* @brief Default SDK configuration for the ESP32-C3 SoC bootloader
|
||||
*
|
||||
* @author Gunar Schorcht <gunar@schorcht.net>
|
||||
*/
|
||||
|
||||
#ifndef DOXYGEN
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define CONFIG_ESP32C6_REV_MIN_0 1
|
||||
#define CONFIG_ESP32C6_REV_MIN_FULL 0
|
||||
|
||||
#ifndef CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ
|
||||
# define CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ 80
|
||||
#endif
|
||||
|
||||
#define CONFIG_XTAL_FREQ 40
|
||||
|
||||
#define CONFIG_ESP_DEBUG_OCDAWARE 1
|
||||
|
||||
#define CONFIG_BOOTLOADER_OFFSET_IN_FLASH 0x0
|
||||
#define CONFIG_EFUSE_MAX_BLK_LEN 256
|
||||
#define CONFIG_IDF_FIRMWARE_CHIP_ID 0x000D
|
||||
#define CONFIG_MMU_PAGE_SIZE 0x8000
|
||||
|
||||
#define CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG 1
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* DOXYGEN */
|
||||
/** @} */
|
||||
@ -0,0 +1,84 @@
|
||||
From c055591e5f9576d6af1ce42f74414fdf78e6266a Mon Sep 17 00:00:00 2001
|
||||
From: Gunar Schorcht <gunar@schorcht.net>
|
||||
Date: Sun, 20 Apr 2025 16:05:04 +0200
|
||||
Subject: [PATCH 37/37] bootloader: changes for esp32c6 to compile in RIOT-OS
|
||||
|
||||
---
|
||||
.../subproject/main/ld/esp32c6/bootloader.ld | 58 +++++++++----------
|
||||
1 file changed, 28 insertions(+), 30 deletions(-)
|
||||
|
||||
diff --git a/components/bootloader/subproject/main/ld/esp32c6/bootloader.ld b/components/bootloader/subproject/main/ld/esp32c6/bootloader.ld
|
||||
index a9eb54247c..9a7207dfe4 100644
|
||||
--- a/components/bootloader/subproject/main/ld/esp32c6/bootloader.ld
|
||||
+++ b/components/bootloader/subproject/main/ld/esp32c6/bootloader.ld
|
||||
@@ -59,39 +59,37 @@ SECTIONS
|
||||
_loader_text_start = ABSOLUTE(.);
|
||||
*(.stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
|
||||
*(.iram1 .iram1.*) /* catch stray IRAM_ATTR */
|
||||
- *liblog.a:(.literal .text .literal.* .text.*)
|
||||
+ *components/log/*(.literal .text .literal.* .text.*)
|
||||
/* we use either libgcc or compiler-rt, so put similar entries for them here */
|
||||
*libgcc.a:(.literal .text .literal.* .text.*)
|
||||
*libclang_rt.builtins.a:(.literal .text .literal.* .text.*)
|
||||
- *libbootloader_support.a:bootloader_clock_loader.*(.literal .text .literal.* .text.*)
|
||||
- *libbootloader_support.a:bootloader_common_loader.*(.literal .text .literal.* .text.*)
|
||||
- *libbootloader_support.a:bootloader_flash.*(.literal .text .literal.* .text.*)
|
||||
- *libbootloader_support.a:bootloader_random.*(.literal .text .literal.* .text.*)
|
||||
- *libbootloader_support.a:bootloader_random*.*(.literal.bootloader_random_disable .text.bootloader_random_disable)
|
||||
- *libbootloader_support.a:bootloader_random*.*(.literal.bootloader_random_enable .text.bootloader_random_enable)
|
||||
- *libbootloader_support.a:bootloader_efuse.*(.literal .text .literal.* .text.*)
|
||||
- *libbootloader_support.a:bootloader_utility.*(.literal .text .literal.* .text.*)
|
||||
- *libbootloader_support.a:bootloader_sha.*(.literal .text .literal.* .text.*)
|
||||
- *libbootloader_support.a:bootloader_console_loader.*(.literal .text .literal.* .text.*)
|
||||
- *libbootloader_support.a:bootloader_panic.*(.literal .text .literal.* .text.*)
|
||||
- *libbootloader_support.a:bootloader_soc.*(.literal .text .literal.* .text.*)
|
||||
- *libbootloader_support.a:esp_image_format.*(.literal .text .literal.* .text.*)
|
||||
- *libbootloader_support.a:flash_encrypt.*(.literal .text .literal.* .text.*)
|
||||
- *libbootloader_support.a:flash_encryption_secure_features.*(.literal .text .literal.* .text.*)
|
||||
- *libbootloader_support.a:flash_partitions.*(.literal .text .literal.* .text.*)
|
||||
- *libbootloader_support.a:secure_boot.*(.literal .text .literal.* .text.*)
|
||||
- *libbootloader_support.a:secure_boot_secure_features.*(.literal .text .literal.* .text.*)
|
||||
- *libbootloader_support.a:secure_boot_signatures_bootloader.*(.literal .text .literal.* .text.*)
|
||||
- *libmicro-ecc.a:*.*(.literal .text .literal.* .text.*)
|
||||
- *libspi_flash.a:*.*(.literal .text .literal.* .text.*)
|
||||
- *libhal.a:wdt_hal_iram.*(.literal .text .literal.* .text.*)
|
||||
- *libhal.a:mmu_hal.*(.literal .text .literal.* .text.*)
|
||||
- *libhal.a:cache_hal.*(.literal .text .literal.* .text.*)
|
||||
- *libhal.a:efuse_hal.*(.literal .text .literal.* .text.*)
|
||||
- *libesp_hw_support.a:rtc_clk.*(.literal .text .literal.* .text.*)
|
||||
- *libesp_hw_support.a:rtc_time.*(.literal .text .literal.* .text.*)
|
||||
- *libesp_hw_support.a:regi2c_ctrl.*(.literal .text .literal.* .text.*)
|
||||
- *libefuse.a:*.*(.literal .text .literal.* .text.*)
|
||||
+ *components/bootloader_support/*/bootloader_clock_loader.*(.literal .text .literal.* .text.*)
|
||||
+ *components/bootloader_support/*/bootloader_common_loader.*(.literal .text .literal.* .text.*)
|
||||
+ *components/bootloader_support/*/bootloader_flash.*(.literal .text .literal.* .text.*)
|
||||
+ *components/bootloader_support/*/bootloader_random.*(.literal .text .literal.* .text.*)
|
||||
+ *components/bootloader_support/*/bootloader_efuse.*(.literal .text .literal.* .text.*)
|
||||
+ *components/bootloader_support/*/bootloader_utility.*(.literal .text .literal.* .text.*)
|
||||
+ *components/bootloader_support/*/bootloader_sha.*(.literal .text .literal.* .text.*)
|
||||
+ *components/bootloader_support/*/bootloader_console_loader.*(.literal .text .literal.* .text.*)
|
||||
+ *components/bootloader_support/*/bootloader_panic.*(.literal .text .literal.* .text.*)
|
||||
+ *components/bootloader_support/*/bootloader_soc.*(.literal .text .literal.* .text.*)
|
||||
+ *components/bootloader_support/*/esp_image_format.*(.literal .text .literal.* .text.*)
|
||||
+ *components/bootloader_support/*/flash_encrypt.*(.literal .text .literal.* .text.*)
|
||||
+ *components/bootloader_support/*/flash_encryption_secure_features.*(.literal .text .literal.* .text.*)
|
||||
+ *components/bootloader_support/*/flash_partitions.*(.literal .text .literal.* .text.*)
|
||||
+ *components/bootloader_support/*/secure_boot.*(.literal .text .literal.* .text.*)
|
||||
+ *components/bootloader_support/*/secure_boot_secure_features.*(.literal .text .literal.* .text.*)
|
||||
+ *components/bootloader_support/*/secure_boot_signatures_bootloader.*(.literal .text .literal.* .text.*)
|
||||
+ *components/*/micro-ecc/*(.literal .text .literal.* .text.*)
|
||||
+ *components/spi_flash/*(.literal .text .literal.* .text.*)
|
||||
+ *components/hal/wdt_hal_iram.*(.literal .text .literal.* .text.*)
|
||||
+ *components/hal/mmu_hal.*(.literal .text .literal.* .text.*)
|
||||
+ *components/hal/cache_hal.*(.literal .text .literal.* .text.*)
|
||||
+ *components/hal/efuse_hal.*(.literal .text .literal.* .text.*)
|
||||
+ *components/esp_hw_support/*/rtc_clk.*(.literal .text .literal.* .text.*)
|
||||
+ *components/esp_hw_support/*/rtc_time.*(.literal .text .literal.* .text.*)
|
||||
+ *components/esp_hw_support/regi2c_ctrl.*(.literal .text .literal.* .text.*)
|
||||
+ *components/efuse/*(.literal .text .literal.* .text.*)
|
||||
*(.fini.literal)
|
||||
*(.fini)
|
||||
*(.gnu.version)
|
||||
--
|
||||
2.34.1
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user