Archiv verlassen und diese Seite im Standarddesign anzeigen : P89c66x
Hallo,
ich habe in der Vergangenheit den AT89C51RC eingesetzt, da konnte man im Betrieb zwischen dem Prog im Flash und im RAM hin und her springen. Aus dem Flash Sprung >=8000H, EA\ auf low setzen und der ganze Programm-Adressbereich des RAMs stand zur Verfügung. Zurück in den Flash >=8000H EA\ auf hi und mit einem Sprung nach <8000H und man ist im Programmbereich des Flash.
Jetzt wollte ich einen P89C66x einsetzen und lese im Datenblatt:<O:p></O:p>
The value on the EA pin is latched when RST is released and any subsequent changes have no effect…..
Interpretiere ich das richtig, ohne einen Reset ist kein Wechsel zwischen dem Prog im Flash und dem Prog im RAM möglich?
Wenn dem so ist, fliegen die zwei Muster welche ich gekauft habe in den Papierkorb, oder gibt es da doch eine Lösung?<O:p</O:p
Gruß
Achim
Hallo,
Interpretiere ich das richtig, ohne einen Reset ist kein Wechsel zwischen dem Prog im Flash und dem Prog im RAM möglich?
ja, verstehe ich schon so. Liegt wohl daran, dass /EA auch zur Aktivierung des
Bootroms benutzt wird. Vielleicht kannst du mit einem Bootloader ja auf ein
Programm im RAM verzichten.
guidob
Peter Dannegger
07.12.2007, 21:26
Hallo,
ich habe in der Vergangenheit den AT89C51RC eingesetzt
Meinst Du den AT89C51RC oder den AT89C51RC2.
Der AT89C51RC2 hat einen Bootloader, wie der P89C668. Und er wird auch mit gesetzten Lockbits ausgeliefert, damit auch über den Bootloader die Programme geschützt sind.
Der Bootloader kann nämlich die parallel programmierungs Lockbits nicht setzen.
The value on the EA pin is latched when RST is released and any subsequent changes have no effect…..
Das ist bei jedem 8051 so, wenn die Lockbits gesetzt sind.
Man braucht einen parallel Programmer, um die Lockbits mit einem Full-Erase zu löschen.
Aber wenn man einen MC hat, der schon 64kB internen Flash hat, finde ich es sehr antiquiert wenn man da externen Programmspeicher dranpappt.
Vorteile sehe ich keine, sondern nur Nachteile. Man verliert ja 16..18 Portpins damit.
Peter
Man braucht einen parallel Programmer, um die Lockbits mit einem Full-Erase zu löschen.mit ICP kriegt man die bits auch dressiert, wenn der chip diese Spielart beherrscht
@ Peter D.:
Das ist bei jedem 8051 so, wenn die Lockbits gesetzt sind.
Klingt als ob du das bei den NXP-Typen schon probiert hast? Steht bei denen
aber definitiv im Datenblatt, nicht als Fußnote zu den LockBits.
guidob
Hallo,<O:p</O:p
Danke für die zahlreichen und schnellen Kommentare.<O:p</O:p
@ Peter D.<O:p</O:p
Ich bin zwar kein aktiver Teilnehmer dieses Forums, schaue jedoch gelegentlich herein.
Dabei bist du Peter, mir als kompetenter Teilnehmer aufgefallen!<O:p</O:p
Desto weniger verstehe ich deine Bemerkung(n):<O:p</O:p
Aber wenn man einen MC hat, der schon 64kB internen Flash hat, finde ich es sehr antiquiert wenn man da externen Programmspeicher dranpappt<O:p></O:p>
Vorteile sehe ich keine, sondern nur Nachteile. Man verliert ja 16..18 Portpins damit“<O:p</O:p
Kannst du dir vorstellen, dass es Leute gibt die Anwendungen schreiben welche > 64K liegen?
Dass bei einer zentralen Steuereinheit welche ausschließlich über Schnittstellen kommuniziert die verfügbaren Portpins keine Rolle spielen!<O:p</O:p
Ich meinte was ich geschrieben habe, den AT89C51RC.
@alle anderen
das hat nichts mit den Lock Bits zu tun, der Text stammt aus Beschreibung der Port Bits-Funktionen.
Ich suche nicht nach Vermutungen, sondern nach jemanden der sich mit dem P89C66x auskennt!
<O:p</O:p
Gruß<O:p</O:p
Achim
Hallo Achim,
warum nimmst du einfach mal so an,dass zwei '51er gleiches Verhalten zeigen muessen.Ich kann mir kaum vorstellen,dass die beiden MCs gleiche Include_files hben.
Zwei Hersteller...zwei Welten.Der Rest steht (oder nicht) in den Datasheets.
Da ist deine Pflicht (selbst ist der Mann) diese genau durchzulesen....oder falls nicht....die Tonne zu schmuecken.
Findest du keine Atmels mehr?
Die AsbachUralt-typen sterben
schnell aus.Flexibilitaet noetig!
ciao
warum ziehst du Peters Ohren?
der hat doch keine Glaskugel !
Peter Dannegger
08.12.2007, 11:04
Kannst du dir vorstellen, dass es Leute gibt die Anwendungen schreiben welche > 64K liegen?
Klar, aber was hat das mit meiner Bemerkung zu tun?
Umschalten des EA-Pins im laufenden Betrieb ist nicht definiert und daher Pfui-Bäh!
Der beim Umschalten gelesene Befehl kann falsch dekodiert werden!
Wenns bei Dir funktioniert, hast Du einfach nur Glück. Für kommerzielle Projekte würde ich so eine Bastlerpfrimelei aber nicht einsetzen.
Wenn man mehr Speicher braucht, nimmt man doch keine MC mit internen 64kB Flash, sondern hängt genügend Speicher extern ran.
Oder man nimmt nen Chip mit erweiterter Adressierung, der intern und extern linear adressieren kann, ohne irgendwelche undokumentierte Sauereien, z.B. den P89C669.
Bei 8051 mit <64kB Flash kann man den Umschaltbefehl oberhalb des internen Flash legen, ist aber auch ne ziemliche Pfrimelei und bei heutigen Derivaten einfach nicht mehr nötig.
Ich habs vor 10 Jahren auch mal gemacht und bin aber nicht stolz drauf, ist in meinen Augen kein Masterpiece.
Peter
von Peter
Bei 8051 mit <64kB Flash kann man den Umschaltbefehl oberhalb des internen Flash legen, ....
ganau dies habe ich versucht zu Beginn zu beschreiben.
Ich verwende max. 4K vom Flash, zum booten und SW laden/update und bank switching.
RAM habe ich bereits 128K (Progamm) + 512K sonst.
Dann werde ich mir mal den T89C51AC2 ansehen, da ich nicht alles neu machen will.
Gruß
Achim
Powered by vBulletin® Version 4.1.12 Copyright ©2012 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.