Forum: Mikrocontroller und Digitale Elektronik "Vernünftiger" C-Compiler für 6809


von Christian Erker (Gast)


Lesenswert?

Hallo,

gibt es einen vernünftigen C-Compiler für den 6809? Nach Möglichkeit 
ANSI-C99-kompatibel, sehr schön wäre ein GCC. Da ich bequem bin, wäre 
ein IDE lustig, aber da kann ich mir auch selbst eine der vielen 
verfügbaren anpassen. Vom GCC kenne ich zwar einen Port ( 
http://www.ohloh.net/p/gcc6809 ), allerdings sind Assembler und 
insbesondere Linker sehr "rudimentär" und man kann ihnen nur schwer die 
Struktur des Zielsystems beibringen.

Ich möchte Software für dieses:

https://lh5.googleusercontent.com/-Fhtost-4djQ/TorgExtb1aI/AAAAAAAAAio/NdTeUwdu0Ak/s800/IMG_5467.JPG

Eigenbausystem (von meinem Vater in den 80ern gebaut) entwickeln, die 
Unterlagen sind vorhanden. Es basiert auf dem Elektorsystem EC-65K, ist 
aber eben auf 6809 und das Betriebssystem FLEX6809 modifiziert.

Gruß,
Christian

von Erich (Gast)


Lesenswert?

Ich fürchte, einen -gar "vernünftigen"- Compiler für den Oldie 6809 
gibts ebensowenig wie einen Airbag für den VW Käfer.

von dr. assembler (Gast)


Lesenswert?

"c-compiler" && "vernünftig" == unmöglich

;-)

von Christian Erker (Gast)


Lesenswert?

dr. assembler schrieb:
> "c-compiler" && "vernünftig" == unmöglich
>
> ;-)

Um dich zufriedenzustellen:

https://lh4.googleusercontent.com/-ww1BIevPqX8/TotQiayPIxI/AAAAAAAAAjU/Y3a0QyL7gNI/s800/IMG_5497.JPG

Gruß,
Christian

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Hmm. Ich hatte mal mit Introl-C zu tun, das war ein Compiler, der auf 
einem 6809 lief, aber natürlich kein Ansi-C kannte, weil er irgendwann 
in den 80ern auf den Markt kam. Das verwendete Betriebssystem war eben 
genau das TSC Flex, mit dem Deine Kiste da arbeitet.

Eine Flex-Emulationsumgebung und etliche Software dafür gibts bei der 
FUG
http://flexusergroup.com/fug14.htm, dort sollte sich auch der Compiler 
sowie dessen Dokumentation auftreiben lassen.

von Christian E. (cerker)


Lesenswert?

Vielleicht sollte ich es einmal präzisiren, ich suche nach einem 
Crosscompiler. Ein "McCosh" Compiler ist sogar dabei... nur fehlt mir 
das Handbuch, hat da ev. jemand was?

Bei der FUG funktioniert leider kein einziger Download in der DSKs 
Library mehr, ich hab schon versucht den Admin anzumailen, aber die 
Adresse existiert nicht mehr ..

von Reinhard Kern (Gast)


Lesenswert?

Christian Erker schrieb:
> Bei der FUG funktioniert leider kein einziger Download in der DSKs
> Library mehr, ich hab schon versucht den Admin anzumailen, aber die
> Adresse existiert nicht mehr ..

Ja, wahrscheinlich sind viele 68xx-Kenner schon tot, nicht nur die 
Webseiten...

Gruss Reinhard

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Die FUG existiert schon noch, die haben eine aktive Mailingliste, und 
auf der wurden auch alternative/neue Server erwähnt.

Um an die heranzukommen, muss man sich allerdings in der Mailingliste 
eintragen, und Mike Evenson nach den Zugangsdaten fragen.

Crosscompiler für 6809 gibt es natürlich auch, nur müsstest Du denen 
auch die zum Betriebssystem gehörenden Definitionen beigeben, und der 
Linker müsste wissen, wie ein zum Betriebssystem passendes Binary zu 
erzeugen ist.

Oder willst Du das auf dem Rechner installierte Flex ersetzen?

von Christian E. (cerker)


Lesenswert?

Hmm .. ich glaub ich werd mich dann mal an der Mailingliste versuchen, 
es gibt zwar noch 1-2 bootbare FLEX-Disketten, aber auf manchen sind 
alte Versionen, die Tools sind ebenfalls in verschiedenen inkompatiblen 
Versionen auf viele unbeschriftete Disks verteilt die häufig Lesefehler 
haben .. es wäre von Vorteil wenn ich ein Image der Originaldistribition 
bekommen kann .. und eine Möglichkeit das irgendwie auf die Kiste zu 
bekommen, notfalls eben ein Programm schreiben mit dem ich via RS232 
sektorweise schreiben kann und auf dem PC das Gegenstück dazu.

Da wir das System mit einer Festplatte ausstatten möchten, muss die 
(ohnehin unfertige, kann z.B. noch keine Double-Density Disks, was 
Controller+Laufwerke sehr wohl können sollten) Anpassung an das System 
sowieso neu gemacht werden. Das Adaptationguide/Programmers Manual/Users 
Manual sowie recht vollständige Dokumentation zur Hardware und 
Monitorprogramm sind vorhanden.

