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