Ynt: STM'ye ilk adımlar

Başlatan veliusta, 26 Ocak 2016, 21:10:29

veliusta



Bunlar var elimde. Hangi derleyiciyi kullanacağım? Keil mi? IAR mı?
STM'de HEX dosyası yok sanırım onun yerine bin dosyası var.



Bana bin dosyasını yükleyecek bir program lazım daha önce kullandınız mı böyle bir yazılım.

mesaj birleştirme:: 26 Ocak 2016, 21:20:28

Programlamak için Programlayıcı ile karttaki hangi pinlere bağlayacağım?
Karttaki jumperleri ne zaman kullanacağım?

@z

Okan AKÇA

Hocam micro c ile baslayiniz daha sonra keil yada air ile devam edersiniz

hgs

Keilde programı derlediginde hex oluşur. Programlayıcıyı keil görüyorsa load dediginde direk yükler hexi .

atomx

Keil karmaşık arayüze sahip ama kullanımına laf edemem. Coocox ide kullanabilirsşniz gnu arm compiler tabanlıdır, ücretsiz güzel arayüze sahiptir. Elimizde stlink var ekstra programlama arayüzüne ihtiyacınız yok. SWD yani debug işleriniz bu cihazla coocox veya herhangi bir ide üzerininden galledebilirsiniz. HEX çıktısına gelirsek opsiyoneldir, feğişen tek şey dosya uzantısından öte gitmez. Bu arada keil ücretsiz kullanımı 32kb hafıza ile sınırlıdır. Flash Loader yani görselini attığınız uygulama serial port veya serial usb üxerinden program flashlamak için chip içine atılmış bootloader ile tümkeşik çalışır. Mikroc ye gelirsek  kullanmadım :) register seviyesinde çalıştığım için. Ama kullanım kolaylığı sağlar baş ağrıtmaz en azından döküman mevcut. Kolay gelsin.
Hüseyin TECER

MC_Skywalker


baran123

Emblock Kullan.(Beleş, Sınırsız, Kolay) :D
STD Lib içinde geliyor.Tek tuş ile programı yükleyebiliyorsun.
Kitindeki 4 adet pini programlayıcıdaki (SWDIO(DATA), SWCLOCK(CLOCK), 3.3V, GND) bağlayacaksın.
Jumperları hatırlamıyorum ama kitin şemasına bakmanda fayda var.
Programlayıcı arayüzü olarak "STM32 ST-Link Utlity" var.
Kolay gelsin.

veliusta

@baran123 EmBitz 0.42  bunu yükledim yazılım bu mu?

Examples 'dan STM32F4 - Blinky (with SVD) 'yi indirdim. Çok fazla kütüphane ve kod yazılmış.
LED yakıp söndürmek için Bu kadar kod fazla değil mi?

atomx

Maalesef stdlibrary işleri kolaylaştırıyor ama yinede kod miktırı cok fazla. GPIOX->CRL ve CHL registerlarını tanımlamak için nerden baksan en az 5 satır kod gerekli
Hüseyin TECER

veliusta

O zaman en iyisi öğrenmemek. Nasılsa para kazanamıyorum.


Arduino ile programlamaya devam edeyim o zaman.

Okan AKÇA

Hocam size micro c dedim  ama oralı bile olmadiniz ardunio devam bencede  kimse ccs önermez herkez kullanır micro c icinde aynı  micro c ile hiç proje gelistirmedigim halde  cok profesyonel proje gelistirebilirim
Sonuç olarak başlamadan korktunuz.

atomx

Hüseyin TECER

baran123

Yahu STM32 diyorsun, Arduinoyla programala diyorsun çıldıracağım !:D
Eğer genç biriysen ve kendini geliştirmek istiyorsan arduino ile uğraşma !
Yoksa ne farkı kalır ki ? Sadece kt değiştirmiş olursun.
Embitz değil Em::Blocks yükle onunla STD lib kullanarak program geliştir.

Tabi yaşım geçmiş maksak eğlenmek diyorsan arduino ile devam.
Lütfen yanlış anlama sadece bir öneri :)

veliusta

#12
Alıntı yapılan: atomx - 26 Ocak 2016, 23:24:41
http://www.youtube.com/watch?v=-zwGnytGT8M

Daha önce zaten böyle kullanıyordum.

Tamam. Micro C 'yi de bir deneyeyim.

mesaj birleştirme:: 27 Ocak 2016, 15:32:34

Alıntı yapılan: baran123 - 27 Ocak 2016, 01:22:11
Yahu STM32 diyorsun, Arduinoyla programala diyorsun çıldıracağım !:D
Eğer genç biriysen ve kendini geliştirmek istiyorsan arduino ile uğraşma !
Yoksa ne farkı kalır ki ? Sadece kt değiştirmiş olursun.
Embitz değil Em::Blocks yükle onunla STD lib kullanarak program geliştir.

Tabi yaşım geçmiş maksak eğlenmek diyorsan arduino ile devam.
Lütfen yanlış anlama sadece bir öneri :)


Yok hocam yanlış anlamadım.
Arduino IDE ile STM programlıyorum fakat bunun mantıksız olduğunu biliyordum. Şimdi düşünüyorum. Az biraz PIC, Arduino , AVR öğrendim. Birazda STM öğreneyim dedim. Fakat STM Programlamak çok zormuş. İnternette türkçe kaynağı bırak ingilizce kaynak bile çok az.
Şimdi ben STM Programlayı öğrensem ne olacak öğrenmesem ne olacak? Tamam en iyi mikrodenetleyici şuan ama bana ekmek vermez ki.

mesaj birleştirme:: 27 Ocak 2016, 15:34:52


Em::Blocks nerede?
http://www.emblocks.org/web/downloads-main

mesaj birleştirme:: 27 Ocak 2016, 02:17:22

void main(){
  GPIO_Digital_Output(&GPIOC_ODR,_GPIO_PINMASK_13);
  
  while(1){
    GPIOC_ODR = 0x2000;
    delay_ms(1000);
    GPIOC_ODR = 0;
    delay_ms(1000);
  }
}


LED Blink yapmaya çalıştım. Doğru mu?

Karamel

ustadim.

benim suan a kadar anlayabildigim kadari ile. her microcontrollerin peripheral unitlerinin yada kendi status veya osc unitlerinin ayarlarinin yapildigi registerlar var.

mesela siz yukarida GPIOC_ODR registerina birseyler yazmissiniz.(yani bunun icerigini degistirmissiniz) stm microcontrollerlarda bu boyle iken mesela pic microcontrollerlarda latc seklinde olabilir. atmel microcontrollerlardada daha baska sekilde.

simdi sizin en basta. yeni tanistiginiz microcontroller in. calisabilmesi icin once oscillator unitini set etmeniz gerekiyor. sonra IO unitini set edip. led blink edebilirsiniz. daha sonra spi. i2c vs diger unitler ile calisabilirsiniz.

su compiler. bu compiler ile degilde. reference manual i acip. okuyup. hangi resterlar neler ile alakali. bunlari degistirince neler oluyor diye bakarsaniz. ve bunlari kullanirsaniz. keil. microc yada digerleri. ne kullandiginizin pekte onemi kalmiyor. cunku ayni seyleri yazmis oluyorsunuz. st microelectronics keil e kuvvetli bir destek veriyor. keil da calisan kendi librarylerini yayinliyorlar. (hal)

ben library kullanimini halen mantiken dogru bulmadigimdan bu seyle hic ilgilenmiyorum. cunku bu isin sonunda hep soyle durumlar oluyor. bu GPIO_Digital_Output(&GPIOC_ODR,_GPIO_PINMASK_13); code u yazdim. gpio 13 output olmuyor. neden benim code lar calismiyor? neden isimi duzgun yapamiyorum?

halbuki reference manual da belirtilen IO ile ilgili register a istedigimiz degeri direkman yazsak. sorun kalmiyor. bu basit bir ornekti. ornekler cogaltilabilir. yine benim ogrenebildigim kadari ile insanlar artik microcontrollerlari libraryler olmadan programlayamiyorlar(neden boyle bilmiyorum). mesela bakiyorsun ki. camera sensor u stm microcontrollerin unit i ile calistirmis. iste tusa basinca goruntuyu sd card a kaydeden ciddi bir proje yapmis ama bunu yaparken reference manual i hic okumamis(librarylerden gerek kalmamis). iste bir yere kadar gelmis. sonrasinda takiliyor. takildi konuda mesela microcontroller camera function ini cagirinca microcontroller takiliyor. sorun ne olabilir? ne bilelim ne olabilir? code larin %1 yada 2 si kadari kisisel olarak yazilmis. ne olacagini tahmin etmek yada anlamak cok guc.

baran123

#14
https://www.picproje.org/index.php/topic,59727.0.html
Burada önceden yaptığımız dersler var.
Bence bir tane STM32F0 Discovery kit al bu dersleri anlayarak uygula.(STM32F051 işlemcili)
Takıldığın yerde direk bana yaz her türlü konuda yardım ederim.