Segger PTP (Precise Time Protocol)

Segger introduce il nuovo modulo PTP (Precise Time Protocol) come add-on per lo stack TCP/IP embOS/IP. Il pacchetto è un’implementazione dello standard IEEE 1588v2 (anche noto come: IEEE 1588-2008) per sincronizzare via internet un orologio ordinario (un clock di tipo slave) con un orologio esterno di riferimento. La sincronizzazione può essere utile in tutta una serie di applicazioni in cui sorgenti di dati o sensori siano temporalmente correlati tra di loro. Esempi sono il riconoscimento di immagini, applicazioni audio. Questo protocollo può operare con oppure senza supporto hardware per PTP. Il protollo consente la sincronizzazione entro il millisecondo usando dei software timer. PTP con supporto hardware consente un’accuratezza intorno a 100ns tra target e sorgente di clock.

embOS-Safe

TÜV Süd Germany ha certificato il sistema operativo real-time embOS secondo gli standard EC 61508 SIL 3 e IEC 62304 Class C. IEC 61508 è lo standard per la sicurezza funzionale ed è il punto di riferimento per vari standard derivati in campi di applicazione differenti. Certificazioni di embOS rispetto ad altri standard come ISO 26262 possono essere facilmente conseguite. Il conseguimento della certificazione conferma la qualità dei processi di sviluppo di Segger e dimostra che embOS-Safe è un kernel perfetto per applicazioni di sicurezza. Nessuno sforzo è richiesto agli utilizzatori di embOS-Safe per conseguire la certificazione del kernel. embOS-Safe viene fornito con un kit di certificazione che contiene tutti i documenti necessari, compreso un manuale completo su la sicurezza con embOS.

functional_s3

Certificato di Sicurezza

STÜV Süd ha verificato il processo di sviluppo di embOS e conferma con un certificato che embOS-Safe è un componente ideale per lo sviluppo di applicazioni di sicurezza.

embos-product-icon

Stesse API di embOS

Le API di embOS-Safe rimangono l stesse di embOS perciò applicazioni scritte in passato possono essere riutilizzate senza modifiche. 

SeggerLogo200

Kit di Certificazione

Il kit di certificazione per embOS-Safe include tutti i documenti necessari, incluso un completo manuale di sulla sicurezza di embOS.

Il punto tecnico: prestazioni del compilatore IAR per ARM

Quale criterio si può utilizzare per comparare le prestazioni di un microcontrollore oppure di una toolchain con prodotti concorrenti?  L’azienda CoreMark è specializzata nella creazione di programmi per il benchmarking.  Nel seguito sono riportati i risultati ottenuti da varie release della toolchain IAR per ARM.  Numeri CoreMark più grandi indicano prestazioni migliori; si può notare la progressione straordinaria della toolchain IAR chiamata a compilare delle applicazioni di benchmarking per varie architture ARM: Approfondisci

Embedded Workbench Functional Safety

IAR Embedded Workbench Functional Safety Edition
In alcuni settori come l’industria automotive, quella biomedicale e in parte nell’ambito dell’automazione industriale la sicurezza e l’affidabilità del sistema embedded possono essere fondamentali. In particolare, per certe applicazioni critiche per la sicurezza può essere obbligatorio procedere a certi tipi di certificazione presso enti terzi. Approfondisci

embOS (RTOS)

embOS è il kernel hard real-time di Segger ad alte prestazioni, con supporto per le principali architetture di processore, senza royalties.

Caratteristiche Principali

Numero illimitato di mailbox (il limite è la memoria disponibile)
La dimensione e il numero di messaggi è configurabile
Numero illimitato di timer software (il limite è la memoria disponibile)
La risoluzione del tick di sistema è selezionabile (default è 1ms).
Misura temporali ad alta risoluzione (migliore del tick di sistema)
Power management: il tempo di CPU inutilizzato può essere speso in halt-mode.
La maggior parte delle funzioni di sistema possono essere chiamate dalle routine di interrupt.
Zero interrupt latency time.
Gli interrupts annidati sono permessi.
Build in debug mode permettono l’instrumentazione del sistema operativo per facilitare debug.
Task profile
Real time kernel viewer (embOSView) incluso (monitoraggio via seriale dello stato dei task)

Specifiche

