Sdílet prostřednictvím


Řešení potíží s aplikacemi podporujícími v reálném čase

Důležité

Toto je dokumentace k Azure Sphere (starší verze). Azure Sphere (starší verze) se vyřazuje 27. září 2027 a uživatelé musí do této doby migrovat do Azure Sphere (integrované). K zobrazení dokumentace k Azure Sphere (integrované) použijte selektor verzí umístěný nad obsahem.

Tady je několik kroků pro řešení potíží, ke kterým může dojít při vývoji aplikací podporujících v reálném čase (RTApps).

Ladění problémů

Ladění může selhat z následujících důvodů:

  • služba Windows Update nahrazuje ovladač USB pro jádra v reálném čase obecným ovladačem. Pokud chcete obnovit funkce ladění pro jádra v reálném čase, otevřete rozhraní příkazového řádku pomocí PowerShellu nebo příkazového řádku Windows s oprávněními správce a znovu povolte ladění jádra v reálném čase. Požadovaný ovladač USB se nainstaluje při spuštění:

    azsphere device enable-development --enable-rt-core-debugging
    
  • Soubor nastavení ladění obsahuje chyby. V takovém případě se ladicí program nemusí spustit. Pokud jste upravili nastavení ladicího programu, ujistěte se, že je syntaxe souboru správná.

  • Ladicí program na čipu už možná byl spuštěn v jiném kontextu. Pokud se zobrazí chyba typu Server ladicího programu: Chyba: Nepodařilo se vytvořit vazbu gdb na soket na portu 4444: Adresa se už používá, nebo Chyba: libusb_open() selhala s LIBUSB_ERROR_ACCESS, zkontrolujte, jestli už máte spuštěný proces openocd nebo gdb.

    Pokud používáte Linux, měl by příkaz sudo lsof -n -i :4444 | grep LISTEN zobrazit všechny procesy, které mají otevřený port 4444. Nahrazení 4444 jiným portem uvedeným v chybové zprávě by mělo poskytnout stejné informace pro tento port.

  • Možná vám chybí balíček libncurses5 v systému Ubuntu 20.04. Pokud se zobrazí chyba typu Chyba při načítání sdílených knihoven: libncurses.so.5: Nelze otevřít soubor sdíleného objektu: Žádný takový soubor nebo adresář, měli byste balíček nainstalovat takto:

    sudo add-apt-repository universe
    sudo apt-get install libncurses5
    
  • Pokud se pokusíte ladit aplikaci vysoké úrovně a dvě aplikace RTApps najednou pomocí více instancí sady Visual Studio, druhá instance sady Visual Studio se nebude moct připojit k ladicímu programu. Chcete-li tento problém vyřešit, ladění všech aplikací z jedné instance sady Visual Studio, jak je popsáno v části Ladění partnerských aplikací.

Problémy s CMake

Při používání CMake s aplikací RTApp může dojít k následujícím problémům:

  • Při prvním otevření projektu CMake v sadě Visual Studio se generování CMakeLists automaticky spustí a nastaví ID komponenty pro aplikaci. Pokud pak odstraníte ID komponenty, například protože aplikace je v úložišti GitHubu a provedli jste pevné resetování, sestavení se nezdaří. Chcete-li tento problém vyřešit, znovu vygenerujte mezipaměť CMake v sadě Visual Studio.
  • Spouštěcí položka CMakeLists.txt se často znovu vygeneruje. Úloha CMakeLists se spustí vždy, když Visual Studio znovu vygeneruje mezipaměť CMake. V důsledku toho může běžet často.
  • Visual Studio přestane reagovat při vytváření rtApp pomocí CMake. Chcete-li se tomuto problému vyhnout, použijte Visual Studio 2019 update 1 nebo novější.

Obecně platí, že pokud při práci s CMake dojde k chybám, zkuste znovu vygenerovat mezipaměť CMake. To často řeší problémy.