www.mikrocontroller.net

Forum: Compiler & IDEs problem uip und mega32


Autor: maddax (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: maddax (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stefan B. (stefan) Benutzerseite
Datum:

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

Autor: maddax (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: maddax (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.