Skip to content

Commit 8c0b5b8

Browse files
authored
Make S3 120 speed setting working (#125)
1 parent e4fcc9d commit 8c0b5b8

File tree

6 files changed

+32
-10
lines changed

6 files changed

+32
-10
lines changed

.github/workflows/parallel_build.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: IDF v5.5 based build
1+
name: IDF v5.5 S3 120M
22

33
on:
44
workflow_dispatch: # Manually start a workflow

build.sh

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,11 +211,17 @@ for target_json in `jq -c '.targets[]' configs/builds.json`; do
211211

212212
# Build IDF Libs
213213
idf_libs_configs="$main_configs"
214+
215+
# Extract frequency from idf_libs (element [1]) for esp32s3
216+
if [ "$target" = "esp32s3" ]; then
217+
export MEM_VARIANT_FREQ=$(echo "$target_json" | jq -r '.idf_libs[1]')
218+
fi
219+
214220
for defconf in `echo "$target_json" | jq -c '.idf_libs[]' | tr -d '"'`; do
215221
idf_libs_configs="$idf_libs_configs;configs/defconfig.$defconf"
216222
done
217223

218-
echo "* Build IDF-Libs: $idf_libs_configs"
224+
echo "* Build IDF-Libs: $idf_libs_configs (freq: $MEM_VARIANT_FREQ)"
219225
rm -rf build sdkconfig
220226
idf.py -DIDF_TARGET="$target" -DSDKCONFIG_DEFAULTS="$idf_libs_configs" idf-libs
221227
if [ $? -ne 0 ]; then exit 1; fi
@@ -236,11 +242,15 @@ for target_json in `jq -c '.targets[]' configs/builds.json`; do
236242
# Build Memory Variants
237243
for mem_conf in `echo "$target_json" | jq -c '.mem_variants[]'`; do
238244
mem_configs="$main_configs"
245+
246+
# Extract frequency from mem_variant (element [1])
247+
export MEM_VARIANT_FREQ=$(echo "$mem_conf" | jq -r '.[1]')
248+
239249
for defconf in `echo "$mem_conf" | jq -c '.[]' | tr -d '"'`; do
240250
mem_configs="$mem_configs;configs/defconfig.$defconf";
241251
done
242252

243-
echo "* Build Memory Variant: $mem_configs"
253+
echo "* Build Memory Variant: $mem_configs (freq: $MEM_VARIANT_FREQ)"
244254
rm -rf build sdkconfig
245255
idf.py -DIDF_TARGET="$target" -DSDKCONFIG_DEFAULTS="$mem_configs" mem-variant
246256
if [ $? -ne 0 ]; then exit 1; fi

configs/builds.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -168,15 +168,16 @@
168168
"idf_libs":["qio","80m","qio_ram"],
169169
"bootloaders":[
170170
["qio","120m","qio_ram"],
171+
["opi","120m","opi_ram"],
171172
["qio","80m","qio_ram"],
172-
["dio","80m","qio_ram"],
173173
["opi","80m","opi_ram"]
174174
],
175175
"mem_variants":[
176+
["opi","80m","opi_ram"],
176177
["qio","80m","opi_ram"],
177-
["dio","80m","qio_ram"],
178-
["dio","80m","opi_ram"],
179-
["opi","80m","opi_ram"]
178+
["qio","120m","opi_ram"],
179+
["opi","120m","opi_ram"],
180+
["qio","120m","qio_ram"]
180181
]
181182
}
182183
]

configs/defconfig.120m

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@ CONFIG_IDF_EXPERIMENTAL_FEATURES=y
22
CONFIG_ESPTOOLPY_FLASHFREQ_120M=y
33
CONFIG_SPIRAM_SPEED_120M=y
44
CONFIG_SPIRAM_SPEED=120
5-
# CONFIG_SPI_FLASH_HPM_ENA=y
5+
CONFIG_SPI_FLASH_HPM_ENABLE=y
6+
CONFIG_SPI_FLASH_HPM_AUTO=y
67
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y

tools/copy-libs.sh

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ else
1313
fi
1414
MEMCONF=$OCT_FLASH"_$OCT_PSRAM"
1515

16+
# For esp32s3, add frequency from environment variable set by build.sh
17+
if [ "$IDF_TARGET" = "esp32s3" ] && [ -n "$MEM_VARIANT_FREQ" ]; then
18+
MEMCONF=$MEMCONF"_$MEM_VARIANT_FREQ"
19+
fi
20+
1621
source ./tools/config.sh
1722

1823
echo "IDF_TARGET: $IDF_TARGET, MEMCONF: $MEMCONF, PWD: $PWD, OUT: $AR_SDK"
@@ -463,7 +468,7 @@ for item; do
463468
fi
464469
fi
465470
done
466-
echo " join($PIO_SDK, board_config.get(\"build.arduino.memory_type\", (board_config.get(\"build.flash_mode\", \"dio\") + \"_qspi\")), \"include\")," >> "$AR_PLATFORMIO_PY"
471+
echo " join($PIO_SDK, (board_config.get(\"build.arduino.memory_type\", (board_config.get(\"build.flash_mode\", \"dio\") + \"_qspi\")) + (\"_\" + board_config.get(\"build.f_boot\", board_config.get(\"build.f_flash\", \"80000000L\")).replace(\"000000L\", \"m\") if board_config.get(\"build.mcu\") == \"esp32s3\" else \"\")), \"include\")," >> "$AR_PLATFORMIO_PY"
467472
echo " join(FRAMEWORK_DIR, \"cores\", board_config.get(\"build.core\"))" >> "$AR_PLATFORMIO_PY"
468473
echo " ]," >> "$AR_PLATFORMIO_PY"
469474
echo "" >> "$AR_PLATFORMIO_PY"
@@ -488,7 +493,7 @@ done
488493
echo " LIBPATH=[" >> "$AR_PLATFORMIO_PY"
489494
echo " join($PIO_SDK, \"lib\")," >> "$AR_PLATFORMIO_PY"
490495
echo " join($PIO_SDK, \"ld\")," >> "$AR_PLATFORMIO_PY"
491-
echo " join($PIO_SDK, board_config.get(\"build.arduino.memory_type\", (board_config.get(\"build.flash_mode\", \"dio\") + \"_qspi\")))" >> "$AR_PLATFORMIO_PY"
496+
echo " join($PIO_SDK, (board_config.get(\"build.arduino.memory_type\", (board_config.get(\"build.flash_mode\", \"dio\") + \"_qspi\")) + (\"_\" + board_config.get(\"build.f_boot\", board_config.get(\"build.f_flash\", \"80000000L\")).replace(\"000000L\", \"m\") if board_config.get(\"build.mcu\") == \"esp32s3\" else \"\")))" >> "$AR_PLATFORMIO_PY"
492497
echo " ]," >> "$AR_PLATFORMIO_PY"
493498
echo "" >> "$AR_PLATFORMIO_PY"
494499

tools/copy-mem-variant.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ fi
1111

1212
MEMCONF=$OCT_FLASH"_$OCT_PSRAM"
1313

14+
# For esp32s3, add frequency from environment variable set by build.sh
15+
if [ "$IDF_TARGET" = "esp32s3" ] && [ -n "$MEM_VARIANT_FREQ" ]; then
16+
MEMCONF=$MEMCONF"_$MEM_VARIANT_FREQ"
17+
fi
18+
1419
source ./tools/config.sh
1520

1621
echo "IDF_TARGET: $IDF_TARGET, MEMCONF: $MEMCONF"

0 commit comments

Comments
 (0)