Experimental Physics and Industrial Control System
Dear Madam/Sir,
At present time, I port IOC codes from VxWorks to LynxOS/x86 platform.
I emulate VxWorks calls by LynxOS features.
I attach the list emulated VxWorks calls to end this letter. I do not
emulate some libraries supports BSP calls. Because this functions would be
executed by UNIX drivers. I do not compile iocCore completely yet.
Now I port data base, and I find difficulty in doing 'symbol table
subroutine library'.
EPICS uses following symLib calls:
1) symFindByNameEPICS(...) is equal to symFindByName(...)
2) symFindByNameAndTypeEPICS(..)is equal to symFindByNameAndType(...)
3) symFindByValue(...)
4) symTblCreate(...)
5) symAdd(...)
6) symRemove(...)
EPICS uses sysSymTbl as pointer to symbol table. I do not find <creation
of symbol table> in IOC codes.
1-st question :
---------------
IOC uses system symbol table which spawned by
tornado/target/config/mv167/symTabl.c
Is it correct?
2-nd question:
----------------
How can search a pointer (or address) this symbol table in vxWorks?
I guess that I can read all SYMBOL structures from this table and create
area with same structure in iocCore. This area will contain only EPICS
entries from symbol table.
So, tornado/target/config/mv167/symTabl.c contains
SYMBOL standTbl[2424] { ... ,};
vxWorks uses definitions
typedef SYMTAB *SYMBAB_ID;
SYMBAB_ID sysSymTbl;
Please, explain , is the pointer of standTbl disposed in struct
symtab SYMTAB?
If you will interest this IOC development at LynxOS, I will glad to
transfer this codes to you. And I will hear your comments about this work.
Thanks.
Best Regards,
Tatiana
------------------------------------
Budker Institute of Nuclear Physics
prospekt Lavrentev 11
630090, Novosibirsk, RUSSIA
fax +7 3832 342163
phone +7 3832 394977
--------------------------------------------------------------
1 bLib.h IT WORKS
rsrv/caservertask.c
cast_server.c
online_notify.c
bfill()
-----------------------------------------------------
2 bootLib.h IT WORKS
This library is used by
db/drvTS.c
bootStringToStruct() is equal to
gettimeofday()
libvxWorks/iocLogClient.c
dev/...
drv/...
-----------------------------------------------------
3 dbgLib.h IT does not WORKS
This lybrary is used by
ca/os_depen.h
-----------------------------------------------------
4 errnoLib.h IT WORKS
-----------------------------------------------------
5 envLib.h IT WORKS
EPICS uses putenv & getenv only
-----------------------------------------------------
6 fioLib.h IT WORKS
This lybrary is used by
db/db_access.c
EPICS can uses
vprintf <stdio.h>
vsprintf <varargs.h>
-----------------------------------------------------
7 hostLib IT does not WORKS
Only libCom/os/vxWorks/bsdSockResource.c uses
hostGetByAddr
hostGetByName
-----------------------------------------------------
8 inetLib.h IT WORKS
it is analog of LynxOS libbsd
Differences:
Only libCom/os/vxWorks/bsdSockResource.c uses
inet_ntoa_b
-----------------------------------------------------
9 intLib.h IT does not WORKS
UNIX drivers executes this functions ONLY!!!
This lybrary is used by
db/callback.c
db/dbScan.c
db/devLibVxWorks.c
db/drvTS.c
libCom/errlogVX.c
libvxWorks/bus_error_recovery.c
libvxWorks/timerLib.c
libvxWorks/veclist.c
dev/...
drv/...
-----------------------------------------------------
10 ioLib.h IT WORKS
contains close(), create(), ioctl() ...
Differences:
sequencer/seq_main.c uses ioGlobalStdGet()
it changes the assignment of spec file
descriptions: 0 - input, 1 - output, 2 - error
-----------------------------------------------------
11 iosLib.h IT does not WORKS
This lybrary is used by
src/devOpt/
src/dev/apsDev
src/dev/vxStatusDev
src/drv/old
-----------------------------------------------------
12 logLib.h IT WORKS
-----------------------------------------------------
13 lstLib.h IT WORKS
-----------------------------------------------------
14 memLib.h IT WORKS
-----------------------------------------------------
15 moduleLib.h IT does not WORKS
This lybrary is used by
libvxWorks/ldpp.c
libvxWorks/ldpp_new.cc
-----------------------------------------------------
16 msqQLib.h IT does not WORKS
-----------------------------------------------------
17 rebootLib.h IT WORKS
This lybrary is used by
libvxWorks/iocLogClient.c
dev/...
drv/...
------------------------------------------------------
18 remLib.h IT WORKS
This lybrary is used by
ca/vxWorks_depen.c
-----------------------------------------------------
19 rngLib.h IT WORKS
-----------------------------------------------------
20 selectLib.h IT WORKS
EPICS uses select only
select() witch is same as LynxOS select()
-----------------------------------------------------
21 semLib.h IT WORKS
-----------------------------------------------------
22 sockLib.h IT WORKS
It provides 4.3 BSD socket calls
DIFFERENCES:
libvxWorks/iocLogClient.c uses connectWithTimeout()
-----------------------------------------------------
23 stdioLib.h containes "stdio.h" only
-----------------------------------------------------
24 strLib.h containes "string.h" only
-----------------------------------------------------
25 symLib.h IT does not WORKS
-----------------------------------------------------
26 sysLib.h IT WORKS
sysClkRateGet was done,
other calls supports BSP of VxWorks
-----------------------------------------------------
27 taskHookLib.h IT WORKS
-----------------------------------------------------
28 taskInfo.h IT WORKS
-----------------------------------------------------
29 taskLib.h IT WORKS
-----------------------------------------------------
30 tasVarLib IT does not WORKS
ca/os_depend.h
vxWorks_depen.c
access.c
sequenser/seq_ca.c
seq_task.c
-----------------------------------------------------
31 tickLib.h IT WORKS
-----------------------------------------------------
32 timerLib.h IT does not WORKS
This lybrary is used by
libvxWorks/timerLib.c
drv/ansi
-----------------------------------------------------
33 timexLib.h IT does not WORKS
timexN is used by db/dbTest.c only.
-----------------------------------------------------
34 usrLib.h IT WORKS
Big part of this library contains standard UNIX set calls
This lybrary is used by
libvxWorks/ldpp.c
libvxWorks/ldpp_new.cc
rsrv/caservertask.c
rsrv/cast_server.c
rsrv/rsrv_init.c
sequencer/seq_main.c
sequencer/seq_qry.c
-----------------------------------------------------
35 vxLib.h IT does not WORKS
UNIX drivers executes this functions ONLY!!!
routines from BSP of VxWorks
This lybrary is used by
ca/os_depen.h
db/dbBkpt.c
db/dbAccess.c
db/dbEvent.c
db/dbFastLinkConv.c
db/dbScan.c
db/devLibVxWorks.c
db/fast_lock.h
db/taskwd.c
libCom/errlogVX.c
libvxWorks/veclist.c
rec/recDynLink.c
rec/recWaitCa.c
rsrv/server.h
dev/...
drv/...
-----------------------------------------------------
36 wdLib.h IT WORKS
- Replies:
- Re: symLib Andrew Johnson
- Navigate by Date:
- Prev:
CapFast source code release Dr. Chong Lee
- Next:
drvGpib.c Ned Arnold
- 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
2022
2023
2024
- Navigate by Thread:
- Prev:
CapFast source code release Dr. Chong Lee
- Next:
Re: symLib Andrew Johnson
- 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
2022
2023
2024