Hello epics-community,
I have set up an IOC under EPICS-BASE-3.15.7 RTEMS-mvme2100 in order to control 9 OMS vme58 Cards. I’m using the latest motor-module (7-2-1) and the latest asyn-modul (4-40-1) with rtems-4.10.2. This is how my RTEMS/IOC
startup on the MVME2100 looks like:
Copyright Motorola Inc. 1988 - 2004, All Rights Reserved
PPC5 Debugger/Diagnostics Release Version 1.1 - 08/20/2004 RM04
COLD Start
Local Memory Found =02000000 (&33554432)
MPU Clock Speed =200Mhz
BUS Clock Speed =67Mhz
WARNING: BUS Clock Speed Does Not Match the Board Configuration
Reset Vector Location : ROM Bank B
Mezzanine Configuration: Single-MPU
Current 60X-Bus Master : MPU0
Idle MPU(s) : NONE
L2Cache: NONE
System Memory: 32MB, Parity NOT Enabled (Non-Parity-Memory Detected)
SelfTest/Boots about to Begin... Press <BREAK> at anytime to Abort ALL
NetBoot about to Begin... Press <ESC> to Bypass, <SPC> to Continue
Network Booting from: DEC21143, Controller 0, Device 0
Device Name: /pci@fec00000/pci1011,19@e,0:0,0
Loading: epics/iocRtems/iocRtems.boot
Client IP Address = 192.168.99.250
Server IP Address = 192.168.99.1
Gateway IP Address = 192.168.99.1
Subnet IP Address Mask = 255.255.255.0
Boot File Name = epics/iocRtems/iocRtems.boot
Argument File Name = /soft/epics/IOC/iocRtems/iocBoot/iocRtems/st.cmd
Network Boot File load in progress... To abort hit <BREAK>
Bytes Received =&1089032, Bytes Loaded =&1089032
Bytes/Second =&544516, Elapsed Time =2 Second(s)
Residual-Data Located at: $01F5511C
Model: Motorola MVME2101 (e2)
Serial: MOT0BC614E
Processor/Bus frequencies (Hz): 200005248/66668416
Time Base Divisor: 4000
Memory Size: 2000000
PCI: Probing PCI hardware
RTEMS 4.x/PPC load:
Uncompressing the kernel...
done
Now booting...
-----------------------------------------
Welcome to rtems-4.10.2(PowerPC/Generic (classic FPU)/mvme2100) on MVME 2100
-----------------------------------------
pci : Configuring interrupt routing for 'MVME 2100'
pci : Device 0:0x00:0 routed to interrupt_line 16
pci : Device 0:0x0D:0 routed to interrupt_line 23
pci : Device 0:0x0E:0 routed to interrupt_line 17
WARNING: unable to allocate page table, keeping DBAT0
WARNING: unable to setup page tables VME bridge must share PCI space
OpenPIC Version 1.2 (1 CPUs and 24 IRQ sources) at 0xFCE40000
OpenPIC Vendor 0 (Unknown), Device 0 (Unknown), Stepping 1
Overriding NumSources (24) from configuration with 16
OpenPIC timer frequency is 8333488 Hz
Universe II PCI-VME bridge detected at 0xFCDFF000, IRQ 23
Universe Master Ports:
Port VME-Addr Size PCI-Adrs Mode:
0: 0x20000000 0x0E000000 0x90000000 A32, D64 [MBLT], Dat, Sup
1: 0x00000000 0x00FF0000 0x9F000000 A24, D64 [MBLT], Dat, Sup
2: 0x00000000 0x00010000 0x9FFF0000 A16, D64, Dat, Sup
Universe Slave Ports:
Port VME-Addr Size PCI-Adrs Mode:
0: 0xC0000000 0x02000000 0x00000000 A32, Pgm, Dat, Sup, Usr, PWEN, PREN
Registering /dev/console as minor 0 (==/dev/ttyS0)
***** RTEMS Version: rtems-4.10.2(PowerPC/Generic (classic FPU)/mvme2100) *****
Startup.
***** Initializing network *****
dec2114x : unit 1 base address FCDFEC00.
dec2114x : driver attached
dec2114x : driver tasks created
dec2114x : 00:01:AF:15:AD:97 name 'dc1', io BFDF80, mem FCDFEC00, int 17
dec2114x: Installing IRQ 17
***** Initializing NFS *****
Mount 192.168.99.1:/soft on /soft
RTEMS-RPCIOD $Release$, Till Straumann, Stanford/SLAC/SSRL 2002, See LICENSE file for licensing info.
RTEMS-NFS $Release$, Till Straumann, Stanford/SLAC/SSRL 2002, See LICENSE file for licensing info.
Warning: No timezone information, times will be displayed in UTC.
***** Starting EPICS application *****
## Example RTEMS startup script
## You may have to change iocRtems to something else
## everywhere it appears in this file
#< envPaths
## Register all support components
dbLoadDatabase("/soft/epics/IOC/iocRtems/dbd/iocRtems.dbd")
iocRtems_registerRecordDeviceDriver(pdbbase)
## Load record instances
#dbLoadTemplate("db/iocRtems.substitutions")
dbLoadRecords("/soft/epics/IOC/iocRtems/db/iocRtems.db", "user=bl")
#var drvOms58debug 10
oms58Setup(9, 0x1000,180,5,2)
iocInit
Starting iocInit
############################################################################
## EPICS R3.15.7
## EPICS Base built Sep 1 2020
############################################################################
Illegal field value PV: OMS58:25000000 motor_init_record_com(): card does not exist!
Illegal field value PV: OMS58:25000001 motor_init_record_com(): card does not exist!
Illegal field value PV: OMS58:25000002 motor_init_record_com(): card does not exist!
.
.
.
.
.
Illegal field value PV: OMS58:25008006 motor_init_record_com(): card does not exist!
Illegal field value PV: OMS58:25008007 motor_init_record_com(): card does not exist!
iocRun: All initialization complete
## Start any sequence programs
#seq(sncxxx, "user=bl")
192.168.99.250>
192.168.99.250> 192.168.99.250>
For some background info: all these 9 cards functioned well with an VxWorks IOC (Base-3.14.12.1, motor-module 6-5-2, asyn-modul 4-16) running on a MVME162/167. I copy-pasted the “oms58Setup(9, 0x1000,180,5,2)” since the
hardware-setup (location of the cards in the vme-crate, jumpers on the cards) stayed the same. I’m trying to switch from VxWorks to RTEMS due to VxWorks-license lack. I did not try to compile an ioc with the older base and modules yet… Maybe that would help?
On the other hand: the newer versions compile fine!
Can someone help me with the missing communication? Also the “192.168.99.250> 192.168.99.250> ” prompt at the end looks weird…
Best regards
Michael