Archivi tag: arm

Debug remoto sul Beaglebone

Nel precedente articolo abbiamo preparato l’ambiente con Eclipse per la cross compilazione per il Beaglebone

Cross compilazione per Beaglebone

Procediamo ora a configurare Eclipse ed il Beaglebone per eseguire in debug del codice direttamente sul Beaglebone.

 Sul Beaglebone installare il gdbserver

 Sul sistema Debian con Eclipse installare gdb-multiarch

 Da Eclipse accedere a Run->Debug Configurations

debug configurationsCliccare due volte su C++ Remote Application per impostare i parametri

configurazione debug remotoAlla finestra successiva creare una nuova connessione di tipo ssh con il tasto New

nuova connessione Inserire i parametri per la connessione

parametri connessioneImpostare la destinazione remota del file e la gestione dell’esecuzione; con il tasto browse si sceglie dove copiare il file e con il campo “Commands to execute before application” si danno i permessi di esecuzione al file

cartelle remoteNel nostro caso si crea una cartella esempi sotto /root/ sul Beaglebone in cui eseguire il debug remoto

impostazioni main debug

Impostare il multarch debugger nel tab Debugger e gli altri parametri di startup e gdb command line

impostazioni debugger debugImpostare la porta del server di debug remoto installato sul Beaglebone nel tab GdbServer Settings

impostazioni debug serverCreare il file .gdbinit nella cartella del progetto con il comando

touch debugPer avviare il debug eseguire la configurazione prima impostata

esecuzione debugEclipse si connette con il Beaglebone ed esegue il debug remoto con l’apertura della Debug Perspective

debug perspective

Cross compilazione per Beaglebone

Nell’articolo sull’ambiente Debian abbiamo preparato il sistema per lo sviluppo per ambienti embedded

Sistema di sviluppo su Debian

Nell’articolo sulla compilazione dell’immagine dell’Orange PI PC abbiamo installato i tool di cross complilazione per l’ambiente armhf

Creazione immagine Armbian per Orange PI PC

Partendo dalla immagine pulita dell’ambiente di sviluppo su Debian riportiamo i passi da eseguire per installare l’ambiente di cross compilazione. Ci si collega sul deskop Debian come sviluppo/password.

Come operazione preliminare installiamo il cross compilatore in Debian

https://wiki.debian.org/CrossToolchains

Creare il file crosstools.list in /etc/apt/sources.list.d

ed inseriamo la voce

Salviamo il file ed aggiungiamo la chiave del repository embedian.org

Installiamo i seguenti pacchetti e l’architettura armhf

Installiamo a questo punto l’ide Eclipse per cpp. Scarichiamo l’ide per linux a 64bit

Eclipse IDE

 Scompattare il pacchetto eclipse sotto /home/sviluppo.

Installare il jre java

 Aggiungere alla fine

Eseguire

 Eseguire Eclipse dalla cartella eclipse per avviare l’IDE

Avvio EclipseCome primo esempio creiamo un semplice programma in C per il Beaglebone.

Creare un nuovo progetto in C, inserendo i dati elencati di seguito

nuovo progettoSelezionare ambedue le configurazioni

project configurationInserire il prefisso per la cross compilazione ed il percorso del compilatore

crosscompilerprefixPremere Finish. Aggiungere al progetto un file sorgente in C

source file cInserire il semplice codice di esempio

Procedere alla compilazione selezionando il progetto con il tasto destro del mouse e scegliendo Build Project

build project

Copiare il file generato sul Beaglebone. Si puo usare scp o ftp. Dare i permessi di esecuzione al file compilato ed eseguirlo

Il risultato è ovviamente il testo inserito nel codice

esecuzione esempio

Strumenti di sviluppo su scheda Beaglebone

Nel precedente articolo abbiamo installato ed aggiornato l’ultima immagine Debian per Beaglebone

Preparazione sdcard Debian per Beaglebone Black

Abbiamo anche abilitato i servizi di rete in modo da accedere tramite il nome host sul sistema.

Dopo tali modifiche si può accedere mediante browser sul Beaglebone con l’indirizzo

http://beaglebone.local

Nell’interfaccia che si presenta vengono indicati vari esempi di codice eseguiti con bonescript, libreria in javascript basata sul framework node.js

Node.js

Si possono eseguire questi semplici esempi per incominciare ad interagire con la scheda. Sono presenti anche i link agli strumenti di sviluppo Cloud9 e Nodered e le informazioni su tali tools

strumenti di sviluppo

 Cliccando su Cloud9 viene mostrata la sezione nella pagina dedicata a tale strumento. In tale sezione viene indicato come creare un semplice esempio ed farlo partire all’avvio della scheda piazzandolo nella cartella autorun presente nella interfaccia dell’ide. Da tale sezione si accede all’ide vero e proprio presente sulla porta 3000 del sito in funzione sul Beaglebone

