www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Micrium TCP/IP Stack


Autor: Joe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Ich beschäftige mich gerade mit dem RTOS von Micrium und komm ganz gut
damit klar. Jetzt bin ich grad dabei mich mit dem TCP/IP Stack zu
beschäftigen und hab doch ein paar Schwierigkeiten. Die Dokumentation
für den Stack ist auch nicht vollständig, d.h. es fehlen Kaptitel.
Das ganze läuft auf nem Xilinx Microblaze.
Kennt sich vielleicht jemand mit diesem RTOS und dem Stack aus?
Ich möchte erstmal nur UDP Pakete senden und empfangen.

Werd jetzt erstmal weiterlesen.

bis dahin
Joe

Autor: Alban (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich mich recht entsinne hat uC/OS eine eigene Mailingliste.
Vielleicht findest du da mehr Informationen.

Autor: Joe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi
danke werd ich mal gucken.

Autor: Joe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Hab die Mailingliste gefunden, werd das Problem hier trotzdem mal
reinschreiben, kann ja nicht schaden.

Ich arbeite mit dem Xilinx Microblaze, dem RTOS uC/OS2 und dem TCP/IP
Stack von Micrium. Das RTOS läuft ohne Probleme und der TCP/IP Stack
müsste soweit auch funktonieren, mit einem Beispiel Programm kann ich
das Interface anpingen.

Ich möchte am Anfang ein einfaches UDP Paket senden und hab mal
folgendes gemacht:

AppUDPSockID_1 = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);

  sock_addr.sin_family = AF_INET;
  sock_addr.sin_port = htons(2000);
  sock_addr.sin_addr.s_addr = htonl(INADDR_ANY);

  bind(AppUDPSockID_1,(struct sockaddr *)&sock_addr,sizeof(struct
sockaddr_in));


  ServerAddr.sin_family = AF_INET;
  ServerAddr.sin_port = htons(3517);
  ServerAddr.sin_addr.s_addr = htonl(ips);
  connect(AppUDPSockID_1,(struct sockaddr *)&ServerAddr,sizeof(struct
sockaddr_in));


Nachdem man den Sockel erzeugt hat bezieht sich der erste auf die “Host
Hardware” und der zweite Teil auf den Server an den ich das Paket
schicken will.

Mein Task:

while (1)
{
    Led();
      sendto(AppUDPSockID_1,&a,sizeof(a),0,(struct
sockaddr*)&ServerAddr,sizeof(struct  sockaddr));

    OSTimeDlyHMSM(0,0,0,75);
}

Ich überwache den Traffic und ich sehe das das Board ein Arprequest für
die richtige Ipadresse sendet, allerdings hängt sich mein Programm
danach auf.

Ist mein vorgehen so korrekt oder mach ich was flasch?
Vielleicht kann mir ja jemand weiterhelfen.
Bin auch für Tips und Tricks von Leuten dankbar die sich mit so was
schon länger beschäftigen. Meine Karriere in diesem Bereich hat erst
vor zwei Monaten begonnen ;-).

Bis dahin
Joe

Autor: Joe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi
Hat sich erledigt, Stack war zu klein.

cu

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.