This thread has come about because a number of community members (myself included) are having problems working out how to build the firmware. We would like to improve the documentation to make it easier for those who follow.
Is it possible for you to give a little more detail on how you have built the firmware in order that we can improve the documentation?
After my attempts to compile the firmware I had to reinstall the Netduino sdk in order to deploy my application again. Before understanding that I also reinstalled other things. And since I had deleted the buildoutput directory I needed to build the firmware again in order to give you the path. Problem is that now it doesnāt compile. It takes more than a minute longer and I get much fewer warnings but 34 errors. First one is this:
C:\Netduino_SDK-master\Netduino_2_and_3_NETMF\CLR\Tools\StubWinHal\stdafx.h(20): fatal error C1083: Cannot open include file: 'wininet.h': No such file or directory [C:\Netduino_SDK-master\Netduino_2_and_3_NETMF\CLR\Tools\StubWinHal\dotnetmf.proj]C:\Netduino_SDK-master\Netduino_2_and_3_NETMF\tools\targets\Microsoft.SPOT.System.x86.Targets(162,5): error : Build failed: StubWinHal.cpp [C:\Netduino_SDK-master\Netduino_2_and_3_NETMF\CLR\Tools\StubWinHal\dotnetmf.proj]
So almost back to square oneā¦ wininet.hā¦ seems to have to do with windowsā¦ anyone?
Yes I reinstalled the windows sdk found in VS 2013 and now it compiled again!
path to ER_FLASH for my board:
Netduino_SDK-master\Netduino_2_and_3_NETMF\BuildOutput\THUMB2\MDK5.10\le\FLASH\release\Netduino3Ethernet\bin\tinyclr.hex\
Ok Bryan, or anyone else out there in the wilderness, we need your attention. The Netduino_SDK-master found on WildernessLabs GitHub is not the master. If this is going to be an open source project you need to give us the correct source. Today I managed to compile and deploy the firmware for the N3 Ethernet board. When I looked in device info I found that there was two gobus assemblies. One was version 1.0.0.0 and it wanted NETMF 4.2 meaning I could not run anything on the device. So I looked at ā¦\Netduino3Ethernet\TinyCLR\TinyCLR.proj and I was surprised to find this: <Import Project="$(SPOCLIENT)\Solutions\Netduino3Ethernet\DeviceCode\GoBus\GoBus.featureproj" /> <Import Project="$(SPOCLIENT)\Solutions\Netduino2\DeviceCode\GoBus\GoBus.featureproj" />
I removed the last entry, recompiled, and got a device that I could run my code on. But how did it get there?
There is also the issue with the checksum of Netduino.IP.Interop. I had to set it manually to 0 in Netduino_IP_Interop.cpp. Maybe it will be solved with the master source.
I do not want to sound negative. Though it took some hours I feel happy. I finally got it running.
@Niclas_B, @David_Weaver; weāre building out a clean box to try and repro the issues youāre having.
There are a lot of moving parts in the build. It took us over a month of hacking to get it to work right. Weāve tried to simplify, but we may have missed some steps in the documentation.
I used VS2012 express (need to edit setenv_base) and Keil ARM MDK 5.24 prof/eval on Windows 10. I could not use MFDeploy to deploy Tinybooter as described at wildernesslabs.co (some error writing boot sector or somethingā¦). Instead I used the Netduino Deploy for mac (which occasionally froze at around 30% but most of the time worked).
Building the firmware was a lot of trial and error so, to give you anything better than I already have written in this thread, I need to set this up on a clean computer to narrow down the steps that was necessary. My time is limited so letās see what Bryan comes up with first. Iāll instead do some interop coding. If I have any problems, or find out anything useful, Iāll start a new topic.
Weāve been trying to reproduce your build errors but have been unsuccessful so far. Can you please give us some more information on your build environment (VS version, exact build type, verbose msbuild output, etc would be super helpful!)
Just so we can all be on the same page we installed a brand new build environment with the following configuration:
The build succeeded successfully. Please note with the following patch you should be able to also use VS2013 or VS2015:
The āInvalid native checksumā error indicates that youāve rebuilt one of the interop assemblies without checking the āgenerate native stubsā checkbox and updating the stubs with the hash.
Iām on a flight currently and cannot test with this specific build, but this is how we build all the firmwares. The duplicate GoBus feature include you found is indeed an oversight, but harmless. Those GoBus binaries are actually identical and the build will only link in one.
Thanks for the input and testing. I have been busy working on a project, among other things. I am hoping to have time and do a clean install this weekend to test the methods here and update the original posting.