Er ROM et "must" i opp basert design?

R

roger

Guest
ROM er et "must" i opp basert design?
kan vi ikke erstatte ROM av RAM?
Hva er fordelen med å bruke ROM?

 
Det kommer an på hva du vil gjøre.
ROM trenger ikke batteri backup, men mindre antall tid for å endre data, så det meste blir brukt til lagring av program eller faste data.RAM trenger batteri backup men data kan endres mer offen, så det er brukt til midlertidig arbeidsområde og / eller lagring.

 
Du vil alltid trenge noen ROM som bootstrap loader å laste RAM via f.eks Ethernet eller RS232.Enkelte prosessorer har denne ROM bord slik at du ikke trenger å ha en ekstern chip, men det er nødvendig, uansett.

 
barny451 skrev:

Du vil alltid trenge noen ROM som bootstrap loader å laste RAM via f.eks Ethernet eller RS232.
Enkelte prosessorer har denne ROM bord slik at du ikke trenger å ha en ekstern chip, men det er nødvendig, uansett.
 
det er ikke praktisk å flytte koden via UART eller annet grensesnitt hver gang du slår på systemet, er den generelle ideen lagre koden i billige flashrom og laste inn koden til ram under oppstart, ja så må du ha en Boot ROM integrert i CPU

 
Fordelen med ROM: non-volatile
Koden er beholdt selv makten tapt

Hvis du vil bruke RAM, du fremdeles trenger en liten ROM servert
som oppstartslastingen

 
Som andre har påpekt er et ROM kreves minst en bootstrap loader, siden det ikke er noen måte å laste opp programmet på RAM uten loading program.Enten du vil kjøre programmet fra ROM eller RAM er opp til deg.
Med RAM, må du laste programmet i RAM når du ønsker å kjøre den.Programmet kan lastes opp fra faste minnet dvs flash eller ROM, eller eksternt dvs. gjennom seriell eller annen måte.RAM er raskere, men du vil miste programmet togather med eventuelle tilhørende data når strømmen er kuttet.
ROM er tregere, men billigere, og data ikke går tapt når strømmen er kuttet.Hvis programmet er endelige, og lagre den i ROM i stedet.Hvis du er i utviklingsfase, bruker du en RAM som det er mer praktisk å laste opp programmet modifikasjoner.

 
Waterman skrev:

Fordelen med ROM: non-volatile

Koden er beholdt selv makten taptHvis du vil bruke RAM, du fremdeles trenger en liten ROM servert

som oppstartslastingen
 
roger skrev:Når strømmen er av.
Systemet kan ikke arbeide noe mer rett?

Så det virket som om forskjellen er bare at hvis du bruker RAM, er det fortsatt behov

tid å laste inn kode fra eksterne enheten.
Som emnet stat "Is ROM

et must? en enkel maskinvare kan gjøre oppgaven på lasting av kode.Det virket som ROM er ikke et must, ikke sant?
 
roger skrev:

Når strømmen er av.
Systemet kan ikke arbeide noe mer rett?

Så det virket som om forskjellen er bare at hvis du bruker RAM, er det fortsatt behov

tid å laste inn kode fra eksterne enheten.
Som emnet stat "Is ROM

et must? en enkel maskinvare kan gjøre oppgaven på lasting av kode.Det virket som ROM er ikke et must, ikke sant?
 
Tydeligvis noen måte å laste RAM er nødvendig fordi den mister sitt innhold når strømmen er fjernet fra den.Vanligvis er dette gjort ved hjelp av en bootstrap loader (som per definisjon må være i ROM eller noen andre ikke-volatile storage like FLASH), men, ja, selvfølgelig dette kan implementeres på noen annen måte, for eksempel dedikert maskinvare, så lenge RAM er lagt før Prosessoren prøver å kjøre kode ut av det, maskinvaren skal holde prosessoren i reset (eller hindre den kjører på annen måte), mens RAM er lastet.

 
Hi sjakkmatt:
La oss gå tilbake til det grunnleggende.On power-on reset, hopper mikroprosessoren til start adressen.For RAM, er det ikke noe på startstreken adressen som den er flyktig.Så mikroprosessor vil henge

kan vi bare la maskinvaren i seg vente på completness av lasting
koden på RAM, så mikroprosessoren vil ikke henge.rett?

 
The crux av problemet ligger i hvordan du skal laste opp program til RAM?

 
I de fleste tilfelle har vi både ROM og RAM, som en hardware ingeniør,
Jeg er nysgjerrig på nødvendigheten av ROM, så jeg legger emnet og konsultere
din idé, tks uansett.

