Question

I'm a C# developer, I'm interested in embedded development for chips like MSP430. Please suggest some tools and tutorials. Mono framework is very powerful and customizable, mono specific examples will be more helpful.

Was it helpful?

Solution

There is currently no full mono support for the MSP430.

Mono doesn't run in a vacuum - you will need to make a program that exposes the microcontroller functionality to Mono, then link to Mono and program the entire thing on the microcontroller. This program will have to provide some functionality to Mono that is normally provided by an operating system.

The paged igorgue linked to gives you a good starting point for this process: http://www.mono-project.com/Embedding%5FMono

I don't know what the requirements of the Mono VM are, though. It may be easy to compile and use, or you may have to write a lot of supporting code, or dig deep into mono to disable code you won't be using, or can't support on the chosen microcontroller.

Further, Mono isn't gargantuan, but it's complex and designed with larger 32 bit processors in mind. It may or may not fit onto the relatively limited 16 bit MSP430.

However, the MSP430 does have a GCC port, so you don't have to port the mono code to a new compiler, which should make your job easier.

Good luck, and please let us know what you decide to do, and how it works out!

-Adam

OTHER TIPS

Mono requires a 32 bit system, it is not going to work on 16-bit systems.

The tools to use Mono on an MSP430 just aren't available. Drop all the C# and use C/C++ instead.

MSP devices usually have 8 to 256KB Flash and 256 bytes (!) to 16kBytes of RAM. Using C# or even c++ is really not an option. Also, complex frameworks are a no-go.

If you really want to start with MSP430 (which are powerful, fast and extremely low-power processors for their area of use), you should look for the MSPGCC toolchain.

http://mspgcc.sourceforge.net/

It contains compiler (GCC3.22 based) along with all necessary tools (make, JTAG programmer etc.). Most MSP processors are supported with code optimisation and support of internal hardware such as the hardware multiplier.

All you need is an editor (yopu can use Eclipse, UltraEdit or even the normal Notepad) and some knowledge about writing a simple makefile.

And you should prepare to write tight code (especially in terms of ram usage).

I think that Netduino can be of some interest for you. Visit their web site at http://netduino.com/.

It's opensource hardware (like Arduino, http://www.arduino.cc/).

It runs .NET Micro Framework (http://www.microsoft.com/en-us/netmf/default.aspx), the breed oriented to embedded development.

Regards, Giacomo

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top