|
|
Experimental Physics and
| ||||||||||||||
|
|
Hello, I am struggling with converting the mvme2100 with OMS VS4 card system from vxWorks 5.1 to RTEMS 6 EPICS 7.0.10. For RTEMS, I use the same omsSetup() call in the startup script as in vxWorks: #---------------------------------------------------------------------------------------------------------------- Welcome to rtems-6.0.0 (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 Cleared PCI errors: pci_stat was 0x20a0 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 0x4242800640 OpenPIC Vendor 0 (Unknown), Device 0 (Unknown), Stepping 1 Overriding NumSources (24) from configuration with 16 OpenPIC timer frequency is 8333344 Hz BATs must not overlap; area 0x002e0000..0x00300000 hits DBAT 0 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) ntpd: RTEMS service init : : # omsSetup(nCards, baseAddress, intVectBase, intLevel, pollRate) var drvOMSdebug 9 omsSetup(1, 0xFC00, 180, 5, 10) iocInit() Starting iocInit ############################################################################ ## EPICS R7.0.10.1 ## Rev. R7.0.10 ## Rev. Date Git: 2026-03-14 20:49:46 -0700 ############################################################################ recGblRecordError: motor_init_record_com(): card does not exist! Illegal field value PV: LS1:MOT recGblRecordError: motor_init_record_com(): card does not exist! Illegal field value PV: LS1:MOT recGblRecordError: motor_init_record_com(): card does not exist! Illegal field value PV: LS1:MOT vmeread 0xfc00 16 8 16 Reading from 0x0000fc00 A16 D8 Mapped to 0x9ffffc00 0x00000000 00000000 00000000 00000000 00000000 *** Bus errors occurred *** #------------------------------------------------------------------------------------------------------------- The vxWorks based system with the same hardware works fine and shows: localAddr = 0 new symbol "localAddr" added to symbol table. sysBusToLocalAdrs(0x2d, 0xFC00, &localAddr) value = 0 = 0x0 d localAddr, 0x10, 1 f1fffc00: ff 0d ff 00 ff b0 ff 48 ff b4 ff ff ff ff ff ff *.......H........* value = 21 = 0x15 #-------------------------------------------------------------------------------------------------------------- It looks like VxWorks handles VME memory mapping differently than RTEMS, but devLib2 should manage all of that properly. I use the following modules: MOTOR = $(SUPPORT)/motor-R7-3-1 DEVLIB2 = /usr/local/epics/R7.0.10/modules/soft/devlib2 EPICS_BASE = /usr/local/epics/R7.0.10/base I found a similar post on the tech talk: RTEMS/MVME2100 OMS58 card does not exist! error https://epics.anl.gov/tech-talk/2020/msg01714.phpI am wondering what the solution was? Best Regards Mirek
| ||||||||||||||
| ANJ, 11 Apr 2026 |
·
Home
·
News
·
About
·
Talk
·
Base
·
Modules
·
Extensions
·
· Distributions · Download · Documents · Links · Licensing · |