STM32F103C Development Board

Başlatan superrockstar, 04 Şubat 2012, 13:11:17

pisayisi

@Bunalmış tarafından register tabanlı kod yazma öğreti sürecinde tabiki cmsis gibi bir kavram olamazdı. Hatta st nin eski stm32 kod örneklerinde cmsis diye bir kavram yoktu. Arm firması çekirdek olarak cortex leri mikroişlemci firmalarına satarken onlarda çeşitli hardware ekleyerek piyasada iddialı ürünler oluşturup bunlara örnek kodlar yazarak bu işe başladılar. Arm firması buçeşitliği görrünce hardware donanım tarafındaki bu karmaşayı çözmek için donanım bileşenlerine standart ulaşıma imkan sağlamak için cmsis ortaya kondu. Böylece arm işlemcilerde kod geliştirmek isteyenlerin kullanabileceği bir ortak api ortamı çıktı. Bu özellikle kodların yeni işlemcilere taşınmasında, RTOSgibi uygulamalarda esneklik getiriyor.

Firmware tabanlı kod geliştiriyorsanız zaten template dosyaları cmsis uyumlu geliyor ekstra zamanlar harcamıyorsunuz cmsis uyumlu olmak için. Bence çok kafa yorulcak bir durum değil.

@uicroarm bahsettiği;
En basitinden port ayarlarmaya bakalım, 10x serisinde sadece GPIOx->CRx yeterken F40x serisinde GPIOx->MODER, GPIOx_OTYPER,  GPIOx_OSPEEDR, GPIOx_PUPDR kullanman gerekiyor. Ben bunlar arasında bir benzerlik göremiyorum

mevzuu ise firmware tabanlı kod geliştirirken register tanımlamaları ile firmware kendisi uğraştığından f1 serisi bir işlemciden f4 e geçmek bazan hiç kod değişikliğine gitmeden kütüphane dosyalarındaki modifikasyonlarla mümkün olmaktadır.
Ancak sadece f4 serisinde mevcut olan yeni bir donanım kullanılcaksa o donanıma ait özelliklerde firmware lerde yeni komutlar şeklinde kitaplığa dahil ediliyor ve o yenilik ne ise kodunuza ekleyebiliyorsunuz.

http://www.doulos.com/knowhow/arm/CMSIS/CMSIS_Doulos_Tutorial.pdf
Murat

leblebitozu

Olaylara bu kadar kişisel baktığımız sürece kimse kimseyi anlayamaz. Mesela benim için de çevre birimleri ile doldurulmuş bi dev. kart çöpten farksızdır. (ARM,FPGA,XMOS,Zigbee,Bluetooth,8051 vs. en az 20 adet dev.kit sahibi biri olarak söylüyorum) SMT32F4DIscovery'de bile gereğinden fazlası var çünkü ben kendi bileşenlerimi bağlamak için boş bacaklar isterim. Her dev kit üstünde 2x16 LCD çalıştırmanın da bir anlamı yoktur. Kart seçilirken SMT32F4'in bazılarının gözünü korkutacağını biliyordum. Bunalmis arkadasa ve seçimlerine gelince bırakın nasıl anlatırsa anlatsın, dinlemeye aç olanlar var. Hazır lib., CMSIS vs. farklı şekillerde öğretmeye gönüllü kadro varsa onları da destekleriz. Alternatif fikirler ve eğitimler için farklı fikirlerde olanlar biraraya gelip kendi yollarını çizebilirler. STM32F103 kitlerini farnell'den alabilirsiniz ben 3 adet almıştım. Son olarak şunu söylemek isterim kimse kimseyi küstürmesin ve insanların farklı zeka, fikir, ihtiyaç, imkan, hayal,zevk ve beklentileri olduğunu düşünsün.

z

Geliştirme kartları, ürün geliştirmek için değil kendimizi geliştirmek için kulanılır. Daha açıkcası acemiliği atmak için. Bu nedenle yeni bir çip üzerinde pratik yapmak isteyenler için idealdir.

