Salve.
Sono nuovo della programmazione di Arduino in quanto provengo dal mondo Microchip.
Volevo chiedervi se, come per i Microchip, era possibile impostare l'eeprom con valori di default presenti in un file .inc.
In pratica avrei la necessità, in fase di programmazione di Arduino, di programmare contemporaneamente l'eeprom interna al microcontrollore con dei valori di default necessari al corretto funzionamento del firmware. Ho letto dei file eep ma non sono riuscito a capire come vengano gestiti. Inoltre ho letto anche di AVRDUDEGUI che però non sembra funzionare in quanto non mi vede Arduino nemmeno impostando correttamente il setup della posta seriale.
Spero qualcuno possa aiutarmi
Grazie Mille e scusatemi ancora per non essermi presentato adeguatamente alla mia iscrizione.
Buongiorno,
essendo il tuo primo post, nel rispetto del regolamento (… punto 13, primo capoverso), ti chiedo cortesemente di presentartiQUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie.
Guglielmo
P.S.: Qui una serie di link utili, NON necessariamente inerenti alla tua domanda: - serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections - pinout delle varie schede by xxxPighi: Pinout - link generali utili: Link Utili
per quanto riguarda AVRDUDE GUI mi sembra di aver capito che va utilizzato un programmatore ICSP per caricare il file nella eeprom, e questa potrebbe essere una soluzione.
Contemporaneamente alla programmazione di arduino invece è possibile farlo, come accade nei microcontrollori microchip?
Puoi usare EEMEM per inizializzare la EEPROM durante la programmazione, inoltre ti permette di organizzare la EEPROM come delle normali variabili rendendo più semplice scriverli e leggerli.
EEMEM fa parte delle avrlibic ed è necessario includere avr/eeprom.h per poterla usare.
Esempio di inizializzazione valori in EEPROM
unsigned int EEMEM myVar1 = 180;
unsigned long EEMEM myVar = 2500;
astrobeed:
Puoi usare EEMEM per inizializzare la EEPROM durante la programmazione, inoltre ti permette di organizzare la EEPROM come delle normali variabili rendendo più semplice scriverli e leggerli.
EEMEM fa parte delle avrlibic ed è necessario includere avr/eeprom.h per poterla usare.
Esempio di inizializzazione valori in EEPROM
unsigned int EEMEM myVar1 = 180;
unsigned long EEMEM myVar = 2500;
Ti ringrazio per il suggerimento. Colpa mia che non sono stato esaustivo nella mia domanda. I dati che devo inserire sono in effetti byte che fanno a formare un font caratteri quindi parliamo di circa 1,66kb di dati a cui punterò per andarmi a leggere ogni singolo carattere formato da una serie di byte secondo la struttura del file.
Quindi mi interessa solamente che i dati vengano copiati di peso sulla eeprom per poi puntarci in lettura secondo la struttura del file.
astrobeed:
Ma perché devi mettere il font nella EEPROM ?
Si mettono nella flash.
In altri progetti microchip avevo usato questa architettura in quanto mi veniva facile la sostituzione del file .inc contenete il file del font senza stravolgere il firmware.
\\Inclusione nel firmware
ASM
#INCLUDE "TBEEPROM.INC"
ENDASM
\\FILE .INC
ORG 2100h
DE 0xFF,0x04,0x00,0x80,0x00,0x01,0x5A,0x1E
DE 0x00,0x00,0x00,0x10,0x31,0x03,0x28,0x00
DE 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0X00
Ora non conoscendo Atmel mi affido al vostro consiglio.
astrobeed:
Guarda la librerie utft, in particolare come sono fatti i font.
p.s.
Anche su i PIC, che conosco molto bene, non ha alcun senso mettere un font nella EEPROM, anche per loro si mette nella flash.
Sinceramente non capisco perchè non dovrebbe avere senso. Sicuramente molto più comodo e facile scrivere in eeprom in caso di aggiornamento del font che scrivere sulla flash.