kernel size (ROM) 1100 – 1600 byte *
kernel RAM usage 18 – 25 byte *
kernel CPU usage at 1 ms Interrupts with 10MHz M16C : less than .3%
RAM usage mailbox 9 – 15 byte *
RAM usage binary and counting semaphore 3 byte
RAM usage resource semaphore 4 – 5 byte *
RAM usage timer 9 – 11 byte *
RAM usage event 0
Basic time unit (One Tick) Default 1 ms, can be configured, Min. 100 µs (M16C@10MHz) *
task activation time independent of no. of tasks(e.g. typ. 12 us M16C@10MHz)
zero interrupt latency
No. of tasks : Unlimited (by available RAM only)
No. of mailboxes : Unlimited (by available RAM only)
No. of semaphores : Unlimited (by available RAM only)
No. of s/w timers : Unlimited (by available RAM only)
Max. no. of priorities : 255
Max. no. of tasks with identical priorities (Round robin scheduling) Unlimited

* Dipende dalla CPU, il compilatore e il modello di libreria utilizzato

Architetture Supportate

ARM 7/9/XScale
ARM Cortex M0/M3/M4
ARM Cortex A8
Atmel AVR
Atmel AVR32
Infineon C16x
Freescale Coldfire V1/V2/V3
National Semiconductors CR16C
Fujitsu F2MC-16LX,F2MC-16FX
Fujitsu FR30 / FR50 / FR70
Renesas H8 / H8S
Renesas M16C/R8C
Renesas M32C & M16C80
Texas Instruments MSP430 & MSP430x
NIOS 2
Microchip PIC18
Microchip PIC24F/PIC24H
Microchip dsPIC30F/dsPIC33F
Microchip PIC32
Renesas R32C
Renesas R32C
Renesas R8C
Renesas RL78
Renesas RX
Renesas SH2
Renesas SH2A
Freescale SO8
ST ST7
ST STM8
Toshiba TLCS900
Toshiba TMPZ84
NEC V25
NEC V850 / V850E / V850ES
AMD X86
Zilog Z180
Hitachi 64180
NEC 78K0/K0S/K0R
NEC 78K4
8051

Strumenti di Debug

Il kernel di embOS supporta un meccanismo di trace che consente di catturare informazioni dettagliate sullo stato di kernel e task con precise misure temporali relative a tutti gli eventi interni al kernel . La cattura del trace viene effettuata nella maggior parte dei casi in automatico utilizzando il J-Link della Segger.
Esistono vari tool per visualizzare le informazioni catturate da embOS:

Stack TCP/IP

embOS/IP è lo stack TCP/IP di Segger ottimizzato per il kernel embOS e con supporto per IPv4/IPv6. Il prodotto è disponibile in versione Base oppure PRO e sono anche disponibili numerosi moduli aggiuntivi abbinabili a tali prodotti.  Approfondisci

J-Link

J-Link è una famiglia di emulatori che supportano le architetture ARM (JTAG/SWD), Renesas RX (JTAG), Microchip PIC32 e RISC-V.   J-Link è uno strumento polivalente, utilizzabile per il debug oppure per la produzione.    E’ alimentato tramite la porta USB e a sua volta può fornire 5V al target attraverso il pin 19. Nel caso in cui si utilizzi l’optoisolatore, questo pin sarà utilizzato per alimentarlo lato emulatore. Tutti i modelli di J-Link sono integrati con l’ambiente di sviluppo IAR Embedded Workbench

GDB Server

GDB Server è un server remoto che consente l’uso di J-Link con GDB o qualsiasi toolchain che utilizzi GDB come interfaccia di debug. Gratuito! E’ sufficiente possedere un J-Link per utilizzarlo GDB Client (lato PC) e GDB Server (lato target)comunicano tra di loro attraverso una connessione TCP/IP usando il protocollo standard GDB. GDB supporta un set standard di comandi come aprire un file elf/bin, leggere e scrivere in memoria, ecc… GDB supporta anche comandi di monitor del target interpretati dal GDB Server e tradotti in comandi per il J-Link.

Optoisolatori

Per applicazioni che lo richiedano, sono disponibili tre tipi di optoisolatori:

  • Optoisolatore JTAG
  • Optoisolatore SWD
  • Optoisolatore per la porta USB del J-Link

L’optoisolatore JTAG e quello SWD non sono intercambiabili. Vanno scelti sulla base della porta di debug presente sulla scheda.

Produzione col J-Link

