gcc mit minGW für 68376 Motorola Prozessor
-
Hallo liebe Programmiergemeinde
Ich versuche schon seit geraumer Zeit einen Compiler (minGW) mit der Entwickungsumgebung Code::Blocks zum laufen zu bringen. Leider Fehlt mir das Wissen was alles ich benötige wozu. Mein Ziel ist es den Code welcher mit dem alten Mentor Grafics Compiler für den Motorola 68376 Prozessor geschrieben ist in die neue Entwicklungsumgebung Code::Blocks mit dem GNU-Compiler minGW zu portieren und umzuschreiben.
Ich möchte nicht das ihr mir die Arbeit abnimmt und den Code für mich schreibt, sonder ich will nur verstehen was die einzelnen Begriffe wie binutils, Toolchain usw. zu bedueten haben und ob ich meine Enteicklungsumgebung mit dem passenden Compiler genomen habe.
Auf meinem System ist das von Code::Blocks angebotene Packet "Code::Blocks + minGW" installiert. Ich habe die Verzeichnisse sowie die einzelnen Pfade zu den einzelnen header-dateien im Codeblocks angegeben.
Nun stehe ich vor dem Problem das ich inline-Assembler-Code habe un diesen für den GNU Assembler umschreiben muss. ICh habe auch verschieden Sieten gefunden die Installationsanweisungen biden wie man einen Compiler für den 68k anbieten, nur ich sehe die Zusammenhänge nicht zwischen Compiler-Assembler-Toolchain-Binutils nicht.
Von der Programmierung verstehe ich folgendes: programmcode -> objektdatei -> Linker -> Maschinencode.
die objektdateien generiere ich damit ich noch für die anderen Programme wie debugger verwenden kann und der linker dan alle bjektdateien zusammen verlinken kann.Die Handbücher zu dem Alten Compiler habe ich und verstehe auch die einzelnen Befehle, was sie machen und wifür. Das Problem ist einfach ist die Enwicklungsumgebund richtig konfiguriert und habe ich alles was ich brauche.
Ich habe mich über zahlreiche Foren schon durchgekämpft und vieles erfahren, aber das allgemeine Wissen/Verständniss fehlt mir leider noch. Deshalb schreibe ich euch an

Ich bin Dankbar wenn mir eine das Nötigste erklären könnte um das Verständnis zu erlangen was mir fehlt. Zumal kann ich nicht zu 100% sagen ob ich den Code auch mit dem Compiler für den Prozessor hinkriegen könnte, aber von meinem Verständnis programmiert man so das es Prozessorunabhängig ist solange es geht.
Hier noch ein paar links die ich gefunden habe, alle kann ich aber nicht aufliste, sonst würde ich sicherlich eine A4-Seite ausfüllen.
http://darkdust.net/writings/megadrive/crosscompiler
http://home.anadolu.edu.tr/~sgorgulu/micro2/lecturespdf/68k_w06_gnu_cpp.pdf
https://www.ashware.com/gnu-68kcoldfire-cc-compiler.htm
http://de.wikipedia.org/wiki/GNU_Toolchain
http://de.wikipedia.org/wiki/GNU_Binutils
http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.htmlGruss aus der Schweiz
roob
-
roob schrieb:
Von der Programmierung verstehe ich folgendes: programmcode -> objektdatei -> Linker -> Maschinencode.
Im Detail sieht das so aus:
1. Compiler (gcc) erzeugt aus Quellcode den Assemblercode
2. Assembler (as) erzeugt aus den Assemblercode die Objektdatei
3. Linker (ld) fügt Objektdateien zusammen zu ExecutableDabei gehören ld und as nicht zu gcc sondern zu binutils. Und deine toolchain ist in dem Fall einfach eine passende Kombination von gcc, as und ld um vom Quellcode zur Executable zu kommen.
MingW wird dir da nicht viel bringen. Mit MingW wird für Windows compiliert. Was du brauchst ist ein normales gcc+binutils, die unter Windows laufen (so habe ich das aus deinen Text zumindest rausgelesen) und dir 68k Executables erzeugen. Was sich dann übrigens Crosscompiler nennt, weil das Zielsystem ein anderes ist, als das auf dem es gebaut wird.
Ich habe da zwar nichts parat, aber ich hoffe du weißt nun ungefähr was du suchen musst

-
Hallo Tobiking2
Danke für die Erklärung, die Verwirrung ist jetzt deutlich weniger und ich kann weiterarbeiten
Ich werde mir Cygwin genauer anschauen, hier noch ein Link ein Link:https://support.dce.felk.cvut.cz/nms/cpuarch/m68k/mo_cpu2-quick-start.html
der eventuell das richtige für mich wäre. Nachdem ich mich orientiert und getestet habe werde ich mich hier nochmals melden und mein Ergebnis mitteilen.
Danke nochmals für die super Hilfestellung

Gruss
roob