Main Site Documentation

EMX .NETMF and GHI SDK v4.1 Assembly deployment on a V4.2 module


I work in manufacturing so In using this product commercially we have had many issues. We developed software and deployed it in 2011 using the .NETMFv4.1 and GHI SDK v4.1. We recently purchased hundreds of EMX modules and now deployment of the application hex file doe snot work.
I loaded CLR CLR2 and Config .HEX files from GHI NETMF v4.1 SDK and deployed it using MFDeploy.
I then loaded the application hex file and deployed it using MFDeploy
Here is the error I receive

Invalid native checksum: GHIElectronics.NETMF.USBHost 0xF55B11D8!=0xCDA011F2
Link failure: some assembly references cannot be resolved!!
Assembly: GHIElectronics.NETMF.IO ( needs assembly ‘GHIElectronics.NETMF.System’ (
Assembly: MFDpwsExtensions (4.1.2821.0) needs assembly ‘System.IO’ (4.1.2821.0)
Assembly: VeriFire ( needs assembly ‘Microsoft.SPOT.Hardware.SerialPort’ (4.1.2821.0)
Assembly: VeriFire ( needs assembly ‘GHIElectronics.NETMF.IO’ (
Assembly: VeriFire ( needs assembly ‘GHIElectronics.NETMF.System’ (
Assembly: VeriFire ( needs assembly ‘GHIElectronics.NETMF.Hardware’ (
Assembly: VeriFire ( needs assembly ‘GHIElectronics.NETMF.USBHost’ (
Assembly: VeriFire ( needs assembly ‘System.IO’ (4.1.2821.0)
Assembly: VeriFire ( needs assembly ‘MFDpwsExtensions’ (4.1.2821.0)
Error: a3000000
Waiting for debug commands…

I look forward to some guidance.



Your application looks like it is using firmware version, and if you have received the boards recently, they probably shipped with firmware version.

Since you are creating a commercial product, you may feel more comfortable downgrading the EMX firmware, instead of upgrading your code to the latest 4.1 version. Could you try this?



Thanks for the prompt response . Could you send me a link and/or instructions on this. Yes we do want to downgrade as modifying the source code is not an option at this point in time.


I get verry similar errors when I deploy my app hex file.
I’m using NETMF 4.2 and GHI FW4.2.7, but this is a NETMF/MFDeploy problem I think

Try to only press the Erase Button in MFDeploy: do you get the same Linker errors? (I do)
After Deploing (even you get an error) try to reboot and check if your program is on the module. (for me it is like this)
So in my case I can just ignore the errors.

See also:

If you update (downgrade) the firmware you can add your app file directly in the GHI Firmware updater.
Copy it to to the same folder as the FW hex files (you must have a valid sig file, even if it is created with an empty key)
Then select all hex files (FW + app) in Firmware updater and do a normal Firmware update.
Then your app is also loaded onto the module


Check this page out, and if you have any more questions or issues let us know.

And by the way welcome to the forum!


I downloaded the GHI SDK V4.1 (V 1.0.19) to be precise but it seems to be the latest release of Feb 17 2012.
Where can I get GHi SDk V 1.0.11 ? That seems to have the firmware 4.1.30 and tinybooter V4.1.3.0 too.

I ahve attached the output of what I receive from an older EMX module from MFDeploy I had around here

Bootloader build info: GHI Electronics, LLC
HalSystemInfo.halVersion: 4.1.2821.0
HalSystemInfo.halVendorInfo: Microsoft Copyright © Microsoft Corporation. All rig
HalSystemInfo.oemCode: 255
HalSystemInfo.modelCode: 0
HalSystemInfo.skuCode: 65535
ClrInfo.clrVersion: 4.1.2821.0
ClrInfo.clrVendorInfo: Microsoft Copyright © Microsoft Corporation. All rig
ClrInfo.targetFrameworkVersion: 4.1.2821.0
SolutionReleaseInfo.solutionVendorInfo: GHI Electronics, LLC
SoftwareVersion.BuildDate: Oct 15 2010
SoftwareVersion.CompilerVersion: 310739
FloatingPoint: True
SourceLevelDebugging: True
ThreadCreateEx: True
LCD.Width: 320
LCD.Height: 240
LCD.BitsPerPixel: 16
AppDomains: True
ExceptionFilters: True
IncrementalDeployment: True
SoftReboot: True
Profiling: False
ProfilingAllocations: False
ProfilingCalls: False
IsUnknown: False


You can’t download any firmware version with any application version. Your application, the one that was used ot create the deployment HEX file, was compiled against a specific version of the SDK. This means, you should always use that firmware in your production. Which is a good thing because your product is tested against a specific firmware version so you should not change that firmware version even we assumed it will work.

Your choices now are to use the same SDK/firmware you have used in development or recompile (and test) your product against the latest SDK. I highly recommend the first option.

By the way, can you please update your name with something meaningful so we know who we are talking :slight_smile:


Connected to the Bootloader using teraterm, installed the TinyBooter, Reloaded the CLR CLR2 and Config.Hex files deployed the application still does not work.

I am using the same PC, same Visual Studio verison and same SDK that was used 2 years ago. This does not look positive.

Using this same setup the EMX purchased in FY2010 will work with the Tiny booter update through teraterm, CLR, CLR2 and Config.hex files.


Please show us the solution release version info from MFDeploy, for the non-working version?

(reported from the “older” module you showed)

Then please open the SDK’s release notes file from your PC - often the directory is C:\Program Files (x86)\GHI Electronics\GHI NETMF v4.1 SDK

In there you will see the SDK version (mine shows: SDK Version 1.0.19 February 19, 2011) and you’ll see the EMX info (mine shows: EMX (FEZ Cobra) V, TinyBooter V Now if you claim that this PC is the one you built the 4.1.3 application from then you would have different info than I would - and it should say 4.1.3. But everything you’ve told us to this point shows 4.1.8.

You can try looking in the older downloads at which you should find an older version of the SDK to install - but I would strongly suggest you make sure you have your own copy of the file as it’s as valuable as your own source code - in fact, checking in a copy of the SDK installer is probably worthwhile!


The directory of C:\Program Files (x86)\GHI Electronics\GHI NETMF v4.1 SDK shows SDK version 1.0.15 June 30, 2011 and EMX V4.1.6.0
The output of the solution release from MFDeploy is the same

It means I have to get the Oct 15th 2010 release of the SDK to obtain firmware V4.1.3.0.

If I could get that then I’d install it on a different PC and also check in the firmarwe files along wiht the source code.



OK, so the SDK version and the firmware version are matching, but they don’t match what you need. Time to go find the actual SDK installer - did you keep a copy downloaded on the PC originally? Note the actual date on the file that the OS shows will show the date it was downloaded not the date it was released - but you’re looking for something after that Oct 2010 date.


No. The original copy of that is not availiable.
Yes I am looking for something after the Oct 2010 date. Checked the link mentioned in the earlier post but it only goes back to Oct 7 2011.

Thanks for the help.


As I said, it’s as important and valuable as your source code.

Perhaps GHI have an older copy but I don’t know for sure… I certainly don’t, otherwise I’d try to help out.


Gus and/or GHI

Could you send me a link to your archived SDK 4.1 for Oct 15 2010 date?

Thanks a lot.


We do not usually keep every single version available all the time but here are some old versions



I checked your link and it is not available. I am sure that ( unlike the mistake I made by not saving the file) GHI must maintain master copies of all SDK releases?
Could you please check internally for the same and email the firmware to me?



Make sure that you are logged into the main GHI website ( )


The earliest one I can see there is Oct 2011, so you’re probably out of luck. If you are REALLY DESPERATE then you should phone GHI during their business hours and talk to someone, but as Gus says this isn’t something they keep around deliberately.


hello FaraidoonPundole,

I’m experiencing the exact same problem as you. I also need the version.
I see your post is 5 months old. So, if you were able to solve it and you could help me, I would be really grateful.


@ WandaM - Welcome to the forums.

It is usually better to start a fresh tread with a question.

What device are you looking to support? The latest SDK supports older 4.1 devices also.