Zatím jsem si nenašel čas článek přečíst, ale při rychlém pohledu jsem nenašel odkaz na Small Device C Compiler (SDCC) https://sourceforge.net/projects/sdcc/
Před lety jsem ho zkoušel a podařilo se ho na 8051 použít s variantou našich multi-master RS-485 driverů z projektu uLAN http://ulan.sourceforge.net/
Snažil jsem se tak zachránit a učinit použitelnou i pro ostatní práci, kterou jsme do projektu vložili. Kolegovi na starých jednotkách na 8051 možná již 20 let řídí protokol žaluzie, otevírání vrat a další na jejich domečku. Nyní ale stejně vše nové máme na ARMech a GCC.
Zkoušel jsem, jestli by SDCC zvládlo i některý můj složitější kód, třeba mojí náhradu C++ STL stromů a map v makrech pro plain C. I jsem kvůli tomu pár oprav do projektu poslal, ale složitější kód s ukazateli vycházel i na délku proti dnešním procesorům hodně špatně nikdy se mi nepodařilo udržet kompilaci mainline SDCC delší dobu bez chyb. Vždy se pi vývoji kompilace složitého kódu s mnoha inline nakonec pokazila...
Ale pro mnoho projektů je SDCC asi to nejlepší co lze pro osmibity zdarma sehnat. Přitom obsahuje i assembler, linker atd...
Podporuje Intel MCS51 i s 16 bit variantami, HC08, Zilog Z80 i s 16 bit variantami,, STM8 a PIC.
Obecně pro procesory, které nejsou schopné vytvářet za rozumnou cenu zásobníkové rámce pro předávání parametrů do funkcí a lokální proměnné je to řešení, které má smysl zvážit. Lepší je ale se od takových procesorů raději úplně odstřihnout.