I'm using a Microwindows-0.90 on a soft Microblaze processor (on a Xilinx FPGA), running uCLinux (kernel version 2.6.20-uc0), and the Microwindows timer events don't seem to be firing, or they aren't getting caught. I can't get them working in my own code, but what makes me think the problem isn't in my code is when I run the "nxeyes" demo program, the eyes never blink. (The blink code runs off of a Microwindows timer.)

The core timer code is in nanox/srvmain.c, in the (multiple implementations of)
GsSelect().  The idea is that before nano-X server decides to sleep for
a keyboard, mouse or network event, it also calculates when the
next timer should fire, and passes that as an argument to select()
for later wakeup.  Due to differences in OS implementation, this
function is sometimes replaced.  Check closely for your
implementation.

I can run the 0.90 "nxeyes" program on my laptop Redhat Linux system and the eyes blink there, so I believe I'm running the program correctly.

Yes, its likely something to do with the uCLinux kernel, possibly
with flags used to build that kernel.


My embedded uCLinux system has neither a mouse nor a full keyboard, but I don't know if that's relevant to the problem or not.

Likely not, but could contribute to the issue with select() above.  There
should still be at least one file descriptor in select, unless you're
running LINK_APP_INTO_SERVER. If that's the case, you'll
likely need a slightly different method to fire the timers regularly
(or awake from the sleep).

Regards,

Greg


---------------------------------------------------------------------
To unsubscribe, e-mail: nanogui-unsubscr...@linuxhacker.org
For additional commands, e-mail: nanogui-h...@linuxhacker.org

Reply via email to