[En-Nut-Discussion] still can't compile xsvfexec

Harald Kipp harald.kipp at egnite.de
Wed Feb 22 19:48:54 CET 2006


Tom,

At 10:47 22.02.2006 -0500, you wrote:

>Directory).  I then replaced the original XVSF file in the cpld
>directory (enut30d.xvsf) with enut202.xsvf (after renaming it) and
>tried to build the package according to the instructions:

It must not be renamed. The -DETHERNUT2 compiler switch tells the
Executor to use enut202.xsvf (see host.h).

But the Makefile is for Ethernut 3 only. Thus you need to change
the entry in this file.


>I understand that the compiler thinks that the urom.c contains a data
>structure that is too large.  What I don't understand is why I can't
>compile the unmodified code and unchanged XSVF file straight out of the
>zip file I downloaded.  Surely this should work, at least for the
>xsvfexec101.zip and the Ethernut2.1b board??

Now I tried myself...and indeed...same result with xsvfexec 1.1.2.

I switched back from gcc 3.4.5 to gcc 3.3.1 (WinAVR-20030913),
same result.

Then I unpacked xsvfexec101.zip from
http://www.ethernut.de/arc/

The Makefile it contains is old and doesn't work with a Configurator
Build Tree. I removed the top_srcdir definition and replaced

include $(top_srcdir)/app/Makedefs
include $(top_srcdir)/app/Makerules

with

include ../Makedefs
include ../Makerules

Now I could at least create the UROM file system with

make urom.o

One thing remains, the same ol' story with libraries.
Appending

     -lnutarch -lnutdev

to the LIBS entry in the Makefile solved this final problem
and xsvfexec was build finally.

Phew! Do not ask, what's happening here. There is a limit
in GCC. All program space data must fit in the lower 64kB.
May be somewhere in that area is going wrong with
xsvfexec 1.1.2.

Thanks for _your_ patience,

Harald







More information about the En-Nut-Discussion mailing list