SDCC on Z80

W

Werner Brennecke

Guest
Hallo alle zusammen,
verwendet noch jemand den SDCC für den Z80? Ich mache gerade meine
ersten Schritte mit dem SDCC und habe eine Frage die ich nicht per
Goolge lösen kann.
mit welcher Linkeroption lege ich die Lage das SRAMS fest?
egal was ich probiere, Alle Variablen starten bei 0x0000.

bin für jeden Tip dankbar
Werner
 
Werner Brennecke <werner.brennecke@gmx.de> wrote:
: Hallo alle zusammen,
: verwendet noch jemand den SDCC für den Z80? Ich mache gerade meine
: ersten Schritte mit dem SDCC und habe eine Frage die ich nicht per
: Goolge lösen kann.
: mit welcher Linkeroption lege ich die Lage das SRAMS fest?
: egal was ich probiere, Alle Variablen starten bei 0x0000.

Bei mir legt
--xram-loc 0x8000

die Daten ab 8000h ab.
 
Am 23 Apr 2004 14:02:16 GMT, "Peter Heitzer" schrieb:

Bei mir eben leider nicht. Wenn ich mir die .lst datei anschaue,
beginnt der Datenbereich immer bei 0x0000.
Si langsam habe ich das Gefühl, einen Denkfehler zu haben :)

1
;--------------------------------------------------------
2 ; File Created by SDCC : FreeWare ANSI-C
Compiler
3 ; Version 2.3.8 Fri Apr 23 12:50:07 2004
4
5
;--------------------------------------------------------
6 .module test
7 .optsdcc -mz80
8
9
;--------------------------------------------------------
10 ; Public variables in this module
11
;--------------------------------------------------------
12 .globl _main
13 .globl _a
14 .globl _i
15
;--------------------------------------------------------
16 ; special function registers
17
;--------------------------------------------------------
18
;--------------------------------------------------------
19 ; ram data
20
;--------------------------------------------------------
21 .area _DATA
0000 22 _i::
0000 23 .ds 2
0002 24 _a::
0002 25 .ds 10
26
;--------------------------------------------------------


Werner Brennecke <werner.brennecke@gmx.de> wrote:
: Hallo alle zusammen,
: verwendet noch jemand den SDCC für den Z80? Ich mache gerade meine
: ersten Schritte mit dem SDCC und habe eine Frage die ich nicht per
: Goolge lösen kann.
: mit welcher Linkeroption lege ich die Lage das SRAMS fest?
: egal was ich probiere, Alle Variablen starten bei 0x0000.

Bei mir legt
--xram-loc 0x8000

die Daten ab 8000h ab.
 
Werner Brennecke <werner.brennecke@gmx.de> wrote:
: Am 23 Apr 2004 14:02:16 GMT, "Peter Heitzer" schrieb:

: Bei mir eben leider nicht. Wenn ich mir die .lst datei anschaue,
: beginnt der Datenbereich immer bei 0x0000.
: Si langsam habe ich das Gefühl, einen Denkfehler zu haben :)
Das glaube ich auch. Das Listing ist vom Assembliervorgang und der ist
_vor_ dem Linken.
Die Adressen sind relativ zum Anfang des Segments (hier .area _DATA)
zu verstehen.
: 20
: ;--------------------------------------------------------
: 21 .area _DATA
: 0000 22 _i::
: 0000 23 .ds 2
: 0002 24 _a::
Wenn du wissen willst, wo deine Daten im gelinkten Programm liegen,
mußt du schon das map File anschauen.
 
Peter Heitzer, meinte...

den Paramter --xram-loc gibt es nur bein 8051 und hat beim Z80 keine
Wirkung.

Bei mir legt
--xram-loc 0x8000

die Daten ab 8000h ab.
 
Peter Heitzer, meinte...

da muss man erst mal darauf kommen :)
Zumindest ist der richtige Parameter

--data-loc 0x8000

dann stimmt es auch mit den .MAP File.

vieles dank für die Hilfe

Werner Brennecke <werner.brennecke@gmx.de> wrote:
: Am 23 Apr 2004 14:02:16 GMT, "Peter Heitzer" schrieb:

: Bei mir eben leider nicht. Wenn ich mir die .lst datei anschaue,
: beginnt der Datenbereich immer bei 0x0000.
: Si langsam habe ich das Gefühl, einen Denkfehler zu haben :)
Das glaube ich auch. Das Listing ist vom Assembliervorgang und der ist
_vor_ dem Linken.
Die Adressen sind relativ zum Anfang des Segments (hier .area _DATA)
zu verstehen.
 
