Hallo, möchte eine "Reise in die Vergangenheit" machen und mich mit altem Kram wie dem MC68HC908AZ60A beschäftigen. Zum Programmieren und als Compiler oder IDE sollte nach Möglichkeit OpenSource Hardware und Software zur Verwendung kommen. Programmieren kann man die MCU ja auch mit etwas Hardware über die serielle Schnittstelle, aber eine geeignete Programmierumgebung (Assembler und C) habe ich unter Linux (ist Voraussetzung) und als Open Source noch nichts passendes gefunden. Professionelle IDE sind sauteuer, wenn man sie noch bekommt und außerdem nur für Windows. Es gibt im Internet den freeasm8 Cross-Assembler, aber der ist nicht Open Source und fällt deshalb aus der Wahl (außerdem schlägt Virustotal Alarm). Für C programmierung könnte man vielleicht sdcc nehmen, habe aber keine Erfahrung damit? Ich suche zum Einstieg (bin neu auf dem 68HC08 Thema) ein C Beispielcode für den sdcc, der mir einen Code generiert, der auf dem MC68HC908AZ60A lauffähig ist. Desweiteren suche ich einen geigneten OpenSource Assembler (Linux) für den MC68HC908AZ60A. Hoffe es kann mir einer hier auf die Sprünge helfen.
Paule schrieb: > Hoffe es kann mir einer hier auf die Sprünge helfen. Einfach mal nachdenken: Als der 6808 erfunden wurde, gab es noch kein Linux. Ein Betriebssystem soll den Betrieb der benötigten Anwendersoftware ermöglichen und keine Ideologie sei Wenn es die gewünschte Software nur auf einem anderen Betriebssystem gibt, wechselt man eben dort hin Paule schrieb: > über die serielle Schnittstelle, Uff, welcher Rechner hat so was noch ? Na gut, man kann, passend zum uC, eine 20 Jahre alte Kiste vom Wertstoffhof holen.
Habe schon mit ähnlichen Antworten gerechnet. Habe nachgedacht: Zu Zeiten des C64 gab es auch noch keine C64 Emulatoren, und noch keine 6502 Cross Assembler unter Linux. Kann mir also sehr gut vorstellen, dass es bei der großen Verbreitung der 68HC08 MCU einen Cross-Assembler auf Open Source Basis für Linux gibt. Und ja, sogar eine oder auch mehrere Kisten mit serieller Schnittstelle stehen bereit. Mir geht es vielmehr um funktionierenden Beispielcode für einen bestimmten Assembler oder C-Compiler für die 68HC08 Serie.
MaWin schrieb: > > Paule schrieb: >> über die serielle Schnittstelle, > > Uff, welcher Rechner hat so was noch ? Na gut, man kann, passend zum uC, > eine 20 Jahre alte Kiste vom Wertstoffhof holen. Es gibt doch die wunderbaren USB Serial Adapter. z.B. sowas https://www.reichelt.de/de/de/usb-2-0-konverter-a-stecker-auf-rs-232-1-5-m-usb2-seriell-p58641.html?search=usb+seriell&&r=1 Habe ich zu dutzenden im Labor liegen. Funktionieren tadellos.
Was würdest Du denn nehmen? Wie schon geschrieben, die ICS08 Kits sind alle sehr teuer.
Einen Assembler für viele CPU und uCs hab ich mal hier gefunden: https://shop-pdp.net/ashtml/asxxxx.php Gibts dort auch mit Source code Der soll auch den MC68HC(S)08 unterstützen: https://shop-pdp.net/ashtml/as6808.htm Muss man selbst kompilieren (mit vorhandenen Build-script), geht mit: "Linux and DJGPP, Cygwin, Symantec C/C++ V7.2, Borland Turbo C++ 3.0, Open Watcom V1.9, VC6, Visual Studio 2005, 2010, 2013, 2015, 2019."
Hallo Paule. Wenn der SDCC den Baustein kennt, dann hast du neben dem Compiler auch gleich den passenden Assembler für diesen Baustein. Der Compiler erzeugt letztlich Assemblercode und dafür liegt der passende Assembler dem Paket bei. Schau in die Dokumentation des SDCC, dann weißt du es sicher. Als IDE kannst du Geany, CodeBlocks oder ähnliches verwenden. Gruss Tom
Anscheinend ist sdas6808 mein Freund: https://manpages.debian.org/jessie/sdcc/sdas6808.1.en.html basiert auf dem von Bernhard K. genannten ASxxxx Cross Assembler. Danke, suche nun Assembler Code Beispiele für den den MC68HC908AZ60A, mit denen ich sdas6808 füttern kann. $ man sdas6808 verweist auf: /usr/share/doc/sdcc-doc/aslink , ist aber nicht vorhanden bei mir. aslink existiert nicht? Schaue dann mal im Internet
Matt Dillons dasm kann auch Code für den 68908 erzeugen: Ist OpenSource und hier zu finden https://dasm-assembler.github.io/
vielen Dank. Und einen Disassembler (für HEX-Files) habe ich auch gefunden: https://github.com/Arakula/f9dasm
Hallo Paule. Der SDAS6808 ist der Assembler des SDCC. Dann hilft dir vielleicht dieses Handbuch ein wenig. Die Beispiele sind zwar für den 8051, aber es ist nicht schwer anstatt sdas8051 ein sdas6808 zu schreiben. Für dich interessant könnte das Kapitel 4 mit den Aufrufbeispielen für Compiler und Assembler, und Kapitel 6 mit der Anbindung an USB sein. Viel Erfolg. Tom
Hallo Tom, herzlichen Dank für die gute Beschreibung. Habe nun erstmal genug zum lesen.
f9dasm funktioniert kennt leider nicht alle Opcodes des HC908, somit zum disassemblieren unbrauchbar. Habe jetzt doch mal den Codewarrior (Classic) von Freescale getestet. Ist eigentlich super, gerade zum lernen, leider limitiert, nur eine Evaluation Version und Registrierung erforderlich. Suche noch einen guten HC908 Disassembler, der mit Motorola S19 Files direkt arbeiten kann.
Ich nutze den AS von Alfred Arnold unter anderem für die HC08 und HCS08, allerdings sind das reine Assemblerprojekte. http://john.ccac.rwth-aachen.de:8000/as/ Disassembler ist da aber meines Wissens keiner dabei, aber man kann sich ein List-File beim Assemblieren erstellen lassen. Und da der gemeine Linuxer eher schreibfaul ist, habe ich mir ein passendes Shellscript erstellt:
1 | #!/bin/bash
|
2 | asl -cpu 68hc08 -L $1.asm |
3 | p2hex -r 0x-0x -F Moto +5 $1.p |
4 | mv $1.hex $1.s19 |
5 | rm $1.p |
Jörg
Hallo Jörg, suche einen Disassembler, den ich mit binfiles füttern kann. Habe keinen Sourcecode. trotzdem Danke
Paule schrieb: > Hoffe es kann mir einer hier auf die Sprünge helfen. Naja, kommt drauf an. Also irgendwo hab ich noch eine uralte "Walnut Creek" CD, wo wimre auch Software für diverse 68er mit drauf war, wie z.B. der Sozobon C Compiler. Den Inhalt dieser und anderer CDs sollte es auch irgendwo im Inet geben. Ob das nun für deinen Retro-Chip paßt, mußt du selber herausfinden. Und zu lauffähigen Programmen übersetzen mußt du es auch selber noch. Aber Vorsicht: all das Zeugs für die 68er scheint mir aus der Zeit vor ANSI-C zu stammen. Also olles häßliches K&R. Die Alternative wäre, daß du dir selber die benötigten Programme schreibst. Ist auch kein schwieriges Thema. W.S.
Einen Disassembler habe ich mir jetzt schon geschrieben. Das langt erstmal, assemblieren kann man ja mit Codewarrior in einer XP VM.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.