emFTP

FTP sta per File Transfer Protocol. È il meccanismo di base per spostare file tra macchine su reti basate su TCP/IP come Internet. FTP è un protocollo client/server, il che significa che una macchina, il client, inizia un trasferimento di file contattando un’altra macchina, il server e facendo richieste. Il server deve essere operativo prima che il client inizi le sue richieste. In generale, un client comunica con un server alla volta, mentre la maggior parte dei server è progettata per funzionare con più client simultanei. (altro…)

Leggi tutto

SEGGER SystemView

SystemView è uno strumento di registrazione e visualizzazione in tempo reale per sistemi embedded. Rivela il vero comportamento di runtime di un’applicazione, andando molto più in profondità rispetto a un normale debugger. Ciò è particolarmente efficace durante lo sviluppo e il lavoro con sistemi embedded complessi che comprendono più thread e interruzioni. SystemView può garantire che un sistema funzioni come progettato, individuare inefficienze e trovare interazioni indesiderate e conflitti di risorse.

Caratteristiche principali

  • Registrazione continua in tempo reale di un sistema embedded
  • Cattura attività, interruzioni, timer, risorse, chiamate API ed eventi utente
  • Registrazione tramite J-Link e tecnologia SEGGER RTT, IP o UART
  • Analisi live e visualizzazione dei dati acquisiti
  • Minimamente intrusivo per il sistema
  • Funziona su qualsiasi CPU
  • Funziona con qualsiasi RTOS e con sistemi bare-metal
  • Tracciamento delle chiamate API SEGGER embOS, emNet ed emFile come standard
  • Strumentazione uC/OS-III, Micrium OS Kernel, FreeRTOS, NuttX e Zephyr inclusa
  • Gratuito per uso non commerciale senza limitazioni

RTOS supportati

Attualmente embOS, uC/OS-III, Micrium OS Kernel, FreeRTOS, NuttX e Zephyr possono essere utilizzati con SystemView out-of-the-box.

Registrazione di eventi

Sul sistema target, SystemView registra gli eventi che si verificano durante l’esecuzione. Questi possono essere interruzioni, timer, scambi di attività e pianificazione con un RTOS, chiamate e restituzioni di funzioni API o eventi e messaggi utente. Gli eventi vengono recuperati, analizzati e visualizzati nell’applicazione SystemView, mentre il target continua a funzionare. La finestra Eventi in SystemView mostra gli eventi registrati insieme ad altre informazioni.

Per mantenere un overhead di comunicazione basso sul sistema target, SystemView registra solo informazioni di base.

SystemView analizza tutte le informazioni dagli eventi e mostra:

  • Il nome della funzione API e i suoi parametri e valori
  • L’ora di registrazione o l’ora di sistema in cui è avvenuta la chiamata
  • L’attività in cui è avvenuta la chiamata
  • La durata della chiamata API

Esempio di output: “La funzione API con ID x è stata chiamata con i valori dei parametri y e z e n tick dopo l’ultimo evento”.

Un evento regolare è lungo da 4 a 8 byte e richiede circa 1 µs per essere registrato a 200 MHz. Con 10.000 eventi al secondo, l’overhead aggiunto da SystemView è inferiore all’1% del tempo della CPU e la quantità di dati è facilmente entro i limiti di larghezza di banda del registratore.

I timestamp per gli eventi possono essere precisi come 1 ciclo della CPU, che equivale a 5 ns su una CPU a 200 MHz.

Finestra della cronologia degli eventi

La maggior parte dei sistemi embedded non ha un’esecuzione lineare del codice. Implementano interruzioni per timer e utilizzo di periferiche o potrebbero utilizzare un RTOS con più attività.

Il target genera eventi all’ingresso e all’uscita delle interruzioni, quando le attività diventano pronte per l’esecuzione e quando un’attività inizia o interrompe l’esecuzione. L’applicazione SystemView traccia questi eventi nella finestra Cronologia e mostra il contesto in cui si verificano.

