This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Change system tick during runtime
- From: Gary Thomas <gary at mlbassoc dot com>
- To: Daniel Lidsten <Daniel dot Lidsten at combitechsystems dot com>
- Cc: eCos Discussion <ecos-discuss at sources dot redhat dot com>
- Date: 01 Oct 2003 07:03:25 -0600
- Subject: Re: [ECOS] Change system tick during runtime
- Organization: MLB Associates
- References: <004B1D7A5257174C9044A1B7BD0E60EDDAE739@ratatosk.combitechsystems.com>
On Wed, 2003-10-01 at 06:55, Daniel Lidsten wrote:
> Hi,
>
> Is there any way of changing the system tick during runtime? I have made
> a quick test by letting an application provided variable be used when
> setting the decrementer in the HAL_CLOCK_*-functions. This will make the
> system generate tick more or less often depending on the value set.
> However, the drawback is that the system expects that we have a
> heartbeat of 100Hz and that will differ when changing the decrementer.
> Is there any way to get around this? Is there any way to change the
> CYGNUM_HAL_RTC_DENOMINATOR during runtime so that the change will affect
> every file that use it? I want to be able to have 10000 ticks per second
> but then i also need to let the system know that we have 10000 ticks per
> seconds so that not all timeouts and stuff gets all confused.
>
Are you sure that you want the system clock to run at this high of
a frequency? That means that every 100us you are going to execute
the clock handler, which oft times ends up running the scheduler, etc.
Unless you're on a blazingly fast platform, this seems like too much
overhead.
If you just want higher granularity timers or interrupts, how about
using a second timer for this purpose?
As for changing the clock frequency on the fly, I don't think eCos
is set up for this, nor (IMO) is it a good idea.
Maybe if you explain a little more the *why*, we can give you some
ideas on the *how*.
--
Gary Thomas <gary@mlbassoc.com>
MLB Associates
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss