際際滷

際際滷Share a Scribd company logo
Software 油libero 油nei 油
sistemi 油embedded 油
                   油
              	
 Daniele Costarella


     Linux Day 2012  29 ottobre 2012
      Universit degli Studi di Salerno
Introduzione
Che 油cos竪 油un 油sistema 油Embedded	

In elettronica e informatica, con il termine sistema embedded si
identificano genericamente tutti quei sistemi elettronici di elaborazione
a microprocessore progettati appositamente per una determinata
applicazione (special purpose) ovvero non riprogrammabili dallutente
per altri scopi, spesso con una piattaforma hardware ad hoc, integrati
nel sistema che controllano ed in grado di gestirne tutte o parte delle
funzionalit richieste. [Wikipedia]


≒   Non significa utilizzare un computer tradizionale, general purpose
≒   Utilizzo di un processore general purpose (tra I pi湛 popolari: arm,
     x86, ppc) o un ancora pi湛 semplice microcontrollore
Che 油cos竪 油un 油microcontrollore?	

In elettronica digitale il microcontrollore o microcontroller o MCU
(MicroController Unit) 竪 un dispositivo elettronico integrato su
singolo chip. Un microcontrollore include:

≒ I/O bit discreti per il controllo o rilevamento di stati logici
≒ I/O seriale (porte seriali, UARTs)
≒ Altre interfacce di comunicazioni seriali come I2C, SPI e CAN.
≒ Periferiche come timer, contatori di eventi, generatori di PWM
≒ Generatore di clock (spesso si tratta di un oscillatore, un
   risuonatore o un circuito RC)
≒ Convertitori A/D multicanali
≒ Programmazione e debugging In-circuit
Open 油Source 油Hardware	

Hardware libero si riferisce ad hardware elettronici e di computer
che sono stati progettati con la stessa politica del software libero
ed open source (FOSS).




Lhardware libero 竪 parte della
cultura dellopen source che
espande questideologia al di fuori
dellambito software.
Open 油Source 油Hardware	

Il termine viene principalmente usato per esprimere la libera
divulgazione di informazioni riguardanti il progetto stesso
dellhardware comprendendente:
≒ Schemi
≒ Lista dei materiali
≒ Layout dei dati del circuito stampato
≒ FOSS per far girare lhardware
≒ Codice sorgente del firmware e tool chain.
≒ Modelli 3D per i case

Per gli ormai diffusissimi dispositivi a logica programmabile,
invece di condividere gli schemi si pu嘆 condividere la descrizione
in HDL.
Open 油Source 油Hardware: 油licenze	

Piuttosto che creare una nuova licenza, alcuni progetti hardware
usano semplicemente le licenze sistenti per i software open
source. In pi湛 sono state proposte diverse nuove licenze:


≒ TAPR Open Hardware License
≒ Balloon Open Hardware License
≒ CERN Open Hardware License
≒ Solderpad License
≒ Hardware Design Public License
Open 油Source 油Hardware: 油esempi
Open 油Source 油Hardware: 油esempi
Open 油Hardware 油Imaging: 油Cameras
Open 油Source 油Hardware: 油esempi	

Alcuni esempi:

≒   Hack-A-Day Bus Pirate, http://www.buspirate.org	
≒   Elphel, http://www.elphel.com 	
≒   Bug Labs modular kits http://www.buglabs.net	
≒   RepRap, Replicating Rapid-prototyper http://www.reprap.org	
≒   Arduino http://www.arduino.cc	
≒   Beagle Board e Beagle Bone http://beagleboard.org 	



E molti molti altri esempi tra cui CPU, schede grafiche, laptops,
cellulari
Hardware 油Design 油Tools
Software	

Diversi software sono disponibili per aiutare il progettista nelle fasi
di Schematics Capture e PCB Design o EDA (Electronic Design
Automation)


≒ Eagle CAD http://www.cadsoft.de

≒ Kicad http://www.kicad-pcb.org/

≒ gEDA http://www.gpleda.org/
Software 油 油Eagle 油CAD	
Eagle CAD 竪 un software CAD per la
stesura di schemi elettronici e sbroglio
dei circuiti. Non 竪 Open Source ma
offre una versione free per
applicazioni non commerciali.


