Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => ARM7 Mikrodenetleyici => Konuyu başlatan: Petek - 13 Ocak 2006, 13:23:06

Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 13 Ocak 2006, 13:23:06
Arkadaşlar bu başlık altında sıfırdan başlayarak bu işlemcilere giriş yapalım ne dersiniz?

Elimde Philips LPC işlemcilerine göre hazırlanmış giriş niteliğinde bir pdf e-kitap var. Fakat copy/paste ve print özelliği kapatılmış. Bunun ilk 50 sayfasını ekrandan okudum. Güzel hazırlanmış.  Bu kitaptan faydalanarak şu işlemciler için basit birkaç program yazabilecek düzeye gelelim.

http://www.hemenpaylas.com/download/78401/lpc-ARM-book_srn.pdf.html

copy/paste ve print kısıtlamasını kaldırmak için bu linkteki programı yükleyin. (http://picproje.org/main/modules.php?name=Forums&file=viewtopic&p=48500#48500)

Philips işlemciler (LPC21XX) üzerine tartışalım istiyorum. Sebebi, Proteus ISIS 6.8 ve 6.9 versiyonlarda bu işlemcilerin simulasyon modelleri var. Yani işlemci almadan, oturup devre kurmakla uğraşmadan ARM korunu öğrenebileceğiz ve en azından Philips işlemcilerini tanıyacağız.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: mcan - 13 Ocak 2006, 14:49:52
bence çok iyi olur,bende uğraşmak itiyorum bi planlama yapalım mı?çünki nereden başlayacağımı bilmiyorum derleici olarak ne kullanalım bana C derleyicisi gerekiyor zaten onuda tam olarak biliyorum
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 13 Ocak 2006, 15:29:06
Hemen derleyici olayına girmeden şu pdf dosyasını bi okuyum anlayalım derim. Bu dosyada mimariyi tanıtıyor ve programlama için nelere dikkat edilmesi gerektiğinden bahsediyor. Nasıl başlangıç dosyası oluşturulur, bunda nelere dikkat edilir (nterrupt vektörleri, stack pointerlar -her bir mod için-, her bir modun status registerleri vs.), 32 bit ve 16 bit karışık nasıl programlama yapılır, Ram den program koşma, hızlı memory erişimi (muhteşem bir mantık bayıldım)... hangi derleyici daha iyidir, standart benchmark testlerine göre derleyici seçimi, ... Acele etmeyelim, yavaş yavaş ilerlemekte fayda var. Üstelik şu an Proteus ISIS te ARM7 için iki demo koymuşlar (birisi satranç, diğeri ucLinux). ISIS ı kıramazlarsa mecburen satranç için seçilmiş LPC2124 üzerinde (aynı satranç devresinde) kendi yazacağımız programı koşabileceğiz.

Keil'in kendi simulatörü var ama kullanabilmek için hani IMKB de broker falan olmak gerekiyor sanki.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: mcan - 13 Ocak 2006, 15:57:54
petek hocam  bende  6.7sp3   yüklü fakat arm7 yada lpc2124 yok,sende ne yüklü bende onu yükleyeyim karışıklık olmasın...

ben şu pdf yi okumaya bir başlayayım ozaman
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 13 Ocak 2006, 16:04:51
Alıntı yapılan: "encryptedcode"petek hocam  bende  6.7sp3   yüklü fakat arm7 yada lpc2124 yok,sende ne yüklü bende onu yükleyeyim karışıklık olmasın...

ben şu pdf yi okumaya bir başlayayım ozaman
Bende de 6.73 var. bir de ayrıca 6.81 kurdum. 6.9 u bulursan onu yükle. Şimdilik diğer programlarında karışıklık olmasın diye bir ayar yapman lazım.

673 te system->set path e gir. lib, models, ... için + butonu ile 673 ünkileri ekle. (yada 681 hangisininki yoksa). 673 ünkiler üstte olsun (seç ve sağdaki yukarı oka bas). Böylece 673ü normal kullanmaya devam edeceksin. 6.9 u ise ARM simulasyonu için kullanacaksın.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: aYe - 13 Ocak 2006, 19:44:16
Merhaba,
Alıntı yapılan: "encryptedcode"bence çok iyi olur,bende uğraşmak itiyorum bi planlama yapalım mı?çünki nereden başlayacağımı bilmiyorum derleici olarak ne kullanalım bana C derleyicisi gerekiyor zaten onuda tam olarak biliyorum
Derleyici olarak IAR düşünürsen https://www.picproje.org/index.php/topic,7739&postdays=0&postorder=asc&start=15 sayfada IAR kirmayla ilgili bir yazim ve gereken dosya var. Gerci orası renesasla ilgiliydi ama ARM derleyicisini de ayni şekilde kirabiliyorsun. İyi çalışmalar...
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: OG - 13 Ocak 2006, 20:00:32
Alıntı Yaphttp://www.hemenpaylas.com/download/78401/lpc-ARM-book_srn.pdf.html
link problemli.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 13 Ocak 2006, 20:47:31
OG Hocam,  link çalışıyor. Bir problem görünmüyor.

Compiler benchmark sonuçları (IAR a göre) (http://www.iar.se/index.php?show=43943_ENG&&page_anchor=http://www.iar.se/p43943/p43943_eng.php)
Özet olarak: Average result
The following table shows the average, normalized results:
       EWARM 4.30A  ADS 1.2   GNU ARM 4.0   CAARM 2.40A
ARM        100%        110%       158%          174%
Thumb      100%        117%       162%          150%


Bu sonuçlar genel. Bunlara bakarak değil, özel amaçlarınıza en uygun test sonucunu hangisi vermiş ise onu tercih etmenizde fayda var. Ama optimum faydayı hangisi sağlar diyorsanız o zaman bu sonuçlara ve fiyatlara bakacaksınız. Ticari bir işletme isem ve çok kritik bir uygulama için yazılım geliştirMEyeceksem benim için en uygunu GNU ARM olurdu (çünkü ücretsiz). Ama şu an için hepsi bize  bedava olduğundan  :P bu sonuçlara göre IAR en uygunu (hele çok platform deteği dikkate alındığında tartışmasız)....

Öğrenme aşamasında elimizde olan dökümandaki bilgiler ve örnekler  Philips işlemci ile Keil Arm ve GnuARM (ISIS GnuChess örneği gnuarm ile derlenmiş) a göre hazırlanmış.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: mcan - 13 Ocak 2006, 21:33:44
ben gnu arm ile  de çalışmayı tercih edicem , hatta gerekli şeyleri indirmeye başladım ayrıca elimde hazırlayabilirsem arm7 platformu oluşacak, Iar için forum doldurmakmı gerekiyor illa petek hocam sende varsa vede sorun olmazsa senin için upload edermisin rapidshare ye...

düşüncem muhteşem bi girişim olacak

hocam keil nedir onunda derleyicisi varmış ne düşünüyorsunuz
birde uvision3 diye birşey var,arm7 (http://www.keil.com/arm/)
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: aYe - 13 Ocak 2006, 21:58:14
IAR'ın derleyicisi 50-60mb kadardır, petek'i upload için bu kadar yormaktansa download için formu doldurup üç beş sallama bilgi yazarak indirmelisin. Zaten ilk yükleme için bir takim serial ve key'ler sana maillenicek o yüzden forma dogru mail'ini yazman lazim. Benim iar konusundaki ısrarım ise adamların bu işteki tecrübesinin çok fazla olması, her asembler derleyici aynı kodu üretir ama bu C derleyiciler için geçerli değil. Aslında C derleyiciler zengin bir macro kütüphanesidir ve senin yazdiğin kod ile macrolari kullanarak önce asembler sonra da hex kod üretirler. Bu durumda her C derleyici üreticisi için kendi macrolarını yazıyor diyebiliriz ve bu macrolarda bir çok hatalar olabilir. IAR'ın bunca yılık geçmişini ve profesyonel kullanıcı sayısını düşününce olası hataların bir çoğunun düzeltildiğini tahmin edersiniz. ör: CCS denen bir C derleyiciyi denemek için pc'me yüklemem ve silmem arasında geçen süre 30dk'dir. Detaylarına girmeyecegim çok komik bir kod hatası vermişti. Oyun oynuycaksanız sorun yok kullanın ama ürettiginiz 10000 civarında cihazı piyasadan toplamanız gerektiginde banker kastelli moduna girmek istemiyosanız bu detaylara ciddi önem vermelisiniz. Iar keil gibi firmaların derleyicisinde kodu yazdınız ve bişeyler ters gidiyor, hata %99.9 sizdedir. CCS yada herhangi son bir kaç yıl içinde türemiş derleyiciler içinse hata herşeyde olabilir. Ve eğer hata derleyicide ise ve tecrübeniz çok fazla değilse o hatayı bulmanız imkansız bile olabilir. ör: Cypress PSoC'lar için imagecraft dışında bir derleyici alternatifi yok, derleyicinin yaptığı cok ciddi bir hatayı bulana kadar 1 aya yakın uğraştım ve bu çok ciddi bir süre. Bu konularda tecrübesi olmayan biri olsaydım; inatla 1 ay kurcalamayacak ve yapamıyorum diyip kaldirip aticaktim belkide. C derleyici seçimi yaparken basitliğine değil güvenilirlik ve ansi uyumluluğunu ön planda tutmanızı tavsiye ederim. İyi çalışmalar...
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: mcan - 13 Ocak 2006, 22:20:12
tamam 50-60 civarı olduğunu bilmiyordum,kendim indireceğim,

ben zaten c derleyicisinnden şu an için iyimi kötümü diye anlamam yanlızca araştırma yaparak bir şeyler şöyleyebilirim zaten pdf yi okuyorum şu an...

araştırma yaparken gözüme takılan bir yazı
Thumb
A traditional drawback of RISCs is their relatively poor code density (as compared to CISCs), due to their fixed-length instruction sets. This increases the size of a program's working-set, and leads to poorer cache utilization, more memory traffic, and higher power consumption. Such problems become particularly important in embedded applications. While an efficient solution to the power consumption problem would be multi-pronged (efficient use of parallelism, innovative electronics, etc.), ARM incorporated the "Thumb" architecture into certain processors to improve code density.

Thumb is a 16-bit compressed version of the normal 32-bit ARM instruction set. It includes a subset of the most commonly used 32-bit ARM instructions. While Thumb instructions have 16-bit wide opcodes, they operate on the same 32-bit register set as ARM code, and have most other benefits of the 32-bit core (32-bit address space, 32-bit barrel shifter, 32-bit ALU, etc.) Thumb-enabled processors) have decompression hardware in the instruction pipeline. The decompressor translates Thumb instructions into equivalent ARM instructions. Thumb code density approaches, and even exceeds, that of many CISC processors. It is much better than ARM in certain contexts, for example (the numbers are approximate):

Thumb code takes 35% lesser space than ARM code
Thumb code uses 40% more instructions than ARM code
Thumb code is 40% slower than ARM code, if using 32-bit memory
Thumb code is up to 60% faster than ARM code, if using 16-bit memory
Thumb code results in 30% less external memory power consumption than ARM code

Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 13 Ocak 2006, 23:42:40
@tatlisukurnazi,

Hocam elinize sağlık güzel yazmışsınız. 30 günlük deneme sürümü 82 MBmış. İşyerimden indireceğim.

Derleyicilerin arkasındaki firmalar önemli. Onu güzel belirtmişsiniz. Aynı virüs temizleme programlarının performansı gibi, bir yıl biri önde gider sonraki yıl diğeri. Destek hizmeti ne kadar güçlü ise o ürün öne geçer. Keil ve IAR bu bakımdan iyi. Gnu Arm arkasında ticari bir firma yok sanırım. Ama Benchmark testlerindeki performansı da yabana atılır gibi  değil. Muhtemelen arkasında üniversiteler falan vardır diye tahmin ediyorum.

CCS yi geliştiren firmaya Cem Yılmaz'ı ziyeret için göndermek lazım. Belki bir daha kafalarından element uydurmazlar. Tamam kabul etmek lazım ki pek çok konuda kullanıcının hata yapmasını önleyecek tedbirler almışlar, işlemcilerin çok özel özelliklerini ihmal etmemişler (675 in osccal  ataması gibi, 628in cmcon=7 otomatik yapılması gibi, 877 port A başlangıçta dijital IO olarak ayarlanması gibi...). Yani CCS biraz dikkatsiz kullanıcılar için düşünülmüş gibi. Böyle olunca C de yozlaşma başlamış. Sıkıştığında ise derleyicim bunu yapamıyor demiş (struct yapısında 4, 7, 5 bitlik değişken tanımlayamıyorsun-ver3.22-, 2 klık pagei kesen tek parça  programı almıyor ve #separate tanımla diyor-alt program bir defa çağırılmış ise inline koda dönüştürüyor ya, onu separate yap diyor,...)....

Bilsem aslında baştan CC5X veya Hitec ile başlardım Pic C işine. Neyse CCS de pek çok açıdan işimizi gördü ama geliştirmedi bizi....
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 00:03:29
@encryptedcode

hocam, Arm ve Thumb programlama arasında istediğin yerde dönüşüm yapabiliyorsun. Sanıyorum derleyiciler bunu kendileri en optimum olacak şekilde derliyorlar.

O test sonuçları ya sade Arm yada sade Thumb kodlama için olsa gerek. Neyse bu aşamada bunları düşünmek ne kadar faydalı bilemiyorum.

PDF dökümanda dikkat ettiysen komutların başında 4 bit şartlı işleme kısmı var (Sayfa 19 de). Bu goto yada skip komutlarının kullanılmasını önlemek için ve bu sayede de 3 seviye pipeline (sayfa 10 da) işleminin bozulmması için eklenmiş. Şart sağlanmıyorsa komut NOP olarak işleniyor. 1 bit lik alanda condition code (status) icra edilen işlemden etkilensin mi etkilenmesin mi diye seçebiliyorsun. Sonra bir de barrel shifter var. tek bir instruction cycle da 32 bit kaydırma yapabiliyor. Şimdi 1 instruction cyleda bakın ne yapabiliyor:
if(Z ==1)R1 = R2+(R3x4)
Can be compiled to:
EQADDS R1,R2,R3,LSL #2

Aynısının CISC mimarili işlemciler ne kadarda yapardı acaba. Tabi madalyonun öbür yüzünde bir interruptı disable etme işi de 3 instruction cycle alıyor  8O

Okumaya devam... gördüğünüz ve paylaşmak istediğiniz ilginç yerleri buraya aktaralım. En azından çeviri yapmış oluyoruz...
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: aYe - 14 Ocak 2006, 00:08:33
@petek

Teşekkür ederim petek hocam. Bir de test sonuçları arm thumb şeklinde ayrılmış. Nedir bu arm thumb ayrimi? İyi çalışmalar...
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: aYe - 14 Ocak 2006, 00:11:58
Ben sorumu sormadan cevabı gelmiş :) Bu ne hız :)
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 00:21:37
Alıntı yapılan: "tatlisukurnazi"@petek

