STR91x Ethernet demo

Last updated January 31, 2009

The Idea

To setup a bidirectional communication channel between STR91x MCU and a PC over a TCP/IP connection.

Main Components

  • STR910-EVAL evaluation board.
  • version 4.6.1, 4.7.1 or 5.0.3.
  • lwIP version 1.2 or 1.3.0.
  • IAR Embedded Workbench version 4.6.1 or greater.

The Demo

I developed this application starting from the STR912 ARM9 demo project included in the standard distribution of FreeRTOS . Should you be interested in this demo, feel free to look at FreeRTOS documentation page for additional information.

Figure 1 - Block diagram

Figure 1 shows the involved tasks running in the STR910-EVAL board and the relation with the PC key components.

  • tcp/ip task: lwIP (version 1.3.0) stack runs as an independent task. It provides a system service. A network application could communicate with the stack through a message exchange paradigm, implemented by the lwIP serial API (I prefer to use the Netconn API to interface with the stack).
  • httpd task: it implements a simple web server. It uses the lwIP serial API in order to interface with the stack.
  • calc task: this task waits for an incoming TCP connection over the application defined port. When the connection is up, it starts to receive and execute commands, and then it sends back the result. The remote client could close the connection by sending the application defined command.

The demo uses the web server to provide to the browser, running on the PC, an html page containing a java applet. Once the applet is loaded, it opens a TCP connection with the calc task.

For more information look at the demo source files, especially the following files:

  • net_launch_srv.c
  • httpd.c
  • NetCalcApp.c

More details...

The following pages try to provide a more detailed explanation of the demo architecture  and source files.

For any question about this demo, please don't hesitate to contact me at

Latest news

  • New Bug report For more information see the Known issues section.
    Posted Jan 31, 2009, 10:20 AM by Stefano Oliveri
  • Open Discussion and Support I created an open forum to discuss about this demo and to request support.The forum is at post in the forum, please ...
    Posted Jan 2, 2009, 2:05 PM by Stefano Oliveri
  • Added "The network tasks" section. I received some requests asking to add more materials and / or an user manual. I'm sorry but I have not enough time to write an user manual. I added ...
    Posted Dec 13, 2008, 1:34 PM by Stefano Oliveri
  • Added new section I added a section to allow you to leave a feedback or post a question: "Questions, Suggestions, Bugs, and..."I'll appreciate your feedback.
    Posted Sep 23, 2008, 2:19 PM by Stefano Oliveri
  • Updated "The startup sequence" section This page describes what happen when the system startups with regards to all network related task.
    Posted Sep 15, 2008, 3:22 AM by Stefano Oliveri
Showing posts 1 - 5 of 12. View more »

Known issues

Problem connecting STR9 board to internet

Some user, using the demo with lwIP version 1.2.0, reported problems connecting the STR9 board to the internet under certain network configuration. Please upgrade to lwIP version 1.3.0 to fix the problem.

The system hung when query the debug.htm page

The problem is fixed. Please, see the latest news section for more information.

The Network Calculator is unable to connect to the board.

Everything is working fine, except the calculator. After press the On button the following error message is displayed: "Error: unable to connect the board."
For more information on the problem and its solution, please refer the Eclipse version of the demo.

Questions, Suggestions, Bugs, and...

Every feedback is welcome. If you have a suggestion to improve a demo or the web pages, it's ok. If you found a bug in a demo, please let me know. If you have an idea to improve a demo, I'm pleasure to discuss about it. If you have any questions about a demo, I hope to have the answer!

If you want leave a feedback, please use this web page.

Users wishing to obtain support could also use the Open Forum.

All the code is developed for test purpose and it is unsupported. The author assumes no responsibility for any damage caused by improper uses.

Stefano Oliveri,
Sep 9, 2008, 12:47 AM
Stefano Oliveri,
Jul 20, 2008, 12:14 PM
Stefano Oliveri,
Jul 20, 2008, 12:16 PM
Stefano Oliveri,
Jul 22, 2008, 2:20 AM