parent
f332019866
commit
b1f56880c1
@ -0,0 +1,6 @@ |
||||
# The following lines of boilerplate have to be in your project's |
||||
# CMakeLists in this exact order for cmake to work correctly |
||||
cmake_minimum_required(VERSION 3.5) |
||||
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake) |
||||
project(esp32-adis) |
||||
@ -0,0 +1,52 @@ |
||||
# |
||||
# OpenOCD configuration file for the FTDI FT2232HL |
||||
# evaluation board used as JTAG adapter |
||||
# Please modify this file to your local setup. |
||||
# |
||||
|
||||
# Include the configuration for the JTAG adapter. |
||||
# If you have a different interface, please edit this to include the |
||||
# configuration file of yours. |
||||
#source [find interface/ftdi/mbftdi.cfg] |
||||
adapter driver ftdi |
||||
ftdi vid_pid 0x0403 0x6010 |
||||
ftdi channel 0 |
||||
ftdi layout_init 0x0038 0x003b |
||||
|
||||
# The ESP32 only supports JTAG. |
||||
#transport select jtag |
||||
|
||||
# The speed of the JTAG interface, in KHz. If you get DSR/DIR errors (and they |
||||
# do not relate to OpenOCD trying to read from a memory range without physical |
||||
# memory being present there), you can try lowering this. |
||||
adapter speed 8000 |
||||
|
||||
# With no variables set, openocd will configure JTAG for the two cores of the ESP32 and |
||||
# will do automatic RTOS detection. This can be adjusted by uncommenting any of the |
||||
# following lines: |
||||
|
||||
# Only configure the PRO CPU |
||||
#set ESP32_ONLYCPU 1 |
||||
# Only configure the APP CPU |
||||
#set ESP32_ONLYCPU 2 |
||||
# Disable RTOS support |
||||
# set ESP32_RTOS none |
||||
# Force RTOS to be FreeRTOS |
||||
#set ESP32_RTOS FreeRTOS |
||||
|
||||
#Source the ESP32 configuration file |
||||
#source [find target/esp32.cfg] |
||||
|
||||
|
||||
# The TDI pin of ESP32 is also a bootstrap pin that selects the voltage the SPI flash |
||||
# chip runs at. When a hard reset happens (e.g. because someone switches the board off |
||||
# and on) the ESP32 will use the current TDI value as the bootstrap value because the |
||||
# JTAG adapter overrides the pull-up or pull-down resistor that is supposed to do the |
||||
# bootstrapping. These lines basically set the idle value of the TDO line to a |
||||
# specified value, therefore reducing the chance of a bad bootup due to a bad flash |
||||
# voltage greatly. |
||||
|
||||
# Enable this for 1.8V SPI flash |
||||
#esp108 flashbootstrap 1.8 |
||||
# Enable this for 3.3V SPI flash |
||||
# esp108 flashbootstrap 3.3 |
||||
@ -0,0 +1,8 @@ |
||||
#
|
||||
# This is a project Makefile. It is assumed the directory this Makefile resides in is a
|
||||
# project subdirectory.
|
||||
#
|
||||
|
||||
PROJECT_NAME := esp32-adis
|
||||
|
||||
include $(IDF_PATH)/make/project.mk |
||||
@ -0,0 +1,3 @@ |
||||
set ESP32_FLASH_VOLTAGE 3.3 |
||||
adapter speed 8000 |
||||
source [find target/esp32.cfg] |
||||
@ -0,0 +1,20 @@ |
||||
#!/usr/bin/env python |
||||
|
||||
from __future__ import division, print_function, unicode_literals |
||||
|
||||
import ttfw_idf |
||||
|
||||
|
||||
@ttfw_idf.idf_example_test(env_tag='Example_GENERIC', target=['esp32', 'esp32s2', 'esp32c3'], ci_target=['esp32']) |
||||
def test_examples_hello_world(env, extra_data): |
||||
app_name = 'hello_world' |
||||
dut = env.get_dut(app_name, 'examples/get-started/hello_world') |
||||
dut.start_app() |
||||
res = dut.expect(ttfw_idf.MINIMUM_FREE_HEAP_SIZE_RE) |
||||
if not res: |
||||
raise ValueError('Maximum heap size info not found') |
||||
ttfw_idf.print_heap_size(app_name, dut.app.config_name, dut.TARGET, res[0]) |
||||
|
||||
|
||||
if __name__ == '__main__': |
||||
test_examples_hello_world() |
||||
@ -0,0 +1,2 @@ |
||||
idf_component_register(SRCS "hello_world_main.c" |
||||
INCLUDE_DIRS "") |
||||
@ -0,0 +1,4 @@ |
||||
#
|
||||
# "main" pseudo-component makefile.
|
||||
#
|
||||
# (Uses default behaviour of compiling all source files in directory, adding 'include' to include path.)
|
||||
@ -0,0 +1,44 @@ |
||||
/* Hello World Example
|
||||
|
||||
This example code is in the Public Domain (or CC0 licensed, at your option.) |
||||
|
||||
Unless required by applicable law or agreed to in writing, this |
||||
software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR |
||||
CONDITIONS OF ANY KIND, either express or implied. |
||||
*/ |
||||
#include <stdio.h> |
||||
#include "sdkconfig.h" |
||||
#include "freertos/FreeRTOS.h" |
||||
#include "freertos/task.h" |
||||
#include "esp_system.h" |
||||
#include "esp_spi_flash.h" |
||||
|
||||
void app_main(void) |
||||
{ |
||||
printf("Hello world!\n"); |
||||
|
||||
/* Print chip information */ |
||||
esp_chip_info_t chip_info; |
||||
esp_chip_info(&chip_info); |
||||
printf("This is %s chip with %d CPU core(s), WiFi%s%s, ", |
||||
CONFIG_IDF_TARGET, |
||||
chip_info.cores, |
||||
(chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "", |
||||
(chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : ""); |
||||
|
||||
printf("silicon revision %d, ", chip_info.revision); |
||||
|
||||
printf("%dMB %s flash\n", spi_flash_get_chip_size() / (1024 * 1024), |
||||
(chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external"); |
||||
|
||||
printf("Minimum free heap size: %d bytes\n", esp_get_minimum_free_heap_size()); |
||||
|
||||
for (int i = 5; i <= 100; i++) { |
||||
printf("Hello Test nr. %d\n", i); |
||||
//printf("Restarting in %d seconds...\n", i);
|
||||
vTaskDelay(1000 / portTICK_PERIOD_MS); |
||||
} |
||||
printf("Restarting now.\n"); |
||||
fflush(stdout); |
||||
esp_restart(); |
||||
} |
||||
@ -0,0 +1,52 @@ |
||||
# |
||||
# OpenOCD configuration file for the FTDI FT2232HL |
||||
# evaluation board used as JTAG adapter |
||||
# Please modify this file to your local setup. |
||||
# |
||||
|
||||
# Include the configuration for the JTAG adapter. |
||||
# If you have a different interface, please edit this to include the |
||||
# configuration file of yours. |
||||
#source [find interface/ftdi/mbftdi.cfg] |
||||
adapter driver ftdi |
||||
ftdi vid_pid 0x0403 0x6010 |
||||
ftdi channel 0 |
||||
ftdi layout_init 0x0038 0x003b |
||||
|
||||
# The ESP32 only supports JTAG. |
||||
#transport select jtag |
||||
|
||||
# The speed of the JTAG interface, in KHz. If you get DSR/DIR errors (and they |
||||
# do not relate to OpenOCD trying to read from a memory range without physical |
||||
# memory being present there), you can try lowering this. |
||||
adapter speed 8000 |
||||
|
||||
# With no variables set, openocd will configure JTAG for the two cores of the ESP32 and |
||||
# will do automatic RTOS detection. This can be adjusted by uncommenting any of the |
||||
# following lines: |
||||
|
||||
# Only configure the PRO CPU |
||||
#set ESP32_ONLYCPU 1 |
||||
# Only configure the APP CPU |
||||
#set ESP32_ONLYCPU 2 |
||||
# Disable RTOS support |
||||
# set ESP32_RTOS none |
||||
# Force RTOS to be FreeRTOS |
||||
#set ESP32_RTOS FreeRTOS |
||||
|
||||
#Source the ESP32 configuration file |
||||
#source [find target/esp32.cfg] |
||||
|
||||
|
||||
# The TDI pin of ESP32 is also a bootstrap pin that selects the voltage the SPI flash |
||||
# chip runs at. When a hard reset happens (e.g. because someone switches the board off |
||||
# and on) the ESP32 will use the current TDI value as the bootstrap value because the |
||||
# JTAG adapter overrides the pull-up or pull-down resistor that is supposed to do the |
||||
# bootstrapping. These lines basically set the idle value of the TDO line to a |
||||
# specified value, therefore reducing the chance of a bad bootup due to a bad flash |
||||
# voltage greatly. |
||||
|
||||
# Enable this for 1.8V SPI flash |
||||
#esp108 flashbootstrap 1.8 |
||||
# Enable this for 3.3V SPI flash |
||||
# esp108 flashbootstrap 3.3 |
||||
@ -0,0 +1,3 @@ |
||||
set ESP32_FLASH_VOLTAGE 3.3 |
||||
adapter speed 8000 |
||||
source [find target/esp32.cfg] |
||||
Loading…
Reference in new issue