Best Answer smokingfish, 13 March 2013 - 08:50 PM
Just wanted to post the final result:
It works =D
It was quite a trip (as it was my first go using stuff like this)
You will need to build your own firmware image (and as i learned you should use MDK or RVDS, GCC and yagarto work too but the image is too big and you will get problems with your code size and memory maps).
MDK5 works quite perfect, but you need a new entry to the targets file!
Microsoft.Spot.system.mdk.targets <CC Condition="'$(COMPILER_TOOL_VERSION)'=='MDK5'">"$(MDK_TOOL_PATH)ARMCCbinarmcc.exe"</CC> <CPP Condition="'$(COMPILER_TOOL_VERSION)'=='MDK5'">"$(MDK_TOOL_PATH)ARMCCbinarmcc.exe"</CPP> <AS Condition="'$(COMPILER_TOOL_VERSION)'=='MDK5'">"$(MDK_TOOL_PATH)ARMCCbinarmasm.exe"</AS> <LINK Condition="'$(COMPILER_TOOL_VERSION)'=='MDK5'">"$(MDK_TOOL_PATH)ARMCCbinarmlink.exe"</LINK> <AR Condition="'$(COMPILER_TOOL_VERSION)'=='MDK5'">"$(MDK_TOOL_PATH)ARMCCbinarmar.exe"</AR> <FROMELF Condition="'$(COMPILER_TOOL_VERSION)'=='MDK5'">"$(MDK_TOOL_PATH)ARMCCbinfromelf.exe"</FROMELF>
You will also need to change the scatter file for MDK to
<Set Name="Code_BaseAddress" Value="0x0010A000"/> <Set Name="Deploy_BaseAddress" Value="0x00158000"/>
Im pretty sure that is not a very beautiful solution, but it works:
SecretLabs_NETMF_Diagnostics_SecretLabs_NETMF_Diagnostics_Transport.cpp
Add:
case TRANSPORT_NONE: DeploymentTransport_Set(COM_SOCKET_DBG); break;
to:
void Transport::TransportInterface_Set( UINT8 param0, HRESULT &hr )
It changes the Interface to ETH1 wich is not available on the mini, now you can use:
Transport.SetInterface(TransportInterface.None);
in your program, the device resets and GetInterface results in TransportInterface.None!
Also, no more data is being send/received and you can use the port freely. If you want to save time add a function to your program to change it back!
Go to the full post