Can anybody help me?
I have assembled WebServer based on ATmega32 and ISA NetWork Card based UM9008F chip (I can't find RTL8019 based).
After power up in Terminal I see ERROR(255). I have change rtl8019.c to next view:
Code: Alles auswählen
printf ("\n\n\n\nInit Network Card: ");
//Set Reset Pin Low
RTL_RESET_OFF();
//added by holgi
//meine Karten laufen nur wenn man hier noch ca. 100ms wartet
//wait a long time
unsigned long i = 0;
while (i < 60000 * 5) i++;
//end added by holgi
ReadRTL (RSTPORT);
WriteRTL (RSTPORT , 0xFF);
//wait a short time
int a = 0;
while (a < 1000)
{
a++;
}
printf ("."); //Point 1
WriteRTL (CR , (1<<STP| 1<<RD2));
//wait a short time
a = 0;
while (a < 1000)
{
a++;
}
printf ("."); //Point 2
WriteRTL (DCR , DCRVAL);
WriteRTL (RBCR0 , 0x00);
WriteRTL (RBCR1 , 0x00);
WriteRTL (RCR , 0x04);
WriteRTL (TPSR , RXSTART);
WriteRTL (TCR , 0x02);
WriteRTL (PSTART , RXSTART);
WriteRTL (BNRY , RXSTART);
WriteRTL (PSTOP , RXSTOP);
WriteRTL (CR ,(1<<STP| 1<<RD2|1<<PS0));
//wait a schort time
for (int a = 0; a < 1000; a++)
{
}
printf (".\nHW MAC:"); //Point 3
WriteRTL (CURR , RXSTART);
for(int a = 0; a<=5; a++)
{
printf ("%x:",ReadRTL ((PAR0 + a)));
}
printf ("\nSW MAC:"); //Point 3
for(int a = 0; a<=5; a++)
{
WriteRTL ((PAR0 + a) , mymac[a]);
printf ("%x:",mymac[a]); //Point 4,5,6,7,8,9
}
printf (".\nHW MAC:"); //Point 3
WriteRTL (CURR , RXSTART);
for(int a = 0; a<=5; a++)
{
printf ("%x:",ReadRTL ((PAR0 + a)));
}
printf ("\n");
WriteRTL (CR , (1<<STP| 1<<RD2));
WriteRTL (DCR , DCRVAL);
WriteRTL (CR , (1<<STA| 1<<RD2));
printf ("ISR: 0x%x\n",ReadRTL(ISR));
WriteRTL (ISR ,(1<<PRX|1<<PTX|1<<RXE|1<<TXE|1<<OVW|1<<CNT|1<<RDC|1<<RST));
WriteRTL (IMR , IMRVAL);
WriteRTL (TCR , TCRVAL);
printf ("ISR: 0x%x\n",ReadRTL(ISR));
printf ("CONFIG0: 0x%x\n",ReadRTL(0x03));
printf ("CONFIG1: 0x%x\n",ReadRTL(0x04));
printf ("CONFIG2: 0x%x\n",ReadRTL(0x05));
printf ("CONFIG3: 0x%x\n",ReadRTL(0x06));
printf (" Init Ready! \n");
//startet die Network Card
WriteRTL (CR ,(1<<STA| 1<<RD2));
DATA_PORT_RLT_WRITE = 255; //Schreibt eine 255 auf den BUS
}Code: Alles auswählen
Init Network Card: ...
HW MAC:46:46:46:46:46:46:
SW MAC:1e:a:2b:2b:2d:4d:.
HW MAC:46:46:46:46:46:46:
ISR: 0x22
ISR: 0x0
CONFIG0: 0x0
CONFIG1: 0x0
CONFIG2: 0x0
CONFIG3: 0x0
Init Ready!
-- Init RTL8019: ERROR !!! --