Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Konuyu başlatan: polleme - 17 Temmuz 2013, 16:00:12

Başlık: Ynt: ARM Programlama
Gönderen: polleme - 17 Temmuz 2013, 16:00:12
Değerli üstatlar,

Bu başlığı açmadan önce çok düşündüm, forumda ARM Programlama konusunu arattım, 700 civarı başlık çıktı. Hepsini okusam bir ay zaman ayırmam gerekir. Bana çok kısaca yol gösterebilecek biri olursa çok memnun olurum. Ben PIC, AVR, Arduino gibi ortamlarda CCS C ve MikroC ile küçük çapta projeler yaptım. Son dönemde ARM tabanlı Raspberry, Mini2440, Beaglebone, Beagleboard, STM32 Discovery gibi kartlara baktım, C ile programlama yapılmak istendiğinde karşımıza farklı bir C programlama ortamı çıkıyor. Bu noktada sorularım şunlar:

1- Yukarıda saydığım kartlarda C ile programlama yaparken kullandığımız programlama temeli ve format benzer midir? Yani birinde yazılan bir program donanımsal değişimler yapılınca diğerine kolayca uyarlanabilir mi?
2- Temel kavramlardan başlayarak konuyu anlatan bir dökümanla desteklenen ve bu konuda en iyi olan bir ARM platformu varsa hangisidir?
3- Geliştirme ortamı olarak Keil'ın adı sıkça geçiyor, yeni başlayanlara uygun mudur?

Kısaca nasıl (hangi kartla, dökümanla ve geliştirme ortamı ile) başlamamı önerirsiniz?

Zahmete soktuğum arkadaşlara şimdiden teşekkür ederim.

mesaj birleştirme:: 17 Temmuz 2013, 16:03:19

Bu arada forumdaki bazı konu başlıklarını okudum, okumadım değil ama ileri düzeyde konu anlatımları ve uygulamalar geçince birşey anlamak mümkün olmuyor, bazı başlıklarda bu konudan bahsedilse bile o kadar farklı şeylerden bahsediliyor ki yeni başlayan birinin kafasının çorba olmaması imkansız.  :)

O nedenle yeni başlık açmamın mazur görülmesini tekrar rica ediyorum.
Başlık: Ynt: Ynt: ARM Programlama
Gönderen: mistek - 17 Temmuz 2013, 16:28:12
ARM programlama konusunda ilk başvurulacak kaynak bence Barış Samancının hazırladığı dökümandır.
http://www.barissamanci.net/AltKategori/9/lpc2000-programlama-klavuzu/ (http://www.barissamanci.net/AltKategori/9/lpc2000-programlama-klavuzu/)

Sonrasında forumda Z hocanın anlatımıda çok iyi bir kaynak zaten ufak bir giriş yaptığınızda gerisi daha anlaşılır hale geliyor. Kütüphane kullanırsanız muhtemelen işler dahada kolaylaşacaktır.

C kullanırsanız ve donanımsal değişiklikleri yaparsanız kodların neredeyse tamamı çalışacaktır. STM32f4 de çalıştırdığım programı LPC1769 da da çalıştırıyorum.
Başlık: Ynt: ARM Programlama
Gönderen: polleme - 17 Temmuz 2013, 17:13:01
Barış Samancı'nın dökümanından gidersem hangi kartı kullanmam uygun olur? LPC2000 almak zorunda mıyım? Elimde olan kartları saymam gerekirse

