bertos: sistema real time embedded free

38
Real Time Embedded OS Develer S.r.l.

Upload: develer-srl

Post on 18-Nov-2014

8.254 views

Category:

Technology


0 download

DESCRIPTION

Introduzione a BeRTOS, sistema operativo embedded open source. Il sistema è gratuito anche per progetti embedded commerciali grazie alla sua speciale licenza.

TRANSCRIPT

Page 1: BeRTOS: Sistema Real Time Embedded Free

Real Time Embedded OS

Develer S.r.l.

Page 2: BeRTOS: Sistema Real Time Embedded Free

 Perchè Open Source

 Scoprire BeRTOS

 Vantaggi per le Aziende

 BeRTOS in breve

 La Licenza 

 Prodotti BeRTOS

 10 Motivi per ...

 Domande?

Agenda

BeRTOS è un sistema operativo real-time progettato per costruire applicazioni per sistemi embedded.“

Page 3: BeRTOS: Sistema Real Time Embedded Free

 Evitare Lock­In

 NO ai costi di licenza

 Diminuire i costi di manutenzione

 Vantaggi Economici

Perchè Open Source

Page 4: BeRTOS: Sistema Real Time Embedded Free

Evitare Lock­In Rispetto ai sistemi proprietari non c'è lock-in tecnologico

Molte diverse entità possono erogare gli stessi servizi sul mercato.Il cliente può apportare le modifiche che il venditore non è in grado o non intende eseguire.

Nessun obbligo di legarsi ad un fornitoreIl solo fornitore di servizi a cui legarsi è quello che soddisfa le necessità di business. È possibile passare da un fornitore ad un altro visto che i sorgenti sono condivisi pubblicamente.

Sistema aperto anche internamente:Ogni modifica è possibile anche ad un team interno “esperto”. Le risorse interne sono facilmente formabili grazie alla documentazione condivisa.

Qualità ed efficienzaChi lo sviluppa ci mette la propria credibilità professionale. Il libero accesso ai sorgenti favorisce il miglioramento dell'applicazione da parte di molte entità.Spesso in anticipo sugli altri in materia di tecnologie, è ben documentato, stabile e sicuro.

Page 5: BeRTOS: Sistema Real Time Embedded Free

No ai costi di licenza Il costo di un progetto software va ripartito per i clienti in tre parti:

- acquisizione della licenza, - installazione e personalizzazione dei programmi, - costi interni di adeguamenti organizzativi.

Il costo di un progetto basato su open source è quindi complessivamente pari a due terzi di un progetto basato su software proprietario.

Non paghi il sistema operativo, ma solo i servizi a valore aggiunto come la formazione del personale o eventuali sviluppi personalizzati o porting su piattaforme custom del cliente.

Page 6: BeRTOS: Sistema Real Time Embedded Free

Diminuire Costi Manutenzione È costruito con tecnologie e paradigmi moderni

Utilizzare tecnologie standard rende più facile il lavoro di integrazione verso infrastrutture tecnologicamente e linguisticamente diverse.

 Viene manutenuto dalla community, non da voiUtilizzare software open source è più semplice perché qualcun altro lo sistema per voi riducendo la necessità di intervento.

 Integrato con le vostre nuove featurePortando all'interno le vostre modifiche verranno mantenute ed adeguate dalla community ad ogni nuovo sviluppo del sistema in modo gratuito.

Page 7: BeRTOS: Sistema Real Time Embedded Free

BeR

TO

SR

TO

S C

lose

d

Fee

NoFee

- Nessun costo di licenza- Nessun costo di supporto- Nessun costo di manutenzione- Nessun incremento costi

Licenza

Licenza Supporto Manutenzione

Community

Supporto

Fornitore

Rinnovo

Community

Manutenzione

Fornitore

Contratti

Vantaggi Economici

- Costi di licenza- Costi di supporto- Contratto di manutenzione- Incremento annuale costi

Page 8: BeRTOS: Sistema Real Time Embedded Free

Scoprire BeRTOS

 BeRTOS è facile

 Architetture Supportate 

 Non solo Kernel!

 Performance: Memory Footprint, Overhead

 Cosa offre il mercato (Competitors)

 BeRTOS è diverso 

