ROM è un "must" di progettazione in un massimo di base?

R

roger

Guest
ROM è un "must" di progettazione in un massimo di base?
non possiamo sostituire ROM di RAM?
Qual è il vantaggio di utilizzare ROM?

 
Dipende da cosa si vuole fare.
ROM non necessita di batteria di backup, ma meno il numero di tempo per cambiare i dati, quindi la maggior parte è utilizzata per la memorizzazione di programma o di dati fissi.RAM esigenze di backup della batteria, ma i dati possono essere modificati più offen, quindi è utilizzato per l'area di lavoro temporaneo e / o lo stoccaggio.

 
Avrete sempre bisogno di un po ROM come un bootstrap loader per caricare il tuo RAM grazie, ad esempio Ethernet o RS232.Alcuni processori hanno presente a bordo ROM in modo che non c'è bisogno di avere un chip esterno, ma è necessario, qualunque sia.

 
barny451 ha scritto:

Avrete sempre bisogno di un po ROM come un bootstrap loader per caricare il tuo RAM grazie, ad esempio Ethernet o RS232.
Alcuni processori hanno presente a bordo ROM in modo che non c'è bisogno di avere un chip esterno, ma è necessario, qualunque sia.
 
non è pratico per trasferire il codice tramite interfaccia UART o altri ogni volta che si accende il sistema, l'idea generale è memorizzare il codice in FlashROM economici e caricare il codice di RAM durante il boot-up, anche così, è necessario disporre di un ROM di boot integrato nella CPU

 
vantaggio di ROM: non-volatile
Il codice è conservato anche il potere perduto

Se si vuole usare la RAM, è ancora bisogno di una ROM piccolo servito
come boot loader

 
Come altri hanno sottolineato, una ROM è richiesto almeno per un caricatore di bootstrap, dal momento che non c'è modo di caricare il tuo programma su RAM, senza un programma di caricamento.Se si desidera eseguire il programma da ROM o RAM sta a voi.
Con RAM, è necessario caricare il programma in RAM ogni volta che si desidera eseguirlo.Il programma può essere caricato dalla memoria flash ad esempio, fissa o ROM, o esternamente cioè con mezzi di serie o di altro tipo.RAM è più veloce, ma si perderebbe il togather programma con tutti i dati associati quando l'alimentazione viene tagliato.
ROM è più lento ma più economici, e dei dati non è perso quando è stato tagliato.Se il programma è finalizzato, riporlo nella ROM, invece.Se siete in fase di sviluppo, utilizzare un RAM come è più conveniente per le modifiche del programma di caricamento.

 
Waterman ha scritto:

vantaggio di ROM: non-volatile

Il codice è conservato anche il potere perdutoSe si vuole usare la RAM, è ancora bisogno di una ROM piccolo servito

come boot loader
 
Roger ha scritto:Quando l'alimentazione è spento.
Il sistema non può funzionare alcun diritto di più?

Così sembrava che la differenza è solo a se RAM usando, si devono ancora

di tempo per caricare il codice da dispositivo esterno.
Come lo stato tema "Is ROM

un dovere? "un hardware semplice può fare il compito di caricare codice.Sembrava che la ROM non è un "must", giusto?
 
Roger ha scritto:

Quando l'alimentazione è spento.
Il sistema non può funzionare alcun diritto di più?

Così sembrava che la differenza è solo a se RAM usando, si devono ancora

di tempo per caricare il codice da dispositivo esterno.
Come lo stato tema "Is ROM

un dovere? "un hardware semplice può fare il compito di caricare codice.Sembrava che la ROM non è un "must", giusto?
 
Ovviamente qualche modo carico di RAM è necessaria perché si perde il suo contenuto quando l'alimentazione viene rimosso da essa.In genere questo viene fatto con un caricatore di bootstrap (che per definizione deve essere in ROM o qualche altra memoria volatile come Flash), ma, sì, certo, questo potrebbe essere attuato un altro modo, come hardware dedicato, fino a quando la memoria RAM viene caricato prima che il processore tenta di eseguire il codice di fuori di esso, l'hardware deve tenere il processore in reset (o impedire a farlo funzionare in qualche altro modo), mentre la RAM è caricato.

 
Hi scacco matto:
Let's go back to the basics.Il power-on reset, il microprocessore salta l'indirizzo di partenza.Per la RAM, non c'è nulla di l'indirizzo di partenza, come è volatile.In modo che il microprocessore si bloccherà

possiamo lasciare che l'hardware fino attendere il completness di carico
codice sulla RAM, quindi il microprocessore non si bloccherà.giusto?

 
Il nocciolo del problema è nel modo in cui si sta andando per caricare il tuo programma di RAM?

 
Nel caso in cui la maggior parte, abbiamo entrambi ROM e RAM, un ingegnere di hardware,
Sarei curioso di sentire la necessità di ROM, così ho posto il tema e consultare
la tua idea, tks comunque.

