Upload
goran-macut
View
226
Download
3
Tags:
Embed Size (px)
DESCRIPTION
Presentation for exploration of Linux on BeagleBoard and BeagleBoard XM, made for the course Programming Industrial Embedded Systems on University of Zagreb Faculty of Electrical Engineering and Computing, held in 2012
Citation preview
Zadatak: BeagleBoard + Kinect
• Nažalost, ipak ništa od Kinecta, 2 mjeseca nije dovoljno da se sinkroniziraju dva čovjeka i jedan komad opreme
BeagleBoard
• OMAP3530
– 1,200 Dhrystone MIPS using the superscalar ARM Cortex-A8
• OpenGL© ES 2.0 capable 2D/3D graphics accelerator
• HD video capable TMS320C64x+ DSP
• DVI-D, S-VIDEO, Stereo audio in and out
• USB (host and device), MMC+/SD/SDIO
• 128MB RAM, 256MB Flash
Izvor: http://beagleboard.org/hardware
• Nema etherneta
– samo emulirana veza preko USB-a
• Malo USB konektora
– nužno korištenje USB HUB-a
• Serijska veza sa RS-232 naponskim nivoima, a bez RS-232 konektora
– potreban adapter
• Prilikom izrade su bili preškrti
BeagleBoard
Kako to upogoniti?
BeagleBoard + Angstrom Linux
• Angstrom – „službeno podržana” distribucija * – Općenita embedded distribucija, nije vezana uz BeagleBoard
• Demo slika ima svoje probleme – Potrebna je dodatna ručna konfiguracija kako bi se osposobilo
serijsko sučelje prema sustavu
– USB emulacija mreže ne funkcionira
– Relativno star kernel
• Ipak, dobro je za naučiti kako to sve zajedno funkcionira. – Upute vrijede i za druge distribucije
* http://downloads.angstrom-distribution.org/demo/beagleboard/
BeagleBoard + Angstrom Linux II
• Izgradnja novije verzije Angstroma, s novijim kernelom koji nema problema sa mrežom preko USB-a
• Koristi OpenEmbedded*
– radni okvir za izgradnju embedded Linux sustava
– skup dodatnih patcheva i skripti za izgradnju sustava
• Konačno osposobljena mreža preko USB-a
• Ne funkcionira izgradnja kernel modula
– teško je doći do valjanog izvornog koda kernela koji se trenutno koristi
* http://www.openembedded.org/wiki/Main_Page
BeagleBoard - pristup mreži preko USB-a
reboot ≠ isključi pa uključi uređaj
USB mreža na BeagleBoardu koji sam imao na raspolaganju ne radi nakon reboota - potrebno je fizički isključiti uređaj iz struje i ponovno
ga uključiti
BeagleBoard - pristup mreži preko USB-a
• Osim samog omogućavanja mreže potrebna je i malo kompleksnija mrežna konfiguracija *
• Da bi BeagleBoard spojen na računalo imao pristup Internetu potrebno je konfigurirati računalo (NAT, IP masquerade)
• BeagleBoard ne može na Internet bez nekog računala
* Hvala Andrei Samaržiji na pomoći oko mrežne konfiguracije
Može možda bez hardvera?
BeagleBoard - emulacija QEMU-om
• QEMU omogućuje emulaciju nekih ARM sustava, uključujući i BeagleBoard
• Implementacija bi mogla biti i bolja
• Prilikom emuliranja Angstroma na BeagleBoardu funkcionira grafičko sučelje i sustav se podiže bez problema, ali mrežno sučelje ne funkcionira
A što dalje?
BeagleBoard XM
• ARM Cortex TM-A8
• 512-MB LPDDR RAM
• On-board four-port high-speed USB 2.0 hub with 10/100 Ethernet
• DVI-D, S-video
• Stereo audio out/in
• microSD
Izvor: http://beagleboard.org/hardware-xm
• Ima pravi ethernet
• Ima pravi serijski port
• Ima 4 USB host priključka + 1 USB on-the-go priključak
• Prilikom izrade nisu škrtarili, ovaj je BeagleBoard XM puno konkretniji proizvod od originalnog BeagleBoarda
BeagleBoard XM
Softver?
BeagleBoard XM + Debian
• Dostupne su skripte za vrlo laku pripremu sustava za pokretanje * – spoje se na web, skinu što treba i same konfiguriraju SD karticu
• Sustav se brzo i jednostavno priprema za podizanje
• Testirana je mreža i HDMI izlaz – funkcioniraju normalno
• Koristi se izmijenjen i vrlo nov kernel – do izvornog se koda može samo preko githuba – teška konfiguracija sustava za
izgradnju kernel modula
* http://elinux.org/BeagleBoardDebian
BeagleBoard XM + Linaro
• Linaro je organizacija osnovana 2010 koja se bavi prilagodbom Linux softvera ARM arhitekturi *
– imaju 120 inženjera u različitim kompanijama
• Trenutno nude prilagođene Android, OpenEmbedded i Ubuntu distribucije
– ovo super funkcionira
• Isproban je Ubuntu
– sve funkcionira kao na x86 sustavima
* http://www.linaro.org/
Linaro - članovi
Emulacija?
BeagleBoard XM + QEMU
• Na qemu-system-arm radi sam Linaro
• Sustav baziran na BeagleBoardu se bez problema podiže, ali bez grafičkog korisničkog sučelja
• Mreža funkcionira!
• Treba još istraživati, ovo ima potencijala
Zaključak
• BeagleBoard XM je veliki napredak u odnosu na BeagleBoard
• Problem je velika segmentacija Linux distribucija
• Treba se držati hardvera uz koji stiže i službeni podržani softver
• Komercijalne Linux distribucije itekako imaju smisla
A što dalje?
A što dalje?
• Istraživanje Linaro QEMU podrške, treba naći emulirani QEMU hardver na kojem dobro funkcionira embedded Linux
• Osposobljavanje cross-compile lanca koji cilja na BeagleBoard platformu
• Razvoj aplikacija
Pitanja?
Hvala na pažnji!
GitHub: https://github.com/gmacut/ppius-beagle