Forum: Mikrocontroller und Digitale Elektronik µVision2


von Transi (Gast)


Lesenswert?

Mit der DEMO Version von µVision2 habe ich nun schon einige Programme in
Assembler für Lernzwecke mit dem 89C2051 realisiert. Dabei habe ich die
einzelnen Programmteile mit der Anweisung ORG auf die gewünschten
Anfangsadressen gelegt. (ORG 0H für Start des Programms, ORG 3H für
externer Interrupt 0, ORG 0BH für Timer 0 Interrupt usw.) Dadurch bekam
ich immer ein zusammenhängendes HEX File, mit dem ich den 89C2051
flashen konnte.
Ich hab mich jetzt mal mit einem C-Programm versucht. Das C-Programm
toggelt einfach nur den Port 1 und funktioniert soweit auch. Wenn ich
mir jetzt aber das entstandene HEX File anschaue, dann steht dort auf
der Adresse 0x0000 ein Sprung auf die Adresse 0x4000 und dort das
eigentliche Programm. Kann ich das irgend wie verhindern? Hätte
eigentlich erwartet, dass das Programm irgend wo im Speicherbereich bis
0x7FF für den 89C2051 angelegt wird.

PS. Ich hab hier im Forum schon nach dem Problem gesucht und auch
einiges gefunden, aber so richtig der Durchbruch brachte es mir leider
nicht.

In voraus herzlichen Dank

und schöne Grüsse aus dem verschneiten Schwarzwald

von Blackmike (Gast)


Lesenswert?

die demoversion von keil erzeugt keine code, der ab 0000h beginnt,-
sondern wie du schon richtig gemerkt hast, ab 4000h.

damit kannst du mit der demo leider keinen code erzeugen, der direkt in
den kleinen 51ern wie dem 2051 oder dem 4051 laufen kann.

wenn du dein prog im simulator gut getestet hast,- frag doch jemanden,
der den offenen keil hat, ob der dir dein prog mal eben schnell
compilen kann.

greetz,- black

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
Noch kein Account? Hier anmelden.