SDCC on Z80

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

Reply to
Werner Brennecke
Loading thread data ...

Werner Brennecke 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.

Reply to
Peter Heitzer

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 ;--------------------------------------------------------

Reply to
Werner Brennecke

Werner Brennecke 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.

Reply to
Peter Heitzer

Peter Heitzer, meinte...

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

Reply to
Werner Brennecke

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

Reply to
Werner Brennecke

Werner Brennecke 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.

Reply to
Peter Heitzer

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

Reply to
Werner Brennecke

Werner Brennecke 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.

Reply to
Peter Heitzer

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...

Bitte produziere weniger TOFU...

Gruss, Holger

Reply to
Holger Petersen

Du kennst wahrscheinlich die neuen Z80-Prozessoren nicht. Hier

formatting link
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

Reply to
Frank-Christian Kruegel

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.