Intel Galileo Gen2 and FreeRTOS TCP

jordiblasi wrote on Wednesday, July 06, 2016:

Hi,

I have FreeRTOS running on a Intel Galileo Gen 2 board. I am trying to set up the network but I am not sure which driver it is supposed to be using. i have been searching for any reference but I have been unable to find it. Is it supported? Which one should I choose?

Thanks.

Jordi

rtel wrote on Wednesday, July 06, 2016:

I’m not aware of a driver that is specific for the FreeRTOS+TCP stack,
but there are other drivers around for the Galileo Ethernet port. You
will have to create a FreeRTOS+TCP driver (and if so, please post it to
the FreeRTOS Interactive site), and probably the easiest thing to do
would be to base it on whatever drivers Intel are providing themselves.

jordiblasi wrote on Wednesday, July 06, 2016:

I am not sure if I am capable of creating a raw driver by my own. Do you have any basic structure or starting point so I can do some research and try? If I get it to work I will happily share it.

rtel wrote on Wednesday, July 06, 2016:

Very broadly speaking, and oversimplifying, there are two phases to
creating a driver:

  1. Set up the hardware so that packets can be sent onto the network and
    received from the network.

In this step, you could read the user manual, and then create lots of
very low level code to enable, clock and initialise the MAC…or as per
my previous email you could take a working driver provided for you by
Intel (or whoever). I think their driver is open source.

  1. Once you have the hardware inputting and outputting, stitch it into
    the FreeRTOS+TCP stack.

If the hardware is happily reading and writing, then this step should be
straight forward as there are only a couple of functions that are needed.

There are examples in the FreeRTOS+TCP download already, in the
FreeRTOS_Plus_TCP\Multi_IPv6_Branch\FreeRTOS-Plus\Source\FreeRTOS-Plus-TCP\portable\NetworkInterface
directory. There is also some information on the web site:
http://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/Embedded_Ethernet_Porting.html

heinbali01 wrote on Wednesday, July 06, 2016:

Sure, there are several examples. Have a look at any of these drivers:

    FreeRTOS-Plus-TCP/portable/NetworkInterface/STM32Fxx
    FreeRTOS-Plus-TCP/portable/NetworkInterface/Zynq
    FreeRTOS-Plus-TCP/portable/NetworkInterface/ATSAM4E

For simplicity, I would start with a driver that is not zero-copy.
If you encounter problems, there is a forum to ask question :slight_smile:

jordiblasi wrote on Wednesday, July 06, 2016:

For sure I will… :slight_smile:

jordiblasi wrote on Wednesday, July 06, 2016:

Ok. Thanks. I guess I have some reading pending.