Risc-V Mimarili Bir İşlemciye Geçiş Yapmam İçin, Ne Tavsiye Edebilirsiniz?

picmanya

Üye
Katılım
14 Haziran 2024
Mesajlar
50
Yalnızca Microchip dsPIC30F serisi mikrokontrolörle, küçük çaplı bir kaç kez çalışmışlığım var. Bu çiplerin fiyatı güngeçtikçe artmakda ve bulunabilirliğide zamanla azalacak gibi duruyor.
Yeni projelerde beni yarı yolda bırakabilecektir. Mevcut eski projelerimde gerektikçe bunları kullanırım. Dil olarak yalnızca C den biraz anlıyorum. Asm/Assemly ve farklı bir dilde hiç bilmiyorum. BTK da C++ eğitimine yazıldım. Konsol ekranda pc de C++ programında denemeler yaparak zamanla ilerletebilirim diye düşünüyorum.

İstiyorumki Risc-V tabanlı bir mimariyi kullanan işlemciye geçiş yapayım. Bu geçiş için hiç acelem yok. Sert ve hızlı bir geçiş yapmam gerekmiyor. Bunu bekleyen bir projemde yok.
Sindire sindire zamanla çalışarak anlayarak stressiz bir geçiş yapsam da olacak. Öncelikle Risc-V ye Microchip markalı işlemcide geçmek isterdim. Ama bu mümkün değil.
Bu durumda markayı değiştirmem gerekecektir.
Risc-V İşlemcinin 18-28-40 pinli smd modelleride olmalıki, bunlarıda projelerimde kullanabileyim. Bana küçük çaplı işler gelir genelde. İşlemcinin en az 32/64 Bit olmasıda iyi olacaktır.

32 Bit Pic'ler ve ARM mimarisiyle hiç tanışmamış-görmemiş birisi olarak, kısaca hikayemde yukarıdaki gibiyse, bana ne tavsiye edebilirsiniz?
Risc-V geçişi için günümüzde her yönden en makul çip hangisidir? Bu çip için editör, derleyici, programlama cihazı ve deneme-geliştirme kiti-devresi gibi bilgileride araştırmam gerekecektir.

NOT:
Biliyorum Risc-V beni aşar. Ufakdan led yakıp buton okuyarak, C dili kodlamada kalarak, bir süre vitesi 2'nin üstüne takmadan, ara sokaklarda gezip,
ana caddeye çıkmadan, zamanla birşeyleri becerebilirim diye düşünüyorum. Yapamadığım kısımlarıda değerli görüşlerinize sunarım.

Ne yapayım?
 
Bence C/C++ dillerini olabildiğince iyi öğrenmeye bak. En büyük yatırımı buna yap. Bu dilleri iyi bildikten sonra işlemci Risc-V olmuş, ARM olmuş, PIC olmuş farketmez, hepsinde aynı dili ve çok iyi bildiğin bir dili kullanmış olacaksın. Baktın konjonktürde PIC pahalandı, hemen ARM işlemciye geçersin. Baktın ARM battı, hemen Risc-V ye geçersin.
 
  • Beğen
Reactions: clc
Ben elektronik-yazılım eğitimi almış, üniveriste mezunu biri değilim. Sizler gibi profesyonel hiç değilim.
İngilizcemde yok. Kopyala yapıştır tercümesini al oku anlamaya çalış-anla mantığı geçerli benim için.
İşlemci mimarileri ve markaları arasında, hatta bir markadaki farklı işlemci aileleri arasında bile dikeyi bıraktım, yatay geçişi bile çok zor yapabilirim.
Yapmazsam - yapmak zorunda kalmazsam, daha iyi olur benim için. Bunlar beni çok aşar. Haddimi bilirim ben.
İşlemciden işlemciye geçeyim derken 6 ayım gidiverir benim. Ufacık kartla 2-3 aydır uğraşıp 10 tane forum sorusu soruyorum.

İyi bir Risc-V işlemciyi belirlemeli ve tercihimden emin olduktan sonra, o beni bırakmadıkça ben onu asla bırakmamalı, gereklli yatırımı yapmalı ve zamanla onu öğrenmeli, kullanmayı becerebilmeliyim. Başka yöntemim yok gibi duruyor.
C dili bende bir yere kadar gidiyor. Bunun ötesinde etkin-iyi bir yazılım metodolojisi oluşturabilme kısmı zorluyor beni. Birde işlemci donanımsal modüllerini kullanıp-organize etme ve modülleri aynı yapı içinde birlikte kullanabilme kısımlarında takılıyorum. Tamam buralarıda C dili ile yazılıyor ama işlemciye mimariye göre bir miktar değişiklikler gösterebilip beni zorluyor.

Günümüzde mevcut durumda Risc-V de hangi ürünü kullanmak daha mantıklı oluyor-duruyor.?

