EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024 
<== Date ==> <== Thread ==>

Subject: EPICS IOC BOOTP timeout at RTEMS on MVME6100
From: chengsn via Tech-talk <tech-talk at aps.anl.gov>
To: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Mon, 27 Jun 2022 18:08:50 +0800 (GMT+08:00)

Hello All,

I tried to run RTEMS5 + EPICS7 at mvme6100, and I followed the steps in https://epics.mpg.de/index.php?n=Software.EPICSRTEMS?userlang=en to build RTEMS5 for MVME6100.

The configure:

../../rtems/configure --enable-maintainer-mode --prefix=/home/chengsn/RTEMS/MVME6100/RTEMS/rtems-5 --target=powerpc-rtems5 --enable-rtemsbsp=beatnik --enable-posix --enable-cxx --enable-networking  --enable-tests


I also added rtems-libbspext to RTEMS5.


Then, I built EPICS7 like this:


$ cd ~/RTEMS/MVME6100/EPICS 

$ wget https://epics.anl.gov/download/base/base-7.0.6.1.tar.gz.

$ tar Jxf base-7.0.6.1.tar.gz

$ cd base-7.0.6.1.tar.gz

And I changed some file:

$ vim configure/CONFIG_SITE

-CROSS_COMPILER_TARGET_ARCHS=
+CROSS_COMPILER_TARGET_ARCHS=RTEMS-beatnik
$ vim configure/os/CONFIG_SITE.Common.RTEMS

+RTEMS_VERSION = 5
+RTEMS_BASE = /home/chengsn/RTEMS/MVME6100/RTEMS/rtems-$(RTEMS_VERSION)

$ vim configure/os/CONFIG.Common.RTEMS-beatnik

+ARCH_DEP_CFLAGS += -DRTEMS_LEGACY_STACK
+ARCH_DEP_CFLAGS += -DBSP_NVRAM_BASE_ADDR=0xf1110000

Then,

$ make -j20

After I created an APP, I ran the bin/RTEMS-beatnik/timing.boot file on the MVME6100 and got the following output:


MVME6100> tftpGet -a4000000 -c10.1.201.21 -s10.1.201.31 -g10.1.201.1 -m255.255.255.0 -d/dev/enet0 -fmv6100/bin/RTEMS-beatnik/timing.boot
Network Loading from: /dev/enet0
Loading File: mv6100/bin/RTEMS-beatnik/timing.boot
Load Address: 04000000
Download Buffer Size = User Defined

Client IP Address      = 10.1.201.21
Server IP Address      = 10.1.201.31
Gateway IP Address     = 10.1.201.1
Subnet IP Address Mask = 255.255.255.0

Network File Load in Progress...

Bytes Received =&5171112, Bytes Loaded =&5171112
Bytes/Second   =&2585556, Elapsed Time =2 Second(s)
MVME6100> netShut
/dev/enet0                 Disabled
/dev/enet1                 Disabled
MVME6100> go -a4000000
-----------------------------------------
config addr is 0xf1000cf8
config data is 0xf1000cfc
Welcome to RTEMS rtems-5.0.0 (PowerPC/Generic (classic FPU)/beatnik)
CPU: MPC7457
Board Type: MVME6100-0163 (S/N E045944)
Bus Clock Freq:   133333333 Hz
CPU Clock Freq:  1266666654 Hz
Memory:           536870912 bytes
-----------------------------------------
Now BSP_mem_size = 0x1fe00000
Configuration.work_space_size = 201ac30
Page table setup finished; will activate it NOW...
Going to start PCI buses scanning and initialization
Number of PCI buses found is : 3
MSR 0x2003032
Exit from bspstart
unable to find the universe in pci config space
Tundra Tsi148 PCI-VME bridge detected at 0x81100000, IRQ 84
Tsi148 Outbound Ports:
Port  VME-Addr   Size       PCI-Adrs   Mode:
0:    0x20000000 0x0e000000 0x90000000 A32, SUP, D32, SCT
1:    0x00000000 0x00ff0000 0x9f000000 A24, SUP, D32, SCT
2:    0x00000000 0x00010000 0x9fff0000 A16, SUP, D32, SCT
7:    0x00000000 0x01000000 0x9e000000 CSR, SUP, D32, SCT
Tsi148 Inbound Ports:
Port  VME-Addr   Size       PCI-Adrs   Mode:
0:    0x90000000 0x1fe00000 0x00000000 A32, PGM, DAT, SUP, USR, MBLT, BLT
vmeTsi148 IRQ manager: looking for registers on VME...
Trying to find CSR on VME...
vmeTsi148 - IRQ manager using VME CSR to flush FIFO
Registering /dev/console as minor 0 (==/dev/ttyS0)
WARNING: OS Clock time was read before being set.
Using 1990-01-0
2  i0n0i:t0C0o:n0s0o.l0e0 0-0-0-0  IUnTfCo
 ---
