Arduino Due 호환기에서 ST-Link V2를 사용하여 중단점 디버깅

ArduinoDue 호환기로 브레이크 포인트 디버깅이 가능하다는 것을 알았으므로 절차를 정리했습니다. 투고자가 사용한 호환기는 DUE CORE입니다만, 정규의 ArduinoDue나 다른 호환기에서도 같다고 생각합니다.

【전제】
・VSCode + PlatformIO의 셋업이 끝나고, Due에 프로그램 기입이 되어 있다(기입 케이블용의 디바이스 드라이버도 인스톨 완료).
・ST-Link V2(파티몬에서도 OK)를 가지고 있어, 이 디바이스의 드라이버도 인스톨 완료이다.


【순서】
1. platformio.ini를 다음을 참고로 다시 씁니다. upload_port를 고정으로 지정하고 있는 것은 투고자의 환경에서 같은 디바이스(기입 케이블)가 복수 있어 자동으로 식별하지 않았기 때문입니다. 오토(포트 무지정)로 잘 되는 환경도 있다고 생각합니다.

platromio.ini
[env:due]
platform = atmelsam
board = due
framework = arduino
debug_tool = stlink
upload_protocol = sam-ba
upload_port = COM3 ;デバイスマネージャで確認して正しいポートを指定
  • 디버깅하려는 소스를 VSCode에서 열고 중단 점을 적절하게 붙입니다 (F9 누르기).
  • 쓰기 케이블(투고자 환경에서는 아래 이미지와 같은 것), ST-Link V2를 Due 보드에 연결합니다.
      Due      ST-LinkV2
    PB28/TCK/SWCLK --- SWCLK
    PB31/TMS/SWDIO --- SWDIO
  • Due 보드의 ERASE 버튼을 눌러 플래시를 지 웁니다 (디버그 프로그램을 업로드하기 위해).
  • VSCode의 "Run"메뉴에서 Start "Debugging"을 선택합니다.
  • 프로그램 업로드 및 디버거 연결이 끝나면 중단점에서 프로그램이 중지됩니다. 이때 뭔가 곳이나 브레이크를 붙이지 않아도 멈추어 버리는 개소(OS안)가 있습니다만, 그것은 F5로 스킵 해 주세요.
  • 희망의 위치에서 브레이크 하면 성공입니다. F10에서 스텝 실행, F11에서 함수 안에 들어간다, F5에서 다음 브레이크 포인트까지 단번에 실행, 변수 재작성 등 여러가지 시험해 보세요.
  • 좋은 웹페이지 즐겨찾기