Tecnologix

20/09/2018 20:13

Come scrivere correttamente un bootloader

Un bootloader è una porzione di codice il cui scopo è quello di consentire l’aggiornamento di altro codice, tipicamente un’applicazione. L’aggiornamento può essere eseguito in varie modalità, utilizzando ad esempio una chiavetta USB o attraverso una porta di rete per il recupero su server remoto del nuovo codice aggiornato. All’avvio del sistema (ROM boot), sarà eseguito il bootloader e, se necessario, questo dovrà eseguire l’aggiornamento dell'applicazione e quindi avviarla.

Bootloader e applicazione necessitano di essere gestiti come due progetti μVision distinti, il che comporta due eseguibili differenti (immagini/applicazioni). Si noti che l’applicazione non necessita di conoscere l'esistenza del bootloader.

Esistono più modi per consentire al bootloader di entrare in modalità programmazione per sostituire il contenuto della flash in cui si trova il codice da aggiornare o per saltare direttamente all’applicazione al fine di eseguirla. Il modo più semplice è quello di avvalersi di un pin GPIO che determini se si debba entrare in modalità programmazione o meno.

 

Per scoprire tutti i dettagli della corretta programmazione, anche con esempi di codice: http://www.keil.com/support/docs/3913.htm

 

Arm

Arm è leader mondiale in ambito di architetture micro scalabili ad elevata efficienza energetica, utilizzate nel cuore delle applicazioni più evolute, come mobile (smartphone, tablet ecc.), ICT (enterprise server, IoT ecc.), industrial (sensoristica, controller ecc.) e ancora telecom, medicale, automotive, home ecc. L'offerta di Arm include microprocessori RISC 16/32-bit, data engines, processori grafici 3D, librerie digitali, memorie embedded, periferiche, software e sistemi di sviluppo, così come funzioni analogiche e prodotti per la connettività ad alta velocità. Si stima che dal 1990 siano stati rilasciati in tutto il mondo più di 50 miliardi di SoC (System-on-Chip) basati IP Arm.

Maggiori informazioni su Arm si trovano su www.arm.com

 

KEIL

Keil – Tools by Arm produce compilatori C, macro assembler, kernel real-time, debugger, simulatori, IDE e schede di valutazione per famiglie di microcontrollori basate su Arm7/Arm9™/Cortex™-M3, XC16x/C16x/ST10, 251, e 8051. I prodotti Keil comprendono sistemi di sviluppo embedded, software di valutazione, application notes, esempi, aggiornamenti e supporto tecnico.

Maggiori informazioni su Keil sono disponibili su www.keil.com