BeagleBone Devresi ve Ubuntu İşletim Sisteminde Tanıtılması

 Ruha USLU, TA2IRU
 2 Temmuz 2012

Bu yazımızda, günümüzde bir çok kişinin yeni nesil akıllı cihazlar satın almaya kalktığında ya da sayısal elektronik alanında çalışma yapanların ismini sıklıkla duyduğu ARM işlemciler hakkında kısa bir bilgi dizini hazırladık. Ayrıca bir çeşit ARM geliştirme modülü olan BeagleBone isimli devrenin, önceden Ubuntu Linux kurulmuş bir bilgisayarda tanıtılmasını göstermeye çalıştık. Öncelikle sık sık kullanılan bazı kısaltmaların ne anlama geldiğini açıklayalım.

ARM Nedir?

ARM son zamanlarda “akıllı” kelimesi ile yan yana telaffuz edilen ve hemen hemen her cihazın içinde bulunan bir entegre devredir. Kısaltmanın açılımı “Acorn Risc Machine” dir. İsminin ilk kısmı üreticisi olduğu firmayı, ikinci kısmı işlemci mimarisini gösterirken,  son kısmı ise yaptığı iş sebebi ile bilgisayar olarak verilmiştir. Kısaca söylemek gerekirse, 32 bit veri-yoluna sahip, RISC mimarisinde üretilmiş bir mikro bilgisayar devresidir. Çünkü içerisinde sadece işlemci bulunmayıp bir çok çevre birimi dahili olarak bulunmaktadır. (Grafik sürücüsü, Ethernet portu vs. gibi). Bu tarz cihazlar yaygın olarak “ARM işlemciler” olarak anılırlar.

BeagleBone Nedir?

BeagleBone, üzerinde Texas Instruments firmasının ARM Cortex A8 serisinden XAM3359ZCZ numaralı ARM işlemcisi bulunan ve 720MHz’e kadar çalışan bir ARM ile sistem geliştirme kitidir. BeagleBone için bir nevi eğitim kitidir de diyebiliriz.

Üzerinde dahili olarak Ethernet bağlantısı, USB Client (Debug için), DC adaptör bağlantı konnektörü, SD kart girişi ve çevre birim kullanabilmek için USB Hub ve GPIO bağlantı konnektörleri bulunmaktadır.

Şekil 3.

SD kart yuvası, kit üzerinde bir çeşt Linux işletim sistemi olan Angstrom işletim sistemini “boot etmek” amacı ile kullanılmaktadır. Cihaz üzerin başka Linux sürümleri ya da günümüzde popüler olan Android işletim sistemleri de kurulup kullanılabilir. Bu sayede standart bir bilgisayar üzerinde program yazar gibi BeagleBone üzerinde daha kolay bir şekilde uygulama geliştirilmesi mümkün olmaktadır. Ya da bilgisayar üzerinde o işlemci için derlenerek direk cihaza her hangi bir bellek üzerinden kopyalanarak çalıştırılabilir. Bu konunun detaylarına bu yazıda değinmiyoruz.

Şekil 4.

Yazımızda anlatılan kurulum işlemi, Ubuntu işletim sistemli bilgisayarlar için geçerlidir. Ubuntu işletim sisteminin kullanılma sebebi; Ubuntu’nun bir çok Linux sürümü gibi açık kaynak kodlu, Genel Kamu Lisanslı (GPL) olması, desteğinin iyi olması ve en önemlisi Türkçe dil desteğinin bulunmasıdır. Diğer yandan BeagleBone’da Linux tabanlı işletim sistemi çalıştırıldığından kontrolü ve ayarları daha rahat aynı zamanda benzerdir.

BeagleBone USB Client FDTI Sürücüsünün Ubuntu İşletim Sisteminde Tanıtılması

BeagleBone programlama ve debug (Hata Ayıklama) işlemi yapabilmek için devre üzerinde USB Client FDTI sürücü devresi dahili olarak bulunmaktadır. BeagleBone üzerinde bu kısma bağlanabilmek için mini USB portu bulunmaktadır. Kutu içerisinden bağlantı kablosu çıkmaktadır.

Bu kısımda Ubuntu 11.10 sürümü kullanılan bir bilgisayara BeagleBone Rev.A5 kitinin USB Client FDTI sürücüsünün nasıl tanıtılacağı gösterilecektir. (Diğer sürümlerde de çalışabilir ama yenilenen ürünlerde herhangi bir değişikliğe gidilirse kaynaklanabilecek uyumsuzluğa dikkat çekmek için belirtildi).

Cihazın USB bağlantısı yapılıp bir süre bekledikten sonra, bilgisayarda sanki flash bellek takılmış gibi bir donanım görüyor. Bu kısımda yer alan dosyalar otomatik olarak cihazın içindeki işletim sistemi tarafından oluşturulmaktadır. Cihaz hakkında detaylı donanımsal bilgiler bu kısımda yer alan “doc” isimli klasör altında bulunabilir. Kurulum ile ilgili İngilizce bilgiler “README.htm” isimli HTML sayfasında yer alır. Ayrıca bu HTML sayfasında MacOS işletim sistemi kurulum videosu bulunmakta. İnternet erişimili bir bilgisayarda YouTube üzerinden izlenebilir.

Şekil 5.

