EO_473
66 - ELETTRONICA OGGI 473 - OTTOBRE 2018 I dispositivi Internet of Things (IoT) vengono introdotti sul mercato a un ritmo continuo ed elevato e trovano applicazioni nei più svariati ambiti: dagli elettrodo- mestici ai dispositivi medicali, alle automobili. I produt- tori operano in un mercato molto competitivo, introdurre innovazioni a getto continuo e disporre della flessibilità necessaria per poter adottare o integrare nuove tecno- logie. I progettisti, dal canto loro, devono realizzare pro- dotti flessibili al fine di soddisfare la continua evoluzione dell’ecosistema IoT e garantire la conformità non appena nuove funzionalità e normative vengono adottate. Gli ag- giornamenti del firmware non solo consentono la perso- nalizzazione durante la distribuzione iniziale su un sito del cliente, ma anche di aggiungere nuove funzionalità/ caratteristiche dopo che un prodotto è già stato introdot- to sul mercato oppure consentire di risolvere eventuali problemi del firmware durante l’utilizzo. I dispositivi di memoria non volatile, come le NOR Flash, sono comu- nemente usati come supporto di memorizzazione del codice firmware grazie alle loro caratteristiche di ripro- grammabilità e affidabilità. Riscrivendo solo una parte del codice del firmware del dispositivo, che risiede nella memoria non volatile utilizzata nello stesso, i produtto- ri possono facilmente aggiornare le funzionalità di quel dispositivo. Quando s’intende aggiornare il firmware ci sono tre elementi da considerare: porzione e dimensione del codice da aggiornare, frequenza di aggiornamento e tempo richiesto per effettuare tale aggiornamento. Porzione e dimensione del codice firmware da aggiornare La porzione e la dimensione del codice del firmware da aggiornare sono elementi da tenere in considerazione già durante la fase di progettazione iniziale del dispositivo IoT. La parte aggiornabile del firmware deve essere me- morizzata in un’area separata del dispositivo NOR Flash rispetto alla parte non aggiornabile. L’aggiornamento di I progettisti di dispositivi IoT devono garantire la flessibilità per aggiornare i dati e il codice dell’applicazione. Per aggiornare il firmware ci sono tre elementi da considerare: porzione e dimensione del codice da aggiornare, frequenza di aggiornamento e tempo richiesto per effettuare tale aggiornamento Aggiornamento flessibile del firmware qualsiasi parte di NOR Flash inizia con la cancellazione di quella parte della memoria e quindi la programma- zione di nuove informazioni in quell’area. Le NOR Flash sono organizzate in porzioni denominate settori e bloc- chi di diverse dimensioni. Memorie NOR Flash come il dispositivo SST26VF064B (64 Mbit o 64Mb) realizzate con tecnologia SuperFlash di SST, sono organizzate in settori uniformi di 4 KB che possono essere cancellati e riprogrammati individualmente (4 KB = 4 * 1024 * 8bits = 32,762 bits). Sono anche previsti blocchi più grandi di 8 KB, 32 KB e 64 KB che possono essere cancellati indivi- dualmente. Pertanto, un blocco di 8 KB ha due settori, un blocco di 32 KB ha otto settori e un blocco di 64 KB ha 16 settori. In figura 1 è riportata l’organizzazione della me- moria SST26VF064B in blocchi da 8 KB/32 KB /64 KB. È anche possibile proteggere individualmente ogni blocco. Prima di eseguire qualunque aggiornamento su qualsi- asi porzione di Flash, ai blocchi in quella parte è neces- sario togliere la protezione al fine di consentirne la can- cellazione e la programmazione. Dopo aver completato l’aggiornamento, è consigliabile proteggere nuovamente tali blocchi per impedirne la scrittura o la cancellazio- ne involontaria. La parte aggiornabile del firmware deve essere organizzata in settori e blocchi in modo tale da garantire la flessibilità sufficiente a consentire aggiorna- menti, sia limitati sia completi, delle funzionalità/caratte- ristiche. Poiché la velocità di esecuzione degli aggiorna- menti è determinata dal numero di settori e blocchi che devono essere cancellati e riprogrammati, è meglio tene- re ben presente sia la velocità sia la flessibilità quando si organizza la parte aggiornabile del firmware. La figura 2 mostra un esempio di organizzazione della memoria in porzioni aggiornabili o non aggiornabili. Le parti non ag- giornabili, come il codice di avvio, sono archiviate in aree protette. Le parti aggiornabili del firmware come caratte- ristiche/funzionalità sono suddivise in blocchi più piccoli o blocchi più grandi in base ai requisiti di flessibilità. I Hardik Patel Sr. Applications Engineer Microchip Technology INTERNET OF THINGS
Made with FlippingBook
RkJQdWJsaXNoZXIy MTg0NzE=