Forum: Mikrocontroller und Digitale Elektronik no code memory at adress


von Kay -. (kingganja)


Lesenswert?

Hallo,

ich arbeite gerade ein MC-Buch von Jürgen Walter durch und habe beim 
debuggen ein Problem.

Es werden zwei Fehler angezeigt:

Monitor error 22: no code memory at adress 0001h
Monitor error 22: no code memory at adress 0100h

kann mir jemand sagen was ich falsch mache??



Das hier ist der Programmcode in Assembler

#include <reg552.h>
$ title (Ein_Aus)
;$ debug
;Einfaches programm zum Ein- Ausschalten einer Leuchte
;Taster 1 einschalten, Taster 2 ausschalten
;Taster 3 Programm beenden

cseg at 0h            ;Legt absolute Codesegmentadresse auf 0h
ljmp Anfang            ;Sprung auf Programmanfang
org 100h            ;Programmstart bei 100h

Anfang:
jnb P3.1,Licht_Ein        ;Schalter 1 betätigt?
jnb P3.2,Licht_Aus        ;Schalter 2 betätigt?
jnb P3.3,Programm_Ende      ;Programmende
ajmp Anfang            ;Springe zur Adresse Anfang

Licht_Ein:
clr P1.2            ;Licht einschalten
ajmp Anfang            ;Springe zur Adresse Anfang

Licht_Aus:
setb P1.2            ;Licht ausschalten
ajmp Anfang            ;Springe zur Adresse Anfang

Programm_Ende:
ljmp 8000H            ;Monitoreisprung
end




Danke!!

von Matthias K. (matthiask)


Lesenswert?

Welches System? Keil?

Sieht nach einer Fehlermeldung des Linkers aus. Hast Du dort festgelegt, 
wo der Code-Bereich liegt?

von Kay -. (kingganja)


Lesenswert?

Ja, es ist Keil µVision3


Du meinst Code und Xdata memory???

ja habe ich.

Ich nutze ja einen 80C552 von NXP, in der Schule haben wir fürs EPROM 
0x4000 & 0x4000 bzw fürs Ram 0xC000 & 0x4000 eingestellt.

Damit hat es nicht funkioniert, der selbe Fehler.

In dem Buch stehen andere Werte, EPROM 0x0000 & 0x8000 bzw. RAM 0x0000 & 
0x8000, aber dort wird auch ein etwas anderer  Mikrocontroller 
genommen....glaube es war 80c532.

Damit ging es auch nicht

von Kay -. (kingganja)


Lesenswert?

Sorry, ich meinte es so.....

Ich nutze ja einen 80C552 von NXP, in der Schule haben wir fürs EPROM
0x8000 & 0x4000 bzw fürs Ram 0xC000 & 0x4000 eingestellt.

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.