SEGGER emPower
Il sistema operativo dotato di un middleware veramente completo, tutto fornito in codice sorgente. (altro…)
Leggi tuttoSviluppare un’applicazione embedded sopra a un kernel real-time presenta molti vantaggi: il sistema può essere sviluppato in modo modulare, separando il dominio real-time da quello che non presenta vincoli temporali in risposta agli stimoli esterni. E’ l’ambiente naturale per introdurre stack di comunicazione come il TCP/IP e lo USB. Sin dall’inizio della propria storia, Segger ha sviluppato embOS, un kernel hard real-time che si distingue per efficienza e prestazioni. Nel corso degli anni sono state introdotte nuove versioni di embOS per applicazioni speciali: embOS-MPU (grazie alle Memory Protection Unit dei core Cortex-M, i dati dei task sono confinati in un proprio spazio di indirizzamento, con notevole aumento della sicurezza del sistema), embOS-SAFE (con certificazione per applicazioni functional-Safety IEC61508), embOS-ULTRA (tickless, per applicazioni a basso consumo).
Il sistema operativo dotato di un middleware veramente completo, tutto fornito in codice sorgente. (altro…)
Leggi tuttoembOS-Ultra è un kernel real-time che offre un un maggiore precisione e risoluzione temporale di qualsiasi altro sistema operativo sul mercato.
La schedulazione di tutti gli eventi temporali (come i timeout, i ritardi, i timer periodici) può ora essere pianificata in termini di microsecondi o di cicli della CPU. (altro…)
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.
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.
Le API di embOS-Safe rimangono l stesse di embOS perciò applicazioni scritte in passato possono essere riutilizzate senza modifiche.
Il kit di certificazione per embOS-Safe include tutti i documenti necessari, incluso un completo manuale di sulla sicurezza di embOS.
embOS-MPU offre un meccanismo di protezione della memoria per il kernel real-time embOS. Esso contribuisce in modo significativo ad aumentare la stabilità e la sicurezza delle Vostre applicazioni embedded semplificando i processi di certificazione. Il sistema operativo e tutti i task dichiarati privilegiati girano in zone di memoria protette e isolate rispetto ai task dichiarati non-privilegiati. La piena compatibilità delle API con quelle della versione standard di embOS consente di adattare l'applicazione con uno sforzo minimo.embOS-MPU può essere utilizzato in applicazioni alimentate a batteria, in sistemi single-chip in cui siano richiesti altra responsività, flessibilità e task multipli. Esempi di applicazioni per le quali embOS-MPU è adatto (l'elenco non esaurisce tutte le possibilità) sono: applicazioni medicali, automazione, sistemi avionici, applicazioni safety-critical, ecc.
embOS è il kernel hard real-time di Segger ad alte prestazioni, con supporto per le principali architetture di processore, senza royalties.
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)
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
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
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: