[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [microblaze-uclinux] UDP packet reception triggers a hangup on the microblaze



Hi,
We used to have the same problem, although we don't use xemac. Without going into possibly misleading details, we noticed a one-line difference between our entry.S and the one in the Petalogix tree. After making the change we've been able to run a simple script that continuously sends packets to the board for several days without crashing. Running the same script before the change, the system would freeze in seconds. I hope this helps, here's an attachment just in case.

Location -
petalinux/software/linux-2.6.x-petalogix/arch/microblaze/kernel/entry.S


-----Original Message-----
From: Bas van Tiel <bvantiel@xxxxxxxxx>
To: microblaze-uclinux@xxxxxxxxxxxxxx
Sent: Tue, 25 Nov 2008 15:10
Subject: [microblaze-uclinux] UDP packet reception triggers a hangup on the microblaze

Hello All,

when I transmit a continously stream of UDP packets to the microblaze
a hangup is triggered, I have the following configuration:

- petalinux-v0.30-rc1 software
- xemac linux driver in PIO mode
- xemac IP block which is connected via a PLB <-> OPB bridge to the
ublaze. (the xemac is configured with "No DMA" and IPIF
(recieve/transmit buffers) are set to 32768 bytes and FIFO depth of
16.)
- EDK 9.2.02. with the patch (AR30051) from Xilinx for the microblaze v7.00.b.
- 2 uarts, one for kernel console, other one for shell access.
- ML506 Evalutation platform

I tried to capture the packets via AF_PACKET and AF_INET, both methods
gave the same result -> a kind of hangup of the microblaze:

symptoms:
1) no serial input is taken from both terminals
2) a ping to the microblaze doesn't send a reply packet back.

Has anybody seen this behavior before with the xemac connected via the
OPB (PLB<->OPB) to the PLB bus, or is this setup with a bridge in
between
asking for trouble and should I look for an alternative?


Best regards,
Bas

--- some additional info


Linux tmb 2.6.20-uc0 #1 Tue Nov 25 14:27:21 CET 2008 microblaze

CPU-Family: MicroBlaze
FPGA-Arch: virtex5
CPU-Ver: Unknown
CPU-MHz: 125.00
BogoMips: 62.05
HW-Div: yes
HW-Shift: yes
Icache: 8kB
Dcache: 8kB
HW-Debug: yes

PID PORT STAT SIZE SHARED %CPU COMMAND
1 S 135K 0K 0.0 /bin/init
2 R 0K 0K 0.0 ksoftirqd/0
3 S 0K 0K 0.0 events/0
4 S 0K 0K 0.0 khelper
5 S 0K 0K 0.0 kthread
6 S 0K 0K 0.0 kblockd/0
7 S 0K 0K 0.0 pdflush
8 S 0K 0K 0.0 pdflush
9 S 0K 0K 0.0 kswapd0
10 S 0K 0K 0.0 aio/0
11 S 0K 0K 0.0 mtdblockd
24 S 0K 0K 0.0 jffs2_gcd_mtd4
40 S0 S 656K 0K 0.0 /bin/sh
41 S0 S 643K 0K 0.0 /bin/sh --
42 S 67K 0K 0.0 /bin/inetd
55 S0 R 68K 0K 0.0 ps

pseudo code:

ethernet mac is running at 100 BaseTX-FD

sender: (host PC)
sd_ = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
sendto(sd_, buf, BUFLEN, 0, (struct sockaddr*)&sa_, (socklen_t)sizeof(sa_));

receiver (Microblaze)
sd_ = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
bind(sd_, (struct sockaddr*)&sa, sizeof(sa))
if (!select(sd_+1, &rfds, 0, 0, &timeout)) { break; }
size = recv(sd_, buf, BUFLEN, 0);
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/


AOL Email goes Mobile! You can now read your AOL Emails whilst on the move. Sign up for a free AOL Email account with unlimited storage today.

Attachment: entry.S
Description: Binary data