Implement memory variants on all chips to fix flash modes
This commit is contained in:
parent
d953301dbd
commit
29387059e8
4 changed files with 71 additions and 43 deletions
|
|
@ -11,7 +11,7 @@ idf_build_get_property(elf EXECUTABLE GENERATOR_EXPRESSION)
|
|||
|
||||
add_custom_command(
|
||||
OUTPUT "idf_libs"
|
||||
COMMAND ${CMAKE_SOURCE_DIR}/tools/copy-libs.sh ${IDF_TARGET} "${CONFIG_ESPTOOLPY_OCT_FLASH}" "${CONFIG_SPIRAM_MODE_OCT}" "${CONFIG_IDF_TARGET_ARCH_XTENSA}"
|
||||
COMMAND ${CMAKE_SOURCE_DIR}/tools/copy-libs.sh ${IDF_TARGET} "${CONFIG_LIB_BUILDER_FLASHMODE}" "${CONFIG_SPIRAM_MODE_OCT}" "${CONFIG_IDF_TARGET_ARCH_XTENSA}"
|
||||
DEPENDS ${elf}
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
VERBATIM
|
||||
|
|
@ -29,7 +29,7 @@ add_custom_target(copy-bootloader DEPENDS "copy_bootloader")
|
|||
|
||||
add_custom_command(
|
||||
OUTPUT "mem_variant"
|
||||
COMMAND ${CMAKE_SOURCE_DIR}/tools/copy-mem-variant.sh ${IDF_TARGET} "${CONFIG_ESPTOOLPY_OCT_FLASH}" "${CONFIG_SPIRAM_MODE_OCT}"
|
||||
COMMAND ${CMAKE_SOURCE_DIR}/tools/copy-mem-variant.sh ${IDF_TARGET} "${CONFIG_LIB_BUILDER_FLASHMODE}" "${CONFIG_SPIRAM_MODE_OCT}"
|
||||
DEPENDS ${elf}
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
VERBATIM
|
||||
|
|
|
|||
|
|
@ -1,34 +1,40 @@
|
|||
{
|
||||
"mem_variants_files":[
|
||||
{
|
||||
"file":"libbootloader_support.a",
|
||||
"src":"build/esp-idf/bootloader_support/libbootloader_support.a",
|
||||
"out":"lib/libbootloader_support.a"
|
||||
},
|
||||
{
|
||||
"file":"libesp_hw_support.a",
|
||||
"src":"build/esp-idf/esp_hw_support/libesp_hw_support.a",
|
||||
"out":"lib/libesp_hw_support.a"
|
||||
},
|
||||
{
|
||||
"file":"libspi_flash.a",
|
||||
"src":"build/esp-idf/spi_flash/libspi_flash.a",
|
||||
"out":"lib/libspi_flash.a"
|
||||
},
|
||||
{
|
||||
"file":"libfreertos.a",
|
||||
"src":"build/esp-idf/freertos/libfreertos.a",
|
||||
"out":"lib/libfreertos.a"
|
||||
"out":"lib/libspi_flash.a",
|
||||
"targets":["esp32","esp32c3","esp32s2","esp32s3"]
|
||||
},
|
||||
{
|
||||
"file":"libesp_system.a",
|
||||
"src":"build/esp-idf/esp_system/libesp_system.a",
|
||||
"out":"lib/libesp_system.a"
|
||||
"out":"lib/libesp_system.a",
|
||||
"targets":["esp32s3"]
|
||||
},
|
||||
{
|
||||
"file":"libfreertos.a",
|
||||
"src":"build/esp-idf/freertos/libfreertos.a",
|
||||
"out":"lib/libfreertos.a",
|
||||
"targets":["esp32s3"]
|
||||
},
|
||||
{
|
||||
"file":"libbootloader_support.a",
|
||||
"src":"build/esp-idf/bootloader_support/libbootloader_support.a",
|
||||
"out":"lib/libbootloader_support.a",
|
||||
"targets":["esp32s3"]
|
||||
},
|
||||
{
|
||||
"file":"libesp_hw_support.a",
|
||||
"src":"build/esp-idf/esp_hw_support/libesp_hw_support.a",
|
||||
"out":"lib/libesp_hw_support.a",
|
||||
"targets":["esp32s3"]
|
||||
},
|
||||
{
|
||||
"file":"sections.ld",
|
||||
"src":"build/esp-idf/esp_system/ld/sections.ld",
|
||||
"out":"ld/sections.ld"
|
||||
"out":"ld/sections.ld",
|
||||
"targets":["esp32s3"]
|
||||
}
|
||||
],
|
||||
"targets":[
|
||||
|
|
@ -44,6 +50,8 @@
|
|||
],
|
||||
"mem_variants":[
|
||||
["qio","80m","opi_ram"],
|
||||
["dio","80m","qio_ram"],
|
||||
["dio","80m","opi_ram"],
|
||||
["opi","80m","opi_ram"],
|
||||
["opi","80m","qio_ram"]
|
||||
]
|
||||
|
|
@ -62,7 +70,11 @@
|
|||
["dio","40m"],
|
||||
["dout","40m"]
|
||||
],
|
||||
"mem_variants":[]
|
||||
"mem_variants":[
|
||||
["qout","80m"],
|
||||
["dio","80m"],
|
||||
["dout","80m"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"target": "esp32c3",
|
||||
|
|
@ -78,12 +90,16 @@
|
|||
["dio","40m"],
|
||||
["dout","40m"]
|
||||
],
|
||||
"mem_variants":[]
|
||||
"mem_variants":[
|
||||
["qout","80m"],
|
||||
["dio","80m"],
|
||||
["dout","80m"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"target": "esp32",
|
||||
"features":["qio_ram"],
|
||||
"idf_libs":["dio","40m"],
|
||||
"idf_libs":["qio","80m"],
|
||||
"bootloaders":[
|
||||
["qio","80m"],
|
||||
["qout","80m"],
|
||||
|
|
@ -94,7 +110,11 @@
|
|||
["dio","40m"],
|
||||
["dout","40m"]
|
||||
],
|
||||
"mem_variants":[]
|
||||
"mem_variants":[
|
||||
["qout","80m"],
|
||||
["dio","80m"],
|
||||
["dout","80m"]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -3,13 +3,9 @@
|
|||
|
||||
IDF_TARGET=$1
|
||||
IS_XTENSA=$4
|
||||
OCT_FLASH=
|
||||
OCT_FLASH="$2"
|
||||
OCT_PSRAM=
|
||||
if [ "$2" = "y" ]; then
|
||||
OCT_FLASH="opi"
|
||||
else
|
||||
OCT_FLASH="qspi"
|
||||
fi
|
||||
|
||||
if [ "$3" = "y" ]; then
|
||||
OCT_PSRAM="opi"
|
||||
else
|
||||
|
|
@ -514,9 +510,18 @@ done
|
|||
mkdir -p "$AR_SDK/$MEMCONF/include"
|
||||
mv "$PWD/build/config/sdkconfig.h" "$AR_SDK/$MEMCONF/include/sdkconfig.h"
|
||||
for mem_variant in `jq -c '.mem_variants_files[]' configs/builds.json`; do
|
||||
skip_file=1
|
||||
for file_target in $(echo "$mem_variant" | jq -c '.targets[]' | tr -d '"'); do
|
||||
if [ "$file_target" == "$IDF_TARGET" ]; then
|
||||
skip_file=0
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ $skip_file -eq 0 ]; then
|
||||
file=$(echo "$mem_variant" | jq -c '.file' | tr -d '"')
|
||||
out=$(echo "$mem_variant" | jq -c '.out' | tr -d '"')
|
||||
mv "$AR_SDK/$out" "$AR_SDK/$MEMCONF/$file"
|
||||
fi
|
||||
done;
|
||||
|
||||
# Add IDF versions to sdkconfig
|
||||
|
|
|
|||
|
|
@ -1,14 +1,8 @@
|
|||
#!/bin/bash
|
||||
IDF_TARGET=$1
|
||||
OCT_FLASH=
|
||||
OCT_FLASH="$2"
|
||||
OCT_PSRAM=
|
||||
|
||||
if [ "$2" = "y" ]; then
|
||||
OCT_FLASH="opi"
|
||||
else
|
||||
OCT_FLASH="qspi"
|
||||
fi
|
||||
|
||||
if [ "$3" = "y" ]; then
|
||||
OCT_PSRAM="opi"
|
||||
else
|
||||
|
|
@ -30,7 +24,16 @@ rm -rf "$AR_SDK/$MEMCONF"
|
|||
mkdir -p "$AR_SDK/$MEMCONF/include"
|
||||
mv "build/config/sdkconfig.h" "$AR_SDK/$MEMCONF/include/sdkconfig.h"
|
||||
for mem_variant in `jq -c '.mem_variants_files[]' configs/builds.json`; do
|
||||
skip_file=1
|
||||
for file_target in $(echo "$mem_variant" | jq -c '.targets[]' | tr -d '"'); do
|
||||
if [ "$file_target" == "$IDF_TARGET" ]; then
|
||||
skip_file=0
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ $skip_file -eq 0 ]; then
|
||||
file=$(echo "$mem_variant" | jq -c '.file' | tr -d '"')
|
||||
src=$(echo "$mem_variant" | jq -c '.src' | tr -d '"')
|
||||
cp "$src" "$AR_SDK/$MEMCONF/$file"
|
||||
fi
|
||||
done;
|
||||
|
|
|
|||
Loading…
Reference in a new issue