Page 9: BeRTOS: Sistema Real Time Embedded Free

 ... da Installare Grazie al Wizard ed all'SDK autoinstallante è possibile essere operativi in pochi minuti anche su Windows.

 ... da Usare Il Wizard grafico di configurazione dei progetti è compatibile multipiattaforma (Win, MacOS e Linux) e permette l'integrazione dei progetti direttamente in una IDE certificata (CodeLite)

 ... da Manutenere Il repositorio pubblico di BeRTOS è curato dalla community che provvede ad aggiornamenti, porting, bugfix ed integrazioni.

BeRTOS è facile ... 

Page 10: BeRTOS: Sistema Real Time Embedded Free

Architetture supportate

AT91SAM7S256

AT91SAM7X128

AT91SAM7X256

ARM7

ATMega8

ATMega32

ATMega64

ATMega103

ATMega128

ATMega168

ATMega1281

AVR

BeRTOS supporta le più comuni architetture di microprocessori (ARM e AVR). È comunque possibile il porting su qualsiasi altra piattaforma.

Page 11: BeRTOS: Sistema Real Time Embedded Free

Non solo Kernel

MonitorProcessi

Kernel

Messaggi

Semafori

Segnali

On/Off

BattFS ­ FAT ­ hashTabledynamic memory allocator

FIFO ­ Lists ­ Kernel

ADC API ­ BuzzerDataflash ­ I2C EEPROM

USB to parallelKeyboard ­ Graphic LCD

DC Motor with PIDAlphanumeric LCD

MPCdigital potentiometerNTC – TRIAC ­ PWM API

I2C port expanderSerial API ­ TC520 ADC

Thermostat ­ System timer APIStepper motor w/ramps

Watchdog ­ ... 

Moduli

Page 12: BeRTOS: Sistema Real Time Embedded Free

Ha prestazioni di tutto rispetto, può paragonarsi alle versioni commerciali di molti RTOS (o RTOS particolarmente noti).

Kernel Performance

Occupazione di pochi KB di flash con tutti i moduli del kernel attivi (semafori, segnali)

Occupazione di RAM lineare con il numero di processi

Stack minimo: 200 bytes su ARM 32-bit, 100 bytes su AVR 8-bit

Velocità di context-switching: 2.2uS su CPU ARM a 48MHz

Dal 25% al 30% più veloce degli altri sistemi RTOS

Page 13: BeRTOS: Sistema Real Time Embedded Free

BeRTOS vs FreeRTOS

Mantainer

Piattaforme- ARM7TDMI- AVR- Altre piattaforme

Funzionalità- Wizard grafico- SDK per Windows- Debugger in IDE- Filesystem FAT- Log di Debug

Supporto- Community- Commerciale

Licensing

FreeRTOS1 solo sviluppatore

SiSiSi

NoNoNoNoNo

Si (ENG)Si (ENG)

GPL modificata

BeRTOSCommunity

SiSiNo

SiSiSiSiSi

Si (ENG)Si (ITA-ENG)

GPL modificata

Conclusioni- Velocità di Supporto/Bugfix/Needs

- BeRTOS permette porting veloci su qualunque piattaforma custom

- Installazione e auto-configurazione veloce su sistemi Win, Mac e Linux- Disponibilità di strumenti di sviluppo e debug integrati nell'ambiente di lavoro- Disponibilità di maggiori feature

- Supporto tecnico anche in Italiano con una elevata qualità tecnica

- Gli investimenti in sviluppo software permettono vantaggi competitivi senza obblighi di sharing del codice sorgente.

Page 14: BeRTOS: Sistema Real Time Embedded Free

 Code BeautyOgni sviluppo su BeRTOS segue rigidamente principi di consistenza e leggibilità del codice.Il codice sorgente è interamente commentato per agevolarne la comprensione immediata.

 SemplicitàOgni sviluppo su BeRTOS viene implementato seguendo il principio della semplicità.Questo permette di rendere il sistema molto più modulare (può funzionare senza kernel!) oltre a renderlo più scalabile nelle richieste e nelle performance.

 RiusabilitàApplicare principi di riusabilità al codice di BeRTOS ha permesso di migliorare parametri come lo spazio fisico occupato e abbassare la quantità di risorse necessarie all'uso del sistema.

 SicurezzaBeRTOS permette una gestione completamente statica dell'allocazione di memoria, rendendo implicitamente più sicure le vostre applicazioni.

