콘솔과 쉘

PX4에서는 MAVLink 쉘시스템 콘솔을 사용하여 시스템에 접근할 수 있습니다.

이 페이지에서는 콘솔과 쉘 사용 방법과 주요 차이점을 설명합니다.

시스템 콘솔과 셸의 차이점

PX4 시스템 콘솔은 시스템에 대한 낮은 수준의 액세스, 디버그 출력 및 시스템 부팅 프로세스 분석을 제공합니다.

하나의 특정 UART(NuttX에 구성된 디버그 포트)에서 실행되고 일반적으로 FTDI 케이블(또는 Dronecode 프로브와 같은 다른 디버그 어댑터)을 통하여 컴퓨터에 연결되는 시스템 콘솔이 하나 있습니다.

  • 저수준 디버깅/개발에 사용: 부팅, NuttX, 시작 스크립트, 보드 불러오기, PX4의 중앙 부분(예: uORB) 개발.

  • 특히, 모든 부팅 출력(부팅 시 자동으로 시작되는 응용 프로그램에 대한 정보 포함)이 인쇄되는 유일한 장소입니다.

셸은 시스템에 대한 상위 수준의 접급을 제공합니다.

  • 기본 모듈 테스트와 명령어를 실행할 수 있습니다.

  • 시작하는 모듈의 출력만 직접 표시합니다.

  • 작업 대기열에서 실행 중인 작업의 출력을 직접 표시할 수 없습니다.

  • 시스템이 시작되지 않으면(아직 실행되지 않기 때문에) 문제를 디버그할 수 없습니다.

전용 UART에서 실행되거나, MAVLink로 실행되는 여러 셸이 있을 수 있습니다. MAVLink가 더 많은 유연성을 제공하므로, 현재 MAVLink Shell만 사용됩니다.

시스템 콘솔은 시스템이 부팅되지 않을 때 사용됩니다(보드의 전원을 껐다 켤 때 시스템 부팅 로그를 표시함). MAVLink Shell은 설정이 훨씬 용이하므로, 대부분의 디버깅에 사용됩니다.

콘솔/쉘 사용

MAVLink 셸/콘솔과 시스템 콘솔은 같은 방식으로 사용됩니다.

예를 들어, 로컬 파일 시스템을 보려면 ls를 입력하고, 남은 여유 RAM을 보려면 free를 입력하고, 부팅 출력을 보려면 dmesg를 입력합니다.

nsh> ls
nsh> free
nsh> dmesg

다른 많은 시스템 명령과 모듈은 모듈 및 명령 참조에 나열되어 있습니다(예: top, listener 등).

일부 명령은 일부 보드에서 비활성화될 수 있습니다(예: RAM 또는 FLASH 제약 조건이 있는 보드의 경우 일부 모듈은 펌웨어에 포함되지 않음). 이 경우에는 응답이 표시됩니다. 명령어를 찾을 수 없음

Last updated