Mantıklı bir seçimle işe başlangıç yapabilirsem, belki zamanla zorunda kalırsam.! en azından aynı mimarideki Risc-V işlemci modelleri arasında geçişi yapma yeteneğimi geliştirebilirim. Arm 'ye hiç girmeyeyim istiyorum, o tren kaçtı bende. Direkt Risc-V ye yöneleyim istiyorum.
 
Arm treni nasıl kaçmış oluyor anlamıyorum. İşlemci değiştirmek başta zor gibi geliyor(ki benim sevmediğim bir iştir) ancak cesaret edilip yapıldığında eğer daha yetenekli işlemciye geçildiyse değiyor, ve bu süreci 1-2 kez yapınca aslında işlemci spesifik şeyleri nasıl hızlıca öğrenip kavrayacağınızı anlıyorsunuz.
 
taydin arkadaşımıza katılıyorum. Siz önce C veya C++'da (gömülü sistemler için C++ ile uğraşmaya değmez) bilgisayar ortamında ilerleyin. Bu arada İngilizce öğrenin. İngilizce öğrenmeden RISC-V gömülü sistemler konusunda çok daha yavaş ve verimsiz ilerlersiniz. Bu konular henüz Türkçe literatüre çok yayılmadı. Halbuki önce basit seviyede İngilizce (birkaç yüz kelime ve giriş seviyesinde gramer) öğrenseniz ve sonra RISCV ile ilgilenseniz hedefe daha erken varırsınız, üzerine idare edecek seviyede C ve İngilizce öğrenmiş olarak.

Yine de sorunuzun cevabı:
WeAct CH32V203C8T6 Core Board

ve programlayıcı, aynı mağazadan: https://www.aliexpress.com/item/1005006177751678.html
veya: https://www.aliexpress.com/item/1005004881582037.html

Yazılım geliştirme ortamı: GCC RISC-V toolchain veya WCH'nin Mounriver studio IDE programı.

Komut setini öğrenebileceğiniz emülatör: RARS (java runtime gerekli) veya internette çeşitli online programlar
 
"gömülü sistemler için C++ ile uğraşmaya değmez" bu gerçekten böyleyse çok işime gelir doğrusu. Buna en çok sevinen ben olurum. Memnun olurum.
PIC32 C kodlarını incelemiştim C den başka bir şeyi farkedememiştim, işlemler basitdi C++ kısımlarına iş kalmamış olabilir diye düşünmüştüm. Tamamen C diler.
C nin yetmeyip mecburen C++ kullanılmasını gerktiren bölümler gömülü için en baştan bellimidir. Bir ayrım varmıdır bu hususda?
__________________________________________________________________________________________________________________________________________________________________________
Microchip C30 ve XC16 derleyicilerinde bir yerlerde ANSI C89 diye bir standart yazıyor. Anladığım kadarıyla 1989 yılında standartlaşan bir C yazılım kodlaması kuralları üzerinden derleme sağlanıyor gibi duruyor. Bu kadar çok eski yani. Halbuki C30 derleyicisi 2000 den sonra, XC16 derleyicisi ise 2010 dan sonra çıkarıldı.
Acaba 1989 yılından sonra C yi geliştirmeyip, C++ mı geliştirilmeye başlanmış. Mesela 90'lı yıllarda C dili için ilave birşeyler hiçmi yapılıp-eklenmemiş-geliştirilmemiştir.? Yada 90'lı lı yıllarda da C geliştirilmişte, bu geliştirmelerin gömülü işlemcilere bir faydası olmayıp, bunlardamı kullanılmıyorlar?
___________________________________________________________________________________________________________________________________________________________________________
Son mesajda istediğim tarzda donanımsal bilgiler geldi. Bunlara bakacağım. Risc-V mimarisi için;
Bunlara ilave edebilecek derleyici-ide-debug+programlama cihazı-donanımsal çip gibi başka önerileri olan varmıdır?
İyi bir tercih yapmak için mümkün olduğunca geniş araştırayım istiyorum.
Sonra bir miktar yatırım yapıp, ufakdan başlayacağım İnşallah.
___________________________________________________________________________________________________________________________________________________________________________
Arm treni kaçtı için tercümem;
Ben Arm'ı hiç kullanmadım. Tanımam etmem. Bu mimariye en ufak giriş yapmadım. Yeni trendin geleceğinin kendimce Risc-V ye meyil edeceğini düşünüp, bizimkilerinde vardır bir bildiği işlemcilerini Risc-V mimarili yapıyorlar diye, buna yönelmek istedim. İleride yanlış yapmışda olsam katlanacağım artık. Birde şu anda kullandığım DSPIC30F serisi işlemciler var. Olduğu kadar bununla, sonrasını Risc-V ile giderim diye planladım. Bir halt bildiğimden değil, yalnızca planlamam böyle.
 
