This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: changing the length of a tick
- From: Tom Coremans <tom dot coremans at acunia dot com>
- To: eCos users <ecos-discuss at sources dot redhat dot com>
- Date: Fri, 01 Mar 2002 10:34:47 +0100
- Subject: Re: [ECOS] changing the length of a tick
- Organization: Acunia
- References: <3C7B9C6D.67FA8FDE@acunia.com> <3C7D6723.C4DCD71F@redhat.com>
Jonathan Larmour wrote:
> Tom Coremans wrote:
> >
> > Hi,
> >
> > I`m trying to change the length of tick to 50 milli seconds with the
> > following code:
> >
> > ________________________
> > cyg_handle_t rclock;
> > cyg_resolution_t res;
> > cyg_uint32 nsec_per_tick = 50000000;
> > res.dividend = nsec_per_tick;
> > res.divisor = 1;
> > rclock = cyg_real_time_clock();
> > cyg_clock_set_resolution(rclock,res);
> > _____________________
> >
> > but when I run a test this doesn`t seem to work.
> > It seems there are still 100 ticks in a second, the default
> > configuration.
> >
> > Does anybody know whats wrong with this?
>
> The configured resolution has to reflect what the clock actually does. In
> this case there is nothing that actually tells the clock hardware to do
> anything other than 100 ticks per second (10000000 ns/tick). It's just that
> now eCos will *think* when it got a tick that is 20 ticks per second.
>
> Look at how the kernel uses the HAL to configure the real hardware and do
> the same thing.
>
I have changed the resolution of the real time clock in the configtool under
an option concerning the hal and now it works fine and the tests run correct.
Is there a way to do this in the code of your application program?
And what do you accomplish by the fact that ecos *thinks* it got 20 ticks a
second?
Thanks,
Tom
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss