ARM7 mimarisi, özellikleri ve ARM/Thumb programlama

Başlatan Petek, 13 Ocak 2006, 13:23:06

Petek

Proteus ISIS 6.81 de bir başka ARM7 örneği daha var. uCLinux.
Bunda kullanılan işlemci ARM7TDMI imiş. Bir de PERIPHERAL LOGIC çipi varmış.

Açıklama alanında şunu yazıyor:
This design demonstrates an ARM7TDMI core plus peripheral logic running a copy of uCLinux. If this does
not impress you, then nothing will!!!

The peripheral logic is contained in the large sub-circuit in the middle of schematic and can be viewed by
navigating through the design with the Goto Sheet command on the Design menu.

The Peripheral Logic comprises:

   Decode and de-pipeling circuitry for the ARM bus.    
   Two 4MBx32 ROMs containing the boot loader and ROM filing system.
   Four 4MBx8 RAMs to provide 32MB working RAM.
   A counter timer module used to provide an regular interrupt source for scheduling etc.
   A prioritized interrupt controller.
   A UART module containing an 82C50A.
 
On pressing play, a complex sequence of events occurs as uCLinux boots:

1) The boot loader contain in ROM extracts the uClinux image (also contained in ROM) into RAM.

2) The memory map is then modified so that the RAM conrtaining the uClinux image is re-mapped to the
     bottom of memory where it will actually execute. This mechanism is required because the ARM
     boots at address zero (so there must be ROM there at startup) but later on we want to write
     the interrupt vectors so we must switch RAM to appear at the bottom of memory.
   
3) Execution is then transferred to the uCLinux image located in RAM.

Note that the simulation of the bank switching in the bottom of memory is performed at the hardware level,
with instruction fetches from the boot ROM being simulated down to bus level. Once execution is
transferred  to RAM, then simulation processes at a faster pace because the RAM betweeen
0xC0000000-0xC0FFFFFF is simulated internally to the ARM model.

Once uClinux has finished booting, you can experiment with usual linux command such as "ls" to list the directory.

You will find some interesting things pre-loaded into the ROM filing system. Typing "dungeon" is particularly
good fun!
-----------------------------------
Bu işlemcinin ISIS te tanımlı özellikleri.
{PRIMITIVE=DIGITAL,ARM7TDMI}
{MODDLL=ARM7TDMI}
{MODE_SUPPRESS_BUS=1}
{MODE_WARN_EXTROM_WRITE=0}
{CLOCK=1M}
{MODE_UNPREDICTABLE=1}
{MODE_SPEC_STACK=0}
{PROGRAM=bin\linux.img.hex,bin\romfs.hex}
{EXTROM=0x10000000-0x10FFFFFF}
{EXTRAM=0xC0000000-0xC0FFFFFF}
{PROGOFFSET=0x10000000,0x10080000}


Linux Hoca Nasrettinin kuşu gibi olmuş, çalışıyor
“Önyargıları yıkmak atomu parçalamaktan zordur” A.Einstein

mcan

valla linuxu gömmüşler arm7tdmi sadece bir işlemci olması gerekiyor yanılıyor olabilirim yani romu falan yok benim bildiğim

engin_

Ben bunu nasıl görmemişim. Çok güzel, bende bir sorun olabilir belki klavyeden bir tuşa bastığımda iki defa basıyormuşum gibi gözüküyor ama normal çalışıyor.

Sistemi boot ediyor ve basit komutları kullanabiliyorsun. Mesela "ls" ile bulunduğunuz dizindeki klasörleri görebilirsiniz. Ben biraz daha kurcalayayım. Her komut çalışmıyor. Çalışan bir editör olsada /etc kalsöründeki ayar dosyalarına bir baksak.

engin_

Alıntı yapılan: "encryptedcode"valla linuxu gömmüşler arm7tdmi sadece bir işlemci olması gerekiyor yanılıyor olabilirim yani romu falan yok benim bildiğim

Rom'dan Ram' a yüklüyor sanırım.

Alıntı yapılan: "engin_"Ben bunu nasıl görmemişim. Çok güzel, bende bir sorun olabilir belki klavyeden bir tuşa bastığımda iki defa basıyormuşum gibi gözüküyor ama normal çalışıyor.

Tabi işletim sistemi de ekrana o tuşun basıldığını gösteriyor ondan.

Peripharel dediği, bellek birimleri. Bu düzen de herşey tamam mı şimdi.

CaFFeiNe

ADuC70XX için Serial Downloader
http://www.hemenpaylas.com/download/94186/armwsd.zip.html

Analog Devices'ın bu ARM7' lerinde işlemci içerisinde bootloader varmış :)
QFP çevirici bir pcb çizer çizmez upload edeceğim
hazır elimde ARM7 varken yavaş yavaş girişelim :)

Petek

Alıntı yapılan: "CaFFeiNe"ADuC70XX için Serial Downloader
http://www.hemenpaylas.com/download/94186/armwsd.zip.html

Analog Devices'ın bu ARM7' lerinde işlemci içerisinde bootloader varmış :)
QFP çevirici bir pcb çizer çizmez upload edeceğim
hazır elimde ARM7 varken yavaş yavaş girişelim :)
Hocam 2 adette bende var. Şu çevirici ne durumda? Kartını kendiniz mi çıkartacaksınız? İki pin arasından bir saç kılı ancak geçebilecek bu çipi nasıl lehimleyeceğiz :)  

Bu arada PDF dökümandan özet hazırlayacaktım ama iş  neredeyse bire bir çeviri şeklinde gidiyor. Henüz 6 sayfa çevirebildim. Çeviri grubu da üyelik kabul etmiyor. Bari size sorayım isteedim. Şu kelimelerin karşılığı ne olabilir: little-endian, big-endian.