BeRTOS è diverso

Page 15: BeRTOS: Sistema Real Time Embedded Free

BeRTOS per le Aziende

Fast Time to Market 

 Tempi di sviluppo piu bassi

 Riduzione dei costi iniziali

 Focus sulle Idee

 Supporto Immediato

 Sistema Maturo e Stabile

 Riusabilità = Maggiori Opportunità

Page 16: BeRTOS: Sistema Real Time Embedded Free

BeRTOS assicura tempi rapidi di introduzione sul mercato, grazie a set di funzionalità completi e a strumenti di sviluppo che contribuiscono ad abbattere i tempi di realizzazione dei progetti. (Moduli e Drivers già pronti)

Fast Time to Market

Page 17: BeRTOS: Sistema Real Time Embedded Free

La ridotta necessità di sviluppare soluzioni personalizzate, vista la quantità di drivers e algoritmi già inclusi nelle librerie, contribuisce al completamento dei progetti risparmiando ore di lavoro in termini di sviluppo. 

Tempi di sviluppo più bassi

Gestione ADCMemorie Flash

E2PROMGestione tastiere

Display GraficiMotori Stepper e DC

Triac Controllo PotenzaPWN/NTCTermostati

Drivers

Checksum e HashProtocollo XmodemCompressione RLE

Full Hash TableCommand HistoryParser Comandi

Liste e FIFOGestione Eccezioni

Algoritmi

Page 18: BeRTOS: Sistema Real Time Embedded Free

Develer riduce al minimo l'investimento necessario, offrendo BeRTOS come sistema gratuito anche per:- progetti closed source;- progetti commerciali.

Il ‘costo totale di proprietà’ (TCO) si abbassa proprio grazie: - alla community tecnica di sviluppo- alla licenza GPL modificata

Riduzione dei costi iniziali

@Image by Tab.itha: http://www.flickr.com/photos/tab_itha/

Page 19: BeRTOS: Sistema Real Time Embedded Free

Non necessitando di acquisto

di una licenza, BeRTOS, consente

di spostare il focus economico dell'investimento

dallo strumento (licenze necessarie) al prodotto (applicazione da sviluppare).

Focus sulle Idee

@Image by Majed: http://www.flickr.com/photos/majedphoto/

Page 20: BeRTOS: Sistema Real Time Embedded Free

Il supporto è disponibile tramite una mailing list tecnica per sviluppatori:https://lists.develer.com/mailman/listinfo/bertos

Sono inoltre disponibili speciali pacchetti di supporto premium che garantiscono tempi di intervento, porting a costi fissi, o realizzazioni ad hoc anche su schede custom.

Il supporto premium garantisce al team di sviluppo un'assistenza che minimizza i rischi di eventuali ritardi dovuti a problemi tecnici.

Supporto Immediato

Page 21: BeRTOS: Sistema Real Time Embedded Free

BeRTOS viene mantenuto costantemente aggiornato con novità e patch che ne espandono le funzionalità. 

Il sistema è da considerarsi assolutamente maturo visti gli 8 anni di presenza nei progetti embedded di Develer, azienda che contribuisce sistematicamente con porting e bugfix. 

Sistema Maturo e Stabile

@Image by RyckyDavid: http://www.flickr.com/photos/cuppini/

Page 22: BeRTOS: Sistema Real Time Embedded Free

Ogni componente può essere riusato in qualsiasi altro progetto, per consentire il rapido aggiornamento o l'ampliamento delle linee di prodotti tramite l'utilizzo del codice esistente.

Questo permette di:

- rilasciare in tempi ridotti una più ampia varietà di prodotti embedded;

- mantenersi sempre all'avanguardia per consolidare la propria posizione nel settore del software embedded.

Riusabilità = Maggiori Opportunità

@Image by RyckyDavid: http://www.flickr.com/photos/cuppini/

Page 23: BeRTOS: Sistema Real Time Embedded Free

BeRTOS in breve

 Nuove Funzionalità

 Wizard di Configurazione

 SDK per Windows

 SDK: Software Incluso

