How to build .Net Micro Framework 4.4 Firmware

Looks like all of the commands are on one line. Try to put the call statements on new lines:

call setenv_gcc 4.9.3 "C:\netmf\gcc_4_9_3"
call cd Solutions\STM32F411NUCLEO
msbuild /t:build /p:flavor=release;memory=flash /fl
call C:\WINDOWS\explorer.exe "C:\netmf\netmf4_4_0\BuildOutput\THUMB2FP\GCC4.9\le\FLASH\release\STM32F411NUCLEO\bin"

Regards,
Mark

1 Like

Mark

I separated the lines as you suggested and it attempts a build.

Brad

Mark

It failed to build - i am not familiar with this message… looking online is pointing nuget. is this the floating point issue? If I open the project in vsd2015 it fails to load the project.

C:\net4_4_0\tools\Targets\Microsoft.SPOT.Build.Targets(929,5): error MSB4062: The “Microsoft.SPOT.Tasks.GenerateTinyRes
ource” task could not be loaded from the assembly C:\net4_4_0\BuildOutput\Public\Release\Server\dll\Microsoft.SPOT.Task
s.dll. Could not load file or assembly ‘file:///C:\net4_4_0\BuildOutput\Public\Release\Server\dll\Microsoft.SPOT.Tasks.
dll’ or one of its dependencies. The system cannot find the file specified. Confirm that the declaration is
correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask. [C:\net4_4_0\Framework\Subset_of_CorLib\SpotCorLib.csproj]

Brad

Good Morning Brad,

. The directory below should be C:\netmf\netmf4_4_0 I have updated Step 7 in my by post.

Create a directory c:\net4_4_0 and unzip the .NET Micro Framework Interpreter into the directory https://github.com/valoni/netmf-interpreter

The file Microsoft.SPOT.Task is located in here https://github.com/valoni/netmf-interpreter/tree/dev/tools/Targets

Hope this will fix in the issue?

David

Build fails still - looks like files are missing or path is wrong? Earlier I was trying moving the folder but it does not matter.
Cannot attach the build output file but here is a snippet…

WixLibSpotBuild -> C:\net4_4_0\BuildOutput\Public\release\Server\dll\Microsoft.SPOT.WiX.dll
Done Building Project “C:\netmf\net4_4_0\Framework\Tools\WiXLib\WixLibSpotBuild.csproj” (Build target(s)).
Project “C:\netmf\net4_4_0\Framework\Tools\BuildTasks.dirproj” (5) is building “C:\netmf\net4_4_0\Framework\Tools\BuildTasksInternal\BuildSigner\BuildSignerSpotBuild.csproj” (7) on node 1 (Build target(s)).
StartBuild:
Building…C:\netmf\net4_4_0\Framework\Tools\BuildTasksInternal\BuildSigner\BuildSignerSpotBuild.csproj;
ResolveAssemblyReferences:
Primary reference “CODESIGN.Submitter”.
C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1820,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly “CODESIGN.Submitter”. Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\netmf\net4_4_0\Framework\Tools\BuildTasksInternal\BuildSigner\BuildSignerSpotBuild.csproj]
For SearchPath “{HintPathFromItem}”.
Considered “C:\netmf\tools\x86\CODESIGN\CODESIGN.Submitter.dll”, but it didn’t exist.
For SearchPath “{TargetFrameworkDirectory}”.
Considered “C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\CODESIGN.Submitter.winmd”, but it didn’t exist.
Considered “C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\CODESIGN.Submitter.dll”, but it didn’t exist.
Considered “C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\CODESIGN.Submitter.exe”, but it didn’t exist.
Considered “C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\Facades\CODESIGN.Submitter.winmd”, but it didn’t exist.
Considered “C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\Facades\CODESIGN.Submitter.dll”, but it didn’t exist.
Considered “C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\Facades\CODESIGN.Submitter.exe”, but it didn’t exist.
For SearchPath “{AssemblyFolders}”.
Considered “C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5\CODESIGN.Submitter.winmd”, but it didn’t exist.
Considered “C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5\CODESIGN.Submitter.dll”, but it didn’t exist.
Considered “C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5\CODESIGN.Submitter.exe”, but it didn’t exist.
For SearchPath “{GAC}”.
Considered “CODESIGN.Submitter”, which was not found in the GAC.
For SearchPath “{RawFileName}”.
Considered treating “CODESIGN.Submitter, Version=4.1.0.0, Culture=neutral, PublicKeyToken=3d8252bd1272440d, processorArchitecture=MSIL” as a file name, but it didn’t exist.

