Habe mal eine Frage zum programmieren eines AT90S8515. Muß man vor dem programmieren des Flash-Speichers einen Chip-Erase ausführen ? Ich habe einen Downloader für diesen Chip programmiert. Es klappt auch wunderbar. Nur habe ich festgestellt, daß wenn ich ein Byte speicher, daß ich aus einem Hi Pegel einen Lo Pegel machen kann. Nur daraus wieder einen Hi Pegel bekomme ich nicht hin. Hier mal ein Beispiel Nach Flash-Erase $FF also 1111 1111 erneut gleiche Adresse zB. $F0 also 1111 0000 erneut gleiche Adresse zB. $C0 also 1100 0000 erneut gleiche Adresse zB. $53 also 0101 0011 habe aber nun nicht $53 in der Zelle. Habe nun $40 also 0100 0000 in der Zelle Also nochmal . Muß ich erst den ganzen Chip wieder löschen und komplett neu programmieren um nur ein Byte zu ändern? Habe da irgendetwas von Data Polling im Datenblatt gelesen. Ich weiß leider nicht was das genau bedeuten soll. Danke schon mal für eure Hilfe
Ja so funktioniert ein Flash oder ein Speicher. Der Flash ist leer, wenn da als Bit eine 1 gesetzt ist. Das kannst Du auf 0 setzen, aber nicht umgekehrt, da bleibt nur ein "Erase" übrig. Inwiefern Du den ganzen Chip löschen musst weiss ich nicht. Normale Flashs können auch sektorbasiert gelöscht werden.
Hallo Oliver... Du wirst den AVR wohl löschen müssen, zumindest wenn du den Programm-Flash beschreiben willst. Beim EEPROM könnte das möglich sein (ist ja aus dem AVR-Programm her auch möglich), habe ich aber noch nicht probiert. Dass du von H nach L ändern kannst, aber nicht von L nach H, hat damit zu tun, dass H der unprogrammierte Zustand (also leer) ist und L der programmierte Zustand (also voll). Leere Zellen kannst du einzeln nachbrennen, volle aber nicht einzeln löschen... (Genau wie beim guten alten EPROM...) ...HanneS...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.