Auch hab ich da noch einige Ideen für Hardwareergänzungen, die natürlich 
auch Softwareunterstützung bedürfen .. und es steckt einiges an 
interessanter Hardware drin, die nie mehr Software als "lebt es?"-Tests 
bekommen hat, wie die Farbgrafik, der Sprachcodec.

Das ganze Fotoalbum:
https://picasaweb.google.com/106424078464300028239/6809?authkey=Gv1sRgCNmM6cvfx67EhAE

Und, statt zu crossposten einfach mal ein Verweis auf eine Beschreibung 
dazu:
http://www.forum64.de/wbb3/board314-au-erhalb-des-c64/board21-sonstige-computer/board248-sonstige-homecomputer/45063-6809-eigenbausystem-basierend-auf-elektor-projekt-ec65/

Ja, da gibts noch viel Arbeit ;)

Gruß,
Christian

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Christian Erker schrieb:
> Da wir das System mit einer Festplatte ausstatten möchten,

Wie wäre es stattdessen mit einer SD-Karte? Von der Datenmenge her 
dürfte die problemlos ausreichen, und das Grundproblem, nämlich daß Flex 
kein hierarchisches Dateisystem hat, wird Dich auch so treffen. Ja, Flex 
kennt keine Verzeichnisse!

Mein Flex-System (gebaut so gegen '86) arbeitete mit einer ROM-Disk, 
also einer Handvoll EPROMs, in denen das OS sowie die für mich 
wichtigsten Programme abgelegt waren. Das hat die Bootzeit auf ... naja, 
vermutlich ein paar Millisekunden reduziert.
Der angeschlossene Monitor brauchte jedenfalls länger, seine Röhre auf 
Betriebstemperatur zu bringen.

von Christian E. (cerker)


Lesenswert?

Hallo,

naja ich habe "Festplatte" geschrieben aber wollte ohnehin eine CF-Karte 
nehmen, weil die sich mit dem IDE-Interface sehr einfach an den Bus 
anbinden lässt, besonders wenn man nur die unteren 8bit verwendet, was 
sich ohnehin anbietet, da FLEX eine feste Sektorgröße von 256 Byte hat 
und IDE eine von 512 Byte.

Gruß,
Christian

von DG (Gast)


Lesenswert?

Ich bin noch nicht tot, und hatte vor Jaaaahren mit 6809 zu tun.

Zunächst benutzte ich einen 2500AD Assembler & Compiler, der war aber 
sowas von Schrott: falscher Code generiert, ....

später habe ich dann einen Hi-Tech-C Compiler benutzt. Allererste Sahne.

Ich glaube aber, dass Hi-Tech diesen Compiler nicht mehr verkauft. 
Vielleicht wird man auf einem Flohmarkt fündig...

von MW (Gast)


Lesenswert?

Habe früher (1982-1985) selbst mit dem "McCosh-Compiler" programmiert 
und kann mal schauen, ob ich noch ein Handbuch dazu habe, wenn an dem 
Thema noch Interesse besteht.

Allerdings war das unter UniFLEX, einem "Flex"-Nachfolge-OS (Unix-like). 
Ob es da Unterschiede beim McCosh-Compiler gibt, weiß ich nicht.

Wenn man noch das "alte C" (vor C89) kennt, d.h konkret kein "const", 
"void" usw. und natürlich keine Funktions-Prototypen, also den folgenden 
Deklarations-Stil benutzt

    int main(argc, arv)
        int argc; char *argv[];
    {
        printf("hello, world");
        return 0;
    }

"fühlt" sich das eigentlich schon ziemlich nach C an. Aber VORSICHT: der 
Compiler prüft NICHT die Verträglichkeit von Aufruf und Deklaration, bei 
ersterem werden einfach die Argumente auf den Stack gepackt "wie 
angegeben" und die Funktion holt sie sich dann runter wie deklariert.

Irgend eine "Inkompatibilität" zwischen Aufruf und Deklaration => 
"undefined behavior" also irgendwas zwischen falsche Werte und Crash 
sofort oder beliebig später ... (so wie man das heute noch bei falsch 
versorgten variadischen Funktionsargumenten kennt).

Tja, und einen "lint" gab/gibt's leider nicht :-) ...

Auch der Präprozessor kann ein bisschen weniger als gewohnt, d.h.

   #include ... geht (natürlich)
   #define  ... geht
   #ifdef   ... / #ifndef ...
aber
   #if ... geht nicht (wenn ich mich recht erinnere).

Und dann gibt's noch ein paar Link-Tricks, damit die FP-Library nicht 
dazu gebunden wird, wenn nicht erforderlich. Muss man aber nur 
beherzigen, wenn man mit printf/scanf Gleitpunktformate (%f usw.) 
verarbeiten will.

Vielleicht hilfts ja, ansonsten evtl. PM.

von Motorola6809andMac (Gast)


Lesenswert?

Hallo Christian,

Ich habe vor einen Jahr wieder eine 6809-Kiste (eigentlich 6309) gebaut, 
und eine Entwicklerumgebung auf ein MacBook. Ich verwende unter anderen 
die CMOC C-like cross compiler. Kein kompletter ANSI-C aber für 
entwicklung meiner Systemsoftware ausreichend. Daneben verwende ich 
William Astle's LW-tool (LWasm).
Ein Paar meiner Erfahrungen habe ich beschrieben auf die Facebook Seite 
Motorola6809andMac.

Ich wünsche dir viel Erfolg, und viel Spass mit deinem 6809 System.

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.