Eğer ürün geliştirilecekse yapılması gereken, devre ve pcb tasarımını yapıp doğrudan bu ön ürün üzerinde yazılım geliştirilir. Eğer hata vs varsa bunu 2.pcb basımı vs izler.

Profesyoneller full aksesuarlı (LCD, Keyboard vs...vs) geliştirme kartları üzerinde ürün geliştirmez. Çünkü işlemci bacakları kart üzerindeki LCD, buton, ıvır zıvır çip vs için alıkonmuştur ve bu bacaklar tasarımcıyı aynı formatta tasarım yapmaya zorlayarak özgürlüklerinizi elinizden alır.

@Fxdev

Alıp da çöp dediğin NXP kartı ile mi yoksa doğrudan çiplemi deneme çalışması yapmak kolay?

Eğer geçmişte onca farklı çip deneyimine rağmen, yeni çıkmış bir işlemci ile çalışırken hâla LCD, buton çalışması gerekiyorsa temel konularda hâla bir şeylerin acemiliği çekiliyor demektir.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

t2

#18
Hocam yaktın milletin başını, yüzlerce dolar boşa gitti.

muhittin_kaplan

Şahsi Görüşümdür.
bir işlemciyi öğrenme aşamasında mümkünse Pinleri ben bağlayayım. İstediğim Config i ben yapayım.
Hiç Elev. Board Almadım.(Lcd Üstüne Bilmem ne pini bilmem nereye bağlı) hep salt İşlemciyle Çalıştım.Ama Şukadar pinli Bir İşlemci içinde Tutup PCB çiz Osc bağla Beslemeleri Çek yerine DEV board almak iyi bir seçimdir.

Yazılıma Gelince, Siz C bilen ler değilmiydiniz Herşeyi anlayarak yapabilme yada komutlarda bile değişiklik yapabilme kaabiliyetinden bahsedip (Basic vb türevlerinde olmayan) bu arzuyu hep ön plana çıkartan.
ASM bilmeyen biri istediği kadar Basic bilsin Hangi Reg Ne olup bittiğini anlayamaz. STACK ın bile ne olduğunu bilemez Doğrumu ?
CMSIS da burada böyle bir durum yaratıyor. Ondandır ki ilk denemelerimi hep REG kodlamasıyla alt seviyede yapıyorum.

Bu açıdan Önderlik eden Bunalmış,Allegro,Silvercoper a ve diğer arkadaşlara teşekkürü borç bilirim.

pisayisi

Bu boarda çöp diyorsanız zaten işlemci fiyatının bile altında temin ettiniz kiti.üstelik üzerinde ses codec, ivme sensörü olmasa daha çıplak olsa daha iyi olurdu. Siz şimdi bu borda bir lcd bağlamaktan birkaç buton eklemekten solder bride leri devre dışı bırakarak tüm çıkışları kullanabilmekten acizseniz bence elinizi borda hiç sürmeyin.
St nin işlemcileri ile çalışmak esasen fujitsu infineon nxp nin eşdeğerleri ile çalışmaktan birazdaha zor bunu kabullenmemek elde değil. Datasheetler uzunca karışık gibi uygulamaya dönük izahlar oldukça az. Yinede firmware tabanlı kod geliştirmeye başlarsanız ilerde yeni nesil işlemcilerde bile kodlarınızda fazla oynama yapmadan uygulamanızı yeni nesil platformlarada taşıyabilmek olanağı mevcut.

Borda çöp demeden gücünü hissedin, öğrenin öğrenmeye çalışın ben bununla başedemiyorum derseniz sizin için çöp olmuş ve kaybetmişsiniz demektir.
Murat

CLR

Alıntı yapılan: leblebitozu - 06 Şubat 2012, 11:53:44
Olaylara bu kadar kişisel baktığımız sürece kimse kimseyi anlayamaz. Mesela benim için de çevre birimleri ile doldurulmuş bi dev. kart çöpten farksızdır. (ARM,FPGA,XMOS,Zigbee,Bluetooth,8051 vs. en az 20 adet dev.kit sahibi biri olarak söylüyorum) SMT32F4DIscovery'de bile gereğinden fazlası var çünkü ben kendi bileşenlerimi bağlamak için boş bacaklar isterim. Her dev kit üstünde 2x16 LCD çalıştırmanın da bir anlamı yoktur. Kart seçilirken SMT32F4'in bazılarının gözünü korkutacağını biliyordum. Bunalmis arkadasa ve seçimlerine gelince bırakın nasıl anlatırsa anlatsın, dinlemeye aç olanlar var. Hazır lib., CMSIS vs. farklı şekillerde öğretmeye gönüllü kadro varsa onları da destekleriz. Alternatif fikirler ve eğitimler için farklı fikirlerde olanlar biraraya gelip kendi yollarını çizebilirler. STM32F103 kitlerini farnell'den alabilirsiniz ben 3 adet almıştım. Son olarak şunu söylemek isterim kimse kimseyi küstürmesin ve insanların farklı zeka, fikir, ihtiyaç, imkan, hayal,zevk ve beklentileri olduğunu düşünsün.


Development boardla söylediklerine katılmıyorum. Aynı şekilde bende de var 15 kadar development board, development board demek işlemcinin tüm özelliklerini kullanabileceğin donanıma sahip board'dur. Yani varsa spi, can,usart,i2c,eth,I/O,adc,dac vs kullanabiliyorsan tek board da sen o işlemciyi çözmüşsün demektir sonrasında development board ile işin olmaz aslında ama yinede tüm I/O larını kullanabiliyorsun, genelikle teksıra/çiftsıra pin headerlarla tüm I/O'lar kullanılabiliyor, devrede bağlıda olsa rahatça kullanabilirsin (I2C,SPI,CAN, UART vs interface zaten ortak kullanılabiliyor). Ama bu tür minimum donanımlı bordlara ya alt board yapacaksınız yada havadan, delikli pertenax ile bağlantılar yapacaksınız. Sonra başka bişey lazım olacak önceki yaptığınız sökeceksiniz veya biryerde hata yapacaksınız çipi yakacaksınız. Elektronikten iyi anlayanlar yanlışlıklara karşı önlemler alabilir ama çoğu kişi alamaz veya bilmez nasıl önlem alacağını. Rahatlıkta böyle boarda harici bağlantılar yapabilirim ama tercih etmem.Bu tür deneyimlere sahip olanlar aslında iyi bilirler. En önemlisi de, paradan daha önemli olan, zaman kaybıdır.

Programcı, dijital elektronikten anlayan  dünyalar kadar var, asm, C, basic vs bilen ama gerçek anlamda analogtan ve elektronikten anlayan elektronikçi az var. Siz biliyorsunuzdur sorun olmaz tüm bağlantıları yapabiliyorsunuzdur ama piyasa deneyimime güvenerek söylüyorum, çoğu elektronikçi bu tür bağlantıları yapamıyor, yapabiliyorda olsa da dikkat dağınıklığından hata yapabiliyor ve devrede mi hata yaptım yazılımda mı karmaşası oluşuyor. İşte bu nedenle hem maddi anlamda hemde yeterli temele sahip olmayanlar için çoğunuz soğursunuz demiştim. Bu açıdan çalışırlığı garanti board üzerinde çalışmak daha doğru olacaktır. Daha sonra dev. board şematiğini referans alarak istediği bağlantıyı yapabilirler.

Diğer söylediklerine katılıyorum.

Aslında bu olaylar beni ilgilendirmiyor, söylemim sadece stm32f40x için de değildi, kişisel hiç değil, sadece bir öneriydi.
Maalesef elektronik, ucuz bir meslek değildir. İngilizceniz, paranız ve zamanınız varsa ilerlersiniz.
Knowledge and Experience are Power