Teşekkür ederim petek hocam. Bir de test sonuçları arm thumb şeklinde ayrılmış. Nedir bu arm thumb ayrimi? İyi çalışmalar...
Valla kim kime teşekkür etmeli ben de şaşıyorum. Bişey değil diyeyim...

Arm kodlama 32 bit Thumb kodlama 16 bit.#pragma ARM // Switch to ARM instructions
int main(void)
{
while(1)
{
THUMB_function(); //Call THUMB function
}
}
#pragma THUMB //Switch to THUMB instructions
void THUMB_function(void)
{
unsigned long i,delay;
for (i = 0x00010000;i < 0x01000000 ;i = i<<1) //LED FLASHer
{
for (delay = 0;delay<0x000100000;delay++) //simple delay loop
{
;
}
IOSET1 = i; //Set the next led
}
}


32 bit derleme yapmasını istediğiniz yerin başına #pragma ARM ekliyorsunuz. 16 bit derleme yapmasını istediğiniz yere de #pragma THUMB.

Normalde işlemci ARM derleme yapıyor, interrupta geçtiğinde ARM komutları bekliyor. Orada isterseniz 32 bitlik derlenmiş komutlar icra ediliyor isterseniz tekrar Thumb için dönüşüm yapılarak 16 bit komutlar. Kullanıcının isteğine kalmış. Aslında istekten ziyade benchmark sonuçlarına göre hareket etmek lazım. Aritmetik işlem yapılacaksa veya string işlemleri ... onlara uygun şekli seçmek gerek.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 00:29:59
Keil'in bir led yakıp söndürme örneği var. exammples altında blinky.. Onu incelerken for (i = 0x00010000;i < 0x01000000 ;i = i<<1) //LED FLASHer satırı ile karşılaştım. Allahallah bu adamlar neden böyle bir şey yapmışlarki dedim. Zaten 2. döngüde şart sağlanır. Bunu başka şekillerde de halledebilirlerdi diye düşündüm. Sonradan farkına vardım 0x01000000 ile 0x00010000 arasında 8 bit var ve döngü 8 defa dönüyor  :oops: Alışmışım binary işlemlere, böyle 32 bitlik sayıyı görünce başlangıçta algılayamadım.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: aYe - 14 Ocak 2006, 00:33:17
Alıntı yapılan: "Petek"32 bit derleme yapmasını istediğiniz yerin başına #pragma ARM ekliyorsunuz. 16 bit derleme yapmasını istediğiniz yere de #pragma THUMB.

Mesajından anladığım kadarıyla sadece kodun tamamı için tek seçim değil de, aynı kodun içinde önbildirmelerle şu kısımı 16bit  bu kısımı 32bit şeklinde seçebiliyoruz biliyoruz. Güzel bir özellik katmışlar. Detaylar için teşekkür ederim. Ellerine sağlık...
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: aYe - 14 Ocak 2006, 00:43:39
Alıntı yapılan: "Petek"Keil'in bir led yakıp söndürme örneği var. exammples altında blinky.. Onu incelerken for (i = 0x00010000;i < 0x01000000 ;i = i<<1) //LED FLASHer satırı ile karşılaştım. Allahallah bu adamlar neden böyle bir şey yapmışlarki dedim. Zaten 2. döngüde şart sağlanır. Bunu başka şekillerde de halledebilirlerdi diye düşündüm. Sonradan farkına vardım 0x01000000 ile 0x00010000 arasında 8 bit var ve döngü 8 defa dönüyor  :oops: Alışmışım binary işlemlere, böyle 32 bitlik sayıyı görünce başlangıçta algılayamadım.

Keil mi vermiş bu örnegi? Bu kadar çirkin bir kod yazımı daha olamaz. Binary süsü verilmiş 32bit HEX ile 8 turluk döngü. Kaş yapiyim derken göz çıkartmışlar. :)
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 00:48:16
Alıntı yapılan: "tatlisukurnazi"
Alıntı yapılan: "Petek"32 bit derleme yapmasını istediğiniz yerin başına #pragma ARM ekliyorsunuz. 16 bit derleme yapmasını istediğiniz yere de #pragma THUMB.
Mesajından anladığım kadarıyla sadece kodun tamamı için tek seçim değil de, aynı kodun içinde önbildirmelerle şu kısımı 16bit  bu kısımı 32bit şeklinde seçebiliyoruz biliyoruz. Güzel bir özellik katmışlar. Detaylar için teşekkür ederim. Ellerine sağlık...
Thumb komutları da aslında tam işleneceği sırada ARM komutlarına (işlemci tarafından) dönüştürülerek işleniyormuş. Dönüştürücüye Thumb decompressor deniyor (PDF sayfa 24 te.) O nedenle istenilen yerlerde bu dönüşümü yapabiliyorsunuz.

