First steps are simple..
Downloaded SDK and installed (Already got Visual Studio C# SP1)
Downloaded and installed the porting kit..
Then Sourcery G++ Lite 2007q3-53 for ARM EABI
http://www.codesourcery.com/sgpp/lite/arm/portal/release316
Which I beleive to be the tested GCC verison used during development. (yes??)
Note, I kept its default directory, which was
C:\Program Files\CodeSourcery\Sourcery G++ Lite\arm-none-eabi\bin
(Wasnt sure on this one as .bat files and spaces dont go well together.. but
I prefered not to change the default install directory..)
Ref:
http://www.microsoft.com/communities/newsgroups/list/en-us/default.aspx?dg=microsoft.public.dotnet.framework.microframework.porting&cat=en_us_65BC6F4A-DE6F-4a5d-A301-C12BC4B21803&lang=en&cr=us
Had a look at the C:\MicroFrameworkPK_v4_0\Documentation\RCLPort.chm help
file..
Then a bit of a dilemma.
Looking at the porting example, I have
C:\MicroFrameworkPK_v4_0\Solutions\SAM7X_EK\DeviceCode (which contains EMAC
and Network directories)
But then I saw..
.NET Micro Framework 4.0 TCP/IP and SSL Companion Libraries for ARM
Instruction Set
.NET Micro Framework 4.0 TCP/IP and SSL Companion Libraries for Thumb
Instruction Set
.NET Micro Framework 4.0 TCP/IP and SSL Companion Libraries for Thumb2
Instruction Set
I wasn't really sure what to do with them.. or even if I needed them.. These
are the steps I took to investigate..
I chose the use the Thumb instruction set companion libraries.
Once installed, other than a few legal documents, it created the following
directory with some project files in..
C:\MicroFrameworkPK_v4_0\DeviceCode\pal\rtip\lib
And some compiled libraries in
C:\MicroFrameworkPK_v4_0\DeviceCode\pal\rtip\lib\RVDS3.1\thumb
I guess my first question is.. where can I find information about what these
project files & libraries do, how I use them and some examples.. Is my choice
of 'Thumb' best for my situation.
They are precompiled, so I guess its just a matter of adding them to an
include during the linking process..?
Imreally bind on this because I don't know what I'm working with, what it
does or if I need them??
___________
So.. Next steps.. As stated, I have the AT91SAM7X-EX, and joy or joy, there
is:
C:\MicroFrameworkPK_v4_0\Solutions\SAM7X_EK\DeviceCode
So after a read of the help, there is a number of things we must do before
we can even start our task.. that is build some of the tools - detailed in
the help file under:
Setting Up and Using the Porting Kit -> Preparing Your Build Environment ->
Setting Environment Variables
To do this I opened a command prompt
#start->Run->cmd
Change to
C:\MicroFrameworkPK_v4_0
and entered
setenv_gcc.cmdc:\progra~1\CodeSourcery\Source~1
Then I read
Setting Up and Using the Porting Kit -> Introducing the Porting Kit Build
System -> Using the Build System
so I typed in
msbuildbuild.dirproj
I then make a cup of tea! When it finished I had my built the object model,
managed tests, and supporting tools, e.g. MFDeploy.exe
I also got a 111 yellow warnings, about 'member will be inaccessible' and
'circular references', 'conversion, loss of data', . I ignored them. There
were no errors.
Now I can build the existing port, SAM7X_EK
I backed up the SAM7X_EK directory so I had a copy of the origonal.
Change to
C:\MicroFrameworkPK_v4_0\Solutions\SAM7X_EK>
Then I'm not really sure at this point. Do I build a debug or release
version. I assume it works and I will have limited space on the target anyway
so I go straight for the release build.
Do I build the RAM or FLASH version.. well, if I want the board run
standalone when powered up then I guess we need to program into flash. This
gives us the following command line:
msbuilddotNetMF.proj /t:Build /p:flavor=release;memory=flash
More Tea, following by 'member will be inaccessible' warnings
Then I get some alarming messages.. The second half of the build gives lots
of error messages such as..
Project
"C:\MicroFrameworkPK_v4_0\Solutions\SAM7X_EK\NativeSample\NativeSample.proj"
(2) is building
"C:\MicroFrameworkPK_v4_0\DeviceCode\Targets\Native\AT91\DeviceCode\AT91_USART\dotNetMF.proj" (134) on node 0 (Build target(s)).
Doing build of Library AT91_USART - rule is ArmBuildLib
MakeDirectories:
Creating directory
"C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\release\SAM7X_EK\obj\DeviceCode\Targets\Native\AT91\DeviceCode\AT91_USART".
DelBuildLib:
Could Not Find
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\release\SAM7X_EK\lib\AT91_USART.lib
Could Not Find
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\release\SAM7X_EK\lib\AT91_USART.lib.manifest
ArmCompileC:
Skipping target "ArmCompileC" because it has no inputs.
Done Building Project
"C:\MicroFrameworkPK_v4_0\DeviceCode\Targets\Native\AT91\DeviceCode\AT91_USART\dotNetMF.proj" (Build target(s)).
___________________________________________
At the end of the build process I get
___________________________________________
TinyClrDat:
***************************************************************************************************
Target: TinyClrDat with outputs
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\release\SAM7X_EK\obj\Solutions\SAM7X_EK\TinyCLR\tinyclr_dat.obj
Building Tinyclr.dat from the features specified in the tinyclr.proj file
========== Database file content:
Assembly 1: mscorlib (4.0.1681.0), size: 29700
Assembly 2: Microsoft.SPOT.Native (4.0.1681.0), size: 5716
Assembly 3: Microsoft.SPOT.Hardware (4.0.1681.0), size: 11424
Assembly 4: Microsoft.SPOT.Net (4.0.1681.0), size: 4904
Assembly 5: System (4.0.1681.0), size: 5808
Assembly 6: Microsoft.SPOT.Hardware.SerialPort (4.0.1681.0), size: 3440
========== End of Database file content
***************************************************************************************************
1 file(s) copied.
BuildScatterfile:
...
Processing file:
C:\MicroFrameworkPK_v4_0\Solutions\SAM7X_EK\TinyCLR\scatterfile_tinyclr_GCC.xml
Processing file:
C:\MicroFrameworkPK_v4_0\Solutions\SAM7X_EK\scatterfile_gcc_missing_symbols.xml
Processing file:
C:\MicroFrameworkPK_v4_0\Solutions\SAM7X_EK\TinyCLR\scatterfile_ram_functions.xml
Processing file:
C:\MicroFrameworkPK_v4_0\Solutions\SAM7X_EK\TinyCLR\scatterfile_tinyclr_ram_functions.xml
BuildAXF:
c:\progra~1\CodeSourcery\Source~1\bin\arm-none-eabi-ld.exe:
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\release\SAM7X_EK\bin\tinyclr.axf section ER_FLASH will not fit in region LR_FL ASH
c:\progra~1\CodeSourcery\Source~1\bin\arm-none-eabi-ld.exe: section
ER_HEAP_BEGIN [00010000 -> 00010003] overlaps section .bss [00001790 ->
00013c63]
c:\progra~1\CodeSourcery\Source~1\bin\arm-none-eabi-ld.exe: section
ER_CONFIG [0017e000 -> 0017e90b] overlaps section ER_RAM_RO [0017de90 ->
0017e65b]
c:\progra~1\CodeSourcery\Source~1\bin\arm-none-eabi-ld.exe: section
ER_RAM_RW [0017e660 -> 0017f61f] overlaps section ER_CONFIG [0017e000 ->
0017e90b]
c:\progra~1\CodeSourcery\Source~1\bin\arm-none-eabi-ld.exe: region
LR_FLASH overflowed by 54816 bytes
C:\MicroFrameworkPK_v4_0\tools\targets\Microsoft.SPOT.System.GCC.targets(292,5):
error MSB3073: The command
""c:\progra~1\CodeSourcery\Source~1\bin\arm-none-eabi-ld.exe" -static
--gc-sections --no-w
arn-mismatch
--library-path=C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\release\SAM7X_EK\lib
--library-path=C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib
--allow-multiple-definition -u ARM_Vectors -u _start --Map
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\release\SAM7X_EK\bin\tinyclr.map --output=C:\MicroFrameworkPK_v4_0\BuildOutput\T
HUMB\GCC4.2\le\FLASH\release\SAM7X_EK\bin\tinyclr.axf
--script=C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\release\SAM7X_EK\bin\tinyclr_scatterfile.ldf C:\MicroFrameworkPK_v4_0\BuildOu
tput\THUMB\GCC4.2\le\FLASH\release\SAM7X_EK\obj\Solutions\SAM7X_EK\TinyCLR\tinyclr_dat.obj
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\release\SAM7X_EK\obj\Solutions\SAM7X_EK\TinyCLR\a
llocator.objC:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\release\SAM7X_EK\obj\Solutions\SAM7X_EK\TinyCLR\tinyclr.obj
-( C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\r
elease\lib\Core.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\Hardware.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\InterruptHandler
.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\HeapPersistence_stub.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\I2C_stub.lib C:\Mic
roFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\IOPort.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\RPC_stub.lib C:\MicroFrameworkPK_v4_0\BuildO
utput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\Serialization_stub.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\Debugger.lib C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\G
CC4.2\le\ANY_MEDIA\release\lib\Debugger_full.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\Diagnostics_stub.lib C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\A
NY_MEDIA\release\lib\Graphics_stub.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\CorLib.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib
\SPOT.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\SPOT_Crypto_stub.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\SPOT_Messaging_stu
b.libC:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\SPOT_Serialization_stub.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\SPOT_Hardware.l
ibC:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\SPOT_Net.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\Messaging.lib C:\MicroFrameworkPK
_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\CLRStartup.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\CRC.lib C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GC
C4.2\le\ANY_MEDIA\release\lib\WireProtocol.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\SPOT_Hardware_SerialPort.lib C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.
2\le\FLASH\release\SAM7X_EK\lib\tmp_tinyclr.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\release\SAM7X_EK\lib\InteropAssembliesTable.lib -) -( "c:\progra~1\CodeSourcery\Source~1\arm
-none-eabi\lib\thumb\libm.a"
"c:\progra~1\CodeSourcery\Source~1\arm-none-eabi\lib\thumb\libc.a"
"c:\progra~1\CodeSourcery\Source~1\lib\gcc\arm-none-eabi\4.2.1\thumb\libgcc.a" -) -( C:\MicroFrameworkP
K_v4_0\tools\ads_v3_1\Lib\armlib\h_t.l
C:\MicroFrameworkPK_v4_0\tools\ads_v3_1\Lib\armlib\c_t.l -)" exited with code
1.
Done Building Project
"C:\MicroFrameworkPK_v4_0\Solutions\SAM7X_EK\TinyCLR\TinyCLR.proj" (Build
target(s)) -- FAILED.
Done Building Project
"C:\MicroFrameworkPK_v4_0\Solutions\SAM7X_EK\dotNetMF.proj" (Build target(s))
-- FAILED.
Build FAILED.
_______________________________________
Not looking good at this point. So see what has been generated in the output
directory
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\release\SAM7X_EK\bin
I seem to have:
NativeSample.hex, PortBooterLoader.hex, TinyBooterDecompressor.hex
NativeSample.bin, PortBooterLoader.bin, TinyBooterDecompressor.bin,
PortBooter.bin, Tinybooter.bin,
- but no mention if tinyclr - only the .map file
The first messages that concerned me were the multitude of
Could Not Find
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\release\SAM7X_EK\lib\AT91_USART.lib
type messages generated before everything went bad..
Thats not good.. I think that the initial build of the tools didn't do its
job.. I expected all these to have been pre-built.
If force it to rebuilt be compiling the following project.
C:\MicroFrameworkPK_v4_0\DeviceCode\Targets\Native\AT91\dotNetMF.proj
I change to
C:\MicroFrameworkPK_v4_0\DeviceCode\Targets\Native>
and enter
msbuilddotNetMF.proj /t:Rebuild /p:flavor=release;memory=flash
This gives the following output:
__________________________________________
C:\MicroFrameworkPK_v4_0\DeviceCode\Targets\Native>msbuild dotNetMF.proj
/t:Rebuild /p:flavor=release;memory=flash
Microsoft (R) Build Engine Version 3.5.30729.1
[Microsoft .NET Framework, Version 2.0.50727.3603]
Copyright (C) Microsoft Corporation 2007. All rights reserved.
Build started 21/02/2010 16:48:17.
Project "C:\MicroFrameworkPK_v4_0\DeviceCode\Targets\Native\dotNetMF.proj"
on node 0 (Rebuild target(s)).
Directory
"C:\MicroFrameworkPK_v4_0\BuildOutput\\GCC4.2\\ANY_MEDIA\release\" doesn't
exist. Skipping.
CleanClr:
Clean Clr output directory and build project
RemoveHalDir:
Removing directory
"C:\MicroFrameworkPK_v4_0\BuildOutput\\GCC4.2\\FLASH\release\\".
CleanHal:
Clean Hal output directory and build project
Clean:
Clean Hal and Clr build directory
MakeDirectories:
Creating directory
"C:\MicroFrameworkPK_v4_0\BuildOutput\\GCC4.2\\FLASH\release\".
Creating directory
"C:\MicroFrameworkPK_v4_0\BuildOutput\\GCC4.2\\FLASH\release\\obj\DeviceCode\Targets\Native".
Creating directory
"C:\MicroFrameworkPK_v4_0\BuildOutput\\GCC4.2\\FLASH\release\\lib".
Creating directory
"C:\MicroFrameworkPK_v4_0\BuildOutput\\GCC4.2\\FLASH\release\\bin".
Done Building Project
"C:\MicroFrameworkPK_v4_0\DeviceCode\Targets\Native\dotNetMF.proj" (Rebuild
target(s)).
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:00.04
__________________________________________
I try building the
C:\MicroFrameworkPK_v4_0\DeviceCode\Targets\Native\AT91\dotNetMF.proj
and get yet more errors.. cc1plus.exe : error : missing argument to "-mcpu="
At this point, I'm sinking!
This is a list of my environment variables
__________________________________________
C:\MicroFrameworkPK_v4_0>SET
ALLUSERSPROFILE=C:\Documents and Settings\All Users
APPDATA=C:\Documents and Settings\jnewcomb\Application Data
ARG3=c:\progra~1\CodeSourcery\Source~1
ARMINC=c:\progra~1\CodeSourcery\Source~1\lib\gcc\arm-none-eabi\\include
ARMLIB=c:\progra~1\CodeSourcery\Source~1\lib\gcc\arm-none-eabi\
BHL_EXE=C:\MicroFrameworkPK_v4_0\BuildOutput\public\Release\server\dll\BuildHelper.exe
BUILD_ROOT=C:\MicroFrameworkPK_v4_0\BuildOutput\public
BUILD_ROOT_BASE=C:\MicroFrameworkPK_v4_0\BuildOutput
BUILD_TEST_ROOT=C:\MicroFrameworkPK_v4_0\BuildOutput\public\Release\Test
BUILD_TEST_TREE=C:\MicroFrameworkPK_v4_0\BuildOutput\public\Release\Test
BUILD_TEST_TREE_CLIENT=C:\MicroFrameworkPK_v4_0\BuildOutput\public\Release\Test\client
BUILD_TEST_TREE_SERVER=C:\MicroFrameworkPK_v4_0\BuildOutput\public\Release\Test\server
BUILD_TREE=C:\MicroFrameworkPK_v4_0\BuildOutput\public\Release
BUILD_TREE_CLIENT=C:\MicroFrameworkPK_v4_0\BuildOutput\public\Release\client
BUILD_TREE_SERVER=C:\MicroFrameworkPK_v4_0\BuildOutput\public\Release\server
CLRLIB=C:\MicroFrameworkPK_v4_0\Tools\Libraries
CLRROOT=C:\MicroFrameworkPK_v4_0
CommonProgramFiles=C:\Program Files\Common Files
COMMON_BUILD_ROOT=C:\MicroFrameworkPK_v4_0
COMPILER_TOOL=GCC
COMPILER_TOOL_VERSION=GCC4.2
COMPUTERNAME=xxxxxxxx
ComSpec=C:\WINDOWS\system32\cmd.exe
DevEnvDir=c:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE
DEVPATH=C:\MicroFrameworkPK_v4_0\BuildOutput\public\Release\server\dll
DOTNETMF_COMPILER=GCC4.2
DOTNETMF_OLD_PATH=c:\Program Files\Microsoft Visual Studio
9.0\Common7\IDE;c:\Program Files\Microsoft Visual Studio
9.0\VC\BIN;c:\Program Files\Microsoft Visual Studio
9.0\Common7\Tools;c:\WINDOWS\Mic
rosoft.NET\Framework\v3.5;c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;c:\Program
Files\Microsoft Visual Studio 9.0\VC\VCPackages;C:\Program Files\Microsoft
SDKs\Windows\v6.0A\bin;C:\Perl\site\bin;C:
\Perl\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program
Files\Common Files\Autodesk Shared\;F:\bin;C:\Program
Files\doxygen\bin;;C:\VXIPNP\WINNT\BIN;C:\VXIPNP\WINNT\TekVISA\
BIN;C:\Program Files\System Center Operations Manager 2007\;C:\Program
Files\TortoiseSVN\bin;C:\Windows;C:\Windows\system32;C:\Windows\system32\Wbem;C:\Program Files\CodeSourcery\Sourcery G++ Lite\bin
;C:\Program Files\ATMEL Corporation\AT91-ISP v1.13\Library\;C:\Program
Files\ATMEL Corporation\AT91-ISP v1.13\sam-ba
2.9;C:\WINDOWS\Microsoft.NET\Framework\v3.5
FLAVOR_ARM=release
FLAVOR_DAT=Release
FLAVOR_MEMORY=Flash
FLAVOR_PLATFORM=iMXS
FLAVOR_WIN=Release
FP_NO_HOST_CHECK=NO
Framework35Version=v3.5
FrameworkDir=c:\WINDOWS\Microsoft.NET\Framework
FrameworkVersion=v2.0.50727
FX_35=C:\WINDOWS\Microsoft.NET\Framework\v3.5
GNU_TARGET=arm-none-eabi
GNU_TOOLS=c:\progra~1\CodeSourcery\Source~1
GNU_TOOLS_BIN=c:\progra~1\CodeSourcery\Source~1\bin
GNU_VERSION=4.2.1
HOMEDRIVE=C:
INCLUDE=c:\Program Files\Microsoft Visual Studio
9.0\VC\ATLMFC\INCLUDE;c:\Program Files\Microsoft Visual Studio
9.0\VC\INCLUDE;C:\Program Files\Microsoft SDKs\Windows\v6.0A\include;
LIB=c:\Program Files\Microsoft Visual Studio 9.0\VC\ATLMFC\LIB;c:\Program
Files\Microsoft Visual Studio 9.0\VC\LIB;C:\Program Files\Microsoft
SDKs\Windows\v6.0A\lib;
LIBPATH=c:\WINDOWS\Microsoft.NET\Framework\v3.5;c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;c:\Program
Files\Microsoft Visual Studio 9.0\VC\ATLMFC\LIB;c:\Program Files\Microsoft
Visual Studio 9.0\VC
\LIB;
MDP_EXE=C:\MicroFrameworkPK_v4_0\BuildOutput\public\Release\server\dll\MetadataProcessor.exe
MSBUILD_EXE=C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild.exe
NetMfTargetsBaseDir=C:\MicroFrameworkPK_v4_0\Framework\IDE\Targets\
NO_ADS_WRAPPER=1
NUMBER_OF_PROCESSORS=1
OEM_NAME=Microsoft
OEM_PATH=\Microsoft
OS=Windows_NT
Path=C:\MicroFrameworkPK_v4_0\BuildOutput\Public\Release\Test\Server\dll;C:\\tools\x86\perl\bin;C:\\tools\x86\bin;C:\MicroFrameworkPK_v4_0\tools\bin;C:\\tools\NUnit;C:\\tools\SDPack;C:\\bin;c:\Program
Files\Microsoft Visual Studio 9.0\Common7\IDE;c:\Program Files\Microsoft
Visual Studio 9.0\VC\BIN;c:\Program Files\Microsoft Visual Studio
9.0\Common7\Tools;c:\WINDOWS\Microsoft.NET\Framework\v3.5;c:
\WINDOWS\Microsoft.NET\Framework\v2.0.50727;c:\Program Files\Microsoft
Visual Studio 9.0\VC\VCPackages;C:\Program Files\Microsoft
SDKs\Windows\v6.0A\bin;C:\Perl\site\bin;C:\Perl\bin;%SystemRoot%\syste
m32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Common
Files\Autodesk Shared\;F:\bin;C:\Program
Files\doxygen\bin;;C:\VXIPNP\WINNT\BIN;C:\VXIPNP\WINNT\TekVISA\BIN;C:\Program
Files\System
CenterOperations Manager 2007\;C:\Program
Files\TortoiseSVN\bin;C:\Windows;C:\Windows\system32;C:\Windows\system32\Wbem;C:\Program
Files\CodeSourcery\Sourcery G++ Lite\bin;C:\Program Files\ATMEL Corp
oration\AT91-ISP v1.13\Library\;C:\Program Files\ATMEL Corporation\AT91-ISP
v1.13\sam-ba
2.9;C:\WINDOWS\Microsoft.NET\Framework\v3.5;C:\MicroFrameworkPK_v4_0\tools\scripts
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PORT_BUILD=1
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 13 Stepping 8, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0d08
ProgramFiles=C:\Program Files
PROMPT=$P$G
SESSIONNAME=Console
SPOCLIENT=C:\MicroFrameworkPK_v4_0
SPOROOT=C:\
SystemDrive=C:
SystemRoot=C:\WINDOWS
TARGETCURRENT=C:\MicroFrameworkPK_v4_0_BUILD\arm\Flash\release\iMXS\bin
_______________________________________________
So, I guess can anyone confirm I'm not barking up the wrong tree completely!
Am I nearly there.. or did I take a wrong turn early.. Have you tried this
and got to the same point?
tinybooter
<!--
################################################################################ -->
<Set Name="Heap_Begin" Value="0x0001CA00"/>
<Set Name="Heap_End" Value="0x0001DFF8"/>
<Set Name="Stack_Bottom" Value="0x0001E000"/>
<Set Name="Stack_Top" Value="0x0001FFF8"/>
<NamedGroup Name="MEMORY">
<LoadRegion Name="LR_%TARGETLOCATION%" Base="0x00000000"
Size="0x60000"/>
<LoadRegion Name="HEAP" Base="%Heap_Begin%" Size="%Heap_End -
Heap_Begin% + 1"/>
<LoadRegion Name="STACK" Base="%Stack_Bottom%" Size="%Stack_Top -
Stack_Bottom% + 1"/>
</NamedGroup>
PortBooter
<!--
################################################################################ -->
<Set Name="Heap_Begin" Value="0x0001CA00"/>
<Set Name="Heap_End" Value="0x0001DFF8"/>
<Set Name="Stack_Bottom" Value="0x0001E000"/>
<Set Name="Stack_Top" Value="0x0001FFF8"/>
<NamedGroup Name="MEMORY">
<LoadRegion Name="LR_%TARGETLOCATION%" Base="0x00000000"
Size="0x60000"/>
<LoadRegion Name="HEAP" Base="%Heap_Begin%" Size="%Heap_End -
Heap_Begin% + 1"/>
<LoadRegion Name="STACK" Base="%Stack_Bottom%" Size="%Stack_Top -
Stack_Bottom% + 1"/>
</NamedGroup>
NativeSample
<!--
################################################################################ -->
<Set Name="Heap_Begin" Value="0x00015000"/>
<Set Name="Heap_End" Value="0x0001BFFC"/>
<Set Name="Stack_Bottom" Value="0x0001C000"/>
<Set Name="Stack_Top" Value="0x0001FFFC"/>
<If Name="TARGETLOCATION" In="FLASH">
<Set Name="Config_BaseAddress" Value="0x0017E000"/>
<Set Name="Config_Size" Value="0x00002000"/>
<Set Name="Code_BaseAddress" Value="0x0011E000"/>
<Set Name="Code_Size" Value="%Config_BaseAddress -
Code_BaseAddress%"/>
<Set Name="Valid" Value="true"/>
</If>
_____________________________
These are the messages I'm trying to get rid of...
_____________________________
BuildAXF:
c:\progra~1\CodeSourcery\Source~1\bin\arm-none-eabi-ld.exe: section
ER_HEAP_BEGIN [0001ca00 -> 0001ca03] overlaps section .bss [00019a00 ->
0001e22f]
C:\MicroFrameworkPK_v4_0\tools\targets\Microsoft.SPOT.System.GCC.targets(292,5):
error MSB3073: The command
""c:\progra~1\CodeSourcery\Source~1\bin\arm-none-eabi-ld.exe" -static
--gc-sections --no-w
arn-mismatch
--library-path=C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\\SAM7X_EK\lib
--library-path=C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib --allow-multi
ple-definition -u ARM_Vectors -u _start --Map
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\\SAM7X_EK\bin\PortBooter.map --output=C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLA
SH\\SAM7X_EK\bin\PortBooter.axf
--script=C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\\SAM7X_EK\bin\PortBooter_scatterfile.ldf
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH
\\SAM7X_EK\obj\Solutions\SAM7X_EK\PortBooter\FirstEntryMinimal.obj
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\\SAM7X_EK\obj\Solutions\SAM7X_EK\PortBooter\PortBooter.obj -( C:\MicroFra
meworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib\CRC.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\\SAM7X_EK\lib\tmp_PortBooter.lib -) -( "c:\progra~1\CodeSourcery\Source~1\
arm-none-eabi\lib\thumb\libm.a"
"c:\progra~1\CodeSourcery\Source~1\arm-none-eabi\lib\thumb\libc.a"
"c:\progra~1\CodeSourcery\Source~1\lib\gcc\arm-none-eabi\4.2.1\thumb\libgcc.a" -) -( C:\MicroFramewo
rkPK_v4_0\tools\ads_v3_1\Lib\armlib\h_t.l
C:\MicroFrameworkPK_v4_0\tools\ads_v3_1\Lib\armlib\c_t.l -)" exited with code
1.
Done Building Project
"C:\MicroFrameworkPK_v4_0\Solutions\SAM7X_EK\PortBooter\portBooter.proj"
(Build target(s)) -- FAILED.
BuildAXF:
c:\progra~1\CodeSourcery\Source~1\bin\arm-none-eabi-ld.exe: section
ER_HEAP_BEGIN [0001ca00 -> 0001ca03] overlaps section .bss [0001b250 ->
000202b7]
C:\MicroFrameworkPK_v4_0\tools\targets\Microsoft.SPOT.System.GCC.targets(292,5):
error MSB3073: The command
""c:\progra~1\CodeSourcery\Source~1\bin\arm-none-eabi-ld.exe" -static
--gc-sections --no-w
arn-mismatch
--library-path=C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\\SAM7X_EK\lib
--library-path=C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib --allow-multi
ple-definition -u ARM_Vectors -u _start --Map
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\\SAM7X_EK\bin\Tinybooter.map --output=C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLA
SH\\SAM7X_EK\bin\Tinybooter.axf
--script=C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\\SAM7X_EK\bin\Tinybooter_scatterfile.ldf
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH
\\SAM7X_EK\obj\Solutions\SAM7X_EK\TinyBooter\FirstEntryMinimal.obj
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\\SAM7X_EK\obj\Solutions\SAM7X_EK\TinyBooter\Allocator.obj C:\MicroFramewo
rkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\\SAM7X_EK\obj\Solutions\SAM7X_EK\TinyBooter\TinyBooterEntry.obj
-(
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib\TinybooterLib.lib C:
\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib\CRC.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib\WireProtocol.lib C:\MicroFrameworkPK_v4_0\BuildOutput\THU
MB\GCC4.2\le\FLASH\\SAM7X_EK\lib\tmp_Tinybooter.lib -) -(
"c:\progra~1\CodeSourcery\Source~1\arm-none-eabi\lib\thumb\libm.a"
"c:\progra~1\CodeSourcery\Source~1\arm-none-eabi\lib\thumb\libc.a" "c:\pr
ogra~1\CodeSourcery\Source~1\lib\gcc\arm-none-eabi\4.2.1\thumb\libgcc.a" -)
-( C:\MicroFrameworkPK_v4_0\tools\ads_v3_1\Lib\armlib\h_t.l
C:\MicroFrameworkPK_v4_0\tools\ads_v3_1\Lib\armlib\c_t.l -)" ex
ited with code 1.
Done Building Project
"C:\MicroFrameworkPK_v4_0\Solutions\SAM7X_EK\TinyBooter\TinyBooter.proj"
(Build target(s)) -- FAILED.
BuildAXF:
c:\progra~1\CodeSourcery\Source~1\bin\arm-none-eabi-ld.exe:
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\\SAM7X_EK\bin\tinyclr.axf section ER_FLASH will not fit in region LR_FLASH
c:\progra~1\CodeSourcery\Source~1\bin\arm-none-eabi-ld.exe: section
ER_HEAP_BEGIN [00010000 -> 00010003] overlaps section .bss [00001c20 ->
0001342b]
c:\progra~1\CodeSourcery\Source~1\bin\arm-none-eabi-ld.exe: section
ER_CONFIG [0017e000 -> 0017e90b] overlaps section ER_FLASH [0011e000 ->
001a5133]
c:\progra~1\CodeSourcery\Source~1\bin\arm-none-eabi-ld.exe: region
LR_FLASH overflowed by 216408 bytes
C:\MicroFrameworkPK_v4_0\tools\targets\Microsoft.SPOT.System.GCC.targets(292,5):
error MSB3073: The command
""c:\progra~1\CodeSourcery\Source~1\bin\arm-none-eabi-ld.exe" -static
--gc-sections --no-w
arn-mismatch
--library-path=C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\\SAM7X_EK\lib
--library-path=C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib --allow-multi
ple-definition -u ARM_Vectors -u _start --Map
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\\SAM7X_EK\bin\tinyclr.map --output=C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\
\SAM7X_EK\bin\tinyclr.axf
--script=C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\\SAM7X_EK\bin\tinyclr_scatterfile.ldf
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\\SAM7X_E
K\obj\Solutions\SAM7X_EK\TinyCLR\tinyclr_dat.obj
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\\SAM7X_EK\obj\Solutions\SAM7X_EK\TinyCLR\allocator.obj C:\MicroFrameworkPK_v4_0\BuildOutput
\THUMB\GCC4.2\le\FLASH\\SAM7X_EK\obj\Solutions\SAM7X_EK\TinyCLR\tinyclr.obj
-(
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib\Core.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\
GCC4.2\le\ANY_MEDIA\\lib\Hardware.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib\InterruptHandler.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib\Heap
Persistence_stub.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib\I2C_stub.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib\IOPort.lib C:\MicroFrameworkP
K_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib\RPC_stub.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib\Serialization_stub.lib C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GC
C4.2\le\ANY_MEDIA\\lib\Debugger.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib\Debugger_full.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib\Diagnosti
cs_stub.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib\Graphics_stub.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib\CorLib.lib C:\MicroFrameworkPK_v4
_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib\SPOT.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib\SPOT_Crypto_stub.lib C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\AN
Y_MEDIA\\lib\SPOT_Messaging_stub.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib\SPOT_Serialization_stub.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\li
b\SPOT_Hardware.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib\SPOT_Net.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib\Messaging.lib C:\MicroFramewor
kPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib\CLRStartup.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib\CRC.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY
_MEDIA\\lib\WireProtocol.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\\lib\SPOT_Hardware_SerialPort.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\\SAM7X_EK\lib\
tmp_tinyclr.lib
C:\MicroFrameworkPK_v4_0\BuildOutput\THUMB\GCC4.2\le\FLASH\\SAM7X_EK\lib\InteropAssembliesTable.lib
-) -( "c:\progra~1\CodeSourcery\Source~1\arm-none-eabi\lib\thumb\libm.a"
"c:\progra
~1\CodeSourcery\Source~1\arm-none-eabi\lib\thumb\libc.a"
"c:\progra~1\CodeSourcery\Source~1\lib\gcc\arm-none-eabi\4.2.1\thumb\libgcc.a" -) -( C:\MicroFrameworkPK_v4_0\tools\ads_v3_1\Lib\armlib\h_t.l
C:\MicroFrameworkPK_v4_0\tools\ads_v3_1\Lib\armlib\c_t.l -)" exited with
code 1.
Done Building Project
"C:\MicroFrameworkPK_v4_0\Solutions\SAM7X_EK\TinyCLR\TinyCLR.proj" (Build
target(s)) -- FAILED.
Done Building Project
"C:\MicroFrameworkPK_v4_0\Solutions\SAM7X_EK\TinyCLR\TinyCLR.proj" (Build
target(s)) -- FAILED.
Done Building Project
"C:\MicroFrameworkPK_v4_0\Solutions\SAM7X_EK\dotnetmf.proj" (Build target(s))
-- FAILED.
Done Building Project "C:\MicroFrameworkPK_v4_0\dotNetMF.proj" (default
targets) -- FAILED.
Build FAILED.
_______________________
Will post my findings as and when...............
Regards
Lorenzo