Beaglebone
mbed
STM32 Discovery
MSP430
Mini2440
Raspberry
Başlık: Ynt: ARM Programlama
Gönderen: diot - 17 Temmuz 2013, 17:17:11
Ben arm ye stm32f407 discovery kit ile başladım , derleme ortamı olarak keil kullanabilirsin. c tabanın varsa zaten yabancılık çekmeyeceğine eminim.  Ben hazır yazılmış projeleri inceleyerek başlamıştım hala incelemelerim devam ediyor. Gözünde büyütmene gerek yok. İyi çalışmalar.
Başlık: Ynt: ARM Programlama
Gönderen: polleme - 17 Temmuz 2013, 17:25:59
Alıntı yapılan: diot - 17 Temmuz 2013, 17:17:11
Ben arm ye stm32f407 discovery kit ile başladım , derleme ortamı olarak keil kullanabilirsin. c tabanın varsa zaten yabancılık çekmeyeceğine eminim.  Ben hazır yazılmış projeleri inceleyerek başlamıştım hala incelemelerim devam ediyor. Gözünde büyütmene gerek yok. İyi çalışmalar.


Peki STM32 Discovery ve Keil ile gidersem ARM'e yeni başlayan biri için hangi dökümanı önerirsiniz? Malum un, yağ ve şeker olmadan helva olmuyor.  :)

Başlık: Ynt: ARM Programlama
Gönderen: Icarus - 17 Temmuz 2013, 17:36:14
Ben sadece birkaç gün önce ARM'a başlamış biri olarak şunu söyleyeyim
ARM System Developer's Guide
The Definitive Guide to the ARM

Kitapları güzel
Çok basit dahi olsa Board olarakta kendi board'umu kendim dizayn ettim.
Neden ?
Pek çok hazır board'da, onların geliştirme ortamlarında önemli kodlar hazır olarak üretiliyor ve encapsulation'la sizden saklanıyor.
Eğer konuyu biliyorsanız rahatlatıcı birşey ama benim gibi yeni öğreniyorsanız işinizi ve debug etmenizi çoooooooooooooook zorlaştırıyor.

ARM ile ilgili birkaç not düşeyim.
x86'da driver vb.. yazdıysanız ARM %99 aynısı sadece harvard mimarisi.
Başlık: Ynt: Ynt: ARM Programlama
Gönderen: mistek - 17 Temmuz 2013, 17:42:43
Çekirdek olarak hepsi ARM oldukları için çok yabancılık çekmeyeceksiniz her platform birbirine benzer. Başlangıç için mbed ve discovery bu iş için uygundur örnekleri çok fazla. Kullandığınız mikroişlemcinin datasheet ve uygulama notları birçok noktada yeterli gelecektir. İşin mantığını anladıktan sonra gerisi kolay.

He standart kütüphane kullanımını anlatacak kaynak varsa bende öğrenmek isterim :)
Başlık: Ynt: ARM Programlama
Gönderen: mir_as82 - 17 Temmuz 2013, 23:21:51
CCS firmasının yaptığı IDE ortamı da Arm işlemciler ile çalışılabiliyor mu eğer çalışılıyorsa hangi versiyon da çalışıyor acaba?
Başlık: Ynt: ARM Programlama
Gönderen: sadogan - 18 Temmuz 2013, 01:06:12
Alıntı yapılan: mir_as82 - 17 Temmuz 2013, 23:21:51
CCS firmasının yaptığı IDE ortamı da Arm işlemciler ile çalışılabiliyor mu eğer çalışılıyorsa hangi versiyon da çalışıyor acaba?
CCS yanlızca pic32 hariç diğer pic ler için 32bit pic ler dahi desteklemiyor.
Başlık: Ynt: ARM Programlama
Gönderen: z - 18 Temmuz 2013, 01:36:13
Forumda STM32F4 kullananlarin, anlatimlarin orneklerin sayisi da cogaldi.  Fiyati da uygun bir kart.

Derleyicisi de sorunlu degil. Baslangic icin cok fazla dusunmene gerek yok.

ARM felsefesini kavrayinca diledigin cipi sec ve kendi kartini tasarla kodlarini yaz.

Picproje' STM32F4 konusunda size yeter.

