Toon posts:

Data opslaan in CMOS

Pagina: 1
Acties:
  • 104 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik ben al een tijdje bezig met het bouwen van een MP3-autoradio. Alle instellingen sla ik om de paar seconde op zodat je altijd de spanning eraf kan gooien, en als je hem daarna weer aanzet is-tie na het booten weer waar die was.
Ik schrijf nu naar een (eigenlijk twee) file(s) op de harddisk. Samen met het lezen van de mp3's geeft me dat net effe teveel hdd-activiteit. Ik heb dat ding het liefst zo rustig mogelijk want in de auto heeft-ie al genoeg te lijden. CMOS lijkt me een goede oplossing. Ik heb een beetje rondgeneust op internet en volgens mij zijn de laatste 4 bytes vrij te gebruiken. Lezen en schrijven lukt me wel maar hij blijft met een checksum error komen.
Ik heb wat geprobeert te berekenen maar eigenlijk komt het er op neer dat bytes 7C-7F niet gechecksummed worden volgens wat ik kan vinden.
Wie weet hoe ik een paar bytes in me CMOS (of Flash of een of andere PIC) kan opslaan?
Ik heb een VIA Epia-V8000 moederbord met 800MHz C3-processor.

http://www.viaembedded.co...pec.jsp?motherboardId=141

  • Creepy
  • Registratie: Juni 2001
  • Nu online

Creepy

Tactical Espionage Splatterer

Wat ik niet span is waarom je om de paar seconden settings weg blijft schrijven. Waarom kan je deze niet alleen wegschrijven als ze ook daadwerkdelijk zijn aangepast en anders niet? Als je zomaar de spanning eraf gooit lijkt het met logisch dat hij niet precies verder gaat waar hij is gebleven. Als je normaal het apparaat afsluit kan je mooi de settings wegsaven.
Zorg anders ervoor dat je kan detecteren wanneer de autosleutel uit het contact gaat, sla dan je settings op, en sluit jezelf af.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • PanMan
  • Registratie: November 1999
  • Laatst online: 09:59

PanMan

Spun!

Misschien kan je ook wel een klein batterijtje oid inbouwen, zodat als de spanning eraf gaat, je altijd nog een paar sec hebt om de settings weg te schrijven (naar hd?), en dan een normale shutdown te doen.

Where a calculator on the ENIAC is equipped with 18,000 vacuum tubes and weighs 30 tons, computers in the future may have only 1,000 vacuum tubes and weigh only 1.5 tons.
– Popular Mechanics, March 1949


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
Batterij inbouwen? Is er iets mis met een autoaccu?

Overigens denk ik dat de oplossing vrij desastreus is. Flash ondersteunt zonder write balancing maar iets van 10.000 write cycles, en je CMOS is waarschijnlijk ook Flash. Elke paar seconden schrijven betekent dat je binnen een paar uur het ding om zeep hebt geholpen.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • BoAC
  • Registratie: Februari 2003
  • Laatst online: 17:40

BoAC

Memento mori

MSalters schreef op zaterdag 08 januari 2005 @ 10:55:
Batterij inbouwen? Is er iets mis met een autoaccu?

Overigens denk ik dat de oplossing vrij desastreus is. Flash ondersteunt zonder write balancing maar iets van 10.000 write cycles, en je CMOS is waarschijnlijk ook Flash. Elke paar seconden schrijven betekent dat je binnen een paar uur het ding om zeep hebt geholpen.
Je CMOS flash?? Maar als je het batterij'tje uit je moederbord haalt dan :?

So heb nog ff gezocht ;) Miscchien heb je er wat aan: Change CMOS settings from Windows? - Is it possible?

[ Voor 16% gewijzigd door BoAC op 08-01-2005 11:12 ]


Verwijderd

Topicstarter
Wat ik niet span is waarom je om de paar seconden settings weg blijft schrijven. Waarom kan je deze niet alleen wegschrijven als ze ook daadwerkdelijk zijn aangepast en anders niet? Als je zomaar de spanning eraf gooit lijkt het met logisch dat hij niet precies verder gaat waar hij is gebleven. Als je normaal het apparaat afsluit kan je mooi de settings wegsaven.
Ik schrijf elke paar seconde de instellingen weg zodat-ie (onder andere) op hetzelfde punt in een nummer begint als waar die was toen ik hem uitzette met de gewone klik-klak drukknop. Ik heb persoonlijk niet zo'n behoefte tegen een apparaat te zeggen dat-ie bijna uitgaat.
Zorg anders ervoor dat je kan detecteren wanneer de autosleutel uit het contact gaat, sla dan je settings op, en sluit jezelf af.
Leuk idee, zelf nog niet aan gedacht. Toch ga ik liever voor de 'spanning d'raf wanneer je er zin in hebt'.
So heb nog ff gezocht Miscchien heb je er wat aan: Change CMOS settings from Windows? - Is it possible?
Dank je, maar....
Een van de replies verwijst naar
http://www.experts-exchange.com/Programming/Q_11678198.html

en daarin staat onder andere:
code:
1
2
3
4
5
6
7
8
* Compute and store new CMOS checksum */
void NewCMOSChecksum (void) {
    int Loc, CheckSum = 0;
    for (Loc = 0x10; Loc < 0x2E; Loc++)
     CheckSum += ReadCMOS (Loc);
    WriteCMOS (0x2E, (CheckSum >> 8));
    WriteCMOS (0x2F, (CheckSum & 0xFF));
}


de checksum wordt berekend over offsets 0x10 tot 0x2E. Maar mijn bord geeft een checksum error als ik schrijf naar 0x7C..0x7F. Blijkbaar heeft-ie nog meer checksums.

Verwijderd

Een andere aardige tip is wellicht voor 2 tientjes de kleinste usb-pendrive te kopen die je vinden kan en daar de settings heen te schrijven.
Pagina: 1