www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik no code memory at adress


Autor: Kay --- (kingganja)
Datum:

Bewertung
0 lesenswert
nicht 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!!

Autor: Matthias K. (matthiask)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welches System? Keil?

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

Autor: Kay --- (kingganja)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Kay --- (kingganja)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.