Forum: Mikrocontroller und Digitale Elektronik Micrium TCP/IP Stack


von Joe (Gast)


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

von Alban (Gast)


Lesenswert?

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

von Joe (Gast)


Lesenswert?

hi
danke werd ich mal gucken.

von Joe (Gast)


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

von Joe (Gast)


Lesenswert?

Hi
Hat sich erledigt, Stack war zu klein.

cu

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.