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

Başlatan mp3dragon, 30 Aralık 2007, 22:39:42

mp3dragon

Alıntı Yap
dataflash_print_info (); 
//if(read_dataflash(0x8000, 0x1C000, (char *)0x21F80000)){ 
if(read_dataflash(0x8000, 0x1C000, (char *)0x21F00000)){ 
puts("Dataflash read successful: Starting U-boot\n"); 
// asm("ldr pc, =0x21F80000"); 
asm("ldr pc, =0x21F00000");



Burada iptal edilmiş satırlar ile açık olan satırlar arasındaki fark nedir arkadaşlar...

Bende bilmiyorum. Modifiye ettiğim programı buradan indirdim;

http://twarm.pelos.pl/

buda şeması;



sdram bağlantısı (2x32 MB 32 bit) ve flash bizimki ile aynı.
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

ugurtarlaci

@mp3dragon

o sorduğum alan flash okuma ile ilgili bir alan. Özellikle U_Boot çalıştırılırken. Senin verdiğin sitedeki board  2x32 ram diyor ancak flash farklı. Farklı derken 16mbit SPI DATAFLASH AT45DB161 SOIC8;1;U8  Bu birşey değiştirirmi dersin ?  Programı biraz inceleme fırsatım oldu, Flashı ve Rami otomatik algılıyor anladığım kadarıyla. Ancak okurken bu algıanmış olan flash a göre bir ayrım göremedim. Tek ilgimi çeken nokta bu oldu şimdilik.
Zoru Başarırım , İmkansız Biraz Zaman Alır....İmza... YENİ NESİL GENÇ TÜRK MÜHENDİSLERİ......

mp3dragon

@ugurtarlaci,

doğru diyorsun ama flashı doğru olarak görüyor loader (AT45DB642 olarak)
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

ugurtarlaci

@mp3dragon

Evet açılışta (Menu 4 e bastığımızda ) DataFlashInit() bölümünde SPI üzerinden Flash ın ID sini alıyor ve bunu yazıyor. "dataflash_print_info ();"

   else if(key == '4' || ((scans > 3000000) && autoboot) ){
     if(AT91F_DataflashInit ()){
   dataflash_print_info ();


Bu kısım tamam. Bu durumda SPI tamamdır. Ancak Boot u okumak için sana bahsettiğim alanda Read_Dataflash ı kullanıyor ve burada kapatılmış satırlar var. Acaba burada flasha göre manuel bir değermi girmeliyiz. "Buardan oku, buraya kadar" falan şeklinde.
Zoru Başarırım , İmkansız Biraz Zaman Alır....İmza... YENİ NESİL GENÇ TÜRK MÜHENDİSLERİ......

mp3dragon

@ugurtarlaci,
Evet, atmelin (flash ve arm9) datesheetini okumak lazım.

Benim aklıma takılan niye kartlar farklı çıktılar veriyor? Program aynı halbuki. Bunun sebebinin dizgiden başka birşey olması imkansız gibi. Çünkü program dahil herşey aynı. Bakalım diğer katılımcılarda dizip program atma aşamasına gelsinler ne olacak?
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

gallavi

sanırım ulink in devre şeması ve gerekli hex dosyasını buldum bu tarz bi programlayıcı işleri kolaylaştıracaksa bunuda ortaklaşa yaparak işleri kolaylaştırabilirmiyiz

donanım ve yazılım arasında kaldık gibi faydası olurmu


http://rapidshare.com/files/104863414/Ulink_Hardware.rar.html


gerçi AN2131QC nin yazılımı yok sanırım bunun içinde
DemirHan=gallavi;

Ersin

Alıntı Yapgerçi AN2131QC nin yazılımı yok sanırım bunun içinde

Gerekmiyorda,
AN2131QC  once piyasada arastir bu entegre bulunuyo mu , sonra yazilim kismini dusun. ;)

memed52

Bende sondurum,

Winxp32 Hyper terminal
115200 ile xmodem
J16 takılı J2(jtag jumper) gnd tarafına takılı.
loader.bin yüklendi.

Initializing SDRAM
PICPROJE SBC - www.picproje.org - 2008
32bit SDRAM 2xMicron MT48LC8M16A2

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
DataFlash:AT45DB642
Dataflash read successful: Starting U-boot


Resetlendikten sonra "C" gönderiyor 1sn debir.
115200 ile xmodem
J16 Çıkarıldı(açık)ı J2(jtag jumper) gnd tarafına takılı.

u-boot.bin yüklenmeye başlayınca,
packet 97
last error Got retry request
12k of 94

Konumunda bekliyor.

memed52

U17 TACT SWITCH SW1 resetlendiğinde 2. bacagi 1.8 volta çekiyor.
Ancak besleme toptan kesilip tekrar verilirse bir süre bekleyip doğru şekilde resetleniyor.

Bekleme süresi beslemenin soft startından uzun.
Chip yönü düzgün gözüküyor bu durumla karşılaşan varmı.

memed52

SPI bus ta U12 (TSC2046EIPWRG4) Flasha beraber bağlı. PA0 DOUT ta bozuk dalga formu görüyorum "0" çekildikten sonra "1" olurken pulse ücgene dönüyor sanki paralel kapasite varmış gibi +3.3 Pull up gerekli gibi görünüm var SPI diğer pinlerinde sorun yok.

U12 chip select te "1" konumunda secilmemiş gözüküyor bu duruda DOUT devre dışı kalıyorsa sorun yok.

Herkese iyi geceler.

mp3dragon

Alıntı yapılan: "memed52"Resetlendikten sonra "C" gönderiyor 1sn debir.
115200 ile xmodem
J16 Çıkarıldı(açık)ı J2(jtag jumper) gnd tarafına takılı.

loader.bin yükledikten sonra resetlemeden J26 çıkarıp 2. seçenek ile u-boot.bin atmalısınız.
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

ugurtarlaci

Arkadaşlar Dün Gece saat 22:00 ile 03:00 arasında online bir çalışma gerçekleştirildi. Çalışmaya online (MSN Konferans) ile katılan arkadaşlarımız:

-Mp3Dragon
-Goktug
-Katana
-Ise
-Analyzer
-Proje dışından IceGray
ve Ben

Projenin tıkandığı noktaya ilişkin çözüm üretilmeye çalışıldı. Dün geceden yansıyan notlar aşağıdadır;

 a ) Yüksek frekansda çalıştığımızdan dolayı en ufak bir pasta kalıntısı olmamalıdır. Tiner, Alkol vb temizleme maddeleri ile kartınızı tamamen temizleyin.

b) Reset butonu 1-2 sn basılı tutulduğunda yanıt vermektedir. Lütfen bunu dikkate alın. Diğer reset entegrelerinde olduğu gibi hızlı yanıt alamayabilirsiniz.