Ciò consente un’analisi semplice di quando, quanto tempo e perché le attività vengono eseguite o cosa accade su un’interruzione.

Ciò aiuta a identificare problemi e inefficienze, come:

  • Priorità delle attività errate o inversione delle priorità che portano alla fame
  • Comunicazione errata tra attività
  • Ritardi e timeout inefficienti
  • Interruzioni discutibili o non necessarie

Visualizzazione dei dati registrati nella finestra DataPlot di SystemView

Le funzionalità di registrazione dei dati di SystemView forniscono una visione più profonda del comportamento del sistema. I dati registrati includono variabili, dati dei sensori, stati o qualsiasi altro dato personalizzato. Tutti i dati registrati sono direttamente sincronizzati con gli eventi e qualsiasi altra cosa registrata con SystemView. Per visualizzare i dati, la finestra DataPlot fornisce una visualizzazione simile a un oscilloscopio che è coerente con le finestre Cronologia e Carico della CPU di SystemView.

Con la possibilità di monitorare i dati delle variabili insieme agli eventi di runtime, gli sviluppatori possono facilmente identificare e analizzare il comportamento del sistema, individuare anomalie e ottimizzare le prestazioni. La finestra DataPlot supporta elevate frequenze di campionamento, offre opzioni di visualizzazione personalizzabili e consente la decodifica di più variabili in diversi formati per un’analisi precisa e dettagliata.

Finestra Statistiche contesto

SystemView consente agli utenti di identificare i motivi di blocco. La finestra Statistiche contesto presenta informazioni dettagliate sul tempo totale attivo, bloccato e sospeso di un’attività. Inoltre, il tempo bloccato è suddiviso in segmenti come blocchi causati da interruzioni, altre attività o lo scheduler e mostra l’attività specifica o l’interruzione responsabile del blocco.

Gli utenti possono selezionare l’attività che desiderano analizzare tramite un menu a discesa. Inoltre, la casella di controllo “Nascondi quando vuoto” consente una panoramica chiara, mostrando solo gli eventi che si sono effettivamente verificati.

Identificazione dei motivi di blocco con SystemView

Ottimizzazione delle prestazioni dei task

I cicli della CPU sono limitati nei sistemi embedded, rendendo importante ottimizzare le prestazioni delle attività nonché ottenere l’ordine di esecuzione e la distribuzione del tempo corretti.

Con la finestra Carico della CPU, SystemView aiuta ad analizzare dove è alto il carico della CPU. Conoscendo ciò che accade durante o prima dei tempi di carico elevato, il sistema può essere ottimizzato per evitare colli di bottiglia che potrebbero portare a un’esecuzione ritardata di attività importanti.

La finestra Runtime fornisce informazioni aggiuntive sulla distribuzione di runtime dei contesti. Può essere utilizzata per verificare che ciascun contesto venga eseguito entro i propri limiti di tempo o per trovare casi in cui un contesto viene eseguito in modo inaspettato troppo a lungo.

Tracciamento e misurazione delle prestazioni

SystemView configura eventi particolarmente adatti a contrassegnare determinati punti in un sistema target. Per misurare facilmente la durata dal punto A al punto B o dal punto A attraverso B al punto C, è possibile generare eventi di inizio marcatore, marcatore e arresto marcatore. L’applicazione SystemView collega automaticamente i marcatori corrispondenti e aggiunge ulteriori informazioni, come il tempo di esecuzione e il numero di esecuzioni della misurazione.

Output di registrazione

SystemView include la registrazione di messaggi con una registrazione. Stringhe semplici possono essere registrate come messaggio di registro, avviso o errore. Le funzioni di registrazione supportano la formattazione delle stringhe, simile a printf(). Poiché la formattazione delle stringhe può richiedere tempo e richiede memoria aggiuntiva, questa può essere rinviata all’applicazione SystemView. Il sistema target registra semplicemente la stringa di formato e i parametri in un evento. Quindi l’applicazione SystemView si occupa di formattare la stringa e di stamparla nella finestra Terminale.

Monitoraggio dell’heap

