This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: How DSR is executed in interrupt ?


Hi,

Andrew wrote,
Which SH processor do you have? Take a look at the code in
sh*/current/src/var_misc.c:hal_interrupt_mask()
SH7709S.
In my ISR(cf.below),calling cyg_drv_interrupt_mask(cpd->interrupt),
and it is defined like next.
packages\hal\common\v2_0\include\drv_api.h(101): #define cyg_drv_interrupt_mask cyg_interrupt_mask
So I presumed
packages\kernel\v2_0\src\common\kapi.cxx(590): externC void cyg_interrupt_mask(cyg_vector_t vector)
/* Interrupt controller access */
externC void cyg_interrupt_mask(cyg_vector_t vector)
{
Cyg_Interrupt::mask_interrupt( (cyg_vector)vector);
}
is called.
Am I mistaken ?
I am especially dubious whether it is correctly called.
My next dubious point is that argument cpd->interrupt is
used as eCos Vector-Table refence pointer.Is it correct to pass the same number to
cyg_drv_interrupt_mask ? But I am sorry I can't fathom it yet.


-- my ISR routine is below
lan91cxx_isr(cyg_vector_t vector, cyg_addrword_t data
            /* , HAL_SavedRegisters *regs */ )
{
   struct eth_drv_sc *sc = (struct eth_drv_sc *)data;
   struct lan91cxx_priv_data *cpd =
       (struct lan91cxx_priv_data *)sc->driver_private;

DEBUG_FUNCTION();

INCR_STAT( interrupts );

   //20070903
   diag_printf("ISR int=%d\n",cpd->interrupt);

   cyg_drv_interrupt_mask(cpd->interrupt);
   cyg_drv_interrupt_acknowledge(cpd->interrupt);
   return (CYG_ISR_HANDLED|CYG_ISR_CALL_DSR);  // Run the DSR
}

You might have a firewall blocking access. Take a look at
www.ecoscentric.com. They have daily snapshots of the CVS trunk.

I abondoned WinCvs1.2 because of executing not properly althoug I nulled firewall.

Instead I used shell command on cygwin and could retrieve latest version( I think ).
I checked cvs version and learned it is 1.11.22.
I created directory for CVS and named it /ecoscvs.
I cd'ed to /ecoscvs,and used next checkout command.


cvs -z3 -d :pserver:anoncvs@ecos.sourceware.org:/cvs/ecos co -P ecos

Though appeared next warning, I ignored.
cvs checkout: warning: failed to open /home/LINK/.cvspass for reading: No such f
ile or directory


Followning short wait period, began downloading and outputting log
on cygwin shell window.
But little time later,it stops and never return to shell prompt.

I tried several times and I am confirmed it always stops same log posion.
I presumed it is caused by something like EOF and assumed
revised-source-proper are downloaded correctlry.

-- next is last part of log when stopped
cvs checkout: Updating ecos/packages/hal/arm/ebsa285/current/support
cvs checkout: Updating ecos/packages/hal/arm/ebsa285/current/support/linux
cvs checkout: Updating ecos/packages/hal/arm/ebsa285/current/support/linux/safl_util
cvs checkout: Updating ecos/packages/hal/arm/ebsa285/current/tests
cvs checkout: Updating ecos/packages/hal/arm/edb7xxx
cvs checkout: Updating ecos/packages/hal/arm/edb7xxx/current
cvs checkout: Updating ecos/packages/hal/arm/edb7xxx/current/cdl
cvs checkout: Updating ecos/packages/hal/arm/edb7xxx/current/include
cvs checkout: Updating ecos/packages/hal/arm/edb7xxx/current/include/pkgconf
cvs checkout: Updating ecos/packages/hal/arm/edb7xxx/current/misc


After that
I replaced newly-downloaded source as follows.

First I copied and reserved current ecos directory C:\cygwin\opt\ecos
by renaminig C:\cygwin\opt\ecos_precvs.
And I copied renewd source from /ecoscvs into corresponding current directoy,
and amended minor target-dependent changed to copied files.


Anyway this is first time I revised source using CVS,I have no confidence about
correct procedures.


Please enlighten me if I mistook something.

Masahiro Ariga


-- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]