3.2 Parametri del dispositivo
Nel file della parte di memoria, ogni dispositivo di memoria è descritto come un elenco di valori di parametri che definiscono caratteristiche come il nome del dispositivo, la dimensione della memoria, il tipo di dispositivo, ecc. I parametri necessari per definire una particolare parte di memoria dipendono dal tipo di memoria e da altre caratteristiche specifiche della parte.
Nota: I nomi dei parametri sono sensibili alle maiuscole.
Valori predefiniti dei parametri
Per alcuni parametri vengono definiti dei valori predefiniti che non devono essere definiti per la maggior parte dei dispositivi di memoria. Ad esempio, baseDeviceAddress e writeInstruction hanno valori predefiniti rispettivamente di 0x50 e 0x02. Questi valori predefiniti sono presi dai valori tipici di questi parametri. Per molte parti della memoria, i valori predefiniti sono corretti, quindi non è necessario definire questi parametri nel nodo <device>. Per quelle parti i cui valori dei parametri differiscono da quelli predefiniti, la specificazione di questo parametro sovrascrive il valore predefinito.
Inoltre, i valori dei parametri predefiniti specifici di un file possono essere definiti definendo il valore del parametro nel nodo <default>. I parametri definiti nel nodo <default> sovrascrivono i normali valori predefiniti. Come per i valori predefiniti normali, anche le impostazioni predefinite specifiche del file possono essere sovrascritte nel nodo <device> per ogni singola parte di memoria.
Tipi di parametri
Esistono quattro tipi principali di parametri del dispositivo: testo, booleano, intero e binario. Inoltre, esiste un parametro, deviceAlgorithm, un parametro di tipo testo per il quale sono accettati solo tre valori specifici.
I parametri di tipo "testo" possono accettare qualsiasi input testuale. Ad esempio, ManufacturerName e deviceDescription, per i quali è accettabile qualsiasi valore di stringa consentito da XML.
I parametri "booleani" consentono due valori: vero o falso, senza distinzione tra maiuscole e minuscole. Esempi di parametri booleani sono hasEraseAll e BusyBitPolarity.
I parametri "Integer" accettano valori numerici senza segno. Per impostazione predefinita, i valori interi vengono analizzati come valori decimali. Se il valore viene preceduto da 0x, il Centro Flash lo analizza come valore esadecimale. Inoltre, i valori interi possono essere definiti come moltiplicazione di due valori con il simbolo *. (Ad esempio, 16384, 0x4000, 16 * 1024, 0x10 * 0x400 e 0x10 * 1024 rappresentano lo stesso valore. Esempi di parametri interi sono capacity, writeInstruction e deviceBusyBit.
I parametri "dati binari" rappresentano una sequenza di valori di byte. Ogni valore di byte della sequenza può essere rappresentato da qualsiasi carattere consentito da XML o inserito come valore esadecimale con il prefisso \ x. Ad esempio, abc123, \ x20 \ x80 \ x14 e abc \ xff sono voci valide per un valore di dati binari.
Tipi di dispositivi di memoria
Esistono tre tipi di dispositivi di memoria supportati dal Centro Flash. Si tratta di: I2C EEPROM, SPI EEPROM e SPI Flash. Alcuni parametri dei dispositivi di memoria sono comuni a tutti e tre i tipi di dispositivi di memoria, mentre alcuni sono specifici per le EEPROM I2C, altri per i dispositivi SPI (sia EEPROM che Flash) e altri ancora per i dispositivi Flash SPI.