Page 24: BeRTOS: Sistema Real Time Embedded Free

Nuove Funzionalità

 Attuale versione (2.1.0):­ Wizard di configurazione multipiattaforma­ Nuovo file system BattFS­ Completamento Test suite automatizzata

 Nella prossima versione (2.2.0):­ Debugger integrato in IDE (now Beta)­ Supporto file system FAT32­ Rilascio di nuovi driver (Bootloader, Lettore .ini file, Audio I2S)­ Estensione della documentazione online

Page 25: BeRTOS: Sistema Real Time Embedded Free

Wizard: Users Needs

Con il nuovo Wizard abbiamo voluto focalizzare l'attenzione degli sviluppatori direttamente sulla scrittura del codice utile al progetto e non sulla configurazione e sul tempo di startup; speriamo di aver reso possibile ad un pubblico ancora maggiore l'utilizzo di BeRTOS!

Francesco Sacchi, Sviluppatore

“ Semplificare lo startup dei progetti

Auto-selezione moduli in base alle dipendenze

Estendere Compatibilità (Win, Mac, Linux)

Ambiente di lavoro integrato (IDE, Toolchain)

Ottimizzare una IDE per BeRTOS

Page 26: BeRTOS: Sistema Real Time Embedded Free

Wizard Multi­Piattaforma

Crea e modifica velocemente i tuoi progetti con il wizard grafico passo-passo: Seleziona quale versione di BeRTOS vuoi usare; Scegli la CPU e la toolchain che vuoi usare; Inserisci i moduli utili alla tua applicazione direttamente dall’interfaccia grafica; Genera un progetto già pronto per CodeLite o GNU Make.

Wizard disponibile su piattaforme Windows, Linux, MacOS.

Bastano pochi click e sei già pronto per scrivere la tua applicazione!

Page 27: BeRTOS: Sistema Real Time Embedded Free

Building System

BeRTOS 1.0.0

BeRTOS 2.0.0

WIZARD

User Settings

... Makefile

... CodeLite

... estendibile via plugin

BeRTOS 2.1.0

...Il sistema di building permette di sfruttare le diverse versioni di BeRTOS per generare, in base alle esigenze dell'utente, un progetto compatibile GNU Make e CodeLite.

Il sistema è facilmente personalizzabile tramite plugin per essere adattato al proprio IDE di riferimento (Eclipse, Visual Studio, etc).

Page 28: BeRTOS: Sistema Real Time Embedded Free

Wizard in Uso

Integrazione progetti in CodeLite

Configurazione da Wizard

Page 29: BeRTOS: Sistema Real Time Embedded Free

SDK per Windows

Abbiamo incluso, integrato e preconfigurato tutti gli strumenti necessari per iniziare subito a lavorare con BeRTOS sotto Windows!

L'installer per Windows permette funzioni come:

 AutoUpdate delle versioni di BeRTOS

 Download e aggiornamento delle Toolchain incluse

 AutoUpdate del Wizard di BeRTOS

 Download e aggiornamento di CodeLite (IDE certificata per BeRTOS )

 Compilatore integrato in IDE

 Programmazione e Debug target integrato in IDE

Page 30: BeRTOS: Sistema Real Time Embedded Free

SDK: cosa include?

Page 31: BeRTOS: Sistema Real Time Embedded Free

La Licenza

 Licenza: GPL Modificata

 Gratis per progetti Commerciali?

 Servizi Premium Develer

Page 32: BeRTOS: Sistema Real Time Embedded Free

Licenza: GPL Modificata

BeRTOS è free? Si.

Posso usarlo nei miei prodotti embedded commerciali? 

Si, ma devi dichiarare che lo stai usando (ad esempio con un link verso il sito web), e devi distribuire il codice sorgente di BeRTOS a chiunque lo chieda.

Se uso BeRTOS, sono obbligato a distribuire il codice sorgente dei miei prodotti? No. Devi solo distribuire il codice sorgente di BeRTOS, ed eventuali modifiche effettuate su di esso. 

Devo pagare qualche licenza o royalty? No, è completamente Free. 

Non voglio dire a nessuno che sto usando BeRTOS, è possibile? Non con l'attuale licenza, ma ci puoi contattare per richiedere una licenza con delle specifiche modifiche. 

