Come iniziare a usare il software open-source con la serie di prodotti RA di Renesas

Di Jacob Beningo

Contributo di Editori nordamericani di DigiKey

I team di sviluppo stanno affrontando diverse sfide - i costi di sviluppo, la crescente complessità dei sistemi, i cicli di sviluppo più brevi e persino il lock-in del software. Questa spinta a fare di più con meno sta diventando un tema comune in tutto il settore dei prodotti embedded: non c'è più tempo per iniziare un progetto da zero. Se il software open-source può essere estremamente utile, può anche essere rischioso dal punto di vista dell'integrazione, dei bug e della tempistica del progetto, ma la situazione sta cambiando.

Una soluzione unica che i team possono sfruttare per risolvere queste sfide è l'utilizzo delle emergenti piattaforme software open-source. Queste piattaforme sono spesso integrate e testate per eliminare i rischi e sono progettate per funzionare con le famiglie di microcontroller su cui si basano.

Questo articolo spiegherà il concetto di software open-source e descriverà come le piattaforme riducono il rischio. Successivamente mostrerà come iniziare a lavorare su una piattaforma open-source utilizzando il Flexible Software Package (FSP) di Renesas sui microcontroller serie RA.

I pro e i contro del software open-source

Il software open-source è un software con codice sorgente che chiunque può esaminare, modificare e migliorare1 entro i limiti stabiliti dal modello di licenza del software. Il software open-source è diventato una risorsa critica per i team di sviluppo perché incoraggia il riutilizzo e fornisce l'accesso a moduli software preesistenti, con un costo minimo o nullo. Ad esempio, ci vorrebbe molto tempo e un grosso budget per scrivere un RTOS da zero e un investimento di tempo e risorse molto maggiore per mantenerlo per diversi anni. Gli sviluppatori possono invece sfruttare diversi RTOS open-source. Questo permette loro di concentrarsi maggiormente sul loro codice applicativo per differenziarsi, invece di sprecare tempo a mantenere il sistema operativo sottostante.

Nei cicli di sviluppo in cui i programmi e i budget sono costantemente ridotti, il software open-source è un meccanismo che consente ai team di sfruttare ciò che già esiste e di concentrarsi sul proprio codice applicativo. Il software open-source ha anche altri vantaggi oltre al risparmio di tempo e denaro, tra cui la trasparenza del codice rispetto a un codice binario compilato, spesso anche l'accesso a una community globale di sviluppatori che la pensano allo stesso modo.

Detto questo, esiste un certo rischio insito nel software open-source, quindi gli sviluppatori devono fare diverse considerazioni importanti nella decisione se lavorare o meno con il software open-source.

In primo luogo, non tutti i software open-source sono supportati a livello globale. Vi sono molte opzioni software create per divertimento da qualcuno in garage o in cantina. Questo "qualcuno" può decidere di supportare il codice per un certo periodo, per dedicarsi poi invece a un altro progetto più interessante, lasciando gli utenti a cavarsela da soli.

In secondo luogo, il software open-source può essere fornito con uno di vari modelli di licenza. Alcune licenze consentono l'uso commerciale o per qualsiasi scopo. Altre licenze prevedono che qualsiasi codice o modifica correlata sia condivisa apertamente con la community. Anche se a prima vista può sembrare abbastanza corretto, è anche un potenziale rischio di responsabilità civile e può imporre alla società di rilasciare il proprio codice sorgente.

Infine, la qualità può essere un punto a sfavore del software open-source. Gli sviluppatori hanno spesso un'idea precisa di ciò che vogliono costruire e spesso creano qualcosa di funzionale. La funzionalità non significa che sarà robusta, senza bug, o facilmente integrabile in altri pacchetti software o basi di codice. La qualità può essere un grosso ostacolo quando si utilizza un software open-source, quindi l'utente deve fare attenzione.

Mitigare i rischi dell'open-source con FSP di Renesas

Per ridurre al minimo il rischio dell'open-source, massimizzandone i benefici, gli sviluppatori possono sfruttare un software già integrato, testato e supportato da un fornitore affidabile. Questo è lo scopo degli FSP serie RA di Renesas.

La serie RA di Renesas è interessante perché oltre all'hardware, la piattaforma fornisce software open-source sotto forma di FSP (Figura 1). L'FSP fornisce tutto il software necessario per far funzionare il microcontroller, incluso il pacchetto di supporto della scheda (BSP), il livello di astrazione hardware (HAL) e diversi stack di middleware. L'FSP include anche FreeRTOS, un RTOS open-source che è molto noto tra gli sviluppatori. Il software è stato inoltre integrato e testato in modo che gli sviluppatori possano iniziare a scrivere immediatamente il loro codice applicativo e ridurre al minimo il tempo trascorso a preoccuparsi dell'hardware di basso livello.

