Kunststück, ich bastele gerade an einem autonomen Rasenmäher, dessen
Hirn ein DS89C450@40MHz ist.
Glückwunsch!
Vielleicht noch eine Anmerkung zum '125 bzw zur von mir vorgeschlagenen
Beschaltung. Beide haben gemeinsam, dass sie im inaktiven Zustand
'schwache' Pegel an die Pins des Controllers legen. Damit besteht die
Möglichkeit, diese während des Programmlaufs durch 'harte' Signale aus
anderen Schaltungsteilen zu überschreiben und den Programmablauf zu
beeinflussen. Vorteil der Anordnung ist, dass ohne
Hardwareänderung(Jumper umstecken, Stecker abziehen usw.) vom
Programmieren direkt in den Betrieb und zurück gewechselt werden kann.
Nun zur Frage, die ich allerdings nur bedingt und relativ allgemein
beantworten kann, da ich nicht mit der Keil-Umgebung und nicht unter
Windows mit 8051-Prozessoren arbeite(im Fall des Dallas-Prozessors habe
ich mir ein etwas rustikales MTK für DOS geschrieben, so dass ich meinen
alten DOS-Compiler, der selbstverständlich auf einem lupenreinen
DOS-Rechner läuft, verwenden kann).
Die Linkereinstellung, besser Linker-Locater-Einstellungen, brauchen
fürs erste nicht geändert werden. Der Programmcode wird nach Adresse
0x0000 gelinkt. Den Konstanten- und Variablensegmenten(IDATA, DATA,
XDATA), mit denen der Compiler arbeitet, in dieser Phase schon
Startadressen zuzuweisen, scheint mir nicht sinnvoll zu sein, da der
Compiler den Überblick hat. Außerdem bietet das MTK ähnliche
Möglichkeiten.
Die Abbildung der Grundeinstellungen in besagter AppNote zeigt die
verschiedenen Möglichkeiten auf, das Speichermodell für eine spezielle
Anwendung zu wählen. Für den von Dir verwendeten Prozessor, ohne
externen Daten- oder Programmspeicher kommt nur ein kleines
Speichermodell in Frage, also SMALL oä, bei dem der interne Ram(IDATA?)
und der interne Flash(CODE) verwendet werden. Der auf dem Chip vorhanden
Ram(XDATA) kann sowieso erst zur Laufzeit aktiviert werden und dann ist
hoffentlich klar, was mit dem Speicherzuwachs getan werden soll. Die
Option 'double DPTR' kann aktiviert werden(wenn's nichts nützt, so
schad's doch nichts).
mfg