Başlığın ilk mesajında verdiğim PDF dosyasındaki benchmark testlerinde genel olarak Keil ilk sırada imiş. IAR'ın sayfasındaki testlerde 8farklı versiyonlarda) IAR öne geçmiş. IAR son versiyonlarda optimizasyona ağırlık vermiş, hatta matematik işlemlerini yapan rutin yeniden yazılmış... Demek istediğim ARM/Thumb dönüşümü yerinde düzgün yapılırsa maximum performans elde edilecektir.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: aYe - 14 Ocak 2006, 01:22:35
@petek

Sana faydasi olur belki diye biraz kurcaladim ve lcp2138 le yapilmis bir kod örnegi buldum. LM60 sıcaklık sensörü ile sicakliği okuyup USB'den pc ye göndermişler. Zipli dosyada Basic de yazılmış pc programı ve açık kodu+Keil de yazilmiş C kodu+ şemalar mevcut.
http://www.hemenpaylas.com/download/80323/LCP2138_APP.zip.html (http://www.hemenpaylas.com/download/80323/LCP2138_APP.zip.html)

İyi çalışmalar...
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: mcan - 14 Ocak 2006, 01:45:43

Thumb is a 16-bit compressed version of the normal 32-bit ARM instruction set. It includes a subset of the most commonly used 32-bit ARM instructions. While Thumb instructions have 16-bit wide opcodes, they operate on the same 32-bit register set as ARM code, and have most other benefits of the 32-bit core (32-bit address space, 32-bit barrel shifter, 32-bit ALU, etc.) Thumb-enabled processors) have decompression hardware in the instruction pipeline. The decompressor translates Thumb instructions into equivalent ARM instructions. Thumb code density approaches, and even exceeds, that of many CISC processors. It is much better than ARM in certain contexts, for example (the numbers are approximate):

ben de şu kısmı çevirmeye çalışıyım  thumb dedikleri 32 bitlik komutsetlerinin 16 bitlik sıkıştırılmış versiyonlarıymış,ve bu komutlar en çok kullanılan 32 bitlik komutlarmış  (sanırım başparmak(thumb) bunun için deniyor baş komutlar :D ) 16 bitlik olmalarına karşın arm kodları gibi 32bitlik yazmaçlarda çalışıyorlarmış.....

şimdi gnu arm ve keilin karm242(uvision3) setuplarını indirdim gnu yu kurdum ama hiç bir şeye benzemiyor onunda pdf sini okumam gerekecek

petek hocam bir yandan pdfleri okuyalım ama ben derimki okuduğumu anlamak adına küçük küçük örneklerde yapsak ne dersiniz mesela o led yakıp söndürmek gibi çünki bu yapıyı anlayana kadar bir önceki okuduğumu unutuyorum
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: aYe - 14 Ocak 2006, 01:54:18
Alıntı yapılan: "encryptedcode"petek hocam bir yandan pdfleri okuyalım ama ben derimki okuduğumu anlamak adına küçük küçük örneklerde yapsak ne dersiniz mesela o led yakıp söndürmek gibi çünki bu yapıyı anlayana kadar bir önceki okuduğumu unutuyorum

Petek hocam encryptedcode haklı , linkini verdiğim dosya'nın C kodlarına baktim çok kısa,  kısmen traşlayıp,mesela usb kısmını felan silip daha küçük bir kod oluşturupi ufak ufak eşelemeye başlasak. Takildiğin yerler olduğunda biz yardımcı olmaya çalışsak(vakit kaybetmemek açısından). Ve sonuçları sen bizimle paylaşsan vs. Saygılar...
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 02:15:10
Alıntı yapılan: "tatlisukurnazi"@petek

Sana faydasi olur belki diye biraz kurcaladim ve lcp2138 le yapilmis bir kod örnegi buldum. LM60 sıcaklık sensörü ile sicakliği okuyup USB'den pc ye göndermişler. Zipli dosyada Basic de yazılmış pc programı ve açık kodu+Keil de yazilmiş C kodu+ şemalar mevcut.
http://www.hemenpaylas.com/download/80323/LCP2138_APP.zip.html

İyi çalışmalar...
Hocam örnekler çok güzel. Teşekkrüler. Şimdilik sorun LPC2138 temin etmek ve en azından kolay devre kurabilir hale getirmekte. SENAY arkadaşımız LPC2148'li bir kart hazırlıyordu. Daha sonra kendisiyle irtibat koptu...

Basic programının exesi çalışmadı. .ocx li bir dosya istedi. USB driver mı acaba? Uygulayacak imkanlarımız olduğunda Philipsin sitesinin altını üstüne getiririm, bulurum driverlarını  :twisted:

İyi çalışmalar size de...
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 02:24:38
Alıntı yapılan: "tatlisukurnazi"
Alıntı yapılan: "encryptedcode"petek hocam bir yandan pdfleri okuyalım ama ben derimki okuduğumu anlamak adına küçük küçük örneklerde yapsak ne dersiniz mesela o led yakıp söndürmek gibi çünki bu yapıyı anlayana kadar bir önceki okuduğumu unutuyorum

Petek hocam encryptedcode haklı , linkini verdiğim dosya'nın C kodlarına baktim çok kısa,  kısmen traşlayıp,mesela usb kısmını felan silip daha küçük bir kod oluşturupi ufak ufak eşelemeye başlasak. Takildiğin yerler olduğunda biz yardımcı olmaya çalışsak(vakit kaybetmemek açısından). Ve sonuçları sen bizimle paylaşsan vs. Saygılar...
Hocam, ISIS ta denedim ama led yakma programını çalıştıramadım. ISIS bir hata verdi. Ne olduğunu anlayamadım. Çalışmış olsaydı Blinky örneği ile başlayıp, LPC2124 ün pek çok özelliğini de incelerdik. Gnuchess programı GnuARM ile yazılmış. Onunla mı denesek diyorum ama onun için de gnuarm bulmam gerek.

@encryptedcode hocam, siz gnuarmı indirdiniz mi? linkini gönderebilirmisiniz? Hem forumda da kısayolu bulunmuş olur :)
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 02:53:17
Arm çekirdekli işlemcilerde port erişim, yönetim komutları PIC lerdekine pek benzemiyor. O nedenle biraz zorlanacağız. Alışkanlıklarımızın dışa çıkıyoruz...

Yine Philips LPC2124 işlemcilerini esas alarak şu örneğe bakarsak,
IODIR1  = 0x00FF0000;   /* P1.16..23 defined as Outputs  */
16 bitlik (16-31) P1 portunun 16 dan başlayıp 23 e kadar ki pinlerinin yönü INPUT değil OUTPUT olarak tanımlanıyor. Piclerde 1 i, 0 o yerine idi.

P1.16 pininin çıkışını 1 yapmak için
IOSET1 =   0x00010000;
Aynı pinin çıkışını 0 yapmak için
IOSET1 =   0x00000000;  !!! DEĞİL !!!
IOCLR1 =   0x00010000; ....YAPIYORUZ...

Neyse en azından banklarla pagelerle uğraşmaktan kurtulduk :)

31-0 bit sayının 0. mı 31. mi bitinin MSB olacağına biz karar verebiliyormuşuz. Bunun pratikteki anlamı nedir acaba. Philips bunu kolay yoldan halletmiş. 31. bit MSB olacak demiş :) Bunu biz de biliyorduk :) Öbür türlü tanımlasak acaba ne değişirdi ki? Bunun cevabını bilen varsa lütfen daha sonra yazsın. Şimdilik aklımızda kalanları unutmadan buraya aktaralım.  Kendi adıma bunu yaparken de fazla kafa karıştırmış olmayayım. Sadece dikkat çekmek istedim ...
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: aYe - 14 Ocak 2006, 03:20:29
Alıntı yapılan: "Petek"Basic programının exesi çalışmadı. .ocx li bir dosya istedi. USB driver mı acaba? Uygulayacak imkanlarımız olduğunda Philipsin sitesinin altını üstüne getiririm, bulurum driverlarını  :twisted

İyi çalışmalar size de...

Petek hocam nasıl Dll. ler C'nin sistem dosyalariysa Ocx'lerde basic için sistem dosyaları. Ocx hatası aldiginda ör mscomm32.ocx bunu google'a aynen yaz ve arat binlercesini bulursun "windows/system32/" klasörünün içine kopyala bütün mesele bu. Diger mesajlarina şimdilik yorum yok, önce detayli incelemem lazim.  Kolay gelsin...
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: mcan - 14 Ocak 2006, 03:27:09
gnu arm ı keilden indirdim upload edeyimde bir işe yarayayım geliyor bekleyin(biraz uzun ürebilir dediğim gibi keile girdim oradan uvision 3 için forum doldurdum indirme seçeneklerinden gcc yide seçtim o doyayı upload ediyorum rapidshare ye ama uzun sürecek gibi yinede upload edeceğim)
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 03:34:50
Zahmet olmaz ise hemenpaylas a yüklesen iyi olur. Hiç değilse 30 gün indiren olmazsa silinmezdi :).

Rapid kadar hızlı değil tabi. Rapide başladıysan devam et.

@tatlisukurnazi, dediğin gibi googledan bulacağım.

Becerebilirsek denemeye Gnuarm ile başlarız. Linux kullanıcıları ile paslaşırız bu konuda :) ISIS'ın yeni versiyonlarında problem olmaz ise Keil ile de devam edebiliriz, gnuarm ile de. Şu Blinky ISIS'ta bir çalışsa gerisi gelicek inşaallah. Keil'in kendi simulatörü çalıştırıyor ama önemli olan ISIS üzerinde çalıştırabilmek.

Galiba gnuarm arkasındaki destek : CodeSourcery, in partnership with ARM, Ltd.  :D  Yanlış mı anlıyorum yoksa öyle mi?

