mirror of
https://github.com/letscontrolit/ESPEasy.git
synced 2026-07-27 19:57:38 +00:00
Merge pull request #5532 from TD-er/build/add_ESP32P4_rev3
[ESP32P4r3] Add support for ESP32-P4 rev3
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"build": {
|
||||
"core": "esp32",
|
||||
"extra_flags": [
|
||||
"-DARDUINO_TASMOTA -DESP32P4R3 -DESP32_16M -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE"
|
||||
],
|
||||
"f_cpu": "400000000L",
|
||||
"f_flash": "80000000L",
|
||||
"f_psram": "200000000L",
|
||||
"flash_mode": "qio",
|
||||
"mcu": "esp32p4",
|
||||
"chip_variant": "esp32p4",
|
||||
"variant": "esp32p4",
|
||||
"partitions": "boards/partitions/esp32_partition_app4096k_spiffs8124k.csv"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi",
|
||||
"bluetooth",
|
||||
"openthread",
|
||||
"ethernet"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_target": "esp32p4.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino",
|
||||
"espidf"
|
||||
],
|
||||
"name": "Espressif Generic ESP32-P4 rev.3 16M Flash, ESPEasy 4096k Code/OTA 8M FS",
|
||||
"upload": {
|
||||
"flash_size": "16MB",
|
||||
"maximum_ram_size": 768000,
|
||||
"maximum_size": 16777216,
|
||||
"require_upload_port": true,
|
||||
"speed": 1500000
|
||||
},
|
||||
"url": "https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32p4/esp32-p4-function-ev-board/index.html",
|
||||
"vendor": "Espressif"
|
||||
}
|
||||
@@ -43,7 +43,11 @@ ESPEasy does support a number of variants of the processors manufactured by Espr
|
||||
* **ESP32-H21** ❌
|
||||
* **ESP32-H4** ❌
|
||||
* **ESP32-P4** Support added: 2026-01-08
|
||||
* **ESP32-P4rev3** ❌ (support planned)
|
||||
* **ESP32-P4rev3** Support added: 2026-04-20
|
||||
|
||||
.. note::
|
||||
ESP32-P4 rev. 1.x was renamed by Espressif to "ESP32-P4 ES" as in "Engineering Sample". The newer 'rev.3.x' silicon is now named "ESP32-P4", though some pages on the Espressif site refer to this as "ESP32-P4X".
|
||||
It is unclear yet what will be the common naming schema for these. Both silicon revisions do require different build files.
|
||||
|
||||
|
||||
.. note::
|
||||
@@ -131,7 +135,7 @@ ESPEasy does support a number of variants of the processors manufactured by Espr
|
||||
- 2023/11
|
||||
- 2026/01
|
||||
- ❌
|
||||
- 2026/01
|
||||
- 2026/01 (v3.x:2026/04)
|
||||
* - Introduction
|
||||
- 2014
|
||||
- 2016
|
||||
|
||||
@@ -31,6 +31,7 @@ extra_configs =
|
||||
platformio_esp32c6_envs.ini
|
||||
platformio_esp32c61_envs.ini
|
||||
platformio_esp32p4_envs.ini
|
||||
platformio_esp32p4r3_envs.ini
|
||||
|
||||
|
||||
;default_envs = normal_ESP32_4M
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
|
||||
|
||||
[esp32p4r3_common_LittleFS]
|
||||
extends = esp32p4_common_LittleFS
|
||||
build_flags = ${esp32p4_common_LittleFS.build_flags}
|
||||
extra_scripts = ${esp32p4_common_LittleFS.extra_scripts}
|
||||
board = esp32p4r3
|
||||
|
||||
|
||||
[env:max_ESP32p4r3_16M8M]
|
||||
extends = env:max_ESP32p4_16M8M
|
||||
board = esp32p4r3
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ def get_max_bin_size(env_name, file_suffix):
|
||||
if "_8M1M" in env_name:
|
||||
# ESP32 with 3520k of sketch space.
|
||||
max_bin_size = 3604480
|
||||
if "_ESP32_" in env_name or "_ESP32c3_" in env_name or "_ESP32c5_" in env_name or "_ESP32c6_" in env_name or "_ESP32p4_" in env_name or "_ESP32s2_" in env_name or "_ESP32s3_" in env_name:
|
||||
if "_ESP32_" in env_name or "_ESP32c3_" in env_name or "_ESP32c5_" in env_name or "_ESP32c6_" in env_name or "_ESP32p4_" in env_name or "_ESP32p4r3_" in env_name or "_ESP32s2_" in env_name or "_ESP32s3_" in env_name:
|
||||
if "_16M8M" in env_name or "_16M2M" in env_name or "_16M1M" in env_name:
|
||||
# ESP32 with 4096k of sketch space.
|
||||
max_bin_size = 4194304
|
||||
|
||||
@@ -26,7 +26,9 @@ def create_display_text(description, version, families):
|
||||
fam_split.append('ESP32')
|
||||
if 'ESP32-S2' in families:
|
||||
esp32_split.append('S2')
|
||||
if 'ESP32-S3' in families:
|
||||
if 'ESP32-S31' in families:
|
||||
esp32_split.append('S31')
|
||||
elif 'ESP32-S3' in families:
|
||||
esp32_split.append('S3')
|
||||
if 'ESP32-C2' in families:
|
||||
esp32_split.append('C2')
|
||||
@@ -34,17 +36,20 @@ def create_display_text(description, version, families):
|
||||
esp32_split.append('C3')
|
||||
if 'ESP32-C5' in families:
|
||||
esp32_split.append('C5')
|
||||
if 'ESP32-C6' in families:
|
||||
esp32_split.append('C6')
|
||||
if 'ESP32-C61' in families:
|
||||
esp32_split.append('C61')
|
||||
elif 'ESP32-C6' in families:
|
||||
esp32_split.append('C6')
|
||||
if 'ESP32-H2' in families:
|
||||
esp32_split.append('H2')
|
||||
if 'ESP32-H21' in families:
|
||||
esp32_split.append('H21')
|
||||
if 'ESP32-P4' in families:
|
||||
if 'ESP32-P4R3' in families:
|
||||
esp32_split.append('P4R3')
|
||||
elif 'ESP32-P4' in families:
|
||||
esp32_split.append('P4')
|
||||
|
||||
|
||||
if len(esp32_split) > 0:
|
||||
fam_split.append('ESP32-' + '/'.join(esp32_split))
|
||||
|
||||
@@ -76,6 +81,8 @@ def parse_filename(file, version, variant, file_suffix):
|
||||
manifest_suff = '.manifest.json'
|
||||
if 'ESP32s2' in variant:
|
||||
chipFamily = 'ESP32-S2'
|
||||
elif 'ESP32s31' in variant:
|
||||
chipFamily = 'ESP32-S31'
|
||||
elif 'ESP32s3' in variant:
|
||||
chipFamily = 'ESP32-S3'
|
||||
elif 'ESP32c2' in variant:
|
||||
@@ -94,7 +101,7 @@ def parse_filename(file, version, variant, file_suffix):
|
||||
chipFamily = 'ESP32-H2'
|
||||
elif 'ESP32p4' in variant:
|
||||
chipFamily = 'ESP32-P4'
|
||||
if 'rev300' in variant:
|
||||
if 'rev300' in variant or 'r3' in variant:
|
||||
chipVariant = 'rev300'
|
||||
else:
|
||||
chipVariant = 'rev0'
|
||||
@@ -261,7 +268,7 @@ def parse_filename(file, version, variant, file_suffix):
|
||||
builds = dict([('chipFamily', chipFamily), ('parts', [parts])])
|
||||
else:
|
||||
if add_improv:
|
||||
builds = dict([('chipFamily', chipFamily), ('chipVariant', chipVariant), ('improv', False), ('parts', [parts])])
|
||||
builds = dict([('chipFamily', chipFamily), ('chipVariant', chipVariant), ('improv', True), ('parts', [parts])])
|
||||
else:
|
||||
builds = dict([('chipFamily', chipFamily), ('chipVariant', chipVariant), ('parts', [parts])])
|
||||
|
||||
@@ -382,7 +389,7 @@ def generate_manifest_files(bin_folder, output_prefix):
|
||||
' </style>\n',
|
||||
' <script\n',
|
||||
' type="module"\n',
|
||||
' src="https://unpkg.com/tasmota-esp-web-tools@11.1.2/dist/web/install-button.js?module"\n',
|
||||
' src="https://unpkg.com/tasmota-esp-web-tools@12.0.0/dist/web/install-button.js?module"\n',
|
||||
' ></script>\n',
|
||||
' </head>\n',
|
||||
' <body>\n',
|
||||
|
||||
Reference in New Issue
Block a user