Benim gömülü sistemlerde C++ ile ilgili düşüncelerim farklı. Eğer mümkün ise, her zaman C++ kullanmaya çalışıyorum, çünkü daha az bug ve hata ile kod yazmayı sağlıyor, programcıya çok daha fazla ve güçlü olanaklar sağlıyor, program içinde runtime hatalarını doğru bir şekilde işlemeyi çok kolaylaştırıyor. Hele bir de yazılımın yapacağı iş kendini nesneye yönelik programlamaya elverişli ise, o zaman C++ kullanmamak büyük hata olur. Mesela şöyle bir örnek vereyim: Audio sistemi, değişik audio inputlar var (RCA, XLR, TOSLINK, COAX, NET), değişik audio outputlar var (RCA, XLR, I2S, POWER, TOSLINK, COAX). Sistemin de bunların arasında ses aktarımı yapması lazım, ses üzerinde de işlemler yapması lazım. TAM OOP lik bir iş ve C++ kullanarak çok hızlı bir şekilde sonuca gidilebilir. C ile yapılamaz mı? Yapılır, ama doğduğuna pişman eder adamı, dünyanın bug'ı çıkar.

Ne zaman C++ kullanmak mümkün olmuyor? Bellek çok az ise, işlemcinin performansı çok düşük ise C++ kullanmak biraz zora giriyor. Eğer son derece fiyata duyarlı bir proje üzerinde çalışıyorsan, C++ bir opsiyon değil. Ama bu nadir bir durum, çoğu zaman projenin gereğinden daha hızlı, daha fazla belleğe sahip işlemci seçilir, böylece sonradan "tüh, bunu hesaba katmadık, daha fazla bellek, işlemci gücü lazım, yeni hardware revizyon ile daha iyi işlemciye geçmemiz lazım" durumu ortaya çıkmıyor.

Bir de pazarlamacılar, ARGE işleri bitip proje ürün haline gelince yeni bir özellik istiyorlar, o özellik de ilave işlemci gücü istiyorsa kendini garantiye almış oluyordun. Bu çoğu projede benim başıma gelen birşey. Şu anda çalıştığım projede de, ürün bitti, adamlar şimdi IR uzaktan kumanda eklemeye karar verdiler. Gerektiğinden değil de, distribütörler öyle istediğinden. Neyseki benim kullandığım işlemcinin hem saat hızı hem bellek miktarında yeterince rezerve var ve bunu ekleyebileceğim
 
Şu an Dspic(bazı spesifik işleri, inanılmaz maliyet odaklı tasarımları gözardı ederek yazıyorum) hala kullanıyorsanız bence arm mimarili işlemcilerin çok büyük bir olay yaşanmadığı sürece 10/20yıl bandında hayatımızda olacağını düşünmemeniz abes olur. C++ konusu ise bence gelişen işlemciler ile gittikçe yaygınlaşacak, burada dilin yeteneklerinin(bu ifade biraz hatalı olabilir) buna sebep olacağını düşünüyorum. 2000den önce mcu ile uğraşan herkes assembly biliyor, kimisi zamanla bırakmış kimisi bırakmamış, assembly c ye göre bazı avantajlar sağlamasına rağmen çok az kullanılıyor. Belki ileride c++ da c yi benzer şekilde domine edebilir. Risc V konusu hala büyük ve güvenilir bulduğumuz üreticiler için yaygınlaşmadı, sanıyorum renesans harici bir örnek de bulamayız. O açıdan bence siz yaptığınız işi anlatın, benzer işi yapanlar ne kullanıyor onu görün ona göre seçim yapın.
 
Bu mikroişlemcilerin üretiminde üzerine ismini basan firmaların katkısı tam olarak nerede oluyor?
Biraz daha açık sorayım, şöyleki;
Microchip firmasından iki farklı işlemci satın alalım. Bunlardan birisi Arm mimarisinde bir çip, diğeride Mips mimarisinde bir çip olsun.
İşlemci yongasını geliştiren Arm ve Mips firmaları burası böyle, peki yongayı fiziksel olarak üreten kim.?
Microchip firması hazır gelen silikon yongaya, sadece işlemci çipin plastik enjeksiyonunu, metal ayaklarını,
bu ayaklara giden yongaya punta kaynaklı telleri falanmı yapıyor? Yoksa silikon yonga üzerine kendiside birşeyler ekliyormu?
Burda üretim safhası/mantelitesi nasıl işliyor?
Ben örneği Microchip den verdim ama Ti / ST / Renesas vesairede düşünülebilir.
 
