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

Test Farm Adapter

The Test Farm Power Adapter enables power that is supplied to a target through a USB connector to be switched on and off remotely using J-Link software. Since the debug signals are maintained, it can be used along with Ethernet featured debug probes like the J-Link PRO to build test farms.

What is a Test Farm

In terms of embedded systems, a Test Farm (or “board farm” or “device farm”) consists of a number of nodes (such as evaluation boards, prototype boards, production boards, finished products, etc.) connected to a network via debug probes, making them remotely accessible to testers or developers.

It is a very efficient way to share access to hardware that is in limited supply among a number of users. Additionally, automated build systems can run tests on the same standard setup, which is ideal for regression testing, continuous integration, compiler tests, and more.

The benefits of a test farm and how to build one

Find out more about test farms, including how to build a J-Link test farm with the J-Link Test Farm Power Adapter, on our Test Farm wiki page.

Use Cases

There is a large amount of use cases in almost any test setup for embedded systems. As soon as the number of devices to be tested grows, a test farm is inevitable to ensure quality. A test farm with J-Links and the J-Link Test Farm Power Adapter may consist of multiple test devices of the same type or be completely different. We have described a couple of test cases below.

Communication tests

Communication reliability can only be tested with a massive test setups that generates a huge amount of traffic on the communication channel. Specifically wireless traffic using protocols such as WiFi, ZigBee or Matter is prone to interference and requires thorough testing in order to ensure operation even under bad conditions. Communication test setups therefore use heterogenous targets to ensure interoperability with different devices as well as a huge number of similar devices to prove reliability.

Compatibility tests

Testing compatibility of an updated firmware module running on different platforms or of a compiler requires a setup using different devices. A test farm shortens test time by addressing the tests in parallel on multiple different targets and ensures, that any changes to the compiler or firmware module are tested thoroughly against all possible target devices.

Hardware specifications

Pins and connection

The Test Farm Power Adapter has a standard 20-pin 0.1″ socket towards the J-Link and a standard 20-pin 0.1″ header on the target side. It can directly be inserted between the J-Link and the debug cable maintaining a 1:1 connection of all debug signals except pin 19 which carries the target supply.

The adapter also has 2 USB connectors.

Power source and delivery

Power is delivered to the target through a USB-A host connector (USB2.0, power-only). The power source can be either the J-Link debug probe or an USB power source like a hub or wall adapter. In the first case the output voltage coming from J-Link is boosted to 5 V and is limited to around 250 mA. If the Micro USB connector of the Test Farm Power Adapter is used together with an external supply currents of 1 A and more are possible.

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

IoT, un esempio

Segger ha sviluppato un’applicazione di esempio per mostrare le potenzionalità del pacchetto per l’IoT (Internet of Things). Questa applicazione implementa una stazione meteo che gestisce un nodo IoT e pubblica su un servizio in cloud i dati registrati.

Descrizione del progetto

Dei sensori nella stazione meteo registrano la temperatura e pubblicano i dati. I dati sono analizzati dal cloud e resi disponibili su: http://iotnode.segger.com

Implementazione

La stazione meteo è basata sul kernel real-time Segger embOS che gestisce diversi task, come l’interfaccia grafica e gli input dall’utente. Per connettersi a internet, la stazione IoT utilizza lo stack TCP/IP emNet tramite Wi-Fi. La connessione è sicura, grazie a TLS che fa parte del pacchetto emSSL.
La registrazione è fatta con il client HTTP e il parser JSON del pacchetto IoT di Segger. Grazie al pacchetto crittografico emCrypt vengono apposte le firme digitali, i certificati e effettuate le verifiche.
Il nodo IoT pubblica i dati utilizzando MQTT Client (emMQTT) in sicurezza tramite Secure Socket Layer SSL (emSSL)

Guarda il progetto completo sul sito della Segger

Leggi tutto

IAR C-TRUST

C-Trust è un’estensione della toolchain IAR che per lo sviluppo di codice sicuro e crittografato. La gestione della sicurezza e della cifratura del firmware è completamente automatica, così gli sviluppatori possono concentrarsi sullo sviluppo dell’applicazione.

Dopo aver compilato e debuggato come al solito l’applicazione con IAR Embedded Workbench, il codice sarà automaticamente crittografato mediante l’algoritmo simmetrico standard AES. Il codice programmato in flash viene verificato tramite il boot loader sicuro (Secure Boot Manager).

Con C-Trust si estendono le funzionalità di Embedded Workbench per garantire la creazione di codice con un profilo di sicurezza creato dall’utente tramite il pacchetto Embedded Trust oppure con un profilo predefinito preinstallato.

Profilo di Sicurezza
IAR fornisce una serie di profili di sicurezza predefiniti.
Un profilo di sicurezza definisce la configurazione dell’ambito di esecuzione fidato (“trusted”).
Le proprietà del profilo del contesto di sicurezza predefinito include:

  • chiavi crittografiche e i certificati
  • configurazione del boot sicuro
  • gestione della sicurezza del microcontrollore
  • processo di aggiornamento dell’applicazione
  • policy di aggiornamento
  • layout della memoria del dispositivo

E’ possibile personalizzare un profilo di sicurezza solamente utilizzando il pacchetto Embedded Trust di cui C-trust rappresenta un sottoinsieme.

Per approfondire, visitate il link (esterno, sito IAR Systems):
https://www.iar.com/embedded_trust/