SystemView monitora l’allocazione della memoria heap. In molti casi, la memoria può essere allocata per la durata dell’applicazione senza problemi. Si verifica un problema quando il carico massimo dell’heap aumenta nel tempo, ovvero l’applicazione aumenta costantemente la quantità di memoria che utilizza. Ciò significa che l’applicazione sta perdendo memoria e alla fine avrà problemi. Con il monitoraggio della memoria heap di SystemView è facile vedere dove vengono effettuate le allocazioni di memoria, fornendo indizi su dove potrebbe trovarsi la perdita.

FAQ

D: Posso utilizzare SystemView mentre eseguo il debug della mia applicazione?

R: Sì. SystemView può essere eseguito in parallelo a un debugger ed eseguire la registrazione continua. Per assicurarsi che i dati possano essere letti abbastanza velocemente, configurare la connessione del debugger su una velocità di interfaccia elevata (>= 4 MHz). Le connessioni parallele a un target sono attualmente supportate solo su Windows e Linux.

D: Posso utilizzare SystemView con il mio J-Link LITE o J-Link OB?

R: Sì. In generale, SystemView può essere utilizzato con qualsiasi J-Link. J-Link LITE e J-Link OB sono limitati nella velocità dell’interfaccia di debug. Ciò porta a eventi di overflow quando il buffer RTT non può essere letto abbastanza velocemente e il sistema crea troppi eventi. Per ottenere un J-Link completo, dai un’occhiata alle opzioni di acquisto.

D: Posso utilizzare SystemView con il mio vecchio J-Link?

R: Sì. In generale, SystemView può essere utilizzato con qualsiasi J-Link se il J-Link supporta il core target. I J-Link più vecchi (V8 e precedenti) potrebbero avere capacità RTT limitate. Ciò può anche portare a eventi di overflow quando il buffer RTT non può essere letto abbastanza velocemente e il sistema crea troppi eventi. Per permutare o aggiornare il tuo J-Link, dai un’occhiata alle nostre opzioni di acquisto.

D: Posso eseguire la registrazione continua su dispositivi Cortex-A o Cortex-R?

R: Dipende dal target. RTT richiede l’accesso alla memoria sul target mentre il target è in esecuzione. Su Cortex-A e Cortex-R, questo viene eseguito tramite AHB-AP. Se un dispositivo target ha un AHB-AP, SystemView può registrare continuamente.

D: Posso eseguire la registrazione continua su ARM7, ARM9?

R: No. RTT richiede l’accesso alla memoria sul target mentre il target è in esecuzione. Su questi dispositivi, sono supportate solo le modalità single-shot e post-mortem.

D: Non utilizzo embOS o FreeRTOS, posso comunque utilizzare SystemView per la mia applicazione?

R: Sì. SystemView può essere utilizzato con qualsiasi (RT)OS. Per la registrazione dell’esecuzione di attività e sistema operativo, il sistema operativo potrebbe avere opzioni per collegare moduli di strumentazione di traccia/profiling in cui può essere aggiunto SystemView. In caso contrario, il sistema operativo deve essere strumentato per poterlo fare. In caso di dubbio, contattare un venditore di sistemi operativi. Se non è possibile strumentare il sistema operativo, è comunque possibile utilizzare SystemView per registrare l’attività delle interruzioni e gli eventi utente.

D: Non utilizzo alcun sistema operativo. Dovrei comunque utilizzare SystemView?

R: Sì. Anche senza alcun sistema operativo, SystemView può essere utilizzato per registrare l’attività delle interruzioni, per verificare che le interruzioni si verifichino come previsto e per registrare eventi utente che possono essere utilizzati per misurare i tempi di esecuzione dei moduli.

D: Ricevo eventi di overflow durante la registrazione continua. Come posso evitarlo?

