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: CYGACC_CALL_IF_DELAY_US(1000000) fails


Uwe Kindler wrote:

Hello,

if I call  CYGACC_CALL_IF_DELAY_US(1000000) in order to delay one second,
then this call returns a lot
faster then 1 second. When I debug the code, then I can see, that
HAL_DELAY_US provided by the HAL
is only used if no kernel package is included. HAL_DELAY_US(1000000) works
fine.

If the kernel package is included, the the following calculation takes
place:

// How many ticks total we should wait for.
usec_ticks = usecs*CYGNUM_KERNEL_COUNTERS_RTC_PERIOD;


This is already fixed in CVS.

PS:

There are better ways to wait for 1 second if you are using the kernel -
CYGACC_CALL_IF_DELAY_US is a busy wait.

savin



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