QNX 4.25 at 33MHz on Arcom Elan 104NC ...

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)

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” <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” <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

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 …

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

I start my application in /etc/config/sysinit :
nice -n5 myprogram &

I can see priority level by command /usr/bin/sin :

sin -S p

SID PID PROGRAM PRI STATE BLK CODE DATA
– – Microkernel — ----- — 10448 0
0 8 idle 0r READY — 0 40k
0 60 //1/bin/myprogram 5o REPLY 0 20k 16k
2 84 //1/bin/ksh 10o WAIT -1 47k 36k
0 26 //1/bin/emu387 10o RECV 0 16k 12k
0 27 //1/bin/emu87_32 10o RECV 0 12k 8192
1 74 //1/bin/ksh 10o REPLY 15 47k 36k
0 5 /bin/Fsys.ElanNC 10r RECV 0 20k 16k
0 44 //1/usr/ucb/Socket 10r RECV 0 225k 221k
0 52 //1/usr/bin/syslogd 10o RECV 0 36k 32k
0 56 //1/usr/ucb/inetd 10o RECV 59 36k 32k
0 58 //1/bin/tinit 10o WAIT -1 16k 28k
0 82 //1/usr/ucb/telnetd 10o RECV 85 53k 53k
2 88 //1/bin/sin 10o REPLY 1 45k 40k
0 2 sys/Slib32 10r RECV 0 53k 4096
0 18 //1/bin/Dev.con 20r RECV 0 40k 61k
0 20 //1/bin/Dev.pty 20r RECV 0 12k 32k
0 24 //1/bin/Dev.ser 20r RECV 0 16k 32k
0 39 //1/bin/Net.ether1000 20r RECV 0 28k 28k
0 37 //1/bin/Net 23r RECV 0 32k 73k
0 15 //1/bin/Dev 24f RECV 0 32k 73k
0 4 /bin/Fsys 29r RECV 0 77k 4739k
0 1 sys/Proc32 30f READY — 118k 331k

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 …

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” <philippe.frossard@free.fr> wrote in message
news:3A1D4FEA.48F40738@free.fr

I start my application in /etc/config/sysinit :
nice -n5 myprogram &

I can see priority level by command /usr/bin/sin :

sin -S p

SID PID PROGRAM PRI STATE BLK CODE DATA
– – Microkernel — ----- — 10448 0
0 8 idle 0r READY — 0 40k
0 60 //1/bin/myprogram 5o REPLY 0 20k 16k
2 84 //1/bin/ksh 10o WAIT -1 47k 36k
0 26 //1/bin/emu387 10o RECV 0 16k 12k
0 27 //1/bin/emu87_32 10o RECV 0 12k 8192
1 74 //1/bin/ksh 10o REPLY 15 47k 36k
0 5 /bin/Fsys.ElanNC 10r RECV 0 20k 16k
0 44 //1/usr/ucb/Socket 10r RECV 0 225k 221k
0 52 //1/usr/bin/syslogd 10o RECV 0 36k 32k
0 56 //1/usr/ucb/inetd 10o RECV 59 36k 32k
0 58 //1/bin/tinit 10o WAIT -1 16k 28k
0 82 //1/usr/ucb/telnetd 10o RECV 85 53k 53k
2 88 //1/bin/sin 10o REPLY 1 45k 40k
0 2 sys/Slib32 10r RECV 0 53k 4096
0 18 //1/bin/Dev.con 20r RECV 0 40k 61k
0 20 //1/bin/Dev.pty 20r RECV 0 12k 32k
0 24 //1/bin/Dev.ser 20r RECV 0 16k 32k
0 39 //1/bin/Net.ether1000 20r RECV 0 28k 28k
0 37 //1/bin/Net 23r RECV 0 32k 73k
0 15 //1/bin/Dev 24f RECV 0 32k 73k
0 4 /bin/Fsys 29r RECV 0 77k 4739k
0 1 sys/Proc32 30f READY — 118k 331k

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.

  • 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 does your program do?

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?


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

Mario Charest a écrit:

“Philippe Frossard” <> philippe.frossard@free.fr> > wrote in message
news:> 3A1D4FEA.48F40738@free.fr> …

I start my application in /etc/config/sysinit :
nice -n5 myprogram &

I can see priority level by command /usr/bin/sin :

sin -S p

SID PID PROGRAM PRI STATE BLK CODE DATA
– – Microkernel — ----- — 10448 0
0 8 idle 0r READY — 0 40k
0 60 //1/bin/myprogram 5o REPLY 0 20k 16k
2 84 //1/bin/ksh 10o WAIT -1 47k 36k
0 26 //1/bin/emu387 10o RECV 0 16k 12k
0 27 //1/bin/emu87_32 10o RECV 0 12k 8192
1 74 //1/bin/ksh 10o REPLY 15 47k 36k
0 5 /bin/Fsys.ElanNC 10r RECV 0 20k 16k
0 44 //1/usr/ucb/Socket 10r RECV 0 225k 221k
0 52 //1/usr/bin/syslogd 10o RECV 0 36k 32k
0 56 //1/usr/ucb/inetd 10o RECV 59 36k 32k
0 58 //1/bin/tinit 10o WAIT -1 16k 28k
0 82 //1/usr/ucb/telnetd 10o RECV 85 53k 53k
2 88 //1/bin/sin 10o REPLY 1 45k 40k
0 2 sys/Slib32 10r RECV 0 53k 4096
0 18 //1/bin/Dev.con 20r RECV 0 40k 61k
0 20 //1/bin/Dev.pty 20r RECV 0 12k 32k
0 24 //1/bin/Dev.ser 20r RECV 0 16k 32k
0 39 //1/bin/Net.ether1000 20r RECV 0 28k 28k
0 37 //1/bin/Net 23r RECV 0 32k 73k
0 15 //1/bin/Dev 24f RECV 0 32k 73k
0 4 /bin/Fsys 29r RECV 0 77k 4739k
0 1 sys/Proc32 30f READY — 118k 331k

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),
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 …) …

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 …

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

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 :wink:

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 :wink: 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 :wink:

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.

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.