stdin: fileno: 0, ttyname: /dev/console
stdout: fileno: 1, ttyname: /dev/console
stderr: fileno: 2, ttyname: /dev/console
time set to : 04/14/14 07:30:06.000000689 UTC
Startup.
epicsThreadSetPriority called by non epics thread

***** RTEMS Version: rtems-5.0.0 (PowerPC/Generic (classic FPU)/beatnik) *****

***** Initializing network (Legacy Stack)  *****
Link detected; attaching mve1
bootpc_init: using network interface 'mve1'
bootpc hw address is 0:1:af:31:5e:76
BOOTP timeout for server 255.255.255.255
BOOTP call failed -- error 116BOOTP timeout for server 255.255.255.255
BOOTP call failed -- error 116BOOTP timeout for server 255.255.255.255
...

Even if I set some environment variables, there is no change:

mot-/dev/enet0-cipa= 10.1.201.21
mot-/dev/enet0-sipa= 10.1.201.31
mot-/dev/enet0-snma= 255.255.255.0
mot-/dev/enet0-file= mv6100/bin/RTEMS-beatnik/timing.boot
rtems-client-name= TEST0
epics-script= mv6100/st.cmd

I thought the function setBootConfigFromNVRAM()(in base/module/RTEMS/posix/rtems_init.c:952) does not work.

So I added some printf statements to see the value of the variable rtems_bsdnet_config.bootp:(the numbers 952 and 954 are the line numbers)

#ifdef RTEMS_LEGACY_STACK
    if (epicsRtemsInitPreSetBootConfigFromNVRAM(&rtems_bsdnet_config) != 0)
        delayedPanic("epicsRtemsInitPreSetBootConfigFromNVRAM");

+   printf("952-rtems_bsdnet_config.bootp:%x\n",rtems_bsdnet_config.bootp);
    if (rtems_bsdnet_config.bootp == NULL) {

+       printf("954-rtems_bsdnet_config.bootp:%x\n",rtems_bsdnet_config.bootp);
        extern void setBootConfigFromNVRAM(void);
        setBootConfigFromNVRAM();
    }
    if (epicsRtemsInitPostSetBootConfigFromNVRAM(&rtems_bsdnet_config) != 0)
        delayedPanic("epicsRtemsInitPostSetBootConfigFromNVRAM");
#endif

the OUTPUT:

...

time set to : 04/14/14 07:30:06.000000689 UTC
Startup.

952-rtems_bsdnet_config.bootp:29740c
epicsThreadSetPriority called by non epics thread

***** RTEMS Version: rtems-5.0.0 (PowerPC/Generic (classic FPU)/beatnik) *****

***** Initializing network (Legacy Stack)  *****
Link detected; attaching mve1
bootpc_init: using network interface 'mve1'
bootpc hw address is 0:1:af:31:5e:76
BOOTP timeout for server 255.255.255.255
BOOTP call failed -- error 116BOOTP timeout for server 255.255.255.255
BOOTP call failed -- error 116BOOTP timeout for server 255.255.255.255
...


What should I do to solve this problem?

I do not know what is causing the BOOTP timeout.


Thank you!

chengsn

IHEP


Replies:
Re: EPICS IOC BOOTP timeout at RTEMS on MVME6100 chengsn via Tech-talk

Navigate by Date:
Prev: Re: EPICS Collaboration Meeting September 2022 in Ljubljana Minca Čufer via Tech-talk
Next: Re: Phoebus MBBO labels Kasemir, Kay via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024 
Navigate by Thread:
Prev: Re: Phoebus MBBO labels Kasemir, Kay via Tech-talk
Next: Re: EPICS IOC BOOTP timeout at RTEMS on MVME6100 chengsn via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024 
ANJ, 14 Sep 2022 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·