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

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

Ziya

flex, bison ve patch

bunlar yüklü değildi. Paket yöneticisini kullanabileceğiniz gibi doğrudan networkten indirebilirsiniz. sizden istediği CD Ubuntuyu kurduğunuz CD'dir. Net üzerinden indirecekseniz sorun yok (CD istemez). sudo apt-get flex* gibi (gerçi gereksiz paketler de yüklenebilir bu seçenekle).

crosstool'u derlerken patch'lerde patch not found diyordu. Bunun sebebi patchi gerçekleştirecek programın olmaması idi.

Asıl yüklenmesi gerekenler libncurses5-dev (menuconfig kullanacaksanız) veya libqt3-mt-dev (xconfig kullanacaksanız).

Bunların yeterli olması gerekir.
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

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"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.

Çünkü bootm="boot from memory". Elektrik gidip gelince sdram içeriği siliniyor. Flash hafızadan Ram'a yükleme yapmak lazım. Bunun içinde loader ve u-boot kernel için aynı adresi işaret etmeli.

u-boot-1.1.6-picproje çalıştırdım. Birazdan patch ve bin dosyalarını yayınlayacağım. 1.1.6 versiyonda daha fazla komut mevcut ve 1.1.4 de çalışmayan bazı komutlar çalışıyor. Yalnız RTL8201BL PHY sorunlu gibi.
loader'in da 0.3 versiyonunu hazırladım.U-boot ve loader 0.3 adreslemeleri artık uyumludur. Onu da yakında paylaşıma atarım.

Alıntı Yap
Initializing SDRAM

PICPROJE LOADER v.0.3 www.picproje.org
AT91RM9200 32bit SDRAM 2 X 256MBit MT48LC16M16A2
ask mode [NO]

1: Upload loader to Dataflash with vector 6 modification.
2: Upload u-boot to Dataflash.
3: Upload linux to Dataflash
4: Start U-boot
5: SDRAM test
6: Clear SPI flash
7: Upload u-boot to SDRAM (0x21F00000) and boot
8: Show dataflash content
9: Switch ask mode
Alıntı Yap
Nb pages:   8192
Page Size:   1056
Size= 8650752 bytes
Logical address: 0x00000000
Area 0: 00000000 to 0000317F (RO) Darrell loader
Area 1: 00003180 to 0001F73F (RO) U-boot
Area 2: 0001F740 to 0002183F      Environment
Area 3: 00021840 to 001ACFFF      Kernel
Area 4: 001AD000 to 0083FFFF (RO) Filesystem
In:    serial
Out:   serial
Err:   serial
RTL8201BL id1[0xffff] id2[0xffff]
PHY not connected!!
Hit any key to stop autoboot:  0
## Booting image at c0021840 ...
Bad Magic Number
PicprojeSBC> version

U-Boot 1.1.6 (Apr 13 2008 - 15:04:00)
PicprojeSBC>

edit:Artık kerneli flasha yazdığımızda u-boot otomatik olarak açılış yapabiliyor. Boot delay 2 sn olduğu için 2 sn içinde herhangi bir tuşa basmazsanız kernel açmaya çalışıyor.
Alıntı Yap
Area 1: 00003180 to 0001F73F (RO) U-boot
Area 2: 0001F740 to 0002183F      Environment
Area 3: 00021840 to 001ACFFF      Kernel
Area 4: 001AD000 to 0083FFFF (RO) Filesystem
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
RTL8201BL id1[0xffff] id2[0xffff]
PHY not connected!!
Hit any key to stop autoboot:  0
## Booting image at c0021840 ...
  Image Name:   Linux-2.6.24
  Image Type:   ARM Linux Kernel Image (uncompressed)
  Data Size:    1674440 Bytes =  1.6 MB
  Load Address: 20008000
  Entry Point:  20008000
  Verifying Checksum ... OK
OK

Starting kernel ...
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