Bu mikroişlemcilerin üretiminde üzerine ismini basan firmaların katkısı tam olarak nerede oluyor?
Biraz daha açık sorayım, şöyleki;
Microchip firmasından iki farklı işlemci satın alalım. Bunlardan birisi Arm mimarisinde bir çip, diğeride Mips mimarisinde bir çip olsun.
İşlemci yongasını geliştiren Arm ve Mips firmaları burası böyle, peki yongayı fiziksel olarak üreten kim.?
Microchip firması hazır gelen silikon yongaya, sadece işlemci çipin plastik enjeksiyonunu, metal ayaklarını,
bu ayaklara giden yongaya punta kaynaklı telleri falanmı yapıyor? Yoksa silikon yonga üzerine kendiside birşeyler ekliyormu?
Burda üretim safhası/mantelitesi nasıl işliyor?
Ben örneği Microchip den verdim ama Ti / ST / Renesas vesairede düşünülebilir.
ARM hem mimari lisansını hem de çeşitli işlemci tasarımlarını satıyor. Tasarım şirketi (Microchip vesaire) bunları satın alıyor, yanına çeşitli çevresel birimler ekliyor (I2C, SPI, PWM, ADC, USB...). Sonra bu tasarım bir üretici şirketin PDKsı ile o üreticinin belirli bir üretim prosesi için tabiri caizse "derleniyor". Üretilen waferlar paketleme fabrikasına gönderiliyor. Burada waferlar kesiliyor ve her bir çip leadframe üzerine bond wire ile bağlanıp etrafına plastik kılıf enjekte ediliyor. Çipler ya wafer üzerinde ya da paketlenmiş haldeyken otomatik makinalarla test ediliyor. Testi geçen çipler satılıyor.
 
bence kaçırdığın nokta riscV-arm işlemci kullanırken assembly ile programlamıyorsan aslında mimariye hiç temas etmiyorsun. riscV istiyorsan esp32 riscV modellerini kullanabilirsin ya da ch32v2003 kullanabilirsin ama bu iki işlemci arasında geliştirme araçları ve yapı olarak dağlar kadar fark var. bu arada esp32 kullanırken riscV ve tensilica core olan modeller var. ama SDK kullandığın için bunu bilmiyorsun bile çünkü bütün işlerini sistem apileri üzerinden yapıyorsun.

anlattığın tecrübe durumuna göre senin için aslında doğu işlemci. en kolay döküman bulacağın, yardım alacağın, türkçe kaynak bulacağın ekosistemi gelişmiş bir aile olmalı. bence riscV yerine STM32 ailesi ile ilerlersen bu kolaylıkların hepsinden faydalanırsın. stm3f103 gibi seriler de hem uygun fiyatlı hem de donanım olarak gelişmiştir. ayrıca stm32 ilesinde debug yaparken piclere göre çok daha gelişmiş özelliklere sahip olacaksın.

C dilini sağlam şekilde öğrenmek gerektiğine katılıyorum ama o işlemciden bağımsız bir konu.
 
"anlattığın tecrübe durumuna göre senin için aslında doğu işlemci. en kolay döküman bulacağın, yardım alacağın, türkçe kaynak bulacağın ekosistemi gelişmiş bir aile olmalı."

Bu yazı beni en uygun anlatan kısım oldu. Yalnız bir tek yer, kısmen hariç.
Bu kısımda; Türkçe kaynak kısmı oluyor.
İlgilendiğim bir yeri-kısmı, yazılı-görsel açıklayan döküman-yazı olsunda, ingilizce olması farketmiyor. Sesli ingilizce konuşma metni olmadıktan sonra,
diğerlerini bir şekilde çözümleyebiliyorum. İngilizce konuşmayı ve konuşulanı anlayamıyorum sadece. İşin içinde yazı oldumu halledilir.
İngilizce forumlardan bir çok ayrıntıyı yakalayıp işi çözdüğüm kısımlar olmuştu.

Yeterki aradığım yere-bölüme ait, dediğiniz gibi kolay ve etkin yazılı kaynak bulunabilsin. BULUNMASI ÖNEMLİ OLUYOR.!
İşin en başında Pic lere geçme nedenimde zaten buydu. Aşırı derecede bol ve öğretici-açıklayıcı kaynakların fazlasıyla olmasıydı.
Piyasada kullanıcısı okullarda öğretimi çokdu.

Risc-V mimarili işlemci çıkarır diye Microchip'i de 1-2 senedir bekledim. Çıkarsaydı, eskiden beri bu firmanın yapısı gereği bol kaynak mümkündü.
Zaten yapısına derleyicilerinede alışıktım.
Sıfırdan devrim nitaliğinde % de 100 yeni bir şey yapmayacaklardıya, illaki eski veritabanlarının devamı niteliğinde birşeyler olacaktı diye düşünüyorum.
Ama Risc-V çıkarmadılar. Belki ileride çıkaracak ve dönüşü tekrar ona yapacağım. Ama ben daha fazla gecikmeden ucundan farklı bir donanımla ufakdan giriş yapayım istiyorum.
 
Eger cep telefonu, printer, modem, router, navigasyon cihazi gibi sistemler yapmayacaksan isletim sistemi ve isletim sistemi ustunde kosacak yazilimlar yapmana gerek kalmayacagi icin dededen kalma kodlama teknikleri ile yoluna devam edebilirsin.

