Yıllardır yazılım geliştiricisi olma şansını elde ettim ve şimdi elektronik mühendisi olarak çalışıyorum.
Karmaşıklığı olan herhangi bir sistem, hata ve hatalarla gelir. Hem mikrodenetleyiciler hem de IC'ler kullanım alanlarına göre avantaj ve dezavantajlarına sahiptir.
Küçük ölçekli projeler için, IC'ler Mikrodenetleyicilerden daha hızlı, daha ucuz ve daha güvenilirdir. Milyonlarca girdi içeren büyük ölçekli projeler için, analiz ve karşılaştırma mantığı, mikroişlemcilerin IC'lerde üstünlükleri vardır.
Tüm yazılımlar bir noktada arızalanır, bugsless kod bile değişikliklere eğilimlidir, çünkü ROM'a kaydedilir; bu da algılanması zor ancak bazen felaketle sonuçlanan mantıksal hatalara (örn. Bellek sızıntılarına) neden olur.
Kurşun geçirmez yazılım tabanlı sistemlerin kritik uygulamalardaki arızalardan (örneğin askeri sınıf veya tren kontrol sistemleri gibi hayat kurtarıcı sistemler gibi), "başarısız güvenli" kavramlarının uygulanması ve geliştirilmesi.
Hatalı güvenli sistemler, istisnai bir hata meydana geldiğinde güvenli bir duruma geri döner. Genellikle iki işlemci aynı kodu çalıştırır, her komutun sonuçlarını karşılaştırır ve eğer eşitlerse komut yürütülür. Aksi halde sistem güvenli bir duruma dönmek için fiziksel elektrik rölelerini kullanır.
Başarısız güvenli yazılım tabanlı sistemler, tren kilitleme ve ATP'ler (Otomatik Tren Koruması) sistemlerinde kullanılır.
Ics ile aynı karmaşık sistemi tasarlamak her mühendis için büyük bir baş ağrısıdır. Ve bu yüzden yazılım ilk günden itibaren tasarlandı!