Leggi tutto

Supporto IAR per RISC-V

IAR Systems ha rilasciato la prima toolchain commerciale per la nuova architettura di processore open-source RISC-V.
La soluzione è basata sul solido ambiente di sviluppo Embedded Workbench e già la prima release ha mostrato un livello di ottimizzazione molto superiore alle toolchain gratuite.
La prima versione di Embedded Workbench per RISC-V supporta i core RV32 32-bit RISC-V. Le release future supporteranno il core a 64-bit, il set di istruzioni ridotto RV32E e vi sarà una versione certificata per applicazioni Functional-Safety

IAR Embedded Workbench per RISC-V include il tool di analisi professionale C-STAT.

Leggi tutto

RTT – Real-Time Transfer

RTT è una nuova tecnologia disponibile con tutti i modelli di J-Link che consente uno scambio dati ad alta velocità e bidirezionale tra il microcontrollore e il PC. Supporta le architetture Cortex-M e Renesas RX. Può gestire simultaneamente più canali di trasmissione in ambo le direzioni, consentendo la massima flessibilità all’utilizzatore. Tramite il tool J-Link RTT Viewer è possibile mostrare il traffico in più terminali virtuali, per esempio: uno per standard output, uno per error output.

Come si fa ad ottenere RTT?

RTT è parte del pacchetto software per il J-Link scaricabile gratuitamente dal sito della Segger, dalla sezione “download”.

Leggi tutto

J-Link Plus

J-Link-Plus condivide con il J-Link Base lo stesso hardware, ma è più completo dal punto di vista della dotazione software:

  • J-Link Unlimited Flash Breakpoints. Questa funzionalità consente di gestire un numero illimitato di breakpoint nella flash del dispositivo, ricorrendo all’uso di breakpoint di tipo software (tramite l’istruzione BKPT)
  • J-Flash.exe (gestisce la programmazione automatizzata di  flash interne, esterne NOR parallele e con alcuni microcontrollori anche le memorie (Q)SPI esterne)
  • J-Flash-SPI.exe (programmazione di memorie flash esterne (Q)SPI, direttamente ai pin.
  • J-Link RDI / RDDI: protocollo di debug compatibile con tutti i debugger RDI.
  • Includel a licenza per Ozone, l’ambiente grafico debug per i J-Link.

Unlimited Flash Breakpoints: questa tecnologia consente di supportare un numero illimitato di breakpoint nella flash interna del microcontrollore. Per dare un’idea della comodità offerta da tale tecnologia, si pensi che un Cortex-M4 supporta #6 breakpoint sul codice e un Cortex-M0 solamente #4.

J-Flash è un software per la programmazione delle flash interne ed esterne (NOR, SPI). Con questo software J-Link diventa un vero e proprio strumento per la produzione.

Ozone: J-Link è compatibile con numerosi ambienti di debug, come IAR C-SPY, ma il modello Plus (o superiori) mettono a disposizione l’ambiente di debug proprietario di Segger, Ozone.

Formati

J-Link-Plus esiste in due formati:

  • J-Link-Plus Classic
  • J-Link-Plus Compact

Funzionalmente identici, la versione Classic è pensata per il laboratorio; la versione Compact è di dimensioni più contenute (circa 3.5cm x 3.5cm) ed è dotata di fori per semplificarne il fissaggio in sistemi di test.

J-Link-Plus modello Compact
Leggi tutto

ELFLib

Segger ELFLib è una libreria che consente di estrarre informazioni da file in formato ELF, siano esse informazioni relative al formato ELF (es. informazioni sulle sezioni), oppure informazioni di debug specifiche del compilatore (variabili, funzioni, i loro tipi, indirizzi, ecc.). (altro…)

Leggi tutto

PTP (Precision Time Protocol)

Segger ha rilasciato il modulo PTP (Precise Time Protocol) come add-on allo stack TCP/IP embOS/IP.
Il modulo PRP implementa il protocollo “Precision Time Protocol” (PTP) secondo lo standard IEEE 1588v2 (anche noto come: IEEE 1588-2008) per sicronizzare un clock ordinario (un clock slave sultarget) con una sorgente di clock esterna attraverso una connessione ethernet.

Una sicronizzazione di questo tipo è richiesta in tutte quelle applicazioni in cui sorgenti di dati oppure sensori scambino dati sulla base del tempo. Esempi di applicazioni di questo genere si incontrano nell’ambito dell’elaborazione  oppure del riconoscimento di immagini, in applicazioni audio, in applicazioni multimediali oppure nell’automazione industriale.

PTP può essere usato con oppure senza un supporto hardware dedicato. Il protocollo stesso è in grado di gestire una sincronizzazione precisa al di sotto di un millisecondo usando timer software.
La presenza di un supporto hardware per PTP a livello di interfaccia ethernet può tuttavia consentire di migliorare l’accuratezza con precisione intorno a 100ns tra il target (clock ordinario) e il clock di riferimento (grandmaster clock).

L’implementazione di Segger di PTP è stata pensata per sistemi embedded con risorse hardware limitate. E’ ottimizzato per misure deterministiche del tempo (senza problemi di latenza) e ha un ridotto footprint in memoria. Il supporto hardware per PTP non è richiesto, ma può essere utilizzato se presente per garantire la massima precisione di misura. Driver per specifici hardware sono disponibili.

Leggi tutto