RISC-V, ARM konusu yazilimci acisindan onemli degil. Sonucta C kullanacaksan mimarinin ne oldugu klavyenin basinda kod yazani ilgilendirmez. Kod yazari icin mimarinin zerre onemi yok.

Devre tasarimini da sen yapmayacak onune hazir bir MCU/MPU karti geliyor sen sadece C ile kod yazacaksan mimariyi unut gitsin.

Armdan daha cok kisi ekmek yer. Arm treni kacmaz.

Ne tip projeler yapiyorsun? Mesela MCU ile yaptiginiz ya da yapmayi dusundugunuz en baba proje ne?
 
Son düzenleme:
Dışarıdan gerekli tüm teknik yardımları çeşitli yollar-yöntemlerle alarak, bunun sonrasındaki, Tüm tasarımda-yazılımda-imalatda tek kişi olarak çalışıyorum.
Pcb yi tasarlayan, çizen, imal ettiren, montajını yapıp devreye alan, kompananetleri seçen-temin eden,
Microchip dsPIC30F serisi mikrolara tamamen C üzerinden (asm sıfır hiç yok.) yazılımı yazan ben oluyorum.
Mekanik kısımlardaki Cad çizimi-imalatları dışarıda yaptırıp, bünyemde toplama işleride bende oluyor.
Gerekli tüm malzeme siparişleri ve toparlanması ve montajlanması işlemleride bana ait. Tek kalem gidiyorum-gitmeye çalışıyorum yani.
Yalnızca imalat-işçilik olarak, benim kapasitemi aşan durumlarda, dışarıdan bir arakadaştan işçilik yardımı alıyorum.
Arkadaş Pcb toplayıp, kablolama yapıyor genelde. Bazende mekanik montaj işlemi.

Büyük işler yapmıyorum ben, maaşlı olarak sabit biyerde çalışmıyorumda,
kendi işlerimi yapıp, sanayiye dışarıdan hizmet verip, düşük ücretli bir profesör maaşı gibi bir para elime kalıyor gibi düşünebiliriz.
Çok kazanmıyorum yani.

"Eger cevre birimlerine register bazinda erisim yapacaksan mimari onemli hale gelir."
Pin kesmeleri, spi, i2c, uart gibi modülleri diğer çiplerle haberleşme açısından kullandığım olabiliyor. Çevre birimleri bunlarsa..
uzak 2 işlemci arası haberleşme ve işlemci pc arası haberleştirme planımda var. Bunları henüz yapmış değilim. Bu amaçla
BTK akademiden yardımla C# wpf üzerinde öğrenim amaçlı çabalıyorum.
En başta yazdığınız uygulamalarla ilgili çalışmam hiç yok. Zaten olacağınıda pek sanmam. Bana sektör olarak çok uzak kısımlar buraları. Sektörüm değil bunlar.
Endüstriyel sanayi ortamında olur genelde benim işlerim. 2010 işlemcisinin flashının %10 civarı kullanımla 150-200 satır kodla yaptığım projeler oldu.
8X6 cm pcb li.
en fazla 1000-1500 satır kodla yaptığım işlemde oldu. el kadar pcb li. Ben 2000 satır ve üzeri bir kod yazmak durumunda kalmadım. Zaten bunun üzeri işlemci kapasitesini aşar diyebilirim. Ayrıca flash çipi falan kullanmak bana ters kalıyor. ozaman işlemciyi değiştir mantığı işliyor bende. 30F serisi çiplerde 10 bin satır kod yazılanda vardır belki ama bunlarında kılıfı ve ücreti yüksek kalabilir yaptığım çalışmalarda. Bu tür işler hiç uğramadı bana.
Sizlere göre çok ama çok basit işlerle uğraştığım kesin.
Belki zamanla kendimi ilerletip-geliştirebilirsem, daha büyük kapasiteli işleri yapmak gerekirse,
kullandığım işlemci beni yarı yolda bırakmasın bunun önlemini şimdiden almaya başlayayım diye Risc-V ye geçme planı yapıyorum.

Birde benim kendimde gördüğüm deneme kiti alıp veya devresini kendimde imal ettirsem, sadece deneme amaçlı yapacağım çalışmalardan ben pek ilerleme kaydedemiyorum. Gerçek bir sanayide iş yapacak üretimlerde ben birşeyler öğrenip geliştrebildiğimi görüyorum. Bu işerli tam çıkarmadan önce illaki yeni kısımları denemek test etmek gerekiyor tabiki, ama bu safhalarda gerçek işi yapma kısmında, olması gereken yan faaliyetler arasında olunca iyi oluyorlar.

