0'dan Linux'lu Embedded Sistem Tasarlama

Başlatan Elektroemre, 20 Aralık 2011, 11:38:51

Elektroemre

Alıntı yapılan: ErsinErce - 20 Aralık 2011, 16:35:21
önceden verildi mi bilmiyorum ama 2012 de çıkması planlanan şöyle bir platform daha var
25$ gibi cüzzi bir ücrete sahip olacak deniyor http://www.raspberrypi.org/faqs

Evet bu projeye geçen seneden beri aralıklarla takip ediyorum. Satışa çıkınca mutlaka 1-2 adet alacağım.
Hem işlemci ve kullanılan çevre birimlerin driveri hazır olmuş olacak, ve montajlı satış rakamı bile 25$ iken kendi üreteceğimiz aynı komponenetli kartında çok yüksek maliyetli olmayacağını düşünüyorum.

Ama temel seviyede linux bilgisi her halükarda şart. @mufitsozen tavsiye ettiği kitaplarla başlamayı düşünüyorum ama ben biraz balıklama dalmayı seviyorum :) Bir şekilde çalıştırayım ayrıntılara sonra hakim olurum mantığıyla.

CoşkuN


Soo

#17
bir üstte bulunan kitapdan aldım. İşini görebilir...

DEno_12

Yüksek güçlü bir mikrodenetleyiciye o mikrodenetleyici için port edilmiş linux u kurduğumuzu varsayalım.Sonraki adımlar nasıl olur?

Mesela seri portu ya da ethernet i nasıl kullanırız?
Bize ne kadar kolaylık sağlar?
Çevre birimler için anında driver bulup bunları içerdeki linux a kolayca yükleyip kafamıza göre programlayabilir miyiz?
Ya da bu işletim sistemi üstünde linux için yazılmış birkaç programı aynı anda koşturabilip gpio ları kontrol edebilir miyiz?
Bu işi derinine inmeden bu şekilde yapanlar var mıdır?

Teşekkürler...

Tagli