≒   Disponibile per Linux, Mac e
     Windows
≒   Librerie estese per parti e
     componenti
≒   Supporto per ULC (User Language
     Programs) e script
≒   Funzioni di ERC (Electrical Rule
     Check) e DRC (Design Rule
     Check)
Software 油 油KiCad	
KiCad 竪 una suite open source di
software EDA per il disegno di schemi
elettrici e circuiti stampati (PCB).
Dispone di un ambiente di sviluppo
integrato (IDE) con editor di
schematici, sbroglio circuitale del
PCB e visualizzatore di file Gerber.
KiCad 竪 organizzato in cinque parti
principali:


≒   Supporto multipiattaforma
     (wxWidgets)
≒   Librerie estese
≒   Ambiente integrato
Software 油 油gEDA	

La lettera g iniziale evidenzia il fatto
che la suite 竪 rilasciato sotto licenza
GPL. Il primo rilascio 竪 datato aprile
1998 ed 竪 tuttora un progetto
attivissimo e supportato dalla
comunit.
≒   Ngspice, simulatore SPICE
≒   GnuCap, un moderno software di
     simulazione dei circuiti
≒   gwave e GTKWave, visualizzatori
     di segnali analogici e digitali
≒   Icarus Verilog, un simulatore
     Verilog
Strumenti 油software
Che 油cos竪 油una 油Tool 油Chain?	

In ambito software, una toolchain 竪 linsieme dei programmi
(tools) usati nello sviluppo di un prodotto. I tool possono essere
utilizzati in catena, in modo tale che loutput di ciascun tool
rappresenti linput per il successivo. Il termine 竪 comunque
utilizzato in maniera pi湛 estesa per riferirsi, pi湛 in generale, a
qualunque insieme di tool di sviluppo collegati tra loro.
Che 油cos竪 油una 油Tool 油Chain?	

≒ Gli strumenti di sviluppo disponibili in ambiente GNU/Linux
  sono costituiti da una toolchain nativa.

≒ Tale toolchain viene eseguita sulla workstation e genera
  codice per quella workstation, di solito x86
Che 油cos竪 油una 油Tool 油Chain?	

≒ Per lo sviluppo di sistemi embedded, la disponibilit e lutilizzo
  di una toolchain nativa 竪 impossibile in molti casi e comunque
  ben poco interessante in quanto:

   ≒   Il target dispone usualmente di un quantitativo limitato e a volte alquanto ristretto di
        storage e/o memoria

   ≒   Il target 竪 molto lento comparato alla tua workstation

   ≒   Potresti non voler installare tutti I tool di sviluppo sulla scheda target


≒ Perci嘆 sono utilizzate, generalmente, delle cross-compiling
  toolchain. Eseguite sulla tua workstation permettono di
  generare codice per il tuo target.
Che 油cos竪 油una 油Tool 油Chain?	

                        Source 油code	
                                                               Compilation 油
                                                                machine	
                                    Cross-足compiling 油
   Native 油toolchain	
                                       toolchain	

                                                       x86	




                                                                Execution 油
        x86 油binary	
                ARM 油binary	
              machines	



x86	
                                                ARM
Microprocessori 油con 油Tool 油Chain 油free	

Esistono diversi microcontrollori con tool chain free. Tra questi
figurano:


≒   Atmel AVRMega e AVRTiny (il cuore della piattaforma Arduino)

≒   Atmel AVR32 (che include un kernel Linux)

≒   Texas Instruments MSP430

≒   Axis 100LX, utilizzata nella Foxboard

≒   ARM7 e oltre. A partire da ARM9 竪 incluso un kernel Linux.
Microprocessori 油con 油Tool 油Chain 油free	

A proposito di tool chain, ecco alcuni link interessanti:


≒   Atmel AVRMega e AVRTiny: AVR Libs, AVRDUDE, AVaRICE
≒   Atmel AVR32: The AVR32 Linux project
≒   Texas Instruments MSP430: MSPGCC
≒   Axis LX100: FOXLX Linux environments	
≒   ARM7: GNUARM	
≒   Elinux: toolchains wiki
Vantaggi?
Vantaggi 油per 油gli 油sviluppatori	