Ziya

Alıntı Yap
In:    serial
Out:   serial
Err:   serial
RTL8201BL id1[0xffff] id2[0xffff]
PHY not connected!!
Hit any key to stop autoboot:  0
## Booting image at c0021840 ...
  Image Name:   Linux Kernel Image Ziya
  Image Type:   ARM Linux Kernel Image (gzip compressed)
  Data Size:    1388437 Bytes =  1.3 MB
  Load Address: 20008000
  Entry Point:  20008000
  Verifying Checksum ... OK
  Uncompressing Kernel Image ... OK

Starting kernel ...


Error: unrecognized/unsupported machine ID (r1 = 0x000000fb).

Available machine support:

ID (hex)        NAME
00000106        Atmel AT91RM9200-DK
000002c1        Atmel AT91RM9200-EK
00000264        KB920x
0000039b        Embest ATEB9200

Please check your kernel config and/or bootloader.
Config aşamasında 4 kart seçmiştim. Bizim kartın ID'si 0xfb imiş. Hangi fenerli yaptı bunu?
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ı YapConfig aşamasında 4 kart seçmiştim. Bizim kartın ID'si 0xfb imiş. Hangi fenerli yaptı bunu?

Kartımızn tüm configlerini düzgün ayarlamamız lazım. farklı kartların konfigleri düzgün çalışmayacaktır.
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

gallavi

Bende PHY çalıştı sanırım



bundan sonra help komutuyla komut listesini görebiliyorum

ancak hiçbir şekilde direk flashdan boot edemiyorum flasha yazıp kartı resetlediğimde sadece D1 ledi hızlı bi şekilde yanıp sönüyo flash arzalı veya kötü monte edilmiş olabilirmi

Alıntı Yap
Starting memory test.
Writing 64MB.
Reading 64MB.
Done.
wait for xmodem Receiving Xmodem transfer
Press a key
Received 0x00017900  bytes
Modified ARM vector 6
DataFlash:AT45DB642
Nb pages: 0x00002000
Page Size: 0x00000420
Size=0x00840000 bytes
Logical address: 0x00000000

writing to dataflash:
Dataflash write successful

failed
Invalid input

PICPROJE LOADER v.0.3 www.picproje.org
AT91RM9200 32bit SDRAM 2 X 256MBit MT48LC16M16A2
ask mode [NO]

1: Upload loader to Dataflash with vector 6 modification.
2: Upload u-boot to Dataflash.
3: Upload linux to Dataflash
4: Start U-boot
5: SDRAM test
6: Clear SPI flash
7: Upload u-boot to SDRAM (0x21F00000) and boot
8: Show dataflash content
9: Switch ask mode

DemirHan=gallavi;

Ziya

PHY not connected diyor. Ben de de aynı. Kablo taktım ama olmadı.

Bu arada neden realviev kullanmıyoruz? gcc arm derleyicisini de destekliyordu. At91 için Realview patchi var. Windows altında exe oluşturmak için de Dev-gcc var. Gerçi Makefile dosyaları bazen sembolik link oluşturuyor ama XP NTFS kullandığı için onlar sorun olmaz herhalde.

Benim vmware ubuntu'yu kaybetti. Gerçi indirilen paketlerin kaynak kodlarını yedeklemiştim ama derlemek sıkıntılı, uzun zaman alacak.
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"Bu arada neden realviev kullanmıyoruz? gcc arm derleyicisini de destekliyordu. At91 için Realview patchi var.

linux kernel içinde binlerce dosya ve yüzlerce Makefile var. Realview uyarlaması esnasında bunlarda çıkabilecek sorunları düşünebiliyormusunuz? Linux dağıtımı ve gcc, glibc vs farkında bile çıkan sorunları düşününce....

Ayrıca xconfig-menuconfig olmadan kernel ayarlarını düşünmek bile istemem.
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

Ziya

