RTEMS NETWORKING

by 10:12 0 comments

RTEMS has a well defined networking support. In this post, I will give a overview of the networking in RTEMS and relevance to GSoC 2015

RTEMS users have two options for networking

1. libnetworking present in the RTEMS master
2.  libbsd based on FreeBSD network stack

Native Libnetworking:


           RTEMS master supports networking using libnetworking library. It can be enabled by "--enable-networking=yes" during configure. There are few config structures we need to define which will enable the network interface. More details are available in the RTEMS network supplement document

rtems-libbsd:


           RTEMS also supports a port of FreeBSD network stack known as "rtems-libbsd". It contains network stack based on FreeBSD 9.3. Applications use rtems base libraries and libbsd network stack.
It is present on a separate repo though it depends on rtems-master for bsp specific code. We can build applications by cloning this repo rtems-libbsd git 

How it works:

1. First we need to build rtems master to get the base libraries.
2. Then we need to install the built files in a directory which is used later. Required files and libraries      like librtemsbsp.a, librtemscpu.a etc are copied
3. We mention this path to rtems-libbsd 
4. Building rtems-libbsd will produce a libbsd.a that contains the object files of the network stack
5. Then applications are built using these libraries which can be found in testsuite directory

With this setup, there is no need to develop new drivers. We can easily port the drivers from FreeBSD. 

More details about rtems-libbsd can be obtained from libbsd.txt

Unknown

Developer

Open Source Ethusiast.

0 comments:

Post a Comment