Kurulum işlemi boyunca Ubuntu üzerinde işlem kabuk denilen komutla işlem yapılabilen bir uygulama kullanılacaktır. Bu programın Ubuntu’nun Türkçe kullanımdaki ismi “Uçbirim”dir. Bulunamadığı taktirde Alt+F2 tuş kombinasyonu ardından çıkan ekrana “xterm” yazılıp “Enter” tuşuna basıldığında da benzer bir uygulama çalışmaya başlar. (Bu program Microsoft sistemlerinde cmd.exe ya da MS-DOS uygulamasına benzetilebilir.)

İşlem boyunca yönetici yetkisine ihtiyaç duyulduğunu hatırlatalım. Bu işlem için girilmesi gereken komut : “sudo su” komutudur. Komut ardından yönetici şifresi belirlenmişse bu şifre istenilmektedir. (Şifre yazma esnasında ekranda hiç bir hareketlenme olmaz fakat şifre o esnada yazılmaktadır). Bütün işlemler bitene kadar bu ekran kapatılmamalıdır. Yanlışlıkla kapatılırsa,  komut tekrar uygulanmalıdır.

Bu işlemlerin sonrasında gerekli olan asıl işlem, yani USB Client FDTI sürücüsünün parametreleri sisteme tanıtılabilir. Bu işlem için aşağıdaki komutlar uygulanmalıdır.

1. Komut:

sudo modprobe ftdi_sio vendor=0x0403 product=0xa6d0

2. Komut:

gedit /etc/udev/rules.d/73-beaglebone.rules

İkinci komut girildiğinde ekrana metin editörü açılacaktır. Bu açılan ekrana BeagleBone üreticileri tarafından belirlenmiş oln USB parametreleri girilmelidir. Bu dosyalar yukarıda belirtilmiş olan “README.htm” isimli HTML sayfasında bulunacağı gibi aşağıdaki kodda direk olarak kullanılabilir.

Şekil-6

Şekil 6.

Eklenecek ve Ardından Kaydedilecek Parametreler:

ACTION==”add”, SUBSYSTEM==”usb”, ENV{DEVTYPE}==”usb_interface”, \
ATTRS{idVendor}==”0403″, ATTRS{idProduct}==”a6d0″, \
DRIVER==””, RUN+=”/sbin/modprobe -b ftdi_sio”
ACTION==”add”, SUBSYSTEM==”drivers”, \
ENV{DEVPATH}==”/bus/usb-serial/drivers/ftdi_sio”, \
ATTR{new_id}=”0403 a6d0″
ACTION==”add”, KERNEL==”ttyUSB*”, \
ATTRS{interface}==”BeagleBone”, \
ATTRS{bInterfaceNumber}==”00″, \
SYMLINK+=”beaglebone-jtag”
ACTION==”add”,
KERNEL==”ttyUSB*”, \
ATTRS{interface}==”BeagleBone”, \
ATTRS{bInterfaceNumber}==”01″, \
SYMLINK+=”beaglebone-serial”


Bu parametreler metin editörüne kopyalanıp kayıt işlemi gerçekleştirdikten sonra donanım kontrolünün yeniden başlatılması gerekir. Bu işlem için aşağıdaki komut kullanılmaktadır.

Komut:  

sudo udevadm control –reload-rules

Bu komut uygulandıktan sonra BeagleBoard kurulum işlemi bitmiştir.

Bağlantı için “screen” adında bir uygulamaya ihtiyaç duyulmaktadır. Bu uygulama varsayılan olarak yüklü olmamaktadır. Bu uygulamayı yüklemek için aşağıdaki komut kullanılabilir.

Komut:

sudo apt-get install screen

Bu aşamadan sonra bağlantı sağlama aşamasına geçilebilir. Bu işleme geçmeden önce tanımlanmış olan port adresinin tespiti gerekir. Bu işlem basit olarak aşağıdaki komut ile yapılabilir.  

Komut:  

ls /dev/ttyUSB*    

Bu komutun ardından bir ya da birden çok adres görünebilir. Bu adresler, bilgisayara bağlı olan donanımla ilgilidir. Bizim denememizde iki adet görünmüştür. Burada doğru olan adresi bulmak için aşağıdaki komut ile deneme yapılmasını tavsiye ediyoruz. Deneme yapılırken her denemede ethernet portu yanında bulunan küçük reset işlemi gerçekleştirilirse, adres daha çabuk bulunabilir. Çünkü bu esnada boot işlemi sırasında yapılan işlemler ekranda yazılmaktadır.

Şekil 7.

Komut:  

screen /dev/ttyUSB* 115200

(Yukarıda * yazan yere ekranda listelenen 0,1,2.. gibi sayılar girilmelidir. ”screen /dev/ttyUSB1 115200” gibi.)

Bağlantı sağlanıp reset yapıldığında aşağıdakine benzer bir ekran görünmelidir.

Devreyi çalıştıran ve uygulamalarını deneyen okurlarımızdan, çalışmalarını bizimle paylaşmalarını, öneri ya da tavsiyelerini bekliyoruz. İletişim için lütfen science@tamsat.org.tr adresine  e-posta gönderiniz.


Kaynaklar:

“BeagleBone Rev.A5 ürünü satın alındığında içinden çıkan tanıtım ve programlarının bulunduğu SD hafıza kartı.”
BeagleBone Rev.A5 cihazının bilgisayara USB ile bağlanması sonucu oluşan sanal Flash Bellek içeriğindeki README.htm isimli HTML sayfası.”
www.ti.com


 

Yazı hakkında görüşlerinizi belirtmek istermisiniz?