[En-Nut-Discussion] Unix emulation bugs in CVS HEAD

Ole Reinhardt ole.reinhardt at kernelconcepts.de
Tue Aug 16 19:08:18 CEST 2005


Hi Matthias and all other.

The unix emulation in CVS currently does not work properly. I think most
of these bugs where introduced with the latest NutOS changes.

At the moment I don't have much time to look for it. I would be glad if
Matthias could look on it.

1.) Running the threads example:

The application seems to deadlock. If this is a real sceduler bug this
perhaps could be the reason for the strange behavior of the unix
emulation of BTNut too. 

The same happens with the timer example.

The output is only:

ole at platon:~/work/avr/ethernut/nut/app/threads$ ./threads.hex

Thread Test
MHL

2.) Uart Example:

The same happens with the pppc example.

This one does not compile:

ole at platon:~/work/avr/ethernut/nut/app/uart$ make
gcc  -c -Os -Wall -Wstrict-prototypes -Wa,-ahlms=uart.lst
-I../../include  uart.c -o uart.o
gcc  uart.o -L../../lib/gcc/unix -lpthread ../../lib/gcc/unix/nutinit.o
-lnutarch -lnutdev -lnutos -lnutcrt -o uart.elf
../../lib/gcc/unix/libnutos.a(timer.o): In function `NutTimerInit':
/home/ole/work/avr/ethernut/nut/os/timer.c:240: undefined reference to
`NutRegisterTimer'
../../lib/gcc/unix/libnutos.a(timer.o): In function `NutTimerStart':
/home/ole/work/avr/ethernut/nut/os/timer.c:415: undefined reference to
`NutTimerMillisToTicks'
../../lib/gcc/unix/libnutos.a(timer.o): In function `NutGetSeconds':
/home/ole/work/avr/ethernut/nut/os/timer.c:565: undefined reference to
`NutGetTickClock'
../../lib/gcc/unix/libnutos.a(timer.o): In function `NutGetMillis':
/home/ole/work/avr/ethernut/nut/os/timer.c:588: undefined reference to
`NutGetTickClock'
/home/ole/work/avr/ethernut/nut/os/timer.c:589: undefined reference to
`NutGetTickClock'
/home/ole/work/avr/ethernut/nut/os/timer.c:590: undefined reference to
`NutGetTickClock'
../../lib/gcc/unix/libnutos.a(event.o): In function `NutEventWait':
/home/ole/work/avr/ethernut/nut/os/event.c:234: undefined reference to
`NutTimerMillisToTicks'
collect2: ld gab 1 als Ende-Status zurück
make: *** [uart.elf] Fehler 1

3.) The most simple example does not work:

There seems to be a problem with the header files.

gcc  -c -Os -Wall -Wstrict-prototypes -Wa,-ahlms=simple.lst
-I../../include  simple.c -o simple.o
gcc  simple.o -L../../lib/gcc/unix
-lpthread ../../lib/gcc/unix/nutinit.o -lnutos -lnutarch -lnutdev  -o
simple.elf
../../lib/gcc/unix/libnutos.a(thread.o): In function `NutThreadCreate':
../arch/unix/os/thread.c:254: undefined reference to `NUT_printf'
collect2: ld gab 1 als Ende-Status zurück
make: *** [simple.elf] Fehler 1

perhaps even more...

Best regards,

Ole Reinhardt

-- 
kernel concepts    Tel: +49-271-771091-14
Dreisbachstr. 24   Fax: +49-271-771091-19
D-57250 Netphen    E+ : +49-177-7420433
--





More information about the En-Nut-Discussion mailing list