http://www.codesourcery.com/gnu_toolchains/arm/index_html
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: aYe - 14 Ocak 2006, 03:59:03
Nedir bu ISIS özelliği ne olaki?
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 04:08:52
Alıntı yapılan: "tatlisukurnazi"Nedir bu ISIS özelliği ne olaki?

Şu linkte demo versiyonunun çalıştırdığı bir simulasyonun ekran görüntüsü var.
http://www.hemenpaylas.com/download/80564/ISIS_Ornek.JPG.html

Beyazları ben, siyahları LPC2124 oynuyor. Ekrandan mouse ile  taşlar hareket ettiriliyor.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: mcan - 14 Ocak 2006, 04:15:13
gnu arm (http://www.gnuarm.org/) burdan cynus indirebiliriniz
içindekiler
GNU ARM Thumb Toolchain for Windows (using Cygwin):
- BinUtils V2.14
- GCC V3.3.1
- uClibc V0.9.20
- Cygwin DLL V1.3.22

Environment Setting:
SET PATH=C:\Cygnus\arm-tools\bin;C:\Cygnus\Bin;%PATH%
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: mcan - 14 Ocak 2006, 04:20:15
Alıntı yapılan: "Petek"
Alıntı yapılan: "tatlisukurnazi"Nedir bu ISIS özelliği ne olaki?

Şu linkte demo versiyonunun çalıştırdığı bir simulasyonun ekran görüntüsü var.
http://www.hemenpaylas.com/download/80564/ISIS_Ornek.JPG.html

Beyazları ben, siyahları LPC2124 oynuyor. Ekrandan mouse ile  taşlar hareket ettiriliyor.
ahhhaaaaa :lol:  bizi seven bizi tutmasın çok deli birşeymiş haydi underground2 yi de biz yapalım yada süpermario ilemi başlasak
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 04:21:33
Debug bilgileri ile derleme yaptırdıysanız kaynak programı seviyesinde programı adım adım çalıştırırken, değişkenlerin içeriğini ayrı bir ekranda görmek mümkün. Devreye seri eeprom bağladıysanız içeriğini izlemek mümkün. Analog sinyal seviyeleri dikkate alınıyor, 2.5 volttan aşağı sinyaller dijital olarak 0 kabul ediliyor.

Çok zengin simulasyon kütüphanesi var.
LCD ekranlar, led displayler, seri haberlşeme (rs232, canbus, ?), butonlar, 74 serisi logic devreler, potlar, Step motorlar, servo motorlar, ADCler, röleler, optocoupler, işlemciler, mikrokontrolorler,....
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: aYe - 14 Ocak 2006, 04:48:01
Proteus 6.7 sp3 + crack 320mb şu an iniyor, dogru dosyadır dimi?
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: mcan - 14 Ocak 2006, 04:50:47
gnu arm rapid linki(81 dakkada upload etti :) )gnu arm 331 (http://rapidshare.de/files/11002424/gccARM331.exe.html)
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: mcan - 14 Ocak 2006, 04:55:38
Alıntı yapılan: "tatlisukurnazi"Proteus 6.7 sp3 + crack 320mb şu an iniyor, dogru dosyadır dimi?
yok yok indirme doğru olabilir ama içinde gerekiz şeylerde olabilir prouteu olsa olsa taş çatlasa 40 mb olur 320 olmaz
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: aYe - 14 Ocak 2006, 05:48:00
Alıntı yapılan: "encryptedcode"
Alıntı yapılan: "tatlisukurnazi"Proteus 6.7 sp3 + crack 320mb şu an iniyor, dogru dosyadır dimi?
yok yok indirme doğru olabilir ama içinde gerekiz şeylerde olabilir prouteu olsa olsa taş çatlasa 40 mb olur 320 olmaz
Hocam bir 320 bir 250 bir 80 bir de 25 mb iniyo artık kısmet hangisinden ne çıkarsa %50 oldu hepsi kıyamam şimdi kapatmaya:D Teşekkür ederim...
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 10:17:49
Alıntı yapılan: "tatlisukurnazi"...
Hocam bir 320 bir 250 bir 80 bir de 25 mb iniyo artık kısmet hangisinden ne çıkarsa %50 oldu hepsi kıyamam şimdi kapatmaya:D Teşekkür ederim...
Kusura bakmayın, herhalde çok geç bir cevap oldu. Proteus 24 ile 27 MB arasında değişiyor. Linki vardı Forumda bir yerlerde. Sizin 25 MB olanı doğru. Diğerleri ne bilmiyorum. İnşaallah kota sınırınız yoktur :)
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 10:25:17
Alıntı yapılan: "encryptedcode"gnu arm rapid linki(81 dakkada upload etti :) )gnu arm 331
Hocam bu Keil in sitesinden indirdiğiniz değil mi? Öyleyse şimdilik bunu kullanalım derim.
Başlık: alın size bir iki dosyada benden...
Gönderen: arma_engin - 14 Ocak 2006, 11:22:27
http://www.hemenpaylas.com/download/80968/lpc.rar.html
Başlık: Re: alın size bir iki dosyada benden...
Gönderen: Petek - 14 Ocak 2006, 12:16:57
Alıntı yapılan: "arma_engin"http://www.hemenpaylas.com/download/80968/lpc.rar.html
Teşekkürler. Bir ricada bulunayım, paylaşmak istediğiniz dosyaların içeriği hakkında da biraz bilgi verebilirseniz seviniriz. Çünkü bazen paylaşılan dosyalar önceden elimizde olabiliyor (örneğin sizin gönderdiğiniz 5 dosyadan biri varmış bende "UM_LPC2114_2124_2212_2214_2.pdf", sorun değil diğerleri yoktu :) ).

philips_flash_utility.zip   (2.1 MB)
lpc2000_bl_update.zip   (37 kB)
flash.isp.utility.lpc2000.zip  (2.8 MB)
UM_LPC2114_2124_2212_2214_2.pdf (1.36 MB)
MCB2130 User's Guide_ LPC2000 Flash Utility.pdf (82 kB9)

Tekrar teşekkürler.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: mcan - 14 Ocak 2006, 13:50:42
Alıntı yapılan: "Petek"
Alıntı yapılan: "encryptedcode"gnu arm rapid linki(81 dakkada upload etti :) )gnu arm 331
Hocam bu Keil in sitesinden indirdiğiniz değil mi? Öyleyse şimdilik bunu kullanalım derim.
evet evet ku keil den geldi bunu kullanalım ama bunu kullanmakda mesele gibi nereye yazacaz? :D içinde pf side vardı bunu okumalıyım önce bulan olursa buraya yazsın belkide ben bulurum
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 14:40:36
Alıntı yapılan: "encryptedcode"... evet evet ku keil den geldi bunu kullanalım ama bunu kullanmakda mesele gibi nereye yazacaz? :D içinde pf side vardı bunu okumalıyım önce bulan olursa buraya yazsın belkide ben bulurum
Yükleyice Keil de otomatik olarak yerleşti. Yani Keil Arm veya Gnu arm arasında seçim yapılabiliyor. Sorun, Keil gcc yi çalıştıramıyor. Dökümanları iyice okumak lazım. Windowsun pathinde tanımlanan yerde programların prefixli hali var. Kısayollar diğer bin klasöründe. Keil'in kabul ettiği yolda windowsun yolu ile aynı. Keilde prefix tanım yeri boş. Kısayolları exelerin olduğu yere taşımak lazım. Yine de Keil gcc yi çalıştıramıyor.  Build target 'LPC2124'
compiling atak.c...
--- Error: can't execute 'gcc'
Target not created
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 17:06:32
İlk aramada sorumun cevabını buldum.
http://www.keil.com/support/docs/3127.htm

Components, Environment and Books penceresinden, Folders/Extensions sekmesi içinde Use GNU Tools seçeneklerinde Cygnus Folder C:\Cygnus olacak (oraya kurmuş iseniz). GNU-Tool_Prefix arm-uclibc- olacak.

http://www.keil.com/support/docs/2968.htm Burada da GNU dan Keil Arm derleyicisine geçişte programda yapılacak tadilatlar anlatılıyor.

Blinky gerekli tadilatlar yapılarak gnuarm ile derlendi :)

Gnuarm ile karşılaşılan sorunlar ve cevapları burada:
http://www.keil.com/support/search.asp?Q=gnu&=Search&PG=1&PX=1&AV=
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: mcan - 14 Ocak 2006, 17:41:51
Alıntı yapılan: "Petek"İlk aramada sorumun cevabını buldum.
http://www.keil.com/support/docs/3127.htm

Components, Environment and Books penceresinden, Folders/Extensions sekmesi içinde Use GNU Tools seçeneklerinde Cygnus Folder C:\Cygnus olacak (oraya kurmuş iseniz). GNU-Tool_Prefix arm-uclibc- olacak.

http://www.keil.com/support/docs/2968.htm Burada da GNU dan Keil Arm derleyicisine geçişte programda yapılacak tadilatlar anlatılıyor.

Blinky gerekli tadilatlar yapılarak gnuarm ile derlendi :)

Gnuarm ile karşılaşılan sorunlar ve cevapları burada:
http://www.keil.com/support/search.asp?Q=gnu&=Search&PG=1&PX=1&AV=
bu müthiş bişey demek başardın :D
cygnus u kurdum keilide kurdum petek hocam sendeki uvision3 v3.23 mü

neyse o ayarları yaptım ,örnek programı buraya koyarmısın

bende ki ekran görüntüsünü yoluuyorum aynı keilmi bahsetiiğimiz çünki ben lpc2100 den başka bir alet göremedim listede

benim ekran görüntüsü
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 17:59:51
Alıntı yapılan: "encryptedcode"...bu müthiş bişey demek başardın :D
cygnus u kurdum keilide kurdum petek hocam sendeki uvision3 v3.23 mü

neyse o ayarları yaptım ,örnek programı buraya koyarmısın