perché qualcuno mi ha detto ROM 's minore di RAM.E non ci sarebbe
un problema fatale una volta che la romcode sbagliato e intrappolato in qualche parte o qualche sconfitta in trasformazione.Che renderebbe il chip di un bidone della spazzatura e non
di salvataggio.Ma se ci rivolgiamo ROM di RAM, un errore di programmazione o la sconfitta
non farà il chip un bidone della spazzatura.

How to upload del codice da dispositivo esterno?Può essere fatto da un semplice
macchina statale, la macchina dello Stato può gen alcuni comuni, come il protocollo
I2C o SPI & issue comando di lettura da dispositivo esterno.

 
Avevo apprezzato il tuo sforzo, ma in primo luogo penso che hai per ottenere il vostro nozioni di RAM e ROM di diritto.
Ci sono molti tipi di ROM.La maggior parte sul mercato ora sono riprogrammabili.Se si carica un programma sbagliato, basta riprogrammare.Riprogrammazione può comportare l'utilizzo di un programmatore EEPROM o cancellino UV e quali a seconda del tipo di EEPROM utilizzato.Ma non sarà trash con tutti i mezzi.
Come per la RAM, il caricamento di un programma di buggy può anche causare il crash del programma.Vi rimedio dalla riprogrammazione, simile ad usare ROM.Salvo nella maggioranza dei casi, la riprogrammazione della RAM può essere fatto dopo l'UP ha iniziato l'esecuzione (con un bootloader sulla ROM), e quindi più conveniente.
Infine, RAM sono destinati ad essere ad alta velocità.Mentre ho visto alcuni RAM di serie in giro, quelli destinati a nuove imprese sono spesso in parallelo con un indirizzo completo / bus dati.Stiamo parlando con un sacco di spilli qui.
Anche se viene applicata una "semplice" macchina statale, la macchina sarebbe stato molto probabilmente essere implementato usando un altro up / ROM / dispositivo di RAM, così finisce tutto in una sola piazza.Una ROM è ancora necessaria.Molte persone hanno detto che ROM sono una necessità, e forse semplicemente perché è.

Nel caso in cui non si è ancora confuso, un up è uno "stupido" del dispositivo.Su power-up, si sa solo il modo per passare l'indirizzo di partenza e di avviare l'esecuzione della prima istruzione.Non viene con ogni pre-nascita come la conoscenza di realizzare qualsiasi protocolli seriali, né è a conoscenza di alcun metodo per caricare un programma in RAM.

 
Roger è giusto, un sistema può essere eseguito prefectly bene di RAM, dato che ci deve essere un modo per ottenere questo RAM inizializzato con il codice.

Un caricatore di bootstrap nella RAM (o Flash per quella materia in cui fare la programmazione in-system) è una soluzione molto comune per il caricamento della RAM, e richiede una ROM di tenere il programma.Il caricatore di bootstrap è una soluzione molto comune in quanto in grado di gestire qualsiasi fonte di dati, e Roger è giusto che vi possono essere bug nel codice che è nella ROM, quindi c'è un rischio di problemi.

La sua proposta alternativa di utilizzare hardware per caricare i dati in RAM è perfettamente anche tecnicamente fattibile, ma questo tipo di approccio è meno comunemente utilizzato perché richiede un hardware dedicato, che è probabilmente del tutto unica per ciascun progetto / impresa, ma poi se hai logiche in un gate array, ad esempio, che è già collegato a indirizzo RAM / dati in ogni caso, il costo supplementare potrebbe essere molto piccolo.

Tuttavia questo approccio non ha eliminato il rischio di problemi, solo sfollati loro, il rischio ora è che c'è un bug nel caricatore Roger's hardware.Forse perché il programma di gate array (RAM-gate array basati?) È a sua volta caricato da una memoria programmabile, questo potrebbe essere aggiornato con la tecnologia relativamente semplice, se necessario?

Sembra che la vera soluzione è nella programmazione di sistema in flash (ad esempio via JTAG o simili), è possibile scaricare solo un bootstrap, ovvero la piena applicazione in flash, se uno bootstrap, allora si può scaricare il codice nella RAM.Questo aggira obiezione di Roger a un bootstrap (che non può essere modificato, perché è in ROM) e soddisfa il suo bisogno di essere in grado di aggiornare il software quando vengono trovati dei bug.

Naturalmente JTAG programmazione in-system è solo una logica di hardware dedicato, che implementa un protocollo di download che possono caricare i dati in una memoria programmabile .......... Aaaagh!avrebbe potuto !........ bug di sovraccarico del cervello ......... errore irreversibile di sistema rilevata Halti ........

 
Salve,

Se si tratta di una scheda di sviluppo, è meglio avere un bootloader in ROM e una certa quantità di RAM per caricare il codice in esso, se si tratta di un rodotto finale, si dovrebbe considerare ROM o, meglio ancora, un Von Neumann-wired programma FLASH memoria con un bootloader per In-System Programming.

Saluti.

 

Welcome to EDABoard.com

Sponsor

Back
Top