Categoria: Trace

  • Segger SystemView

    Panoramica

    SystemView è uno strumento di testing embedded progettato per analizzare e profilare il comportamento dei sistemi real-time. Offre approfondimenti dettagliati sul comportamento a runtime, superando le capacità dei debugger tradizionali. Ideale per sistemi complessi con thread multipli e interrupt, SystemView aiuta gli sviluppatori di software embedded a garantire che i propri sistemi funzionino come previsto, identificando inefficienze e scoprendo interazioni involontarie o conflitti di risorse.

    Registrando i dati di monitoraggio dal sistema embedded tramite l’interfaccia di debug, SystemView visualizza in dettaglio task, interrupt ed esecuzione dei timer software, documentandone frequenza, ordine e tempi di esecuzione. La registrazione può essere salvata in un file per analisi successive o per la documentazione del sistema.


    Caratteristiche principali

    SystemView offre funzionalità potenti con un’intrusività minima. È compatibile con qualsiasi CPU, RTOS o sistema bare-metal, garantendo elevata flessibilità per diversi progetti.

    • Supporto Multicore: Consente la registrazione e l’analisi sincronizzata per sistemi con più core CPU su un singolo microcontrollore, fornendo una visione unificata delle interazioni complesse.
    • Registrazione continua: Cattura task, interrupt, timer, risorse, chiamate API ed eventi utente in tempo reale con un impatto minimo sulle prestazioni.
    • Campionamento dati: Permette di registrare ed elaborare un numero illimitato di sorgenti di campionamento per la generazione di grafici, visualizzandoli in tempo reale durante l’esecuzione del sistema.

    Casi d’uso

    • Analisi di sistemi complessi: Rivela relazioni intricate e potenziali conflitti tra thread ed eventi che non sono visibili con i metodi di debug convenzionali.
    • Verifica del comportamento: Fornisce una timeline dettagliata degli eventi (task, API, interrupt) per assicurarsi che ogni parte del sistema funzioni secondo il design originale.
    • Ottimizzazione delle risorse: Evidenzia carichi eccessivi della CPU o una distribuzione inefficiente dei task, fornendo dati azionabili per migliorare la reattività del sistema.

    Come funziona SystemView

    SystemView integra un piccolo modulo software (contenente SystemView e RTT) nel sistema target. Questo modulo raccoglie i dati degli eventi, li formatta e li passa al modulo RTT, che li memorizza in un buffer locale.

    • Efficienza: Richiede meno di 2 KB di ROM e circa 600 byte di RAM.
    • Overhead minimo: L’impatto sul sistema è inferiore all’1% (su un sistema a 200 MHz con 10.000 eventi al secondo).
    • Precisione: I timestamp sono configurabili fino al singolo ciclo di CPU (5 ns su una CPU a 200 MHz).
    • Integrazione: L’aggiunta al progetto richiede pochi minuti e spesso solo un paio di righe di codice per interrupt.

    Funzionalità aggiuntive

    • Monitoraggio Heap: Traccia le allocazioni di memoria in tempo reale per identificare perdite (leak) e inefficienze.
    • Finestra DataPlot: Visualizza variabili e dati dei sensori in tempo reale accanto agli eventi registrati, come un oscilloscopio sincronizzato.
    • Analisi carico CPU: Identifica i colli di bottiglia per bilanciare i carichi di lavoro.
    • Timeline degli eventi: Traccia cronologicamente i cambi di contesto (task switch) e l’attività degli interrupt.
    • Output di Log: Messaggi simili a printf() visualizzati nella Terminal Window, con formattazione differita per risparmiare risorse sul target.

    Supporto RTOS

    SystemView è pronto all’uso con i principali sistemi operativi real-time:

    • embOS: Supportato nativamente dalla versione 4.12a.
    • FreeRTOS: Supportato nativamente dalla versione V11 (compatibile con V8, V9, V10).
    • ThreadX / Zephyr / NuttX: Integrato nativamente o tramite driver RTT.
    • uC/OS-II / III e Micrium OS: Integrazione nativa disponibile.

    Requisiti di sistema e Licenze

    • Sistemi Operativi: Windows (x64/Arm), macOS (Apple Silicon/Intel), Linux.
    • Hardware: CPU 2GHz, 4GB RAM, 2GB spazio su disco.
    • Licenze: Disponibile sotto SEGGER Friendly License (uso non commerciale gratuito) o licenza commerciale. Le licenze sono perpetue: nessun abbonamento annuale richiesto.
  • Segger J-Trace

    Panoramica

    Lo J-Trace di SEGGER è una sonda di tracciamento (trace probe) professionale di tipo streaming che offre la migliore esperienza di analisi possibile, vantando un elenco esteso di funzionalità in grado di soddisfare ogni esigenza di debug degli sviluppatori embedded. Grazie allo streaming trace illimitato, al Live Code Profiling e alla Live Code Coverage, i progettisti possono isolare e identificare difetti del codice altrimenti difficili da scovare.

    J-Trace offre supporto multi-piattaforma per Windows, macOS e Linux, risultando estremamente versatile. Questa flessibilità si riflette anche nel supporto ai più popolari IDE. Per abilitare il tracciamento con qualsiasi toolchain, è possibile utilizzare il software di debug stand-alone gratuito Ozone. Per muovere i primi passi in modo rapido e semplice, sono inoltre disponibili schede di riferimento per il tracciamento (trace reference boards).

    La serie J-Trace comprende diversi modelli. Dotato di tutte le funzionalità di debug dello J-Link, lo J-Trace PRO è progettato per supportare le funzioni di tracciamento avanzate di tutti i core e le architetture più diffuse. Modelli specializzati forniscono supporto per microcontrollori basati su Cortex-M (J-Trace PRO Cortex-M), Cortex-A/R/M (J-Trace PRO Cortex-A/R/M) e RISC-V (J-Trace PRO RISC-V). Tutti offrono ampie capacità di memoria di traccia e comunicazione ad alta velocità via USB SuperSpeed 3.0.


    Caratteristiche principali

    • Sonda di streaming trace con interfaccia SuperSpeed USB 3.0 e Gigabit Ethernet.
    • Streaming in tempo reale alla massima velocità di clock del sistema.
    • Ottimizzazione delle applicazioni con il Live Code Profiling.
    • Code Coverage a livello di istruzione per soddisfare i requisiti normativi.
    • Tracciamento illimitato per isolare e identificare difetti software nascosti.
    • Punti di interruzione illimitati nella memoria flash (Unlimited Flash Breakpoints).
    • Disponibile per tutti i dispositivi più diffusi (Arm e RISC-V).

    Modelli J-Trace

    • J-Trace PRO: La sonda di tracciamento multi-architettura “all-in-one” per qualsiasi core e architettura CPU.
    • J-Trace PRO Cortex-A/R/M: Supporta il tracciamento su un’ampia gamma di core Arm Cortex.
    • J-Trace PRO Cortex-M: La sonda leader per abilitare lo streaming continuo per lo sviluppo e l’ottimizzazione del codice.
    • J-Trace PRO RISC-V: Supporta il tracciamento su una vasta gamma di core RISC-V.

    Connettori di debug e tracciamento

    Lo J-Trace dispone di due connettori. Quello di debug è dedicato esclusivamente al debug e può essere utilizzato con gli adattatori target per J-Link. Il connettore di tracciamento gestisce i segnali ETM/N-Trace.

    Nota: È possibile utilizzare un solo connettore alla volta.


    Dispositivi supportati

    L’elenco dei produttori, famiglie e SoC supportati include decine di migliaia di dispositivi. Se il tuo componente non è in elenco, puoi contattare direttamente il supporto SEGGER.


    Specifiche tecniche in sintesi

    CaratteristicaValore
    AlimentazioneUSB
    Velocità di download in RAMFino a 4.0 MB/s
    Frequenza CPU massimaIllimitata
    Frequenza TPIU massima300 MHz
    Interfacce hostEthernet, USB 3.0
    Interfacce targetcJTAG, JTAG, SWD, SWO
    TracciamentoStreaming illimitato + Analisi live

    Ultime notizie

    Dicembre 2025: SEGGER annuncia il supporto per il debug, il tracciamento e la programmazione per i processori Alif Semiconductor serie E4, E6 e E8, che abilitano l’IA generativa nei dispositivi Edge.