PX4용 MCU Eclipse/J-Link 디버깅

이 주제에서는 MCU Eclipse와 NuttX에서 동작하는 PX4 디버깅장비 Segger Jlink adapter를 설치하고 활용하는 방법을 설명합니다.

필요한 하드웨어

설치

PX4

일반 지침을 따라 PX4를 설치하십시오:

Eclipse

Eclipse를 설치하려면:

  1. Eclipse CDT for C/C++ Developers (MCU Github)를 다운로드하십시오.
  2. Eclipse 폴더 압축을 해제하고 어딘가에든 복사하십시오(별도의 설치 스크립트 실행은 필요하지 않습니다).
  3. Eclipse를 실행하고 초기 작업 영역 위치를 선택하십시오.

Segger Jlink 도구를 설치하려면:

  1. J-Link Software and Documentation Pack을 운영체제에 해당(윈도우와 리눅스용이 있음)하는 버전으로 다운로드하고 설치하십시오.
    • 리눅스 도구는 usr/bin에 설치합니다.

자세한 정보는 https://gnu-mcu-eclipse.github.io/debug/jlink/install/ 을 살펴보십시오.

첫 사용

  1. Segger JLink를 (어댑터로) 호스트 컴퓨터와 비행체 제어 장치 디버거 포트에 연결하십시오.
  2. 비행체 제어 장치 전원을 켜십시오.
  3. Eclipse를 실행하십시오.
  4. File > Import > C/C++ > Existing Code as Makefile Project를 선택하여 프로젝트에 소스 코드를 추가하고 Next를 누르십시오.
  5. Point it to the PX4-Autopilot folder and give it a name, then select ARM Cross GCC in the Toolchain for Indexer Settings and click Finish. 상당한 시간동안 가져옵니다. 끝날 때까지 기다리십시오.
  6. MCU 설정을 맞추십시오: Project Explorer에서 상위레벨 프로젝트에 커서를 둔 후 오른쪽 단추를 눌러 Properties를 선택, MCU 하위 항목 중 SEGGER J-Link Path를 선택하십시오. 아래 화면 촬영 그림처럼 설정하십시오. Eclipse: Segger J-Link Path
  7. 패키지를 업데이트하십시오:

    • 우측 상단의 작은 Open Perspective 아이콘을 눌러 Packs 감시 창을 여십시오. Eclipse: 작업 영역
    • update all 단추를 누르십시오.

      매우 오랜 시간이 걸립니다(10분). 화면에 뜨는 모든 빠진 패키지 오류는 무시하십시오.

      Eclipse: 작업 영역 패키지 관점

    • STM32Fxx 장치는 Keil 폴더에 있습니다. F4와 F7 장비의 드라이버에 마우스 커서를 둔 후 오른쪽 단추를 눌러 설치하십시오.
  8. 대상에 대한 디버깅 설정을 진행하십시오:

    • 프로젝트 항목에 커서를 두어 오른쪽 단추를 누른 후 설정을 여십시오(메뉴: C/C++ Build > Settings)
    • Devices 탭을 선택 후, Devices 섹션에 진입하십시오(Boards아님).
    • 디버깅할 FMU 칩을 찾으십시오.

    Eclipse: 설정에서 FMU 선택

  9. 버그 심볼 옆의 작은 드롭다운 유닛으로 디버깅 설정을 선택하십시오:Eclipse: 디버깅 설정
  10. 그런 다음 GDB SEGGER J-Link Debugging을 선택하고 좌측 상단에서 New config 단추를 누르십시오. Eclipse: GDB Segger 디버깅 설정
  11. 빌드 값을 설정하십시오:

    • 이름을 지정하고 C/C++ Application을 해당 .elf 파일로 설정하십시오.
    • Disable Auto build를 선택하십시오 > Note 디버깅 세션을 시작하기 전 명령행에서 대상을 빌드해야 함을 기억하십시오.

    Eclipse: GDB Segger 디버깅 설정

  12. DebuggerStartup 탭은 따로 수정하지 않아도 됩니다(아래 화면 그림과 같이 설정했는지만 확인하십시오)

    Eclipse: GDB Segger 디버깅 설정: 디버거 탭 Eclipse: GDB Segger 디버깅 설정: 시작 탭

문제 해결

대상 CPU가 패키지 관리자에 없음

대상 CPU가 패키지 관리자에 없다면 레지스터 뷰가 동작하는지 확인하기 위해 다음 단계를 거쳐야 합니다.

보통 일어나서는 안될 일입니다(만, STM F7 컨트롤러 연결에 대해 보고가 들어온 적이 있습니다).

주변 장치 보기에서 빠진 SVD 파일을 추가하려면:

  1. MCU Eclipse 스토어에서 패키지를 찾으십시오(Preferences > C/C++ > MCU Packages): Eclipse: MCU 패키지
  2. http://www.keil.com/dd2/Pack/ 에서 빠진 패키지를 다운로드하십시오
  3. 압축 해제 도구로 다운로드한 팩을 여시고, /CMSIS/SVD.SVD 파일의 압축을 푸십시오.
  4. Debug Options > GDB SEGGER JLink Debugging > SVD Path에서 원하는 .SVD 파일을 여십시오. Eclipse: SVD 파일 경로

results matching ""

    No results matching ""