Forum: Compiler & IDEs MC68HC908AZ60A programmieren mit OpenSource


von Paule (Gast)


Lesenswert?

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.

von MaWin (Gast)


Lesenswert?

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.

von Paule (Gast)


Lesenswert?

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.

von PittyJ (Gast)


Lesenswert?

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.

von Paule (Gast)


Lesenswert?

Was würdest Du denn nehmen?
Wie schon geschrieben, die ICS08 Kits sind alle sehr teuer.

von Bernhard K. (bkom)


Lesenswert?

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

von TomA (Gast)


Lesenswert?

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

von Paule (Gast)


Lesenswert?

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

von klausr (Gast)


Lesenswert?

Matt Dillons dasm kann auch Code für den 68908 erzeugen: Ist OpenSource 
und hier zu finden https://dasm-assembler.github.io/

von Paule (Gast)


Lesenswert?

vielen Dank.
Und einen Disassembler (für HEX-Files) habe ich auch gefunden:
https://github.com/Arakula/f9dasm

von TomA (Gast)


Angehängte Dateien:

Lesenswert?

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

von Paule (Gast)


Lesenswert?

Hallo Tom,

herzlichen Dank für die gute Beschreibung.

Habe nun erstmal genug zum lesen.

von Paule (Gast)


Lesenswert?

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.

von Joerg W. (joergwolfram)


Lesenswert?

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

von Paule (Gast)


Lesenswert?

Hallo Jörg,

suche einen Disassembler, den ich mit binfiles füttern kann.
Habe keinen Sourcecode.

trotzdem Danke

von W.S. (Gast)


Lesenswert?

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.

von Paule (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.