Bildiğim kadarıyla, doğrudan işlemci donanımı ile ilgili sürücüler kernel içinde oluyor. Daha sonradan eklenecek yeni cihazlar için (örneğin USB'den bağlanan cihazlar) ayrıca sürücü yüklemek gerekebilir. Bunun için genelde sürücünün kaynak kodunu bulup çapraz derleme yapmak gerekiyor. Bu noktada, bağımlılıklar ile uğraşmak gerekebilir, ki bu zaman alıp insanı yıldırabiliyor.

Sürücüler sanırım kernel modülü şeklinde derlenip çalıştırılıyor ama bazı durumlarda bazı donanımların çalışabilmesi için veya başka bir kaynak kodunu derleyebilmek için kütüphaneler gerekebiliyor (Windows'taki DLL'ler gibi, yanlış hatırlamıyorsam Shared Object olarak adlandırılıyorlar ve .so uzantılı dosyalar oluyorlar). Bu kütüphanelerin de bağımlılıklarıyla birlikte çapraz derlenmeleri ve sisteme kurulmaları gerekli.

Donanıma erişmekle ilgili FriendlyArm'ın sitesinde mini2440 için yazılmış birkaç örnek C kodu vardı. İncelemeye fırsatım olmadı ama olduğu gibi alıp çapraz derleyerek cihaz üzerinde çalıştırmıştım.
Gökçe Tağlıoğlu

mahoni

Alıntı yapılan: Elektroemre - 20 Aralık 2011, 11:38:51
Merhabalar,

Şimdi diyelimki kafamda yapmak istediğim bir gömülü sistem var.
Mesela köpük partisinde kullanıcak olan köpük üretme makinasını kontrol edecek bir sistem. (Tamamen sallıyorum.)

Sistemde ekran, kamera ve çevre birimler var.Ve ben bu sistemi Linux kullanıp yapmak istiyorum.
Donanım tasarlandı, RAM, flash, işlemci ve  çevre birimler tamam.

*Bu sistem için linux kaynak kodlarını nerden bulacağım? Tüm linux geliştiricilerinin buluştuğu ortak bir platform var mı?
*Linux'u nasıl port edeceğim? (Bir işletim sisteminin port edilme sürecini kısaca tanımlayabilir misiniz?)
*Tüm port işlemlerini gerçekleştirden sonra ne gibi araçlarla yazılım geliştirme şansım var?

Beklediğim çok detaylı cevaplar değil, sadece yönlendirme. Bu iş için "esas" olayın olduğu site ve basit kernel derleme vs. örneklerin olduğu siteler olabilir.

en kolay olan en mantıklıdır. Al bi tablet veya notebook normal pc ye nasıl linux kuruluyorsa öyle kur kullan.
2.si devir linux devri değil devir android devri. androidli bi pc + Arduino veya başka marka ADK (android deviance kit) al pc genel mantıkları yönetsin ADK elektronik cihazlarla haberleşsin. yok kamerayi cevirsin köpük cıhaıznı açsın vs. ısık efekti versin gibi.
Linux ile yapmak için de linux bi entegre daha doğrusu linux ana kart (pc anakartı dil tabi yanlış anlatmayım) lazım. sonrası yürü ya kulum. Ama yine diyorum eski linuxcu olarak devir android devri.

Tagli

Android sistemlerin Linux dağıtımlarından farkı nedir? Android'in Linux çekirdeğinin çok değişmiş bir şeklini kullandığını biliyorum, zaten o yüzden Linux dağıtımı sayılmıyor. Ama neyi değiştirmiş adamlar? Bileniniz var mı?
Gökçe Tağlıoğlu

gevv

 

Seckin ALAN

Alıntı yapılan: mahoni - 11 Ocak 2012, 17:34:10
en kolay olan en mantıklıdır. Al bi tablet veya notebook normal pc ye nasıl linux kuruluyorsa öyle kur kullan.
2.si devir linux devri değil devir android devri. androidli bi pc + Arduino veya başka marka ADK (android deviance kit) al pc genel mantıkları yönetsin ADK elektronik cihazlarla haberleşsin. yok kamerayi cevirsin köpük cıhaıznı açsın vs. ısık efekti versin gibi.
Linux ile yapmak için de linux bi entegre daha doğrusu linux ana kart (pc anakartı dil tabi yanlış anlatmayım) lazım. sonrası yürü ya kulum. Ama yine diyorum eski linuxcu olarak devir android devri.

zannedersem siz elma ile armutu karıştırmışsınız.

Linux bir işletim sistemi çekirdeğidir.
Android ise linux çekirdeğini kullanan. Mobil platformlar için tasarlanmış bir işletim sistemidir.
Kar taneleri ne güzel anlatıyor, birbirlerine zarar vermeden de yol almanın mümkün olduğunu.. Mevlana

Firzen

Alıntı yapılan: CoşkuN - 20 Aralık 2011, 17:09:10
Piyasada şöyle bir kitap var, belki işinize yarar: Gömülü Linux Sistemleri 

(Resim gizlendi görmek için tıklayın.)
http://www.dr.com.tr/Kitap/Gomulu-Linux-Sistemleri/Nazim-Koc/Egitim-Basvuru/Bilgisayar/urunno=0000000374677
Valla Arkdaşlar bende bu kitaptan aldım amacım Beaglebonu öğrenmek için az buçuk bir Linux bilgisi edinmekti ama hiçbirşey anlamadım belkide sorun bendedir.Şimdi ise Linuxtan anlamadığım için internette videolarını izliyordum Beaglebone ile nasıl programlama yapıyorlar diye herkes MACBook kullanıyordu.Bende de var ama ben hala bir program bile yazamadım ya :( bana da nereden başlamam gerektiğini söylerseniz özellikle Beaglebone konusunda...
Şimdiden teşekkür ederim...
Kararsız...


Seckin ALAN

Beagle bonu (bundan sonra bb diyeceğim)incelemedim fakat genel mantık şu şekildedir.

BB'nin içerisine bir linux yüklenir. Kimileri ubuntu yüklemiş. Ben olsam debian kullanırım. Uzerine gnome kurarım. görsel birşeyler yapmak istemiyorsasmda terminal penceresinde kalır.

Sonra  ne yapılmak isteniyor portlara erişim mi ? Portların adresini tespit ederim. Veya bir dosya şeklinde iseler. Mesela (/dev/ttyBB01) gibi buraya verieleri gönderirim. Mutlaka manueli vardır. Python olur c++ olur. Meraklandığın D dilinide denerdim. Gömülü linux'un temel mantığı budur.Çok büyütmeye gerek yok diye düşünüyorum. Benimde gözüm korkuyordu. Fakat biraz işleri öğrenince zor olmadığını anladım. Bu arada [emrah.com] a göz atabilirsiniz. Faydalı bilgiler vasrdır.
Kar taneleri ne güzel anlatıyor, birbirlerine zarar vermeden de yol almanın mümkün olduğunu.. Mevlana