Renesas Electronics Corporation
Avtor: Brad Rex
TrÅŸenje elektronskih izdelkov je bistveno drugaÄno kot pred desetimi leti. Poleg obiÄajnega napredka na podroÄju strojnih elektriÄnih komponent ter vse veÄje gostote in izboljÅ¡anja zmogljivosti mikrokontrolerjev in mikroprocesorjev so se eksponentne spremembe na podroÄju teÅŸavnosti osredotoÄile na programsko opremo.
Dva najveÄja dejavnika, ki sta povzroÄila to hitro spremembo na podroÄju razvoja programske opreme, sta bila odprtje trgovine z aplikacijami za mobilne telefone in vseprisotnost brezÅŸiÄne povezljivosti. Ti dve tehnologiji sta hkrati obogatili naÅ¡e naprave in jih naredili bolj uporabne, hkrati pa poveÄali zapletenost izdelkov in inÅŸenirskega dela, ki stoji za njimi. Oglejmo si, kako so strnjen cikel naÄrtovanja izdelkov in spremembe pri razvoju programske opreme poveÄale obremenitev inÅŸenirjev in katera orodja obstajajo za razbremenitev.
Å tevilna podjetja in razvijalci se usmerjajo k filozofiji «fail fast», pri kateri so ustvarjanje idej, testiranje in trÅŸno preverjanje stisnjeni v tesno zanko, da bi dosegli ÅŸeleni rezultat. V tem primeru je rezultat sprejetje doloÄenega konÄnega izdelka ali storitve na trgu. To se bistveno razlikuje od bolj tradicionalnega serijskega razvojnega toka, pri katerem se veliko Äasa porabi za izpopolnjevanje zamisli, razvoj strojne opreme, delo na programski opremi in konÄno izdelavo izdelka, ki se uvede na trg.
V nasprotju s filozofijo âfail fastâ, kjer inÅŸenirske ekipe âskunkworksâ nenehno razvijajo, preizkuÅ¡ajo in razvijajo potrditve konceptov izdelkov, hitro prototipiranje z razvojnimi kompleti, odprtokodnimi reÅ¡itvami ter preizkuÅ¡enim in resniÄnim âbreadboardingomâ omogoÄa inÅŸenirjem programske opreme hitro preizkuÅ¡anje nove strojne programske opreme naprave, ki lahko enostavno pokaÅŸe, kako bo konÄni izdelek videti. Äe so uspeÅ¡ni, lahko hitro razvijejo izdelek in ga dajo na trg pred konkurenco. Ta postopek se nato ponovi pri naslednjem izdelku.
Kot smo ÅŸe omenili, je teÅŸava razvijalcev programske opreme v povezavi z zunanjim svetom. Äe se ozremo nazaj, Å¡e pred slabim desetletjem Å¡tevilne naprave niso bile povezane z zunanjim svetom. Bilo je manj mobilnih aplikacij za nadzor in interakcijo z njimi. Posodobitve, Äe so sploh bile, so se veÄinoma izvajale prek USB vmesnika, raÄunalniÅ¡ke aplikacije za izvajanje teh posodobitev pa so bile v najboljÅ¡em primeru povrÅ¡ne, z opozorilnimi okni, ki so kriÄala, naj se naprava ne odklopi ali izgubi energije, sicer boste imeli na koncu okvarjeno napravo. Glede na to je bila programska oprema za te izdelke bolj robustna, saj se je vedelo, da je v prihodnosti morda ne bo mogoÄe posodobiti.
Äe se hitro prestavimo v danaÅ¡nji Äas, je veÄina naprav na trgu povezana z mobilnim telefonom ali lokalnim omreÅŸjem prek Bluetooth ali Wi-Fi povezave. Nizkocenovna in nizkoenergijska omreÅŸja LTE Cat-M1 in NB-IoT postajajo vse bolj priljubljena za stalno povezavo. Poznavanje programske opreme teh novih nizov in komunikacijskih protokolov pomeni, da se inÅŸenirski napori z gole kode zdaj prenaÅ¡ajo na uporabo RTOS sistema, kot sta Amazon FreeRTOS ali Azure RTOS podjetja Microsoft. InÅŸenirji morajo poveÄati svoje znanje in miselnost naÄrtovanja, da lahko razvijajo v okolju z nitmi.
Te stalne povezave z zunanjim svetom zdaj povezujejo ugnezdeno napravo z mobilnimi aplikacijami, storitvami v oblaku, verigami orodij in algoritmi umetne inteligence in strojnega uÄenja ter brezÅŸiÄnimi posodobitvami. To ima nekaj negativnih pomanjkljivosti. Nova orodja je treba prenesti in namestiti, vÄasih pa je teÅŸko najti ta orodja, zlasti na novih tehnoloÅ¡kih podroÄjih, kjer je obiÄajno veliko razliÄnih ponudb, saj trg Å¡e ni ustaljen. Poleg obseÅŸnih namestitev orodij je najveÄja ovira uÄenje razliÄnih tehnologij. Mnoge od teh tehnologij so videti in se poÄutijo povsem drugaÄe kot pri delu s standardnim C jezikom, preklapljanje konteksta pa prinaÅ¡a neuÄinkovitost. Äas, ki je potreben samo za prikaz delujoÄe predstavitve ali preizkusa koncepta, se zaÄne poveÄevati, ko dodajamo dodatne dele.
Na tej toÄki je treba pojasniti eno stvar. Vsi inÅŸenirji, ki delajo na izdelku, morajo natanÄno poznati vse sestavne dele konstrukcije. InÅŸenirji programske opreme morajo razumeti, kako komunicirati z razliÄnimi vodili v napravi. Vedeti morajo, kako ustvariti niti in z njimi komunicirati. Toda ovira, ki jo mora naÅ¡a industrija premagati, je obremenjevanje inÅŸenirskega osebja s tem, da mora postati strokovnjak na samem zaÄetku cikla naÄrtovanja, da bi lahko uporabilo demo projekt ali si ogledalo delovanje naprave. InÅŸenirji morajo biti prepriÄani, da lahko z napravami doseÅŸejo svojo vizijo izdelka, in videti pomeni verjeti. Ko ste prepriÄani, da lahko vse komponente zadovoljijo vaÅ¡e potrebe, si lahko inÅŸenirsko osebje vzame dovolj Äasa za Å¡tudij in uÄenje o vseh komponentah, da bi poveÄalo in iz naprav izvleklo vsak delÄek zmogljivosti.
Po pravem inÅŸenirskem zgledu, ko obstaja teÅŸava, se reÅ¡itve za njeno reÅ¡itev obiÄajno pojavijo na vrhu. Orodja za pospeÅ¡en razvoj programske opreme, kot je Renesasov Quick-Connect Studio (QCStudio), si prizadevajo zniÅŸati razvojno letvico v fazi izdelave prototipov. Spletno orodje uporabnikom omogoÄa, da povleÄejo in spustijo komponente na ravni reÅ¡itve. Ko ste zadovoljni z izbranimi komponentami, lahko QCStudio samodejno konfigurira naprave in ustvari prvi delujoÄi projekt z uporabo teh komponent. InÅŸenirjem programske opreme se ni treba uÄiti o zapletenem multipleksiranju prikljuÄkov, povezavah vrat ali nastavitvah registrov samo zato, da bi preizkusili prototip. Orodje je polnopravni IDE, kodo pa lahko spreminjate neposredno v brskalniku. Ker QCStudio temelji na oblaku, se sestavljanje opravi na daljavo na streÅŸniku v oblaku, ki je bogat z viri in zmogljiv, zato za sestavljanje kode ni potreben zmogljiv namizni ali prenosni raÄunalnik. Po sestavljanju inÅŸenir nastavi strojno opremo natanÄno tako, kot je prikazano v programu QCStudio, prenese binarno sliko in takoj vidi rezultate.
InÅŸenirji za ugnezdeno tehnologijo se sooÄajo s Å¡tevilnimi izzivi pri uvajanju izdelka na trg. Ker so programska oprema in sistemi vse bolj zapleteni, se bo potreba po uÄinkovitih in krajÅ¡ih ciklih naÄrtovanja le Å¡e poveÄevala. Z uporabo agilnih metodologij, ponovno uporabo skupnih ogrodij in arhitektur ter orodij za avtomatizacijo lahko inÅŸenirji programske opreme in sistemov sledijo dinamiÄni naravi industrije in zagotavljajo izdelke viÅ¡je kakovosti v krajÅ¡em Äasu.