🇬🇧

Weg von Keil, hin zu SDCC

Migrationshinweise. In englisch: Von Infineon, von 2007.

Im allgemeinen geht es um das Problem, dass der Keil-Linker BL51.exe bzw. XL51.exe ein Kode-Limit von 2 KiByte (im Bundle mit Cypress 4 KiByte) hat. Sicherlich findet man irgendwo einen Crack, aber damit verbaut man sich die Möglichkeit, Kode zu veröffentlichen. Als Ersatz muss SDCC herhalten. Leider optimiert SDCC noch einiges schlechter als Keil-C, sodass man im Projekt mehr Speicher einplanen muss. Von Vorteil ist bei SDCC der zuverlässigere Compiler, der IMHO besser Warnungen und Fehler findet, und nicht bei Konstrukten wie if (0<i) abstürzt.

Im folgenden geht es darum, einen vorhandenen umfangreichen Quelltext von Keil-C auf SDCC umzusetzen und dabei die Übersetzbarkeit mit beiden Compilern aufrechtzuerhalten. Beide Compiler sind kode-bank-fähig; 8051-Programme mit mehr als 64 KiByte Umfang lassen sich damit erstellen.