FNET - TCP/IP Stack

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

FNET - TCP/IP Stack

45,630 Views
butok
NXP Employee
NXP Employee

FNET TCP/IP stack: Version 0.5.0 released. 
 

FNET Home page: http://fnet.sourceforge.net/

    Please, submit your feature requests and feedbacks here:

    http://sourceforge.net/tracker/?group_id=253892&atid=1126921 

    Please, submit your bug reports here:

    http://sourceforge.net/tracker/?group_id=253892&atid=1126920

 

FNET brief information:
The FNET is a free, open source software project (under GNU GPLv3) for building embedded communication software using the Freescale processors.

 

The stack provides following protocols and services:
  * Supported platforms:
     - Reindeer - MCF5282 (M5282EVB).
     - Kirin2 - MCF52235 (M2235EVB).
     - Kirin3 - MCF52259 (M2259EVB).
     - Lasko - MCF51CN128 (TWR-MCF51CN).
     - Other Freescale platforms to be supported soon.
  * Available as:
     - Stand-alone version. No underlying RTOS is required, although it can be used with it.
  * Supported Compilers:
     - Freescale CodeWarrior for ColdFire Version 7.1.
     - Freescale CodeWarrior for Microcontrollers Version 6.2.
  * BSD-style Socket layer API
  * Protocols:
     - User Datagram Protocol (UDP).
     - Transmission Control Protocol (TCP).
     - Internet Protocol (IPv4).
     - Internet Control Message Protocol (ICMP).
     - Address Resolution Protocol (ARP).
  * Network Interfaces:
     - Ethernet interface.
     - Loopback interface.
  * Services:
     - HTTP/0.9 server. Both SSI and CGI are supported.
     - DHCP client.
     - TFTP client.
     - Static File System.
     - CFM Flash driver.
  * Tools:
     - GUI File System Generation Tool.
  * Applications:
     - TFTP Bootloader.
     - Shell Application.
  * Doxygen User Documentation.

 

 Changes in 0.5.0 (since last public version):
 - Added TFTP client.
 - Added Coldfire Flash Module (CFM) driver.
 - Added FNET TFTP Bootloader.
 - Fixed DHCP client.
 - Updated Shell Demo application. Application parameters are saved in the flash.
 - Improved Shell library. Added blocking-command and multi-word parameter features.
 - A lot of other changes and fixes.

 

Best regards,

Andrey Butok

Labels (1)
Tags (2)
225 Replies

955 Views
NeuroSolutions
Contributor I
Yes it helps a lot, I'm going to explore FreeRTOS and any question I get i'll be probably asking here. Thanks!
0 Kudos

955 Views
PaoloRenzo
Contributor V

Hi

 

I got some info regarding GNU tools

 

 

 
More info:
 
 
I'll do my best to explore these free solutions, but right now I'm not familiar with them
 
In the meantime, uIP will work for you
 
Have fun
0 Kudos

955 Views
Petter
Contributor II

Are there any plans to supportCodesourcery under Linux?

 

Also an self extracting exe file is not an optimal file format for Linux distribution. Are there any plans of setting up a GIT repository at gitorious, github or similar?

0 Kudos

955 Views
butok
NXP Employee
NXP Employee

Hi Pete,

 

>>Are there any plans of setting up a GIT repository at gitorious, github or similar?

We do not have plans to transfer to GIT repository.

It’s used the Subversion repository hosted by Sourceforge.net. I guess it should be available a subversion client under Linux.

 

>>Also an self extracting exe file is not an optimal file format for Linux distribution.

I have added the .zip file distribution (last Friday) that is set as default download file for Linux OS users.

 

>>Are there any plans to support Codesourcery under Linux?

Unfortunately in the near feature we are not planning to support Codesourcery. May be later.

The reason is very simple – lack of resources.

 

Best regards,

Andrey Butok

0 Kudos