Hayalimdeki en baba proje dersek;
Mcu ile pc deki bir yazılımı (bu yazılımı yapmasıda bana kalır.) sanayi ortamında 1 km. öteden haberleştirip gereken işlemleri yapmak olabilir. Sahadan veri transferi denebilir. Burdaki işler zamanla çok çeşitlendirilebilir.
Burada işleri asıl yükü Mcu yapacaktır. Gereken veri transferlerinde, görsel gösterimde ve kontrolde pc ile haberleşilir diyebilirim. Sanıyorum daha modernini uygulayamazsam, haberleşmede RS-485 üzerinden USB/RS-485 bir yapıyla olabilir.

Arm treni benden kaçtı derken;
Ben Arm'la hiç tanışmadan, geçersem direkt Risc-V ye geçeyim istedim.
Arm'a geçiş yapma mecburiyeti hissetseydim; yine buna geçmeyip PIC32MK (Mips tabanlı) serisine geçerdim-geçmek durumunda kalırdım.
Altyapım elimdeki doananımlar-yazılımlar kaynaklar ve şartlar buna çok daha uygun çünkü. Risc-V ye geçemiyeceksem, dsPIC30F de yetersiz kalacaksa, PIC32MK serisi çiplere yalnızca deneme kitini ve derleyicisini temin ederek, web tabanlı döküman ve yardımlarla ufakdan başlayarak geçebilirim diye düşünüyorum. 1-2 senedir bunu düşünüyorum PIC32MK mi yoksa Risc-V mi. diyerekden.

Bende işler zor ilerliyor, ondan ona geçişim olamaz. Bir yerde karar kılıp, orada tutunup, ilerlemem gerektiğini düşünüyorum. Birde bende işlerin belki yarısı C yada öğrenmeye başlarsam C++ dilini bilmek olabilir gibi duruyor. Geri kalan yarısı yine işlemci donanımı ve özelliklerini bilmekde, modüllerini kullanabilmeyi başarmakda özelliklerini iyi bilmekte gibi duruyor. Yada yanlışda düşünüyor olabilirim ama C ve C++ da % de 100 uzman olsam sanıyorum yinede mikro üzerinde bilgim azsa, işin % 50 lik gibi bir kısmında kalırım gibi hissediyorum. Tabi bu benim fikrim.
Birde işlemlerin-yapılacak gerçek işin metodolojisini çıkarabilme kabiliyeti var tabiki, yani ne nasıl yapılacak kısmı.

İşlemci modüllerini bir kaç yüz satır kodla yada tek tek kullanmak mümkün olupda, peki tüm modülleri aynı anda çok daha karmaşık bir yapıda hep birlikte ahenk içerisinde kullanmak nasıl mümkün olabilecek kısımlarıda oluyor tabiki. Bu yüzden iyi derecede C ve C++ bilmek herşeyi halletmiyor olabilir diye düşünüyorum.
Ama bu dilleri iyi derecede bilmessekde bu sefer hiiç bir şey yapamayacağız. Olay bir bütün ve hepsinden iyi anlamam gerektiğini görebiliyorum.

Birde benim gördüğüm ben sürekli yardım almak-istemek durumunda kalıyorum buda genelde ilk kez yapmaya çalıştığım işler kısmında oluyor.
Mesela 2-3 gündür eprom ve flash'a çalışma zamanında veriler yazmayı ilk kez yapmak zorunda kaldım. Bunu formalara sormadan webdeki araştırmalar ve derleyici kaynaklarından yapmayı başarabildim. Birde düşündüm e-epromu öğrenmemde mantıksızlık elimdeki seri hariç geri kalanlarda e-eprom diye bir şey yokki niye ikikere öğrenmek durumunda kalayım deyip direkt flash'a kayıt işlemlerine geçtim.
Ama bu herzaman böyle olmuyor yardım almam gerekebiliyor. Burdaki yardımlar genelde C dilindeki yazımsal kısımlarda kodlama yapısını bilmede olmuyorda. İşlem sıralaması-önceliği nasıl yapıldığı ve yapılırken nasıl bir kod ile yazılacağı kısımlarında takılıyorum.
Sonucda yapılacak işlemin yazılacak kodunu kimse ezberden bilemiyor olabilir, o kodun nasıl yazılıp içeriğindeki hususları sonucda işlemci ve derleyici belirliyor.
Yani bir sabit C blok kod yapısı kullanılmak zorunda kalınıyor. Hem kodun yapısını-yazılış tarzını belirleyen o hemde o kodla donanımsal ne olduğu belirleyende o. Burda C ye takla attırsam ne olacakki, bu kısım benim C dili bilgimin dışında bir durum çünkü.

Uzun oldu, hatam olduysa affedin.