J-Flash è una utility software a pagamento per Windows (abbinabile a qualsiasi J-Link (non di tipo “Lite”) e abilitata in fabbrica per i J-Link modello Plus, Ultra-Plus e PRO e Flasher-ARM) che consente la programmazione della flash interne (NOR), esterne parallele (NOR) e esterne SPI dei microcontrollori con core ARM, RX. E’ un classico tool per la produzione che automatizza il processo di programmazione delle flash. E’ implementato sotto forma di interfaccia grafica, ma può operare anche in riga di comando ed è basato su una configurazione di progetto.


Unlimited Flash Breakpoints

Chi lavora con un microcontrollore ARM7 o Cortex-M3 sa che la RAM generalmente limitata impone di eseguire il codice da Flash. L’esecuzione di codice in flash implica l’uso dei breakpoint di tipo hardware, presenti in numero limitato. Le CPU ARM7, ad esempio, supportano solamente 2 breakpoints hardware corrispondenti ad un massimo di 2 punti di interruzione sul codice. Con i Cortex-M la situazione è leggermente migliore, con in genere da 4 a 6 breakpoint hardware. In molti casi il debugger JTAG necessita di uno dei due breakpoint hardware per funzionare, limitando a uno solo i punti di interruzione del codice selezionabili. Le CPU ARM supportano anche i software breakpoint (“trappole”), ma questi sono utilizzabili solamente con il codice che gira in RAM. Segger ha recentemente risolto il problema con l’introduzione del tool Flash Breakpoint. Questa soluzione tecnica esclusiva offerta dal probe J-Link si basa sulla riprogrammazione di singoli settori di flash sostituendo l’istruzione che si vuole marcare con un breakpoint con un software breakpoint. La riprogrammazione della flash avviene in background e richiede un tempo impercettibile. Il meccanismo è trasparente rispetto al debugger: quest’ultimo non riporterà più un errore al tentativo di introdurre più breakpoints rispetto a quelli messi a disposizione dal core. Il sistema è ottimizzato per garantire la massima efficienza: l’instruction set simulator integrato limita il numero delle effettive riprogrammazioni dei settori di flash per stressare l’hardware il meno possibile.

J-TRACE

J-Trace è uno speciale emulatore della Segger che oltre al supporto JTAG/SWD,  acquisisce i segnali di trace generati dalla cella ETM (opzionale nei core Cortex-M). Con questo strumento è possibile catturare tutto il flusso delle istruzioni eseguite dal core del microcontrollore in tempo reale.

Esistono due modelli di J-Trace:  J-Trace e J-Trace-PRO.

J-Trace PRO introduce l’acquisizione in streaming (per un tempo illimitato) dei dati di trace, l’unico limite è lo spazio su disco del PC

Modelli disponibili

Download Speed
into RAM
Download
Into Flash
GDB Server Unlimited Flash
Breakpoints
J-Flash RDI /
RDDI
Ethernet
J-Link PRO 3.0 MByte/sec  
 J-Link ULTRA+ 3.0 MByte/sec (-)
 J-Link PLUS 1.0 MByte/sec (-)
 J-Link BASE 1.0 MByte/sec (-) (-) (-) (-)
Emulatori con supporto per trace:
 J-Trace PRO Cortex-M 3.0 MByte/sec
J-Trace Cortex-M 3.0 MByte/sec (-)

(-) Non incluso

Modbus

emModbus è un’implementazione di Segger del protocollo Modbus che supporta la comunicazione via UART (ASCII, RTU) ed Ethernet (Modbus/TCP e Modbus/UDP).

Applicazioni

emModbus è un’implementazione di Segger del protocollo Modbus che supporta la comunicazione via UART (ASCII, RTU) ed Ethernet (Modbus/TCP e Modbus/UDP). Può essere utilizzato per comunicare con qualsiasi dispositivo che sia conforme allo standard Modbus. emModbus supporta il ruolo master e slave che possono anche essere combinati all’interno dello stesso prodotto. Inoltre, sono supportate più interfacce all’interno dello stesso target. Ogni interfaccia può essere configurata run-time rendendo possibile la creazione di una singola libreria da utilizzare all’interno di più prodotti.

Requisiti

  • Modbus via ethernet richiede uno stack TCP/IP. Segger ha il proprio, embOS/IP, ma si può utilizzare qualsiasi stack TCP/IP con socket standard BSD.
  • Ambiente multi-tasking. Anche se emModbus può operare anche senza kernel, si consiglia l’uso di questo prodotto in un ambiente multi-tasking, almeno per l’implementazione del Modbus Master.