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...