bende ki ekran görüntüsünü yoluuyorum aynı keilmi bahsetiiğimiz çünki ben lpc2100 den başka bir alet göremedim listede

benim ekran görüntüsü
IDE versiyonumuz aynı 3.23.
[Help->About]
IDE-Version:
µVision3 V3.23
Copyright (c) Keil Elektronik GmbH / Keil Software, Inc. 1995 - 2005

Tool Version Numbers:
Toolchain Path:    C:\Keil\ARM\BIN\
C Compiler:         ARM-ELF-GCC.Exe
Assembler:          ARM-ELF-AS.Exe
Linker/Locator:     ARM-ELF-GCC.Exe
Librarian:          ARM-ELF-LIB.Exe
Hex Converter:      ARM-ELF-OBJCOPY.Exe
CPU DLL:            SARM.DLL       V1.29
Dialog DLL:         DARMP.DLL       V1.10c
Target DLL:         BIN\UL2ARM.DLL       V1.14a
Dialog DLL:         TARMP.DLL       V1.10

Gnu versiyonumuz da aynı.

Blinky de bir sorun var, startup.s assembler dosyasını eklememişim. Ekleyince bir değişken tanımında hata verdi. Çözebilirsem ekleyeceğim. Gnuchess i derledim. Onunda linker script dosyası eksikmiş. Şimdi ona bakıyordum... Blinky Startup.s dosyasını Gnuchess inkinden aldım. Sorun ne onu bulmaya çalışıyorum.

2100 yazan yerin hemen solundaki ikona bas, devices sekmesinde Philipsi bul, işlemciler orada...
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: mcan - 14 Ocak 2006, 18:59:32
petek hocam bunda compile tuşunu bulamadım sadece start/stop debutg sension var onada basında key yok evalutin versiyon diyor

ayar görüntüsü (http://rapidshare.de/files/11036779/ssss.JPG.html)
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 19:14:12
Project menüsünden open project ile uzantısı .uv2 olan projeleri açıyoruz. Yeni proje de oradan başlatılıyor (new project) Varolan bir projeji açtıktan sonra yine aynı menüde Buil target ve rebuild all target gibi seçenekler var. Derleme işini onlar hallediyor.

GNU Tools Prefix yerine yukarıda bir yerde yazdığımı yazman gerekiyor.

.elf  dosyasını açmışsın. O piclerdeki .coff eşdeğeri bir şey. ISIS te gnuchess için gnuchess.elf dosyası işlemciye tanıtılmış.

İşlemcilere göre örnek programlar. Linkimizde bulunsun.
http://www.keil.com/download/list/arm.htm
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: microcozmoz - 14 Ocak 2006, 19:49:00
Sevgili Petek,

İsis 6.81 versiyonu nereden indirdin acaba??? Emuleden aratıyorum sadece 1 kişide buldu...İndirmek bayağı bir zaman alacak...

Şimdiden sağol
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 19:59:00
Alıntı yapılan: "Petek"Blinky de bir sorun var, startup.s assembler dosyasını eklememişim. Ekleyince bir değişken tanımında hata verdi. Çözebilirsem ekleyeceğim. Gnuchess i derledim. Onunda linker script dosyası eksikmiş. Şimdi ona bakıyordum... Blinky Startup.s dosyasını Gnuchess inkinden aldım. Sorun ne onu bulmaya çalışıyorum...
Hata verdiği değişkeni tanımlayan bir linker scripti eksik olduğunu saatler sonra keşfettim 8) Bu acaba Keil klasörü altında varmıdır diye windowsa arattırıken bir sürü linker scripti çıktı. Keil\ARM\GNU\Examples kalsöründe :( Saatlerce aradığımız şeyler orada hazırmış. Gnuarm ile de çok güzel derledi ve Keil kendisi simule etti. :) Sevindirici bir haber daha, ISIS 6.81 demo versiyonundaki satranc devresi de simulasyonu yaptı 8) Tek problem ISIS ta C source kodu çıkmadı. Startup assembler kodu çıktı. Neyse onun da neden çıkmadığını anlarız inşaallah.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 20:05:58
Alıntı yapılan: "microcozmoz"Sevgili Petek,

İsis 6.81 versiyonu nereden indirdin acaba??? Emuleden aratıyorum sadece 1 kişide buldu...İndirmek bayağı bir zaman alacak...

Şimdiden sağol

Hocam Sonsivri'de birisi link vermiş 6.9 diye ama 6.81 çıktı. Ben sonsivriden Bulduğum linki vereyim:

Proteus 6.9 from the vendor website (demo version) <- Bu 6.81 çıktı.
hxxp://www.labcenter-electronics.com/download/prodemo.exe
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 20:29:50
Alıntı yapılan: "Petek".... Gnuarm ile de çok güzel derledi ve Keil kendisi simule etti. :) Sevindirici bir haber daha, ISIS 6.81 demo versiyonundaki satranc devresi de simulasyonu yaptı 8) Tek problem ISIS ta C source kodu çıkmadı. Startup assembler kodu çıktı...

http://www.hemenpaylas.com/download/82700/Blinky.zip.html

Bu dosyadaki Blinky->Obj->Blinky.elf dosyasını Proteus 6.81 (ve üstü) ISIS örneklerindeki Gnuchess.dsn dosyasındaki LPC2124 e tanıtılan gnuchess.elf yerine yazacaksınız. Simulasyonu çalıştırdığınızda terminalin bağlı olduğu portta kara şimşek çıkıyor :)

