Firmware - Aprile 2014 / N°99 - (Page 20)

Figura 2: Mappa di memoria per la MCU slave. Figura 3: Componenti del sistema. cedenza. L'utente interagisce con la MCU master attraverso un terminale Tera term. La MCU master supporta 3 comandi: Lettura del user application firmware ID della MCU slave, Aggiorna lo user application firmware e Aggiorna il bootloader secondario della MCU slave. Il firmware da scaricare sulla MCU slave è contenuto all'interno della memoria della MCU master, a partire dal settore 1. Quando la MCU master riceve un comando dal PC, comunica con la MCU slave per intraprendere le azioni necessarie. Tutte le transazioni tra la MCU master e la MCU slave sono fatte tramite I2C. Comando MAPPA DI MEMORIA La MCU slave ha il bootloader secondario collocato in corrispondenza del primo settore della flash. Allo startup, il bootloader controlla il codice utente verificando il firmware version ID (gli ultimi 4 byte della memoria flash). Se l'ID Tasto inviato da terminale non è valido (0xFFFFFFFF), la MCU slave entra nel bootloader secondario e aspetta per un nuovo firmware tramite il bus I2C. Se invece l'ID risulta valido, la MCU entra in application mode ed esegue la routine di reset dello user application firmware all'indirizzo 0x1004. In application mode, lo slave supporta ancora la possibilità di leggere il firmware version ID dell'applicativo e l'aggiornamento del firmware. In più anche il firmware del bootloader secondario può essere aggiornato utilizzando un comando dedicato proveniente dalla MCU master. La mappa di memoria della MCU slave è mostrata in figura 2. La memoria flash è divisa in due regioni. Una è dedicata al piazzamento del firmware applicativo utente e l'altra è dedicata al bootloader secondario. Il bootloader secondario è collocato nei primi 4 KB di memoria flash e viene eseguito per primo quando il sistema si resetta. La versione è memorizzata negli ultimi 4 byte della memoria flash da 0x7FFFC FnID inviato via I2C API_Code (nel caso la MCU sia un LPC17xx ) oppure da 0x7FFC (se la MCU è una LPC11xx). Il bootloader secondario mette a disposizione anche un entry point per chiamare le sue API, l'indirizzo è 0xFF0. In figura 3 è possibile vedere la mappa di memoria per la MCU master. Il firmware risiede nel settore 0 della flash interna. I rimanenti settori sono riservati alla memorizzazione del firmware e del bootloader secondario per la MCU slave. Quando la MCU master deve procedere all'aggiornamento del firmware dello slave, preleva i dati dai settori dedicati e li trasmette via I2C. IL SOFTWARE La NXP mette a disposizione una nota applicativa e il codice necessario per sviluppare un applicazione come questa [1]. I comandi che la MCU master può ricevere tramite il terminale sono tradotti in tre "function ID" che vengono inviati via I2C alla MCU slave. In tabella 3 si possono vedere i rispettivi codici. Params Description Read firmware version ID 'r' 0x31 0x01 None Enter SBL Mode. User application firmware upgrade 'u' 0x32 0x02 None Exit SBL Mode. Secondary boot loader firmware upgrade 's' 0x33 0x03 Tabella 1: Comandi e FnID per il bootloader secondario. Function ID (Size = 1 byte) Handle command received over I2C-bus. Tabella 2: API per il bootloader secondario. FOCUS ON SKILLS INSIDE TOOLS ANALOG TIPS'N TRICKS MARKET NEWS SPOTLIGHT EVENTS ZAPPING MEMBERSHIP

Tabella dei contenuti per la edizione digitale del Firmware - Aprile 2014 / N°99

TIPS'n tricks
FOCUS on Gecko, i Micro Ultra Low Power
SKILLs
Usare l’oversampling con gli AD7960/61
Bootloader secondario via I2C
INside
Low-Power Design Guide
STM8S: utilizzo del convertitore A/D
Applicazioni USB con MSP430
ANALOG Sensore PWM di prossimità e luce ambiente
TOOLS Il Serial Programmer di Renesas
SPOTlight
LTM®8028: Basso Rumore, Alta Precisione
M2M Forum a Milano: il futuro che è già qui
EVENTS zapping
News
Guida

Firmware - Aprile 2014 / N°99

https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2015-02_109
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2015-01_108
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-12_107
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-11_106
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-10_105
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-09_104
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-07_102
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-06_101
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-05_100
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-04_99
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-03_98
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-02_97
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-01_96
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-12_95
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-11_94
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-10_93
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-09_92
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-07_90_91
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-06_89
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-05_88
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-04_87
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-03_86
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-02_85
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-01_84
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-12_83
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-11_82
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-10_81
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-09_80
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-07_78-79
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-06_77
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-05_76
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-04_75
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-03_74
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-02_73
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-01_72
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-12_71
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-11_70
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-10_69
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-09_68
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-07_66_67
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-06_65
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-05_64
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-04_63
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-02_62
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2011-02_61
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2011-01_60
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-12_59
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-11_58
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-10_57
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-09_56
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2010-07_54-55
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2010-06_53
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Maggio-2010-52
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Aprile-2010-51
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Marzo-2010-50
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Febbraio-2010-49
https://www.nxtbookmedia.com