≒ Innovazione e valore aggiunto
≒ Qualit del software	
≒ Controllo
≒ Flessibilit
≒ Scelta
≒ Semplicit di sviluppo
≒ Supporto e risorse sempre disponibili
≒ Costo
≒ Meno pensieri sulle licenze
Vantaggi 油per 油le 油aziende	


≒ Controllo, innovazione, costo, time to market

≒ Investimenti a lungo termine sicuri	

≒ Basta costi proibitivi

≒ Semplicit di gestione del software

≒ Massima riutilizzabilit del codice

≒ Supporto e risorse sempre disponibili

≒ Costi di apprendimento
Vantaggi 油per 油lutente 油鍖nale	


≒ Effettiva propriet dei dati grazie al FOSS e ai formati aperti

≒ Privacy e sicurezza	

≒ Elevato grado di personalizzazione

≒ Qualit

≒ Costo
Alcuni 油esempi
Arduino	

Arduino 竪 un framework open source
che permette la protipazione rapida
nonch辿 lapprendimento rapido dei
principi fondamentali dellelettronica
e della programmazione.
≒ Le board possono essere
   acquistate preassemblate oppure
   costruite
≒ Ambiente di sviluppo integrato
≒ Codice in C/C++ con API estese
   basate su Wiring
≒ Multipiattaforma
Raspberry 油PI	

                  Il Raspberry PI 竪 un single-board
                  computer sviluppato nel Regno
                  Unito dalla Raspberry Pi Foundation.
                  Il lancio al pubblico 竪 avvenuto alla
                  fine del mese di febbraio 2012.
                  ≒ 700 MHz ARM11
                  ≒ 256 o 512 MB (condivisi con GPU)
                  ≒ Connettore RCA, HDMI
                  ≒ SD, MMC, SDIO card slot
                  ≒ Ethernet 10/100
                  ≒ 2x13 header pins per GPIO, SPI,
                       I2C, UART, +3.3V, +5V
Fox 油Board	

La FOX Board G20 竪 un micro sistema Linux made in Italy ideato a
realizzato da Acme Systems srl. Si tratta di una scheda di ridotte
dimensioni con Linux preinstallato e funzionante.

≒ ARM9 @ 400 MHz
≒ 256KB di memoria FLASH
   per il bootloader
≒ Fino a 16GB su microSD
≒ Ethernet 10/100
≒ 2 porte seriali (3.3V)
≒ RTClock
≒ GPIO
Fox 油Board	
                                2xUSB 油2.0 油      +5V 油DC 油
                                            Host 油ports 油     Power 油In	
                        GPIO	
              (12Mbps)	
                        Serial	
                                                                              Ethernet 油
                                                                              10/100 油port	

               4D 油oLed 油
               display 油
              connector 油                                                               GPIO	
              placement	
                                                               Serial	
                                                                                        I2C	
                                                                                        A/D	
    User 油
   de鍖ned 油
   switch	
                                                                                Serial	
                                                                                DATAFLASH	


+5V 油DC 油
                                                                            CPU	
Power 油In	

                                                                     RAM	
miniUSB 油
client 油port	
                    User 油                                     Debug 油port	
                 de鍖ned 油LED	
                              microSD 油socket	
Power 油LED
Conclusioni
Alcuni 油link 油utili	


≒ Hack a Day http://www.hackaday.com	

≒ Make http://blog.makezine.com	

≒ Instructables http://www.instructables.com
Risorse	

Alcuni link utili a strumenti, dispositivi e argomenti trattati in
questo talk

≒ Confronto tra software EDA opensource
   http://en.wikipedia.org/wiki/Comparison_of_Free_EDA_software	

≒ Arduino
   http://arduino.cc	

≒ Atmel AVR
   http://www.atmel.com/avr
Componenti 油ele^ronici	

Alcuni rivenditori locali e internazionali:

≒ Farnell http://it.farnell.com 	

≒ Mouser http://it.mouser.com 	

≒ Digikey http://www.digikey.it 	

≒ RS http://it.rs-online.com 	

≒ SparkFun http://www.sparkfun.com 	

