5. beagleboard.org
Board
ott. 2011 nasce
la beaglebone
“while”
SoC TI Sitara
am3358/9 a
720MHz 256MB
apr. 2014 arriva
la black
SoC TI Sitara
am3358/9 a 1GHz
512MB emcc 2GB
altre board:
BeagleBoard
6. ● SOC
○ Texas Intruments ARM Cortex A8 (ARMv7)
sitara AM3358BZCZ100 1GHz
○ GPU PoverWR sgx 530 3d
● DRAM 512 mb ddr3l
● Storage flash 2GB { new rev c 4GB } // micro sd
● Video/audio out hdmi {connettore micro hdmi}
beaglebone
featuresblack
7. ● USB 2.0
○ 1 porta mini USB client
○ 1 porta usb host
● 1 ethernet 10/100
● Alimentazione 210/460mA @ 5V - power
Management tps65217c pmic regulator + 4LDO
{USB port, 5-V AC adaptor, Li-Ion battery}
● 3 pulsati
○ on/off
○ reset
○ boot {eMCC, SD}
beaglebone
featuresblack
8. beaglebone
OEMblack
*BeagleBone* *BeagleBone Black* *BlueSteel-Basic*
*Processor* AM3359ZCZ72, 720MHz AM3358BZCZ100, 1GHz AM3358BZCZ100, 1GHz
*HDMI* No Yes No
*DRAM* 256MB DDR2 400MHz 512MB DDR3L 800MHz 512MB DDR3L 800MHz
*Flash* uSD 4GB eMMC, uSD uSD
*Onboard
JTAG* Yes, over USB Optional Optional
*Serial* via USB via header via header
*PWR Exp
Header* Yes No No
*Power* 300-500 mA@5V 210-460 mA@5V TBD
Note beaglebone.org beaglebone.org
http://elinux.org/CircuitCo:BlueSteel-
Basic
CircuitCo.com
9. beaglebone
GPIOblack
Il General Purpose Input/Output (anche noto come GPIO) è
un'interfaccia disponibile su alcuni dispositivi elettronici. Un
dispositivo microprocessore, microcontroller o interfaccia può
avere una o più connessioni GPIO su un'interfaccia con
dispositivi e periferiche esterne. Queste possono agire come
input, per leggere i segnali digitali dalle altre parti del circuito,
o output, per controllare o segnalare agli altri dispositivi. GPIO
sono spesso collocati in gruppi, tipicamente di 8 pin - una porta
GPIO - che usualmente hanno GPIO individuali configurabili o
come input o come output. Fonte wikipedia.
P8
P9
troviamo i connettori P8 e P9 da 46 pins. Sono le GPIO, VCC,GND,
AIN...
10. beaglebone
PRUblack
All’interno del SoC TI AM3359, e quindi la
bbb, ci sono due microcontrollori a 32
bit (PRU o PRUSSv2) a 200MHz.
Lavorano in modo indipendente ed in
realtime dal ARM.
Praticamene grazie alle Programmable
Realtime Unit SubSystem (PRUSS) sulla
BBB avete 2 microntrollori con accesso
diretto ad alcune GPIO che lavorano
indipendentemete tra loro ed anche dal
ARM.
Insomma TRE processori in una board.
11. beaglebone
PRUblack
Provides 2 Independent Programmable
Realtime Unit Cores
● 32-Bit Load/Store RISC architecture
● 4K Byte instruction RAM per core
● 512 Bytes data RAM per core
● PRUSS can be disabled via software
to save power
● Register 30 of each PRU is exported
from the subsystem in addition to the
normal R31 output of the PRU cores.
● PRU intended operation is little
endian similar to ARM and DSP
processors.
Provides standard power management
mechanism
● Clock gating provided
● Entire subsystem under a single PSC
clock gating domain
Provides interrupt controller
Provides switched central resource
http://processors.wiki.ti.com/index.php/Programmable_Realtime_Unit_Subsystem
12. beaglebone
PRUblack
Per esempio: a Trieste alla Elettra - Sincrotrone usano diverse beaglebone white
con le due PRU nel progetto BEAGLEBONE FOR EMBEDDED CONTROL SYSTEM
APPLICATIONS.
http://accelconf.web.cern.ch/AccelConf/ICALEPCS2013/papers/momib05.pdf
Informazioni sulle delle PRU:
● http://processors.wiki.ti.com/index.
php/Programmable_Realtime_Unit_Subsystem
● http://elinux.org/ECE497_BeagleBone_PRU
● http://www.element14.com/community/community/designcenter/single-board-
computers/next-gen_beaglebone//blog/2013/05/22/bbb--working-with-the-pru-
icssprussv2
13. beaglebone
CAPEblack
Se conoscete l’ecosistema Arduino sapere cosa sono
le shields.
Anche la BBB ha qualche cosa di simile chiamate cape
che si inseriscono nei connettori delle gpio
Un elenco delle capes disponibili sono presenti su
beaglebonecapes.com
fra poco vediamo direttamente sulla bbb sia le gPIO che le
capes disponibili.
14. beaglebone
DTblack
Solo un’accento sui Device Tree...
Device Tree (DT) e Device Tree Overlay descrivono
hardware in un sistema. sONO le GPIO, interfacce, ecc
Linux supporta diverse architetture (ARM, x86,...) e sotto
architetture (come i SoC ARM). L’uso del DT è diventato
obbligatorio per permettere una migliore gestione del
kernel.
Dal kernel 3.8 anche BeagleBone Black usa i DT
.
● Beaglebone and the 3.8 Kernel
docs.google.com/document/d/17P54kZkZO_-JtTjrFuVz-
Cp_RMMg7GB_8W9JK9sLKfA/pub
● Adafruit Introduction to the BeagleBone Black Device Tree
learn.adafruit.com/introduction-to-the-beaglebone-black-device-
tree
● Device Tree www.devicetree.org
15. GNU/LINUX
● Ufficiali
○ debian {dal 23/04/2014}
○ Ångström GNU/linux
● altre distribuzioni {ubuntu, archlinux.... E
GENERALMENTE TUTTE QUELLE con supporto per arm}
beaglebone
OSblack
GNU/Linux
&
Android
16. beaglebone
osblack
La BBB arriva con GNU/linux
preinstallato! nella flash
● Ångström con hw rev A & B
● debian con rev c
Ångström è una distribuzionei
ottimizzata per dispositivi
embedded nata dalla fusione
dei progetti OpenZaurus,
OpenEmbedded e OpenSIMpad.
Info: angstrom-distribution.org
17. beaglebone
black
Per aggiornare i pacchetti della distribuzione installata:
● Ångström
○ oapk update
○ oapk upgrade
● Debian
○ apt-get update
○ apt-get upgrade
os
18. beaglebone
black
se vogliamo ripristinare o cambiare la distribuzione
nella emcc:
● scaricare da beagleboard.org/latest-images ultima
immagine GNU/linux per la bbb.
● decomprimere il file con
○ xz -d BBB-eMMC-flasher-debian_version.img.xz
● inserire una microSD
○ dd bs=1M id=BBB-eMMC-flasher-debian_version.img if=/dev/sdX
■ sostituire if=/dev/sdX con il valore corretto
os
19. beaglebone
black
● al termine inserire la microSD nella bbb
● accendere la bbb
● attendere dai 30/60min (dipende dalla velocita della
SD)
● Quando i 4 led della BBB rimangano accessi
● spegnere la bbb, togliere SD ed accendere.
● ora avete aggiornata a nuova la bbb.
os
20. beaglebone
black
Personalizzare l’installazione da SD -> emcc
Durate update della flash è possibile lavorare sulla
bbb apportando modifiche alla configurazione,
installare pacchetti, nostri programmi…
le modifiche che vengono “fatte” nella sd in quanto
root.
Al termine basta un reboot... aspettare i 30/60 min… la
bbb è pronta con le modifiche apportate.
Ora è possibile inserire SD su un’altra board...
os
21. I servizi che troviamo come le distribuzioni appena
viste:
● webserver
● nodejs
● server ssh
● LXDE
● ...
Libreria
● bonescript, libreria javascript per accedere
alle GPIO
beaglebone
black os
22. beaglebone
black
Altre distribuzioni GNU/Linux e Android:
● OfficiaL WIKI
www.elinux.org/Beagleboard:BeagleBoneBlack
● wiki community
www.elinux.org/BeagleBone_Community
Risorse:
● sito: beaglebone.org
● wiki: http://www.elinux.org/BeagleBoneBlack
G+ Community:
● Officlal plus.google.
com/communities/104960311812236799231
● BBB plus.google.com/communities/109063557165602177414
● BBB IT plus.google.com/communities/115569723765781184028
os
23. ● per accedere alla GPIO sono
disponibile librerie.
● Si accede anche da riga di
comando
beaglebone
black os
Oppure da console
echo "2" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio2/direction
echo "1" > /sys/class/gpio/gpio2/value
echo "0" > /sys/class/gpio/gpio2/value
echo "2" > /sys/class/gpio/unexport
24. ● 7 Analog Pins
● 65 Digital Pins at 3.3V
● 2x I2C
● 2x SPI
● 2x CAN Bus
beaglebone
Pythonblack
● 4 Timers
● 4x UART
● 8x PWM
● A/D Converter
Python library by Adafruit
Tutorial:
learn.adafruit.com/setting-up-io-python-library-on-beaglebone-
black
Install:
sudo pip install Adafruit_BBIO
26. Tolta dalla scatola e senza nessun altro tipo di
intervento di preparazione:
1. Colleghiamo la bbb tramite la miniUSB alla usb del
nostro computer con un cavetto
2. attendiamo alcuni secondi per il boot della bbb
a. viene trovato un nuovo storage (la BBB), che
contiene delle utilility e driver… se serve
installare i driver
3. viene creata una piccola rete su usb, 192.168.7.x
a. .1 è il nostro computer
b. .2 è la bbb
beaglebone
demoblack
192.168.7.1192.168.7.2
27. ...
● Apriamo firefox o chrome e come url inseriamo IP
192.168.7.2
● passiamo sulla beagleboneblack per scoprire cosa
troviamo già pronto fuori dalla scatola.
beaglebone
demoblack
192.168.7.1192.168.7.2
28. Modo StandAlone
Colleghiamo la un cavo di rete alla BBB,
eventuale tastiera, mouse e monitor ed
alimentiamo a 5v
beaglebone
demoblack
29. Arduino user Space
● È possibile eseguire codice scritto per arduino sulla
beaglebone black.
● una tabella definisce la corrispondenza tra i pins
Arduino e le GPIo (P9) della beaglebone BLACK
● elinux.org/Userpace_Arduino
beaglebone
Arduinoblack
Arduino pin BBB GPIO
0 P9_11
1 P9_13
2 P9_15
3 P9_14
4 P9_12
... ...
30. Arduino user Space
● Con il rilascio della debian sulla bbb, la modalità
Arduino user space e` possibile direttamente dal
tramite web dal ide cloud9 senza installare nient’
altro
○ scrivo il codice in “stile” arduino dentro ide
○ lo salvo con estensione .ino
○ RUN...
● posso eseguire il file .ino anche da console
beaglebone
Arduinoblack
31. ● Un Elenco dei progetti con la beaglebone e
beagleboard sono presenti su
beagleboard.org/project
● È anche possibile/consigliato inserire i propri
progetti (hardware e/o software) in questa
pagina
beaglebone
projectblack
32. I principi dell’Open Source Hardware (OSHW) 1.0
L’hardware open source è l’hardware il cui progetto è
reso pubblico in modo che chiunque possa studiare,
modificare, distribuire, realizzare, e vendere il
progetto o l’hardware basato su di esso. La fonte
dell’hardware, il progetto da cui è stato realizzato, è
disponibile nel formato migliore per apportarvi
modifiche. Idealmente, l’hardware open source
utilizza componenti e materiali disponibili, processi
standard, infrastruttura aperta, contenuti senza
restrizione e strumenti di progettazione open-
source per massimizzare la capacità degli individui
di produrre e utilizzare l’hardware. L’hardware open
source dà alle persone la libertà di controllare la loro
tecnologia, la condivisione della conoscenza ed
incoraggia il commercio
attraverso lo scambio aperto di progetti.
Definizione dell’Open Source Hardware
http://www.oshwa.org/definition/italian/
33. beaglebone
oshwblack
1. La documentazione
Il punto 1 della definizione viene rispettato dalla bbb
● Schema elettrico disponibile in formato CAD //
scaricabile dal sito del produttore
● Layout del PCB (file gerber) // scaricabile dal sito
del produttore
● elenco dei componenti/materiale disponibile in
singoli pezzi - BOM (Bill of Materials) //
normalmente disponibili direttamente da
distributori/rivenditori di componenti elettronici.
34. 3. Il Software necessario
Se il progetto di licenza richiede software, embedded o di altro
tipo (firmware o altro), per funzionare adeguatamente e svolgere
le sue funzioni essenziali, la licenza può richiedere che una delle
seguenti condizioni vengano soddisfatte:
A. Le interfacce sono sufficientemente documentate tale
che si possa scrivere il software open source che consente al
dispositivo di funzionare correttamente e di svolgere le sue
funzioni essenziali. Per esempio, questo può includere l’uso di
diagrammi dettagliati della temporizzazione del segnale o
pseudocodice per illustrare chiaramente l’interfaccia in
funzione.
B. Il software necessario è rilasciato sotto una licenza open
source approvata OSI
beaglebone
oshwblack
IL soc TI della bbb
implementa, su
licenza, una GPU
Imaginations
PowerVR SGX530 3D e
rispetta il punto 3.a