Picproje Elektronik Sitesi

DERLEYİCİLER => Diğer Derleyiciler => KEIL => Konuyu başlatan: z - 09 Mart 2011, 09:42:07

Başlık: ARM Assembler
Gönderen: z - 09 Mart 2011, 09:42:07
ARM assembly icin Keil kullaniyorum. Fakat bana daha yetenekli assembler gerekiyor.

Bir komutun 16 bit yada 32 bit yazimi mumkun. Ben komutu yazip derledigimde derleyicinin daha kisa kod uretmek icin 16 bit komut is goruyorsa 16 bit komutu olmuyorsa 32 bit komutu kullanmasini istiyorum.

Ote yandan sabitlerin tanimli oldugu veri havuzlarini  romda oyle adreslere yerlestirsinki kodlarim 16 bit agirlikli kullanilacak sekilde uretilsin. (Bu bayagi bir zor islem)

Bu tip optimizasyonlar ancak bilgisayar yazilimi ile yapilabilir. Bunlar, program yazanin yeteneklerine birakilirsa bu tip optimizasyonlar yapmak o kadar zor ve usandirici ki isin bu boyutu ana is olan program yazimindan daha cok zaman alir ve sistematik bir seyler de yapmak, yazim cesitliligin fazlaligi acisindan nerede ise imkansiz.

Sonucta bu tip konularda yardimci olan assembler ariyorum.

Başlık: Ynt: ARM Assembler
Gönderen: z - 09 Mart 2011, 11:53:10
Bu tur konulari nerelerde konusuyorlar? Bildigin bir form varmi?
Başlık: Ynt: ARM Assembler
Gönderen: z - 09 Mart 2011, 12:13:31
Elle optimizasyon yapmasina yapiyorum da ortaya cikan kodun bir de bahsettigim boyutunda optimizasyonu var. Ancak isin bu boyutu gicik.
Buna kafa yormaya kalkarsam hos olmaz. Bu yuzden isin bu kismini PC ye yikmam lazim.

Başlık: Ynt: ARM Assembler
Gönderen: z - 09 Mart 2011, 14:31:38
Zaten oyle yapiyorum. Bosu bosuna kasmiyor, hiz gerektirmeyen kisimlari C ile gecistiriyorum. Fakat asm olmasi gereken fonksiyonlarimi bir kademe daha ileri optimize edildigini bildigim halde o optimizasyonu elle yapmak iskence gibi.

Sirf bu yuzden akilli bir sey ariyorum. Yoksa da boynumuzu bukecegiz.
Başlık: Ynt: ARM Assembler
Gönderen: z - 09 Mart 2011, 18:15:05
CPU Clk 50Mhz ve kodlarimizi flashdan kosturuyoruz herhangi bir wait state gerekmiyor. Kodu flashdan rama tasirsam overclock yapmamda sakinca yok mu demek istiyorsun? Yoksa daha farkli bir aciklamasi mi var?

Eger Ramdan calisan kodun daha hizli calismasi flash'in yavasligindan kaynaklaniyorsa TI bu konuda cok iyi. Bir seminerde TI'in bu konuda DSP lerde oldugu gibi ARM ailesinde de lider oldugu, ustune basa basa vurgulanmisti.

C de yazilmis 3K lik programi  Asm ile 2.5K ya indirdim. Bu benim icin, heryeri C ile yazmamam icin yeterli bir neden.
Yazdigim kritik kodlarin kosma suresini surekli olarak scopla monitor ediyorum. Henuz netlesmese de, 40Mhz DSP ile gerceklestirdigim projemi 50Mhz CM3 de saf asm kodlama ile bile yapamayacakmisim gibi bir his olusmaya basladi. Proje henuz cok baslarda ve scoptaki goruntu beni korkutmaya baslatti.

Başlık: Ynt: ARM Assembler
Gönderen: z - 07 Mayıs 2011, 01:37:39
Yukarida deginmistim ama simdi tam hatirladim.

TI ARM seminerinde, TI Flash teknolojisinde de lider ve tecrubelerini ARM islemcilere yansitti demislerdi.

Rakamlar tam aklimda degil ve soyle devam ettiler.

300MHZ ARM islemciyi diger firmalar da uretiyor fakat biz Flash'dan zero wait state ile kod kosturabiliyoruz. Diger firmalarin ciplerinde bu hizda calisabilmek icin ya flash erisimine wait state koymak zorunda kaliniyor yada kodlari ramdan kosturmalisiniz demislerdi. (Buradaki 300Mhz rakamindan emin degilim)
Başlık: Ynt: ARM Assembler
Gönderen: z - 07 Mayıs 2011, 01:43:28
ASM dosyasi icinde asm kodlama yapilirken adres havuzunu kendimiz doldurmak zorunda kaliyorduk. Fakat asm kodlamayi C icinde fonksiyon bazinda yazarsak havuzu C derleyici kendisi olusturuyor, ustelik C kullanimi icin gerekli register tanimlari aynen kullanilabiliyor. Hiz optimizasyonu icin bu sekilde yazim bu tercih edilebilir.

Fakat kod uzunlugu acisindan optimizasyonda tum hamalliklarin elle yapilmasi gerekiyor ve kodlari asm dosyasinda yazmak avantajli hale geliyor.
Başlık: Ynt: ARM Assembler
Gönderen: z - 19 Ağustos 2011, 04:05:52
Red Suite 4 de CM3 islemcilere aynen Keil'de oldugu gibi C uzantili dosya icinde asm fonksiyon yazabiliyormuyuz?

