Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
08/08/08 16:43
Read: times


 
#157333 - Virtual or existing architecture for emulation
I have been thinking about adding downloadable plugins to a embedded device I have, but because of timing restrictions etc I don't want the plugins to use native code.

A plugin with an infinite loop or performing division by zero or using initialized pointers may not affect the host.

I don't really like to add a java engine but would instead prefer the plugins to use C.

I have considered writing my own C implementation for a an abstract virtual machine, but then started to think about instead emulating an existing processor architecture (unless someone can point at any good C compiler that can generate code for an abstract machine).

Anyone having suggestions for a really good processor architecture to emulate?

The intention is to run multiple concurrent virtual machines, and to add memory-mapped SFR or "magic" call addresses for communicating with the host.

Support for 32-bit integers is good to have, but not a hard requirement. Execution speed need not be extremely high, but it is nice if the instructions are reasonably powerful and regular so that they are easy to decode, but still results in compact binaries.

RAM for the virtual machines is more critical than the code space needed for the emulator.

An important thing is that there is a freely distributable compiler available - preferably for both Linux and Windows.

I have been thinking a bit about the AVR architecture, since I have written a working emulator for Mega48/Mega88.

An open issue is also how an end user will be able to debug an application.

The code run in the embedded environment may not pollute any other code so the runtime environment may not make use of GPL:ed code. However, I don't mind writing a new emulator/virtual machine from scratch. It's the compiler side I don't want to spend the time writing.

List of 20 messages in thread
TopicAuthorDate
Virtual or existing architecture for emulation            01/01/70 00:00      
   Additional info about host/usage            01/01/70 00:00      
      How about MIPS?            01/01/70 00:00      
         VHDL            01/01/70 00:00      
            take a look at the content            01/01/70 00:00      
               I think 8 or 16 bit is optimum            01/01/70 00:00      
                  Maybe you should start with an ARM chip            01/01/70 00:00      
                     I2L sounds interesting            01/01/70 00:00      
                        It's probably best to check with the maintainers            01/01/70 00:00      
                           Doesn't seem to be a C to I2L            01/01/70 00:00      
                              The LLVM Compiler Infrastructure            01/01/70 00:00      
                              Since there's help available ...            01/01/70 00:00      
      With the low price of 8-bit single chip MCUs...            01/01/70 00:00      
         Slave processors not an alternative            01/01/70 00:00      
   Users            01/01/70 00:00      
      Probably debugging on PC            01/01/70 00:00      
         Are you really going to do that!            01/01/70 00:00      
            Existing building blocks helps            01/01/70 00:00      
               It hasn't been done for you but ...            01/01/70 00:00      
            When I was in school ...            01/01/70 00:00      

Back to Subject List