[okl4-developer] from version 2.1 to 3.0: something changed with register_event? vlcd_server not working anymore

Dennis Gessner d.gessner at sirrix.com
Tue Feb 10 21:58:02 EST 2009


Hello everyone,

I have some problems with porting my applications from version 2.1 to
version 3.0. I'm using iguana and I need the vlcd-server (gta01 device).
What I've done:

edited "platform/s3c2410/tools/machines.py"

-> ("s3c2410_lcd", "vlcd", memory_lcd, interrupt_lcd),

so it is not commented out any more (why was it?).

Now I get the following message while compiling:

----
./tools/build.py machine=gta01 project=iguana pyfreeze=false
TOOLCHAIN=gnu_arm_eabi_toolchain pistachio.TOOLCHAIN=gnu_arm_toolchain ----
[CC  ] build/iguana/vlcd/object/src/lcd_server.o
iguana/vlcd/src/lcd_server.c: In function 'main':
iguana/vlcd/src/lcd_server.c:271: warning: implicit declaration of
function 'thread_l4tid'
iguana/vlcd/src/lcd_server.c:271: error: incompatible type for argument
1 of 'register_event'
scons: *** [build/iguana/vlcd/object/src/lcd_server.o] Error 1
scons: building terminated because of errors.


---- line 271 in lcd_server.c ----
register_event(thread_l4tid(env_thread(iguana_getenv("MAIN"))), 0x1000,
EV_WOMBAT_SWITCH);

Now I tried to find out, how other iguana servers use register_event and
found out:

---- grep "register_event(" ./ -R ----
./vtouch/src/touch_server.c:
register_event(thread_l4tid(env_thread(iguana_getenv("MAIN"))), 0x1000,
EV_WOMBAT_SWITCH);
./vlcd/src/lcd_server.c:
register_event(thread_l4tid(env_thread(iguana_getenv("MAIN"))), 0x1000,
EV_WOMBAT_SWITCH);
./vcom/src/com_server.c:
register_event(thread_l4tid(thread_myself()), 0x1000, EV_WOMBAT_SWITCH);
./vspi/src/spi_server.c:
register_event(thread_l4tid(env_thread(iguana_getenv("MAIN"))), 0x1000,
EV_WOMBAT_SWITCH);

But it looks like non of these servers are build anymore in version
3.0... Inside event/event.h register_event is defined with:

-> int register_event(L4_ThreadId_t who, L4_Word_t mask, int ev);

and thread_l4tid is defined:

-> L4_ThreadId_t thread_l4tid(thread_ref_t server);

This does not look wrong!? How can i solve this problem? Any Suggestions
are very welcome.

Best regards,
Dennis



More information about the Developer mailing list