Author Topic: FreeRTOS + TCP  (Read 3565 times)

0 Members and 1 Guest are viewing this topic.

Offline ehughesTopic starter

  • Frequent Contributor
  • **
  • Posts: 409
  • Country: us
FreeRTOS + TCP
« on: April 05, 2017, 04:11:30 pm »
Has anyone here used the TCP stack from FreeRTOS?   

Any undocumented gotcha's?
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9890
  • Country: us
 

Offline ehughesTopic starter

  • Frequent Contributor
  • **
  • Posts: 409
  • Country: us
Re: FreeRTOS + TCP
« Reply #2 on: April 05, 2017, 06:57:54 pm »
Thanks.   I was aware of the forum.    I was really looking for people who really have an opinion in a neutral forum.   
 

Offline aandrew

  • Frequent Contributor
  • **
  • Posts: 277
  • Country: ca
Re: FreeRTOS + TCP
« Reply #3 on: April 05, 2017, 11:48:49 pm »
I have used LwIP with FreeRTOS on three different STM32 platforms now (two Ethernet, one PPP).

No real gotchas, just a considerable learning curve. Much of the documentation is dated. You'll want to get cozy with your debugger of choice and learn to love printf and/or LED debugging.  It *does* work though. I've used it for TCP and UDP, and while I haven't done anything crazy with ICMP (just used what was built in), it does appear to work.
 

Offline ehughesTopic starter

  • Frequent Contributor
  • **
  • Posts: 409
  • Country: us
Re: FreeRTOS + TCP
« Reply #4 on: April 06, 2017, 01:11:53 am »
We currently have LWIP working but it is a bit of a mess.   In particular the documentation.    We have to get several higher layer protocols working and have been dealing with oddities with basic TCP communications.  Things generally appear to work but there have been some weird things that have been difficult to track down.

It seems that we have to dedicate someone to becoming an expert at with the quirks.     The money sink so far has been time in just learning the code base.

The quality of FreeRTOS and it's documentation has been very good so I thought I would see if anyone has used their TCP stack with success in a project.

http://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/

The other option is to look into a quality commercial stack.

The plan was to get everything working in their Windows environment to kick the tires and then bring it into the embedded environment (LPC43xx)

I'll report back with how it goes.
 

Offline ehughesTopic starter

  • Frequent Contributor
  • **
  • Posts: 409
  • Country: us
Re: FreeRTOS + TCP
« Reply #5 on: May 24, 2017, 03:30:46 pm »
We are a few weeks into development and the FreeRTOS TCP stack is very nice.     LWIP is now in the rear view mirror.

1.)   Using the the Win32 port for development is very convenient.   While it is not "real-time",  it is a good way to work out some of the logic and get moving right away.     We are doing quite a bit of the prototyping work now (we have to talk to another device via some REST API calls and parse the JSON responses).

2.)   All of the documention is *lightyears* better than LWIP.  It actually works out of the box and the examples are very clear.   The source code is simple to look at and follows a coding standard.

3.)  The API is essentially BSD sockets.    most of the struct names, etc just have FreeRTOS_  in front of them.


 
The following users thanked this post: nctnico, abraxa

Offline Kalvin

  • Super Contributor
  • ***
  • Posts: 2145
  • Country: fi
  • Embedded SW/HW.
Re: FreeRTOS + TCP
« Reply #6 on: May 24, 2017, 03:36:16 pm »
Any experience or comments on LwIP version 2.0.2 IPv4 and IPv6? Any major gotchas?
 

Offline coppice

  • Super Contributor
  • ***
  • Posts: 8646
  • Country: gb
Re: FreeRTOS + TCP
« Reply #7 on: May 24, 2017, 03:50:12 pm »
We are a few weeks into development and the FreeRTOS TCP stack is very nice.     LWIP is now in the rear view mirror.

1.)   Using the the Win32 port for development is very convenient.   While it is not "real-time",  it is a good way to work out some of the logic and get moving right away.     We are doing quite a bit of the prototyping work now (we have to talk to another device via some REST API calls and parse the JSON responses).

2.)   All of the documention is *lightyears* better than LWIP.  It actually works out of the box and the examples are very clear.   The source code is simple to look at and follows a coding standard.

3.)  The API is essentially BSD sockets.    most of the struct names, etc just have FreeRTOS_  in front of them.
How does the density (RAM and Flash) compare to LwIP? It seems like the use of the BSD sockets API is going to incur more RAM usage than LwIP.
 

Offline Kjelt

  • Super Contributor
  • ***
  • Posts: 6460
  • Country: nl
Re: FreeRTOS + TCP
« Reply #8 on: May 24, 2017, 06:20:39 pm »
Flash 35k or 20k depending on the compiler settings see:
http://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/index.html
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf