Akár igazad is lehetne. ;)
Csak egy dologban tévedtél, ami a félreértést okozza: Hiába írsz a tökéletes tesztelési módszerekről, a frmware soha nem lesz software. Bár egyes részleteit lehet szoftveres módon tesztelni, de általában nem.
A fw, - tipikus példa a BIOS - egy interfész a hardver és a szoftver között. A szoftver, algoritmus készülhet bárhogy és lehet tesztelni a legmodernebb módszerekkel és általában nem villamosmérnök írja.
A mikrokontrollert definiáljuk úgy, hogy egy picike CPU, picike programtárral és perifériákkal körberakva. A teljes hw állhat csak a mikrokontrollerből, de lehet további hardver kiegészítése is. A fw áll egy önálló részből és lehet interfésze a külvilág felé.
Ha a "mikro"kontroller elegendő tárolót tartalmaz komoly sw befogadására, akkor feltétlenül igazad van. Ilyen esetben célszerű a szoftver részt különállóan kezelni. Ha valaki a két részt összekeveri, akkor pórul jár - vagy nagyon ért hozzá. ;)
A fw készítésekor egyes esetekben a gondosan megtervezett nyomtatott áramkör minőségét kell vizsgálni: az alapvető és a programozott működés közben keletkező zajok hatását, amit néha lehet "sw" úton javítani. Utána jön az első alapfeladat, amikor "az adatlapokhoz illesztjük a működést". Ez olyan, mint a sw alap függvényeinek elkészítése. Az eddigi feladatokat szoftveres soha nem végzi, mert sem az elektronikához sem az adatlapokhoz nem ért.
Ezek után jöhet a feladat megfogalmazása és rendszerbe helyezése. Meg kell határozni az interrupt forrásokat, esetleg multiplexelést. A működést szétszabdalni és megírni. Regressziós tesztek szükségtelenek, mert az így kialakított vezérlési séma mindig önzáró, az egyes függvények (nevezzük most így) diszjunkt módon működnek. Ha hiba van, akkor nem működnek, de a hiba keresése fokozatos élesztésnél nem bonyolult.
A következő lépés a külső interfész(ek) beillesztése - ha van ilyen.
A végén a szoftveres megkapja az interfész specifikációt és dolgozhat - akár belső, akár külső a szoftver.