Schema degli stack software integrati funzionanti da subitoFigura 1: L'FSP fornisce stack software integrati che funzionano da subito e facilmente configurabili (Immagine per gentile concessione di Renesas)

L'FSP è progettato per funzionare solo con i microcontroller serie RA di Renesas. Iniziare con la piattaforma è facile, ma gli sviluppatori devono prima selezionare una scheda di sviluppo.

Selezione di una scheda di sviluppo serie RA di Renesas

La serie RA di Renesas è suddivisa in quattro gruppi di processori principali che comprendono le serie RA2, RA4, RA6 e RA8. Ogni famiglia di processori è personalizzata per un prestazioni leggermente diverse e fornisce un processore Arm® Cortex®-M23, Cortex-M33 o Cortex-M4 (Figura 2). La quantità di flash e le caratteristiche disponibili sono scalabili verso l'alto dalla serie RA2 alla serie RA8; il consumo energetico aumenta di conseguenza.

Schema dei microcontroller serie RA di RenesasFigura 2: La serie di microcontroller RA di Renesas è suddivisa in quattro famiglie che forniscono varie gamme di prestazioni attraverso diversi core di processori Arm Cortex-M. (Immagine per gentile concessione di Renesas)

Per decidere la scheda di sviluppo da utilizzare, può essere utile identificare prima l'applicazione finale. Ad esempio, per un'applicazione di controllo o di interfaccia a bassa potenza in apparecchiature sanitarie, d'ufficio o di misurazione, RTK7EKA2A2A1S00001BU (EK-RA2A1) sarebbe una buona scelta (Figura 3). Questo ha un processore a 48 MHz Arm Cortex-M23 a bassa potenza RA2A1 supportato da 256 kbyte di flash e 32 kbyte di RAM. La scheda di sviluppo oltretutto è per lo più nuda, ad eccezione di alcuni connettori di espansione, perfetti per l'interfacciamento di sensori o attuatori esterni. Include un debugger, un pulsante, un potenziometro e un pulsante di rilevamento tattile capacitivo,.

Immagine della scheda di sviluppo EK-RA2A1 di RenesasFigura 3: EK-RA2A1 contiene una vasta gamma di connettori di espansione che la rendono perfetta per applicazioni di controllo e per l'interfacciamento di sensori esterni. (Immagine per gentile concessione di Renesas)

Per un'applicazione più avanzata come un prodotto IoT, industriale, un elettrodomestico o un contatore, lo sviluppatore può optare per la scheda di sviluppo EK-RA4M1 (RTK7EKA4M1M1S00001BU). EK-RA4M1 è alimentato da un processore Arm Cortex-M4 RA4M1, anch'esso funzionante a 48 MHz, e supportato anche da 256 kbyte di flash e 32 kbyte di RAM. Questa scheda è progettata anche per applicazioni a bassa potenza.

Per applicazioni che richiedono prestazioni più elevate, un LCD, connettività Internet, sicurezza avanzata e altre caratteristiche di fascia alta, gli sviluppatori potrebbero optare per la scheda di sviluppo RTK7EKA6M2M2S00001BU (EK-A6M2) o RTK7EKA6M3M3S00001BU (EK-A6M3). EK-A6M2 è basata su RA6M2, un processore Arm Cortex-M4 che funziona a 120 MHz e supportato da un massimo di 1024 kbyte di flash e 384 kbyte di RAM.

La scheda di sviluppo EK-A6M2 fornisce solo le caratteristiche di base come le basette, il potenziometro e un pulsante. Si tratta di una grande scheda a basso costo che permette allo sviluppatore di iniziare a utilizzare l'ambiente di sviluppo, il software e capire l'hardware.

La scheda di sviluppo EK-A6M3 è più divertente (Figura 4). Questa scheda è basata su un processore Arm Cortex-M4 RA6M3, anch'esso funzionante a 120 MHz, ma supportato da un massimo di 2048 kbyte di flash e 640 kbyte di RAM.

Immagine della scheda di sviluppo EK-A6M3 di Renesas per il processore RA6M3Figura 4: La scheda di sviluppo EK-A6M3 per il processore RA6M3 ha 32 Mbyte di flash QSPI esterna per i dati delle applicazioni grafiche per supportare una scheda di espansione grafica compatibile con un acceleratore grafico e funzioni touch. (Immagine per gentile concessione di Renesas)

EK-A6M3 è dotata di una scheda di espansione grafica che permette allo sviluppatore di utilizzare l'acceleratore grafico e le funzioni touch. La scheda viene fornita con una presa Ethernet, espansioni PMOD e connettori Microbus. La scheda di sviluppo viene fornita anche con 32 Mbyte di flash QSPI esterna per i dati delle applicazioni grafiche. Gli sviluppatori avranno anche accesso a un LCD a colori TFT da 4,3" con una risoluzione di 480 x 272 e overlay tattile capacitivo.