R: Gli eventi di overflow si verificano quando il buffer RTT di SystemView è pieno. Ciò può accadere per i seguenti motivi:

  • J-Link è mantenuto occupato da un debugger e non può leggere i dati abbastanza velocemente.
  • La velocità dell’interfaccia target è troppo bassa per leggere i dati abbastanza velocemente.
  • L’applicazione genera troppi eventi per adattarsi al buffer. Per evitarlo:
    • Minimizzare le interazioni del debugger con J-Link mentre il target è in esecuzione. (ad esempio, disabilitare le visualizzazioni live)
    • Selezionare una velocità di interfaccia più elevata in tutte le istanze connesse a J-Link. (ad esempio, il debugger e SystemView)
    • Scegliere un buffer più grande per SystemView. (1 – 4 kByte)
    • Eseguire SystemViewer autonomamente senza un debugger.

D: La mia applicazione si arresta quando connetto SystemView. Cosa potrebbe essere sbagliato?

R: Assicurarsi che siano disponibili circa 200 byte di stack per SystemView in ogni contesto (attività, interruzione, scheduler) che può creare eventi SystemView.

D: Non riesco a iniziare la registrazione in SystemView. Cosa potrebbe essere sbagliato?

R: Le possibili ragioni sono:

  • J-Link o target non sono connessi: assicurarsi che tutte le connessioni siano OK.
  • Il target non è in esecuzione: assicurarsi che il target sia in esecuzione, altrimenti la connessione potrebbe fallire o il blocco di controllo RTT potrebbe non essere trovato.
  • Il modulo SystemView non è configurato: assicurarsi che il modulo SystemView sia incluso nell’applicazione e che SEGGER_SYSVIEW_Conf() venga chiamato all’inizio dell’applicazione.
  • Il software J-Link è obsoleto: assicurarsi di avere installato l’ultimo pacchetto di software e documentazione J-Link.

D: SystemView non riesce a trovare il blocco di controllo RTT. Come posso configurarlo?

R: Il rilevamento automatico del blocco di controllo RTT può essere eseguito solo in un intervallo di indirizzi RAM noto dopo che è stato inizializzato. Assicurarsi che l’avvio dell’applicazione sia stato eseguito quando si inizia a registrare. Se il blocco di controllo RTT si trova al di fuori dell’intervallo noto per il dispositivo selezionato, selezionare “Indirizzo” e inserire l’indirizzo esatto del blocco di controllo RTT o selezionare “Intervallo di indirizzi” e inserire un intervallo di indirizzi in cui sarà il blocco di controllo RTT.

D: Ricevo pacchetti non validi. Come può accadere?

R: I pacchetti non validi vengono principalmente generati dal sistema target per uno dei due motivi seguenti:

  • SystemView non blocca correttamente quando registra un evento ed è interrotto da un altro evento. In questo caso, assicurarsi che SEGGER_SYSVIEW_LOCK() e SEGGER_RTT_LOCK() siano configurati correttamente per il dispositivo.
  • Il sistema entra in modalità sleep o a bassa potenza e J-Link non può accedere correttamente alla RAM per leggere il buffer SystemView. Si consiglia di non utilizzare WFI o qualsiasi modalità a bassa potenza mentre una sonda di debug è connessa al sistema.

D: Devo selezionare un dispositivo target per iniziare la registrazione?

R: Sì. J-Link deve sapere quale dispositivo target è connesso. L’elenco a discesa mostra i dispositivi utilizzati più recentemente. Per selezionare un altro dispositivo, inserisci semplicemente il suo nome. È possibile trovare un elenco di dispositivi supportati qui.

D: La mia domanda non è elencata sopra. Dove posso ottenere maggiori informazioni? Scriveteci: info@italsoft-mi.it 

Leggi tutto

SEGGER emLib

emLib è una libreria con funzionalità di base (crittografiche e codici di correzione degli errori) progettata per la portabilità su qualsiasi dispositivo. I moduli possono essere utilizzati in applicazioni PC e su dispositivi target embedded.

emLib è ottimizzato per le prestazioni di velocità e una ridotta impronta di memoria. Le sorgenti sono scritte completamente in ANSI-C. È incluso il codice di convalida per le API utilizzando modelli di test standard.

