[ECOS] C API for timer and watchdog
Jonathan Larmour
jlarmour@redhat.com
Fri Dec 7 10:45:00 GMT 2001
Sam Sortais wrote:
>
> Hi all,
>
> I am using eCos on PC and was hopping to use C API but found different issues:
>
> 1) I noticed a watchdog component in the code, (not found in PC latest doc, maybe under development ?) so I was wondering if it was supported by PC platform.
> Looking at the code it seems support is there and use an emulation mode with RTC.
> However the only interface seems to be in C++ and if I want to do call in C I will have to write a wrapper.
Sorry yes.
> On the same topic I did not found a wrapper for Timer API in C.
> Is the only way to use POSIX interface ?
Actually you can use the C library time() function.
> 2)Still about API, is there anyway (in C) to know what is the current state of a thread ?
There isn't a well defined way, but you can access the "state" member of a
cyg_thread structure. The values are:
RUNNING = 0, // Thread is runnable or running
SLEEPING = 1, // Thread is waiting for something to
happen
COUNTSLEEP = 2, // Sleep in counted manner
SUSPENDED = 4, // Suspend count is non-zero
CREATING = 8, // Thread is being created
EXITED = 16, // Thread has exited
> 3) After loading and starting an application with RedBoot, I was hopping to go back to RedBoot when the application terminate, so I can load a new one. Is it the way it is supposed to work ?
If you load using GDB this happens (when you quit GDB, which sends a "kill"
packet). If you load directly it doesn't.
Jifl
--
Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine
More information about the Ecos-discuss
mailing list