Main Site Documentation

How to install .net microframework on a blank stm32f405?


#1

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


#2

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

https://www.ghielectronics.com/docs/130/building-your-own-customized-firmware-for-fez-hydra


#3

@ 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.


#4

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


#5

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


#6

Depends on what the errors and warnings are.


#7

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


#8

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 http://download-codeplex.sec.s-msft.com/Download/SourceControlFileDownload.ashx?ProjectName=ghiopensource&changeSetId=31757

and

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.


#9

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


#10

It looks like there were a lot of deletes done in the last update http://ghiopensource.codeplex.com/SourceControl/changeset/29392

I don’t know what to do.


#11

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


#12

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.


#13

@ 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.


#14

I finally found a version of GHI’s code that will compile: http://ghiopensource.codeplex.com/SourceControl/changeset/28590

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

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


#15

Here is the ld.exe error:

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


#16

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.


#17

@ Valkyrie, 8 Warnings 0 Errors woohoo!


#18

@ 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?


#19

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?


#20

When you install the .NET MF 4.3 RTM SDK (the one here: http://netmf.codeplex.com/releases/view/81000), 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.