Pic Programlamaya baslayacağım ama hangi dil ?

Başlatan kdr042, 27 Haziran 2012, 08:47:03

z

Bu arada Gerbay;

Verdiğin startup kodunu, C biliyorum biliyorum diyen 100 adamdan muhtemelen 95 i kendi başına yazamaz.
copy paste ile kopyalar kopyalar projesinde kullanır.

Fakat startup kodunu, bu işlemcinin asmsini bilen adam gözü kapalı yazar. Ama bu adam da copy paste ile kodu yeni projelerinde aynen kullanır.

Dediğim gibi amaç ne? Bir an önce üstün körü bilgi sahibi olup  çok iş çıkarmak mı?

Mikroişlemciye atılacak kodun performans değerlendirmesi ne?

Tekrar hatırlatıyorum sadece 30 tane komut. Bunun neyi adama zaman kaybettirecek. Lojik tasarım yapan adam sabah otursa öğleye öğrenir. Hadi asm öğrenecem diye bir gün kaybetsin.   

Yok bu işlere bodoslama girecekse daha önceden elektronik yada yazılım alt yapısı yoksa o zaman Basic vs ile devam etsin. C demiyorum bu şartlardaki adama C ağır kaçar.

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

muhittin_kaplan


z

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

kiok1

http://www.bostondynamics.com/bd_jobs.html#CSE


Dikkat çekici ürünlerin imalatçısı konumundaki bu firmadan örnek alabiliriz diye düşünüyorum.  Kontrol sistemleri mühendisi başlığı altında aradıkları mühendisin bilmesi gereken dilleri robotlar başlığı altında da ürünlerini görebilirsiniz kıymetli dostlar. Ben assembler göremedim. Burada birşeye kökten tu kaka diyemeyiz fakat yukarıdaki iş tanımı aranan personel özelliklerine bakınca C bir kaç adım öne çıkıyor gibi!!!!!

z

Hocam bakış açılarımız farklı o yüzden böyle diyorsun.

Bu arkadaşın elektronik eğitimi aldıysa muhakkak bir x işlemcinin asmsini de öğrenmiştir. Sonraki işlemcilerin asmsini öğrenmemiştir C ile devam  etmiştir. Şu anda asm yi unutmuştur. C yetiyordur. Hatta çalıştığı iş yeri asm yazımı yasaklamış C şartı koymuştur.

Eğitimini lojik + MCU + ASM şeklinde almayan birisi uzun zaman C öğrenip uygulayıp daha sonra MCU öğrenip bu sistemlere çok hakim olabilir elbet.

Fakat bu EE eğitimindeki sistematik yapı değil.

Bilgine güveniyorum ve saygı duyuyorum.  Fakat ASM konusundaki ön yargını kabullenemiyorum.

Tekrar ediyorum. Mesleği elektronik olacakların en az bir işlemcinin asm si ile bir süre pratik yapması gerekir.

Bu pratik süresi varsın bir kaç ay zaman kaybettirsin. Bu dönemde inanılmaz tecrübeler edinilecektir. Bu tecrübeler ilerleyen dönemlerde C öğrenirken ayaklarınızın yere daha sağlam basmasını sağlar.

ASM yi atlayarak C ile yola çıkarsanız benzer tecrübeleri daha uzun zamanda gene bir şekilde edinirsiniz.

C ile iyi iş çıkaran adamlar muhakkak bir dönem asm ile uğraşmıştır.

Elektronik mühendisi arkadaşım bırak asm programlamayı lojik devre tasarımını bilmiyor. Yalnız dikkatinizi çekerim Xilinx de elektronik mühendisi olarak görev yapıyor.





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

z

ASM, ürün geliştirme için başa bela bir dildir.  Ben de üretici olsam ürünlerimi geliştirecek mühendislerime C kullanmayı şart koşarım.

Buna rağmen  C ustası olup asm konusunda tecrübesizler ve MCU donanımına kod yazmak için müracat edeceklerse kapıdan içeri giremez.

Gerbay hocam, ASM nin iş dünyasında hele hele de büyük işlerin dünyasında neden kabul görmediğini, bazı iş kollarında kesinlikle kullanılmaması gerektiğini yazarsan, asm ile zaman kaybetmeyin C öğrenin uyarısından daha etkili olacaktır.

Ben kendi adıma asm bilmenin gerekliliğini açıklamaya çalıştım.

Benim tepkim, forumda asm den uzak durun imajının oluşturulmasına.

Bırakın asm öğrenmeye zaman harcasın. Bir işlemcinin asm dilini öğrenmek için geçen süre X ise, yepyeni bir işlemcinin asm dilini öğrenmesi için X/2, bir başkasını daha öğrenmesi için X/4 gibi gittikçe azalan zamana ihtiyacı vardır.

ASM öcü dil değildir.  Aslında ASM dil bile değildir. ASM gözdür, CPU'ya duyulan aşkın kendisidir. Aşık, aşkına diliyle değil gözüyle konuşur.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

muhittin_kaplan

ASM yi 8051 ile öğrenmek zorunda kaldım. daha önceden VB.net ve c# ile pc de kendime göre programlar yazardım. Sonrasında PIC i öğrenmek zorunda kaldım (Basic). şimdi ARM(Ansi C).
Gelelim Konuya ASM bilmiyor olsaydım Proton ile yazdığım kodun önce asm ye sonradan Hex e çevrildiğini bilmeyecektim. Bazı Durumlarda ASM yi kullanamayacak INPUT PORTB yazdığımda Aslında TRIS registerlerinin değerini -gerekiyorsa Bank değiştirerek- değiştirdiğini anlamayacaktım.
32bitlik stm de yenilerde konusu  geçti. ne kadar süre tutuyor yaptığım işlem diye sormuştum. Disassembly ile, yazdığım C kodunun kaç ASM kodu yaptığını hesaplayarak bulabildim. Bunu Bulurken DataShit den her ASM komutunun aynı Çevrime Sahip olmadığını öğrendim. Ha ASM bilmeseydim, yada gerek görmeseydim, komut çevriminin ne olduğunuda belki öğrenmeyecektim.
Eğer Elektronikciysen Enaz bir ASM bilmek durumundasın. İster Kullan İster Kullanma.

z

Hocam tamam işte ne güzel, arkadaşlar sizi örnek alsınlar. ASM öğrensinler. Kendilerini C konusunda geliştirsinler. C ile bol   bol proje yapsınlar. Gördüğüm kadarıyla asm öğrenmekle zamanınızı boşa harcamamışsınız.

Benim, tavsiye isteyen arkadaşa söyleyeceğim;

En basitinden 30 küsür komutlu işlemcinin komut setini öğrenip bu işlemci üzerinde komutların hakkını vererek üç ay pratik yapması.
Bu kayıp süre, 18 yaşındaki bir gencin kalan 40 yılının sadece binde 6 sına tekamül eder. Hayatımızda o kadar çok kayıp zaman varki
bu üç ay devede kulak kalır.

Bu kayıp süreyi takiben C yi öğrenmeye başlayın.

Asıl mesele neyi ne kadar öğrenme isteğiyle alakalı.

Asm öcü değil ve forumda asm den uzak durun imajı yoksa konuyu ben yanlış anlamışım. Kusura bakmayın.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

muhittin_kaplan

Alıntı Yapstm32  168 MHz hızda ortalama 210 DMIPS gücünde bir işlemci yani, 1 clock da 1.25 instruction işliyor gibi bir durum var.

Doğru ama bunu bilebilmem için asm bilmem gerekiyor. Bakın Z nin dediği gibi "Ne güzel ASM biliyorsunuz". Ve Yorum ve Önerilerinizle Bilgi Alışverişinde Bulunuyoruz.

Ayrıca ARM mimarisinde Her ASM komutu aynı sürede mi işleniyor ? Bunuda bilmem gerekir Değil mi Doğru Zaman Hesaplama İçin.
(referans için http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0337h/CHDDIGAC.html)

yamak

Bu konuda ben de yorum yapayım;
Ben ilk olarak olaya C ve PIC İle başladım. Fakat hi-tech kullandığım için register nedir ne değildir en başta öğrendim zaten. Sonra 3. sınıfa gelince 8051 in ASM sini öğrendim. Faydası olmadı mı yine bazı olayları anlamamda yardımcı oldu,haa bu demekki böyle oluyomuş dedirtti.Ama ben olaya asm ile başlasaydım daha sıkıntılı olurdu. Belki de sıkılırdım. Hızlı bi sürede o kadar çok şey öğrenemezdim. Daha sonra 4. sınıfta bitirme ödevimde FPGA ile işlemci tasarımı yaptım. Ama bu olayları anlamamda çok çok daha fazla yardımcı oldu.

Gelelim asıl konuya bana göre işin temelini anlaması için bence en önemlisi işlemci mimarisini öğrenmesi.Ama yeni başlayan birine de git ilk başta FPGA ile işlemci tasarla demek yanlış olur hatta elektronik direk soğur ilgi alakayı keser.Bence ilk olarak c ile başlasın yola. Böylece elektronik ve yazılıma ısınmış olur.Sonra zaten bi şekilde asm ile karşılaşır. O zaman da haaaa bu demek böyle oluyomuş der ve olayın mantığını kavrar. Zaten meraklı biriyse olayların nasıl döndüğünü araştırmak ister ve işin temelini öğrenmiş olur. Yani araba kullanmayı öğrenmek için araba tasarlamak gerekmiyo bence.

muhittin_kaplan

Alıntı YapYani araba kullanmayı öğrenmek için araba tasarlamak gerekmiyo bence.
ehliyet kusrlarında ondan mı motor bilgisi veriyorlar.

yamak

Hocam Allah aşkına ben de ehliyet aldım motor dersine 1 kere girdim.  :) Ehliyet alanların kaç tanesi orada gördükleriyle araba tamir eder.

muhittin_kaplan

Alıntı yapılan: yamak - 15 Kasım 2012, 11:15:32
Hocam Allah aşkına ben de ehliyet aldım motor dersine 1 kere girdim.  :) Ehliyet alanların kaç tanesi orada gördükleriyle araba tamir eder.
Arabayı Tamir edemez ama en azından kaba bir hesapla nerede problem olduğunu bilir.
Tam Da ben bunu "muhtemelen z de" söylüyorum. Gaz pedalının ve Frenin ne işe yaradığını bilmiyorsan Araç kullanamazsın.. Ama Akünün ne olduğunu bilmyorsan Araç Kullanırsın Ama Şöför Olamazsın.
ASM de böyle birşey. Bilirsen iyisindir. Bilmiyorsan Sonuca Ulaşırsın ama Eninde Sonunda Karşına Çıkar.

muhittin_kaplan

Hocam Başlığı Okuyunuz.
Pic Programlama Başlayacağm Ama Hangi Dil.
Ben Başta Olmak üzre, elektronik ile uğraşmak zorunda olanın biraz da olsa asm bilmesi gerektiğini söylüyoruz. İlla "ASM kullansın" demiyorum. Bu Arkadaş yeni başlayan biri, ve hatta Sayısal Elektronik bilgisinide tazelemesi gerekir. Yoksa TTL, CMOS, PullUp nedir OpenDrain nedir sorar durur. Markov Counter gibi 3-2 yapar.

faltun