ESP32-C3 도 Arduino 개발 환경에서 테스트 가능하다. 다만 ESP32 Board Manager 버전이 2.0이상이어야 한다.
Board Manager 에서 "ESP32C3 Dev Module"을 선택한다.
간단한 코드를 작성하고 다운로드 하면 정상적인 다운로드가 된다.
다운로드 까지는 잘 동작 하는데...
실행시 계속 리셋이 발생한다.
rst:0x8 (TG1WDT_SYS_RST),boot:0xc (SPI_FAST_FLASH_BOOT)
Saved PC:0x40380082
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fcd6100,len:0x484
load:0x403ce000,len:0x90c
load:0x403d0000,len:0x2398
SHA-256 comparison failed:
Calculated: 293bbd2824884ff8e9e6e9df6347ebe647177796efc2f665a6ef9cc4658c4d05
Expected: fb396d172fd068522c3ea62ba7387443250e7e77b119dfa86deae393d7661487
Attempting to boot anyway...
entry 0x403ce000
ESP-ROM:esp32c3-api1-20210207
Build:Feb 7 20
문제는 GPIO13은 플래시에 연결되어 있었는데 이 부분을 제어 하면 플레시 에러가 발생 한다.
ESP32-C3 Boot Mode 옵션을 확인 할 필요가 있다.
이제 잘 동작한다.
ESP32-C3 Arduino 핀정의
pins_arduino.h
#define EXTERNAL_NUM_INTERRUPTS 22
#define NUM_DIGITAL_PINS 22
#define NUM_ANALOG_INPUTS 6
#define analogInputToDigitalPin(p) (((p)<NUM_ANALOG_INPUTS)?(esp32_adc2gpio[(p)]):-1)
#define digitalPinToInterrupt(p) (((p)<NUM_DIGITAL_PINS)?(p):-1)
#define digitalPinHasPWM(p) (p < EXTERNAL_NUM_INTERRUPTS)
static const uint8_t TX = 21;
static const uint8_t RX = 20;
static const uint8_t SDA = 8;
static const uint8_t SCL = 9;
static const uint8_t SS = 7;
static const uint8_t MOSI = 6;
static const uint8_t MISO = 5;
static const uint8_t SCK = 4;
static const uint8_t A0 = 0;
static const uint8_t A1 = 1;
static const uint8_t A2 = 2;
static const uint8_t A3 = 3;
static const uint8_t A4 = 4;
static const uint8_t A5 = 5;
반응형