EMB 92

EMBEDDED 92 • MAGGIO • 2024 32 SPECIALE | OPEN SOURCE fornire agli sviluppatori un tool open source, liberamente disponibile per chiunque, robusto e facile da usare per l’ag- giornamento dei dispositivi Linux embedded: spesso, infat- ti, si spiega nella pagina su GitHub dedicata al progetto, i team che sviluppano prodotti embedded tendono a creare “updater” sviluppati internamente all’ultimo momento, a causa della necessità di correggere bug nei dispositivi di- spiegati sul campo, e ciò rischia di compromettere la ro- bustezza e affidabilità del processo di aggiornamento, che è un requisito essenziale in questi sistemi. In Mender, sia il server di gestione, sia la componente client da installare sul dispositivo target, sono open source e liberamente uti- lizzabili, attraverso la licenza Apache, versione 2.0. Server di automazione: Jenkins Passando, dagli strumenti di patch management, alle mo- derne metodologie di progettazione del codice, non si può evitare di menzionare il paradigma di sviluppo DevOps (development and operations) e le pratiche CI/CD (conti- nuous integration, continuous delivery, continuous deploy- ment). Qui, Jenkins si colloca come un server di automa- zione e un framework estensibile open source applicabile in svariate aree del software embedded e anche dello svi- luppo hardware. Jenkins è in grado di automatizzare tutte le tipologie di compiti connessi alle fasi di sviluppo, test, distribuzione, implementazione del software, e dispone di plugin per l’integrazione con strumenti di uso comune, come GCC (GNU Compiler Collection), Microsoft Visual Studio o quant’altro. Sebbene, nella pagina web dedicata al tema (https://www. jenkins.io/solutions/embedded/) venga specificato che, al momento, non ci sono uno sviluppo embedded “do- main-specific” o integrazioni con tool EDA (electronic de- sign automation), Jenkins è in grado comunque d’integrar- si con qualsiasi strumento in grado di fornire un’interfac- cia a riga di comando (CLI - command-line interface). An- che l’interazione con le board di sviluppo basate su FPGA (field programmable gate array) può avvenire attraverso i tool CLI. Suite di sviluppo embedded: Eclipse ThreadX Un altro importante settore del software open source per i sistemi embedded è quello delle suite di sviluppo embed- ded e dei sistemi operativi real-time (RTOS – real-time operating system). In questo ambito, nel novembre 2023, con l’obiettivo di rafforzare l’impegno per l’innovazione e la collaborazione nella comunità, Microsoft ha annun- ciato la transizione di Azure RTOS verso un modello open source, sotto la tutela della Eclipse Foundation. In seguito a tale operazione, oggi, la suite di sviluppo embedded Azu- re RTOS con l’RTOS ThreadX prende il nome di Eclipse ThreadX. Il nuovo progetto, al momento in cui scriviamo ancora in fase di incubazione, si propone di fornire un si- stema operativo open source, vendor-neutral e “safety cer- tified”, dedicato ad applicazioni real-time e dispositivi con risorse limitate, e pubblicato sotto una licenza permissiva. Analisi e correzione di bug: GDB La fase di debugging del codi- ce è d’importanza cruciale nello sviluppo di sistemi embedded, poiché quando si verifica un er- rore o un malfunzionamento in applicazioni safety-critical, come quelle nel settore automotive, aerospaziale o medicale, le con- seguenze possono essere gravi. Vari tool di sviluppo aiutano a semplificare e velocizzare il processo di progettazione del software (Fonte: Pixabay)

RkJQdWJsaXNoZXIy Mzg4NjYz