Program LPC2106 ya göre yazılmış. LPC2124 te de çalışıyor. İsterseniz include yanındaki dosyayı LPC21xx.H yapın ve IODIR, IOSET ve IOCLR komutlarının yanına 1 yazın (IODIR1 gibi) diğer portta aynı işlemleri yapsın.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: mcan - 14 Ocak 2006, 21:02:24
şimdi bi toparlayalım petek hocam senin hızına yetişemedim
1- bu adresten keil ve gcc yi indiriyoruz keil  ve gcc (http://www.keil.com/demo/eval/arm.htm)

kelin in görüntüsü ekran görünümü (http://rapidshare.de/files/11032236/aas.JPG.html)

2-
Alıntı YapComponents, Environment and Books penceresinden, Folders/Extensions sekmesi içinde Use GNU Tools seçeneklerinde Cygnus Folder C:\Cygnus olacak (oraya kurmuş iseniz). GNU-Tool_Prefix arm-uclibc- olacak.
yani GNU-Tool_Prefix  yazan yere arm-uclibc-  yazılacak

ayar görüntüsü (http://rapidshare.de/files/11036779/ssss.JPG.html)

3-Project menüsünden open project ile uzantısı .uv2 olan projeleri açıyoruz. Yeni proje de oradan başlatılıyor (new project) Varolan bir projeji açtıktan sonra yine aynı menüde Buil target ve rebuild all target gibi seçenekler var. Derleme işini onlar hallediyor.

petek hocam bunları yapınca çalışması gerekiyor değil mi ?eklemek itediğin bir yer varmı ben şu anda çalıştıramadım hala uğraşıyorum
bu yazıyor bende f7 ye basınca
Alıntı YapBuild target 'LPC2106'
linking...
/cygdrive/c/Cygnus/Arm-Tools/Bin/../lib/gcc-lib/arm-thumb-elf/3.3.1/../../../../arm-thumb-elf/bin/ld: warning: cannot find entry symbol _start; defaulting to 00008000
startup.o(.text+0xd8):/cygdrive/c/Downloads/arm7/example/Blinky/Startup.s:162: undefined reference to `_start'
startup.o(.text+0xe4):/cygdrive/c/Downloads/arm7/example/Blinky/Startup.s:162: undefined reference to `_data'
collect2: ld returned 1 exit status
Target not created


bu arada kara şimşek muhteşem olmuş tebrikler  :D  :D
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 21:31:18
Alıntı yapılan: "encryptedcode"...
1- bu adresten keil ve gcc yi indiriyoruz keil  ve gcc
kelin in görüntüsü ekran görünümü
Ben Emule ile indirdim. Sanıyorum crack halde geldi. Yinede bir bakarım kırmak için içinde birşeyler çıkarsa göndereyim. uVision3 IDE versiyonumuz tutuyor. O nedenle ekranı göndermeme gerek yok.
Alıntı Yap
2-
Alıntı YapComponents, Environment and Books penceresinden, Folders/Extensions sekmesi içinde Use GNU Tools seçeneklerinde Cygnus Folder C:\Cygnus olacak (oraya kurmuş iseniz). GNU-Tool_Prefix arm-uclibc- olacak.
yani GNU-Tool_Prefix  yazan yere arm-uclibc-  yazılacak

ayar görüntüsü
Evet ama sizin resmini gönderdiğiniz öyle değil !
Bendeki böyle:
http://rapidshare.de/files/11045293/gnuarm_prefix.JPG.html

Gnuarmı mutlaka çalıştırmak lazım yoksa Keilin ürettiği kodları ISIS çalıştırmıyor. Gerçi Keilin kendi simulatörü de fena değil. Seri port penceresi açıyor (view->Serial#1), pinleri gösteriyor,...

Alıntı Yap
3-Project menüsünden open project ile uzantısı .uv2 olan projeleri açıyoruz. Yeni proje de oradan başlatılıyor (new project) Varolan bir projeji açtıktan sonra yine aynı menüde Buil target ve rebuild all target gibi seçenekler var. Derleme işini onlar hallediyor.

petek hocam bunları yapınca çalışması gerekiyor değil mi ?eklemek itediğin bir yer varmı ben şu anda çalıştıramadım hala uğraşıyorum
bu yazıyor bende f7 ye basınca
Alıntı YapBuild target 'LPC2106'
linking...
/cygdrive/c/Cygnus/Arm-Tools/Bin/../lib/gcc-lib/arm-thumb-elf/3.3.1/../../../../arm-thumb-elf/bin/ld: warning: cannot find entry symbol _start; defaulting to 00008000
startup.o(.text+0xd8):/cygdrive/c/Downloads/arm7/example/Blinky/Startup.s:162: undefined reference to `_start'
startup.o(.text+0xe4):/cygdrive/c/Downloads/arm7/example/Blinky/Startup.s:162: undefined reference to `_data'
collect2: ld returned 1 exit status
Target not created

bu arada kara şimşek muhteşem olmuş tebrikler  :D  :D

Eklemek istediğim pek bir şey yok. Hata mesajın linker scriptinin olmamasından kaynaklanabilir. Gerçi gönderdiğim şekilde çalışması lazım. Yinede Target.ld dosyasına bak. Blinky klasörü altında olması lazım. Target özelliklerine geç (LPC2106 yazan yerin solundaki ikona tıklayınca da geliyor) linker sekmesinde Linker Script File yazılı yerde .\Target.ld yazıyor olması lazım. Bu şekilde derliyor.

Karaşimşeğin oynayan kırmızı gözünü 3 e çıkardım :)
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: CaFFeiNe - 14 Ocak 2006, 21:33:55
hiç keil kullanmamış olmama rağmen sayenizde bir giriş yaptım ve karaşimşeği çalıştırdım :) teşekkürler
ilk bakıştada simülasyon özelliği hoşuma gitti diyebilirim

(http://picproje.org/upload/Mevcutdosyalar/lpc.JPG)

elimde ADuC7026 olduğu için verdiğiniz keil örnekleri linkinden DAC örneğini indirip onuda simüle ediverdim çok hoş oldu :)

(http://picproje.org/upload/Mevcutdosyalar/aduc2.JPG)

buda ADuC7026 nın özellikleri LPC21XX e göre özellik bakımından az ama Analog Devices'ın sample göndermesi sayesinde elimde beleşten 2 adet var :) umarım birgün deneme kartınıda yapabilirim :)

(http://picproje.org/upload/Mevcutdosyalar/aduc1.JPG)

neyse nihayetinde bir ucundan ARM ada giriş yaptık hepinize teşekkürler

(resimler biraz fazla yer kapladı belki link versem daha iyi olurdu kusura bakmayın artık heyecanıma verin)
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 21:37:16
Bendeki 2.42 Versiyonu içerisinde şöyle küçük bir exe dosyası var. Bir bakın belki bir işe yarıyordur.

http://rapidshare.de/files/11046307/Keil_ARM_v2.42.zip.html
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 21:45:47
CaFFeiNe  Hocam, ben de acaba kendi kendimize mi konuşup duruyoruz diye tereddüte düşüyordum. Arada katkı sağlayan arkadaşları görünce hoşuma gitti açıkçası. ADu7026 dan ben de 2 tane numune istemiştim onları bir şekilde değerlendirmeyi düşünüyorum. O simulasyona baktım ama grafiğin nasıl çıktığını göremedim. Bir tarif alabilirmiyiz. En azından Keil simulatörü hakkında bilgi sahibi oluruz. Ben kabaca çalıştırma, adımadım çalıştırma breakpoint koyma ve kaldırmadan başka bir şeyini kullanmadım Keil simulatörünün :)
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: CaFFeiNe - 14 Ocak 2006, 21:59:13
@petek

dediğim gibi bugüne kadar hiç keil kullanmamıştım ADuC örneğini indirip build target ile derleyip debugger ı çalıştırıp Run dedim karşıma çıkıverdi :)

kullandığım keil, uVision, ARM derleyici versiyonu

(http://picproje.org/upload/Mevcutdosyalar/ver.JPG)

debugger ı açarken verdiği uyarı

(http://picproje.org/upload/Mevcutdosyalar/ver1.JPG)

gördüğünüz gibi lisanslı gibi gözüküyor ama değil keilden cd istemiştim gelen cd den kurdum
ben bunu nasıl kırabilirim? teşekkürler
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 22:07:46
Bununla uğraşma, daha yeni versiyonu var. Emuleden birkaç saatte indirmiştim.

Keil ARM kelimelerini aratırsan "Keil ARM v2.42.rar"  isimli 20.903 MB lık bir dosya çıkacak (çok çıkacak ta bir tane de böyle çıkacak :) Ben bunu kullanıyorum.

IDE-Version:
µVision3 V3.23
Copyright (c) Keil Elektronik GmbH / Keil Software, Inc. 1995 - 2005

Tool Version Numbers:
Toolchain Path:    C:\Keil\ARM\BIN\
C Compiler:         CA.Exe       V2.42
Assembler:          AA.Exe       V2.40b
Linker/Locator:     LA.Exe       V2.42
Librarian:          LIBA.Exe       V4.26
Hex Converter:      OHA.Exe       V2.10
CPU DLL:            SARM.DLL       V1.29
Dialog DLL:         DARMP.DLL       V1.10c
Target DLL:         BIN\UL2ARM.DLL       V1.14a
Dialog DLL:         TARMP.DLL       V1.10

Sizin büyük resimli mesajınızdan sonra gönderdiğim mesajdaki dosyaya bakabildiniz mi? Emuleden indirdiğim dosyada iki tane exe dosyası vardı, bu ikincisi idi.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: engin_ - 14 Ocak 2006, 22:11:13
Güzel ve zevkli bir uğraş edinmişssiniz. Herkese başarılar.

Bu arada Karaşimşek dediğiniz terminalden çıkan ses mi? Ondan başka bir şey olmuyor çünkü.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: mcan - 14 Ocak 2006, 22:31:06
o dosya bi lisansla serial üretiyor ama help e bastığımda genelde buralarda olan serial girilecek yer yok benimkinde şimdi emulede ki dosyayı arayacağım
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 22:49:23
Alıntı yapılan: "engin_"Güzel ve zevkli bir uğraş edinmişssiniz. Herkese başarılar.

Bu arada Karaşimşek dediğiniz terminalden çıkan ses mi? Ondan başka bir şey olmuyor çünkü.
Teşekkürler...
Terminalden ses çıkıyor evet. Ama bahsettiğimiz yürüyen ışık tabir edilen şey. Terminalin bağlı olduğu porta şimdilik müdahele edemediğimiz için (malum demo versiyonunda ancak bu kadar müsaade ediliyor) sadece pinin 1 olduğunu gösteren kırmızı rengin portun 8 pininde gezindiği için Kara şimşek demiştik.

Şu ISIS ın yeni versiyonu kırılırsa çok daha güzel şeyler yaparız  ;)
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 22:50:19
Alıntı yapılan: "encryptedcode"o dosya bi lisansla serial üretiyor ama help e bastığımda genelde buralarda olan serial girilecek yer yok benimkinde şimdi emulede ki dosyayı arayacağım
Helpin aldında değil File menüsünde License Manager a bakacaksınız.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: aYe - 14 Ocak 2006, 22:52:55
Merhaba,
Biraz geriden takip ediyorum ama mesela ben bu PROTEUS'u sevmedim pek tutarli çalışmıyor ayrıca satranç'ta bana yenildi:) Elimden bir tane ARM olsaydı ISIS'ı kurana kadar proje biterdi heralde. Yazilanlari okudum bir şey anlamadim çok karışmış herşey birbirine girmiş gibi gözüküyor. Şimdilik benden katkı adına bir şey yok sadece takip ettiğimi belirtmek amacıyla yaziyorum.

"Teşvik mesajıdır ciddiye almayınız"
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 14 Ocak 2006, 23:31:19
Alıntı yapılan: "tatlisukurnazi"Merhaba,
Biraz geriden takip ediyorum ama mesela ben bu PROTEUS'u sevmedim pek tutarli çalışmıyor ayrıca satranç'ta bana yenildi:) Elimden bir tane ARM olsaydı ISIS'ı kurana kadar proje biterdi heralde. Yazilanlari okudum bir şey anlamadim çok karışmış herşey birbirine girmiş gibi gözüküyor. Şimdilik benden katkı adına bir şey yok sadece takip ettiğimi belirtmek amacıyla yaziyorum.

"Teşvik mesajıdır ciddiye almayınız"
Hocam sizin yendiğiniz ISIS değil, gnuchess programı  :P Bunun daha basit versiyonları 18F452, 68H?? için yazılmış ve örnek klasöründe var. Arm7 modelini yeni eklemişler. Başlangıçta ufak tefek hataları çıkabilir. Aslında Proteus değil de derleyici bulmak zaman aldı. İlginçtir, Keilin derlediklerine ISIS hata verdi.

Şu anki geldiğimiz noktada her iki derleyicide de program derleyebiliyoruz. Keil'in download sayfasndan indirdiğim lpc21xx_insidersguide.zip dosyasına bakıyorum. İçerisinde seri haberleşme yapan bir örnek vardı. Onu GNU ya aktardım. Keilin simulatöründe çalıştırdım. UART0 a aktarıp ISIS te deneyeceğim. Anladığım kadarıyla sıkıntı adres alanını stacklara, programa ve datalara ayırmakta, ARM/Thumb karışık derlemede (GNU da özellikle) ve işlemciye özel regsiterleri bilmemekte.

Burada exception handler programlarından bahsetmedim. Onlar nasıl şekillenir programa göre değişecek. Ama 2 yada 3 hatırlayamadım interrupt var ki bunları kesinlikle bloke edemiyorsunuz ve bunlar aktiflendiğinde gidilen adreslerde neler yapılacağı herhalde biraz yapılan projeye özel geliştirilecek.

Biraz üzerinde çalışıldıktan sonra dökümanlar tekrar okunsa bu iş daha da kolaylaşacak...

Desteğin için teşekkürler ...
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: aYe - 15 Ocak 2006, 00:06:45
Petek hocam bende IAR ARM derleyici kurulu. Derle diyorsun derliyor hiç bir sorun yok. Biraz inceledim simüle sırasında asembler kod'u görmen mümkün hatta asembler görünüm için;Thumb mod, ARM mod, Current prosessor mod ve Auto mod şeklinde 4 tane de seçim sunmuşlar. Şunu deneme baabında olsun indirip bir kursan belki keil ve gnu'dan daha iyi sonuçlar alıcaksın. Anladiğim kadariyla ARM7-9-10 hepsini de kapsıyor. Ayrıca ben teşekkür ederim. Kolay gelsin...
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: engin_ - 15 Ocak 2006, 00:42:59
Linux da simulatör olarak ne kullanılabilir diye bakınıyordum. Proteus gibi bir simulatör yok malesef ama gömülü bilgisayar sistemleri için bir simulatör var.

http://www.skyeye.org/index.shtml

Bu aşamada ne kadar işe yarar bilmem ama bazı video görüntülerini izledim.

http://gro.clinux.org/frs/download.php/834/demovideo.tar.bz2

Doğrusu ilgi çekici.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 15 Ocak 2006, 00:53:15
Alıntı yapılan: "tatlisukurnazi"Petek hocam bende IAR ARM derleyici kurulu. Derle diyorsun derliyor hiç bir sorun yok. Biraz inceledim simüle sırasında asembler kod'u görmen mümkün hatta asembler görünüm için;Thumb mod, ARM mod, Current prosessor mod ve Auto mod şeklinde 4 tane de seçim sunmuşlar. Şunu deneme baabında olsun indirip bir kursan belki keil ve gnu'dan daha iyi sonuçlar alıcaksın. Anladiğim kadariyla ARM7-9-10 hepsini de kapsıyor. Ayrıca ben teşekkür ederim. Kolay gelsin...
IAR sitesinden formu doldurdum ve indireyim dedim. ama 82 MB ı görünce işyerinden indirmeye karar verdim. Linkini e-mail ile kendime gönderdim :)