Caratteristiche principali

  • emLib è scritta in ANSI-C e può essere utilizzata su praticamente qualsiasi CPU
  • Facile da integrare utilizzando una semplice API
  • Gli stessi moduli e la stessa API possono essere utilizzati nei programmi PC e sui target embedded
  • Sono incluse applicazioni di esempio per i test e la convalida dei moduli
  • Progettato per qualsiasi target e sistema

Contenuto della libreria

Modulo AES

Implementazione dell’algoritmo AES a 128 bit e 256 bit, incluso l’elaborazione a blocchi concatenati per la crittografia/decrittografia di più di 16 byte di dati.

Modulo DES

Implementazione dell’algoritmo DES (56 bit), incluso CBC per l’elaborazione di più di 8 byte di dati. Le funzioni DES possono essere chiamate più volte per ottenere una maggiore sicurezza (TDES, triple-DES).

Libreria CRC

Gestione di polinomi arbitrari fino a 32 bit di larghezza, in forma normale e invertita. Oltre alle funzioni CRC generiche, emLib CRC presenta implementazioni ottimizzate per i polinomi CRC più diffusi, tra cui CRC-CCITT, CRC-16 e CRC-32.

Libreria ECC

Fornisce routine per il rilevamento e la correzione di errori a più bit. Include implementazioni per la correzione di errori a 4, 8, 24 e 40 bit.

Leggi tutto

emLoad: il bootloader versatile

In molte applicazioni la presenza di un bootloader è un grande valore aggiunto, perchè permette di semplificare la produzione e il rapporto con il cliente che può aggiornare un firmware difettoso senza dover far rientrare il prodotto.

Segger ha maturato una grande esperienza nell’ambito dei bootloader e il loro prodotto emLoad è già giunto alla quarta generazione.

Strategie di aggiornamento

emLoad è un bootloader pensato per microcontrollori a 16/32 bit di cui può aggiornare  il firmware interno in vari modi:

  • attraverso la porta USB DEVICE, utilizzando la classe HID (Human Inteface Device). In questa variante, la scheda target viene connessa via USB al PC sul quale gira un’applicazione di aggiornamento fornita in codice sorgente.
  • tramite la porta USB HOST, usando la classe MSD (Mass Storage Device): Lo scenario è quello di aggiornare il firmware inserendo una chiavetta di memoria nella porta USB Host del target.
  • tramite la porta UART.  Sul PC gira un software che è in grado di effettuare l’aggiornamento aprendo una COM verso il target

emLoad supporta varie strategie di aggiornamento, che possono essere personalizzate: si può per esempio aggiornare il firmware se e solo se quello proposto è una release più recente di quella installata, oppure solo se è maggiore o uguale a quella già installata.

Sicurezza

emLoad incrementa la sicurezza risolvendo due problemi:

Come bloccare i tentativi di manomissione del firmware (alterazione del firmware e/o sostituzione con un firmware alternativo non genuino).

Questo risultato viene raggiunto tramite un meccanismo di firma digitale del firmware implementata con algoritmi crittografici asimmetrici: RSA e  ECDSA (Curve Ellittiche). All’atto dell’aggiornamento del firmware, la firma digitale generata in fabbrica usando una chiave segreta viene verificata istantaneamente tramite la chiave pubblica presente all’interno della memoria protetta del target.

Come distribuire gli aggiornamenti firmware attraverso un canale non sicuro eliminando i rischi di copie illegali e di reverse-engineering?

emLoad risolve questo problema con l’add-on facoltativo che introduce la crittografia simmetrica dell’immagine del firmware. L’immagine del firmware viene decifrata solamente all’interno del microcontrollore durante le operazioni di aggiornamento.

 

 

 

 

 

Leggi tutto

SEGGER emPower

Il sistema operativo dotato di un middleware veramente completo, tutto fornito in codice sorgente. 

