Merge branch 'release/v4.3.0'
This commit is contained in:
@@ -45,4 +45,4 @@ jobs:
|
||||
pio pkg install --global --platform symlink://.
|
||||
- name: Build examples
|
||||
run: |
|
||||
platformio run -d ${{ matrix.example }}
|
||||
pio run -d ${{ matrix.example }}
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
name: "Unit Testing"
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-latest, windows-latest, macos-latest]
|
||||
python-version: [3.7]
|
||||
example:
|
||||
- "examples/espidf-hello-world"
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: "recursive"
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -U https://github.com/platformio/platformio/archive/develop.zip
|
||||
pio pkg install --global --platform symlink://.
|
||||
- name: Build test
|
||||
run: |
|
||||
pio test -d ${{ matrix.example }} --without-uploading --without-testing
|
||||
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino":{
|
||||
"ldscript": "esp32_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": [
|
||||
"-DARDUINO_ADAFRUIT_FEATHER_ESP32_V2",
|
||||
"-DBOARD_HAS_PSRAM",
|
||||
"-mfix-esp32-psram-cache-issue",
|
||||
"-mfix-esp32-psram-cache-strategy=memw"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "40000000L",
|
||||
"flash_mode": "dio",
|
||||
"mcu": "esp32",
|
||||
"variant": "adafruit_feather_esp32_v2"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi",
|
||||
"bluetooth",
|
||||
"ethernet",
|
||||
"can"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_board": "esp-wroom-32.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino",
|
||||
"espidf"
|
||||
],
|
||||
"name": "Adafruit Feather ESP32 V2",
|
||||
"upload": {
|
||||
"flash_size": "8MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 8388608,
|
||||
"require_upload_port": true,
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "https://www.adafruit.com/product/5400",
|
||||
"vendor": "Adafruit"
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino":{
|
||||
"ldscript": "esp32s3_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": [
|
||||
"-DARDUINO_ADAFRUIT_FEATHER_ESP32S3_NOPSRAM",
|
||||
"-DARDUINO_USB_CDC_ON_BOOT=1",
|
||||
"-DARDUINO_RUNNING_CORE=1",
|
||||
"-DARDUINO_EVENT_RUNNING_CORE=1"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
"hwids": [
|
||||
[
|
||||
"0x239A",
|
||||
"0x8113"
|
||||
],
|
||||
[
|
||||
"0x239A",
|
||||
"0x0113"
|
||||
],
|
||||
[
|
||||
"0x239A",
|
||||
"0x8114"
|
||||
]
|
||||
],
|
||||
"mcu": "esp32s3",
|
||||
"variant": "adafruit_feather_esp32s3_nopsram"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_target": "esp32s3.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino"
|
||||
],
|
||||
"name": "Adafruit Feather ESP32-S3 No PSRAM",
|
||||
"upload": {
|
||||
"arduino": {
|
||||
"flash_extra_images": [
|
||||
[
|
||||
"0x410000",
|
||||
"variants/adafruit_feather_esp32s3_nopsram/tinyuf2.bin"
|
||||
]
|
||||
]
|
||||
},
|
||||
"flash_size": "4MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 4194304,
|
||||
"use_1200bps_touch": true,
|
||||
"wait_for_upload_port": true,
|
||||
"require_upload_port": true,
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "https://www.adafruit.com/product/5323",
|
||||
"vendor": "Adafruit"
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino":{
|
||||
"ldscript": "esp32_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": [
|
||||
"-DARDUINO_ADAFRUIT_QTPY_ESP32_PICO",
|
||||
"-DBOARD_HAS_PSRAM",
|
||||
"-mfix-esp32-psram-cache-issue",
|
||||
"-mfix-esp32-psram-cache-strategy=memw"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "40000000L",
|
||||
"flash_mode": "dio",
|
||||
"mcu": "esp32",
|
||||
"variant": "adafruit_qtpy_esp32"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi",
|
||||
"bluetooth",
|
||||
"ethernet",
|
||||
"can"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_board": "esp-wroom-32.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino",
|
||||
"espidf"
|
||||
],
|
||||
"name": "Adafruit QT Py ESP32",
|
||||
"upload": {
|
||||
"flash_size": "8MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 8388608,
|
||||
"require_upload_port": true,
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "https://www.adafruit.com/product/5395",
|
||||
"vendor": "Adafruit"
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino":{
|
||||
"ldscript": "esp32c3_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": [
|
||||
"-DARDUINO_ADAFRUIT_QTPY_ESP32C3",
|
||||
"-DARDUINO_USB_MODE=1",
|
||||
"-DARDUINO_USB_CDC_ON_BOOT=1"
|
||||
],
|
||||
"f_cpu": "160000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "dout",
|
||||
"hwids": [
|
||||
[
|
||||
"0X303A",
|
||||
"0x1001"
|
||||
]
|
||||
],
|
||||
"mcu": "esp32c3",
|
||||
"variant": "adafruit_qtpy_esp32c3"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_target": "esp32c3.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino",
|
||||
"espidf"
|
||||
],
|
||||
"name": "Adafruit QT Py ESP32-C3",
|
||||
"upload": {
|
||||
"flash_size": "4MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 4194304,
|
||||
"require_upload_port": true,
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "https://www.adafruit.com/product/5405",
|
||||
"vendor": "Adafruit"
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino":{
|
||||
"ldscript": "esp32s3_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": [
|
||||
"-DARDUINO_ADAFRUIT_QTPY_ESP32S3_NOPSRAM",
|
||||
"-DARDUINO_USB_CDC_ON_BOOT=1",
|
||||
"-DARDUINO_RUNNING_CORE=1",
|
||||
"-DARDUINO_EVENT_RUNNING_CORE=1"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
"hwids": [
|
||||
[
|
||||
"0x239A",
|
||||
"0x8119"
|
||||
],
|
||||
[
|
||||
"0x239A",
|
||||
"0x0119"
|
||||
],
|
||||
[
|
||||
"0x239A",
|
||||
"0x811A"
|
||||
]
|
||||
],
|
||||
"mcu": "esp32s3",
|
||||
"variant": "adafruit_qtpy_esp32s3_nopsram"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_target": "esp32s3.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino"
|
||||
],
|
||||
"name": "Adafruit QT Py ESP32-S3 No PSRAM",
|
||||
"upload": {
|
||||
"arduino": {
|
||||
"flash_extra_images": [
|
||||
[
|
||||
"0x410000",
|
||||
"variants/adafruit_qtpy_esp32s3_nopsram/tinyuf2.bin"
|
||||
]
|
||||
]
|
||||
},
|
||||
"flash_size": "4MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 4194304,
|
||||
"use_1200bps_touch": true,
|
||||
"wait_for_upload_port": true,
|
||||
"require_upload_port": true,
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "https://www.adafruit.com/product/5426",
|
||||
"vendor": "Adafruit"
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino":{
|
||||
"ldscript": "esp32c3_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"f_cpu": "160000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "dio",
|
||||
"extra_flags": [
|
||||
"-DARDUINO_AirM2M_CORE_ESP32C3",
|
||||
"-DARDUINO_USB_MODE=1"
|
||||
],
|
||||
"mcu": "esp32c3",
|
||||
"variant": "AirM2M_CORE_ESP32C3"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_target": "esp32c3.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino",
|
||||
"espidf"
|
||||
],
|
||||
"name": "AirM2M CORE ESP32C3",
|
||||
"upload": {
|
||||
"flash_size": "4MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 4194304,
|
||||
"require_upload_port": true,
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "https://wiki.luatos.com/chips/esp32c3/board.html",
|
||||
"vendor": "AirM2M"
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino":{
|
||||
"ldscript": "esp32_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": [
|
||||
"-DARDUINO_DYDK1A",
|
||||
"-DBOARD_HAS_PSRAM",
|
||||
"-mfix-esp32-psram-cache-issue",
|
||||
"-mfix-esp32-psram-cache-strategy=memw"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "40000000L",
|
||||
"flash_mode": "dio",
|
||||
"mcu": "esp32",
|
||||
"variant": "deneyapkart1A"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi",
|
||||
"bluetooth",
|
||||
"ethernet"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_board": "esp32-wrover.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino",
|
||||
"espidf"
|
||||
],
|
||||
"name": "Deneyap Kart 1A",
|
||||
"upload": {
|
||||
"flash_size": "4MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 4194304,
|
||||
"require_upload_port": true,
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "https://deneyapkart.org/magaza/urun-deneyap-kart.html",
|
||||
"vendor": "Deneyap"
|
||||
}
|
||||
@@ -4,6 +4,7 @@
|
||||
"ldscript": "esp32s2_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": "-DARDUINO_ESP32S2_DEV",
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino":{
|
||||
"ldscript": "esp32s3_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": [
|
||||
"-DARDUINO_ESP32S3_DEV",
|
||||
"-DARDUINO_USB_MODE=1",
|
||||
"-DARDUINO_RUNNING_CORE=1",
|
||||
"-DARDUINO_EVENT_RUNNING_CORE=1"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "dio",
|
||||
"hwids": [
|
||||
[
|
||||
"0X303A",
|
||||
"0x1001"
|
||||
]
|
||||
],
|
||||
"mcu": "esp32s3",
|
||||
"variant": "esp32s3"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_target": "esp32s3.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino"
|
||||
],
|
||||
"name": "Espressif ESP32-S3-DevKitC-1",
|
||||
"upload": {
|
||||
"flash_size": "4MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 4194304,
|
||||
"require_upload_port": true,
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/hw-reference/esp32s3/user-guide-devkitc-1.html",
|
||||
"vendor": "Espressif"
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino":{
|
||||
"ldscript": "esp32s3_out.ld",
|
||||
"memory_type": "qspi_opi"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": [
|
||||
"-DARDUINO_RUNNING_CORE=1",
|
||||
"-DARDUINO_EVENT_RUNNING_CORE=1",
|
||||
"-DBOARD_HAS_PSRAM",
|
||||
"-DARDUINO_ESP32_S3_BOX",
|
||||
"-DARDUINO_USB_MODE=1",
|
||||
"-DARDUINO_USB_CDC_ON_BOOT=1"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
"hwids": [
|
||||
[
|
||||
"0X303A",
|
||||
"0x1001"
|
||||
]
|
||||
],
|
||||
"mcu": "esp32s3",
|
||||
"variant": "esp32s3box"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi",
|
||||
"bluetooth"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_target": "esp32s3.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino"
|
||||
],
|
||||
"name": "Espressif ESP32-S3-Box",
|
||||
"upload": {
|
||||
"flash_size": "16MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 16777216,
|
||||
"require_upload_port": true,
|
||||
"speed": 921600
|
||||
},
|
||||
"url": "https://www.adafruit.com/product/5290",
|
||||
"vendor": "Espressif"
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino":{
|
||||
"ldscript": "esp32_out.ld",
|
||||
"memory_type": "opi_opi"
|
||||
},
|
||||
"boot": "opi",
|
||||
"core": "esp32",
|
||||
"extra_flags": [
|
||||
"-DARDUINO_RUNNING_CORE=1",
|
||||
"-DARDUINO_EVENT_RUNNING_CORE=1",
|
||||
"-DBOARD_HAS_PSRAM",
|
||||
"-DARDUINO_ESP32S3_CAM_LCD",
|
||||
"-DARDUINO_USB_MODE=1"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "dout",
|
||||
"hwids": [
|
||||
[
|
||||
"0X303A",
|
||||
"0x1001"
|
||||
]
|
||||
],
|
||||
"mcu": "esp32s3",
|
||||
"variant": "esp32s3camlcd"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi",
|
||||
"bluetooth"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_target": "esp32s3.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino"
|
||||
],
|
||||
"name": "ESP32S3 CAM LCD",
|
||||
"upload": {
|
||||
"flash_size": "4MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 16777216,
|
||||
"require_upload_port": true,
|
||||
"speed": 921600
|
||||
},
|
||||
"url": "https://www.espressif.com/en/news/Maple_Eye_ESP32-S3",
|
||||
"vendor": "Espressif"
|
||||
}
|
||||
+8
-4
@@ -4,13 +4,17 @@
|
||||
"ldscript": "esp32_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": "-DARDUINO_ESP32_DEV",
|
||||
"extra_flags": [
|
||||
"-DARDUINO_LIONBIT",
|
||||
"-DARDUINO_RUNNING_CORE=1",
|
||||
"-DARDUINO_EVENT_RUNNING_CORE=1"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "40000000L",
|
||||
"flash_mode": "dio",
|
||||
"flags" : "-DCORE_DEBUG_LEVEL=5",
|
||||
"mcu": "esp32",
|
||||
"variant": "esp32"
|
||||
"variant": "lionbit"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi",
|
||||
@@ -25,7 +29,7 @@
|
||||
"arduino",
|
||||
"espidf"
|
||||
],
|
||||
"name": "LionBit",
|
||||
"name": "Lion:Bit Dev Board",
|
||||
"upload": {
|
||||
"flash_size": "4MB",
|
||||
"maximum_ram_size": 327680,
|
||||
@@ -37,5 +41,5 @@
|
||||
"speed" : 115200
|
||||
},
|
||||
"url": "http://lionbit.lk/",
|
||||
"vendor": "Lion::Bit"
|
||||
"vendor": "Lion:Bit"
|
||||
}
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino": {
|
||||
"ldscript": "esp32c3_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": [
|
||||
"-DARDUINO_LOLIN_C3_MINI",
|
||||
"-DARDUINO_USB_MODE=1",
|
||||
"-DARDUINO_USB_CDC_ON_BOOT=1"
|
||||
],
|
||||
"f_cpu": "160000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
"hwids": [
|
||||
[
|
||||
"0X303A",
|
||||
"0x1001"
|
||||
]
|
||||
],
|
||||
"mcu": "esp32c3",
|
||||
"variant": "esp32c3"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_target": "esp32c3.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino",
|
||||
"espidf"
|
||||
],
|
||||
"name": "WEMOS LOLIN C3 Mini",
|
||||
"upload": {
|
||||
"flash_size": "4MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 4194304,
|
||||
"require_upload_port": true,
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "https://www.wemos.cc/en/latest/c3/c3_mini.html",
|
||||
"vendor": "WEMOS"
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino": {
|
||||
"ldscript": "esp32s2_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": [
|
||||
"-DARDUINO_LOLIN_S2_MINI",
|
||||
"-DBOARD_HAS_PSRAM",
|
||||
"-DARDUINO_USB_CDC_ON_BOOT=1"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "dio",
|
||||
"hwids": [
|
||||
[
|
||||
"0X303A",
|
||||
"0x80C2"
|
||||
]
|
||||
],
|
||||
"mcu": "esp32s2",
|
||||
"variant": "lolin_s2_mini"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_board": "esp32s2.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino",
|
||||
"espidf"
|
||||
],
|
||||
"name": "WEMOS LOLIN S2 Mini",
|
||||
"upload": {
|
||||
"flash_size": "4MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 4194304,
|
||||
"use_1200bps_touch": true,
|
||||
"wait_for_upload_port": true,
|
||||
"require_upload_port": true,
|
||||
"speed": 921600
|
||||
},
|
||||
"url": "https://www.wemos.cc/en/latest/s2/s2_mini.html",
|
||||
"vendor": "WEMOS"
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino": {
|
||||
"ldscript": "esp32s2_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": [
|
||||
"-DARDUINO_LOLIN_S2_PICO",
|
||||
"-DBOARD_HAS_PSRAM",
|
||||
"-DARDUINO_USB_CDC_ON_BOOT=1"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "dio",
|
||||
"hwids": [
|
||||
[
|
||||
"0X303A",
|
||||
"0x80C5"
|
||||
]
|
||||
],
|
||||
"mcu": "esp32s2",
|
||||
"variant": "lolin_s2_pico"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_board": "esp32s2.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino",
|
||||
"espidf"
|
||||
],
|
||||
"name": "WEMOS LOLIN S2 PICO",
|
||||
"upload": {
|
||||
"flash_size": "4MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 4194304,
|
||||
"use_1200bps_touch": true,
|
||||
"wait_for_upload_port": true,
|
||||
"require_upload_port": true,
|
||||
"speed": 921600
|
||||
},
|
||||
"url": "https://www.wemos.cc/en/latest/s2/s2_pico.html",
|
||||
"vendor": "WEMOS"
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino": {
|
||||
"ldscript": "esp32_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": "-DARDUINO_Trueverit_ESP32_Universal_IoT_Driver_MK_III",
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "40000000L",
|
||||
"flash_mode": "dio",
|
||||
"mcu": "esp32",
|
||||
"variant": "esp32-trueverit-iot-driver-mkiii"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi",
|
||||
"bluetooth",
|
||||
"ethernet",
|
||||
"can"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_board": "esp-wroom-32.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino",
|
||||
"espidf"
|
||||
],
|
||||
"name": "Trueverit ESP32 Universal IoT Driver MK III",
|
||||
"upload": {
|
||||
"flash_size": "4MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 4194304,
|
||||
"require_upload_port": true,
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "https://trueverit.com/",
|
||||
"vendor": "Trueverit"
|
||||
}
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino":{
|
||||
"ldscript": "esp32s3_out.ld",
|
||||
"partitions": "default_16MB.csv"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": [
|
||||
"-DARDUINO_FEATHERS3",
|
||||
"-DBOARD_HAS_PSRAM",
|
||||
"-DARDUINO_USB_CDC_ON_BOOT=1",
|
||||
"-DARDUINO_RUNNING_CORE=1",
|
||||
"-DARDUINO_EVENT_RUNNING_CORE=1"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
"hwids": [
|
||||
[
|
||||
"0X303A",
|
||||
"0x80D0"
|
||||
]
|
||||
],
|
||||
"mcu": "esp32s3",
|
||||
"variant": "um_feathers3"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_target": "esp32s3.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino"
|
||||
],
|
||||
"name": "Unexpected Maker FeatherS3",
|
||||
"upload": {
|
||||
"flash_size": "16MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 16777216,
|
||||
"use_1200bps_touch": true,
|
||||
"wait_for_upload_port": true,
|
||||
"require_upload_port": true,
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "https://unexpectedmaker.com/shop/feathers3",
|
||||
"vendor": "Unexpected Maker"
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino": {
|
||||
"ldscript": "esp32s3_out.ld",
|
||||
"partitions": "default_16MB.csv"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": [
|
||||
"-DARDUINO_PROS3",
|
||||
"-DBOARD_HAS_PSRAM",
|
||||
"-DARDUINO_USB_CDC_ON_BOOT=1",
|
||||
"-DARDUINO_RUNNING_CORE=1",
|
||||
"-DARDUINO_EVENT_RUNNING_CORE=1"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
"hwids": [
|
||||
[
|
||||
"0X303A",
|
||||
"0x80D0"
|
||||
]
|
||||
],
|
||||
"mcu": "esp32s3",
|
||||
"variant": "um_pros3"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_target": "esp32s3.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino"
|
||||
],
|
||||
"name": "Unexpected Maker PROS3",
|
||||
"upload": {
|
||||
"flash_size": "16MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 16777216,
|
||||
"use_1200bps_touch": true,
|
||||
"wait_for_upload_port": true,
|
||||
"require_upload_port": true,
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "https://unexpectedmaker.com/shop/pros3",
|
||||
"vendor": "Unexpected Maker"
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino": {
|
||||
"ldscript": "esp32s2_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": [
|
||||
"-DARDUINO_RMP",
|
||||
"-DBOARD_HAS_PSRAM",
|
||||
"-DARDUINO_USB_CDC_ON_BOOT=1"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "40000000L",
|
||||
"flash_mode": "dio",
|
||||
"hwids": [
|
||||
[
|
||||
"0X303A",
|
||||
"0x80F6"
|
||||
]
|
||||
],
|
||||
"mcu": "esp32s2",
|
||||
"variant": "um_rmp"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_target": "esp32s2.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino",
|
||||
"espidf"
|
||||
],
|
||||
"name": "Unexpected Maker RMP",
|
||||
"upload": {
|
||||
"flash_size": "4MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 4194304,
|
||||
"use_1200bps_touch": true,
|
||||
"wait_for_upload_port": true,
|
||||
"require_upload_port": true,
|
||||
"speed": 921600
|
||||
},
|
||||
"url": "https://unexpectedmaker.com/esp32s2",
|
||||
"vendor": "Unexpected Maker"
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino":{
|
||||
"ldscript": "esp32s3_out.ld",
|
||||
"partitions": "default_8MB.csv"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": [
|
||||
"-DARDUINO_TINYS3",
|
||||
"-DBOARD_HAS_PSRAM",
|
||||
"-DARDUINO_USB_CDC_ON_BOOT=1",
|
||||
"-DARDUINO_RUNNING_CORE=1",
|
||||
"-DARDUINO_EVENT_RUNNING_CORE=1"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
"hwids": [
|
||||
[
|
||||
"0X303A",
|
||||
"0x80D0"
|
||||
]
|
||||
],
|
||||
"mcu": "esp32s3",
|
||||
"variant": "um_tinys3"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_target": "esp32s3.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino"
|
||||
],
|
||||
"name": "Unexpected Maker TinyS3",
|
||||
"upload": {
|
||||
"flash_size": "8MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 8388608,
|
||||
"use_1200bps_touch": true,
|
||||
"wait_for_upload_port": true,
|
||||
"require_upload_port": true,
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "https://unexpectedmaker.com/shop/ttinys3-esp32s3",
|
||||
"vendor": "Unexpected Maker"
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino":{
|
||||
"ldscript": "esp32_out.ld",
|
||||
"partitions": "huge_app.csv"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": "-DARDUINO_WATCHY",
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "40000000L",
|
||||
"flash_mode": "dio",
|
||||
"mcu": "esp32",
|
||||
"variant": "watchy"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi",
|
||||
"bluetooth",
|
||||
"ethernet",
|
||||
"can"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_board": "esp-wroom-32.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino",
|
||||
"espidf"
|
||||
],
|
||||
"name": "SQFMI Watchy v2.0",
|
||||
"upload": {
|
||||
"flash_size": "4MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 4194304,
|
||||
"require_upload_port": true,
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "https://watchy.sqfmi.com/",
|
||||
"vendor": "SQFMI"
|
||||
}
|
||||
@@ -273,13 +273,15 @@ def load_target_configurations(cmake_codemodel, cmake_api_reply_dir):
|
||||
return configs
|
||||
|
||||
|
||||
def build_library(default_env, lib_config, project_src_dir, prepend_dir=None):
|
||||
def build_library(
|
||||
default_env, lib_config, project_src_dir, prepend_dir=None, debug_allowed=True
|
||||
):
|
||||
lib_name = lib_config["nameOnDisk"]
|
||||
lib_path = lib_config["paths"]["build"]
|
||||
if prepend_dir:
|
||||
lib_path = os.path.join(prepend_dir, lib_path)
|
||||
lib_objects = compile_source_files(
|
||||
lib_config, default_env, project_src_dir, prepend_dir
|
||||
lib_config, default_env, project_src_dir, prepend_dir, debug_allowed
|
||||
)
|
||||
return default_env.Library(
|
||||
target=os.path.join("$BUILD_DIR", lib_path, lib_name), source=lib_objects
|
||||
@@ -427,57 +429,92 @@ def get_sdk_configuration():
|
||||
return {}
|
||||
|
||||
|
||||
def find_framework_service_files(search_path, sdk_config):
|
||||
result = {}
|
||||
result["lf_files"] = list()
|
||||
result["kconfig_files"] = list()
|
||||
result["kconfig_build_files"] = list()
|
||||
for d in os.listdir(search_path):
|
||||
path = os.path.join(search_path, d)
|
||||
if not os.path.isdir(path):
|
||||
continue
|
||||
for f in os.listdir(path):
|
||||
# Skip hardware specific files as they will be added later
|
||||
if f == "linker.lf" and not os.path.basename(path).startswith(
|
||||
("esp32", "riscv")
|
||||
def load_component_paths(framework_components_dir, ignored_component_prefixes=None):
|
||||
def _scan_components_from_framework():
|
||||
result = []
|
||||
for component in os.listdir(framework_components_dir):
|
||||
component_path = os.path.join(framework_components_dir, component)
|
||||
if component.startswith(ignored_component_prefixes) or not os.path.isdir(
|
||||
component_path
|
||||
):
|
||||
result["lf_files"].append(os.path.join(path, f))
|
||||
elif f == "Kconfig.projbuild":
|
||||
result["kconfig_build_files"].append(os.path.join(path, f))
|
||||
elif f == "Kconfig":
|
||||
result["kconfig_files"].append(os.path.join(path, f))
|
||||
continue
|
||||
result.append(component_path)
|
||||
|
||||
return result
|
||||
|
||||
# First of all, try to load the list of used components from the project description
|
||||
components = []
|
||||
ignored_component_prefixes = ignored_component_prefixes or []
|
||||
project_description_file = os.path.join(BUILD_DIR, "project_description.json")
|
||||
if os.path.isfile(project_description_file):
|
||||
with open(project_description_file) as fp:
|
||||
try:
|
||||
data = json.load(fp)
|
||||
for path in data.get("build_component_paths", []):
|
||||
if not os.path.basename(path).startswith(
|
||||
ignored_component_prefixes
|
||||
):
|
||||
components.append(path)
|
||||
except:
|
||||
print(
|
||||
"Warning: Could not find load components from project description!\n"
|
||||
)
|
||||
|
||||
return components or _scan_components_from_framework()
|
||||
|
||||
|
||||
def extract_linker_script_fragments(framework_components_dir, sdk_config):
|
||||
# Hardware-specific components are excluded from search and added manually below
|
||||
project_components = load_component_paths(
|
||||
framework_components_dir, ignored_component_prefixes=("esp32", "riscv")
|
||||
)
|
||||
|
||||
result = []
|
||||
for component_path in project_components:
|
||||
linker_fragment = os.path.join(component_path, "linker.lf")
|
||||
if os.path.isfile(linker_fragment):
|
||||
result.append(linker_fragment)
|
||||
|
||||
if not result:
|
||||
sys.stderr.write("Error: Failed to extract paths to linker script fragments\n")
|
||||
env.Exit(1)
|
||||
|
||||
if mcu == "esp32c3":
|
||||
result["lf_files"].append(
|
||||
os.path.join(FRAMEWORK_DIR, "components", "riscv", "linker.lf")
|
||||
)
|
||||
result.append(os.path.join(framework_components_dir, "riscv", "linker.lf"))
|
||||
|
||||
result["lf_files"].extend(
|
||||
result.extend(
|
||||
[
|
||||
os.path.join(
|
||||
FRAMEWORK_DIR,
|
||||
"components",
|
||||
framework_components_dir,
|
||||
idf_variant,
|
||||
"ld",
|
||||
"%s_fragments.lf" % idf_variant,
|
||||
),
|
||||
os.path.join(
|
||||
FRAMEWORK_DIR,
|
||||
"components",
|
||||
framework_components_dir,
|
||||
idf_variant,
|
||||
"linker.lf",
|
||||
),
|
||||
os.path.join(FRAMEWORK_DIR, "components", "newlib", "newlib.lf"),
|
||||
os.path.join(framework_components_dir, "newlib", "newlib.lf"),
|
||||
]
|
||||
)
|
||||
|
||||
if sdk_config.get("SPIRAM_CACHE_WORKAROUND", False):
|
||||
result["lf_files"].append(
|
||||
result.append(
|
||||
os.path.join(
|
||||
FRAMEWORK_DIR, "components", "newlib", "esp32-spiram-rom-functions-c.lf"
|
||||
framework_components_dir, "newlib", "esp32-spiram-rom-functions-c.lf"
|
||||
)
|
||||
)
|
||||
|
||||
if board.get("build.esp-idf.extra_lf_files", ""):
|
||||
result.extend(
|
||||
[
|
||||
lf if os.path.isabs(lf) else os.path.join(PROJECT_DIR, lf)
|
||||
for lf in board.get("build.esp-idf.extra_lf_files").splitlines()
|
||||
if lf.strip()
|
||||
]
|
||||
)
|
||||
|
||||
return result
|
||||
|
||||
|
||||
@@ -508,7 +545,7 @@ def create_custom_libraries_list(ldgen_libraries_file, ignore_targets):
|
||||
|
||||
def generate_project_ld_script(sdk_config, ignore_targets=None):
|
||||
ignore_targets = ignore_targets or []
|
||||
project_files = find_framework_service_files(
|
||||
linker_script_fragments = extract_linker_script_fragments(
|
||||
os.path.join(FRAMEWORK_DIR, "components"), sdk_config
|
||||
)
|
||||
|
||||
@@ -521,7 +558,9 @@ def generate_project_ld_script(sdk_config, ignore_targets=None):
|
||||
args = {
|
||||
"script": os.path.join(FRAMEWORK_DIR, "tools", "ldgen", "ldgen.py"),
|
||||
"config": SDKCONFIG_PATH,
|
||||
"fragments": " ".join(['"%s"' % f for f in project_files.get("lf_files")]),
|
||||
"fragments": " ".join(
|
||||
['"%s"' % fs.to_unix_path(f) for f in linker_script_fragments]
|
||||
),
|
||||
"kconfig": os.path.join(FRAMEWORK_DIR, "Kconfig"),
|
||||
"env_file": os.path.join("$BUILD_DIR", "config.env"),
|
||||
"libraries_list": libraries_list,
|
||||
@@ -553,11 +592,11 @@ def generate_project_ld_script(sdk_config, ignore_targets=None):
|
||||
)
|
||||
|
||||
|
||||
def prepare_build_envs(config, default_env):
|
||||
def prepare_build_envs(config, default_env, debug_allowed=True):
|
||||
build_envs = []
|
||||
target_compile_groups = config.get("compileGroups")
|
||||
|
||||
is_build_type_debug = "debug" in env.GetBuildType()
|
||||
is_build_type_debug = "debug" in env.GetBuildType() and debug_allowed
|
||||
for cg in target_compile_groups:
|
||||
includes = []
|
||||
sys_includes = []
|
||||
@@ -587,8 +626,10 @@ def prepare_build_envs(config, default_env):
|
||||
return build_envs
|
||||
|
||||
|
||||
def compile_source_files(config, default_env, project_src_dir, prepend_dir=None):
|
||||
build_envs = prepare_build_envs(config, default_env)
|
||||
def compile_source_files(
|
||||
config, default_env, project_src_dir, prepend_dir=None, debug_allowed=True
|
||||
):
|
||||
build_envs = prepare_build_envs(config, default_env, debug_allowed)
|
||||
objects = []
|
||||
components_dir = fs.to_unix_path(os.path.join(FRAMEWORK_DIR, "components"))
|
||||
for source in config.get("sources", []):
|
||||
@@ -703,7 +744,7 @@ def find_lib_deps(components_map, elf_config, link_args, ignore_components=None)
|
||||
return result
|
||||
|
||||
|
||||
def build_bootloader():
|
||||
def build_bootloader(sdk_config):
|
||||
bootloader_src_dir = os.path.join(
|
||||
FRAMEWORK_DIR, "components", "bootloader", "subproject"
|
||||
)
|
||||
@@ -743,7 +784,15 @@ def build_bootloader():
|
||||
target_configs, ["STATIC_LIBRARY", "OBJECT_LIBRARY"]
|
||||
)
|
||||
|
||||
build_components(bootloader_env, components_map, bootloader_src_dir, "bootloader")
|
||||
# Note: By default the size of bootloader is limited to 0x2000 bytes,
|
||||
# in debug mode the footprint size can be easily grow beyond this limit
|
||||
build_components(
|
||||
bootloader_env,
|
||||
components_map,
|
||||
bootloader_src_dir,
|
||||
"bootloader",
|
||||
debug_allowed=sdk_config.get("BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG", False),
|
||||
)
|
||||
link_args = extract_link_args(elf_config)
|
||||
extra_flags = filter_args(link_args["LINKFLAGS"], ["-T", "-u"])
|
||||
link_args["LINKFLAGS"] = sorted(
|
||||
@@ -788,10 +837,12 @@ def get_components_map(target_configs, target_types, ignore_components=None):
|
||||
return result
|
||||
|
||||
|
||||
def build_components(env, components_map, project_src_dir, prepend_dir=None):
|
||||
def build_components(
|
||||
env, components_map, project_src_dir, prepend_dir=None, debug_allowed=True
|
||||
):
|
||||
for k, v in components_map.items():
|
||||
components_map[k]["lib"] = build_library(
|
||||
env, v["config"], project_src_dir, prepend_dir
|
||||
env, v["config"], project_src_dir, prepend_dir, debug_allowed
|
||||
)
|
||||
|
||||
|
||||
@@ -1232,7 +1283,7 @@ project_lib_includes = get_project_lib_includes(env)
|
||||
# Compile bootloader
|
||||
#
|
||||
|
||||
env.Depends("$BUILD_DIR/$PROGNAME$PROGSUFFIX", build_bootloader())
|
||||
env.Depends("$BUILD_DIR/$PROGNAME$PROGSUFFIX", build_bootloader(sdk_config))
|
||||
|
||||
#
|
||||
# Target: ESP-IDF menuconfig
|
||||
|
||||
+7
-2
@@ -57,6 +57,10 @@ def _get_board_flash_mode(env):
|
||||
return mode
|
||||
|
||||
|
||||
def _get_board_boot_mode(env):
|
||||
return env.BoardConfig().get("build.boot", "$BOARD_FLASH_MODE")
|
||||
|
||||
|
||||
def _parse_size(value):
|
||||
if isinstance(value, int):
|
||||
return value
|
||||
@@ -111,8 +115,8 @@ def _update_max_upload_size(env):
|
||||
if not env.get("PARTITIONS_TABLE_CSV"):
|
||||
return
|
||||
sizes = [
|
||||
_parse_size(p['size']) for p in _parse_partitions(env)
|
||||
if p['type'] in ("0", "app")
|
||||
_parse_size(p["size"]) for p in _parse_partitions(env)
|
||||
if p["type"] in ("0", "app")
|
||||
]
|
||||
if sizes:
|
||||
board.update("upload.maximum_size", max(sizes))
|
||||
@@ -167,6 +171,7 @@ if mcu == "esp32c3":
|
||||
toolchain_arch = "riscv32-esp"
|
||||
|
||||
env.Replace(
|
||||
__get_board_boot_mode=_get_board_boot_mode,
|
||||
__get_board_f_flash=_get_board_f_flash,
|
||||
__get_board_flash_mode=_get_board_flash_mode,
|
||||
|
||||
|
||||
@@ -28,7 +28,15 @@ framework = arduino
|
||||
board = lolin32
|
||||
monitor_speed = 115200
|
||||
|
||||
[env:ttgo-lora32-v21]
|
||||
[env:lolin_c3_mini]
|
||||
platform = espressif32
|
||||
framework = arduino
|
||||
board = ttgo-lora32-v21
|
||||
board = lolin_c3_mini
|
||||
monitor_speed = 115200
|
||||
|
||||
|
||||
[env:esp32-s3-devkitc-1]
|
||||
platform = espressif32
|
||||
framework = arduino
|
||||
board = esp32-s3-devkitc-1
|
||||
monitor_speed = 115200
|
||||
|
||||
@@ -7,7 +7,9 @@
|
||||
#include <Arduino.h>
|
||||
|
||||
// Set LED_BUILTIN if it is not defined by Arduino framework
|
||||
// #define LED_BUILTIN 2
|
||||
#ifndef LED_BUILTIN
|
||||
#define LED_BUILTIN 2
|
||||
#endif
|
||||
|
||||
void setup()
|
||||
{
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
#include <unity.h>
|
||||
|
||||
void test_dummy(void)
|
||||
{
|
||||
TEST_ASSERT_EQUAL(1, 1);
|
||||
}
|
||||
|
||||
void app_main()
|
||||
{
|
||||
UNITY_BEGIN();
|
||||
|
||||
RUN_TEST(test_dummy);
|
||||
|
||||
UNITY_END();
|
||||
}
|
||||
+8
-2
@@ -18,7 +18,7 @@
|
||||
"type": "git",
|
||||
"url": "https://github.com/platformio/platform-espressif32.git"
|
||||
},
|
||||
"version": "4.2.0",
|
||||
"version": "4.3.0",
|
||||
"frameworks": {
|
||||
"arduino": {
|
||||
"package": "framework-arduinoespressif32",
|
||||
@@ -43,6 +43,12 @@
|
||||
"optional": true,
|
||||
"owner": "espressif",
|
||||
"version": "8.4.0+2021r2-patch3"
|
||||
},
|
||||
"toolchain-xtensa-esp32s3": {
|
||||
"type": "toolchain",
|
||||
"optional": true,
|
||||
"owner": "espressif",
|
||||
"version": "8.4.0+2021r2-patch3"
|
||||
},
|
||||
"toolchain-riscv32-esp": {
|
||||
"type": "toolchain",
|
||||
@@ -66,7 +72,7 @@
|
||||
"type": "framework",
|
||||
"optional": true,
|
||||
"owner": "platformio",
|
||||
"version": "~3.20002.0"
|
||||
"version": "~3.20003.0"
|
||||
},
|
||||
"framework-arduino-mbcwb": {
|
||||
"type": "framework",
|
||||
|
||||
+14
-8
@@ -95,13 +95,18 @@ class Espressif32Platform(PlatformBase):
|
||||
elif p in ("tool-mconf", "tool-idf") and "windows" in get_systype():
|
||||
self.packages[p]["optional"] = False
|
||||
|
||||
if mcu in ("esp32s2", "esp32c3"):
|
||||
self.packages.pop("toolchain-xtensa-esp32", None)
|
||||
for available_mcu in ("esp32", "esp32s2", "esp32s3"):
|
||||
if available_mcu == mcu:
|
||||
self.packages["toolchain-xtensa-%s" % mcu]["optional"] = False
|
||||
else:
|
||||
self.packages.pop("toolchain-xtensa-%s" % available_mcu, None)
|
||||
|
||||
if mcu in ("esp32s2", "esp32s3", "esp32c3"):
|
||||
self.packages.pop("toolchain-esp32ulp", None)
|
||||
# RISC-V based toolchain for ESP32C3 and ESP32S2 ULP
|
||||
if mcu != "esp32s2":
|
||||
self.packages.pop("toolchain-esp32s2ulp", None)
|
||||
# RISC-V based toolchain for ESP32C3, ESP32S2, ESP32S3 ULP
|
||||
self.packages["toolchain-riscv32-esp"]["optional"] = False
|
||||
if mcu == "esp32s2":
|
||||
self.packages["toolchain-xtensa-esp32s2"]["optional"] = False
|
||||
|
||||
is_legacy_project = (
|
||||
build_core == "mbcwb"
|
||||
@@ -113,6 +118,7 @@ class Espressif32Platform(PlatformBase):
|
||||
for toolchain in (
|
||||
"toolchain-xtensa-esp32",
|
||||
"toolchain-xtensa-esp32s2",
|
||||
"toolchain-xtensa-esp32s3",
|
||||
"toolchain-riscv32-esp",
|
||||
):
|
||||
self.packages.pop(toolchain, None)
|
||||
@@ -163,6 +169,7 @@ class Espressif32Platform(PlatformBase):
|
||||
supported_debug_tools = [
|
||||
"cmsis-dap",
|
||||
"esp-prog",
|
||||
"esp_usb_jtag",
|
||||
"iot-bus-jtag",
|
||||
"jlink",
|
||||
"minimodule",
|
||||
@@ -189,9 +196,7 @@ class Espressif32Platform(PlatformBase):
|
||||
if link in non_debug_protocols or link in debug["tools"]:
|
||||
continue
|
||||
|
||||
if link == "jlink":
|
||||
openocd_interface = link
|
||||
elif link == "cmsis-dap":
|
||||
if link in ("jlink", "cmsis-dap", "esp_usb_jtag"):
|
||||
openocd_interface = link
|
||||
elif link in ("esp-prog", "ftdi"):
|
||||
if board.id == "esp32-s2-kaluga-1":
|
||||
@@ -334,6 +339,7 @@ class Espressif32Platform(PlatformBase):
|
||||
toolchain_remap = {
|
||||
"xtensa-esp32-elf-gcc": "toolchain-xtensa-esp32",
|
||||
"xtensa-esp32s2-elf-gcc": "toolchain-xtensa-esp32s2",
|
||||
"xtensa-esp32s3-elf-gcc": "toolchain-xtensa-esp32s3",
|
||||
"riscv32-esp-elf-gcc": "toolchain-riscv32-esp",
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user