Project - GHI.OSHW for NETMF 4.3

Thanks for the tip on using MFDeploy. It’ is much quicker and more reliable than FEZConfig.

But a couple of things still aren’t quite working for me:

  1. If I download the Community TinyBooter_4_3_1_0.dfu into my STM32F4 processor, I loose the USB connection in MFDeploy.

  2. If I use the Loader.dfu from GHI it works just fine.

  3. With the GHI TinyBooter, if I deploy the Community config.hex and firmware.hex, I loose the USB connection in MFDeploy. I even tried replacing the GHI Firmware.hex with the Community firmware.hex but got the same behavior (no USB connection).

  4. If I use the GHI TinyBooter and their Config.hex and Firmware.hex, and then try to debug using the Community GHI.OSHW.Hardware.dll, Visual Studio loops with “Waiting for device to initialize…”.

Am I doing something wrong?

Edit - For some reason #4 is now debugging but I get an uncaught exception in GHI.OSHW.Hardware.dll “RTC.cs” not found. Is this because I’m not using the Community firmware.hex?

@ B5 Fan - If you are not seeing the USB device with the new dfu file, that means the dfu file was likely created with the older (or wrong) USB Vendor and/or Product code. These codes have to match the driver you intend to use. I have documented here how to do that in my fork of NicholasG’s Community firmware:

Note: I actually have little motivation to use the newer 4.3.1 firmware. 4.3.0 works great for me. Although the USB host support sounds VERY useful…


The Product Code for the GHI loader.dfu is 102 while the code for the Community one is 106. So that’s probable why it doesn’t work right?

I’m not sure if I have the dev environment to build a 102 version. I’m strictly a C# developer. I’ll have to do some investigation.

I use the PID 0x0106 for years now.
You can tweak the .inf file in [em]C:\Program Files (x86)\GHI Electronics\GHI USB Drivers\GHI NETMF Interface[/em] to replace “PID_0102” and install it manually.

@ NicolasG - What driver do you use? It might be easier for me to do that than to change the PID. So far I haven’t been successful manually changing the Pid and re-installing. It doesn’t like the signature so I’m trying to regenerate the catalog with a new signature.

Edit: The regeneration of the catalog did not work so I’m now going to setup a dev environment for building the loader file according to Valkyrie-MT instructions. Wish me luck…

@ Valkyrie-MT - I’m following your instructions from your post Setting up your firmware build environment · Valkyrie-MT/NETMF4.3_Community Wiki · GitHub and not sure about step #4. Is it everything from here GitHub - NicolasG3/NETMF4.3_Community: NETMF 4.3 Community features and GCC compatibility? - Thanks.

I figured it out and to help others here is what I did:

[ol]Go to the Windows/Inf folder.
Do an Advanced Search for 1B9F in the File Contents.
Open with Notepad the files found and look for the line of “CatalogFile =”.
Copy the %DeviceName% lines and change the PID_0102 to PID_0106.
You should now have two %DeviceName% lines, one with 102 and one with 106.
Do the same for the x86 line.
Save the file.
Reboot your computer (may not be necessary but I did).
Load the NETMF 4.3.1 TinyBooter dfu onto your device.
Connect your NETMF 4.3.1 device.
Open Device Manager and find Cerb-Family.
Right click and select Update Driver Software.
Select Browse my computer for driver software.
Select Let me pick from a list of device drivers …
Scroll down to USB Serial Bus devices.
Under GHI Electronics LLC, select GHI NETMF Interface.
Click Next to update the driver
Your NETMF 4.3.1 device should now be visible in MFDeploy.
Using MFDeploy deploy the NETMF 4.3.1 config.hex and firmware.hex.
And you are done :)[/ol]