ARM-Emulator fĂĽr achtbeinigen Mikrocontroller
Dmitry Grinberg hat einen ARM-Cortex-M0-Emulator für den ATtiny85 veröffentlicht. Der läuft sogar schneller, als sein vorheriger Emulator für den ATmega1284.
- Daniel Bachfeld
Der Wahnsinn hat Methode: Dmitry Grinberg hat einen ARM-Cortex-M0-Emulator für den achtbeinigen und -bittigen AVR-Mikrocontroller ATtiny85 geschrieben. Anders als bei seinem vergangenen Hack Ende März, als er einen ARM-Emulator (ARMv5TE) für einen ATmega1284p vorstellte, würde auf dem Cortex M0 jedoch kein normales Linux laufen. Der Cortex M0 ist eine ARMv7-M-CPU, die keine Speicherverwaltungseinheit (MMU) hat, womit nur angepasste Linux-Versionen darauf lauffähig sind.
Die erste Version seines neuen Emulators hat Grinberg noch in C geschrieben, dann aber in Assembler neu entwickelt. Immerhin erreichte er damit eine dreimal höhere Geschwindigkeit, was nach Meinung von Grinberg auf die schlechte Umsetzung des AVR-GCC zurückzuführen sei. Auf dem mit 16 MHz getakteten ATtiny erreichte der Emulator eine virtuelle Taktrate von 200 kHz.
Grinberg hat seinen Emulator und Democode zum Download zur Verfügung gestellt. Der Emulator erlaubt den Zugriff auf sämtliche integrierte AVR-Funktionen. Der Democode misst eine Spannung und ändert den Zustand des Ausgangsports. (dab)