Size bildiklerimi söyleyerek başlayacağım. O zaman size, gömülü sistem geliştirme hakkında her şeyi bilmenin bu büyülü diyarına gitmek istediğimi söyleyeceğim. O zaman oraya varmak için sonraki adımlarımın ne olması gerektiğini soracağım. Bu yanıt oldukça bilgilendirici, ancak biraz daha ayrıntılı olmaya çalışıyorum:
Bildiklerimi
Hadi bakın, C ve C ++ konusunda adilim. Açıkçası, bu dillerle daha iyi olmak istiyorum ama bu noktada geliştirmenin en iyi yolunun onları kullanmaya devam etmek ve ben yazarken kodumu sürekli olarak geliştirmeye çalışmak olduğunu düşünüyorum. Artık herhangi bir öğrenme alıştırmasını sadece C öğrenmeye ayırmanın çok yararlı olacağını sanmıyorum.
Basit devreler tasarlama konusunda oldukça rahatım. Açık toplayıcı çıkışı olan bir çip görüyorum ve yukarı çekmeye ihtiyacım olduğunu biliyorum vb. Bir IC ve veri sayfası verildiğinde, onunla nasıl arayüz oluşturacağımı ya da en azından doğru soruları sorabileceğime oldukça eminim. nasıl arayüz oluşturacağınızı öğrenin.
Matematik ve mantıksal düşünme konusunda çok iyiyim. Beni bir döngüye sokan birkaç algoritma / tasarım konsepti var. Bu kesinlikle benim en güçlü alanım.
Yaptıklarım
Şimdiye kadar tüm deneyimim 8 bitlik mikro denetleyicilerle oldu . Üniversite kursumda Motorola HC08, Intel 8051 ve Zilog EZ8 kullanıldı. Profesörüm üçü için de 7 segmentli ekran ve diğer bazı şeyler için küçük bir geliştirme panosu oluşturmuştu. Bunları montajda programladık, bu yüzden montaj konusuna biraz aşinayım ve temel bir bilgisayar mimarisi dersi aldım, bu yüzden donanım hakkında iyi bir fikrim var. Ancak, bir Windows ortamında çalıştık ve 3 MCU'nun da kendi IDE ve araç zinciri zaten kurulmuştu, bu yüzden kodumun montajdan MCU'da çalışmaya nasıl geçtiğini gerçekten hiç öğrenmedim.
Bir sonraki adımım kendi başıma öğrenmekti. Hem önceden yazılmış kitaplıkları olan hem de olmayan bazılarının olduğu sensörler / anılar / ekranlar ile arayüz oluşturarak Arduino ortamına çok aşina oldum. Daha sonra üzerinde bir ICSP bulunan kendi Arduino kartımı kurdum ve başka bir MCU ile bağlantı kurdum, böylece bootloader'ı çıplak ATmega328'lere aktarabilirim. Yine de, IDE ve araç zinciri zaten kurulmuştu ve C / Arduino'dan MCU'da gerçekten çalışan koda nasıl geçtiğimi asla anlayamadım.
Bilmek İstediklerim
Bu nedenle, daha önce bağlantılı olan cevaptan, bence benim için en ilginç / faydalı şey, araçları (derleyici ve bağlayıcı) öğrenmek ve farklı yazılım mimarisi stillerini öğrenmek ( kesintiye dayalı kontrol döngülerinden programlayıcılara ve RTOS'lara geçiş). Neyin en yararlı olacağına dair fikrim bu ... ama henüz bunun doğru olup olmadığını söylemek zor olduğundan, daha iyi olacağını düşünüyorsanız, bu yanıttan başka madde işaretleri önermekten çekinmeyin ve lütfen neden böyle düşündüğünüze dair bir açıklama yapın.
Başlangıç noktası olarak şu anki bilgilerimi ve hedef olarak bilmek istediklerimin yukarıdaki açıklamasını alarak arıyorum daha sonra nereye gideceğiniz konusunda çok özel öneriler. Kesin proje önerileri, okunacak web siteleri / blog girişleri, kitap bölümleri vb. Arıyorum.
Ayrıca, devam etmeden önce bilgi tabanımda doldurmam gerektiğini düşündüğünüz başka boşluklar var mı? yukarıda belirtilen konular?
Teşekkürler