EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: RE: registerRecordDeviceDriver Problem
From: "Kim, Kukhee" <[email protected]>
To: "'Marty Kraimer'" <[email protected]>
Cc: <[email protected]>, "'Chestnut, Ronald P.'" <[email protected]>
Date: Wed, 4 Feb 2004 09:36:49 +0900
Dear Marty;

I just figured out what is the problem.  One of my VME module was broken.
So, it makes hanging the CPU when I touch any VME address space.  The
registration procedure is OK. I bark up the wrong tree :-)

Thank you for your helps.
-----------------
Kukhee Kim
Instrument & Control, KSTAR
Korea Basic Science Institute
52 Yeoeun-dong, Yusung-gu, Daejeon 305-333
Korea
Email: [email protected]
Tel: +82 42 870 1616     Fax: +82 42 870 1609      Cell: +82 17 513 4849


-----Original Message-----
From: Marty Kraimer [mailto:[email protected]] 
Sent: Wednesday, February 04, 2004 12:08 AM
To: Kim, Kukhee
Cc: [email protected]
Subject: Re: registerRecordDeviceDriver Problem


I don't see anything wrong. Here is a suggestion about how to proceed.

Make the following change to your source

static void epicsShareAPI drvVmivme5565Registrar(void)
{

to

void drvVmivme5565Registrar(void)

Thus temporily make this external instead of static

Now comment out everything in your st.cmd file starting with

rfm_registerRecordDeviceDriver(pdbbase)


Now boot you IOC and then

sp drvVmivme5565Registrar

What happens?

Kim, Kukhee wrote:
> Dear ALL;
> 
> I am trying to make vmivme5565 RFM(Reflective Memory) supports on
R3.14..4.
> Now, I almost finished driver layer but I have a problem on the
registration
> of iocsh commands.  The vxWorks target shell was stopped when I executed
> "rfm_registerRecordDeviceDriver(pdbbase)" command.   I guess,  just one
line
> in my code
> -"iocshRegister(&vmivme5565_initFuncDef,vmivme5565_initCallFunc);"  - is
> involved with this problem.  Because, if I commented it out, the "rfm_
> registerRecordDeviceDriver" command is working.  I am going to attach a
part
> of my code. Would you check what is making the problem?
> 
> 
> /* Registrar vmivme5565_init command */
> static const iocshArg vmivme5565_initArg0 = {"card",   iocshArgInt};
> static const iocshArg vmivme5565_initArg1 = {"sram",   iocshArgInt};
> static const iocshArg vmivme5565_initArg2 = {"regs",   iocshArgInt};
> static const iocshArg vmivme5565_initArg3 = {"level",  iocshArgInt};
> static const iocshArg vmivme5565_initArg4 = {"vector", iocshArgInt};
> 
> static const iocshArg * const vmivme5565_initArgs[5] = {
> &vmivme5565_initArg0,
>  
> &vmivme5565_initArg1,
>  
> &vmivme5565_initArg2,
>  
> &vmivme5565_initArg3,
>  
> &vmivme5565_initArg4};
> static const iocshFuncDef vmivme5565_initFuncDef = {"vmivme5565_init",
>                                                     5,
>                                                     vmivme5565_initArgs};
> static void vmivme5565_initCallFunc(const iocshArgBuf *args)
> {
>     vmivme5565_init((unsigned long)args[0].ival,
>                     (unsigned long)args[1].ival,
>                     (unsigned long)args[2].ival,
>                     (unsigned char)args[3].ival,
>                     (unsigned char)args[4].ival);
> }
> 
> static const iocshArg vmivme5565_testIRQArg0 = {"seconds",
iocshArgDouble};
> static const iocshArg * const vmivme5565_testIRQArgs[1] = {
> &vmivme5565_testIRQArg0 };
> static const iocshFuncDef vmivme5565_testIRQDef = {"vmivme5565_testIRQ",
>                                                     1,
>
vmivme5565_testIRQArgs};
> static void vmivme5565_testIRQCallFunc(const iocshArgBuf *args)
> {
>     vmivme5565_testIRQ(args[0].dval);
> }
> 
> static void epicsShareAPI drvVmivme5565Registrar(void)
> {
>     static int firstTime = TRUE;
> 
>     if(firstTime) {
>         firstTime=FALSE;
> 
> /* !!!comment out this line!!! */
> iocshRegister(&vmivme5565_initFuncDef,vmivme5565_initCallFunc);
>         iocshRegister(&vmivme5565_testIRQDef,vmivme5565_testIRQCallFunc);
>     }
> }
> epicsExportRegistrar(drvVmivme5565Registrar);
> 
> 
> -----------------
> Kukhee Kim
> Instrument & Control, KSTAR
> Korea Basic Science Institute
> 52 Yeoeun-dong, Yusung-gu, Daejeon 305-333
> Korea
> Email: [email protected]
> Tel: +82 42 870 1616     Fax: +82 42 870 1609      Cell: +82 17 513 4849
> 
> 
> 
> 






References:
Re: registerRecordDeviceDriver Problem Marty Kraimer

Navigate by Date:
Prev: Re: registerRecordDeviceDriver Problem Marty Kraimer
Next: ChannelArchiver and gcc 3.2.2 on linux Peter Groszkowski
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: registerRecordDeviceDriver Problem Marty Kraimer
Next: Device Support for Keithley 486 Thomas Hahn
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·