Firmware - Aprile 2014 / N°99 - (Page 53)
e, infine, di trasmettere il read status register command, ovvero 70h. Al termine,
il destinatario dovrà trasmettere sempre
il valore dei bit SR11 e SR10 in SRD1
chiudendo definitivamente l'operazione
corrente.
La successiva operazione è verificare
che l'area dell'utente ROM (flash dei
dati, il programma ROM) del target non
contenga nulla, o sia stata già cancellata.
Questa operazione si esegue inviando
dal Serial programmer al target due valori che abilitano il componente a lavorare in questa modalità; in effetti, dal
Serial programmer si spedisce, come
primo valore, il Clear Status Register
Command (50h) e poi all block blank
check command (pari 26h). Per eseguire il comando è però anche necessario inviare un comando di conferma
con il valore D0.
Il Serial Programmer, al fine di verificare il successo dell'operazione, ha la
necessità di leggere il registro Read
Status con 70h: il target entro 20 secondi deve spedire al serial Programmer
il contenuto del registro per la necessaria verifica. In effetti, il Serial Programmer di Renesas deve leggere il bit
SR5 e verificare lo stato del bit: alla
presenza di un valore pari a 0 l'operazione si ritiene conclusa senza errori, altrimenti si dovrà ripetere il tentativo.
Se vogliamo, o abbiamo la necessità
di procedere alla cancellazione della
memoria, dobbiamo iniziare un'altra
procedura: in questo caso dobbiamo
predisporci per cancellare l'area utente
della ROM (flash dati, il programma
ROM).
Dobbiamo attivare la procedura di cancellazione della memoria su ogni indirizzo ripetendo in maniera sequenziale
tutta l'operazione per quante sono le
locazioni da cancellare.
Infatti, dopo la negoziazione iniziale,
trasmissione del Clear Status Register
command (50) e del Block Erase Command (20), dobbiamo inviare l'indirizzo della locazione con il comando di
conferma (D0) e la richiesta del comando di status register (70h) e aspettare la ricezione del registro per verificare il contenuto del bit SR5: con un
valore pari a 1 si rileva la presenza di errori nella fase di scrittura in memoria; altrimenti possiamo pensare di chiudere
l'operazione corrente e passare alla locazione successiva.
Di certo, la parte saliente dell'intera
operazione si trova nella programmazione del componente stesso, perché
possiamo sostituire il programma presente in memoria flash con un nostro
programma che rispetti le nostre specifiche di progetto.
A questo proposito, in figura 5 si pone in
evidenza l'intera operazione. Infatti,
dall'illustrazione possiamo vedere che
l'operazione di scrittura è fatta utilizzando il concetto delle pagine: in altre
parole la scrittura in flash è svolta a
gruppi di 256 byte (una pagina) garantendo così una maggiore prestazione
finale.
Non solo, dalla figura notiamo che, insieme al comando 50 h, clear status
register command, si utilizza anche il
comando 41h, per l'appunto il codice
che si riferisce al comando Page Program. In figura 4 si evince che il Page
Program è un opcode complesso perché richiede diversi opcode successivi.
Infatti, dopo aver inviato, in prima battuta, l'indirizzo della locazione del target, è necessario anche inviare i dati
in modo paginato e in seguito si dovrà
controllare l'esito dell'operazione: anche
in questo caso si controlla il registro
di stato per verificare lo stato del bit
SR4.
Il protocollo così definito da Renesas
permette anche di verificare l'integrità
dei dati scritti: quest'operazione si svolge attraverso il comando verify. In questo caso si legge il programma utente
dal target, verificando che i dati letti
siano uguali a quelli presenti sul computer.
La verifica è condotta a gruppi di 256
byte utilizzando l'opcode FFh: una volta che il target invia i dati verso il serial
programmer, si compie una verifica di
ogni byte delle due memorie e solo in
caso di una perfetta coerenza l'operazione si considera conclusa con successo.
Al termine della programmazione si deve tornare in modalità operativa con
l'opcode Boot End Program, una volta
invocato si chiude la sessione di download/upload.
Il meccanismo, anche in questo caso, è
abbastanza semplice: il Serial programmer invia l'opcode Boot End Program, ovvero 01h, al target seguito dal
comando di conferma con D0. Il target, una volta ricevuta la conferma, deve rispedire al serial programmer lo
stesso comando come acknowledge
dell'operazione.
CONCLUSIONE
Renesas, per approfondire tutti i diversi aspetti di questa nuova tecnologia, ha
messo a disposizione una notevole mole di informazioni e diverso codice sorgente auto-esplicativo [2], da utilizzare
per approfondirne tutti i diversi aspetti.
Grazie a questo nuovo protocollo, la
casa costruttrice intende così offrire a
tutti i progettisti delle nuove possibilità
perché, con l'uso di una semplice linea seriale, permette di condurre sessioni di upgrade in modo perfettamente trasparente e senza richiedere un
impegno particolare.
FOCUS ON
INSIDE
TOOLS
ANALOG
TIPS'N TRICKS
53
SKILLS
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