bios zerschossen EEPROM neu programmieren Hilfe gesucht Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte
Autor |
bios zerschossen EEPROM neu programmieren Hilfe gesucht |
|
|
|
|
BID = 534743
ZeRo-Cool Gesprächig
Beiträge: 179 Wohnort: Kreßberg
|
|
Hi all
ich hab ein Problem, ich hab mir am Sonntag von nem alten PC das BIOS geschossen (beim flashen als ich das alte wieder einspielen wollte)
Hab nun auch noch versucht das wieder hin zu bekommen ohne erfolg...
Jetzt meine Frage der IC, auf dem das BIOS ist, ist doch nichts anderes als ein EEPROM...
würde es nicht (unter vertetbarem Aufwand funktionieren, wenn man die Pinbelegung rausbekommt, dafür einen kleinen programmer zu basteln um das EEPROM an eine schnittstelle zu bekommen und das BIOS Flash Image wieder ein zu spielen??
Vielen Dank!
mfg
Stefan |
|
BID = 534746
Jornbyte Moderator
Beiträge: 7197
|
|
Zitat :
| Jetzt meine Frage der IC, auf dem das BIOS ist, ist doch nichts anderes als ein EEPROM... |
Nein, so einfach ist es nicht. Da ist zwar ein EEpron drinne, wird aber von einem µC gelesen und beschrieben. Solltest du den Bootloder zerschossen haben wird es (unter Umständen) schwer den wieder zu beleben. Ohne Typ oder Datenblattangaben wirste kaum ein brauchbares Ergebniss erziehlen. Es soll Seiten geben, wo beschrieben wird, wie das passende Romimage wieder hergestellt werden kann.
_________________
mfg Jornbyte
Es handelt sich bei dem Tipp nicht um eine Rechtsverbindliche Auskunft und
wer Tippfehler findet, kann sie behalten. |
|
BID = 534760
ZeRo-Cool Gesprächig
Beiträge: 179 Wohnort: Kreßberg
|
Hi Jornbyte
danke für deine Antwort also der Typ is W29C020
hier ist das datenblatt dazu
ich hab hier noch nen GALEP-ll vieleicht sagt dir der programmer was is n programiergerät für eproms und gals die software die ich dafür noch ausgegraben hab (original im inet hab ich nichts zu gefunden) hat zwar n paar typen drin, aber den nichtmal annähern (wobei ich überhaupt bezweifeln mag, dass ich mit dem noch sowas programmieren kann...
aber wenn ich mir das datenblatt so anschaue ist es doch eigentlich kaum ein problem, da daten einzuspielen bzw auszulesen... (auslesen kann der programmer übrigens aber schreiben wird denk ich mal nix, wenn der den typ ned kennt / unterstützt (logisch)
Vielen Dank!
Gruß
Stefan
|
BID = 534892
ZeRo-Cool Gesprächig
Beiträge: 179 Wohnort: Kreßberg
|
hmm hat noch jemand vorschläfe wäre es nicht möglich selbst einen programmer zu basteln (mit nem µC)...
warauf müsst ich da achten?
Gruß
Stefan
|
BID = 534931
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Das ist möglich.
Du musst dir nur überlegen, wie du das BIOS (-Programm) vom Image auf den Chip über den µC bekommst. Ich habe das öfters so gemacht:
AVR über USB an den Rechner, an den µC das EEPROM. Per linux dann immer eine bestimmte Anzahl an Bytes zum AVR rübergeschoben, der hat sie gepuffert und in den EEPROM geschrieben. Da muss man nur aufpassen, dass die Timings zum Programmieren eingehalten werden.
Aber das ist keine Garantie dafür, dass das auch danach alles funktioniert! Vorallem muss man die Datenformate penibel einhalten - ein falschgesetztes Bit bedeutet i.d.R. fehlerhafte Integrität der Daten. In der Regel wird nämlich eine Fehlerkorrektur mit bestimmten Verfahren berechnet. Mit viel Glück ist es eine einfache Parität , mit wesentlich mehr Pech, und das ist wahrscheinlicher, sind es CRC-Verfahren.
_________________
|
BID = 536783
ZeRo-Cool Gesprächig
Beiträge: 179 Wohnort: Kreßberg
|
Hi
erstmal danke für deine Antwort (wenn auch spät )
Wie meinst du das mit der Fehlerkorektur?
wie genau wird sowas den realisiert?
(Auch wenn ich diese nicht unbedingt in betracht ziehen müsste würd mich sowas mal genauer interessiern, also welche varianten es gibt, pro/contra, funktionsweiße)
von der theorie her; reicht es nicht aus, wenn ich nacheinander die adressen des EEPROMS durchklapper, und dann dementsprechend die bytes setze?
kann ich das auch prinzipiell so veralgemeiner, dass ich sag das, was in der bin datei an adresse 0x00 (nur beispiel) steht auch aufs EEPROM an 0x00 kommt und das, was in der bin auf 0x0F1C auch im EEPROM GENAU! da hin gehört??
Ach ja ich würde das BIOS Image lieber über die normale RS232 Schnittstelle "durchschieben", da ich mich mit µC komunikation via USB noch nicht wirklich befasst habe (komm irgendwann noch)...
P.S.: an alle, die das realistisch betrachten: ich geb euch natürlich vollkommen recht ich weiß, dass sich der aufwand für das mb nicht lohnt und ich weiß auch, dass man die chips neu kaufen / wiederbeschreiben lassen kann...
Mir geht es eigentlich nur um den lernefeckt
mal ein größeres Project, um mich weiter in die µC Programmierung ein zu arbeiten^^
Vielen Dank schonmal im voraus!!!
mfg
Stefan
|
BID = 537285
selfman Schreibmaschine
Beiträge: 1681 Wohnort: Seekirchen a. W.
|
Der Bezeichnung nach ist das ein 2Mbit Flash.
Wenn Du den EXAKTEN und GESAMMTEN Speicherhinhalt (jedes einzelne Byte) in irgendeiner Form (Intel HEX, Motorola S, BIN, ...)zur Verfügung hast, könnte das ein einfacher Programmer erledigen. Dann müsste auch der Bootloader der in einem eigenen Sektor steht auch wieder hergestellt sein.
Schöne Grüße Selfman
_________________
Traue keinem Ding, das du nicht selber vermurkst hast.
|
BID = 537376
ZeRo-Cool Gesprächig
Beiträge: 179 Wohnort: Kreßberg
|
ja ich hätte hier ein bin file, das der größe nach und auch vom aufbau her gesehn dem inhalt sehr wohl entsprechen könnte (das flash file, von der mb herstellerseite)
Müsste ich denn von den schreibe zyklen irgendetwas besonderes beachten? (außer halt die min / max timings)
sonst hätte ich halt einfach nen zähler programmiert, der die adressen nacheinander anspringt und der controller epfängt dann das erste bit vom rechner (rs232), gibt es auf den datenbus und dann das zweite....
oder würdet ihr das anderst realisieren?
Gruß
Stefan
|
BID = 537540
ZeRo-Cool Gesprächig
Beiträge: 179 Wohnort: Kreßberg
|
Hi
ich bin hier an der stelle nur auf ein problem gestoßen, wenn ich da bin file zb über ein terminalprogramm an den µC sende, wie kann ich dem rechner über den µC sagen, wieviel er auf einmal senden soll, denn sonst würde der pc ja das ganze file auf einmal senden und der µC kann es gar nicht verarbeiten...
bzw was ich mir noch nicht ganz im klaren bin, sendet der pc in einem "stream", oder "wartet der bis der µC irgendeine bestätigung sendet, dass dieser nun für das nächste byte bereit ist?
Würdet ihr puffern? wenn ja wie funktioniert sowas?
Gruß
Stefan
|
BID = 537555
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Zitat :
| wie kann ich dem rechner über den µC sagen, wieviel er auf einmal senden soll, denn sonst würde der pc ja das ganze file auf einmal senden und der µC kann es gar nicht verarbeiten...
[...]
sendet der pc in einem "stream", oder "wartet der bis der µC irgendeine bestätigung sendet, dass dieser nun für das nächste byte bereit ist?
|
Das kommt drauf an, wie du die UART am PC und µC konfigurierst. Die meisten verzichten auf ein Handshake, und senden die Daten so nach Gutdünken rüber - sauberer ist es, auf ein Handshake zurückzugreifen. So kann der µC dem PC mitteilen, dass sein Puffer z.B. voll ist oder er einfach keine Daten mehr möchte. Der PC wartet nun solange, bis der µC den Vorgang weiterlaufen lassen will. Dazu benötigst du aber wie gesagt ein Handshake, das kann in Software (XON-XOFF) oder Hardwareform aufgebaut sein. Such mal nach µC Handshake o.ä., sollte es bringen.
Zitat :
| Würdet ihr puffern? wenn ja wie funktioniert sowas? |
Ja, würde ich. Das hängt natürlich auch davon ab, wieviel SRAM der µC hat.
Abhängig vom EEPROM kann es sehr praktisch sein, wenn man soviel puffern kann, wie dessen Pages groß sind - die kann man dann quasi in einem Rutsch schreiben, was einen enormen Geschwindigkeitszuwachs darstellt.
Ansonsten, wenns einmalig ist, geht u.U. auch Byte für Byte, dauert aber gradezu ewig bei diesen Kapazitäten.
Wie das geht? Naja, ist doch logisch, oder? Man reserviert sich SRAM, empfängt eine bestimmte Menge an Daten, die man linear in den Speicher schreibt und stoppt danach den Datenfluss per Handshake. Dann kopiert man den Speicherbereich in der richtigen Reihenfolge in den Pagebuffer des 'ROMs und veranlasst den Controller, die Daten ins Memoryarray zu verschieben - fertig .
_________________
|
BID = 537570
Jornbyte Moderator
Beiträge: 7197
|
@ZeRo-Cool
du hast doch das Datenblatt, warum hast du da noch nicht reingesehen? Da werden doch alle Fragen beantwortet.
_________________
mfg Jornbyte
Es handelt sich bei dem Tipp nicht um eine Rechtsverbindliche Auskunft und
wer Tippfehler findet, kann sie behalten.
|
BID = 537583
ZeRo-Cool Gesprächig
Beiträge: 179 Wohnort: Kreßberg
|
hi erstmal dank euch beiden für die antwort
also dann macht puffern i prinzip ur sinn, wenn ich mehrere bytes auf einmal an das eeprom senden will?!
dachte zuerst, dass des nur wegen datenverlustsicherheit gut sei...
deswegen ja die frage...
nach dem handshake schau werd ich morgen mal schaun
und der rest sollte eigentlich klar sein...
Dann Dank ich euch mal und meld mich wieder, wenns was neues gibt..
Gruß
Stefan
|
BID = 539207
Lupin III. Schriftsteller
Beiträge: 616 Wohnort: Salzburg
|
Eine ganz andere Möglichkeit, die allerdings ein paar spezielle Voraussetzungen hat, ist einen Rechner mit dem gleichen Mainboard zu finden. Damit konnte ich mal ein BIOS wiederherstellen. Man nimmt das EEPROM aus dem bereits laufenden funktionierenden Rechner herraus und setzt das defekte in den Sockel und flasht das neue ROM-Image darauf. Danach wieder umbauen und fertig.
Das Problem sind wie gesagt die Voraussetzungen. Gerade bei einem alten Rechner ist es schwer ein gleiches Modell zu finden (teilweise reicht schon eine andere Mainboard-Revision um es nicht mehr funktionieren zu lassen). Ich hatte damals das Glück (bzw. eigentlich ein Bekannter, da er ja sein BIOS geschossen hat), dass wir beim Zusammenbau die gleich Mainboards gekauft haben. Also nur als Idee, vielleicht steht ja irgendwo ein "Zwilling" herum.
|
|
Zum Ersatzteileshop
Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum
Datenschutz
Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland
gerechnet auf die letzten 30 Tage haben wir 22 Beiträge im Durchschnitt pro Tag heute wurden bisher 3 Beiträge verfasst © x sparkkelsputz Besucher : 182687196 Heute : 510 Gestern : 7485 Online : 241 7.1.2025 4:37 1 Besucher in den letzten 60 Sekunden alle 60.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
|
xcvb
ycvb
0.0727632045746
|