UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Adventurer
Adventurer
10,074 Views
Registered: ‎10-23-2014

Lwip Library and System Reset

Jump to solution

Why an application build on LWIP library does not work after resetting microblaze.

 

I am checking the example echo server application provided in xilinx sdk. (on ML605, virtex6 FPGA).

 

Initially when I Program microblaze, the following is displayed.

 

-----lwIP TCP echo server ------
TCP packets sent to port 6001 will be echoed back
Board IP: 192.168.1.30
Netmask : 255.255.255.0
Gateway : 192.168.1.1
auto-negotiated link speed: 100
TCP echo server started @ port 7

 

After this, I connected to board using hyperterminal application and was able to receive the data back what I send. Which means the the echo server application works fine.

 

After pressing the reset button once, noramlly the application should restart. As opposed to this, after pressing the reset I am unable to receive any data.

And, the following thing appers after pressing reset..,

 

-----lwIP TCP echo server ------
TCP packets sent to port 6001 will be echoed back
Board IP: 192.168.1.30
Netmask : 255.255.255.0
Gateway : 192.168.1.1
TCP echo server started @ port 7
incorrect configuration: xps_ethernetlite drivers not present?

 

The last line says ethernetlite drivers not present.?  how to work around with this issue..,

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Adventurer
Adventurer
17,375 Views
Registered: ‎07-20-2010

Re: Lwip Library and System Reset

Jump to solution

Hi,

it is "normal", because echo server is not realized to work with a processor reset. One year ago I have worked a lot to fix this problem. When microblaze is restarted, it starts to execute from 0x00000000. If your application start and run correctly depends mainly by role of initialized data. Probably you are working without a bootloader, and you are loading echo server in DDR with SDK. When you load your application, section .data is loaded by SDK, then initialized variable have correct values. When you restart your application initialized variable have different values respect initial values, and Microblaze run time  doesn't reinit .data variable, then you must restore this segment at initial value, otherwise your application fails to start. Refer to AR# 30878. If you work with bootloader and with an internal auto reset situation is more complicated because youi need t odisable interrupt and restore microblaze register.....

I hope this help you....

Begos

 

0 Kudos
6 Replies
Xilinx Employee
Xilinx Employee
10,062 Views
Registered: ‎08-02-2007

Re: Lwip Library and System Reset

Jump to solution

hi,

 

is the application running from BRAM/External memory?

 

also did you set up the stack/heap to 0x2000?

 

--Hem

----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
0 Kudos
Adventurer
Adventurer
10,057 Views
Registered: ‎10-23-2014

Re: Lwip Library and System Reset

Jump to solution

 

Hi,

 

I am running the application from BRAM itself.

 

Yes, the stack/heap are set to 0x4000 (which is more that 0x2000).

0 Kudos
Voyager
Voyager
10,041 Views
Registered: ‎05-31-2012

Re: Lwip Library and System Reset

Jump to solution

i always reset the entire system in my application,  i use the Xmd shell and the command rst, it works for me!

0 Kudos
Adventurer
Adventurer
10,030 Views
Registered: ‎10-23-2014

Re: Lwip Library and System Reset

Jump to solution
Yes,

It works even for me with applications which does not use lwip library.

The problem is with the applications build over lwip library.
0 Kudos
Adventurer
Adventurer
10,021 Views
Registered: ‎10-23-2014

Re: Lwip Library and System Reset

Jump to solution

In this link below, Simon Goldschmidt- one among the developers of LWIP say that lwip does not support shutting down and have to follow a different procedure.

 

http://comments.gmane.org/gmane.network.lwip.general/11265

 

I did nt understand the procedure he asked to follow. If any one has done that, please guide me.

 

 

As of now, I disabled the reset in my microblaze system(XPS). UCF - I removed reset net connected with h10 pin on board. And reset connected the clock_generator, proc_reset_control blocks are now connected to ground (net_gnd). It makes reset never occur in the system. (reset is always low).

 

0 Kudos
Highlighted
Adventurer
Adventurer
17,376 Views
Registered: ‎07-20-2010

Re: Lwip Library and System Reset

Jump to solution

Hi,

it is "normal", because echo server is not realized to work with a processor reset. One year ago I have worked a lot to fix this problem. When microblaze is restarted, it starts to execute from 0x00000000. If your application start and run correctly depends mainly by role of initialized data. Probably you are working without a bootloader, and you are loading echo server in DDR with SDK. When you load your application, section .data is loaded by SDK, then initialized variable have correct values. When you restart your application initialized variable have different values respect initial values, and Microblaze run time  doesn't reinit .data variable, then you must restore this segment at initial value, otherwise your application fails to start. Refer to AR# 30878. If you work with bootloader and with an internal auto reset situation is more complicated because youi need t odisable interrupt and restore microblaze register.....

I hope this help you....

Begos

 

0 Kudos