fordi noen fortalte meg ROM er mindre enn RAM.Og det ville være
en kritisk problem når ditt romcode er galt og fanget i et eller noen nederlag i behandling.Det ville gjøre chip en papirkurv, og ingen
redning.Men hvis vi slår ROM til RAM, eventuelle programmeringsfeil eller tap
vil ikke gjøre chip en papirkurv.

Hvordan laste opp kode fra ekstern enhet?Det kan gjøres ved en enkel
state machine, kan staten maskinen gen noen vanlige protokollen som
i2c eller spi & problem lese kommandoen fra eksterne enheten.

 
Jeg hadde verdsetter din innsats, men det første jeg tror at du har for å få forestillinger om RAM og ROM høyre.
Det finnes mange typer ROM.De fleste på markedet nå er reprogrammable.Hvis du laster opp en feil program, du bare omprogrammere den.Omprogrammering kan bety bruker en EEPROM programmerer eller UV viskelær og slike avhengig av type EEPROM brukt.Men det vil ikke være søppel av alle midler.
Som for RAM, laster opp en buggy programmet kan også føre til at programmet krasjer.Du løses ved å omprogrammere det, ligner hjelp ROMer.Bortsett fra i de fleste tilfeller kan omprogrammere RAM gjøres etter at uP har begynt kjøring (ved hjelp av en bootloader på ROM), og dermed mer praktisk.
Endelig er RAMS ment å være høy hastighet.Mens jeg har sett noen føljetong RAMS rundt, de mente for vinduer er ofte parallelt med full adresse / data buss.Vi snakker med mange pinner her.
Selv om du ikke implementere en "enkel" state machine, AT staten maskin ville mest sannsynlig bli gjennomført ved hjelp av en annen opp / ROM / RAM-enhet, slik at det hele ender opp i en firkant.En ROM er fortsatt nødvendig.Mange har nevnt at ROM er en nødvendighet, og sannsynligvis ganske enkelt fordi det er.

I tilfelle du fortsatt forvirret, en opp er en "dum" enhet.Ved oppstart, vet bare hvordan du skal hoppe til start adresse og begynner å utføre den første instruksjonen.Det kommer ikke sammen med noen pre-born kunnskap hvordan implementere noen serielle protokoller, heller ikke vet om noen metode til å laste opp et program i RAM.

 
Roger er riktig, kan et system kjøres prefectly godt ut av RAM, gitt at det må være en måte å få dette RAM initialisert med kode.

En bootstrap lasteren RAM (eller Flash for den saks skyld når du gjør i systemet programmering) er en svært vanlig løsning å laste RAM, og det krever en ROM å holde programmet.Den bootstrap loader er et veldig vanlig løsning, fordi det kan håndtere alle kilder av data, og Roger er riktig at det kan være feil i koden som ligger i ROM, så det er en risiko for problemer.

Hans alternative forslag om å bruke maskinvare å laste data inn i RAM er også fullt teknisk mulig, men denne typen tilnærmingen er mindre vanlig fordi den krever dedikert maskinvare, som sannsynligvis er helt unik for hvert prosjekt / firma, men så hvis du har logikken i en gate array for eksempel som allerede er koblet til RAM adresse / data uansett, kan den ekstra kostnaden være svært liten.

Men denne tilnærmingen har ikke eliminert risikoen for problemer, bare fortrengt dem; risikoen nå er at det er en feil i roger maskinvare loader.Kanskje fordi gate array programmet (RAM-baserte gate array?) Er i seg selv lastes fra en programmerbar minne, kan dette bli oppdatert med relativt enkel teknologi hvis det er nødvendig?

Virker som den virkelige løsningen er i systemet programmering i flash (f.eks via JTAG eller lignende), kan du laste ned bare en bootstrap, eller hele programmet i flash, hvis dens en bootstrap, så det kan dowload kode i RAM.Dette får rundt Rogers innvending til en bootstrap (at den ikke kan endres, fordi det er i ROM) og tilfredsstiller hans behov for å kunne oppdatere programvaren når feil blir funnet.

Selvfølgelig JTAG i systemet programmering er bare noen dedikert maskinvare logikken som implementerer en nedlasting protokoll som kan legge data inn i en programmerbar minne .......... aaaagh!det kan inneholde feil !........ hjernen overbelastes ......... uopprettelig feil oppdages ........ system Halti

 
Hei,

Hvis det er en utvikling bord, er det best å ha en bootloader i ROM og noen mengden RAM for å laste inn koden i det, hvis det er en endelig RODUKTINFORMASJON, bør du vurdere ROM eller enda bedre, en Von-Neumann kablet FLASH program minne med en bootloader for In-System programmering.

Hilsen.

 

Welcome to EDABoard.com

Sponsor

Back
Top