[question] Problem Building Solution

Hello, I’m trying to port NETMF to the MicroBlaze processor, and I am currently trying to set up the environment and make sure it is working properly before I continue. I have added a new case to the setenv_base file, xilinx created a cross compiler using GCC, so I figured I could just point to the correct directories and it should work.

:SET_MB_VARS
@ echo setting vars for Xilinx Microblaze compiler %COMPILER_TOOL_VERSION%

rem use a default for MB
IF "%ARG3%"=="" SET ARG3=%SystemDrive%\Xilinx\14.2\ISE_DS\EDK\gnu\microblaze\nt
IF NOT EXIST "%ARG3%" GOTO :BAD_MB_ARG

set ARMROOT=
set ADS_TOOLS_BIN=
set NO_ADS_WRAPPER=1
set GNU_VERSION=%COMPILER_TOOL_VERSION_NUM%
SET COMPILER_TOOL_VERSION_NUM=%COMPILER_TOOL_VERSION_NUM:~0,3%
SET COMPILER_TOOL_VERSION=%COMPILER_TOOL%%COMPILER_TOOL_VERSION_NUM:~0,3%
set DOTNETMF_COMPILER=%COMPILER_TOOL_VERSION%

IF /I "%COMPILER_TOOL%"=="MB" (
IF EXIST "%ARG3%\lib\gcc\microblaze-xilinx-elf\%GNU_VERSION%" (
set ARMINC=%ARG3%\lib\gcc\microblaze-xilinx-elf\%GNU_VERSION%\include
set ARMLIB=%ARG3%\lib\gcc\microblaze-xilinx-elf\%GNU_VERSION%
set GNU_TOOLS=%ARG3%
set GNU_TOOLS_BIN=%ARG3%\bin
set GNU_TARGET=mb
) ELSE (
@ ECHO Could not find %ARG3%\lib\gcc\microblaze-xilinx-elf\%GNU_VERSION%
GOTO :BAD_MB_ARG
))

GOTO :EOF

:BAD_MB_ARG
@ ECHO.
@ ECHO Error - Invalid argument (%ARG3%).  Usage: setenv_MB.cmd GCC_VERSION GCC_TOOL_PATH
@ ECHO         Example:  setenv_mb.cmd 4.6.2 C:\Xilinx\14.2\ISE_DS\EDK\gnu\microblaze\nt
@ ECHO.

GOTO :EOF

I have been following the “Beginners Guide to Porting NETMF” so I was trying to build the IMXS/TinyCLR .project file, and i get the following error.

[quote]“c:\MicroFrameworkPK_v4_2\Solutions\iMXS\TinyCLR\TinyCLR.proj” (rebuild target)
(1) ->
“c:\MicroFrameworkPK_v4_2\clr\core\InteropAssembliesTable.proj” (Build target)
(34) ->
(GenerateInteropTable target) ->
c:\MicroFrameworkPK_v4_2\clr\core\InteropAssembliesTable.proj(92,5): error MS
B3491: Could not write lines to file “\Solutions\iMXS\TinyCLR\CLR_RT_InteropAs
sembliesTable.cpp”. The network path was not found.\r
c:\MicroFrameworkPK_v4_2\clr\core\InteropAssembliesTable.proj(92,5): error MSB3
491:[/quote]

It seems to be looking for a network directory because of this Line in c:\MicroFrameworkPK_v4_2\Solutions\iMXS\TinyCLR\TinyCLR.proj

<InteropAssembliesTableFile>$(OBJ_DIR)\CLR_RT_InteropAssembliesTable.cpp</InteropAssembliesTableFile>

I changed it to what I thought it was looking for (a temporary fix) :

<InteropAssembliesTableFile>$(SPOCLIENT)\solutions\Imxs\tinyclr\CLR_RT_InteropAssembliesTable.cpp</InteropAssembliesTableFile>

However, when i Run msbuild after this change I get the following error:

[quote]“c:\MicroFrameworkPK_v4_2\Solutions\iMXS\TinyCLR\TinyCLR.proj” (rebuild target)
(1) ->
(CoreSystemBuild target) ->
c:\MicroFrameworkPK_v4_2\tools\targets\Microsoft.SPOT.System.Targets(143,5):
error MSB4057: The target “BuildSigFiles” does not exist in the project. [c:\Mi
croFrameworkPK_v4_2\Solutions\iMXS\TinyCLR\TinyCLR.proj][/quote]

I have tried searching for this error, but I have yet to find any relevant information. any help would be appreciated.

It is best to use the netmf codeplex for such deep porting questions.

alright, thanks

The Beginners Guide to Porting NETMF uses the iMXS as the first test to see if you’ve setup NETMF correctly. iMXS targets a processor that has already been ported. If you are trying to build it then use the standard NETMF build process not the modified Microblaze one because it won’t work since you haven’t written a port for the Microblaze yet. If you want to compile something to target the Microblaze you need to start out small because nothing will compile until you modify it for the Microblaze specifically. The /Solutions/templates folder has a NativeSample template that would be a good starting point. Modify the template (I would make a copy of the files first) to work on the Microblaze by rewriting any necessary code. A good rundown of this is found in the NETMF documentation under /MicroframeworkPK_v4_2\Documentation\RCLPort.chm. Work through the compiler errors until you get code that will compile. You could then push that to the microblaze and see if the code runs.

1 Like