emPower è ottimizzato per ottenere alte prestazioni, con un utilizzo della memoria ridotto che gli permette di girare su gran parte delle famiglie di microcontrollori sul mercato.
Tutti i componenti di emPack sono scritti in C e possono essere compilati con un compilatore "C" ANSI/ISO.

Ecco la lista dei pacchetti inclusi:

embOS

Kernel hard real-time.

emNet PRO

emNet BASE IPv4 (7.01.00) oppure IPv4/v6 Dual Stack
emFTP (7.02.00)
emNet NetBIOS Name Service (7.03.01)
emNet (m)DNS/LLMNR/DNS-SD Server (7.03.02)
emWeb (7.05.00)
emNet DHCP Server (7.08.01)
emNet SNTP Client (7.14.00)
emNet SMTP Client (7.16.00)
emMQTT (7.19.00)
emNet CoAP Server / Client (7.22.00)
emNet NTP Client (7.23.00)
emNet WebSocket (7.40.00)
emNet device driver (7.01.xx/7.15.xx)

emCompress

Libreria per la compressione dei dati senza perdite.

I dati possono essere statici oppure trasmessi in uno stream.

emCrypt PRO

libreria crittografica che include: Block ciphers, hashes, MACs, public key encryption, key agreement, key derivation, digital signatures

emFile PRO

Comprende:

emFile FAT (2.00.01)
emFile FAT LFN Module (2.10.10). Il modulo LFN (=Long File Name) consente di superare il limite storico di FAT di 8+3 caratteri per nome del file ed estensione.
emFile device driver NAND universal (2.10.06)
emFile device driver CF/IDE (2.10.02)
emFile device driver SD/MMC (2.10.03)
emFile device driver NOR (2.10.04)

emModbus Master & Slave

Contenuto commutatore

emSecure

Libreria in codice sorgente che supporta la firma digitale del firmware, per garantire l'immutabilità e la genuinità del firmware.

emSSL

Libreria che implementa Secure Shell

NOTA [*]:  The software is classified as dual-use good according to Category 5, Part 2 "Information Security" of EU Regulation No 2021/821. Any export or transfer of the software with a destination outside the European Union requires an export permission (Art. 11 para 9 and Art. 27 para 4 EU-Dual-Use-VO).

emSSL

Libreria in codice sorgente che implementa lo strato secure socket layer  e TLS.

NOTA:  The software is classified as dual-use good according to Category 5, Part 2 "Information Security" of EU Regulation No 2021/821. Any export or transfer of the software with a destination outside the European Union requires an export permission (Art. 11 para 9 and Art. 27 para 4 EU-Dual-Use-VO).

emUSB Device PRO

Include:

emUSB-Device BASE (9.00.00)
emUSB-Device Bulk component (9.00.01)
emUSB-Device MSD Class (9.00.03)
emUSB-Device CDC Class (9.00.04)
emUSB-Device Printer Class (9.00.07)
emUSB-Device MTP Class (9.00.10)
emUSB-Device VirtualMSD Component (9.00.11)
emUSB-Device CCID Class (9.00.14)
Un driver (9.10.xx)

emUSB Host PRO

Comprende:

emUSB-Host BASE (9.30.00)
emUSB-Host Audio Class (9.35.08)
emUSB-Host CCID component (9.35.06)
emUSB-Host CDC Class (9.35.02)
emUSB-Host CP210x UART support (9.35.09)
emUSB-Host FTDI UART support (9.35.03)
emUSB-Host LAN component (9.37.10)
emUSB-Host MIDI component (9.35.07)
emUSB-Host MTP component (9.35.10)
emUSB-Host Printer component (9.35.00)
emUSB-Host Vendor component (9.35.04)
Un singolo driver (9.40.xx)

emWeb

HTTP Server embedded

Può supportare una connessione sicura se viene abbinato al prodotto emSSL.

emWin PRO

Libreria grafica in codice sorgente per display LCD che comprende:

emWin BASE color (3.00.01)
emWin WM/Widgets (3.01.00)
emWin AppWizard
emWin Memory devices (3.01.02)
emWin Antialiasing (3.01.03)
Un driver singolo per controller LCD (3.10.xx)

