|
NKC Forum |
| Author | Topic: Projekt C-Crosscompiler | ||
|---|---|---|---|
|
tuti Voll in Gange ![]() ![]() ![]() ID # 225 |
Posted on December 29, 2025 10:27 AM (#162)
Quote
PM E-mail
Hi, Jürgen.
Ich würde da jetzt eher keine eigene Umgebung mehr bauen. Ist bestimmt irgendwann ein Quell für Inkompatibilität. Hast du mal nach dem fehlenden Symlink der libnkc.a geguckt? Siehe #155. Danach läuft @andi s Paket bestimmt auch bei dir. Als Editor verwende ich übrigens den "joe". Irgendwie schon ewig... ----------------------- Definitiv sind Frösche und Himbeeren am besten! |
||
Posts: 588 | Member since: July 2022 | IP address: not saved | |||
|
redo Stammgast ![]() ![]() ID # 245 |
Posted on December 29, 2025 02:11 PM (#163)
Quote
PM E-mail HP
Hallo Torsten, ich hab das so gemacht und den fehlenden symbolischen Link eingebaut. Das hat funktioniert und der Jados_test ist gelaufen. Der Datumsfehler mit dem Zufallsdatum kommt bei mir auch (habe UHR3 im System). Aber, wie Daniel schon sagte, zunächst nicht so wichtig.
Danke für Deine Motivation. Hat mir viel Arbeit gespart und ich kann bei dem SuseLinux bleiben. "joe" kannte ich nicht. Bisher war es Nano oder eben der vs-code (den ich jetzt abschalte). VG Jürgen ----------------------- Nach vielen Jahren ging es mit dem NKC wieder los.... Sehr spannend! |
||
Posts: 239 | Member since: June 2025 | IP address: not saved | |||
|
redo Stammgast ![]() ![]() ID # 245 |
Posted on December 29, 2025 03:43 PM (#164)
Quote
PM E-mail HP
Hallo, nach einigen Tests mit dem gcc 6.3.0 funktioniert das zwar, aber in meinem Lernprogramm stoße ich jetzt z.B. bei printf auf diese Anomalie:
printf("%.1f",stardate); mit double stardate 3000.0 zeigt nicht wie vermutet "3000.0" an sondern nur noch "f". Das ist auch in anderen Testprogrammen von mir so. Ich habe einen blinkenden Eingabecursor für Kommandos, der beim ersten Kommando (einfach nur ein Buchstabe) eine Linie bis zum unteren Bildschirmrand unter einem Winkel von -45 Grad zeichnet. Tetris liefert Fehler. Ein Testprogramm für die Uhrzeit liefert eben auch meist diese Datum 1.1.1970 beim ersten Aufruf und dann bei wiederholtem Start 11.6.1991. Ich arbeite an dem Programm jetzt seitdem ich mit C für den TangNano begonnen habe und jeden Fehler korrigierte ich sofort. Das Projekt ist ein Lerneinschub gewesen, bevor ich mit dem Schach weitermachen wollte. Die ausführbare Datei ist mit dem 6.3.0 heute 100k. Das Ganze ist einfachstes C ohne Pointer, Strukturen ... zum Einlernen und einprägen eben. Was könnte diese Fehler bedeuten? Ich verwende jetzt die Umgebung von Andi. VG Jürgen ----------------------- Nach vielen Jahren ging es mit dem NKC wieder los.... Sehr spannend! |
||
Posts: 239 | Member since: June 2025 | IP address: not saved | |||
|
andi Voll in Gange ![]() ![]() ![]() ID # 213 |
Posted on December 29, 2025 06:22 PM (#165)
Quote
PM E-mail
Hallo Jürgen,
warum printf bei double variablen nicht mehr geht kann ich ad-hoc auch nciht sagen, vermute aber dahinter folgendes (lt. google):
Oder ev. ist bei den Standardeinstellungen bei der LIBC / NEWLIB der floatingpoint support bei printf defaultmäßig abgeschaltet. Kann ich aktuell nicht sagen. Weiters muss ich leider sagen meine Standardumgebung für die SW-Erstellung für den NKC ist unter Windows. An diesen GCC hab ich mehrere Jahre gearbeitet um diesen so hin zu bekommen wie er aktuell ist. Da das aufsetzen einer GCC Umgebung ein sehr komplexes Thema (und noch dazu sehr schlecht dokumentiert) ist erfordert es sehr viel Wissen (und viel probieren). Es gibt leider tausende Einstellmöglichkeiten für GCC, LIBC und NEWLIB die alle aufeinander abgestimmt sein müssen. Ich hab beim neuen GCC (7.3.0) hauptsächlich die Standardeinstellungen verwendet. Und das Problem mit der Uhrzeit liegt lt. meinen Analysen an einem Konfigurationsproblem (Größe von time_t datentyp) zwischen LIBC und NEWLIB (32 vs. 64bit). Ich fürchte um das zu beheben muss man die Umgebung neu konfigurieren und bauen. Ev. finde ich dafür aber auch einen Workaround |
||
Posts: 528 | Member since: May 2021 | IP address: not saved | |||
|
andi Voll in Gange ![]() ![]() ![]() ID # 213 |
Posted on December 29, 2025 07:06 PM (#166)
Quote
PM E-mail
Hallo,
sorry hab ich getestet. Liegt wahrscheinlich daran dass die printf in der newlib ohne float-support erstellt wurde. Man muss das neu konfigurieren und übersetzen. War mein erster Versuch den GCC zu konfigurieren und zu bauen. Meine Empfehlung wäre einstweilen bei Windows zu bleiben. Ich werd versuchen den GCC zu rekonfigurieren und neu zu bauen damit das Uhrzeit und float problem verschwinden. Wird aber einige zeit dauern. Hab leider gerade nicht so viel zeit dafür |
||
Posts: 528 | Member since: May 2021 | IP address: not saved | |||
|
redo Stammgast ![]() ![]() ID # 245 |
Posted on December 29, 2025 07:53 PM (#167)
Quote
PM E-mail HP
Hallo Andi,
danke für die schnelle Einschätzung. Dieses Startrek-Spiel, bei dem ich fasst fertig bin, hängt sich auch nach einigen Kommandos auf, was es unter Windows mit dem dortigen gcc nicht tut. Dort gibt es auch c++, heute, jetzt für mich noch kein Thema, aber lernen möchte ich das natürlich auch. Warum hast Du eigentlich den 6.3.0 genommen und nicht den 4.8.0, wie bei Windows? Wo liegen da die Vorteile? Ist das dem Ziel, für den TangNano unter 68000 zu programmieren, zuträglich? Und ja, der Ausflug zu Linux war nett, aber ich folge Deinem Rat, bis es eine gemeinsame Umgebung unter Linux gibt. Ich will ja C lernen? VG Jürgen ----------------------- Nach vielen Jahren ging es mit dem NKC wieder los.... Sehr spannend! |
||
Posts: 239 | Member since: June 2025 | IP address: not saved | |||
|
retroniker Stammgast ![]() ![]() ID # 243 |
Posted on December 29, 2025 11:31 PM (#168)
Quote
PM E-mail
Hallo andi,
... vielen Dank für den Tipp:
Ich habe das ausprobiert und ja, das funktioniert :-) Ob ich allerdings an dem Teil "weiterschraube" ... ich weiß nicht, ob mir das was bringt. C++ wäre geil, dann könnte ich an den Kurs weiter machen, den ich vor vielen Jahren mal angefangen habe. Aber alles nicht so wichtig. Dir jedenfalls vielen Dank für den support - super! Schöne Grüße ----------------------- 68008/GDP64HS/BootRAM68k/KEYr4/IOEenh mit 2xSD-Karte/Sound3/UHR3/IOEenh mit Joystick/BUS3 |
||
Posts: 190 | Member since: February 2025 | IP address: not saved | |||
|
andi Voll in Gange ![]() ![]() ![]() ID # 213 |
Posted on December 30, 2025 10:37 PM (#169)
Quote
PM E-mail
Hallo,
Zum nicht funktionierenden _gettime beim Linux 68k-gcc hab ich eine Lösung (für alle interessieren): Da muss im file m68k-gcc/m68k-elf/sys-include/machine/types.h Die Zeile 15 ( #define _TIME_T_ long /* time() */)durch folgende ersetzt werden: Danach nkc_lib neu compilieren und dann geht's Zum printf das keine float/double kann gibt's keinen Workaround. Finde ich aber nicht so arg weil ich persönlich float und double eher vermeide |
||
Posts: 528 | Member since: May 2021 | IP address: not saved | |||
|
tuti Voll in Gange ![]() ![]() ![]() ID # 225 |
Posted on December 30, 2025 11:17 PM (#170)
Quote
PM E-mail
Ich denke in der Tat auch, dass die ganzen printf-Spezialitäten - und insbesondere die Fließkommazahlen - verzichtbar sind.
Die sind halt teuer. Und zumindest ich brauche die Dinger eh nur für Adhoc-Debug-Ausgaben. Dafür reichen doch simple iprintf-Konstrukte. Und wenn man wirklich mal den Wert eines Nicht-Integers braucht, rechnet man den vorher geeignet um. Bastle gerade an einem kleinen Neujahrs-Gruß. Mal gucken, ob er noch fertig wird. Zu diesem Neujahr! ![]() ----------------------- Definitiv sind Frösche und Himbeeren am besten! |
||
Posts: 588 | Member since: July 2022 | IP address: not saved | |||
|
fin55 Kennt sich schon aus ![]() ![]() ID # 223 |
Posted on December 30, 2025 11:57 PM (#171)
Quote
PM E-mail
Hallo,
ich verfolge mit Interesse die Beiträge und habe ein neues Linux Mint 21.3 installiert. Dann das gcc-Paket von Andi auf ~/working kopiert und entpackt und den Pfad absolut gesetzt. (also bei mir export PATH="$PATH:/home/fin/working/m68k-gcc/bin/") Zu meinem Erstaunen funktioniert damit das make im Jado_test Verzeichnis auf anhieb. Mit dem Tilde-Zeichen im Pfad funktioniert der Compiler bei mir nicht. VG Werner |
||
Posts: 66 | Member since: April 2022 | IP address: not saved | |||
|
redo Stammgast ![]() ![]() ID # 245 |
Posted on December 31, 2025 08:39 AM (#172)
Quote
PM E-mail HP
Hallo Werner, klasse!
Wie ist es bei Dir mit der Zeitanzeige? Und was passiert, wenn du im Jados_test sowas ergänzt: double zahl = 3.0; printf(?Zahl %.1f?,zahl); (Fragezeichen ist Anführungszeichen, geht bei meinem Ipad hier nicht). VG Jürgen ----------------------- Nach vielen Jahren ging es mit dem NKC wieder los.... Sehr spannend! |
||
Posts: 239 | Member since: June 2025 | IP address: not saved | |||
|
fin55 Kennt sich schon aus ![]() ![]() ID # 223 |
Posted on December 31, 2025 02:29 PM (#173)
Quote
PM E-mail
Hallo Jürgen,
ich kann das nur am TangNano testen, also ohne Uhr. Die Darstellung ist wie im Post #122 von Daniel nur eben zufällig. Zum printf mit Fließkommazahlen ist die Darstellung wie bei dir, es erscheint nur das f. Guten Rutsch ins neue Jahr an alle! VG Werner |
||
Posts: 66 | Member since: April 2022 | IP address: not saved | |||
|
tuti Voll in Gange ![]() ![]() ![]() ID # 225 |
Posted on December 31, 2025 03:06 PM (#174)
Quote
PM E-mail
Ich kann übrigens den Erfolg dieser Maßnahme bestätigen. Die Uhrzeit habe ich zwar gar nicht geprüft, vorher waren die mit gettime() initialisierten Zufallszahlen aber alles andere als zufällig (es flogen immer wieder die gleichen Raketen im moongrus.68k). ----------------------- Definitiv sind Frösche und Himbeeren am besten! |
||
Posts: 588 | Member since: July 2022 | IP address: not saved | |||
|
retroniker Stammgast ![]() ![]() ID # 243 |
Posted on January 04, 2026 03:04 PM (#175)
Quote
PM E-mail
Hallo zusammen,
ich habe zu unserer neuen Errungenschaft - c-cross-compiler unter linux noch eine Frage: Ich nutze den compiler von andi, weil ich davon ausgehe, dass der gut funktionieren wird. Jetzt habe ich mehrfach ein Testprogramm compiliert, das auch gut auf dem NKC funktionierte. Nun wollte ich einfach nur einen clearscreen am Anfang einfügen und fügte in den Code das ein: 42: system("cls"); Dabei kommt es dann in der Linkerphase zu einem Problem. Ich sehe in den Meldungen einen Pfad - in Zusammenhang mit der libc.a ... der vermutlich noch von andis system herrührt. Ich lad' mal einen Screenshot hoch ... da seht im Terminalfenster unten irgendwo "workspace" im Pfad. Also für mich sieht das so aus, als ob da Pfade noch nicht ganz stimmen. Ich habe beim installieren des compilers nur die libnkc.a neu compiliert und nicht die libc.a (oder wurde die mitcompiliert??) Stehen in der libc.a noch Pfade von andi drin?? Oder hab' ich als greenhorn einen anderen Fehler gemacht? Es geht jetzt mal nicht um die Frage, ob ich den clearscreen richtig gemacht habe - obwohl ich mich auch über Rückmeldungen dazu freue. Beste Grüße an alle ![]() ----------------------- 68008/GDP64HS/BootRAM68k/KEYr4/IOEenh mit 2xSD-Karte/Sound3/UHR3/IOEenh mit Joystick/BUS3 |
||
Posts: 190 | Member since: February 2025 | IP address: not saved | |||
|
tuti Voll in Gange ![]() ![]() ![]() ID # 225 |
Posted on January 04, 2026 03:13 PM (#176)
Quote
PM E-mail
Hi.
Ohne die Pfade bis ins Letzte auseinanderklamüsert zu haben: Das passt schon so. Du wirst in dieser Umgebung schlicht und ergreifend kein "system" zur Verfügung haben. Es gibt einen GP-Aufruf zum Bildschirmlöschen. Bin gerade nicht am Rechner, findest du aber ziemlich sicher in den Beispielen... Nachtrag: "gp_clearscreen();" ist dein Freund Nachtrag 2: Wegen des Pfades mit dem "avg" drin schau mal im Makefile nach ----------------------- Definitiv sind Frösche und Himbeeren am besten! |
||
Posts: 588 | Member since: July 2022 | IP address: not saved | |||
|
retroniker Stammgast ![]() ![]() ID # 243 |
Posted on January 04, 2026 03:18 PM (#177)
Quote
PM E-mail
Hey tuti,
... na da bin ich ja beruhigt, dass ich nicht ein Bock beim Aufsetzen der Umgebung geschossen habe. Vielen Dank für die schnelle Hilfe - jetzt schau ich gleich mal in den Examples ... DANKE ![]() ----------------------- 68008/GDP64HS/BootRAM68k/KEYr4/IOEenh mit 2xSD-Karte/Sound3/UHR3/IOEenh mit Joystick/BUS3 |
||
Posts: 190 | Member since: February 2025 | IP address: not saved | |||
|
retroniker Stammgast ![]() ![]() ID # 243 |
Posted on January 04, 2026 03:45 PM (#178)
Quote
PM E-mail
funktioniert - tip top!!
![]() zu Nachtrag 2: Das Makefile hatte ich natürlich auch gleich in Verdacht ... aber nein, den Pfad hatte ich angepasst ... ich glaube auch nicht, dass ich beim compilieren der libnkc.a Erfolg gehabt hätte, wenn der Pfad nicht gestimmt hätte ... Das muss ja auch irgendwo in der libc.a stehen - zumindest verstehe ich die Meldung des Linkers so. Aber ich glaube ich teste jetzt erstmal alle Examples von andi durch Vielen Dank und Grüße ----------------------- 68008/GDP64HS/BootRAM68k/KEYr4/IOEenh mit 2xSD-Karte/Sound3/UHR3/IOEenh mit Joystick/BUS3 |
||
Posts: 190 | Member since: February 2025 | IP address: not saved | |||
|
tuti Voll in Gange ![]() ![]() ![]() ID # 225 |
Posted on January 04, 2026 05:26 PM (#179)
Quote
PM E-mail
Der Pfad steckt(e?) im nkc_common/Makefile und in einigen Dateien unter m68k-linux/lib/ldscripts.
Letztere sehen wir hier vermutlich... ----------------------- Definitiv sind Frösche und Himbeeren am besten! |
||
Posts: 588 | Member since: July 2022 | IP address: not saved | |||
|
retroniker Stammgast ![]() ![]() ID # 243 |
Posted on January 04, 2026 07:11 PM (#180)
Quote
PM E-mail
Hallo tuti,
... ähem ... mir düngt da etwas ![]()
Verstehe ich das Zip-File von andi (nun) richtig, dass das Verzeichnis "m68k-linux" (mit Unterordnern) Dateien enthält, die entsprechend mit den Dateien aus "m68k-elf" ausgetauscht werden müssen?? Das habe ich nämlich nicht gemacht. Oder muss der ganze Ordner einfach mitkopiert werden ... hab ich auch nicht gemacht ![]() ... funktioniert bis hierhin aber trotzdem ![]() ----------------------- 68008/GDP64HS/BootRAM68k/KEYr4/IOEenh mit 2xSD-Karte/Sound3/UHR3/IOEenh mit Joystick/BUS3 |
||
Posts: 190 | Member since: February 2025 | IP address: not saved | |||
|
andi Voll in Gange ![]() ![]() ![]() ID # 213 |
Posted on January 04, 2026 08:05 PM (#181)
Quote
PM E-mail
Hallo,
beim zip-file mit dem Linux GCC für den NKC brauchst du gar NICHTS mehr austauschen. Da sind schon ALLE Dateien drin die du für den NKC brauchst (wenn er in ~/working/m68k-gcc/ installiert ist brauchst du NICHTS anzupassen). Lediglich unter Windows, wenn du den SysGCC von der offiziellen Homepage runter lädst musst du das delta-zip file noch darauf kopieren |
||
Posts: 528 | Member since: May 2021 | IP address: not saved |
| https://nkcforum.de | Board rules | Privacy policy
Tritanium Bulletin Board 1.8
© 2010–2021 Tritanium Scripts
Site created in 0.030973 seconds
Processed 18 files
gzip compression enabled
2495.77 KiB memory usage




Posted on December 29, 2025