955 Views
butok
NXP Employee
NXP Employee

 FNET version 0.7.5 released (http://fnet.sourceforge.net):
- Added GUI Throughput Benchmark tool.
- Added Throughput Benchmark application for MCF52259.
- Increased general performance of the stack.
- Fixed bug in the TCP receive function. In very rare cases, data that came within the latest FIN packet was lost.
- Eliminated support of the blocked sockets (actually not used). Now FNET supports only non-blocked sockets.
- Updated send() function. Now it returns 0 instead of FNET_ERR (FNET_ERR_AGAIN and FNET_ERR_NOMEM), when the TX-socket buffer is full.
- Added fnet_fs_finfo() function.
- Increased default number of the RX-Ethernet buffers.
- Fixed AJAX demo web pages, to make it work even when IE cache is enabled.
- Many other minor changes and fixes.

 

Special thanks to Sven Kopacz (Controllerware) for constructive feedback.

 

Best regards,

Andrey Butok

0 Kudos

949 Views
satinderKhera
Contributor I

Dear Andrey,

I am using the FNET stack for my development and I have written one application using this stack. Earlier I was using FNET V0.6.3 and my application was working perfectly, but recently I have upgraded my stack from V0.6.3 to V0.7.6, I am able to ping my development board over the network but when I try to establish the connection with my application through port no. It giving the error(Connection refused by remote host).

Can you suggest something that I need to take care of while using this new stack?

I'll highly appreciate your valuable suggestion.

 

Regards,

Satinder Singh

0 Kudos

946 Views
satinderKhera
Contributor I

Dear All,

Hello!

I have a requirement of disabling the PHY when low power is detected and for that i need to write the bit 11 of register 0 of PHY. Though there is a function available in the stack to write to a PHY register but can you please guide what step do I need to follow and what points I need to take care while disabling the PHY? 

 

Thanks,

Satinder Singh

0 Kudos

946 Views
butok
NXP Employee
NXP Employee

Hi Satinder Singh,

 

Changes in Socket API (6.3=>0.76) that come to my mind:
- Updated send() function. Now it returns 0, when the TX-socket buffer is full (instead of error).
- Updated recv() function. Now it returns 0, if there is no input data (instead of error). (But I am not sure if it was fixed in 6.3 or earlier)
- Eliminated support of the blocked sockets. But I believe that you are not using it.
- Other changes should not have direct influence on the application level.

 

I suggest to do comparing/diff of the FNET Services (application layer) source code of 6.3 and 7.6 versions to get the full picture of posible changes.

 

Best regards,

Andre Butok

0 Kudos

955 Views
satinderKhera
Contributor I

Dear Butok,

Hello!

 

I am using FNET version 0.6.3 and I found that it is not supporting SO_KEEPALIVE option and same is true with FNET version 0.7.5. Can you suggest any other alternative for this as I need to use this option?

 

 

Regards,

Satinder Singh

0 Kudos

955 Views
butok
NXP Employee
NXP Employee

Hi Satinder Singh,

 

The FNET 7.x  fully supports KEEPALIVE options. And it works/tested correctly.

The FNET has four options that control TCP KEEPALIIVE behavior.

SO_KEEPALIVE, TCP_KEEPCNT, TCP_KEEPINTVL and TCP_KEEPIDLE

http://fnet.sourceforge.net/manual/group__fnet__socket_ga989481a2cee0291e70f9076a091eddf1.html#gga98...

http://fnet.sourceforge.net/manual/group__fnet__socket_ga19bc4a3a913399993d98a180df3bc447.html#gga19...

 

The initialization example you can find in the fnet_telnet.c:

      ...

      /* Enable keepalive_option option. */

        (setsockopt (telnet_if->socket_listen, SOL_SOCKET, SO_KEEPALIVE, (char *)&keepalive_option, sizeof(keepalive_option)) == SOCKET_ERROR) ||

        /* Keepalive probe retransmit limit. */

        (setsockopt (telnet_if->socket_listen, IPPROTO_TCP, TCP_KEEPCNT, (char *)&keepcnt_option, sizeof(keepcnt_option)) == SOCKET_ERROR) ||

        /* Keepalive retransmit interval.*/

        (setsockopt (telnet_if->socket_listen, IPPROTO_TCP, TCP_KEEPINTVL, (char *)&keepintvl_option, sizeof(keepintvl_option)) == SOCKET_ERROR) ||

        /* Time between keepalive probes.*/

        (setsockopt (telnet_if->socket_listen, IPPROTO_TCP, TCP_KEEPIDLE, (char *)&keepidle_option, sizeof(keepidle_option)) == SOCKET_ERROR)

        ...

 

Best regards,

Andrey Butok

0 Kudos

955 Views
butok
NXP Employee
NXP Employee

FNET minor version 0.7.6 released (http://fnet.sourceforge.net):
 - Improved the FNET File System Generation tool:
      - Added project file support.
      - Added command line support.
      - Other minor changes.
- Fixed the PHY initialization issue during the power switch on/off of the M52259EVB.

 

BTW: Cause of summer vacation, no new releases during near months.

 

Best regards,

Andrey Butok

0 Kudos

955 Views
Petter
Contributor II

Great, thanks! I didn't see the zip file last time I checked. I also forgot about the sourceforge SVN server.

0 Kudos

955 Views
EugeneLeigh
Contributor I

Hi

 

Did you have any luck using FreeRTOS + uIP on mcf51cn ?

 

It works for me too and I would rather use GNU tools from codesourcery but don't have much time to fiddle with it at the moment.

 

Regards,

Eugene

0 Kudos

955 Views
PaoloRenzo
Contributor V

Hi Andrey

 

More details about the "TFTP Bootloader" would be great. :smileyhappy: Is this functional with the MCF51CN ? What are the use cases? Dumb question: can I upload a new s19 file from a remote location? Erases the whole internal memory? Do I have to use a special CW template? What is the memory footprint? Do I have to use an external memory to retain the temporary information or store information as it get it? Is there some kind of limitation?

 

Thanks!

0 Kudos

955 Views
butok
NXP Employee
NXP Employee

Hi Paolo,

 

>>More details about the "TFTP Bootloader" would be great

 

You may get the additional information about the Bootloader in FNET User Manual or here:

http://fnet.sourceforge.net/manual/quick_start_boot.html

and here:

http://fnet.sourceforge.net/manual/how_to_add_boot.html

 

 >>Is this functional with the MCF51CN ?

Yes. It was developed for all FNET supported MCUs (Lasko, Kirin2/3 and Reindeer) 

 

>>Dumb question: can I upload a new s19 file from a remote location?

 

Yes. The Bootloader supports S-record, CW bin and raw-binary file images. 

 

>>Erases the whole internal memory?

 

Yes. Except reserved blocks (FNET Bootloader code and a block reserved for parameters storage). 

 

>>Do I have to use an external memory to retain the temporary

>> information or store information as it get it?

 

No. The Bootloader writes directly to on-chip flash (no external memory needed).

 

Hope it helps,

Andrey Butok

 

Please, submit your feature requests and feedbacks here:    http://sourceforge.net/tracker/?group_id=253892&atid=1126921    

 

Please, submit your bug reports here:    http://sourceforge.net/tracker/?group_id=253892&atid=1126920  

0 Kudos

955 Views
Obetz
Contributor III
"fslunpack" is annoying.
0 Kudos