# Copyright (c) 2024 Joel Guittet
# SPDX-License-Identifier: Apache-2.0

set ESP_RTOS none
set ESP32_ONLYCPU 1

# Source the JTAG interface configuration file
source [find interface/esp_usb_jtag.cfg]
# Source the ESP32-S3 configuration file
source [find target/esp32s3.cfg]
