Compileroptimierungen für Forth im Microcontroller: Mecrisp intern

Presented at 32C3 (2015), Dec. 30, 2015, 5:15 p.m. (30 minutes)

Wie lassen sich Konstantenfaltung und ein Registerallokator für einen Forth-Compiler implementieren, der in einem Mikrocontroller läuft ?

Wer gern mit Elektronik und Mikrocontrollern bastelt, kennt sicherlich die aufwändige Fehlersuche mit vielen kleinen Testprogrammen. Doch es ist auch möglich, einen Forth-Compiler direkt im Microcontroller zu installieren, mit dem über ein Terminal kommuniziert werden kann und welcher es erlaubt, "von innen heraus" auf die Hardware zuzugreifen sowie jede neu geschriebene Routine sofort von Hand auszuprobieren. Forth ist ein alter Hut - wer jetzt jedoch an langsam denkt, mag überrascht sein: Ein optimierender Forth-Compiler mit Konstantenfaltung und Registerallokator passt mit 20 kb Größe sogar in den LPC1114FN28 ! Wie die Optimierungen "an Bord" funktionieren, soll in diesem Vortrag erläutert werden. Assemblerkenntnisse für MSP430 und ARM Cortex M sind von Vorteil. Wer Forth genauer kennenlernen möchte, kann gern auch zur Assembly der Forth-Gesellschaft kommen.


Presenters:

  • Matthias Koch
    Physicist who loves compiler design doing laser spectroscopy on algae. I studied physics and agriculture and combined both into biophysics research. I wrote an optimizing compiler which runs inside of microcontrollers and implemented bit-bang USB on MSP430. I love plants and old fruit breeds, I am interested in marine biology and I am fine with electronics and cycle accurate real-time assembly tricks.

Links:

Similar Presentations: