[En-Nut-Discussion] Reprogramming Ethernut 2.1 CPLD

Tom Armitage-2 tom at expat.dyndns.org
Wed Feb 15 13:58:47 CET 2006


Thanks Harald,

I managed to create my own version of the Ethernut 2.1 CPLD .XSVF file
following the directions in the NPL tutorial.  I downloaded the xsvfexec
package, copied my XSVF file in to the cpld directory as enut30d.xsvf and
ran the make clean and make commands as directed in the instructions.  It
failed:

switch:/Volumes/SHARE/Develop/Ethernut/ethernut-4.0.2/app/xsvfexec-enut30d
tom$ make clean
rm -f xsvfexec.o tapsm.o host.o urom.o
rm -f xsvfexec.hex xsvfexec.bin urom.c
rm -f xsvfexec.eep
rm -f xsvfexec.obj
rm -f xsvfexec.map
rm -f xsvfexec.lst tapsm.lst host.lst urom.lst
rm -f xsvfexec.bak tapsm.bak host.bak urom.bak
switch:/Volumes/SHARE/Develop/Ethernut/ethernut-4.0.2/app/xsvfexec-enut30d
tom$ make
avr-gcc -c -mmcu=atmega128 -Os -fno-delete-null-pointer-checks -Wall
-Wstrict-prototypes -Wa,-ahlms=xsvfexec.lst -D__HARVARD_ARCH__
-DNUT_CPU_FREQ=14745600 -DETHERNUT2  -I../../include  xsvfexec.c -o
xsvfexec.o
avr-gcc -c -mmcu=atmega128 -Os -fno-delete-null-pointer-checks -Wall
-Wstrict-prototypes -Wa,-ahlms=tapsm.lst -D__HARVARD_ARCH__
-DNUT_CPU_FREQ=14745600 -DETHERNUT2  -I../../include  tapsm.c -o tapsm.o
avr-gcc -c -mmcu=atmega128 -Os -fno-delete-null-pointer-checks -Wall
-Wstrict-prototypes -Wa,-ahlms=host.lst -D__HARVARD_ARCH__
-DNUT_CPU_FREQ=14745600 -DETHERNUT2  -I../../include  host.c -o host.o
../../tools/crurom/crurom -r -ourom.c cpld
avr-gcc -c -mmcu=atmega128 -Os -fno-delete-null-pointer-checks -Wall
-Wstrict-prototypes -Wa,-ahlms=urom.lst -D__HARVARD_ARCH__
-DNUT_CPU_FREQ=14745600 -DETHERNUT2  -I../../include  urom.c -o urom.o
urom.c:9: error: size of variable 'file1data' is too large
make: *** [urom.o] Error 1

Any ideas?  The actual CPLD file is only 39 Kbyte:

switch:/Volumes/SHARE/Develop/Ethernut/ethernut-4.0.2/app/xsvfexec-enut30d/cpld
tom$ ls -la
total 156
drwx------   1 tom  admin  16384 Feb 15 00:17 .
drwx------   1 tom  admin  16384 Feb 15 00:12 ..
-rwx------   1 tom  admin  39453 Feb 14 23:52 enut30d.xsvf

I tried the older version of xsvfexec as you indicate using same procedure,
this time using the name enut202.xsvf:

switch:/Volumes/SHARE/Develop/Ethernut/ethernut-4.0.2/app/xsvfexec tom$ make
avr-gcc -c -mmcu=atmega128 -Os -fno-delete-null-pointer-checks -Wall
-Wstrict-prototypes -Wa,-ahlms=xsvfexec.lst -D__HARVARD_ARCH__
-DNUT_CPU_FREQ=14745600 -DETHERNUT2  -I../../include  xsvfexec.c -o
xsvfexec.o
avr-gcc -c -mmcu=atmega128 -Os -fno-delete-null-pointer-checks -Wall
-Wstrict-prototypes -Wa,-ahlms=tapsm.lst -D__HARVARD_ARCH__
-DNUT_CPU_FREQ=14745600 -DETHERNUT2  -I../../include  tapsm.c -o tapsm.o
avr-gcc -c -mmcu=atmega128 -Os -fno-delete-null-pointer-checks -Wall
-Wstrict-prototypes -Wa,-ahlms=host.lst -D__HARVARD_ARCH__
-DNUT_CPU_FREQ=14745600 -DETHERNUT2  -I../../include  host.c -o host.o
../../tools/crurom/crurom -r -ourom.c cpld
avr-gcc -c -mmcu=atmega128 -Os -fno-delete-null-pointer-checks -Wall
-Wstrict-prototypes -Wa,-ahlms=urom.lst -D__HARVARD_ARCH__
-DNUT_CPU_FREQ=14745600 -DETHERNUT2  -I../../include  urom.c -o urom.o
urom.c:9: error: size of variable 'file1data' is too large
make: *** [urom.o] Error 1

Again no luck, but at least it appears to be the same error.  I tried again
with the original CPLD file from the xsvfexec archive, but it failed in the
same way.

I am using ethernut 4.0.2 with avr-gcc 3.4.4 and avr-libc 1.4.0 on OS X
10.4.4, I believe I correctly compiled crurom because I can successfully
compile the basemon and httpd examples in the apps directory...

It looks to me like there a problem with crurom not correctly generating the
file urom.c from the CPLD source?

I've put the XSVF file and the generated urom.c on my website if you want to
download them to take a look what's going on:

http://expat.dyndns.org/downloads/urom.c
http://expat.dyndns.org/downloads/enut202.xsvf

Thanks again for your help!

Tom Armitage

--
View this message in context: http://www.nabble.com/Reprogramming-Ethernut-2.1-CPLD-t1121524.html#a2949931
Sent from the MicroControllers - Ethernut forum at Nabble.com.




More information about the En-Nut-Discussion mailing list