Alıntı yapılan: "mp3dragon"
Alıntı yapılan: "Ziya"Bu arada neden realviev kullanmıyoruz? gcc arm derleyicisini de destekliyordu. At91 için Realview patchi var.

linux kernel içinde binlerce dosya ve yüzlerce Makefile var. Realview uyarlaması esnasında bunlarda çıkabilecek sorunları düşünebiliyormusunuz? Linux dağıtımı ve gcc, glibc vs farkında bile çıkan sorunları düşününce....

Ayrıca xconfig-menuconfig olmadan kernel ayarlarını düşünmek bile istemem.
Dün bir link bulmuştum. Bizim mcu'nun linux kerneli için realview de derlenecek şekilde patch'i vardı. menuconfig'in normal windows altında çalışacak şekilde (ki linux te manuconfig için Linux'un gcc'si kullanılıyor, crosstool'unki değil) yamaları vardı. Şimdi bulamıyorum o linki. Akşam tekrar bulmaya çalışacağım (geçmiş kayıtlarından çıkar).

Bu arada (xconfig ile belirlenenleri save edip çıktıktan sonra), kernel derlemeye geçince sizde de ilave config ayarları soruyor mu? Yani USB-Seri dönüştürücü, USB flash bellek desteği, vs..
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

gzip ile sıkıştırdığım zaman kernelı u-boot açarken hatalı sıkıştırılmış tekrar sıkıştırın diye hata veriyor. sizde de yapıyor mu?
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

Ziya

Alıntı yapılan: "mp3dragon"gzip ile sıkıştırdığım zaman kernelı u-boot açarken hatalı sıkıştırılmış tekrar sıkıştırın diye hata veriyor. sizde de yapıyor mu?
Hayır. Siz zImage'i mi kullanıyorsunuz? Normalde (PC'deki linuxta) doğrudan zImage'i kullanırdım. vmlinux'u gzip ile sıkıştıracaksınız.
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
$ arm-linux-objcopy -O binary -R .note -R .comment -S vmlinux linux.bin

$ gzip -c -9 linux.bin > linux.bin.gz

$ mkimage  -A arm -O linux -T kernel -C gzip  -a 0x20008000 -e 0x20008000 -n "Linux Kernel Image" -d linux.bin.gz Picproje.img

yaptığım işlemler sırası ile bunlar ama nedense zip leme hatası verip tekrar resetliyor.
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

Ziya

Ben de bu şekilde yapıyorum. Açarken hata vermiyor.

Aslında objectcopy i çalıştırmaya da gerek var mı bilmiyorum. Çünkü modulleri build etmeden önce zaten yapılıyor.

Unutmadan:

modülleri de make-install ile oluşturmanız gerekiyor. Okuduğum bir sitede modülleri SD kartınıza yükleyin diyordu. Ben de SD karta yükleme yaptım (38 MB) ve boot ettim. Malum desteklenmeyen makina ID ' si dedi.
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,

Kernelda mümkün olduğunca şimdilik modul kullanmamaya çalışalım. Yani kernel ya desteklesin ya desteklemesin, modul olarak bırakmayalım.
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

leblebitozu

Selam,

buildroot'u deneyen oldu mu ? http://buildroot.uclibc.org

bu yazılım crosstool,uboot,kernel,busybox ve file system oluşturuyor bizim çip için de desteği var

make menuconfig ile konfigürasyon yapılıp sonra make ile tamamlıyor, ben pardus'taki denemelerimde tam anlamıyla başaramadım arada bir takım hatalar verdi ama başka bir linux versiyonu kullanan varsa denemesinde fayda var işleri oldukça kolaylaştırıyor.

son versiyonu burdan indirebilirsiniz

http://buildroot.uclibc.org/downloads/snapshots/buildroot-snapshot.tar.bz2

ya da terminal penceresinden

svn co svn://uclibc.org/trunk/buildroot

yazınca direk indiriyor.