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