[GSoC 2020: Daily Update]: Building EPICS with RTEMS5

Chris Johns chrisj at rtems.org
Tue Jul 14 04:08:04 UTC 2020


On 12/7/20 12:46 am, Heinz Junkes wrote:
> It's not my experience.
> 
> I made my first attempts with RTEMS5 for a beatnik-board (MVME6100).
> For this I created the BSP like this:
> 
>  cd build/b-beatnik
>     ../../rtems/configure --enable-maintainer-mode --prefix=$HOME/RTEMS/rtems-5
> --target=powerpc-rtems5 --enable-rtemsbsp="beatnik" --enable-posix --enable-cxx
> --enable-networking
> 
> Through "--enable-networking" I was able to use the "old" rtems-bsdnet. With
> NTP, NFS etc. .

We call the stack in the rtems source tree the `legacy` stack.

> At the moment I am in the process of using the "new" netbsd. 

The new stack is called 'libbsd'.

I think it will help to use common terms.

> For this I am no
> longer allowed to specify "--enable-networking" when building the bsp. 

Correct.

> That's what it says in the documentation and it works.

Correct.

> The old NFS also works with it, it just lacks NTP (or PTP).

Yes the NFS client stack works with both networking stacks. I am looking at PTP
but I will not have anything in the near term.

> And what I still miss very much is the support for the RTC

Do you mean an RTC driver and chip support or do you mean NTP kernel support in
RTEMS?

> and above all the libpci to access the vmebus.

Do you mean libvme? Why use a PCI bus interface with the VME bus?

The libbsd stack has a generic bus interface.

> So I played a little with xilinx-zynq and beaglebone. Now I make the rtems_init
> at EPICS dependent on
> xilinx_zynq_zedboard/make/bsp.cfg:HAS_NETWORKING = no (new bsdlib)
> beatnik/make/bsp.cfg:HAS_NETWORKING = yes (old rtemsbsd code)

Great. This will help. The rtems_waf repo has this code to detect the setting ...

https://git.rtems.org/rtems_waf/tree/rtems.py#n355

>> On 11. Jul 2020, at 00:14, Joel Sherrill <joel at rtems.org
>> <mailto:joel at rtems.org>> wrote:
>>
>> If the code needs rtems-libbsd, then you MUST build fill with
>> --disable-networking.

Building libbsd will detect if the legacy stack has been built during the
configure stage.

Chris


More information about the devel mailing list