This is the mail archive of the ecos-discuss@sources.redhat.com 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: changing the length of a tick


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


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