[En-Nut-Discussion] eboot resets my ethernet 1.3 rev G.

Bernard Weiler BernardWeiler at compuserve.de
Mon Dec 5 19:25:59 CET 2005


My eboot dont work properly:

I tracked the problem down to the ether.c file from eboot 3.9.5:
it seems that the NIC_RESET generates a reset of the board,
leading to an endless loop for "main".

This is a part of ether.c:

void NicInit(void)
{
    ...
    c = NIC_RESET;
    Delay(5);
    NIC_RESET = c;
sbi(DDRB,1); //I debug by means of external LED's
sbi(PORTB,1);//LED #1 (sbi(PORTB,1)) flashes. LED#1 flashes because main 
always restarts.
    Delay(1000);
sbi(DDRB,2);//LED #2 dont flash, so reset occured during delay 1000.
sbi(PORTB,2);
return;
    EmulateNicEeprom();
    ...

I tried the same with Nut 3.9.8, but couldnt compile because 0x1F000 
isnt big enough:
avr-gcc eboot.o ... -Ttext=0x1F000 -o eboot.elf
ld: address 0x20028 of eboot.elf section .text is not within region text

I sized the bootregion up (fuseHigh=0x80, -Ttext=0x10000), and got 
exactly the same LED-flashing as with 3.9.5.

I tried a second, virgin Ethernut board, all the same.
Normal Programms are working, including ethernet calls (app/tcps).

Can somebody help me? thanks

My libs:
avr-gcc-c++-3.3.1-1
avr-libc-docs-1.0-1
avr-binutils-2.14-1
avr-libc-1.0-1
avr-gdb-6.0-1
avr-gcc-3.3.1-1

-- 
 
Mit freundlichen Grüssen

Bernard Weiler






More information about the En-Nut-Discussion mailing list