İlaveten:
ICD3-4 ile debugger yapmayı biraz bilsemde buna kalmadan genelde pcb üzerindeki çıkış-led-display ve çeşitli kendi oluşturuduğum kodlarla bu debug kısmını ben en azından bugüne kadar aşmayı başardım. Ama dediğim gibi benim işlerim sizlere göre çok çok ama çok basit kalıyordur. Ayrıca daha üst düzey tarzda debug yapmam gerekirse bunuda yeri geldikçe ilerletebilirim diyebiliyorum.
PIC32MK ya geçşim Arm ve Risc-V den çok daha kolay olabilir derken bu seriyi kullanmayı bildiğimden değil. Bu seriye geçiş için gerekli ide-programlayıcı-derleyici ksımlarının bir ksımında bir yatırırmım altyapım olduğundan dolayıdır. Yoksa görmüş kullanmış değilim. Sonucda Microchip çerçevesinde kalmış oluyoruz yardım dosyaları açıklamalar yabancı gelmeyebilir adaptasyonum daha az zahmetli olabilir demek istedim. Birde Microchip araştırmadım ama bunlardada diğer çipleri gibi iyi yardım sunuyordur herhalde. Milleti Arduino müptelasına bağlıdı gibi bir durum bu firma. Habire yan yarıiletken şirketlerini bünyesinede alıp duruyor. Risc-V ye bunda geçebilseydim iyidiya...
 
Son düzenleme:
Karti da sen tasarliyorsan projenin ihtiyaci olan cevre birimlerini ve Ram/Rom kapasitesini gozonune alarak MCU secmen yeterli gibi gorunuyor. 8 bitlik MCUlarla yoluna devam edebilirsin.

Senin icinen onemli sey debug islemleri. Bunun icin JTAG destekli bir MCU kullanirsan rahat edersin. Mimari kismina takilma.

C ve hazir kutuphaneler kullandiginda ARM islemciye gectiginin farkina bile varmazsin.

Seni en cok yoracak konu MCU yu ve cevre birimlerini yapilandirmak olacaktir. Onun icin de kutuphane fonksiyonlarini ogrenmen gerekecek.
 
  • Beğen
Reactions: clc
endüstriyel ortamda çalışıyorsan bu durumda işlemci seçimin daha kritik oluyor. mesela sadece riscV diye bir işlemci seçersen çevresel gürültülerden bu işlemci saçmalayabilir. STM32 ailesini avantajı yaklaşık 20 yıldır yeterince olgunlaşmış ve var olan sorunların çözülmüş olması. bu sürede çok geniş bir kullanıcı kitlesi ve bilgi bankası da oluştu. emin ol daha en az 10-15 sene stm32 ailesi ve aynı chiplerle iş yaparsın.

fazla düşünmek ilerlemeye engel oluyor. basit bir stm32 kartı alıp youtubedaki tutorialları takip ederek en fazla yarım günde led yakıp söndürebilir, IO okur ve timerları set edebilir duruma gelirsin bence. zaten ne kadar kolay ve aslında benzer olduğunu görünce şaşıracaksın.
 
jtag deteği bir üst seri çiplerde var diye bilyorum.
şu anda 5 pin bağlantılı ICSP denilen yöntemle çip kart üzerinde programlanıp, debug yapılabiliyor.
Zaten smd kılıf çip kullandığımdan mecburen böyle olmak durumunda.
Bir üst seri olarak dsPIC33 (C compiler, 16 Bit) yada PIC32 MCU (C/C++ compiler, 32 Bit) geçiş yapmayı deneyebilirim.
Bunlar hep Mips Mimarisi çipler oluyor. Bunlara geçişim, stm32, Arm, Risc-V den çok daha uygun olur diye düşünüyorum.
Kafamı ağrıtacak noktaları minimuma indirmiş olurum diyebilirim. En iyisi söz dinleyip böyle yapmak galiba.
Risc-V hayalimede ileride Microchip bu mimaride bir çip çıkarınca tekrar bakarım. Kendi adıma Microchip den ayrılmamalıyım diyebiliyorum.
Mips mimari ile başladım böyle kalayım ozaman. Kaynakda bol bunlarda görebildiğim kadarıyla.
Deneme kartı bunlardada olup, denilen işlemler bunlarlada bir yere kadar yapılması mümkün, Kodları pcb çizimleride açık kaynak birde.
Arada C++ da çalışmaya devam ederim.
Teşekkürler.
 
mips mimari diyorsun da mesela kodlarda bir hata çıktı ve asla çözülmüyor gittin assembly koduna girdin oradan takip ediyorsun işte o zaman mips mimarisi ile uğraşıyorsun. kodun assembly kısmını okumuyor veya müdahale etmiyorsan mimari kısmı ile hiç muhattap olmuyorsun aslında. ya da ultra performanslı işler peşindesindir o zaman arm M7 mimarisi lazım bana diyebilirsin gene bile kod kısmında farklı bir yapı görmeyeceksin.
 
  • Beğen