Cloud9

Per maggiori informazioni sullo strumento fare riferimento al sito

Cloud9

 Accedendo invece alla sezione di Nodered viene indicato il link per incominciare a conoscere lo strumento

Primi Passi con Nodered

 e poter accedere direttamente all’ide del framework, presente sulla porta 1880 del web server funzionante sul Beaglebone

Nodered Beaglebone

Nodered beaglebone

Dal link presente sopra sui primi passi per Nodered sono disponibili degli esempi per iniziare ad usare lo strumento. Dalla home del sito https://nodered.org/ si ricavano ulteriori informazioni sullo strumento.

Oltre agli strumenti in javascript sul Beaglebone sono giò presenti i compilatori in linguaggio C/C++, l’interprete in Python e la possibilità di aggiungere ulteriori strumenti di sviluppo.

Nella pagina iniziale dell’interfaccia web del Beaglebone, http://beaglebone.local, sono indicati tutti i pin disponibili e la loro funzione. Di seguito viene riportata solo l’immagine con gli header di espansione

cape headersNei prossimi articoli mostreremo qualche esempio di codice con la scheda.

Preparazione sd card Debian per Beaglebone Black

Nell’articolo precedente è stato mostrato il primo avvio della scheda di sviluppo Beaglebone Black/Green.

Avvio della scheda Beaglebone

Analizziamo ora come installare una immagine aggiornata di Debian per Beaglebone. Come prima operazione si accede al sito di Beablebone contentente le immagini

Immagini Beaglebone

Scarichiamo, avendo un Beaglebone Black Rev. C, bone-debian-8.6-lxqt-4gb-armhf-2016-11-06-4gb.img.xz. Scompattiamo l’immagine con 7zip e la carichiamo su una scheda micro sd con Win32DiskImager, analogamente a quanto fatto per l’Orange PI PC

Installazione Opelenec su Orange PI PC

Nel caso volessimo caricare tale immagine sulla flash interna, occorre editare il file /boot/uEnv.txt in un sistema Linux  e scommentare la riga

In tal caso all’avvio si riscriverà il sistema operativo presente sulla flash interna con la versione caricata sulla scheda micro sd. Non seguiremo tale strada in modo da fare tutti i test sulla scheda sd, lasciando integra la partizione interna. In questo caso colleghiamo alla rete ethernet di un router il nostro Beaglebone. Inseriamo la scheda micro sd ed avviamo la scheda di sviluppo. In alcune schede viene richiesto la pressione del pulsante USER/BOOT

beaglebone blackperché si avvii da scheda micro sd; con la nostra scheda non è stata necessaria eseguire tale operazione.  A questo punto occorre collegarsi sul Beagleone; da un sistema Linux l’hostname della scheda è già risolto in quanto il servizio avahi-daemon è già attivo e Linux risolve l’host; per Windows occorre installare samba per avere il riconoscimento con il protocollo netbios da Windows e risolvere così l’hostname. Se ci si deve connettere da una macchina Windows occorre prima controllare l’ip assegnato al Beaglebone sul router cui è stato connesso. Da un sistema Linux, ad esempio, eseguire il collegamento sempre come debian/temppwd

ssh BeagleboneDa Windows collegarsi la prima volta in ssh con l’indirizzo ip e procedere all’aggiornamento ed all’installazione di samba

Dopo l’aggiornametno siamo pronti a fare degli esempi con il nostro Beaglebone ed a connetterci utilizzando il nome host beaglebone e beaglebone.local. Nel prossimo articolo vedremo quali strumenti sono già presenti sulla scheda e come aggiungere altre funzionalità.

Possiamo anche installare il servizio ftp, che potrebbe tornare utile nei prossimi esempi

 Per deattivarlo ed attivarlo usare i seguenti comandi

Avvio della scheda Beaglebone

In un articolo precedente abbiamo dato una breve descrizione della scheda Beaglebone Black e delle sue varianti.

 Scheda di sviluppo Beaglebone

 Il Beaglebone in questa revisione viene con 4GB di spazio a bordo e con il sistema operativo già installato.

E’ possibile accedere al Beaglebone, nel nostro caso il Black, senza collegarlo alla rete ethernet, ma collegandolo ad un pc attraverso la connessione mini usb di servizio, come specificato sul sito del Beaglebone

Avvio Beaglebone

Dopo aver connesso il Beaglebone Black al pc tramite il cavo USB viene aggiunto un altro dispositivo rimobile ai dischi già presenti

Disco rimovibile BeagleboneEseguendo start.htm si avvia una interfaccia analoga a quanto presente sul sito web getting-started

AvvioSi procede alla installazione dei driver network-over-usb per il proprio sistema operativo, windows a 64 bit nel nostro caso

