Firmware - Aprile 2014 / N°99 - (Page 21)
Per il dettaglio del protocollo I2C tra
giornare solo la sezione dedicata al-
MCU master e MCU slave si rimanda
l'user application. Se l'ID firmware e
all'application note di NXP. Analizziamo
valido, ci spostiamo sul lato di destra
il ciclo operativo della MCU slave. Il
del diagramma di flusso di figura 4.
diagramma di flusso della MCU slave è
L'applicativo è in esecuzione ma la ri-
mostrata in figura 4. All'avvio, la parte di
cezione di un comando come riportato
bootloader secondario verifica l'ID del
in tabella 1 genera la conseguente azio-
firmware e, se non e valido, si mette in
ne, con la differenza che in questo caso
attesa di comandi provenienti dalla
anche il comando 0x33 di aggiorna-
MCU master, con la possibilità di ag-
mento del bootloader secondario (SBL)
sulla MCU slave risulta fattibile. Al termine dell'aggiornamento, un reset permette di portare in esecuzione il nuovo
bootloader secondario appena caricato. Nel caso di aggiornamento del firmware applicativo dall'interno del bootloader secondario, la sequenza delle
operazioni è quella mostrata nel diagramma d flusso di figura 5.
Nel caso la procedura di aggiornamento avvenga dall'interno del applicativo
utente il diagramma di flusso è mostrato in figura 6.
Per invocare una funzione del bootloader secondario dall'interno dell'applicativo utente, si usa la zona di entry
point con le chiamate alle API che abbiamo generato all'indirizzo 0xFFF (figura 2). Il codice potrebbe essere il seguente:
#define SBL_LOCATION 0xFF1
typedef void (*sbl_api)(uint32_t API_Code, uint8_t* pParam);
Servirà poi creare il puntatore, farlo
puntare all'indirizzo giusto ed eseguire
la chiamata, come di seguito:
sbl_api entry;
entry = (sbl_api) (SBL_LOCATION);
(entry)(API_Code, Params);
Per l'esempio proposto attraverso la
nota applicativa di NXP [1], i parametri
con cui invocare le API sono mostrati in
tabella2.
Ovviamente per supportare la programmazione dall'interno dell'applicazione è necessario fornire al linker lo
"scatter loading description file" che
Load Region
Execution Region
Input Sections
0x00000000 -
0x00000000 -
Interrupt Vector Table,
0x00000FEF
0x00000FEF
Code and RO data.
0x10000000 -
RW data, ZI data.
0x10001BFF
0x00000FF0 -
0x00000FF0 -
0x00000FFF
SBL API.
0x00000FFF
Tabella 3: Scatter loading description file per bootloader secondario(LPC11xx).
Figura 4: Diagramma di flusso per la MCU slave.
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