(STM32F4 felsefesini anladim ve bu kitle ve ciple isim bitti hatta bu cipi unuttum. Bu yuzden de ozellikle de islerimin yogunlugundan bu ciple ve kitle ilgili sorulara katilamiyorum. Ozel mesaj yoluyla gelen STM32F4 sorularina hic cevap yazamiyorum)

Başlık: Ynt: ARM Programlama
Gönderen: mir_as82 - 18 Temmuz 2013, 05:17:50
Hocam beaglebone black aşağıda yazılan ürünün gelişmiş modeli midir? Ben şunu öğrenmek istiyorum, STM32F4 veya beaglebone black, arm geliştirme kiti ve ayrıca yazılan programı arm işlemciye jtag aracılığı ile yükleme kartı mıdır? yani hem deney seti hem arm işlemciye program yazma aracı.
Başlık: Ynt: ARM Programlama
Gönderen: polleme - 18 Temmuz 2013, 11:35:45
Bu kısa ve öz yazışmalarla yolumu belirledim. Cevap veren arkadaşlara teşekkür ederim. Bu durumda elimde olan STM32F4 Discovery ile başlıyorum, Keil kullanacağım. Forumlardaki (Türkçe de var) ve picproje'deki basit proje ve uygulamalarla başlamaya karar verdim.

Başlık: Ynt: ARM Programlama
Gönderen: muhittin_kaplan - 18 Temmuz 2013, 11:41:55
Önce Z nin registerleri kullanarak lowlevel programlamasını hallet, bu sana dataseheet incelemesini nerede neler oluyor u öğretiyor.
sonrasında kütüphanlerle çalışmaya geç.
Başlık: Ynt: ARM Programlama
Gönderen: polleme - 18 Temmuz 2013, 13:26:08
Alıntı yapılan: muhittin_kaplan - 18 Temmuz 2013, 11:41:55
Önce Z nin registerleri kullanarak lowlevel programlamasını hallet,

Bunu nereden bulurum. Bu bilgiler datasheet içinde var sanırım, doğru mudur?

Low level programlama için de Assembler önermiyorsunuzdur umarım.  :) 
Başlık: Ynt: ARM Programlama
Gönderen: muhittin_kaplan - 18 Temmuz 2013, 13:30:40
yok c den bahsediyorum.

https://www.picproje.org/index.php/topic,35794.0.html (https://www.picproje.org/index.php/topic,35794.0.html)
https://www.picproje.org/index.php/topic,35896.0.html (https://www.picproje.org/index.php/topic,35896.0.html)
Başlık: Ynt: ARM Programlama
Gönderen: polleme - 18 Temmuz 2013, 15:17:26
Bu linkler iyi gerçekten. Buradan başlarım. Başlamadan once buradaki terminolojiyi anlatan (örnek GPIOD->ODR= 0x0000F000) bir temel döküman var mıdır? Yoksa bu bilgiler de datasheet'te mi var?
Başlık: Ynt: ARM Programlama
Gönderen: cinque - 18 Temmuz 2013, 21:09:23
Alıntı yapılan: polleme - 18 Temmuz 2013, 15:17:26
Bu linkler iyi gerçekten. Buradan başlarım. Başlamadan once buradaki terminolojiyi anlatan (örnek GPIOD->ODR= 0x0000F000) bir temel döküman var mıdır? Yoksa bu bilgiler de datasheet'te mi var?

İlerleyen sayfalarda sorularının cevapları veriliyor zaten. Başta zor gözükebilir ama vakit ayırınca anlaşılıyor.
Başlık: Ynt: ARM Programlama
Gönderen: ayhan_eee - 18 Temmuz 2013, 22:58:11
Eğer amacın hobi olarak öğrenmekse STM32F4Discovery kullanabilirsin.Ama ticari olarak da kullanmak istiyorsan STM32VLDiscovery öneririm maliyet açısından kara geçersin. Kaynak olarak da çeşitli siteler ve bloglar mevcut.Kişilerin bloglarını da takip et. ST kit sayfasından  gerekli örnek kodları indir ve incele! :)