Non voglio offrire il codice sorgente di BeRTOS con i miei prodotti, è possibile? Non con l'attuale licenza, ma ci puoi contattare per richiedere una licenza con delle specifiche modifiche. 

Perchè dovrei consegnarvi le mie modifiche al codice sorgente? 

Perchè la licenza lo richiede, ma è anche un vantaggio per voi: contribuendo le modifiche effettuate su BeRTOS, possiamo integrarle nelle release ufficiali, e quindi manterremo queste modifiche in maniera gratuita per voi! 

Ancora, possiamo segnalare e fixare bug nel vostro codice, ancora una volta gratuitamente! La contribuzione delle modifiche assomiglia molto al fare outsorcing del mantenimento del codice ... ma è gratuito!

BeRTOS è un software sotto copyright, fornito sotto i termini della GNU General Public License (version 2) con la seguente eccezione: 

As a special exception, you may use this file as part of a free software library without restriction. 

Specifically, if other files instantiate templates or use macros or inline functions from this file, or you compile this file and link it with other files to produce an executable, this file does not by itself cause the resulting executable to be covered by the GNU General Public License. 

This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License. 

GNU GPL version 2: http://www.fsf.org/licensing/licenses/info/GPLv2.html

:: Licenza :: F.A.Q.

Page 33: BeRTOS: Sistema Real Time Embedded Free

Gratis per progetti commerciali? SI!

Se siete una società che produce prodotti commerciali embedded, potete:

Scaricare ed usare BeRTOS come meglio credete

Vendere prodotti basati su BeRTOS, senza dover pagare licenze o royalties

Includere BeRTOS con qualsiasi prodotto, distribuito sotto qualsiasi licenza

Modificare BeRTOS come ritenete opportuno in qualunque sua parte

Vendere prodotti basati su BeRTOS senza consegnare il codice sorgente

Page 34: BeRTOS: Sistema Real Time Embedded Free

Servizi Premium Develer

Servizio di Ticketing dedicato con tempi di risposta garantiti.

Porting di BeRTOS sulla tua custom board.

Scrittura didriver Ad Hoc.

Corsi d’introduzione a BeRTOS.

Supporto telefonico privilegiato.

Page 35: BeRTOS: Sistema Real Time Embedded Free

10 motivi ...

 Kernel multitasking real­time 

 Driver già pronti: per motori, memorie, display ... 

 Librerie incluse: protocolli, strutture dati, grafica ... 

 Ottimizzazione: minimi overhead e basso impatto ROM e RAM

 Supporto commerciale in Italiano ed Inglese

 Affidabilità: utilizzato anche in ambito medicale

 Wizard di configurazione multipiattaforma

 Windows SDK con integrazione di IDE e Toolchain

 Modularità: puoi usarlo anche senza il kernel

 È gratuito! Non paghi né licenze né royalties!

Page 36: BeRTOS: Sistema Real Time Embedded Free

Prodotti BeRTOS 

Alcuni dei prodotti che abbiamo sviluppato con BeRTOS:

SEAC Radim BRIOPreparatore di campioni

BeRTOS viene utilizzato come software di 

controllo dello strumento (motori, valvole, 

termostati, pompe)

PowersoftAmplificatore di potenza

BeRTOS è utilizzato come software di 

controllo per l'amplificatore.

B4B FRASStrumento analisi chimica

BeRTOS è utilizzato per il controllo della scheda di analisi, con gestione di 

display, fotometro e termostati.

BeRTOS è stato usato in diversi altri ambiti, dalla realizzazione di sistemi di controllo accessi per uffici alla implementazione di un player audio (B­Speak) con gestione file system, conversione audio e audio multicanale a dimostrazione della sua versatilità d'uso.

Page 37: BeRTOS: Sistema Real Time Embedded Free

Domande?

??

Page 38: BeRTOS: Sistema Real Time Embedded Free

GRAZIE !GRAZIE !Contatti

Mail: [email protected]

Phone: +39-055-3984627

Fax: +39 178 6003614

http://www.bertos.org

Develer S.r.l. - Via Mugellese 1/A - 50013 Campi Bisenzio (FI) - Italia