If you keep the same mind set that you currently have you’ll get nowhere.

Good luck :wink:

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 a écrit:

Mario Charest a écrit:

“Philippe Frossard” <> philippe.frossard@free.fr> > wrote in message
news:> 3A1D4FEA.48F40738@free.fr> …

I start my application in /etc/config/sysinit :
nice -n5 myprogram &

I can see priority level by command /usr/bin/sin :

sin -S p

SID PID PROGRAM PRI STATE BLK CODE DATA
– – Microkernel — ----- — 10448 0
0 8 idle 0r READY — 0 40k
0 60 //1/bin/myprogram 5o REPLY 0 20k 16k
2 84 //1/bin/ksh 10o WAIT -1 47k 36k
0 26 //1/bin/emu387 10o RECV 0 16k 12k
0 27 //1/bin/emu87_32 10o RECV 0 12k 8192
1 74 //1/bin/ksh 10o REPLY 15 47k 36k
0 5 /bin/Fsys.ElanNC 10r RECV 0 20k 16k
0 44 //1/usr/ucb/Socket 10r RECV 0 225k 221k
0 52 //1/usr/bin/syslogd 10o RECV 0 36k 32k
0 56 //1/usr/ucb/inetd 10o RECV 59 36k 32k
0 58 //1/bin/tinit 10o WAIT -1 16k 28k
0 82 //1/usr/ucb/telnetd 10o RECV 85 53k 53k
2 88 //1/bin/sin 10o REPLY 1 45k 40k
0 2 sys/Slib32 10r RECV 0 53k 4096
0 18 //1/bin/Dev.con 20r RECV 0 40k 61k
0 20 //1/bin/Dev.pty 20r RECV 0 12k 32k
0 24 //1/bin/Dev.ser 20r RECV 0 16k 32k
0 39 //1/bin/Net.ether1000 20r RECV 0 28k 28k
0 37 //1/bin/Net 23r RECV 0 32k 73k
0 15 //1/bin/Dev 24f RECV 0 32k 73k
0 4 /bin/Fsys 29r RECV 0 77k 4739k
0 1 sys/Proc32 30f READY — 118k 331k

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),
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 …) …

Sean Boudreau a écrit:

ftp uses floating point to print out the transfer statistics.
Try running emu87.

-seanb

Philippe Frossard <> philippe.frossard@free.fr> > wrote:
: I don’t know why ?? (I have a .netrc file)

: # dd if=A001234568 of=A001230001 conv=ebcdic
: 0+1 records in
: 0+1 records out
: # ftp as400
: Connected to as400.
: 220-QTCP at DVPNEW.OPENLAB.FR.
: 220 Connection will close if idle more than 5 minutes.
: 331 Enter password.
: 230 QUSER logged on.
: Remote system type is .
: ftp> cd olcftp
: 250 “OLCFTP” is current library.
: ftp> bin
: 200 Representation type is binary IMAGE.
: ftp> put A001230001
: local: A001230001 remote: A001230001
: 200 PORT subcommand request successful.
: 150 Sending file to member A001230001 in file A001230001 in library
: OLCFTP.
: 250 File transfer completed successfully.

: //1/usr/ucb/ftp terminated (SIGFPE ) at 0007:0058AB2F.
: %1 104 Floating exception ftp as400




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 …




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

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 > :wink:




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 > :wink: > 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 > :wink:

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 :wink:

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 > :wink:
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

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)

It means Read The Fu#$ing Manual. As you might imagine that rather
crude expression came to existance out of the frustration that most
answer to question are in the manual and people just don’t
take the time to read them.

I’d like to know how the kernel switch the task (or process) and take the
decision.

RFTM :wink: Covering all aspect would take a rather long anwer, the manual
does a good job a explaining this.

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 …

When you don’t use nice what is the default priority of your program
10r, 10f, 10o?

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 (…)

Then RTFM, learn about QNX4’s concept and architecture then you
will be able to either reject QNX4 because it doesn’t qualify as real-time
for you, or to learn to use it the way it’s suppose to be used. That could
mean reworking your program for example.

In QNX4 perspective the general idea is to make everything even driven.
That mean the programs won’t do anything unless there is something to do.
For example you do not pool the serial port, you wait to be told there
is something to do. If you need to check for a hardwire input like a button
that
is press by a humain, you setup a timer at 10ms and wait for the kernel
to tell you the time as elapse and then read the input. Or better have the
input
generate an interrupt that will awake your program.

From your description of your the task switching you wrote yourself,
I understand tasks ran one after another at a fix interval, but I guess
it means a task had the CPU when it actually didn’t need it. For example
if you had to support TCP/IP in this system, you would probably
have to run the TCP/IP task every x ms to check for stuff to do. Under
QNX that’s not how it works. Everything should be event driven.

Hope that helps!