Ř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.