anlam olarak
---------------
little-endian : MSB 32. bitte (LSB 1. bitte)
big-endian   : MSB 1. bitte (LSB 32. bitte)
“Önyargıları yıkmak atomu parçalamaktan zordur” A.Einstein

mcan

byte 0,byte 1,byte2  gibi baytların hafızada sıralanış şekli,
little endian
byte0  adress 0
                  byte1  adress 1
                  byte2  adress 2


big endian
byte2  adress 0
                  byte1  adress 1
                  byte0  adress 2
 oluyor,bildiğimden değil aradım buldum sende varsa petek hocam araştırılacak şey banada gönderebilirsin ,yani elimden geldiğince yardımcı olurum,bende bu arada programı nerede yazacağız diye ufak bir arastırma yaptım visual studio ve eclipse de de arm için program yazılabiliniyor,birde arm7tdmi sistem buldum,denersem onda deneyeceğim yanlız plaket falan yaptırırsanız benide katarsanız sevinirim bende yaptırmak istiyorum ayrıca işlemcide almama gerekiyor

Veli B.

MSB     10001000000111100000011100001111      LSB   > Little Endian


LSB     10001000000111100000011100001111      MSB   > Big  Endian


philips için little endian fix.

Little bizim bildiğimiz klasik değerlik sıralaması iken, işlem kolaylığı açısından ARM tabanında tersine bir imkan da sunuluyor.MSB yi sol başta görebiliyoruz.

Petek

Hocam soruyu tam soramadım herhalde. Bunların Türkçe karşılıklarını sormuştum.

visual studio ve eclipse şu an karmaşık gelebilir. Gnuarm ve Keil (IAR'a hala bakamadım) işimizi görür tahmin ediyorum. Ama bahsettiklerinizin liblerine de bir gözatmak lazım.

Kart çıkartmayı şu an için düşünmüyorum. Ama bir adaptör fena olmaz  ;) Hayırsever birilerini bekliyorum.
“Önyargıları yıkmak atomu parçalamaktan zordur” A.Einstein

Veli B.

Alıntı Yap
The terms big-endian and little-endian are derived from the Lilliputians of Gulliver's Travels, whose major political issue was whether soft-boiled eggs should be opened on the big side or the little side. Likewise, the big-/little-endian computer debate has much more to do with political issues than technological merits.

Alıntı Yap
In the novel Gulliver washes up on Lilliput and is captured by the inhabitants while asleep. He discovers that Lilliput and Blefuscu are permanently at war because of differences over the correct way to eat a boiled egg – from the rounded end according to the Blefuscuans, or from the sharp end according to the Lilliputians. The supporters of the differing views were called Big-endians and Little-endians. (These are sometimes incorrectly reversed in various sources; a helpful mnemonic is (L)illiput for little and (B)lefuscu for big.) This dispute was a mirror for the argument between consubstantiation and transubstantiation in the Church of England and the Roman Catholic Church. The causes of the war have also given us the computing

Yorum size kalmış:D

mcan

Alıntı yapılan: "Petek"Hocam soruyu tam soramadım herhalde. Bunların Türkçe karşılıklarını sormuştum.
insan beyni gibi düşünürsek biri soldan sağa doğru yazmak diğeri sağdan sola doğru(arapça /türkçe gibi) ama tam olarak terim karşılıkları nedir bulamadım,buna bir isim biz  koyabiliriz,
küçükle sonlanan,büyükle sonlanan, endiann sonlanan demek herhalde

Petek

@katana, hocam yazdıklarınızdan uygun bir kelime türetmeye çalışacağım.
Alıntı yapılan: "encryptedcode"...küçükle sonlanan,büyükle sonlanan, endiann sonlanan demek herhalde
Benim de ilk aklıma gelen bu idi. Başka bir şey uydurulabilir mi diye düşündüm? Hani türetilmiş kelime değil de kullanılan kelimelerimize benzetme yapabilirmiyiz diye düşünüyorum. atıyorum azalan, artan , büyükten küçüğe, küçükten büyüğe gibi.

Bu başlığın içeriği daha sonra tekrar düzeltilebilir. O nedenle şu an kimler ARM7 ile uğraşıyor ve ne yapıyor buradan bilgi verebilir mi? Şu döküman çevirisi işi için ne düşünüyorsunuz? Katkı sağlamak isteyen olur mu?
“Önyargıları yıkmak atomu parçalamaktan zordur” A.Einstein

mcan

ben bir kısmının çevirisi için uğraşabilirim,sizin uğraşmadığınız bir kısmı bana bildirim örneği sayfa 80-110 arası  gibi ben orayı çevirmeye çalışayım,çeviriyi beğenmezseniz başka biri sonra çevirir

Veli B.

Ben işlerimin yoğunluğundan dolayı fazla vakit bulamıyorum bu aralar.Vakit buldukça ise okumaya devam ediyorum.Fırsat buldukça çeviri yapmak isterim ama ne kadar düzenli, çıktı verebilirim, ben de bilmiyorum.

CaFFeiNe

@petek
çevirici için bunun gibi birşey çizdim ama

bunu yapmaktan vazgeçtim onun yerine ADuC7026 nın datasheetinde rs232 bağlantılı bir devre var beslemeli filan onlarıda ekleyip ufak bir prototip kartı gibi bişiy yapmaya çalışacağım bitirince çizimlerini koyarım hatta fazladan basabilirsem (lazer+pvc makinası ile yapıyorum) gönderebilirimde ama bu aralar işler oldukça yoğun ne zaman bitirebilirim bilmiyorum
birde lehimleme konusunu kafana takma bence en kolay kısım o :)