Toolchain offline per la scheda a microcontrollore STM32 NucleoF401RE ed mbed-OS

Per toolchain, letteralmente la catena degli attrezzi, si intende l’insieme dei software necessari ad editare il codice nel linguaggio di programmazione prescelto, alla programmazione della scheda, ossia la scrittura del codice binario nella memoria del microcontrollore, passando necessariamente per un processo di compilazione del codice sorgente. 

Sono possibili molteplici toolchain che utilizzano diversi ambienti di sviluppo (IDE). Quella che approfondiremo, è una toolchain che utilizza Eclipse (TM) come IDE ed GNU ARM come compilatore, invocato mediante MBED-CLI (mbed Command Line Interface).

 

 

Semplificando, abbiamo bisogno di editare il codice nel linguaggio prescelto, nel nostro caso il C++, compilarlo per ottenere il codice binario, ossia la sequenza di istruzioni OP code per il microcontrollore, e caricare il codice binario nella memoria del microcontrollore per essere eseguito.

Obiettivo di questo tutorial è fornire una guida all’installazione di una toolchain per piattaforme STM32 NucleoF401RE che utilizzi librerie mbed-OS in un IDE Eclipse.

 

Tutte le istruzioni sono disponibili al seguente link arm-mbed-os-quickstart.html , ma per semplificare ulteriormente la procedura abbiamo creato un pacchetto per Windows che chiamiamo mbedEclipseStudio, completo di tutto quanto è necessario. Oltre ad Eclipse con preinstallato il Java Runtime Environment, è disponibile il setup del driver che in Windows Explorer consente di vedere la scheda Nucleo come un drive esterno, riducendo la programmazione della scheda alla copia in questo drive del file binario ottenuto dalla compilazione.

Il pacchetto include anche progetti di esempio che esamineremo nei prossimi articoli.

In figura il contenuto del pacchetto dopo aver decompresso il pacchetto.

 

Installazione della toolchain

  1. Copiare il contenuto della cartella decompressa in C:\mbedEclipseStudio;
  2. Eseguire il file “mbed_installer_v041.exe” ed in sequenza cliccare su Next → I Agree → Next → Install
    1. Durante l’installazione comparirà il pop-up in figura. Collegare la scheda Nucleo via USB e cliccare OK. Il driver può essere installato anche in un secondo momento come spiegato di seguito. In tal caso cliccare Annulla →ok
  3. Al termine della installazione cliccare su Finish.

Installazione manuale del driver della scheda Nucleo

Eseguire questa procedura se non si è installato il driver come descritto nella procedura precedente.

  1. Nella cartella C:\mbedEclipseStudio selezionare il file en.stsw-link009.zip ed estrarne il contenuto in una cartella temporanea;
  2. Nella cartella appena estratta, eseguire il file stlink_winusb_install.bat (se non si visualizzano le estensioni dei, assicurarsi che il tipo sia ‘File batch Windows’);
  3. Cliccare Avanti
  4. Cliccare su Installa e poi Fine

 

Compilazione di un progetto in Eclipse

  • Eseguire il file C:\mbedEclipseStudio\eclipese\eclipse.exe
  • Qualora all’avvio di Eclipse, venisse richiesto di indicare il workspace, attraverso il pulsante “Browse” selezionare la cartella C:\mbedEclipseStudio\Getting-started-with-NUCLEO-F401RE-and-mbedOS , cliccare “Launch” ed attendere l’avvio di Eclipse.

 

  • Qualora non venisse richiesto all’avvio, il workspace può essere selezionato dal menu File → Switch Workspace → Other
  • Chiudere la finestra di “Welcome”
  • Se tutti i passaggi sono stati eseguiti correttamente i progetti di esempio appariranno nell’area di “Project Explorer”

 

  • I progetti nel workspace sono chiusi. Per poter lavorare ad un progetto, è necessario aprirlo con un doppio click sul progetto o dal menu contestuale (pulsante destro sul progetto)
  • Una volta aperto il progetto, porre su questo il focus con un click.
  • Per compilare il progetto selezionato, cliccare sull’icona raffigurante un martello

 

  • Al termine del processo di compilazione, se tutto è andato a buon fine, nel riquadro “Console”, compariranno i messaggi come quelli in figura, e verrà indicato il path del file binario generato. 

 

La programmazione della scheda Nucleo

Quando la scheda Nucleo viene collegata via USB ad un computer con sistema operativo Windows, avendo installato il driver, questa viene vista come un drive esterno dal nome NODE_F401RE

 

 

Per la programmazione sarà sufficiente copiare in questo drive il file binario (bin) generato dal processo di compilazione. Durante la programmazione, il LED posto di lato alla porta USB della scheda, lampeggerà alternato i colori verde e rosso.