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