Main Site Documentation

NET Micro Framework 4.1 Porting Kit



Can someone please explain exactly what the subject line is? Is it a way to develop the firmware like the GHI NETMF SDK? So we can roll our own drivers/functions?




The porting kit is what companies (GHI) use to create their own ports.

You do not need that if you are using our products but sometimes you maybe curious no how something is done internally and so the source code is useful.


Hi Gus,

I think I understand. This would allow the person that doesn’t want to allot spend time on hardware development but simply software.

Being an electronic technician by paper degree, I find myself wanting to know how the code actually works also. That allows me to know exactly what the heck is going on in electronic gadgets. I started with an 8031 processor using assembly language and slowly moved along through various processors and compilers.

You guys provide the means, including support, to do electronics and coding side of gadgets and I appreciate that!



P.S. I am not anyway affiliate with GHI besides being a happy customer!



Would something like this be needed if you wanted to bring over existing custom .NET based DLLs to use as references?

Thank you!



No. The only use for PK is what I described before, for looking at source to understand how things work (practical for our users) or use it to make you own device, which requires a LOT of experience and few months of work (not practical to our users).

Maybe you want to know which one is faster…X or Y and want to see that in source codes.


So does it contain the GHI NETMF source or simply the source to allow you to make your own GHI NETMF like firmware? I’m still confused on that question.


No GHI code. That is “Microsoft” NETMF porting kit. But, with few months or years of work you can make your own GHI-like firmware. Assuming you have deep knowledge in programming and embedded systems.

Why not just download the PK and take a look?


A couple of common scenarios where you might NEED to use the Porting Kit.

  • You want to make a .NetMF port for a new CPU type.

  • You want to customise a “vendor” supplied port for a specific CPU type.

The first means you’ve got to create all the HAL/PAL components for that particular CPU type, based on the “core” ports that ships with the porting kit (that will be targetted to a similar CPU, at best).

The second is that you want to take a default manufacturer’s port of the .NetMF and do something special. For instance, I think that NXP now release a port that works on the NXP LPC2388’s (the CPU that USBizi is based on). That means that you could, if you wanted to, create a “rival” firmware that does different things to what the GHI firmware does. For instance, if you wanted to implement a strange protocol that the GHI firmware doesn’t (which would be strange since GHI offer CAN and One Wire, OW at least is only on GHI NetMF ports!) then you could do so - as Gus points out its non trivial, but if you’re an embedded programmer from way back it might be within your realm. Very explicitly though, the CPU vendor ports are “vanilla” and only offer the minimum/core NetMF features - GHI are not a CPU vendor but a “value add” since they not only port to the LPC2388 (before NXP did) they also add so much more to their firmware than others - so they’re Freakin Awesome. Not to mention their support !


Yes correct Brett, most users forget about the unlimited free support and the value we add on, what you call, “vanilla” port. :slight_smile: The processor ports in the PK are minimal, IO, SPI, UART, maybe USB, maybe networking and even if there is networking it is usually though an external MAC running over SPI. None of the ports come close to what we have. This is a good time to thank all the amazing engineers at GHI that help in making this happen.

Note that the NETMF core (debugging, system management, CLR…et.c) is complete and is truly mazing, thanks to all the efforts Microsoft put into this and thanks for making it open source and free too, thanks again to the NETMF team at Microsoft!

So, instead of trying to convince users of using our devices, we show them how to find the porting kit to download it and brows thought it, to realize how much work is involved and to that what they pay for a GHI device is very much minimal compared to the porting/maintenance costs.

Nothing is hidden, that is the same porting kit we started mastering and tweaking few years ago to get us to where we are at now :slight_smile:

I hope this thread makes porting kit clear so this question wouldn’t come up in future.

By thew way, Brett is a customer who is not affiliated with GHI Electronics. Thanks Brett for clearing this up to others.


Yes, sorry, that was a public service announcement from a happy GHI customer, not affiliated with them at all !

You really can’t under-state the support that GHI have been pouring into the NetMF community. They’ve been ultra generous with not only their thoughts and ideas, but also valuable coding assistance and guidance, not to mention the amount of hardware and cash they’ve had on offer to the community enthusiasts here

Also, when I say “vanilla” I totally mean the CPU vendor’s NetMF implementation that has the basics in it, and little more. I certainly don’t think GHI as a “vanilla” implementation, they have a very mature and feature rich port in USBizi, USB host and One wire for example. And they have a great drive to keep this maintained and enhanced, another valuable thing


Yes I understood what you mean. The ports shipping with PK are examples and not complete where GHI added years of work to make a complete port that has almost every single feature users have asked for :slight_smile:


There is a new FAQ covering this in details