( pink | 2020. 05. 15., p – 20:42 )

Nos. Mi fejlesztünk Assemblyben, C-ben és C++-ban is.
Assemblyre akkor van szükség, amikor az alkalmazás nagyon pontos időzítéseket kíván meg (gépi ciklus szinten kiszámoljuk).
Ha nem ez a helyzet, több szempontból is előnyösebb a C++. Nagyon jó fordítók vannak már, elég kis kódot generálnak. Néha megchallengeltettük, hogy az egyik kolléga C++ kódja vagy a másik procedurálisan megírt programja fordul-e kisebbre (hozzáteszem C++-ban is kell ám tudni jól programozni).

Kisipari megoldásnál nagyon nem kifizetődő egyedi célhardvert fejleszteni. Még akkor sem, ha több száz, vagy több ezer példány készül belőle. Nem a szakértelem a gond. Annak nem vagyunk híján szerencsére.
A hardverfejlesztés sok idő (nyákokat, mindent meg kell rajzolni, erre is gondolj) és egy új dologba hiba is csúszhat, ami lehet csak később derül ki. Ezt lehet minimalizálni, de elkerülni nem.
Így megvannak a homebrew moduljaink (processzorkártyák különböző bonyolultságra, optó leválasztó kártyák, com-kártyák, stb.).
Ezeknek jól ki van forrva az interfésze, szalagkábelekkel csak össze kell dugdosni őket és nem kell fosni, hogy valamit benéztél.

Az Arduino is ezért jó. Mindig ugyanott vannak az I/O lábak, stb. Mivel nekünk nincs annyira egyszerű uC kártyánk, mint mondjuk egy nano, egyszerűbb pár százat berendelni belőle és azt elrakosgatni alacsony bonyolultságú alkalmazásokba.

Egyedi célhardver fejlesztésének általában akkor van értelme, ha brutális mennyiséget le kell aztán az eszközből gyártani és akkor már számít, hogy még fél dollárt meg tudtál baszni egy csicskább kontrollerrel.