
라즈베리 파이 피코 아두이노 코어, 모든 RP2040 및 RP2350 보드용
라즈베리파이 피코 아두이노 코어, 모든 RP2040 및 RP2350 보드용
이는 아두이노를 RP2040(라즈베리파이 피코 프로세서) 및 RP2350(라즈베리파이 피코 2 프로세서)으로 포팅한 것입니다. 순수 라즈베리파이 피코 SDK와 커스텀 GCC 14.3/Newlib 4.5 툴체인을 사용하며 ARM 및 RISC-V 코어를 지원합니다.
자세한 사용 정보는 https://arduino-pico.readthedocs.io/en/latest/ 및 예제를 참조하세요.
풀 리퀘스트 제출 및 라이브러리나 스케치를 이 코어로 포팅하는 방법에 대한 자세한 내용은 기여 가이드를 읽어보세요.
RP2040 PIO 상태 머신(SM)은 지터 없는 생성을 위해 사용됩니다:
실제 아두이노 애플리케이션의 Windows Store 버전은 연결된 피코 보드를 감지하는 데 문제가 있으므로 사용하지 마세요. Windows ZIP 또는 일반 Windows 실행 파일(EXE)을 https://arduino.cc에서 직접 다운로드하고 제안하는 모든 장치 드라이버를 설치하도록 허용하세요. 그렇지 않으면 피코 보드가 감지되지 않을 수 있습니다. 또한 아두이노 2.0 베타를 시도하는 경우 필요한 장치 드라이버가 있는지 확인하기 위해 미리 릴리스 1.8 버전을 설치하세요. (자세한 내용은 #20 참조)
flatpak(여러 Linux 배포판에서 '앱 스토어'로 자주 사용됨)을 사용하여 아두이노를 설치하면 호스트에 대한 접근이 제한됩니다. 이로 인해 다음과 같은 오류 메시지와 함께 업로드가 실패할 수 있습니다:
Scanning for RP2040 devices
...
No drive to deploy.
이 문제가 발생하면 다른 방식으로 아두이노를 설치하거나 다음 명령을 사용하여 flatpak 샌드박싱 기능을 재정의한 후 아두이노를 다시 시작해야 합니다.
flatpak override --user --filesystem=host:ro cc.arduino.IDE2
Arduino IDE를 열고 File->Preferences로 이동합니다.
팝업 대화상자에서 'Additional Boards Manager URLs' 필드에 다음 URL을 입력하세요:
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

확인을 눌러 대화상자를 닫습니다.
IDE에서 Tools->Boards->Board Manager로 이동합니다.
검색 상자에 'pico'를 입력하고 'Add'를 선택하세요:

Windows 사용자: Windows에서 git을 통해 설치하기 전에 이 링크의 지침을 읽고 따르세요. Win32 긴 경로가 활성화되지 않았고 git이 이를 사용하도록 구성되지 않은 경우 서브모듈을 클론하려고 할 때 오류가 발생할 수 있습니다.
Linux 또는 Mac에서 GIT을 통해 설치하려면 (최신 버전):
mkdir -p ~/Arduino/hardware/pico
git clone https://github.com/earlephilhower/arduino-pico.git ~/Arduino/hardware/pico/rp2040
cd ~/Arduino/hardware/pico/rp2040
git submodule update --init --recursive
cd tools
python3 ./get.py
Windows의 경우 Python이 이미 설치되어 있고 git clone은 다른 경로에서 수행해야 합니다:
mkdir %USERPROFILE%\Documents\Arduino\hardware\pico
git clone https://github.com/earlephilhower/arduino-pico.git %USERPROFILE%\Documents\Arduino\hardware\pico\rp2040
cd %USERPROFILE%\Documents\Arduino\hardware\pico\rp2040
git submodule update --init --recursive
cd tools
python .\get.py
첫 번째 스케치를 업로드하려면 피코를 컴퓨터에 연결하는 동안 BOOTSEL 버튼을 누르고 있어야 합니다. 그런 다음 업로드 버튼을 누르면 스케치가 전송되어 실행되기 시작합니다.
첫 번째 업로드 후에는 arduino-pico 코어에 자동 리셋 지원이 있으므로 이 작업이 필요하지 않습니다.
Arduino Tools->Port->Serial Port 메뉴에 표시된 적절한 시리얼 포트를 한 번 선택하세요 (이 설정은 유지되며 여러 업로드 시 다시 건드릴 필요가 없습니다). 이 선택을 통해 자동 리셋 도구가 리셋할 적절한 장치를 식별할 수 있습니다. 그런 다음 업로드 버튼을 누르면 스케치가 업로드되어 실행됩니다.
경우에 따라 피코가 하드 행에 걸려 USB 포트가 자동 리셋 요청에 응답하지 않을 수 있습니다. 이런 경우 피코를 연결하는 동안 BOOTSEL 버튼을 눌러 ROM 부트로더로 진입하는 초기 절차를 따르세요.
피코의 온보드 플래시 파일 시스템인 LittleFS를 사용하면 스케치 디렉토리에서 파일 시스템 이미지를 업로드하여 스케치에서 사용할 수 있습니다. 필요한 플러그인을 다음에서 다운로드하세요:
설치하려면 다음의 지침을 따르세요:
자세한 사용 정보는 ESP8266 저장소 문서(SPIFFS 관련 참고 사항 무시)를 확인하세요. 다음에서 확인 가능:
라즈베리파이 Picoprobe를 구축한 경우 OpenOCD를 사용하여 스케치 업로드를 처리하고 GDB로 디버깅할 수 있습니다.
Windows에서는 로컬 관리자 사용자가 Picoprobe 포트에 자동으로 접근할 수 있어야 하지만, Linux에서는 udev에 장치를 알리고 일반 사용자 접근을 허용하도록 설정해야 합니다.
Ubuntu(및 udev를 사용하는 다른 OS)에서 Picoprobe에 대한 사용자 수준 접근을 설정하려면:
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="0004", MODE="660", GROUP-"plugdev"' | sudo tee -a /etc/udev/rules.d/98-PicoProbe.rules
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="000a", MODE="660", GROUP="plugdev"' | sudo tee -a /etc/udev/rules.d/98-PicoProbe.rules
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="000f", MODE="660", GROUP="plugdev"' | sudo tee -a /etc/udev/rules.d/98-PicoProbe.rules
sudo udevadm control --reload
sudo udevadm trigger -w -s usb
첫 번째 줄은 Picoprobe의 USB 공급업체 및 제품 ID와 일치하는 장치 파일을 /dev에 생성하고 전역 읽기+쓰기 권한을 활성화합니다. 두 번째 줄은 udev가 이 새로운 규칙을 로드하도록 합니다. 세 번째 줄은 커널이 '장치 변경' 이벤트를 생성하여 새로운 udev 규칙이 실행되도록 요청합니다.
어떤 이유로 장치 파일이 나타나지 않으면 USB 연결을 수동으로 뽑았다가 다시 꽂고 다시 확인하세요. 장치 파일이 계속 없으면 dmesg 출력이 유용한 진단 정보를 제공할 수 있습니다.
Picoprobe 권한이 올바르게 설정되면 Tools 메뉴에서 'Raspberry Pi Pico (Picoprobe)' 보드를 선택하고 평소처럼 업로드하세요.
설치된 도구에는 OpenOCD(pqt-openocd 디렉토리) 및 GDB(pqt-gcc 디렉토리) 버전이 포함되어 있습니다. 이들은 라즈베리파이 재단의 Pico 시작하기 매뉴얼에 설명된 대로 대화형 창에서 GDB를 실행하는 데 사용할 수 있습니다. git 설치 디렉토리에서 명령줄 ./system/openocd/bin/openocd -f ./lib/rp2040/picoprobe_cmsis_dap.tcl 또는 ./system/openocd/bin/openocd -f ./lib/rp2350/picoprobe_cmsis_dap.tcl을 사용하세요.
-Earle F. Philhower, III
[email protected]