Hallo,
der SDCC Version 2.3 übersetzt so weit ganz gut, allerdings scheint der Linker nicht richtig zu funktionieren. "bit"-Variablen ändern ihren Wert, das Programm läuft auf einmal nicht mehr, wenn Variablen hinzugefügt werden... Ich vermute, dass Variablen an falschen Adressen abgelegt werden und dann von den Register oder anderen Variablen überschrieben werden, bin dem aber noch nicht näher nachgegangen.
Statt dessen habe ich den SDCC in der Version 2.4 ausprobiert. Der will meinen Code aber erst gar nicht übersetzen. Der komplette Code wird in der Konsole wieder ausgegeben und es wird eine leere .asm-Datei erzeugt, die lediglich ein paar Kommentare enthält, an welcher Stelle welche Deklarationen beginnen. Es stehen aber nur die Kommentare, keine Deklarationen drin.
Weiß jemand was da falsch läuft?
Kennt jemand eine alternative? Kennt jemand einen anderen kostenlosen C-Compiler für 8051 CPUs, der auch kommerziell eingesetzt werden darf?
Danke!