Brad

Did you delete the BuildOut directory before the new compile?

Yes.

I am starting over again.

Ok I started over and think the steps are off …
Step #8 and #9 have wrong paths, I think.
Also when I unzip the netmf-interpreter should the folder exist? C:\netmf\netmf4_4_0\netmf-interpreter-dev?

This is why I started moving folder(s) around since it seerms paths are wrong.

Step 8
Download the CMSIS tools (rename the file extension “.pack” to “.zip” and unzip them in the c:\net4_4_0
Should read C:\netfm\netfm4_4_0 and has been corrected

Step 9

Create a batch file in the c:\net4_4_0 should be
C:\netfm\netfm4_4_0 and has been corrected

Thanks for finding the issues.

Also when I unzip the netmf-interpreter should the folder exist? C:\netmf\netmf4_4_0\netmf-interpreter-dev?

The files should be unzipped to C:\netmf\netmf4_4_0
.

Still not building …
Is there a time table to a release of this framework?

Between steps 8 & 9 there should there be a step to run powershell script: ./Install-CMSIS,ps1?
How about ./Install-BinTools.ps1?
What about Marks issue “By default, the ARM compiler needed the floating point libraries moving to the right place.” ?

Microsoft .net micro framework was released in 2015.

If you try again here is my net4_4_0 directory tree

Yes my structure is similar but still fails.

“C:\netmf\netmf4_4_0\Solutions\STM32F411NUCLEO\dotnetmf.proj” (build target) (1) →
“C:\netmf\netmf4_4_0\Framework\Tools\CreateCLRDefines.proj” (Build target) (12:176) →
(BuildClrDefines target) →
C:\netmf\netmf4_4_0\Framework\Tools\CreateCLRDefines.proj(12,5): error MSB4062: The “Microsoft.SPOT.Tasks.Internal.Ge
nerateCLRDefines” task could not be loaded from the assembly C:\netmf\netmf4_4_0\BuildOutput\Public\Release\Server\dll
Microsoft.SPOT.Tasks.Internal.dll. Could not load file or assembly ‘file:///C:\netmf\netmf4_4_0\BuildOutput\Public\Rele
ase\Server\dll\Microsoft.SPOT.Tasks.Internal.dll’ or one of its dependencies. The system cannot find the file specified
. Confirm that the declaration is correct, that the assembly and all its dependencies are available, and th
at the task contains a public class that implements Microsoft.Build.Framework.ITask.

5 Warning(s)
205 Error(s)

Time Elapsed 00:00:45.55

C:\netmf\netmf4_4_0\BuildOutput\Public\Release\Server\dll\ is not a part of a good build

Here is my last BuildOutput directory:

C:\netmf\netmf4_4_0\BuildOutput\THUMB2FP\GCC4.9\le\FLASH\release\EspruinoWifi11\bin

Note: EspruinoWifi11 is a new solution I was building but the other directories are standard.

Your directory tree of the should be exactly like the one above without the BuiildOutput directory.

Don’t forget to the Delete the BuildOutput directory before the build starts or the solution will not build.

My folder layout is ALMOST identical - I am missing the firmware folder.

Where does firmware come from?

Sorry you don’t need firmware that is a temp directory I have been storing my good builds in.

If your root directory looks like this

and the DeviceCode directory is deleted it should built.

Well I think i got it - I closed my cmd window i.e. vs2015 dev command window.
Re-ran As Administrator and it seems to be building with no red …

It built - finally at step #11

Thanks for the help and being a pain.

I had a lot of help to.

It’s a very complicated process.

Congratulations!!!

I’m sorry that you folks are struggling with this. For what it’s worth, we’re in flight with a significant simplification of this, and a port of 4.4 to Netduino.

2 Likes

Any update of the 4.4 firmware release (even beta is fine)
the build process described above is awesome! but too much of an hassle for me

got everything running fine in VS2017 thanks to the VSIX compiled by Miloush (many thanks for that one)
http://informatix.miloush.net/microframework/Articles/VS2017SDK.aspx

now i (of course) want to run is in full 4.4 mode just need the FW to be compatible

3 Likes

Any progress on 4.4? I can’t get the instructions working for the life of me. Can’t find setenv_gcc or what is supposed to install it.

“‘setenv_gcc’ is not recognized as an internal or external command”