[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 Bas,
I look at your app.
1. you should use user-apps folder for microblaze apps and changed prepare
Makefile. I believe that is not so hard to change it. (petalinux-new-app)
2. I am missing any readme how to run it. Please add it to that folder and pack
and resend.
Thanks,
Michal
> OK,
>
> I will try tomorrow with the latest changes from svn.
>
> the test program is also attached....
>
> thx, for the quick responses..
>
> Bas
>
> On Wed, Nov 26, 2008 at 10:21 AM, Michal Simek <monstr@xxxxxxxxx> wrote:
>> Hi All,
>>
>> this changes is in latest entry.S too.
>>
>> Thanks,
>> Michal
>>
>>
>>> 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 <mailto:microblaze-uclinux@xxxxxxxxxxxxxx>
>>>
>>> Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux <http://www.itee.uq.edu.au/%7Ejwilliams/mblaze-uclinux>
>>>
>>> Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/ <http://www.itee.uq.edu.au/%7Elistarch/microblaze-uclinux/>
>>>
>>>
>>>
>>> ------------------------------------------------------------------------
>>> *AOL Email goes Mobile!* You can now read your AOL Emails whilst on the
>>> move. Sign up <http://info.aol.co.uk/email1> for a free AOL Email
>>> account with unlimited storage today.
>> ___________________________
>> 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/
>>
>>
___________________________
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/