jjkt / zmu

zmu - Emulator for Microcontroller Systems
Apache License 2.0
94 stars 4 forks source link

Support for other micros. #5

Open mrcbax opened 5 years ago

mrcbax commented 5 years ago

I would be willing to help with support for Atmel controllers like the ATTiny and ATMega. If these can be emulated you could in theory use this for arduino development without an arduino.

jjkt commented 5 years ago

Sounds good. For now the zmu cli tool and the building has been done with single target only, but adding another architecture would help to remove the possible assumptions from the tool.

My base idea for the tool is that you compile it for your specific target by defining needed feature flags. This is done for maximizing the simulation performance as it removes the need for do dynamic checks at runtime.

What would be the best minimal first target you could work on?

mrcbax commented 5 years ago

Considering the current fork rust-avr that adds support for atmel micros to the rust compiler i feel this would be pretty simple. I'd probably start with an attiny85 and work my way up to some sort of atmega. Although as you say with args users can just define what controller they want and you can just have a lookup table of micro specs that can be fed into the emulator. I have to review your code to see if what I'm proposing is even possible for me to do. I'll let you know.

jjkt commented 5 years ago

To be clear, the support for avr should be separated to its own lib, parallel to zmu_cortexm. This way the main cli can be built with either library.

mrcbax commented 5 years ago

Ok currently pretty busy I'll get around to looking into it this coming week.