Initial support for ESP32-C6-DevKitC-1 (#1054)

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
This commit is contained in:
Stijn Tintel
2023-08-03 15:50:34 +03:00
committed by GitHub
parent bd031b8c99
commit 95e0a731cc
6 changed files with 40 additions and 12 deletions
+25
View File
@@ -0,0 +1,25 @@
{
"build": {
"core": "esp32",
"f_cpu": "160000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
"mcu": "esp32c6"
},
"connectivity": [
"wifi"
],
"frameworks": [
"espidf"
],
"name": "Espressif ESP32-C6-DevKitC-1",
"upload": {
"flash_size": "8MB",
"maximum_ram_size": 524288,
"maximum_size": 8388608,
"require_upload_port": true,
"speed": 460800
},
"url": "https://docs.espressif.com/projects/espressif-esp-dev-kits/en/latest/esp32c6/esp32-c6-devkitc-1/index.html",
"vendor": "Espressif"
}
+3 -3
View File
@@ -110,14 +110,14 @@ env.Append(
" ".join(
[
"riscv32-esp-elf-objcopy"
if mcu == "esp32c3"
if mcu in ("esp32c3", "esp32c6")
else "xtensa-%s-elf-objcopy" % mcu,
"--input-target",
"binary",
"--output-target",
"elf32-littleriscv" if mcu == "esp32c3" else "elf32-xtensa-le",
"elf32-littleriscv" if mcu in ("esp32c3","esp32c6") else "elf32-xtensa-le",
"--binary-architecture",
"riscv" if mcu == "esp32c3" else "xtensa",
"riscv" if mcu in ("esp32c3","esp32c6") else "xtensa",
"--rename-section",
".data=.rodata.embedded",
"$SOURCE",
+5 -5
View File
@@ -62,7 +62,7 @@ IDF5 = platform.get_package_version("framework-espidf").split(".")[1].startswith
IDF_ENV_VERSION = "1.0.0"
FRAMEWORK_DIR = platform.get_package_dir("framework-espidf")
TOOLCHAIN_DIR = platform.get_package_dir(
"toolchain-%s" % ("riscv32-esp" if mcu == "esp32c3" else ("xtensa-%s" % mcu))
"toolchain-%s" % ("riscv32-esp" if mcu in ("esp32c3","esp32c6") else ("xtensa-%s" % mcu))
)
@@ -234,7 +234,7 @@ def populate_idf_env_vars(idf_env):
os.path.dirname(get_python_exe()),
]
if mcu != "esp32c3":
if mcu not in ("esp32c3", "esp32c6"):
additional_packages.append(
os.path.join(platform.get_package_dir("toolchain-esp32ulp"), "bin"),
)
@@ -489,7 +489,7 @@ def extract_linker_script_fragments(framework_components_dir, sdk_config):
sys.stderr.write("Error: Failed to extract paths to linker script fragments\n")
env.Exit(1)
if mcu == "esp32c3":
if mcu in ("esp32c3", "esp32c6"):
result.append(os.path.join(framework_components_dir, "riscv", "linker.lf"))
# Add extra linker fragments
@@ -1500,7 +1500,7 @@ env.Prepend(
(
board.get(
"upload.bootloader_offset",
"0x0" if mcu in ("esp32c3", "esp32s3") else "0x1000",
"0x0" if mcu in ("esp32c3", "esp32c6", "esp32s3") else "0x1000",
),
os.path.join("$BUILD_DIR", "bootloader.bin"),
),
@@ -1580,7 +1580,7 @@ env["BUILDERS"]["ElfToBin"].action = action
#
ulp_dir = os.path.join(PROJECT_DIR, "ulp")
if os.path.isdir(ulp_dir) and os.listdir(ulp_dir) and mcu != "esp32c3":
if os.path.isdir(ulp_dir) and os.listdir(ulp_dir) and mcu not in ("esp32c3", "esp32c6"):
env.SConscript("ulp.py", exports="env sdk_config project_config idf_variant")
#
+1 -1
View File
@@ -199,7 +199,7 @@ board = env.BoardConfig()
mcu = board.get("build.mcu", "esp32")
toolchain_arch = "xtensa-%s" % mcu
filesystem = board.get("build.filesystem", "spiffs")
if mcu == "esp32c3":
if mcu in ("esp32c3", "esp32c6"):
toolchain_arch = "riscv32-esp"
if "INTEGRATION_EXTRA_DATA" not in env:
@@ -20,3 +20,6 @@ board = esp32-s2-kaluga-1
[env:esp32-c3-devkitm-1]
board = esp32-c3-devkitm-1
[env:esp32-c6-devkitc-1]
board = esp32-c6-devkitc-1
+3 -3
View File
@@ -119,8 +119,8 @@ class Espressif32Platform(PlatformBase):
else:
self.packages.pop("toolchain-xtensa-%s" % available_mcu, None)
if mcu in ("esp32s2", "esp32s3", "esp32c3"):
# RISC-V based toolchain for ESP32C3, ESP32S2, ESP32S3 ULP
if mcu in ("esp32s2", "esp32s3", "esp32c3", "esp32c6"):
# RISC-V based toolchain for ESP32C3, ESP32C6 ESP32S2, ESP32S3 ULP
self.packages["toolchain-riscv32-esp"]["optional"] = False
if build_core == "mbcwb":
@@ -183,7 +183,7 @@ class Espressif32Platform(PlatformBase):
"tumpa",
]
if board.get("build.mcu", "") in ("esp32c3", "esp32s3"):
if board.get("build.mcu", "") in ("esp32c3", "esp32c6", "esp32s3"):
supported_debug_tools.append("esp-builtin")
upload_protocol = board.manifest.get("upload", {}).get("protocol")