Add support for ESP32C3

This commit is contained in:
me-no-dev 2021-04-13 00:33:15 +03:00
parent 1a838f3b0c
commit e18c7dec3c
5 changed files with 1817 additions and 38 deletions

View file

@ -20,7 +20,7 @@ if [ $? -ne 0 ]; then exit 1; fi
source ./tools/install-esp-idf.sh
if [ $? -ne 0 ]; then exit 1; fi
TARGETS="esp32s2 esp32"
TARGETS="esp32c3 esp32s2 esp32"
echo $(git -C $AR_COMPS/arduino describe --all --long) > version.txt

View file

@ -108,7 +108,7 @@ uint8_t fb_gfx_putc(fb_data_t *fb, int32_t x, int32_t y, uint32_t color, unsigne
return xa;
}
uint32_t fb_gfx_print(fb_data_t *fb, int x, int y, uint32_t color, const char * str)
uint32_t fb_gfx_print(fb_data_t *fb, int32_t x, int32_t y, uint32_t color, const char * str)
{
uint32_t l = 0;
int xc = x, yc = y, lc = fb->width - gfxFont->glyph[0].xAdvance;

1762
sdkconfig.esp32c3 Normal file

File diff suppressed because it is too large Load diff

View file

@ -18,27 +18,33 @@ elif [ "$IDF_TARGET" = "esp32s2" ]; then
$SED -i '/CONFIG_ESP32S2_DEFAULT_CPU_FREQ_160/c\CONFIG_ESP32S2_DEFAULT_CPU_FREQ_160 is not set' ./sdkconfig
$SED -i '/CONFIG_ESP32S2_DEFAULT_CPU_FREQ_240/c\# CONFIG_ESP32S2_DEFAULT_CPU_FREQ_240=y' ./sdkconfig
$SED -i '/CONFIG_ESP32S2_DEFAULT_CPU_FREQ_MHZ/c\CONFIG_ESP32S2_DEFAULT_CPU_FREQ_MHZ=240' ./sdkconfig
elif [ "$IDF_TARGET" = "esp32c3" ]; then
$SED -i '/CONFIG_ESP32C3_DEFAULT_CPU_FREQ_80/c\# CONFIG_ESP32C3_DEFAULT_CPU_FREQ_80 is not set' ./sdkconfig
$SED -i '/CONFIG_ESP32C3_DEFAULT_CPU_FREQ_160/c\CONFIG_ESP32C3_DEFAULT_CPU_FREQ_160=y' ./sdkconfig
$SED -i '/CONFIG_ESP32C3_DEFAULT_CPU_FREQ_MHZ/c\CONFIG_ESP32C3_DEFAULT_CPU_FREQ_MHZ=160' ./sdkconfig
fi
if [ "$IDF_TARGET" != "esp32c3" ]; then
$SED -i '/CONFIG_SPIRAM_SPEED_40M/c\# CONFIG_SPIRAM_SPEED_40M is not set' ./sdkconfig
$SED -i '/CONFIG_SPIRAM_SPEED_80M/c\CONFIG_SPIRAM_SPEED_80M=y' ./sdkconfig
echo "CONFIG_SPIRAM_SPEED_80M=y" >> ./sdkconfig
fi
$SED -i '/CONFIG_ESPTOOLPY_FLASHFREQ_80M/c\CONFIG_ESPTOOLPY_FLASHFREQ_80M=y' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHFREQ_40M/c\# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_QIO/c\CONFIG_FLASHMODE_QIO=y' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_QOUT/c\# CONFIG_FLASHMODE_QOUT is not set' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_DIO/c\# CONFIG_FLASHMODE_DIO is not set' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_DOUT/c\# CONFIG_FLASHMODE_DOUT is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QIO/c\CONFIG_ESPTOOLPY_FLASHMODE_QIO=y' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QOUT/c\# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DIO/c\# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DOUT/c\# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set' ./sdkconfig
echo "******** BUILDING BOOTLOADER QIO 80MHz *******"
idf.py bootloader || exit 1
cp build/bootloader/bootloader.bin $TARGET_PATH/bootloader_qio_80m.bin
$SED -i '/CONFIG_FLASHMODE_QIO/c\# CONFIG_FLASHMODE_QIO is not set' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_QOUT/c\CONFIG_FLASHMODE_QOUT=y' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_DIO/c\# CONFIG_FLASHMODE_DIO is not set' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_DOUT/c\# CONFIG_FLASHMODE_DOUT is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QIO/c\# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QOUT/c\CONFIG_ESPTOOLPY_FLASHMODE_QOUT=y' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DIO/c\# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DOUT/c\# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set' ./sdkconfig
echo "******** BUILDING BOOTLOADER QOUT 80MHz *******"
idf.py bootloader || exit 1
cp build/bootloader/bootloader.bin $TARGET_PATH/bootloader_qout_80m.bin
@ -47,18 +53,18 @@ if [ "$IDF_TARGET" = "esp32" ]; then
echo "CONFIG_SPIRAM_SPIWP_SD3_PIN=7" >> ./sdkconfig
fi
$SED -i '/CONFIG_FLASHMODE_QIO/c\# CONFIG_FLASHMODE_QIO is not set' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_QOUT/c\# CONFIG_FLASHMODE_QOUT is not set' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_DIO/c\CONFIG_FLASHMODE_DIO=y' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_DOUT/c\# CONFIG_FLASHMODE_DOUT is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QIO/c\# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QOUT/c\# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DIO/c\CONFIG_ESPTOOLPY_FLASHMODE_DIO=y' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DOUT/c\# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set' ./sdkconfig
echo "******** BUILDING BOOTLOADER DIO 80MHz *******"
idf.py bootloader || exit 1
cp build/bootloader/bootloader.bin $TARGET_PATH/bootloader_dio_80m.bin
$SED -i '/CONFIG_FLASHMODE_QIO/c\# CONFIG_FLASHMODE_QIO is not set' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_QOUT/c\# CONFIG_FLASHMODE_QOUT is not set' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_DIO/c\# CONFIG_FLASHMODE_DIO is not set' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_DOUT/c\CONFIG_FLASHMODE_DOUT=y' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QIO/c\# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QOUT/c\# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DIO/c\# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DOUT/c\CONFIG_ESPTOOLPY_FLASHMODE_DOUT=y' ./sdkconfig
echo "******** BUILDING BOOTLOADER DOUT 80MHz *******"
idf.py bootloader || exit 1
cp build/bootloader/bootloader.bin $TARGET_PATH/bootloader_dout_80m.bin
@ -71,18 +77,18 @@ if [ "$IDF_TARGET" = "esp32" ]; then
echo "# CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_8V is not set" >> ./sdkconfig
fi
$SED -i '/CONFIG_FLASHMODE_QIO/c\CONFIG_FLASHMODE_QIO=y' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_QOUT/c\# CONFIG_FLASHMODE_QOUT is not set' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_DIO/c\# CONFIG_FLASHMODE_DIO is not set' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_DOUT/c\# CONFIG_FLASHMODE_DOUT is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QIO/c\CONFIG_ESPTOOLPY_FLASHMODE_QIO=y' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QOUT/c\# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DIO/c\# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DOUT/c\# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set' ./sdkconfig
echo "******** BUILDING BOOTLOADER QIO 40MHz *******"
idf.py bootloader || exit 1
cp build/bootloader/bootloader.bin $TARGET_PATH/bootloader_qio_40m.bin
$SED -i '/CONFIG_FLASHMODE_QIO/c\# CONFIG_FLASHMODE_QIO is not set' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_QOUT/c\CONFIG_FLASHMODE_QOUT=y' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_DIO/c\# CONFIG_FLASHMODE_DIO is not set' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_DOUT/c\# CONFIG_FLASHMODE_DOUT is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QIO/c\# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QOUT/c\CONFIG_ESPTOOLPY_FLASHMODE_QOUT=y' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DIO/c\# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DOUT/c\# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set' ./sdkconfig
echo "******** BUILDING BOOTLOADER QOUT 40MHz *******"
idf.py bootloader || exit 1
cp build/bootloader/bootloader.bin $TARGET_PATH/bootloader_qout_40m.bin
@ -91,18 +97,18 @@ if [ "$IDF_TARGET" = "esp32" ]; then
echo "CONFIG_SPIRAM_SPIWP_SD3_PIN=7" >> ./sdkconfig
fi
$SED -i '/CONFIG_FLASHMODE_QIO/c\# CONFIG_FLASHMODE_QIO is not set' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_QOUT/c\# CONFIG_FLASHMODE_QOUT is not set' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_DIO/c\CONFIG_FLASHMODE_DIO=y' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_DOUT/c\# CONFIG_FLASHMODE_DOUT is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QIO/c\# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QOUT/c\# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DIO/c\CONFIG_ESPTOOLPY_FLASHMODE_DIO=y' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DOUT/c\# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set' ./sdkconfig
echo "******** BUILDING BOOTLOADER DIO 40MHz *******"
idf.py bootloader || exit 1
cp build/bootloader/bootloader.bin $TARGET_PATH/bootloader_dio_40m.bin
$SED -i '/CONFIG_FLASHMODE_QIO/c\# CONFIG_FLASHMODE_QIO is not set' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_QOUT/c\# CONFIG_FLASHMODE_QOUT is not set' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_DIO/c\# CONFIG_FLASHMODE_DIO is not set' ./sdkconfig
$SED -i '/CONFIG_FLASHMODE_DOUT/c\CONFIG_FLASHMODE_DOUT=y' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QIO/c\# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QOUT/c\# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DIO/c\# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DOUT/c\CONFIG_ESPTOOLPY_FLASHMODE_DOUT=y' ./sdkconfig
echo "******** BUILDING BOOTLOADER DOUT 40MHz *******"
idf.py bootloader || exit 1
cp build/bootloader/bootloader.bin $TARGET_PATH/bootloader_dout_40m.bin

View file

@ -133,7 +133,18 @@ done
add_next=0
is_dir=0
is_script=0
if [ -f "build/CMakeFiles/arduino-lib-builder.elf.dir/link.txt" ]; then
str=`cat build/CMakeFiles/arduino-lib-builder.elf.dir/link.txt`
else
libs=`cat build/build.ninja | grep LINK_LIBRARIES`
libs="${libs:19:${#libs}-1}"
flags=`cat build/build.ninja | grep LINK_FLAGS`
flags="${flags:15:${#flags}-1}"
if [ "$IDF_TARGET" = "esp32" ]; then
flags="-Wno-frame-address $flags"
fi
str="-mlongcalls $flags $libs"
fi
set -- $str
for item; do
prefix="${item:0:1}"