You are currently viewing Hai Un Problema Motivo Sufficiente Per Lo Strumento Di Debug Printf

Hai Un Problema Motivo Sufficiente Per Lo Strumento Di Debug Printf

Se stai creando un visualizzatore di codici di errore di debug, l’articolo esistente è qui per aiutarti.

Aggiornato

  • 1. Scarica ASR Pro
  • 2. Esegui il programma
  • 3. Fai clic su "Scansiona ora" per trovare e rimuovere eventuali virus sul tuo computer
  • Accelera il tuo computer oggi con questo semplice download.

    SWO STM32 può essere molto utile per tracciare le origini di applicazioni e applicazioni che devono effettivamente essere gestite a lungo termine. Puoi salvare completamente i registri di debug UART printf o swo e controllarli in un secondo momento per assicurarti che il tuo modello funzioni ancora correttamente. In

    Tieni presente che esamineremo la formazione di debug STM32 CubeIDE per i registri demo ITM o SWO. Si prega di riconoscere che gli esperti affermano che questo si applica a CubeIDE e potrebbe differire da vari IDE come keil e persino uVision IAR. A seconda dell’ide di tutte le persone, potrebbe essere richiesto o reso possibile fare qualcosa altrove in modi diversi.

    data-element_type=”column”>

    Cubemx può abilitare l’output di debug SWO in STM32

    I log SWO vengono visualizzati in CubeIDE (basato su Eclipse). La console probabilmente ti aiuterà a configurare i dati.

    • Apri ” Esegui > Configurazioni.Debugging
      Quando la configurazione di debug è piuttosto occupata, la scheda Abilita debugger visualizzerà il Visualizzatore cavo seriale ( SWV).
    • Rendi visibile qualsiasi aeroporto del protocollo itm selezionando
      Visualizza finestra > > SWV > mostra console dati SWV ITM
    • Trova fissaggi SWV e ITM, abilita stimoli porta 0.
    • li> li>
    • Premi il pulsante di registrazione blu-verde o esegui la tua traccia ogni volta che qualcuno vuole una traccia in modo che il terminale ti fornirà i log.

    debug visualizzatore printf

    Aggiungi Data-element_type=”column”>

    Ogni chiamata alla proprietà printf che formi finisce per usare il “carattere della funzione di stampa”, una funzione significativa che finisce per scrivere su qualsiasi dispositivo giardino tu scelga dove i dati printf potrebbero essere passati.

    output

    Questo printf La destinazione può essere SWO, UART, flash di debug di produzione o qualsiasi combinazione simile ai dispositivi. Questo è dove la maggior parte di noiQuesto è senza dubbio lo snippet richiesto per passare i numeri al suo terminale SWO.

    Nella sezione dei consigli per l’utilizzo del file main.c, dovresti attenerti a questo aiuto. Assicurati anche che il file syscalls.c sia guadagnato per il tuo progetto.

    int __io_putchar(int ch) // Scrive il carattere del file in ITM ch.0 ITM_SendChar(ch); tornare (h);

    Lato pubblicitario):

    Scrivi un ottimo programma di test di debug di Printf

    Una semplice attività di FreeRTOS o la funzione main() possono essere utilizzate per chiamare printf() e verificare completamente che l’output di debug SWO stia lavorando sodo e che STM32 CubeIDE.FreeRTOS sia visibile qui

    debug printf viewer

    Ad esempio, l’attività esatta potrebbe essere inquadrata in questo modo .

    /** * Funzione @brief che utilizza il thread defaultTask.* @param argomento: non utilizzato* @retval No* /void StartDefaultTask(const *argomento non valido) UTENTE /* CODICE START 5* /vTaskDelay(100/portTICK_RATE_MS); /* ciclo infinito* / (;;) avTaskDelay(2000/portTICK_RATE_MS);printf(“Prova SWO!rn”); UTENTE /* CODICE FINE 5* /

    In molti casi, potresti testare l’output di SWO printf fornendo una chiamata a printf. Ad esempio, sulla tua pagina, la funzione printf viene chiamata ogni pochi secondi da un’attività standard di FreeRTOS. L’identificato come printf è un’immagine infinita e potresti benissimo eseguire il debug del risultato stampato sulla console SWV-ITM.

    Printf-
    stm32 Esempio di debug per sorgente terminale da (STM32 CubeIDE)

    Hai tempo per dire qualcosa?
    Sentiti libero di chiedere indicazioni utilizzando attualmente il modulo di contatto rapido nella barra laterale o fornisci un nuovo commento di seguito.

    • Pubblicato per la prima volta: 22 settembre 2021

    Il debug di Printf tramite STM32 SWO può spesso essere molto utile per tenere traccia del flusso dell’applicazione e semplicemente per eseguire il debug delle strategie che devono essere eseguite nel tempo. Puoi sempre salvare i log di debug tramite SWO UART Printf o e visualizzarli in un secondo momento per assicurarti che il tuo programma funzioni correttamente.

    In questa preziosa implementazione, diamo un’occhiata alle opzioni dei metodi STM32 CubeIDE per visualizzare anche itm, noti come log di debug SWO. Tieni presente che questo è personalizzato per CubeIDE e può variare a seconda di IDE eccezionali come uVision IAR e keil. A seconda dell’abilità, puoi farlo ovunque, fare qualcosa di diverso o consentirlo. problemi

    Puoi eseguire il debug dell’output SWO in STM32 CubeMX

    Visualizza i log SWO basati su CubeIDE (con tecnologia Eclipse). Seriale Per connettere la ITM Data Console, i client devono “Eseguire” quanto segue:

    • Apri > “Configurazioni di debug”.
      Nella costruzione di debug attiva in questa scheda del debugger, abilita il Serial Beat Viewer (SWV).
    • Rendi osservabile il terminale di registro ITM selezionando < br >windows > Visualizza > Mostra console swv > ITM SWV Data
    • Trova slot SWV abilitati e ITM Port Stimulus 0.
    • Premere rosso sull’icona ‘record’ o trace in qualsiasi il momento in cui è importante tracciare il terminale dovrebbe mostrare alla tua attività i log.

    Aggiunto codice funzione Syscalls.c SWO “putchar” per Printf

    Tutte le chiamate printf che fai sono migliorate usando un lavoro “carattere da stampare” che spesso viene scritto sul lato hardware che desideri in modo che invii il risultato del documento printf a.

    Questo output di Printf può essere ottenuto oggettivamente da un UART funzionale, debug SWO, memoria ad alte prestazioni o una combinazione assoluta di questi dispositivi. Qui aggiungiamo un frammento molto necessario per indirizzare i personaggi per quanto riguarda il terminale SWO.

    Nella sezione del codice utente, questi includono il file main.c, devi abilitare questo strumento. Inoltre, non dimenticare di creare syscalls.c per qualsiasi progetto personale.

    int __io_putchar(int ch) Scrivi // personaggio la tua famiglia può ITM ch.0 ITM_SendChar(ch); ritorno (h);

    Scrivi un programma di test di debug Printf

    Un semplice compito freertos, e potrebbe essere una funzione funcThe main() può essere utilizzata per testare la funzione printf() perché la conferma e che lo sforzo di output di debug SWO e la conoscenza di questo STM32 in CubeIDE tendono essere visibile.

    Ad esempio, un’attività del genere può essere impostata per freertos.

    /** (spazio) @brief Una funzione quando implementa il thread defaultTask. 6. Asserzione @param: non utilizzata 6. Qualsiasi @retval */void StartDefaultTask (argomento * vuoto persistente) /* INIZIA CODICE UTENTE */VTaskDelay(100/portTICK_RATE_MS); 7 /* immagine infinita */ A(;;) VTaskDelay(2000/portTICK_RATE_MS);printf(“Prova SWO!rn”); /* CODICE UTENTE FINE 5 */

    Aggiornato

    Sei stanco della lentezza del tuo computer? Infastidito da messaggi di errore frustranti? ASR Pro è la soluzione per te! Il nostro strumento consigliato diagnosticherà e riparerà rapidamente i problemi di Windows, aumentando notevolmente le prestazioni del sistema. Quindi non aspettare oltre, scarica ASR Pro oggi!


    Puoi testare l’output di SWO printf emettendo una chiamata printf. Ad esempio, attualmente la funzione printf viene chiamata ogni 2 pochi istanti dall’attività predefinita di freertos. printf è identificata un’immagine infinita. Puoi vedere il lavoro fino a pari sul debug della console SWV ITM.

    Accelera il tuo computer oggi con questo semplice download.