www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SDCC und 80C552 ??


Autor: Jens Schoon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin moin,
hat schonmal jemand ein Projekt mit dem 80C552 durch den SDCC (aktuelle
Version aus dem CVS von sf.net) übersetzt?

Hier scheitert es daran, dass er kein "EA" kennt. I2C-Bus geht wegen
(so wie ich das sehe) falscher Reihenfolge im define von SDA und SCL
auch nicht.

Andererseits denke ich, dass solche Fehler schon längst aufgefallen
wären, oder?

Ich versuche hier übrigens ein fertiges Projekt, dass mit einem
"Keil-Compiler" erstellt wurde auf den SDCC zu "portieren".

Ich hoffe, mir kann hier jemand weiterhelfen. Danke.

Mfg Jens

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die *.h-Files sind ganz normale Textfiles.
Wenn da also eine Bitdefinition fehlt oder eine falsche Adresse hat,
dann editier es doch einfach.


Peter

Autor: Jens Schoon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin Peter,
die entsprechende .h-Datei habe ich schon "analysiert". Jedoch
reichen meine Kenntniss nicht aus um hier die RICHTIGE Bit-Definition
zu finden.

Weiterhin wundert mich, dass dieser "Fehler" nicht bei anderen
auftritt (oder nutzt keiner den sdcc 80c552? Welche Alternative gibt es
(freier Compiler!)?).

Gruss Jens

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"nutzt keiner den sdcc 80c552?"

In der Tat habe ich den 80C552 noch nie benutzt.

Atmel hat ja 1993 den weltweit ersten preiswerten µC mit internem Flash
rausgebracht (AT89C51) und seitdem benutze ich nur noch Flash, weils so
schön schnell und bequem ist. Und inzwischen hat ja auch jeder andere
8051-Hersteller Flash im Angebot (Cygnal, Maxim, Philips, ...).


Soweit ich weiß ist der 80C552 nur auf irgendwelchen uralten
Schulentwicklungsboards drauf und da wird ja erstmal rudimentäres
Assembler gemacht.

Kann also durchaus sein, daß im SDCC h-File des 552 Fehler sind.
Da hilft dann nur das Datenblatt in die Hand zu nehmen und alle
Definitionen, die man benutzen will, zu überprüfen, ob sie richtig
heißen und die richtige Bit- bzw. Byteadresse haben.

Der 80C552 hat ja gegenüber dem Standard 80C52 ne Menge Abweichungen
(z.B. total kastrierter Timer T2), deshalb ist er mit Vorsicht zu
genießen.
Wenn man den I2C-Bus haben will, ist z.B. der P89C668 viel besser.


Vom Keil C51 gibt es auch eine offizielle Entwicklungsversion die auf
2kB begrenzt ist. Aber es soll auch 4kB bzw. 8kB Versionen geben bzw.
welche die auch an 0x0000 linken können. Die sind jedoch in den
Starterpaketen der 8051-Hersteller versteckt.
Einfach mal im Web suchen oder im Downloadbereich der Hersteller
(s.o.).


Peter

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.