다음을 통해 공유


실시간 지원 애플리케이션 문제 해결

Important

Azure Sphere(레거시) 설명서입니다. Azure Sphere(레거시)는 2027년 9월 27일에 사용 중지되며 사용자는 이 시간까지 Azure Sphere(통합)로 마이그레이션해야 합니다. TOC 위에 있는 버전 선택기를 사용하여 Azure Sphere(통합) 설명서를 볼 수 있습니다.

다음은 RTApp(실시간 지원 애플리케이션)을 개발하는 동안 발생할 수 있는 문제를 해결하는 몇 가지 단계입니다.

디버깅 문제

다음과 같은 이유로 디버깅이 실패할 수 있습니다.

  • Windows 업데이트 실시간 코어용 USB 드라이버를 일반 드라이버로 바꿉니다. 실시간 코어에 대한 디버깅 기능을 복원하려면 관리자 권한으로 PowerShell 또는 Windows 명령 프롬프트를 사용하여 명령줄 인터페이스를 열고 실시간 코어 디버깅을 다시 사용하도록 설정합니다. 다음을 실행할 때 필요한 USB 드라이버가 설치됩니다.

    azsphere device enable-development --enable-rt-core-debugging
    
  • 디버깅 설정 파일에 오류가 포함되어 있습니다. 이 경우 디버거를 시작하지 못할 수 있습니다. 디버거 설정을 편집한 경우 파일의 구문이 올바른지 확인합니다.

  • 온-칩 디버거는 이미 다른 컨텍스트에서 시작되었을 수 있습니다. "디버거 서버: 오류: 포트 4444의 소켓에 gdb를 바인딩할 수 없습니다. 이미 사용 중인 주소" 또는 "오류: libusb_open()가 LIBUSB_ERROR_ACCESS 실패했습니다."와 같은 오류가 표시되면 openocd 또는 gdb 프로세스가 이미 실행 중인지 확인합니다.

    Linux에서 실행하는 경우 명령에 sudo lsof -n -i :4444 | grep LISTEN 포트 4444가 열려 있는 프로세스가 표시됩니다. 오류 메시지에 언급된 다른 포트로 바꿔 4444 서 해당 포트에 대해 동일한 정보를 제공해야 합니다.

  • Ubuntu 20.04 시스템에서 libncurses5 패키지가 누락되었을 수 있습니다. "공유 라이브러리를 로드하는 동안 오류: libncurses.so.5: 공유 개체 파일을 열 수 없습니다. 이러한 파일 또는 디렉터리가 없습니다."와 같은 오류가 표시되면 다음과 같이 패키지를 설치해야 합니다.

    sudo add-apt-repository universe
    sudo apt-get install libncurses5
    
  • Visual Studio의 여러 인스턴스를 사용하여 상위 수준 앱과 두 개의 RTApp을 한 번에 디버그하려고 하면 Visual Studio의 두 번째 인스턴스가 디버거에 연결할 수 없습니다. 이 문제를 해결하려면 파트너 애플리케이션 디버그에 설명된 대로 Visual Studio의 단일 인스턴스에서 모든 앱을 디버그합니다.

CMake 문제

RTApp에서 CMake를 사용할 때 다음과 같은 문제가 발생할 수 있습니다.

  • Visual Studio에서 CMake 프로젝트를 처음 열면 CMakeLists 생성이 자동으로 실행되고 애플리케이션의 구성 요소 ID가 설정됩니다. 예를 들어 애플리케이션이 GitHub 리포지토리에 있고 하드 재설정을 수행했기 때문에 구성 요소 ID를 삭제하면 빌드가 실패합니다. 이 문제를 해결하려면 Visual Studio에서 CMake 캐시를 다시 생성합니다.
  • CMakeLists.txt 시작 항목은 자주 다시 생성됩니다. CMakeLists 작업은 Visual Studio가 CMake 캐시를 다시 생성할 때마다 실행됩니다. 따라서 자주 실행될 수 있습니다.
  • CMake를 사용하여 RTApp을 빌드하면 Visual Studio가 중단됩니다. 이 문제를 방지하려면 Visual Studio 2019 업데이트 1 이상을 사용합니다.

일반적으로 CMake를 사용할 때 오류가 발생하는 경우 CMake 캐시를 다시 생성해 보세요. 이렇게 하면 종종 문제가 해결됩니다.