Delen via


Problemen met toepassingen oplossen die geschikt zijn voor realtime

Hier volgen enkele stappen voor het oplossen van problemen die kunnen optreden tijdens de ontwikkeling van realtime compatibele toepassingen (RTApps).

Problemen met foutopsporing

De foutopsporing kan om de volgende redenen mislukken:

  • Windows Update vervangt het USB-stuurprogramma voor de realtime kernen door een algemeen stuurprogramma. Als u de foutopsporingsfunctionaliteit voor de realtime kernen wilt herstellen, opent u een opdrachtregelinterface met behulp van PowerShell of Windows-opdrachtprompt met beheerdersbevoegdheden en schakelt u realtime kernopsporing opnieuw in. Het vereiste USB-stuurprogramma wordt geïnstalleerd wanneer u het volgende uitvoert:

    az sphere device enable-development --enable-rt-core-debugging
    
  • Het bestand met foutopsporingsinstellingen bevat fouten. In deze situatie kan het foutopsporingsprogramma mogelijk niet worden gestart. Als u de instellingen voor het foutopsporingsprogramma hebt bewerkt, controleert u of de syntaxis van het bestand juist is.

  • Het foutopsporingsprogramma op de chip is mogelijk al gestart in een andere context. Als u een fout ziet zoals 'Foutopsporingsserver: fout: kan gdb niet binden aan socket op poort 4444: adres al in gebruik' of 'Fout: libusb_open() is mislukt met LIBUSB_ERROR_ACCESS', controleert u of er al een openocd- of gdb-proces wordt uitgevoerd.

    Als u op Linux werkt, moet de opdracht sudo lsof -n -i :4444 | grep LISTEN alle processen weergeven die poort 4444 open houden. Als u 4444 vervangt door een andere poort die in het foutbericht wordt vermeld, moet dezelfde informatie voor die poort worden weergegeven.

  • Mogelijk ontbreekt het pakket libncurses5 op uw Ubuntu 20.04-systeem. Als u een fout ziet zoals 'fout tijdens het laden van gedeelde bibliotheken: libncurses.so.5: kan het bestand met gedeelde objecten niet openen: geen dergelijk bestand of dergelijke map', installeert u het pakket als volgt:

    sudo add-apt-repository universe
    sudo apt-get install libncurses5
    
  • Als u probeert fouten op te sporen in een app op hoog niveau en twee RTApps tegelijk met behulp van meerdere exemplaren van Visual Studio, kan het tweede exemplaar van Visual Studio geen verbinding maken met het foutopsporingsprogramma. U kunt dit probleem omzeilen door fouten op te sporen in alle apps vanuit één exemplaar van Visual Studio, zoals beschreven in Fouten opsporen in partnertoepassingen.

CMake-problemen

U kunt de volgende problemen ondervinden bij het gebruik van CMake met een RTApp:

  • De eerste keer dat u een CMake-project opent in Visual Studio, wordt de CMakeLists-generatie automatisch uitgevoerd en wordt de onderdeel-id voor de toepassing ingesteld. Als u vervolgens de onderdeel-id verwijdert, bijvoorbeeld omdat de toepassing zich in een GitHub-opslagplaats bevindt en u een harde reset hebt uitgevoerd, mislukt de build. U kunt dit probleem oplossen door de CMake-cache opnieuw te genereren in Visual Studio.
  • Het CMakeLists.txt opstartitem wordt regelmatig opnieuw gegenereerd. De taak CMakeLists wordt uitgevoerd wanneer Visual Studio de CMake-cache opnieuw genereert. Als gevolg hiervan kan het vaak worden uitgevoerd.
  • Visual Studio loopt vast wanneer u een RTApp bouwt met CMake. Gebruik Visual Studio 2019 update 1 of hoger om dit probleem te voorkomen.

Als er fouten optreden wanneer u met CMake werkt, probeert u de CMake-cache opnieuw te genereren. Dit lost vaak problemen op.