Derleyiciyi  kurdum ancak asm konusunda Keilin sunduklarinin hicbirini veremiyor izlenimine kapildim.

Bu derleyiciyi kullananlar genel hatlariyla Keil ile mukayese edebilirmi?
Başlık: Ynt: ARM Assembler
Gönderen: faltun - 17 Aralık 2012, 14:31:31
Bizde STM32 ortamında Cortex-M3 kullanıyoruz. Yola Keil ve RTX işletim sistemi ile çıktık. Fakat Keil ARM'in olmasına rağmen Assemler'da sorunlar gördük ve C++ kodumuz hatalı olarak compile ediliyordu, hatta bazı standart C++ kalıpları compile edilemiyordu. Sorunlardan bıktık ve sonunda IAR & ThreadX RTOS ortamında karar kıldık. O gündür bu ikisini kullanıyoruz ve çok memnunuz. Ürünlerimiz oldukça optimize, hızlı ve güvenilir çalışıyor. Özellikle ThreadX basit görünmesine rağmen çok yetenekli ve hızlı bir RTOS
Başlık: Ynt: ARM Assembler
Gönderen: z - 17 Aralık 2012, 14:44:58
Keil'de Assembler kullanırken ne tip sorunlar yaşadınız?
Başlık: Ynt: ARM Assembler
Gönderen: faltun - 17 Aralık 2012, 20:19:38
Temel ihtiyacımız C/C++ mixed kullanmaktı, bu soruna dönüştü. C++ inheritance kullandığımızda bazı interrupt'larımız çalışmıyordu, inheritance kalkınca herşey tekrar yoluna giriyordu. Keil support'ta bir açıklama getirememişti. Bir diğer konu class definition'unda kullandığımız public static değişkenlere diğer classlardan ulaşamıyoduk. Daha doğrusu ulaşıyorduk fakat olmadığı halde 0 değeri gözlemliyorduk. Aynı kod IAR'a geçtiğinde sorunlar ortadan kalkmıştı.
Başlık: Ynt: ARM Assembler
Gönderen: Elektroemre - 07 Haziran 2014, 00:15:14
Alıntı yapılan: gerbay - 17 Aralık 2012, 22:10:15

(http://c1212.hizliresim.com/14/k/h03kz.png) (http://bit.ly/c25MCx)


@gerbay hocam bu pencere sadece özel debuggerlar ile mi aktif oluyor?
Başlık: Ynt: ARM Assembler
Gönderen: speak48 - 07 Haziran 2014, 11:34:15
@z hocam hangi dsp nin kodunu cm3 taşıyorsunuz.
dsp den dsp ye fark var ,dsp 10mhz de olsa cm3 yetişemeyebilir. fpu yok simd hele hiç yok.

@ faltun büyük ihtimal keilde ayarlanması gereken bir yer eksik kalmıştır.
keil ds-5 in derleyicilerini kullanıyor.
arm ise ds-5 i öle böyle övmüyor ,
"şimdiye kadar hiçbir derleyici arm işlemcilerini bu kadar iyi anlamamıştır"  diye reklamını yapıyorlar.

@z hocam arm ın  keilin vs... kendi forum siteleri var.
olmadı uzakdoğu sitelerine balmak lazım.
Çin için ggle:  bbs. .cn konu_adı  bölge çin
tayvan kore rus ... nerde bulursan orda
Başlık: Ynt: ARM Assembler
Gönderen: z - 07 Haziran 2014, 11:53:43
Bire bir kod tasimadim da ayni projeyi ARM a gecirmistim.

CM3lere TMS320F240x serisinden tasindim.

Su anda DSClerin 300ns lik ADC haricinda hic bir seyini ozlemiyorum.
Başlık: Ynt: ARM Assembler
Gönderen: speak48 - 07 Haziran 2014, 12:01:40
ben olsam sizin yerinizde yine kızacaksınız ama.

ya yaptığım işlerle ilgili coprocessorü olan mcular secerdim.
yada kendim fpga ile yapardım.

o işlemciden bu işlemciye geçme derdi kalmazdı.
Başlık: Ynt: ARM Assembler
Gönderen: z - 07 Haziran 2014, 13:17:47
Eger 48 bacakli, icine STM32F103C8 islemciyi ADC de dahil olmak uzere bire bir atabilecek kadar kapasitesi olan, bir kac tane daha da kendime ozel donanim yapabilecek kapasitede FPGA cipi varsa hay hay.

Bu arada bu islemciden su islemciye gecme peryodum ortalama 10 senedir.
Başlık: Ynt: ARM Assembler
Gönderen: speak48 - 07 Haziran 2014, 15:51:18
yakında max10 çıkacak tam size göre adc dahili flash var.
50k lese kadar büyük kapasitesi var.
Başlık: Ynt: ARM Assembler
Gönderen: z - 07 Haziran 2014, 15:52:13
Fiyat ne civarda olacak?
Başlık: Ynt: ARM Assembler
Gönderen: speak48 - 07 Haziran 2014, 16:03:11
bir öngörüm yok ama stmden pahalı olcağı kesindir.