Hi, all,

PLEASE DO READ THIS E-MAIL AND HELP ME.

The problem is I want to measure the execution time of real-time tasks
in the kernel,using realitme fifo. My platforms are:
1. uCsimm
2. Linux kernel: linux-2.0.38 from
ftp://ftp.kernel.org/pub/linux/kernel/v2.0/linux-2.0.38.tar.gz
3. real-time patches: uClinux-2.0.38.1pre7.diff  from
http://www.uClinux.org/pub/uClinux/uClinux-2.0.x/uClinux-2.0.38.1pre7.diff.gz

and RTL0.9J-uClinux1pre7.diff

In my program, there's only one real-time task running in the kernel. It

will call rtf_put() to send one time-stamped message to a user
application before its excution and send another time-stamped message
after its excution. So, the user application can compute the execution
time of that task. Two fifo's are used for communication. One is data
channel, which carries messages to user application, and the other is
control channel, which takes commands to rt-task. The program is pretty
much the same as frank example in the rt patches. Bu both my program and

the frank can't work.

The frank even can't be successfully compiled in my machine.
First, rtl/rtl_fifo.h and asm/rt_time.h can't be found when compiling
frank_app.c. I changed it to absolute path.
Then, here is another error:
 m68k-pic-coff-gcc -02 -fomit-frame-pointer -Wall -o frank_app
 frank_app.c
 frank_app.c: In function 'main':
 frank_app.c:58: unknown register name 'di' in 'asm'
 frank_app.c:58: unknown register name 'cx' in 'asm'
 frank_app.c:58: inconsistant operand constraints in an 'asm'
 frank_app.c:66: inconsistant operand constraints in an 'asm'
 frank_app.c:72: inconsistant operand constraints in an 'asm'
 frank_app.c:58: inconsistant operand constraints in an 'asm'

 make: *** [frank_app] Error 1

I changed nothing of the frank, except add it to the Makefile at
.../rtl/Makefile.
O_OBJS := exampls/frank_module.o

In my case, the program can be compiled (use cross compiler). And then I

manually created two fifo devices at:/opt/uClinux/dev.
#mknod rtf1 c 150 1

Unfortunately, when I tried to run the application after new kernel
boots, it says " Error opening /dev/rtf1". That's the error message I
put in the code. I tried major number 63, it still didn't work. If I use

" mknod rtf1 p 150 1", the shell says:
mknod : major and minor device number may not be specified for fifo
files
Try 'mknod --help' for more information.

So, I ignored the device number,just typed:
 #mknod rtf1

Then I remove old Makefile at uClinux working dir:
%rm Makefile
 %buildenv
%make image.bin

This time, the user application hangs at "fd0 = open("/dev/rtf1",
O_RDONLY)".


Could you tell me how to use fifo OR ANY OTHER  mechanism to measure the

execution time of real-time task in uCsimm/uClinux? Thank you very much.

Peng Li


-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/

Reply via email to