Werner Brennecke <werner.brennecke_at@_hrb.de> wrote:
: Peter Heitzer, meinte...

: den Paramter --xram-loc gibt es nur bein 8051 und hat beim Z80 keine
: Wirkung.
Bei sdcc 2.4.0 funzt es. Vermutlich wird --xram-loc mit --data-loc beim
Z80 gleichgesetzt. --data-loc ist aber der offizielle Parameter.
 
Am 26 Apr 2004 14:30:45 GMT, "Peter Heitzer" schrieb:

das ist möglich. Es ist sowieso ziemlich schwierig, sich in den SDCC/Z80
einzuarbeiten. Es gibt fast keine Beispiele und die Doku bezieht sich
bis
auf ein paar Zeilen nur auf den 8051.
Dafür ist er aber kostenlos :)

Vielen dank für die Hilfe




Werner Brennecke <werner.brennecke_at@_hrb.de> wrote:
: Peter Heitzer, meinte...
: den Paramter --xram-loc gibt es nur bein 8051 und hat beim Z80 keine
: Wirkung.
Bei sdcc 2.4.0 funzt es. Vermutlich wird --xram-loc mit --data-loc
beim Z80 gleichgesetzt. --data-loc ist aber der offizielle
Parameter.
 
Werner Brennecke <werner.brennecke@gmx.de> wrote:
: Am 26 Apr 2004 14:30:45 GMT, "Peter Heitzer" schrieb:

: das ist möglich. Es ist sowieso ziemlich schwierig, sich in den SDCC/Z80
: einzuarbeiten. Es gibt fast keine Beispiele und die Doku bezieht sich
: bis
: auf ein paar Zeilen nur auf den 8051.
: Dafür ist er aber kostenlos :)
Z80 ist auch für einen Neueinstieg nicht unbedingt die erste Wahl, da
man für ein Minimalsystem im Vergleich zum 8051 doch eine Menge mehr
Bauteile braucht. Wer aber den Z80 schon kennt und bereits fertige
Platinen besitzt, der schmeißt dafür jeden 8051er weg.
 
"Werner Brennecke" <werner.brennecke@gmx.de> writes:

Am 26 Apr 2004 14:30:45 GMT, "Peter Heitzer" schrieb:

das ist möglich. Es ist sowieso ziemlich schwierig, sich in den SDCC/Z80

Dafür ist er aber kostenlos :)

Schaue mal nach "comp.os.cpm"; dort wird von einigen unterschiedlichen
C-Compilern gesprochen; entweder 'gut', 'kostenlos' oder gar 'beides'.
Je nach dem, ob Du wirklich die speziellen Z80-Befehle brauchst (wenn
der Compiler sie überhaupt benutzt :) tut es auch einer für 8080...

Vielen dank für die Hilfe


Werner Brennecke <werner.brennecke_at@_hrb.de> wrote:
Bitte produziere weniger TOFU...

Gruss, Holger
 
On 27 Apr 2004 16:30:11 GMT, "Peter Heitzer"
<peter.heitzer@rz.uni-regensburg.de> wrote:

: das ist möglich. Es ist sowieso ziemlich schwierig, sich in den SDCC/Z80
: einzuarbeiten. Es gibt fast keine Beispiele und die Doku bezieht sich
: bis
: auf ein paar Zeilen nur auf den 8051.
: Dafür ist er aber kostenlos :)
Z80 ist auch für einen Neueinstieg nicht unbedingt die erste Wahl, da
man für ein Minimalsystem im Vergleich zum 8051 doch eine Menge mehr
Bauteile braucht. Wer aber den Z80 schon kennt und bereits fertige
Platinen besitzt, der schmeißt dafür jeden 8051er weg.
Du kennst wahrscheinlich die neuen Z80-Prozessoren nicht.
Hier http://www.zilog.com/products/partdetails.asp?id=eZ80F910200ZCO gibts ein
Demoboard mit Ethernet, JTAG Hardware-Debugger (nicht exakt JTAG, sondern ZDI,
aber der Unterschied spielt hier keine Rolle), RTOS mit TCP/IP, HTTP, SNMP etc
etc, C/Assembler Entwicklungsumgebung mit Visual Studio like IDE für 99$.


Mit freundlichen Grüßen

Dipl.-Ing. Frank-Christian Krügel
 

Welcome to EDABoard.com

Sponsor

Back
Top