How to install .net microframework on a blank stm32f405?

What tools are needed to compile and deploy the .net framework onto a blank stm32f405?

This is dated; is not a direct answer to your question. However, it’s worth a read:

@ Mr. John Smith - If you use the same crystal, you can use the Cerb-family firmware. Or if you really want to have fun, you can build your own firmware. Here is a starting point:

There is a wiki with some notes on how to setup and build the firmware as well as the source code delta.

@ Valkyrie, and you’ve gotten 4.3 to run successfully on the cerb family?

Tried to compile but I got 2 errors and 8 warnings. Can I ignore those?

Depends on what the errors and warnings are.

If you have errors you wont have a firmware to load.
Warnings can be ignored.

C:\MicroFrameworkPK_v4_3\tools\targets\Microsoft.SPOT.System.Targets(324,5): error MSB3202: The project file “C:\MicroFrameworkPK_v4_3\DeviceCode\GHI\Libraries\GHI.OSHW.Native\Managed\stubs\dotnetmf.proj” was not found.

The “stubs” folder isn’t in the ghi open source zip file [url][/url]


C:\MicroFrameworkPK_v4_3\tools\targets\Microsoft.SPOT.System.GCC.targets(327,5): error MSB3073: The command ““c:\GCC_46\bin..\arm-none-eabi\bin\ld.exe” -static --gc-sections --no-warn-mismatch – {a whole bunch of stuff later} \TinyBooter.proj” (Build target(s)) – FAILED.

I don’t know what that second one means.

Yep, this version will not compile. Does anyone have a version with the
"\DeviceCode\GHI\Libraries\GHI.OSHW.Native\Managed\stubs" folder?

It looks like there were a lot of deletes done in the last update [url][/url]

I don’t know what to do.

@ Mr. John Smith - Hmm. Let me run through this and fix anything that’s broken.

All you need is a firmware, and stdfu. Step thru the manual firmware/bootloader install as documented here. As @ Valkyrie says, if you don’t use the same crystal though you’ll need a different firmware.

@ Mr. John Smith - I checked in that stubs folder to Github. It does appear to need it, although I have no clue why. Those changes by GHI should not be a problem. One thing to note: Use 4.3 RTM, not 4.3 QFE1. If you try QFE1 you will be opening a can of worms because you will have a bunch of things to fix.

I finally found a version of GHI’s code that will compile:

That’s version 28590, and it includes those stubs files.

The second error still persists: ld.exe exited with code 1

Here is the ld.exe error:

c:\GCC_46\bin…\arm-none-eabi\bin\ld.exe: region `LR_FLASH’ overflowed by 15988 bytes

That means the result binary was to big to fit into your device memory as specified by the scatterfile. When you build, you are building 2 binaries, the tinybooter and the tinyclr.

I think you have an old version though. I forgot to “Push” the updates to Git. I thought that the Commit was saving it to Github, but it only does that when you “Push”. Oops. I just did a push. Try pulling down the current version and overwrite with those files.

@ Valkyrie, 8 Warnings 0 Errors woohoo!

@ Valkyrie, what does this line mean:
“Note: Some of the 4.2 references will no longer work, so those will have to be recompiled…”

Does this mean I have to compile the 4.2 framework as well?

Ok, just looking for some cautionary advice:

Is it possible to brick chip in circuit by redeploying all of the framework including the tinybooter?

I want to modify System.Math to include a new function Hyp (sqrt of x square + y square + z square). Is it wise to augment the existing framework or should I add a class of my own?

When you install the .NET MF 4.3 RTM SDK (the one here:, the 4.3 Framework will be installed into C:\Program Files and the 4.3 Target will become available in Visual Studio (I use VS2012). What I am referring to is files like the GHI.OSHW.Hardware.dll. That might have to be recompiled as a 4.3 dll. It will tell you when you try to deploy to a device if it doesn’t like your dll.