Forum: Compiler & IDEs problem uip und mega32


von maddax (Gast)


Lesenswert?

Hallo zusammen,

ich habe mir mit einem Mega32 und einem ENC28J60 ein Testboard 
gebastelt.
Der Uart, der Timer und der ENC Init Funktionieren prima bis ich im 
Makefie die uip Files einbinde. Die werden gar nicht aufgerufen aber der 
AVR schweigt trotzdem.

Hier die Main:

#include "main.h"

int main(void)
  {
  u32 timer_value, periodic_timer_value;
  u16 nCounter;
  nCounter= 0 ;

  UART_Init();

  UartPrintF ("Willkommen beim Ethernet Testboard von MadDax\r\n");

  for(u32 a=0;a<1000000;a++);
    for(u32 a=0;a<1000000;a++);
  enc28j60Init();

    enc28j60PhyWrite(0x14,0x0AA0); //0420 0AA0    //LED_A und LED_B 
blinkend

    timer_value = SetDelay10ms(200);
    periodic_timer_value = SetDelay10ms(2);

  init_timer();
  sei();

  while (1)
  {
  if(CheckDelay10ms(timer_value))
      {
      timer_value = SetDelay10ms(200);
      UartPrintF ("Counter Dez:%6d\r\n", nCounter);
      nCounter++;
      }
  }
return (0);
  }

und der Ausschnitt aus dem Makefile der mir alles zerbröselt:

# List C source files here. (C dependencies are automatically 
generated.)
SRC = main.c uart.c clock-arch.c enc28j60.c
SRC += uip.c uip_arp.c uiplib.c psock.c hello-world.c
#SRC += timer.c uip-neighbor.c
#SRC += httpd.c http-strings.c httpd-cgi.c httpd-fs.c

kennt dieses Phänomen jemand?

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Nur ein blöder Verdacht:

Schau mal nach, ob in hello-world.c eine weitere main() drin ist, die 
statt deiner main() aus main.c aufgerufen wird.

von maddax (Gast)


Lesenswert?

Hallo,

es ist keine weitere main.c in den aufgeführten c-Dateien zu finden.
Das Makefile ist das original von WinAVR mitgelieferte ohne weitere 
Änderungen. Der GCC ist der Stand von letzter Woche.
Ich weiß auch nicht weiter.

mfg dxm

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Ich meinte keine weitere main.c sondern eine Definition einer zweiten 
main()-Funktion. Ansonsten zeige wenigstens das komplette makefile.

von maddax (Gast)


Angehängte Dateien:

Lesenswert?

Hallo nochmal,

hier habe ich das Makefile zur Begutachtung.
Ich habe es mit einigen anderen aus der Codesammlung verglichen und 
finde keinen Fehler.
Vielleicht hilft ja das Vier-Augen-Prinzip.

Danke im Vorraus

dxm

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Das Makefile ist OK.

Was funktioniert konkret nicht?

Wenn es alles innerhalb der while(1) Schleife ist, checke mal, ob UIP 
den Timervektor statisch auf eigene Routinen verbiegt und deine Routinen 
nicht mehr drankommen.

von maddax (Gast)


Lesenswert?

Hallo,

die Vermutung mit dem Timer habe ich gecheckt und nichts gefunden.
Außerdem muß der Fehler schon vor der while(1) Schleife liegen da der 
Uart und ENC Init schon nicht funktioniert.
Ich biege jetzt mal eine Funktionierende Applikation des uip von
Beitrag "Webserver zur Temperaturmessung" auf meine Hardware 
zurecht.
Wird hoffentlich funktionieren?
Danke

dxm

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.