Skip to content

Commit 95e0a73

Browse files
authored
Initial support for ESP32-C6-DevKitC-1 (platformio#1054)
Signed-off-by: Stijn Tintel <[email protected]>
1 parent bd031b8 commit 95e0a73

File tree

6 files changed

+40
-12
lines changed

6 files changed

+40
-12
lines changed

boards/esp32-c6-devkitc-1.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"build": {
3+
"core": "esp32",
4+
"f_cpu": "160000000L",
5+
"f_flash": "80000000L",
6+
"flash_mode": "qio",
7+
"mcu": "esp32c6"
8+
},
9+
"connectivity": [
10+
"wifi"
11+
],
12+
"frameworks": [
13+
"espidf"
14+
],
15+
"name": "Espressif ESP32-C6-DevKitC-1",
16+
"upload": {
17+
"flash_size": "8MB",
18+
"maximum_ram_size": 524288,
19+
"maximum_size": 8388608,
20+
"require_upload_port": true,
21+
"speed": 460800
22+
},
23+
"url": "https://docs.espressif.com/projects/espressif-esp-dev-kits/en/latest/esp32c6/esp32-c6-devkitc-1/index.html",
24+
"vendor": "Espressif"
25+
}

builder/frameworks/_embed_files.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,14 +110,14 @@ def transform_to_asm(target, source, env):
110110
" ".join(
111111
[
112112
"riscv32-esp-elf-objcopy"
113-
if mcu == "esp32c3"
113+
if mcu in ("esp32c3", "esp32c6")
114114
else "xtensa-%s-elf-objcopy" % mcu,
115115
"--input-target",
116116
"binary",
117117
"--output-target",
118-
"elf32-littleriscv" if mcu == "esp32c3" else "elf32-xtensa-le",
118+
"elf32-littleriscv" if mcu in ("esp32c3","esp32c6") else "elf32-xtensa-le",
119119
"--binary-architecture",
120-
"riscv" if mcu == "esp32c3" else "xtensa",
120+
"riscv" if mcu in ("esp32c3","esp32c6") else "xtensa",
121121
"--rename-section",
122122
".data=.rodata.embedded",
123123
"$SOURCE",

builder/frameworks/espidf.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
IDF_ENV_VERSION = "1.0.0"
6363
FRAMEWORK_DIR = platform.get_package_dir("framework-espidf")
6464
TOOLCHAIN_DIR = platform.get_package_dir(
65-
"toolchain-%s" % ("riscv32-esp" if mcu == "esp32c3" else ("xtensa-%s" % mcu))
65+
"toolchain-%s" % ("riscv32-esp" if mcu in ("esp32c3","esp32c6") else ("xtensa-%s" % mcu))
6666
)
6767

6868

@@ -234,7 +234,7 @@ def populate_idf_env_vars(idf_env):
234234
os.path.dirname(get_python_exe()),
235235
]
236236

237-
if mcu != "esp32c3":
237+
if mcu not in ("esp32c3", "esp32c6"):
238238
additional_packages.append(
239239
os.path.join(platform.get_package_dir("toolchain-esp32ulp"), "bin"),
240240
)
@@ -489,7 +489,7 @@ def extract_linker_script_fragments(framework_components_dir, sdk_config):
489489
sys.stderr.write("Error: Failed to extract paths to linker script fragments\n")
490490
env.Exit(1)
491491

492-
if mcu == "esp32c3":
492+
if mcu in ("esp32c3", "esp32c6"):
493493
result.append(os.path.join(framework_components_dir, "riscv", "linker.lf"))
494494

495495
# Add extra linker fragments
@@ -1500,7 +1500,7 @@ def _skip_prj_source_files(node):
15001500
(
15011501
board.get(
15021502
"upload.bootloader_offset",
1503-
"0x0" if mcu in ("esp32c3", "esp32s3") else "0x1000",
1503+
"0x0" if mcu in ("esp32c3", "esp32c6", "esp32s3") else "0x1000",
15041504
),
15051505
os.path.join("$BUILD_DIR", "bootloader.bin"),
15061506
),
@@ -1580,7 +1580,7 @@ def _skip_prj_source_files(node):
15801580
#
15811581

15821582
ulp_dir = os.path.join(PROJECT_DIR, "ulp")
1583-
if os.path.isdir(ulp_dir) and os.listdir(ulp_dir) and mcu != "esp32c3":
1583+
if os.path.isdir(ulp_dir) and os.listdir(ulp_dir) and mcu not in ("esp32c3", "esp32c6"):
15841584
env.SConscript("ulp.py", exports="env sdk_config project_config idf_variant")
15851585

15861586
#

builder/main.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ def __fetch_fs_size(target, source, env):
199199
mcu = board.get("build.mcu", "esp32")
200200
toolchain_arch = "xtensa-%s" % mcu
201201
filesystem = board.get("build.filesystem", "spiffs")
202-
if mcu == "esp32c3":
202+
if mcu in ("esp32c3", "esp32c6"):
203203
toolchain_arch = "riscv32-esp"
204204

205205
if "INTEGRATION_EXTRA_DATA" not in env:

examples/espidf-hello-world/platformio.ini

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,6 @@ board = esp32-s2-kaluga-1
2020

2121
[env:esp32-c3-devkitm-1]
2222
board = esp32-c3-devkitm-1
23+
24+
[env:esp32-c6-devkitc-1]
25+
board = esp32-c6-devkitc-1

platform.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,8 @@ def configure_default_packages(self, variables, targets):
119119
else:
120120
self.packages.pop("toolchain-xtensa-%s" % available_mcu, None)
121121

122-
if mcu in ("esp32s2", "esp32s3", "esp32c3"):
123-
# RISC-V based toolchain for ESP32C3, ESP32S2, ESP32S3 ULP
122+
if mcu in ("esp32s2", "esp32s3", "esp32c3", "esp32c6"):
123+
# RISC-V based toolchain for ESP32C3, ESP32C6 ESP32S2, ESP32S3 ULP
124124
self.packages["toolchain-riscv32-esp"]["optional"] = False
125125

126126
if build_core == "mbcwb":
@@ -183,7 +183,7 @@ def _add_dynamic_options(self, board):
183183
"tumpa",
184184
]
185185

186-
if board.get("build.mcu", "") in ("esp32c3", "esp32s3"):
186+
if board.get("build.mcu", "") in ("esp32c3", "esp32c6", "esp32s3"):
187187
supported_debug_tools.append("esp-builtin")
188188

189189
upload_protocol = board.manifest.get("upload", {}).get("protocol")

0 commit comments

Comments
 (0)