Şimdi bu aşamada ciddi bir karar vermem gerekiyor. Bu karar bundan sonra üzerine yoğunlaşacağım işlemci hangisi olmalı sorusunun cevabı olacak. Ona göre işlemcinin iç yapısını öğrenmeye ve hatta ezberlemeye başlayacağım. Bundan sonra yazacağım programlar da o işlemci üzerine olacak. Göstergeler şimdilik LPC leri gösteriyor. Ankarada bir arkadaşımın çalıştığı firma 100 bin adet alacakmış bunlardan. O nedenle derleyiciyi falan ücretsiz vermişler onlara. Teknik destek açısından bu seride sorun yaşamayacağım gibi. Aster hocamın tavsiye ettiği STR710FZ1 de fena değil. Şimdilik dediğim gibi öğrenme aşamasında LPC olsa belki daha çabuk öğreneceğim. Derleyici için şimdilik IAR'ı görmeden bir karar vermek istemedim. Tavisye ettiğinize göre mutlaka pek çok sebebi vardır. Bir kısmını önceki mesajlarda ve başka başlıklarda okumuştum. Mutlaka deneyeceğim. Daha çalışmaya yeni başladık ... :)
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 15 Ocak 2006, 01:28:02
Alıntı yapılan: "engin_"Linux da simulatör olarak ne kullanılabilir diye bakınıyordum. Proteus gibi bir simulatör yok malesef ama gömülü bilgisayar sistemleri için bir simulatör var.

http://www.skyeye.org/index.shtml

Bu aşamada ne kadar işe yarar bilmem ama bazı video görüntülerini izledim.

http://gro.clinux.org/frs/download.php/834/demovideo.tar.bz2

Doğrusu ilgi çekici.
Gerçekten güzel bir çalışma yapmışlar. Fakat sanıyorum bu simulusyon belirli tasarımlar için (touch scree ekranlı geliştirme kartları için) olsa gerek. Ama Linux üzerinde Arm simulasyonu ile uclinux çalıştırıyorsun ve same oyununu oynuyorsun. Güzel çalışma gerçekten...
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: engin_ - 15 Ocak 2006, 12:01:01
Eğer istenilirse kendi bilgisayarınızı yapmanız için bir engel yok gibi. Network den yaptığınız donanıma ulaşabiliyorsunuz. Onun üzerinde program koşturabiliyorsunuz. Linux gerekli yazılım desteğini veriyor.

Burada işin donanımsal kısmına değinmemişler. Nasıl bir tasarım yapılacak. Çevre birimler nasıl yerleşecek. Gerçi kullanılan programlar incelendiğinde belki fikir elde edilebilir. Benim varmak istediğim, donanım tasarımının ve yazılım desteğinin buluştuğu yere varmak.

http://www.linux-sevenler.org/Lapis_Single_News_Display.478+M50a6e51fcd2.0.html?&tx_ttnews[arc]=1&tx_ttnews[pL]=2674799&tx_ttnews[pS]=1109624400

Bu tür bir sistemde veya daha gelişmiş bir tasarımda farlı işlevlere ağırlık vererek donanımlar yapılıyor. Üzerinde Linux ve apache sunucusu çalışan buna benzer bir örnek vardı. Şimdi onu bulamadım.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: CaFFeiNe - 15 Ocak 2006, 13:27:48
(http://picproje.org/upload/Mevcutdosyalar/arm1.JPG)

THUMB komut seti özellikle program hafızası küçük ARM işlemcilerde kullanılıyor sanırım. Aynı program THUMB komut seti ile yazıldığında %30 az hafıza gerektiriyormuş fakat ARM komut seti ile yazıldığında ise %40 daha hızlı çalışıyormuş

Şemadan görüldüğü gibi THUMB komut seti ARM komut setinin sıkıştırılmış hali yani 32bit genişliğindeki ARM komutları 16bit genişliğindeki THUMB komutlarına sıkıştırılmış bunun için THUMB komutları işlenmeden önce Thumb Decompressor diye bir birim ile ARM komutlarına çevrilerek işleniyor benim anladığım THUMB komut setinin kullanılmasının amacı kısıtlı olan hafızayı gerektiğinde daha efektif olarak kullanabilmek mesela 32KB lik program hafızası olan bir ARM işlemciye program yazmaya başladınız ama hafıza yetmedi THUMB modunda derlerseniz hafıza kurtarabilir ve üst model işlemciye geçmeye gerek duymayabilirsiniz (performanstan feragat etmek kaydıyla tabiiki)
güzel bir özellik, bakalım daha nasıl özelliklerle karşılaşacağız :) PIC lerden sonra ilginç geliyor insana :)
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 15 Ocak 2006, 13:40:39
Alıntı yapılan: "Petek"... Keil'in download sayfasndan indirdiğim lpc21xx_insidersguide.zip dosyasına bakıyorum. İçerisinde seri haberleşme yapan bir örnek vardı. Onu GNU ya aktardım. Keilin simulatöründe çalıştırdım. UART0 a aktarıp ISIS te deneyeceğim....
Bu işlem de tamam.

LPC pinlerine birden fazla fonksiyon verilmiş ve bu fonksiyonlar PINSEL0/1/2 ile seçiliyor.  Datasheet yada User Manual (UM) de (UM_LPC2114_2124_2212_2214_2.pdf) bunlar hakkında detaylı bilgi var. Kısaca özetleyeyim.

PINSEL0 (Adres: 0xE002C000)
PINSEL1 (Adres: 0xE002C004)
PINSEL2 (Adres: 0xE002C014) , Bunların reset değerleri ilkinde 0, diğerleri manuel de.

32 bitlik değerleri 2 şer bit şeklinde gruplanmış. en düşük 2 bit (<1:0>) ve yanındaki 2 bit (<3:2>)şöyle:
PINSEL0  Pin    when 00    when 01      when 10      when 11  Reset_Val
<1:0>   P0.0  GPIO(0.0)  TxD(UART0)     PWM1       Reserved     00
<3:2>   P0.1  GPIO(0.1)  RxD(UART0)     PWM3         EINT0      00
...

UART0 ın Rx ve Tx giriş çıkşlarını Port 0 ın 0 ve 1 nolu pinlerine aktarmak için PINSEL0ın son rakamı 5 olmalı (birary 0101).

Port ayarları da  U0LCR = 0x00000083;         /* 8 bits, no Parity, 1 Stop bit     */
 U0DLL = 0x000000C2;         /* 9600 Baud Rate @ 30MHz VPB Clock  */
 U0LCR = 0x00000003;        /* DLAB = 0                          */

...

UART0 okuma yzama fonksiyonları da

int putchar (int ch)  /* Write character to Serial Port    */
{                  
 if (ch == '\n')  {
   while (!(U0LSR & 0x20));
   U0THR = CR;                 /* output CR */
 }
 while (!(U0LSR & 0x20));
 return (U0THR = ch);
}

int getchar (void) /* Read character from Serial Port   */
{                    
 while (!(U0LSR & 0x01));
 return (U0RBR);
}
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: mcan - 15 Ocak 2006, 14:58:50
zevkli olmaya başladı tabi kara cahil gibi kod yazıyorum  :D  ,benim şu kod neden acayip bişeyler yazıyor satranç daki yere ben 123 yazmasını istedim ama o hbhbhb  ..... yazıyor
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 15 Ocak 2006, 15:14:44
Alıntı yapılan: "encryptedcode"zevkli olmaya başladı tabi kara cahil gibi kod yazıyorum  :D  ,benim şu kod neden acayip bişeyler yazıyor satranç daki yere ben 123 yazmasını istedim ama o hbhbhb  ..... yazıyor
UART0 a bağlı terminale mi? LPC2124 frekansını 12 den 60 MHz'e çıkart belki düzelir, bende öyle düzeldi.

