You are currently viewing Je Hebt In Feite Een Probleem Met De Printf Debug Tool

Je Hebt In Feite Een Probleem Met De Printf Debug Tool

Als u een software-viewer voor foutopsporing moet krijgen, is het artikel van vandaag hier om u te helpen.

Bijgewerkt

  • 1. Download ASR Pro
  • 2. Voer het programma uit
  • 3. Klik op "Nu scannen" om eventuele virussen op uw computer te vinden en te verwijderen
  • Versnel uw computer vandaag nog met deze eenvoudige download.

    SWO STM32 kan erg handig zijn om de geschiedenis van applicaties en applicaties te volgen die op de lange termijn moeten worden beheerd. U kunt UART printf noch swo debug logs permanent opslaan en later controleren om te controleren of uw programma nog steeds correct werkt. In

    Houd er rekening mee dat we de STM32 CubeIDE-foutopsporingsconfiguratie voor ITM- of SWO-papierhandelslogboeken gaan bekijken. Houd er rekening mee dat experts aangeven dat dit van toepassing is op CubeIDE en kan verschillen van een grote verscheidenheid aan IDE’s zoals keil en zelfs uVision IAR. Afhankelijk van het idee van de persoon, zou het kunnen dat je verplicht of in staat moet worden gesteld om ergens anders op verschillende manieren iets te doen.

    data-element_type=”column”>

    Cubemx kan SWO-foutopsporingsuitvoer inschakelen in STM32

    SWO-logboeken worden weergegeven in CubeIDE (gebaseerd op Eclipse). De console helpt u bij het configureren van nieuwe gegevens.

    • Open ” Uitvoeren > Configuraties.Debugging
      Als de configuratie voor foutopsporing actief is, kan het tabblad Debugger inschakelen de seriële kabel weergeven Viewer (SWV).
    • Maak elke afzonderlijke itm-protocolterminal zichtbaar door
      Venster bekijken > > SWV > toon ITM SWV-gegevensconsole
    • Zoek SWV-instellingen en ITM, schakel poort in drie stimuli.
    • li> li>
    • Druk op de blauwgroene recordschakelaar of voer een trace uit wanneer iemand een volledige trace wil, zodat de terminal het publiek de logs zal geven.
    • < /ul>

    debug printf-viewer

    Voeg Data-element_type=”column”> toe

    Elke printf-home-aanroep die u doet, gebruikt dit specifieke “printfunctie-teken”, een functie die eindigt met kopiëren naar elk hardwareapparaat dat u kiest waar de printf-gegevens worden doorgegeven.

    output

    Dit printf-doel kan SWO, UART, productie-debug-flash of elke combinatie van apparaten zijn. Dit is waar voor de meesten van ons. Dit is het vereiste fragment voor snelle nummers naar de SWO-terminal.

    Op de aanbevelingsafdeling voor het gebruik van het main.c-bestand, moet u naar deze functie. Zorg er ook voor dat er een nieuw syscalls.c-bestand wordt gegenereerd voor uw project.

    int __io_putchar(int ch) // Schrijf bestandskarakter naar ITM ch.0 ITM_SendChar(ch); terug (h);

    Advertentiezijde):

    Schrijf een geweldig Printf Debug-testprogramma

    Een eenvoudige FreeRTOS-taak, ook wel de main()-functie genoemd, kan worden gebruikt om printf() te e-mailen en met succes te verifiëren dat de SWO-foutopsporingsuitvoer werkt en dat STM32 CubeIDE.FreeRTOS hier te vinden is

    debug printf viewer

    De taak kan bijvoorbeeld worden ingekaderd met dit .

    /** * @brief deel met defaultTask-thread.* @param argument: niet gebruikt* @retval Nee* /void StartDefaultTask(ongeldige const *argument) GEBRUIKER /* STARTCODE 5* /vTaskDelay(100/portTICK_RATE_MS); /* oneindige lus* / (;;) naarvTaskDelay (2000/portTICK_RATE_MS);printf("SWO testen!rn"); GEBRUIKER /* EINDCODE 5* /

    In verschillende gevallen kunt u de uitvoer van SWO printf testen door printf aan te roepen. Op deze pagina is bijvoorbeeld de printf-functie elke 2 seconden aangeroepen door een standaard FreeRTOS-taak. De aangeroepen printf is een oneindige voorstelling en je kunt het afgedrukte resultaat debuggen via de SWV-ITM-console.

    Printf-
    stm32 Debug voorbeeld voor terminal output van (STM32 CubeIDE)

    Heb je iets te zeggen?
    Vraag gerust wanneer u een routebeschrijving overweegt met behulp van het snelle contactformulier in uw huidige zijbalk, of laat hieronder een nieuwe opmerking achter.

    • Eerste publicatie: 19 september 2021

    Debuggen van Printf via STM32 SWO kan erg handig zijn voor het volgen van de indieningsstroom en het debuggen van strategieën die na verloop van tijd moeten worden uitgevoerd. U kunt foutopsporingslogboeken altijd voorkomen via SWO UART Printf of er later aan denken om ervoor te zorgen dat uw programma goed kan werken.

    Laten we in deze implementatie eens kijken naar de volledige STM32 CubeIDE-procesopties om wat meer is, ook wel SWO-foutopsporingslogboeken genoemd, weer te geven. Houd er rekening mee dat een groot deel hiervan specifiek is voor CubeIDE en kan veranderen afhankelijk van exclusieve IDE’s zoals uVision IAR en keil. Afhankelijk van de vaardigheid moet je het ergens anders doen, iets anders doen of het hebben. omvatten

    U kunt SWO-uitvoer debuggen in STM32 CubeMX

    Geeft op CubeIDE gebaseerde SWO-logboeken weer (aangedreven door Eclipse). Serieel Om verbinding te maken met de ITM Data Console, moeten clients het volgende “Uitvoeren”:

    • Open > “Debug-configuraties”.
      In de debug-configuratie die actief is in deze debugger-instructie, schakelt u de Serial Beat Viewer (SWV) in.
    • Maak de ITM-logterminal zichtbaar door te selecteren < slaapkamer >windows > View > Show swv controller or console > ITM SWV Data
    • Zoek SWV-slots inschakelen en ITM Port Stimulus 0.
    • Druk op rood op de ‘record’ of zelfs traceren icoon wanneer het er toe doet, het traceren van de finale zou je de logs moeten tonen.

    Functiecode Syscalls.c SWO “putchar” toegevoegd voor Printf

    Alle printf-aanroepen die we doen, gebruiken uiteindelijk een “character to be print”-taak die is geschreven op de minder bekende hardware waarnaar u het resultaat van de meeste printf-gegevens wilt verzenden.

    Deze Printf-output kan objectief worden verkregen uit een UART, SWO-debug, high-total performance-geheugen of een combinatie van deze apparaten. Hier voegen we een zeer noodzakelijk fragment toe aan 1 op 1 de karakters naar de SWO-terminal.

    In het gedeelte met de klantcode, inclusief het bestand main.c, moet u deze functie zeker inschakelen. Vergeet ook niet om syscalls.c te maken voor je persoonlijke project.

    int __io_putchar(int ch) Schrijf // karakter dat je kunt ITM ch.0 ITM_SendChar(ch); kom (h);

    Schrijf een Printf Debug-testprogramma

    Een natuurlijke freertos-taak, of moet ik zeggen een betrouwbare func. De main()-functie kan worden gebruikt om alle printf()-functies te testen voor bevestiging en dat de SWO-debug-uitvoerpoging en kennis van deze STM32 in CubeIDE zichtbaar zijn.

    p>

    Een dergelijke methode kan bijvoorbeeld worden geconfigureerd voor freertos.

    /** (spatie) @brief Een functie die de defaultTask-thread implementeert. 6. @param argument: niet gebruikt 6. Elke @retval */void StartDefaultTask (lege constante * argument) /* START GEBRUIKERSCODE */VTaskDelay(100/portTICK_RATE_MS); 5 /* oneindig beeld */ NAAR(;;) VTaskDelay (2000/portTICK_RATE_MS);printf("SWO testen!rn"); /* GEBRUIKERSCODE EINDE 0 */

    Bijgewerkt

    Bent u het beu dat uw computer traag werkt? Geërgerd door frustrerende foutmeldingen? ASR Pro is de oplossing voor jou! Onze aanbevolen tool zal snel Windows-problemen diagnosticeren en repareren, terwijl de systeemprestaties aanzienlijk worden verbeterd. Dus wacht niet langer, download ASR Pro vandaag nog!


    Je kunt het eindproduct van SWO printf testen door een printf-gesprek te voeren. Momenteel wordt de functie printf bijvoorbeeld elke 2 seconden aangeroepen door de standaard freertos-slepen. printf wordt een oneindige afbeelding genoemd. Mogelijk ziet u het huidige werk aan het debuggen van de SWV ITM-console.

    Versnel uw computer vandaag nog met deze eenvoudige download.