PEmicro-erlebniswelt

Introduzione del debug su chip

Come funziona il debug su chip?

Quella che segue è una semplificazione per aiutare i nuovi utenti con i concetti..........

Ogni singolo chip di una famiglia (ad esempio ARM o NXP/Freescale ColdFire) assegna alcuni pin per la comunicazione tra uno speciale modulo di controllo all'interno del chip del microprocessore e un programma applicativo che normalmente viene eseguito su un PC. Per ridurre al minimo il numero di pin e circuiti utilizzati sul chip, questa comunicazione utilizza in genere un collegamento non standard, per cui è necessaria un'interfaccia speciale sul lato PC.

Quando il microcontrollore viene alimentato, questi pin vengono controllati e se sono impostati in un certo modo, il modulo di controllo prende il controllo e il microcontrollore viene considerato in modalità di debug on-chip (useremo l'abbreviazione BDM per Background Debug Mode).  Se non è impostata la modalità BDM, il modulo di controllo si limita ad avviare il microcontrollore all'accensione e non ha nient'altro da fare --- ai pin vengono assegnate le funzioni di I/O standard. 

Quando il BDM è impostato, è il modulo di controllo, e non la CPU, a decidere cosa succede dopo. Il modulo di controllo ha accesso a tutti i bus di memoria e in modalità BDM può, ad esempio, leggere e scrivere tutte le memorie e i registri e inviarne il contenuto al PC affinché il tecnico possa visualizzarlo. Il tecnico può decidere di inviare un nuovo codice dal PC da caricare nella RAM del target. Il modulo di controllo può anche forzare il microprocessore a eseguire una singola istruzione o a funzionare finché il microprocessore non raggiunge una posizione predefinita il cui indirizzo corrisponde al contenuto dei "registri di breakpoint" del modulo di controllo. Con queste poche funzioni, il tecnico che opera sul PC ha tutte le possibilità di controllare il sistema di destinazione e di eseguire il debug del codice sul microcontrollore.

In breve, il BDM offre il 90% delle funzionalità di un emulatore in circuito (ICE) a meno dell'1% del costo. 

Nota: quando si utilizza JTAG per controllare il debug on-chip, per la comunicazione vengono utilizzati gli standard di segnale specificati dal Joint Test Action Group (JTAG è il nome comune di IEEE 1149.1), ma questo non significa automaticamente che il chip possa essere testato utilizzando tecniche e strumenti di boundary-scan.

 

Usare il BDM per programmare la flash?

Il segreto consiste nell'utilizzare l'interfaccia BDM per caricare una piccola applicazione nella RAM e la maggior parte dei dati da caricare nella flash rispetto al resto della RAM.  Il BDM lancia quindi questa applicazione, che "brucia" la flash e poi torna al PC per recuperare altri dati fino a quando il compito non è terminato.

Di seguito viene descritta l'offerta di prodotti BDM e JTAG di PEmicro

PEmicro è leader in questo settore e i suoi prodotti sono inclusi in molti pacchetti EVB di NXP/Freescale.  Gli strumenti di PEmicro, comprese le interfacce, i software come i programmatori (PROG), i debugger in-circuit (ICD), gli assemblatori/editor e i visualizzatori di file di registro (REGxx) sono tutti disponibili a magazzino. Funzionano tramite le interfacce PEmicro che collegano il PC al target, via USB o Ethernet. Questi prodotti sono disponibili come applicazioni Windows complete a 32/64 bit per W95/98/2K/NT/XP/W7 e W8 per le seguenti famiglie di processori:

  • ARM Cortex M0-4
  • Tutti i dispositivi Freescale
  • Dispositivi NXP (LPC TI/Stellaris)
  • Dispositivi Renesas e Hitachi
  • Dispositivi ST Microelectronics

Interfacce BDM, JTAG e SWD

Gli ultimi cavi universali multilink USB di PEmicro sono le interfacce hardware tra un PC standard e l'header di un'ampia gamma di sistemi target. A seconda del chip, forniscono l'accesso alle interfacce Background Debug Mode (BDM), JTAG e SWD del microcontrollore. Utilizzando il cavo BDM/JTAG/SWD, l'utente può sfruttare la modalità "on-channel"

 l'utente può sfruttare il "debug on-chip" per programmare dispositivi di memoria FLASH interni o esterni e testare il codice dell'applicazione nel micro.

Con il Multilink ACP a basso costo per la gamma ARM, il Multilink Universal per un'ampia gamma di CPU da Motorola, NXP ad ARM, o il Multilink Universal FX ad alte prestazioni e per la produzione della serie Cyclone come alternative, sono disponibili diversi punti di prezzo/prestazioni.

Gli strumenti di programmazione della memoria flash sono disponibili sia per gli ambienti di sviluppo che per quelli di produzione.  I dettagli sul loro funzionamento sono riportati di seguito.

pemicro Multilink fx debug schnittstelle
howbdm

Caratteristiche

Controllo completo delle risorse on-chip tramite BDM/JTAG/SWD
Emulazione in-circuit a piena velocità a un prezzo accessibile
Programmazione per dispositivi di memoria EEPROM/FLASH interni o esterni
Esecuzione fino a breakpoint hardware
fino al breakpoint hardware
Funziona con i pacchetti software di programmazione PROG e con una varietà di ambienti di debug per compilatori come CodeWarrior, KDS, Keil, IAR, Atollic, GDB
Sono disponibili versioni da 1,8 a 5 volt, vedi informazioni specifiche sul chip
Download e stepping molto veloci
Libreria di interfaccia e demo per tester e software propri

Quando si utilizzano le architetture di destinazione sincrone del modello Universal FX, come Kinetis, Qorivva, Coldfire V2-V4, 683xx, HC16, Power Architecture PX series e DSC, la comunicazione può essere da 4 a 10 volte più veloce rispetto alle vecchie interfacce multilink.

Download-speed-universal-fx

Serie Cyclone

Cyclone_Bild

Questi box si collegano a un PC via seriale, USB o Ethernet per fornire un programmatore flash interattivo e superveloce a controllo manuale o automatico. Possono anche essere scollegati dal PC e utilizzati come programmatori flash autonomi. Se stai sviluppando applicazioni per uno dei dispositivi NXP / Freescale, sono l'unico strumento di sviluppo hardware specifico per CPU che dovrai acquistare. Funziona con tutti i pacchetti software elencati di seguito.

Cyclone Universal LC Da utilizzare con le famiglie 68HC08, HCS08, HC12, HCS12. Si interfaccia con gli ambienti di debug PEmicro, CodeWarrior e Cosmic.  Da utilizzare anche con le famiglie Arm cortex, Kinetis, 55xx/56xx/57xx Qorivva, ColdFire, PPC 5xx/8xx, STM32, STM8, SPC56 e MAC 71xx,72xx (ARM). Interfaccia con il server GDB di ARM. Programmano anche i seguenti dispositivi

Cyclone per dispositivi ARM® Cortex Per programmare dispositivi basati su ARM Cortex M0-4 di STMicro, NXP, TI Stellaris e NXP/Freescale Kinetis.


Cyclone Universal FX, la specifica più alta della famiglia, è progettata per l'uso in produzione e presenta velocità di download estremamente elevate: Fino a 75Mb/s. Ha un Gbyte di memoria per contenere oltre 200 immagini e può selezionare e avviare la programmazione tramite uno scanner di codici a barre. Programma tutti i chip sopra elencati a partire dalla famiglia HC08 - ARM e poi con gli adattatori STM32, STM8 e SPC56, nonché le famiglie Renesas M32C, M16C, M16C/80, R8C, H8 e H8S/Tiny.  Una versione più economica è destinata esclusivamente alla famiglia ARM.

I Cyclone sono dotati di una serie completa di algoritmi di programmazione Flash e sono particolarmente apprezzati negli ambienti di produzione, dove possono essere utilizzati con una serie di opzioni di automazione progettate per la programmazione di linee di produzione su larga scala.

prog32w

Programmatore flash BDM

Un pacchetto software interattivo per la programmazione di EEPROM flash che ti permette di programmare/riprogrammare dispositivi flash interni ed esterni in-circuito tramite un cavo di interfaccia PEmicro. Perfetto per lo sviluppo, la programmazione della linea di produzione o gli aggiornamenti del firmware sul campo. I prodotti PEmicro includono la nostra intera libreria di file di configurazione per un determinato processore e comprendono versioni interattive e a riga di comando da utilizzare in fase di sviluppo e produzione. 

Le funzioni per la memoria flash sono: 

Programma, Verifica, Controllo vuoto, Carica, Visualizza e Cancella.

Debugger In-Circuit

Il software In-Circuit Debugger di PEmicro - ICD per Windows è un potente strumento di debug. Utilizza la modalità di debug del codice in background del processore tramite un cavo di interfaccia per consentire all'utente di accedere direttamente a tutte le risorse del chip.

  • Supporto del debug a livello di sorgente C per IEEE695 e GNU
  • Emulatore in-circuit a piena velocità
  • Punti di interruzione con contatori per mettere in pausa l'esecuzione successiva
  • Finestra variabile con visualizzazione di byte, parole, stringhe e parole lunghe
  • Esecuzione in tempo reale e modalità di tracciamento multiple
  • File di avvio e macro per automatizzare il processo di debug
  • Aiuto sensibile al contesto per tutti i comandi
  • Funzioni di misurazione dei tempi e di conteggio delle esecuzioni
  • Tasti di scelta rapida per impostare breakpoint e contatori
  • Supporto per i file di registro simbolici
icd32w
reg32w

File di registro

REGxx permette all'utente di visualizzare e modificare i campi dei registri del processore sia in formato simbolico che numerico tramite il BDM, eliminando il noioso processo di ricerca delle descrizioni dei registri nelle pagine del manuale. Quando l'utente seleziona un registro, viene letta e visualizzata la memoria effettiva del processore. I file di registro funzionano con il software di debugger in-circuit di PEmicro.

PACCHETTO con assemblatore  

Un pacchetto software completo per Windows a 32 bit composto da ambiente di sviluppo integrato, debugger in-circuit, assemblatore, programmatore e file di registro è ora disponibile per tutte le CPU: basta aggiungere il cavo di tua scelta. 

 

PACCHETTO Pro con C 

Il pacchetto PEmicro "Pro" fornisce tutto ciò di cui l'ingegnere ha bisogno per iniziare a utilizzare il compilatore Gnu Cross.  Contiene una versione precompilata PEmicro del set di strumenti del compilatore GNU/GCC che funziona direttamente in ambiente Windows senza la necessità di installare una shell Unix. Il compilatore è integrato in WinIDE e consente la compilazione one-touch di un progetto a livello C. Il pacchetto contiene codice di avvio e script di linker per i dispositivi più comuni. Il compilatore produce i formati di output Elf/Dwarf 2.0 e S19; il formato Elf/Dwarf è caricabile con il debugger in-circuit di PEmicro e il formato S19 è caricabile con il programmatore flash in-circuit di PEmicro, tutti inclusi insieme a un'interfaccia BDM/JTAG adeguata. Le versioni Pro del pacchetto sono ora disponibili per ColdFire e Power PC Qorivva 55xx/56xx/57xx (AKA NEXUS). 

 

Libreria di unità

Una libreria di chiamate che permettono al PC di controllare direttamente il cavo BDM.  Ideale se vuoi creare i tuoi programmi di test per la linea di produzione.  Ecco un esempio di API in C e Pascal. Sono disponibili due versioni Windows e Linux x86 (non ARM).

Strumenti di debug

PEmicro Multilink UniversalMultilink Universal
Multilink Universal
USB-ML-UNIVERSAL
PEmicro Multilink Universal è un'interfaccia per il debug e la programmazione di processori ARM e 8/16/32 bit.

290,00 €*
1.5 %
PEmicro Multilink FX UniversalMultilink Universal FX
Multilink Universal FX
USB-ML-UNIVERSAL-FX
PEmicro Multilink FX Universal è un'interfaccia per il debug e la programmazione di processori ARM e a 8/16/32 bit

590,00 €* 599,00 €*
pemicro cyclone fx universalCyclone FX Universal Header Layout
Cyclone Universal FX
CYCLONE-FX-UNIV
Il PEmicro Cyclone FX Universal è un programmatore indipendente per processori ARM e 8/16/32 bit.

1.369,00 €*