Bahsettiğin şeyi grafik LCD ekrana yazdırıyorsan kodlarını isterim :)
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 15 Ocak 2006, 22:37:54
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
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: mcan - 15 Ocak 2006, 22:59:20
valla linuxu gömmüşler arm7tdmi sadece bir işlemci olması gerekiyor yanılıyor olabilirim yani romu falan yok benim bildiğim
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: engin_ - 16 Ocak 2006, 00:52:18
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.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: engin_ - 16 Ocak 2006, 01:00:51
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.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: CaFFeiNe - 17 Ocak 2006, 20:32:25
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 :)
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 27 Ocak 2006, 14:48:50
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)
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: mcan - 27 Ocak 2006, 15:11:34
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
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Veli B. - 27 Ocak 2006, 15:28:37

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.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 27 Ocak 2006, 15:30:40
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.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Veli B. - 27 Ocak 2006, 15:43:57
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
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: mcan - 27 Ocak 2006, 15:44:46
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
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 27 Ocak 2006, 16:49:42
@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?
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: mcan - 27 Ocak 2006, 16:54:53
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
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Veli B. - 27 Ocak 2006, 16:56:41
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.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: CaFFeiNe - 27 Ocak 2006, 22:28:43
@petek
çevirici için bunun gibi birşey çizdim ama
(http://img206.imageshack.us/img206/759/ad8hf.jpg)
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 :)
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 28 Ocak 2006, 00:41:11
@encryptedcode, katana

çeviri için ilk 76 sayfayı ben alayım diyorum. Geriye Chapter 4 User Peripherals ve Chapter 5 Keil Tutorial (örnekler bu bölümde anlatılmış). Uygun olduğunu düşündüğünüz yeri alabilrsiniz. Hatta bir sayfa bile olur. Yalnız mükerrer çevirmemek için birbirimizi haberdar edelim bu konuda.

Alıntı yapılan: "CaFFeiNe"@petek
...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 :)
Bizimki biraz hazıra konmak gibi olacak ama malum şu çeviriye devam edeceğim...
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: mcan - 28 Ocak 2006, 23:31:39
chapter 4 den başlıyorum bende ozaman(encryptedcode benim,sağolsun katana, ismimi değiştirdim)
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 28 Ocak 2006, 23:41:54
Alıntı yapılan: "mcan"chapter 4 den başlıyorum bende ozaman(encryptedcode benim,sağolsun katana, ismimi değiştirdim)
Hocam çok iyi olur. Coşkun'dan rica edelim seni de çeviri grubuna dahil etsin.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Veli B. - 29 Ocak 2006, 00:10:40
Bana da 5. bölüm kaldı o zaman ;)
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: CoşkuN - 29 Ocak 2006, 00:18:11
Sizlere de çeviri grubunda bir başlık açalım isterseniz.Koordinasyonu sağlamak kolay olur.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 29 Ocak 2006, 00:34:37
Alıntı yapılan: "katana"Bana da 5. bölüm kaldı o zaman ;)
Malesef en çok size düşmüş  :twisted: Şaka, yani 1 sayfa bile olsa kabulümüzdür. Belirli bir tarihimiz yok. O nedenle acelemiz de yok.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: CoşkuN - 29 Ocak 2006, 00:45:12
Çeviri odasındaki bölümünüz hazır.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: ahmet abüü - 29 Ocak 2006, 13:43:39
Arkadaşlar size asil bir görev verecem.
Protel'i yükleyin ve şu linkdeki dosyaları indirip derhal inceleyin.
Yanlış anlamayın bu bir emirdir. Marş Marş.

http://www.pcbonline.org/download/download.php
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 31 Ocak 2006, 00:11:22
Alıntı yapılan: "ahmet abüü"Arkadaşlar size asil bir görev verecem.
Protel'i yükleyin ve şu linkdeki dosyaları indirip derhal inceleyin.
Yanlış anlamayın bu bir emirdir. Marş Marş.

http://www.pcbonline.org/download/download.php
Ahmet Abüü , dosyaları indirdim de henüz ne olduğunu anlayamadım. Yüklemek gerekiyor ve bu aralar yüklemek istediğim bazı programlardan solucan çıkıyor. Biraz çekindim, ilk fırsatta bakacağım ...

http://www.ulrichradig.de/index.html bu linkteki kardeşimiz ARM7 ile güzel şeyler yapmış. Eagle çizimleri falan var. Sol tarafta 2 adet ARM ile ilgili link var. Alttakinde LPC22XX kartı falan var, diğerinde Atmelin işlemcsi var. Web server falan yapmış. Bir de ucLinux bootloader ve kernelini koymuş. LPC2294 kartıyla yapmış.
zipli halde aşağıdaki dosyalar var:
Philips ARM LPC22xx µClinux Bootloder
Philips uClinux Patch for Kernel 2.6.5  

İncelemekte fayda var. Sayfalar Almanca. Maxthon browser kullanıyorsanız adres satırının sağından hemen translatoru seçin, sayfaların ingilizcesi karşınıza geliyor.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: aYe - 01 Şubat 2006, 10:55:54
@Petek

Hocam şu son verdiğin ARM ile ilgili linkte xlink'ler için sağlam dosyalar buldum. Neye niyet neye kismet :D Ellerine sağlık...

İyi çalışmalar...
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 01 Şubat 2006, 11:41:57
Alıntı yapılan: "tatlisukurnazi"@Petek

Hocam şu son verdiğin ARM ile ilgili linkte xlink'ler için sağlam dosyalar buldum. Neye niyet neye kismet :D Ellerine sağlık...

İyi çalışmalar...
Buna algının seçiciliği mi deniyordu :) Herkes nasibini alıyor :)

Xilinx için hem jtag hem demo board şema ve PCB çizimi koymuş. helal olsun. Yalnız kristal yerine ne555 mi kullanmış?
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 01 Şubat 2006, 12:17:41
Aynı linkte AVR linki altında AVR-webcam kısmında arkadaş sony-ericsson webcam i açmış. İçinden ARM7TDMI çıkmış.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 01 Şubat 2006, 12:49:26
Aynı linkte ARM7 altında "Projekt_WebBox2.zip" 2 yüzlü ve LPC22?? için bir PCB çizimi var. Ethernet için RTL8019 kullanmış. Birde IDE arabirimine benzer bişeyler yapmış. 4 MB RAM var. uClinux kullanmış.

Bu kartı (istanbul'da) yaptırmak istesek ne kadara malolur bir fikri olan var mı? RTL8019 da artık bulmak zor gibi, hurdacıları gezeceğiz artık. RAM de cypressin galiba, onu ve SD kart soketini de bulduk mu gerisini hallederiz inşaaallah.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: z - 06 Şubat 2006, 14:13:14
ARM7 için sade bir asm derleyici yok mu?
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 06 Şubat 2006, 15:23:49
Alıntı yapılan: "bunalmis"ARM7 için sade bir asm derleyici yok mu?
Hem Keil'de, hem GnuARM de C derleyici, assembler derleyici ve linker mevcut. Yani istersen programın tamamını assembler ile yazabilirsin. Ama tavsiye edilmiyor.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: z - 06 Şubat 2006, 15:36:26
Herhangi bir crack işlemine gerek kalmadan asm derleyiciyi elde edemiyormuyuz?
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Petek - 06 Şubat 2006, 15:51:32
GnuARM ücretsiz. İsterseniz Keil uVision3 arayüzü olmadan da kullanabilirsiniz. Fakat Keil kullanmanızın avantajı, seçeneklere göre asm ve link opsiyonlarını oluşturuyor. Yoksa konut satırından çalıştıracaksanız bir batch file içerisine bu opsiyonları kendinizin eklemesi gerekir. Ya da bir makefile oluşturacaksınız. O da bana göre zor iş. Keil uVision3 arayüzü olmadan (KeilARM 2.42) simulasyon özelliğinden mahrum kalacaksınız.

Keil ARM v2.42 (http://rapidshare.de/files/13008009/Keil_ARM_v2.42.rar.html)
Sadece Keil yeterli. Krakerleri içinde. Yanına bir bardak çay da iyi gider  ;)

Ücretsiz gnu derleyici isteyenler aşağıdakini indirebilir.
gnu arm 331 (http://rapidshare.de/files/11002424/gccARM331.exe.html)
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: lozzik - 22 Eylül 2006, 18:08:13
Merhabalar,
Konuyu baştan beri okudum oldukça iyi gidiyormuş burda neden bitirdiniz.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Burak B - 29 Ekim 2006, 11:39:58
Selam;

Şimdi bunu söylemenin yerimi değilmi bilmiyorum ancak Keil uVision ile Hitex Insider Kitabının örneklerini (veya herhangi bir programı) derledikten sonra proteusta çalıştırmak istiyorsanız tek yapmanız gereken Keil derleme seçeneklerinden "Create Hex File" seçeneğini işaretleyip oluşan hex dosyayı kullanmak. Ben o örneklerin hepsini çalıştırdım :). Hatta kendim bişiler yazdım (bknz. SED1565 ve LPC2124 başlıklı yazım) ancak LCD çalışmadı   :D  
diğer yandan I2C ile eeprom kopyalama v.s. haberleşme v.s. güzel çalışıyor. Umarım bu bilgi işinize yarar.

Güzel alet vesselam.

Saygılarımla.
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: Burak B - 29 Ekim 2006, 11:42:53
Unutmadan birşey daha Keilde Peripherals menüsündeki işlemler debug yaparken baya yararlı oluyor :) GPIO SPI I2C v.s. takibinde. Ayrıca şu linke bir göz atın.
http://www.labcenter.co.uk/index.html?/support/vdmkeil.htm

Saygılarımla;

Ah askerlik ahh.. :)
Başlık: ARM7 mimarisi, özellikleri ve ARM/Thumb programlama
Gönderen: picusta - 09 Kasım 2006, 17:41:05
ARM'yi ASM'de programlamak isteyenler için faydali bir kaynak.
ARM'in mimarisinden nasil en iyi avantaj çekilir? Pipelinelari optimal kullanim,  compiler'lerin bile bilmedigi trikler, hepsi burda:
Efficient_programming_techniques_for_ARM (20 sayfa civari)
http://rapidshare.com/files/2643091/Efficient_programming_techniques_for_ARM.pdf.html