IoT Toolkit

Libreria in sorgente di vari pacchetti per l'implementazione di sistemi per l'Internet of Things.

Pacchetti di driver di periferica

Due pacchetti di driver per emPower, reclamabili durante il periodo di supporto e manutenzione

Leggi tutto

emUSB-Web

emUSB-Web di SEGGER offre una nuova e semplice via per configurare dispositivi senza display

Connettersi a un dispositivo privo di interfaccia uomo-macchina è ora semplice quanto collegare un cavo. emUSB-Web utilizza la porta USB per connettersi al PC, consentendo di gestire configurazione con la comodità di un browser per il web.

Per approfondire, ecco la press release di Segger: https://c.a.segger.com/fileadmin/documents/Press_Releases/2023/230927_IT_PR_SEGGER_emUSB-Web.pdf

 

Leggi tutto

Segger J-Link PRO PoE

Il J-Link PRO PoE di SEGGER, nuovo membro della famiglia dei J-Link, con la funzionalità Power-over-Ethernet è il programmatore e debugger ideale per
creare un impianto di test, veloce, automatizzato e con un elevato livello di parallelismo interno.

Maggiori informazioni si trovano nella press release: https://c.a.segger.com/fileadmin/documents/Press_Releases/2023/231004_IT_PR_SEGGER_J-Link_PRO_PoE.pdf

 

Leggi tutto

J-Link DSK

J-Link DSK (Device Support Kit) è un pacchetto per estendere le capacità del J-Link in termini di algoritmi di programmazione.  Anche se SEGGER continua a implementare nuovi algoritmi per la programmazione di nuovi dispositivi, può accadere che qualcuno rimanga fuori da questo processo.  Con il pacchetto DSK, i clienti possono ora creare il supporto che manca. Per rendere semplice questo compito, il J-Link DSK viene fornito con il flash loader della SEGGER con un set completo di script per supportare dispositivi che richiedano una gestione non standard.

 

Sul sito della SEGGER è possibile trovare l’elenco aggiornato dei dispositivi attualmente supportati dal J-Link: https://wiki.segger.com/SEGGER_Flash_Loader#Supported_CPU_architectures

Per richiedere un preventivo o maggiori informazioni tecniche potete cliccare sul bottone “Contatto Rapido” nel menu in alto.

Leggi tutto

J-Link SDK

J-Link SDK (Software Development Kit) è una libreria che consente agli sviluppatori di integrare le funzionalità del J-Link all’interno di una propria applicazione. E’ utilizzato in IDE professionali com IAR Embedded Workbench e Keil uVision e consente di supportare il debug di una scheda target direttamente utilizzando il J-Link come probe.  E’ altresì adatto a creare una macchina per la produzione altamente integrata.

J-Link SDK è disponibile per Windows, Linux, macOS, sia a 32 bit che a 64 bit e può essere utilizzato praticamente con qualsiasi linguaggio di programmazione e in qualsiasi ambiente di sviluppo . L’integrazione con il J-Link è implementata tramite delle librerie dinamiche (DLL) e fornisce delle API semplici, in stile linguaggio C.

La libreria è fornita con progetti di esempio per Visual C++ 6, Visual Studio 2010), VB6 (Microsoft Visual Basic), VB.NET (Visual Studio 2010).

J-Link SDK esporta tutte le funzionalità del J-Link come ad esempio:

  • accesso al flash loader integrato nel J-Link.
  • controllo completo del target (Run, halt, reset, step, …).
  • settaggio di breakpoint, watchpoints, con il supporto per la tecnologia esclusiva di Segger: “Unlimited Flash Breakpoints”.
  • campionamento ad alta velocità dei dati, SEGGER Real-Time Terminal, SWO e Simple Trace (via ETB).
  • la libreria è concepita in modo da limitare al minimo lo scambio di dati con il J-Link.

Cliccare su “Contatto Rapido” nel menu in alto per richiedere un preventivo per questo prodotto.

Leggi tutto