BeagleBoneBlack
Last updated
Was this helpful?
Last updated
Was this helpful?
Beagle Bone Black son zamanlarda popüler olan, 50$ mertebesindeki fiyatı ve genişleme imkanlarıyla öne çıkan bir geliştirme platformudur.
İşlemci
TI AM335x 1GHz ARM® Cortex-A8
RAM
512MB DDR3
Storage
2GB beya 4GB 8-bit eMMC on-board flash
GPU
3D hızlandırıcı
NEON Desteği
Var
USB Host
Var
USB Power
Var
Micro SD Kart
Var
Ethernet
Var
HDMI
Var
Konsol Kablosu
Yok, ayrıca 3.3V FTDI - TTL dönüştürücü kablosu alınmalı
NAND Flash
Yok
BeagleBone-Black versiyonunun beraberinde konsol kablosu gelmemektedir
Bootloader seviyesinde konsol erişimi için FTDI-TTL 3.3V USB dönüştürücü kablosuna ihtiyaç bulunmaktadır.
Bu dokümanda kullanıcının ev dizini altında, beagle alt dizini oluşturulduğu varsayılmıştır:
Linux kernel kaynak kodları beagle/kernel dizininde bulundurulacaktır
Buildroot kaynak kodları, beagle/buildroot dizininde bulundurulacaktır
Buildroot içerisinde BeagleBoard için hazırlanmış öntanımlı kernel derleme konfigürasyonu bulunmaktadır
Ancak Ağustos 2013 itibariyle, bu konfigürasyon ile çalışan BeagleBoardBlack kernel imajı üretmek mümkün değildir
Kernel derleme işleminin Buildroot dışında ayrıca yapılması gerekmektedir
Buildroot kaynak kodları git üzerinden klonlanmalıdır:
Out-Of-Tree build yöntemi ile $HOME/beagle
dizini altında build dizini içerisinde buildroot ana çalışma dizinimizi oluşturalım:
İşlem bitiminde ana beagle çalışma dizininiz altında, build dizini oluşacaktır.
Bu noktadan sonra buildroot ile ilgili tüm işlemlerinizi, build dizini altında iken gerçekleştirmelisiniz:
Buildroot içerisinden çıkan beaglebone_defconfig dosyasında board ile ilgili temel ayarlar mevcuttur.
Bununla birlikte aşağıdaki temel başlıklar için konfigürasyon üzerinde düzenlemeler yapılmalıdır:
Kullanılacak toolchain seçimi
Dosyaların download edileceği dizinle ilgili düzenlemeler
İşlem sonucunda oluşturulacak dosya sistemi tipi
/dev yönetimi için tercih edilen yöntem
Sistemde yer alması istenilen paketler
Bunlar temel düzenlemeler olup, öncelikle bu başlıklara değinilecektir.
Buildroot içerisinde toolchain seçiminde External Toolchain kullanımı önerilir. External Toolchain kullanılacağı belirtildikten sonra, toolchain tipi seçilmelidir
Genelde 3 toolchain tipi bulunur:
Linaro Toolchain versiyonları
Sourcery CodeBench Toolchain versiyonları
Custom toolchain
BeagleBone Black için Linaro toolchain güncel versiyonu seçilmelidir. Sourcery CodeBench toolchain'leri henüz EABIhf ABI desteğine sahip olmadığından bu menüden seçilememektedir
Buildroot ile çalışırken, özellikle birden fazla projede buildroot kullanıldığında veya aynı projede farklı konfigürasyonlarda build işlemleri gerektiğinde, dosyaların her seferinde yeniden download edilmesi işlemleriyle vakit kaybetmemek için, genel bir download dizini belirtmekte fayda vardır.
Örneğimizde download dizini /opt/buildroot/downloads
şeklinde seçilmiş olup aşağıdaki komutlarla öncelikle bu dizini oluşturabilirsiniz:
Buildroot ile işlem sonunda cloop
, cpio
, cramsfs
, ext2
, jffs2
, romfs
, squashfs
, tar
ve ubifs
dosya sistemi imajları çıkartılabilir.
BeagleBone-Black üzerinden NAND flash değil, eMMC bulunduğundan ext4 gibi blok tabanlı aygıtlar üzerinde çalışan dosya sistemleri kullanılmalıdır.
Kaynak kodlar git üzerinden klonlanıp, 3.8 branch'i checkout edilmelidir:
Derleme işlemi öncesinde oluşan kernel dosyasını sıkıştırma ve u-boot kernel başlık bilgilerini eklemek için gerekli yardımcı araçların kurulu olduğundan emin olunuz:
Kernel derleme işlemini aşağıdaki adımlarla yapabilirsiniz (tftp sunucu ana dizini /srv/tftp
olduğu varsayılmıştır):
Aşağıdaki şekilde u-boot üzerinden temel değişkenleri ayarlayarak NFS üzerinden boot işlemini gerçekleştirebilirsiniz:
BeagleBoneBlack için hazırlanan u-boot imajı, çalışmaya başladığında uEnv.txt
dosyası bulması halinde içerisindeki değişkenleri import etmektedir. Bu metin dosyasını doğru şekilde düzenlemek suretiyle açılış işlemini u-boot imajını yeniden üretmek zorunda kalmaksızın kalıcı olarak özelleştirmeniz mümkündür.
Örnek bir uEnv.txt
dosyasının içeriği aşağıda listelenmiştir: