ARM9 geliştirme boardı yapıyoruz[YAZILIM]

Başlatan ahmet2004, 25 Ocak 2008, 18:11:45

Ziya

Kart üzerindeki U10 ve U11 (5165805TT5) nedir? Datasheetini de bulamadım.
Bu günden sonra hiç kimse sarayda, divanda, meclislerde ve seyranda Türk dilinden başka dil kullanmaya. (13 Mayıs 1277) Karamanoğlu Mehmet Bey

mp3dragon

@Ziya,

Alıntı YapAcaba indirdiğim 55 MB dosya içerisinde kernel da var mı ki? Patchleri nasıl uygulayacağız?
kernel.org sitesinden patchların uygulandığı kernel sürümünü indirip o sürüme uygulayacaksın. Senin indirdiğin cross compiler dir.
http://excito.org/forum/viewtopic.php?p=1215  burayı okuyabilirisniz.

Alıntı YapAnladığım kadarıyla Loader ARM9 içerisine yazılmıyor (Orada fabrika çıkışı bootloader var). Loader SPI flasha yazılıyorsa 11k gibi bir limitimiz olmamalı. Loader'a klavye, monitör yazılımları adapte edilebilir.
loaderi işlemci ramına yazıyor. İşlemci ramı 16 kb. 12 kb program 4 kb de değişkenler için tutar dolayısı ile 12 kb lik üst sınır vardır bizim yükleyeceğimiz loaderda. Uboot içerisine tabii yazılabilir ama zaten kernel atılınca istediklerimizin hepsi fazla fazla olacak.
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

Ziya

Alıntı yapılan: "mp3dragon"@Ziya,
loaderi işlemci ramına yazıyor. İşlemci ramı 16 kb. 12 kb program 4 kb de değişkenler için tutar dolayısı ile 12 kb lik üst sınır vardır bizim yükleyeceğimiz loaderda. Uboot içerisine tabii yazılabilir ama zaten kernel atılınca istediklerimizin hepsi fazla fazla olacak.
Tama şimdi oldu. RAM testi başarılı olursa u-boot'u harici RAM'e yazıyoruz. Ok.
Bu günden sonra hiç kimse sarayda, divanda, meclislerde ve seyranda Türk dilinden başka dil kullanmaya. (13 Mayıs 1277) Karamanoğlu Mehmet Bey

mp3dragon

Alıntı yapılan: "Ziya"Kart üzerindeki U10 ve U11 (5165805TT5) nedir? Datasheetini de bulamadım.
EDO ramdır.
Paylaşımda ayrıca, kullanım klavuzu 1.03 sonunda şematik bulunmaktadır. Malzemelerin ne işe yaradıkları şematikten çıkarılabilir. Kullandığımız tüm malzemelere ait datasheetler ise paylaşımda DONANIMLAR klasörünün altında zipli olarak mevcuttur.
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

Ziya

Alıntı yapılan: "mp3dragon"
Alıntı yapılan: "Ziya"Kart üzerindeki U10 ve U11 (5165805TT5) nedir? Datasheetini de bulamadım.
EDO ramdır.
Paylaşımda ayrıca, kullanım klavuzu 1.03 sonunda şematik bulunmaktadır. Malzemelerin ne işe yaradıkları şematikten çıkarılabilir. Kullandığımız tüm malzemelere ait datasheetler ise paylaşımda DONANIMLAR klasörünün altında zipli olarak mevcuttur.
Onları indirdim ve içerisinde göremedim. Şemada gördüm ama :)
Bu günden sonra hiç kimse sarayda, divanda, meclislerde ve seyranda Türk dilinden başka dil kullanmaya. (13 Mayıs 1277) Karamanoğlu Mehmet Bey

mp3dragon

Tamam paylaşıma koydum EDO datasheeti.
Kusura bakmayın.
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

Ziya

U-boot'u SDRAM'a atarken şunu diyor : SDRAM:0x21F00000 <---Bu ne demek? Bu adresten mi bahsediyor? Öyleyse bu adres 5 yüz küsür MB'a karşılık geliyor.

Şimdi yazılıma bakıyorum.
Bu günden sonra hiç kimse sarayda, divanda, meclislerde ve seyranda Türk dilinden başka dil kullanmaya. (13 Mayıs 1277) Karamanoğlu Mehmet Bey

mp3dragon

Eğer atmel datasheete bakarsanız, memory mapin 256 MB lik bölümlere ayrıldığını göreceksiniz. CS1 kullanıldı yani 2. 256 da bizim sdramın hafızası.
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

Ziya

Alıntı yapılan: "mp3dragon"virtualbox ile PARDUS 2007.3 yüklü
gcc versiyonu 3.4.6

Kolay gelsin.
Bendekinin de sürümü 3.4.6
Bu günden sonra hiç kimse sarayda, divanda, meclislerde ve seyranda Türk dilinden başka dil kullanmaya. (13 Mayıs 1277) Karamanoğlu Mehmet Bey

mp3dragon

Dün 5. kez crosstool yüklemesi yaptım. Kullanım Klavuzunda anlattığım şekilde vista+virtualbox+pardus+crosstool yüklemesi yaptım ve derleme sorunsuz şekilde çalıştı.

Şimdiye kadar yapmış olduğum crosstool yüklemelerin sonuçları;

- P4-2.8, 1 Gb Ram 2. HDD üzerinde PARDUS+Crosstol - OK
- P4-3.0, 1Gb Ram XP üzerinde cygwin+crosstool - OK
- P4-3.0, 1Gb Ram XP üzerinde vb+pardus+crosstool - OK
- P4-1.6, 768 MB Ram (Laptop) Cygwin + Crosstool - OK
- P4-1.6 dual core, 1 Gb Ram (Laptop) Vista+VirtualBox+Pardus+Crosstool - OK
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

Ziya

paylaşımdaki loader.bin ve u-boot.bin ikilisi uyumlu çalıştı. Sorunsuz yüklendi.
Bu günden sonra hiç kimse sarayda, divanda, meclislerde ve seyranda Türk dilinden başka dil kullanmaya. (13 Mayıs 1277) Karamanoğlu Mehmet Bey

Ziya

crosstool'u sonunda derleyebildim.

kurulumda patch, bison ve flex paketlerinin baştan eklenmiş olması veya linux paket yöneticisi kullanarak sonradan eklenmesi gerekiyor (Ubuntu 7.10 için).

crosstool önce $(HOME)/download klasörüne paketleri indiriyor. bu paketlerden birisi glibc-2.3.6.tar.bz2 . "sh demo-arm.sh" diğer paketleri indirirken siz bu sıkıştırılmış dosyayı açın. Bunu açtığınızda csu/ klasörü içerisindeki Makefile içerisinde bir bug var ve maalesef patch'i yok. Gerçi internette bu hata ile ilgili patch bulunuyor ama ben sonra farkettim. O hatayı elle düzeltip tekrar aynı sıkıştırma formatı ile tekrar paketleyin. Hata şu:

241. satırda echo "\"Available extensions:\\n\"";         \
bu satır ya echo "\"Available extensions:\\\\n\"";         \

şeklinde düzeltilecek veya alttaki patch oluşturularak, crosstool-0.43/patch/glibc-2.3.6/ içerisine atılacak

diff -ur glibc-2.3.6-unpatched/csu/Makefile glibc-2.3.6/csu/Makefile
--- glibc-2.3.6-unpatched/csu/Makefile   Wed Feb 16 10:34:09 2005
+++ glibc-2.3.6/csu/Makefile   Fri Mar 16 13:14:11 2007
@@ -241,7 +241,7 @@
    esac; \
    files="$(all-Banner-files)";            \
    if test -n "$$files"; then            \
-      echo "\"Available extensions:\\n\"";         \
+      printf '"Available extensions:\\n"\n';      \
      sed -e '/^#/d' -e 's/^[[:space:]]*/   /'      \
          -e 's/^\(.*\)$$/\"\1\\n\"/' $$files;      \
    fi) > $@T


Derleme aşamasında, "sh demo-arm.sh" kernel paketi de indiriyor. Onu da 2.6.9 sürümü olarak tanıtmışlar. Bir de 2.9.29 sürümü ile ilgili birşeyler arıyor. www.kernel.org adresine bağlanmayı deniyor fakat bağlanamıyor. bu adresi de kernel.org olarak, paketi de 2.6.24 olarak değiştirdim.

Gece derlenmiş toolu rapidshare'e atayım dedim ama rapidshare uzun süre bekletti, upload'a başlamadı. Ben de daha sonra göndermek üzere iptal ettim (saat 05:00 civarlarında).

Kernel için menuconfig veya xconfig çalışmadı. Normal PC Linux kerneli derlerken kullanmıştım bunları. Kesinlikle normal config kullanmayın. Baştan sona ahiret sorusu gibi sorulara cevap vermeniz gerekir. Hele yanlış seçenek girdiniz mi, işlem bittikten sonra configure dosyasından elle düzeltmeniz gerekir ki o ayrı bir eziyet. Yani mutlaka menuconfig kullanarak kernelin içeriğini oluşturmamız gerekir.

Bence ilk aşamada kernel çok küçük olsun, sadece gerekli şeyler olsun. Bu şekilde boot ettirebilirsek zamanla büyütürüz.

Unutmadan yazayım. Kernel derlerken başlangıç adresi soruyor. 0x00100000 gibi varsayılan değeri var. Bu ve buna benzer ayarlar için, kernel derlemesine başlayan arkadaşlar webden araştırma yapıp sonuçları paylaşırlasa daha hızlı ilerleriz.
Bu günden sonra hiç kimse sarayda, divanda, meclislerde ve seyranda Türk dilinden başka dil kullanmaya. (13 Mayıs 1277) Karamanoğlu Mehmet Bey

Ziya

Kernel'i configure etmek için menuconfig veya xconfig'in derlenebilmesi için eksik paketler varsa eklenmesi gerekiyor. Benim Ubuntu 7.10 için eklediklerim şunlar:

sudo apt-get update
sudo apt-get install build-essential fakeroot
sudo apt-get install libncurses5-dev
sudo apt-get install libqt3-mt-dev
sudo apt-get install kernel-package

Bir de scripts/kbuld altında uzantısı shipped olanları aynı isimle fakat .shipped kısmı olmadan kopyalayın.
Bu günden sonra hiç kimse sarayda, divanda, meclislerde ve seyranda Türk dilinden başka dil kullanmaya. (13 Mayıs 1277) Karamanoğlu Mehmet Bey

Ziya

Donanım başlığından:
Alıntı yapılan: "leblebitozu"## Booting image at 21000000 ...
  Image Name:   Linux Kernel Image
  Image Type:   ARM Linux Kernel Image (gzip compressed)
  Data Size:    1689705 Bytes =  1.6 MB
  Load Address: 20008000
  Entry Point:  20008000
  Verifying Checksum ... OK
  Uncompressing Kernel Image ... OK

Starting kernel ...
Bende de bu noktada takılıyor. Modülleri derlerken .config içerisinde dinamik modul yükleme seçeneği seçilmemiş diyor. Oysa seçili durumdaydı. Modüller derlendikten sonra install klasörüne yüklenmesi gerekiyor. Oradan da SD karta veya başka bir ortama atılması gerekiyor.

Kerneli derledik te, fs (file system) oluşturmadan bu aşamada zaten ilerleyemeyeceğiz. Hele ki modülleri bulamıyorsa kernel panikler. Bu kısımlar çözümlenmeli.

Bir de şöyle bir sorunum var: kerneli loader ile yükleyip, u-boot'a geçiyorum. bootm ile kernel açılmaya başlıyor. Kartın elektriğini kesip tekrar u-boot'a geçtiğimde bootm kerneli bulamıyor.

sizlerde durum nedir?
Bu günden sonra hiç kimse sarayda, divanda, meclislerde ve seyranda Türk dilinden başka dil kullanmaya. (13 Mayıs 1277) Karamanoğlu Mehmet Bey

Analyzer

Alıntı yapılan: "Ziya"Kernel'i configure etmek için menuconfig veya xconfig'in derlenebilmesi için eksik paketler varsa eklenmesi gerekiyor. Benim Ubuntu 7.10 için eklediklerim şunlar:

sudo apt-get update
sudo apt-get install build-essential fakeroot
sudo apt-get install libncurses5-dev
sudo apt-get install libqt3-mt-dev
sudo apt-get install kernel-package

Bir de scripts/kbuld altında uzantısı shipped olanları aynı isimle fakat .shipped kısmı olmadan kopyalayın.
Selam,

Ziya hocam ben de Ubuntu üzerine crosstools kurmaya çalışıyorum.Ancak kurulumu ben de yapamadım. Çözümden bahsetmişsiniz ancak pek takip edemiyorum. Yukarıdaki paketleri konsoldan aşağıdaki paketleri  kurabildim :

sudo apt-get update
sudo apt-get install libncurses5-dev
sudo apt-get install libqt3-mt-dev

Şu paketleri kurarken Gutsy Gibbon etiketli bir cd istiyor :

sudo apt-get install build-essential fakeroot
sudo apt-get install kernel-package

Vaktiniz var ise Ubuntu için kurulumu adım adım anlatmanızı rica ediyorum.

Analyzer
Üşeniyorum, öyleyse yarın!