Mario Charest a écrit:
And, QNX 4.25 and my application run all right at 33MHz and
also at 16MHz. But, my application is stop some time …
How can I adjust the time for my application and the others …
You can’t adjust time that’s not how it works, it’s usually
done via priorities. For example I suspect you ran sin
through the telnet session. Well while sin and telnetd ran
at priority 10 your program will STOP, there is nothing
you can do about that. If the sin took 100ms to send
the data over telnet your program will stop for 100ms…
That’s what multtasking is about… You could set your program
to priority 27 for example, but if it uses all the CPU all the other
program won’t get any …
If you want to make sure all program set to the same priority
get some CPU you need set them to round-robin mode
Round-robin mode ?
.
- Does your process send messages?
- Do you do any floating point?
- Are there any TCP/IP activity involved?
- What’s Fsys.ElanNC, never seen that what does it do. access flash?
- Does your process accesses file on the Fsys.ElanNC?
- Can you post the output of sin flags? What is it ?
- What does your program do?
My application communicate over Ethernet by Ftp (emu387),
emu87 has nothing to do with FTP. emu87 emulation the
math coprocessor when floating point instruction are unsed.
and by telnet. There is an inter-process communication.
Also, my application need to backup/restore data on Flash EPRom,
communicate over serial port, manage interface with user
(Led, button …) …
You said your application was small >
Grab the utility sysmon (you will need to add Slib16 to the image)
ftp://ftp.qnx.com/usr/free/qnx4/os/utils/misc/sysmon.tgz
do help you determine what program is consuming the CPU.
Multi-tasking doesn’t allow you to run a software that requires a 100Mhz
CPU on a 16Mzh … For instance TCP/IP is very CPU intensive, it
will probably bring a 16Mzh CPU to its knee…
I sense frustration, am I right?
yes,
In 1997, I have made a real time kernel for a board based on 8xx51,
and the end user application. In this system, the number of process
don’t change at execution and there is not priority. The execution
time is the same for each process. In this case, it’s a real time
system for manage any industrial process.
In my case with QNX 4.25, I don’t know when my process will be
execute and so, I can not manage an industrial process … in this
case is not a real time system …
I’m beginning to understand your problem better. You lack knowledge about
QNX > > If you are attempting to design a real-system with QNX4 and
don’t know what round-robin is, you are asking for trouble. Apparently
that’s what you are getting >
Round-robin is a scheduling algorithm that matches what your own “real-time”
system does. This is shown by the ‘r’ flag in the priority column to the
output of sin. ‘f’ stands for fifo and ‘o’ for other.
You also seem to have misconception about what real-time is. The system
that you made yourself is not generaly consider as being real-time it’s
task switching only.
Yes, that why a task switching system is not in all case a real-time system
QNX 4 is used all over the place to manage industrial process, the problem
is not with QNX 4… I suggest you RTFM before continuing. QNX4 is
far more powerfull and flexible then what your conception of “real-time”
is. You have to learn how to use it first.
Yes, I’d like. (I don’t know RTFM)
I’d like to know how the kernel switch the task (or process) and take the
decision.
Before I use nice for lower the priority of my application, my application and
the login (/bin/login) have the same priority and at 33MHz … just my
application
run all right … that’s why my question …
I don’ want to polemique with you about real time system, I just want to
find a right solution for my application link at QNX 4.25 (…)
But the question “I don’t know when my process will be execute” is the
first thing for say “it’s a real time system” or “it’s not a real time system”
…
If you keep the same mind set that you currently have you’ll get nowhere.
Good luck >
PS if you have specific question fell free to ask.
Mario Charest a écrit:
“Philippe Frossard” <> philippe.frossard@free.fr> > wrote in message
news:> 3A1D20A7.B2990B86@free.fr> …
I have make some tests …
QNX 4.25 run at 33MHz without my application and
it’s possible to log on with telnet, ftp, rlogin or with
a local keyboard.
My application is very little … and I thought QNX 4.25 was
a multi-task system …
Stop blaming QNX… Your application maybe little but
if it sets itself at higher priority and consume all the CPU this
is bound to happen.
Mario Charest a écrit:
“Philippe Frossard” <> philippe.frossard@free.fr> > wrote in message
news:> 3A1A3A19.5A2525DB@free.fr> …
I work with QNX 4.25 on arcom Elan 104NC.
It’s impossible to log on Qnx 4.25 at 8, 16 or 33 MHz
(telnet, ftp, rlogin or with a local keyboard)
Everything I know about computer tells me this doesn’t make
any sense.
In order to find out what is wrong, you would have to network
the computer and do a sin after you attempt to login.
I’m sure the problem is hardware related. Does the manual
says that it’s “legal” to run the board at 8 Megs. Is this
8Mzh setup only affect the CPU?
With a local keyboard, it’s like this :
login : root
passwd : xxxxxxx
and after password nothing …
At 66MHz and 99MHz it’s all right …
You know why ?
Philippe Frossard : 74890 FESSY (FRANCE)
Courrier Electronique : mailto:> <philippe.frossard@free.fr>
Site Internet : > http://philippe.frossard.free.fr
–
Philippe Frossard : 74890 FESSY (FRANCE)
Courrier Electronique : mailto:<philippe.frossard@free.fr>
Site Internet : http://philippe.frossard.free.fr