Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12746 Discussions

TCP/IP stack options for Nios II

Altera_Forum
Honored Contributor II
2,797 Views

In the past couple of hours I've been trying to figure out the options available for having a TCP/IP stack on Nios II, taking into account the complexity of the solution as well as its price. Here are the options I currently see available:

  1. Use the "officially supported" toolset: uCos-II + InterNiche stack. This is probably the easiest to set-up, thanks to the examples Altera freely provides. According to the Altera website, InterNiche costs $250. Any idea if it's for each board, or for a single developer, or once-paid-forever-used kind of license? Also, how much does uCos-II for Nios II cost? 

  2. Use the "superloop" InterNiche without uCos-II option as advertised in the Nios wiki. It takes more effort to set up but seems doable, and the cost of uCos-II is spared. 

  3. Use some ad-hoc solution. For example lwIP as http://www.alteraforum.com/forum/showthread.php?t=23787 shows, without any OS. lwIP is open-source and free. On the other hand, this is probably the most common solution as it includes the least amount of supported components. 

  4. uCLinux with its stack 

  5. Something else I didn't find
I would really appreciate your comments on this, shared successes or failures with some of these approaches, as well as clarifications for the pricing of InterNiche and uCos-II. Hopefully this thread can become a useful reference for other users with the same concerns (which, from a cursory search of the forum, seem quite common). 

 

Thanks in advance
0 Kudos
7 Replies
Altera_Forum
Honored Contributor II
963 Views

Hi, good idea for this thread. 

 

1. ucosii + interniche stack. Prices seem to be unique by client. It starts from 6000$ 

 

2. "superloop" interniche. 250$. It seems doable if you are not afraid to modify sources. I had tried. In my opinion, this solution require many attention. 

 

3. lwip. Not easy (for me), I was wasted in the outdated/unfinished websites. You have to know good knowledge with ethernet interface and other good skills... 

edit : i suggest to see billa's posts he posted a driver, example program, and how to build the latest lwIP (1.3.2) and the example program (thanks to Billa) 

 

4. uclinux require 8MB for its kernel but it seems free, well documented, it provides FAT and others things. Good knowledges are recommended. 

 

5. I add openrtos with integrated internichestack : from approx. 2800 $ for a single product, with approx. 1000$ for support. 

 

6. eCOS (and eCos Pro). License are bases on time. I mean 6000$ for 6 months. Include lwIP stack with more functions (UDP, ICMP, ARP, DHCP, SLIP, PPP...) 

 

7. 5in1 Ethernet package from Marc Colling. 6000€ for 1 project. 10 000€ for unlimited number of project. I have not looked at. 

 

NB : interniche stack for Nios provides TCP, TFTP, FTP by just modify "#define" in sources files. And it is just for ipv4. They provide IPV6 but it's an other license and other conception. 

NB2 :shown prices are very approx.
0 Kudos
Altera_Forum
Honored Contributor II
963 Views

8) Since a TCP/IP stack doesn't usually rely on a large number of kernel interfaces, take the kernel TCP/IP components from one of the BSD unix source trees, modify these and the socket interface and tx/rx packet interfaces to match your system's micro-kernel (aka buffer/timer/kernel thread) interfaces. 

Use the BSD sources (not the linux ones) to avoid problems with the GPL.
0 Kudos
Altera_Forum
Honored Contributor II
963 Views

Most of people want to employ a "ready-to-use" TCP/IP stack. 

Go into the sources (and courses:D ), understand them, adapt them are not obvious :eek:  

 

Maybe, somebody could add some good reference about tcp/ip, socket, ethernet interface... 

They are very numerous and it is like a jungle. 

 

As DSL said, be aware of license which can force you to "open" your sources (usually not your company policy).:D  

 

I think, the easiest (effort minimum :cool: ) is : 1. uCosII + InterNiche Stack. 

In 2nd position : 2. "Superloop" InterNiche.
0 Kudos
Altera_Forum
Honored Contributor II
963 Views

Of course, if you can manage with UDP/IPv4 and without fragmentation, and have another system on which you can run 'proxy arp', then it is simple enough to just build the entire packet yourself.

0 Kudos
Altera_Forum
Honored Contributor II
963 Views

 

--- Quote Start ---  

 

 

3. lwip. Not easy (for me), I was wasted in the outdated/unfinished websites. You have to know good knowledge with ethernet interface and other good skills... 

 

--- Quote End ---  

 

 

I posted a driver, example program, and how to build the latest lwIP (1.3.2) and the example program. It's now not so hard to use lwIP. :) 

 

Your comments may deter people from looking at lwIP because your comments are outdated. My intent is to correct you as this is no longer true. 

 

Bill
0 Kudos
Altera_Forum
Honored Contributor II
963 Views

Micrium has a TCP-IP solution as well, uC/TCP-IP which is ported for NIOS. 

 

--Eric
0 Kudos
Altera_Forum
Honored Contributor II
963 Views

Eric, 

 

What's the price? Do you get source code too? I know it exists but I know nothing about its price or how it's offered. 

 

Of course, lwIP is Open Source and costs nothing so that was attractive. 

 

Bill
0 Kudos
Reply