From owner-vxwexplo-process Sun Aug 1 01:50:26 1999 From: David Gasul Date: Sun Aug 1 01:50:31 PDT 1999 Subject: GCC generates floating point code on its own for PPC This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01BEDC03.E1ECE8D0 Content-Type: text/plain; charset="iso-8859-1" Dear VxWorkers, We came across this nasty problem which took about two months to work around. Does anyone have an idea how to solve it properly? Look at the following code snippet: typedef struct { int x; int y; } SixtyFourBitStruct; void z(SixtyFourBitStruct * p) { SixtyFourBitStruct a; a = *p; ... } Now if you examine the machine code of line "a = *p" you will find that the transfer is performed through FLOATING POINT registers!!!!!!!!!! (This happens if the default -mhard-floating-point option is used). Apparently, the compiler optimizes a 64-bit transfer, since a FP register is 64 bits wide. Obviously the task that runs this line has not been set up with the floating point option because nobody could imagine that this innocent line generates FP code, and bang - you get context corruption. OK, we have switched to the -msoft-floating-point option, and recompiled all our code. The FP registers usage has gone. BUT, 1. We have no clue in what other cases the compiler generates code that uses floating point registers 2. We obviously cannot recompile VxWorks, so we don't know whether there's code that uses "silently" floating point registers (and I suspect that neither does WRS). Any ideas? David Gasul Telegate Ltd. 7 Haplada St., 60218 Or-Yehuda, Israel Voice: +972-3-5384634, Fax: +972-3-5335877 e-mail: davidg@telegate.co.il WWW: http://www.telegate.co.il ------_=_NextPart_001_01BEDC03.E1ECE8D0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable GCC generates floating point code on its own for PPC

Dear VxWorkers,

We came across this nasty = problem which took about two = months to work around.

Does anyone have an idea how to solve it properly?

Look at the following = code snippet:

typedef struct

  {

   int x;

   int = y;

  } SixtyFourBitStruct;

void z(SixtyFourBitStruct * p)

{

   SixtyFourBitStruct   = a;

   a =3D = *p;

   ...

}

Now if you examine the = machine code of line "a =3D *p" you will find = that the transfer is performed

through FLOATING POINT = registers!!!!!!!!!! (This happens = if the default -mhard-floating-point option is used).

Apparently, the compiler optimizes a 64-bit transfer, = since a FP register is 64 bits = wide.

Obviously the task that = runs this line has not been set up with the floating point = option because nobody could = imagine that this innocent line generates FP code, and bang - you get context corruption.

OK, we have switched to = the -msoft-floating-point option, and recompiled all our = code. The FP registers usage has = gone. BUT,

  1. We = have no clue in what other cases = the compiler generates code that uses floating point registers
  2. We obviously cannot = recompile VxWorks, so we don't know whether = there's code that uses "silently"
    floating point registers (and I suspect = that neither does WRS).

Any ideas?

David Gasul

Telegate Ltd.

7 Haplada St., 60218 = Or-Yehuda, Israel

Voice: +972-3-5384634, = Fax: +972-3-5335877

e-mail: davidg@telegate.co.il

WWW: http://www.telegate.co.il

------_=_NextPart_001_01BEDC03.E1ECE8D0-- From owner-vxwexplo-process Mon Aug 2 04:00:13 1999 From: daemon@csg.lbl.gov Date: Mon Aug 2 04:00:17 PDT 1999 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Mon Aug 2 04:00:03 PDT 1999 Subject: etherInputHookAdd and FEI driver Subject: Re: Problems with WRS version of GNU make on NT ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: etherInputHookAdd and FEI driver Date: Sun, 01 Aug 1999 11:12:14 GMT From: alef0@127.0.0.1 (Aleph-Null) Organization: Internet Gold, ISRAEL Message-ID: <37a429dd.1732537797@news.inter.net.il> I'm trying to attach an ethernet hook routine using etherInputHookAdd. This works OK on VxWorks 5.3.1 (non-SENS). However, the SENS implementation expects two more parameters, device name and number, and I cannot make it work. I'm using the pcPentiumPro BSP with Intel FEI END driver. muxShow() indeed shows the driver, endFindByName("fei", 0) returns a valid pointer, however etherInputHookAdd(myHook, "fei", 0) ALWAYS returns -1 Note that the documentation says etherInputHookAdd() ALWAYS returns OK, which is obviously not true. Can anyone tell me what should the parameters be for attaching the hook to the FEI driver ? Any help would be greatly appreciated ! Aleph-Null - --- C programmers never die, they are just cast into void. Replace 127.0.0.1 with usa.net when replying by e-mail --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Problems with WRS version of GNU make on NT Date: Sun, 01 Aug 1999 07:26:00 GMT From: paulvroberts@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7o0sq5$fl0$1@nnrp1.deja.com> References: <37a0eec9.298009454@news.cisco.com> In article <37a0eec9.298009454@news.cisco.com>, gessau@cisco.com (Henry Gessau) wrote: > I ended up creating a utility called back2fwd.exe > which converts the slashes in its argument, allowing me to write the rule like > this: > > drivers\drivers.o diags\diags.o : > $(MAKE) $(dir $(shell back2fwd $@)) $(notdir $(shell back2fwd $@)) > > Another really icky one is trying to delete files from a makefile. If you use > "del" then you had better make very sure that you never have a forward slash > in your pathnames. I use the WRS definition of DIRCHAR. On Windows this is: DIRCHAR = $(subst x,\,x) and then, I use subst to convert slashes all over the place, eg: - -${RM} $(subst /,${DIRCHAR},${INSTALL_OBJ_PATH}/$(PROJECT).o) I didn't have any problems with "make -C $@" as I only recurse one directory at a time. One messy problem I had was in trying to build a list of C++ files to "munch" and link together. I decided to build an intermediate file with the list of object files. However, I could not actually convince Windows to let "ld" get the file list from there. The following command failed for no readily apparent reason: $(LD) $(LD_PARTIAL_FLAGS) -o $@ $(shell type $(subst /,${DIRCHAR},${LINK_LIST_FILE})) Whereas, the following works fine (if I put cygwin cat in my path): $(LD) $(LD_PARTIAL_FLAGS) -o $@ $(shell cat $(subst /,${DIRCHAR},${LINK_LIST_FILE})) Some funny behaviour in the Windows "type" command, I expect. Linux support please WRS. Regards, Paul Roberts. Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- End of New-News digest ********************** From owner-vxwexplo-process Mon Aug 2 21:31:45 1999 From: "Viswanath Bandaru" Date: Mon Aug 2 21:31:53 PDT 1999 Subject: pJava and VxWorks hi! group! has anybody tried their hands on the pJava implementation supplied with Tornado II? Its not yet released for us in India. How is the performance of it? Can I use it for an embedded display system (not necessarily realtime display) along with some realtime data acquisition tasks? We've a data acquisition system, in which we plan to give some GUI for monitoring the data acquisition.Its more than a simple GUI we're planning. Can I say that using pJava doesn't deteriorate my GUI performance? can you please suggest me about the performance issues of pJava? Thanks and Regards, Viswanath. From owner-vxwexplo-process Tue Aug 3 04:00:09 1999 From: daemon@csg.lbl.gov Date: Tue Aug 3 04:00:14 PDT 1999 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Tue Aug 3 04:00:05 PDT 1999 Subject: PJWorks-Performance with PPC823 Subject: Re: GCC generates floating point code on its own for PPC Subject: Re: Why stay with VXWorks? Subject: Help with I2O and OSM Subject: Re: How to delay a task in micro seconds range Subject: Re: GCC generates floating point code on its own for PPC Subject: Missing carriage returns ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: PJWorks-Performance with PPC823 Date: Mon, 2 Aug 1999 17:06:13 +0100 From: "Bernd Blank" Organization: Posted via the Nacamar Network Message-ID: <7o4cem$is6$1@black.news.nacamar.net> We are using TII with Personal JWorks on a 50MHz PowerPC823 and have performance problems: Our benchmark PrimeNum (calculates Primes, no floating-point) is about 5 times slower than on a 486DX2/66 with PJEE (= slowest Java for PCs we could find). With C-programs our PowerPC is slightly faster than the 486DX2/66. We have made some effort to develop a touchscreen-GUI in Java which works well even on a slow PC (like the above) but is to slow on the PowerPC. What about the others using PJWorks, are you happy with it? Any hints to increase the performance would be greatly appreciated! Regards, Bernd - -- Bernd Blank E-Mail: bblank@init-ka.de init GmbH Tel : +49-721-6100-243 Kaeppelestr. 6 Fax : +49-721-6199-399 D-76131 Karlsruhe WWW : http://www.init-ka.de --------------------------- Newsgroups: comp.os.vxworks Subject: Re: GCC generates floating point code on its own for PPC Date: Mon, 2 Aug 1999 20:03:43 GMT From: Charlie Grames Organization: Boeing Message-ID: <37A5F99F.DE826A17@nowhere.com> References: <7o136i$fd34@overload.lbl.gov> Sender: nntp@news.boeing.com (Boeing NNTP News Access) David, What platform do you use, and what other options do you use with gcc? I tried your test case, and my code uses two separate 32-bit load and store instructions. I'm using the MVME2700 BSP, which is based off code for the 604 processor. Our build output looks like this (from a generic Makefile for the 604 processor generated by Tornado): ccppc -BT:/host/x86-win32/lib/gcc-lib/ -mstrict-align -ansi -nostdinc - -O2 -fvolatile -fno-builtin -fno-for-scope -Wall -I/h -I. - -IT:\target\config\all -IT:\target/h -IT:\target/src/config - -IT:\target/src/drv -DCPU=PPC604 -c bit64.c Done. Charlie Grames The Boeing Company Charles.R.Grames @ boeing.com David Gasul wrote: > > Dear VxWorkers, > > We came across this nasty problem which took about two months to work > around. > Does anyone have an idea how to solve it properly? > > Look at the following code snippet: > > typedef struct > { > int x; > int y; > } SixtyFourBitStruct; > > void z(SixtyFourBitStruct * p) > { > SixtyFourBitStruct a; > > a = *p; > > ... > } > > Now if you examine the machine code of line "a = *p" you will find that the > transfer is performed > through FLOATING POINT registers!!!!!!!!!! (This happens if the default > -mhard-floating-point option is used). > Apparently, the compiler optimizes a 64-bit transfer, since a FP register is > 64 bits wide. > Obviously the task that runs this line has not been set up with the floating > point option because nobody could imagine that this innocent line generates > FP code, and bang - you get context corruption. > > OK, we have switched to the -msoft-floating-point option, and recompiled all > our code. The FP registers usage has gone. BUT, > 1. We have no clue in what other cases the compiler generates code that > uses floating point registers > 2. We obviously cannot recompile VxWorks, so we don't know whether > there's code that uses "silently" > floating point registers (and I suspect that neither does WRS). > > Any ideas? > > David Gasul > Telegate Ltd. > 7 Haplada St., 60218 Or-Yehuda, Israel > Voice: +972-3-5384634, Fax: +972-3-5335877 > e-mail: davidg@telegate.co.il > WWW: http://www.telegate.co.il --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Why stay with VXWorks? Date: Mon, 02 Aug 1999 15:15:43 -0500 From: Marty Schrader Organization: Fermilab Experimental Astrophysics Group Message-ID: <37A5FC6F.B100EA34@fnal.gov> References: <19990728030931.25207.00003136@ng-cr1.aol.com> <7nt6e9$3h4$1@nnrp1.deja.com> Yiming wrote: > Majority of people come here only when they have problems > and seek help, at this moment, you expect them chanting > happiness? > > My 6th sense is you are wondering to known if wrs is a > candidate for your job ;) That seems a bit cynical. This guy is just a developer like us, wanting to know if he's making a boo-boo before committing his development efforts on a new product. I can understand the butterflies in the belly he's experiencing. You don't feel the same thing when you make an irreversible design decision? --------------------------- Newsgroups: comp.os.ms-windows.programmer.nt.kernel-mode,comp.os.ms-windows.programmer.win32,comp.os.vxworks,microsoft.public.win32.programmer.kernel Subject: Help with I2O and OSM Date: Mon, 2 Aug 1999 15:51:31 -0700 From: "Michael Uman" Message-ID: <37a62049$0$216@nntp1.ba.best.com> Hello, I really need to talk to someone who knows a bit about I2O. We are trying to determine how to interface our device with the host and have implemented I2O on our board. Now we are trying to implement it in WIndows NT. I am a developer on the I2O sig and have downloaded the OSM's from Microsoft. It appears these OSM's support only disk controllers and network adapters. How are you supposed to support non-standard devices? Is there any good documentation available on this subject. Neither MS nor the I2O sig provides much information. Thank you, Michael Uman Sr. Software Engineer Sonic Solutions (415) 893-7067 mailto:michael_uman@sonic.com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to delay a task in micro seconds range Date: Tue, 3 Aug 1999 08:24:34 +0200 From: "Markus Mitterer" Organization: Customer of EUnet Austria Message-ID: <7o6227$5ig$1@fleetstreet.Austria.EU.net> References: <7o6021$t1l$1@nnrp1.deja.com> Few time ago I need a similar function. First of all, I would calculate with milliseconds, because witch the system tick you won't come in a lower range. Then it is important that you first do the multiplication and then the division because otherwise the result will always be zero due to the data type DWORD. At the end I checked if the result is zero when the time value is not zero. In this case I increased the delay time to one system tick. Hope that helps you Markus --------------------------- Newsgroups: comp.os.vxworks Subject: Re: GCC generates floating point code on its own for PPC Date: Tue, 3 Aug 1999 09:14:46 +0100 From: "Will Fookes" Organization: NDS UK Message-ID: <7o6770$peo$1@ndsukns01.ndsuk.com> References: <7o136i$fd34@overload.lbl.gov> <37A5F99F.DE826A17@nowhere.com> I also tried the example (and a couple of variations on it) and didn't see the symptoms described. I am compiling for a PPC860 so I use the option -mcpu=860 (as well as -nostdinc -O -fvolatile -Wall -DCPU=PPC860 -ansi -gdwarf). The manual says: "Specifying -mcpu=403, -mcpu=821 , or -mcpu=860 also enables the -msoft-float option" so perhaps that explains why it works for me. Why would you _not_ wish to tell the compiler what processor it is targetting (...Charlie, or is it simply a typing omission from your example below)? I guess that David must be using one of the other cpus. Will Charlie Grames wrote in message <37A5F99F.DE826A17@nowhere.com>... >David, > >What platform do you use, and what other options do you use with gcc? I >tried your test case, and my code uses two separate 32-bit load and >store instructions. I'm using the MVME2700 BSP, which is based off code >for the 604 processor. > >Our build output looks like this (from a generic Makefile for the 604 >processor generated by Tornado): > >ccppc -BT:/host/x86-win32/lib/gcc-lib/ -mstrict-align -ansi -nostdinc >-O2 -fvolatile -fno-builtin -fno-for-scope -Wall -I/h -I. >-IT:\target\config\all -IT:\target/h -IT:\target/src/config >-IT:\target/src/drv -DCPU=PPC604 -c bit64.c > >Done. > > >Charlie Grames >The Boeing Company >Charles.R.Grames @ boeing.com > >David Gasul wrote: >> >> Dear VxWorkers, >> >> We came across this nasty problem which took about two months to work >> around. >> Does anyone have an idea how to solve it properly? >> >> Look at the following code snippet: >> >> typedef struct >> { >> int x; >> int y; >> } SixtyFourBitStruct; >> >> void z(SixtyFourBitStruct * p) >> { >> SixtyFourBitStruct a; >> >> a = *p; >> >> ... >> } >> >> Now if you examine the machine code of line "a = *p" you will find that the >> transfer is performed >> through FLOATING POINT registers!!!!!!!!!! (This happens if the default >> -mhard-floating-point option is used). >> Apparently, the compiler optimizes a 64-bit transfer, since a FP register is >> 64 bits wide. >> Obviously the task that runs this line has not been set up with the floating >> point option because nobody could imagine that this innocent line generates >> FP code, and bang - you get context corruption. >> >> OK, we have switched to the -msoft-floating-point option, and recompiled all >> our code. The FP registers usage has gone. BUT, >> 1. We have no clue in what other cases the compiler generates code that >> uses floating point registers >> 2. We obviously cannot recompile VxWorks, so we don't know whether >> there's code that uses "silently" >> floating point registers (and I suspect that neither does WRS). >> >> Any ideas? >> >> David Gasul >> Telegate Ltd. >> 7 Haplada St., 60218 Or-Yehuda, Israel >> Voice: +972-3-5384634, Fax: +972-3-5335877 >> e-mail: davidg@telegate.co.il >> WWW: http://www.telegate.co.il --------------------------- Newsgroups: comp.os.vxworks Subject: Missing carriage returns Date: Tue, 3 Aug 1999 09:12:40 +0100 From: "Pete Cook" Message-ID: <37a6a449.0@nnrp1.news.uk.psi.net> Reply-To: "Pete Cook" I'm using printf to print lines of text to a terminal via the serial port on my box. The lines are not being printed down the left of the page, but are indented, as though the carriage returns are being stripped, and only the line feeds are being printed. If I put a taskDelay(100) between the printf lines, it all prints correctly, but obviously I don't want delays after all my print statements. I have tried using fflush after each printf, to no avail. Anyone have any clues as to what is happening? Pete. --------------------------- End of New-News digest ********************** From owner-vxwexplo-process Tue Aug 3 09:14:18 1999 From: David Laight Date: Tue Aug 3 09:14:21 PDT 1999 Subject: end ethernet driver losing buffers All, I have just fixed my END ethernet driver to avoid losing transmit buffers. The problem arises when the system is transmitting faster than the LAN (or maybe just the card) can handle. In my case a 'diff -r a b' to verify the contents of a NFS mounted (vxWorks) filesystem caused problems. The muxSend routine of my driver was returning ERROR with errno = EAGAIN when it ran out of transmit resource (without freeing the message), and calling muxTxRestart() when space was available. I must have copied this from a sample driver. However this may rely on the MUX user (ie the protocol stack) behaving correctly. NFS (at least the SENS 1.0.1 copy for ARM) misbehaves. Changing the driver to queue transmit packets internally stops the memory leak. (They can be queued using mp->mBlkHdr.mNextPkt) Anyone else with their own (or even a WRS) ethernet driver may suffer from the same problem. (I still run out of 64 and 128 byte clusters in the system data pool when the host shell tries to write to an rlogin'd console.) David ---------------------------------------------------------------- David Laight email: dsl@tadpole.co.uk Tadpole Technology plc phone: +44 1223 278 256 Cambridge, UK fax: +44 1223 278 201 From owner-vxwexplo-process Tue Aug 3 10:08:06 1999 From: David Gasul Date: Tue Aug 3 10:08:11 PDT 1999 Subject: RE: GCC generates floating point code on its own for PPC. This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01BEDDDB.C780C240 Content-Type: text/plain; charset="iso-8859-1" Bill/John, When the compile line is like this - the problem appears. ccppc -fno-builtin -fvolatile -fkeep-inline-functions -nostdinc -fsigned-char -Wall -mcpu=603 -DCPU=PPC603 -DMV2300 -O0 -c -o zz.o zz.c When the compile line is like this - the problem doesn't appear. ccppc -fno-builtin -fvolatile -fkeep-inline-functions -nostdinc -fsigned-char -Wall -mcpu=603 -DCPU=PPC603 -DMV2300 -O0 -msoft-float -c -o zz.o zz.c Needless to say that FPU hardware support is enabled in VxWorks. Hope this helps. David Gasul Telegate Ltd. 7 Haplada St., 60218 Or-Yehuda, Israel Voice: +972-3-5384634, Fax: +972-3-5335877 e-mail: davidg@telegate.co.il WWW: http://www.telegate.co.il -----Original Message----- From: Bill Cox [SMTP:bcox@wrs.com] Sent: Tue 03 August 1999 18:26 To: johnx@wrs.com Cc: leonid@bitband.com; davidg@telegate.co.il Subject: Re: GCC generates floating point code on its own for PPC. At 09:50 AM 8/2/99 -0700, you wrote: >Hi, > >Is this true? >Are we using the FP reg for integer stuff? >Any comments? Yes. It's a valid optimization when there *is* an FP unit to interpret the instructions. What CPU type was used in the compilation? Anybody know? Could we see the compiler command line from this build? Thanks in advance! > >John > >Forwarded message: >>From leonid@bitband.com Sun Aug 1 05:37 PDT 1999 >Date: Sun, 01 Aug 1999 15:42:18 +0200 >From: Leonid Rosenboim >To: David Gasul >Subject: Re: GCC generates floating point code on its own for PPC > >David, > >it seems your guys did a really good job tracking down this problem, WOW! > >Now, what I can suggest is that the only SAFE solution is to have all >tasks with VX_FP flag turned on cause you really can't tell where else >in WRS libraries the FP regs are used for integer stuff. > >I hope WRS appreciates this work you have done, and they should >recommend to all customers using PPC with FP hardware to turn >VX_FP on for all tasks. > >Leonid > >David Gasul wrote: > >> This message is in MIME format. Since your mail reader does not understand >> this format, some or all of this message may not be legible. >> >> ------_=_NextPart_001_01BEDC03.E1ECE8D0 >> Content-Type: text/plain; >> charset="iso-8859-1" >> >> Dear VxWorkers, >> >> We came across this nasty problem which took about two months to work >> around. >> Does anyone have an idea how to solve it properly? >> >> Look at the following code snippet: >> >> typedef struct >> { >> int x; >> int y; >> } SixtyFourBitStruct; >> >> void z(SixtyFourBitStruct * p) >> { >> SixtyFourBitStruct a; >> >> a = *p; >> >> ... >> } >> >> Now if you examine the machine code of line "a = *p" you will find that the >> transfer is performed >> through FLOATING POINT registers!!!!!!!!!! (This happens if the default >> -mhard-floating-point option is used). >> Apparently, the compiler optimizes a 64-bit transfer, since a FP register is >> 64 bits wide. >> Obviously the task that runs this line has not been set up with the floating >> point option because nobody could imagine that this innocent line generates >> FP code, and bang - you get context corruption. >> >> OK, we have switched to the -msoft-floating-point option, and recompiled all >> our code. The FP registers usage has gone. BUT, >> 1. We have no clue in what other cases the compiler generates code that >> uses floating point registers >> 2. We obviously cannot recompile VxWorks, so we don't know whether >> there's code that uses "silently" >> floating point registers (and I suspect that neither does WRS). >> >> Any ideas? >> >> David Gasul >> Telegate Ltd. >> 7 Haplada St., 60218 Or-Yehuda, Israel >> Voice: +972-3-5384634, Fax: +972-3-5335877 >> e-mail: davidg@telegate.co.il >> WWW: http://www.telegate.co.il >> >> ------_=_NextPart_001_01BEDC03.E1ECE8D0 >> Content-Type: text/html; >> charset="iso-8859-1" >> Content-Transfer-Encoding: quoted-printable >> >> >> >> >> > charset=3Diso-8859-1"> >> > 5.5.2232.0"> >> GCC generates floating point code on its own for PPC >> >> >> >>

Dear VxWo> SIZE=3D2 FACE=3D"Arial">rkers,

>> >>

We came across this nasty = >> problem which took about two = >> months to work around> SIZE=3D2 FACE=3D"Arial">.

>> >>

Does any> SIZE=3D2 FACE=3D"Arial">one have an idea how to solve it> SIZE=3D2 FACE=3D"Arial"> properly> FACE=3D"Arial">?

>> >>

Look at the following = >> code snippet:

>> >>

typedef struct

>> >>

  {

>> >>

  > SIZE=3D2 FACE=3D"Arial"> int x;

>> >>

   int = >> y;

>> >>

  } > SIZE=3D2 FACE=3D"Arial">SixtyFourBitStruct> FACE=3D"Arial">;

>> >>

void z(> SIZE=3D2 FACE=3D"Arial">SixtyFourBitStruct> FACE=3D"Arial"> * p)

>> >>

{

>> >>

   > SIZE=3D2 FACE=3D"Arial">SixtyFourBit> FACE=3D"Arial">Struct   = >> a;

>> >>

   a =3D = >> *p;

>> >>

   > SIZE=3D2 FACE=3D"Arial">...

>> >>

}

>> >>

Now if you examine the = >> machine code of line "> SIZE=3D2 FACE=3D"Arial">a =3D *p> FACE=3D"Arial">" you will find = >> that the transfer is performed

>> >>

through FLOATING POINT = >> registers!!!!!!!!!! (This happens = >> if the default -> SIZE=3D2 FACE=3D"Arial">mhard-> FACE=3D"Arial">floating-point option is used).

>> >>

Apparently> SIZE=3D2 FACE=3D"Arial">, the compiler optimizes a 64-bit transfer, = >> since a FP register is 64 bits = >> wide.

>> >>

Obviously the task that = >> runs this line has not been set up with the floating point = >> option because nobody could = >> imagine that this innocent line generates FP code> FACE=3D"Arial">, and bang > FACE=3D"Arial">- you > SIZE=3D2 FACE=3D"Arial">get context corruption.

>> >>

OK, we have switched to = >> the -> FACE=3D"Arial">msoft-> FACE=3D"Arial">floating-point option, and recompiled all our = >> code. The FP registers usage has = >> gone. BUT,

>> >>
  1. We = >> have no clue in what other cases = >> the compiler generates code that uses floating point registers> I>
  2. >>
  3. We obviously cannot = >> recompile VxWorks, so we don> FACE=3D"Arial">'t know whether = >> there'> FACE=3D"Arial">s code that uses> FACE=3D"Arial"> "> SIZE=3D2 FACE=3D"Arial">silently> FACE=3D"Arial">"
    >> floating point registers (and I suspect = >> that neither does WRS).
  4. >>
    >>
>>

Any ideas?

>> >>

David Gasul

>> >>

Telegate Ltd.

>> >>

7 Haplada St., 60218 = >> Or-Yehuda, Israel

>> >>

Voice: +972-3-5384634, = >> Fax: +972-3-5335877

>> >>

e-mail: > HREF=3D"mailto:davidg@telegate.co.il">> SIZE=3D2 FACE=3D"Arial">davidg@telegate.co.il

>> >>

WWW: http:> SIZE=3D2 FACE=3D"Arial">//www.telegate.co.il >> >> >> >> ------_=_NextPart_001_01BEDC03.E1ECE8D0-- > ------_=_NextPart_001_01BEDDDB.C780C240 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable RE: GCC generates floating point code on its own for = PPC.

Bill/John,

When the compile line is = like this - the problem = appears.

ccppc -fno-builtin = -fvolatile -fkeep-inline-functions -nostdinc -fsigned-char -Wall = -mcpu=3D603 -DCPU=3DPPC603 -DMV2300 -O0 -c -o = zz.o = zz.c

When the compile line is = like this - the problem = doesn't appear.

ccppc -fno-builtin = -fvolatile -fkeep-inline-functions -nostdinc -fsigned-char -Wall = -mcpu=3D603 -DCPU=3DPPC603 -DMV2300 -O0 -msoft-float -c -o = zz.o = zz.c

Needless to say = that FPU hardware support is = enabled in VxWorks.

Hope this = helps.

David Gasul

Telegate Ltd.

7 Haplada St., 60218 = Or-Yehuda, Israel

Voice: +972-3-5384634, = Fax: +972-3-5335877

e-mail: davidg@telegate.co.il

WWW: http://www.telegate.co.il

    -----Original Message-----

    From:   Bill Cox [SMTP:bcox@wrs.com]

    Sent:   Tue 03 August 1999 18:26

    To:     johnx@wrs.com

    Cc:     leonid@bitband.com; davidg@telegate.co.il

    Subject:       = Re: GCC generates floating point = code on its own for PPC.

    At 09:50 AM 8/2/99 -0700, you wrote:

    >Hi,

    >

    >Is = this true? 

    >Are = we using the FP reg for integer stuff?

    >Any = comments?

    Yes.  It's a valid optimization when there *is* an = FP unit to interpret

    the = instructions.  What CPU type was used in the = compilation?

    Anybody know?  Could we see the compiler command line = from this

    build?

    Thanks = in advance!


    >

    >John

    >

    >Forwarded message:

    >>From leonid@bitband.com Sun Aug  1 05:37 = PDT 1999

    >Date: Sun, 01 Aug 1999 15:42:18 +0200

    >From: Leonid Rosenboim = <leonid@bitband.com>

    >To: David Gasul <davidg@telegate.co.il>

    >Subject: Re: GCC generates floating point code on = its own for PPC

    >

    >David,

    >

    >it = seems your guys did a really good job tracking down this problem, = WOW!

    >

    >Now, what I can suggest is that the only SAFE = solution is to have all

    >tasks with VX_FP flag turned on cause you really = can't tell where else

    >in = WRS libraries the FP regs are used for integer stuff.

    >

    >I = hope WRS appreciates this work you have done, and they should

    >recommend to all customers using PPC with FP = hardware to turn

    >VX_FP on for all tasks.

    >

    >Leonid

    >

    >David Gasul wrote:

    >

    >> This message is in MIME format. Since your mail = reader does not understand

    >> this format, some or all of this = message may not = be legible.

    >>

    >> ------_=3D_NextPart_001_01BEDC03.E1ECE8D0=

    >> Content-Type: text/plain;

    >>         = charset=3D"iso-8859-1"

    >>

    >> Dear VxWorkers,

    >>

    >> We came across this nasty problem which took = about two months to work

    >> around.

    >> Does anyone have an idea how to solve it = properly?

    >>

    >> Look at the following code snippet:

    >>

    >> typedef struct

    >>   {

    >>    int x;

    >>    int y;

    >>   } SixtyFourBitStruct;

    >>

    >> void z(SixtyFourBitStruct * p)

    >> {

    >>    = SixtyFourBitStruct   a;

    >>

    >>    a =3D *p;

    >>

    >>    ...

    >> }

    >>

    >> Now if you examine the machine code of line = "a =3D *p" you will find that the

    >> transfer is performed

    >> through FLOATING POINT registers!!!!!!!!!! = (This happens if the default

    >> -mhard-floating-point option is = used).

    >> Apparently, the compiler optimizes a 64-bit transfer, since a = FP

    register is

    >> 64 bits wide.

    >> Obviously the task that runs this line has not = been set up with the

    floating

    >> point option because nobody could imagine that = this innocent line generates

    >> FP code, and bang - you get context corruption.

    >>

    >> OK, we have switched to the = -msoft-floating-point option, and recompiled

    all

    >> our code. The FP registers usage has gone. = BUT,

    >> 1.      We have no = clue in what other cases the compiler generates code

    that

    >> uses floating point registers

    >> 2.      We obviously = cannot recompile VxWorks, so we don't know whether

    >> there's code that uses = "silently"

    >> floating point registers (and I suspect that = neither does WRS).

    >>

    >> Any ideas?

    >>

    >> David Gasul

    >> Telegate Ltd.

    >> 7 Haplada St., 60218 Or-Yehuda, = Israel

    >> Voice: +972-3-5384634, Fax: = +972-3-5335877

    >> e-mail: davidg@telegate.co.il <mailto:davidg@telegate.co.il&g= t;

    >> WWW: http://www.telegate.co.il

    >>

    >> = ------_=3D_NextPart_001_01BEDC03.E1ECE8D0

    >> Content-Type: text/html;

    >>         = charset=3D"iso-8859-1"

    >> Content-Transfer-Encoding: = quoted-printable

    >>

    >> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML = 3.2//EN">

    >> <HTML>

    >> <HEAD>

    >> <META = HTTP-EQUIV=3D3D"Content-Type" CONTENT=3D3D"text/html; = =3D

    >> charset=3D3Diso-8859-1">

    >> <META NAME=3D3D"Generator" = CONTENT=3D3D"MS Exchange Server version =3D

    >> 5.5.2232.0">

    >> <TITLE>GCC generates floating point code = on its own for PPC</TITLE>

    >> </HEAD>

    >> <BODY>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">Dear VxWo</FONT><FONT = =3D

    >> SIZE=3D3D2 = FACE=3D3D"Arial">rkers,</FONT></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">We came across this nasty =3D

    >> problem</FONT><FONT SIZE=3D3D2 = FACE=3D3D"Arial"> which took about two =3D

    >> months to</FONT> <FONT SIZE=3D3D2 = FACE=3D3D"Arial">work around</FONT><FONT = =3D

    >> SIZE=3D3D2 = FACE=3D3D"Arial">.</FONT></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">Does any</FONT><FONT = =3D

    >> SIZE=3D3D2 FACE=3D3D"Arial">one = have an idea how to solve it</FONT><FONT =3D

    >> SIZE=3D3D2 FACE=3D3D"Arial"> = properly</FONT><FONT SIZE=3D3D2 =3D

    >> = FACE=3D3D"Arial">?</FONT></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">Look at the following =3D

    >> code snippet:</FONT></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">typedef = struct</FONT></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT = SIZE=3D3D2 FACE=3D3D"Arial">&nbsp; = {</FONT></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">&nbsp;</FONT>&nbsp;<FONT = =3D

    >> SIZE=3D3D2 FACE=3D3D"Arial"> int = x;</FONT></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">&nbsp;&nbsp; int =3D

    >> y;</FONT></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">&nbsp; }</FONT> <FONT = =3D

    >> SIZE=3D3D2 = FACE=3D3D"Arial">SixtyFourBitStruct</FONT><FONT = SIZE=3D3D2 =3D

    >> = FACE=3D3D"Arial">;</FONT></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">void z(</FONT><FONT = =3D

    >> SIZE=3D3D2 = FACE=3D3D"Arial">SixtyFourBitStruct</FONT><FONT = SIZE=3D3D2 =3D

    >> FACE=3D3D"Arial"> *</FONT> = <FONT SIZE=3D3D2 = FACE=3D3D"Arial">p)</FONT></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">{</FONT></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">&nbsp;&nbsp;</FONT> <FONT = =3D

    >> SIZE=3D3D2 = FACE=3D3D"Arial">SixtyFourBit</FONT><FONT = SIZE=3D3D2 =3D

    >> = FACE=3D3D"Arial">Struct</FONT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">&nbsp;&nbsp; =3D

    >> a</FONT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">;</FONT></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">&nbsp;&nbsp; a =3D3D = =3D

    >> *p;</FONT></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">&nbsp;&nbsp;</FONT> = <FONT =3D

    >> SIZE=3D3D2 = FACE=3D3D"Arial">...</FONT></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">}</FONT></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">Now if you examine the =3D

    >> machine code of line</FONT> <FONT = SIZE=3D3D2 FACE=3D3D"Arial">"</FONT><FONT = =3D

    >> SIZE=3D3D2 FACE=3D3D"Arial">a = =3D3D *p</FONT><FONT SIZE=3D3D2 =3D

    >> FACE=3D3D"Arial">"</FONT>= ;<FONT SIZE=3D3D2 FACE=3D3D"Arial"> you will find = =3D

    >> that the transfer is = performed</FONT></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">through FLOATING POINT =3D

    >> registers!!!!!!!!!!</FONT><FONT = SIZE=3D3D2 FACE=3D3D"Arial"> (This happens =3D

    >> if the default</FONT> <FONT SIZE=3D3D2 = FACE=3D3D"Arial">-</FONT><FONT =3D

    >> SIZE=3D3D2 = FACE=3D3D"Arial">mhard-</FONT><FONT SIZE=3D3D2 = =3D

    >> FACE=3D3D"Arial">floating-point = option is used).</FONT></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">Apparently</FONT><FONT =3D

    >> SIZE=3D3D2 FACE=3D3D"Arial">, the = compiler optimizes a 64-bit transfer, =3D

    >> since a FP re</FONT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">gister is 64 bits =3D

    >> wide.</FONT></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">Obviously the task that =3D

    >> runs this line has not been set up with the = floating point =3D

    >> option</FONT><FONT SIZE=3D3D2 = FACE=3D3D"Arial"> because nobody could =3D

    >> imagine that this innocent line generates FP = code</FONT><FONT SIZE=3D3D2 =3D

    >> FACE=3D3D"Arial">, and = bang</FONT> <FONT SIZE=3D3D2 =3D

    >> = FACE=3D3D"Arial">-</FONT><FONT SIZE=3D3D2 = FACE=3D3D"Arial"> you</FONT> <FONT =3D

    >> SIZE=3D3D2 FACE=3D3D"Arial">get = context corruption.</FONT></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">OK, we have switched to =3D

    >> the</FONT> <FONT SIZE=3D3D2 = FACE=3D3D"Arial">-</FONT><FONT SIZE=3D3D2 = =3D

    >> = FACE=3D3D"Arial">msoft-</FONT><FONT SIZE=3D3D2 = =3D

    >> FACE=3D3D"Arial">floating-point = option, and recompiled all our =3D

    >> code.</FONT> <FONT SIZE=3D3D2 = FACE=3D3D"Arial">The FP registers usage has =3D

    >> gone.</FONT> <FONT SIZE=3D3D2 = FACE=3D3D"Arial">BUT,</FONT></P>

    >>

    >> <OL TYPE=3D3D1><DIV = ALIGN=3D3DLEFT><LI><FONT SIZE=3D3D2 = FACE=3D3D"Arial">We =3D

    >> have no clue in wh</FONT><FONT = SIZE=3D3D2 FACE=3D3D"Arial">at other cases =3D

    >> the compiler generates code that uses = floating point = registers</FONT></L=3D

    >> I></DIV>

    >> <DIV ALIGN=3D3DLEFT><LI><FONT = SIZE=3D3D2 FACE=3D3D"Arial">We obviously cannot = =3D

    >> recompile VxWorks, so we = don</FONT><FONT SIZE=3D3D2 =3D

    >> = FACE=3D3D"Arial">'</FONT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">t know whether =3D

    >> there</FONT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">'</FONT><FONT SIZE=3D3D2 = =3D

    >> FACE=3D3D"Arial">s code that = uses</FONT><FONT SIZE=3D3D2 =3D

    >> FACE=3D3D"Arial"></FONT> = <FONT SIZE=3D3D2 = FACE=3D3D"Arial">"</FONT><FONT = =3D

    >> SIZE=3D3D2 = FACE=3D3D"Arial">silently</FONT><FONT SIZE=3D3D2 = =3D

    >> = FACE=3D3D"Arial">"</FONT><BR>

    >> <FONT SIZE=3D3D2 = FACE=3D3D"Arial">floating point registers (and I suspect = =3D

    >> that neither does = WRS).</FONT></LI></DIV>

    >> <BR>

    >> </OL>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">Any = ideas?</FONT></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">David = Gasul</FONT></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">Telegate = Ltd.</FONT></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">7 Haplada St., 60218 =3D

    >> Or-Yehuda, = Israel</FONT></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">Voice: +972-3-5384634, =3D

    >> Fax: = +972-3-5335877</FONT></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">e-mail:</FONT> <A =3D

    >> HREF=3D3D"mailto:davidg@telegate.co.il&q= uot;><U><FONT COLOR=3D3D"#0000FF" =3D

    >> SIZE=3D3D2 = FACE=3D3D"Arial">davidg@telegate.co.il</FONT></U&g= t;</A></P>

    >>

    >> <P ALIGN=3D3DLEFT><FONT SIZE=3D3D2 = FACE=3D3D"Arial">WWW: http:</FONT><FONT = =3D

    >> SIZE=3D3D2 = FACE=3D3D"Arial">//www.telegate.co.il

    >>

    >> </BODY>

    >> </HTML>

    >> = ------_=3D_NextPart_001_01BEDC03.E1ECE8D0--

    > =

------_=_NextPart_001_01BEDDDB.C780C240-- From owner-vxwexplo-process Tue Aug 3 11:05:59 1999 From: ktsubota@keck.hawaii.edu (Kevin Tsubota) Date: Tue Aug 3 11:06:03 PDT 1999 Subject: crosswind debugger Hi, I'm using Tornado 1.0.1 with mv2304 BSP. I can't seem to get a "C" source listing from the crosswind debugger when I attach to an existing task. If I run the same task from the debugger I can get the "C" source listing. But I want to be able to attach and debug the task after it has suspended, which could take anywhere from a few hours to a couple of days. Does anyone know what I might be doing wrong? Thank you in advance. Kevin Tsubota California Assoc. for Research in Astronomy (808)885-7887 ktsubota@keck.hawaii.edu From owner-vxwexplo-process Tue Aug 3 11:35:55 1999 From: "Oded Weinstein" Date: Tue Aug 3 11:35:59 PDT 1999 Subject: Re: Missing carriage returns Hi Peter, Is "OPT_CRMOD" option set on your code? I'm not sure this is the cure, but anyway: example: int my_fd = ioTaskStdGet(/*SELF_TID*/ 0 , STD_OUT); (void) ioctl(my_fd, FIOSETOPTIONS, OPT_CRMOD | OPT_TANDEM | OPT_7_BIT ); more example: (void) ioctl (consoleFd, FIOSETOPTIONS, OPT_ECHO | OPT_CRMOD | OPT_TANDEM | OPT_7_BIT); From your story, it seems the carriage returns are not being stripped, but being handled somehow by a lower prio task, that can do its Job only if current task delays. HTH, Oded. > >Newsgroups: comp.os.vxworks >Subject: Missing carriage returns >Date: Tue, 3 Aug 1999 09:12:40 +0100 >From: "Pete Cook" >Message-ID: <37a6a449.0@nnrp1.news.uk.psi.net> >Reply-To: "Pete Cook" > >I'm using printf to print lines of text to a terminal via the serial port on >my box. The lines are not being printed down the left of the page, but are >indented, as though the carriage returns are being stripped, and only the >line feeds are being printed. > >If I put a taskDelay(100) between the printf lines, it all prints correctly, >but obviously I don't want delays after all my print statements. > >I have tried using fflush after each printf, to no avail. > >Anyone have any clues as to what is happening? > >Pete. > > > >--------------------------- > >End of New-News digest >********************** > Include the word VxWorks or Tornado to penetrate SPAM filters From owner-vxwexplo-process Tue Aug 3 16:58:25 1999 From: Sean McNeil Date: Tue Aug 3 16:58:29 PDT 1999 Subject: Re: GCC generates floating point code on its own for PPC. Could you please explain why you feel this is context corruption? I'm trying to get a clearer picture as to why this optimization should not be allowed. VxWorks saves/restores the FPU registers upon entry/exit of a task with FPU support. The only possibility is for the mentioned task to not have FPU support and it gets interrupted between the load/store. Is that what you mean? As Bill Cox states, this is a valid optimization (by all appearances). The 603 has an FPU and FPU support is enabled in the kernel. the vxWorks Users Group Exploder wrote: > Submitted-by owner-vxwexplo-process Tue Aug 3 10:08:06 1999 > Submitted-by: David Gasul > > This message is in MIME format. Since your mail reader does not understand > this format, some or all of this message may not be legible. > > ------_=_NextPart_001_01BEDDDB.C780C240 > Content-Type: text/plain; > charset="iso-8859-1" > > Bill/John, > > When the compile line is like this - the problem appears. > ccppc -fno-builtin -fvolatile -fkeep-inline-functions -nostdinc > -fsigned-char -Wall -mcpu=603 -DCPU=PPC603 -DMV2300 -O0 -c -o zz.o zz.c > > When the compile line is like this - the problem doesn't appear. > ccppc -fno-builtin -fvolatile -fkeep-inline-functions -nostdinc > -fsigned-char -Wall -mcpu=603 -DCPU=PPC603 -DMV2300 -O0 -msoft-float -c -o > zz.o zz.c > > Needless to say that FPU hardware support is enabled in VxWorks. > > Hope this helps. > > David Gasul > Telegate Ltd. > 7 Haplada St., 60218 Or-Yehuda, Israel > Voice: +972-3-5384634, Fax: +972-3-5335877 > e-mail: davidg@telegate.co.il > WWW: http://www.telegate.co.il From owner-vxwexplo-process Wed Aug 4 02:27:44 1999 From: Andrea Giacosi Date: Wed Aug 4 02:27:48 PDT 1999 Subject: VxSim and TCP/IP Hi, I'm working with vxWorks 5.4 and Tornado II, I'm trying to use the windnet stack (e.g. SNMP agent). Does anyone know if it is possible to use VxSim to test this network protocol? I can let 2 vxSim talk together using the loopback addresses 127.0.0.x. I can also reach from a Vxsim a process on the host machine(not a Vxsim), but I cannot reach a VxSim from outside the host where the simulator is running. Is it possible or I have to write a bridge process on the host machine? Thanks, Andrea ----------------------------------------------------------- Andrea Giacosi ----------------------------------------------------------- E-Mail: Andrea.Giacosi@italtel.it giacosi@ic8sd2.settimo.italtel.it ----------------------------------------------------------- Phone : +39 02 4388 7387 Fax : +39 02 4009 7942 ___ ___ ___ ___ {~._.~} {~:_:~} {~...~} {~___~} ( Y ) ( Y ) ( Y ) ( Y ) ()~*~() ()~*~() ()~*~() ()~*~() (_)-(_) (_)-(_) (_)-(_) (_)-(_) ----------------------------------------------------------- From owner-vxwexplo-process Wed Aug 4 04:00:11 1999 From: daemon@csg.lbl.gov Date: Wed Aug 4 04:00:16 PDT 1999 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Wed Aug 4 04:00:07 PDT 1999 Subject: Re: How to delay a task in micro seconds range Subject: Re: GCC generates floating point code on its own for PPC Subject: Re: Missing carriage returns Subject: TTYDEVCREATE CRASHES Subject: Re: SEXY STUFF 38191 Subject: Awesome Silicon Valley Start-up Subject: parallel I/O READ with mv2700 or mv2604 Subject: boot problems Subject: Re: GCC generates floating point code on its own for PPC. Subject: Re: GCC generates floating point code on its own for PPC. Subject: ?Build SNMP agent in Tornado2 Subject: Tornado 1: How does one cancel virtual console "local echo"? Subject: Q: Anyone ported glib to VxWorks? Subject: SETI@home on Vxworks Subject: IrDA & VxWorks Subject: Re: boot problems Subject: Re: Tornado 1: How does one cancel virtual console "local echo"? Subject: ldppc error Subject: vxWorks target ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to delay a task in micro seconds range Date: Tue, 03 Aug 1999 09:07:06 -0400 From: Douglas Fraser Organization: Lucent Technologies Message-ID: <37A6E97A.67F59040@lucent.com> References: <7o6021$t1l$1@nnrp1.deja.com> <7o6227$5ig$1@fleetstreet.Austria.EU.net> One thing to be aware of is that a delay of 1 tick will get you at MOST one tick of delay. If you call taskDelay() just before the timer fires it will return immediately. In other words. taskDelay(n) will result in a delay between n-1 and n ticks. If you really need hard microsecond delays you may have to resort to wasted cycles. It all depends on what your delay needs are. If your processor provides an auxiliary clock, you may want to use that. Doug Markus Mitterer wrote: > > Few time ago I need a similar function. First of all, I would calculate with > milliseconds, because witch the system tick you won't come in a lower range. > Then it is important that you first do the multiplication and then the > division because otherwise the result will always be zero due to the data > type DWORD. At the end I checked if the result is zero when the time value > is not zero. In this case I increased the delay time to one system tick. > Hope that helps you > > Markus --------------------------- Newsgroups: comp.os.vxworks Subject: Re: GCC generates floating point code on its own for PPC Date: Tue, 3 Aug 1999 14:41:11 GMT From: Charlie Grames Organization: Boeing Message-ID: <37A6FF87.B0EDCB84@nowhere.com> References: <7o136i$fd34@overload.lbl.gov> <37A5F99F.DE826A17@nowhere.com> <7o6770$peo$1@ndsukns01.ndsuk.com> Sender: nntp@news.boeing.com (Boeing NNTP News Access) Will, No, it wasn't a typing omission. It didn't occur to me that Tornado would not generate the correct options for the 604 processor if I told it to do so when creating the file. (I use the Green Hills compilers for my application, so I have never been that concerned.) However, I tried adding -mcpu=604 and got the same results. I then added - -mhard-float and still got the same results. I am still using Tornado 1.0.1 and the gcc bundled with it. Is it possible that this is a version issue? Charlie Grames The Boeing Company Charles.R.Grames @ boeing.com Will Fookes wrote: > > I also tried the example (and a couple of variations on it) and didn't see > the symptoms described. > > I am compiling for a PPC860 so I use the option -mcpu=860 > (as well as -nostdinc -O -fvolatile -Wall -DCPU=PPC860 -ansi -gdwarf). > > The manual says: "Specifying -mcpu=403, -mcpu=821 , or -mcpu=860 also > enables the -msoft-float option" so perhaps that explains why it works for > me. Why would you _not_ wish to tell the compiler what processor it is > targetting (...Charlie, or is it simply a typing omission from your example > below)? > > I guess that David must be using one of the other cpus. > > Will > > Charlie Grames wrote in message <37A5F99F.DE826A17@nowhere.com>... > >David, > > > >What platform do you use, and what other options do you use with gcc? I > >tried your test case, and my code uses two separate 32-bit load and > >store instructions. I'm using the MVME2700 BSP, which is based off code > >for the 604 processor. > > > >Our build output looks like this (from a generic Makefile for the 604 > >processor generated by Tornado): > > > >ccppc -BT:/host/x86-win32/lib/gcc-lib/ -mstrict-align -ansi -nostdinc > >-O2 -fvolatile -fno-builtin -fno-for-scope -Wall -I/h -I. > >-IT:\target\config\all -IT:\target/h -IT:\target/src/config > >-IT:\target/src/drv -DCPU=PPC604 -c bit64.c > > > >Done. > > > > > >Charlie Grames > >The Boeing Company > >Charles.R.Grames @ boeing.com > > > >David Gasul wrote: > >> > >> Dear VxWorkers, > >> > >> We came across this nasty problem which took about two months to work > >> around. > >> Does anyone have an idea how to solve it properly? > >> > >> Look at the following code snippet: > >> > >> typedef struct > >> { > >> int x; > >> int y; > >> } SixtyFourBitStruct; > >> > >> void z(SixtyFourBitStruct * p) > >> { > >> SixtyFourBitStruct a; > >> > >> a = *p; > >> > >> ... > >> } > >> > >> Now if you examine the machine code of line "a = *p" you will find that > the > >> transfer is performed > >> through FLOATING POINT registers!!!!!!!!!! (This happens if the default > >> -mhard-floating-point option is used). > >> Apparently, the compiler optimizes a 64-bit transfer, since a FP register > is > >> 64 bits wide. > >> Obviously the task that runs this line has not been set up with the > floating > >> point option because nobody could imagine that this innocent line > generates > >> FP code, and bang - you get context corruption. > >> > >> OK, we have switched to the -msoft-floating-point option, and recompiled > all > >> our code. The FP registers usage has gone. BUT, > >> 1. We have no clue in what other cases the compiler generates code > that > >> uses floating point registers > >> 2. We obviously cannot recompile VxWorks, so we don't know whether > >> there's code that uses "silently" > >> floating point registers (and I suspect that neither does WRS). > >> > >> Any ideas? > >> > >> David Gasul > >> Telegate Ltd. > >> 7 Haplada St., 60218 Or-Yehuda, Israel > >> Voice: +972-3-5384634, Fax: +972-3-5335877 > >> e-mail: davidg@telegate.co.il > >> WWW: http://www.telegate.co.il --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Missing carriage returns Date: Tue, 03 Aug 1999 15:04:59 GMT From: bwedding@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7o70ei$jht$1@nnrp1.deja.com> References: <37a6a449.0@nnrp1.news.uk.psi.net> In article <37a6a449.0@nnrp1.news.uk.psi.net>, "Pete Cook" wrote: > I'm using printf to print lines of text to a terminal via the serial > port on my box. The lines are not being printed down the left of the > page, but are indented, as though the carriage returns are being > stripped, and only the line feeds are being printed. Either you aren't printing them, or they are being stripped off by the terminal program. Are you printing like this: printf("This is a line \r\n"); or only printf("This is a line \n"); Bruce Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: TTYDEVCREATE CRASHES Date: Tue, 03 Aug 1999 16:58:18 +0100 From: James Pascoe Organization: The University of Reading Message-ID: <37A7119A.EC469819@reading.ac.uk> Dear All, I am trying to port a MC68XXX BSP from VxWorks 5.0.23 to VxWorks 5.3.1. I have produced a timer driver and a serial driver which both seem to work when tested. However, when ttyDevCreate is called during usrRoot, the board crashes. I have checked through the constants in config.h, e16.h (the name of our bsp is e16) and configAll.h. Does anybody know why ttyDevCreate stops working? Thanks James Pascoe --------------------------- Newsgroups: comp.os.vxworks Subject: Re: SEXY STUFF 38191 Date: Tue, 03 Aug 1999 11:02:30 -0700 From: Eric Flynn Organization: Hewlett Packard Cupertino Site Message-ID: <37A72EB6.385BE25C@wwg2.sid.hp.com> References: <31079923.5450@jhfsdf.com> Reply-To: eflynn@wwg2.sid.hp.com Please remove our newsgroup from your mailing list. We don't want to read your spam; we are trying to do serious work here. If you post to this NG again, I will file a complaint. uyr@jhfsdf.com wrote: > Sweet XXX! > > http://207.240.225.250/ --------------------------- Newsgroups: comp.os.vxworks Subject: Awesome Silicon Valley Start-up Date: 03 Aug 1999 11:47:30 PDT From: "Master Burnett" Organization: Concentric Internet Services Message-ID: <7o7dg2$sod@journal.concentric.net> Hi everyone, If anyone is looking for work that truly challenges the mind and is pushing the edge of consumer related technology, there is a new company in the Silicon Valley you should know about. As a recruiter I see literally hundreds of new companies a week, 99% of which fail to excite me, yet this one does. They are working on a multimedia gateway for the SOHO market that ties so many converging technologies into one product, that you can't help but see the benefit. Imagine a high speed (adsl/cable) modem, integrated web server, VoIP, Video on Demand, Audio on Demand, Home Networking (PNA 2.0), Home Automation, VPN, and Telephony all in one attractive piece of hardware. I would love to tell you more about it, but they are in stealth mode. However, those professionals who are very strong in embedded network application/protocol development and interested in hearing about a job opportunity can contact me and I will be more than happy to tell you more. P.S. The company is still offering major equity stakes, with estimated IPO values of 800K to 1.6M! - -- Master Burnett, Recruiter mburnett@bozichandcruz.com Bozich & Cruz, Inc. 2540 North First Street, Suite 309 San Jose, CA 95131 (408)955-9800 (Voice) (800)397-2235 (Toll Free) (408)955-9868 (Fax) San Jose, California www.bozichandcruz.com --------------------------- Newsgroups: comp.os.vxworks Subject: parallel I/O READ with mv2700 or mv2604 Date: Tue, 03 Aug 1999 13:33:02 -0700 From: Stefan Schaal Organization: USC & ERATO (JST) Message-ID: <37A751FC.7D71D8CA@usc.edu> Reply-To: sschaal@usc.edu Hello, I am trying to read data with the parallel I/O port on an mv2700 or mv2604. Unfortunately, the port is in WRITE mode by default, and I couldn't find out so far how to configure it (i.e., the National PC87308 Super IO Controller chip) in READ mode. We would highly appreciate any hints towards dealing with the parallel I/O, or some piece of sample code. Thanks a lot! Best wishes, - -Stefan --------------------------- Newsgroups: comp.os.vxworks Subject: boot problems Date: Tue, 03 Aug 1999 16:06:35 GMT From: "James Bernsen" Organization: Verio Message-ID: <01beddca$45d56da0$1ed7a089@da0713.dasd.honeywell.com> We are running VxWorks 5.3.1 attached to a Motorola MVME-2604 PowerPC processor board. Our software is compiled with gcc on a Sun workstation. Our TFTP/FTP server is 3ComServer. Our software had been working just fine until we added a new module of code. This new code (which compiles successfully) shouldn't have any effect (as far as I know) on the boot sequence of vxWorks, but that is exactly where we run into problems. When we boot, we receive this exception error: Starting at 0x100000... p Exception at interrupt level: program Exception current instruction address: 0x00380328 Machine Status Register: 0x00081000 Condition Register: 0x44008000 Regs at 0x3f4d58 Press any key to stop auto-boot... 7 I thought perhaps that this might be caused by a lack of RAM space because our RAM_HIGH_ADRS value is 0x00380000 and the exception address is near there, but increasing the RAM_HIGH_ADRS value didn't stop the error. I apologize if this a ridiculous question, but we are newbies on this and really need some help. Any suggestions are appreciated. James Bernsen --------------------------- Newsgroups: comp.os.vxworks Subject: Re: GCC generates floating point code on its own for PPC. Date: Tue, 3 Aug 1999 20:19:01 GMT From: Charlie Grames Organization: Boeing Message-ID: <37A74EB5.8ECB57FA@nowhere.com> References: <7o782h$ref1@overload.lbl.gov> Sender: nntp@news.boeing.com (Boeing NNTP News Access) David, The plot thickens. I tried your test case with the options you specified and duplicated your results. I then changed -O0 to -O2 (the default for kernel builds), and the floating-point loads and stores were replaced with 32-bit loads and stores. To answer one of your original questions, I don't think you need to be worried about the use of floating-point instructions in Wind River's code, because I believe -O2 is the standard (Wind River, please feel free to step in and verify this). However, I'm astounded that the compiler would generate floating-point instructions when optimization WASN'T selected but then not use them when optimization WAS selected! Thanks for the heads-up on this. Charlie Grames The Boeing Company Charles.R.Grames @ boeing.com David Gasul wrote: > > Bill/John, > > When the compile line is like this - the problem appears. > ccppc -fno-builtin -fvolatile -fkeep-inline-functions -nostdinc > -fsigned-char -Wall -mcpu=603 -DCPU=PPC603 -DMV2300 -O0 -c -o zz.o zz.c > > When the compile line is like this - the problem doesn't appear. > ccppc -fno-builtin -fvolatile -fkeep-inline-functions -nostdinc > -fsigned-char -Wall -mcpu=603 -DCPU=PPC603 -DMV2300 -O0 -msoft-float -c -o > zz.o zz.c > > Needless to say that FPU hardware support is enabled in VxWorks. > > Hope this helps. > > David Gasul > Telegate Ltd. > 7 Haplada St., 60218 Or-Yehuda, Israel > Voice: +972-3-5384634, Fax: +972-3-5335877 > e-mail: davidg@telegate.co.il > WWW: http://www.telegate.co.il > [lengthy exchange and HTML removed] --------------------------- Newsgroups: comp.os.vxworks Subject: Re: GCC generates floating point code on its own for PPC. Date: Tue, 03 Aug 1999 18:07:48 -0400 From: Mike Speer Organization: Orbital Sciences Corporation Germantown Message-ID: <37A76834.73E7969D@nospam.nospam> References: <7o782h$ref1@overload.lbl.gov> Reply-To: Speer.Mike@nospam.nospam Perhaps someone would explain what exactly the problem is here (except that there is no real documentation on the compiler "feature"). We made use of this feature because we needed 64-bit accesses and wanted to make use of the full 64-bit data bus on the 603e. The only issue we had to be careful with was to spawn the tasks using 64-bit accesses with VX_FP_TASK specified so the floating point registers are saved and restored on a context switch. Is it that the extra time to store the floating point registers is too long? Am I overlooking a different problem? Thanks, Mike Speer Orbital Sciences Corp. Speer . Mike @ oscsystems . com --------------------------- Newsgroups: comp.os.vxworks Subject: ?Build SNMP agent in Tornado2 Date: Wed, 04 Aug 1999 00:29:09 GMT From: Marjorie Krueger Organization: Vixel Message-ID: <37A78959.D93454B6@vixel.com> The WindNet SNMP manual has the following instructions to build the SNMP agent: - ------------------------------ To build the agent, change your working directory to the main agent source directory, $WIND_BASE/target/src/snmpv1/agent, and run make. For example, to rebuild for a SunOS host and an MVME147 target, type the following line: % (cd $WIND_BASE/target/src/snmpv1/agent ; make CPU=MC68020 TOOL=gnu) - ------------------------------ How do these instructions apply in the Tornado2 environment (on Windows NT)?? I tried running the makefile from the command line, but there's obviously LOTS of environment options that are not set up in NT. So how do I recompile the agent in Tornado 2? And why are the manuals so *unfriendly*... ;-) Thanks! Marjorie Krueger Vixel Corp. --------------------------- Newsgroups: comp.os.vxworks Subject: Tornado 1: How does one cancel virtual console "local echo"? Date: Tue, 3 Aug 1999 17:28:19 -0700 From: "CT Samaras" Organization: TRW, Inc. Message-ID: <7o81f7$q2o$1@cronkite.sp.trw.com> Hello all, A quick description of the problem: I'd like to use the virtual console for stdin, stdout and stderr. After connecting to the target, I launch a WindSh and open the "/vio/0" device, and assign the resulting file descriptors 0, 1, and 2 using ioGlobalStdSet() function. Output is directed to the virtual console window OK, but everytime keyboard input is requested from the user, every character typed at the keyboard is printed twice, e.g. typing "Hello" prints "HHeelloo" on the virtual console window. I'm assuming there is some sort of "local echo" of typed characters going on here, but I can't seem to figure out how to disable it. Has anyone run into this before? Any ideas on how to fix it? Thanks in advance, - -CT --------------------------- Newsgroups: comp.os.vxworks Subject: Q: Anyone ported glib to VxWorks? Date: Wed, 04 Aug 1999 01:52:29 GMT From: Wallace Owen Organization: @Home Network Message-ID: <37A79CEE.F937AE96@home.com> Has anyone ported glib (the utility library used by gtk+) to VxWorks? I'vev got an app that makes a great deal of use of their hashtable tools. // Wally --------------------------- Newsgroups: comp.os.vxworks Subject: SETI@home on Vxworks Date: Tue, 03 Aug 1999 21:23:19 -0400 From: "Ricky W. West" Message-ID: <37A79607.95198FCD@bellsouth.net> I heard that the seti@home crowd was porting the code to the vxWorks operating system. Does anyone know how they are planning to manage this? At work I have a bunch of PPC860 boards that were spun in the early life cycle of a project. If the seti code were available to build into my target, I could run a bunch of CPU servers grinding away on the data. Ricky West --------------------------- Newsgroups: comp.os.vxworks Subject: IrDA & VxWorks Date: Wed, 04 Aug 1999 10:12:51 +0800 From: Tiger Nov Organization: Hewlett Packard Cupertino Site Message-ID: <37A7A1A3.961ED973@non-hp-china-om2.om.hp.com> - --------------08A49B81CEA3277215FEABEE Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi, I wrote an IrDA primary driver of VxWorks running on i80486 board . The i8250UART of i80486 board can not receive any characters in the process of discovery, nevertheless it can receive any characters via hyperterminal and can receive characters from another device that is in the process of connection. I checked the baudrate, data bits, stop bits and parity, i8250uart is initialized as 9600bps, 8 data bits, 1 stop bit and no parity. This problem has bored me for a long time and I can not go on debugging. Any help will be appreciated. Thanks, Tao Zhixin E-mail: zhi-xin_tao@non-hp-china-om2.om.hp.com - --------------08A49B81CEA3277215FEABEE Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit Hi,

I wrote an IrDA primary driver of VxWorks running on i80486 board . The i8250UART of i80486 board can not receive any characters in the process of discovery, nevertheless it can receive any characters via hyperterminal and can receive characters from another device that is in the process of connection. I checked the baudrate, data bits, stop bits and parity, i8250uart is initialized as 9600bps, 8 data bits, 1 stop bit and no parity. This problem has bored me for a long time and I can not go on debugging.

Any help will be appreciated.

Thanks,
Tao Zhixin
E-mail: zhi-xin_tao@non-hp-china-om2.om.hp.com - --------------08A49B81CEA3277215FEABEE-- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: boot problems Date: Wed, 04 Aug 1999 03:49:03 GMT From: David Hamel Organization: @Home Networks. Message-ID: <37A7B852.5E666942@ntanet.net> References: <01beddca$45d56da0$1ed7a089@da0713.dasd.honeywell.com> Did you create a new bootrom that uses the different RAM_HIGH_ADRS? James Bernsen wrote: > > We are running VxWorks 5.3.1 attached to a Motorola MVME-2604 PowerPC > processor board. Our software is compiled with gcc on a Sun workstation. > Our TFTP/FTP server is 3ComServer. Our software had been working just fine > until we added a new module of code. This new code (which compiles > successfully) shouldn't have any effect (as far as I know) on the boot > sequence of vxWorks, but that is exactly where we run into problems. When > we boot, we receive this exception error: > > Starting at 0x100000... > p > > Exception at interrupt level: > > program > Exception current instruction address: 0x00380328 > Machine Status Register: 0x00081000 > Condition Register: 0x44008000 > Regs at 0x3f4d58 > > Press any key to stop auto-boot... > 7 > > I thought perhaps that this might be caused by a lack of RAM space because > our RAM_HIGH_ADRS value is 0x00380000 and the exception address is near > there, but increasing the RAM_HIGH_ADRS value didn't stop the error. > > I apologize if this a ridiculous question, but we are newbies on this and > really need some help. Any suggestions are appreciated. > > James Bernsen --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado 1: How does one cancel virtual console "local echo"? Date: Wed, 04 Aug 1999 04:01:12 GMT From: David Hamel Organization: @Home Networks. Message-ID: <37A7BB2B.EB36CCF5@ntanet.net> References: <7o81f7$q2o$1@cronkite.sp.trw.com> Yes, that is a bug in the target server. It used to work in Solaris 2.4 but some pty API was changed in Solaris 2.5.1 that Wind River never picked up on. You could disable echoing on /vio/0 and get it down to a single echo, but that is still wrong. Upgrade to Tornado 2, ioctl /vio/0, or run a small tcp app server. CT Samaras wrote: > > Hello all, > > A quick description of the problem: I'd like to use the virtual console > for stdin, stdout and stderr. After connecting to the target, I launch a > WindSh and open the "/vio/0" device, and assign the resulting file > descriptors 0, 1, and 2 using ioGlobalStdSet() function. Output is directed > to the virtual console window OK, but everytime keyboard input is requested > from the user, every character typed at the keyboard is printed twice, e.g. > typing "Hello" prints "HHeelloo" on the virtual console window. I'm assuming > there is some sort of "local echo" of typed characters going on here, but I > can't seem to figure out how to disable it. > > Has anyone run into this before? Any ideas on how to fix it? > > Thanks in advance, > > -CT --------------------------- Newsgroups: comp.os.vxworks Subject: ldppc error Date: Wed, 4 Aug 1999 14:49:22 +0800 From: "Zha Junhai" Organization: Alcatel Message-ID: <37a7e4a7.0@dnews.sbell.com.cn> Hi, vxworkers When I want to link some object files to one, there was one error "ldppc:built in linker script:43: syntax error", I don't know how to find which error it is. Thanks for you help. --------------------------- Newsgroups: comp.os.vxworks Subject: vxWorks target Date: Tue, 3 Aug 1999 10:47:12 -0700 From: "Firstname Lastname" Organization: Wind River Systems Message-ID: <7o924d$1sd34@tass.wrs.com> Hey, anybody know where I can go to get a RISC or PPC target for vxWorks 5.x/6.x? And are there any ARM targets yet? - -Tim Wang --------------------------- End of New-News digest ********************** From owner-vxwexplo-process Wed Aug 4 06:28:55 1999 From: David Abbott Date: Wed Aug 4 06:28:59 PDT 1999 Subject: MVME162 Bug in system clock Hello vxWorks users, I came across what looks to be a very long standing bug in the BSP for the Motorola MVME162 single board computer. I thought I would pass the info along to anyone who cares. Our problem ocurred when we were attempting to periodically write some status information to a file on an NFS mounted disk. This was done every 15 minutes or so. To help keep track of the files, we created a filename containing a time/date stamp in its name. We noticed that over the course of a day or two the time/date stamps were getting further and further out of sync with the UNIX file server's time (almost an hour behind over a 24 hour period). A little investigation into the BSP found that the vxWorks system clock is working off one of the tick timers in the MCChip on the MV162. These timers rely on prescaling the processor's clock speed down to 1 MHz. Hence there is a Prescale Clock Adjust Register on the Chip that must be programmed correctly. There is also a CPU Version Register that is read only containing information about the the Processor type, and the presence of SCSI, ethernet, and VME interface chips. In syslib.c (sysHwInit), the Version register is checked and the Prescale Clock Adjust Register is set for either a 25MHz CPU or a 33 MHz CPU (see code snippet): if (*MCC_VERSION_REG & 0x01) /* check clock speed */ { *MCC_PRESCALE_CLK_ADJ = 256 - 33; /* for 33 MHz board */ *MCC_PRESCALE = 256 - 33; *MCC_BUS_CLK_REG = 33; } else { *MCC_PRESCALE_CLK_ADJ = 256 - 25; /* for 25 MHz board */ *MCC_PRESCALE = 256 - 25; *MCC_BUS_CLK_REG = 25; } The problem is that about 4 years ago Motorola introduced the MV162 FX and LX series of VME CPUs which run at 25MHz or 32MHz. So if you have a 32MHz version of a MV162 the Prescale Clock Adjust Register is set incorrectly and the whole vxWorks system clock time base is off by a factor 32/33. Hence, when 1 realtime second has passed the vxWorks OS only thinks .97 sec have passed. For most of our applications a 3% effect is not an issue, but if folks are relying accurate time based applications the fix is easy. Just change the above code in sysLib.c replacing the 33 for 32. A couple of additional notes: First this does not affect the MV167 BSP as that board really does run at 33MHz. Also I have noticed that even with the latest BSPs distributed with Tornado II and vxWorks 5.4 the bug is still there. --------------------------------------------------------- David Abbott Jefferson Lab Data Acquisition Group MS 12H EMAIL: abbottd@jlab.org 12000 Jefferson Ave. Tel: (757) 269-7190 Newport News, VA 23606 FAX: (757) 269-5800 --------------------------------------------------------- From owner-vxwexplo-process Wed Aug 4 06:31:57 1999 From: Shawn Henry Date: Wed Aug 4 06:32:00 PDT 1999 Subject: REMOVE VxWorks Please remove >shawn.henry@vmic.com From owner-vxwexplo-process Wed Aug 4 06:57:13 1999 From: "Mike Anderson" Date: Wed Aug 4 06:57:16 PDT 1999 Subject: RE: GCC generates floating point code on its own for PPC. VxWorks Greetings! > > Could you please explain why you feel this is context corruption? > I'm trying > to get a clearer picture as to why this optimization should not > be allowed. > VxWorks saves/restores the FPU registers upon entry/exit of a > task with FPU > support. The only possibility is for the mentioned task to not have FPU > support and it gets interrupted between the load/store. Is that what you > mean? As Bill Cox states, this is a valid optimization (by all > appearances). > The 603 has an FPU and FPU support is enabled in the kernel. > I believe that the issue here is that gcc/egcs is trying to optimize move instructions by utilizing the FPU registers. This is no problem in the case of floating-point enabled tasks, but it plays hell when this thing happens in an ISR without your knowledge. For example, you believe that everything is OK with your FPU because you think that all of your tasks are either not using floating point or are spawned as floating point safe. Unfortunately, you missed the hidden floating point that got generated in that innocent multiply *2 instruction used by one of your jr programmers who didn't know better. Then wham! One of your ISRs gets invoked and clobbers your FPU context during the multiply operation and now the results of the multiply (remember the buffer index operation your programmer needed that multiply for in the first place? ;-) causes the pointer to go off into la-la land. If you're lucky, it dies immediately. If not, it may run for a while before it dies while overwritting key program/data areas. The other issue is what happens if your task happens to be performing one of these very same move operations using the FPU registers when an ISR happens. Even though your task wasn't using the FPU explicitly, it really was -- as far as the compiler was concerned. Now, the data in your task's operation is corrupted and you are none the wiser. This says that if you *need* to use hardware floating point (i.e., not enable -msoft-float on the PPC using the GNU compiler at least), you might want to seriously consider saving and restoring the FPU context as you enter and leave your ISRs. Of course, your have to hope that WRS did the same thing for their device ISRs as well. BTW, this is not the first time this kind of thing has come up. Many of us old-timers remember the Sun 3 CC compiler generating extraneous floating point code for our 68Ks. There we simply had to bump up the optimization level for the code to eliminate the problem. This problem with the PPC is much more insidious because it's pervasive throughout the code and only visible if you look at the assembly language output from the compiler. So, all of you folks who only use C-source debuggers without going to the mixed assembly mode, probably get what you deserve ;-). Just my $.02, Mike Anderson ----------------------------------------------------------------- Michael E. Anderson | Integrated Chipware Chief Scientist | 1861 Wiehle Ave. #300 | Reston, VA 20190 mike@chipware.com | (703) 736-3504 www.chipware.com (888)430-CHIP | (703) 736-3556 FAX ----------------------------------------------------------------- "Software development is like making a baby. You can't make a baby in one month by impregnating nine women. Some things just take time..." From owner-vxwexplo-process Wed Aug 4 07:40:35 1999 From: "Kerry-Gorden Williams" Date: Wed Aug 4 07:40:38 PDT 1999 Subject: RE: crosswind debugger Hello Kevin, We ran into a similar issue that was fixed by our WRS FAE in conjunction with the load build crew here. There is a default option that strips some symbol information at load time that GDB seems to require to get the spawned task context. Remove from the linker flags the "-X" option. This flag is located in one of the files in /target/h/make/ I forget exactly which one. Also, are you running symbol table sync? This is required to pass the symbol information from the target loaded objects to the debug utilities. HTH, Kerry > > Hi, > > I'm using Tornado 1.0.1 with mv2304 BSP. > > I can't seem to get a "C" source listing from the > crosswind debugger when I attach to an existing task. > > If I run the same task from the debugger I can get > the "C" source listing. But I want to be able to attach > and debug the task after it has suspended, which could > take anywhere from a few hours to a couple of days. > > Does anyone know what I might be doing wrong? > > Thank you in advance. > > Kevin Tsubota > > California Assoc. for Research in Astronomy > (808)885-7887 > ktsubota@keck.hawaii.edu > From owner-vxwexplo-process Wed Aug 4 07:46:51 1999 From: bwaite@cspi.com Date: Wed Aug 4 07:46:55 PDT 1999 Subject: Re: SETI@home on VxWorks Actually, I am in the process of porting the SETI@home code to vxWorks/PPC. From the looks of it once this is comleted you will only have to slightly modify a single file and it will build and run on your processor. Unfortunately, I'm doing this while in between projects, and right now I am not in between projects :). The first series of tests I've done have worked well, but I still have some bugs to work through and then I have to port to the newest release of SETI@home. I think I am 1 rev back right now. this part is pretty trivial once I can guarentee numerical correctness. I will post up here once I get it ported and accepted by SETI@home. As a side note, in our testing I have found that SETI@home runs very well on vxWorks/PPC. We are seeing that it takes about 5 hours to complete the reference packet on a 400 Mhz PPC where others in the building are taking about 12 hours to run through a packet on thier 450 MHz NT stations. We have the same vision you do, we have a large farm of PPCs doing nothing at night and on weekends. Can't hurt to be searching the skies. Thanks Brian Waite CSPI Customer Support Email: bwaite@cspi.com vxwexplo@lbl.gov on 08/04/99 07:00:18 AM To: vxworks_users@csg.lbl.gov cc: (bcc: Brian Waite/CSP) Subject: comp.os.vxworks newsdigest --------------------------- Newsgroups: comp.os.vxworks Subject: SETI@home on Vxworks Date: Tue, 03 Aug 1999 21:23:19 -0400 From: "Ricky W. West" Message-ID: <37A79607.95198FCD@bellsouth.net> I heard that the seti@home crowd was porting the code to the vxWorks operating system. Does anyone know how they are planning to manage this? At work I have a bunch of PPC860 boards that were spun in the early life cycle of a project. If the seti code were available to build into my target, I could run a bunch of CPU servers grinding away on the data. Ricky West --------------------------- From owner-vxwexplo-process Thu Aug 5 04:00:11 1999 From: daemon@csg.lbl.gov Date: Thu Aug 5 04:00:15 PDT 1999 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Thu Aug 5 04:00:07 PDT 1999 Subject: Re: ldppc error Subject: Re: crosswind debugger Subject: How to delay a task in micro seconds range Subject: fddi and VxWorks Subject: Re: vxWorks target Subject: Re: muxDevLoad fails Subject: Re: PJWorks-Performance with PPC823 Subject: Re: PJWorks-Performance with PPC823 Subject: Re: Tornado 1: How does one cancel virtual console "local echo"? Subject: Re: Awesome Silicon Valley Start-up Subject: End Driver SENS 1.1 Stack losing Recv Buffers!? Subject: Re: How to delay a task in micro seconds range Subject: Re: Awesome Silicon Valley Start-up Subject: Re: boot problems Subject: Shared library on Vxworks without virtual mm support Subject: shared library implementation on Vxworks Subject: shared library implementation on Vxworks ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: ldppc error Date: Wed, 04 Aug 1999 14:02:14 +0200 From: Dirk Weber Organization: T-Online Message-ID: <37A82BC6.7537A5DB@t-online.de> References: <37a7e4a7.0@dnews.sbell.com.cn> Reply-To: dirk@ramix.com Zha Junhai wrote: > Hi, vxworkers > > When I want to link some object files to one, there was > one error "ldppc:built in linker script:43: syntax error", > I don't know how to find which error it is. > Zha, make sure that you have use the -r option for the linker. I have not had major problems with it yet except that I once (well, maybe twice) used the function name 'main' which is illegal for a user object module! This was giving me unusual error messages! Dirk Weber --------------------------- Newsgroups: comp.os.vxworks Subject: Re: crosswind debugger Date: Wed, 04 Aug 1999 13:05:00 GMT From: akarpov@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7o9dpm$ams$1@nnrp1.deja.com> References: <199908031805.IAA04756@kahala.keck.hawaii.edu> The debugger often stops a task somewhere at OS kernel code. So it is inpossible to display "C" source code. When you have attached to a task try (Debug->Back Trace). Then in the Back Trace window click on your application function in order to obtain "C" source code. Hopefully this will help you. Alex In article <199908031805.IAA04756@kahala.keck.hawaii.edu>, ktsubota@keck.hawaii.edu (Kevin Tsubota) wrote: > > Hi, > > I'm using Tornado 1.0.1 with mv2304 BSP. > > I can't seem to get a "C" source listing from the > crosswind debugger when I attach to an existing task. > > If I run the same task from the debugger I can get > the "C" source listing. But I want to be able to attach > and debug the task after it has suspended, which could > take anywhere from a few hours to a couple of days. > > Does anyone know what I might be doing wrong? > > Thank you in advance. > > Kevin Tsubota Tornado, VxWorks Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: How to delay a task in micro seconds range Date: Tue, 03 Aug 1999 05:52:04 GMT From: lingsiva@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7o6021$t1l$1@nnrp1.deja.com> HI I wonder how to delay a task in micro seconds range. The function taskdelay() delays a task in terms of ticks. so i converted the time into number of ticks as follows: taskDelay((int)(dwMicroSeconds/1000000)* sysClkRateGet()); But In my case, The above will always be zero because i need to delay a task only for 1000 or 2000 micro seconds. Effectively there will be no delay in task. can anyone give me a solution for this. Thanks in advance. regards, s.shiva Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: fddi and VxWorks Date: 4 Aug 99 17:12:30 +0100 From: guidi@sssup.it Organization: SSSUP S. Anna, Pisa - Italy Message-ID: Hi. Is there anyone using an fddi point-to-point network connection ? I use it between two Alphas (one with VME bus) both with VxWorks. (The machines are also connected to the ethernet network) I'm experiencing some strange problems with the fddi driver. That is, it seems that the VME machine crashes if the task that send and/or receive on the fddi network is spawned with a big stack size (e.g. 1Mbyte). It seems that it works correctly if the task is spawned with a smaller stack (e.g. 8Kbyte). The VME machine has 32 Mbyte RAM. The behaviour is more ore less the same even if we try to bypass the network layer (IP) of the architecture and try to access directly the Data Link layer. Thank you in advance. Marco Guidi --------------------------- Newsgroups: comp.os.vxworks Subject: Re: vxWorks target Date: Wed, 04 Aug 1999 17:17:24 GMT From: Wallace Owen Organization: @Home Network Message-ID: <37A875B4.4CA9927F@home.com> References: <7o924d$1sd34@tass.wrs.com> Generally, one would contact Wind River - they'd be the clearinghouse for BSPs. // Wally Firstname Lastname wrote: > > Hey, anybody know where I can > go to get a RISC or PPC target for > vxWorks 5.x/6.x? And are there > any ARM targets yet? > > -Tim Wang --------------------------- Newsgroups: comp.os.vxworks Subject: Re: muxDevLoad fails Date: Wed, 4 Aug 1999 18:51:36 +0100 From: "Mark Hambleton" Organization: (Posted via) Netcom Internet Ltd. Message-ID: <7o9ujl$rl$1@taliesin.netcom.net.uk> References: <7o9qsj$1ti$1@news2.inter.net.il> The mux passes the load function an initString of '\0' the first time it is called, you must then copy your device name into the string and return 0 (or OK I think). The Mux will then call you with the correct init string...muxDevLoad fails if you don't do this! END_OBJ *my_endLoad ( char *InitStr , void *extra ) { INIT_PARAMS InitParams ; extra = extra ; /* Optional parameter not used at present*/ /* Windriver reckon that if a driver is called with a NULL string it should return the device name !! This is not documented !!*/ /* Not entirely happy with this but this is how it is done in other END devices!*/ if (InitStr == NULL) return (NULL); if (InitStr[0] == NULL) { bcopy((char*)IFNAME, InitStr, strlen(IFNAME)); return (0); } /* Extract parameters from initialisation string*/ my_initParse( &InitParams , InitStr ); ....... Hope this helps.... - -- Mark Hambleton http://www.xstreamis.com/ Erez Bar-Tal wrote in message <7o9qsj$1ti$1@news2.inter.net.il>... > >Hi all >I am new at Vxworks and tornado envariement so pls be patient with me. >I am writing a network driver using the MUX layer and I have the following >problem. >muxDevLoad returns always ERROR while my load function (which is >being called from muxDevLoad) returns a valid value. >I thinks I made all the necessary steps I need to do. >I can see the my load function is being called and from that function >I have initialize all the necessary structures.(end,mibs, nutfunc dev_obj >etc). >I have also edit the congihNet.h file with the appropriate entries. >Is there any special constant that I need to define ? (beside INCLUDE_END) > >any help will be appreciated >thanks >Erez > >p.s. is there a way to get muxDevLoad source code ? > > >====================================== >Erez Bar-Tal >5 Ezra St. >Ness-Zionna >74029 >Tel: 08-9402715 > 08-9404532 >mail: bar-tal1@inter.net.il > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PJWorks-Performance with PPC823 Date: Wed, 04 Aug 1999 15:34:03 -0600 From: Marco Castellon Organization: AudeSi Technologies Inc. Message-ID: <37A8B1CB.FD289733@audesi.com> References: <7o4cem$is6$1@black.news.nacamar.net> Hello Bernd, We also use TII with Personal JWorks and a PowerPC MPC823. It's interesting that you mention a touchscreen GUI because that's exactly what we have done here at AudeSi. I wrote the low-level touchscreen driver using VxWorks calls and the SPI channel of the MPC823. We haven't really observed any performance issues with Java, we also ran our platform at 50 MHz. One possible hint where the problem might be is: If you are using the on-chip LCD controller, verify what the arbitration level is and make sure that you are not using aggressive mode. I would like to learn more about what it is that you are doing and I could tell you about our application. Let me know if I can be of help. Marco Castellon Hardware Engineer AudeSi Technologies (403) 730-7575 email: castellon@audesi.com http://www.audesi.com Bernd Blank wrote: > We are using TII with Personal JWorks on a 50MHz PowerPC823 and have > performance problems: > > Our benchmark PrimeNum (calculates Primes, no floating-point) is about 5 > times slower than on a 486DX2/66 with PJEE (= slowest Java for PCs we could > find). > > With C-programs our PowerPC is slightly faster than the 486DX2/66. > > We have made some effort to develop a touchscreen-GUI in Java which works > well even on a slow PC (like the above) but is to slow on the PowerPC. > > What about the others using PJWorks, are you happy with it? > > Any hints to increase the performance would be greatly appreciated! > > Regards, > > Bernd > -- > Bernd Blank E-Mail: bblank@init-ka.de > init GmbH Tel : +49-721-6100-243 > Kaeppelestr. 6 Fax : +49-721-6199-399 > D-76131 Karlsruhe WWW : http://www.init-ka.de --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PJWorks-Performance with PPC823 Date: Wed, 04 Aug 1999 15:35:12 -0600 From: Marco Castellon Organization: AudeSi Technologies Inc. Message-ID: <37A8B210.54FC698C@audesi.com> References: <7o4cem$is6$1@black.news.nacamar.net> Hello Bernd, We also use TII with Personal JWorks and a PowerPC MPC823. It's interesting that you mention a touchscreen GUI because that's exactly what we have done here at AudeSi. I wrote the low-level touchscreen driver using VxWorks calls and the SPI channel of the MPC823. We haven't really observed any performance issues with Java, we also ran our platform at 50 MHz. One possible hint where the problem might be is: If you are using the on-chip LCD controller, verify what the arbitration level is and make sure that you are not using aggressive mode. I would like to learn more about what it is that you are doing and I could tell you about our application. Let me know if I can be of help. Marco Castellon Hardware Engineer AudeSi Technologies (403) 730-7575 email: castellon@audesi.com http://www.audesi.com Bernd Blank wrote: > We are using TII with Personal JWorks on a 50MHz PowerPC823 and have > performance problems: > > Our benchmark PrimeNum (calculates Primes, no floating-point) is about 5 > times slower than on a 486DX2/66 with PJEE (= slowest Java for PCs we could > find). > > With C-programs our PowerPC is slightly faster than the 486DX2/66. > > We have made some effort to develop a touchscreen-GUI in Java which works > well even on a slow PC (like the above) but is to slow on the PowerPC. > > What about the others using PJWorks, are you happy with it? > > Any hints to increase the performance would be greatly appreciated! > > Regards, > > Bernd > -- > Bernd Blank E-Mail: bblank@init-ka.de > init GmbH Tel : +49-721-6100-243 > Kaeppelestr. 6 Fax : +49-721-6199-399 > D-76131 Karlsruhe WWW : http://www.init-ka.de --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado 1: How does one cancel virtual console "local echo"? Date: 4 Aug 1999 14:39:59 -0700 From: ralerche@lindy.stanford.edu (Robert A. Lerche) Organization: MSB Associates Message-ID: <7oabvf$5tg@lindy.stanford.edu> References: <7o81f7$q2o$1@cronkite.sp.trw.com> "CT Samaras" writes: >Hello all, > A quick description of the problem: I'd like to use the virtual console >for stdin, stdout and stderr. After connecting to the target, I launch a >WindSh and open the "/vio/0" device, and assign the resulting file >descriptors 0, 1, and 2 using ioGlobalStdSet() function. Output is directed >to the virtual console window OK, but everytime keyboard input is requested >from the user, every character typed at the keyboard is printed twice, e.g. >typing "Hello" prints "HHeelloo" on the virtual console window. Two fixes. 1. There's a patch for the Tornado target server to fix one echo. Ask WRS Tech support for the patch to "SPR#6872: Virtual console echoes twice its typed input.". 2. Fix (1) reduces echo to a single charcter. ioctl() is ineffective in turning off echoing. If you want to turn off echoing altogether: To create the virtual console the target server launches an xterm process, allocating a pseudo-tty device for I/O. That pseudo-tty can be controlled by an "stty" command on the host. So, for example, here is my target server... troll:/home/ral{26}tgtsvr -C -V ccp3 tgtsvr (ccp3@troll): Tue Jan 12 09:43:52 1999 License request... authorized on host 'engtools'. Attaching backend... succeeded. ... And here is the xterm it launched: troll:/home/ral{23}/usr/ucb/ps axww | grep xterm 19116 ? S 0:00 xterm -Sp08 -title ccp3 Virtual Console -n ccp3 Virtual Console -sb -display The "-Sp08" argument indicates that the tty is /dev/ttyp0 (see "man xterm"). So, you can issue stty as follows: troll:/home/ral{24}stty raw -echo < /dev/ttyp0 This turns off echoing in the xterm. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Awesome Silicon Valley Start-up Date: Wed, 04 Aug 1999 15:42:02 -0600 From: Marco Castellon Organization: AudeSi Technologies Inc. Message-ID: <37A8B3AA.780C28DD@audesi.com> References: <7o7dg2$sod@journal.concentric.net> Hi, I would be interested in learning more about this company. Thank you. Marco Castellon Hardware Engineer email: castellon@audesi.com Master Burnett wrote: > Hi everyone, > > If anyone is looking for work that truly challenges the mind and is pushing > the edge of consumer related technology, there is a new company in the > Silicon Valley you should know about. > > As a recruiter I see literally hundreds of new companies a week, 99% of > which fail to excite me, yet this one does. They are working on a > multimedia gateway for the SOHO market that ties so many converging > technologies into one product, that you can't help but see the benefit. > Imagine a high speed (adsl/cable) modem, integrated web server, VoIP, Video > on Demand, Audio on Demand, Home Networking (PNA 2.0), Home Automation, VPN, > and Telephony all in one attractive piece of hardware. > > I would love to tell you more about it, but they are in stealth mode. > However, those professionals who are very strong in embedded network > application/protocol development and interested in hearing about a job > opportunity can contact me and I will be more than happy to tell you more. > > P.S. The company is still offering major equity stakes, with estimated IPO > values of 800K to 1.6M! > > -- > Master Burnett, Recruiter > mburnett@bozichandcruz.com > Bozich & Cruz, Inc. > 2540 North First Street, Suite 309 > San Jose, CA 95131 > (408)955-9800 (Voice) > (800)397-2235 (Toll Free) > (408)955-9868 (Fax) > San Jose, California > www.bozichandcruz.com --------------------------- Newsgroups: comp.os.vxworks Subject: End Driver SENS 1.1 Stack losing Recv Buffers!? Date: Wed, 4 Aug 1999 20:05:46 -0400 From: "Jeff Szczepanski" Organization: Time Warner Road Runner - Rochester NY Message-ID: I am running into a problem with the SENS 1.1 protocol stack when using an Enhanced network driver (END) with the MUX. The particular network driver is for a Galileo network controller. The driver is one that I custom developed based on the VxWorks sample END driver. I have been running with the driver and the SENS 1.1 release for several months without any problems. However over the last few days, where we are now under heavy receive traffic into the stack, we have regularly seen problems. The failure seems to occur once in every 5000 to 10000 receive packets under this scenario. My network driver, like the sample driver, uses buffer sharing to pass receive packets up to the protocol stack. As packets are received, they are passed to the protocol stack to be processed and expected to be later released by the protocol stack. At some point, the protocol stack appears to stop processing and/or freeing the passed buffers (clusters). Shortly later, all the buffers in network driver's pool run out due to additionally received packets, and then the network driver starts dropping all following packets due to a lack of any additional available buffers. The system's tNetTask() appears to be idle, waiting on it's work queue. The task that is reading from the socket appears to be blocked on the read() operation like it normally would, waiting for data. The socket is opened in the "default" configuration where the read call blocks for available data on the socket. I have configured the driver to run with a network pool (end.pNetPool) of 64 receive buffers, where a total of 16 buffers will be held for the DMA process within the driver and a total of 48 buffers are available for loaning to the protocol stack. Doing a dump of the netPool allocations using netPoolShow(), I can see that all 64 buffers are indeed allocated, 16 are held by the driver (as expected), and the remaining 48 are allocated along with the associated 48 "DATA" type mblks. The best I can tell, my driver seems to be operating properly. Other than what I have already mentioned above, does anyone know if there is a way to dump the current "context" of the receive routine (end.receiveRtn) to determine, if indeed, the protocol stack or MUX is actually retaining and/or "leaking" these buffers under some circumstance? In addition, another thing that has occurred to me is that, per the ln7990.c sample driver and the END driver template, there is a test for the (end.receiveRtn) being NULL whereby a packet will not be passed up the protocol stack if the receiveRtn has been set to NULL. Like the sample driver, this could cause a memory buffer leak if during normal operations, the end.receiveRtn was suddenly set to NULL...Does anyone know if there are conditions where under normal operations I should expect the MUX or protocol stack would set "end.receiveRtn" entry point to NULL? Thanks in advance for any assistance. Jeff =========================== Jeffrey R. Szczepanski InSciTek Microsystems, Inc. 635 CrossKeys Office Park Fairport, NY 14450 --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to delay a task in micro seconds range Date: Tue, 03 Aug 1999 15:02:22 GMT From: bwedding@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7o709m$j9c$1@nnrp1.deja.com> References: <7o6021$t1l$1@nnrp1.deja.com> In article <7o6021$t1l$1@nnrp1.deja.com>, lingsiva@my-deja.com wrote: > I wonder how to delay a task in micro seconds range. > The function taskdelay() delays a task in terms of ticks. so i > converted the time into number of ticks as follows: > > taskDelay((int)(dwMicroSeconds/1000000)* sysClkRateGet()); > > But In my case, The above will always be zero because i need to > delay a task only for 1000 or 2000 micro seconds. You don't mention your target. If you have an auxillary clock, that is what they are for. Look at the sysAuxClk functions. Bruce Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Awesome Silicon Valley Start-up Date: Thu, 05 Aug 1999 02:31:42 GMT From: "Serge Blais" Organization: Sympatico Message-ID: References: <7o7dg2$sod@journal.concentric.net> <37A8B3AA.780C28DD@audesi.com> I suggest you don't reply to the group but to Master Burnet directly. May not look as bad to your coworkers... Marco Castellon wrote in message news:37A8B3AA.780C28DD@audesi.com... > Hi, > > I would be interested in learning more about this company. > Thank you. > > Marco Castellon > Hardware Engineer > email: castellon@audesi.com > > Master Burnett wrote: > > > Hi everyone, > > > > If anyone is looking for work that truly challenges the mind and is pushing > > the edge of consumer related technology, there is a new company in the > > Silicon Valley you should know about. > > > > As a recruiter I see literally hundreds of new companies a week, 99% of > > which fail to excite me, yet this one does. They are working on a > > multimedia gateway for the SOHO market that ties so many converging > > technologies into one product, that you can't help but see the benefit. > > Imagine a high speed (adsl/cable) modem, integrated web server, VoIP, Video > > on Demand, Audio on Demand, Home Networking (PNA 2.0), Home Automation, VPN, > > and Telephony all in one attractive piece of hardware. > > > > I would love to tell you more about it, but they are in stealth mode. > > However, those professionals who are very strong in embedded network > > application/protocol development and interested in hearing about a job > > opportunity can contact me and I will be more than happy to tell you more. > > > > P.S. The company is still offering major equity stakes, with estimated IPO > > values of 800K to 1.6M! > > > > -- > > Master Burnett, Recruiter > > mburnett@bozichandcruz.com > > Bozich & Cruz, Inc. > > 2540 North First Street, Suite 309 > > San Jose, CA 95131 > > (408)955-9800 (Voice) > > (800)397-2235 (Toll Free) > > (408)955-9868 (Fax) > > San Jose, California > > www.bozichandcruz.com > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: boot problems Date: Wed, 04 Aug 1999 15:12:47 GMT From: "James Bernsen" Organization: Verio Message-ID: <01bede8c$0aac3c00$1ed7a089@da0713.dasd.honeywell.com> References: <01beddca$45d56da0$1ed7a089@da0713.dasd.honeywell.com> <37A7B852.5E666942@ntanet.net> Yes, we recompiled everything after changing the RAM_HIGH_ADRS value. The exception error still appeared. Any other ideas are appreciated! - -James Bernsen David Hamel wrote in article <37A7B852.5E666942@ntanet.net>... > Did you create a new bootrom that uses the different RAM_HIGH_ADRS? > --------------------------- Newsgroups: comp.os.vxworks Subject: Shared library on Vxworks without virtual mm support Date: Thu, 05 Aug 1999 08:27:48 GMT From: raghava_p@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7obhtr$t4s$1@nnrp1.deja.com> References: <37A79CEE.F937AE96@home.com> Hi, I have worked mostly on convention UNIX and am trying to figure out if normal shared libraries can be implemented on Vxworks WITHOUT virtual memory management support. The file format is COFF. My doubt arises because of my ignorance of how relocation is done on Vxworks. One scheme is to repair all the memory instructions making reference to relocated code at link time; in such a scenario the text section can be used only by one process and I cannot have shared library. Another scheme allows all my instructions to use an offset from a per process variable(which points to the beginning of the .data section) and relocation is done by just fixing this variable at run time; this can allow me to have different processes referencing the same code. If any of u have any answers, it will be nice if u can u send me a mail directly to my e-mail raghava_p@hotmail.com. Thanks in advance Raghav Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: shared library implementation on Vxworks Date: Thu, 05 Aug 1999 08:22:20 GMT From: raghava_p@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7obhjk$t20$1@nnrp1.deja.com> References: <7o924d$1sd34@tass.wrs.com> Hi, I have worked mostly on convention UNIX and am trying to figure out if normal shared libraries can be implemented on Vxworks WITHOUT virtual memory management support. The file format is COFF. My doubt arises because of my ignorance of how relocation is done on Vxworks. One scheme is to repair all the memory instructions making reference to relocated code at link time; in such a scenario the text section can be used only by one process and I cannot have shared library. Another scheme allows all my instructions to use an offset from a per process variable(which points to the beginning of the .data section) and relocation is done by just fixing this variable at run time; this can allow me to have different processes referencing the same code. If any of u have any answers, it will be nice if u can u send me a mail directly to my e-mail raghava_p@hotmail.com. Thanks in advance Raghav Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: shared library implementation on Vxworks Date: Thu, 05 Aug 1999 08:22:22 GMT From: raghava_p@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7obhjm$t21$1@nnrp1.deja.com> References: <7o924d$1sd34@tass.wrs.com> Hi, I have worked mostly on convention UNIX and am trying to figure out if normal shared libraries can be implemented on Vxworks WITHOUT virtual memory management support. The file format is COFF. My doubt arises because of my ignorance of how relocation is done on Vxworks. One scheme is to repair all the memory instructions making reference to relocated code at link time; in such a scenario the text section can be used only by one process and I cannot have shared library. Another scheme allows all my instructions to use an offset from a per process variable(which points to the beginning of the .data section) and relocation is done by just fixing this variable at run time; this can allow me to have different processes referencing the same code. If any of u have any answers, it will be nice if u can u send me a mail directly to my e-mail raghava_p@hotmail.com. Thanks in advance Raghav Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- End of New-News digest ********************** From owner-vxwexplo-process Thu Aug 5 19:33:46 1999 From: Fred Roeber Date: Thu Aug 5 19:33:50 PDT 1999 Subject: Re: boot problems On Wed, 04 Aug 1999 James Bernsen wrote: > Yes, we recompiled everything after changing the RAM_HIGH_ADRS value. The > exception error still appeared. > > Any other ideas are appreciated! > David Hamel wrote in article > <37A7B852.5E666942@ntanet.net>... > > Did you create a new bootrom that uses the different RAM_HIGH_ADRS? James' original post talked about the fact that they were crashing on startup when loading a large image to their target. They had deduced that they were probably having a problem with overwriting the boot image and had tried rebuilding the kernel at a higher value of RAM_HIGH_ADDRESS. The original request for help came after that didn't fix things. David Hamel's quick (but terse) response provided what I still believe is the answer to the problem. James had originally said they were somewhat new to VxWorks so I am thinking there may be a misunderstanding about the problem here. It was impressive that they had so quickly arrived at the idea of fixing RAM_HIGH_ADDRESS. In an effort to see if there is a misunderstanding I'll just review the "standard" VxWorks boot sequence. The sequence actually involves two different VxWorks images; the "boot" image and the "normal" image. The boot image resides in PROM on the target board (or in FLASH). When the board starts up, the image in PROM executes and copies itself into RAM at the address RAM_HIGH_ADDRESS had when the image that was burnt into the PROM was made. This boot image (running at RAM_HIGH_ADDRESS in RAM) then downloads the real VxWorks version and loads it at RAM_LOW_ADDRESS. Once the loading is complete, the boot image jumps to the real image which then starts up. The problem occurs when the real image is too large to fit into the area between RAM_LOW_ADDRESS and RAM_HIGH_ADDRESS. In this case, as the real image downloads it can overwrite the executing boot image which usually results in the boot process crashing. The solution is to build a new version of the boot image at a higher value of RAM_HIGH_ADDRESS (as James seems to have done) and to burn that image into the boot PROM (or FLASH) the board uses. I am still thinking it was this last step that was overlooked. When a small "real" image works and a larger one doesn't, the problem is almost always an issue with RAM_HIGH_ADDRESS. Making the new PROMs is never all that much fun though. I hope this explanation helps hit upon a solution. If not, let us know. Fred | Fred J Roeber, BBN Systems & Technologies | | 4 John Clarke Road Middletown, RI 02842-5202 | | froeber@bbn.com 401-848-3548 | | TraceMaker product manager | | http://www.tracemaker.bbn.com | From owner-vxwexplo-process Thu Aug 5 19:50:45 1999 From: Fred Roeber Date: Thu Aug 5 19:50:49 PDT 1999 Subject: Re: shared library implementation on Vxworks On Thu, 5 Aug 1999, Raghav wrote: > I have worked mostly on convention UNIX and am > trying to figure out if normal shared libraries > can be implemented on Vxworks WITHOUT virtual > memory management support. The file format is > COFF. > My doubt arises because of my ignorance of how > relocation is done on Vxworks. One scheme is to > repair all the memory instructions making > reference to relocated code at link time; in such > a scenario the text section can be used only by > one process and I cannot have shared library. > Another scheme allows all my instructions to use > an offset from a per process variable(which > points to the beginning of the .data section) and > relocation is done by just fixing this variable at > run time; this can allow me to have different > processes referencing the same code. VxWorks works very differently from Unix in how different parts of a program communicate and interact. The good news is that it is very easy to get some of the advantages of shared libraries with minimal effort. The bad news is that what you get is very different from Unix shared libraries in many respects. I'll list a couple of issues but you probably need to read the VxWorks Programmer's Guide on VxWorks basics. A major point is that all "tasks" in VxWorks execute in the same address space. From a Unix perspective, think of VxWorks as providing a single "process" running a number of "threads" (where the threads are called tasks under VxWorks). Second, you can dynamically load "partially resolved" object files and have VxWorks finish the linking process "on the fly". As an object file is loaded, VxWorks performs the standard processes done during the program "link" phase. Thus, any unresolved references in the code being loaded are automatically resolved against the code already loaded and running on the processor. To share code, you load your library object file first followed by the different object files that you want to share the library functions. All these object files will use the same copy of the library functions. The problem (from a Unix perspective) is that they share everything about the library functions; there are no separate virtual memory areas for the different tasks using the shared libraries. If the library functions have static data, there is only one copy of the static data shared across all the invocations of the functions. This is what causes problems porting a lot of Unix code. Again, I would suggest looking at the Programmer's Guide. You can achieve a level of task independent data storage using VxWorks "task variables". You will almost certainly have to rewrite parts of you libraries though. Good luck. Fred | Fred J Roeber, BBN Systems & Technologies | | 4 John Clarke Road Middletown, RI 02842-5202 | | froeber@bbn.com 401-848-3548 | | TraceMaker product manager | | http://www.tracemaker.bbn.com | From owner-vxwexplo-process Fri Aug 6 04:00:11 1999 From: daemon@csg.lbl.gov Date: Fri Aug 6 04:00:15 PDT 1999 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Fri Aug 6 04:00:07 PDT 1999 Subject: How to translate a pci device physical address into CPU local address Subject: Movie Website!! Subject: ifAddrSet fails Subject: Re: ldppc error Subject: Re: boot problems Subject: Re: boot problems Subject: Re: How to delay a task in micro seconds range Subject: Tornado 1..0.1 Question Subject: Tornado 2 & man pages Subject: Re: Why stay with VXWorks? Subject: Re: ifAddrSet fails Subject: Re: Shared library on Vxworks without virtual mm support Subject: dosFS and NFS problem Subject: Re: How to translate a pci device physical address into CPU local Subject: [Q] conditions for two identical VxWorks systems Subject: Re: Kicking a server task out of accept (non-SENS) Subject: Re: How to translate a pci device physical address into CPU local address Subject: PPP: Direct Connect from W95 Subject: Reliability TFFS ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: How to translate a pci device physical address into CPU local address Date: Thu, 05 Aug 1999 10:50:18 GMT From: lingsiva@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7obq98$2ik$1@nnrp1.deja.com> Hi, I would like to know how to translate a pci device physical address into CPU local address. The following is the specification CPu Pentium board. The Card is in Bus0, Slot 18 and Function 0 pci video card with the Physical memory range 0xfe000000 - 0xfeffffff I would like to manuplate the video buffer. For this i need to translate this address into CPU local address. Could anyone tell me how to do this. Thanks s.shiva Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Movie Website!! Date: Thu, 05 Aug 1999 13:38:47 GMT From: news@1492.net Message-ID: <05089908.4612@1492.net> New Entertaining Movie Game Website! http://www.moviedoubletakes.com Totally free!! Test your knowledge!! CRg>` --------------------------- Newsgroups: comp.os.vxworks Subject: ifAddrSet fails Date: Thu, 05 Aug 1999 18:17:30 +0200 From: uri safrai Organization: Internet Gold, ISRAEL Message-ID: <37A9B91A.CF69361F@galileo.co.il> Hi I am writing an END driver and facing the following problem while calling to ifAddrSet this function fails with error num 6 which means (ENXIO 6 /* No such device or address */) up till this points all the functions returned with the appropriate values (muxDevLoad,muxDevStart and ipAttach are working fine).My default boot line is #define DEFAULT_BOOT_LINE "galNet2(0,0) host:/Uri/vxworks h=10.2.20.90 e=10.2.50.122:FFFF0000 g=10.2.0.1 u=anonymous pw=target" is there any specific driver initialization that i need to do before calling that function any help will be appreciated thanks Erez bar-tal1@inter.net.il --------------------------- Newsgroups: comp.os.vxworks Subject: Re: ldppc error Date: Thu, 05 Aug 1999 08:14:24 -0700 From: Eric Flynn Organization: Hewlett Packard Cupertino Site Message-ID: <37A9AA50.EC450501@wwg2.sid.hp.com> References: <37a7e4a7.0@dnews.sbell.com.cn> Reply-To: eflynn@wwg2.sid.hp.com Zha, I fought with this one for hours the first time I saw it! Unlike most linkers, ldppc wants a -r switch in front of the list of objs passed to the linker. Eric Zha Junhai wrote: > Hi, vxworkers > > When I want to link some object files to one, there was > one error "ldppc:built in linker script:43: syntax error", > I don't know how to find which error it is. > > Thanks for you help. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: boot problems Date: Thu, 5 Aug 1999 16:32:37 GMT From: Charlie Grames Organization: Boeing Message-ID: <37A9BCA5.C29405FE@nowhere.com> References: <01beddca$45d56da0$1ed7a089@da0713.dasd.honeywell.com> Sender: nntp@news.boeing.com (Boeing NNTP News Access) James, Some questions: 1) Did you change RAM_HIGH_ADRS in BOTH config.h and Makefile? 2) How large is the VxWorks image you are now loading? 3) What is the nature of the new module? 4) Did you provide a transcript of the entire startup sequence? What you included makes it appear that you are building standalone VxWorks. If so, did you also build vxWorks.st and size it? Hopefully, answers to the additional questions can give better insight into the problem. Charlie Grames The Boeing Company Charles.R.Grames @ boeing.com James Bernsen wrote: > > We are running VxWorks 5.3.1 attached to a Motorola MVME-2604 PowerPC > processor board. Our software is compiled with gcc on a Sun workstation. > Our TFTP/FTP server is 3ComServer. Our software had been working just fine > until we added a new module of code. This new code (which compiles > successfully) shouldn't have any effect (as far as I know) on the boot > sequence of vxWorks, but that is exactly where we run into problems. When > we boot, we receive this exception error: > > Starting at 0x100000... > p > > Exception at interrupt level: > > program > Exception current instruction address: 0x00380328 > Machine Status Register: 0x00081000 > Condition Register: 0x44008000 > Regs at 0x3f4d58 > > Press any key to stop auto-boot... > 7 > > I thought perhaps that this might be caused by a lack of RAM space because > our RAM_HIGH_ADRS value is 0x00380000 and the exception address is near > there, but increasing the RAM_HIGH_ADRS value didn't stop the error. > > I apologize if this a ridiculous question, but we are newbies on this and > really need some help. Any suggestions are appreciated. > > James Bernsen --------------------------- Newsgroups: comp.os.vxworks Subject: Re: boot problems Date: 5 Aug 1999 11:08:01 -0700 From: ralerche@lindy.stanford.edu (Robert A. Lerche) Organization: MSB Associates Message-ID: <7ocju1$r5j@lindy.stanford.edu> References: <01beddca$45d56da0$1ed7a089@da0713.dasd.honeywell.com> <37A7B852.5E666942@ntanet.net> <01bede8c$0aac3c00$1ed7a089@da0713.dasd.honeywell.com> "James Bernsen" writes: >Yes, we recompiled everything after changing the RAM_HIGH_ADRS value. The >exception error still appeared. Yes, but did you burn a new boot ROM and replace the ROM in the target? Initialization is a tricky area in most systems and VxWorks is no exception. The VxWorks boot ROM is a complete VxWorks application, running the standard kernel, but with the usual start-up code (usrConfig.c) replaced with the boot application (bootConfig.c), and linked at a different memory address. The boot ROM does not normally execute directly from ROM, its instructions are copied into RAM (at RAM_HIGH_ADRS) early in execution. There _is_ a ROM-resident boot ROM target (bootrom_res), but it is not the default and it still needs some RAM to hold its stack and heap. The boot ROM has to load a system into memory that doesn't collide with the memory the boot ROM itself occupies during loading. The standard VxWorks kernel links at RAM_LOW_ADRS, the boot ROM at RAM_HI_ADRS. If the loaded kernel (vxWorks or vxWorks.st) grows too large, it overlays the boot ROM during loading and --crash--! The "vxsize" program checks this when you build vxWorks and gives a warning. There's quite a bit more detail about initialization (e.g., compressed modules, ROM resident systems, stand-alone vs. target server connected, etc.). It's mostly documented in the VxWorks Programmers' Guide, section 8, "Configuration", and the Tornado User's Guide, section 9, "Cross-Development". --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to delay a task in micro seconds range Date: 5 Aug 99 18:18:18 GMT From: georg@sgl.crestech.ca (Georg Feil) Organization: Centre for Research in Earth and Space Technology Message-ID: References: <7o6021$t1l$1@nnrp1.deja.com> lingsiva@my-deja.com writes: >I wonder how to delay a task in micro seconds range. It's not easy using software alone, so many boards have hardware facilities to allow this. For example the mv2604 has a microsecond counter which can be used for this kind of thing. GEORG - -- Georg Feil | http://www.sgl.crestech.ca/ Space Geodynamics Laboratory | Email: georg@sgl.crestech.ca CRESTech | Phone: (416) 665-5458 4850 Keele St./North York/Ont/Canada/M3J 3K1 | Fax: (416) 665-1815 --------------------------- Newsgroups: comp.os.vxworks Subject: Tornado 1..0.1 Question Date: 5 Aug 1999 11:34:28 -0700 From: Tom Haley Organization: Newsguy News Service [http://www.newsguy.com] Message-ID: <7oclfk$118u@drn.newsguy.com> We have not switched to Tornado 2.0 but are using Tornado 1.0.1. Are there patches and/or other released software that make one version of 1.0.1 more recent than another version? I installed a beta version of dosFS 2.0 and I now can't build my target. The first file that bombed out in a compile was usrNetwork.c which doesn't appear to have anything to do with dosFS 2.0. I checked it against the old version usrNetwork.c and they are vastly different. Any help would be appreciated. --------------------------- Newsgroups: comp.os.vxworks Subject: Tornado 2 & man pages Date: 5 Aug 1999 20:27:25 GMT From: Troy Cauble Organization: Bell Labs, Holmdel, NJ, USA Message-ID: <7ocs3d$ggj@nntpb.cb.lucent.com> We recently upgraded to Tornado 2 (on Unix) and I miss my man pages. Are they available somewhere? (Yes I know there are a bunch of html docs...) - -troy --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Why stay with VXWorks? Date: 5 Aug 1999 22:52:09 GMT From: "Darek Kania" Organization: TT Message-ID: <01bedf84$390bbbe0$0164090a@cheops> References: <19990728030931.25207.00003136@ng-cr1.aol.com> Hi There is at least other RTOS newsgroup: comp.os.qnx. Best regards, Darek. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: ifAddrSet fails Date: Thu, 5 Aug 1999 21:23:09 -0700 From: "Steve Doiel" Message-ID: <37aa62e3.0@news.pacifier.com> References: <37A9B91A.CF69361F@galileo.co.il> I found the documentation a little thin in this area, but managed to get things working by trial-and-error. One thing I observed is that when a local shell is included the network doesn't get started up... apparently some dependency in the makefile. On our system I observed that when we receive a brand new card ifAddrSet fails due to an invalid boot line. In this earlier version of the code I explicitly assigned values to the NVRAM when an invalid status was returned from ifAddrSet is returned and re-boot. This code was exercised exactly once on every new card we received. Since then I have changed to a technique where I set IP address every time the system boots based on user defined jumpers. Here's the code I'm using on an MVME162 /* When a local shell is included, networking doesn't get started up */ usrNetInit( defSetup ); if( ifFlagChange( netDevice, IFF_UP, FALSE ) != OK ) printf( "ifFlagChange ERROR\n" ); if( ifRouteDelete( netDevice, 0 ) != OK ) printf( "ifRouteDelete ERROR\n" ); if( ifMaskSet( netDevice, 0xffffff00 ) != OK ) printf( "ifMaskSet ERROR\n" ); if( ifAddrSet( netDevice, serverAddress[ scannerId ].ipAddress ) != OK ) printf( "ifAddrSet ERROR\n" ); if( ifFlagChange( netDevice, IFF_UP, TRUE ) != OK ) printf( "ifFlagChange ERROR\n" ); /* This stuff will probably always succeed now */ if ( ifAddrSet( netDevice, serverAddress[ scannerId ].ipAddress) != OK ) { printf("Error in ifAddrSet\n"); taskDelay( MilliSecondsToTicksOSU( 500 ) ); sysNvRamSet( defSetup, 256, 0 ); printf( "Configured to: %s\n", defSetup ); printf( "Rebooting...\n" ); taskDelay( MilliSecondsToTicksOSU( 500 ) ); reboot( BOOT_QUICK_AUTOBOOT ); } else { if ( ifAddrGet( netDevice, address) != OK ) { printf("Error in ifAddrGet\n"); } else { sprintf(tempBuf,"Device %s IP address set to s",serverAddress[ scannerId ].name, address); printf("%s\n", tempBuf); } } I hope this helps, SteveD uri safrai wrote in message <37A9B91A.CF69361F@galileo.co.il>... >Hi >I am writing an END driver and facing the following problem >while calling to ifAddrSet this function fails with error num 6 >which means (ENXIO 6 /* No such device or address */) >up till this points all the functions returned with the appropriate >values >(muxDevLoad,muxDevStart and ipAttach are working fine).My default boot >line is >#define DEFAULT_BOOT_LINE > "galNet2(0,0) host:/Uri/vxworks h=10.2.20.90 e=10.2.50.122:FFFF0000 >g=10.2.0.1 u=anonymous pw=target" >is there any specific driver initialization that i need to do before >calling that function > >any help will be appreciated > >thanks Erez >bar-tal1@inter.net.il > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Shared library on Vxworks without virtual mm support Date: Thu, 05 Aug 1999 21:54:47 -0700 From: Scott Johnson Organization: aracnet.com Message-ID: <37AA6A96.B0D9A7CA@aracnet.com> References: <37A79CEE.F937AE96@home.com> <7obhtr$t4s$1@nnrp1.deja.com> raghava_p@my-deja.com wrote: > Hi, > > I have worked mostly on convention UNIX and am > trying to figure out if normal shared libraries > can be implemented on Vxworks WITHOUT virtual > memory management support. The file format is > COFF. > My doubt arises because of my ignorance of how > relocation is done on Vxworks. One scheme is to > repair all the memory instructions making > reference to relocated code at link time; in such > a scenario the text section can be used only by > one process and I cannot have shared library. > Another scheme allows all my instructions to use > an offset from a per process variable(which > points to the beginning of the .data section) and > relocation is done by just fixing this variable at > run time; this can allow me to have different > processes referencing the same code. > If any of u have any answers, it will be nice if > u can u send me a mail directly to my e-mail > raghava_p@hotmail.com. > > Thanks in advance > Raghav > > Sent via Deja.com http://www.deja.com/ > Share what you know. Learn what you don't. Why not just use the dynamic loader? ie loadModule() or ld()? You won't get it automatically, of course--your startup code for your app will have to call loadModule() when it initializes. If you want to have multiple "apps" share the same "Dll", you might have to implement some type of reference counting scheme on top of the loader library. But it certainly isn't impossible. Having the dynamic loader do the fixups for you is better than trying to do this yourself. Of course, there is having per-"process" data (something you get with .so files on Unix, .dlls on Windoze)--all instances of the library "loaded" in this manner share a data segment. On the other hand, ALL tasks is vxWorks share the same data segment; it's a single-process operating system, after all. If you need to fake it, and can live with all your global variables being stuffed in a structure; then putting them in a structure, accessing them through a global pointer, and making that pointer a task variable will work--but it will require some effort. If what you want is true, independent processes with independent memory spaces, you really need an OS other than vxWorks. LynxOs will do this, and so will quite a few others. Don't try to make vxWorks look like Unix; you'll get something which is a mess to maintain. - -- - ------------------------------------------------------------------------ engineer_scotty (no, not that one) -- consumer of fine ales and lagers some days you're the fire hydrant, some days you're the dog | go blazers no small furry creatures were harmed in the creation of this .signature - ------------------------------------------------------------------------ --------------------------- Newsgroups: comp.os.vxworks Subject: dosFS and NFS problem Date: Fri, 06 Aug 1999 04:59:49 GMT From: s.mcolash@ieee.org Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7odq41$h55$1@nnrp1.deja.com> I am writing code to save large buffers of data to a SCSI disk with a FAT16 file system on it. The same filesystem is exported via NFS and is mounted to a Unix host. The associated test code sets a known pattern in the buffer data, writes it out to a file, reads it back and compares the bit pattern to the expected pattern. Everything works fine (most of the time), however any time I start accessing the disk via NFS, the readback/compare shows a failure has occurred; some (on the order of 10) bytes are not right. The observed rate of failure becomes very high while I do this, then drops off to zero when I stop. I haven't had any time to get into more detail with this... any suggestions or ideas would be great. Thanks. - -smm Scott McOlash GE Medical Systems s.mcolash@ieee.org Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to translate a pci device physical address into CPU local address Date: Thu, 05 Aug 1999 22:09:48 -0700 From: Scott Johnson Organization: aracnet.com Message-ID: <37AA6E1B.F67A075F@aracnet.com> References: <7obq98$2ik$1@nnrp1.deja.com> lingsiva@my-deja.com wrote: > Hi, > > I would like to know how to translate a pci device physical address > into CPU local address. The following is the specification > > CPu Pentium board. > The Card is in Bus0, Slot 18 and Function 0 > pci video card with the Physical memory range 0xfe000000 - 0xfeffffff > > I would like to manuplate the video buffer. For this i need to > translate this address into CPU local address. Could anyone tell me how > to do this. PCI doesn't HAVE a static mapping of "PCI" memory to "local" memory. It is the job of system software (either the OS or the system BIOS on most systems, and NOT individual device drivers) to assing "resources" to PCI devices and functions. "Resources", in this context, includes memory regions, I/O space regions, and interrupts. How it works is as follows (this describes the process on a PC). When a PCI comes up, the BIOS goes out and scans the PCI bus, noting all the devices and bridges. It then goes and assigns the different types of resources to the devices--memory such that all devices/functions on a given bus segment occupy a roughly contiguous region of memory space (there may be small gaps for alignment); I/O is assigned in a similar fashion, and interrupts are assigned based on the function number of the device, and on whatever interrupt swizzling occurs on the bus. The algorithm to do this is pretty simple if you have only one bus segment; it gets more complicated with more than one. In your case, you are using a Pentium. Is your platform essentially a PC? If so, you are lucky--your BIOS probably has done the hard work for you; there is a standard set of calls to the BIOS to do things like querying the resources assigned to devices, and converting to physical memory addresses. Ideally, mapping of PCI addresses to local addresses requires no translation; rarely is it more difficult than adding a constant. If you are using a custom Pentium designed, without a PC bios--you may be out of luck. The PCI support in the vxWorks core is virtually nonexistent; some BSPs have PCI support (but usually a skeleton implementation, and usually only for the host bridge on that board.) I have yet to see a good, fully compliant PCI implementation on vxWorks (except the one I wrote at work :) That is for a Motorola MPC860 using a PLX9054 bridge, though--and might not be very useful for a Pentium based design using whatever chipset you are using. Plus my boss would probably kill me if I posted it to the net... ) Hope that helps, Scott > > > Thanks > s.shiva > > Sent via Deja.com http://www.deja.com/ > Share what you know. Learn what you don't. - -- - ------------------------------------------------------------------------ engineer_scotty (no, not that one) -- consumer of fine ales and lagers some days you're the fire hydrant, some days you're the dog | go blazers no small furry creatures were harmed in the creation of this .signature - ------------------------------------------------------------------------ --------------------------- Newsgroups: comp.os.vxworks Subject: [Q] conditions for two identical VxWorks systems Date: Fri, 6 Aug 1999 15:57:53 +0900 From: "ÀÌÁŠÇå(Jerry)" Organization: Electronics and Telecommunications Research Institute (ETRI) Message-ID: <7oe1aa$phv$1@news.etri.re.kr> What conditions are required for making two identical VxWorks system at one point of time? Just copying the whole memory including TCBs and the cpu's register values? What else do I need? - -- *************************************************** Jehun Rhee (Jerry) Mobile Traffic Management Team, Radio & Broadcasting Technology Lab., ETRI 161 Kajong Dong, Yusong Gu, Taejon, 305-350, Korea Voice Phone @ +82-42-860-3820 Fax @ +82-42-860-6403 Home Phone @ +82-42-485-8809 Mobile Phone @ +82-17-248-0116 Email @ jhrhee@etri.re.kr ICQ @ 30447192 internetBuddy @ 0221-0717 (only Korean) --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Kicking a server task out of accept (non-SENS) Date: Fri, 6 Aug 1999 01:29:48 -0600 From: rireland@nospam.xmission.com (Rich Ireland) Organization: XMission http://www.xmission.com/ Message-ID: References: <37988C77.9A3F5B09@nospam.xmission.com> <379C4B7F.3E5C4FBC@wireplay.bt.co.uk> In article <379C4B7F.3E5C4FBC@wireplay.bt.co.uk>, Phil Ashby wrote: > Probably not the 'official' way to do this but we generally close the > desciptor from another task, which forces the accept() call to return > with an error. Having tried this, I get varying degrees of success. Sometimes the accept doesn't return, sometimes it does, and sometimes I get a GPF in tNetTask (in the mbuf free routine if my symbol map isn't lying). I should have mentioned that this is on a 486, though that shouldn't really matter. What I really need is a nice clean way to bring network services down in a controlled fashion. - -- Rich Ireland Embedded & Real Time Engineering mailto:r.ireland@computer.org --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to translate a pci device physical address into CPU local address Date: Fri, 06 Aug 1999 07:52:21 GMT From: lingsiva@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7oe47j$oh4$1@nnrp1.deja.com> References: <7obq98$2ik$1@nnrp1.deja.com> <37AA6E1B.F67A075F@aracnet.com> Thanks a lot Scott, I would like to get some more clarification. Yes i am using a Pentium Pc. I scan the entire pci Bus to detect the cards.. like.. for (i=0;i< pci_max_bus;i++) for(j=0;j Ideally, mapping of PCI addresses to local addresses requires no > translation; > rarely is it more difficult than adding a constant. I dont know how to get this constant, if any. Could you tell me how to do this regards, s.shiva > Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: PPP: Direct Connect from W95 Date: 6 Aug 1999 09:08:04 GMT From: johan.borkhuis@peektraffic.nl Organization: XS4ALL Internet BV Message-ID: <7oe8lk$hgo$2@news1.xs4all.nl> Hello, I am trying to create a direct link between a VxWorks target and a Windows 95 host running PPP, but I cannot find any option to create a Direct connect from Windows 95. Is there an option to create such a link, or do I have to use NT for this (NT4 has an extra modem defined in the Standard Modem list, a direct serial line). Thanks. Groeten, Johan - -- o o o o o o o . . . ___________________________________ o _____ || Johan Borkhuis | .][__n_n_|DD[ ====_____ | johan@borksoft.xs4all.nl | >(________|__|_[_________]_|________________________________| _/oo OOOOO oo` ooo ooo 'o!o!o o!o!o` --------------------------- Newsgroups: comp.os.vxworks Subject: Reliability TFFS Date: 6 Aug 1999 09:18:03 GMT From: johan.borkhuis@peektraffic.nl Organization: Peek Traffic B.V. Message-ID: <7oe98b$hgo$3@news1.xs4all.nl> Hello, I am working on a system on which we want to implement a flash drive with TFFS. There are 2 types of items on this disk, objects and logfiles. As the logfiles changeget very often I suppose TFFS starts reorganising the disk quite regularly. This also means that our objects get moved around on the disk. Now I have a couple of questions: 1. How reliable is TFFS during normal operations or with respect to power fails? Did anyone ever lose data on a TFFS drive? 2. TFFS is using an algoritm to calculate the wear of sectors. But my object will no change very often, but my log files will. How does this change the reliabily of my object, or is it possible to put my object in one part of a disk (not a bootsector) and my logiles in another? Or can I create 2 disks in one chip? Thanks for your time. Groeten, Johan - -- o o o o o o o . . . ___________________________________ o _____ || Johan Borkhuis | .][__n_n_|DD[ ====_____ | johan@borksoft.xs4all.nl | >(________|__|_[_________]_|________________________________| _/oo OOOOO oo` ooo ooo 'o!o!o o!o!o` --------------------------- End of New-News digest ********************** From owner-vxwexplo-process Sat Aug 7 04:00:08 1999 From: daemon@csg.lbl.gov Date: Sat Aug 7 04:00:12 PDT 1999 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Sat Aug 7 04:00:04 PDT 1999 Subject: interrupt response time problem Subject: T2 & 333 MHz mv2604 Subject: Re: T2 & 333 MHz mv2604 Subject: Re: PPP: Direct Connect from W95 Subject: replacement for UNIX access() Subject: Re: Kicking a server task out of accept (non-SENS) Subject: just for adults 69448 Subject: Re: Kicking a server task out of accept (non-SENS) ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: interrupt response time problem Date: Fri, 06 Aug 1999 12:16:48 GMT From: oliver_fuchs@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7oejn9$2ia$1@nnrp1.deja.com> Hi, my problem is: an isr associated to an ext. interrupt is sometimes called after a response time of 5...15ms. It seems to be a problem of the serial driver used by the wdb agent. The problem appears if I do anything in the wind shell. my configuration is: - - custom board with 68LC302 - - BSP derived from FADS302 I can't believe that this is right. What is my fault??? Thanks in advance Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: T2 & 333 MHz mv2604 Date: Fri, 06 Aug 1999 08:53:54 -0400 From: Bob Marino Organization: Picker International, Inc. Message-ID: <37AADAE2.B5F40C7D@mr.picker.com> - --------------D943FDE11744A4DCB3131552 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I just loaded Tornado II. I did a make clean in the directory named target/config/mv2604 followed by a make bootrom_uncmp vxWorks. Finally, I ran elfToBin < bootrom_uncmp > boot.bin. I flashed boot.bin into the second set of flash memory using PPCBug. I then moved J10 so that it would boot from this second set of flash: Both boot.bin and vxWorks come up just fine in this stock arrangement. Next, I set USER_RESERVED_MEM to (248 * 1024 * 1024) in target/config/mv2604/config.h. I did a make clean, a make bootrom_uncmp vxWorks, and finally a elfToBin < bootrom_uncmp > boot.bin. I flashed boot.bin into flash memory using PPCBug again, and moved J10 again so that the board would boot from the second set of flash: The last message I see from boot.bin is Starting at 0x100000. What could I have possibly done wrong? The board I am using is a 333 MHz mv2604. I have tried two different boards with the same result. - -Bob - --------------D943FDE11744A4DCB3131552 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit I just loaded Tornado II.  I did a make clean in the directory named target/config/mv2604
followed by a make bootrom_uncmp vxWorks.  Finally, I ran elfToBin < bootrom_uncmp > boot.bin.
I flashed boot.bin into the second set of flash memory using PPCBug.  I then moved J10
so that it would boot from this second set of flash:  Both boot.bin and vxWorks come up just
fine in this stock arrangement.

Next, I set USER_RESERVED_MEM to (248 * 1024 * 1024) in target/config/mv2604/config.h.
I did a make clean, a make bootrom_uncmp vxWorks, and finally a
elfToBin < bootrom_uncmp > boot.bin.  I flashed boot.bin into flash memory using PPCBug
again, and moved J10 again so that the board would boot from the second set of flash:
The last message I see from boot.bin is Starting at 0x100000.  What could I have possibly
done wrong?

The board I am using is a 333 MHz mv2604.  I have tried two different boards with the
same result.

-Bob
  - --------------D943FDE11744A4DCB3131552-- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: T2 & 333 MHz mv2604 Date: Fri, 06 Aug 1999 09:31:10 -0400 From: Bob Marino Organization: Picker International, Inc. Message-ID: <37AAE39E.3F9845C8@mr.picker.com> References: <37AADAE2.B5F40C7D@mr.picker.com> - --------------685A7678FAC8C4C094CF0270 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I should have mentioned that in the second case which failed to boot vxWorks, I also set LOCAL_MEM_SIZE to 0x10000000, but I left LOCAL_MEM_AUTOSIZE defined as it had been in the stock version. - -Bob Bob Marino wrote: > I just loaded Tornado II. I did a make clean in the directory named > target/config/mv2604 > followed by a make bootrom_uncmp vxWorks. Finally, I ran elfToBin < > bootrom_uncmp > boot.bin. > I flashed boot.bin into the second set of flash memory using PPCBug. > I then moved J10 > so that it would boot from this second set of flash: Both boot.bin > and vxWorks come up just > fine in this stock arrangement. > > Next, I set USER_RESERVED_MEM to (248 * 1024 * 1024) in > target/config/mv2604/config.h. > I did a make clean, a make bootrom_uncmp vxWorks, and finally a > elfToBin < bootrom_uncmp > boot.bin. I flashed boot.bin into flash > memory using PPCBug > again, and moved J10 again so that the board would boot from the > second set of flash: > The last message I see from boot.bin is Starting at 0x100000. What > could I have possibly > done wrong? > > The board I am using is a 333 MHz mv2604. I have tried two different > boards with the > same result. > > -Bob - --------------685A7678FAC8C4C094CF0270 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit I should have mentioned that in the second case which failed to boot vxWorks,
I also set LOCAL_MEM_SIZE to 0x10000000, but I left LOCAL_MEM_AUTOSIZE
defined as it had been in the stock version.

-Bob

Bob Marino wrote:

I just loaded Tornado II.  I did a make clean in the directory named target/config/mv2604
followed by a make bootrom_uncmp vxWorks.  Finally, I ran elfToBin < bootrom_uncmp > boot.bin.
I flashed boot.bin into the second set of flash memory using PPCBug.  I then moved J10
so that it would boot from this second set of flash:  Both boot.bin and vxWorks come up just
fine in this stock arrangement.

Next, I set USER_RESERVED_MEM to (248 * 1024 * 1024) in target/config/mv2604/config.h.
I did a make clean, a make bootrom_uncmp vxWorks, and finally a
elfToBin < bootrom_uncmp > boot.bin.  I flashed boot.bin into flash memory using PPCBug
again, and moved J10 again so that the board would boot from the second set of flash:
The last message I see from boot.bin is Starting at 0x100000.  What could I have possibly
done wrong?

The board I am using is a 333 MHz mv2604.  I have tried two different boards with the
same result.

-Bob

- --------------685A7678FAC8C4C094CF0270-- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PPP: Direct Connect from W95 Date: Fri, 06 Aug 1999 18:01:14 GMT From: saustin_deja@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7of7t4$i1k$1@nnrp1.deja.com> References: <7oe8lk$hgo$2@news1.xs4all.nl> Download the W95 Null Modem driver from your favorite shareware site, e.g. http://www.winfiles.com Works just like the NT one, I believe. In article <7oe8lk$hgo$2@news1.xs4all.nl>, johan.borkhuis@peektraffic.nl wrote: > Hello, > > I am trying to create a direct link between a VxWorks target and a Windows > 95 host running PPP, but I cannot find any option to create a Direct > connect from Windows 95. Is there an option to create such a link, or > do I have to use NT for this (NT4 has an extra modem defined in the > Standard Modem list, a direct serial line). > Thanks. > > Groeten, > Johan > > -- > o o o o o o o . . . ___________________________________ > o _____ || Johan Borkhuis | > .][__n_n_|DD[ ====_____ | johan@borksoft.xs4all.nl | > >(________|__|_[_________]_|________________________________| > _/oo OOOOO oo` ooo ooo 'o!o!o o!o!o` > > Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: replacement for UNIX access() Date: Fri, 06 Aug 1999 11:29:36 -0700 From: Eric Flynn Organization: Hewlett Packard Cupertino Site Message-ID: <37AB2990.F83C802E@wwg2.sid.hp.com> Reply-To: eflynn@wwg2.sid.hp.com Hi All, I need a replacement for the UNIX function access( ). I only use it to check for the existence of files, so I don't need an exact equivalent, but since this a generic fuction that tests for the existence of objects like fifos, as well as regular files, open( ) and fopen( ) are not good candidates. Any ideas? Thanks, Eric --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Kicking a server task out of accept (non-SENS) Date: Fri, 06 Aug 1999 20:00:30 GMT From: Nia Schmald Organization: FlashNet Communications, http://www.flash.net Message-ID: <37AAD0B5.DC43805F@flash.net> References: <37988C77.9A3F5B09@nospam.xmission.com> <379C4B7F.3E5C4FBC@wireplay.bt.co.uk> close () won't work. It free's mbufs associated with the socket that are still in use by the task waiting on accept. Use shutdown (). After shutdown () the task pending on accept () will still need to close the socket. Rich Ireland wrote: > In article <379C4B7F.3E5C4FBC@wireplay.bt.co.uk>, Phil Ashby > wrote: > > Probably not the 'official' way to do this but we generally close the > > desciptor from another task, which forces the accept() call to return > > with an error. > > Having tried this, I get varying degrees of success. > Sometimes the accept doesn't return, sometimes it does, and > sometimes I get a GPF in tNetTask (in the mbuf free routine > if my symbol map isn't lying). I should have mentioned that > this is on a 486, though that shouldn't really matter. > > What I really need is a nice clean way to bring network > services down in a controlled fashion. > > -- > Rich Ireland > Embedded & Real Time Engineering > mailto:r.ireland@computer.org --------------------------- Newsgroups: comp.os.qnx,comp.os.vms,comp.os.vxworks Subject: just for adults 69448 Date: Friday, 06 Aug 1999 16:49:05 -0600 From: mdakwillet@aol.com Organization: HUGE MEMBER AREA - Here's a sample Message-ID: <06089916.4905@aol.com> Reply-To: jimmyzfish@aol.com Adults Only: http://207.240.225.250 'QD=Qn/S {}{}{} Posted via Uncensored-News.Com, http://www.uncensored-news.com {}{}{} {}{}{}{} Only $8.95 A Month, - The Worlds Uncensored News Source {}{}{}{} {}{}{}{}{} Five News Servers with a BINARIES ONLY Server {}{}{}{}{} --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Kicking a server task out of accept (non-SENS) Date: Fri, 6 Aug 1999 21:34:14 -0600 From: rireland@nospam.xmission.com (Rich Ireland) Organization: XMission http://www.xmission.com/ Message-ID: References: <37988C77.9A3F5B09@nospam.xmission.com> <379C4B7F.3E5C4FBC@wireplay.bt.co.uk> <37AAD0B5.DC43805F@flash.net> In article <37AAD0B5.DC43805F@flash.net>, Nia Schmald wrote: > close () won't work. It free's mbufs associated with the socket that are > still in use by the task waiting on accept. Use shutdown (). After > shutdown () the task pending on accept () will still need to close the > socket. That seems to make things even worse. :-( I must be doing something very wrong. - -- Rich Ireland Embedded & Real Time Engineering mailto:r.ireland@computer.org --------------------------- End of New-News digest ********************** From owner-vxwexplo-process Sun Aug 8 04:00:14 1999 From: daemon@csg.lbl.gov Date: Sun Aug 8 04:00:18 PDT 1999 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Sun Aug 8 04:00:04 PDT 1999 Subject: Re: How to delay a task in micro seconds range Subject: UnixCE - OS for internet appliance - Commercial Subject: Re: How to delay a task in micro seconds range Subject: Re: UnixCE - OS for internet appliance - Commercial ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to delay a task in micro seconds range Date: Sat, 07 Aug 1999 08:17:39 -0700 From: Harvey Taylor Organization: Organization? What organization?! Message-ID: <37AC4E13.6067@despam.pangea.ca> References: <7o6021$t1l$1@nnrp1.deja.com> lingsiva@my-deja.com wrote: > I wonder how to delay a task in micro seconds range. > If you are on an x-86 system you can use the RDTSC timer. There is a similar PPC mnemonic. - -het - -- "you don't really appreciate how smart a moron is until you try to design a robot..." -a robotics designer Harvey Taylor Internet: het@despam.portal.ca --------------------------- Newsgroups: comp.realtime,comp.arch.embedded,comp.os.vxworks,comp.os.psos,comp.os.os9 Subject: UnixCE - OS for internet appliance - Commercial Date: Sat, 07 Aug 1999 09:18:54 -0700 From: vasant kanchan Organization: SBC Internet Services Message-ID: <37AC5C6D.3145@pacbell.net> Reply-To: vkanchan@pacbell.net Announcing release of UnixCE, smallest unix kernel for internet appliance market. Check our web site http://www.unixce.com. Regards Kanchan --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to delay a task in micro seconds range Date: Sat, 07 Aug 1999 13:11:51 -0400 From: johnedwards@oscsystems.com Organization: Orbital Sciences Corp. / Fairchild Defense Message-ID: <37AC68D7.EAAD2BC7@oscsystems.com> References: <7o6021$t1l$1@nnrp1.deja.com> lingsiva@my-deja.com wrote: > > HI > > I wonder how to delay a task in micro seconds range. > The function taskdelay() delays a task in terms of ticks. so i > converted the time into number of ticks as follows: > > taskDelay((int)(dwMicroSeconds/1000000)* sysClkRateGet()); > > But In my case, The above will always be zero because i need to delay a > task only for 1000 or 2000 micro seconds. > > Effectively there will be no delay in task. > > can anyone give me a solution for this. Here is a routine that I found a couple of months ago. I cleaned it up a bit and it has been used on several different projects. The auto-calibration nature of this routine makes it nice. Seems to survive code optimization as well. It works great down into the microsecond level. Use the timexN routine to test it's accuracy on your platform. Regards, - -- John W. Edwards, Sr. Engineer Avionics Software Orbital Sciences Corporation / Fairchild Defense Germantown, MD USA JohnEdwards@oscsystems.com ============================================================ Submitted-by espin@idiom.com Fri Dec 5 11:35:17 1997 Submitted-by: Geoffrey Espin - --MimeMultipartBoundary Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Marc, et al, > Submitted-by marc@onion.jhuapl.edu Fri Dec 5 07:26:18 1997 > We are using vxWorks 5.1.1 and are using a clock rate of 100 ticks/msec, > we would like to switch to a higher clock rate (1000ticks/msec) and need > to know if/how using a higher clock rate might negatively impact performance. Obviously the more interrupts per second from any source will cost you something. A 1000/sec on lots of CPUs these days is probably not a big deal. If an interrupt costs you 5 microseconds: 1000 * 5 usec = 5 millisecs of mostly wasted time every second But note that you cannot use taskDelay() from an interrupt handler! :-) Attached is a portable sub-clock tick "hard" (busy loop) delay[>] library. I can't believe how many times I've seen code like (bletch!): for (ix = 0; ix < 0x40000; ix++) ; /* spin wheels for 20 usecs (I hope) */ WRS does supply nanosleep() but is actually limited to system clock rate usually I think. Attached are my delayLib.c and delayLib.h. If you have any suggestions or improvments let me know: espin@idiom.com. Geoff - -- Geoffrey Espin espin@idiom.com - -- +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= /* delayLib.c - self-calibrating hard delay routines */ /* modification history - -------------------- 27Mar96,espin written. */ /* DESCRIPTION This module provides "hard" [<]delay[>] routines for micro and millisecond periods. EXAMPLE .CS - -> delayMsec (1); /@ very first call used for calibration @/ - -> timexN delayMsec, 10 timex: 75 reps, time per rep = 9555 +/- 222 (2%) microsecs value = 59 = 0x3b = ';' - -> .CE The routines sysClkRateGet() and tickGet() are used to calibrate the timing loop the first time either routine is called. Therefore, the first call is much longer than requested. If the system clock rate is changed, a new calibration must be explicitly made by passing a negative [<]delay[>] duration. INTERNAL A one-shot timer could provide high resolution sub-clock tick delay... but then this would be board dependent. */ #include "vxWorks.h" #include "tickLib.h" #include "sysLib.h" #define DEBUG FALSE void delayUsec (unsigned int u); void delayMsec (unsigned int m); /******************************************************************************* * * delayUsec - hard [<]delay[>] for microseconds * * RETURNS: N/A */ #if DEBUG int delayLoop = 0; #endif /* DEBUG */ void delayUsec ( unsigned int u /* # of microsecs */ ) { #if !DEBUG static int delayLoop = 0; #endif /* !DEBUG */ int ix; int iy; if (delayLoop == 0 || u == 0xffffffff) /* need calibration? */ { int maxLoop; int start = 0; int stop = 0; int mpt = (1000 * 1000) / sysClkRateGet (); /* microsecs per tick */ for (delayLoop = 1; delayLoop < 0x1000 && stop == start; delayLoop<<=1) { for (stop = start = tickGet (); start == stop; start = tickGet ()) ; /* wait for clock turn over */ delayUsec (mpt); /* single recursion */ stop = tickGet (); } maxLoop = delayLoop / 2; /* loop above overshoots */ #if DEBUG printf ("maxLoop = %d\n", maxLoop); #endif /* DEBUG */ start = 0; stop = 0; if (delayLoop < 4) delayLoop = 4; for (delayLoop /= 4; delayLoop] for milliseconds * * RETURNS: N/A */ void delayMsec ( unsigned int m /* # of millisecs */ ) { delayUsec (m * 1000); } Here's the include file: /* delayLib.h - self-calibrating hard [<]delay routines header file */ /* modification history - -------------------- 27Mar96,espin written. */ #ifndef __INCdelayLibh #define __INCdelayLibh #if defined(__STDC__) || defined(__cplusplus) extern void delayUsec (unsigned int u); extern void delayMsec (unsigned int m); #else extern void delayUsec (); extern void delayMsec (); #endif /* __STDC__ || __cplusplus */ #endif /* __INCdelayLibh */ --------------------------- Newsgroups: comp.os.vxworks,comp.os.psos,comp.os.os9 Subject: Re: UnixCE - OS for internet appliance - Commercial Date: Sun, 08 Aug 1999 01:03:28 GMT From: John or Jenn Organization: Who, us organized??? Message-ID: References: <37AC5C6D.3145@pacbell.net> In article <37AC5C6D.3145@pacbell.net> vasant kanchan, vkanchan@pacbell.net writes: >Announcing release of UnixCE, smallest unix kernel Which has what exactly to do with VxWorks, pSOS, or OS9? Post it elsewhere... --------------------------- End of New-News digest ********************** From owner-vxwexplo-process Mon Aug 9 04:00:30 1999 From: daemon@csg.lbl.gov Date: Mon Aug 9 04:00:33 PDT 1999 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Mon Aug 9 04:00:04 PDT 1999 Subject: [Q] detail mechanism for system calls in VxWorks Subject: Re: [Q] detail mechanism for system calls in VxWorks Subject: Re: End Driver SENS 1.1 Stack losing Recv Buffers!? Subject: MULTI tools Subject: Control of embedded DSPs over internet Subject: Detecting rogue tasks which hog CPU in VxWorks Subject: resons for ifunit faile Subject: GDB start-up file Subject: Re: GDB start-up file ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: [Q] detail mechanism for system calls in VxWorks Date: Mon, 9 Aug 1999 11:01:21 +0900 From: "ÀÌÁŠÇå(Jerry)" Organization: Electronics and Telecommunications Research Institute (ETRI) Message-ID: <7old0r$jv$1@news.etri.re.kr> Are there anybody know this? Thanks for reading. Bye. Jerry - -- *************************************************** Jehun Rhee (Jerry) Mobile Traffic Management Team, Radio & Broadcasting Technology Lab., ETRI 161 Kajong Dong, Yusong Gu, Taejon, 305-350, Korea Voice Phone @ +82-42-860-3820 Fax @ +82-42-860-6403 Home Phone @ +82-42-485-8809 Mobile Phone @ +82-17-248-0116 Email @ jhrhee@etri.re.kr ICQ @ 30447192 internetBuddy @ 0221-0717 (only Korean) --------------------------- Newsgroups: comp.os.vxworks Subject: Re: [Q] detail mechanism for system calls in VxWorks Date: Sun, 08 Aug 1999 21:55:49 -0700 From: engineer_scotty Organization: aracnet.com Message-ID: <37AE5F55.1D9D7A46@aracnet.com> References: <7old0r$jv$1@news.etri.re.kr> "ÀÌÁŠÇå(Jerry)" wrote: > > Are there anybody know this? > Thanks for reading. Bye. What precisely do you mean? Are you asking how the system call functionality is implemented? If so, the answer is--like any other function call. vxWorks does not use the "user mode" of the processor, and thus does not require system traps to context switch back into supervisor mode. Calling an API function is just like calling a function you define. Scott > -- > *************************************************** > Jehun Rhee (Jerry) > > Mobile Traffic Management Team, > Radio & Broadcasting Technology Lab., ETRI > 161 Kajong Dong, Yusong Gu, Taejon, 305-350, Korea > > Voice Phone @ +82-42-860-3820 > Fax @ +82-42-860-6403 > Home Phone @ +82-42-485-8809 > Mobile Phone @ +82-17-248-0116 > Email @ jhrhee@etri.re.kr > ICQ @ 30447192 > internetBuddy @ 0221-0717 (only Korean) - -- - ------------------------------------------------------------------------ engineer_scotty (no, not that one) -- consumer of fine ales and lagers some days you're the fire hydrant, some days you're the dog | go blazers no small furry creatures were harmed in the creation of this .signature - ------------------------------------------------------------------------ --------------------------- Newsgroups: comp.os.vxworks Subject: Re: End Driver SENS 1.1 Stack losing Recv Buffers!? Date: Sat, 07 Aug 1999 23:20:49 -0400 From: "Ricky W. West" Message-ID: <37ACF791.8894F14@bellsouth.net> References: We had a similar problem. In our case, we also used the WRS provided DHCP server. Our solution, which seems to work, is to ensure that we NEVER exceed the IP input processing queue size of 50. This queue size is controlled by a table setting in usrNetwork.c. Don't quote me since I don't have the code right in front of me. Anyway, on our network, we could get a burst of measurement data that happens to occur quite rapidly (at least from the perspective of NetTask). If we exceeded the 50 messages, then our DHCP server went nuts and all in-bound traffic ceased to be processed by the layers above our END driver. Out-bound traffic was unaffected. At this point, WRS has not provided us with an answer to the problem. And frankly, this work around has fixed our immediate problem. Ricky West Jeff Szczepanski wrote: > I am running into a problem with the SENS 1.1 protocol stack when using an > Enhanced network driver (END) with the MUX. The particular network driver is > for > a Galileo network controller. The driver is one that I custom developed > based on > the VxWorks sample END driver. I have been running with the driver and the > SENS > 1.1 release for several months without any problems. However over the last > few > days, where we are now under heavy receive traffic into the stack, we have > regularly seen problems. The failure seems to occur once in every 5000 to > 10000 > receive packets under this scenario. > > My network driver, like the sample driver, uses buffer sharing to pass > receive > packets up to the protocol stack. As packets are received, they are passed > to > the protocol stack to be processed and expected to be later released by the > protocol stack. At some point, the protocol stack appears to stop processing > and/or freeing the passed buffers (clusters). Shortly later, all the buffers > in > network driver's pool run out due to additionally received packets, and then > the > network driver starts dropping all following packets due to a lack of any > additional available buffers. > > The system's tNetTask() appears to be idle, waiting on it's work queue. The > task > that is reading from the socket appears to be blocked on the read() > operation > like it normally would, waiting for data. The socket is opened in the > "default" > configuration where the read call blocks for available data on the socket. > > I have configured the driver to run with a network pool (end.pNetPool) of 64 > receive buffers, where a total of 16 buffers will be held for the DMA > process > within the driver and a total of 48 buffers are available for loaning to the > protocol stack. Doing a dump of the netPool allocations using netPoolShow(), > I > can see that all 64 buffers are indeed allocated, 16 are held by the driver > (as > expected), and the remaining 48 are allocated along with the associated 48 > "DATA" type mblks. > > The best I can tell, my driver seems to be operating properly. Other than > what I > have already mentioned above, does anyone know if there is a way to dump the > current "context" of the receive routine (end.receiveRtn) to determine, if > indeed, the > protocol stack or MUX is actually retaining and/or "leaking" these buffers > under some circumstance? > > In addition, another thing that has occurred to me is that, per the ln7990.c > sample driver and the END driver template, there is a test for the > (end.receiveRtn) > being NULL whereby a packet will not be passed up the protocol stack if the > receiveRtn has been set to NULL. Like the sample driver, this could cause a > memory buffer leak if during normal operations, the end.receiveRtn was > suddenly set to NULL...Does anyone know if there are conditions where > under normal operations I should expect the MUX or protocol stack would > set "end.receiveRtn" entry point to NULL? > > Thanks in advance for any assistance. > Jeff > > =========================== > Jeffrey R. Szczepanski > InSciTek Microsystems, Inc. > 635 CrossKeys Office Park > Fairport, NY 14450 > --------------------------- Newsgroups: comp.os.vxworks Subject: MULTI tools Date: Mon, 09 Aug 1999 11:30:10 +0200 From: Oleg Chtchoupak Organization: Signalbau Huber AG Message-ID: <37AE9FA1.E51394E2@ue.bosch.de> Has anyone had experience with Green Hills "MULTI" development tools for Tornado/VxWorks? I am evaluating it for an upcoming project and would appreciate any feedback. Thanks. Oleg Chtchoupak. Oleg.Chtchoupak@signalbau-huber.de --------------------------- Newsgroups: comp.os.vxworks Subject: Control of embedded DSPs over internet Date: Mon, 9 Aug 1999 10:55:43 +0100 From: "Jeremy Bennett" Organization: NDS UK Message-ID: <7om7cb$gv$1@ndsukns01.ndsuk.com> Hi What techniques do people recommend for control of embedded DSPs over the internet. I know about SMNP but are there any other methods ? Jeremy Bennett NDS Ltd. --------------------------- Newsgroups: comp.os.vxworks Subject: Detecting rogue tasks which hog CPU in VxWorks Date: Mon, 09 Aug 1999 11:37:29 +0100 From: Arthur Watt Organization: Lucent Technologies Message-ID: <37AEAF69.91473246@lucent.com> Hello all, I have been seeing a problem in our VxWorks system when one of the Application tasks hogs the CPU. Basically what I want to do is detect application tasks which have been READY for run for the long periods (say > 1 second). My initial idea would be to have the highest priority Application task examine all the other application tasks by querying the task control block (TCB). The TCB structure seems to have some very useful information inside it typedef struct windTcb /* WIND_TCB - task control block */ { Q_NODE qNode; /* 0x00: multiway q node: rdy/pend q */ Q_NODE tickNode; /* 0x10: multiway q node: tick q */ Q_NODE activeNode; /* 0x20: multiway q node: active q */ OBJ_CORE objCore; /* 0x30: object management */ char * name; /* 0x34: pointer to task name */ int options; /* 0x38: task option bits */ UINT status; /* 0x3c: status of task */ UINT priority; /* 0x40: task's current priority */ UINT priNormal; /* 0x44: task's normal priority */ UINT priMutexCnt; /* 0x48: nested priority mutex owned */ struct semaphore * pPriMutex; /* 0x4c: pointer to inheritance mutex */ UINT lockCnt; /* 0x50: preemption lock count */ UINT tslice; /* 0x54: current count of time slice */ UINT16 swapInMask; /* 0x58: task's switch in hooks */ UINT16 swapOutMask; /* 0x5a: task's switch out hooks */ Q_HEAD * pPendQ; /* 0x5c: q head pended on (if any) */ UINT safeCnt; /* 0x60: safe-from-delete count */ Q_HEAD safetyQHead; /* 0x64: safe-from-delete q head */ FUNCPTR entry; /* 0x74: entry point of task */ char * pStackBase; /* 0x78: points to bottom of stack */ char * pStackLimit; /* 0x7c: points to stack limit */ char * pStackEnd; /* 0x80: points to init stack limit */ int errorStatus; /* 0x84: most recent task error */ int exitCode; /* 0x88: error passed to exit () */ struct sigtcb * pSignalInfo; /* 0x8c: ptr to signal info for task */ SEMAPHORE selectSem; /* 0x90: select semaphore */ struct selWkNode * pSelWakeupNode; /* 0xac: task's select info */ UINT taskTicks; /* 0xb0: total number of ticks */ UINT taskIncTicks; /* 0xb4: number of ticks in slice */ struct taskVar * pTaskVar; /* 0xb8: ptr to task variable list */ struct rpcModList * pRPCModList; /* 0xbc: ptr to rpc module statics */ struct fpContext * pFpContext; /* 0xc0: fpoint coprocessor context */ struct __sFILE * taskStdFp[3]; /* 0xc4: stdin,stdout,stderr fps */ int taskStd[3]; /* 0xd0: stdin,stdout,stderr fds */ char ** ppEnviron; /* 0xdc: environment var table */ int envTblSize; /* 0xe0: number of slots in table */ int nEnvVarEntries; /* 0xe4: num env vars used */ struct sm_obj_tcb * pSmObjTcb; /* 0xe8: shared mem object TCB */ int windxLock; /* 0xec: lock for windX */ DBG_INFO dbgInfo; /* 0xf0: debugging information */ REG_SET * pExcRegSet; /* 0xfc: exception regSet ptr or NULL */ int reserved1; /* 0x100: posible user extension */ int reserved2; /* 0x104: posible user extension */ int spare1; /* 0x108: posible user extension */ int spare2; /* 0x10c: posible user extension */ int spare3; /* 0x110: posible user extension */ int spare4; /* 0x114: posible user extension */ /* ARCHITECTURE DEPENDENT */ #if (CPU_FAMILY == SPARC) EXC_INFO excInfo; /* 0x0118: exception info */ UINT regSetPad; /* 0x012C: double-word alignment */ REG_SET regs; /* 0x0130: register set */ #endif /* CPU_FAMILY == SPARC */ } WIND_TCB; Does anyone know if any of these fields can tell me how long a task has been ready for ??? If so it could be simple case of examining the TCB of all the application tasks and comparing the active time with some preset threshold !. Thanks very much for your help Arthur - ---------------------------------------------------------------- Arthur Watt Address: Wireless Access Solutions Unit 7, Greenways Business Park Lucent Technologies Bellinger Close Voice : +44 (0)1666 83 37 29 Malmsbury Road Fax : +44 (0)1666 83 21 81 Chippenham SN15 1BN E-Mail : arthur@lucent.com Great Britain - ---------------------------------------------------------------- --------------------------- Newsgroups: comp.os.vxworks Subject: resons for ifunit faile Date: Sun, 8 Aug 1999 14:47:36 +0200 From: "Erez Bar-Tal" Organization: Internet Gold, ISRAEL Message-ID: <7ojqia$dai$1@news2.inter.net.il> Hi all i am writing an END driver and I'm facing to following problem. In the initializing phase of the system a call for ifunit is made and falis (retunrs NULL) up till this point everything is working fine (muxdexload,muxDevStart, ipAttach and ifAddrset returns succesfully). I can see that the parameters being transferd to ifunit are valid. ifunit tries to return a pointer to a network interface (struct ifnet type) my question is where in END driver source code do we use it (who allocates it) ? At bootconfig.c when the error returns it's mention (in remars at the code) that the device is not attached if muxDevLoad returns with OK doesn't it mean that the device is attaced ? Any help will be appriciated Thanks Erez erezb@galileo.co.il --------------------------- Newsgroups: comp.os.vxworks Subject: GDB start-up file Date: Sun, 8 Aug 1999 18:01:07 +0100 From: David & Bella Aldrich Message-ID: <1999080818010783839@zetnet.co.uk> I am using Tornado 1.0.1 under Win NT. I believe you can specify an initialisation file for the debugger. I want this because I need to set wtx-load-timeout before downloading the application file and don't want to have to type the command every time I start the debugger. Can anyone please tell me the name of the initialisation file and where to put it? Thanks David Aldrich --------------------------- Newsgroups: comp.os.vxworks Subject: Re: GDB start-up file Date: Mon, 09 Aug 1999 01:04:50 GMT From: John or Jenn Organization: Who, us organized??? Message-ID: References: <1999080818010783839@zetnet.co.uk> In article <1999080818010783839@zetnet.co.uk> David & Bella Aldrich, davidandbella@zetnet.co.uk writes: >Can anyone please tell me the name of the initialisation file and >where to put it? Dust off your copy of the Tornado User¹s Guide and look at section 9.8.1, GDB Initialization Files. ;-) --------------------------- End of New-News digest ********************** From owner-vxwexplo-process Tue Aug 10 03:02:58 1999 From: David Laight Date: Tue Aug 10 03:03:01 PDT 1999 Subject: Re: sub-millisecond task delays. Whenever possible it is worth looking for something other that the (calibrated) for (ix=;--ix;); loop. Even with autocalibration (as posted by Geoff) it is not ideal - but better that a lot of code I've seen over the years! Delays based on a timer interrupt are often inappropriate - the cost of saving state and taking the interrupt are greater than looping for the required delay. The vxworks aux. timer doesn't really help. There are two common solutions: 1) Find the address a system counter. In many cases the counter registers used to divide the system clock down to (say) 100Hz are available and can be used to time the delay. 2) In some cases the delay is needed when generating waveforms (eg for serial EEPROMS) in software. In these cases it is often possible to use the write cycle time of the device hardware itself to perform the delay. Writing the same value to the port 3 or 4 times can be enough. The second scheme has the advantage that you don't have to worry about the system delaying a write bus cycle (eg because an alternate bus master is using the bus) to the point where your programmed delay is inadequate. Some delays I've seem that don't work! jmps $+2 /* assumed to break instruction fetch pipeline */ rol ax,32 /* assumes cpu doesn't have a barrel shifter */ (These were in x86 drivers, coded for a 286 (or maybe 33MHz 386) and being run on (at the time) 100MHz Pentium. Interestingly much of the code worked! Maybe because the cost of calling the delay routine had not originally been allowed for...) On the StrongArm I use the following assembler (it is called from romInit.s and sysALib.s): /* drv_usecwait - loop for r0 microseconds. */ _drv_usecwait: mov r1,#59 mul r0,r1,r0 mov r0,r0,lsr #4 wait: /* Use timer register to get fixed time delay */ mov r1,#0x90000000 ldr r1,[r1,#0x10] /* OSCR 3.6864MHz */ add r1,r1,r0 /* + callers ticks */ 10$: mov r0,#0x90000000 ldr r0,[r0,#0x10] cmps r0,r1 bmi 10$ mov pc,r14 This code has the massive advantage over the for(i=n;--i;); loop it that the delays it generates are the same whether or not the I-Cache is enabled or not. David ---------------------------------------------------------------- David Laight email: dsl@tadpole.co.uk Tadpole Technology plc phone: +44 1223 278 256 Cambridge, UK fax: +44 1223 278 201 From owner-vxwexplo-process Tue Aug 10 04:00:14 1999 From: daemon@csg.lbl.gov Date: Tue Aug 10 04:00:18 PDT 1999 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Tue Aug 10 04:00:09 PDT 1999 Subject: PCMCIA ATA performance on MBX860 Subject: Re: Detecting rogue tasks which hog CPU in VxWorks Subject: Re: Detecting rogue tasks which hog CPU in VxWorks Subject: Re: replacement for UNIX access() Subject: Do tutorials exist? Subject: re: Detecting rogue tasks which hog CPU Subject: Re: PCMCIA ATA performance on MBX860 Subject: Re: PCMCIA ATA performance on MBX860 Subject: Re: Converting to Tornado II Subject: Re: T2 & 333 MHz mv2604 Subject: FS: Fuzzy Logic Development Kit, eBay Subject: Re: How to translate a pci device physical address into CPU local address Subject: Correction of a typo error on above topic Subject: Re: Converting to Tornado II Subject: Re: MULTI tools Subject: Re: Converting to Tornado II Subject: Re: How to translate a pci device physical address into CPU local address Subject: Re: How to translate a pci device physical address into CPU local address ------------------------------------------------------- Newsgroups: comp.sys.powerpc.tech,comp.os.vxworks Subject: PCMCIA ATA performance on MBX860 Date: Mon, 09 Aug 1999 13:15:28 +0100 From: "Dr C. J. Pye" Organization: Endusis Limited Message-ID: <37AEC660.6C51E4A8@endusis.com> I have a 520Mb Callunacard Type III ATA PCMCIA Card installed on a Motorola 50MHz MBX860 board, formatted as a dosFs (vxWorks). What sort of write speed should I be seeing ??? Anyone done anything remotely similar ? Writing ten 432kB files to the disk takes ~26 seconds ? That's about 166kB/s transfer rate - surely the MBX should achive more than this ?? Please reply also with email. - ------------------------------------------------------------------- Dr. C. J. Pye Endusis Limited, The Innovation Centre, Phone: 01946-816810 Westlakes Science & Technology Park, Email: cjp@endusis.com Moor Row, Cumbria, CA24 3TP, United Kingdom --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Detecting rogue tasks which hog CPU in VxWorks Date: Mon, 09 Aug 1999 15:31:50 +0200 From: Leonid Rosenboim Organization: BitBand Technologies Ltd. Message-ID: <37AED846.D1822682@bitband.com> References: <37AEAF69.91473246@lucent.com> Reply-To: leonid@bitband.com Firstly, you should have not quoted the TCB structure on the list, its a waste of bandwidth, and possibly copyright violation ;-) When a task is READY, and not executing, there is nothing in the Wind kernel that looks at it or updates any of its TCB fields. It is important to understand that only the executing task is processed by the CPU, otherwise the Wind kernel performance would have depended on the number of task which are currently READY, which in turn is a function of total tasks in the system, and that is not acceptable. What you can do, is spawn your own watchdog function, which will use one of the "reserved" fields in the TCB as a READ-wait-counter, incrementing it each tick, and looking at its value for the duratin the task has been delayed. This watchdog function should traverse the READY Q list for the list of tasks, and not use the API for getting task lists, but will anyhow take longer when there are many more tasks in the READY queue. HTH, Leonid Arthur Watt wrote: > Hello all, I have been seeing a problem in our VxWorks system > when one of the Application tasks hogs the CPU. Basically what I > want to do is detect application tasks which have been READY for > run for the long periods (say > 1 second). > > [snip] > > Does anyone know if any of these fields can tell me how long > a task has been ready for ??? > > If so it could be simple case of examining the TCB of all the > application tasks and comparing the active time with some > preset threshold !. > > Thanks very much for your help > > Arthur --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Detecting rogue tasks which hog CPU in VxWorks Date: Mon, 09 Aug 1999 15:32:08 +0200 From: Leonid Rosenboim Organization: BitBand Technologies Ltd. Message-ID: <37AED858.ADE07138@bitband.com> References: <37AEAF69.91473246@lucent.com> Reply-To: leonid@bitband.com Firstly, you should have not quoted the TCB structure on the list, its a waste of bandwidth, and possibly copyright violation ;-) When a task is READY, and not executing, there is nothing in the Wind kernel that looks at it or updates any of its TCB fields. It is important to understand that only the executing task is processed by the CPU, otherwise the Wind kernel performance would have depended on the number of task which are currently READY, which in turn is a function of total tasks in the system, and that is not acceptable. What you can do, is spawn your own watchdog function, which will use one of the "reserved" fields in the TCB as a READ-wait-counter, incrementing it each tick, and looking at its value for the duratin the task has been delayed. This watchdog function should traverse the READY Q list for the list of tasks, and not use the API for getting task lists, but will anyhow take longer when there are many more tasks in the READY queue. HTH, Leonid Arthur Watt wrote: > Hello all, I have been seeing a problem in our VxWorks system > when one of the Application tasks hogs the CPU. Basically what I > want to do is detect application tasks which have been READY for > run for the long periods (say > 1 second). > > [snip] > > Does anyone know if any of these fields can tell me how long > a task has been ready for ??? > > If so it could be simple case of examining the TCB of all the > application tasks and comparing the active time with some > preset threshold !. > > Thanks very much for your help > > Arthur --------------------------- Newsgroups: comp.os.vxworks Subject: Re: replacement for UNIX access() Date: 9 Aug 1999 13:40:05 GMT From: chc@nasa2.ksc.nasa.gov (Charles H. Chapman) Organization: NASA, Kennedy Space Center Message-ID: References: <37AB2990.F83C802E@wwg2.sid.hp.com> On Fri, 06 Aug 1999 11:29:36 -0700, Eric Flynn wrote: >I need a replacement for the UNIX function access( ). I only use it to >check for the existence of files, so I don't need an exact equivalent, >but since this a generic fuction that tests for the existence of objects >like fifos, as well as regular files, open( ) and fopen( ) are not good >candidates. Any ideas? The function stat will tell you if a file exists. There aren't any so-called fifos in VxWorks. If you're referring to message queues, you can check if they exist using the msgQInfoGet function. Chuck --------------------------- Newsgroups: comp.os.vxworks Subject: Do tutorials exist? Date: Mon, 9 Aug 1999 14:26:32 +0200 From: "Geurt Vos" Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <00ff01bee262$b83b02a0$95cb09c0@BertB> We got ourselves an evaluation of the Wind Web Server. With it comes a tutorial and some examples in the unsupported directory. The tutorial is really great! It really helps understanding how to use the server. Now I'm wondering: are there any more tutorials available? Namely for OSPF. I failed to find any more. - -Geurt- ~warnings are just like errors, only not~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Geurt Vos Junior Project Engineer Rohill Engineering Hoogeveen, The Netherlands ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Extended Operating System Loader http://come.to/geurt geurt@geocities.com ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: re: Detecting rogue tasks which hog CPU Date: Mon, 09 Aug 1999 14:11:42 GMT From: John or Jenn Organization: Who, us organized??? Message-ID: References: <7obhjk$t20$1@nnrp1.deja.com> <7omh6b$a8c$1@nnrp1.deja.com> <37AED846.D1822682@bitband.com> <37AED858.ADE07138@bitband.com> In article <37AEAF69.91473246@lucent.com> Arthur Watt, arthur@lucent.com writes: >Hello all, I have been seeing a problem in our VxWorks system >when one of the Application tasks hogs the CPU. Basically what I >want to do is detect application tasks which have been READY for >run for the long periods (say > 1 second). What about using WindView? You should be able to see this graphically this way. --------------------------- Newsgroups: comp.sys.powerpc.tech,comp.os.vxworks Subject: Re: PCMCIA ATA performance on MBX860 Date: Mon, 09 Aug 1999 14:19:22 GMT From: "Serge Blais" Organization: MetroNet Communications Group Inc. Message-ID: References: <37AEC660.6C51E4A8@endusis.com> Reply-To: "Serge Blais" We are using the same MBX board and were thinking about using an ATA PCMCIA drive as well in a few months. The drive manufacturer may make a difference in terms of performance. Can you try with another drive manufacturer? Are you using a third party driver for your card services (Intoto for example)? There is some glue missing between the provided ATA driver and the very simple PCMCIA driver that VxWorks provides. If you went that route, how much effort was it? Thanks. Serge Blais serge.blais@simplernetworks.com Dr C. J. Pye wrote in message news:37AEC660.6C51E4A8@endusis.com... > > I have a 520Mb Callunacard Type III ATA PCMCIA Card installed on > a Motorola 50MHz MBX860 board, formatted as a dosFs (vxWorks). > > What sort of write speed should I be seeing ??? > Anyone done anything remotely similar ? > > Writing ten 432kB files to the disk takes ~26 seconds ? > That's about 166kB/s transfer rate - surely the > MBX should achive more than this ?? > > Please reply also with email. > ------------------------------------------------------------------- > Dr. C. J. Pye Endusis Limited, The Innovation Centre, > Phone: 01946-816810 Westlakes Science & Technology Park, > Email: cjp@endusis.com Moor Row, Cumbria, CA24 3TP, United Kingdom --------------------------- Newsgroups: comp.sys.powerpc.tech,comp.os.vxworks Subject: Re: PCMCIA ATA performance on MBX860 Date: Mon, 09 Aug 1999 13:12:12 -0400 From: Douglas Fraser Organization: Lucent Technologies Message-ID: <37AF0BEC.D8EBA796@lucent.com> References: <37AEC660.6C51E4A8@endusis.com> I don't recall the exact numbers, but we used Toshiba and SanDisk FLASH ATA on the MBX, and it was really slow when we were writing files to either device. We had a load image that was about 30MB, and you could take a nap while it loaded up. (well, not that bad, but a -l-o-n-g- time) Is this 520MB Callunacard a FLASH or Hard Disk Drive??? Read times were actually quite good. Of course, there is no seek time on a FLASH drive. Doug --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Converting to Tornado II Date: Mon, 09 Aug 1999 13:17:07 -0400 From: Joe Durusau Organization: Lockheed Martin Corporation Message-ID: <37AF0D13.E25724BB@delphi.com> References: <37AEF763.5594AB79@lmco.com> Part of it may depend on your host hardware and software. For example, the tornado II installatoin procedure won't work on a Sparc 20 at solaris 2.6 unless you are using the CDE desktop. Speaking only for myself, Joe Durusau Edward LaPier wrote: > Greetings VxWorkers ! > > Sometime in the near future we may be converting from Tornado 1.0.1 to > Tornado II. I would like to hear any leasons learned from anyone that > has already been through this process. Also, I would like to hear any > pros and cons to the newly released Tornado II. We are using an SP103 > product, which is a Single Board Computer with 603e Motorola Processor. > Any comments are greatly appreciated! > > Ed > -------------------------------------------------- > Edward LaPier > Lockheed Martin Federal Systems > 1801 State Route 17C Mail Drop 0302 > Owego, NY 13827-3994 --------------------------- Newsgroups: comp.os.vxworks Subject: Re: T2 & 333 MHz mv2604 Date: Mon, 9 Aug 1999 21:33:48 GMT From: Charlie Grames Organization: Boeing Message-ID: <37AF493C.33474E20@nowhere.com> References: <37AADAE2.B5F40C7D@mr.picker.com> <37AAE39E.3F9845C8@mr.picker.com> Sender: nntp@news.boeing.com (Boeing NNTP News Access) Bob, You didn't mention the memory size of your target, but I am assuming it is 256 MB. When VxWorks starts, it allocates a chunk of memory for the hash table used for page management. The table size is a power of two, and its alignment is the same power of two. If you don't leave enough memory for VxWorks to work in, VxWorks hangs when trying to create the hash table. As a test, try changing USER_RESERVED_MEM to (240 * 1024 * 1024) (i.e., leave 16 MB for VxWorks). If you want to fine-tune, add up ALL the resource sizes (i.e., memory size, VME space size, PCI space size, etc.) in sysPhysMemDesc in sysLib.c, and round up to the next power of two. Then, determine where the table would have to be allocated based on alignment, and calculate the amount of memory to leave for VxWorks from that. Keep in mind that VxWorks typically allocates from the high end of memory pool, so plan to leave some space above the hash table for this purpose. I'd like to give you a more concrete answer, but predicting the system dynamics is not easy. We have accepted 16 MB as the lower limit on operating memory for VxWorks on the PowerPC architecture. HTH Charlie Grames The Boeing Company Charles.R.Grames @ boeing.com Bob Marino wrote: > > I should have mentioned that in the second case which failed to boot > vxWorks, > I also set LOCAL_MEM_SIZE to 0x10000000, but I left LOCAL_MEM_AUTOSIZE > > defined as it had been in the stock version. > > -Bob > > Bob Marino wrote: > > > I just loaded Tornado II. I did a make clean in the directory named > > target/config/mv2604 > > followed by a make bootrom_uncmp vxWorks. Finally, I ran elfToBin < > > bootrom_uncmp > boot.bin. > > I flashed boot.bin into the second set of flash memory using > > PPCBug. I then moved J10 > > so that it would boot from this second set of flash: Both boot.bin > > and vxWorks come up just > > fine in this stock arrangement. > > > > Next, I set USER_RESERVED_MEM to (248 * 1024 * 1024) in > > target/config/mv2604/config.h. > > I did a make clean, a make bootrom_uncmp vxWorks, and finally a > > elfToBin < bootrom_uncmp > boot.bin. I flashed boot.bin into flash > > memory using PPCBug > > again, and moved J10 again so that the board would boot from the > > second set of flash: > > The last message I see from boot.bin is Starting at 0x100000. What > > could I have possibly > > done wrong? > > > > The board I am using is a 333 MHz mv2604. I have tried two > > different boards with the > > same result. > > > > -Bob --------------------------- Newsgroups: comp.realtime,comp.arch.embedded,comp.os.vxworks,comp.sys.powerpc.misc Subject: FS: Fuzzy Logic Development Kit, eBay Date: Mon, 9 Aug 1999 20:35:03 -0500 From: "Sun Harbor Sales" Organization: SBC Internet Services Message-ID: This is a fuzzy logic development kit by Microchip. It's being auctioned on eBay. Look here: http://cgi.ebay.com/aw-cgi/eBayISAPI.dll?ViewItem&item=144465358 - -William --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to translate a pci device physical address into CPU local address Date: Tue, 10 Aug 1999 03:43:56 GMT From: lingsiva@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7oo75q$ikj$1@nnrp1.deja.com> Hi Geurt, Thanks. It would be really helpful for me if you can post some example code. >I don't exactly know how you got it. I usually >just use pciConfigInLong with as offset >char *Ptr; >pciConfigInLong( > Bus,Dev,Func,PCI_CFG_BASE_ADDRESS_0,&dwTemp); >Ptr = (char *)dwTemp; Exactly this is the way i got the Base address. >And last, >With PCI devices you usually want to know three things: >* The base address (In this case 0xfe000000) >* What is it (port or memory) >* What is the size First, read the Bar0_Address and save for the later Usage I am getting the above three as follows: First, read the Bar0_Address and save for the later Usage pciConfigInLong(busno,deviceno,function no, BAR0_ADDress, &dwSave) To find whether it is IO mapped ot Memory Mapped if(dwSave & 0x1)?IO_PORT:MEMORY_MAPPED To find the range: dwTemp = 0xfffffff0 first i write all 1's to BAR0. The last 4bits is not required to find the range. So i write a 0 for the last 4 bits. pciConfigOutLong(bus_no,Device_no,function_no, BAR0_ADDress, dwTemp) Then i read the BAR0_Address pciConfigOutLong(bus_no,Device_no,function_no, BAR0_ADDress, &dwTemp) dwLoop = dwTemp >> 4 dwMemRange=0 for(i=0;i<28,i++) { if(dwLoop & 0x1) break; else dwMemRange = dwMemRange << 1 dwLoop = dwLoop >> 1 } So effectively, dwmemRange contans the Memory range the card can decode. After this i set back the original address(dwSave) that the cards BAR0_Address had. Actually, i would like to know how to accesses the memory for any Pci cards (memory Mapped) ( not necesserly Video card). Specifically What i would like to know is 1) do i have to allocate a pool of memory and then write that address into BAR0_Address as a base address or as I have done in following code is sufficent ( i am not allocating any memory pool) dwmemAddress = Base address read from Bar0_Address dwUserBuffer[20]; PDWORD *pdwTmp = (PDWORD*) dwUserBuffer; idataBytes = 4; while(idatabytes--) /* i am reading 16 bytes*/ *pdwTmp++ = *dwmemAddress++; Thanks, s.shiva Hope this helps, Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Correction of a typo error on above topic Date: Tue, 10 Aug 1999 04:27:53 GMT From: lingsiva@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7oo9o0$k9m$1@nnrp1.deja.com> References: <7oo75q$ikj$1@nnrp1.deja.com> Hi Geurt, I made a small typo error in the previous post. I am correcting that mistake here. > dwMemRange=0 /* I am correcting this line to dwMemRange = 0x10; Sorry about that regards, s.shiva Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Converting to Tornado II Date: Mon, 09 Aug 1999 23:45:16 -0500 From: Lance Brown Organization: EarthLink Network, Inc. Message-ID: <37AFAE5C.26163DE@earthlink.net> References: <37AEF763.5594AB79@lmco.com> The T2 project facility uses configlets. The conversion to configlet from a T1 windCFG to T2 project is painful. We decided not to use the project facility for any BSP code to start with since it is such a big jump. T2 creates several BSP files on the fly which used to be created by hand in T1. Definitely a different way of thinking to use configlets. Edward LaPier wrote: > Greetings VxWorkers ! > > Sometime in the near future we may be converting from Tornado 1.0.1 to > Tornado II. I would like to hear any leasons learned from anyone that > has already been through this process. Also, I would like to hear any > pros and cons to the newly released Tornado II. We are using an SP103 > product, which is a Single Board Computer with 603e Motorola Processor. > Any comments are greatly appreciated! > > Ed > -------------------------------------------------- > Edward LaPier > Lockheed Martin Federal Systems > 1801 State Route 17C Mail Drop 0302 > Owego, NY 13827-3994 --------------------------- Newsgroups: comp.os.vxworks Subject: Re: MULTI tools Date: Mon, 09 Aug 1999 23:39:15 -0500 From: Lance Brown Organization: EarthLink Network, Inc. Message-ID: <37AFACF3.3A5DAAA@earthlink.net> References: <37AE9FA1.E51394E2@ue.bosch.de> I didn't see that they offered very much value over what came with Tornado and they cost just as much as one seat of Tornado. EC++ is nice, but the scalability feature with T2 projects does a similar, but not exactly the same thing. I would buy more copies of T2 instead of MULTI. Oleg Chtchoupak wrote: > Has anyone had experience with Green Hills "MULTI" development tools for > > Tornado/VxWorks? I am evaluating it for an upcoming project and would > appreciate any feedback. > Thanks. > > Oleg Chtchoupak. > Oleg.Chtchoupak@signalbau-huber.de --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Converting to Tornado II Date: Mon, 09 Aug 1999 21:24:57 -0800 From: yuval_lorian Organization: http://www.remarq.com: The World's Usenet/Discussions Start Here Message-ID: <934262700.26718@www.remarq.com> References: <37AEF763.5594AB79@lmco.com> <37AF0D13.E25724BB@delphi.com> Hi, There are four major problems that we found while trying to upgrade to Tornado 2.0: 1. If you work with C++ and you don't want the C++ exception handling you must change all your calling to 'new' in order to delete the implicit exception handling (i.e. new(nothraw)). 2. The debugger need 128MB RAM otherwise you can't work with it and even so it is quite slow. 3. The SNMP toolkit is not fully compatible and there is a memory leaks in the tSnmpd task. 4. The BSP was changed and you should do somework in order to use the Tornado 2.0 BSP builder. There are also some improvements in Tornado 2.0: 1. The debugger is much better and has some usefull new features. 2. The documentaion is reacher and better. 3. The C++ compiler is better (at least in its syntax and semantic checks). 4. The Target Server is improved and know how to reconnect to the target. Regards, Yuval. * Sent from RemarQ http://www.remarq.com The Internet's Discussion Network * The fastest and easiest way to search and participate in Usenet - Free! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to translate a pci device physical address into CPU local address Date: Tue, 10 Aug 1999 09:45:31 +0200 From: "Geurt Vos" Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <003201bee304$67097540$95cb09c0@BertB> > >Hi Geurt, >Thanks. > >It would be really helpful for me if you can post some example code. > Your example is how to do it (or better, how it can be done), Although calculating the range is way easier. Consider the following example: unsigned long BaseAddr; unsigned long MemSize; int Type; int Temp; /* first read base address and memory type */ pciConfigInLong( Bus,Dev,Func,PCI_CFG_BASE_ADDRESS_0,&Temp); Type = (Temp & 0x01) ? IO_PORT : MEMORY_SPACE; BaseAddr = Temp & 0xfffffff0; /* calculate memory size */ pciConfigOutLong( Bus,Dev,Func,PCI_CFG_BASE_ADDRESS_0,0xffffffff); pciConfigInLong( Bus,Dev,Func,PCI_CFG_BASE_ADDRESS_0,(int *)&MemSize); if (Type == IO_PORT) MemSize &= 0xfffffffc; else MemSize &= 0xfffffff0; MemSize = ~MemSize + 1; /* restore the original BAR value */ pciConfigOutLong( Bus,Dev,Func,PCI_CFG_BASE_ADDRESS_0,Temp); When the value of MemSize after the bitwise AND reads e.g. 0xffffff00. Inverted (bitwise NOT) it will be 0xff. Add one and you have the memory size. You don't need to count zero-bits to get the range. Note that ~X + 1 == -X. So instead of: MemSize = ~MemSize + 1; you could also do: MemSize = -MemSize; Though using the first one may seem somewhat clearer. >Actually, i would like to know how to accesses the memory for any Pci >cards (memory Mapped) ( not necesserly Video card). > >Specifically What i would like to know is >1) do i have to allocate a pool of memory and then write that address >into BAR0_Address as a base address > No, the value read from the BAR *is* the memory address you can use. The memory you use is on the PCI board. It does not use the PC's internal memory. Writing a new value to the BAR will just map the memory on the PCI board to a new location. >or as I have done in following code is sufficent ( i am not allocating >any memory pool) >dwmemAddress = Base address read from Bar0_Address >dwUserBuffer[20]; >PDWORD *pdwTmp = (PDWORD*) dwUserBuffer; >idataBytes = 4; >while(idatabytes--) /* i am reading 16 bytes*/ >*pdwTmp++ = *dwmemAddress++; > This should be sufficient. - -Geurt- ~warnings are just like errors, only not~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Geurt Vos Junior Project Engineer Rohill Engineering Hoogeveen, The Netherlands ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Extended Operating System Loader http://come.to/geurt geurt@geocities.com ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to translate a pci device physical address into CPU local address Date: Mon, 09 Aug 1999 12:22:42 GMT From: Geurt Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7omh6b$a8c$1@nnrp1.deja.com> References: <7obq98$2ik$1@nnrp1.deja.com> <37AA6E1B.F67A075F@aracnet.com> <7oe47j$oh4$1@nnrp1.deja.com> The way of scanning the entire system seems OK. It will get you all PCI devices alright. And about VxWorks supporting PCI. It's ok. What is needed is there. It is pretty much the specification of the PCI BIOS (v2.1?) implemented. Additional functions aren't available, but also not really needed. Although some functions to simplify stuff, like what you are doing, would be nice. About the video card. The base address you read from the configuration registers is the base address of the linear frame buffer of the video card. I don't exactly know how you got it. I usually just use pciConfigInLong with as offset PCI_CFG_BASE_ADDRESS_x, defined in some PCI header file. If you want to use the address: char *Ptr; pciConfigInLong( Bus,Dev,Func,PCI_CFG_BASE_ADDRESS_0,&dwTemp); Ptr = (char *)dwTemp; However, you can't just use this address, although doing so should not make your application crash. The linear frame buffer is only accessible when the video card is in linear frame buffer mode (figures). At least nothing can be done in text mode. In normal SVGA graphics mode, maybe. It depends on what (Cirrus) card it is. And last, With PCI devices you usually want to know three things: * The base address (In this case 0xfe000000) * What is it (port or memory) * What is the size This can all be done, and if you like, I could post an code example. Hope this helps, - -Geurt- ~warnings are just like errors, only not~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Geurt Vos Junior Project Engineer Rohill Engineering Hoogeveen, The Netherlands ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Extended Operating System Loader http://come.to/geurt geurt@geocities.com ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In article <7oe47j$oh4$1@nnrp1.deja.com>, lingsiva@my-deja.com wrote: > Thanks a lot Scott, > > I would like to get some more clarification. > Yes i am using a Pentium Pc. > > I scan the entire pci Bus to detect the cards.. like.. > for (i=0;i< pci_max_bus;i++) > for(j=0;j for(k=0;k pciConfigInLong(i,j,k,offset, &dwTemp) > if(dwTemp & 0xffffffff) > break; > else > store the device id, vendor id, Bus no, slot no, > function no in a structure . > > One of the card detected was the cirrus video card with bus number 0, > slot number 18 and function number 0. > > Then using the Bus no, slot no and function i read BAR 0 thru BAR 5. > Value at BAR 0 = 0xfe000000 > value at Bar 1 = 0xfeffffff > > The rest does not have any values. > > After this i dont know how to access this address. i tried accessing > with out any translation. The program crashed. > > > Ideally, mapping of PCI addresses to local addresses requires no > > translation; > > rarely is it more difficult than adding a constant. > > I dont know how to get this constant, if any. Could you tell me how to > do this > > regards, > s.shiva > > > > > Sent via Deja.com http://www.deja.com/ > Share what you know. Learn what you don't. > Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- End of New-News digest ********************** From owner-vxwexplo-process Tue Aug 10 04:35:35 1999 From: dcn_trn18@hss.hns.com Date: Tue Aug 10 04:35:39 PDT 1999 Subject: Re: sub-millisecond task delays. Hi, Is there any options like curses in unix in Vxworks Regards Manohar From owner-vxwexplo-process Wed Aug 11 04:00:14 1999 From: daemon@csg.lbl.gov Date: Wed Aug 11 04:00:18 PDT 1999 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Wed Aug 11 04:00:08 PDT 1999 Subject: END driver question Subject: Re: Control of embedded DSPs over internet Subject: Re: PCMCIA ATA performance on MBX860 Subject: VxWorks' royalty price Subject: Q: When is unreachable code not unreachable? Subject: Re: Cnvtg to T2 (C++ exceptions) Subject: accessary product Subject: ___divdi3 Subject: Re: ___divdi3 Subject: Re: ___divdi3 Subject: Re: PCMCIA ATA performance on MBX860 Subject: Re: PCMCIA ATA performance on MBX860 Subject: Visigenics ORB for VxWorks Subject: Proxy arp client w/ end driver in T2 Subject: Re: vxwtask Subject: Re: PCMCIA ATA performance on MBX860 Subject: VME A24 Space Subject: sntpClockSet Subject: Re: PCMCIA ATA performance on MBX860 Subject: cacheDmaMalloc question Subject: address resolving question in END driver Subject: fp arithmetic on P III processors ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: END driver question Date: Tue, 10 Aug 1999 14:59:33 +0200 From: "Erez Bar-Tal" Organization: Internet Gold, ISRAEL Message-ID: <7op40i$mjt$1@news2.inter.net.il> Hi all I am wrting an END driver and have the following question I would like to allocate the receive buffer myself and not through the pool memory after receive occuer can i use netClBlkFree associated with my buffer and not free the actual buffer (i tried to call netClBlkJoin with NULL value at the buffer field but with no success) is the only solution in this situation is jsut copy the data ?? any help will be appreciate thanks Erez erezb@galileo.co.il --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Control of embedded DSPs over internet Date: Tue, 10 Aug 1999 13:17:37 GMT From: saustin_deja@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7op8p7$980$1@nnrp1.deja.com> References: <7om7cb$gv$1@ndsukns01.ndsuk.com> Your question is rather generic. Are you talking about deploying an embedded system with a DSP in it, then providing an interface for some program or users to control that application? If so, you could "grow your own" command/telemetry interface using a simple socket connection, this would certainly be much smaller than embedding an SNMP agent. Or does your application require adherence to open standards? In that case SNMP might be an option, but then you force the controller to include SNMP functionality. You could also extend the socket idea to using HTTP, HTML, cgi, etc. and other Internet protocols. In article <7om7cb$gv$1@ndsukns01.ndsuk.com>, "Jeremy Bennett" wrote: > Hi > > What techniques do people recommend for control of embedded DSPs over the > internet. I know about SMNP but are there any other methods ? > > Jeremy Bennett > NDS Ltd. > > Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.sys.powerpc.tech,comp.os.vxworks Subject: Re: PCMCIA ATA performance on MBX860 Date: Tue, 10 Aug 1999 17:12:07 +0200 From: Leonid Rosenboim Organization: BitBand Technologies Ltd. Message-ID: <37B04146.99DE0A4C@bitband.com> References: <37AEC660.6C51E4A8@endusis.com> Reply-To: leonid@bitband.com How about testing performance of the same Flash disk plugged into your mobile PC running windows? If you get similar performance, then that is it, or find yourself another Flash disk. If performance greatly differs, then of course you should blame the ATA driver and/or dosFs. This is one of the great advantages of ATA flash disks, that you can plug them into any PC and exchange files with the target this way. HTH, Leonid "Dr C. J. Pye" wrote: > I have a 520Mb Callunacard Type III ATA PCMCIA Card installed on > a Motorola 50MHz MBX860 board, formatted as a dosFs (vxWorks). > > What sort of write speed should I be seeing ??? > Anyone done anything remotely similar ? > > Writing ten 432kB files to the disk takes ~26 seconds ? > That's about 166kB/s transfer rate - surely the > MBX should achive more than this ?? > > Please reply also with email. > ------------------------------------------------------------------- > Dr. C. J. Pye Endusis Limited, The Innovation Centre, > Phone: 01946-816810 Westlakes Science & Technology Park, > Email: cjp@endusis.com Moor Row, Cumbria, CA24 3TP, United Kingdom --------------------------- Newsgroups: comp.os.vxworks Subject: VxWorks' royalty price Date: 10 Aug 1999 10:28:12 GMT From: "Peter LIU" Organization: HP MPG CMD R&D Message-ID: <01bee319$af14b510$f561460f@qdrd05> Hello, Who can give me some information about the royalty price of the embedded VxWorks? Say, the quantity each year is 5000. Thanx - -- PRICE --------------------------- Newsgroups: comp.os.vxworks Subject: Q: When is unreachable code not unreachable? Date: Tue, 10 Aug 1999 16:18:07 +0100 From: "Will Fookes" Organization: NDS UK Message-ID: <7opelh$l17$1@ndsukns01.ndsuk.com> Q: When is unreachable code not unreachable? A: When it isn't there! Due to a cut-and-paste error, a module I have been working with contained some code that looked like this: switch (inputValue) { case VALUE_1: break; /* this is the spurious line! */ { int temp; ... /* various meaningful statements */ ... } break; case..... etc., etc. Note the spurious break at the start of the case clause. Now, since I have told the compiler to give copious warnings (-Wall) I would have expected to be warned here about unreachable code. I only spotted the error when trying to set a breakpoint in the case clause from gdb (it set the breakpoint at the start of the next case). All of the code in the first case following the spurious break had been optimised away. I am compiling for the PPC860, using the following switches: ccppc -mcpu=860 -nostdinc -O -fvolatile -Wall -DCPU=PPC860 -ansi -gdwarf -c What must I do to get this to generate a warning? I can't see a specific -W option for turning it on, and I feel sure I've seen it in the past - though not from *my* code ;-) Will --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Cnvtg to T2 (C++ exceptions) Date: Tue, 10 Aug 1999 12:00:23 -0400 From: "Sohacki, Timothy [NCRTP:CX10:EXCH]" Organization: Nortel Networks Message-ID: <37B04C97.7DA0101B@americasm01.nt.com> References: <37AEF763.5594AB79@lmco.com> <37AF0D13.E25724BB@delphi.com> <934262700.26718@www.remarq.com> yuval_lorian wrote: > > > 1. If you work with C++ and you don't want the C++ > exception handling you must change all your calling to > 'new' in order to delete the implicit exception handling > (i.e. new(nothraw)). Yuval, What about compiling with -fno-exceptions instead of only using new(nothrow)? I assume that compiling with -fno-exceptions is a safe way to get you back to what you had in Tornado 1.0.1, at least with regard to exceptions. Cheers, Tim. - -- Tim Sohacki, Nortel Networks email: sohacki@nortelnetworks.com --------------------------- Newsgroups: comp.os.vxworks Subject: accessary product Date: Tue, 10 Aug 1999 13:31:16 -0400 From: Lei Sun Organization: University of Central Florida Message-ID: <37B061E4.1EE1@mmae.engr.ucf.edu> Hi: I want to use the Vx_works Run-Time Tools VxMP(for multi-processor support). I don't know if this component has been already installed or not,How can I know this. The same case for graphics support. Is that a seperate component that I need to install it or it's been embeded into vx-works already? How can I use them , they offer API ? thank you in advance! lei sun --------------------------- Newsgroups: comp.os.vxworks Subject: ___divdi3 Date: Tue, 10 Aug 1999 13:31:30 -0400 From: Douglas Fraser Organization: Lucent Technologies Message-ID: <37B061F2.DB89252@lucent.com> Okay, okay, where does THIS symbol originate from??? I just created a load image under the stock GNU tool chain provided with Tornado I, and when I.. ld < this_mess.o at the target shell, I get an undefined symbol ___divdi3 Sure enough, it is in my object. And sure enough, it is not in the vxWorks image that is running, although ___divdf3, ___divsf3, ___divsi3, ___udivsi3 (and others) are defined there. It is obviously emitted by the compiler given those triple under-bars, but I don't know why? I don't have a clue, and would appreciate any pointer in any direction that would send me looking in the right direction. Yikes! Thanks much, Doug PS: Thanks to several folks who responded to my cry for help on how to get around the failure of: cd over_there; make stuff with make -C over_there stuff Being from UNIX-land, that wasn't obvious, or the way my beloved Unix boxes have done it for years, but it worked. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: ___divdi3 Date: 10 Aug 1999 11:36:49 PDT From: jtc@jtc-home-pc.redback.com (J.T. Conklin) Organization: RedBack Networks, Inc. Message-ID: References: <37B061F2.DB89252@lucent.com> Douglas Fraser writes: > Okay, okay, where does THIS symbol originate from??? > > I just created a load image under the stock GNU tool chain > provided with Tornado I, and when I.. > > ld < this_mess.o > > at the target shell, I get an undefined symbol ___divdi3 __divdi3 is a helper function called by gcc for DI mode (long long) division. Most of these sort of helper functions are part of gcc's libgcc.a. libgcc.a is linked in automatically when using the gcc front end to do the final link, but if you use ld directly, you'll need to link it explicitly. Try using 'gcc --print-libgcc' to determine the path of the library. --jtc - -- J.T. Conklin RedBack Networks, Inc. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: ___divdi3 Date: Tue, 10 Aug 1999 15:05:46 -0400 From: Douglas Fraser Organization: Lucent Technologies Message-ID: <37B0780A.D6FB719C@lucent.com> References: <37B061F2.DB89252@lucent.com> Thanks J.T.! I tried to link the library, as you say below, to get the symbol resolved. Yes, we have 'long long' data in our code, so that is why it is there. The drawback is that I now have ALL the GNU symbols resolved in my '.o', not just that one renegade, so I have two copies hogging space on my target. I guess one possibility is to declare a 'long long' something in the base vxWorks image so that it gets linked there, then my object will be happy when it gets dynamically linked at run time. The other possible solution is to extract that one image from the library and link it in directly as a '.o'. I think I prefer the former over the latter. I am not a GNU guru by any stretch, even though I have been using these tools for about one and one-half years. Just curious, where did you find that little gem of information??? Again, thanks... Doug "J.T. Conklin" wrote: > > Douglas Fraser writes: > > Okay, okay, where does THIS symbol originate from??? > > > > I just created a load image under the stock GNU tool chain > > provided with Tornado I, and when I.. > > > > ld < this_mess.o > > > > at the target shell, I get an undefined symbol ___divdi3 > > __divdi3 is a helper function called by gcc for DI mode (long long) > division. Most of these sort of helper functions are part of gcc's > libgcc.a. libgcc.a is linked in automatically when using the gcc > front end to do the final link, but if you use ld directly, you'll > need to link it explicitly. Try using 'gcc --print-libgcc' to > determine the path of the library. > > --jtc > > -- > J.T. Conklin > RedBack Networks, Inc. --------------------------- Newsgroups: comp.sys.powerpc.tech,comp.os.vxworks Subject: Re: PCMCIA ATA performance on MBX860 Date: Tue, 10 Aug 1999 09:41:27 +0100 From: "Dr C. J. Pye" Organization: Endusis Limited Message-ID: <37AFE5B7.95FBD627@endusis.com> References: <37AEC660.6C51E4A8@endusis.com> Serge Blais wrote: > > We are using the same MBX board and were thinking about using > an ATA PCMCIA drive as well in a few months. > > The drive manufacturer may make a difference in terms of performance. > Can you try with another drive manufacturer? Yes .. will post when I've tried it. > Are you using a third party driver for your card services (Intoto for > example)? Intoto Inc., Yes. > There is some glue missing between the provided ATA driver and the > very simple PCMCIA driver that VxWorks provides. If you went that > route, how much effort was it? Didn't go this route. Sorry. --------------------------- Newsgroups: comp.sys.powerpc.tech,comp.os.vxworks Subject: Re: PCMCIA ATA performance on MBX860 Date: Tue, 10 Aug 1999 09:42:44 +0100 From: "Dr C. J. Pye" Organization: Endusis Limited Message-ID: <37AFE604.4590E459@endusis.com> References: <37AEC660.6C51E4A8@endusis.com> <37AF0BEC.D8EBA796@lucent.com> It is a Hard Disk Drive. Douglas Fraser wrote: > > I don't recall the exact numbers, but we used Toshiba > and SanDisk FLASH ATA on the MBX, and it was really slow > when we were writing files to either device. We had a > load image that was about 30MB, and you could take a nap > while it loaded up. (well, not that bad, but a -l-o-n-g- > time) > > Is this 520MB Callunacard a FLASH or Hard Disk Drive??? > > Read times were actually quite good. Of course, there is > no seek time on a FLASH drive. > > Doug - -- - ------------------------------------------------------------------- Dr. C. J. Pye Endusis Limited, The Innovation Centre, Phone: 01946-816810 Westlakes Science & Technology Park, Email: cjp@endusis.com Moor Row, Cumbria, CA24 3TP, United Kingdom --------------------------- Newsgroups: comp.os.vxworks Subject: Visigenics ORB for VxWorks Date: Tue, 10 Aug 1999 12:40:11 -0700 From: Vivekanand Kini Organization: Another Netscape News Server User Message-ID: <37B0801B.3581989F@ikonodyne.com> Has anybody used this product from Highlander communications ? Any suggestions / tips / reviews ? Are there any other ORBs for VxWorks ? Thanx Kini --------------------------- Newsgroups: comp.os.vxworks Subject: Proxy arp client w/ end driver in T2 Date: Tue, 10 Aug 1999 17:38:56 -0400 From: "Minbo Shim" Message-ID: vxWorks users: I've been really frustrated by the fact that I couldn't configure the proxy arp client w/ END in T2 that used to work in T1. A proxy arp server was installed and running on mv2700 without any problem, which means I have a SM subnet through which all clients are going to talk to. The problem was attempts for the clients (mv2400) to attach a network device for SM network were never succeeded. In T2, it seems to try to attach END device first by calling pEnd = endFindByName(bootDev, params.unitNum) which returned NULL. There have been some issues posted to vxWorks newsgroup regarding broken endFindbyName routine when multiple END drivers are attempted to attach to the same IP stack. But I am not sure this is also applicable to the SM network setup problem that I am facing. Anyway, after failing to attach END device to TCP/IP stack, boot sequence tried to attach a BSD 4.4 device. But in T2, usrNetIfAttach() is blocked by the inclusion INCLUDE_BSD that is NOT defined in bootConfig.c or configAll.h. So without any modification in bootConfig.c, I had the following boot printout, and got right back to the vxWorks boot prompt: boot device : sm=0x10004100 unit number : 0 processor number : 1 host name : vmaster file name : /home/kernel/mv2400/vxWorks_sm host inet (h) : 198.136.134.201 user (u) : vxworks ftp password (pw) : password flags (f) : 0x180 target name (tn) : msam3 Backplane anchor at 0x10004100... Can't load boot file!! However, trying to use 4.4 BSD device by defining INCLUDE_BSD didn't solve our problem although it attached sm0, but failed in proxyReg() with the following error messegs: Backplane anchor at 0x10004100... Attaching network interface sm0... done. registering proxy client: 198.136.134.202.....client registered failed 4c0006 Can't load boot file!! The following is the printout of the boot on the server side: boot device : scsi=2,0 unit number : 0 processor number : 0 host name : lion file name : /home/kernel/mv2700/vxWorks_sm inet on ethernet (e) : 198.136.134.201:ffffff00 host inet (h) : 198.136.134.6 user (u) : vxworks flags (f) : 0x108 target name (tn) : vmaster startup script (s) : /home/vxworks/vxinit other (o) : dc Attaching to scsi device... done. Loading /home/kernel/mv2700/vxWorks_sm...1574476 Starting at 0x100000... Auto-configuring SCSI bus... ID LUN VendorID ProductID Rev. Type Blocks BlkSize pScsiPhysDev -- --- -------- ---------------- ---- ---- -------- ------- ------------ 2 0 ADTRON SDV6 N19013 SDV6 2f01 0 38057040 512 0x037f4788 ==> SCSI boot disk [/home] attached. Attached TCP/IP interface to dc unit 0 Attaching interface lo0...done Initializing backplane net with anchor at 0x4100... done. Backplane anchor at 0x4100... Attaching network interface sm0... done. Error setting inet address of sm0 to 198.136.134.202, errno = 0x11 Creating proxy network: 198.136.134.202 Loading symbol table from /home/kernel/mv2700/vxWorks_sm.sym ...done I checked the SM heartbeat by looking at the fifth 4-byte from the anchor at 0x4100 on the server and at 0x10004100 on the clients, and verified that it's alive. Do you have any clue or suggestion about this problem? Thank you for your help in advance. Minbo Shim RST --------------------------- Newsgroups: comp.os.vxworks Subject: Re: vxwtask Date: Tue, 10 Aug 1999 14:32:12 -0700 From: Eric Flynn Organization: Hewlett Packard Cupertino Site Message-ID: <37B09A5C.B372FABB@wwg2.sid.hp.com> References: <6qm4ri$l71$1@news.flashnet.it> Reply-To: eflynn@wwg2.sid.hp.com Stefano, Write a class with a static function and some static data members. Use the static function as the entry point for taskSpawn, and the static data member for the other argument to taskSpawn. Something like: class SpawnClass { static int args[10]; static int taskEntry( int ); static int stackSize; SpawnClass(); }; int SpawnClass::args[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int SpawnClass::stackSize = 4096; SpawnClass::SpawnClass( ) { int td; td = taskSpawn( "tSpawnClass", 127, VX_FP_TASK, SpawnClass::stackSize, SpawnClass::taskEntry, SpawnClass::args[0],SpawnClass::args[1],SpawnClass::args[2], SpawnClass::args[3], SpawnClass::args[4],SpawnClass::args[5],SpawnClass::args[6].... you get the idea... ); } int SpawnClass::taskEntry ( int arg0, int arg1, arg2, ...and so on... ) { } The most important thing to note about the above is that the member functions and class members referenced are STATIC. Hope this helps, Eric Stefano Marini wrote: > How a class can in the constructor spawn its function (loop forever) using > the vxwtask class of wind fundation classes? > How this function can operate using attributes and methods of class itself > without generate a page fault? --------------------------- Newsgroups: comp.sys.powerpc.tech,comp.os.vxworks Subject: Re: PCMCIA ATA performance on MBX860 Date: Tue, 10 Aug 1999 22:43:52 GMT From: "Serge Blais" Organization: MetroNet Communications Group Inc. Message-ID: References: <37AEC660.6C51E4A8@endusis.com> <37B04146.99DE0A4C@bitband.com> Reply-To: "Serge Blais" Leonid Rosenboim wrote in message news:37B04146.99DE0A4C@bitband.com... [snip] > This is one of the great advantages of ATA flash disks, that you can > plug them into > any PC and exchange files with the target this way. > > HTH, > Leonid I am wondering if the file structure will still be valid. I expect we have to perform endian conversion for the file contents but is the file structure still valid when the same drive is being used on an Intel PC and a Power PC architecture? I vaguely remember someone saying that you can't share the same drive between the 2 architecture. You have to reformat the drive for each... Serge. --------------------------- Newsgroups: comp.os.vxworks Subject: VME A24 Space Date: Tue, 10 Aug 1999 23:53:16 GMT From: Ken Ostaszewski Organization: Boeing, Inc. Message-ID: <37B0BB6B.F0D4AA6F@boeing.com> Sender: nntp@news.boeing.com (Boeing NNTP News Access) Hi, I was wondering if anyone has had a problem accessing VME A24 space on a MV2604 processor. I am using BSP revision /4. Its as if it not visible to the processor. Ken Ostaszewski --------------------------- Newsgroups: comp.os.vxworks Subject: sntpClockSet Date: Wed, 11 Aug 1999 06:55:23 GMT From: nogap@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7or6oo$mqi$1@nnrp1.deja.com> Can anybody provide me an example of the hook routine that shall be provided to the sntpClockSet(FUNCPTR) routine of VxWorks ? Thanks Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PCMCIA ATA performance on MBX860 Date: Wed, 11 Aug 1999 10:04:06 +0200 From: Dirk Weber Organization: T-Online Message-ID: <37B12E76.BA01F381@t-online.de> References: <37AEC660.6C51E4A8@endusis.com> <37B04146.99DE0A4C@bitband.com> Reply-To: dirk@ramix.com Serge, the magic is within the PCMCIA disk driver. On any platform, that includes the PPC, the driver has to take care of the necessary swapping if it claims to support dosFs. If so, AND (!!) is the disk driver is aware of the partition table and if it handles its information correctly: You can mount a PC-written file system on a PPC/Vx without problems! The data will be correct as long as you are dealing with stream like data files (like text, e.t.a..). I think that FAT16 might be an issue with older Vx system, but I'm not sure about this: Better don't use 'long' filenames. You might run into problems if you initialize a disk with DosMkFs() which might cause a x86 PC to no longer detect the file system correctly. Usually a 'fresh' disk has got a proper layout for DOS and dosFs/Vx with a 'good' driver... Dirk Weber Leonid Rosenboim wrote in message > news:37B04146.99DE0A4C@bitband.com... > [snip] > > > This is one of the great advantages of ATA flash disks, that you can > > plug them into > > any PC and exchange files with the target this way. > > > > HTH, > > Leonid > > I am wondering if the file structure will still be valid. > I expect we have to perform endian conversion for the file contents but > is the file structure still valid when the same drive is being used on an > Intel PC and a Power PC architecture? > > I vaguely remember someone saying that you can't share the same drive > between the 2 architecture. You have to reformat the drive for each... > > Serge. --------------------------- Newsgroups: comp.os.vxworks Subject: cacheDmaMalloc question Date: Wed, 11 Aug 1999 11:29:40 +0200 From: "Erez Bar-Tal" Organization: Internet Gold, ISRAEL Message-ID: <7orc34$nbr$1@news2.inter.net.il> Hi all I am writing an END driver and facing the followong problem. My NIC has its own DMA therefor I have to allocate non-cache buffer for it, I am doing it using cacheDmaMalloc. My problem is when the mux calls my send function and passes the data I have notice that the data resedent in a cache area (address stating with 0x8...) even though I have initialize the cluster pool memory with cacheDmaMalloc. Right now i am coping the data to another preallocated buffer with cacheDmaMalloc but its taking a lot of runnig time. can I force the system to supply me a non-chache buffer for sending ? Any help will be appriciated Thanks Erez bar-tal1@inter.net.il --------------------------- Newsgroups: comp.os.vxworks Subject: address resolving question in END driver Date: Wed, 11 Aug 1999 13:41:27 +0800 From: "Wang Jian" Organization: Alcatel Message-ID: <37b10edb.0@dnews.sbell.com.cn> Hi, VxWorkers I'm new in SENS programming. Because I use HDLC bus rather than Ethernet as data link layer, I cannot use ARP and must implement interfaces endAddressForm(), endPacketDataGet() and endPacketAddrGet(). But there are no detailed descriptions about implementation of these interfaces. Does anyone know of it or give me example? Thanks, Wang Jian --------------------------- Newsgroups: comp.os.vxworks Subject: fp arithmetic on P III processors Date: Wed, 11 Aug 1999 18:49:57 +0900 From: "Yoonsik Cheon" Organization: KREONet news service Message-ID: <7orhca$97p$1@usenet.kreonet.re.kr> Hi, I had this bizarre experience. We have been porting an MPEG video decoder to vxworks on x86 targets. The porting itself was pretty straightforward, but we couldn't get the performance we want. So, we switched the target CPU from Pentium 166MMX to Pentium III 450. The result? Well, the same code runs two times slower! Quite surprised, I wrote a couple of c code: one for integer arithmetic and the other for floating-point arithmetic, and did timing on several x86 CPUs available in my lab. The following is a quick summary of the result that I got. (Just in case, I am using VxWorks 5.3.1 with Tornado I.) CPUs fp arithmetic integer arithmetic - ---------------------------------------- PIII 450 23.516 sec 6.666 sec PII 200 25.xxx sec 8.xxx sec P 166mmx 17.xxx sec 12.xxx sec Am I missing something here? Any hints on what's going on here or what am I doing wrong? Since I used the same boot disk and vxworks image, I don't think it is possible that the H/W floating-point is enabled in one run and disabled in another. (BTW, I am not quite sure how to turn on and off the h/w fp capability. I did play with the tornado 486 BSP configuration tool and header files, but couldn't get it right, i.e., couldn;t see much difference. Any direction here will be also appreciated.) BTW, has anyone out there ported or been porting an MPEG video decoder to vxworks? Thanks. Yoonsik Cheon, cheon@etri.re.kr --------------------------- End of New-News digest ********************** From owner-vxwexplo-process Wed Aug 11 09:19:18 1999 From: David Laight Date: Wed Aug 11 09:19:22 PDT 1999 Subject: Some END answers Erez asked two questions.... 1) receive buffers. You should be able to use your own memory area for receive buffers. I certainly had to create a separate pool for recieve frames. (xxx_end.pNetPool has to point to a buffer pool created by the driver.) Although a driver would (probably) malloc() this area, there is no reason why it shouldn't be allocated by some other means. Remember that there is a four byte overhead on each buffer - which you must allow for, also either the mBlk or cBlk needs 4 extra bytes. 2) Transmit buffers. Transmit data normally comes from one of the two system pools (probably _pNetDpool, but possibly _pNetSysPool). However I don't think this is guaranteed - eg data from an application using the zbuf API. Actually the performance hit of doing a data copy in the transmit (and even receive) path may not be as high as you might expect! Firstly ensure you align the bulk of any data copied. For receive frames align the buffer on a 4n+2 boundary so that the IP header of receive frames is aligned (when copied to the user buffer). For transmit frames align the start of the frame so that the copy of the largest fragment is aligned. I don't know the rule for vxWorks, for Unix SVR4 (and our comms stacks) the second data buffer could be assumed to be the long one. If you transmit from the users buffer you must handle some foul fragmentations - eg 1500 1-byte fragments. Receiving into fixed buffers has the advantage that you can allocate a buffer just big enough for the frame in question - instead of sending 1 byte of rlogin data to the user in 2k of memory. (Although I failed to see how to do this with a vxworks END driver...) It appears that you have a bus-mastering ethernet card and a board that doesn't support cache snooping. Disabling the cache on your ethernet buffers may give you a serious performance hit. Every access to the buffer will be uncached - wheras if you copy receive frames from the uncached memory to a cached buffer each uncached location will be read only once - and with word reads. For writes the situation is probably worse. An alternative to using uncached memory is to cache line align the recieve buffers and use explicit cache flush (transmit) and cache invalidate (receive) requests on the buffer areas as they go to/from that ethernet chip. (I've never tried this...) With care this ought to work well! If you do want to transmit for the users buffer, I would suggest copying small fragments and transmitting large ones by reference. This at least gives a bound on the number of fragments in a packet. You can use a cyclic buffer for buffering transmits - don't use a buffer free list, the buffer management code complexity can exceed any gains! David ---------------------------------------------------------------- David Laight email: dsl@tadpole.co.uk Tadpole Technology plc phone: +44 1223 278 256 Cambridge, UK fax: +44 1223 278 201 From owner-vxwexplo-process Thu Aug 12 04:00:12 1999 From: daemon@csg.lbl.gov Date: Thu Aug 12 04:00:17 PDT 1999 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Thu Aug 12 04:00:08 PDT 1999 Subject: Help with building vxWorks.st_rom Subject: Add a *.o file in a project Subject: Scandisk/Chkdsk - executable or source Subject: VME Interrupts Subject: Re: Scandisk/Chkdsk - executable or source Subject: Re: Q: When is unreachable code not unreachable? Subject: question: how do I get a link map? Subject: BSP specification Subject: Iomega Zip Drives MV162 Subject: WORK FROM HOME OPPORTUNITY Subject: Tornado II/WindSh question Subject: Unix Classes to Read Databases Subject: Re: Q: When is unreachable code not unreachable? Subject: Re: ___divdi3 Subject: Re: Tornado II/WindSh question Subject: Memory leaks detection in VxWorks Subject: Puzzling stuff that happens Subject: Re: Add a *.o file in a project Subject: Re: Cnvtg to T2 (C++ exceptions) Subject: Re: Memory leaks detection in VxWorks Subject: Re: fp arithmetic on P III processors Subject: Re: Scandisk/Chkdsk - executable or source ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Help with building vxWorks.st_rom Date: Wed, 11 Aug 1999 09:20:17 -0400 From: "David P. Floyd" Organization: Dynacs Engineering Company, Inc. Message-ID: <37B17891.6AC47632@orion.ksc.nasa.gov> Platform information: VxWorks Tornado 1.0.1 CPU: PPC MVME2604 I am attempting to build a rommable standalone VxWorks image that includes a linked in symbol table. However, I get the following errors when it nears completion: (lots of stuff deleted...) VX_CPU_FAMILY=ppc /opt2/users/dpf/vwt101/host/sun4-solaris2/bin/elfToBin < tmp.2 | VX_CPU_FAMILY=ppc /opt2/users/dpf/vwt101/host/sun4-solaris2/bin/deflate >tmp.Z Deflation: 68.26% VX_CPU_FAMILY=ppc /opt2/users/dpf/vwt101/host/sun4-solaris2/bin/binToAsm tmp.Z > vxWorks.st.Z.s ccppc -B/opt2/users/dpf/vwt101/host/sun4-solaris2/lib/gcc-lib/ - -mstrict-align -mlongcall -ansi -nostdinc -O2 -fvolatile -fno-builtin - -fno-for-scope -I/h -I. -I/opt2/users/dpf/vwt101/target/config/all - -I/opt2/users/dpf/vwt101/target/h - -I/opt2/users/dpf/vwt101/target/src/config - -I/opt2/users/dpf/vwt101/target/src/drv -DCPU=PPC604 -DMV2600 - -DTARGET_DIR="\"mv2604\"" -P -x assembler-with-cpp -c -o vxWorks.st.Z.o vxWorks.st.Z.s ccppc -B/opt2/users/dpf/vwt101/host/sun4-solaris2/lib/gcc-lib/ -c - -mstrict-align -mlongcall -ansi -nostdinc -O2 -fvolatile -fno-builtin - -fno-for-scope -Wall -I/h -I. - -I/opt2/users/dpf/vwt101/target/config/all - -I/opt2/users/dpf/vwt101/target/h - -I/opt2/users/dpf/vwt101/target/src/config - -I/opt2/users/dpf/vwt101/target/src/drv -DCPU=PPC604 -DMV2600 - -DTARGET_DIR="\"mv2604\"" -o version.o /opt2/users/dpf/vwt101/target/config/all/version.c ldppc -X -N -e _romInit -Ttext 00300000 \ -o vxWorks.st_rom romInit.o bootInit_st.o version.o \ /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvc.o /opt2/users/dpf/work/hgds2000/vme/lib/vmeLib.o /opt2/users/dpf/work/hgds2000/vme/rga/rga.o /opt2/users/dpf/work/hgds2000/vme/sds/sds.o /opt2/users/dpf/work/hgds2000/vme/router/router.o /opt2/users/dpf/work/hgds2000/vme/granphil/granphil.o /opt2/users/dpf/work/hgds2000/vme/turbo/turbo.o /opt2/users/dpf/work/hgds2000/vme/irig/irig.o /opt2/users/dpf/work/hgds2000/vme/net/net.o /opt2/users/dpf/work/hgds2000/vme/mks/mks.o /opt2/users/dpf/work/hgds2000/vme/analog/analog.o /opt2/users/dpf/work/hgds2000/vme/compro/compro.o /opt2/users/dpf/vwt101/target/lib/libPPC604gnuvx.a vxWorks.st.Z.o /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvc.o: In function `mvcHrdInit': /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:462: undefined reference to `sysBusToLocalAdrs' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:462: undefined reference to `sysBusToLocalAdrs' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:582: undefined reference to `sysLocalToBusAdrs' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:582: undefined reference to `sysLocalToBusAdrs' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:724: undefined reference to `sysIntEnable' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:724: undefined reference to `sysIntEnable' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvc.o: In function `mvcRead': /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:787: undefined reference to `sysLocalToBusAdrs' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:787: undefined reference to `sysLocalToBusAdrs' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvc.o: In function `mvcWrite': /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:835: undefined reference to `sysLocalToBusAdrs' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:835: undefined reference to `sysLocalToBusAdrs' make: *** [vxWorks.st_rom] Error 1 These undefined references are from my user application code. I followed "WTN#43: Starting User Applications" and placed the following in "all/usrConfig.c": (...) #else #if defined(INCLUDE_DEMO) /* create demo w/o shell */ taskSpawn ("demo", 20, 0, 2000, (FUNCPTR)usrDemo, 0,0,0,0,0,0,0,0,0,0); #endif /* mips cpp no elif */ #endif /* INCLUDE_SHELL */ /********************************************************************** * Make call to add Macrolink Serial Devices *********************************************************************/ mvcInit(); #if defined(INCLUDE_JAVA) javaConfig (); #endif /* INCLUDE_JAVA */ #ifdef INCLUDE_USER_APPL /* Startup my user application */ USER_APPL_INIT; /* must be a valid C statement or block */ #endif } The "mvcInit()" is a third-party driver that creates serial devices that will be used in my user application. In the Makefile for my BSP, I included my user application modules in the LIB_EXTRA variable of the Makefile, just as WTN #43 states as the preferred method. This all works great when I create a VxWorks image that boots from the network. However, I want/need to be able to store this image in flash and not be dependent on the network. Can anyone help? Thanks. - -- David P. Floyd david.floyd@ksc.nasa.gov --------------------------- Newsgroups: comp.os.vxworks Subject: Add a *.o file in a project Date: Wed, 11 Aug 1999 15:43:12 +0200 From: Gilles Bannay Organization: GESPAC Message-ID: <37B17DF0.194B3132@gespac.ch> Hi, I use TornadoII and I'd like to add a *.o object file (a subroutine compiled with another TornadoII host) in my vxWorks image project. When I use the 'Add files...' menu, the *.o is ignored ! Is there a solution ? Thank you Gilles. --------------------------- Newsgroups: comp.os.vxworks Subject: Scandisk/Chkdsk - executable or source Date: Wed, 11 Aug 1999 15:47:51 +0200 From: Torsten Rupp Organization: University of Karlsruhe Message-ID: <37B17F07.41C67EA6@fzi.de> Hello, I'm looking for a program like the DOS scandisk or chkdsk running under VxWorks 5.3 which is able to detect and repair errors on a FAT16 volume. Is there some company selling such a program or is there a sourcecode available which could be ported to VxWorks? Thank you for any help. Torsten Rupp - -- Computer Science Research Center (FZI) phone : +49-721-9654-330 Mobility Management and Robotics fax : +49-721-9654-309 Haid-und-Neu-Str. 10-14 e-mail: rupp@fzi.de D-76131 Karlsruhe (Germany) www : www.fzi.de/robot --------------------------- Newsgroups: comp.os.vxworks Subject: VME Interrupts Date: Wed, 11 Aug 1999 15:15:24 -0700 From: Organization: home Message-ID: <934381046.10573.0.nnrp-09.c2de3798@news.demon.co.uk> Hi, I am looking for some information or example code to handle VME interrupts. The SBC I am using is a Motorola MV2603 and we are using an in house card. Cheers Gary Coutts --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Scandisk/Chkdsk - executable or source Date: 11 Aug 1999 08:29:40 -0700 From: cjensen@idiom.com (Colin Jensen) Organization: Unknown Message-ID: <7os4t4$hoo$1@idiom.com> References: <37B17F07.41C67EA6@fzi.de> In article <37B17F07.41C67EA6@fzi.de>, Torsten Rupp wrote: >I'm looking for a program like the DOS scandisk or chkdsk running under >VxWorks 5.3 which is able to detect and repair errors on a FAT16 >volume. Wind River has one. It used to be sold by a different company (whose name I forget) that was aquired a year or two ago by Wind River. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Q: When is unreachable code not unreachable? Date: Wed, 11 Aug 1999 16:36:39 GMT From: gessau@cisco.com (Henry Gessau) Organization: Ye 'Ol Disorganized NNTPCache groupie Message-ID: <37b1a65b.96906023@news.cisco.com> References: <7opelh$l17$1@ndsukns01.ndsuk.com> Get Lint: http://www.gimpel.com On Tue, 10 Aug 1999 16:18:07 +0100, "Will Fookes" wrote: >Q: When is unreachable code not unreachable? >A: When it isn't there! > >Due to a cut-and-paste error, a module I have been working with contained >some code that looked like this: > >switch (inputValue) >{ >case VALUE_1: > break; /* this is the spurious line! */ > { > int temp; > ... > /* various meaningful statements */ > ... > } > break; > >case..... > etc., etc. > >Note the spurious break at the start of the case clause. Now, since I have >told the compiler to give copious warnings (-Wall) I would have expected to >be warned here about unreachable code. > >I only spotted the error when trying to set a breakpoint in the case clause >from gdb (it set the breakpoint at the start of the next case). All of the >code in the first case following the spurious break had been optimised away. > >I am compiling for the PPC860, using the following switches: > >ccppc -mcpu=860 -nostdinc -O -fvolatile -Wall -DCPU=PPC860 -ansi -gdwarf -c > >What must I do to get this to generate a warning? I can't see a specific -W >option for turning it on, and I feel sure I've seen it in the past - though >not from *my* code ;-) > >Will > > > - -- Henry --------------------------- Newsgroups: comp.os.vxworks Subject: question: how do I get a link map? Date: Wed, 11 Aug 1999 11:22:07 -0600 From: "Keith Kmichik" Organization: Verio Message-ID: <0pis3.113$Wo1.5403@nuq-read.news.verio.net> I've just started using tornado 2.0. When using project, how can I get a link map? Thanks Keith Kmichik --------------------------- Newsgroups: comp.os.vxworks Subject: BSP specification Date: Wed, 11 Aug 1999 17:54:47 GMT From: "news" Organization: Tektronix NewsReader Service Message-ID: Where is the BSP specification for Tornado 2.0? Is there a book talking about this? Thanks. --------------------------- Newsgroups: comp.os.vxworks Subject: Iomega Zip Drives MV162 Date: Wed, 11 Aug 1999 11:15:53 -0700 From: "rs" Organization: EarthLink Network, Inc. Message-ID: <7osemb$dt1$1@oak.prod.itd.earthlink.net> For those wondering about Zip Drives under VxWorks - Here is a solution /* * IOMEGA ZIP DRIVE CONFIGURATION * * The Iomega Zip Drive works just like a hard disk except it is removable * It does not however respond with Pages 5 and 6. Also it does not save pages. * If the reqSenseLength is not set to 36 (DEFAULT_INQUIRY_DATA_LENGTH) the * SCSI bus will Hang. Zip Drives are Async and will not work in sync mode. * * When setting up dosFs start on block 0x20 so that the dosFsDevInit can read * the file allocation table off of the diskette. */ /* Internal SCSI ID is 2*/ scsiId = 2; /* Tell scsiTargetOptionsSet that we need to change the XFER_PARAMS*/ which = SCSI_SET_OPT_XFER_PARAMS; /* Set the Sunc options to Async operation */ options.maxOffset = SCSI_SYNC_XFER_ASYNC_OFFSET; options.minPeriod = SCSI_SYNC_XFER_ASYNC_PERIOD; /* Send Options to the SCSI Controller */ if (scsiTargetOptionsSet (pSysScsiCtrl, scsiId, &options, which) == ERROR) { printf ("Could not set target option parameters\n"); } /* create SCSI physical device*/ if ((pSpd40 = scsiPhysDevCreate (pSysScsiCtrl, scsiId, 0,36,0,1,0,0)) == NULL) { printErr ("scsiPhysDevCreate failed.\n"); return (ERROR); } /* Create Block Device - start at block 0x20 to save for FAT*/ if ((pSbd0 = scsiBlkDevCreate (pSpd40, 0, 0x20)) == NULL) { printErr ("scsiBlkDevCreate failed.\n"); return (ERROR); } /* Init dosFs File system and nave the device ZIP0:*/ if ((dosFsDevInit("ZIP0:", pSbd0, NULL) == NULL) ) { printf("dosFsDevInit Unable to initialize Dos File System\n"); return (ERROR); } --------------------------- Newsgroups: comp.os.ms-windows.programmer.graphics,comp.os.ms-windows.programmer.multimedia,comp.os.ms-windows.programmer.nt.kernel-mode,comp.os.ms-windows.programmer.vxd,comp.os.ms-windows.video,comp.os.vxworks Subject: WORK FROM HOME OPPORTUNITY Date: Wed, 11 Aug 1999 14:43:51 -0400 From: Brian Jaeger Organization: Tennen Personnel Services Message-ID: <37B1C467.B1461FBB@tennenjobs.com> I have an immediate position opening with my client for an DEVICE DRIVER DEVELOPER. You can work from your own home. This is an exceptional opportunity. If you have experience writing communication device drivers in VX WORKS then you should contact me immediately so I can tell you more about this position. You have nothing to loose and everything to gain. My client is a well established very respected company in the industry. This is a full time position, with lots of work and complete company benefits. I will be more than happy to give you details, if you contact me. Also, if you have experience in writing windows PC AUDIO DEVICE DRIVERS or DISPLAY DRIVERS, I have similar positions available as well. Don't be shy! Contact me. All information and correspondence will be kept strictly confidential. ============================== Contact me for more details. Mailto:Brianj@tennenjobs.com ============================== --------------------------- Newsgroups: comp.os.vxworks Subject: Tornado II/WindSh question Date: Wed, 11 Aug 1999 20:30:44 GMT From: elzorro@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7osmhl$pho$1@nnrp1.deja.com> I have a possibly naive question about WindSh and Tornado 2.0. How can I change the default working directory that is used whenever I start WindSh? I've tried everything I could think of, and I'm getting bupkis. If this info is in the manuals, then I'm sure not looking in the right place. Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Unix Classes to Read Databases Date: Tue, 10 Aug 1999 10:49:29 -0400 From: "David R. Kuechenmeister" Organization: Georgia Institute of Technology, Atlanta GA, USA Message-ID: <100819991049299082%David.Kuechenmeister@gtri.gatech.edu> Reply-To: David.Kuechenmeister@gtri.gatech.edu I have found a need to have my vxWorks application read an Access database on a Windows NT fileserver. There seem to be plenty of classes available for Visual C++ that make it easy to read any standard database format, ie, DBase, Access, etc. Does anyone know of any Unix classes that simplify reading standard databases? Thanks, - -- - -- David R. Kuechenmeister Aerospace, Transportation and Advanced Systems Laboratory Georgia Tech Research Institute Atlanta,GA 30332-0853 mailto:David.Kuechenmeister@gtri.gatech.edu Voice: (770)528-7738 --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Q: When is unreachable code not unreachable? Date: Wed, 11 Aug 1999 16:22:05 -0500 From: Mike Beede Organization: Ciprico Inc. Message-ID: <37B1E97D.842AD737@ciprico.com> References: <7opelh$l17$1@ndsukns01.ndsuk.com> Somewhat non-intuitively, the "-Wall" flag to gcc really doesn't give full warnings. > These are all the options which pertain to usage that we > recommend avoiding and that we believe is easy to avoid, even in > conjunction with macros. There are a bunch of interesting warnings you might want to turn on explictly. I usually use - -Wall -Wshadow -Wpointer-arith -Wbad-function-cast\ -Wredundant-decls -Wnested-externs -Winline \ -Woverloaded-virtual -Wno-unused but YMMV. The "unreachable code" warning has been explicitly omitted by the gcc developers, because they think it would result in a lot of unnecessary warnings for machine-generated code. I don't agree, but that's life.... Mike --------------------------- Newsgroups: comp.os.vxworks Subject: Re: ___divdi3 Date: Wed, 11 Aug 1999 16:33:34 -0500 From: Mike Beede Organization: Ciprico Inc. Message-ID: <37B1EC2E.A3318369@ciprico.com> References: <37B061F2.DB89252@lucent.com> Douglas Fraser wrote: > > Okay, okay, where does THIS symbol originate from??? > > I just created a load image under the stock GNU tool chain > provided with Tornado I, and when I.. > > [....] I see that jtc answered the question about that ___divdi3 does. That's lucky, since I didn't know.... I _do_ know that the i960 version of Tornado 1.0.1 doesn't handle long long correctly. I have a mail message from me to someone wherein I state the the 1.0.1 documentation says long long isn't supported, though I can't cite a location at this late date. What happens is that the right amount of space is allocated, but flat out incorrect code is frequently emitted. I didn't investigate much, but even long long *a,*b; ... *a = *b; didn't compile right on the i960, and that seems like kind of a no-brainer. I have no idea if Tornado 2 fixed the problem. Mike --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado II/WindSh question Date: Wed, 11 Aug 1999 16:40:10 -0500 From: Mike Beede Organization: Ciprico Inc. Message-ID: <37B1EDBA.2D74C6DB@ciprico.com> References: <7osmhl$pho$1@nnrp1.deja.com> elzorro@my-deja.com wrote: > > I have a possibly naive question about WindSh and Tornado 2.0. > How can I change the default working directory that is used > whenever I start WindSh? I've tried everything I could think > of, and I'm getting bupkis. If this info is in the manuals, > then I'm sure not looking in the right place. First of all, the tcl init file ".wind/windsh.tcl" that the docs say is searched for -- isn't. The only part that is correct is that if you have HOME set, it will look in there for it. So, make sure (I'm assuming you're running on NT, by the way--I assume the UNIX version is similar) that HOME is set to something like "C:\". Then create a file called "windsh.tcl" in that directory with the line cd "whatever directory" That should do it, based on my experiments. Mike --------------------------- Newsgroups: comp.os.vxworks Subject: Memory leaks detection in VxWorks Date: Wed, 11 Aug 1999 17:49:07 -0400 From: Dheerendra Talur Organization: FORE Systems, Inc. Message-ID: Hello all! Does anyone know of a good tool to detect memory leaks on a target running VxWorks? Thanks, Dheerendra --------------------------- Newsgroups: comp.os.vxworks Subject: Puzzling stuff that happens Date: Wed, 11 Aug 1999 16:31:28 -0700 From: Lukas Piesik Organization: Porter Engineering Ltd. Message-ID: <37B207D0.DFDBC577@portereng.com> I've got this pointer "pLpsParms" that seems to get momentarrily corrupted once in a while. Watchpoints do not seem to be supported with the debugger that I've got, so I tried to implement my own watch point using the following task: void watchTask(void) { FOREVER { int intLevel; int headIx; taskLock(); intLevel = intLock(); for( headIx = 0; headIx < 4; headIx++ ) { if( NVR->con.lpsData.headData[headIx].pLpsParms == 0xffffffff ) { logMsg( "!!! headIx: %d, pLpsParms: %lx", headIx, NVR->con.lpsData.headData[headIx].pLpsParms, 0, 0, 0, 0 ); intUnlock( intLevel ); taskUnlock(); while(TRUE) ; /* hog the CPU */ } } intUnlock( intLevel ); taskUnlock(); taskDelay( 200 ); } } void spw(void) { taskSpawn( "twatch", 60, STD_TASK_OPTIONS, 10000, (FUNCPTR)watchTask, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ); } I called spw from the vxWorks 5.3.1 target shell and after a while I obtained the following message: ÿ15:53 #0 13aaee0 (twatch): !!! headIx: 3, pLpsParms: 13b8000 The logMsg shows pLpsParms to be 13b8000 immediately after the ( pLpsParms == 0xffffffff ) condition succeeded. Umm, what is the deal with that? - - LP P.S. I'm using a single Power PC processor. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Add a *.o file in a project Date: Thu, 12 Aug 1999 07:18:29 +0200 From: "Christian Doppelbauer" Organization: VBS-Newsserver Message-ID: <934435139.848033@news.vbs.at> References: <37B17DF0.194B3132@gespac.ch> In your workspace - - select the build tab - - select the build properties - - select the macros page - - add your .o files in the EXTRA_MODULES section Gilles Bannay wrote in message news:37B17DF0.194B3132@gespac.ch... > Hi, > > I use TornadoII and I'd like to add a *.o object file > (a subroutine compiled with another TornadoII host) > in my vxWorks image project. > When I use the 'Add files...' menu, the *.o is ignored ! > Is there a solution ? > > Thank you > Gilles. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Cnvtg to T2 (C++ exceptions) Date: Wed, 11 Aug 1999 21:58:37 -0800 From: yuval_lorian Organization: http://www.remarq.com: The World's Usenet/Discussions Start Here Message-ID: <934437521.23340@www.remarq.com> References: <37AEF763.5594AB79@lmco.com> <37AF0D13.E25724BB@delphi.com> <934262700.26718@www.remarq.com> <37B04C97.7DA0101B@americasm01.nt.com> Hi, I was looking for this option, too. But, as far as i ckeck, there isn't such an option in the GNU compiler, at least according to the GNU Tookit User's Guide, Tornado 2.0 Edition 1 (Using GNU CC for version 2.7.2, section 2 "GNU CC Command Options"). I'll glad to here that i missed it or that it is undocumented feature. Regards, Yuval. * Sent from RemarQ http://www.remarq.com The Internet's Discussion Network * The fastest and easiest way to search and participate in Usenet - Free! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Memory leaks detection in VxWorks Date: Wed, 11 Aug 1999 22:48:55 -0800 From: yuval_lorian Organization: http://www.remarq.com: The World's Usenet/Discussions Start Here Message-ID: <934440539.23683@www.remarq.com> References: Hi, Try CodeTest from WindRiver. It has two functions: memory leaks and code coverage. You can buy it with one option or both of them. Regards, Yuval * Sent from RemarQ http://www.remarq.com The Internet's Discussion Network * The fastest and easiest way to search and participate in Usenet - Free! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: fp arithmetic on P III processors Date: Thu, 12 Aug 1999 08:07:22 GMT From: David Hamel Organization: @Home Networks. Message-ID: <37B280E2.74B926FC@ntanet.net> References: <7orhca$97p$1@usenet.kreonet.re.kr> A move from a Pentium to a Pentium III probably involved changing the BIOS as well. Various BIOS have varying default wait states for using write-through cache. The standard pc BSP for vxWorks assumes a 486-class processor which doesn't have a copy-back cache like more modern x86 processors do. Set the CACHE_MODE to CACHE_COPYBACK config.h and even your Pentium MMX will have enough horsepower for MPEG video. Yoonsik Cheon wrote: > > Hi, > > I had this bizarre experience. We have been porting an MPEG video > decoder to vxworks on x86 targets. The porting itself was pretty > straightforward, but we couldn't get the performance we want. So, we > switched the target CPU from Pentium 166MMX to Pentium III 450. > The result? Well, the same code runs two times slower! > > Quite surprised, I wrote a couple of c code: one for integer > arithmetic and the other for floating-point arithmetic, and did timing > on several x86 CPUs available in my lab. The following is a quick > summary of the result that I got. (Just in case, I am using VxWorks > 5.3.1 with Tornado I.) > > CPUs fp arithmetic integer arithmetic > ---------------------------------------- > PIII 450 23.516 sec 6.666 sec > PII 200 25.xxx sec 8.xxx sec > P 166mmx 17.xxx sec 12.xxx sec > > Am I missing something here? Any hints on what's going on here or > what am I doing wrong? Since I used the same boot disk and vxworks > image, I don't think it is possible that the H/W floating-point is > enabled in one run and disabled in another. (BTW, I am not quite sure > how to turn on and off the h/w fp capability. I did play with the tornado > 486 BSP configuration tool and header files, but couldn't get it right, > i.e., couldn;t see much difference. Any direction here will be also > appreciated.) > > BTW, has anyone out there ported or been porting an MPEG video > decoder to vxworks? Thanks. > > Yoonsik Cheon, cheon@etri.re.kr --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Scandisk/Chkdsk - executable or source Date: Thu, 12 Aug 1999 11:32:55 +0200 From: Leonid Rosenboim Organization: BitBand Technologies Ltd. Message-ID: <37B294C7.78311913@bitband.com> References: <37B17F07.41C67EA6@fzi.de> <7os4t4$hoo$1@idiom.com> Reply-To: leonid@bitband.com Just for the people with weak memories - the CHKDSK utility was written by RST Software Industries Ltd (Israel) which was acquired by Wind River on January 1997. I beleive this code is now somewhere in the :unsupported directory of the distribution. Also, the not-yet-released DosFs 2.0 from Wind River has got an INTEGRAL disk consistency checking mechanism. Both where my babies. - Leonid Colin Jensen wrote: > In article <37B17F07.41C67EA6@fzi.de>, Torsten Rupp wrote: > >I'm looking for a program like the DOS scandisk or chkdsk running under > >VxWorks 5.3 which is able to detect and repair errors on a FAT16 > >volume. > > Wind River has one. It used to be sold by a different company (whose > name I forget) that was aquired a year or two ago by Wind River. --------------------------- End of New-News digest ********************** From owner-vxwexplo-process Thu Aug 12 05:42:48 1999 From: "Christopher J. Slominski" Date: Thu Aug 12 05:42:52 PDT 1999 Subject: Embedded X-server --=====================_692791741==_.ALT Content-Type: text/plain; charset="us-ascii" VxWorks users, My organization has purchased VME based graphics boards for a project. The boards are embedded X-servers. The intended X-client capabilities in the VxWorks environment is the RtX-Windows software from WindRiver. We use Tornado 2 development environment, which is not compatible with RtX-Windows. Does anyone know other options for having X-Client ability embedded into VxWorks? *----------------------------------------* | Christopher J. Slominski | | Computer Sciences Corporation (CSC) | | 3217 N. Armistead Ave. | | Hampton VA 23666 | | (757) 766-8258 | | | | c.j.slominski@larc.nasa.gov | | NASA Mail Stop 931 | *----------------------------------------* --=====================_692791741==_.ALT Content-Type: text/html; charset="us-ascii"
VxWorks users,
     My organization has purchased VME based graphics boards for a project.  The boards are embedded X-servers.  The intended X-client capabilities in the VxWorks environment is the RtX-Windows software from WindRiver.  We use Tornado 2 development environment, which is not compatible with RtX-Windows.  Does anyone know other options for having X-Client ability embedded into VxWorks?

*----------------------------------------*
|     Christopher J. Slominski           |
| Computer Sciences Corporation (CSC)    |
|      3217 N. Armistead Ave.            |
|         Hampton VA 23666               |
|          (757) 766-8258                |
|                                        |
|      c.j.slominski@larc.nasa.gov       |
|         NASA Mail Stop 931             |
*----------------------------------------*
--=====================_692791741==_.ALT-- From owner-vxwexplo-process Thu Aug 12 07:21:41 1999 From: Toni Romero Date: Thu Aug 12 07:21:45 PDT 1999 Subject: using SCSI Hello Vxworkers ! My working platform is VMEbus with Radstone CPU46. I have been fitted to the CPU46 a MXES-1 card with the SCSI controller WD33c93. I have a Quantum fireball ST(no formatted). When I define the SCSI_AUTO_CONFIG in the config.h, the following information is prompted to the terminal.. Auto-configuring SCSI bus... ID LUN VendorID ProductID Rev. Type Blocks BlkSize pScsiPhysDev -- --- -------- ---------------- ---- ---- -------- ------- ------------ 6 0 0 305883 305882 0x00fb7cf4 First, the fields Block and BlkSize has any relation with disk capacity(4Gbytes) ? After that I undefine the SCSI_AUTO_CONFIG in the config.h and proceed to perform a block device an partition as describe in vxworks manual, with no error prompted. I follow the intructions in the VxWorks manual an I try to initialize a dos file system but vxworks hangs.. using dosFsMkfs( ). If I interpret correctly the manual, a dos file system initialized is require to format the disk. I don't what is happens, but I will be pleasure if someone knows how to modify the usrScsiconfig( ) to set up the disk. thanks in advance Toni Romero email: tromero@nte.es Space Division Development Engineer NTE S.A. Barcelona (SPAIN) From owner-vxwexplo-process Thu Aug 12 08:02:59 1999 From: bob schulman Date: Thu Aug 12 08:03:03 PDT 1999 Subject: Re: Embedded X-server > My organization has purchased VME based graphics boards for a project. > The boards are embedded X-servers. The intended X-client capabilities in the > VxWorks environment is the RtX-Windows software from WindRiver. We use Tornado > 2 development environment, which is not compatible with RtX-Windows. Does > anyone know other options for having X-Client ability embedded into VxWorks? Check out Seaweed Systems' SeaWind product. Info is at www.seaweed.com. bob From owner-vxwexplo-process Thu Aug 12 10:22:16 1999 From: "Kozel, Mark Mr ITT/FSC" Date: Thu Aug 12 10:22:20 PDT 1999 Subject: RE: Embedded X-server My project is currently stuck in this issue. We purchased Peritek Graphics cards with embedded X-servers (three for each installation) and have them running with Tornado I (vxWorks 5.3.1 and RtX 1.0). We have Tornado II, but are holding off installation until we find out what WindRiver plans to do about X graphics support. Our salesmen says it has become a big issue...seems like it should have come up during development of T2. Our current fallback plan is to run the X client on a separate system (real-time is not that critical here) and have this client (a DEC Alpha) "talk" to the Peritek cards via a pci-to-vme bridge (I'm open for suggestions here). It is messy, but workable if RtX doesn't. Thanks, Mark ------------------------------------------- Got a few million clock cycles to spare? | Mark Kozel * KozelM@fscnet.vafb.af.mil | Lend them to SETI (Search for | ITT Federal Services - bldg. 6525 ms 5320 | Extraterrestrial Intelligence) and | PO Box 5728 VAFB, CA 93437 (805) 606-7928 | put your idle home computer to work. ------------------------------------------- http://setiathome.ssl.berkeley.edu -----Original Message----- From: vxwexplo@lbl.gov [mailto:vxwexplo@lbl.gov] Sent: Thursday, August 12, 1999 5:43 AM To: vxworks_users@csg.lbl.gov Subject: Embedded X-server VxWorks users, My organization has purchased VME based graphics boards for a project. The boards are embedded X-servers. The intended X-client capabilities in the VxWorks environment is the RtX-Windows software from WindRiver. We use Tornado 2 development environment, which is not compatible with RtX-Windows. Does anyone know other options for having X-Client ability embedded into VxWorks? From owner-vxwexplo-process Thu Aug 12 10:26:38 1999 From: "Kozel, Mark Mr ITT/FSC" Date: Thu Aug 12 10:26:42 PDT 1999 Subject: Archive file (.a) or Object file (.o) I'm compiling graphics libraries for WRS vxWorks 5.3.1. The original source/makefiles were setup to compiler and link to an archive file. How do I load MYARCHIVE.A into vxWorks? Or, do I need to compiler the whole set to a simple object file and "ld" it as I would an executable? Thanks, Mark ------------------------------------------- Got a few million clock cycles to spare? | Mark Kozel * KozelM@fscnet.vafb.af.mil | Lend them to SETI (Search for | ITT Federal Services - bldg. 6525 ms 5320 | Extraterrestrial Intelligence) and | PO Box 5728 VAFB, CA 93437 (805) 606-7928 | put your idle home computer to work. ------------------------------------------- http://setiathome.ssl.berkeley.edu From owner-vxwexplo-process Thu Aug 12 12:01:57 1999 From: "Wu, Huang" Date: Thu Aug 12 12:02:01 PDT 1999 Subject: RE: using SCSI When you say the disk is not formatted. You mean it is not low level formatted or high level formatted? You may need a SCSI master to do a low level format first, then high level format (this may be not necessary). Huang Wu National Research Council Canada -----Original Message----- From: vxwexplo@lbl.gov [mailto:vxwexplo@lbl.gov] Sent: Thursday, August 12, 1999 10:22 AM To: vxworks_users@csg.lbl.gov Subject: using SCSI Submitted-by owner-vxwexplo-process Thu Aug 12 07:21:41 1999 Submitted-by: Toni Romero Hello Vxworkers ! My working platform is VMEbus with Radstone CPU46. I have been fitted to the CPU46 a MXES-1 card with the SCSI controller WD33c93. I have a Quantum fireball ST(no formatted). When I define the SCSI_AUTO_CONFIG in the config.h, the following information is prompted to the terminal.. Auto-configuring SCSI bus... ID LUN VendorID ProductID Rev. Type Blocks BlkSize pScsiPhysDev -- --- -------- ---------------- ---- ---- -------- ------- ------------ 6 0 0 305883 305882 0x00fb7cf4 First, the fields Block and BlkSize has any relation with disk capacity(4Gbytes) ? After that I undefine the SCSI_AUTO_CONFIG in the config.h and proceed to perform a block device an partition as describe in vxworks manual, with no error prompted. I follow the intructions in the VxWorks manual an I try to initialize a dos file system but vxworks hangs.. using dosFsMkfs( ). If I interpret correctly the manual, a dos file system initialized is require to format the disk. I don't what is happens, but I will be pleasure if someone knows how to modify the usrScsiconfig( ) to set up the disk. thanks in advance Toni Romero email: tromero@nte.es Space Division Development Engineer NTE S.A. Barcelona (SPAIN) ********** This is a user group mailing list for vxWorks related topics Mail articles to vxwexplo@lbl.gov for 'explosion' Include the word VxWorks or Tornado to penetrate SPAM filters edit off the trailer to avoid bounce filters Send subscription requests & comments to vxwexplo-request@lbl.gov From owner-vxwexplo-process Thu Aug 12 15:48:10 1999 From: Greg Brissey x5130 Date: Thu Aug 12 15:48:15 PDT 1999 Subject: ___divdi3 vxworks Doug wrote: Thanks J.T.! I tried to link the library, as you say below, to get the symbol resolved. Yes, we have 'long long' data in our code, so that is why it is there. The drawback is that I now have ALL the GNU symbols resolved in my '.o', not just that one renegade, so I have two copies hogging space on my target. I guess one possibility is to declare a 'long long' something in the base vxWorks image so that it gets linked there, then my object will be happy when it gets dynamically linked at run time. The other possible solution is to extract that one image from the library and link it in directly as a '.o'. I think I prefer the former over the latter. I am not a GNU guru by any stretch, even though I have been using these tools for about one and one-half years. Just curious, where did you find that little gem of information??? Again, thanks... Doug ----------------------- Doug, We used long long variables and just extracted the necessary routines from the libgcc. We needed _divdi3.o, _moddi3.o, _udivmoddi4.o . Then we just linked them in with our kernel. It has worked for us without a problem. Greg Brissey Varian Inc. From owner-vxwexplo-process Thu Aug 12 18:01:05 1999 From: Greg Brissey x5130 Date: Thu Aug 12 18:01:09 PDT 1999 Subject: SM NET, pointers on dynamicly setting where SM NET offboard memory is (vxworks) vxworks SM NET experts, Here's my delma, Presently we have a second board we build (call it MSR) booting off the SM network backplane. Since this board is not a VME Master it must contain the shared memory for the SM Net The board has 1 MB of memory and we reserve the top 64k for the SM Net, SM_ANCHOR_ADRS is fixed in it's PROM (no non-volatile memory here) Now we have made a new MSR board and it may have 2 or 4 MB of memory. So I need to support the 1 MB, 2MB and 4MB boards. At present the master CPU (mv162 or mv2300) has the constants SM_ANCHOR_ADRS, SM_MEM_SIZE set for the 1 MB board. I can think of two ways to handle this. 1. Move the SM_ANCHOR_ADRS to the front of memory and move the kernel back on the MSR. Now it doesn't matter how the memory size changes the SM_ANCHOR_ADRS is a constant. However this would require in the field PROM upgrades to present systems. And as we all know, hardware costs, software is free.... (at least to management) I present I have no idea what is required to move the kernel back in memory.. 2. Have the MSR use the last 64K of it's memory (what ever the size is). No PROM change here. (Management likes this idea better) Have the Master CPU determine MSR memory size and dynamicly set it's SM_ANCHOR_ADRS to the proper address. Getting the memory size is no problem, it's what routines need to be called with the SM NET Address, etc.. that I am unsure of. Has anyone done either the above, have pointers how to accomplish 1 or 2, or have a Better Idea. Any input would be greately appreciated. Thanks in Advance. Greg Brissey greg.brissey@nmr.varian.com From owner-vxwexplo-process Fri Aug 13 03:01:31 1999 From: David Laight Date: Fri Aug 13 03:01:34 PDT 1999 Subject: Re: SM NET, pointers on dynamicly setting where SM NET memory is offboard > Subject: SM NET, pointers on dynamicly setting where SM NET memory is offboard > Submitted-by: Greg Brissey x5130 > > vxworks SM NET experts, > > Here's my dilemma, > > Presently we have a second board we build (call it MSR) booting off the SM > network backplane. > Since this board is not a VME Master it must contain the shared memory for > the SM Net > > The board has 1 MB of memory and we reserve the top 64k for the SM Net, > SM_ANCHOR_ADRS is fixed in it's PROM (no non-volatile memory here) > > Now we have made a new MSR board and it may have 2 or 4 MB of memory. So > I need to support the 1 MB, 2MB and 4MB boards. > > At present the master CPU (mv162 or mv2300) has the constants > SM_ANCHOR_ADRS, SM_MEM_SIZE set for the 1 MB board. > > I can think of two ways to handle this. > > 1. Move the SM_ANCHOR_ADRS to the front of memory and move the kernel back > on the MSR. > Now it doesn't matter how the memory size changes the SM_ANCHOR_ADRS is > a constant. > However this would require in the field PROM upgrades to present > systems. > And as we all know, hardware costs, software is free.... (at least to > management) > > I present I have no idea what is required to move the kernel back in > memory.. Allocating space before the vxworks image is easy - just a matter of changing RAM_LOW_ADDRS (and building new boot proms etc). Be aware that vxworks uses fixed addresses for some data items within the memory reserved by the standard RAM_LOW_ADDRS value - so you can't use all that area. Also remember that the initial stack grows down (into the reserved memory) from RAM_LOW_ADDRS. IMHO reserving space here is better than trying to reserve space at the top of memory. > > 2. Have the MSR use the last 64K of it's memory (what ever the size is). > No PROM change here. (Management likes this idea better) > Have the Master CPU determine MSR memory size and dynamicly set it's > SM_ANCHOR_ADRS to the proper address. > > Getting the memory size is no problem, it's what routines need to be > called with the SM NET Address, etc.. that I am unsure of. > Can't help - I haven't the used SM NET stuff. Maybe you can look at where SM_ACNCHOR_ADRS gets put and dynamically initialise the appropriate location before the SM networks starts. > > Has anyone done either the above, have pointers how to accomplish 1 or 2, > or have a Better Idea. You could consider a third option: 3. Build a vxworks image LOCAL_MEM_SIZE set to 1Mb and reserve 64k. During system initialisation (can be quite late) determine the actual memory size and use memPartAddToPool to give vxworks the remaining 0, 1 or 3 Mb of memory. (Remember to clear the area if your system has parity memory...) This does give a split memory pool, and limits the size of your image. If these aren't a problem this may be easiest. David ---------------------------------------------------------------- David Laight email: dsl@tadpole.co.uk Tadpole Technology plc phone: +44 1223 278 256 Cambridge, UK fax: +44 1223 278 201 From owner-vxwexplo-process Fri Aug 13 04:00:16 1999 From: daemon@csg.lbl.gov Date: Fri Aug 13 04:00:20 PDT 1999 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Fri Aug 13 04:00:10 PDT 1999 Subject: Q: symFindByName Subject: Re: question: how do I get a link map? Subject: Re: Q: symFindByName Subject: Re: cacheDmaMalloc question Subject: Serial I/O characters Subject: Re: Memory leaks detection in VxWorks Subject: DiskOnChip 2000 and VxWorks on X86 platform Subject: Re: Scandisk/Chkdsk - executable or source Subject: Re: Tornado II/WindSh question Subject: Re: Tornado II/WindSh question Subject: Re: Cnvtg to T2 (C++ exceptions) Subject: Reboot Problem Subject: Sending info back to a tool from target? using wtx Subject: Re: Sending info back to a tool from target? using wtx Subject: Re: Converting to Tornado II Subject: Re: MULTI tools Subject: vxWorks and EST visionICE Subject: Re: vxWorks and EST visionICE Subject: Re: why/what memPartCreate()? Subject: Re: using SCSI Subject: Re: Sending info back to a tool from target? using wtx Subject: Basic Info Subject: comp.os.vxworks archive? ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Q: symFindByName Date: Thu, 12 Aug 1999 11:29:31 GMT From: ulf_franke@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7oub6k$u5l$1@nnrp1.deja.com> Hello, the function symFindByValue() works well but symFindByName() does'nt. - -> symFindByName( sysSymTbl, "printf", &value, &type ) value = -1 = 0xffffffff = tmenu.o_bss + 0xd6c66643 - -> errnoGet value = 1835009 = 0x1c0001 - -> printErrno 0x1c0001 S_symLib_SYMBOL_NOT_FOUND - -> lkup "printf" _fdprintf 0x2801f20c text (vxWorks.sym) _fprintf 0x28033988 text (vxWorks.sym) _printf 0x2801f02e text (vxWorks.sym) Do you have experience with symFindByName(). VxWorks (for men A9) version 5.3.1. Kernel: WIND version 2.5. Mit freundlichen Gruessen / Best regards Ulf Franke P.S: Please mail all support requests to support@men.de   (holiday-proof)! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ulf Franke . MEN Mikro Elektronik GmbH . Software Design . Phone + 49 / 9 11 / 99 33 5-67 . Fax + 49 / 9 11 / 99 33 5-95 . E-Mail Ulf.Franke@men.de . WWW http://www.men.de . Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: question: how do I get a link map? Date: 12 Aug 1999 12:04:34 GMT From: johan.borkhuis@peektraffic.nl Organization: XS4ALL Internet BV Message-ID: <7oud8i$9jj$1@news1.xs4all.nl> References: <0pis3.113$Wo1.5403@nuq-read.news.verio.net> Keith Kmichik wrote: : I've just started using tornado 2.0. When using project, how can I get a : link map? Look at http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html Groeten, Johan - -- o o o o o o o . . . ___________________________________ o _____ || Johan Borkhuis | .][__n_n_|DD[ ====_____ | johan@borksoft.xs4all.nl | >(________|__|_[_________]_|________________________________| _/oo OOOOO oo` ooo ooo 'o!o!o o!o!o` --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Q: symFindByName Date: 12 Aug 1999 12:42:30 GMT From: chc@nasa2.ksc.nasa.gov (Charles H. Chapman) Organization: NASA, Kennedy Space Center Message-ID: References: <7oub6k$u5l$1@nnrp1.deja.com> On Thu, 12 Aug 1999 11:29:31 GMT, ulf_franke@my-deja.com wrote: > >-> symFindByName( sysSymTbl, "printf", &value, &type ) >value = -1 = 0xffffffff = tmenu.o_bss + 0xd6c66643 >-> errnoGet >value = 1835009 = 0x1c0001 >-> printErrno 0x1c0001 >S_symLib_SYMBOL_NOT_FOUND > >-> lkup "printf" >_fdprintf 0x2801f20c text (vxWorks.sym) >_fprintf 0x28033988 text (vxWorks.sym) >_printf 0x2801f02e text (vxWorks.sym) > >Do you have experience with symFindByName(). Yep, you may have answered your own question above. When you did the lkup "printf", notice anything interesting about the symbols it reported? They all begin with underscore! You have to specify the leading underscore to lookup a symbol with symFindByName because it does an exact match with symbols in the table. Chuck --------------------------- Newsgroups: comp.os.vxworks Subject: Re: cacheDmaMalloc question Date: Thu, 12 Aug 1999 12:36:21 GMT From: dixon@crd.ge.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7ouf44$pc$1@nnrp1.deja.com> References: <7orc34$nbr$1@news2.inter.net.il> In article <7orc34$nbr$1@news2.inter.net.il>, "Erez Bar-Tal" wrote: > Hi all > I am writing an END driver and facing the followong problem. > My NIC has its own DMA therefor I have to allocate non-cache buffer for it, > I am doing it using cacheDmaMalloc. > My problem is when the mux calls my send function and passes the data > I have notice that the data resedent in a cache area (address stating with > 0x8...) > even though I have initialize the cluster pool memory with cacheDmaMalloc. > Right now i am coping the data to another preallocated buffer with > cacheDmaMalloc You should not need to do this. cacheDmaMalloc allocates memory on a page boundary and then marks each page as non-cacheable. The real issue is that you want to be sure that you dma the current information on the page. vxWorks has routines to invalidate the cache.Look at the cacheFlush documentation. HTH standard disclaimers apply > but its taking a lot of runnig time. > can I force the system to supply me a non-chache buffer for sending ? > > Any help will be appriciated > > Thanks Erez > > bar-tal1@inter.net.il > > Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Serial I/O characters Date: Thu, 12 Aug 1999 14:21:02 +0800 From: Tiger Nov Organization: Hewlett Packard Cupertino Site Message-ID: <37B267CE.67E47EC4@non-hp-china-om2.om.hp.com> Help! When I use read() to read data from serial port buffer, I found that the MSB bit of all charactera is cleared. I wander whether the default BSP for i80386 has some limits but I do not know how to resolve it. Any suggestions are appreciated. Thanks, TigerNov e-mail: zhi-xin_tao@non-hp-china-om2.om.hp.com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Memory leaks detection in VxWorks Date: Thu, 12 Aug 1999 14:31:41 GMT From: John or Jenn Organization: Who, us organized??? Message-ID: References: In article <934440539.23683@www.remarq.com> yuval_lorian, Yuval.Lorian@ecitele.com writes: >Try CodeTest from WindRiver. It has two functions: memory >leaks and code coverage. You can buy it with one option or >both of them. RTI¹s MemScope does this as well (and doesn¹t require instrumenting your sourece code). It¹s part of the PerformancePak (bundled with a performance profiler). --------------------------- Newsgroups: comp.os.vxworks Subject: DiskOnChip 2000 and VxWorks on X86 platform Date: Thu, 12 Aug 1999 15:50:41 +0100 From: "Facilities Rolls-Royce" Organization: UUNET WorldCom server (post doesn't reflect views of UUNET WorldCom Message-ID: <7oun31$4pc$1@lure.pipex.net> Hi, I am trying to boot and run VxWorks from a DiskOnChip 2000 device on an Ampro DX4i PC/104 core module. VxWorks apprears to avoid the BIOS and fails to attach to the disk as the C drive; dos does exactly this. Does anyone know how to get VxWorks to attach to the DOC2000 device as if it were an ATA device? Or do I need TFFS from Windriver Thanks, Duncan Luce --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Scandisk/Chkdsk - executable or source Date: Thu, 12 Aug 1999 15:00:30 GMT From: philpulley@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7ouni6$7g9$1@nnrp1.deja.com> References: <37B17F07.41C67EA6@fzi.de> We asked a similar question recently via the newsgroup and someone sent us a zipped archive of the RTS software mentioned in another reply,including source. I don't know where it came from or if there are any licensing issues. We have built it under Tornado 1.0.1 for PowerPC and it builds OK. We haven't yet done much testing but it looks promising. If you want me to send you the archive, on the same basis that I received it, let me know. Phil Pulley Penny & Giles Aerospace Ltd email: ppulley@pgaero.co.uk In article <37B17F07.41C67EA6@fzi.de>, Torsten Rupp wrote: > Hello, > > I'm looking for a program like the DOS scandisk or chkdsk running under > VxWorks 5.3 which is able to detect and repair errors on a FAT16 > volume. Is there some company selling such a program or is there a > sourcecode available which could be ported to VxWorks? Thank you for > any help. > > Torsten Rupp > > -- > Computer Science Research Center (FZI) phone : +49-721-9654-330 > Mobility Management and Robotics fax : +49-721-9654-309 > Haid-und-Neu-Str. 10-14 e-mail: rupp@fzi.de > D-76131 Karlsruhe (Germany) www : www.fzi.de/robot > Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado II/WindSh question Date: Thu, 12 Aug 1999 15:31:16 GMT From: elzorro@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7oupc4$8si$1@nnrp1.deja.com> References: <7osmhl$pho$1@nnrp1.deja.com> <37B1EDBA.2D74C6DB@ciprico.com> In article <37B1EDBA.2D74C6DB@ciprico.com>, Mike Beede wrote: > > First of all, the tcl init file ".wind/windsh.tcl" that the docs > say is searched for -- isn't. The only part that is correct is > that if you have HOME set, it will look in there for it. So, > make sure (I'm assuming you're running on NT, by the way--I > assume the UNIX version is similar) that HOME is set to something > like "C:\". Then create a file called "windsh.tcl" in that > directory with the line > > cd "whatever directory" > > That should do it, based on my experiments. That did work. Thanks. It's important to use the forward slash ('/') though, instead of the backward slash ('\'). Also, the tcl script should go in %HOME%/.wind, rather than %HOME%. Aside from those nits though, your tip worked like a charm. Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado II/WindSh question Date: Thu, 12 Aug 1999 10:55:14 -0500 From: Mike Beede Organization: Ciprico Inc. Message-ID: <37B2EE62.8B791A0A@ciprico.com> References: <7osmhl$pho$1@nnrp1.deja.com> <37B1EDBA.2D74C6DB@ciprico.com> <7oupc4$8si$1@nnrp1.deja.com> elzorro@my-deja.com wrote: > > > It's important to use the forward slash ('/') though, instead > of the backward slash ('\'). Also, the tcl script should go > in %HOME%/.wind, rather than %HOME%. You caught me -- I didn't really test that part. I assume that the backslash would quote the quote and do an amusing tcl thing. Interesting about the .wind -- in investigating the problem I had created a windsh.tcl file in about 40 directories, two of which were / and /.wind. I never noticed that I was getting the .wind one.... Thanks. Mike --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Cnvtg to T2 (C++ exceptions) Date: Thu, 12 Aug 1999 12:11:18 -0400 From: "Sohacki, Timothy [NCRTP:CX10:EXCH]" Organization: Nortel Networks Message-ID: <37B2F226.B2E4DB5B@americasm01.nt.com> References: <37AEF763.5594AB79@lmco.com> <37AF0D13.E25724BB@delphi.com> <934262700.26718@www.remarq.com> <37B04C97.7DA0101B@americasm01.nt.com> <934437521.23340@www.remarq.com> I found it in the "Tornado 2.0 Release Notes," page 30 ... later I tried to look it up in the GNU guide, but didn't see it. Cheers, Tim. yuval_lorian wrote: > > Hi, > > I was looking for this option, too. > > But, as far as i ckeck, there isn't such an option in the > GNU compiler, at least according to the GNU Tookit User's > Guide, Tornado 2.0 Edition 1 (Using GNU CC for version > 2.7.2, section 2 "GNU CC Command Options"). > > I'll glad to here that i missed it or that it is > undocumented feature. > > Regards, > Yuval. > - -- Tim Sohacki, Nortel Networks email: sohacki@nortelnetworks.com --------------------------- Newsgroups: comp.os.vxworks Subject: Reboot Problem Date: Thu, 12 Aug 1999 22:10:02 +0530 From: madhu Organization: Lucent Tech. Message-ID: <37B2F8E1.96A4B6D@lucent.com> Hi Our Target is PC486 based. with out Key Board. We are facing problem in rebooting the Target by calling reboot ( ). We also have a Development Target with Console and Keyboard for Debuggin. On this development target the reboot works properly. I doubt the reboot uses some Keybord Queue for reboot. Can any body figure out a solution for this problem TIA Bhadri --------------------------- Newsgroups: comp.os.vxworks Subject: Sending info back to a tool from target? using wtx Date: Thu, 12 Aug 1999 19:50:58 GMT From: cvillone@yahoo.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7ov8iu$kdr$1@nnrp1.deja.com> What is the easiest way to send data back to an attached tool from the target using the wtx protocol? The documentation is confusing and I'm not getting anywhere fast. Thanks, Chris Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Sending info back to a tool from target? using wtx Date: Thu, 12 Aug 1999 13:09:05 -0700 From: "John Finley" Organization: Kivala Systems, Inc. Message-ID: <7ov9h9$31h@dfw-ixnews21.ix.netcom.com> References: <7ov8iu$kdr$1@nnrp1.deja.com> Writing to a VIO channel works OK for target-initiated transfers. Do you have a specific problem to solve or just trying to figure out how it all works? John - -------------------------------------------------- John Finley Kivala Systems, Inc. Project Manager (619) 689-0032 john@kivala.com http://www.kivala.com - -------------------------------------------------- VxTool - Build Tornado Apps with MS Visual Basic - -------------------------------------------------- wrote in message news:7ov8iu$kdr$1@nnrp1.deja.com... > What is the easiest way to send data back to an attached tool from the > target using the wtx protocol? The documentation is confusing and I'm > not getting anywhere fast. > > Thanks, > Chris > > > Sent via Deja.com http://www.deja.com/ > Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Converting to Tornado II Date: Thu, 12 Aug 1999 20:56:00 GMT From: Marjorie Krueger Organization: Vixel Message-ID: <37B33516.362AD9C9@vixel.com> References: <37AEF763.5594AB79@lmco.com> <37AF0D13.E25724BB@delphi.com> <934262700.26718@www.remarq.com> yuval_lorian wrote: > > There are four major problems that we found while trying to > upgrade to Tornado 2.0: (snip > 3. The SNMP toolkit is not fully compatible and there is a > memory leaks in the tSnmpd task. What did you do to deal with the memory leaks? I'm about to port my SNMP agent to VxWorks under Tornado 2. I thought this agent code was the same as the agent code under Tornado 1.0?? What did you find that was not compatible between Tornado 1.0 and 2.0? Thanks! Marjorie Krueger Vixel Corporation --------------------------- Newsgroups: comp.os.vxworks Subject: Re: MULTI tools Date: Thu, 12 Aug 1999 21:08:50 GMT From: Marjorie Krueger Organization: Vixel Message-ID: <37B33819.E5CC62E0@vixel.com> References: <37AE9FA1.E51394E2@ue.bosch.de> We used GreenHills MULTI on a previous project and IMHO it is a much better debugging and compile/build environment than Tornado 2.0 The one drawback was the extremely restrictive way they license the product (requires a "license server" for each instance of compile and debug sessions) And, we got much better support from Greenhills than we do from WindRiver :-) However, we were NOT using MULTI development tools for Tornado/VxWorks, we were using MULTI for the I960 board with our own home grown OS. Oleg Chtchoupak wrote: > > Has anyone had experience with Green Hills "MULTI" development tools for > > Tornado/VxWorks? I am evaluating it for an upcoming project and would > appreciate any feedback. > Thanks. > > Oleg Chtchoupak. > Oleg.Chtchoupak@signalbau-huber.de --------------------------- Newsgroups: comp.os.vxworks Subject: vxWorks and EST visionICE Date: Thu, 12 Aug 1999 22:10:49 GMT From: bhawkins@prodigy.net Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7ovgp2$q43$1@nnrp1.deja.com> Greetings! I've just recently started working a project using an MPC860 and vxWorks. The team wants to begin using the EST (Embedded Support Tools) EST860 emulator and visionICE to do some debugging. They are currently using vxWorks' capability to dynamically link objects at run-time. The bootcode currently copies the application code over a network to a location in memory and executes from there. My question is how can I integrate this with visionICE? Can we easily use the current dynamic-linking scheme, or do we have to create a single (huge) executable with all symbols/objects linked in? Can we simply start the box normally, let the bootcode copy the application code into memory, and then have the visionICE break at that particular memory location? Has anyone done this? It seems like EST and Wind River are comfortable with each other, so I would guess this is easy to solve... Thanks! Bret bhawkins@prodigy.net Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: vxWorks and EST visionICE Date: Thu, 12 Aug 1999 23:24:09 GMT From: "Serge Blais" Organization: MetroNet Communications Group Inc. Message-ID: References: <7ovgp2$q43$1@nnrp1.deja.com> Reply-To: "Serge Blais" EST have a solution for tightly integrating into Tornado. They use the same target server but provide their own back-end. It makes using the emulator transparent to tornado. This way you can debug in task mode instead of system mode. We have the CD here but don't have time to try. We don't use the tornado environment and dynamic linking. We have an Ethernet port on our target and download as so fast that we would save little time by only loading the required pieces. We only use the host shell to prototype or exercise some functions we are not sure about. Ask your EST representative. They have what you require. Serge. wrote in message news:7ovgp2$q43$1@nnrp1.deja.com... > Greetings! > > I've just recently started working a project using an MPC860 and > vxWorks. The team wants to begin using the EST (Embedded Support Tools) > EST860 emulator and visionICE to do some debugging. They are currently > using vxWorks' capability to dynamically link objects at run-time. The > bootcode currently copies the application code over a network to a > location in memory and executes from there. > > My question is how can I integrate this with visionICE? Can we easily > use the current dynamic-linking scheme, or do we have to create a single > (huge) executable with all symbols/objects linked in? Can we simply > start the box normally, let the bootcode copy the application code into > memory, and then have the visionICE break at that particular memory > location? > > Has anyone done this? It seems like EST and Wind River are comfortable > with each other, so I would guess this is easy to solve... > > Thanks! > Bret > bhawkins@prodigy.net > > > Sent via Deja.com http://www.deja.com/ > Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: why/what memPartCreate()? Date: Fri, 13 Aug 1999 04:15:17 GMT From: David Hamel Organization: @Home Networks. Message-ID: <37B39B8F.B8185572@ntanet.net> References: <7ovhrj$qt7$1@nnrp1.deja.com> bhaveshpathak@my-deja.com wrote: > 1. PART_ID memPartCreate(char *pPool, unsigned poolSize); > > should pPool is input parameter (assigned to some address in the > memory) or it is output parameter (will contain correct value > when memPartCreate() returns; pPool is an address where your pool starts. > 2. Why one should use memPart*() when malloc() is available? > Does using memPartCreate() instead of malloc() this improve > performance? VxWorks' malloc() is actually implemented something like this. ...... PART_ID sysMemPartId; sysMemPartId = memPartCreate(FREE_RAM_ADDRS, (sysMemTop() - FREE_RAM_ADDRS)); ...... char * malloc(size_t size) { return (memPartAlloc(sysMemPartId, size)); } One would use memPart* functions when the region of memory has a desired caching policy, or all calls to memPartAlloc use a standard size in order to prevent memory fragmentation, or You wished to implement you own custom memory heap library. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: using SCSI Date: Fri, 13 Aug 1999 04:20:50 GMT From: David Hamel Organization: @Home Networks. Message-ID: <37B39D4A.8732D2AB@ntanet.net> References: <7ov6fi$724@overload.lbl.gov> Just for the record, the phrase "High-level" format didn't exist until Microsoft called their file system creation software "format.com". format.com formats and creates a FAT filesystem on floppy diskettes but on hard disk drives it only creates the filesystem and it doesn't format them. Wu, Huang wrote: > > When you say the disk is not formatted. You mean it is not low level > formatted or high level formatted? You may need a SCSI master to do a low > level format first, then high level format (this may be not necessary). > > Huang Wu > National Research Council Canada > > -----Original Message----- > From: vxwexplo@lbl.gov [mailto:vxwexplo@lbl.gov] > Sent: Thursday, August 12, 1999 10:22 AM > To: vxworks_users@csg.lbl.gov > Subject: using SCSI > > Submitted-by owner-vxwexplo-process Thu Aug 12 07:21:41 > 1999 > Submitted-by: Toni Romero > > Hello Vxworkers ! > > My working platform is VMEbus with Radstone CPU46. I have > been fitted to the > CPU46 a MXES-1 card with the SCSI controller WD33c93. I have > a Quantum > fireball ST(no formatted). > > When I define the SCSI_AUTO_CONFIG in the config.h, the > following > information is prompted to > the terminal.. > > Auto-configuring SCSI bus... > > ID LUN VendorID ProductID Rev. Type Blocks BlkSize > pScsiPhysDev > -- --- -------- ---------------- ---- ---- -------- ------- > ------------ > 6 0 0 > 305883 305882 > 0x00fb7cf4 > > First, the fields Block and BlkSize has any relation with > disk > capacity(4Gbytes) ? > > After that I undefine the SCSI_AUTO_CONFIG in the config.h > and proceed to > perform a block device an partition as describe in vxworks > manual, with no > error prompted. > > I follow the intructions in the VxWorks manual an I try to > initialize a dos > file system > but vxworks hangs.. using dosFsMkfs( ). > > If I interpret correctly the manual, a dos file system > initialized is > require to format the disk. > > I don't what is happens, but I will be pleasure if someone > knows how to > modify the > usrScsiconfig( ) to set up the disk. > > thanks in advance > > Toni Romero email: tromero@nte.es > Space Division Development Engineer > > NTE S.A. Barcelona (SPAIN) > > ********** > > This is a user group mailing list for vxWorks related > topics > Mail articles to vxwexplo@lbl.gov for 'explosion' > Include the word VxWorks or Tornado to penetrate SPAM > filters > edit off the trailer to avoid bounce filters > Send subscription requests & comments to > vxwexplo-request@lbl.gov --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Sending info back to a tool from target? using wtx Date: Fri, 13 Aug 1999 06:03:02 GMT From: oliver_fuchs@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7p0cej$c2q$1@nnrp1.deja.com> References: <7ov8iu$kdr$1@nnrp1.deja.com> try the following script in the shell: ioGlobalStdSet(0,0) ioGlobalStdSet(1,1) ioGlobalStdSet(2,2) viofd=open("/vio/0") ioGlobalStdSet(0,viofd) ioGlobalStdSet(1,viofd) ioGlobalStdSet(2,viofd) logFdSet(viofd) this will redirect all prints on the target to the shell if you start the targetserver with the option -C, all prints are redirected to the targetserver In article <7ov8iu$kdr$1@nnrp1.deja.com>, cvillone@yahoo.com wrote: > What is the easiest way to send data back to an attached tool from the > target using the wtx protocol? The documentation is confusing and I'm > not getting anywhere fast. > > Thanks, > Chris > > Sent via Deja.com http://www.deja.com/ > Share what you know. Learn what you don't. > Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Basic Info Date: Fri, 13 Aug 1999 14:48:48 +0600 From: "Igor V.Ilyin" <5312-ilyin@cctelcom.nsu.ru> Organization: NSU Message-ID: <37B3DBF0.C107CB45@cctelcom.nsu.ru> Hi All. I want to find any basic information on system VxWorks and Tornado. Can somebody tell any Intrnet address where I can find such information Beforehand thank. - ------------------------------------- Igor --------------------------- Newsgroups: comp.os.vxworks Subject: comp.os.vxworks archive? Date: Fri, 13 Aug 1999 09:50:50 +0100 From: Simon Roberts Message-ID: <37B3DC6A.9A45A06A@roke.co.uk> Is there an up to date archive of this newsgroup (except for the one at Windsurf which does not seem to have anything but very old posts) ? Cheers, Simon. --------------------------- End of New-News digest ********************** From owner-vxwexplo-process Fri Aug 13 14:18:18 1999 From: Vxworks Exploder Date: Fri Aug 13 14:18:22 PDT 1999 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Fri Aug 13 04:00:10 PDT 1999 Subject: Q: symFindByName Subject: Re: question: how do I get a link map? Subject: Re: Q: symFindByName Subject: Re: cacheDmaMalloc question Subject: Serial I/O characters Subject: Re: Memory leaks detection in VxWorks Subject: DiskOnChip 2000 and VxWorks on X86 platform Subject: Re: Scandisk/Chkdsk - executable or source Subject: Re: Tornado II/WindSh question Subject: Re: Tornado II/WindSh question Subject: Re: Cnvtg to T2 (C++ exceptions) Subject: Reboot Problem Subject: Sending info back to a tool from target? using wtx Subject: Re: Sending info back to a tool from target? using wtx Subject: Re: Converting to Tornado II Subject: Re: MULTI tools Subject: vxWorks and EST visionICE Subject: Re: vxWorks and EST visionICE Subject: Re: why/what memPartCreate()? Subject: Re: using SCSI Subject: Re: Sending info back to a tool from target? using wtx Subject: Basic Info Subject: comp.os.vxworks archive? ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Q: symFindByName Date: Thu, 12 Aug 1999 11:29:31 GMT From: ulf_franke@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7oub6k$u5l$1@nnrp1.deja.com> Hello, the function symFindByValue() works well but symFindByName() does'nt. - -> symFindByName( sysSymTbl, "printf", &value, &type ) value = -1 = 0xffffffff = tmenu.o_bss + 0xd6c66643 - -> errnoGet value = 1835009 = 0x1c0001 - -> printErrno 0x1c0001 S_symLib_SYMBOL_NOT_FOUND - -> lkup "printf" _fdprintf 0x2801f20c text (vxWorks.sym) _fprintf 0x28033988 text (vxWorks.sym) _printf 0x2801f02e text (vxWorks.sym) Do you have experience with symFindByName(). VxWorks (for men A9) version 5.3.1. Kernel: WIND version 2.5. Mit freundlichen Gruessen / Best regards Ulf Franke P.S: Please mail all support requests to support@men.de   (holiday-proof)! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ulf Franke . MEN Mikro Elektronik GmbH . Software Design . Phone + 49 / 9 11 / 99 33 5-67 . Fax + 49 / 9 11 / 99 33 5-95 . E-Mail Ulf.Franke@men.de . WWW http://www.men.de .. Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: question: how do I get a link map? Date: 12 Aug 1999 12:04:34 GMT From: johan.borkhuis@peektraffic.nl Organization: XS4ALL Internet BV Message-ID: <7oud8i$9jj$1@news1.xs4all.nl> References: <0pis3.113$Wo1.5403@nuq-read.news.verio.net> Keith Kmichik wrote: : I've just started using tornado 2.0. When using project, how can I get a : link map? Look at http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html Groeten, Johan - -- o o o o o o o . . . ___________________________________ o _____ || Johan Borkhuis | .][__n_n_|DD[ ====_____ | johan@borksoft.xs4all.nl | >(________|__|_[_________]_|________________________________| _/oo OOOOO oo` ooo ooo 'o!o!o o!o!o` --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Q: symFindByName Date: 12 Aug 1999 12:42:30 GMT From: chc@nasa2.ksc.nasa.gov (Charles H. Chapman) Organization: NASA, Kennedy Space Center Message-ID: References: <7oub6k$u5l$1@nnrp1.deja.com> On Thu, 12 Aug 1999 11:29:31 GMT, ulf_franke@my-deja.com wrote: > >-> symFindByName( sysSymTbl, "printf", &value, &type ) >value = -1 = 0xffffffff = tmenu.o_bss + 0xd6c66643 >-> errnoGet >value = 1835009 = 0x1c0001 >-> printErrno 0x1c0001 >S_symLib_SYMBOL_NOT_FOUND > >-> lkup "printf" >_fdprintf 0x2801f20c text (vxWorks.sym) >_fprintf 0x28033988 text (vxWorks.sym) >_printf 0x2801f02e text (vxWorks.sym) > >Do you have experience with symFindByName(). Yep, you may have answered your own question above. When you did the lkup "printf", notice anything interesting about the symbols it reported? They all begin with underscore! You have to specify the leading underscore to lookup a symbol with symFindByName because it does an exact match with symbols in the table. Chuck --------------------------- Newsgroups: comp.os.vxworks Subject: Re: cacheDmaMalloc question Date: Thu, 12 Aug 1999 12:36:21 GMT From: dixon@crd.ge.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7ouf44$pc$1@nnrp1.deja.com> References: <7orc34$nbr$1@news2.inter.net.il> In article <7orc34$nbr$1@news2.inter.net.il>, "Erez Bar-Tal" wrote: > Hi all > I am writing an END driver and facing the followong problem. > My NIC has its own DMA therefor I have to allocate non-cache buffer for it, > I am doing it using cacheDmaMalloc. > My problem is when the mux calls my send function and passes the data > I have notice that the data resedent in a cache area (address stating with > 0x8...) > even though I have initialize the cluster pool memory with cacheDmaMalloc. > Right now i am coping the data to another preallocated buffer with > cacheDmaMalloc You should not need to do this. cacheDmaMalloc allocates memory on a page boundary and then marks each page as non-cacheable. The real issue is that you want to be sure that you dma the current information on the page. vxWorks has routines to invalidate the cache.Look at the cacheFlush documentation. HTH standard disclaimers apply > but its taking a lot of runnig time. > can I force the system to supply me a non-chache buffer for sending ? > > Any help will be appriciated > > Thanks Erez > > bar-tal1@inter.net.il > > Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Serial I/O characters Date: Thu, 12 Aug 1999 14:21:02 +0800 From: Tiger Nov Organization: Hewlett Packard Cupertino Site Message-ID: <37B267CE.67E47EC4@non-hp-china-om2.om.hp.com> Help! When I use read() to read data from serial port buffer, I found that the MSB bit of all charactera is cleared. I wander whether the default BSP for i80386 has some limits but I do not know how to resolve it. Any suggestions are appreciated. Thanks, TigerNov e-mail: zhi-xin_tao@non-hp-china-om2.om.hp.com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Memory leaks detection in VxWorks Date: Thu, 12 Aug 1999 14:31:41 GMT From: John or Jenn Organization: Who, us organized??? Message-ID: References: In article <934440539.23683@www.remarq.com> yuval_lorian, Yuval.Lorian@ecitele.com writes: >Try CodeTest from WindRiver. It has two functions: memory >leaks and code coverage. You can buy it with one option or >both of them. RTI¹s MemScope does this as well (and doesn¹t require instrumenting your sourece code). It¹s part of the PerformancePak (bundled with a performance profiler). --------------------------- Newsgroups: comp.os.vxworks Subject: DiskOnChip 2000 and VxWorks on X86 platform Date: Thu, 12 Aug 1999 15:50:41 +0100 From: "Facilities Rolls-Royce" Organization: UUNET WorldCom server (post doesn't reflect views of UUNET WorldCom Message-ID: <7oun31$4pc$1@lure.pipex.net> Hi, I am trying to boot and run VxWorks from a DiskOnChip 2000 device on an Ampro DX4i PC/104 core module. VxWorks apprears to avoid the BIOS and fails to attach to the disk as the C drive; dos does exactly this. Does anyone know how to get VxWorks to attach to the DOC2000 device as if it were an ATA device? Or do I need TFFS from Windriver Thanks, Duncan Luce --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Scandisk/Chkdsk - executable or source Date: Thu, 12 Aug 1999 15:00:30 GMT From: philpulley@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7ouni6$7g9$1@nnrp1.deja.com> References: <37B17F07.41C67EA6@fzi.de> We asked a similar question recently via the newsgroup and someone sent us a zipped archive of the RTS software mentioned in another reply,including source. I don't know where it came from or if there are any licensing issues. We have built it under Tornado 1.0.1 for PowerPC and it builds OK. We haven't yet done much testing but it looks promising. If you want me to send you the archive, on the same basis that I received it, let me know. Phil Pulley Penny & Giles Aerospace Ltd email: ppulley@pgaero.co.uk In article <37B17F07.41C67EA6@fzi.de>, Torsten Rupp wrote: > Hello, > > I'm looking for a program like the DOS scandisk or chkdsk running under > VxWorks 5.3 which is able to detect and repair errors on a FAT16 > volume. Is there some company selling such a program or is there a > sourcecode available which could be ported to VxWorks? Thank you for > any help. > > Torsten Rupp > > -- > Computer Science Research Center (FZI) phone : +49-721-9654-330 > Mobility Management and Robotics fax : +49-721-9654-309 > Haid-und-Neu-Str. 10-14 e-mail: rupp@fzi.de > D-76131 Karlsruhe (Germany) www : www.fzi.de/robot > Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado II/WindSh question Date: Thu, 12 Aug 1999 15:31:16 GMT From: elzorro@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7oupc4$8si$1@nnrp1.deja.com> References: <7osmhl$pho$1@nnrp1.deja.com> <37B1EDBA.2D74C6DB@ciprico.com> In article <37B1EDBA.2D74C6DB@ciprico.com>, Mike Beede wrote: > > First of all, the tcl init file ".wind/windsh.tcl" that the docs > say is searched for -- isn't. The only part that is correct is > that if you have HOME set, it will look in there for it. So, > make sure (I'm assuming you're running on NT, by the way--I > assume the UNIX version is similar) that HOME is set to something > like "C:\". Then create a file called "windsh.tcl" in that > directory with the line > > cd "whatever directory" > > That should do it, based on my experiments. That did work. Thanks. It's important to use the forward slash ('/') though, instead of the backward slash ('\'). Also, the tcl script should go in %HOME%/.wind, rather than %HOME%. Aside from those nits though, your tip worked like a charm. Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado II/WindSh question Date: Thu, 12 Aug 1999 10:55:14 -0500 From: Mike Beede Organization: Ciprico Inc. Message-ID: <37B2EE62.8B791A0A@ciprico.com> References: <7osmhl$pho$1@nnrp1.deja.com> <37B1EDBA.2D74C6DB@ciprico.com> <7oupc4$8si$1@nnrp1.deja.com> elzorro@my-deja.com wrote: > > > It's important to use the forward slash ('/') though, instead > of the backward slash ('\'). Also, the tcl script should go > in %HOME%/.wind, rather than %HOME%. You caught me -- I didn't really test that part. I assume that the backslash would quote the quote and do an amusing tcl thing. Interesting about the .wind -- in investigating the problem I had created a windsh.tcl file in about 40 directories, two of which were / and /.wind. I never noticed that I was getting the .wind one.... Thanks. Mike --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Cnvtg to T2 (C++ exceptions) Date: Thu, 12 Aug 1999 12:11:18 -0400 From: "Sohacki, Timothy [NCRTP:CX10:EXCH]" Organization: Nortel Networks Message-ID: <37B2F226.B2E4DB5B@americasm01.nt.com> References: <37AEF763.5594AB79@lmco.com> <37AF0D13.E25724BB@delphi.com> <934262700.26718@www.remarq.com> <37B04C97.7DA0101B@americasm01.nt.com> <934437521.23340@www.remarq.com> I found it in the "Tornado 2.0 Release Notes," page 30 ... later I tried to look it up in the GNU guide, but didn't see it. Cheers, Tim. yuval_lorian wrote: > > Hi, > > I was looking for this option, too. > > But, as far as i ckeck, there isn't such an option in the > GNU compiler, at least according to the GNU Tookit User's > Guide, Tornado 2.0 Edition 1 (Using GNU CC for version > 2.7.2, section 2 "GNU CC Command Options"). > > I'll glad to here that i missed it or that it is > undocumented feature. > > Regards, > Yuval. > - -- Tim Sohacki, Nortel Networks email: sohacki@nortelnetworks.com --------------------------- Newsgroups: comp.os.vxworks Subject: Reboot Problem Date: Thu, 12 Aug 1999 22:10:02 +0530 From: madhu Organization: Lucent Tech. Message-ID: <37B2F8E1.96A4B6D@lucent.com> Hi Our Target is PC486 based. with out Key Board. We are facing problem in rebooting the Target by calling reboot ( ). We also have a Development Target with Console and Keyboard for Debuggin. On this development target the reboot works properly. I doubt the reboot uses some Keybord Queue for reboot. Can any body figure out a solution for this problem TIA Bhadri --------------------------- Newsgroups: comp.os.vxworks Subject: Sending info back to a tool from target? using wtx Date: Thu, 12 Aug 1999 19:50:58 GMT From: cvillone@yahoo.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7ov8iu$kdr$1@nnrp1.deja.com> What is the easiest way to send data back to an attached tool from the target using the wtx protocol? The documentation is confusing and I'm not getting anywhere fast. Thanks, Chris Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Sending info back to a tool from target? using wtx Date: Thu, 12 Aug 1999 13:09:05 -0700 From: "John Finley" Organization: Kivala Systems, Inc. Message-ID: <7ov9h9$31h@dfw-ixnews21.ix.netcom.com> References: <7ov8iu$kdr$1@nnrp1.deja.com> Writing to a VIO channel works OK for target-initiated transfers. Do you have a specific problem to solve or just trying to figure out how it all works? John - -------------------------------------------------- John Finley Kivala Systems, Inc. Project Manager (619) 689-0032 john@kivala.com http://www.kivala.com - -------------------------------------------------- VxTool - Build Tornado Apps with MS Visual Basic - -------------------------------------------------- wrote in message news:7ov8iu$kdr$1@nnrp1.deja.com... > What is the easiest way to send data back to an attached tool from the > target using the wtx protocol? The documentation is confusing and I'm > not getting anywhere fast. > > Thanks, > Chris > > > Sent via Deja.com http://www.deja.com/ > Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Converting to Tornado II Date: Thu, 12 Aug 1999 20:56:00 GMT From: Marjorie Krueger Organization: Vixel Message-ID: <37B33516.362AD9C9@vixel.com> References: <37AEF763.5594AB79@lmco.com> <37AF0D13.E25724BB@delphi.com> <934262700.26718@www.remarq.com> yuval_lorian wrote: > > There are four major problems that we found while trying to > upgrade to Tornado 2.0: (snip > 3. The SNMP toolkit is not fully compatible and there is a > memory leaks in the tSnmpd task. What did you do to deal with the memory leaks? I'm about to port my SNMP agent to VxWorks under Tornado 2. I thought this agent code was the same as the agent code under Tornado 1.0?? What did you find that was not compatible between Tornado 1.0 and 2.0? Thanks! Marjorie Krueger Vixel Corporation --------------------------- Newsgroups: comp.os.vxworks Subject: Re: MULTI tools Date: Thu, 12 Aug 1999 21:08:50 GMT From: Marjorie Krueger Organization: Vixel Message-ID: <37B33819.E5CC62E0@vixel.com> References: <37AE9FA1.E51394E2@ue.bosch.de> We used GreenHills MULTI on a previous project and IMHO it is a much better debugging and compile/build environment than Tornado 2.0 The one drawback was the extremely restrictive way they license the product (requires a "license server" for each instance of compile and debug sessions) And, we got much better support from Greenhills than we do from WindRiver :-) However, we were NOT using MULTI development tools for Tornado/VxWorks, we were using MULTI for the I960 board with our own home grown OS. Oleg Chtchoupak wrote: > > Has anyone had experience with Green Hills "MULTI" development tools for > > Tornado/VxWorks? I am evaluating it for an upcoming project and would > appreciate any feedback. > Thanks. > > Oleg Chtchoupak. > Oleg.Chtchoupak@signalbau-huber.de --------------------------- Newsgroups: comp.os.vxworks Subject: vxWorks and EST visionICE Date: Thu, 12 Aug 1999 22:10:49 GMT From: bhawkins@prodigy.net Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7ovgp2$q43$1@nnrp1.deja.com> Greetings! I've just recently started working a project using an MPC860 and vxWorks. The team wants to begin using the EST (Embedded Support Tools) EST860 emulator and visionICE to do some debugging. They are currently using vxWorks' capability to dynamically link objects at run-time. The bootcode currently copies the application code over a network to a location in memory and executes from there. My question is how can I integrate this with visionICE? Can we easily use the current dynamic-linking scheme, or do we have to create a single (huge) executable with all symbols/objects linked in? Can we simply start the box normally, let the bootcode copy the application code into memory, and then have the visionICE break at that particular memory location? Has anyone done this? It seems like EST and Wind River are comfortable with each other, so I would guess this is easy to solve... Thanks! Bret bhawkins@prodigy.net Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: vxWorks and EST visionICE Date: Thu, 12 Aug 1999 23:24:09 GMT From: "Serge Blais" Organization: MetroNet Communications Group Inc. Message-ID: References: <7ovgp2$q43$1@nnrp1.deja.com> Reply-To: "Serge Blais" EST have a solution for tightly integrating into Tornado. They use the same target server but provide their own back-end. It makes using the emulator transparent to tornado. This way you can debug in task mode instead of system mode. We have the CD here but don't have time to try. We don't use the tornado environment and dynamic linking. We have an Ethernet port on our target and download as so fast that we would save little time by only loading the required pieces. We only use the host shell to prototype or exercise some functions we are not sure about. Ask your EST representative. They have what you require. Serge. wrote in message news:7ovgp2$q43$1@nnrp1.deja.com... > Greetings! > > I've just recently started working a project using an MPC860 and > vxWorks. The team wants to begin using the EST (Embedded Support Tools) > EST860 emulator and visionICE to do some debugging. They are currently > using vxWorks' capability to dynamically link objects at run-time. The > bootcode currently copies the application code over a network to a > location in memory and executes from there. > > My question is how can I integrate this with visionICE? Can we easily > use the current dynamic-linking scheme, or do we have to create a single > (huge) executable with all symbols/objects linked in? Can we simply > start the box normally, let the bootcode copy the application code into > memory, and then have the visionICE break at that particular memory > location? > > Has anyone done this? It seems like EST and Wind River are comfortable > with each other, so I would guess this is easy to solve... > > Thanks! > Bret > bhawkins@prodigy.net > > > Sent via Deja.com http://www.deja.com/ > Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: why/what memPartCreate()? Date: Fri, 13 Aug 1999 04:15:17 GMT From: David Hamel Organization: @Home Networks. Message-ID: <37B39B8F.B8185572@ntanet.net> References: <7ovhrj$qt7$1@nnrp1.deja.com> bhaveshpathak@my-deja.com wrote: > 1. PART_ID memPartCreate(char *pPool, unsigned poolSize); > > should pPool is input parameter (assigned to some address in the > memory) or it is output parameter (will contain correct value > when memPartCreate() returns; pPool is an address where your pool starts. > 2. Why one should use memPart*() when malloc() is available? > Does using memPartCreate() instead of malloc() this improve > performance? VxWorks' malloc() is actually implemented something like this. ...... PART_ID sysMemPartId; sysMemPartId = memPartCreate(FREE_RAM_ADDRS, (sysMemTop() - FREE_RAM_ADDRS)); ...... char * malloc(size_t size) { return (memPartAlloc(sysMemPartId, size)); } One would use memPart* functions when the region of memory has a desired caching policy, or all calls to memPartAlloc use a standard size in order to prevent memory fragmentation, or You wished to implement you own custom memory heap library. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: using SCSI Date: Fri, 13 Aug 1999 04:20:50 GMT From: David Hamel Organization: @Home Networks. Message-ID: <37B39D4A.8732D2AB@ntanet.net> References: <7ov6fi$724@overload.lbl.gov> Just for the record, the phrase "High-level" format didn't exist until Microsoft called their file system creation software "format.com". format.com formats and creates a FAT filesystem on floppy diskettes but on hard disk drives it only creates the filesystem and it doesn't format them. Wu, Huang wrote: > > When you say the disk is not formatted. You mean it is not low level > formatted or high level formatted? You may need a SCSI master to do a low > level format first, then high level format (this may be not necessary). > > Huang Wu > National Research Council Canada > > -----Original Message----- > From: vxwexplo@lbl.gov [mailto:vxwexplo@lbl.gov] > Sent: Thursday, August 12, 1999 10:22 AM > To: vxworks_users@csg.lbl.gov > Subject: using SCSI > > Submitted-by owner-vxwexplo-process Thu Aug 12 07:21:41 > 1999 > Submitted-by: Toni Romero > > Hello Vxworkers ! > > My working platform is VMEbus with Radstone CPU46. I have > been fitted to the > CPU46 a MXES-1 card with the SCSI controller WD33c93. I have > a Quantum > fireball ST(no formatted). > > When I define the SCSI_AUTO_CONFIG in the config.h, the > following > information is prompted to > the terminal.. > > Auto-configuring SCSI bus... > > ID LUN VendorID ProductID Rev. Type Blocks BlkSize > pScsiPhysDev > -- --- -------- ---------------- ---- ---- -------- ------- > ------------ > 6 0 0 > 305883 305882 > 0x00fb7cf4 > > First, the fields Block and BlkSize has any relation with > disk > capacity(4Gbytes) ? > > After that I undefine the SCSI_AUTO_CONFIG in the config.h > and proceed to > perform a block device an partition as describe in vxworks > manual, with no > error prompted. > > I follow the intructions in the VxWorks manual an I try to > initialize a dos > file system > but vxworks hangs.. using dosFsMkfs( ). > > If I interpret correctly the manual, a dos file system > initialized is > require to format the disk. > > I don't what is happens, but I will be pleasure if someone > knows how to > modify the > usrScsiconfig( ) to set up the disk. > > thanks in advance > > Toni Romero email: tromero@nte.es > Space Division Development Engineer > > NTE S.A. Barcelona (SPAIN) > > ********** > > This is a user group mailing list for vxWorks related > topics > Mail articles to vxwexplo@lbl.gov for 'explosion' > Include the word VxWorks or Tornado to penetrate SPAM > filters > edit off the trailer to avoid bounce filters > Send subscription requests & comments to > vxwexplo-request@lbl.gov --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Sending info back to a tool from target? using wtx Date: Fri, 13 Aug 1999 06:03:02 GMT From: oliver_fuchs@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7p0cej$c2q$1@nnrp1.deja.com> References: <7ov8iu$kdr$1@nnrp1.deja.com> try the following script in the shell: ioGlobalStdSet(0,0) ioGlobalStdSet(1,1) ioGlobalStdSet(2,2) viofd=open("/vio/0") ioGlobalStdSet(0,viofd) ioGlobalStdSet(1,viofd) ioGlobalStdSet(2,viofd) logFdSet(viofd) this will redirect all prints on the target to the shell if you start the targetserver with the option -C, all prints are redirected to the targetserver In article <7ov8iu$kdr$1@nnrp1.deja.com>, cvillone@yahoo.com wrote: > What is the easiest way to send data back to an attached tool from the > target using the wtx protocol? The documentation is confusing and I'm > not getting anywhere fast. > > Thanks, > Chris > > Sent via Deja.com http://www.deja.com/ > Share what you know. Learn what you don't. > Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Basic Info Date: Fri, 13 Aug 1999 14:48:48 +0600 From: "Igor V.Ilyin" <5312-ilyin@cctelcom.nsu.ru> Organization: NSU Message-ID: <37B3DBF0.C107CB45@cctelcom.nsu.ru> Hi All. I want to find any basic information on system VxWorks and Tornado. Can somebody tell any Intrnet address where I can find such information Beforehand thank. - ------------------------------------- Igor --------------------------- Newsgroups: comp.os.vxworks Subject: comp.os.vxworks archive? Date: Fri, 13 Aug 1999 09:50:50 +0100 From: Simon Roberts Message-ID: <37B3DC6A.9A45A06A@roke.co.uk> Is there an up to date archive of this newsgroup (except for the one at Windsurf which does not seem to have anything but very old posts) ? Cheers, Simon. --------------------------- End of New-News digest ********************** From owner-vxwexplo-process Fri Aug 13 15:18:22 1999 From: Michael Durling Date: Fri Aug 13 15:18:26 PDT 1999 Subject: Implementing a MUX protocol I am trying to implement a custom protocol using the VxWorks MUX API, but I am struggling with the lack of documentation and inconsistencies in the documentation/header files supplied with Tornado II. Essentially, I am trying to send and receive an Ethernet packet with a custom ether_type field setting. I am able to successfully bind the protocol to the MUX (it appears when issuing a muxShow command from the shell). I found an obscure reference to setting the protocol type in the reserved field of the destination address M_BLK before calling muxAddressForm and I am actually able to get send and receive a packet. My problem is that this usually results in the IP stack locking up (usually on the receiving node, but occasionally on the sending node). Ping continues to work, but all IP traffic stops for a while. Eventually it returns, but I can not determine the cause of the lockup. If the MUX API works as advertised, then IP should not even see my packet. I am using a private netBuf pool for my send buffers which appears to work. The mbufs which I pass to the MUX are returned to my pool and muxSend returns OK. On the inbound side, my stack receive entry point is executing entirely within the context of tNetTask. It simply increments a counter, frees the mbuf chain, and returns TRUE (which is supposed to indicate to the MUX not to make the packet available to other protocols). Does anyone out there have experience with writing a MUX based protocol? Any suggestions? Thanks! Michael From owner-vxwexplo-process Sat Aug 14 00:13:52 1999 From: "Subramania Pillai" Date: Sat Aug 14 00:13:56 PDT 1999 Subject: IP - MPLS VxWorks: Hi, 1. In Mux based implementation, TCP/IP (or any protocol) calls muxSend (), to send IP packet to MUX, which in turn calls endSend () to access driver entry point. I want to encapsulate IP packet by 'MPLS shim header' before IP packet reaches driver entry point. That means after IP gives to MUX, my routine should get opertunity to see the IP packet and modify it, then give again to MUX, which will give to actual driver. --------------- | IP | --------------- | -------------- | <------> | MPLS | | -------------- -----v--------- | MUX | -------------- How can I sniff the IP packet from user task? 2. I earlier version of VxWorks there are two APIs ethOutputHookAdd () and ethInputHookAdd (). By using this we can regiter our own function pointer to any driver, normally ehternet driver. So our function canl send and receive packets directly from driver, in that time we can Add/remove MPLS shim header. This is second option. In VxWorks manual it is mentioned that in future versions of vxworks might not support this APIs. Any comments about this? 3. Is there any other better ways for the same? Thanks in advance pillai From owner-vxwexplo-process Sat Aug 14 04:00:10 1999 From: daemon@csg.lbl.gov Date: Sat Aug 14 04:00:14 PDT 1999 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Sat Aug 14 04:00:06 PDT 1999 Subject: Re: Q: symFindByName Subject: adding a layer in VxWorks Subject: Re: Reboot Problem Subject: Network performance Subject: Re: DiskOnChip 2000 and VxWorks on X86 platform Subject: Can anyone tell me how to learn VxWork? Subject: Compiling a third party library for vxsim Subject: Anyone As Try to write/read in flash memory at 0xFC000000 or 0xFE000000 Subject: Re: Anyone As Try to write/read in flash memory at 0xFC000000 or 0xFE000000 Subject: question! Subject: Re: Anyone As Try to write/read in flash memory at 0xFC000000 or 0xFE000000 Subject: [Q] if no VxVMI Subject: why/what memPartCreate()? Subject: Re: question: how do I get a link map? ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: Q: symFindByName Date: Fri, 13 Aug 1999 12:14:28 GMT From: ulf_franke@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7p126v$q51$1@nnrp1.deja.com> References: <7oub6k$u5l$1@nnrp1.deja.com> > >-> symFindByName( sysSymTbl, "printf", &value, &type ) > > > >-> lkup "printf" > >_printf 0x2801f02e text (vxWorks.sym) > > > Yep, you may have answered your own question above. When you did > the lkup "printf", notice anything interesting about the symbols > it reported? They all begin with underscore! You have to specify > the leading underscore to lookup a symbol with symFindByName because > it does an exact match with symbols in the table. > > Chuck Thanks Chuck, looks much better: - -> symFindByName( sysSymTbl, "_printf", &value, &type ) value = 0 = 0x0 - -> value value = 0x293fd7c0: value = 671215654 = 0x2801f026 = _printf - -> type type = 0x293fd790: value = 83886080 = 0x5000000 I'm writing a script tool. On some architectures the leading underscore is missing, but this is not realy a problem. Best regards, Ulf Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: adding a layer in VxWorks Date: Thu, 12 Aug 1999 19:30:49 +0530 From: "Navin kumar Agrawal" Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <37B2D391.B16F733E@lgsi.co.in> References: <7orc34$nbr$1@news2.inter.net.il> <7ouf44$pc$1@nnrp1.deja.com> Hi All, I am new to this VxWorks field. So I might use incorrect word in stating my problem. I would apologize for that in advance. Here goes my problem. I am developing MPLS/RSVP protocol stack. This involves adding MPLS layer below IP (Internet Protocol) layer. This layer is supposed to do some processing on all the packets coming from the IP layer. How is it possible to do this? I mean, What changes has to be done in the system configuration so that packets can be received by the MPLS layer from the top layer i.e. IP? I guess as the VxWork's TCP/IP protocol stack is based on BSD Unix, Which employes ifnet based approach for addition of pseuodo driver. Is it possible to do similar operation in VxWorks also? Thanks for help in advance. Regards, Navin Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Reboot Problem Date: Fri, 13 Aug 1999 15:15:01 +0200 From: "Christian Doppelbauer" Organization: VBS-Newsserver Message-ID: <934550135.298731@news.vbs.at> References: <37B2F8E1.96A4B6D@lucent.com> use the source of sysLib.c. the function sysToMonitor() offers some hints .... have you tried to call "sysReboot()" direct? regards, christian madhu wrote in message news:37B2F8E1.96A4B6D@lucent.com... > Hi > Our Target is PC486 based. with out Key Board. We are facing problem > in rebooting the Target by calling reboot ( ). > We also have a Development Target with Console and Keyboard for > Debuggin. On this development target the reboot works properly. I doubt > the reboot uses some Keybord Queue for reboot. Can any body figure out a > solution for this problem > TIA > Bhadri > > --------------------------- Newsgroups: comp.os.vxworks Subject: Network performance Date: Fri, 13 Aug 1999 15:47:35 +0200 From: "Gijs Withagen" Organization: XS4ALL Internet BV Message-ID: <7p17g2$q95$1@news1.xs4all.nl> Hi, I wonder if anybody can give me some figures on the performance of networking in VxWorks on a Pentium III 500 system with a 100Mb ethernet interface. Our case: Sending and receiving UDP packets of less than 100 bytes. We are especially interested in the latency between the socket call and the moment it will be available on the network. We'd like to know whther there are big differences between VxWorks 5.3, VxWorks 5.3.1 including SENS and VxWorks 5.4 Any help is appreciatied. Best regards. - --------------------------------------------------- Gijs Withagen Senior Consultant Technolution BV P.O. Box 2013 2800 BD GOUDA Netherlands Tel +31 (0)182 53 41 00 Fax +31 (0)182 53 97 36 gijs@technolution.nl http://www.technolution.nl --------------------------- Newsgroups: comp.os.vxworks Subject: Re: DiskOnChip 2000 and VxWorks on X86 platform Date: Fri, 13 Aug 1999 14:54:09 GMT From: "Fraser Dickin" Organization: Hewlett-Packard Laboratories, Bristol, England Message-ID: References: <7oun31$4pc$1@lure.pipex.net> Sender: news@hplb.hpl.hp.com (Usenet News Administrator) Facilities Rolls-Royce wrote in message <7oun31$4pc$1@lure.pipex.net>... >VxWorks apprears to avoid the BIOS and fails to attach to the disk as the C >drive; dos does exactly this. Does anyone know how to >get VxWorks to attach to the DOC2000 device as if it were an ATA device? Or >do I need TFFS from Windriver Duncan, If you contact M-Systems who make the disk-on-chips, they'll supply you with their latest TrueFFS for VxWorks drivers. You then link this library into your DEFS.BSP and you can then treat the d-o-c as a dosFs device. Fraser --------------------------- Newsgroups: comp.os.vxworks Subject: Can anyone tell me how to learn VxWork? Date: Fri, 13 Aug 1999 15:39:04 GMT From: "Wilson Zhou" Message-ID: August 13, 1999 Hi, I want to learn how to develop program in Real-time operating system. Could you share your experience with me. Thankful, Wilson Zhou --------------------------- Newsgroups: comp.os.vxworks Subject: Compiling a third party library for vxsim Date: Fri, 13 Aug 1999 11:52:16 -0400 From: krishna balusu Organization: Hughes Network Systems Message-ID: <37B43F2F.49BFE82B@hns.com> Reply-To: kbalusu@hns.com How can I compile a third party library ( compiled with ccsimso) with my program - -- krishna balusu kbalusu@hns.com (301) 212 1040 --------------------------- Newsgroups: comp.os.vxworks Subject: Anyone As Try to write/read in flash memory at 0xFC000000 or 0xFE000000 Date: Fri, 13 Aug 1999 19:00:10 GMT From: "Steeve Gagne" Organization: MetroNet Communications Group Inc. Message-ID: <_WZs3.8$hD3.567806@news1.mtl.metronet.ca> I I am trying to write/read in the flash bank memory, I have lockout the interrupts, disable task management, read and send command to the amd flah device but the only thing I can read is 0xFF ??? Any Idea ?? More does anyone have successfully read the RTC and put in in the sysClock ?? Steeve Gagne steevegagne@sympatico.ca --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Anyone As Try to write/read in flash memory at 0xFC000000 or 0xFE000000 Date: Fri, 13 Aug 1999 19:11:50 GMT From: "Steeve Gagne" Organization: MetroNet Communications Group Inc. Message-ID: References: <_WZs3.8$hD3.567806@news1.mtl.metronet.ca> Board mbx860 CPU MPC860 Flash Am29F080 Flash Am29F040 Steeve Gagne wrote in message news:_WZs3.8$hD3.567806@news1.mtl.metronet.ca... > I I am trying to write/read in the flash bank memory, > I have lockout the interrupts, disable task management, > read and send command to the amd flah device but the only thing > I can read is 0xFF ??? > > Any Idea ?? > > More does anyone have successfully read the RTC and put in in the sysClock > ?? > > > Steeve Gagne > > steevegagne@sympatico.ca > > > --------------------------- Newsgroups: comp.os.vxworks Subject: question! Date: Fri, 13 Aug 1999 15:46:26 -0400 From: Lei Sun Organization: University of Central Florida Message-ID: <37B47612.CE1@mmae.engr.ucf.edu> Hi: I checked the website or windriver sys inc. and they said that there are accessories such as VxMP(multi-processor support) and Graphic. Dos anybody has experience on that ? How do I get the accessories? it's embeded in the vx-works or a seperate product which I need install it? thank you! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Anyone As Try to write/read in flash memory at 0xFC000000 or 0xFE000000 Date: 13 Aug 1999 17:16:32 -0400 From: Bill Pringlemeir Message-ID: References: <_WZs3.8$hD3.567806@news1.mtl.metronet.ca> Sender: bpringle@DeadDuck Hmmm, sadly I had guessed MBX from the memory addresses. Flash is normally 0Xff before it has been written. I believe the AMD flash is peculiar about the command addresses. Sometimes it is address 0x5555 with the value 0xaaaa, and others it is address 0xaaaa with data of 0xaaaa. This depends on how the devices are attached to the bus. Ie, your addresses may be shifted one or two bits. The easiest command to get working is the device ID. Also, the flash maybe marked as read-only (although this generate an 'exception/interrupt'). If it is, the bus access device will disallow your writes to flash. Checkout the sysLib.c and the memory mapping of the flash device. There is some table there (sysPhysMemDesc []). Finally, I hope your code isn't executing from the ROM. Generally it won't unless you built a ROM image. hth, Bill >>>>> "SG" == Steeve Gagne writes: SG> Board mbx860 CPU MPC860 SG> Flash Am29F080 Flash Am29F040 SG> Steeve Gagne wrote in SG> message news:_WZs3.8$hD3.567806@news1.mtl.metronet.ca... >> I I am trying to write/read in the flash bank memory, I have >> lockout the interrupts, disable task management, read and send >> command to the amd flah device but the only thing I can read is >> 0xFF ??? >> >> Any Idea ?? >> >> More does anyone have successfully read the RTC and put in in >> the sysClock ?? - -- Canadian girls are so pretty it is a relief to see a plain one now and then - Mark Twain --------------------------- Newsgroups: comp.os.vxworks Subject: [Q] if no VxVMI Date: Sat, 14 Aug 1999 10:47:11 +0900 From: "ÀÌÁŠÇå(Jerry)" Organization: Electronics and Telecommunications Research Institute (ETRI) Message-ID: <7p2i10$pj0$1@news.etri.re.kr> I knew there's no paging or swapping in wind kernel. Then, if I do not use VxVMI, there's no way to use virtual memory in wind kernel? Just I should use physical memory in this situation? Right? - -- *************************************************** Jehun Rhee (Jerry) Mobile Traffic Management Team, Radio & Broadcasting Technology Lab., ETRI 161 Kajong Dong, Yusong Gu, Taejon, 305-350, Korea Voice Phone @ +82-42-860-3820 Fax @ +82-42-860-6403 Home Phone @ +82-42-485-8809 Mobile Phone @ +82-17-248-0116 Email @ jhrhee@etri.re.kr ICQ @ 30447192 internetBuddy @ 0221-0717 (only Korean) --------------------------- Newsgroups: comp.os.vxworks Subject: why/what memPartCreate()? Date: Thu, 12 Aug 1999 22:29:18 GMT From: bhaveshpathak@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7ovhrj$qt7$1@nnrp1.deja.com> Dear everyone, I have following doubt regarding memPartCreate(). 1. PART_ID memPartCreate(char *pPool, unsigned poolSize); should pPool is input parameter (assigned to some address in the memory) or it is output parameter (will contain correct value when memPartCreate() returns; 2. Why one should use memPart*() when malloc() is available? Does using memPartCreate() instead of malloc() this improve performance? with regards, bhavesh Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: question: how do I get a link map? Date: Fri, 13 Aug 1999 12:02:36 GMT From: ulf_franke@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7p11go$phv$1@nnrp1.deja.com> References: <0pis3.113$Wo1.5403@nuq-read.news.verio.net> > When using project, how can I get a link map? Add -Map mapfile to the linker call. Ulf Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- End of New-News digest ********************** From owner-vxwexplo-process Sun Aug 15 04:00:08 1999 From: daemon@csg.lbl.gov Date: Sun Aug 15 04:00:11 PDT 1999 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Sun Aug 15 04:00:04 PDT 1999 Subject: T2 for sun2ce (or T1 for that matter) Subject: Re: question: how do I get a link map? Subject: VxWorks SNTP server ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: T2 for sun2ce (or T1 for that matter) Date: Sat, 14 Aug 1999 12:02:04 -0400 From: Al Johnston Organization: MindSpring Enterprises Message-ID: <37B592FC.5F86D928@mindspring.com> Hello, I am trying to get enouph nerve to try T2 for my sun2ce bsp. We will be changing cpus sometime with-in the year, so I could wait. What I am wondering is, is anyone out there using T2 or T1 with this (sun2ce) bsp... -al --------------------------- Newsgroups: comp.os.vxworks Subject: Re: question: how do I get a link map? Date: Sat, 14 Aug 1999 15:20:57 -0500 From: petekz@airmail.net (Pete Kockritz) Organization: Airnews.net! at Internet America Message-ID: References: <0pis3.113$Wo1.5403@nuq-read.news.verio.net> <7p11go$phv$1@nnrp1.deja.com> In article <7p11go$phv$1@nnrp1.deja.com>, ulf_franke@my-deja.com wrote: > > When using project, how can I get a link map? > > Add -Map mapfile to the linker call. > > Ulf I usually put LDFLAGS = -N -Map $@.map In my Makefile. For kernel and bootrom builds, it keeps the map file from being overwritten as it is doing the multiple link steps. Regards, Pete - -- +-----------------------------------------------------------------+ | Pete Kockritz mailto:petekz@airmail.net | | This space for rent. | +-----------------------------------------------------------------+ --------------------------- Newsgroups: comp.os.vxworks Subject: VxWorks SNTP server Date: Sun, 15 Aug 1999 07:21:29 GMT From: nogap@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7p5ppn$u2g$1@nnrp1.deja.com> Hi, I am looking for some information or  example code for the hook routine that shall be suplied to the SNTP server of VxWorks. This hook routine is in the following format: sntpsClockHook (int request, void *pBuffer); and it shall be suplied in case the INCLUDE_SNTPS is defined. Thanks Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- End of New-News digest ********************** From owner-vxwexplo-process Sun Aug 15 06:10:34 1999 From: "Slutsker, Rasty" Date: Sun Aug 15 06:10:38 PDT 1999 Subject: PCI support in VxWorks (x86) This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01BEE727.BD453DC8 Content-Type: text/plain Hello, Does anybody know what is really implemented in VxWorks? Does VxWorks configure the bus and enumerate the PCI-devices? Or it counts on BIOS to do the "dirty work"? Thanks, Rasty ------_=_NextPart_001_01BEE727.BD453DC8 Content-Type: text/html Content-Transfer-Encoding: quoted-printable PCI support in VxWorks (x86)

Hello,

Does anybody know = what is really implemented in VxWorks? Does VxWorks configure the bus = and enumerate the PCI-devices? Or it counts on BIOS to do the = "dirty work"?

Thanks,

Rasty

------_=_NextPart_001_01BEE727.BD453DC8-- From owner-vxwexplo-process Mon Aug 16 01:15:48 1999 From: "tim allen" Date: Mon Aug 16 01:15:52 PDT 1999 Subject: Re:BSP specification >Where is the BSP specification for Tornado 2.0? Is there a book >talking >about this? Thanks. The only book I know of is the one that comes with Wind Rivers's VxWorks BSP porting kit. There is also a technical note about BSPs on the WindSurf section of their web site. Regards, Tim. -------------------- Tim Allen Ltd Real Time Embedded Software Consultancy ______________________________________________________ Get Your Private, Free Email at http://www.hotmail.com From owner-vxwexplo-process Mon Aug 16 01:19:41 1999 From: "tim allen" Date: Mon Aug 16 01:19:44 PDT 1999 Subject: Re:DiskOnChip 2000 and VxWorks on X86 platform >VxWorks apprears to avoid the BIOS and fails to attach to the disk as the C >drive; dos does exactly this. Does anyone know how to >get VxWorks to attach to the DOC2000 device as if it were an ATA device? Or >do I need TFFS from Windriver You need TFFS to use VxWorks with DiskOnChip. If you had compactFlash, you could use the VxWorks ATA driver and wouldn't need TFFS. Regards, Tim. -------------------- Tim Allen Ltd Real Time Embedded Software Consultancy ______________________________________________________ Get Your Private, Free Email at http://www.hotmail.com From owner-vxwexplo-process Mon Aug 16 02:26:15 1999 From: David Laight Date: Mon Aug 16 02:26:18 PDT 1999 Subject: Re: IP - MPLS Pillai, I'm not sure WHY you want to do this! But I can imagine some reasons :-) If your encapsulated packet has a different 'ethertype' (the 0806 for IP where the packet length should be) then it ought to be possible to write a piece of code that is both an MUX END driver and a MUX protocol. However I'm not sure there is adequate documentation available to do this - try the WRS support pages for additional info on the mux. If you think your MPLS header generates an encapsulated network, you could consider modifying the ethernet driver itself so that it transmits packets for the encapsulated network. Whatever you do I suspect you need to ensure that the mtu for the network (normally 1500) is reduced to allow for the MPLS header - otherwise you will generate overlong ethernet frames which will (should) be discarded by the drivers. David > Subject: IP - MPLS > Submitted-by: "Subramania Pillai" > > VxWorks: > Hi, > > 1. > In Mux based implementation, TCP/IP (or any protocol) calls muxSend(), > to send IP packet to MUX, which in turn calls endSend () to access > driver entry point. > > I want to encapsulate IP packet by 'MPLS shim header' before IP packet > > reaches driver entry point. > > That means after IP gives to MUX, my routine should get opertunity to > see the IP packet and modify it, then give again > to MUX, which will give to actual driver. > > --------------- > | IP | > --------------- > | -------------- > | <------> | MPLS | > | -------------- > -----v--------- > | MUX | > -------------- > > > > How can I sniff the IP packet from user task? > > 2. > I earlier version of VxWorks there are two APIs ethOutputHookAdd () and > ethInputHookAdd (). > By using this we can regiter our own function pointer to any driver, > normally ehternet driver. So our > function canl send and receive packets directly from driver, in that > time we can Add/remove MPLS shim > header. This is second option. In VxWorks manual it is mentioned that > in future versions of vxworks might > not support this APIs. Any comments about this? > > 3. Is there any other better ways for the same? > > Thanks in advance > pillai ---------------------------------------------------------------- David Laight email: dsl@tadpole.co.uk Tadpole Technology plc phone: +44 1223 278 256 Cambridge, UK fax: +44 1223 278 201 From owner-vxwexplo-process Mon Aug 16 04:00:10 1999 From: daemon@csg.lbl.gov Date: Mon Aug 16 04:00:14 PDT 1999 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Mon Aug 16 04:00:05 PDT 1999 Subject: ln7990end example and END_RCV_RTN_CALL Subject: Re: ln7990end example and END_RCV_RTN_CALL Subject: Re: Can anyone tell me how to learn VxWork? Subject: Re: crosswind debugger Subject: Re: cacheDmaMalloc question Subject: info of the ethernet interface !! Subject: SEXY STUFF 30826 Subject: Re: vxWorks and EST visionICE Subject: Re: info of the ethernet interface !! ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: ln7990end example and END_RCV_RTN_CALL Date: Sun, 15 Aug 1999 16:44:36 +0200 From: Erez Bar-Tal Organization: Internet Gold, ISRAEL Message-ID: <37B6D254.6645EAC9@galileo.co.il> Hi i am writing END device driver and i have to following question at ln7990end receive function the driver allocates pNewCluster and then join the pCluster(which hold the virtual address of the data) pointer to the pClBlk. my question is why join the pCluster and not the pNewCluster to the pClBlk and how pNewCluster get realesed. what are the neccessery step i need to do in order to pass a packet to the protocol (beside the one at tornado documentions) any help will be appriciated Thanks Erez erezb@galileo.co.il --------------------------- Newsgroups: comp.os.vxworks Subject: Re: ln7990end example and END_RCV_RTN_CALL Date: Sun, 15 Aug 1999 16:19:18 GMT From: Ran@127.0.0.1 (Ran Shalgi) Organization: Only when absolutely necessary Message-ID: <37b7e75d.13071986@news.inter.net.il> References: <37B6D254.6645EAC9@galileo.co.il> On Sun, 15 Aug 1999 16:44:36 +0200, Erez Bar-Tal wrote: >Hi >i am writing END device driver and i have to following question >at ln7990end receive function the driver allocates >pNewCluster and then join the pCluster(which hold the virtual address >of the data) pointer to the pClBlk. >my question is why join the pCluster and not the pNewCluster >to the pClBlk and how pNewCluster get realesed. > >what are the neccessery step i need to do in order >to pass a packet to the protocol (beside the one at tornado >documentions) > >any help will be appriciated >Thanks >Erez > >erezb@galileo.co.il I've been wondering about the same thing, and here's what I think (this is just from reading the code. I don't have such a card to experiment on) The driver begins with a ring buffer of clusters, and has some descriptors pointing at them. When a new incoming packet arrives at the card, DMA transfer has it placed in one of these clusters. To avoid memcpy() operations, this cluster is the one that is passed on to the protocol layer. BUT - here's the catch - the hardware DMA descriptor is still pointing at it, and therefore it runs the risk of being overrun by a later incoming packet. So what the driver does is to detach this cluster from the ring buffer, allocate a new empty cluster in its place, and attach this new cluster to the buffer. That is why you see pClBlk point to the old pCluster (this is the one with the actualy packet data). This buffer is then "loaned" to the protocol layer, and a new blank buffer (pNewCluster) is placed in its place. At least, this is what I think is going on. If someone has a better insight, please correct me. Ran Shalgi Expand Networks, Inc http://www.expand.com - --- Replace 127.0.0.1 with expand.com when replying by e-mail Ran Shalgi Expand Networks, Inc http://www.expand.com - --- Replace 127.0.0.1 with expand.com when replying by e-mail --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Can anyone tell me how to learn VxWork? Date: Sat, 14 Aug 1999 03:01:28 GMT From: lingsiva@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7p2m64$u5o$1@nnrp1.deja.com> HI I think to learn Vxworks OS, first you should go through Vxworks programers guide. And then to start with the development platform and booting the target refer to 3rd Chapter "Getting Started" in Tornado Users Guide. If you are planning to develop device drivers, then many Driver templates are available in the BSP directory. The following Url Address has a Vxworks tutorial ( for Alapha) http://www.digital.com/oem/library/docs/vxintro/vx0001.htm Have fun regards, s.shiva Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: crosswind debugger Date: Sun, 15 Aug 1999 23:04:47 +0100 From: "Rachel-Louise Koktava" Message-ID: References: <199908031805.IAA04756@kahala.keck.hawaii.edu> Kevin Tsubota wrote in message <199908031805.IAA04756@kahala.keck.hawaii.edu>... >I can't seem to get a "C" source listing from the >crosswind debugger when I attach to an existing task. > >If I run the same task from the debugger I can get >the "C" source listing. But I want to be able to attach >and debug the task after it has suspended, which could >take anywhere from a few hours to a couple of days. > Hi Kevin, this probably seems really stupid, and you may have tried it already, but have you specified the directory for the source, and the symbol file ? The gdb commands for these are symbol-file "filename" directory "directory path" you can specify these in the .gdbinit file to be read automatically at start up. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: cacheDmaMalloc question Date: Mon, 16 Aug 1999 11:11:49 +0200 From: Erez Bar-Tal Organization: Internet Gold, ISRAEL Message-ID: <37B7D5D5.327B370F@galileo.co.il> References: <7orc34$nbr$1@news2.inter.net.il> <7ouf44$pc$1@nnrp1.deja.com> thanks but it is not working all the times, somtime i am not getting a valid data out of the port. any other ideas Erez dixon@crd.ge.com wrote: > In article <7orc34$nbr$1@news2.inter.net.il>, > "Erez Bar-Tal" wrote: > > Hi all > > I am writing an END driver and facing the followong problem. > > My NIC has its own DMA therefor I have to allocate non-cache buffer > for it, > > I am doing it using cacheDmaMalloc. > > My problem is when the mux calls my send function and passes the data > > I have notice that the data resedent in a cache area (address stating > with > > 0x8...) > > even though I have initialize the cluster pool memory with > cacheDmaMalloc. > > Right now i am coping the data to another preallocated buffer with > > cacheDmaMalloc > You should not need to do this. cacheDmaMalloc allocates memory > on a page boundary and then marks each page as non-cacheable. The > real issue is that you want to be sure that you dma the current > information on the page. vxWorks has routines to invalidate the > cache.Look at the cacheFlush documentation. > > HTH > > standard disclaimers apply > > but its taking a lot of runnig time. > > can I force the system to supply me a non-chache buffer for sending ? > > > > Any help will be appriciated > > > > Thanks Erez > > > > bar-tal1@inter.net.il > > > > > > Sent via Deja.com http://www.deja.com/ > Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: info of the ethernet interface !! Date: Mon, 16 Aug 1999 09:13:37 GMT From: "Juergen Frank" Organization: Talkway, Inc. Message-ID: <5DQt3.3718$pO3.42820@c01read02-admin.service.talkway.com> Followup-To: comp.os.vxworks Hi, my name is Juergen Frank and IŽm new in the working with vxWorks. So I need some help. How I get some information about the ethernet interface. (like 10/100 MBit, count of bytes send/rec. etc.) I found some structs (like ifnet), but I donŽt found an exact description of them. Can you help me ? byebye Juergen - -- Posted via Talkway - http://www.talkway.com Exchange ideas on practically anything (tm). --------------------------- Newsgroups: comp.os.vxworks,comp.parallel.mpi,comp.parallel.pvm Subject: SEXY STUFF 30826 Date: Sun, 15 Aug 1999 23:32:06 -0600 From: afbabe0092@aol.com Organization: ANGEL TEENS Message-ID: <150899233206@aol.com> Reply-To: wilder34@aol.com Free XXX: http://207.240.225.250 ,jKOrJQi --------------------------- Newsgroups: comp.os.vxworks Subject: Re: vxWorks and EST visionICE Date: Mon, 16 Aug 1999 02:17:32 GMT From: juan168@home.com Organization: @Home Network Message-ID: <37B77366.1B2CE64A@home.com> References: <7ovgp2$q43$1@nnrp1.deja.com> Interesting enough I just encountered this issue earlier this year. My application image was loaded later onto shell. The EST-ICE needs the static address and dynamic linker doesn't resolve the address until load time. There are couple ways to go around it. One is to simply compile everything as a standalone image and load the .st image into ICE for your debugging. Then recompile and break the image into vxWorks and application. The code logic are the same in either compilation, however, the address allocation isn't. So the drawback on this approach is that you may not be able to debug the "flaky" bugs. The second is to run the ICE with your either bootcode or vxWorks image. And load the application image onto the shell, I assume this is how you had it working. Once it's loaded, you can grab the address and symbol from the shell. From there, you may use the address like an absolute address. Good luck. Serge Blais wrote: > EST have a solution for tightly integrating into Tornado. > They use the same target server but provide their own back-end. > It makes using the emulator transparent to tornado. > This way you can debug in task mode instead of system mode. > > We have the CD here but don't have time to try. > We don't use the tornado environment and dynamic linking. > We have an Ethernet port on our target and download as so fast > that we would save little time by only loading the required pieces. > > We only use the host shell to prototype or exercise some functions > we are not sure about. > > Ask your EST representative. They have what you require. > > Serge. > > wrote in message news:7ovgp2$q43$1@nnrp1.deja.com... > > Greetings! > > > > I've just recently started working a project using an MPC860 and > > vxWorks. The team wants to begin using the EST (Embedded Support Tools) > > EST860 emulator and visionICE to do some debugging. They are currently > > using vxWorks' capability to dynamically link objects at run-time. The > > bootcode currently copies the application code over a network to a > > location in memory and executes from there. > > > > My question is how can I integrate this with visionICE? Can we easily > > use the current dynamic-linking scheme, or do we have to create a single > > (huge) executable with all symbols/objects linked in? Can we simply > > start the box normally, let the bootcode copy the application code into > > memory, and then have the visionICE break at that particular memory > > location? > > > > Has anyone done this? It seems like EST and Wind River are comfortable > > with each other, so I would guess this is easy to solve... > > > > Thanks! > > Bret > > bhawkins@prodigy.net > > > > > > Sent via Deja.com http://www.deja.com/ > > Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: info of the ethernet interface !! Date: Mon, 16 Aug 1999 12:27:51 +0200 From: "Christian Doppelbauer" Organization: VBS-Newsserver Message-ID: <934799306.152605@news.vbs.at> References: <5DQt3.3718$pO3.42820@c01read02-admin.service.talkway.com> you could start with the "show" routines. netShow, tcpShow, tcpstatShow, ipShow, udpShow ........ and Show routines for your adapter, like in my case eneShow() for the ne2000 interface. Note: you have to configure the show routines to your vxworks image ! Juergen Frank wrote in message news:5DQt3.3718$pO3.42820@c01read02-admin.service.talkway.com... > Hi, my name is Juergen Frank and IŽm new in the working with vxWorks. > So I need some help. > How I get some information about the ethernet interface. (like 10/100 > MBit, count of bytes send/rec. etc.) > > I found some structs (like ifnet), but I donŽt found an exact > description of them. Can you help me ? > > byebye Juergen > -- > Posted via Talkway - http://www.talkway.com > Exchange ideas on practically anything (tm). > --------------------------- End of New-News digest ********************** From owner-vxwexplo-process Mon Aug 16 08:17:09 1999 From: "John R. Moore III" Date: Mon Aug 16 08:17:13 PDT 1999 Subject: Re: PCI support in VxWorks (x86) > > Hello, > Does anybody know what is really implemented in VxWorks? Does VxWorks > configure the bus and enumerate the PCI-devices? Or it counts on BIOS to do > the "dirty work"? > > Thanks, > Rasty > VxWorks depends on the bios to configure the bus. It does provide you with some routines to read and write configuration space and interrogate the bus for particular device ID's etc. -- ------------------------------------------------------------ |John R. Moore | Voice -> 703 448 1683 x229 | |Principal Engineer | FAX -> 703 893 5494 | |EMAIL: | On the WEB! | |jrm@mclean.sparta.com | http://www.mclean.sparta.com | |___________________________|______________________________| | | | | /\\ SPARTA, Inc. | | | ///\\ 7926 Jones Branch Drive | | | /////\\ Suite 900 | | | ///// \\ McLean, VA 22102 | | | / \\\\\ \\ 703-448-0120 | | | \ \\\\\ // | | | \ ////// | | | \////// SPARTA | | | \//// Pride In Performance | | | \// -------------------- | | ------------------------------------------------------------ From owner-vxwexplo-process Mon Aug 16 08:44:30 1999 From: Vxworks Exploder Date: Mon Aug 16 08:44:34 PDT 1999 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Fri Aug 13 04:00:10 PDT 1999 Subject: Q: symFindByName Subject: Re: question: how do I get a link map? Subject: Re: Q: symFindByName Subject: Re: cacheDmaMalloc question Subject: Serial I/O characters Subject: Re: Memory leaks detection in VxWorks Subject: DiskOnChip 2000 and VxWorks on X86 platform Subject: Re: Scandisk/Chkdsk - executable or source Subject: Re: Tornado II/WindSh question Subject: Re: Tornado II/WindSh question Subject: Re: Cnvtg to T2 (C++ exceptions) Subject: Reboot Problem Subject: Sending info back to a tool from target? using wtx Subject: Re: Sending info back to a tool from target? using wtx Subject: Re: Converting to Tornado II Subject: Re: MULTI tools Subject: vxWorks and EST visionICE Subject: Re: vxWorks and EST visionICE Subject: Re: why/what memPartCreate()? Subject: Re: using SCSI Subject: Re: Sending info back to a tool from target? using wtx Subject: Basic Info Subject: comp.os.vxworks archive? ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Q: symFindByName Date: Thu, 12 Aug 1999 11:29:31 GMT From: ulf_franke@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7oub6k$u5l$1@nnrp1.deja.com> Hello, the function symFindByValue() works well but symFindByName() does'nt. - -> symFindByName( sysSymTbl, "printf", &value, &type ) value = -1 = 0xffffffff = tmenu.o_bss + 0xd6c66643 - -> errnoGet value = 1835009 = 0x1c0001 - -> printErrno 0x1c0001 S_symLib_SYMBOL_NOT_FOUND - -> lkup "printf" _fdprintf 0x2801f20c text (vxWorks.sym) _fprintf 0x28033988 text (vxWorks.sym) _printf 0x2801f02e text (vxWorks.sym) Do you have experience with symFindByName(). VxWorks (for men A9) version 5.3.1. Kernel: WIND version 2.5. Mit freundlichen Gruessen / Best regards Ulf Franke P.S: Please mail all support requests to support@men.de   (holiday-proof)! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ulf Franke . MEN Mikro Elektronik GmbH . Software Design . Phone + 49 / 9 11 / 99 33 5-67 . Fax + 49 / 9 11 / 99 33 5-95 . E-Mail Ulf.Franke@men.de . WWW http://www.men.de . Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: question: how do I get a link map? Date: 12 Aug 1999 12:04:34 GMT From: johan.borkhuis@peektraffic.nl Organization: XS4ALL Internet BV Message-ID: <7oud8i$9jj$1@news1.xs4all.nl> References: <0pis3.113$Wo1.5403@nuq-read.news.verio.net> Keith Kmichik wrote: : I've just started using tornado 2.0. When using project, how can I get a : link map? Look at http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html Groeten, Johan - -- o o o o o o o . . . ___________________________________ o _____ || Johan Borkhuis | .][__n_n_|DD[ ====_____ | johan@borksoft.xs4all.nl | >(________|__|_[_________]_|________________________________| _/oo OOOOO oo` ooo ooo 'o!o!o o!o!o` --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Q: symFindByName Date: 12 Aug 1999 12:42:30 GMT From: chc@nasa2.ksc.nasa.gov (Charles H. Chapman) Organization: NASA, Kennedy Space Center Message-ID: References: <7oub6k$u5l$1@nnrp1.deja.com> On Thu, 12 Aug 1999 11:29:31 GMT, ulf_franke@my-deja.com wrote: > >-> symFindByName( sysSymTbl, "printf", &value, &type ) >value = -1 = 0xffffffff = tmenu.o_bss + 0xd6c66643 >-> errnoGet >value = 1835009 = 0x1c0001 >-> printErrno 0x1c0001 >S_symLib_SYMBOL_NOT_FOUND > >-> lkup "printf" >_fdprintf 0x2801f20c text (vxWorks.sym) >_fprintf 0x28033988 text (vxWorks.sym) >_printf 0x2801f02e text (vxWorks.sym) > >Do you have experience with symFindByName(). Yep, you may have answered your own question above. When you did the lkup "printf", notice anything interesting about the symbols it reported? They all begin with underscore! You have to specify the leading underscore to lookup a symbol with symFindByName because it does an exact match with symbols in the table. Chuck --------------------------- Newsgroups: comp.os.vxworks Subject: Re: cacheDmaMalloc question Date: Thu, 12 Aug 1999 12:36:21 GMT From: dixon@crd.ge.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7ouf44$pc$1@nnrp1.deja.com> References: <7orc34$nbr$1@news2.inter.net.il> In article <7orc34$nbr$1@news2.inter.net.il>, "Erez Bar-Tal" wrote: > Hi all > I am writing an END driver and facing the followong problem. > My NIC has its own DMA therefor I have to allocate non-cache buffer for it, > I am doing it using cacheDmaMalloc. > My problem is when the mux calls my send function and passes the data > I have notice that the data resedent in a cache area (address stating with > 0x8...) > even though I have initialize the cluster pool memory with cacheDmaMalloc. > Right now i am coping the data to another preallocated buffer with > cacheDmaMalloc You should not need to do this. cacheDmaMalloc allocates memory on a page boundary and then marks each page as non-cacheable. The real issue is that you want to be sure that you dma the current information on the page. vxWorks has routines to invalidate the cache.Look at the cacheFlush documentation. HTH standard disclaimers apply > but its taking a lot of runnig time. > can I force the system to supply me a non-chache buffer for sending ? > > Any help will be appriciated > > Thanks Erez > > bar-tal1@inter.net.il > > Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Serial I/O characters Date: Thu, 12 Aug 1999 14:21:02 +0800 From: Tiger Nov Organization: Hewlett Packard Cupertino Site Message-ID: <37B267CE.67E47EC4@non-hp-china-om2.om.hp.com> Help! When I use read() to read data from serial port buffer, I found that the MSB bit of all charactera is cleared. I wander whether the default BSP for i80386 has some limits but I do not know how to resolve it. Any suggestions are appreciated. Thanks, TigerNov e-mail: zhi-xin_tao@non-hp-china-om2.om.hp.com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Memory leaks detection in VxWorks Date: Thu, 12 Aug 1999 14:31:41 GMT From: John or Jenn Organization: Who, us organized??? Message-ID: References: In article <934440539.23683@www.remarq.com> yuval_lorian, Yuval.Lorian@ecitele.com writes: >Try CodeTest from WindRiver. It has two functions: memory >leaks and code coverage. You can buy it with one option or >both of them. RTI¹s MemScope does this as well (and doesn¹t require instrumenting your sourece code). It¹s part of the PerformancePak (bundled with a performance profiler). --------------------------- Newsgroups: comp.os.vxworks Subject: DiskOnChip 2000 and VxWorks on X86 platform Date: Thu, 12 Aug 1999 15:50:41 +0100 From: "Facilities Rolls-Royce" Organization: UUNET WorldCom server (post doesn't reflect views of UUNET WorldCom Message-ID: <7oun31$4pc$1@lure.pipex.net> Hi, I am trying to boot and run VxWorks from a DiskOnChip 2000 device on an Ampro DX4i PC/104 core module. VxWorks apprears to avoid the BIOS and fails to attach to the disk as the C drive; dos does exactly this. Does anyone know how to get VxWorks to attach to the DOC2000 device as if it were an ATA device? Or do I need TFFS from Windriver Thanks, Duncan Luce --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Scandisk/Chkdsk - executable or source Date: Thu, 12 Aug 1999 15:00:30 GMT From: philpulley@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7ouni6$7g9$1@nnrp1.deja.com> References: <37B17F07.41C67EA6@fzi.de> We asked a similar question recently via the newsgroup and someone sent us a zipped archive of the RTS software mentioned in another reply,including source. I don't know where it came from or if there are any licensing issues. We have built it under Tornado 1.0.1 for PowerPC and it builds OK. We haven't yet done much testing but it looks promising. If you want me to send you the archive, on the same basis that I received it, let me know. Phil Pulley Penny & Giles Aerospace Ltd email: ppulley@pgaero.co.uk In article <37B17F07.41C67EA6@fzi.de>, Torsten Rupp wrote: > Hello, > > I'm looking for a program like the DOS scandisk or chkdsk running under > VxWorks 5.3 which is able to detect and repair errors on a FAT16 > volume. Is there some company selling such a program or is there a > sourcecode available which could be ported to VxWorks? Thank you for > any help. > > Torsten Rupp > > -- > Computer Science Research Center (FZI) phone : +49-721-9654-330 > Mobility Management and Robotics fax : +49-721-9654-309 > Haid-und-Neu-Str. 10-14 e-mail: rupp@fzi.de > D-76131 Karlsruhe (Germany) www : www.fzi.de/robot > Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado II/WindSh question Date: Thu, 12 Aug 1999 15:31:16 GMT From: elzorro@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7oupc4$8si$1@nnrp1.deja.com> References: <7osmhl$pho$1@nnrp1.deja.com> <37B1EDBA.2D74C6DB@ciprico.com> In article <37B1EDBA.2D74C6DB@ciprico.com>, Mike Beede wrote: > > First of all, the tcl init file ".wind/windsh.tcl" that the docs > say is searched for -- isn't. The only part that is correct is > that if you have HOME set, it will look in there for it. So, > make sure (I'm assuming you're running on NT, by the way--I > assume the UNIX version is similar) that HOME is set to something > like "C:\". Then create a file called "windsh.tcl" in that > directory with the line > > cd "whatever directory" > > That should do it, based on my experiments. That did work. Thanks. It's important to use the forward slash ('/') though, instead of the backward slash ('\'). Also, the tcl script should go in %HOME%/.wind, rather than %HOME%. Aside from those nits though, your tip worked like a charm. Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado II/WindSh question Date: Thu, 12 Aug 1999 10:55:14 -0500 From: Mike Beede Organization: Ciprico Inc. Message-ID: <37B2EE62.8B791A0A@ciprico.com> References: <7osmhl$pho$1@nnrp1.deja.com> <37B1EDBA.2D74C6DB@ciprico.com> <7oupc4$8si$1@nnrp1.deja.com> elzorro@my-deja.com wrote: > > > It's important to use the forward slash ('/') though, instead > of the backward slash ('\'). Also, the tcl script should go > in %HOME%/.wind, rather than %HOME%. You caught me -- I didn't really test that part. I assume that the backslash would quote the quote and do an amusing tcl thing. Interesting about the .wind -- in investigating the problem I had created a windsh.tcl file in about 40 directories, two of which were / and /.wind. I never noticed that I was getting the .wind one.... Thanks. Mike --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Cnvtg to T2 (C++ exceptions) Date: Thu, 12 Aug 1999 12:11:18 -0400 From: "Sohacki, Timothy [NCRTP:CX10:EXCH]" Organization: Nortel Networks Message-ID: <37B2F226.B2E4DB5B@americasm01.nt.com> References: <37AEF763.5594AB79@lmco.com> <37AF0D13.E25724BB@delphi.com> <934262700.26718@www.remarq.com> <37B04C97.7DA0101B@americasm01.nt.com> <934437521.23340@www.remarq.com> I found it in the "Tornado 2.0 Release Notes," page 30 ... later I tried to look it up in the GNU guide, but didn't see it. Cheers, Tim. yuval_lorian wrote: > > Hi, > > I was looking for this option, too. > > But, as far as i ckeck, there isn't such an option in the > GNU compiler, at least according to the GNU Tookit User's > Guide, Tornado 2.0 Edition 1 (Using GNU CC for version > 2.7.2, section 2 "GNU CC Command Options"). > > I'll glad to here that i missed it or that it is > undocumented feature. > > Regards, > Yuval. > - -- Tim Sohacki, Nortel Networks email: sohacki@nortelnetworks.com --------------------------- Newsgroups: comp.os.vxworks Subject: Reboot Problem Date: Thu, 12 Aug 1999 22:10:02 +0530 From: madhu Organization: Lucent Tech. Message-ID: <37B2F8E1.96A4B6D@lucent.com> Hi Our Target is PC486 based. with out Key Board. We are facing problem in rebooting the Target by calling reboot ( ). We also have a Development Target with Console and Keyboard for Debuggin. On this development target the reboot works properly. I doubt the reboot uses some Keybord Queue for reboot. Can any body figure out a solution for this problem TIA Bhadri --------------------------- Newsgroups: comp.os.vxworks Subject: Sending info back to a tool from target? using wtx Date: Thu, 12 Aug 1999 19:50:58 GMT From: cvillone@yahoo.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7ov8iu$kdr$1@nnrp1.deja.com> What is the easiest way to send data back to an attached tool from the target using the wtx protocol? The documentation is confusing and I'm not getting anywhere fast. Thanks, Chris Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Sending info back to a tool from target? using wtx Date: Thu, 12 Aug 1999 13:09:05 -0700 From: "John Finley" Organization: Kivala Systems, Inc. Message-ID: <7ov9h9$31h@dfw-ixnews21.ix.netcom.com> References: <7ov8iu$kdr$1@nnrp1.deja.com> Writing to a VIO channel works OK for target-initiated transfers. Do you have a specific problem to solve or just trying to figure out how it all works? John - -------------------------------------------------- John Finley Kivala Systems, Inc. Project Manager (619) 689-0032 john@kivala.com http://www.kivala.com - -------------------------------------------------- VxTool - Build Tornado Apps with MS Visual Basic - -------------------------------------------------- wrote in message news:7ov8iu$kdr$1@nnrp1.deja.com... > What is the easiest way to send data back to an attached tool from the > target using the wtx protocol? The documentation is confusing and I'm > not getting anywhere fast. > > Thanks, > Chris > > > Sent via Deja.com http://www.deja.com/ > Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Converting to Tornado II Date: Thu, 12 Aug 1999 20:56:00 GMT From: Marjorie Krueger Organization: Vixel Message-ID: <37B33516.362AD9C9@vixel.com> References: <37AEF763.5594AB79@lmco.com> <37AF0D13.E25724BB@delphi.com> <934262700.26718@www.remarq.com> yuval_lorian wrote: > > There are four major problems that we found while trying to > upgrade to Tornado 2.0: (snip > 3. The SNMP toolkit is not fully compatible and there is a > memory leaks in the tSnmpd task. What did you do to deal with the memory leaks? I'm about to port my SNMP agent to VxWorks under Tornado 2. I thought this agent code was the same as the agent code under Tornado 1.0?? What did you find that was not compatible between Tornado 1.0 and 2.0? Thanks! Marjorie Krueger Vixel Corporation --------------------------- Newsgroups: comp.os.vxworks Subject: Re: MULTI tools Date: Thu, 12 Aug 1999 21:08:50 GMT From: Marjorie Krueger Organization: Vixel Message-ID: <37B33819.E5CC62E0@vixel.com> References: <37AE9FA1.E51394E2@ue.bosch.de> We used GreenHills MULTI on a previous project and IMHO it is a much better debugging and compile/build environment than Tornado 2.0 The one drawback was the extremely restrictive way they license the product (requires a "license server" for each instance of compile and debug sessions) And, we got much better support from Greenhills than we do from WindRiver :-) However, we were NOT using MULTI development tools for Tornado/VxWorks, we were using MULTI for the I960 board with our own home grown OS. Oleg Chtchoupak wrote: > > Has anyone had experience with Green Hills "MULTI" development tools for > > Tornado/VxWorks? I am evaluating it for an upcoming project and would > appreciate any feedback. > Thanks. > > Oleg Chtchoupak. > Oleg.Chtchoupak@signalbau-huber.de --------------------------- Newsgroups: comp.os.vxworks Subject: vxWorks and EST visionICE Date: Thu, 12 Aug 1999 22:10:49 GMT From: bhawkins@prodigy.net Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7ovgp2$q43$1@nnrp1.deja.com> Greetings! I've just recently started working a project using an MPC860 and vxWorks. The team wants to begin using the EST (Embedded Support Tools) EST860 emulator and visionICE to do some debugging. They are currently using vxWorks' capability to dynamically link objects at run-time. The bootcode currently copies the application code over a network to a location in memory and executes from there. My question is how can I integrate this with visionICE? Can we easily use the current dynamic-linking scheme, or do we have to create a single (huge) executable with all symbols/objects linked in? Can we simply start the box normally, let the bootcode copy the application code into memory, and then have the visionICE break at that particular memory location? Has anyone done this? It seems like EST and Wind River are comfortable with each other, so I would guess this is easy to solve... Thanks! Bret bhawkins@prodigy.net Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: vxWorks and EST visionICE Date: Thu, 12 Aug 1999 23:24:09 GMT From: "Serge Blais" Organization: MetroNet Communications Group Inc. Message-ID: References: <7ovgp2$q43$1@nnrp1.deja.com> Reply-To: "Serge Blais" EST have a solution for tightly integrating into Tornado. They use the same target server but provide their own back-end. It makes using the emulator transparent to tornado. This way you can debug in task mode instead of system mode. We have the CD here but don't have time to try. We don't use the tornado environment and dynamic linking. We have an Ethernet port on our target and download as so fast that we would save little time by only loading the required pieces. We only use the host shell to prototype or exercise some functions we are not sure about. Ask your EST representative. They have what you require. Serge. wrote in message news:7ovgp2$q43$1@nnrp1.deja.com... > Greetings! > > I've just recently started working a project using an MPC860 and > vxWorks. The team wants to begin using the EST (Embedded Support Tools) > EST860 emulator and visionICE to do some debugging. They are currently > using vxWorks' capability to dynamically link objects at run-time. The > bootcode currently copies the application code over a network to a > location in memory and executes from there. > > My question is how can I integrate this with visionICE? Can we easily > use the current dynamic-linking scheme, or do we have to create a single > (huge) executable with all symbols/objects linked in? Can we simply > start the box normally, let the bootcode copy the application code into > memory, and then have the visionICE break at that particular memory > location? > > Has anyone done this? It seems like EST and Wind River are comfortable > with each other, so I would guess this is easy to solve... > > Thanks! > Bret > bhawkins@prodigy.net > > > Sent via Deja.com http://www.deja.com/ > Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: why/what memPartCreate()? Date: Fri, 13 Aug 1999 04:15:17 GMT From: David Hamel Organization: @Home Networks. Message-ID: <37B39B8F.B8185572@ntanet.net> References: <7ovhrj$qt7$1@nnrp1.deja.com> bhaveshpathak@my-deja.com wrote: > 1. PART_ID memPartCreate(char *pPool, unsigned poolSize); > > should pPool is input parameter (assigned to some address in the > memory) or it is output parameter (will contain correct value > when memPartCreate() returns; pPool is an address where your pool starts. > 2. Why one should use memPart*() when malloc() is available? > Does using memPartCreate() instead of malloc() this improve > performance? VxWorks' malloc() is actually implemented something like this. ...... PART_ID sysMemPartId; sysMemPartId = memPartCreate(FREE_RAM_ADDRS, (sysMemTop() - FREE_RAM_ADDRS)); ...... char * malloc(size_t size) { return (memPartAlloc(sysMemPartId, size)); } One would use memPart* functions when the region of memory has a desired caching policy, or all calls to memPartAlloc use a standard size in order to prevent memory fragmentation, or You wished to implement you own custom memory heap library. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: using SCSI Date: Fri, 13 Aug 1999 04:20:50 GMT From: David Hamel Organization: @Home Networks. Message-ID: <37B39D4A.8732D2AB@ntanet.net> References: <7ov6fi$724@overload.lbl.gov> Just for the record, the phrase "High-level" format didn't exist until Microsoft called their file system creation software "format.com". format.com formats and creates a FAT filesystem on floppy diskettes but on hard disk drives it only creates the filesystem and it doesn't format them. Wu, Huang wrote: > > When you say the disk is not formatted. You mean it is not low level > formatted or high level formatted? You may need a SCSI master to do a low > level format first, then high level format (this may be not necessary). > > Huang Wu > National Research Council Canada > > -----Original Message----- > From: vxwexplo@lbl.gov [mailto:vxwexplo@lbl.gov] > Sent: Thursday, August 12, 1999 10:22 AM > To: vxworks_users@csg.lbl.gov > Subject: using SCSI > > Submitted-by owner-vxwexplo-process Thu Aug 12 07:21:41 > 1999 > Submitted-by: Toni Romero > > Hello Vxworkers ! > > My working platform is VMEbus with Radstone CPU46. I have > been fitted to the > CPU46 a MXES-1 card with the SCSI controller WD33c93. I have > a Quantum > fireball ST(no formatted). > > When I define the SCSI_AUTO_CONFIG in the config.h, the > following > information is prompted to > the terminal.. > > Auto-configuring SCSI bus... > > ID LUN VendorID ProductID Rev. Type Blocks BlkSize > pScsiPhysDev > -- --- -------- ---------------- ---- ---- -------- ------- > ------------ > 6 0 0 > 305883 305882 > 0x00fb7cf4 > > First, the fields Block and BlkSize has any relation with > disk > capacity(4Gbytes) ? > > After that I undefine the SCSI_AUTO_CONFIG in the config.h > and proceed to > perform a block device an partition as describe in vxworks > manual, with no > error prompted. > > I follow the intructions in the VxWorks manual an I try to > initialize a dos > file system > but vxworks hangs.. using dosFsMkfs( ). > > If I interpret correctly the manual, a dos file system > initialized is > require to format the disk. > > I don't what is happens, but I will be pleasure if someone > knows how to > modify the > usrScsiconfig( ) to set up the disk. > > thanks in advance > > Toni Romero email: tromero@nte.es > Space Division Development Engineer > > NTE S.A. Barcelona (SPAIN) > > ********** > > This is a user group mailing list for vxWorks related > topics > Mail articles to vxwexplo@lbl.gov for 'explosion' > Include the word VxWorks or Tornado to penetrate SPAM > filters > edit off the trailer to avoid bounce filters > Send subscription requests & comments to > vxwexplo-request@lbl.gov --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Sending info back to a tool from target? using wtx Date: Fri, 13 Aug 1999 06:03:02 GMT From: oliver_fuchs@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7p0cej$c2q$1@nnrp1.deja.com> References: <7ov8iu$kdr$1@nnrp1.deja.com> try the following script in the shell: ioGlobalStdSet(0,0) ioGlobalStdSet(1,1) ioGlobalStdSet(2,2) viofd=open("/vio/0") ioGlobalStdSet(0,viofd) ioGlobalStdSet(1,viofd) ioGlobalStdSet(2,viofd) logFdSet(viofd) this will redirect all prints on the target to the shell if you start the targetserver with the option -C, all prints are redirected to the targetserver In article <7ov8iu$kdr$1@nnrp1.deja.com>, cvillone@yahoo.com wrote: > What is the easiest way to send data back to an attached tool from the > target using the wtx protocol? The documentation is confusing and I'm > not getting anywhere fast. > > Thanks, > Chris > > Sent via Deja.com http://www.deja.com/ > Share what you know. Learn what you don't. > Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Basic Info Date: Fri, 13 Aug 1999 14:48:48 +0600 From: "Igor V.Ilyin" <5312-ilyin@cctelcom.nsu.ru> Organization: NSU Message-ID: <37B3DBF0.C107CB45@cctelcom.nsu.ru> Hi All. I want to find any basic information on system VxWorks and Tornado. Can somebody tell any Intrnet address where I can find such information Beforehand thank. - ------------------------------------- Igor --------------------------- Newsgroups: comp.os.vxworks Subject: comp.os.vxworks archive? Date: Fri, 13 Aug 1999 09:50:50 +0100 From: Simon Roberts Message-ID: <37B3DC6A.9A45A06A@roke.co.uk> Is there an up to date archive of this newsgroup (except for the one at Windsurf which does not seem to have anything but very old posts) ? Cheers, Simon. --------------------------- End of New-News digest ********************** From owner-vxwexplo-process Mon Aug 16 08:48:54 1999 From: "Woolverton, Eric D." Date: Mon Aug 16 08:48:58 PDT 1999 Subject: Tornado 2 Make Dependencies Has anyone seen the following problem or know how to get around it? I have the following directories release release/src release/inc work work/changes In my project, I add the source files from the release/src directory with the exception on the source files that I have changed. Then I add the source files from my work/changes directory. I place the work/changes and release/inc directories into my compiler include path in that order. Now, here is where the Tornado make dependencies utility fails. If I have an include file in my work/changes directory as well as the release/inc directory, I get two dependencies (once I even saw three!!) for the same include file. The first dependency points to the work/changes directory as expected. The second dependency points to the release/src directory. Yes, I said the release/src directory. The file does not even exist in this directory. I have tried regenerating all of the dependencies a million times with the same results. I even deleted the Makefile and regened again with no success. Any ideas? Eric Woolverton (410) 765-0834 Eric_D_Woolverton@md.northgrum.com Northrop Grumman From owner-vxwexplo-process Mon Aug 16 18:58:51 1999 From: Fred Roeber Date: Mon Aug 16 18:58:54 PDT 1999 Subject: Re: cacheDmaMalloc question On Mon, 16 Aug 1999, Erez Bar-Tal wrote about cacheDmaAlloc: > thanks but it is not working all the times, somtime i am not getting > a valid data out of the port. any other ideas I didn't see where you said what board you are using. There is a "problem" with the cacheDmaAlloc function on some boards. What can happen with some boards is that the BSP implementer defines the cachDmaAlloc function to be nothing more than a normal memPartAlloc call. I have seen this with some moto boards. The reasoning is that the processors on the boards implement snooping of local peripheral access so they don't need to do anything special for setting up buffers to be used by the on board peripherals. The "problem" is that the processors don't snoop remote accesses to on-board memory so you can have the symptons you are seeing. Ask someone who knows your board's BSP well if this could be an issue; it really depends on the board and peripheral device you are using. A way around this is to use the basic vmLib commands to set one or more pages of memory to be explicitely non cached. Again, the details of this depend on the processor you are using. Just some other things to consider. Sorry I can't be more explicit but every board architecture is a little different in this area. Fred dixon@crd.ge.com wrote: > In article <7orc34$nbr$1@news2.inter.net.il>, > "Erez Bar-Tal" wrote: > > I am writing an END driver and facing the followong problem. > > My NIC has its own DMA therefor I have to allocate non-cache buffer > > for it, > > I am doing it using cacheDmaMalloc. > > My problem is when the mux calls my send function and passes the data > > I have notice that the data resedent in a cache area (address stating > > with 0x8...) even though I have initialize the cluster pool memory with > > cacheDmaMalloc. > > Right now i am coping the data to another preallocated buffer with > > cacheDmaMalloc > You should not need to do this. cacheDmaMalloc allocates memory > on a page boundary and then marks each page as non-cacheable. The > real issue is that you want to be sure that you dma the current > information on the page. vxWorks has routines to invalidate the > cache.Look at the cacheFlush documentation. | Fred J Roeber, BBN Systems & Technologies | | 4 John Clarke Road Middletown, RI 02842-5202 | | froeber@bbn.com 401-848-3548 | | TraceMaker product manager | | http://www.tracemaker.bbn.com | From owner-vxwexplo-process Mon Aug 16 23:09:52 1999 From: David Gasul Date: Mon Aug 16 23:09:56 PDT 1999 Subject: VxWorks nfs parameters This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01BEE880.4C4AC2B0 Content-Type: text/plain; charset="iso-8859-1" Hi, Here's a question regarding VxWorks & Tornado NFS tunable parameters. Does anybody know what the following parameters are and whether they're allowed to be changed: 1. nfsCacheSize 2. nfsMaxMsgLen 3. nfsSockBufSize Regards, David Gasul ------_=_NextPart_001_01BEE880.4C4AC2B0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable VxWorks nfs parameters

Hi,

Here's a question = regarding VxWorks & Tornado NFS tunable = parameters.

Does anybody know what = the following parameters are and whether they're allowed to be = changed:

  1. nfsCacheSize
  2. nfsMaxMsgLen
  3. nfsSockBufSize

Regards,

David Gasul

------_=_NextPart_001_01BEE880.4C4AC2B0-- From owner-vxwexplo-process Tue Aug 17 02:24:25 1999 From: David Laight Date: Tue Aug 17 02:24:29 PDT 1999 Subject: Re: VxWorks nfs parameters > Subject: VxWorks nfs parameters > Submitted-by: David Gasul A quick inspection on my system (T2 for ARM) gives the following answers: > > Does anybody know what the following parameters are and whether they're > allowed to be changed: > > 1. nfsCacheSize a) The amount of a file that is held locally to satify short reads and writes There is code that MAY allow for this being zero - but given (2a) it will never be zero. b) The size of a buffer (tagged onto the end of the control structure) allocated during nfsOpen. > 2. nfsMaxMsgLen a) Max fragment length for nfsFileWrite and nfsFileRead b) Initial value for nfsCacheSize > 3. nfsSockBufSize a) setsockopt( ??, 0xffff, 0x1001, &nfsSockBufSize ) > > Regards, > David Gasul nfsMaxMsgLen seems to be 8k - the 'usual' size for NFS transfers. nfsSockBufSize is 0x2710 - I guess anythingbig enough will do! These values all appear to be global. So any changes would have to be done when there are no nfs files open (the value of the parameter when the file is opend is not saved in the per file data area). I'm not sure what would happen if nfsMaxMsgLen > nfsCacheSize, or if nfsCacheSize > 8k. It is quite probable that reducing both nfsMaxMsgLen and nfsCacheSize (to the same value) will result in nfs using smaller tarnsfers. (cf [rw]size=n). David ---------------------------------------------------------------- David Laight email: dsl@tadpole.co.uk Tadpole Technology plc phone: +44 1223 278 256 Cambridge, UK fax: +44 1223 278 201 From owner-vxwexplo-process Tue Aug 17 04:00:11 1999 From: daemon@csg.lbl.gov Date: Tue Aug 17 04:00:15 PDT 1999 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Tue Aug 17 04:00:07 PDT 1999 Subject: Help with muxError() Subject: Re: ln7990end example and END_RCV_RTN_CALL Subject: Re: PCI support in VxWorks (x86) Subject: Re: Switching to vxWorks standby tasks? Subject: Re: Tornado 2 Make Dependencies Subject: lkup "" locks telnet Subject: Re: T2 & 333 MHz mv2604 Subject: Re: PCI support in VxWorks (x86) Subject: VME and Compact PCI Equipment CHEAP!!! Subject: EXTREMELY CHEAP erotic phone chat 104220 Subject: Re: Switching to vxWorks standby tasks? ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Help with muxError() Date: Mon, 16 Aug 1999 12:08:18 GMT From: Chris Adams Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7p8uvc$v81$1@nnrp1.deja.com> Hi, I am writing an END driver for the ads860 BSP on Tornado 1.0.1 with SENS 1.1. I am also running the driver on Tornado 2. I have basic packet transmission working, but am hitting trouble with passing state information to the MUX. I am using the vxPing() application (downloaded from the WRS web-site) to generate IP calls. Does anyone have an idea how I can achieve any of the following. I have a copy of the Network Protocol ToolKit (User's Guide) from WRS but this isn't very helpful. (i) How do I "proactively" tell the mux that my driver is unable to handle packets? muxError(END_ERR_DOWN) does not seem to be doing this - it continues to pass packets to my driver. Similarly, how can I then tell the mux that my driver is now able to handle packets ? Is this muxError(END_ERR_UP)? (ii) How do I tell the mux that a call to muxSend() failed in such a way that it notifies the application ? Returning I have tried returning ERROR with errno set to END_ERR_BLOCK and returning END_ERR_BLOCK directly. Neither method causes an error on the application's sendto() call. Thanks you in advance for any help you can give. Chris Adams. cm_adams@hotmail.com Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: ln7990end example and END_RCV_RTN_CALL Date: Mon, 16 Aug 1999 09:05:58 -0400 From: "Jeff Szczepanski" Organization: Time Warner Road Runner - Rochester NY Message-ID: <8_Tt3.1406$O02.34092@typhoon.nyroc.rr.com> References: <37B6D254.6645EAC9@galileo.co.il> <37b7e75d.13071986@news.inter.net.il> You are correct...a fairly clever way of dealing with the buffers..(simple and effective). Incidententally, if you can't allocate a buffer successfully at this point, the packet that you have already successfully received, essentially gets dropped by "re-using" it for the ring buffer rather than passing it up the protocol stack. In addition as a side note, there is a "bug" in the version of the code I have...the check (with the macro) for the receiveRtn == NULL, drops the packet if the protocol stack currently has no receive routine set. It is not documented when the receiveRtn would even be set to NULL, but in the case that it is, there is a memory leak of buffers since the protocol stack would normally have free'd up the alllocated memory. ie: The driver should free free the chain it in the NULL case of receiveRtn, otherwise you will lose buffers. Regards. Jeff =========================== Jeffrey R. Szczepanski InSciTek Microsystems, Inc. 635 CrossKeys Office Park Fairport, NY 14450 Ran Shalgi wrote in message news:37b7e75d.13071986@news.inter.net.il... > On Sun, 15 Aug 1999 16:44:36 +0200, Erez Bar-Tal > wrote: > > >Hi > >i am writing END device driver and i have to following question > >at ln7990end receive function the driver allocates > >pNewCluster and then join the pCluster(which hold the virtual address > >of the data) pointer to the pClBlk. > >my question is why join the pCluster and not the pNewCluster > >to the pClBlk and how pNewCluster get realesed. > > > >what are the neccessery step i need to do in order > >to pass a packet to the protocol (beside the one at tornado > >documentions) > > > >any help will be appriciated > >Thanks > >Erez > > > >erezb@galileo.co.il > > > I've been wondering about the same thing, and here's what I think > (this is just from reading the code. I don't have such a card to > experiment on) > > The driver begins with a ring buffer of clusters, and has some > descriptors pointing at them. When a new incoming packet arrives at > the card, DMA transfer has it placed in one of these clusters. To > avoid memcpy() operations, this cluster is the one that is passed on > to the protocol layer. BUT - here's the catch - the hardware DMA > descriptor is still pointing at it, and therefore it runs the risk of > being overrun by a later incoming packet. So what the driver does is > to detach this cluster from the ring buffer, allocate a new empty > cluster in its place, and attach this new cluster to the buffer. > > That is why you see pClBlk point to the old pCluster (this is the one > with the actualy packet data). This buffer is then "loaned" to the > protocol layer, and a new blank buffer (pNewCluster) is placed > in its place. > > At least, this is what I think is going on. If someone has a better > insight, please correct me. > > Ran Shalgi > Expand Networks, Inc > http://www.expand.com > > --- > Replace 127.0.0.1 with expand.com when replying by e-mail > > > > > > > Ran Shalgi > Expand Networks, Inc > http://www.expand.com > > --- > Replace 127.0.0.1 with expand.com when replying by e-mail > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PCI support in VxWorks (x86) Date: Mon, 16 Aug 1999 09:23:29 +0200 From: "Geurt Vos" Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <007801bee7b8$4cc30300$95cb09c0@BertB> I'm not entirely sure, but it looks as if VxWorks takes care of this. See the pciAutoConfigLib.c source file for more information. It has a complete description on what it does, and how it's done. It's in the src/drv/pci directory. What I don't know is whether this auto config routine is called automatically, or if you have to do it 'manually'. HTH, - -Geurt- > >Hello, >Does anybody know what is really implemented in VxWorks? Does VxWorks >configure the bus and enumerate the PCI-devices? Or it counts on BIOS to do >the "dirty work"? > >Thanks, >Rasty > Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Switching to vxWorks standby tasks? Date: Mon, 16 Aug 1999 11:55:58 -0500 From: Marty Schrader Organization: Fermilab Experimental Astrophysics Group Message-ID: <37B8429E.126C5859@fnal.gov> References: <37B83E73.AFA21355@lucent.com> This is a multi-part message in MIME format. - --------------3DF22C1279A6CAC7C5A087E7 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I don't understand -- you're talking about a task crashing? Is this because of a hardware error or something? Maybe a signal that does/does not happen on time? Whatever causes the original task to flop, what makes you sure the next invocation won't run into the same problem again? Do you have a method for analyzing/cleaning up the original problem? This is interesting. - -- Marty Schrader x6645 Fermilab Experimental Astrophysics Group (SDSS) consult0@fnal.gov - --------------3DF22C1279A6CAC7C5A087E7 Content-Type: text/x-vcard; charset=us-ascii; name="consult0.vcf" Content-Transfer-Encoding: 7bit Content-Description: Card for Marty Schrader Content-Disposition: attachment; filename="consult0.vcf" begin:vcard n:Schrader;Martin L. tel;fax:(630) 840-8274 tel;work:(630) 840-6645 x-mozilla-html:FALSE org:Fermi National Accelerator Laboratory;Experimental Astrophysics Group adr:;;;;;; version:2.1 email;internet:consult0@fnal.gov title:Project Engineer note;quoted-printable:under the auspices of:=0D=0A=0D=0A Fermilab Computing Division=0D=0A Integrated Systems Development=0D=0A Distributed Systems Projects x-mozilla-cpt:;0 fn:Martin L. Schrader end:vcard - --------------3DF22C1279A6CAC7C5A087E7-- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado 2 Make Dependencies Date: Mon, 16 Aug 1999 20:15:01 GMT From: Marjorie Krueger Organization: Vixel Message-ID: <37B87129.D07888EC@vixel.com> References: <7p9de1$a1s6@overload.lbl.gov> I've had a similar problem and tried the same things you tried, the only thing that fixed it for me was deleting the .c file from the project and re-adding it. For instance, I added a header file and a c file to the project, both in the same directory. The dependencies are built correctly and I can compile the c file. When I add an include for that new header file in a c file that previously existed in the project (in another directory), and rebuild that c file's dependencies, I see two instances of the header file in my dependencies list, one with the correct path, one with no path. The c file I just added the include statement to gets a "no rules to make ...." error. No matter what I do, the only way to fix this is to delete the c file from the project and re-add it. Looks like a Tornado 2 bug to me... "Woolverton, Eric D." wrote: > > Has anyone seen the following problem or know how to get around it? > > I have the following directories > > release > release/src > release/inc > work > work/changes > > In my project, I add the source files from the release/src directory with > the exception on the source files that I have changed. Then I add the > source files from my work/changes directory. I place the work/changes and > release/inc directories into my compiler include path in that order. > > Now, here is where the Tornado make dependencies utility fails. If I have > an include file in my work/changes directory as well as the release/inc > directory, I get two dependencies (once I even saw three!!) for the same > include file. The first dependency points to the work/changes directory as > expected. The second dependency points to the release/src directory. Yes, > I said the release/src directory. The file does not even exist in this > directory. I have tried regenerating all of the dependencies a million > times with the same results. I even deleted the Makefile and regened again > with no success. Any ideas? > > Eric Woolverton > (410) 765-0834 > Eric_D_Woolverton@md.northgrum.com > Northrop Grumman --------------------------- Newsgroups: comp.os.vxworks Subject: lkup "" locks telnet Date: Mon, 16 Aug 1999 16:36:14 -0400 From: "Sohacki, Timothy [NCRTP:CX10:EXCH]" Organization: Nortel Networks Message-ID: <37B8763E.D991E0DD@americasm01.nt.com> I have an interesting, albeit contrived, problem that I'm looking for advice on. telnet targetName - -> lkup "" o Scroll through the entire list (pressing RETURN many times) o At some point, the same point each time, the target completely locks up: No more network communication, no response to ping. It appears to be in my MV1603 BSP only if I #define INCLUDE_CPLUS_TOOLS. It is in VxWorks 5.3.1, but not, as far as I can tell, in 5.4. Thoughts? --------------------------- Newsgroups: comp.os.vxworks Subject: Re: T2 & 333 MHz mv2604 Date: Mon, 16 Aug 1999 14:19:37 GMT From: Charlie Grames Organization: Boeing Message-ID: <37B81DF9.3FC36683@nowhere.com> References: <37AADAE2.B5F40C7D@mr.picker.com> <37AAE39E.3F9845C8@mr.picker.com> <37AF493C.33474E20@nowhere.com> Sender: nntp@news.boeing.com (Boeing NNTP News Access) For anyone who is interested, I missed an important step in my previous posting. To determine the size of the page table on PowerPC architectures with VxWorks, add up ALL the resource sizes (i.e., memory size, VME space size, PCI space size, etc.) in sysPhysMemDesc in sysLib.c, round up to the next power of two, AND DIVIDE THE RESULT BY 128. The table must then be aligned on a boundary equal to the size of the table. Sorry for the previous misinformation. Charlie Grames The Boeing Company Charles.R.Grames @ boeing.com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PCI support in VxWorks (x86) Date: Tue, 17 Aug 1999 01:39:47 GMT From: lingsiva@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7paeh2$3bh$1@nnrp1.deja.com> For X86 Arch PC's. - -------------------- By default, Vxworks works does not scan the entire Pci bus to detect the devices and map the memory range into its Global Memory Map Table (MMU – PHYS_MEM_DESC) while booting up. It is the responsibility of device driver developer to provide a function that will detect the device and create an entry in to Global Memory Map Table. The Pc bios does this hard work for you and allocates resources for the pci devices. But Vxworks does not use this information to map this into its MMU table. This work we have to do. I have given the entire code bit and where to be inserted below. What Vxworks Does is: If INCLUDE_PCI is defined, it initializes the Pci Library PciConfigLibInit(….) and PciIntLibInit(). Note: If Pci device driver is to be implemented then INCLUDE_PCI must be defined. Memory Mapping of Pci Devices Vxworks provides three options to configure the Pci Devices 1) PCI_CONFIG_FORCE: The BSP through data tables, configuration macros, or some other static methods known at compile time, configures each device separately. The address and interrupt numbers for each of the device are known in advance and programmed directly into the device. 2) PCI_CONFIG_AUTO: This is typically a dynamic Pci bus configuration. This is similar to Bios pci resource assignment. No interrupt need to be known in advance. Only Memory pool and IO pool is to be passed to this library. This is not recommended because it is non portable from one chipset to another as per vxworks documentation. This is implemented in pciautoconfiglib.c in the BSP directory. 3) PCI_CONFIG_NONE.: This is used in a situation where an external agent configures the entire Pci bus. Like PC bios. In this case , all the PCI devices are already configured before the VXWORKS os IS started. By Default for X86 arcitecture, the 3rd option is chosen and is the preferred one. Pci Initialization Sequence 1) Any pci device MMU memory map table initialization must be done in sysHwInit() in sysLib.c that is called from usrConfig.c. 2) This initialization routine should only be called after the Pci Libraries (pciConfigLibInit & pciInitLibint) are initialized in sysHwInit(). 3) This should be done before any device dependent driver initialization is run 4) This should be done before usrMmuInit() routine in usrConfig.c is called. The Following is the code bit from sysLib.c #ifdef INCLUDE_PCI pciConfigLibInit (PCI_MECHANISM_1, PCI_CONFIG_ADDR, PCI_CONFIG_DATA, NONE); pciIntLibInit (); /* * PCI-to-PCI bridge initialization should be done here, if it is. * It is not necessary for Intel 430HX PCISET, which splits * the extended memory area as follows: * - Flash BIOS area from 4GByte to (4GB - 512KB) * - DRAM memory from 1MB to a maximum of 512MB * - PCI memory space from the top of DRAM to (4GB - 512KB) */ #ifdef INCLUDE_MY_DEVICE_DRIVER sysCirrusPciInit(); This is our routine. #endif #ifdef INCLUDE_LN_97X_END sysLan97xPciInit (); #endif /* INCLUDE_LN_97X_END */ Also it is better to include the source code for the required driver in this file itself as shown below:.. Thus we don’t have to include any system specific header files. #ifdef INCLUDE_MY_DEVICE_DRIVER #include "Cirrus/VgaSrc.c" #endif The actual location of the source code may be in any one of the following locations: $(WIND_HOME)/target/src/drv/OurDriver/ourDriver.c $(WIND_HOME/target/config/$(BSP)/ourDriver.c For x86 Vxworks, the window to access Pci is 1:1 mapping. I.e. no translation from CPU local address to Pci bus address is required. So whatever memory address assigned by bios to that particular device is used from MMU mapping. Note : If you use a VME bus then you have to do a translation. A sample Pci Mmu initialization is given below. #define CIRRUS_INTI_STATE_MASK (VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE) #define CIRRUS_INIT_STATE (VM_STATE_VALID| VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT) #define CIRRUS_VENDOR_ID 0x1013 #define CIRRUS_DEVICE_ID 0xa0 /*********************************************************************** ****************** sysCirrusPciInit() This is function is called from SysHwInit() in sysLib.c. if INCLUDE_PCI option is defined. This should be called only after pci intiliazition . This will scan pci bus to find the device with specific device id and vendior id. Then it will read the bar0 address and calulate the mem range and then add to the GDT SYS_PHYS_MEM structure thru a function sysMemMapAdd. And then enable the memory on the board through configuration space */ int sysCirrusPciInit() { ULONG dwBase0Addr; ULONG dwMemRange; ULONG dwTmpAddr; int pciBusNo; int pciDevNo; int pciFuncNo; /* find the bdf tuple */ if((pciFindDevice(CIRRUS_VENDOR_ID, CIRRUS_DEVICE_ID, 0, &pciBusNo, &pciDevNo, &pciFuncNo)) != OK) return; /* read the bar 0 address */ pciConfigInLong(pciBusNo, pciDevNo, pciFuncNo, PCI_CFG_BASE_ADDRESS_0, (unsigned int *) &dwBase0Addr); /* to calculate the size */ /* this code bit posted on this group by Geurt */ /* first write all 1's to bar 0*/ pciConfigOutLong(pciBusNo, pciDevNo, pciFuncNo, PCI_CFG_BASE_ADDRESS_0, 0xfffffff0); /* now read the bar0 */ pciConfigInLong(pciBusNo, pciDevNo, pciFuncNo, PCI_CFG_BASE_ADDRESS_0, (unsigned int *) &dwMemRange); /* restore the original value */ pciConfigOutLong(pciBusNo, pciDevNo, pciFuncNo, PCI_CFG_BASE_ADDRESS_0, dwBase0Addr); /* check if mem range is zero. if zero return false */ if(dwMemRange == 0 ) return; /* caluclate the size */ dwMemRange = ~(dwBase0Addr & PCI_MEMBASE_MASK) +1; /* mask of the lower bits as per pci2.1 spec */ dwBase0Addr = dwBase0Addr & PCI_MEMBASE_MASK; /* add to the memory table */ if ((sysMmuMapAdd( (void *) dwBase0Addr, (unsigned int) dwMemRange, (unsigned int) CIRRUS_INTI_STATE_MASK, (unsigned int) CIRRUS_INIT_STATE)) != OK) { logMsg("Could not map the device \n", 0,0,0,0,0,0); return; } /* now enable the cards memory */ pciConfigOutWord(pciBusNo, pciDevNo, pciFuncNo, PCI_CFG_COMMAND, PCI_CMD_MEM_ENABLE | PCI_CMD_MASTER_ENABLE); } regards, s.shiva Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.realtime,comp.arch.embedded,comp.os.vxworks,comp.sys.powerpc.misc,comp.arch.bus.vmebus Subject: VME and Compact PCI Equipment CHEAP!!! Date: Mon, 16 Aug 1999 22:37:42 -0500 From: "Sun Harbor Sales" Organization: SBC Internet Services Message-ID: Look here: http://www.ghg.net/wmcalpin/shsvmefs.htm Thanks, William --------------------------- Newsgroups: comp.os.vxworks Subject: EXTREMELY CHEAP erotic phone chat 104220 Date: Tuesday, 17 Aug 1999 00:48:40 -0600 From: babyzpatch@aol.com Organization: Grand Teentons] Message-ID: <17089900.4840@aol.com> Reply-To: jennyr@aol.com Want to talk with REAL horny girls? This is something VERY new in phone sex. The women on the line are NOT paid. They call for free phone sex with guys like YOU! Guys: 50 cents per minute Girls: TOTALLY FREE =====================>1-888-335-HOTT (toll-free) =====================>1-888-302-ORGY (toll-free) You can be billed discreetly directly to your phone bill. - ----------------------------------------------------------------- For gay talk call: 1-888-800-GUYS (toll-free) - ------------------------------------------------------------------- For Dominance & Submission Call: 888-700-WHIP - --------------------------------------------------------------------- I@svU`'5 --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Switching to vxWorks standby tasks? Date: Tue, 17 Aug 1999 10:39:49 +0100 From: Ian McGraw Organization: Lucent Technologies Message-ID: <37B92DE5.6FD9FAF9@lucent.com> References: <37B83E73.AFA21355@lucent.com> <37B8429E.126C5859@fnal.gov> The application here is a telecoms access network - we have subscribers that require a high level of service. On the system these are connections, serviced through high priority queue tasks. If one of our connection queue tasks suspends indefinitely we have a method that is called to clean up the various sub elements of the connection and bring everything down in a controlled way, freeing system resources and leaving the subscriber fully enabled (although the connection will have been dropped). The problem I am seeing is when the connection does loose communication with the queue task (this sometimes happens under heavy call load 100's of 1000's of calls) there is a part of the connection subsystem FSM that that is still attempting to communicate in a persistent manner (i.e. it won't ever give up), constantly posting messages to the now non existent queue task. In fact the messages are from the subscriber indicating they have gone 'on hook'. This causes this part of the system to hang and the clean up method is unable to finish it's task, our subscriber becomes disabled loosing service altogether. If we were able to quickly switch in a standby queue task just to consume any remaining events from our subscriber this might allow the clean up method to finish its task freeing system resource and leaving the subscriber fully enabled?? Marty Schrader wrote: > > I don't understand -- you're talking about a task crashing? Is this because of a > hardware error or something? Maybe a signal that does/does not happen on time? > Whatever causes the original task to flop, what makes you sure the next > invocation won't run into the same problem again? Do you have a method for > analyzing/cleaning up the original problem? This is interesting. > > -- > Marty Schrader x6645 > Fermilab Experimental Astrophysics Group (SDSS) > consult0@fnal.gov --------------------------- End of New-News digest ********************** From owner-vxwexplo-process Tue Aug 17 04:19:03 1999 From: "Ganesh S" Date: Tue Aug 17 04:19:07 PDT 1999 Subject: muxDevLoad call This is a multi-part message in MIME format. ------=_NextPart_000_0058_01BEE8D0.F8997240 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hello, We are implementing a End driver for vxWorks. We have found that the muxDevLoad calls the Driver load function twice. The first time the Driver load function has to return NULL and when it is called the second time,=20 the driver and end obj structures has to be initialised. We have also confirmed this by dumping the disassembly of the muxDevLoad. This has not been documented in the SENS manual/ man pages or does not exist in the sample code.=20 Please let us know why it is like this ? Thanks, Ganesh/Manish ------=_NextPart_000_0058_01BEE8D0.F8997240 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hello,
 
We are implementing a End driver for = vxWorks.
 
We have found that the muxDevLoad calls the Driver=20 load
function twice. The first time the Driver load = function=20 has
to return NULL and when it is called the second = time,=20
the driver and end obj structures has to be=20 initialised.
 
We have also confirmed this by dumping the=20 disassembly
of the muxDevLoad.
 
This has not been documented in the = SENS manual/=20 man pages or
does not exist = in the sample=20 code.
 
Please let us know why it is like this = ?
 
Thanks,
Ganesh/Manish
 
------=_NextPart_000_0058_01BEE8D0.F8997240-- From owner-vxwexplo-process Tue Aug 17 05:24:54 1999 From: "Seelhorst, Christoph" Date: Tue Aug 17 05:24:58 PDT 1999 Subject: File Writing Question Hi, I got some strange behaviour when writing to a formatted file : For my driver I introduced a function which writes to an ASCII readable formatted logfile. To avoid timing problems of the driver, the data are not written directly to the file, but - the application calls a function which puts the data (a structure consisting of a string plus several integers) to a message queue of length 20. msgQSend is called with NO_WAIT, so if the queue is full, the log-data are just skipped. - a low-priority task is reading the message queue (as long as there is something in it) and writes this to the file, using the VxWorks-supplied "fprintf" function. - if the driver stops, this task completes writing its queued data to the file and stops when the queue is empty. The idea is to separate the time-consuming formatted output from the realtime driver functionality. What happened was that during overnight tests the system hung, its socket connection to another process failed at some point (after several hours running). There was no logfile available for this run, the "write-to-log-queue" function failed to store further data to the queue because the write-to-file stopped with an "insufficient file space" message, though there was still ample disk space available. The driver itself was still running, but without that socket connection. We assumed that there was no memory left and thus the sockets failed (do they really need memory?). The first step was to stop logging after several occurrences of this error, plus the addition of a "fflush" after every 20 fprintf's. Both did not help. The logfile is not visible from the system before the driver has stopped, and the socket problem remained. The second step was to take out all informational messages from the logfile, only send the real error messages to the file. This reduced the number of lines in the logfile drastically and there was no longer that socket problem, the system continued to run overnight. Though the fact that the logfile was not visible when the driver was running still remains. It seems that VxWorks does not write to the file but is buffering all file output in memory until the end of the application. Nevertheless that low-priority task IS running, as no errors occur that the message queue is full, i.e. that task must run and get the data from the queue, and writes it somewhere ??? Is this explanation of the behaviour true, and can this be avoided somehow? Thanks in advance, Christoph Christoph Seelhorst, DaimlerChrysler Aerospace Space Division, Bremen, Germany From owner-vxwexplo-process Tue Aug 17 07:26:20 1999 From: "Slutsker, Rasty" Date: Tue Aug 17 07:26:24 PDT 1999 Subject: Re: PCI support in VxWorks (x86) This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01BEE8C4.B1EBF9BE Content-Type: text/plain Thank you very much all for the information. Rasty ------_=_NextPart_001_01BEE8C4.B1EBF9BE Content-Type: text/html Content-Transfer-Encoding: quoted-printable Re: PCI support in VxWorks (x86)

Thank you very much all for = the information.


Rasty

------_=_NextPart_001_01BEE8C4.B1EBF9BE-- From owner-vxwexplo-process Tue Aug 17 09:10:27 1999 From: "Kozel, Mark Mr ITT/FSC" Date: Tue Aug 17 09:10:30 PDT 1999 Subject: Dual Ethernet Cards We are currently a PPC604 / VME / Tornado 1.0.1 / vxWorks 5.2 with a Sun Solaris host. The Sun and PPC are connected via the PPC's ethernet port. We also have an additional ethernet daughter card on the PPC for a second LAN connections. Anyone have 2 ethernet connections running like this? Thanks, Mark ------------------------------------------- Got a few million clock cycles to spare? | Mark Kozel * KozelM@fscnet.vafb.af.mil | Lend them to SETI (Search for | ITT Federal Services - bldg. 6525 ms 5320 | Extraterrestrial Intelligence) and | PO Box 5728 VAFB, CA 93437 (805) 606-7928 | put your idle home computer to work. ------------------------------------------- http://setiathome.ssl.berkeley.edu From owner-vxwexplo-process Tue Aug 17 09:36:33 1999 From: David Laight Date: Tue Aug 17 09:36:37 PDT 1999 Subject: Re: File Writing Question Christoph, What sort of filesystem is your logfile on? If it is a remote file accessed through 'netDrv' (ie ftp or rsh) then the entire file is buffered on the target system until it is closed - when the entire file is written back. This would lead to the system running out of memory. If you access the remote file using NFS then data is written to the real file as you do the writes - subject to any bufferring. Unfortunately the last message(s) are still likely to be lost within the system if (when) things go badly wrong! (There is no real way arounf this.) David > Subject: File Writing Question > Submitted-by: "Seelhorst, Christoph" > > Hi, > > I got some strange behaviour when writing to a formatted file : > > For my driver I introduced a function which writes to an ASCII readable > formatted logfile. To avoid timing problems of the driver, the data are not > written directly to the file, but > - the application calls a function which puts the data (a structure > consisting of a string plus several integers) to a message queue of length > 20. msgQSend is called with NO_WAIT, so if the queue is full, the log-data > are just skipped. > - a low-priority task is reading the message queue (as long as there is > something in it) and writes this to the file, using the VxWorks-supplied > "fprintf" function. > - if the driver stops, this task completes writing its queued data to the > file and stops when the queue is empty. > > The idea is to separate the time-consuming formatted output from the > realtime driver functionality. > > What happened was that during overnight tests the system hung, its socket > connection to another process failed at some point (after several hours > running). There was no logfile available for this run, the > "write-to-log-queue" function failed to store further data to the queue > because the write-to-file stopped with an "insufficient file space" message, > though there was still ample disk space available. > The driver itself was still running, but without that socket connection. > > We assumed that there was no memory left and thus the sockets failed (do > they really need memory?). > The first step was to stop logging after several occurrences of this error, > plus the addition of a "fflush" after every 20 fprintf's. > Both did not help. The logfile is not visible from the system before the > driver has stopped, and the socket problem remained. > > The second step was to take out all informational messages from the logfile, > only send the real error messages to the file. This reduced the number of > lines in the logfile drastically and there was no longer that socket > problem, the system continued to run overnight. > Though the fact that the logfile was not visible when the driver was running > still remains. > > It seems that VxWorks does not write to the file but is buffering all file > output in memory until the end of the application. > Nevertheless that low-priority task IS running, as no errors occur that the > message queue is full, i.e. that task must run and get the data from the > queue, and writes it somewhere ??? > > Is this explanation of the behaviour true, and can this be avoided somehow? > > Thanks in advance, > > Christoph > > Christoph Seelhorst, > DaimlerChrysler Aerospace Space Division, Bremen, Germany ---------------------------------------------------------------- David Laight email: dsl@tadpole.co.uk Tadpole Technology plc phone: +44 1223 278 256 Cambridge, UK fax: +44 1223 278 201 From owner-vxwexplo-process Tue Aug 17 14:17:05 1999 From: "dave monachello" Date: Tue Aug 17 14:17:09 PDT 1999 Subject: Fair scheduling and vxWorks hi, Does anyone have any ideas about doing fair task scheduling and/or CPU time reservations under vxWorks? I'm currently investigating which will allow a fairly arbitrary mix of task scheduling requirements while guaranteeing a specified minimum of CPE time to each task. I realize that round robin scheduling can be done between tasks of the same priority. What I need is a method of fairness for tasks of different priorities. Any info is greatly appreciated. thanks, Dave Monachello From owner-vxwexplo-process Wed Aug 18 02:45:32 1999 From: Ian.D.Smith@kvaerner.com Date: Wed Aug 18 02:45:36 PDT 1999 Subject: mvme-172 problem Hi We have strange behavior with mvme172 target following use of new Tornado 1.0.1 distribution CD (change from release 2 to release 10). The 172 BSP remains the same across the tornado upgrade. The new target image seems to build 75k bigger than the previous version, and following a boot the 'RUN' LED on the 172 remains fully on implying the processor is still busy with something. For this test no user tasks are loaded or started. The target image built identically with previous version behaves normally (LED is dim). User tasks can be run normally but processor resource is limited. Spy shows nothing abnormal when no user tasks running, but when user tasks are run the 'kernel' percentages rise in step with the user task loading. The problem seems localized to the system controller as the same image running on a slave processor, in a multiprocessor configuration using shared memory objects, behaves normally. (i.e. LED on CPU2 is dim and full processor resource is available). The problem is not seen when mvme177 target images are built to similar configuration. Any ideas what our processor may be doing, or how do we start to find out what is causing the problem. (Is some driver still trying to initialize, or are we processing exceptions?) Thanks Ian -- Ian Smith Email: ian.d.smith@kvaerner.com Phone: +(44) 114 291 4506 ....................................................................... Item Subject: WINMAIL.DAT Couldn't convert Microsoft Mail Message Data item to text at a gateway. From owner-vxwexplo-process Wed Aug 18 04:00:11 1999 From: daemon@csg.lbl.gov Date: Wed Aug 18 04:00:15 PDT 1999 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Wed Aug 18 04:00:07 PDT 1999 Subject: Re: PCI support in VxWorks (x86) Subject: routing before SENS Subject: Re: T2 Internal compiler error Subject: tos field in IP Subject: Re: File Writing Question Subject: Re: PCI support in VxWorks (x86) Subject: Internet Resources - comp.os.vxworks Subject: Tornado 2.0 Symbol Table Subject: Re: VxWorks SNTP server Subject: T2 Internal compiler error Subject: Re: Dual Ethernet Cards Subject: logTask output on telnet and rlogin Subject: Help ! I will really appreciate ! Subject: Re: muxDevLoad call Subject: To where is the PC saved when interrupt generated? Subject: dr Subject: Re: Fair scheduling and vxWorks Subject: semMCreat returns Null for SEM_INVERSION_SAFE option Subject: Re: semMCreat returns Null for SEM_INVERSION_SAFE option Subject: Re: logTask output on telnet and rlogin Subject: Re: semMCreat returns Null for SEM_INVERSION_SAFE option ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: PCI support in VxWorks (x86) Date: Tue, 17 Aug 1999 11:26:05 GMT From: ulf_franke@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7pbgs6$pa4$1@nnrp1.deja.com> References: <7paeh2$3bh$1@nnrp1.deja.com> In article <7paeh2$3bh$1@nnrp1.deja.com>, lingsiva@my-deja.com wrote: > For X86 Arch PC's. > -------------------- > By default, Vxworks works does not scan the entire Pci bus to detect > the devices and map the memory range into its Global Memory Map Table > (MMU – PHYS_MEM_DESC) while booting up. It is the responsibility of > device driver developer to provide a function that will detect the > device and create an entry in to Global Memory Map Table. > Hello, I think the best way is to scan all PCI busses (0..255) and map all devices to sysPhysMemDesc[]. Ulf Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: routing before SENS Date: Tue, 17 Aug 1999 15:55:14 +0200 From: "Alon Cohen" Organization: NetVision Israel Message-ID: <7pblqi$mmg$1@news.netvision.net.il> vxWorks 5.3.1: 1. What is the order in which routing entries are scanned when routing a packet? - Order of creation, order of display, other... 2. When I do a routeNetAdd(), the new entry is displayed between 2 old ones. Not 1st and not last. Why ? Is there a good source for information on such internal stuff ? Thanks, Alon. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: T2 Internal compiler error Date: Tue, 17 Aug 1999 13:05:22 GMT From: DaveK Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7pbmm9$tcp$1@nnrp1.deja.com> References: <37B8671D.E99A6B8@orion.ksc.nasa.gov> In article <37B8671D.E99A6B8@orion.ksc.nasa.gov>, "David P. Floyd" wrote: > Has anyone experienced "Internal compiler errors" under Tornado II? > > We are using a MVME2604 PPC? We've had some trouble with it too. Lots of crashes with the optimisation turned on, although WR have now issued a patch that's meant to help - we haven't tried it out yet. The main thing that's caused us grief is trying to compile a module with a huge statically-initialised array. It contains menu items for our UI, so we're talking about an array of around 4500 instances of a smallish (19 members, 72 bytes) structure. Unfortunately the compiler kept on crashing. Eventually we had to write code to dump the whole thing down a debug port converted into C assignments, and then paste them into a bunch of separate functions. It seems to have trouble when a single scope gets too large, as it couldn't handle them all in one function any better than it could handle them all in one array. Has anyone experienced similar trouble? Has anyone found a workaround ? Dave Korn - -- I wouldn't recommend sex, drugs or insanity for everyone, but they've always worked for me. -- Hunter S. Thompson Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: tos field in IP Date: Tue, 17 Aug 1999 10:21:29 -0400 From: Stephen Banville Organization: Bay Networks, Inc. Message-ID: <37B96FE9.F3824442@baynetworks.com> Anybody out there no how to update the tos field on a per network device basis ? When I attach to a network device I would like all my IP headers to include a certain tos (service field) value instead of the default. Any clues would be very helpful. This needs to be on a attached device basis and not on aper IP pkt basis. Thanks all. - --Steve - -- Stephen Banville : sbanvill@baynetworks.com Bay Networks Inc 3 federal Street Billerica, MA 01820 Phone: 978-916-4754 --------------------------- Newsgroups: comp.os.vxworks Subject: Re: File Writing Question Date: Tue, 17 Aug 1999 13:13:42 -0400 From: Douglas Fraser Organization: Lucent Technologies Message-ID: <37B99846.B0F4CC58@lucent.com> References: <87B5B078324ED211B1D60008C71E3EAE8D0B9C@exribre01.ri.dasa.de> Hello Chrisoph. Is this on a dosFs file system? Check the Volume options, particularly, DOS_OPT_AUTOSYNC. Read section 4.2.4 of the Programmers guide, that will answer some of your questions. Doug "Seelhorst, Christoph" wrote: > Though the fact that the logfile was not visible when the driver was running > still remains. > > It seems that VxWorks does not write to the file but is buffering all file > output in memory until the end of the application. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PCI support in VxWorks (x86) Date: Mon, 16 Aug 1999 11:52:38 -0500 From: Marty Schrader Organization: Fermilab Experimental Astrophysics Group Message-ID: <37B841D6.8A464701@fnal.gov> References: <7p6egh$a1s3@overload.lbl.gov> This is a multi-part message in MIME format. - --------------4F82C2AC26BD3583A8DD9A7A Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I don't know about this for sure. It looks like VxWorks isn't looking for or doing anything with a PCI mezzanine (PMC) video board we're using here. The vendor provides a function for setting up the PCI-PCI bridge on the four-channel VGA video card, and my stuff won't work without that. - -- Marty Schrader x6645 Fermilab Experimental Astrophysics Group (SDSS) consult0@fnal.gov - --------------4F82C2AC26BD3583A8DD9A7A Content-Type: text/x-vcard; charset=us-ascii; name="consult0.vcf" Content-Transfer-Encoding: 7bit Content-Description: Card for Marty Schrader Content-Disposition: attachment; filename="consult0.vcf" begin:vcard n:Schrader;Martin L. tel;fax:(630) 840-8274 tel;work:(630) 840-6645 x-mozilla-html:FALSE org:Fermi National Accelerator Laboratory;Experimental Astrophysics Group adr:;;;;;; version:2.1 email;internet:consult0@fnal.gov title:Project Engineer note;quoted-printable:under the auspices of:=0D=0A=0D=0A Fermilab Computing Division=0D=0A Integrated Systems Development=0D=0A Distributed Systems Projects x-mozilla-cpt:;0 fn:Martin L. Schrader end:vcard - --------------4F82C2AC26BD3583A8DD9A7A-- --------------------------- Newsgroups: comp.os.vxworks Subject: Internet Resources - comp.os.vxworks Date: Tue, 17 Aug 1999 11:43:33 +0000 From: Nina Pinto Organization: InterNex Information Services 1-800-595-3333 Message-ID: <37B94AE5.5017347A@eg3.com> Pertinent to comp.os.vxworks, EG3 maintains a list of realtime Internet resources, including FAQ's, papers, hot list pages, potential software/shareware, all known companies, etc. Specific pages are located at: http://www.eg3.com/real/index.htm http://www.eg3.com/realv/index.htm These resource pages are published as part of EG3's Free Electronic Engineers' Toolbox at: http://www.eg3.com/index.htm If you know of other resources, pertinent to comp.os.vxworks please email me at: ninapint@hotmail.com Thanks! --------------------------- Newsgroups: comp.os.vxworks Subject: Tornado 2.0 Symbol Table Date: Tue, 17 Aug 1999 14:55:28 -0400 From: John Sestak Organization: Raytheon Systems Company, Falls Church Message-ID: <37B9B020.87F2E3F3@fallschurch.esys.com> I seem to be able to build the kernel okay, but it doesn't create a symbol table to go along with the kernel I just built. Is there something I'm forgetting? Thanks, John Sestak --------------------------- Newsgroups: comp.os.vxworks Subject: Re: VxWorks SNTP server Date: Tue, 17 Aug 1999 12:08:41 -0700 From: Stephen Macmanus Organization: Wind River Systems Message-ID: <37B9B339.7C8F@wrs.com> References: <7p5ppn$u2g$1@nnrp1.deja.com> nogap@my-deja.com wrote: > > Hi, > > I am looking for some information or example code for the hook routine > that shall be suplied to the SNTP server of VxWorks. > This hook routine is in the following format: > sntpsClockHook (int request, void *pBuffer); > This sample hook routine reports the time information based on the internal system clock: #include #include #include #include "timers.h" #include STATUS sampleClockHook ( int request, void *buffer ) { struct timespec timeval; long value; ULONG *pTime; if (request == SNTPS_ID) { strcpy ((char *)buffer, "pps"); return (OK); } if (request == SNTPS_RESOLUTION) { if (clock_getres (CLOCK_REALTIME, &timeval) == -1) return (ERROR); value = timeval.tv_nsec; *((ULONG *)buffer) = (ULONG)value; } if (request == SNTPS_TIME) { if (clock_gettime (CLOCK_REALTIME, &timeval) == -1) return (ERROR); pTime = (ULONG *)buffer; /* Copy number of seconds since 1900 to timestamp. */ *pTime++ = timeval.tv_sec + SNTP_UNIX_OFFSET; /* Convert nanoseconds to fractional part and copy to timestamp. */ *pTime = sntpsNsecToFraction (timeval.tv_nsec); } return (OK); } - -- - ------------------ Stephen Macmanus #include Software Engineer Wind River Systems --------------------------- Newsgroups: comp.os.vxworks Subject: T2 Internal compiler error Date: Mon, 16 Aug 1999 15:31:41 -0400 From: "David P. Floyd" Organization: Dynacs Engineering Company, Inc. Message-ID: <37B8671D.E99A6B8@orion.ksc.nasa.gov> Has anyone experienced "Internal compiler errors" under Tornado II? We are using a MVME2604 PPC? - -- David P. Floyd Dynacs Engineering Company, Inc. Kennedy Space Center, FL --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Dual Ethernet Cards Date: Tue, 17 Aug 1999 15:50:28 -0400 From: Peter Spreadborough Organization: Lucent Technologies , Merrimack Valley Message-ID: <37B9BD04.9DC84697@lucent.com> References: <311022D08A93D1118E2800609709798C36C29C@FSC-GW2.vandenberg.af.mil> Mark, If the daughter card is the PCI mezzanine card then checkout the following two TSR's on WindSurf: TSR#: 117497 TSR#: 107836 Pete _______________________________________________________________ Peter Spreadborough Lucent Technologies pspreadborough@lucent.com Bell Labs Innovations Tel: (978) 960-2802 Fax: (978) 960-6329 _______________________________________________________________ --------------------------- Newsgroups: comp.os.vxworks Subject: logTask output on telnet and rlogin Date: Tue, 17 Aug 1999 20:31:56 GMT From: wjhunter3@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7pcgrs$ij8$1@nnrp1.deja.com> Is there a way to disable the automatic output of logTask to the telnet or rlogin session? Peace, Jeff Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Help ! I will really appreciate ! Date: Tue, 17 Aug 1999 13:47:44 -0700 From: "Robert Wang" Organization: SBC Internet Services Message-ID: Hey,dear genius, I am now try to change job to do the realy time system. I am now studying RTOS through uS/OS II ( a popular free stuff). Could you please tell me studying the us/os will help me understand the vxWorks ? What's the difference between them. I also try to take some operation system class. Which level you suggest me to take. the introduction or advance (including the multuple cpu system.) I also have some knowledge about C and C++, and 80C31 MCU and 8086,8088 CPU . Do you think I need some other knowledge to find a job in the really time embedded system ? Your kind answer will be really appreciate. yours, Robert --------------------------- Newsgroups: comp.os.vxworks Subject: Re: muxDevLoad call Date: Tue, 17 Aug 1999 16:14:17 -0600 From: Lee D Gibbons Organization: Lucent Technologies Message-ID: <37B9DEB9.9E0B3C18@lucent.com> References: <7pbjo0$a1s7@overload.lbl.gov> Ganesh S wrote: > > This is a multi-part message in MIME format. > > ------=_NextPart_000_0058_01BEE8D0.F8997240 > Content-Type: text/plain; > charset="iso-8859-1" > Content-Transfer-Encoding: quoted-printable > > Hello, > > We are implementing a End driver for vxWorks. > > We have found that the muxDevLoad calls the Driver load > function twice. The first time the Driver load function has > to return NULL and when it is called the second time,=20 > the driver and end obj structures has to be initialised. > > We have also confirmed this by dumping the disassembly > of the muxDevLoad. > > This has not been documented in the SENS manual/ man pages or > does not exist in the sample code.=20 > > Please let us know why it is like this ? > > Thanks, > Ganesh/Manish > This is expected behavior and is well described in "Network Protocol Toolkit 5.4 User's Guide." - -- Lee Douglas Gibbons L u c e n t T e c h n o l o g i e s ldgibbons@lucent.com Bell Labs Innovations --------------------------- Newsgroups: comp.os.vxworks Subject: To where is the PC saved when interrupt generated? Date: Tue, 17 Aug 1999 19:06:47 +0900 From: "Hyung-Taek Lim" Message-ID: When an interrupt occurs, the PC value of running task should be saved. I don't know to where it is saved. I think it is not saved to TCB. --------------------------- Newsgroups: comp.os.vxworks Subject: dr Date: Tue, 17 Aug 1999 20:01:02 -0700 From: Fred Kennedy Organization: Value Net Internetwork Services Inc. Message-ID: <37BA21EE.C217EEB9@fredkennedy.com> robert rowley id 103561 887-4711 Dr. Benwah --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Fair scheduling and vxWorks Date: Tue, 17 Aug 1999 20:52:54 -0700 From: engineer_scotty Organization: aracnet.com Message-ID: <37BA2E16.F28A7897@aracnet.com> References: <7pcmsv$a1k7@overload.lbl.gov> dave monachello wrote: > > hi, > Does anyone have any ideas about doing fair task scheduling > and/or CPU time reservations under vxWorks? I'm currently > investigating which will allow a fairly arbitrary mix of > task scheduling requirements while guaranteeing a specified > minimum of CPE time to each task. I realize that round robin > scheduling can be done between tasks of the same priority. What > I need is a method of fairness for tasks of different priorities. Not without replacing the scheduler...which would require vxWorks source. vxWorks is designed to be an RTOS--which, among other things, dictates that a deterministic scheduling algorithm be employed, such as the priority-based scheme that is in fact used by vxWorks. "Fair" scheduling algorithsm--which are designed to avoid starvation but can make no promises about things like latency--are not appropriate for realtime systems. Some operating systems take a hybrid approach--they have lower priority (non-realtime) tasks scheduled on a fair basis; and higher-priority (realtime) tasks scheduled on a strict priority basis. When a realtime task is ready to run; all non-realtime tasks get no CPU time; but non-RT tasks are scheduled in a manner as you suggest; and may be "niced" (to use a Unixism) to adjust the proportion of CPU time each non-RT task gets. Since you are asking for "fair" scheduling; my suspicion is that your application needs to be robust in the sense that one task getting stuck in an infinite loop cannot block all the others... in which case I suggest you not use vxWorks. If you don't need realtime capability; and can stand an OS that is a bit bigger (but not terribly so) than vxWorks, have you given a thought to Linux? It runs on most processors vxWorks supports (excluding those without MMUs), runs comfortably in a megabyte or two of FLASH and a couple megs of RAM, has fair scheduling (as does any Unix), is EXTREMELY robust in the face of poorly-written (or malicious) aplication code, is free, has source--and has thousands and libraries available (MUCH more so than vxWorks). Linux is NOT an RTOS; if you need realtime capability, don't consider it. But if you just need an embedded OS (and a lot of vxWorks users are in that category, I suspect) you could do a lot worse. If you need both the reliability of the Unix model and real-time, you might check out QNX or LynxOS. I have no experience with either, so I cannot comment on their suitability other than to mention them as possible candidates. - -- - ------------------------------------------------------------------------ engineer_scotty (no, not that one) -- consumer of fine ales and lagers some days you're the fire hydrant, some days you're the dog | go blazers no small furry creatures were harmed in the creation of this .signature - ------------------------------------------------------------------------ --------------------------- Newsgroups: comp.os.vxworks Subject: semMCreat returns Null for SEM_INVERSION_SAFE option Date: Wed, 18 Aug 1999 06:40:51 GMT From: lingsiva@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7pdkhh$bq5$1@nnrp1.deja.com> Hi semMCreate returns Null if i try to create a Mutually exclusive semaphore with SEM_INVERSION_SAFE option. But with out this option a semaphore is created. SEM_ID x=0; x = semMCreate(SEM_Q_FIFO|SEM_INVERSION_SAFE |SEM_DELETE_SAFE ); returns NULL But x = semMCreate(SEM_Q_FIFO|SEM_DELETE_SAFE ); Returns SEM_ID. Does anyone has any idea why this could happen. regards, s.shiva Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: semMCreat returns Null for SEM_INVERSION_SAFE option Date: Tue, 17 Aug 1999 23:54:13 -0700 From: engineer_scotty Organization: aracnet.com Message-ID: <37BA5895.DFEF80F7@aracnet.com> References: <7pdkhh$bq5$1@nnrp1.deja.com> lingsiva@my-deja.com wrote: > > Hi > semMCreate returns Null if i try to create a Mutually exclusive > semaphore with SEM_INVERSION_SAFE option. But with out this option a > semaphore is created. > SEM_ID x=0; > x = semMCreate(SEM_Q_FIFO|SEM_INVERSION_SAFE |SEM_DELETE_SAFE ); > > returns NULL > > But > x = semMCreate(SEM_Q_FIFO|SEM_DELETE_SAFE ); > Returns SEM_ID. > > Does anyone has any idea why this could happen. > > regards, > s.shiva > > Sent via Deja.com http://www.deja.com/ > Share what you know. Learn what you don't. You cannot mix SEM_Q_FIFO with SEM_INVERSION_SAFE. If you want inversion safe mutexes, you MUST use SEM_Q_PRIORITY. After all, priority inversion avoidance is not very useful if the order blocked threads is run is determined by the order in which they try and take the semaphore. If a mutex has a high priority thread waiting; it doesn't too much good to boost the priority of the thread that owns the mutex if the high priority thread has to "wait its turn" while other, low priority threads get to run first. Which is what it would have to do if you use SEM_Q_FIFO scheduling. What you asked vxWorks to do does not make any sense; and vxWorks rightly disallowed it. - -- - ------------------------------------------------------------------------ engineer_scotty (no, not that one) -- consumer of fine ales and lagers some days you're the fire hydrant, some days you're the dog | go blazers no small furry creatures were harmed in the creation of this .signature - ------------------------------------------------------------------------ --------------------------- Newsgroups: comp.os.vxworks Subject: Re: logTask output on telnet and rlogin Date: Wed, 18 Aug 1999 09:25:20 +0200 From: "Christian Doppelbauer" Organization: VBS-Newsserver Message-ID: <934961123.161692@news.vbs.at> References: <7pcgrs$ij8$1@nnrp1.deja.com> Just have a look to the loglib. There are functions to add and remove descriptors from the log descriptor list. logFdDelete(), logFdAdd(), logFdSet() an son on. Regards, Christian wrote in message news:7pcgrs$ij8$1@nnrp1.deja.com... > Is there a way to disable the automatic output of > logTask to the telnet or rlogin session? > > Peace, > Jeff > > > Sent via Deja.com http://www.deja.com/ > Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: semMCreat returns Null for SEM_INVERSION_SAFE option Date: Wed, 18 Aug 1999 10:15:15 +0200 From: "Geurt Vos" Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <006c01bee951$cd600f40$95cb09c0@BertB> INVERSION_SAFE cannot be used together with Q_FIFO. In the manual, at the semMCreate function it says: SEM_INVERSION_SAFE: This option must be accompanied by the SEM_Q_PRIORITY queuing mode. So you have to use SEM_Q_PRIORITY instead of SEM_Q_FIFO HTH, - -Geurt- > >Hi >semMCreate returns Null if i try to create a Mutually exclusive >semaphore with SEM_INVERSION_SAFE option. But with out this option a >semaphore is created. >SEM_ID x=0; >x = semMCreate(SEM_Q_FIFO|SEM_INVERSION_SAFE |SEM_DELETE_SAFE ); > >returns NULL > >But >x = semMCreate(SEM_Q_FIFO|SEM_DELETE_SAFE ); >Returns SEM_ID. > >Does anyone has any idea why this could happen. > >regards, >s.shiva > > > > >Sent via Deja.com http://www.deja.com/ >Share what you know. Learn what you don't. > > > > _____________________________________________________________ > Deja.com: Share what you know. Learn what you don't. > http://www.deja.com/ > * To modify or remove your subscription, go to > http://www.deja.com/edit_sub.xp?group=comp.os.vxworks > * Read this thread at > http://www.deja.com/thread/%3C7pdkhh%24bq5%241%40nnrp1.deja.com%3E > > Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- End of New-News digest ********************** From owner-vxwexplo-process Wed Aug 18 07:41:11 1999 From: "Slutsker, Rasty" Date: Wed Aug 18 07:41:15 PDT 1999 Subject: RE: To where is the PC saved when interrupt generated This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01BEE98F.E063D82C Content-Type: text/plain; charset="iso-8859-1" I don't think that PC is saved in TCB in case of interrupt. The information you can obtain from TCB is task id of interrupted task and PC of last context switch. Rasty Newsgroups: comp.os.vxworks Subject: To where is the PC saved when interrupt generated? Date: Tue, 17 Aug 1999 19:06:47 +0900 From: "Hyung-Taek Lim" > Message-ID: > When an interrupt occurs, the PC value of running task should be saved. I don't know to where it is saved. I think it is not saved to TCB. ------_=_NextPart_001_01BEE98F.E063D82C Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable RE: To where is the PC saved when interrupt generated

I don't think = that PC is saved in TCB in case of interrupt. The information you can obtain from TCB is task id of interrupted task and PC of last context = switch.

Rasty

Newsgroups: = comp.os.vxworks

Subject:       = To where is the PC saved when interrupt = generated?

Date:   = Tue, 17 Aug 1999 19:06:47 = +0900

From:   "Hyung-Taek = Lim" <htlim@realtime.soongsil.ac.kr>

        Message-ID: <Dz3YmcJ6#GA.382@news3.netsgo.com>

When an interrupt occurs, = the PC value of running task should be saved. I don't know to = where it is saved.

I think it is not saved = to TCB.

------_=_NextPart_001_01BEE98F.E063D82C-- From owner-vxwexplo-process Wed Aug 18 14:45:45 1999 From: Alan Biocca Date: Wed Aug 18 14:45:48 PDT 1999 Subject: [Fwd: about raw socket] Below is a request apparently to the vxworks list, sent to the maintainer by mistake. I forward it to the list, replies should probably copy is email to insure he gets them. Thanks, -- akbiocca >From: >Subject: [Fwd: about raw socket] > >Misdrected VX works stuff perhaps? >Received: from postal1.lbl.gov (root@postal1.lbl.gov [128.3.7.82]) > by csg.lbl.gov (8.8.7/8.8.7) with ESMTP id TAA10962 > for ; Tue, 17 Aug 1999 19:41:18 > -0700 (PDT) >Received: from SpamWall.lbl.gov (root@localhost [127.0.0.1]) > by postal1.lbl.gov (8.9.3/8.9.3) with ESMTP id TAA27529 > for ; Tue, 17 Aug 1999 19:41:17 > -0700 (PDT) >Received: from mail0.mailsender.net (mail0.mailsender.net [209.132.1.30]) > by SpamWall.lbl.gov (8.9.3/8.9.3) with ESMTP id TAA27517 > for ; Tue, 17 Aug 1999 19:41:15 -0700 (PDT) >Received: from hhs (203.253.129.17) by mail0.mailsender.net; 17 Aug 1999 >19:36:11 -0700 >Message-ID: <000f01bd9e50$498b9a60$1181fdcb@hhs> >From: "=?euc-kr?B?yLLH/bz3?=" >To: >Subject: about raw socket >Date: Tue, 23 Jun 1998 11:40:28 +0900 >MIME-Version: 1.0 >Content-Type: multipart/alternative; > boundary="----=_NextPart_000_000C_01BD9E9B.B8777D40" >X-Priority: 3 >X-MSMail-Priority: Normal >X-Mailer: Microsoft Outlook Express 4.72.3110.5 >X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3 >X-Mozilla-Status2: > >Hi. > >I am Hye-sook Hwang. > >I have to use raw socket to port PPTP protocol. > >Would you give me an example code to implement raw socket? > >Thank you. > >Sincerely yours... > From owner-vxwexplo-process Wed Aug 18 18:56:15 1999 From: nickb@goahead.com Date: Wed Aug 18 18:56:19 PDT 1999 Subject: VxWorks Developers Invited to Participate in GoAhead FieldUpgrader 2.1 Beta Program VxWorks developers are invited to apply for immediate participation in the GoAhead FieldUpgrader 2.1 beta program. The beta period will run through September 1999. This is a great opportunity to get a jump on your competitors with remote upgrading functionality in your Internet device or appliance. New features include: Embedded JavaScript Support in the Agent, Enhanced Policy Support, Digital Signature Standard (DSS) Support, Exportable Log Files,and more! To apply for participation, email beta@goahead.com . We look forward to working with you! Sincerely, Nick Berliner =================================== Nick Berliner Assistant Product Manager / GoAhead Software nickb@goahead.com / www.goahead.com phone 425-468-5404 fax 425-637-1117 By the way, I have not been able to access the newsgroup today ("comp.os.vxworks"), when my news reader starts downloading messages, an error message pops up saying the hostname is wrong. From owner-vxwexplo-process Thu Aug 19 02:41:21 1999 From: "amass" Date: Thu Aug 19 02:41:24 PDT 1999 Subject: VME Accesses This is a multi-part message in MIME format. ------=_NextPart_000_000B_01BEEA2F.979772C0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi All We have recently started using vxWorks 1.0.1 on a PPC 603. We are = developing an application in which we require VMEbus access to a DAC = board located in A16 address space. However, the implementation of this = is proving troublesome. Can anyone provide details of using the VMEbus = from vxWorks - its configuration and correct method of accessing the = bus. Apologies for the trivial nature of this request, but poor = documentation and lack of experience are a killer!! Thanks in advance Andy Atkinson amass@dera.gov.uk ------=_NextPart_000_000B_01BEEA2F.979772C0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi All
 
    We have recently started = using vxWorks=20 1.0.1 on a PPC 603. We are developing an application in which we = require=20 VMEbus access to a DAC board located in A16 address space. However, the=20 implementation of this is proving troublesome. Can anyone provide = details of=20 using the VMEbus from vxWorks - its configuration and correct method of=20 accessing the bus. Apologies for the trivial nature of this request, but = poor=20 documentation and lack of experience are a killer!!
 
Thanks in advance
 
Andy Atkinson
amass@dera.gov.uk
 
------=_NextPart_000_000B_01BEEA2F.979772C0-- From owner-vxwexplo-process Thu Aug 19 04:00:15 1999 From: daemon@csg.lbl.gov Date: Thu Aug 19 04:00:20 PDT 1999 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Thu Aug 19 04:00:10 PDT 1999 Subject: Re: tos field in IP Subject: Re: Fair scheduling and vxWorks Subject: Re: Fair scheduling and vxWorks Subject: OS simple.. how, which book Subject: Re: Switching to vxWorks standby tasks? Subject: Re: OS simple.. how, which book Subject: TFTP timeout and max rexmt number Subject: boot devices Subject: 35 Device Drivers for VxWorks, HPRT, AIX, HPUX, Solaris Subject: VxWorks 5.3.1/5.4 Subject: Re: OS simple.. how, which book Subject: stripppc corrupts binaries Subject: Re: Fair scheduling and vxWorks Subject: PPC: 24-bit relocation error Subject: Re: semMCreat returns Null for SEM_INVERSION_SAFE option Subject: Re: semMCreat returns Null for SEM_INVERSION_SAFE option Subject: Vxworks total cost? Subject: R4000 MMU Support on VxWorks Subject: Re: To where is the PC saved when interrupt generated? Subject: Re: vxWorks.sym load from scsi device Subject: Re: How to delay a task in micro seconds range Subject: pjava memory requirements ? ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: tos field in IP Date: Wed, 18 Aug 1999 17:09:04 +0200 From: Leonid Rosenboim Organization: BitBand Technologies Ltd. Message-ID: <37BACC90.137EACC4@bitband.com> References: <37B96FE9.F3824442@baynetworks.com> Stephen Banville wrote: > Anybody out there no how to update the tos field on a per network device > basis ? When I attach to a network device I would like all my IP headers > to include a certain tos (service field) value instead of the default. > Any clues would be very helpful. This needs to be on a attached device > basis and not on aper IP pkt basis. > I don't beleive there is an API to control TOS in SENS or pre-SENS stacks, which leaves you with two choises: either buy the source code (which Bay Networks/Nortel have already done anyway) and get yourself an API for that, or use etherOutputHook() facility to catch all outgoing packets just they go off the wire, and change their TOS field. Do not forget to re-calculate the IP checksum after changing IP header! HTH, - Leonid ==== Legal, Free Classical Music MP3 ===> http://www.bitband.com/ClassiClub/ ======== --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Fair scheduling and vxWorks Date: Wed, 18 Aug 1999 17:14:48 +0200 From: Leonid Rosenboim Organization: BitBand Technologies Ltd. Message-ID: <37BACDE7.EBA94095@bitband.com> References: <7pcmsv$a1k7@overload.lbl.gov> Maybe my thinking is stiff old, but I beleive that "preemptive priority based" scheduling, which is behind VxWorks and all other major RTOS'es is contrary by definition to "fairness". I mean how you can respect priority, preempt task when they are not the highest, and still guarantee some percentage of CPU to lower priority tasks ? Perhaps the key to this lies in CHANGING PRIORITIES dynamically from a sort of "supervisor" task which you write, and which runs on a high priority. This reminds me of a question someone else asked recently about how to MEASURE CPU time utilization in order to dynamically cointrol priorities, with a similar goal in mind. HTH, - Leonid ====>> Lega, Free Classical Music MP3 ===>> http://www.bitband.com/ClassiClub/ ======= dave monachello wrote: > hi, > Does anyone have any ideas about doing fair task scheduling > and/or CPU time reservations under vxWorks? I'm currently > investigating which will allow a fairly arbitrary mix of > task scheduling requirements while guaranteeing a specified > minimum of CPE time to each task. I realize that round robin > scheduling can be done between tasks of the same priority. What > I need is a method of fairness for tasks of different priorities. > > Any info is greatly appreciated. > > thanks, > Dave Monachello --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Fair scheduling and vxWorks Date: Wed, 18 Aug 1999 15:53:16 GMT From: sheppard@magma.ca (Tom Sheppard) Organization: noitazinagrO Message-ID: References: <7pcmsv$a1k7@overload.lbl.gov> <37BA2E16.F28A7897@aracnet.com> In article <37BA2E16.F28A7897@aracnet.com>, engineer_scotty wrote: > dave monachello wrote: > > > > hi, > > Does anyone have any ideas about doing fair task scheduling > > and/or CPU time reservations under vxWorks? ... >"Fair" scheduling algorithsm--which are designed to > avoid starvation but can make no promises about things like > latency--are not appropriate for realtime systems. Quite a few years ago I worked on Nortel's DMS phone switch which used a proprietary language and operating system. This was a "pie" based scheduler which allocated CPU time in slices to various tasks. The "high priority" call processing task was given lots of CPU time in frequent slices. If it yielded, then other tasks could run, but call processing could resume control on the next tick (12.5 ms) or yield. This is quite a simplification of the scheduler, but I wouldn't call it priority-based preemptive. Yet the phone switch ran extremely well in a real-time intensive area. Perhaps readers more current on the state of the art on the DMS could provide more recent information on the scheduler. ... > Since you are asking for "fair" scheduling; my suspicion is that > your application needs to be robust in the sense that one task > getting stuck in an infinite loop cannot block all the others... > in which case I suggest you not use vxWorks. It would still be possible to have a watchdog timer prevent the infinite loops. If the fairness implies short execution durations too, then the timer would need to be set for a short interval which adds overhead. And what do you do if the running process/task is in a critical region? You'd need some sort of "wait, don't preempt me yet" flag which the watchdog would allow only so many times before the process was terminated. Hmm, a little complicated. ...Tom --------------------------- Newsgroups: comp.os.vxworks,comp.arch.embedded,comp.realtime Subject: OS simple.. how, which book Date: Wed, 18 Aug 1999 17:26:04 GMT From: Nameir Organization: Bell Solutions Message-ID: <37BAED05.CE19E6EF@hotmail.com> Hello there all: I am not good in understanding o/s well, I need to learn the o/s functionality hwo can i start.. I would like simple and easy to follow book, articals, etc I would like any eany example retun in C/C++, I want to learn that as I want to learn embedded system s/w well. thanks a lot. (I want to learn os in general, no specific name) --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Switching to vxWorks standby tasks? Date: Wed, 18 Aug 1999 18:37:45 +0100 From: "Rachel-Louise Koktava" Message-ID: References: <37B83E73.AFA21355@lucent.com> Ian McGraw wrote in message <37B83E73.AFA21355@lucent.com>... Hi, Can anyone please tell me if it is possible to utilise a vxWorks task as a 'hot standby' to use in the event of another task suspending/crashing. We already have a task monitor class to poll a list of known tasks on the system. If any tasks are suspended for any reason we can call a recovery method which attempts to 'reconstruct' the task and re-link it to our application. This method has been unsatisfactory so far; a 'hot standby' would seem to be a better solution - - i.e. should a task fail the system can immediately cut over to the standby task and flag the error? Regards, Ian. - - Hello Ian, in theory it is quite simple to do. The best method would be to create the standby task and have it immediately pend on a counting semaphore, or a conditional variable of some kind ( use a conditional variable if you want to create more than one instance of the standby task). When the recovery mechanism kicks in (cxn R ?) it updates information in the address space of the standby task, then increments the semaphore -giving it the green light to run. However, life is not that simple. Any problem which caused the orignal thread of execution to flag a problem is probably going to exist for the standby task as well as it tries to assume the responsibilities of the original task, so it could well die too. In reality the only guaranteed solution is to clean up after the task exits and delete the task. Unfortunately vxWorks doesn't support exit hooks for individual tasks, only tasks in general (and then I'm not sure if they get called upon deletion of a suspended task - you'll have to check). Hope this helps :) RL --------------------------- Newsgroups: comp.os.vxworks,comp.arch.embedded,comp.realtime Subject: Re: OS simple.. how, which book Date: Wed, 18 Aug 1999 20:00:28 +0200 From: "Bart Van Beneden" Organization: Pandora-- Met vlotte tred op Internet Message-ID: References: <37BAED05.CE19E6EF@hotmail.com> Check Real-Time Consult's encyclopedia : http://www.realtime-info.com They have a book review section. + they have put the articles of Real-Time Magazine issues '97 and '98 online, you can download them free of charge. Follow the link archive in the magazine section. Bart Nameir wrote in message news:37BAED05.CE19E6EF@hotmail.com... > Hello there all: > I am not good in understanding o/s well, I need to learn the o/s > functionality hwo can i start.. I would like simple and easy to follow > book, articals, etc I would like any eany example retun in C/C++, I want > to learn that as I want to learn embedded system s/w well. thanks a lot. > (I want to learn os in general, no specific name) > --------------------------- Newsgroups: comp.os.vxworks Subject: TFTP timeout and max rexmt number Date: Thu, 19 Aug 1999 03:31:26 +0900 From: "T.N" Organization: Tokyo Internet Corporation Message-ID: <7pett6$dgh$1@newsegg00.TokyoNet.AD.JP> Please, teach me TFTP timeout and max rexmt number. I think that TFTP timeout is 2 sec, but cannot think max rexmt number. --------------------------- Newsgroups: comp.os.vxworks Subject: boot devices Date: 18 Aug 1999 15:14:17 -0400 From: Wayne Brissette Message-ID: <37bb0609@news.eclipse.net> Does anybody have a listing of what the abbreviations are that VXworks uses for boot devices? For example, ma is Ethernet, sm is shared Memory Network, and sl is slip. In the VXworks manual they also use ln for Lance Ethernet controller. However, they never provide a list of what these abbreviations are... I realize that most vendors if providing a precompiled version of VXworks should provide this, but some don't. I'm really confused by bp which is used on a precompiled embedded version of VXworks. Anybody know what this and many of the others are? Thanks, Wayne Brissette --------------------------- Newsgroups: comp.os.vxworks Subject: 35 Device Drivers for VxWorks, HPRT, AIX, HPUX, Solaris Date: Wed, 18 Aug 1999 12:33:27 -0700 From: "Compware Corp." Organization: Compware Corp. Message-ID: <37BB0A87.AB7CAE3C@compware.com> - --------------506D1F68BA008D17ED02B9BA Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit 35 "Off-The-Shelf" Device Drivers for "Industry Pack", PMC, PCMIP, CompactPCI, & VME Devices and Controllers Including: 1553, Serial-async, Serial-sdlc, Serial-bisync, 8-ch. Serial, IEEE-488, Ethernet, FDDI, A-D, D-A, Digital-i/o, and more... Please visit our web site for information & pricing on our (35) Device Support Packages for VxWorks, HPRT, AIX, HPUX, & Solaris -- http://www.compware.com http://www.sbs-mio.com Compware solicits your requirements for new driver development. On-time delivery, typically at 50% of in-house development costs. Delivering "Off-The-Shelf" Unix & Real-Time Device Drivers & Turn-key Systems since 1985. - -- ------------------------------------------------- mailto:sales@compware.com http://www.compware.com ------------------------------------------------- - --------------506D1F68BA008D17ED02B9BA Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit  
35 "Off-The-Shelf" Device Drivers for

"Industry Pack", PMC, PCMIP,  CompactPCI, & VME Devices and Controllers
 

 
Including:

1553, Serial-async, Serial-sdlc, Serial-bisync, 8-ch. Serial, IEEE-488, Ethernet, FDDI, A-D, D-A, Digital-i/o, and more...
 
 
 
Please visit our web site for information & pricing on our (35) Device Support Packages for VxWorks, HPRT, AIX, HPUX, & Solaris  - --

http://www.compware.com

http://www.sbs-mio.com

Compware solicits your requirements for new driver development.

On-time delivery, typically at 50% of in-house development costs.

Delivering "Off-The-Shelf" Unix & Real-Time Device Drivers & Turn-key Systems since 1985.

--
 -------------------------------------------------

  mailto:sales@compware.com

  http://www.compware.com
  -------------------------------------------------
  - --------------506D1F68BA008D17ED02B9BA-- --------------------------- Newsgroups: comp.os.vxworks Subject: VxWorks 5.3.1/5.4 Date: Wed, 18 Aug 1999 15:43:23 -0400 From: "B. Saunders" Organization: Fore Systems, Inc. Message-ID: <37BB0CDB.54164B4B@fore.com> Reply-To: bsaunder@fore.com Apologies if this has been asked before. Does anyone know if VxWorks will support MPLS and MPLS/PPP? Regards, Barrie --------------------------- Newsgroups: comp.os.vxworks,comp.arch.embedded,comp.realtime Subject: Re: OS simple.. how, which book Date: Wed, 18 Aug 1999 17:22:49 -0400 From: "Andrew Liam McNeil" Organization: Chrysalis-ITS, Inc. Message-ID: References: <37BAED05.CE19E6EF@hotmail.com> Reply-To: "Andrew Liam McNeil" Just want you are looking for: _MicroC/OS-II_ Labrose You can buy it through amazon.com. - -- Regards, - -- Liam - ------------------------------------------------------------------ Andrew Liam McNeil amcneil@SPAM.GUARD.chrysalis-its.com Nameir wrote in message news:37BAED05.CE19E6EF@hotmail.com... > Hello there all: > I am not good in understanding o/s well, I need to learn the o/s > functionality hwo can i start.. I would like simple and easy to follow > book, articals, etc I would like any eany example retun in C/C++, I want > to learn that as I want to learn embedded system s/w well. thanks a lot. > (I want to learn os in general, no specific name) > --------------------------- Newsgroups: comp.os.vxworks Subject: stripppc corrupts binaries Date: Wed, 18 Aug 1999 22:42:43 GMT From: Curt McDowell Organization: Broadcom Corp. Message-ID: <37BB37FC.2E8DFBFA@broadcom.com> Reply-To: csm@broadcom.com In Tornado 1.0, using stripppc (and objcopy -S) corrupts PPC binaries so vxWorks can't load them. Ironically, Solaris' /usr/ccs/bin/strip works correctly on the same PPC binaries. The VxWorks site has an unresolved SPR #1825, which looks suspiciously related, especially since I've compiled with -g. On inspection, I found the ELF program header is corrupted. The unstripped header (using Solaris elfdump) is: Program Header[0]: p_vaddr: 0x10000 p_flags: [ PF_X PF_W PF_R ] p_paddr: 0x10000 p_type: [ PT_LOAD ] p_filesz: 0x1c0cdc p_memsz: 0x229758 p_offset: 0x10000 p_align: 0x10000 and the stripped header is: Program Header[0]: p_vaddr: 0 p_flags: [ PF_X PF_W PF_R ] p_paddr: 0 p_type: [ PT_LOAD ] p_filesz: 0x1d0cdc p_memsz: 0x239758 p_offset: 0 p_align: 0x10000 It looks like the program start has moved from 0x10000 to 0 and the length has been extended by 0x10000. Is this a known GNU binutil bug? Is it ppc tools only? Does anyone know of a work-around? And why does VxWorks look at the program header in the first place? Any help would be appreciated. Thanks, Curt McDowell Broadcom Corp. csm@broadcom.com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Fair scheduling and vxWorks Date: Wed, 18 Aug 1999 16:08:22 -0700 From: Eric Flynn Organization: Hewlett Packard Cupertino Site Message-ID: <37BB3CE6.AD64BCA3@wwg2.sid.hp.com> References: <7pcmsv$a1k7@overload.lbl.gov> <37BA2E16.F28A7897@aracnet.com> Reply-To: eflynn@wwg2.sid.hp.com Scott, One method you may try before replacing the scheduler is to give your tasks high priority on a rotating basis. This could satisfy both your criteria of letting any one task have an arbitrary priority, while not starving the others, since they'll each get a high-priority "turn" eventually.. A watchdog could be responsible for switching the priorities. Eric engineer_scotty wrote: > dave monachello wrote: > > > > hi, > > Does anyone have any ideas about doing fair task scheduling > > and/or CPU time reservations under vxWorks? I'm currently > > investigating which will allow a fairly arbitrary mix of > > task scheduling requirements while guaranteeing a specified > > minimum of CPE time to each task. I realize that round robin > > scheduling can be done between tasks of the same priority. What > > I need is a method of fairness for tasks of different priorities. > > Not without replacing the scheduler...which would require vxWorks > source. > > vxWorks is designed to be an RTOS--which, among other things, > dictates that a deterministic scheduling algorithm be employed, > such as the priority-based scheme that is in fact used by > vxWorks. "Fair" scheduling algorithsm--which are designed to > avoid starvation but can make no promises about things like > latency--are not appropriate for realtime systems. > > Some operating systems take a hybrid approach--they have lower > priority (non-realtime) tasks scheduled on a fair basis; and > higher-priority (realtime) tasks scheduled on a strict priority > basis. When a realtime task is ready to run; all non-realtime > tasks get no CPU time; but non-RT tasks are scheduled in a manner > as you suggest; and may be "niced" (to use a Unixism) to adjust > the proportion of CPU time each non-RT task gets. > > Since you are asking for "fair" scheduling; my suspicion is that > your application needs to be robust in the sense that one task > getting stuck in an infinite loop cannot block all the others... > in which case I suggest you not use vxWorks. > > If you don't need realtime capability; and can stand an OS that > is a bit bigger (but not terribly so) than vxWorks, have you given > a thought to Linux? It runs on most processors vxWorks supports > (excluding those without MMUs), runs comfortably in a megabyte or > two of FLASH and a couple megs of RAM, has fair scheduling (as does > any Unix), is EXTREMELY robust in the face of poorly-written (or > malicious) aplication code, is free, has source--and has thousands > and libraries available (MUCH more so than vxWorks). Linux is > NOT an RTOS; if you need realtime capability, don't consider it. > But if you just need an embedded OS (and a lot of vxWorks users are > in that category, I suspect) you could do a lot worse. > > If you need both the reliability of the Unix model and real-time, > you might check out QNX or LynxOS. I have no experience with > either, so I cannot comment on their suitability other than to > mention them as possible candidates. > > -- > ------------------------------------------------------------------------ > engineer_scotty (no, not that one) -- consumer of fine ales and lagers > some days you're the fire hydrant, some days you're the dog | go blazers > no small furry creatures were harmed in the creation of this .signature > ------------------------------------------------------------------------ --------------------------- Newsgroups: comp.os.vxworks Subject: PPC: 24-bit relocation error Date: Thu, 19 Aug 1999 01:33:03 GMT From: Yves Boudreault Organization: Sympatico Message-ID: <37BB5EDD.DCFE877D@bogus.sympatico.ca> Reply-To: yves.boudreault2@bogus.sympatico.ca Hello all, host: Tornado 1.0.1 on Tornado target: MVME2604 I am trying to load a large application (~30MB) into a PPC-based board, and I am running into the relocation error (24-bit ....) I have tried to compile the stuff with -longcall and even vxWorks with - -longcall - but without much success. Has anyone done this and can tell me what the steps involved are ? Thanks in advance. Yves Boudreault PS: if replying by email, please remove the "bogus." in the host name. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: semMCreat returns Null for SEM_INVERSION_SAFE option Date: Thu, 19 Aug 1999 01:59:13 GMT From: lingsiva@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7pfodc$v59$1@nnrp1.deja.com> References: <7pdkhh$bq5$1@nnrp1.deja.com> <37BA5895.DFEF80F7@aracnet.com> > You cannot mix SEM_Q_FIFO with SEM_INVERSION_SAFE. If you want > inversion safe mutexes, you MUST use SEM_Q_PRIORITY. > > After all, priority inversion avoidance is not very useful if > the order blocked threads is run is determined by the order in > which they try and take the semaphore. If a mutex has a high > priority thread waiting; it doesn't too much good to boost the > priority of the thread that owns the mutex if the high priority > thread has to "wait its turn" while other, low priority threads > get to run first. Which is what it would have to do if you use > SEM_Q_FIFO scheduling. > > What you asked vxWorks to do does not make any sense; and vxWorks > rightly disallowed it. Thanks a lot. Now i understand it. regards, s.shiva Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: semMCreat returns Null for SEM_INVERSION_SAFE option Date: Thu, 19 Aug 1999 02:04:33 GMT From: lingsiva@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7pfonb$v81$1@nnrp1.deja.com> References: <006c01bee951$cd600f40$95cb09c0@BertB> > INVERSION_SAFE cannot be used together with Q_FIFO. > In the manual, at the semMCreate function it says: > > SEM_INVERSION_SAFE: > This option must be accompanied by the SEM_Q_PRIORITY queuing mode. > > So you have to use SEM_Q_PRIORITY instead of SEM_Q_FIFO > > HTH, > -Geurt- > Thanks, regards s.shiva Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Vxworks total cost? Date: Thu, 19 Aug 1999 11:49:41 +0900 From: "yoonts" Organization: KREONet news service Message-ID: <7pftcv$cmb$1@usenet.kreonet.re.kr> If I apply vxworks to our printer main board contains mips4640, how much total cost is it? License fee, porting fee, running fee... Any help would be appreciated. Thanks! Taeksun Yoon --------------------------- Newsgroups: comp.os.vxworks Subject: R4000 MMU Support on VxWorks Date: Tue, 17 Aug 1999 19:14:17 GMT From: venu@slip.net Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7pcc9u$erq$1@nnrp1.deja.com> Has anyone written code to use kuseg instead of just kseg1/kseg0 on an MIPS processor in vxworks? I have addressable memory which is greater than 512MB and need a way to access it using the TLBs. Does any such code exist or need I go to it from scratch? Thanks, Venu Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks,comp.arch.embedded,comp.arch.real-time Subject: Re: To where is the PC saved when interrupt generated? Date: Thu, 19 Aug 1999 08:49:49 GMT From: akarpov@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7pggfa$fuo$1@nnrp1.deja.com> References: You are right. When an interrupt occurs the registers are saved in the stack and are restored then when the ISR is finished. In many cases this is done by the CPU hardware. In article , "Hyung-Taek Lim" wrote: > When an interrupt occurs, the PC value of running task should be saved. I > don't know to where it is saved. > I think it is not saved to TCB. - Tornado - Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: vxWorks.sym load from scsi device Date: Thu, 19 Aug 1999 09:33:51 +0100 From: Simon Roberts Message-ID: <37BBC16F.9B5EE174@roke.co.uk> References: <37BAC290.F57D3F53@lmco.com> - --------------3EED808882E68AF00E48DCB8 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Edward, I had a problem very similar to this when we started booting from a PCMCIA device. The problem was solved by modifying the code in the file ./target/src/config/usrLoadSym.c. I simply added our new device type as another 'else' clause and the symbol table got loaded. The code I added is labelled /* SCR added */ below. Hope this points you in the right direction. Simon. #ifdef INCLUDE_PCMCIA else if (strncmp (sysBootParams.bootDev, "pcmcia", 6) == 0) { int sock = NONE; if (strlen (sysBootParams.bootDev) == 6) return (ERROR); else sscanf (sysBootParams.bootDev, "%*6s%*c%d", &sock); /* we try a block device first then an ethernet device */ if (usrPcmciaConfig (sock, sysBootParams.bootFile) != OK) sprintf (symTblFile, "%s:%s.sym", sysBootParams.hostName, sysBootParams.bootFile); sprintf (symTblFile, "%s.sym", sysBootParams.bootFile); } #endif /* INCLUDE_PCMCIA */ /* SCR added */ #ifdef INCLUDE_PCMCIA_BOOT else if (strncmp (sysBootParams.bootDev, "pcmcia", 6) == 0) { sprintf (symTblFile, "%s.sym", sysBootParams.bootFile); } #endif /* INCLUDE_PCMCIA_BOOT */ #ifdef INCLUDE_TFFS else if (strncmp (sysBootParams.bootDev, "tffs", 4) == 0) { int drive = 0; int removable = 0; if (strlen (sysBootParams.bootDev) == 4) return (ERROR); else sscanf (sysBootParams.bootDev, "%*4s%*c%d%*c%d", &drive, &removable); if (usrTffsConfig (drive, removable, sysBootParams.bootFile) != OK) return (ERROR); sprintf (symTblFile, "%s.sym", sysBootParams.bootFile); } #endif /* INCLUDE_TFFS */ Edward LaPier wrote: > VxWorks Greetings ! > > I am attempting to boot VxWorks from a SCSI Drive on a MVME3604. I copy > vxWorks and vxWorks.sym to the SCSI drive, then I set up the boot > parameters to boot from the SCSI drive. vxWorks gets loaded, but my > problem is loading vxWorks.sym. Below is the print out I get from the > console. Has anyone seen this before or does anyone have ideas to my > problem. Thanks in advance. > > Attaching to scsi device... done > Loading /sd0/vxWorks...941812 > Starting at 0x100000... > > Attaching network interface dc0... done > Attaching network interfacde lo0... done > NFS client support not included. > Loading symbol table from /sd0/vxWorks.sym .../sd0: No such file or > directory. > Error opening /sd0/vxWorks.sym: status = 0x226 > . > . > . > VxWorks does boot, but I have no symbol table !!! - --------------3EED808882E68AF00E48DCB8 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit Edward,

I had a problem very similar to this when we started booting from a PCMCIA device.  The problem was solved by modifying the code in the file ./target/src/config/usrLoadSym.c.

I simply added our new device type as another 'else' clause and the symbol table got loaded.

The code I added is labelled /* SCR added */ below.

Hope this points you in the right direction.

Simon.
 
 

<snip>
#ifdef INCLUDE_PCMCIA
    else if (strncmp (sysBootParams.bootDev, "pcmcia", 6) == 0)
 {
 int sock = NONE;

 if (strlen (sysBootParams.bootDev) == 6)
     return (ERROR);
 else
     sscanf (sysBootParams.bootDev, "%*6s%*c%d", &sock);

 /* we try a block device first then an ethernet device */

 if (usrPcmciaConfig (sock, sysBootParams.bootFile) != OK)
            sprintf (symTblFile, "%s:%s.sym", sysBootParams.hostName,
       sysBootParams.bootFile);

 sprintf (symTblFile, "%s.sym", sysBootParams.bootFile);
 }
#endif /* INCLUDE_PCMCIA */

/* SCR added */
#ifdef INCLUDE_PCMCIA_BOOT
    else if (strncmp (sysBootParams.bootDev, "pcmcia", 6) == 0)
 {

 sprintf (symTblFile, "%s.sym", sysBootParams.bootFile);

 }
#endif /* INCLUDE_PCMCIA_BOOT */
 

#ifdef INCLUDE_TFFS
    else if (strncmp (sysBootParams.bootDev, "tffs", 4) == 0)
 {
        int drive = 0;
        int removable = 0;

 if (strlen (sysBootParams.bootDev) == 4)
     return (ERROR);
 else
     sscanf (sysBootParams.bootDev, "%*4s%*c%d%*c%d", &drive, &removable);

 if (usrTffsConfig (drive, removable, sysBootParams.bootFile) != OK)
     return (ERROR);

 sprintf (symTblFile, "%s.sym", sysBootParams.bootFile);
 }
#endif /* INCLUDE_TFFS */
<snip>
 
 

Edward LaPier wrote:

VxWorks Greetings !

I am attempting to boot VxWorks from a SCSI Drive on a MVME3604.  I copy
vxWorks and vxWorks.sym to the SCSI drive, then I set up the boot
parameters to boot from the SCSI drive.  vxWorks gets loaded, but my
problem is loading vxWorks.sym.  Below is the print out I get from the
console.  Has anyone seen this before or does anyone have ideas to my
problem.  Thanks in advance.

Attaching to scsi device... done
Loading /sd0/vxWorks...941812
Starting at 0x100000...

Attaching network interface dc0... done
Attaching network interfacde lo0... done
NFS client support not included.
Loading symbol table from /sd0/vxWorks.sym .../sd0: No such file or
directory.
Error opening /sd0/vxWorks.sym: status = 0x226
.
.
.
VxWorks does boot, but I have no symbol table !!!

- --------------3EED808882E68AF00E48DCB8-- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to delay a task in micro seconds range Date: Thu, 19 Aug 1999 11:00:38 +0200 From: "Manfred Fischer" Organization: roNet GmbH Rosenheim Message-ID: <935053462.976046@internet> References: <7o6021$t1l$1@nnrp1.deja.com> > I wonder how to delay a task in micro seconds range. > The function taskdelay() delays a task in terms of ticks. so i > converted the time into number of ticks as follows: > > taskDelay((int)(dwMicroSeconds/1000000)* sysClkRateGet()); > > But In my case, The above will always be zero because i need to delay a > task only for 1000 or 2000 micro seconds. > > Effectively there will be no delay in task. > > can anyone give me a solution for this. > I think your problem is, that the default sysClkRate is 60. That means that the shortest time a delay can be is 0.01667s or 16.67 ms or 16666 microseconds. You can change the rate with sysClkRateSet() (achitecture dependent) but remember that the delay time you set can differ in time one system tic. An other way to delay can be the posix function nanosleep(). manfred --------------------------- Newsgroups: comp.os.vxworks Subject: pjava memory requirements ? Date: Thu, 19 Aug 1999 12:32:40 +0200 From: "Richard Menzinsky" Organization: Frontec Norr AB Message-ID: <7pgmet$r9u$1@mafalda.lule.frontec.se> Hi. Does anyone have any experience in how much memory (data) jworks and a small application (using RMI and a few threads) requires ? The system is a mbx860 (PPC) board. The code is JavaCodeCompact'ed and flashed and executes from flash (4MB no problem). The systems has 4MB RAM. 0.5 is statically allocated and 1.5 is allocated by vxworks and its components leaving 2 MB available to us. However, only 1 MB of contigues block. For some reason we cannot give java (-mx -ms) that 1MB. I assume java allocates 0.5 MB outside the java heap. The GC works quite alot and we can see message like "yellow and red zone". We are using Wrs standard java memory manager. Should we replace it ? I've read a note saying that a typical application with AWT requires 1MB heap and small without AWT less than 0.5 MB. Anyone got some hints, own experiences or ideas ? /Richard --------------------------- End of New-News digest ********************** From owner-vxwexplo-process Thu Aug 19 04:05:30 1999 From: "G. Peddareddappa" Date: Thu Aug 19 04:05:34 PDT 1999 Subject: NetBEUI/NetBios stacks on VxWorks Hi Every body, I need some help from you. Does any one know, whether NetBEUI/NetBios stand alone stack is available on VxWorks or any vendor who can sell NetBEUI/NetBios stack. I am looking for buying a NetBEUI/NetBios stand alone stack and NetBios over TCP/IP source code. Thanks in advance. with regards, reddy. ---- ----------------------------------------------------------- | G. Peddareddappa, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | Networking Division | E-mail: gpr@teil.soft.net | | Design & Development, | Ph: 91-80-841-0221 | | Tata Elxsi Ltd. | Fax: 91-80-841-0219 | ----------------------------------------------------------- From owner-vxwexplo-process Thu Aug 19 04:55:45 1999 From: Sergi Casas Date: Thu Aug 19 04:55:49 PDT 1999 Subject: Re: NetBEUI/NetBios stacks on VxWorks G. Peddareddappa wrote: > I need some help from you. Does any one know, whether NetBEUI/NetBios > stand alone stack is available on VxWorks or any vendor who can sell > NetBEUI/NetBios stack. I am looking for buying a NetBEUI/NetBios > stand alone stack and NetBios over TCP/IP source code. You can try with TROY XCD Inc. I haven't used their stack, but they have a library called "Soft Print Server" which contains NetBEUI among many other protocols for VxWorks using the SENS MUX. sales@xcd.com http://www.xcd.com -- Sergi Casas Hewlett-Packard InkJet Commercial Division From owner-vxwexplo-process Thu Aug 19 07:22:28 1999 From: "Mike Anderson" Date: Thu Aug 19 07:22:32 PDT 1999 Subject: RE: VME Accesses VxWorks Greetings! > > We have recently started using vxWorks 1.0.1 on a PPC 603. We are = > developing an application in which we require VMEbus access to a DAC = > board located in A16 address space. However, the implementation of this = > is proving troublesome. Can anyone provide details of using the VMEbus = > from vxWorks - its configuration and correct method of accessing the = > bus. Apologies for the trivial nature of this request, but poor = > documentation and lack of experience are a killer!! > Unfortunately, you don't give us *which* PPC 603 board you're using, so I can't be more specific. However, the place you're probably having problems with is the address translation between the A16 sapce on the VMEbus and just where that maps into your board's address space. Without going into the history of the various address spaces (an interesting discussion in an of itself), your BSP *should* have mapped A16, A24, A32 and possibly A64 addresses into your MMU. If you look in your BSP directory /target/config/ at the file sysLib.c, you should find two functions: sysLocalToBusAdrs and sysBusToLocalAdrs. These functions translate from your local (VME slave) addresses to how they're mapped to the bus and how bus addresses are mapped to your local space respectively. From some previous code that I had written: I've also included a piece of code called addrXlate.c. This code has two separate routines in it: This routine takes a VMEbus address in address space AM and tells you what local address you'd have to access to see the busAddr location. busAddrXlate (char *busAddr, int AM) Example: -> busAddrXlate("0x6000", 0x2d) ;(address 0x6000 in VME A16 space) This board sees address 0x6000 at 0xff046000 This next routine takes a local bus address and tells you what VMEbus address you'd have to access to see the busAddr location in the given address space. localAddrXlate (char *busAddr, int AM) Example: -> localAddrXlate("0x700000", 0x3d) (local address 0x700000 in VME A24 space) This board sees address 0x700000 at 0xff400000 Hence, these routines are useful for making sure that slave RAM is mapped properly or that off-board RAM is actually accessible in the address spaces you've specified. These are real good at determining if you've patched the BSP properly to allow VME32 BLT or VME64 MBLT accesses. /*===================== addrXlate.c ============================*/ #include "vxWorks.h" #include "vme.h" VOID busAddrXlate (char *busAddr, int AM) { char *xlatedAddr; int status; status = sysBusToLocalAdrs(AM, busAddr, &xlatedAddr); if (status == OK) printf("This board sees address 0x%x at 0x%x\n", busAddr, xlatedAddr); else { printf("sysBusToLocalAdrs error!\n"); printf("Unable to convert address 0x%x with address modifer 0x%x!\n\n", busAddr, AM); } } VOID localAddrXlate (char *busAddr, int AM) { char *xlatedAddr; int status; status = sysLocalToBusAdrs(AM, busAddr, &xlatedAddr); if (status == OK) printf("This board sees address 0x%x at 0x%x\n", busAddr, xlatedAddr); else { printf("sysBusToLocalAdrs error!\n"); printf("Unable to convert address 0x%x with address modifer 0x%x!\n\n", busAddr, AM); } } /* ================== End of addrXlate.c ==================== */ HTH, ----------------------------------------------------------------- Michael E. Anderson | Integrated Chipware Chief Scientist | 1861 Wiehle Ave. #300 | Reston, VA 20190 mike@chipware.com | (703) 736-3504 www.chipware.com (888)430-CHIP | (703) 736-3556 FAX ----------------------------------------------------------------- "Software development is like making a baby. You can't make a baby in one month by impregnating nine women. Some things just take time..." From owner-vxwexplo-process Thu Aug 19 08:27:47 1999 From: "John R. Moore III" Date: Thu Aug 19 08:27:51 PDT 1999 Subject: Re: VME Accesses > Submitted-by: "amass" ... > Hi All > > We have recently started using vxWorks 1.0.1 on a PPC 603. We are = > developing an application in which we require VMEbus access to a DAC = > board located in A16 address space. However, the implementation of this = > is proving troublesome. Can anyone provide details of using the VMEbus = > from vxWorks - its configuration and correct method of accessing the = > bus. Apologies for the trivial nature of this request, but poor = > documentation and lack of experience are a killer!! > The following call will get you the correct A16 address to use. sysBusToLocalAdrs(0x2d, DAC_ADDR, &address_you_will_use) check the return status of the above, it should be zero. The 0x2d is the VME address modifier for A16. You can find them in vme.h, it is VME_AM_SUP_SHORT_IO. -- ------------------------------------------------------------ |John R. Moore | Voice -> 703 448 1683 x229 | |Principal Engineer | FAX -> 703 893 5494 | |EMAIL: | On the WEB! | |jrm@mclean.sparta.com | http://www.mclean.sparta.com | |___________________________|______________________________| | | | | /\\ SPARTA, Inc. | | | ///\\ 7926 Jones Branch Drive | | | /////\\ Suite 900 | | | ///// \\ McLean, VA 22102 | | | / \\\\\ \\ 703-448-0120 | | | \ \\\\\ // | | | \ ////// | | | \////// SPARTA | | | \//// Pride In Performance | | | \// -------------------- | | ------------------------------------------------------------ From owner-vxwexplo-process Thu Aug 19 09:16:12 1999 From: Ilia Bosis Date: Thu Aug 19 09:16:16 PDT 1999 Subject: RE: Dual Ethernet Cards Hi Mark. We're had that configuration and it had work well. We even seen VxWorks doing the classic IP forwarding between 2 interfaces Some milestones to pass: -- Attach the 2-nd LAN device to the PCI bus You're use the CompactPCI daughter card, right ? Examples may be found in the BSP directory, file sysLib.c -- Install the appropriate device driver. (or write one yourself) and attach it to the VxWorks networking stack. Examples may be found in the target/src/config/usrNetwork.c -- Configure the device IP address & mask and the routing table. This is very depends on Yours network configuration and for what You what to use the 2-nd interface (just connect to 2 LAN's forwarding the packets, between them, etc.). There is too many options, so look at any good TCP/IP book. Hope, this helps Ilia > -----Original Message----- > From: vxwexplo@lbl.gov [mailto:vxwexplo@lbl.gov] > Sent: Tuesday, August 17, 1999 6:11 PM > To: vxworks_users@csg.lbl.gov > Subject: Dual Ethernet Cards > > > Submitted-by owner-vxwexplo-process Tue Aug 17 09:10:27 1999 > Submitted-by: "Kozel, Mark Mr ITT/FSC" > > We are currently a PPC604 / VME / Tornado 1.0.1 / vxWorks 5.2 > with a Sun > Solaris host. > > The Sun and PPC are connected via the PPC's ethernet port. > We also have an > additional ethernet daughter card on the PPC for a second LAN > connections. > > Anyone have 2 ethernet connections running like this? > > Thanks, Mark > ------------------------------------------- Got a few > million clock cycles > to spare? > | Mark Kozel * KozelM@fscnet.vafb.af.mil > > | Lend them to SETI (Search for > | ITT Federal Services - bldg. 6525 ms 5320 | > Extraterrestrial Intelligence) > and > | PO Box 5728 VAFB, CA 93437 (805) 606-7928 | put your idle > home computer to > work. > ------------------------------------------- > http://setiathome.ssl.berkeley.edu From owner-vxwexplo-process Thu Aug 19 18:06:42 1999 From: rcw@DynRes.com Date: Thu Aug 19 18:06:47 PDT 1999 Subject: checking for process over-run VxWorks users, I currently have a scheduling mechanism whereby a binary semaphore is given every 4ms (I'm using sysAuxClk running at 1KHz to do this). I have a task that must run cyclically so that task waits on that semaphore. But I would like to know if the task has run longer than expected. I was thinking something like a semPeek would be just what I needed: I could look to see if the semaphore was already available. If it was I could report an over-run and if it wasn't, just wait on it. But of course there is no semPeek(). Does anyone have any clean solutions for this type of problem? Ron Wagner From owner-vxwexplo-process Fri Aug 20 02:36:02 1999 From: Martin.Hoglund@saab.se Date: Fri Aug 20 02:36:06 PDT 1999 Subject: Re: checking for process over-run Hi Ron How you could detect an overrun on your VxWorks-task: Before giving the semaphore, check if your task is ready (taskIsReady()). If thats the case, you have an overrun. Of course, this only works properly if your task are ready all time between your semTake()-calls. Martin From owner-vxwexplo-process Fri Aug 20 03:46:24 1999 From: "Tony Mayes" Date: Fri Aug 20 03:46:28 PDT 1999 Subject: Read from files which are being appended Hi Vxworks users Can anyone tell me.. If I have a file open from 2 threads, one of which wants to read, one wants to append... after an append will the first (reader) be able to access the appended bytes or must I do a freopen() to get that data? Tony Tony Mayes (The opinions expressed within are my own) Email address tony.mayes@epid.eurotherm.co.uk Phone (0044)(0)1903 205277 Fax (0044)(0)1903 524016 Eurotherm Process Instrumentation Div, Southdownview Way, Worthing, Sussex, UK, BN14 8NN From owner-vxwexplo-process Fri Aug 20 04:00:12 1999 From: daemon@csg.lbl.gov Date: Fri Aug 20 04:00:15 PDT 1999 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Fri Aug 20 04:00:07 PDT 1999 Subject: Need to Catch TLB Signal on mpc860 Subject: Re: stripppc corrupts binaries Subject: Re: PPC: 24-bit relocation error Subject: SM_ANCHOR_ADRS Subject: Errors building vxWorks.st_rom Subject: Re: To where is the PC saved when interrupt generated? Subject: Re: Vxworks total cost? Subject: Re: How to delay a task in micro seconds range Subject: Re: stripppc corrupts binaries Subject: vxWorks.sym load from scsi device Subject: Re: File Writing Question Subject: Re: boot devices Subject: Re: SM_ANCHOR_ADRS Subject: Exceptions in Interrupt Handlers (Exception Message) Subject: Re: checking for process over-run Subject: malloc & cache safe ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Need to Catch TLB Signal on mpc860 Date: Thu, 19 Aug 1999 12:36:36 GMT From: "Steeve Gagne" Organization: MetroNet Communications Group Inc. Message-ID: At the moment, I am unable to catch the TLB Error Code and associate to a function call. It is functional for the SIGSEGV, SIGILL and SIGBUS but none of this catch the TLB Error Code ... Example : if ( sigaction( SIGSEGV, (void *) telnetClientExit, NULL ) == -1 ) { printf( "sigaction failed for SIGSEGV.\n") ; return ; } Any Idea would be appreciate Thanks Steeve Gagne steevegagne@sympatico.ca --------------------------- Newsgroups: comp.os.vxworks Subject: Re: stripppc corrupts binaries Date: Thu, 19 Aug 1999 08:52:38 -0400 From: Douglas Fraser Organization: Lucent Technologies Message-ID: <37BBFE16.FC673D84@lucent.com> References: <37BB37FC.2E8DFBFA@broadcom.com> Hi Curt. You have to pass it some flags, I can't remember exactly which ones (i am working on ARM now), but start with - --strip-debug --strip-unneeded. Read the manual in any case, page 499 of the GNU Toolkit user guide, 2.7. I know the first time I used it, I assumed the default (no flags) behavior would do the right thing, but I had the same problems you are having. When I started using the flags, it worked fine. Doug Curt McDowell wrote: > > In Tornado 1.0, using stripppc (and objcopy -S) corrupts PPC binaries so > vxWorks can't load them. > Is this a known GNU binutil bug? > Is it ppc tools only? Does anyone know of a work-around? And why does > VxWorks look at the program header in the first place? Any help would > be appreciated. > > Thanks, > > Curt McDowell > Broadcom Corp. > csm@broadcom.com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PPC: 24-bit relocation error Date: Thu, 19 Aug 1999 07:05:43 -0600 From: "Russell A. Johnson" Message-ID: <37BC0127.26DCC056@bigfoot.com> References: <37BB5EDD.DCFE877D@bogus.sympatico.ca> Try using -mlongcall Russ Yves Boudreault wrote: > > Hello all, > > host: Tornado 1.0.1 on Tornado > target: MVME2604 > > I am trying to load a large application (~30MB) into a PPC-based board, > and I am running into the relocation error (24-bit ....) > > I have tried to compile the stuff with -longcall and even vxWorks with > -longcall - but without much success. > > Has anyone done this and can tell me what the steps involved are ? > > Thanks in advance. > > Yves Boudreault > > PS: if replying by email, please remove the "bogus." in the host name. --------------------------- Newsgroups: comp.os.vxworks Subject: SM_ANCHOR_ADRS Date: Thu, 19 Aug 1999 10:08:04 -0400 From: John Sestak Organization: Raytheon Systems Company, Falls Church Message-ID: <37BC0FC3.FBF32FFD@fallschurch.esys.com> Hello, I'm having problems determining the relationship between SM_ANCHOR_ADRS and SM_MEM_ADRS. I know SM_ANCHOR_ADRS is the address of the anchor for shared memory, so why do you need SM_MEM_ADRS? From what I read, it seems to define the same thing as SM_ANCHOR_ADRS. Do anyone know the relationship between the two of them? Thanks, John Sestak --------------------------- Newsgroups: comp.os.vxworks Subject: Errors building vxWorks.st_rom Date: Thu, 19 Aug 1999 15:07:09 +0000 From: "David P. Floyd" Organization: Dynacs Engineering Company, Inc. Message-ID: <37BC1D9D.893C996@orion.ksc.nasa.gov> I am attempting to build the rommable standalone version of a VxWorks image that INCLUDES my application program. I followed "WTN 43: Starting User Applications" and added my application modules to the LIB_EXTRA variable in the Makefile. However, I get the following errors at the very end of the vxWorks.st_rom compilation: ccppc -B/opt2/users/dpf/vwt101/host/sun4-solaris2/lib/gcc-lib/ -c - -mstrict-align -mlongcall -ansi -nostdinc -O2 -fvolatile -fno-builtin - -fno-for-scope -Wall -I/h -I. - -I/opt2/users/dpf/vwt101/target/config/all - -I/opt2/users/dpf/vwt101/target/h - -I/opt2/users/dpf/vwt101/target/src/config - -I/opt2/users/dpf/vwt101/target/src/drv -DCPU=PPC604 -DMV2600 - -DTARGET_DIR="\"mv2604\"" -o version.o /opt2/users/dpf/vwt101/target/config/all/version.c ldppc -X -N -e _romInit -Ttext 00400000 \ -o vxWorks.st_rom romInit.o bootInit_st.o version.o \ /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvc.o /opt2/users/dpf/work/hgds2000/vme/lib/vmeLib.o /opt2/users/dpf/work/hgds2000/vme/rga/rga.o /opt2/users/dpf/work/hgds2000/vme/sds/sds.o /opt2/users/dpf/work/hgds2000/vme/router/router.o /opt2/users/dpf/work/hgds2000/vme/granphil/granphil.o /opt2/users/dpf/work/hgds2000/vme/turbo/turbo.o /opt2/users/dpf/work/hgds2000/vme/irig/irig.o /opt2/users/dpf/work/hgds2000/vme/net/net.o /opt2/users/dpf/work/hgds2000/vme/mks/mks.o /opt2/users/dpf/work/hgds2000/vme/analog/analog.o /opt2/users/dpf/work/hgds2000/vme/compro/compro.o /opt2/users/dpf/work/hgds2000/vme/hgds/hgds.o /opt2/users/dpf/vwt101/target/lib/libPPC604gnuvx.a vxWorks.st.Z.o /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvc.o: In function `mvcHrdInit': /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:462: undefined reference to `sysBusToLocalAdrs' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:462: undefined reference to `sysBusToLocalAdrs' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:582: undefined reference to `sysLocalToBusAdrs' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:582: undefined reference to `sysLocalToBusAdrs' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:724: undefined reference to `sysIntEnable' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:724: undefined reference to `sysIntEnable' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvc.o: In function `mvcRead': /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:787: undefined reference to `sysLocalToBusAdrs' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:787: undefined reference to `sysLocalToBusAdrs' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvc.o: In function `mvcWrite': /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:835: undefined reference to `sysLocalToBusAdrs' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:835: undefined reference to `sysLocalToBusAdrs' make: *** [vxWorks.st_rom] Error 1 "mvcSerial.c" is a driver for some serial ports that I need to add to vxWorks. I added the driver initialization call to "usrConfig.c" right before it invokes the user application (USER_APPL_INIT). I have also tried to add my modules to the MACH_EXTRA variable in the Makefile, but that does not work either. Can anyone help with this? Thanks. - -- David P. Floyd Dynacs Engineering Company, Inc. Kennedy Space Center, FL --------------------------- Newsgroups: comp.os.vxworks,comp.arch.embedded,comp.arch.real-time Subject: Re: To where is the PC saved when interrupt generated? Date: 19 Aug 1999 16:33:07 GMT From: albaugh@agames.com (Mike Albaugh) Organization: Atari Games Corporation Message-ID: <7phbk3$hnj$2@null.agames.com> References: <7pggfa$fuo$1@nnrp1.deja.com> Followup-To: comp.os.vxworks,comp.arch.embedded,comp.arch.real-time akarpov@my-deja.com wrote: : You are right. When an interrupt occurs the registers are saved in the : stack and are restored then when the ISR is finished. In many cases : this is done by the CPU hardware. : In article , : "Hyung-Taek Lim" wrote: : > When an interrupt occurs, the PC value of running task should be : saved. I : > don't know to where it is saved. : > I think it is not saved to TCB. Was the original question restricted in some way? I didn't get that impression, and "it is saved on the stack" is neither true across all CPU's nor a complete answer to the question I see. For the pedantic, I've used CPUs which, on interrupt, save the PC: 1) at a fixed memory location (PDP-8, IBM-360, x86/SMI mode) 2) Save the PC on (some) hidden stack (8008, PIC) 3) Save the PC on some visible stack (seems to correlate with "first version in NMOS :-) 3) Save one or more PCs in on-chip register. But that doesn't answer htlim's real question, as I interpret it, more like: "WHere is the PC saved, by the OS, during task-switching" and the answer is _usually_ "It is either saved in a TCB or is simply "left" on the task's stack, and the current stack-pointer is saved in the TCB. The choice typically is influenced by whether exceptions save the PC on the "current" stack or on some interrupt/kernel stack. (Note that only option (2) above causes any problems for such a software scheme, which is why you probably aren't going to see Linux for the PIC any time soon :-) Mike | albaugh@agames.com, speaking only for myself --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Vxworks total cost? Date: Thu, 19 Aug 1999 17:29:11 GMT From: Kremer@wxs.nl (Harro Kremer) Organization: Planet Internet Message-ID: <37bc3e57.455616275@news.wxs.nl> References: <7pftcv$cmb$1@usenet.kreonet.re.kr> "yoonts" wrote: >If I apply vxworks to our printer main board contains mips4640, >how much total cost is it? >License fee, porting fee, running fee... >Any help would be appreciated. Depends on how many you sell: for 10,000 licences a single licence cost much less than if you buy 10. To a a reliable answer: contact a Wind River Salesman. Harro --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to delay a task in micro seconds range Date: Thu, 19 Aug 1999 18:08:02 GMT From: Curt McDowell Organization: Broadcom Corp. Message-ID: <37BC491A.97EA7ECB@broadcom.com> References: <7o6021$t1l$1@nnrp1.deja.com> <935053462.976046@internet> Reply-To: csm@broadcom.com Here's a routine to delay a specified number of microseconds. #include #include #include /* * usleep(usec) */ void usleep(UINT32 usec) { struct timeval tv; tv.tv_sec = (time_t) (usec / 1000000); tv.tv_usec = (long) (usec % 1000000); select(0, (fd_set *) 0, (fd_set *) 0, (fd_set *) 0, &tv); } Curt McDowell csm@broadcom.com Manfred Fischer wrote: > > > I wonder how to delay a task in micro seconds range. > > The function taskdelay() delays a task in terms of ticks. so i > > converted the time into number of ticks as follows: > > > > taskDelay((int)(dwMicroSeconds/1000000)* sysClkRateGet()); > > > > But In my case, The above will always be zero because i need to delay a > > task only for 1000 or 2000 micro seconds. > > > > Effectively there will be no delay in task. > > > > can anyone give me a solution for this. > > > I think your problem is, that the default sysClkRate is 60. That means that > the shortest time a delay can be is 0.01667s or 16.67 ms or 16666 > microseconds. You can change the rate with sysClkRateSet() (achitecture > dependent) but remember that the delay time you set can differ in time one > system tic. An other way to delay can be the posix function nanosleep(). > > manfred --------------------------- Newsgroups: comp.os.vxworks Subject: Re: stripppc corrupts binaries Date: Thu, 19 Aug 1999 18:11:15 GMT From: Curt McDowell Organization: Broadcom Corp. Message-ID: <37BC49DB.4D9C68D3@broadcom.com> References: <37BB37FC.2E8DFBFA@broadcom.com> <37BBFE16.FC673D84@lucent.com> Reply-To: csm@broadcom.com Doug, Thanks. I've tried every combination of flags already, and none work. Someone else reported the same problem and sent a little kludge program that fixes the corrupt header. Curt Douglas Fraser wrote: > > Hi Curt. > > You have to pass it some flags, I can't remember exactly > which ones (i am working on ARM now), but start with > --strip-debug --strip-unneeded. Read the manual in any case, > page 499 of the GNU Toolkit user guide, 2.7. > > I know the first time I used it, I assumed the default (no > flags) > behavior would do the right thing, but I had the same > problems > you are having. When I started using the flags, it worked > fine. > > Doug > > Curt McDowell wrote: > > > > In Tornado 1.0, using stripppc (and objcopy -S) corrupts PPC binaries so > > vxWorks can't load them. > > > > > Is this a known GNU binutil bug? > > Is it ppc tools only? Does anyone know of a work-around? And why does > > VxWorks look at the program header in the first place? Any help would > > be appreciated. > > > > Thanks, > > > > Curt McDowell > > Broadcom Corp. > > csm@broadcom.com --------------------------- Newsgroups: comp.os.vxworks Subject: vxWorks.sym load from scsi device Date: Wed, 18 Aug 1999 10:26:24 -0400 From: Edward LaPier Organization: Lockheed Martin Federal Systems, Owego, NY Message-ID: <37BAC290.F57D3F53@lmco.com> VxWorks Greetings ! I am attempting to boot VxWorks from a SCSI Drive on a MVME3604. I copy vxWorks and vxWorks.sym to the SCSI drive, then I set up the boot parameters to boot from the SCSI drive. vxWorks gets loaded, but my problem is loading vxWorks.sym. Below is the print out I get from the console. Has anyone seen this before or does anyone have ideas to my problem. Thanks in advance. Attaching to scsi device... done Loading /sd0/vxWorks...941812 Starting at 0x100000... Attaching network interface dc0... done Attaching network interfacde lo0... done NFS client support not included. Loading symbol table from /sd0/vxWorks.sym .../sd0: No such file or directory. Error opening /sd0/vxWorks.sym: status = 0x226 . . . VxWorks does boot, but I have no symbol table !!! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: File Writing Question Date: Thu, 19 Aug 1999 15:35:11 -0800 From: mlang@fst.jpl.nasa.gov (M Lang) Organization: JPL Message-ID: References: <87B5B078324ED211B1D60008C71E3EAE8D0B9C@exribre01.ri.dasa.de> In article <87B5B078324ED211B1D60008C71E3EAE8D0B9C@exribre01.ri.dasa.de>, "Seelhorst, Christoph" wrote: ... snip ... > It seems that VxWorks does not write to the file but is buffering all file > output in memory until the end of the application. > Nevertheless that low-priority task IS running, as no errors occur that the > message queue is full, i.e. that task must run and get the data from the > queue, and writes it somewhere ??? > > Is this explanation of the behaviour true, and can this be avoided somehow? > > Thanks in advance, > > Christoph > > Christoph Seelhorst, > DaimlerChrysler Aerospace Space Division, Bremen, Germany Do you use vxWorks' netdrv or nfs? It sounds like you were using netdrv and that's what happened when a file is either being read or written (the whole file is buffered in memory). Try nfs. = Minh = --------------------------- Newsgroups: comp.os.vxworks Subject: Re: boot devices Date: Thu, 19 Aug 1999 22:26:09 -0500 From: petekz@airmail.net (Pete Kockritz) Organization: Compunet (using Airnews.net! at Internet America) Message-ID: References: <37bb0609@news.eclipse.net> In article <37bb0609@news.eclipse.net>, Wayne Brissette wrote: > Does anybody have a listing of what the abbreviations are that VXworks uses > for boot devices? For example, ma is Ethernet, sm is shared Memory Network, > and sl is slip. In the VXworks manual they also use ln for Lance Ethernet > controller. However, they never provide a list of what these abbreviations > are... I realize that most vendors if providing a precompiled version of > VXworks should provide this, but some don't. I'm really confused by bp > which is used on a precompiled embedded version of VXworks. Anybody know > what this and many of the others are? The file 'bootConfig.c', has all the abbreviations. It sounds like you don't have the sources; here's some of them: scsi fd floppy disk? ide ide drive ata ata device pcmcia ppp bp backplane (usually VME) sm shared memory sl slip There's a whole host of device names used for the network device, depending on the processor and ethernet interface. On the PPC860, the ethernet device is 'cpm'. Of course, anyone with the sources can add/modify them as they see fit. Regards, Pete - -- +-----------------------------------------------------------------+ | Pete Kockritz mailto:petekz@airmail.net | | This space for rent. | +-----------------------------------------------------------------+ --------------------------- Newsgroups: comp.os.vxworks Subject: Re: SM_ANCHOR_ADRS Date: Fri, 20 Aug 1999 08:31:34 +0200 From: Paul Chien Organization: Mecalc (Pty) Ltd Message-ID: <37BCF646.BE02512C@mecalc.co.za> References: <37BC0FC3.FBF32FFD@fallschurch.esys.com> There is a good document on shared memory at WindSurf, WTN27 - Shared Memory Network. In brief, SM_MEM_ADRS refer to the local address of the shared memory pool, and SM_ANCHOR_ADRS refer to the local address of the shared memory network anchor. Hope this helps. Paul John Sestak wrote: > > Hello, > I'm having problems determining the relationship between > SM_ANCHOR_ADRS and SM_MEM_ADRS. I know SM_ANCHOR_ADRS is the address of > the anchor for shared memory, so why do you need SM_MEM_ADRS? From what > I read, it seems to define the same thing as SM_ANCHOR_ADRS. Do anyone > know the relationship between the two of them? > > Thanks, > John Sestak --------------------------- Newsgroups: comp.os.vxworks Subject: Exceptions in Interrupt Handlers (Exception Message) Date: Fri, 20 Aug 1999 08:29:30 +0100 From: Arthur Watt Organization: Lucent Technologies Message-ID: <37BD03DA.3760F630@lucent.com> I have a system running VxWorks 5.2 and very occasionally we see the system reboot unexpectedly. I am 100% sure that the reboot is caused by an exception occuring in an interrupt handler and I have verified this by changing the ISR exception address (EXC_MSG_ADRS) to point into NVRAM. EXC_MSG_ADRS defines the place where VxWorks stores interrupt exception information. However the information supplied in the Exception message not enough to identify the problem since the exception information starts at the location of the exception and then works down the s tack (much more helpful to move up). Consider the following : ISR_ENTRY() | v func1() | v func2() | v operator delete() *** Exception occurs here | v free() | v os_free(). The Exception Message starts with the PC/NextPC/SP/PSR where the exception occured and then moves down the stack supplying the same information at each level. While this is useful information, if possible I would prefer a complete stack trace. Does anyone know if it is possible to get a stack trace of an interrupt exception ? Since the exception message information starts at the exception point and then works down, it could be that the exception occured in some commonly called code eg operator delete() so the use of the Exception Message is very limited. Another question is how to limit the size the the Exception Message, to me it looks like the length of the exception message depends on the nesting level of the code which caused the exception, does anyone know how to limit the size of the exception information ? Thank you for your help Arthur --------------------------- Newsgroups: comp.os.vxworks Subject: Re: checking for process over-run Date: Fri, 20 Aug 1999 10:29:14 +0200 From: "Werner Schiendl" Organization: VBS-Newsserver Message-ID: <935137757.140626@news.vbs.at> References: Ron, I would set a flag indicating your cyclic processing is finished yust before taking the semaphore. In the timing routine you can check if the flag has been set. If the flag is not set you know that your task is late and you can do whatever is appropriate. If it is set, clear it and give the semaphore to start the next cycle. e. g. volatile int readyFlag; SEM_ID syncSem; void cyclicTask(void) { readyFlag = 1; semTake(syncSem, WAIT_FOREVER); /* Cyclic processing */ } void timer(void) { if (readyFlag) { readyFlag=0; semGive(syncSem); } else { /* Task is late */ } } - -- Werner Schiendl International Applications - -- mailto:ws-news@gmx.at - -- B&R Industrial Automation http://www.br-automation.com wrote in message news:TFSOGFFD@DynRes.com... > VxWorks users, > > I currently have a scheduling mechanism whereby a binary semaphore is given every 4ms (I'm using sysAuxClk running at 1KHz to do this). > > I have a task that must run cyclically so that task waits on that semaphore. > > But I would like to know if the task has run longer than expected. I was thinking something like a semPeek would be just what I needed: I could look to see if the semaphore was already available. If it > was I could report an over-run and if it wasn't, just wait on it. > > But of course there is no semPeek(). > > Does anyone have any clean solutions for this type of problem? > > Ron Wagner > > --------------------------- Newsgroups: comp.os.vxworks Subject: malloc & cache safe Date: Fri, 20 Aug 1999 09:12:58 GMT From: lingsiva@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7pj66k$dmb$1@nnrp1.deja.com> I am writing a DMA Driver API . The user who uses this API may pass a malloc’d (NOT cacheDmaMalloc’d) buffer and request the API to make it Cache safe and as well return the physical address. I am not very sure whether malloc returns physical address or virtual address. I have got answers from the newsgroup some saying malloc know only about virtual address..others malloc always returns physical address. But I am assuming a worst-case scenario that malloc returns virtual address. I would like to know how to do this translation and whether can I invalidate cache for a section starting at user passed address thru user passed address + number of bytes. Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- End of New-News digest ********************** From owner-vxwexplo-process Fri Aug 20 06:18:12 1999 From: David Laight Date: Fri Aug 20 06:18:17 PDT 1999 Subject: Re: checking for process over-run > But of course there is no semPeek() in vxWorks. What's wrong with: int semPeek( SEM_ID sema4 ) { if (semTake( sema4, NO_WAIT )) return ERROR; semGive( sema4 ); return OK; } or in the code: if (!semTake( sema4, NO_WAIT ))  logMsg( "Task Overran\n" ); else semTake( sema4, WAIT_FOREVER ); David ---------------------------------------------------------------- David Laight email: dsl@tadpole.co.uk Tadpole Technology plc phone: +44 1223 278 256 Cambridge, UK fax: +44 1223 278 201 From owner-vxwexplo-process Fri Aug 20 07:16:21 1999 From: "Wu, Huang" Date: Fri Aug 20 07:16:25 PDT 1999 Subject: RE: comp.os.vxworks newsdigest:vxWorks.sysm load from scsi drive Have you burned a new EPROM? Huang Wu National Research Council Canada -----Original Message----- From: vxwexplo@lbl.gov [mailto:vxwexplo@lbl.gov] Sent: Friday, August 20, 1999 7:00 AM To: vxworks_users@csg.lbl.gov Subject: comp.os.vxworks newsdigest Submitted-by owner-vxwexplo-process Fri Aug 20 04:00:12 1999 Submitted-by: daemon@csg.lbl.gov Comp.Os.Vxworks Daily Digest Fri Aug 20 04:00:07 PDT 1999 Subject: Need to Catch TLB Signal on mpc860 Subject: Re: stripppc corrupts binaries Subject: Re: PPC: 24-bit relocation error Subject: SM_ANCHOR_ADRS Subject: Errors building vxWorks.st_rom Subject: Re: To where is the PC saved when interrupt generated? Subject: Re: Vxworks total cost? Subject: Re: How to delay a task in micro seconds range Subject: Re: stripppc corrupts binaries Subject: vxWorks.sym load from scsi device Subject: Re: File Writing Question Subject: Re: boot devices Subject: Re: SM_ANCHOR_ADRS Subject: Exceptions in Interrupt Handlers (Exception Message) Subject: Re: checking for process over-run Subject: malloc & cache safe ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Need to Catch TLB Signal on mpc860 Date: Thu, 19 Aug 1999 12:36:36 GMT From: "Steeve Gagne" Organization: MetroNet Communications Group Inc. Message-ID: At the moment, I am unable to catch the TLB Error Code and associate to a function call. It is functional for the SIGSEGV, SIGILL and SIGBUS but none of this catch the TLB Error Code ... Example : if ( sigaction( SIGSEGV, (void *) telnetClientExit, NULL ) == -1 ) { printf( "sigaction failed for SIGSEGV.\n") ; return ; } Any Idea would be appreciate Thanks Steeve Gagne steevegagne@sympatico.ca --------------------------- Newsgroups: comp.os.vxworks Subject: Re: stripppc corrupts binaries Date: Thu, 19 Aug 1999 08:52:38 -0400 From: Douglas Fraser Organization: Lucent Technologies Message-ID: <37BBFE16.FC673D84@lucent.com> References: <37BB37FC.2E8DFBFA@broadcom.com> Hi Curt. You have to pass it some flags, I can't remember exactly which ones (i am working on ARM now), but start with - --strip-debug --strip-unneeded. Read the manual in any case, page 499 of the GNU Toolkit user guide, 2.7. I know the first time I used it, I assumed the default (no flags) behavior would do the right thing, but I had the same problems you are having. When I started using the flags, it worked fine. Doug Curt McDowell wrote: > > In Tornado 1.0, using stripppc (and objcopy -S) corrupts PPC binaries so > vxWorks can't load them. > Is this a known GNU binutil bug? > Is it ppc tools only? Does anyone know of a work-around? And why does > VxWorks look at the program header in the first place? Any help would > be appreciated. > > Thanks, > > Curt McDowell > Broadcom Corp. > csm@broadcom.com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PPC: 24-bit relocation error Date: Thu, 19 Aug 1999 07:05:43 -0600 From: "Russell A. Johnson" Message-ID: <37BC0127.26DCC056@bigfoot.com> References: <37BB5EDD.DCFE877D@bogus.sympatico.ca> Try using -mlongcall Russ Yves Boudreault wrote: > > Hello all, > > host: Tornado 1.0.1 on Tornado > target: MVME2604 > > I am trying to load a large application (~30MB) into a PPC-based board, > and I am running into the relocation error (24-bit ....) > > I have tried to compile the stuff with -longcall and even vxWorks with > -longcall - but without much success. > > Has anyone done this and can tell me what the steps involved are ? > > Thanks in advance. > > Yves Boudreault > > PS: if replying by email, please remove the "bogus." in the host name. --------------------------- Newsgroups: comp.os.vxworks Subject: SM_ANCHOR_ADRS Date: Thu, 19 Aug 1999 10:08:04 -0400 From: John Sestak Organization: Raytheon Systems Company, Falls Church Message-ID: <37BC0FC3.FBF32FFD@fallschurch.esys.com> Hello, I'm having problems determining the relationship between SM_ANCHOR_ADRS and SM_MEM_ADRS. I know SM_ANCHOR_ADRS is the address of the anchor for shared memory, so why do you need SM_MEM_ADRS? From what I read, it seems to define the same thing as SM_ANCHOR_ADRS. Do anyone know the relationship between the two of them? Thanks, John Sestak --------------------------- Newsgroups: comp.os.vxworks Subject: Errors building vxWorks.st_rom Date: Thu, 19 Aug 1999 15:07:09 +0000 From: "David P. Floyd" Organization: Dynacs Engineering Company, Inc. Message-ID: <37BC1D9D.893C996@orion.ksc.nasa.gov> I am attempting to build the rommable standalone version of a VxWorks image that INCLUDES my application program. I followed "WTN 43: Starting User Applications" and added my application modules to the LIB_EXTRA variable in the Makefile. However, I get the following errors at the very end of the vxWorks.st_rom compilation: ccppc -B/opt2/users/dpf/vwt101/host/sun4-solaris2/lib/gcc-lib/ -c - -mstrict-align -mlongcall -ansi -nostdinc -O2 -fvolatile -fno-builtin - -fno-for-scope -Wall -I/h -I. - -I/opt2/users/dpf/vwt101/target/config/all - -I/opt2/users/dpf/vwt101/target/h - -I/opt2/users/dpf/vwt101/target/src/config - -I/opt2/users/dpf/vwt101/target/src/drv -DCPU=PPC604 -DMV2600 - -DTARGET_DIR="\"mv2604\"" -o version.o /opt2/users/dpf/vwt101/target/config/all/version.c ldppc -X -N -e _romInit -Ttext 00400000 \ -o vxWorks.st_rom romInit.o bootInit_st.o version.o \ /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvc.o /opt2/users/dpf/work/hgds2000/vme/lib/vmeLib.o /opt2/users/dpf/work/hgds2000/vme/rga/rga.o /opt2/users/dpf/work/hgds2000/vme/sds/sds.o /opt2/users/dpf/work/hgds2000/vme/router/router.o /opt2/users/dpf/work/hgds2000/vme/granphil/granphil.o /opt2/users/dpf/work/hgds2000/vme/turbo/turbo.o /opt2/users/dpf/work/hgds2000/vme/irig/irig.o /opt2/users/dpf/work/hgds2000/vme/net/net.o /opt2/users/dpf/work/hgds2000/vme/mks/mks.o /opt2/users/dpf/work/hgds2000/vme/analog/analog.o /opt2/users/dpf/work/hgds2000/vme/compro/compro.o /opt2/users/dpf/work/hgds2000/vme/hgds/hgds.o /opt2/users/dpf/vwt101/target/lib/libPPC604gnuvx.a vxWorks.st.Z.o /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvc.o: In function `mvcHrdInit': /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:462: undefined reference to `sysBusToLocalAdrs' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:462: undefined reference to `sysBusToLocalAdrs' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:582: undefined reference to `sysLocalToBusAdrs' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:582: undefined reference to `sysLocalToBusAdrs' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:724: undefined reference to `sysIntEnable' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:724: undefined reference to `sysIntEnable' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvc.o: In function `mvcRead': /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:787: undefined reference to `sysLocalToBusAdrs' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:787: undefined reference to `sysLocalToBusAdrs' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvc.o: In function `mvcWrite': /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:835: undefined reference to `sysLocalToBusAdrs' /opt2/users/dpf/work/hgds2000/vme/Macrolink/mvcSerial.c:835: undefined reference to `sysLocalToBusAdrs' make: *** [vxWorks.st_rom] Error 1 "mvcSerial.c" is a driver for some serial ports that I need to add to vxWorks. I added the driver initialization call to "usrConfig.c" right before it invokes the user application (USER_APPL_INIT). I have also tried to add my modules to the MACH_EXTRA variable in the Makefile, but that does not work either. Can anyone help with this? Thanks. - -- David P. Floyd Dynacs Engineering Company, Inc. Kennedy Space Center, FL --------------------------- Newsgroups: comp.os.vxworks,comp.arch.embedded,comp.arch.real-time Subject: Re: To where is the PC saved when interrupt generated? Date: 19 Aug 1999 16:33:07 GMT From: albaugh@agames.com (Mike Albaugh) Organization: Atari Games Corporation Message-ID: <7phbk3$hnj$2@null.agames.com> References: <7pggfa$fuo$1@nnrp1.deja.com> Followup-To: comp.os.vxworks,comp.arch.embedded,comp.arch.real-time akarpov@my-deja.com wrote: : You are right. When an interrupt occurs the registers are saved in the : stack and are restored then when the ISR is finished. In many cases : this is done by the CPU hardware. : In article , : "Hyung-Taek Lim" wrote: : > When an interrupt occurs, the PC value of running task should be : saved. I : > don't know to where it is saved. : > I think it is not saved to TCB. Was the original question restricted in some way? I didn't get that impression, and "it is saved on the stack" is neither true across all CPU's nor a complete answer to the question I see. For the pedantic, I've used CPUs which, on interrupt, save the PC: 1) at a fixed memory location (PDP-8, IBM-360, x86/SMI mode) 2) Save the PC on (some) hidden stack (8008, PIC) 3) Save the PC on some visible stack (seems to correlate with "first version in NMOS :-) 3) Save one or more PCs in on-chip register. But that doesn't answer htlim's real question, as I interpret it, more like: "WHere is the PC saved, by the OS, during task-switching" and the answer is _usually_ "It is either saved in a TCB or is simply "left" on the task's stack, and the current stack-pointer is saved in the TCB. The choice typically is influenced by whether exceptions save the PC on the "current" stack or on some interrupt/kernel stack. (Note that only option (2) above causes any problems for such a software scheme, which is why you probably aren't going to see Linux for the PIC any time soon :-) Mike | albaugh@agames.com, speaking only for myself --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Vxworks total cost? Date: Thu, 19 Aug 1999 17:29:11 GMT From: Kremer@wxs.nl (Harro Kremer) Organization: Planet Internet Message-ID: <37bc3e57.455616275@news.wxs.nl> References: <7pftcv$cmb$1@usenet.kreonet.re.kr> "yoonts" wrote: >If I apply vxworks to our printer main board contains mips4640, >how much total cost is it? >License fee, porting fee, running fee... >Any help would be appreciated. Depends on how many you sell: for 10,000 licences a single licence cost much less than if you buy 10. To a a reliable answer: contact a Wind River Salesman. Harro --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to delay a task in micro seconds range Date: Thu, 19 Aug 1999 18:08:02 GMT From: Curt McDowell Organization: Broadcom Corp. Message-ID: <37BC491A.97EA7ECB@broadcom.com> References: <7o6021$t1l$1@nnrp1.deja.com> <935053462.976046@internet> Reply-To: csm@broadcom.com Here's a routine to delay a specified number of microseconds. #include #include #include /* * usleep(usec) */ void usleep(UINT32 usec) { struct timeval tv; tv.tv_sec = (time_t) (usec / 1000000); tv.tv_usec = (long) (usec % 1000000); select(0, (fd_set *) 0, (fd_set *) 0, (fd_set *) 0, &tv); } Curt McDowell csm@broadcom.com Manfred Fischer wrote: > > > I wonder how to delay a task in micro seconds range. > > The function taskdelay() delays a task in terms of ticks. so i > > converted the time into number of ticks as follows: > > > > taskDelay((int)(dwMicroSeconds/1000000)* sysClkRateGet()); > > > > But In my case, The above will always be zero because i need to delay a > > task only for 1000 or 2000 micro seconds. > > > > Effectively there will be no delay in task. > > > > can anyone give me a solution for this. > > > I think your problem is, that the default sysClkRate is 60. That means that > the shortest time a delay can be is 0.01667s or 16.67 ms or 16666 > microseconds. You can change the rate with sysClkRateSet() (achitecture > dependent) but remember that the delay time you set can differ in time one > system tic. An other way to delay can be the posix function nanosleep(). > > manfred --------------------------- Newsgroups: comp.os.vxworks Subject: Re: stripppc corrupts binaries Date: Thu, 19 Aug 1999 18:11:15 GMT From: Curt McDowell Organization: Broadcom Corp. Message-ID: <37BC49DB.4D9C68D3@broadcom.com> References: <37BB37FC.2E8DFBFA@broadcom.com> <37BBFE16.FC673D84@lucent.com> Reply-To: csm@broadcom.com Doug, Thanks. I've tried every combination of flags already, and none work. Someone else reported the same problem and sent a little kludge program that fixes the corrupt header. Curt Douglas Fraser wrote: > > Hi Curt. > > You have to pass it some flags, I can't remember exactly > which ones (i am working on ARM now), but start with > --strip-debug --strip-unneeded. Read the manual in any case, > page 499 of the GNU Toolkit user guide, 2.7. > > I know the first time I used it, I assumed the default (no > flags) > behavior would do the right thing, but I had the same > problems > you are having. When I started using the flags, it worked > fine. > > Doug > > Curt McDowell wrote: > > > > In Tornado 1.0, using stripppc (and objcopy -S) corrupts PPC binaries so > > vxWorks can't load them. > > > > > Is this a known GNU binutil bug? > > Is it ppc tools only? Does anyone know of a work-around? And why does > > VxWorks look at the program header in the first place? Any help would > > be appreciated. > > > > Thanks, > > > > Curt McDowell > > Broadcom Corp. > > csm@broadcom.com --------------------------- Newsgroups: comp.os.vxworks Subject: vxWorks.sym load from scsi device Date: Wed, 18 Aug 1999 10:26:24 -0400 From: Edward LaPier Organization: Lockheed Martin Federal Systems, Owego, NY Message-ID: <37BAC290.F57D3F53@lmco.com> VxWorks Greetings ! I am attempting to boot VxWorks from a SCSI Drive on a MVME3604. I copy vxWorks and vxWorks.sym to the SCSI drive, then I set up the boot parameters to boot from the SCSI drive. vxWorks gets loaded, but my problem is loading vxWorks.sym. Below is the print out I get from the console. Has anyone seen this before or does anyone have ideas to my problem. Thanks in advance. Attaching to scsi device... done Loading /sd0/vxWorks...941812 Starting at 0x100000... Attaching network interface dc0... done Attaching network interfacde lo0... done NFS client support not included. Loading symbol table from /sd0/vxWorks.sym .../sd0: No such file or directory. Error opening /sd0/vxWorks.sym: status = 0x226 . . . VxWorks does boot, but I have no symbol table !!! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: File Writing Question Date: Thu, 19 Aug 1999 15:35:11 -0800 From: mlang@fst.jpl.nasa.gov (M Lang) Organization: JPL Message-ID: References: <87B5B078324ED211B1D60008C71E3EAE8D0B9C@exribre01.ri.dasa.de> In article <87B5B078324ED211B1D60008C71E3EAE8D0B9C@exribre01.ri.dasa.de>, "Seelhorst, Christoph" wrote: ... snip ... > It seems that VxWorks does not write to the file but is buffering all file > output in memory until the end of the application. > Nevertheless that low-priority task IS running, as no errors occur that the > message queue is full, i.e. that task must run and get the data from the > queue, and writes it somewhere ??? > > Is this explanation of the behaviour true, and can this be avoided somehow? > > Thanks in advance, > > Christoph > > Christoph Seelhorst, > DaimlerChrysler Aerospace Space Division, Bremen, Germany Do you use vxWorks' netdrv or nfs? It sounds like you were using netdrv and that's what happened when a file is either being read or written (the whole file is buffered in memory). Try nfs. = Minh = --------------------------- Newsgroups: comp.os.vxworks Subject: Re: boot devices Date: Thu, 19 Aug 1999 22:26:09 -0500 From: petekz@airmail.net (Pete Kockritz) Organization: Compunet (using Airnews.net! at Internet America) Message-ID: References: <37bb0609@news.eclipse.net> In article <37bb0609@news.eclipse.net>, Wayne Brissette wrote: > Does anybody have a listing of what the abbreviations are that VXworks uses > for boot devices? For example, ma is Ethernet, sm is shared Memory Network, > and sl is slip. In the VXworks manual they also use ln for Lance Ethernet > controller. However, they never provide a list of what these abbreviations > are... I realize that most vendors if providing a precompiled version of > VXworks should provide this, but some don't. I'm really confused by bp > which is used on a precompiled embedded version of VXworks. Anybody know > what this and many of the others are? The file 'bootConfig.c', has all the abbreviations. It sounds like you don't have the sources; here's some of them: scsi fd floppy disk? ide ide drive ata ata device pcmcia ppp bp backplane (usually VME) sm shared memory sl slip There's a whole host of device names used for the network device, depending on the processor and ethernet interface. On the PPC860, the ethernet device is 'cpm'. Of course, anyone with the sources can add/modify them as they see fit. Regards, Pete - -- +-----------------------------------------------------------------+ | Pete Kockritz mailto:petekz@airmail.net | | This space for rent. | +-----------------------------------------------------------------+ --------------------------- Newsgroups: comp.os.vxworks Subject: Re: SM_ANCHOR_ADRS Date: Fri, 20 Aug 1999 08:31:34 +0200 From: Paul Chien Organization: Mecalc (Pty) Ltd Message-ID: <37BCF646.BE02512C@mecalc.co.za> References: <37BC0FC3.FBF32FFD@fallschurch.esys.com> There is a good document on shared memory at WindSurf, WTN27 - Shared Memory Network. In brief, SM_MEM_ADRS refer to the local address of the shared memory pool, and SM_ANCHOR_ADRS refer to the local address of the shared memory network anchor. Hope this helps. Paul John Sestak wrote: > > Hello, > I'm having problems determining the relationship between > SM_ANCHOR_ADRS and SM_MEM_ADRS. I know SM_ANCHOR_ADRS is the address of > the anchor for shared memory, so why do you need SM_MEM_ADRS? From what > I read, it seems to define the same thing as SM_ANCHOR_ADRS. Do anyone > know the relationship between the two of them? > > Thanks, > John Sestak --------------------------- Newsgroups: comp.os.vxworks Subject: Exceptions in Interrupt Handlers (Exception Message) Date: Fri, 20 Aug 1999 08:29:30 +0100 From: Arthur Watt Organization: Lucent Technologies Message-ID: <37BD03DA.3760F630@lucent.com> I have a system running VxWorks 5.2 and very occasionally we see the system reboot unexpectedly. I am 100% sure that the reboot is caused by an exception occuring in an interrupt handler and I have verified this by changing the ISR exception address (EXC_MSG_ADRS) to point into NVRAM. EXC_MSG_ADRS defines the place where VxWorks stores interrupt exception information. However the information supplied in the Exception message not enough to identify the problem since the exception information starts at the location of the exception and then works down the s tack (much more helpful to move up). Consider the following : ISR_ENTRY() | v func1() | v func2() | v operator delete() *** Exception occurs here | v free() | v os_free(). The Exception Message starts with the PC/NextPC/SP/PSR where the exception occured and then moves down the stack supplying the same information at each level. While this is useful information, if possible I would prefer a complete stack trace. Does anyone know if it is possible to get a stack trace of an interrupt exception ? Since the exception message information starts at the exception point and then works down, it could be that the exception occured in some commonly called code eg operator delete() so the use of the Exception Message is very limited. Another question is how to limit the size the the Exception Message, to me it looks like the length of the exception message depends on the nesting level of the code which caused the exception, does anyone know how to limit the size of the exception information ? Thank you for your help Arthur --------------------------- Newsgroups: comp.os.vxworks Subject: Re: checking for process over-run Date: Fri, 20 Aug 1999 10:29:14 +0200 From: "Werner Schiendl" Organization: VBS-Newsserver Message-ID: <935137757.140626@news.vbs.at> References: Ron, I would set a flag indicating your cyclic processing is finished yust before taking the semaphore. In the timing routine you can check if the flag has been set. If the flag is not set you know that your task is late and you can do whatever is appropriate. If it is set, clear it and give the semaphore to start the next cycle. e. g. volatile int readyFlag; SEM_ID syncSem; void cyclicTask(void) { readyFlag = 1; semTake(syncSem, WAIT_FOREVER); /* Cyclic processing */ } void timer(void) { if (readyFlag) { readyFlag=0; semGive(syncSem); } else { /* Task is late */ } } - -- Werner Schiendl International Applications - -- mailto:ws-news@gmx.at - -- B&R Industrial Automation http://www.br-automation.com wrote in message news:TFSOGFFD@DynRes.com... > VxWorks users, > > I currently have a scheduling mechanism whereby a binary semaphore is given every 4ms (I'm using sysAuxClk running at 1KHz to do this). > > I have a task that must run cyclically so that task waits on that semaphore. > > But I would like to know if the task has run longer than expected. I was thinking something like a semPeek would be just what I needed: I could look to see if the semaphore was already available. If it > was I could report an over-run and if it wasn't, just wait on it. > > But of course there is no semPeek(). > > Does anyone have any clean solutions for this type of problem? > > Ron Wagner > > --------------------------- Newsgroups: comp.os.vxworks Subject: malloc & cache safe Date: Fri, 20 Aug 1999 09:12:58 GMT From: lingsiva@my-deja.com Organization: Deja.com - Share what you know. Learn what you don't. Message-ID: <7pj66k$dmb$1@nnrp1.deja.com> I am writing a DMA Driver API . The user who uses this API may pass a malloc'd (NOT cacheDmaMalloc'd) buffer and request the API to make it Cache safe and as well return the physical address. I am not very sure whether malloc returns physical address or virtual address. I have got answers from the newsgroup some saying malloc know only about virtual address..others malloc always returns physical address. But I am assuming a worst-case scenario that malloc returns virtual address. I would like to know how to do this translation and whether can I invalidate cache for a section starting at user passed address thru user passed address + number of bytes. Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't. --------------------------- End of New-News digest ********************** ********** This is a user group mailing list for vxWorks related topics Mail articles to vxwexplo@lbl.gov for 'explosion' Include the word VxWorks or Tornado to penetrate SPAM filters edit off the trailer to avoid bounce filters Send subscription requests & comments to vxwexplo-request@lbl.gov From owner-vxwexplo-process Fri Aug 20 08:52:22 1999 From: mmenge@dspt.com Date: Fri Aug 20 08:52:25 PDT 1999 Subject: vxWorks and VC Mark Menge@DSPT 08/20/99 11:51 AM Tornado vxWorks people: Since VC 6.0 is the best development environment for C/C++ and vxWorks is the best for real-time os, I would like to debug my vxWorks code on the PC before running it on the embedded system. This would give us a HUGE productivity increase over using just simnt stuff. Is there any way to do this? what are the object file formats for VC and gnu? Can simnt call dlls? Thanks in advance for any insight or comments Mark From owner-vxwexplo-process Fri Aug 20 15:34:10 1999 From: "Larry Sinn" Date: Fri Aug 20 15:34:14 PDT 1999 Subject: Invalid NCR8XX device type Hi: I'm running a TechnoBox 2817 SCSI controller (53C895)on a mvme2304 with Tornado 5.3.1 and get "Invalid NCR8XX device type" when vxWorks is initializing the SCSI controller. But if I run a TechnoBox 2044 SCSI controller (53C825) all is OK. I've looked through the 53C8x5 documentation but can't find any reference to device type. I've changed device ID and vendor ID to the proper codes. Thanks in Advance. Larry. -- Larry Sinn Spectral Dynamics (408)474-1746 voice 1983 Concourse Drive (408)474-1780 fax San Jose, Ca. 95131-1708 sinnl@sd-star.com From owner-vxwexplo-process Sat Aug 21 05:10:47 1999 From: Manish Kumar C Date: Sat Aug 21 05:10:51 PDT 1999 Subject: vxWorks : SENS muxBind failing Hi, We have configured for automatic loading at boot time for the END driver which we have written, the load goes thru ( it returns the pointer to the END_OBJ, but the bind fails( the message reads 'Bind failed' ), if anybody could give some inputs on this it would've been fine, also is there any place where we can find the description or some info about the various error messages? Bye Manish Manish Kumar C Wipro Infotech Technology Solutions No:8 7th Main 1st Block, Koramangala, Bangalore 560034 Tel: 91-80-553 0035,0053 -x 1037 Fax: 91-80-553 0086 mailto : manishkc@wipinfo.soft.net Junk E-mails to : manishkc@hotmail.com From owner-vxwexplo-process Mon Aug 23 08:15:07 1999 From: bwaite@cspi.com Date: Mon Aug 23 08:15:10 PDT 1999 Subject: PPC603 exception problem Hello, We are having a problem on our PPC603 processors that I thought maybe someone else has had experience with and could give us some pointers as to what it may be or how to workaround it efficently. Explanation of Problem: Many of CSPIs handcoded functions require a square root to be calculated. The actual calculation requires the instruction frsqrte (reciprocal square root estimate) to be called on the input value. If floating point exceptions are disabled via the FPSCR, this instruction will create a NaN for a 0 input. However, 0 is a valid input for a square root. In order to circumvent this problem, without having to test the value of each input and jumping over the problematic instruction, the program disables the floating point interrupts in the MSR register (clears bits 20 and 23) but allows the exception to be acknowleged by setting bit 27 in the FPSCR. The result of this is that if 0 is input into the instruction, the output will not be changed and thus 0 propagates correctly through the calculation. This scenario has worked very well until it was noted by a customer that occasionally nodes calling this function with a 0 input will be in a suspended state. THIS ONLY OCCURS ON PROCESSORS FOR WHICH A TELNET WINDOW IS NOT OPEN!! No problem has ever been seen on a processor with a telnet window. The suspended state is due to having experienced a floating point exception (divide by zero). This can be seen from the debugging the node after telneting in. The problem becomes evident when the handcoded function is called many times in a loop and seems to point to an ISR which handles some interrupt which occurs only on non-telneted nodes and for which the MSR is not restored. Thus, after returning from this ISR, the next time a zero value is read in and processed, since the FPSCR has been set to allow the exception and the MSR now allows an interrupt, the interrupt does indeed occur and the program suspends. The only workaround we have found is to disable ALL external interrupts (clearing bit 16 in the MSR) which we do not wish to do as a permanent fix. We have no idea what ISR is being invoked on non-telneted nodes that would be causing this problem. If anyone can shed any light on this subject it would be greatly appreciated. VxWorks Tornado Thank You Brian Waite CSPI Customer Support Email: bwaite@cspi.com From owner-vxwexplo-process Mon Aug 23 10:01:11 1999 From: Ian Willats Date: Mon Aug 23 10:01:15 PDT 1999 Subject: Invalid NCR8XX device type Larry Sinn said: > I'm running a TechnoBox 2817 SCSI controller (53C895)on a mvme2304 with > Tornado 5.3.1 and get "Invalid NCR8XX device type" when vxWorks is > initializing the SCSI controller. > But if I run a TechnoBox 2044 SCSI controller (53C825) all is OK. The standard WRS ncr810Lib.c requires a device type to be passed into the ncr810CtrlCreate() routine. It then checks it against a list of known device types in a switch statement. The 53c895 isn't on the list, hence the driver is complaining and refusing to initialise it. I think if you give it the device type for a 53C875 you should be OK, I think - it won't run at ultra-2 speed of course but at least it should work. HTH Ian --------------------------------------------------------------- Ian Willats e-mail: mailto:ihw@rtp.co.uk Real-Time Products Ltd. direct: +44 (0) 121 234 6637 Chancery House, tel: +44 (0) 121 234 6600 8 Edward Street, Birmingham. fax: +44 (0) 121 234 6611 B1 2RX. England. web: http://www.rtp.co.uk --------------------------------------------------------------- From owner-vxwexplo-process Tue Aug 24 07:48:14 1999 From: "Ganesh S" Date: Tue Aug 24 07:48:19 PDT 1999 Subject: muxBind This is a multi-part message in MIME format. ------=_NextPart_000_0038_01BEEE6E.8AA47700 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hello, Have implemented a END driver and it has been=20 loaded into the MUX. The muxDevExists confirms the existence of the device in the mux. The muxShow indicates that no protocol have been bound to this driver. muxBind does not seem to be called on this driver. 1. How will i indicate to IP/ARP to bind to my driver and bring it as an attached network interface ? 2. IP/ARP is bound to an existing ethernet fei END driver. Does that = mean it cannot bind to my driver too ? Thank You. Ganesh VxWorks Tornado ------=_NextPart_000_0038_01BEEE6E.8AA47700 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hello,
 
Have implemented a END driver and it = has been=20
loaded into the MUX. The = muxDevExists confirms=20 the
existence of the device in the mux. = The muxShow=20 indicates
that no protocol have been bound to = this driver.=20 muxBind does not
seem to be called on this = driver.
 
1. How will i indicate to IP/ARP to = bind to my=20 driver and bring it
as an attached network interface = ?
 
2. IP/ARP is bound to an existing ethernet fei END = driver.=20 Does that mean
it cannot bind to my driver too ?
 
Thank You.
 
Ganesh
 
VxWorks Tornado
 
------=_NextPart_000_0038_01BEEE6E.8AA47700-- From owner-vxwexplo-process Tue Aug 24 08:44:33 1999 From: "Jim Hawthorne" Date: Tue Aug 24 08:44:37 PDT 1999 Subject: Realtime Application Development Kit (RTADK) Announcing the Realtime Application Development Kit RTADK 4.0 for Applications Running under VxWorks and Tornado Applied Technology Associates, an Albuquerque, NM based R&D company has announced the shareware release of RTADK 4.0 for VxWorks and Tornado. Over the past 23 years, ATA has earned praise for our support of R&D projects and experiments from Florida to Hawaii. As a New Mexico corporation, we maintain an emphasis on support of defense-related research sites in our home state, including the Air Force Research Laboratory at Kirtland AFB, the High Energy Laser Test Facility (HELSTF) at White Sands Missle Range, and Sandia National Laboratories. ATA has been successful in fielding realtime systems that operate on the ground, in the air, in space, on telescopes, balloons, research aircraft, and imaging satellites. From microelectronics to control room operations to laser-related pointing and tracking systems, we have been involved in the development and implementation of realtime systems. As the result of years of realtime experience we have developed a "toolkit" of reusable realtime application development components that we have called the Realtime Application Development Kit or RTADK. The intent of RTADK, is to make realtime application development faster and easier by providing a basic framework on which to build your application. Important features of the Realtime Application Development Kit include: - Resource Discovery Service allowing the target system to identify itself by name, IP address, and other application- specific information. - State-of-Health Service allowing the target to be polled for current state and condition. - Interprocess communications services providing support for message passing between the target system’s tasks and event synchronization. - Interprocess communications monitoring and logging for development and/or system debugging and testing. - Interprocess communications recording and playback to assist developer in subsystem simulation and troubleshooting difficult intermittent behavior. - Support for commanding over a LAN or the Internet using TCP and UDP. - Support for commanding via RS232. - Standard Command Set providing immediate support for a few simple tasks and providing examples of how to code application- specific command handlers. Unneeded commands can be deactivated by application. - Configurable Command Table that can be modified to allow commands to be accessed only through a specific media to prevent unauthorized access. - Application-specific commands are added simply by writing a command handler and adding the command to the Command Table at runtime. - Developer can insert application-specific Error Codes and Messages into the Error Message Table for use in error handling. - Fully configurable. Socket port numbers, serial port device names, which services to include… Use only what your application needs. Best of all, RTADK 4.0 is being distributed as shareware!!! Visit our web page at http://www.aptec.com/ to learn more about how you can develop realtime systems faster, easier, and become more productive with RTADK 4.0. From owner-vxwexplo-process Tue Aug 24 14:16:34 1999 From: smooney@modicon.com Date: Tue Aug 24 14:16:38 PDT 1999 Subject: Sending 802.3 packets We are using the SEN's stack and would like to have the ability to use either 802.3 (RFC 1042) or Ethernet (RFC 894) encapsulation. We have added this to the end driver so the correct 802.3 LLC and SNAP headers are prepended to the IP data and this works fine for small chunks of data. The problem is when we do big data transfer we are being passed 1500 byte length packets from the stack, and the MTU for 802.3 is 1492. Has anyone implemented 802.3? Does any one know how to tell the stack what the MTU is? Thanks in advance smooney@modicon.com Tornado 1.01 on PPC 860T. From owner-vxwexplo-process Wed Aug 25 07:10:49 1999 From: "Ganesh S" Date: Wed Aug 25 07:10:53 PDT 1999 Subject: Help on how to make IP attach/bind to an END This is a multi-part message in MIME format. ------=_NextPart_000_0045_01BEEF32.6F4A5BE0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hello, I am writing this again as i did not get any response to my earlier mail. I know that there would be many people who would have implemented an END driver on vxWorks and i could get=20 some answers to my query. ****** Basically, i am unable to get ip/arp to attach to my END driver that has been loaded into the MUX. I think, IP should issue an ipAttach() or = muxBind to my driver and bind. ( Does ipAttach call muxBind ?? - I could not find any details on ipAttach in the documentation or man pages ) I see the above happening if i configure a fei END driver. Here the driver gets loaded ( after reading the end device table ) and = attaches the TCP/IP interface to the fei device by calling ipAttach.=20 Here the parameters for attaching this is being done by reading the Boot = param structure. ( see usrNetwork.c ). When tried to attach to TCP/IP = here, the ipAttach for my driver fails.I am not sure if this is the way = it has to be done or=20 there is some configuration i am missing. VxWorks Tornado Thanks=20 Ganesh.S =20 ------=_NextPart_000_0045_01BEEF32.6F4A5BE0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hello,
 
I am writing this again as i did not = get any=20 response to my
earlier mail. I know that there = would be many=20 people who would
have implemented an END driver on = vxWorks and i=20 could get
some answers to my = query.
 
******
Basically, i am unable to get ip/arp = to attach=20 to my END driver that has
been loaded into the MUX. I think, = IP should=20 issue an ipAttach() or muxBind
to my driver and bind. ( Does = ipAttach call=20 muxBind ?? - I could not
find any = details on ipAttach=20 in the documentation or man pages )
 
I see the above happening if i = configure a fei=20 END driver. Here the
driver gets loaded ( after  = reading the end=20 device table ) and   attaches
the TCP/IP interface to the fei = device by=20 calling ipAttach.
Here the parameters for attaching = this=20 is being done by reading the Boot = param=20 structure. ( see usrNetwork.c ).  =20 When tried to attach  to TCP/IP  here, the ipAttach for my = driver=20 fails.I am not sure if this is the = way it has=20 to be done or
 
VxWorks Tornado
 
Thanks 
Ganesh.S
 
          &nbs= p;        =20
 
 
 
------=_NextPart_000_0045_01BEEF32.6F4A5BE0-- From owner-vxwexplo-process Wed Aug 25 09:50:37 1999 From: "Dave Hartley" Date: Wed Aug 25 09:50:40 PDT 1999 Subject: JWorks-bug in the garbage collector. Serious!! Hi, all I have discovered a fatal bug in the Garbage collection system, that gradually leaks away heap memory until finally it crashes. I produced this bug by writing a simple application that creates a task and runs a runnable. The run methods job is to change the awt components that are displayed every ten seconds ( to simulate users changing pages on a UI ). On the command line i run with the -verbosegc flag on and observe a gradual reduction in the free memory over time. WIth a 1meg heap it lasts about 15minutes I have also run this on the host which is an NT4.0 system running the 1.1.7 jdk. It runs successfully and shows no reduction in the available memory even after running for 2hours. The really interesting thing is that when i run the Personal Java Emulation Environment (PJEE) from sun on the same host, it exhibits the bug !. Meaning that it probably resides in the code delivered to wind river by sun. Has anyone else had ANY problems of this nature in their Jworks applications. I CANNOT believe i am the first person to spot this. Your comments/observations most greatfully received. the test file available on request mailto:dave.hartley@epid.eurotherm.co.uk regards Email : Dave.Hartley@epid.eurotherm.co.uk Pos. : Software Team Leader Phone : 01903-205277 (x2202), Fax: 01903-524016 Address : Eurotherm (EPID), Southdownview Way, WORTHING, BN14 8NN, UK. VxWorks, Tornado From owner-vxwexplo-process Wed Aug 25 15:32:19 1999 From: mmenge@dspt.com Date: Wed Aug 25 15:32:23 PDT 1999 Subject: Does VXSIM ntPassFs work at all? Does the NFS server work? Mark Menge@DSPT 08/25/99 06:32 PM Tornado vxworks users: Is anyone out there able to do this with the ntPassFs on T2? ->fp = fopen("host:/1.txt", "w+") ->fprintf(fp, "please work") ->fclose(fp) And get fclose to return 0? Is there anyone that has had success with NT running a NFS client writing and reading from a vxWorks NFS server? We've only seen bizaar erratic behavior From owner-vxwexplo-process Thu Aug 26 04:00:18 1999 From: daemon@csg.lbl.gov Date: Thu Aug 26 04:00:22 PDT 1999 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Thu Aug 26 04:00:14 PDT 1999 Subject: Re: PPP: Direct Connect from W95 Subject: Re: VxWorks timerLib Subject: mux protocol doesn't realse loaned buffer Subject: Re: Question about "taskDelay()" function. Subject: Putting VxWorks into ROM form, take 2 Subject: Re: Question about "taskDelay()" function. Subject: Re: Book on VXworks? Subject: Re: Q: TCP throughput per architecture Subject: Re: Redirecting STDIN Subject: sockets stuck in FIN_WAIT_2 Subject: ftpLib broken for small files Subject: VxWorks/Linux link? Subject: Re: Booting of VxWorks Subject: Re: allocating memory that was already allocated Subject: Re: Booting via Disk, config ? Subject: how to use pentium chip ability? Subject: Re: UDP [socket] performance issue in VxWorks ? Subject: Re: Switching to vxWorks standby tasks? Subject: Re: How to translate a pci device physical address into CPU local address Subject: CSP library for VxWorks? Subject: Re: PPP: Direct Connect from W95 Subject: Re: How to increase the Stack Size?? Subject: IPPC from GreenSpring Subject: Re: c++: templates overhead ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: PPP: Direct Connect from W95 Date: Wed, 25 Aug 1999 15:17:17 +0100 From: "Rob Fisher" Organization: NDS UK Message-ID: <7q0sf9$t3m$1@ndsukns01.ndsuk.com> References: <7oe8lk$hgo$2@news1.xs4all.nl> <7of7t4$i1k$1@nnrp1.deja.com> Has anyone ever successfully connected a VxWorks target directly to 95 or NT with PPP? I have tried using the NT Direct Serial Connection driver to "dial up" to a VxWorks target that is running PPP - all I get is a message telling me that my "modem" has reported an error. I have also tried connecting the VxWorks target to win NT's Remote Access Service. I have used Remote Access Administrator to start the service running, but all that happens is that VXWorks sends out Config-Requests until it times out. NT never seems to respond... Any ideas? I suspect that either this is not possible (unlikely as I have heard that it is possible to connect an Apple Newton to the RAS) or I am missing something fundamental. Do I have to get involved with PAP and CHAP? How should I fill in the PPP_OPTIONS structure - the documentation on this seems rather vague. Any pointers would be greatly appreciated. Rob. saustin_deja@my-deja.com wrote in message <7of7t4$i1k$1@nnrp1.deja.com>... >Download the W95 Null Modem driver from your favorite shareware site, >e.g. http://www.winfiles.com > >Works just like the NT one, I believe. > >In article <7oe8lk$hgo$2@news1.xs4all.nl>, > johan.borkhuis@peektraffic.nl wrote: >> Hello, >> >> I am trying to create a direct link between a VxWorks target and a >Windows >> 95 host running PPP --------------------------- Newsgroups: comp.os.vxworks Subject: Re: VxWorks timerLib Date: Wed, 25 Aug 1999 21:28:46 +0800 From: "Zha Junhai" Organization: Alcatel Message-ID: <37c3f211.0@dnews.sbell.com.cn> References: <7puvg5$fh7$1@nnrp1.deja.com> Hi Please select Project\Configure BSP, then select your BSP from Board Support Package drop select item, then add INCLUDE_POSIX_TIMERS from Excluded Options to Included Options. At last don't forget remake you bootrom and vxworks. Best Regards Zha Junhai wrote in message news:7puvg5$fh7$1@nnrp1.deja.com... > Hello, > > I have an application that needs to use the following routines: > > timer_create(...); > timer_connect(...); > timer_settime(....); > > After building the project, I download the LAC.out and get the > following error messages: > > Unresolved External Symbols > Errors while downloading C:/LAC.out: > > _timer_create > > _timer_connect > > _timer_settime > > I included the timers.h which has the the following codes: > > extern int timer_create (...); > extern int timer_connect (...); > extern int timer_settime (....); > > The linker couldn't find the these functions. Do I need to download > any module prior to LAC.out or do I need to include some header files? > Can anyone please help? > > Thanks, > Mike > > > Sent via Deja.com http://www.deja.com/ > Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: mux protocol doesn't realse loaned buffer Date: Wed, 25 Aug 1999 17:26:07 +0200 From: Erez Bar-Tal Organization: Galileo Technology Ltd Message-ID: <37C40B0F.E205CD80@galileo.co.il> Hi i am writing an END driver using MUX/SENS interface. in my receive function i am using netClusterGet to retrieve a cluster copied the data into it chain it to cBlk and mBlk and passed it up to the mux to handle. But after some 50-100 packet passing up the netClusterGet fails my guess is that the mux doesn't release them. my code for passing the packet up is follows: if(pDrvCtrl->end.receiveRtn) { END_RCV_RTN_CALL( &pDrvCtrl->end, pMblk ); } else { goto cleanRXD; } does anybody have a clue what's going on ? any help/idea will be appreciated Thanks Erez erezb@galileo.co.il --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Question about "taskDelay()" function. Date: Wed, 25 Aug 1999 09:42:21 -0700 From: Eric Flynn Organization: Hewlett Packard Cupertino Site Message-ID: <37C41CED.CD0B6A19@wwg2.sid.hp.com> References: <7puqrl$5um$1@nslave1.tin.it> Reply-To: eflynn@wwg2.sid.hp.com Masssimo, From Section 2.3.4 - Task Control in the VxWorks Programmer's Guide: "As a side effect, taskDelay moves the calling task to the end of the ready queue for tasks for the same priority. In particular, you can yield the CPU to any task of the same priority by "delaying' for zero clock ticks." Eric Massimo Maio wrote: > Hi VxWorkers ! > > I have tried to insert in my program the following instruction: > > taskDelay(0); > > No real effect should be observed. Indeed, a small delay occurs. I think > that this is due to a Context Switch forced by VxWorks. Is my idea correct ? > Please, e-mail me your comment at the following address: > m.maio@dsae.finmeccanica.it > > Thanks in advance, best regards. Massimo Maio. --------------------------- Newsgroups: comp.os.vxworks Subject: Putting VxWorks into ROM form, take 2 Date: Wed, 25 Aug 1999 12:16:57 -0500 From: Marty Schrader Organization: Fermilab Experimental Astrophysics Group Message-ID: <37C42509.80EECB31@fnal.gov> Yik. I'd like to hear from any users who have put 5.3.1 into ROM form on a 2302-family PPC board. There has to be somebody else going through this. (Hopefully before me.) - --- Marty Schrader x6645 Fermilab Experimental Astrophysics Group (SDSS) consult0@fnal.gov --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Question about "taskDelay()" function. Date: Wed, 25 Aug 1999 11:14:06 -0800 From: mlang@fst.jpl.nasa.gov (M Lang) Organization: JPL Message-ID: References: <7puqrl$5um$1@nslave1.tin.it> In article <7puqrl$5um$1@nslave1.tin.it>, "Massimo Maio" wrote: > Hi VxWorkers ! > > I have tried to insert in my program the following instruction: > > taskDelay(0); > > No real effect should be observed. Indeed, a small delay occurs. I think > that this is due to a Context Switch forced by VxWorks. Is my idea correct ? > Please, e-mail me your comment at the following address: > m.maio@dsae.finmeccanica.it > > Thanks in advance, best regards. Massimo Maio. The following msg was posted by Dave Schmidt of Wind River a little while ago on this newsgroup concerning taskDelay (0): > That will put the current task at the end of the ready queue for the > current priority. It will allow any other tasks on the ready queue of > the same priority to be run (sort of round robin, if you issue > taskDelay(0) for them also when you want to go to the next task), of > course all higher priority tasks will run and intterrupt service > routines will also run. > > Please note that this method will NOT allow tasks of lower priority to > run, it just forces a rescheduling. If the task being delayed is the > only one of that priority, then it will restart immediately. > > Good Luck > > Dave Schmidt --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Book on VXworks? Date: Wed, 25 Aug 1999 11:21:36 -0700 From: Prasoon Kumar Organization: InterNex Information Services 1-800-595-3333 Message-ID: <37C43430.4275BF25@efi.com> References: <7g2je6$qd7@catapult.gatech.edu> <7g4kh5$ssi$1@nnrp1.dejanews.com> <37e8e823.87554044@news.zetnet.co.uk> Where is Guy Lacestor's page???? - -- Prasoon EFI, Inc. "Ag@whd" wrote: > On Tue, 27 Apr 1999 15:19:08 GMT, bwedding@my-dejanews.com penned > these words: > > >In article <7g2je6$qd7@catapult.gatech.edu>, > > ccastae@acmex.gatech.edu (AMAE) wrote: > > > >> Could someone please recommend to me an easy to read and comperhensive > >> book on VXworks? > >> I come from a unix/linux background with know knowledge of RTOSs. > > > >Unfortunately, the best book is the VxWorks Programmer's Guide. It starts > >with a tutorial on RTOS and continues as deep as you want to go. For > >something widely available, I recommend Micro C /OS-II which is available at > >amazon.com or from the author at www.ucos-ii.com. It contains an excellent > >tutorial on the internals of an RTOS as well as all source code. It > >certainly isn't as extensive as VxWorks, but it is a good start. > > There is also Guy Lancaster's page (link from above) with a micro > tcp/ip stack uCIP and there is a listserver for uCOS discussions too. > > Adrian > > WWW WWW Adrian Gothard > WWW ww WWW White Horse Design > WWWWWWWWWW > WWWW WWWW whd@zetnet.co.uk, http://www.users.zetnet.co.uk/whd > --- > It's good to be me, yes, Heh heh heh, 'purrr', 'purrr'. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Q: TCP throughput per architecture Date: Wed, 25 Aug 1999 14:35:24 -0500 From: Smail Fenni Message-ID: <37C4457B.A7AA5134@analogic.com> References: <379C620A.92A8FDC3@bitband.com> Well, I am currently doing such a performance analysis and also using UDP packets. I don't have any final numbers yet but what I am getting is quite deplorable (sub 2Mbps)! I am using an 860T with a vxWorks 5.3.1 . I have gotten feedback from WRS however that their numbers were in the range of 28Mbps with a similar setup. Is anyone out there doing similar testing (using 100BT ethernet) ? Leonid Rosenboim wrote: > I am re-sending this question, since there where no replies the first > time around. I really think this stuff is important to a lot of us... > > -------- Original Message -------- > Subject: Q: TCP throughput per architecture > Date: Thu, 15 Jul 1999 09:27:21 +0200 > > Hi VxWorkers - > > A friend asked me to recommend the absolutely best CPU architecture for > an application which requires heavy TCP throughput. Also, he wonders how > fast SENS TCP can go over multiple 100baseT interfaces with current > VxWorks. > > If you got any performance data you could share, it would enable us to > make a sensible comparison. We are interested in Mbits/sec using large > packets with a large number of concurrent connections. > If you have such performance data handy, please also state the CPU type > you are using and possibly other related info. > > If there is enough response, I will make a summary. > > Thanks fo all who respond, > > Leonid --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Redirecting STDIN Date: Mon, 23 Aug 1999 20:27:02 GMT From: "Huy Vu" Message-ID: References: <6tubsf$npc$1@nr1.ottawa.istar.net> <6tusim$2l2$1@nnrp1.dejanews.com> <6u5ed5$lqq$1@nnrp1.dejanews.com> >> I'm seeing something similar in something I'm doing now, >> and have a theory as to what's going on. It fits my case, >> anyway. >> >> I grab the stdin/out/err of a task (the shell in my case) >> and redirect it to a VIO channel. What appears to happen >> is that the shell, since it's already running, is blocked >> down in the old file descriptor (that's my guess), waiting >> for a character. If I hit a return on the old console, then >> shell wakes up, echos the return to my new fd, and it works >> as expected from then on. >> >> So maybe it's possible your stdin isn't lost, it's just >> stuck back on the old fd waiting for one more wakeup, >> and will switch over to the new fd on the next character. >> >> If someone knows this is wrong, I'd like to know that. >> Like I said, it's just a theory that seems to fit what I see. My sentiment exactly. This is precisely what I'm seeing as well. As soon as I type something in the old file descriptor, the 'new' stdio woke up. Now, I just have to find a way to make my software simulate typing something in the old fd. It's more tricky than I thought. I'll post my result when I'm done. --------------------------- Newsgroups: comp.os.vxworks Subject: sockets stuck in FIN_WAIT_2 Date: Wed, 25 Aug 1999 15:29:20 -0400 From: Tim Sohacki Organization: Nortel Networks Message-ID: <37C44410.FE86CB84@americasm01.nt.com> We started using the graceful close for sockets because we experienced lost data otherwise. Now, sockets get stuck in the FIN_WAIT_2 state. The root cause may lie in the far end, but what about VxWorks? There doesn't appear to be a timer for the FIN_WAIT_2 state. It looks like if an ACK is not received, the socket stays partially closed, in FIN_WAIT_2, "forever." Is this true? Have you found a work around or addressed this problem? I am using VxWorks 5.3.1 with SENS 1.1. Cheers, Tim. --------------------------- Newsgroups: comp.os.vxworks Subject: ftpLib broken for small files Date: Wed, 25 Aug 1999 20:50:37 GMT From: Curt McDowell Organization: Broadcom Corp. Message-ID: <37C45831.9302BA2F@broadcom.com> Reply-To: csm@broadcom.com There is a bug in ftpLib where occasionally small file transfers fail. The ftpXfer call returns ERROR for no reason and unpredictably. I found the following message (below) in the VxWorks support site from 18 months ago which mentions an SPR but does not have the number. I find that the bug is still present in Tornado 1.1 and 2.0. I have source for ftpLib and am presently looking further into it. Curt McDowell Broadcom Corp. - -------------------------------------------------------------------------------- Submitted-by pbanta@adc.com Wed Feb 4 06:15:30 1998 Submitted-by: pbanta@adc.com (Paul Banta) I have an application on a VxWorks target that is doing file transfers from a Unix box via ftp. For a certain file when I call ftpXfer() I get ERROR for the return value. I know that my user name and password are valid because I can ftp other files by calling ftpXfer() to set up my ftp connection. The file name I give to ftpXfer() is an ascii file with a size of 71 bytes on my Unix machine. The other files (that are successfully transfered) are larger binary files. I'm supposed to be able to ftp ascii files with ftp in binary mode right? I don't think that ftpXfer() should care about the size. After all, it's simply setting up an ftp connection for me. I'm doing the file transfer reading from my data socket. I have a TSR open with WRS support concerning this problem and my support rep has perused the ftpXfer() source code and he tells me that there is no reason why ftpXfer() should return error because of file size or type. Yet, it appears to do so. I can successfully ftp this ascii file between Unix machines with ftp in binary mode. (I know, I know. VxWorks is not Unix.:) Any ideas? -Paul -- Paul Banta ADC Telecommunications Business Broadband Group email pbanta@adc.com --------------------------- Newsgroups: comp.os.vxworks Subject: VxWorks/Linux link? Date: 23 Aug 1999 17:30:41 -0400 From: Bill Pringlemeir Message-ID: Sender: bpringle@DeadDuck On the PSO site, there is a link to VxWorks on Linux that points to, "http://www.pso.com/vxfaq.html#7." I have been trying this link for a few days. "http://linux.sparta.com/VxWorks" The machine linux.sparta.com cannot be found. Does anyone know where VxWorks on linux information lives? I am trying to build a cross compiler, hopefully 'arm-thumb-vxworks-coff'. linux.sparta.com is also referenced from "http://kofa.as.arizona.edu/vxworks/"... I am attempting with the latest version of gcc (2.95.1) and binutils (2.9.1). tia, Bill - -- Canadian girls are so pretty it is a relief to see a plain one now and then - Mark Twain --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Booting of VxWorks Date: Mon, 23 Aug 1999 07:04:46 GMT From: "Juergen Frank" Organization: Talkway, Inc. Message-ID: Followup-To: comp.os.vxworks Ok, thats a method if I have the source, but what can I do if I have only the binary file ? byebye Juergen - -- Posted via Talkway - http://www.talkway.com Exchange ideas on practically anything (tm). --------------------------- Newsgroups: comp.os.vxworks Subject: Re: allocating memory that was already allocated Date: Thu, 26 Aug 1999 00:24:34 GMT From: Charlie Grames Organization: Boeing Message-ID: <37C48942.7A165558@nowhere.com> References: Sender: nntp@news.boeing.com (Boeing NNTP News Access) I suspect that VxWorks will allow you to specify any stack address you want, including an address used by something else. taskInit() allows you to do this as a debugging aid: You are responsible for assuring that the memory you request for the stack is available. Unless you are debugging a stack problem, you really should use taskSpawn(), instead. Charlie Grames The Boeing Company Charles.R.Grames @ boeing.com Hyung-Taek Lim wrote: > > In VxWorks, what happens if I try to allocate a memory space that was > already allocated. > > As you know, taskInit() creates a tasks's tcb and stack to a specified > memory location. > For example, a memory space from 300 to 1000 is already allocated by > malloc() function, and later taskInit() tries to create a task's tcb from > 400 to 500 and its stack to 600 to 1000. > Does VxWorks generate error message or the new task can be executed > normally? --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Booting via Disk, config ? Date: Sat, 21 Aug 1999 13:20:18 -0700 From: brian Organization: Teleport Inc. Message-ID: <37BF0A02.56FEF2AB@teleport.com> References: <37bd9236.542636175@news.wxs.nl> Yes, modify the DEFAULT_BOOT_LINE parameters in config.h located in the target/config/yourbsp/ directory. Then rebuild "bootrom" as you normally would to create new bootdisk brian ramey Harro Kremer wrote: > "Juergen Frank" wrote: > > >Hi ! > > > >I have a VxWork-boot disk , and alway I need to enter the system > >data with the hand. (press c, and change all the datas) for booting > >the real system via the network. Can I configure the disk (possible > >with a file) so I donŽt need to enter always the same sh... ?? :) > > The bootrom contains hardcoded a the default values for the bootline > (the boot parameters). Maybe you can change them. > > Harro --------------------------- Newsgroups: comp.os.vxworks Subject: how to use pentium chip ability? Date: Mon, 23 Aug 1999 17:28:12 +0900 From: Kim Wonkook Organization: System Engineering Research Institute (SERI) Message-ID: <37C1061C.B5AA818F@cs.kyungpook.ac.kr> I'm developing a application in x86 platform using tornado 1.0.(pententium processor) I tested same code that had tested vxworks in win95 or NT. It has generated better result which tested on vxworks. In my opinion, vxworks does not use pentium chip ability. I'm using pc486 bsp. can i use this ability? or can i increase speed of my application? thanks for reading. have a nice day. bye. Wonkook Kim. - kugi@cs.kyungpook.ac.kr --------------------------- Newsgroups: comp.os.vxworks Subject: Re: UDP [socket] performance issue in VxWorks ? Date: 25 Aug 1999 19:28:28 PDT From: "Dinesh Nambisan" Organization: Concentric Internet Services Message-ID: <7q28oc$8ot@chronicle.concentric.net> References: <37C22BFD.BA8873FD@gte.net> <37C490B8.3ABAFD6A@nowhere.com> Thanks for your input, appreciate it... We're using a Motorola PPC i860 [@ 50 Mhz ]based platform here... I'm not sure about expected performance here; and I might be comparing apples and oranges in this example that I mention, but I noticed that a WinNT client @ 233 Mhz doing the same consumes equivalent CPU....somehow I felt that there was definitely something that could be tweaked to improve performance significantly... Are the transmit and receive buffer caching for Ethernet that you mention configurable parameters or does it require a modification to the source ?? Thanks again, DSN PS> I used a friend's e-mail id to post the problem earlier, lest u are wondering ;-) --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Switching to vxWorks standby tasks? Date: Mon, 23 Aug 1999 13:52:10 +0100 From: Ian McGraw Organization: Lucent Technologies Message-ID: <37C143FA.3B910D00@lucent.com> References: <37B83E73.AFA21355@lucent.com> Thanks Rachel, nice 2 know you are still in vxLand. Yes you are right about it being to do with cxn R (is there no escape!). The suspended sub is left cxn up, 'on-hooking' every second or so giving us LOTS of FSM panics that eventually cause a time out coz there is no Q to post to. If it is possible to switch over as you descibe it might just allow enough time to kill the sub off and delete the old task - even if the standby task has keeled over by this time it shouldn't matter too much. When you say cxn R updates information in the address space of the standby task - - I assume this is information that tells the standby task who to communicate with? > > Hello Ian, > > in theory it is quite simple to do. The best method would be to create the > standby task and have it immediately pend on a counting semaphore, or a > conditional variable of some kind ( use a conditional variable if you want > to create more than one instance of the standby task). When the recovery > mechanism kicks in (cxn R ?) it updates information in the address space of > the standby task, then increments the semaphore -giving it the green light > to run. > > However, life is not that simple. Any problem which caused the orignal > thread of execution to flag a problem is probably going to exist for the > standby task as well as it tries to assume the responsibilities of the > original task, so it could well die too. > > In reality the only guaranteed solution is to clean up after the task exits > and delete the task. Unfortunately vxWorks doesn't support exit hooks for > individual tasks, only tasks in general (and then I'm not sure if they get > called upon deletion of a suspended task - you'll have to check). > > Hope this helps > > :) > > RL --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to translate a pci device physical address into CPU local address Date: Mon, 23 Aug 1999 14:08:09 GMT From: "Ken Hayber" Message-ID: References: <7obq98$2ik$1@nnrp1.deja.com> <37AA6E1B.F67A075F@aracnet.com> <7oe47j$oh4$1@nnrp1.deja.com> <7omh6b$a8c$1@nnrp1.deja.com> You're probably getting a General Protection fault. It sounds like you need to map the video linear address space so that it is read/write. This requires modifying the GDT (global descriptor table) in SysLib.c I think. The other way is to turn off ALL MMU support. This disables the x86 MMU and allows access to any memory; unprotected. (In my project I turned off MMU, it also hides a bug when lots of memory is installed >256MB; it gets all fragmented.) Also, just because the card tells you to use 0xe000000 doesn't mean its ready to use that memory. Most SVGA cards need to be put in Linear Memory mode first. Unless you really need linear SVGA, just use the VGA standard memory space and ignore the PCI stuff. Geurt wrote in message news:7omh6b$a8c$1@nnrp1.deja.com... > The way of scanning the entire system seems OK. > It will get you all PCI devices alright. > > And about VxWorks supporting PCI. It's ok. What is > needed is there. It is pretty much the specification of > the PCI BIOS (v2.1?) implemented. Additional functions > aren't available, but also not really needed. Although > some functions to simplify stuff, like what you are > doing, would be nice. > > About the video card. > The base address you read from the configuration > registers is the base address of the linear frame > buffer of the video card. > I don't exactly know how you got it. I usually > just use pciConfigInLong with as offset > PCI_CFG_BASE_ADDRESS_x, defined in some > PCI header file. > If you want to use the address: > > char *Ptr; > > pciConfigInLong( > Bus,Dev,Func,PCI_CFG_BASE_ADDRESS_0,&dwTemp); > > Ptr = (char *)dwTemp; > > However, you can't just use this address, although doing so > should not make your application crash. > > The linear frame buffer is only accessible when the video > card is in linear frame buffer mode (figures). At least nothing > can be done in text mode. In normal SVGA graphics mode, > maybe. It depends on what (Cirrus) card it is. > > And last, > With PCI devices you usually want to know three things: > * The base address (In this case 0xfe000000) > * What is it (port or memory) > * What is the size > This can all be done, and if you like, I could post an code example. > > Hope this helps, > > -Geurt- > > ~warnings are just like errors, only not~ > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Geurt Vos > Junior Project Engineer > Rohill Engineering > Hoogeveen, The Netherlands > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Extended Operating System Loader > http://come.to/geurt > geurt@geocities.com > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > > In article <7oe47j$oh4$1@nnrp1.deja.com>, > lingsiva@my-deja.com wrote: > > Thanks a lot Scott, > > > > I would like to get some more clarification. > > Yes i am using a Pentium Pc. > > > > I scan the entire pci Bus to detect the cards.. like.. > > for (i=0;i< pci_max_bus;i++) > > for(j=0;j > for(k=0;k > pciConfigInLong(i,j,k,offset, &dwTemp) > > if(dwTemp & 0xffffffff) > > break; > > else > > store the device id, vendor id, Bus no, slot no, > > function no in a structure . > > > > One of the card detected was the cirrus video card with bus number 0, > > slot number 18 and function number 0. > > > > Then using the Bus no, slot no and function i read BAR 0 thru BAR 5. > > Value at BAR 0 = 0xfe000000 > > value at Bar 1 = 0xfeffffff > > > > The rest does not have any values. > > > > After this i dont know how to access this address. i tried accessing > > with out any translation. The program crashed. > > > > > Ideally, mapping of PCI addresses to local addresses requires no > > > translation; > > > rarely is it more difficult than adding a constant. > > > > I dont know how to get this constant, if any. Could you tell me how to > > do this > > > > regards, > > s.shiva > > > > > > > > > Sent via Deja.com http://www.deja.com/ > > Share what you know. Learn what you don't. > > > > > Sent via Deja.com http://www.deja.com/ > Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: CSP library for VxWorks? Date: Thu, 26 Aug 1999 10:23:30 +0200 From: "Øyvind Teig" Organization: Navia Maritime AS, division Autronica Message-ID: <37C4F982.C72789D5@computer.org> Sirs I am used to programming in the "runnable" CSP subset and programming language occam. At present for a Texas TMS320C3x DSP. A connected processor to the DSP is a 386EX running VxWorks. I'd like to have the same CSP subset functionality in VxWorks. CSP is a process algebra where PROCESSES can only communicate over CHANNELS. All state machines can be modeled, also monitors, semaphores etc., but they are not needed a primitive elements as such. I would expect such a library to contain something like the SGS-Thomson C toolset for transputer did, with functional groups for process control and channel communication. It would constitute a clean message-based layer on top of VxWorks. Does anybody know of any such library? Oyvind Teig --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PPP: Direct Connect from W95 Date: Thu, 26 Aug 1999 09:58:27 +0100 From: "Rob Fisher" Organization: NDS UK Message-ID: <7q2u5a$up9$1@ndsukns01.ndsuk.com> References: <7oe8lk$hgo$2@news1.xs4all.nl> <7of7t4$i1k$1@nnrp1.deja.com> <7q0sf9$t3m$1@ndsukns01.ndsuk.com> I wrote in message <7q0sf9$t3m$1@ndsukns01.ndsuk.com>... >Has anyone ever successfully connected a VxWorks target directly to 95 or NT >with PPP? I have tried using the NT Direct Serial Connection driver to >"dial up" to a VxWorks target that is running PPP - all I get is a message >telling me that my "modem" has reported an error. In case anyone is following this thread, I have discovered through trial and error that the serial connection driver goes through a small set-up process before PPP is started. The connecting machine sends "CLIENT" The other machine responds with "CLIENTSERVER" Both machines then start PPP. I have managed to get WinNT Dialup Networking to connect to VxWorks in this way but have not yet had any success with getting VxWorks to connect to WinNT RAS. I still need to figure out how to fill in the PPP_OPTIONS structure. If anyone has any ideas... Rob. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to increase the Stack Size?? Date: Thu, 26 Aug 1999 10:58:29 +0200 From: "Werner Schiendl" Organization: VBS-Newsserver Message-ID: <935658000.275567@news.vbs.at> References: <7q2qge$8nk$1@nnrp1.deja.com> Hi, Why not just spawn a task? e. g. taskSpawn("tStack",100,0,81920,TaskStack,0,0,0,0,0,0,0,0,0,0) to spawn a task with your function using 80kByte of stack HTH - -- Werner Schiendl International Applications - -- mailto:ws-news@gmx.at - -- B&R Industrial Automation http://www.br-automation.com wrote in message news:7q2qge$8nk$1@nnrp1.deja.com... > HI, > > I would like to know how to increase the stack size of a task. The > problem right now i am facing is as follows > > > TaskStack() > { > DWORD dwArray[0x4000]; > .... > .. > .. > } > > While executing TaskStack from tornado shell, when i checked the > tornado object browsers StackCheck utility, i noticed that the actuall > stack allocated to this task is 19980 bytes. But, the actual > requirement is around 65000 bytes. Thus resulting in a stack overflow. > > I do not know how to increase the size of the stack or where to set > that option or whehter i should specify while compilation. > > Could anyone out there tell me how to do this. > > > Thanks in advance > > regards, > s.shiva > > > Sent via Deja.com http://www.deja.com/ > Share what you know. Learn what you don't. --------------------------- Newsgroups: comp.os.vxworks Subject: IPPC from GreenSpring Date: Thu, 26 Aug 1999 11:01:07 +0200 From: Tomas Larsson Organization: National Defence Research Establishment Message-ID: <37C50253.9E9A519C@lin.foa.se> Hi VxWorkers! We've upgraded to MVME2700 and are using Tornado 2 I'm wondering if anybody has mounted a IPPC2636 carrierboard onto a MVME2700 in order to use IP modules. Is possible to have the EXTENDE_VME defined ? if a chassie is configered with 2 mvme2700-cards Has anyone peeked into CPU#1 from CPU#2 mem and into CPU#2 from CPU#1 with cpu nummers in bootrom sat to (0 and 1) When I have proccess numbers to 0 and 1 I get the message WTX Error 0x100ca (AGENT_MEM_ACCESS_ERROR) when I try to peek into CPU#2 from CPU#1 but if I peek from CPU#2 into CPU#1 it works. Please let me know if you have any suggestions. /Tomas --------------------------- Newsgroups: comp.os.vxworks Subject: Re: c++: templates overhead Date: Thu, 26 Aug 1999 10:03:23 GMT From: Ran@127.0.0.1 (Ran Shalgi) Organization: Only when absolutely necessary Message-ID: <37c60f4e.744995386@news.inter.net.il> References: <37ad5095.14948058@news.cadvision.com> <37BB58FA.4C61@gte.net> <01beea3d$f2e5be80$e12ac222@my0250> <37BC2E1F.49F6506@mindspring.com> <7ph13t$19p@sis.cambridge.arm.com> <37BC559E.4910F2D3@mindspring.com> <7puapf$lgc$1@houston.jhuapl.edu> On Tue, 24 Aug 1999 10:36:33 -0400, Fran Horan wrote: > > >Lei Zhang wrote: > >> Folks, >> >> I am trying to convince my co-workers here not to use >> templates in our embedded application(telecom). I only have >> the vague idea that current implementation of templates >> incur large memory and run-time overhead. Would anybody care providing >> more detailed explaination? We are using VxWorks. >> >> Thanks. > >Here are some pointers to material I found helpful in evaluating the >costs vs benefits of using templates: > > http://www.embedded.com/98/9802fe3.htm > > http://www.computer-design.com/Editorial/1996/09/Focus/plus.html [snipped some more pointers] This editorial contains some very dubious advice and some plain incorrect data. For example, it states that "... additionally, a deep inheritance tree can generate a long chain of pointer walking to get the right function, thereby degrading performance". AFAIK, regardless of how deep the inheritance tree may be, each object has its own vtable and each virtual function invocation takes constant time (although a longer time than it takes to invoke a non-virtual function). Ran Shalgi Expand Networks, Inc http://www.expand.com - --- Replace 127.0.0.1 with expand.com when replying by e-mail --------------------------- End of New-News digest ********************** From owner-vxwexplo-process Thu Aug 26 06:47:12 1999 From: Roger Date: Thu Aug 26 06:47:16 PDT 1999 Subject: Re: PPP: Direct Connect from W95 Yes, I got this to work with VxWorks 5.4 & Windows NT 4. Here is my config.h settings: #define INCLUDE_PPP /* include Point-to-Point Procotol */ #define PPP_TTY 1 /* default PPP serial channel */ #undef PPP_OPT_DEBUG #define PPP_OPT_DEBUG 1 /* Enable daemon debug mode */ #define PPP_OPTIONS_STRUCT /* use PPP options macros */ #define PPP_OPTIONS_FILE NULL /* use PPP options file */ #define PPP_CONNECT_DELAY 15 /* delay to establish link */ #define PPP_OPT_NO_PAP 0 /* Don't allow PAP auth */ #undef PPP_OPT_PASSIVE_MODE #define PPP_OPT_PASSIVE_MODE 1 /* Set passive mode */ #define PPP_OPT_REQUIRE_CHAP 0 /* Require CHAP auth */ I also have a Word document showing step by step what you need to do on the Windows side. I'll send you that separately. Roger Cruz PS: remove "_nojunk" from emai address vxworks, tornado. -------------- Has anyone ever successfully connected a VxWorks target directly to 95 or NT with PPP? I have tried using the NT Direct Serial Connection driver to "dial up" to a VxWorks target that is running PPP - all I get is a message telling me that my "modem" has reported an error. From owner-vxwexplo-process Thu Aug 26 07:53:18 1999 From: "Thomas Keith Buchanan" Date: Thu Aug 26 07:53:21 PDT 1999 Subject: RE:VxWorks/Linux link? > I have been trying this link for a few days. > > "http://linux.sparta.com/VxWorks" > This is the correct link. The machine went belly (even Linux can't make PC hardware more reliable ;o) up and will be back on line in a few days. I apologize for the inconvience. adios ------------------------------------ /\ Thomas Keith Buchanan /**\ Principal Engineer /****\ SPARTA, Inc. /****/.. 205 East IH 30 /****/.... Rockwall, TX 75087 .\****\__... ...\**\ /.... Voice: 972 772 4487 ....\**\/\.... FAX: 972 722 3201 ....\****\.. PCS: 972 672 9657 ....\****/ WWW: www.sparta.com .../***/ ./***/ SPARTA \**/ ====== \/ Pride In Performance From owner-vxwexplo-process Thu Aug 26 08:34:16 1999 From: Roger Date: Thu Aug 26 08:34:20 PDT 1999 Subject: Installing PPP on Windows NT Help File... Several people requested the file mentioned in a previous posting. Because it is mostly pictures, I did not send it in the original posting. I've saved the file as text only which still conveys most of the information you need to get it working. I hope it helps Roger Cruz PS: Remove "_nojunk" from email address vxWorks, Tornado. Installing PPP On Windows NT By Roger Cruz 6/17/99 Revision Date Author Description A 6/17/99 Cruz Initial Release. 1. In the Control Panel, click on "Modems". If you haven't installed any modems, you will see the following screen. If your computer already has modems installed, click on "Add" modem to get this screen. Click the "Don't detect my modem..." check box. 2. Select "Standard Modem..." and "Dial-Up Networking Serial Cable..." 3. Install support on all of your serial ports. 4. After a successful installation, you should see the following screen. 5. Click on "Properties" and change the "Maximum speed" to 115,200 Kbps. 6. Log in to your machine as Administrator. 7. In "My Computer" double click on "Dial-Up Networking" 8. You'll need to install dial-up networking from the Windows NT Workstation CD. Follow the instructions. When ask for missing files, make sure to specify the drive letter of your CD drive. 9. Add RAS (PPP) device for both COM1 and COM2. First click OK. 10. Then use "Add" button to add the second port, COM2. Click "Continue" when both ports are shown as below. 11. Restart computer as required. 12. Boot target and type the following into the shell (Hyperterm COM1). usrPPPInit("ppp=/tyCo/1,115200",1,"192.0.1.1", "192.0.1.2") Eventually, this will be substituted by the following function call: StartPPP and will become part of the initial system setup. 13. Double click on "Dial-up Networking" and click on "OK" to add a new phone book entry. Click Next and do not select any of the options in the next screen. 14. Select modem in COM2 and click Next. Don't enter a phone number and click Finish. 15. Click on "Dial" to begin connection. The user name & password are "target" When the connection succeeds, you'll hear a beep and Windows NT will show a successful connection with the Dial-Up Networking Monitor tool showing in the task bar. If the connection fails, verify that the link speed is set to 115,200Kbps by clicking on "More" and selecting "Edit Entry & Modem Properties" and selecting "Configure". Disable hardware flow control. From owner-vxwexplo-process Thu Aug 26 13:05:39 1999 From: "F. Scheurer" Date: Thu Aug 26 13:05:43 PDT 1999 Subject: Re: IPPC from GreenSpring Hi Tomas, > Newsgroups: comp.os.vxworks > Subject: IPPC from GreenSpring > Date: Thu, 26 Aug 1999 11:01:07 +0200 > From: Tomas Larsson > Organization: National Defence Research Establishment > Message-ID: <37C50253.9E9A519C@lin.foa.se> > > Hi VxWorkers! > > We've upgraded to MVME2700 and are using Tornado 2 > I'm wondering if anybody has mounted a IPPC2636 carrierboard onto > a MVME2700 in order to use IP modules. > As You know, we have the same configuration (2 MVME2700 each with IPPC 2636). Because of low capacity we haven't gone very far. > > Is possible to have the EXTENDE_VME defined ? > I can't tell You this. The only thing i know:In the README or txt-File accomaning the BSB 64bit VME is excluded. > if a chassie is configered with 2 mvme2700-cards > Has anyone peeked into CPU#1 from CPU#2 mem and > into CPU#2 from CPU#1 with cpu nummers in bootrom sat to (0 and 1) > > When I have proccess numbers to 0 and 1 I get the message > WTX Error 0x100ca (AGENT_MEM_ACCESS_ERROR) > when I try to peek into CPU#2 from CPU#1 but if I peek from CPU#2 into > CPU#1 it works. > I saw something similiar when i tried to initialize the backplane network.Because of lack of time i connected both to the ethernet. It was similiar: The one CPU saw the mailbox of the other (heartbeat visible), but not the other way. > Please let me know if you have any suggestions. > > > /Tomas > Regards F. Scheurer -- +----------------------------------------------------------------+ | Friedrich Scheurer Zentrum Fertigungstechnik Stuttgart | | Dipl.-Ing. Arbeitsbereich Steuerungstechnik | | Tel +49 711 13162-41(-0) Nobelstrasse 15 | | Fax +49 711 13162-11 D-70569 Stuttgart | | E-Mail scheurer@zfs.tz.uni-stuttgart.de | +----------------------------------------------------------------+ | http://zfs.rus.uni-stuttgart.de | +----------------------------------------------------------------+ | privat: | | Telefon +49 7161 686362 | | Fax +49 7161 686301 | | E-Mail Friedrich.Scheurer@t-online.de | +----------------------------------------------------------------+ From owner-vxwexplo-process Thu Aug 26 16:44:31 1999 From: csm@mavericknetworks.com (Curt McDowell) Date: Thu Aug 26 16:44:35 PDT 1999 Subject: Re: ftpLib broken for small files Jerome.SOUQUIERES@dematic-postal.com wrote: > > There is a bug in ftpLib where occasionally small file transfers fail. > [...] > > bug is still present in Tornado 1.1 and 2.0. I have source for ftpLib > > and am presently looking further into it. > > Please tell us the results of your research when you're done. We have > similar problems with ftpXfer() : our application loads many tiny files (a > few dozens bytes) and the transfers fail very often. However, retrying a > failed transfer once (sometimes twice) eventually works. Ok. I found a long-standing bug in VxWorks ftpLib that appears when transferring very small files from a relatively fast server to a relatively slow client. Once ftpLib has initiated a transfer, it calls select() on both the control and data connections. It expects the data connection to become ready first. If the control connection becomes ready first, it assumes an error, closes both file descriptors and returns ERROR. Unfortunately, it also assumes an error if the control and data connections become ready at the same time, which often happens in the conditions mentioned above. The fix is to change one line in ftpLib.c (in my case 392) from if (FD_ISSET (ctrlSock, &readFds)) to if (FD_ISSET (ctrlSock, &readFds) && ! FD_ISSET (dataSock, &readFds)) If someone from WRS is reading this, perhaps you could help incorporate this back into ftpLib, and if so let me know to save me the trouble of filing a complaint. Apparently there was an SPR opened for this problem about 18 months ago by Paul Banta. Unfortunately nothing ever came of this. Thanks go to Paul Banta, who also experienced the problem and reported in. In the mean time, I have a version of the routine I call ftpXfer2() which has the same parameters as ftpXfer(). It does not contain any WRS code and I would be happy to send it to anyone who's interested. Thanks, Curt McDowell csm@broadcom.com From owner-vxwexplo-process Thu Aug 26 22:52:12 1999 From: T C Omprakaash Date: Thu Aug 26 22:52:16 PDT 1999 Subject: Watchdog timer in VxWorks. Hi, The routine that is going to be attached to a watchdog timer has all restrictions that apply to ISRs. In case I need to invoke a function with some specified timeout but with no such restrictions, what do i do. are there any other timer utilities in vxworks. even if i use POSIX timers, the restirctions exist. is there any roundabout way to overcome these restirctions. Regards Omprakaash From owner-vxwexplo-process Fri Aug 27 04:49:00 1999 From: wardd@ttc.com Date: Fri Aug 27 04:49:04 PDT 1999 Subject: Re: Watchdog timer in VxWorks Omprakaash: Everyone has this same problem in VxWorks. The way we get around it is that our watchdog timers simply send a message to a message queue. A task reads the message and does the processing that you wanted to do in the watchdog timer. The task, obviously, is not in an ISR so you can do whatever you want. One caveat is when you write the message to the message queue with send you must specify NO_WAIT as the timeout argument. David Ward TTC ---------------------- >> Hi, >> The routine that is going to be attached to a watchdog timer has all >> restrictions that apply to ISRs. In case I need to invoke a function >> with some specified timeout but with no such restrictions, what do i do. >> are there any other timer utilities in vxworks. even if i use POSIX >> timers, the restirctions exist. is there any roundabout way to overcome >> these restirctions. >> >> Regards >> Omprakaash From owner-vxwexplo-process Fri Aug 27 06:48:51 1999 From: "Trevor Getty" Date: Fri Aug 27 06:48:55 PDT 1999 Subject: vxworks group This is a multi-part message in MIME format. ------=_NextPart_000_0099_01BEF09B.3FB2EB80 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable At present I am using a tornado environment based on VxWorks. From time = to time objects loaded into the debugger will hang - (due to errors) at = this point the agent itself will hang and I will be unable to = communicate with it, so windshell etc. loose contact with the agent. Is = there any way of killing the debugger and the task which was running = without having to reboot the system. I tried the usual things like = killing the task, closing the debugger etc. but to no avail. Cheers in advance ---------------------------------------------------------------- Trevor Getty =20 Software Engineer - Post Impressions Ltd. Email: Trevor@postimpressions.co.uk ------=_NextPart_000_0099_01BEF09B.3FB2EB80 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
At present I am using a tornado = environment=20 based on VxWorks.  From time to time objects loaded into the = debugger will=20 hang - (due to errors) at this point the agent itself will hang and I = will be=20 unable to communicate with it, so windshell etc. loose contact with the=20 agent.  Is there any way of killing the debugger and the task which = was=20 running without having to reboot the system.  I tried the usual = things like=20 killing the task, closing the debugger etc. but to no = avail.
 
Cheers in advance
----------------------------------------------------------------=
Trevor=20 Getty  
Software Engineer - Post Impressions = Ltd.
Email: =20 Trevor@postimpressions.co.uk=
------=_NextPart_000_0099_01BEF09B.3FB2EB80-- From owner-vxwexplo-process Fri Aug 27 08:12:06 1999 From: "Ganesh S" Date: Fri Aug 27 08:12:10 PDT 1999 Subject: ifAddrAdd This is a multi-part message in MIME format. ------=_NextPart_000_004A_01BEF0CC.FE5C2980 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hello, I have successfully loaded a End driver and bound TCP/IP=20 to it. The ifShow and muxShow displays are OK. But i am=20 not able to give an address to the network interface of my driver=20 with ifAddrAdd or ifAddrSet. I get an error of 0x6 ( ENXIO ) i.e No such device or address. Can somebody give me a clue for this. Is there anything i am missing ? VxWorks Tornado Thanks, Ganesh =20 ------=_NextPart_000_004A_01BEF0CC.FE5C2980 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
 
Hello,
 
I have successfully loaded a End = driver and=20 bound TCP/IP
to it. The = ifShow and=20 muxShow displays are OK. But i am
not able to give an address to = the network=20 interface of my driver
with ifAddrAdd or ifAddrSet. I = get an=20 error of 0x6 ( ENXIO )
i.e  No such device or address.
 
Can somebody give me a clue for this. Is there = anything i am=20 missing ?
 
           &n= bsp;           &nb= sp;           =20 VxWorks   Tornado
 
Thanks,
Ganesh
 
 
------=_NextPart_000_004A_01BEF0CC.FE5C2980-- From owner-vxwexplo-process Fri Aug 27 08:23:59 1999 From: rcw@DynRes.com Date: Fri Aug 27 08:24:02 PDT 1999 Subject: tcl Hello VxWorks 'rs, Could someone please tell me what I might want to do with tcl. It is supplied with VxWorks like it is something pretty special, but I don't see where one would use it. So, I'm curious how the community is using tcl to help in either development, testing or run-time. Our development environment here is WinNT and 95, developing to a mv2604. The 2604 runs real time simulations and associated IO processing. The simulations will have a core functionality and then experiment-specific extensions. TIA, Ron From owner-vxwexplo-process Fri Aug 27 09:00:07 1999 From: "Ganesh S" Date: Fri Aug 27 09:00:11 PDT 1999 Subject: ifAddrAdd - again ( ifunit returns NULL ) This is a multi-part message in MIME format. ------=_NextPart_000_000A_01BEF0D4.19C00460 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hello, Further to my last mail on the subject - i.e unable to set the network interface address on a loaded and bound END driver, i find that=20 calling ifunit on the driver always returns NULL instead of the pointer = to the ifnet structure. Is this ok for the end driver ( i find lo0 return a = pointer ) Could this be a reason for ifAddrAdd or ifAddrSet to return an error = ENXIO. If so how do i add my device to the ifnet structure list. VxWorks Tornado Thanks, Ganesh.S ------=_NextPart_000_000A_01BEF0D4.19C00460 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hello,
 
Further to my last mail on the subject - i.e unable = to set the=20 network
interface address on a loaded and bound END driver, = i find=20 that
calling ifunit on the driver always returns NULL = instead of=20 the pointer to
the ifnet structure. Is this ok for the end driver ( = i find=20 lo0 return a pointer )
 
Could this be a reason for ifAddrAdd or=20 ifAddrSet to return an error ENXIO.
If so how do i add my device = to the ifnet=20 structure list.
 
VxWorks Tornado
 
Thanks,
Ganesh.S
 
 
 
 
------=_NextPart_000_000A_01BEF0D4.19C00460-- From owner-vxwexplo-process Fri Aug 27 10:05:32 1999 From: Erin Swieringa Date: Fri Aug 27 10:05:35 PDT 1999 Subject: Tornado II project failed I'm trying to upgrade to Tornado II. I had a workspace set up with one project in it. I had some custom builds, etc. - all was working fine. I checked all project files into our configuration manager to capture the currently working state of the project (that'll teach me). Later I tried reopening my workspace and all the specifics of my project had disappeared - no files, no build specifications. When I try to get the properties of anything in the workspace I get a message saying "call to "::ProjectPropertySheet::dataIn" failed: invalid command name "::name". I tried to go back to an earlier checked in version of my project files and that also did not work. Anybody else run into this and found a way to recover a project? - Erin Electronic Theatre Controls From owner-vxwexplo-process Mon Aug 30 00:12:43 1999 From: francois pertin Date: Mon Aug 30 00:12:46 PDT 1999 Subject: Warning in C++ with tornado 2.0 Hi Tornado and Vxworks users, Does anybody try to compile some code like below with the -Wall option on the compiler ??? If you try you will see a warning for the class Coucou. It is due to the virtual destructor of MicroI class. If you put it as non virtual the warning disappear, if you instantiate the class Coucou the warning disappear. Please note that the attribute "__attribute__ ((unused))" have no effect. I'm very interested if someone the purpose of this warnnig and eventually how to suppress it. We can suppress it with -Wno-unused option but in this case, warning for unused variable disappear also !!! Thanks for any help. Francois #include #include class microI { public: microI () { printf ("construct\n"); } virtual ~microI () __attribute__ ((unused)); char tt; double toto; double titi; double tutu; }; microI::~microI () { printf ("destruct\n"); } class Coucou : public microI { }; From owner-vxwexplo-process Mon Aug 30 01:38:47 1999 From: David Gasul Date: Mon Aug 30 01:38:51 PDT 1999 Subject: A period in shell causes a reboot This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01BEF2CC.5F7998F0 Content-Type: text/plain; charset="iso-8859-1" Hi, Has anyone encountered the following problem: If you input a period (the character '.') in the shell, the system reboots? The period doesn't have to be the only character input. For example the input 123.123 also causes a reboot. The only exception I know of is the input ~. if you're in rlogin session. Is this a feature and if so - can it be turned off? If this is a bug - is there a workaround/fix? VxWorks Tornado David Gasul Telegate Ltd. 7 Haplada St., 60218 Or-Yehuda, Israel Voice: +972-3-5384634, Fax: +972-3-5335877 e-mail: davidg@telegate.co.il WWW: http://www.telegate.co.il ------_=_NextPart_001_01BEF2CC.5F7998F0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable A period in shell causes a reboot

Hi,

Has anyone encountered = the following problem:

If you input a period = (the character '.') in the shell, the system reboots? The period = doesn't have to be the only character input. For example = the input 123.123 also = causes a reboot. The only exception I know of is the input

~. if you're in = rlogin session.

Is this a feature and if = so - can it be turned = off?

If this is a bug = - = is there a = workaround/fix?

VxWorks = Tornado

David Gasul

Telegate Ltd.

7 Haplada St., 60218 = Or-Yehuda, Israel

Voice: +972-3-5384634, = Fax: +972-3-5335877

e-mail: davidg@telegate.co.il

WWW: http://www.telegate.co.il

------_=_NextPart_001_01BEF2CC.5F7998F0-- From owner-vxwexplo-process Tue Aug 31 01:35:42 1999 From: Paul Curson Date: Tue Aug 31 01:35:46 PDT 1999 Subject: Design Constraints using VxWorks Subroutines Having come from a background where usage of virtual address space (but not on vxworks) is the norm, I'm finding that the global nature of subroutines (perhaps very useful for some things) something of a constraint (use of static data in particular). The present project does not use virtual memory, so all subroutines are effectively global. Nor presently, do we use C++. The main difficulty here is that I wish to tightly couple the date to only those functions that need to know about that data - and there are a good many of these. This, of course, is one of the foundations of the object oriented approach. As I see it, I have these choices: 1. Do not use C++ or Virtual memory, and attempt to manage encapsulation with semaphores, etc. I could also look at Task variables but I'm concerned that these have a performance hit, and should be used with caution. Anyone have much experience of these? 2. Switch over to C++. Caution required here - we talk to a lot of hardware, and for debugging purposes wish to keep things as simple as possible. We could consider implementing a 'subset' of C++, sufficient to support some basic encapsulation. 3. Consider virtual memory. Use this and we incur processing overheads - though to what extent I'm not aware at this stage. I'm pretty new to VxWorks so may have missed other options or considerations. Hence, I'd be interested in hearing reader's opinions on this one. I'm sure I'm not the first to be constrained by these factors whilst wishing to employ good data management within a real-time system. Many thanks, Paul From owner-vxwexplo-process Tue Aug 31 02:15:27 1999 From: Michael Charny Date: Tue Aug 31 02:15:31 PDT 1999 Subject: Re: A period in shell causes a reboot --------------4A3FE3DB66D0F1487630E271 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit David, The only character sequence that can bring reboot is ^X. I was not able to reproduce your problem nor with Tornado 1 shell nor with Tornado 2 one (using pc486 and mbx860 targets). Some clues: Check console versus rlogin/telnet. If problem with console only, check with another terminal emulator (for example 'tip' on Solaris versus 'Hyper Terminal' on Windows). Check whether you use tyMonitorTrapSet( ) in your application. Regards, Michael Charny Wind River Systems, Israel. PS: The problem may be tied with floating point. Refer to the appendix corresponding to your CPU type in the "VxWorks Programmer's Guide". Notice the Exception Message area in the VxWorks System Memory Layout. Use shell's 'd' command to check this area for exception, that cause reboot. David Gasul wrote: > > > Hi, > > Has anyone encountered the following problem: > > If you input a period (the character '.') in the shell, the system > reboots? The period doesn't have to be the only character input. For > example the input 123.123 also causes a reboot. The only exception I > know of is the input > > ~. if you're in rlogin session. > > Is this a feature and if so - can it be turned off? > > If this is a bug - is there a workaround/fix? > > VxWorks Tornado > > David Gasul > > Telegate Ltd. > > 7 Haplada St., 60218 Or-Yehuda, Israel > > Voice: +972-3-5384634, Fax: +972-3-5335877 > > e-mail: davidg@telegate.co.il > > WWW: http://www.telegate.co.il --------------4A3FE3DB66D0F1487630E271 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit David,

The only character sequence that can bring reboot is ^X.
I was not able to reproduce your problem nor with Tornado 1 shell nor with Tornado 2 one
(using pc486 and mbx860 targets).

Some clues:
Check console versus rlogin/telnet.
If problem with console only, check with another terminal emulator (for example 'tip' on Solaris
versus 'Hyper Terminal' on Windows).
Check whether you use tyMonitorTrapSet( ) in your application.

Regards,
Michael Charny
Wind River Systems, Israel.

PS:
The problem may be tied with floating point.
Refer to the appendix corresponding to your CPU type
in the "VxWorks Programmer's Guide". Notice the Exception Message area
in the VxWorks System Memory Layout. Use shell's 'd' command to check
this area for exception, that cause reboot.

David Gasul wrote:

 

Hi,

Has anyone encountered the following problem:

If you input a period (the character '.') in the shell, the system reboots? The period doesn't have to be the only character input. For example the input 123.123 also causes a reboot. The only exception I know of is the input

~. if you're in rlogin session.

Is this a feature and if so - can it be turned off?

If this is a bug - is there a workaround/fix?

VxWorks Tornado

David Gasul

Telegate Ltd.

7 Haplada St., 60218 Or-Yehuda, Israel

Voice: +972-3-5384634, Fax: +972-3-5335877

e-mail: davidg@telegate.co.il

WWW: http://www.telegate.co.il

--------------4A3FE3DB66D0F1487630E271-- From owner-vxwexplo-process Tue Aug 31 02:45:38 1999 From: David Laight Date: Tue Aug 31 02:45:41 PDT 1999 Subject: Re: A period in shell causes a reboot Are you sure that no one has called tyMonitorTrapSet( '.' ) ? > Subject: A period in shell causes a reboot > Submitted-by: David Gasul > > Has anyone encountered the following problem: > > If you input a period (the character '.') in the shell, the system reboots? > The period doesn't have to be the only character input. For example the > input 123.123 also causes a reboot. The only exception I know of is the > input > ~. if you're in rlogin session. > > Is this a feature and if so - can it be turned off? > > If this is a bug - is there a workaround/fix? > > VxWorks Tornado ---------------------------------------------------------------- David Laight email: dsl@tadpole.co.uk Tadpole Technology plc phone: +44 1223 278 256 Cambridge, UK fax: +44 1223 278 201 From owner-vxwexplo-process Tue Aug 31 02:50:40 1999 From: David Laight Date: Tue Aug 31 02:50:44 PDT 1999 Subject: Re: Watchdog timer in VxWorks. > Subject: Watchdog timer in VxWorks. > Submitted-by: T C Omprakaash > > Hi, > The routine that is going to be attached to a watchdog timer has all > restrictions that apply to ISRs. In case I need to invoke a function > with some specified timeout but with no such restrictions, what do i do. > are there any other timer utilities in vxworks. even if i use POSIX > timers, the restirctions exist. is there any roundabout way to overcome > these restirctions. How about calling netJobAdd() from the timeout routine. Obviously there are still some restrictions - eg don't do anything that might require a network access - but provided what you want to do is quick you won't affect the network traffic. David > > Regards > Omprakaash ---------------------------------------------------------------- David Laight email: dsl@tadpole.co.uk Tadpole Technology plc phone: +44 1223 278 256 Cambridge, UK fax: +44 1223 278 201 From owner-vxwexplo-process Tue Aug 31 04:16:58 1999 From: David Laight Date: Tue Aug 31 04:17:02 PDT 1999 Subject: Re: Sending 802.3 packets > Subject: Sending 802.3 packets > Submitted-by: smooney@modicon.com > > We are using the SEN's stack and would like to have the ability to use either > 802.3 (RFC 1042) or Ethernet (RFC 894) encapsulation. We have added this to > the end driver so the correct 802.3 LLC and SNAP headers are prepended to > the IP data and this works fine for small chunks of data. The problem is when > we do big data transfer we are being passed 1500 byte length packets from the > stack, and the MTU for 802.3 is 1492. Personally I would not recommend using SNAP encapsulation for IP over ethernet. You will dig yourselves a big incompatibility hole. SNAP encapsulation is normally only used on Token Ring and FDDI. > > Has anyone implemented 802.3? Yes - but not for VxWorks! Only hard bit is deciding what to do with a received XID frame when you support LLC1 and LLC2 ... > > Does any one know how to tell the stack what the MTU is? Have you tried changing the value passed to mib2Init? The VxWorks SENS/END interface is somewhat deficient in this area, the mtu has to depend on the address (if you want to support ethertypes and 802.3 LLC1, let alone SNAP). IMHO the mux should add/remove the LLC header (and length for 802.2) leaving the MAC driver to worry about the addresses. Although the user MAY require the address be bit reversed (some protocols on Token Ring). David > Thanks in advance > > smooney@modicon.com > > Tornado 1.01 on PPC 860T. ---------------------------------------------------------------- David Laight email: dsl@tadpole.co.uk Tadpole Technology plc phone: +44 1223 278 256 Cambridge, UK fax: +44 1223 278 201 From owner-vxwexplo-process Tue Aug 31 04:35:45 1999 From: David Gasul Date: Tue Aug 31 04:35:49 PDT 1999 Subject: RE: A period in shell causes a reboot This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01BEF3AE.44F66C80 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Michael, Here's what I was able to find out: 1. The problem occurs with the target shell 2. The problem occurs with shell, telnet and rlogin 3. The problem occurs ONLY with MVME162 board (it doesn't occur with MVME2403 board) 4. VxWorks version is 5.3.1 5. Kernel version is 2.5 Any ideas? David Gasul Telegate Ltd. 7 Haplada St., 60218 Or-Yehuda, Israel Voice: +972-3-5384634, Fax: +972-3-5335877 e-mail: davidg@telegate.co.il =20 WWW: http://www.telegate.co.il -----Original Message----- From: Michael Charny [SMTP:mcharny@wrs.com] Sent: Tue 31 August 1999 11:20 To: David Gasul Cc: 'vxwexplo@lbl.gov'; 'support@wrs.com'; yoel@wrs.com Subject: Re: A period in shell causes a reboot David,=20 The only character sequence that can bring reboot is ^X.=20 I was not able to reproduce your problem nor with Tornado 1 shell nor with Tornado 2 one=20 (using pc486 and mbx860 targets).=20 Some clues:=20 Check console versus rlogin/telnet.=20 If problem with console only, check with another terminal emulator (for example 'tip' on Solaris=20 versus 'Hyper Terminal' on Windows).=20 Check whether you use tyMonitorTrapSet( ) in your application.=20 Regards,=20 Michael Charny=20 Wind River Systems, Israel.=20 PS:=20 The problem may be tied with floating point.=20 Refer to the appendix corresponding to your CPU type=20 in the "VxWorks Programmer's Guide". Notice the Exception Message area=20 in the VxWorks System Memory Layout. Use shell's 'd' command to check=20 this area for exception, that cause reboot.=20 David Gasul wrote:=20 =A0=20 Hi,=20 Has anyone encountered the following problem:=20 If you input a period (the character '.') in the shell, the system reboots? The period doesn't have to be the only character input. = For example the input 123.123 also causes a reboot. The only exception I = know of is the input=20 ~. if you're in rlogin session.=20 Is this a feature and if so - can it be turned off?=20 If this is a bug - is there a workaround/fix?=20 VxWorks Tornado=20 David Gasul=20 Telegate Ltd.=20 7 Haplada St., 60218 Or-Yehuda, Israel=20 Voice: +972-3-5384634, Fax: +972-3-5335877=20 e-mail: davidg@telegate.co.il WWW: http://www.telegate.co.il =20 =09 ------_=_NextPart_001_01BEF3AE.44F66C80 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable RE: A period in shell causes a reboot

Michael,

Here's what I was able = to find out:

  1. The = problem occurs with the target shell
  2. The problem occurs with shell, telnet and rlogin
  3. The problem occurs = ONLY with MVME162 board (it doesn't occur with = MVME2403 board)
  4. VxWorks version is = 5.3.1
  5. Kernel version is = 2.5

Any ideas?

David Gasul

Telegate Ltd.

7 Haplada St., 60218 = Or-Yehuda, Israel

Voice: +972-3-5384634, = Fax: +972-3-5335877

e-mail: davidg@telegate.co.il

WWW: http://www.telegate.co.il

    -----Original Message-----

    From:   Michael Charny [SMTP:mcharny@wrs.com]

    Sent:   Tue 31 August 1999 11:20

    To:     David Gasul

    Cc:     'vxwexplo@lbl.gov'; 'support@wrs.com'; = yoel@wrs.com

    Subject:       = Re: A period in shell causes a = reboot

    David, =

    The only = character sequence that can bring reboot is ^X.
    I was not able to reproduce your problem nor with Tornado 1 shell nor = with Tornado 2 one
    (using pc486 and mbx860 targets).

    Some clues:
    Check console versus rlogin/telnet.
    If problem with consol
    e = only, check with another terminal emulator (for example 'tip' on = Solaris
    versus 'Hyper Terminal' on Windows).
    Check whether you use tyMonitorTrapSet( ) in your application. =

    Regards,
    Michael Charny
    Wind River Systems, Israel.

    PS:
    The problem may be tied = with floating point.
    Refer to the appendix corresponding to your CPU type
    in the "VxWorks Programmer's Guide". Notice the Exception = Message area
    in the VxWorks System Memory Layout. Use shell's 'd' command to = check
    this area fo
    r exception, that cause reboot. =

    David Gasul = wrote:

      =A0

      Hi, =

      Has = anyone encountered the following problem:

      If you = input a period (the character '.') in the shell, the system reboots? The period = doesn't have to be the only character input. For example the input 123.123 also causes a reboot. The only = exception I know of is the input

      ~. if = you're in rlogin session. =

      Is this = a feature and if so - can it be turned off?

      If this = is a bug - is there a workaround/fix?

      VxWorks = Tornado

      David = Gasul

      Telegate Ltd. =

      7 = Haplada St., 60218 Or-Yehuda, Israel

      Voice: = +972-3-5384634, Fax: +972-3-5335877

      e-mail: davidg@telegate.co.il

      WWW: http://www.telegate.co.il

------_=_NextPart_001_01BEF3AE.44F66C80-- From owner-vxwexplo-process Tue Aug 31 04:40:07 1999 From: T C Omprakaash Date: Tue Aug 31 04:40:11 PDT 1999 Subject: Problem while downloading vxworks on the target m/c Hi, After running the WFTPD server on the windows host, on the target machine (PC486 with vxworks boot floppy),I tried to download the vxworks image from the host. The ene0 and lo interfaces come up successfully. after displaying the message "Loading...", it returns with the following error message Error Downloading file : errno = d0003. Where is the mistake ? Is there some problem with configuration ? If someone has faced this problem before, please help me with the solution. Regards Omprakaash From owner-vxwexplo-process Tue Aug 31 06:32:43 1999 From: David Laight Date: Tue Aug 31 06:32:47 PDT 1999 Subject: RE: How to increase the stack size Rather than defining: TaskStack() { DWORD dw_array[ 0x4000 ]; } why not write: TaskStack() { DWORD *dw_array = calloc( 0x4000, 1 ); if (!dw_array) return; ... free( dw_array ); } This will probably use less memory! And can be called from any vxworks task regardless on the stack size. It may also allow you to defer the allocation of the array until AFTER the real size is known, or to use realloc() to extend the array if the original size is inadequate. David ---------------------------------------------------------------- David Laight email: dsl@tadpole.co.uk Tadpole Technology plc phone: +44 1223 278 256 Cambridge, UK fax: +44 1223 278 201 From owner-vxwexplo-process Tue Aug 31 08:49:05 1999 From: Jolie Key Date: Tue Aug 31 08:49:09 PDT 1999 Subject: Interrupt problems Current system is pentium target, sun/solaris host. VxWorks 5.3.1 for PC486, WIND version 2.5. Target has a National Instruments GPIB card and a B&B 4-port serial card. With the 2 on-board serial ports plus the four B&B ports, there are a total of six serial ports. I have set the jumpers as follows: COM1 - on-board - 0x3f8 - IRQ 4 COM2 - on-board - 0x2f8 - IRQ 3 COM3 - B&B - 0x3e8 - IRQ 5 COM4 - B&B - 0x2e8 - IRQ 7 COM5 - B&B - 0x238 - IRQ 12 COM6 - B&B - 0x248 - IRQ 15 GPIB Board - IRQ 11 I can serial poll all ports, so I know the base addresses are correct. I can also use the GPIB interface. However, polling is slow, so I am trying to get interrupts to work. I can only get IRQ 5, 7 and 15 to work. IRQ 11 works when used for a COM port, but not as SRQ for GPIB. I think the BIOS is set correctly for all IRQs. Particularly, I can't understand why COM1 and COM2 can't use their interrupts. I have called the motherboard vendor, but they don't have any suggestions, except to tailor the BIOS for us. But what would I have it tailored to? They are using AWARD Modular BIOS 4.51PG. The GPIB card is acting funny, too. As soon as I activate the interrupt for its SRQ via intConnect and intEnablePIC, the ibcmd and ibwrt routines no longer work. They just bomb or get in some wait state. Ultimately, I would like to have all COM ports on the given interrupts, and also be able to use the GPIB SRQ feature. Any suggestions? Could this be a vxWorks problem, or is it a BIOS problem? Thank you, Jkey From owner-vxwexplo-process Tue Aug 31 10:14:53 1999 From: "dave monachello" Date: Tue Aug 31 10:14:57 PDT 1999 Subject: RE: Watchdog timer in VxWorks. > > Hi, > > The routine that is going to be attached to a watchdog timer has all > > restrictions that apply to ISRs. In case I need to invoke a function > > with some specified timeout but with no such restrictions, what do i do. > > are there any other timer utilities in vxworks. even if i use POSIX > > timers, the restirctions exist. is there any roundabout way to overcome > > these restirctions. > > How about calling netJobAdd() from the timeout routine. > Obviously there are still some restrictions - eg don't do anything that > might require a network access - but provided what you want to do is quick you > won't affect the network traffic. > > David > You might want to implement a system wide batch job task that would mimic the nettask/netJobAdd but would not have any of the restrictions. The API would be something simple like: STATUS batchJobAdd (BATCHJOBFUNCPTR routine, int jobWaitInSecs, int param1, int param2, int param3, int flags, int *retBatchID) Parameters routine - address of routine to run jobWaitInTicks - time (in seconds) to wait before executing job param1 - user parameter 1 param2 - user parameter 2 param3 - user parameter 3 flags - currently defined flags: BATCH_REPEAT_JOB - when finished reschedule job to run again. Use batchJobDel to kill job. retBatchID - batch job ID. Can be used to delete batch job with batchJobDel. Also have a similar batchJobDel. I've done this and it has eliminated a some unnecessary tasks and netJobAdds. cheeers, Dave Monachello From owner-vxwexplo-process Tue Aug 31 10:53:29 1999 From: Steve Blachman Date: Tue Aug 31 10:53:33 PDT 1999 Subject: Re: Design Constraints using VxWorks Subroutines [...] > The main difficulty here is that I wish to > tightly couple the date to only those functions that need to know about > that data - and there are a good many of these. [...] > I'm pretty new to VxWorks so may have missed other options or > considerations. Hence, I'd be interested in hearing reader's opinions on > this one. [...] Perhaps this is too obvious, but it was not in your list. In C you can use the "static" keyword to hide data and functions from other functions. Task variables are useful when you want to use (a different instance of) the "same" datum in different tasks. They are still globally visible. "errno" is an example - it is available to every task but is (or can be) different for each. This does not sound like what you want. Steve Blachman From owner-vxwexplo-process Tue Aug 31 13:10:08 1999 From: Bill Atkins Date: Tue Aug 31 13:10:12 PDT 1999 Subject: Re: Design Constraints using VxWorks Subroutines >Having come from a background where usage of virtual address space (but >not on vxworks) is the norm, I'm finding that the global nature of >subroutines (perhaps very useful for some things) something of a >constraint (use of static data in particular). The present project does >not use virtual memory, so all subroutines are effectively global. Nor >presently, do we use C++. The main difficulty here is that I wish to >tightly couple the date to only those functions that need to know about >that data - and there are a good many of these. This, of course, is one >of the foundations of the object oriented approach. As I see it, I have >these choices: > >1. Do not use C++ or Virtual memory, and attempt to manage encapsulation >with semaphores, etc. I could also look at Task variables but I'm >concerned that these have a performance hit, and should be used with >caution. Anyone have much experience of these? >2. Switch over to C++. Caution required here - we talk to a lot of >hardware, and for debugging purposes wish to keep things as simple as >possible. We could consider implementing a 'subset' of C++, sufficient >to support some basic encapsulation. >3. Consider virtual memory. Use this and we incur processing overheads - >though to what extent I'm not aware at this stage. > >I'm pretty new to VxWorks so may have missed other options or >considerations. Hence, I'd be interested in hearing reader's opinions on >this one. I'm sure I'm not the first to be constrained by these factors >whilst wishing to employ good data management within a real-time system. > >Many thanks, >Paul You seem to advocate data encapsulation as "one of the foundations of the object oriented approach", but hesitate to try c++. I found c++ helped me organize my problem much better. Most of the work is decomposing your problem into classes, but I found it well worth the effort. For starters, avoid things like templates, operator overloading, and cout. It'll feel like less of a departure from C. I have taken C drivers and just called their routines from c++ wrappers with very little modification. c++ typically enforces stricter typing and you have to use the new-style subroutine argument specification, e.g. subr (int arg1, float arg2). Bill Atkins
there is some configuration = i am missing.