≒ RobotItaly http://www.robot-italy.com 	

≒ Futura Elettronica http://www.futuranet.it
Le^ure 油consigliate	

Embedded Linux Primer, Second Edition, Prentice Hall
Christopher Hallinan




Building Embedded Linux System, OReilly
Karim Yaghmour, Jon Masters, Gilad Ben.Yossef and Philippe Gerum




Embedded Linux System Design and Development
P.Raghavan, A. Lad, S. Neelakandan, Auerbach
Grazie 油per 油la^enzione	



           Daniele Costarella
           <www.danielecostarella.com>

More Related Content

What's hot (11)

PDF
Csp@scuola uav corso1_lez4
CSP Scarl
PPT
Un Pinguino Nel Tuo Modem
Marco Scaloni
KEY
Introduzione ad Arduino
Simone Lusenti
PDF
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Develer S.r.l.
PDF
Virtualizzazione
Paolo Campegiani
PDF
Sistemi Operativi: Struttura avanzata - Lezione 05
Majong DevJfu
PPTX
Linux Device Drivers
Fabio Nisci
PDF
Realizzare Accessori iOS con Bluetooth Low Energy e Arduino
fibasile
PDF
CommSEC - linea prodotti InterLINK (IT)
iBLio
PPTX
Arduino ICT2016 [IT]
Francesco Pascale
PDF
Raspberrypi
Federico Bassignana
Csp@scuola uav corso1_lez4
CSP Scarl
Un Pinguino Nel Tuo Modem
Marco Scaloni
Introduzione ad Arduino
Simone Lusenti
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Develer S.r.l.
Virtualizzazione
Paolo Campegiani
Sistemi Operativi: Struttura avanzata - Lezione 05
Majong DevJfu
Linux Device Drivers
Fabio Nisci
Realizzare Accessori iOS con Bluetooth Low Energy e Arduino
fibasile
CommSEC - linea prodotti InterLINK (IT)
iBLio
Arduino ICT2016 [IT]
Francesco Pascale
Raspberrypi
Federico Bassignana

Similar to Software libero nei sistemi embedded (20)

PDF
Arduino: domotica OpenSource
Emanuele Palazzetti
PDF
DHow2 - L5
Marco Santambrogio
PDF
Arduino galileo edison_udoo
Vincenzo Virgilio
PDF
Intro to Arduino
trevisoAUG
ODP
OpenHardware : Arduino
NaLUG
PDF
Da zero a maker: condivisione, collaborazione, open source
Matteo Fortini
PDF
Arduino : l'esperienza di IRES FVG - OpenSourceDay2012
Mirco Piccin
PDF
Modelli arduino
Demetrio Siragusa
PDF
Free Software e Open Hardware
Stefano Sanna
PDF
[NALUG] Workshop@UniNA2014: "Quando gli GNU si dopano con il silicio"
gbr1
PDF
Lezione introduttiva su Arduino
Mirko Mancin
PDF
Introduzione allIot e alle schede elettroniche
Enrico La Sala
PDF
SLIDES PRESENTAZION LEZIONE 1 ARDUINO.pdf
bakikiy278
ODP
Hardware Libero - Linux Day 2007
pino_otto
PDF
Electronics LAB [with Arduino] | DAY 1
Daniele Costarella
PDF
Electronics LAB [with Arduino] | DAY 1
Salvatore Carotenuto
PDF
Lezione 1 arduino - corso 20 ore
Mirko Mancin
PDF
GNU/Linux PowerPC Notebook Linux day 2015 Milano
Roberto Innocenti
PDF
Come Abilitare La Connettivit Usb Con La Famiglia Di Js16 8 A 8 Bit Della Fr...
Ionela
PPT
DHow2 - L4
Marco Santambrogio
Arduino: domotica OpenSource
Emanuele Palazzetti
DHow2 - L5
Marco Santambrogio
Arduino galileo edison_udoo
Vincenzo Virgilio
Intro to Arduino
trevisoAUG
OpenHardware : Arduino
NaLUG
Da zero a maker: condivisione, collaborazione, open source
Matteo Fortini
Arduino : l'esperienza di IRES FVG - OpenSourceDay2012
Mirco Piccin
Modelli arduino
Demetrio Siragusa
Free Software e Open Hardware
Stefano Sanna
[NALUG] Workshop@UniNA2014: "Quando gli GNU si dopano con il silicio"
gbr1
Lezione introduttiva su Arduino
Mirko Mancin
Introduzione allIot e alle schede elettroniche
Enrico La Sala
SLIDES PRESENTAZION LEZIONE 1 ARDUINO.pdf
bakikiy278
Hardware Libero - Linux Day 2007
pino_otto
Electronics LAB [with Arduino] | DAY 1
Daniele Costarella
Electronics LAB [with Arduino] | DAY 1
Salvatore Carotenuto
Lezione 1 arduino - corso 20 ore
Mirko Mancin
GNU/Linux PowerPC Notebook Linux day 2015 Milano
Roberto Innocenti
Come Abilitare La Connettivit Usb Con La Famiglia Di Js16 8 A 8 Bit Della Fr...
Ionela
DHow2 - L4
Marco Santambrogio
Ad

