# 비주얼 스튜디오 코드 IDE(VSCode)

Visual Studio Code (opens new window)는 Ubuntu 18.04 LT, macOS 및 Windows에서 PX4 개발에 사용할 수 있는 강력한 플랫폼 간 소스 코드 편집기/IDE입니다.

PX4 개발에 VSCode를 사용하는 데에는 많은 이유가 있습니다.

  • 설치 시간은 실제 몇 분 밖에 걸리지 않습니다.
  • PX4 개발에 필요한 여러가지 도구를 지원하는 다양한 확장 시스템: C/C++(견고한 cmake 통합 포함), Python, Jinja2 , ROS 메시지, 심지어 UAVCAN dsdl.
  • 뛰어난 Github 통합 기능

IDE를 설정과 개발 방법에 대하여 설명합니다.

Note

다른 강력한 IDE가 있지만, 일반적으로 PX4와 통합에는 많은 어려움이 있습니다. VScode를 사용하면 설정이 PX4/PX4-Autopilot 트리(PX4-Autopilot/.vscode (opens new window))에 저장되므로, 설정 프로세스는 프로젝트 폴더를 추가하는 것만큼 간단합니다.

# 선행 조건

플랫폼에 대한 명령줄 PX4 개발자 환경을 이미 설치하고, 펌웨어 소스 코드 저장소를 복제하여야 합니다.

# 설치 및 설정

  1. VSCode 다운로드 및 설치 (opens new window)(사용자의 OS에 맞는 버전이 제공됨).

  2. VSCode를 열고 PX4 소스 코드를 추가합니다.

    • 시작 페이지에서 *폴더 열기 ...*를 클릭합니다(또는 메뉴: 파일 > 폴더 열기 사용): 폴더 열기
    • 파일 선택창이 나타납니다. PX4-Autopilot 디렉토리를 선택하고, 확인을 누릅니다.

    그러면 프로젝트 파일과 설정이 VSCode에 로드됩니다.

  3. 이 작업 공간에는 확장 권장 사항이 있습니다 프롬프트에서 모두 설치를 누릅니다(IDE의 오른쪽 하단에 표시됨). 확장 기능 설치

    VSCode는 설치 진행 상황을 볼 수 있도록 왼쪽에 확장 프로그램 패널을 엽니다.

    VSCode 탐색기에 로드된 PX4

  4. 오른쪽 하단에 여러 알림/프롬프트가 나타날 수 있습니다.

    TIP

메시지가 사라지면, 하단 파란색 막대 오른쪽에 있는 작은 "알람" 아이콘을 클릭합니다. :::

  • 새 버전의 cmake를 설치하라는 메시지가 표시되면:
  • github.com에 로그인하고 자격 증명을 추가하라는 메시지가 표시되면:
    • 이것은 당신에게 달려 있습니다! Github와 IDE 간의 긴밀한 통합을 제공하여 워크플로를 단순화할 수 있습니다.
  • 다른 프롬프트는 선택 사항이며 유용하다고 생각되면 설치할 수 있습니다.

# PX4 빌드

빌드를 진행하려면:

  1. 빌드 대상 선택("cmake build config"):
    • 현재 cmake 빌드 대상은 하단의 파란색 구성 표시줄에 표시됩니다(이미 원하는 대상인 경우 다음 단계로 건너뛰십시오). Cmake 빌드 대상 선택

Note

선택한 cmake 대상은 빌드/디버깅시 제공되는 대상에 영향을 줍니다(즉, 하드웨어 디버깅의 경우 px4_fmu-v5와 같은 하드웨어 대상을 선택하여야 함).

  • 구성 표시줄에서 대상을 클릭하여 다른 옵션을 표시하고 원하는 옵션을 선택합니다(선택한 대상을 대체함).
  • 그러면, Cmake가 프로젝트를 구성합니다(오른쪽 하단의 알림 참조). Cmake 설정 프로젝트
  • 구성이 완료될 때까지 기다리십시오. 이 작업이 완료되면 알림이 사라지고 빌드 위치가 표시됩니다.
  1. 그런 다음 구성 표시줄에서 빌드를 시작할 수 있습니다(빌드 또는 디버그 선택). 디버깅 또는 빌드 실행

한 번 이상 빌드하면 이제 [코드 완성](#코드 완성) 및 기타 VSCode 기능을 사용할 수 있습니다.

# 디버깅

# SITL 디버깅

SITL에서 PX4를 디버깅하려면:

  1. 사이드바에서 디버그 아이콘(빨간색으로 표시)을 선택하여 디버그 패널을 표시합니다.디버깅 실행

  2. 그런 다음 상단 표시줄 디버그 드롭다운(보라색 상자)에서 디버그 대상(예: 디버그 SITL(Gazebo Iris))을 선택합니다.

    Note

제공되는 디버그 대상(보라색 상자)은 빌드 대상(하단 막대의 노란색 상자)과 일치합니다. 예를 들어, SITL 대상을 디버그하려면 빌드 대상에 SITL이 포함되어야 합니다. :::

  1. 디버그 "재생" 화살표(상단 막대의 디버그 대상 옆 - 분홍색 상자)를 클릭하여 디버깅을 시작합니다.

디버깅하는 동안 중단점을 설정하고, 코드를 건너뛰고, 그렇지 않으면 정상적으로 개발할 수 있습니다.

# 하드웨어 디버깅

SWD(JTAG) 하드웨어 디버깅 인터페이스의 지침은 일반적인 비행 콘트롤러(예: Dronecode 또는 Blackmagic 프로브 사용)에서 SWD 인터페이스에 연결하는 방법을 설명합니다.

SWD 인터페이스에 연결한 후 VSCode의 하드웨어 디버깅은 디버거 유형(및 펌웨어)(예: jlink (px4_fmu-v5))에 적합한 디버그 대상을 선택한다는 점을 제외하고 SITL 디버깅과 동일합니다.

TIP

jlink 옵션을 보려면 펌웨어 빌드를 위한 cmake 대상을 선택하여야 합니다.

다양한 프로브에 대한 옵션이 있는 하드웨어 대상을 보여주는 이미지

# 코드 완성

코드 완성(및 기타 IntelliSense 마법)이 작동하려면 활성화 설정후, 코드를 빌드하여야 합니다.

이 작업이 완료되면 다른 작업을 수행할 필요가 없습니다. 툴체인은 입력시 자동으로 기호를 제공합니다.

인텔리센스

# 문제 해결

이 섹션에는 설정 및 빌드 오류에 대한 지침이 포함되어 있습니다.

# Ubuntu 18.04: "Visual Studio Code는 이 큰 작업 영역에서 파일 변경 사항을 감시할 수 없습니다."

이 오류는 시작시에 나타납니다. 일부 시스템에서는 애플리케이션에 적용되는 파일 핸들의 상한선이 8192개이므로 VSCode가 /PX4-Autopilot에서 파일 수정 사항을 감지하지 못할 수 있습니다.

메모리 소비를 희생시키면서 오류를 방지하기 위해 이 제한을 늘릴 수 있습니다. 여기에 있는 지침 (opens new window)을 따르십시오. 값 65536이면 충분합니다.