Speaking as the original designer of CVM (yes, I am still alive :-) ):

That's good news, Rhys! It's certainly better than the alternative.

I'm quite impressed with the work you've done here. This is indeed something to be proud of. I know the Mono people have a habit of hogging the limelight (not necessarily on purpose, but they have a lot more resources), but this project has also earned a place on the radar of open source lovers.

Since I have you on the line here...I understand the CVM issues people here have described, but it's not going to be easy for me to leverage this in a small embedded environment without a lot of work. And if I will do a lot of work (which is still uncertain, depending on how feasible I determine my goals to be), then I might as well broaden the scope and consider the whole gamut of solution possibilities.

My simple goal is to port C# (likely a subset), and the .NET Framework (definitely a subset), to generate simple deeply embedded applications that run on microcontrollers. I'll probably only need less than 5% of the .NET Framework functionality, but I'll need to leverage native code for many of the I/O subsystems.

Microsoft has recently introduced the MicroFramework, but that's about 250K in size (an estimate), and it has a lot of functionality I don't need. Its probably also not going to be free, but I don't know this for sure yet. The proprietary nature of this, and the fact that other people will decide what goes in and what stays out, makes this undesireable. It's also being designed for fairly fast processors with a lot of external memory. My target devices will likely be Arm7's and Cortex M3's having only internal memory, typically 256K to 1 Meg of flash, and about 8 to 32K of RAM. But I want this to be portable to other embedded processor families.

I want to stick with an interpreted runtime model for portability, and because it's easier to implement. I also want to integrate the essential features of a light RTOS into the interpreter to keep the overall footprint light. It's not going to be possible to run a separate RTOS in this kind of lean environment.

What are your thoughts on this idea? How do you think this model should work, both to maximize portability to various embedded processor families, and to minimize the footprint?

This is an open question for anyone to reply to, but please don't beat me up too bad. I know that PNET is much larger than I'm envisioning, and I want advice on how to scale down, or perhaps to implement a different kind of solution.

Eric

_________________________________________________________________
WIN up to $10,000 in cash or prizes – enter the Microsoft Office Live Sweepstakes http://clk.atdmt.com/MRT/go/aub0050001581mrt/direct/01/

_______________________________________________
Developers mailing list
[email protected]
http://dotgnu.org/mailman/listinfo/developers

Reply via email to