views:

55

answers:

3

Hello all,

I am a .net web developer. I have several years of experience in this field. Lately, I have received a job proposal for developing .net embedded code on .Net Arm Microprocessors.

I wanted to know, what overhead or problems should I expect in developing on microprocessors? I know that developing for the web and for hardware are two completely different fields, yet the development over the chip will be done in .net \ c# in which as said I am experienced.

Any tips or advice will be most welcome,

Thank you

+4  A: 

I'm guessing you're referring to the .NET Micro Framework.

You're going to have to get used to working with limited memory, a limited set of Framework classes, and a different UI model which is loosely based on WPF.

Justin Niessner
+1  A: 

Memory constraints will be a huge thing to pay attention to. You will only have a few megabytes of RAM at most, and often less the 1 MB. You will find things you have done before are now very much performance hogs. Also the limited scope of the micro framework will be quite a PITA at times. But it sure sounds fun. I'd much rather work with micros then web development (my current job).

jamone
+1  A: 

Depending on the capabilities of the hardware, you may be developing on the .NET Compact Framework, which is much closer to .NET desktop than .NET Micro.

I've done some development on CF, and the biggest drawback is being treated as a second-class citizen. You have to do a lot more p/Invoke because the CLR just doesn't cover a lot of needed functionality. You're almost always a release behind (e.g., VS2010 doesn't support CF, and no one seems to know when they will...). Most of your tools (from CAB installers to emulators) are perpetually buggy. You have CF 3.5 available but it hardly has anything the desktop 3.5 has, etc.

Of course, memory can be an issue. You may also need to jump through some hoops to access non-volatile memory. Naturally, the people already working there should know what it takes.

Stephen Cleary