Scrivere la prima applicazione con l'FSP

Lo sviluppatore dovrà seguire diversi passi per iniziare la sua prima applicazione FSP.

  1. Selezionare dall'ultima sezione una delle schede di sviluppo che meglio si adatti a una specifica esigenza applicativa.
  2. Scaricare e installare l'IDE e2 Studio. e2 Studio permette di creare progetti, gestire componenti software e scrivere il codice applicativo. Lo sviluppatore può anche eseguire sessioni di debug e interagire con la scheda di sviluppo.
  3. Scaricare e installare l'FSP.

Una volta completati questi passaggi, lo sviluppatore può aprire e2 Studio e creare un nuovo progetto nel modo seguente:

  1. File -> New -> RA C/C++ Project.
  2. Selezionare Renesas RA C Executable Project e fare clic su Next (Figura 5).

    Immagine del progetto FSP creato sfruttando il modello di progetto eseguibile Renesas RA CFigura 5: Un progetto FSP viene creato sfruttando il modello di progetto eseguibile Renesas RA C (Immagine per gentile concessione di Beningo Embedded Group)

  3. Lo sviluppatore dà quindi un nome al progetto e seleziona i parametri importanti, ad esempio (Figura 6):
    1. La versione FSP che verrà utilizzata
    2. Il modello della scheda di sviluppo
    3. Il dispositivo a microcontroller
    4. L'RTOS che verrà utilizzato (se necessario)

Immagine dei parametri del dispositivo e del softwareFigura 6: Lo sviluppatore seleziona i parametri importanti del dispositivo e del software quando crea il progetto. (Immagine per gentile concessione di Beningo Embedded Group)

Una volta creato il progetto, lo sviluppatore può quindi utilizzare l'IDE per sviluppare il codice applicativo e utilizzare e2 Studio Stacks Configuration Tool per configurare driver integrati, framework e software open-source all'interno del progetto.

Suggerimenti e consigli per lavorare con il software open-source

Sfruttare un software open-source è fondamentale per i team di sviluppo che desiderano accelerare lo sviluppo e tener sotto controllo i costi. Per sfruttare il software open-source, i team dovrebbero tenere a mente alcuni consigli, ad esempio:

  • Selezionare il software che abbia una community attiva, non un codice una tantum da GitHub o un servizio simile.
  • Studiare il software ed esaminare la qualità del codice del software open-source.
  • Far valutare la licenza software da un avvocato per assicurarsi di averla capita correttamente.
  • Utilizzare un livello di astrazione per rimuovere le dipendenze. Questo permetterà di rimuovere facilmente il pacchetto software in un secondo momento, se necessario.
  • Sfruttare il software integrato quando possibile per ridurre al minimo i problemi.

Seguendo questi consigli, gli sviluppatori risparmieranno parecchio tempo ed eviteranno grattacapi nell'implementazione delle funzioni di sicurezza nei loro dispositivi IoT.

Conclusione

Con l'aumento della complessità dei sistemi embedded, il software open-source aiuta i team di sviluppo a gestire meglio le tempistiche e i budget. Tuttavia, i team devono selezionare con attenzione il software open-source che utilizzano. Molte opzioni software open-source non sono supportate sul web e possono causare problemi di integrazione e cicli di manutenzione senza fine.

Come mostrato in questo articolo, piattaforme come la serie di microcontroller RA di Renesas eliminano parecchio lavoro e forniscono ai team una solida base da cui iniziare a sviluppare applicazioni proprie, nel rispetto dei tempi e dei budget.

Riferimenti

  1. https://opensource.com/resources/what-open-source
DigiKey logo

Esonero della responsabilità: le opinioni, le convinzioni e i punti di vista espressi dai vari autori e/o dai partecipanti al forum su questo sito Web non riflettono necessariamente le opinioni, le convinzioni e i punti di vista di DigiKey o le sue politiche.

Informazioni su questo autore

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo è un consulente software embedded e attualmente lavora con clienti in più di una decina di paesi per trasformare radicalmente le loro attività migliorando la qualità dei prodotti, i costi e il time-to-market. Ha pubblicato più di 200 articoli sulle tecniche di sviluppo di software embedded, è un relatore e un istruttore tecnico e ha conseguito tre lauree, tra cui un master in ingegneria presso University of Michigan. Risponde all'indirizzo jacob@beningo.com, ha un sito web personale www.beningo.com e produce una Newsletter mensile Embedded Bytes cui è possibile iscriversi.

Informazioni su questo editore

Editori nordamericani di DigiKey