c) 1V8 besleme kısmında ADJ amaçlı kullanılan R106 ve R107 değiştirilmelidir. Şu anki durumda 1V8 değerinin stabil olmadığını düşünmekteyiz. Bu sebeple ürünün (LD1117) datasheet in de olduğu gibi R107 değeri 2K2 den 120R ye , R106 değeri 5K1 den 280 R ye çekilmelidir. Bu durumda göreceğiniz değer 1V78 olacaktır. Bu değişimdeki düşünce, kullanılan direnç değerlerinin yüksek olması sebebiyle sağladığı düşük akımla doğru regulasyonu yakalayamadığıdır.

d) SDRAM testlerinde karşılaştığımız Checksum hatalarının temel sebebi olarak , uygulanan BUS hızının yüksek oluşu tesbit edilmiştir.  Bu sebeple denemelerde yarı hız kullanılmış ve testlerden olumlu sonuç alınmıştır. Ancak bu sorunun tam olarak nasıl düzeltileceği ve sebebi konusunda henüz bir karar alınmamıştır.

e) Flash Belleğimiz şu anki tesbitlerimize göre doğru çalışmaktadır.

f) Yazılımda gelinen son nokta ise BootLoader in düşük hıza entegre edilmesi ile U_Boot un atılması sağlanacaktır.

Bu tip online çalışmalar zannediyorum projenin hızlı ilerlemesini sağlayacaktır. Bu sebeple her gün saat 21:00 itibari ile bu oturum açılmalı , katılabilen arkadaşlarımız o gün projeyi ilerletmeli ve sonuçlarını aynı gece Foruma aktarmalıdır. Zannediyorum bu şekilde bir çalışma ile sistemimiz çok daha hızlı ayağa kalkmış olacaktır.

Herkese İyi çalışmalar
Zoru Başarırım , İmkansız Biraz Zaman Alır....İmza... YENİ NESİL GENÇ TÜRK MÜHENDİSLERİ......

memed52

Zaten bu şekilde yaptım, daha sonra tüm olasılıkları denedim.

"f) Yazılımda gelinen son nokta ise BootLoader in düşük hıza entegre edilmesi ile U_Boot un atılması sağlanacaktır"

Gercekten çözüm olabilir.

memed52

"U17 TACT SWITCH SW1 resetlendiğinde 2. bacagi 1.8 volta çekiyor.
Ancak besleme toptan kesilip tekrar verilirse bir süre bekleyip doğru şekilde resetleniyor" , bu durumun

sebebi anlaşıldı schematic de usb device interface kısmında bulunun PA5(Arm sürüyor)  üzerinden D3 JTAGRST 3v olarak

sürülüyor Micrel resetlendiginde sıfıra çekemiyor.

LD1117çıkışını 10 ohm ile yükledim 1.8v düşmedi (~devreyle birlikte 200 ma) R106/R107 5.1k/2.2k ile.

Göktuğ

Alıntı yapılan: "ugurtarlaci"
 a ) Yüksek frekansda çalıştığımızdan dolayı en ufak bir pasta kalıntısı olmamalıdır. Tiner, Alkol vb temizleme maddeleri ile kartınızı tamamen temizleyin.
c) 1V8 besleme kısmında ADJ amaçlı kullanılan R106 ve R107 değiştirilmelidir. Şu anki durumda 1V8 değerinin stabil olmadığını düşünmekteyiz. Bu sebeple ürünün (LD1117) datasheet in de olduğu gibi R107 değeri 2K2 den 120R ye , R106 değeri 5K1 den 280 R ye çekilmelidir. Bu durumda göreceğiniz değer 1V78 olacaktır. Bu değişimdeki düşünce, kullanılan direnç değerlerinin yüksek olması sebebiyle sağladığı düşük akımla doğru regulasyonu yakalayamadığıdır.

Bu 2 madde içerigini mutlaka uygulayın.