본문 바로가기

RaspberryPi/RP2040

RP2040 SSM EVM - Arduino 개발환경 설정

RP2040(Raspberry Pi Pico) 개발 환경은 여러가지가 있지만 가장 쉽고 간편한 Arduino IDE로 해 보자

 

우선 보드 매니저 파일 URL을 설정 하고 보드 파일을 설치 한다.

 

 

https://github.com/earlephilhower/arduino-pico

 

 

보드 파일 설치 후 필수 핀 정의 파일은 아래와 같다.

// LEDs
#define PIN_LED        (25u)

// Serial
#define PIN_SERIAL1_TX (0u)
#define PIN_SERIAL1_RX (1u)

#define PIN_SERIAL2_TX (8u)
#define PIN_SERIAL2_RX (9u)

// SPI
#define PIN_SPI0_MISO  (16u)
#define PIN_SPI0_MOSI  (19u)
#define PIN_SPI0_SCK   (18u)
#define PIN_SPI0_SS    (17u)

#define PIN_SPI1_MISO  (12u)
#define PIN_SPI1_MOSI  (15u)
#define PIN_SPI1_SCK   (14u)
#define PIN_SPI1_SS    (13u)

// Wire
#define PIN_WIRE0_SDA  (4u)
#define PIN_WIRE0_SCL  (5u)

#define PIN_WIRE1_SDA  (26u)
#define PIN_WIRE1_SCL  (27u)

 


그리고 Arduino 환경에서 RP2040이 실행 되는 main.c 를 확인하면 아래와 같다.

extern "C" int main() {
#if F_CPU != 125000000
    set_sys_clock_khz(F_CPU / 1000, true);
#endif

    mutex_init(&_pioMutex);
    initVariant();

#ifndef NO_USB
#ifdef USE_TINYUSB
    TinyUSB_Device_Init(0);

#else
    __USBStart();

#ifndef DISABLE_USB_SERIAL
    // Enable serial port for reset/upload always
    Serial.begin(115200);
#endif
#endif
#endif

#if defined DEBUG_RP2040_PORT
    DEBUG_RP2040_PORT.begin(115200);
#endif

#ifndef NO_USB
    if (setup1 || loop1) {
        rp2040.fifo.begin(2);
        multicore_launch_core1(main1);
    } else {
        rp2040.fifo.begin(1);
    }
    rp2040.fifo.registerCore();
#endif

    setup();
    while (true) {
        loop();

#ifdef USE_TINYUSB
        yield();
#endif

        if (arduino::serialEventRun) {
            arduino::serialEventRun();
        }
        if (arduino::serialEvent1Run) {
            arduino::serialEvent1Run();
        }
        if (arduino::serialEvent2Run) {
            arduino::serialEvent2Run();
        }
    }
    return 0;
}

 

 


몇 번 동작 했는데..
어느 순간 다운로드가 안된다
아래 에러를 출력한다.
 
드라이버를 인식 하지 못하는 현상인데... 왜 그럴까?
 
 
스케치는 프로그램 저장 공간 58848 바이트(2%)를 사용. 최대 2093056 바이트.
전역 변수는 동적 메모리 11228바이트(4%)를 사용, 250916바이트의 지역변수가 남음.  최대는 262144 바이트.
Resetting COM9
Converting to uf2, output size: 131072, start address: 0x2000
No drive to deploy.
스케치를 업로드 하는 동안 에러가 발생하였습니다.
 
 

가끔 이동식 디스크로 인식을 못하는 현상이 발생 한다.

한가지 해결책으로 바이너리 파일로 만들어 다운로드 하면 잘 동작한다.
PC소프트웨어 문제인듯...

 

반응형