More from Daniele Costarella (9)

PDF
Fondamenti di GNU/Linux: FileSystem e Partizioni
Daniele Costarella
PDF
Arduino e stampa 3D - Le nuove frontiere della robotica homemade
Daniele Costarella
PDF
energy-harvesting-pres-final-std
Daniele Costarella
PDF
Linux Embedded per l'automazione
Daniele Costarella
PDF
Development of a Wireless Sensors Network powered by Energy Harvesting techni...
Daniele Costarella
PDF
Hands On Embedded Linux with BeagleBone Black
Daniele Costarella
PDF
Electronics LAB [with Arduino] | DAY 2
Daniele Costarella
PDF
Electronics LAB [with Arduino] | DAY 3
Daniele Costarella
PDF
Development of a wireless sensor network powered by energy harvesting techniques
Daniele Costarella
Fondamenti di GNU/Linux: FileSystem e Partizioni
Daniele Costarella
Arduino e stampa 3D - Le nuove frontiere della robotica homemade
Daniele Costarella
energy-harvesting-pres-final-std
Daniele Costarella
Linux Embedded per l'automazione
Daniele Costarella
Development of a Wireless Sensors Network powered by Energy Harvesting techni...
Daniele Costarella
Hands On Embedded Linux with BeagleBone Black
Daniele Costarella
Electronics LAB [with Arduino] | DAY 2
Daniele Costarella
Electronics LAB [with Arduino] | DAY 3
Daniele Costarella
Development of a wireless sensor network powered by energy harvesting techniques
Daniele Costarella
Ad

Recently uploaded (8)

PDF
AIXMOOC 6.1 - Non sono un robot (Dom Holdaway)
Alessandro Bogliolo
PDF
Accessibilit ed equit digitale: un impegno, non una scelta
Commit University
PDF
Sotto il letto, sopra il cloud: costruirsi uninfrastruttura da zero
Speck&Tech
PDF
AIXMOOC 2.6 - Come funzionano i Large Language Models
Alessandro Bogliolo
PDF
AIXMOOC 5.3 - L'essere umano di fronte all'I.A. (Cristiano Maria Bellei)
Alessandro Bogliolo
PDF
AIXMOOC 4.3 - Geopolitica dell'intelligenza artificiale (Alessandro Aresu)
Alessandro Bogliolo
PDF
AIXMOOC 3.3 - Linguaggio e capacit cognitive (Gabriella Bottini)
Alessandro Bogliolo
PDF
AIXMOOC 3.2 - Linguaggio e memoria (Manuela Berlingeri)
Alessandro Bogliolo
AIXMOOC 6.1 - Non sono un robot (Dom Holdaway)
Alessandro Bogliolo
Accessibilit ed equit digitale: un impegno, non una scelta
Commit University
Sotto il letto, sopra il cloud: costruirsi uninfrastruttura da zero
Speck&Tech
AIXMOOC 2.6 - Come funzionano i Large Language Models
Alessandro Bogliolo
AIXMOOC 5.3 - L'essere umano di fronte all'I.A. (Cristiano Maria Bellei)
Alessandro Bogliolo
AIXMOOC 4.3 - Geopolitica dell'intelligenza artificiale (Alessandro Aresu)
Alessandro Bogliolo
AIXMOOC 3.3 - Linguaggio e capacit cognitive (Gabriella Bottini)
Alessandro Bogliolo
AIXMOOC 3.2 - Linguaggio e memoria (Manuela Berlingeri)
Alessandro Bogliolo