driver network over usbSu Firefox procedere a scaricare il file ed eseguirlo, dando i permessi richiesti da windows

BeagleBone Driver InstallerAl termine viene mostrata la finestra con le operazioni eseguite

completamento beaglebone driver installerUsando Firefox o Chrome accedere al seguente indirizzo http://192.168.7.2; si accede in tal modo sul nostro Beaglebone attraverso la rete su  usb al server web avviato sulla scheda

beaglebone pagineinizialeNella pagina viene mostrato come aggiornare il sistema,  collegarsi all’interfaccia IDECloud9,  eseguire vari esempi in Bonescript.

L’accesso all’ IDE di Cloud9

Informazioni su IDE Cloud9

avviene sulla porta 3000 allo stesso indirizzo IP specificato sopra, ossia http://192.168.7.2:3000

Cloud9Nei nostri esempi non modificheremo il sistema operativo presente sulla scheda eMMC interna, ma scaricheremo una versione aggiornata di Debian per Beaglebone e lo installeremo su una scheda micro sd. Il sistema può essere chiuso con il pulsante Power presente sulla scheda

power buttono collegandosi tramite shell ssh all’indirizzo 192.168.7.2 con l’utenza debian/temppwd ed eseguendo il comando “sudo poweroff”

sshNel prossimo articolo procederemo a scaricare ed installare su scheda micro sd l’immagine Debian per Beaglebone

Preparazione sd card Debian per Beaglebone Black

Scheda di sviluppo Beaglebone

In questo articolo si descrive brevemente la scheda di sviluppo Beaglebone Black. Quanto detto è applicabile anche alle sue derivate (Green, Enhanced) per la maggior parte delle informazioni

Schede Beaglebone Black

Dal link precedente vi è la tabella di comparazione fra i vari modelli.

La scheda è frutto di un progetto Opensource con tutti gli elementi della stessa distribuita sul sito

Design file Beaglebone Black

Di seguito le caratteristiche principali del Beaglebone Black Rev. C (le altre versioni differiscono rispetto alla Black).

ProcessoreTexas Instruments Sitara AM3358BZCZ100, 1GHz, 2000 MIPS
Scheda GraficaSGX530 3D, 20M Poligoni/s
Memoria512 MB DDR3L 800Mhz
Flash a bordo4Gb, 8bit Embedded MMC
Pin Analogici7
Pin Digitali65 (3,3V)
PMIC (Power management integrated circuits)TPS65217C PMIC e un LDO (Low Dropout Regulator) addizionale
Debug20 pin JTAG CTI opzionale, Header seriale
AlimentazioneMini USB, Ingresso DC, 5V DC con Header di espansione
Indicatori1 Alimentazione, 2 Ethernet, 4 Led gestibili dall'utente
USB client PortAccesso a USB0, client mode con mini USB
USB Host PortAccesso a USB1, socket tipo A, 500 mA LS/FS/HS
Porta serialeAccesso UART0 con Header 6 pin 3,3 V TTL
Ethernet10/100 RJ45
Connettore SD/MMCmicroSD 3,3 V
Input utentePulsante di Reset, Pulsante di Avvio, Pulsante di Alimentazione
Uscita Video16b HDMI, 1280x1024 (MAX)
AudioVia HDMI, Stereo
Interfacce Supportate4x UART, 8x PWM, LCD, GPMC, MMC1, 2x SPI, 2x I2C, A/D Converter, 2xCAN Bus, 4 Timers, 2 PRU
Peso39,68 grammi

Dal link

Beaglebone Black Wiki

vi è una descrizione completa di tutte le caratteristiche e sofware compatibile. Il documento System Reference presente come link nel sito sopra indicato è scaricabile dal link

System Reference Beablebone Black

La scheda essendo Opensource e con molte uscite e controlli integrati si presta molto bene alla prototipazione di sistemi IOT, Automazione, Domotica. L’espansione di funzionalità hardware può essere eseguito mediante l’ultizzo di schede di espansione chiamate Cape

Beaglebone cape

La distribuzione  di cui ci occuperemo per la scheda Beaglebone Black è Debian. Sulla distribuzione Debian per Beaglebone è presente anche Cloud9

Interfaccia Cloud 9

che permette di interagire in modo semplice con l’hardware presente sul Beaglebone Black. In  articoli successivi si descrive l’installazione, creazione della immagine e vari utilizzi della scheda.

Di seguito il link alle caratteristiche software ed hardware della scheda; in particolare sono riportati i pin di ingresso/uscita del Beaglebone Black

Beaglebone Black software and hardware

La scheda può essere acquistata seguendo i link indicati sul sito

Acquisto Beaglebone Black

da siti di vendita online o da negozi di elettronica.