Reactions: clc
Anlatamamışım eksiklik bende.
Yazılanlardan ve araştırmalarımdan sonra, kullandığım işlemci serisi ile gidebildiğim kadar yola devam edip,
bunların bir üst serisi ilede çalışmaya ufakdan başlarım demek istedim. Benim için en iyisi bu galiba.
Çünkü bu şekilde alışık olduğum bir çerçevede kalmış olacağım. İde si, compileri, programlama cihazı,
anlatım dosyaları, mantığı komple yabancı gelmeyecek. Farklı bir üreticiyede geçmiyor olacağım.
İllaki önceden edindiğim gördüklerimle ilerleme yapabileceğim.
Mimariyle alakam yok benim. Tamam burayı anladım. Birkaç mesajda yazıldı bu.
İşte tam bu noktada yola Mips ile çıkmıştım onda kalmış oluyorum demek istedim sadece. Mevcut halimi özetlemiş oldum.
Yoksa mimari karşılaştırmasına girmedim. Giremem zaten diğerleri hakkında en ufak bilgim yok.

Üst seri olarak PIC32MK ya geçebilirim, buna adaptasyonum daha mantıklı bir çerçevede makul bir halde olabilir.
Altyapım her yönden en yakın buna uygun gibi duruyor.
Birtek derleyicisini kurup, C kodlaması ilede olsa başlangıcı hemen ufakdan yapabilecek durumda olduğumu incelerken gördüm.
Zamanla C++ kodlarıda kullanma olasılığım var. Zorlanırsam hazır kaynak denem kitide alınabilir.
_____________________________________________________________________________________________________________________________________
Burdaki yazarların Arm dan iyi anladıklarını stm serisinde iyi olduklarını görüyorum.

Modern bir işlemcide olupda, çok gerekli olan, ama PIC32MK da olmayan nasıl bir özellik-yada çalışma eksikliğiyle karşılaşabilirim.
PIC32MK yı kıyaslarsak Arm'ın hangi serisine karşılık gelebilir. Sizce bunda netür eksiklikler hissedilebilir.
Bunlar uygulamaya göre değişir tabiki ama, genel olarak ne söylenebilir. Bunu kullanmak durumunda kalsanız, Siz nasıl bir eksiklikle karşılaşırdınız.
 
Anlatamamışım eksiklik bende.
Yazılanlardan ve araştırmalarımdan sonra, kullandığım işlemci serisi ile gidebildiğim kadar yola devam edip,
bunların bir üst serisi ilede çalışmaya ufakdan başlarım demek istedim. Benim için en iyisi bu galiba.
Çünkü bu şekilde alışık olduğum bir çerçevede kalmış olacağım. İde si, compileri, programlama cihazı,
anlatım dosyaları, mantığı komple yabancı gelmeyecek. Farklı bir üreticiyede geçmiyor olacağım.
İllaki önceden edindiğim gördüklerimle ilerleme yapabileceğim.
Mimariyle alakam yok benim. Tamam burayı anladım. Birkaç mesajda yazıldı bu.
İşte tam bu noktada yola Mips ile çıkmıştım onda kalmış oluyorum demek istedim sadece. Mevcut halimi özetlemiş oldum.
Yoksa mimari karşılaştırmasına girmedim. Giremem zaten diğerleri hakkında en ufak bilgim yok.

Üst seri olarak PIC32MK ya geçebilirim, buna adaptasyonum daha mantıklı bir çerçevede makul bir halde olabilir.
Altyapım her yönden en yakın buna uygun gibi duruyor.
Birtek derleyicisini kurup, C kodlaması ilede olsa başlangıcı hemen ufakdan yapabilecek durumda olduğumu incelerken gördüm.
Zamanla C++ kodlarıda kullanma olasılığım var. Zorlanırsam hazır kaynak denem kitide alınabilir.
_____________________________________________________________________________________________________________________________________
Burdaki yazarların Arm dan iyi anladıklarını stm serisinde iyi olduklarını görüyorum.

Modern bir işlemcide olupda, çok gerekli olan, ama PIC32MK da olmayan nasıl bir özellik-yada çalışma eksikliğiyle karşılaşabilirim.
PIC32MK yı kıyaslarsak Arm'ın hangi serisine karşılık gelebilir. Sizce bunda netür eksiklikler hissedilebilir.
Bunlar uygulamaya göre değişir tabiki ama, genel olarak ne söylenebilir. Bunu kullanmak durumunda kalsanız, Siz nasıl bir eksiklikle karşılaşırdınız.
Stm CubeMx de farklı üreticilerin en yakın st karşılığını bulmaya yarayan bir araç bulunmakta. Aşağıdaki resimde örnek bir PIC32MK serisi için sorgulama yapıldı. Çıkan sonuçlar resimdeki gibi. Sonuçlar tüm özellikleri içermiyor, fikir verme açısından değerlendirmek gerekir.

edit:imla

javaw_dgv8ngzRnh.png
 

Çevrimiçi üyeler

Forum istatistikleri

Konular
6,214
Mesajlar
105,870
Üyeler
2,585
Son üye
root

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top