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


von Jens Schoon (Gast)


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

von Peter D. (peda)


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

von Jens Schoon (Gast)


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

von Peter D. (peda)


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

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.