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: RE : Understanding CYGNUM_HAL_RTC_PERIOD NUMERATOR DENOMINATOR


On Thu, 2006-06-22 at 13:56 +0100, David Fernandez wrote:
> On Wed, 2006-06-21 at 09:19 +0200, FALL wrote:
> > Good Day, I have successfully compiled and ran ecos on an oki platform.
> > I am however not understanding how to setup the NUMERATOR DENOMINATOR
> > RTC_PERIOD per my platform specs. I have read the documentation but I am
> > still not clear on what values I should use.  Specifically, my processor
> > is runningat 33Mhz, when the hal_clock_initialize is called, what is the
> > relationship between that and the above mentioned values.
> > 
> > Moussa
> > hi Moussa try this config:
> > cdl_component CYGNUM_HAL_CPUCLOCK {
> >         display       "cpu clock"
>           display       "cpu clock (Mhz.)"
> >         flavor        data
> >         calculated 33000000
> > 	no_define
> > 	define -file system.h CYGNUM_HAL_CPUCLOCK
> >         description   "Frequency of cpu clock in Hz."
> >     }
> > ....
> > # Real-time clock/counter specifics
> >     cdl_component CYGNUM_HAL_RTC_CONSTANTS {
> >         display       "Real-time clock constants"
> >         flavor        none
> > 
> >         cdl_option CYGNUM_HAL_RTC_NUMERATOR {
> >             display       "Real-time clock numerator"
>               display       "Real-time clock numerator (nanoseconds per second)"
> >             flavor        data
> >             default_value 1000000000
> >         }
> >         cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
> >             display       "Real-time clock denominator"
>               display       "Real-time clock denominator (wraps per second)"
> >             flavor        data
> >             default_value 100
> >         }
> >         cdl_option CYGNUM_HAL_RTC_PERIOD {
> >             display       "Real-time clock period"
>               display       "Real-time clock period (ticks per wrap)"
> >             flavor        data
> >             default_value (CYGNUM_HAL_CPUCLOCK/CYGNUM_HAL_RTC_DENOMINATOR) -1
> >         }
> >     }
> 
> The way I see that in my intel platform is as modified above.
> 
> The DENOMINATOR allows you to calculate ticks and specifies the OS timer
> "tick" (usually 10 milliseconds)
> 
> The NUMERATOR allows you to convert periods into frequencies and
> viceversa (periods in nanoseconds to/from frequencies in Mhz.)
> 
> The only reason you want to change DENOMINATOR is to get a different
> time granularity in the OS.
> 
> The only reason you want to change the NUMERATOR is if you need to use
> different units of periods or frequencies becuase may be that the
> calculi you need to do exceeds the numerical capacity of your scalar
> types.
> 
> David.

WARNING: The NUMERATOR value is used when programing some hardware
timer... but hardware could impose limitations on this value that should
be noted in the cdl legal_values..., lets say for example, that if your
CPU/Timer frequency is very high, and your hardware timer counter
register is small (16 bit for example), you can't get good values for
small PERIODs, because won't fit in 0-65535 range.


-- 
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]