Software libero nei sistemi embedded

  • 1. Software 油libero 油nei 油 sistemi 油embedded 油 油 Daniele Costarella Linux Day 2012 29 ottobre 2012 Universit degli Studi di Salerno
  • 3. Che 油cos竪 油un 油sistema 油Embedded In elettronica e informatica, con il termine sistema embedded si identificano genericamente tutti quei sistemi elettronici di elaborazione a microprocessore progettati appositamente per una determinata applicazione (special purpose) ovvero non riprogrammabili dallutente per altri scopi, spesso con una piattaforma hardware ad hoc, integrati nel sistema che controllano ed in grado di gestirne tutte o parte delle funzionalit richieste. [Wikipedia] ≒ Non significa utilizzare un computer tradizionale, general purpose ≒ Utilizzo di un processore general purpose (tra I pi湛 popolari: arm, x86, ppc) o un ancora pi湛 semplice microcontrollore
  • 4. Che 油cos竪 油un 油microcontrollore? In elettronica digitale il microcontrollore o microcontroller o MCU (MicroController Unit) 竪 un dispositivo elettronico integrato su singolo chip. Un microcontrollore include: ≒ I/O bit discreti per il controllo o rilevamento di stati logici ≒ I/O seriale (porte seriali, UARTs) ≒ Altre interfacce di comunicazioni seriali come I2C, SPI e CAN. ≒ Periferiche come timer, contatori di eventi, generatori di PWM ≒ Generatore di clock (spesso si tratta di un oscillatore, un risuonatore o un circuito RC) ≒ Convertitori A/D multicanali ≒ Programmazione e debugging In-circuit
  • 5. Open 油Source 油Hardware Hardware libero si riferisce ad hardware elettronici e di computer che sono stati progettati con la stessa politica del software libero ed open source (FOSS). Lhardware libero 竪 parte della cultura dellopen source che espande questideologia al di fuori dellambito software.
  • 6. Open 油Source 油Hardware Il termine viene principalmente usato per esprimere la libera divulgazione di informazioni riguardanti il progetto stesso dellhardware comprendendente: ≒ Schemi ≒ Lista dei materiali ≒ Layout dei dati del circuito stampato ≒ FOSS per far girare lhardware ≒ Codice sorgente del firmware e tool chain. ≒ Modelli 3D per i case Per gli ormai diffusissimi dispositivi a logica programmabile, invece di condividere gli schemi si pu嘆 condividere la descrizione in HDL.
  • 7. Open 油Source 油Hardware: 油licenze Piuttosto che creare una nuova licenza, alcuni progetti hardware usano semplicemente le licenze sistenti per i software open source. In pi湛 sono state proposte diverse nuove licenze: ≒ TAPR Open Hardware License ≒ Balloon Open Hardware License ≒ CERN Open Hardware License ≒ Solderpad License ≒ Hardware Design Public License
  • 11. Open 油Source 油Hardware: 油esempi Alcuni esempi: ≒ Hack-A-Day Bus Pirate, http://www.buspirate.org ≒ Elphel, http://www.elphel.com ≒ Bug Labs modular kits http://www.buglabs.net ≒ RepRap, Replicating Rapid-prototyper http://www.reprap.org ≒ Arduino http://www.arduino.cc ≒ Beagle Board e Beagle Bone http://beagleboard.org E molti molti altri esempi tra cui CPU, schede grafiche, laptops, cellulari
  • 13. Software Diversi software sono disponibili per aiutare il progettista nelle fasi di Schematics Capture e PCB Design o EDA (Electronic Design Automation) ≒ Eagle CAD http://www.cadsoft.de ≒ Kicad http://www.kicad-pcb.org/ ≒ gEDA http://www.gpleda.org/
  • 14. Software 油 油Eagle 油CAD Eagle CAD 竪 un software CAD per la stesura di schemi elettronici e sbroglio dei circuiti. Non 竪 Open Source ma offre una versione free per applicazioni non commerciali. ≒ Disponibile per Linux, Mac e Windows ≒ Librerie estese per parti e componenti ≒ Supporto per ULC (User Language Programs) e script ≒ Funzioni di ERC (Electrical Rule Check) e DRC (Design Rule Check)
  • 15. Software 油 油KiCad KiCad 竪 una suite open source di software EDA per il disegno di schemi elettrici e circuiti stampati (PCB). Dispone di un ambiente di sviluppo integrato (IDE) con editor di schematici, sbroglio circuitale del PCB e visualizzatore di file Gerber. KiCad 竪 organizzato in cinque parti principali: ≒ Supporto multipiattaforma (wxWidgets) ≒ Librerie estese ≒ Ambiente integrato
  • 16. Software 油 油gEDA La lettera g iniziale evidenzia il fatto che la suite 竪 rilasciato sotto licenza GPL. Il primo rilascio 竪 datato aprile 1998 ed 竪 tuttora un progetto attivissimo e supportato dalla comunit. ≒ Ngspice, simulatore SPICE ≒ GnuCap, un moderno software di simulazione dei circuiti ≒ gwave e GTKWave, visualizzatori di segnali analogici e digitali ≒ Icarus Verilog, un simulatore Verilog
  • 18. Che 油cos竪 油una 油Tool 油Chain? In ambito software, una toolchain 竪 linsieme dei programmi (tools) usati nello sviluppo di un prodotto. I tool possono essere utilizzati in catena, in modo tale che loutput di ciascun tool rappresenti linput per il successivo. Il termine 竪 comunque utilizzato in maniera pi湛 estesa per riferirsi, pi湛 in generale, a qualunque insieme di tool di sviluppo collegati tra loro.
  • 19. Che 油cos竪 油una 油Tool 油Chain? ≒ Gli strumenti di sviluppo disponibili in ambiente GNU/Linux sono costituiti da una toolchain nativa. ≒ Tale toolchain viene eseguita sulla workstation e genera codice per quella workstation, di solito x86
  • 20. Che 油cos竪 油una 油Tool 油Chain? ≒ Per lo sviluppo di sistemi embedded, la disponibilit e lutilizzo di una toolchain nativa 竪 impossibile in molti casi e comunque ben poco interessante in quanto: ≒ Il target dispone usualmente di un quantitativo limitato e a volte alquanto ristretto di storage e/o memoria ≒ Il target 竪 molto lento comparato alla tua workstation ≒ Potresti non voler installare tutti I tool di sviluppo sulla scheda target ≒ Perci嘆 sono utilizzate, generalmente, delle cross-compiling toolchain. Eseguite sulla tua workstation permettono di generare codice per il tuo target.
  • 21. Che 油cos竪 油una 油Tool 油Chain? Source 油code Compilation 油 machine Cross-足compiling 油 Native 油toolchain toolchain x86 Execution 油 x86 油binary ARM 油binary machines x86 ARM
  • 22. Microprocessori 油con 油Tool 油Chain 油free Esistono diversi microcontrollori con tool chain free. Tra questi figurano: ≒ Atmel AVRMega e AVRTiny (il cuore della piattaforma Arduino) ≒ Atmel AVR32 (che include un kernel Linux) ≒ Texas Instruments MSP430 ≒ Axis 100LX, utilizzata nella Foxboard ≒ ARM7 e oltre. A partire da ARM9 竪 incluso un kernel Linux.
  • 23. Microprocessori 油con 油Tool 油Chain 油free A proposito di tool chain, ecco alcuni link interessanti: ≒ Atmel AVRMega e AVRTiny: AVR Libs, AVRDUDE, AVaRICE ≒ Atmel AVR32: The AVR32 Linux project ≒ Texas Instruments MSP430: MSPGCC ≒ Axis LX100: FOXLX Linux environments ≒ ARM7: GNUARM ≒ Elinux: toolchains wiki
  • 25. Vantaggi 油per 油gli 油sviluppatori ≒ Innovazione e valore aggiunto ≒ Qualit del software ≒ Controllo ≒ Flessibilit ≒ Scelta ≒ Semplicit di sviluppo ≒ Supporto e risorse sempre disponibili ≒ Costo ≒ Meno pensieri sulle licenze
  • 26. Vantaggi 油per 油le 油aziende ≒ Controllo, innovazione, costo, time to market ≒ Investimenti a lungo termine sicuri ≒ Basta costi proibitivi ≒ Semplicit di gestione del software ≒ Massima riutilizzabilit del codice ≒ Supporto e risorse sempre disponibili ≒ Costi di apprendimento
  • 27. Vantaggi 油per 油lutente 油鍖nale ≒ Effettiva propriet dei dati grazie al FOSS e ai formati aperti ≒ Privacy e sicurezza ≒ Elevato grado di personalizzazione ≒ Qualit ≒ Costo
  • 29. Arduino Arduino 竪 un framework open source che permette la protipazione rapida nonch辿 lapprendimento rapido dei principi fondamentali dellelettronica e della programmazione. ≒ Le board possono essere acquistate preassemblate oppure costruite ≒ Ambiente di sviluppo integrato ≒ Codice in C/C++ con API estese basate su Wiring ≒ Multipiattaforma
  • 30. Raspberry 油PI Il Raspberry PI 竪 un single-board computer sviluppato nel Regno Unito dalla Raspberry Pi Foundation. Il lancio al pubblico 竪 avvenuto alla fine del mese di febbraio 2012. ≒ 700 MHz ARM11 ≒ 256 o 512 MB (condivisi con GPU) ≒ Connettore RCA, HDMI ≒ SD, MMC, SDIO card slot ≒ Ethernet 10/100 ≒ 2x13 header pins per GPIO, SPI, I2C, UART, +3.3V, +5V
  • 31. Fox 油Board La FOX Board G20 竪 un micro sistema Linux made in Italy ideato a realizzato da Acme Systems srl. Si tratta di una scheda di ridotte dimensioni con Linux preinstallato e funzionante. ≒ ARM9 @ 400 MHz ≒ 256KB di memoria FLASH per il bootloader ≒ Fino a 16GB su microSD ≒ Ethernet 10/100 ≒ 2 porte seriali (3.3V) ≒ RTClock ≒ GPIO
  • 32. Fox 油Board 2xUSB 油2.0 油 +5V 油DC 油 Host 油ports 油 Power 油In GPIO (12Mbps) Serial Ethernet 油 10/100 油port 4D 油oLed 油 display 油 connector 油 GPIO placement Serial I2C A/D User 油 de鍖ned 油 switch Serial DATAFLASH +5V 油DC 油 CPU Power 油In RAM miniUSB 油 client 油port User 油 Debug 油port de鍖ned 油LED microSD 油socket Power 油LED
  • 34. Alcuni 油link 油utili ≒ Hack a Day http://www.hackaday.com ≒ Make http://blog.makezine.com ≒ Instructables http://www.instructables.com
  • 35. Risorse Alcuni link utili a strumenti, dispositivi e argomenti trattati in questo talk ≒ Confronto tra software EDA opensource http://en.wikipedia.org/wiki/Comparison_of_Free_EDA_software ≒ Arduino http://arduino.cc ≒ Atmel AVR http://www.atmel.com/avr
  • 36. Componenti 油ele^ronici Alcuni rivenditori locali e internazionali: ≒ Farnell http://it.farnell.com ≒ Mouser http://it.mouser.com ≒ Digikey http://www.digikey.it ≒ RS http://it.rs-online.com ≒ SparkFun http://www.sparkfun.com ≒ RobotItaly http://www.robot-italy.com ≒ Futura Elettronica http://www.futuranet.it
  • 37. Le^ure 油consigliate Embedded Linux Primer, Second Edition, Prentice Hall Christopher Hallinan Building Embedded Linux System, OReilly Karim Yaghmour, Jon Masters, Gilad Ben.Yossef and Philippe Gerum Embedded Linux System Design and Development P.Raghavan, A. Lad, S. Neelakandan, Auerbach
  • 38. Grazie 油per 油la^enzione Daniele Costarella <www.danielecostarella.com>