Sdílet prostřednictvím


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

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

Problémy s laděním

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

  • služba Windows Update nahradí ovladač USB pro jádra v reálném čase obecným ovladačem. Pokud chcete obnovit funkce ladění jader 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í:

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

  • Ladicí program na čipu už mohl být 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() selhal s LIBUSB_ERROR_ACCESS, zkontrolujte, jestli už není 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 o tomto portu.

  • V systému Ubuntu 20.04 možná chybí balíček libncurses5. 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 následujícím způsobem:

    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, ladit všechny aplikace z jedné instance sady Visual Studio, jak je popsáno v tématu Ladění partnerských aplikací.

Problémy s CMake

Při použití CMake s aplikací RTApp může docházet k následujícím problémům:

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

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