From vxwexplo-errs@csg.lbl.gov  Wed Jan  1 04:03:11 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Wed Jan  1 04:03:13 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Wed Jan  1 04:03:09 PST 2003

        Subject: Zinc Status Bar and Menu Bar
        Subject: Re: Zinc Status Bar and Menu Bar
        Subject: Re: where i can find the wind technical notes ?
        Subject: Re: timer_create and ERRNO = EMTIMERS
        Subject: [*HELP*] need windnet 802.11b's DDK header file
        Subject: Testing for VxWorks 860. I want to know real test process.
        Subject: Gigabit Ethernet on Motorola 5110
        Subject: Re: where i can find the wind technical notes ?
        Subject: Fail to start device motfec0
        Subject: serial communication on vxworks

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

Newsgroups: comp.os.vxworks
Subject: Zinc Status Bar and Menu Bar
Date: 31 Dec 2002 04:01:39 -0800
From: technokiran@yahoo.com (Kiran Kumar)
Organization: http://groups.google.com/
Message-ID: <552e79d.0212310401.7b509af5@posting.google.com>

I am a newbie to zinc.

Can anybody tell me how to capture events from the status bar. i.e. I
would like to capture mouse clicks on the status bar and respond
according to the position of the mouse click.

Another problem is how to process user defined events sent from menu
bar items?

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

Newsgroups: comp.os.vxworks
Subject: Re: Zinc Status Bar and Menu Bar
Date: 31 Dec 2002 11:51:18 -0500
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <m2r8bym8s9.fsf@sympatico.ca>
References: <552e79d.0212310401.7b509af5@posting.google.com>
Sender: bpringle@DeadDuck

 Kiran> Can anybody tell me how to capture events from the status
 Kiran> bar. i.e. I would like to capture mouse clicks on the status
 Kiran> bar and respond according to the position of the mouse click.

Read the Zinc User's guide.  Pay special attention to chapter 7,
"Advanced customization of look and feel".  The manual should be on
your hard drive as $(WIND_BASE)/docs/pdf/Zinc/guide.pdf...  WIND_BASE
is usually "C:/Tornado" on Windows hosts.

 Kiran> Another problem is how to process user defined events sent
 Kiran> from menu bar items?

See above.  The section "object behavior" is especially relevant.

hth,
Bill Pringlemeir.

- -- 
ATTACKED BY NETSCAPE. UNABLE TO USE RADIO. LEAVE BOAT. U-981.

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

Newsgroups: comp.os.vxworks
Subject: Re: where i can find the wind technical notes ?
Date: 29 Dec 2002 21:30:10 -0800
From: david_wilhardt@hotmail.com
Organization: Newsguy News Service [http://newsguy.com]
Message-ID: <auoll201he2@drn.newsguy.com>
References: <aughif$8gv$1@mail.cn99.com> <uZZO9.2$H8.17183@news>

What are the details of your query?  I can't seem to find any "technical notes"
on Wind Surf (at least not by number). We should have better luck with a
description of your problem/question.

- -Dave

In article <uZZO9.2$H8.17183@news>, "Aaron says...
>
>You can get all the application notes and tech tips by logging into the
>Online Support page (formerly Windsurf).
>
>"minskey73" <minskey73@yahoo.com.cn> wrote in message
>news:aughif$8gv$1@mail.cn99.com...
>> I need the wind technical note 126, where i can get it ?
>>  thanks a lot
>>
>>
>>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: timer_create and ERRNO = EMTIMERS
Date: Mon, 30 Dec 2002 07:37:46 +0100
From: "Renee Teunissen" <if.you.spam.me.I.will.charge.you.1000.Euro.By.emailing.me.you agree.with.these.terms@mail.zevenaar.org>
Organization: Wirehub! Internet, The Netherlands
Message-ID: <1041230555.151946@newsreader2.wirehub.nl>
References: <3E0777D4.40307@arcor.de>

The amount of timers depend on the amount of watchdogs you can define.
I never tried amounts upto 1000 timers, but we use about 100 - I
think - on a intel platform. The compagny that hires me has the source
of timerlib and I cant see any reasons why it should not work. Thou
you should have enough memory to store all timer and watchdog info,
which is about 100 bytes per timer, see struct TIMER in
private/timerLibP.h for more info. You could do the same for
private/wdogP.h (or something similar). As far as I can see - dont
have the source of the watchdog code - I dont think VxWorks
implemented the watchdogs with static arrays. As long as your
timer_created does not return a NULL-pointer things should be OK - I
guess. As you might found out, the timer and watchdog ID are the
memory addresses their system structure is located. Therefore see the
private/xxxP.h files for more info, thoses structres are mapped on
thoses addresses. And you can access the members of that structure if
you like. We did that some time ago to fix some timer issues :)

Watchdogs are placed in a sorted queue, with the one with the smallest
expired time (in ticks) on top. Every tick this queue is checked for
expired timers. So I dont think timers will do you much harm. But take
there time in CPU cycles if they expire. Remember that timers run in
the context of the task that created them. If you delete or suspend
this task, you can forget the timers created in it.

The 100ms accurcy is depending on your sysClkRate, we like more
accuracy and therefore use a clockrate of 1000. This gives us timers
on a 1ms resolution with about 0.5 ms jitter. But one has to take into
account that if a lot of timers expire at the (about) same moment,
they will handled sequently. Haveing a clockRate of 1000 has mayor
concequences for the possible uptime of your system. I have heart
VxWorks might not like overruns of the tick timer. Have no proof of
that and never tried to find it. By a clockrate of 1000 our system can
run for about 25 days - which  is far within our design criteria.

Hope this helps you,
Renee.

"Ralf Hoppe" <ralf.hoppe@arcor.de> wrote in message
news:3E0777D4.40307@arcor.de...
> Hi,
>
> does anybody know how many timers i can create on a PPC system using
the
> function create_timer()?
> Does VxWorks maintain a dynamic allocated timer list or holds the OS
> only a static array (which consists of a free list and a list of
> currently used timers)? How many timers make sense with respect to a
> degrading system performance?
> Is it possible to create 1000-2000 timers with a resolution of
100ms?
>
> Hope anyone can help me. The answer would be fundamental with
respect to
> the application design!
>
> And happy Christmas for all ...
>
> Bye, Ralf
>

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

Newsgroups: comp.os.vxworks
Subject: [*HELP*] need windnet 802.11b's DDK header file
Date: 29 Dec 2002 22:48:45 -0800
From: cc_zh@263.net (cc_zh)
Organization: http://groups.google.com/
Message-ID: <ca578bcb.0212292248.9107e0e@posting.google.com>

i need windnet 802.11b's DDK header file "wrn/wlan/wlanEnd.h" for 
building 802.1x, pls send to my email: cc_zh@263.net, thx and happy new year!

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

Newsgroups: comp.os.vxworks
Subject: Testing for VxWorks 860. I want to know real test process.
Date: 29 Dec 2002 23:24:20 -0800
From: ywkwon@humantel.com (Kwon,YongWook)
Organization: http://groups.google.com/
Message-ID: <76b199d8.0212292324.37db2314@posting.google.com>

Thank you for your good answers.
I asked VxWorks images to you a few days ago.

But I don't know exactly what can I do for testing 860-VxWorks.

I want to put rommable application into FLASH.

I've got known VxWorks is different to pSOS environment.

I did make every files.(bootrom, vxWorks, vxWorks_rom, etc.)

Then How can I test with this files?

I really want to know but I have no idea.

I want to know what can I do after making bootable files from the
beginning to end .

I use mpc860, BDM(VisionClick).
My board is ok for pSOS. No hardware errors are in it.
My board has FLASH 8M
SDRAM 32M
NVRAM
Serial
Ethernet
etc.
I prepared my own board folders and all folders and modified source
for my board specific.

I already saw databook for vxWorks. But I can't catch good hint.

I know this is not very difficult but I'm beginner so I'm confusing.

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

Newsgroups: comp.os.vxworks
Subject: Gigabit Ethernet on Motorola 5110
Date: Mon, 30 Dec 2002 08:54:33 GMT
From: Randy <r70sguyNOSPAM@MUNGEnetscape.net>
Message-ID: <Xns92F4A8A3C1Djrryanspeakeasynet@64.154.60.183>

If anybody is using a Gigabit ethernet on a Motorola 5110 (or similar style 
card) with good results (sustaining 60mb or better, actually has 
instructions on how to install and mod BSP, etc.), please post the card you 
using.

Thanks
Randy
http://www.nova-sol.com
Company is looking to hire people live or want to live in Hawaii

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

Newsgroups: comp.os.vxworks
Subject: Re: where i can find the wind technical notes ?
Date: 30 Dec 2002 11:45:41 -0500
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <m265tb78wa.fsf@sympatico.ca>
References: <aughif$8gv$1@mail.cn99.com> <uZZO9.2$H8.17183@news> <auoll201he2@drn.newsguy.com>
Sender: bpringle@DeadDuck

>> "minskey73" <minskey73@yahoo.com.cn> wrote...
>> I need the wind technical note 126, where i can get it?

> In article <uZZO9.2$H8.17183@news>, "Aaron says...
> You can get all the application notes and tech tips by logging into the
> Online Support page (formerly Windsurf).

 Dave> What are the details of your query?  I can't seem to find any
 Dave> "technical notes" on Wind Surf (at least not by number). We
 Dave> should have better luck with a description of your
 Dave> problem/question.

I have an "appnote126.pdf" that is entitled "PCI Configuration For BSP
Developers".  However, I would not want to give this to anyone as I
don't think the terms of the WindSurf agreement allow for this.
minskey73 should get his company to pay for WindSurf support or ask
his feild engineer if he/she would be kind enough to supply the
document.

fwiw,
Bill Pringlemeir.

- -- 
Let me tell you something, you coward, all black dudes should get
sexist jokes .  You make me sick.

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

Newsgroups: comp.os.vxworks
Subject: Fail to start device motfec0
Date: 31 Dec 2002 01:37:03 -0800
From: eddie_chou@comxion.com.tw (Eddie Chou)
Organization: http://groups.google.com/
Message-ID: <be349724.0212310137.4921edbf@posting.google.com>

I am trying to use MPC857T fast ethernet port. And my BSP is ADS860.
When i boot from rom-based vxworks. But i always got "Fail to start
device motfec0".  I have tried to modify FEC_LOAD_STRING. But it still
have the same problem.  Someone can help me?

The second. motCpmAddr in vxworks reference manual is known as the
"dual ported RAM base address".  But FEC parameter RAM offset in
MPC857T is 0xE00 from IMMR.  Which address is correct?

Thanks
Eddie

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

Newsgroups: comp.os.vxworks
Subject: serial communication on vxworks
Date: 31 Dec 2002 22:42:00 -0800
From: forvxworks@rediffmail.com (Anand)
Organization: http://groups.google.com/
Message-ID: <f14c07cb.0212312242.16fdb940@posting.google.com>

Hi All,
   HAPPY NEW YEAR TO ALL.

       About my problem, i want to do serial communication using the
COM port of the computer. i am able to write a program to open the com
port as "/tyCo/0" and also write a character and also recieve the same
at the other end (program for serial communication running on DOS on
another PC). now my problems are...

1). i want to send float/double/int data on this com port under
vxworks. how do i do it??

2). i want to read the contents of the various registers like LSR(line
status register), MCR (modem control register), etc. how do i do it??
under DOS i used to do port_address+x , where 'x' determined what
register i read. how is it done under vxworks??

3). i have a program running under DOS which recieves the data
(float/double/character) from another computer running on vxworks. but
when i send any data , the data ready interrupt is not generated at
the reciever end under DOS. what is the problem?? how do i do it??

Thanks in advance,
Anand.

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Fri Jan  3 04:03:26 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Fri Jan  3 04:03:28 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Fri Jan  3 04:03:23 PST 2003

        Subject: Re: Looking for training/reference material for VxWorks
        Subject: Re: serial communication on vxworks
        Subject: Re: Fail to start device motfec0
        Subject: SingleStep with VisionProbeII
        Subject: Re: where i can find the wind technical notes ?
        Subject: Streaming pipes?
        Subject: Sales People needed - Embedded Software
        Subject: Re: where i can find the wind technical notes ?
        Subject: Trying to use _func_logMsg send debug message to serial port
        Subject: Re: How to remove a "stuck" directory.
        Subject: Re: How to remove a "stuck" directory.
        Subject: Re: How to remove a "stuck" directory.
        Subject: Re: Trying to use _func_logMsg send debug message to serial port
        Subject: Re: How to remove a "stuck" directory.
        Subject: Re: How to remove a "stuck" directory.
        Subject: nfsMount and Solaris 8
        Subject: Re: Copying multiple files in VxWorks
        Subject: 860 init code
        Subject: Re: DHCP
        Subject: Is this a bug about ccppc?
        Subject: Re: Is this a bug about ccppc?

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

Newsgroups: comp.os.vxworks
Subject: Re: Looking for training/reference material for VxWorks
Date: Wed, 01 Jan 2003 14:27:07 -0600
From: Joe Durusau <durusau@bellsouth.net>
Organization: WEBUSENET.com
Message-ID: <3E134F1B.5060707@bellsouth.net>
References: <GWQN9.59867$vb3.2340728@news2.west.cox.net>

Got Jazz? wrote:
> Are there any good books / reference material / websites that I can get to
> train myself on or familiarize myself with VxWorks? I can't afford the
> classes right now ...
> 
> Also, any training software would be great!
> 
> Thanks!
> 
> Jazz
> 
> 

You might try the FAQ, but for really elaborate documenttion,
you have to buy a copy of vxWorks/Tornado.  It comes with
documentation.  If a big order is pending, you might get
a trial versio from your local rep.

Speaking only for myself,

Joe Durusau

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

Newsgroups: comp.os.vxworks
Subject: Re: serial communication on vxworks
Date: Wed, 01 Jan 2003 14:32:50 -0600
From: Joe Durusau <durusau@bellsouth.net>
Organization: WEBUSENET.com
Message-ID: <3E135072.3040003@bellsouth.net>
References: <f14c07cb.0212312242.16fdb940@posting.google.com>

Anand wrote:
> Hi All,
>    HAPPY NEW YEAR TO ALL.
> 
>        About my problem, i want to do serial communication using the
> COM port of the computer. i am able to write a program to open the com
> port as "/tyCo/0" and also write a character and also recieve the same
> at the other end (program for serial communication running on DOS on
> another PC). now my problems are...
> 
> 1). i want to send float/double/int data on this com port under
> vxworks. how do i do it??
> 
	The genrally reccommended way is to convert to a string,
send, convert back ont he other end.  Anything else gets really
nasty as soon as something changes on either end.

> 2). i want to read the contents of the various registers like LSR(line
> status register), MCR (modem control register), etc. how do i do it??
> under DOS i used to do port_address+x , where 'x' determined what
> register i read. how is it done under vxworks??
> 
	Look at the  serial driver, it might be under some sort
of IOCTL, or you might need to add it to the driver.  Driver code
is normally included in the BSP.

> 3). i have a program running under DOS which recieves the data
> (float/double/character) from another computer running on vxworks. but
> when i send any data , the data ready interrupt is not generated at
> the reciever end under DOS. what is the problem?? how do i do it??
> 
	The problem is on the DOS end.  You will need DOS programming
info to solve.

> Thanks in advance,
> Anand.

Speaking only for myself,

Joe Durusau

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

Newsgroups: comp.os.vxworks
Subject: Re: Fail to start device motfec0
Date: 1 Jan 2003 11:52:11 -0800
From: ryeung@earthlink.net (Raymond Yeung)
Organization: http://groups.google.com/
Message-ID: <d83bb8e3.0301011152.ae3faf7@posting.google.com>
References: <be349724.0212310137.4921edbf@posting.google.com>

eddie_chou@comxion.com.tw (Eddie Chou) wrote in message news:<be349724.0212310137.4921edbf@posting.google.com>...
> I am trying to use MPC857T fast ethernet port. And my BSP is ADS860.
> When i boot from rom-based vxworks. But i always got "Fail to start
> device motfec0".  I have tried to modify FEC_LOAD_STRING. But it still
> have the same problem.  Someone can help me?
> 
The two WRS ethernet drivers I worked with both have debug traces sprinkled
all over the code.  See if your driver have the same in about beginning of
the C file.  Turn it on to help you.  The initialization may have failed
either at the load or the start (more likely this latter one) routine.  Get
the source if you don't already have it.

If you've an emulator, you may also set break points at both load/start
routines and step through the execution.

> The second. motCpmAddr in vxworks reference manual is known as the
> "dual ported RAM base address".  But FEC parameter RAM offset in
> MPC857T is 0xE00 from IMMR.  Which address is correct?

Each MPC860 peripheral has a base address for its parameter RAM (I take
it that ADS860 is an MPC860 board, and MPC857T is the PHY).  If motCpmAddr
is a variable, you may do lkup at the shell to get its value. 

> 
> Thanks
> Eddie

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

Newsgroups: comp.os.vxworks
Subject: SingleStep with VisionProbeII
Date: Thu, 02 Jan 2003 00:50:10 GMT
From: "rob" <robert_kw@yahoo.com>
Message-ID: <61MQ9.14490$vd6.3129024@news3.news.adelphia.net>

Hello,
I have a brand new set SingleStep with VisionProbe II emulator for sale,
please drop me a mail if interested. Thanks.

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

Newsgroups: comp.os.vxworks
Subject: Re: where i can find the wind technical notes ?
Date: 1 Jan 2003 17:55:33 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0301011755.64ef1ed@posting.google.com>
References: <aughif$8gv$1@mail.cn99.com>

"minskey73" <minskey73@yahoo.com.cn> wrote in message news:<aughif$8gv$1@mail.cn99.com>...
> I need the wind technical note 126, where i can get it ?
>  thanks a lot

Download it here, as long as you have a WindSurf/Online Support
account. If not, you'll have to talk to your local sales and field
support folks to see if they can get it for you (or set you up with an
account).

http://www.windriver.com/windsurf/appnotes/ide/tornado/t2/APN126/appnote126.pdf

HTH,

John...

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

Newsgroups: comp.os.vxworks
Subject: Streaming pipes?
Date: 01 Jan 2003 21:01:57 -0500
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <m28yy42tt6.fsf@sympatico.ca>
Sender: bpringle@DeadDuck

There is a thread from June 2001 on comp.os.vxworks that is entitled
"Redirecting stdout problems".  One tactic discussed is to use memDrv
and memory files to redirect the I/O to a file.  Another method that
David Laight suggest was to use a pipe.  I was already trying this
method, and I ran up against the message based vxWorks pipes.

Does anyone know if there is a steamed based pipe driver
implementation available anywhere?  I think that this would be useful.
It would also provide an example of a vxWorks device driver (ala
Rubini's skull/scull in "Linux Device Drivers").

tia,
Bill Pringlemeir.

- -- 
A stranger will kiss you this week.  Your efforts at using a Torx #9
wrench turn out to be futile.  Your child will eventually reveal
itself to be the mailman.  You'll someday be broke.

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

Newsgroups: comp.os.vxworks
Subject: Sales People needed - Embedded Software
Date: Thu, 2 Jan 2003 00:46:57 -0500
From: "ESR" <eriseman@tiac.net>
Organization: MindSpring Enterprises
Message-ID: <av0jsf$36r$1@slb1.atl.mindspring.net>
Reply-To: "ESR" <eriseman@tiac.net>

EmRep is a unique REP firm specializing in selling ONLY "embedded software
products".  These Got-to-have solutions are critical in getting OEM's to
market
in a cost effective and timely manner.

Since these positions are 100% commission, we are searching for senior sales
people interested in being paid for their sweat equity.  We GUARANTEE
that our commission plan is the largest in the industry.

If you value your time, have a desire to be independent (be your own boss),
and want to be paid based on your performance, please contact us
immediately.

Visit us at : www.emrep.com.    Send your resume (MS Word format)  to :
hr@emrep.com.

We currently have openings in : Southern CA, Northern CA, Colorado, Pacific
NW, and the Southeast
(though we will consider other locations based upon the quality of the
candidate).

Traditional Sales jobs are a dime a dozen, the opportunity to improve your
quality of life, while
generating incredible amounts of personal income are rare.  Take advantage
of this unique
situation and contact us today!!

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

Newsgroups: comp.os.vxworks
Subject: Re: where i can find the wind technical notes ?
Date: Thu, 2 Jan 2003 17:35:44 +0800
From: "minskey73" <minskey73@yahoo.com.cn>
Organization: Bentium Ltd. (CN99)
Message-ID: <av115r$1hd0$1@mail.cn99.com>
References: <aughif$8gv$1@mail.cn99.com> <488e459a.0301011755.64ef1ed@posting.google.com>

Thank you all,

I just programming  a BSP for MPC860. On the mainboard, there 's a QspanII
, two am79c976(ethernet mac) and a PCI slot.  I write the drivers for
QspanII and am79c976.   As you kown , the QspanII has only two target-image
to enable mpc860 acess PCI space.So I initialize the one to let the mpc860
acess the PCI I/O space and the other  to PCI memory space.  Oh, the
following is a piece of code in the function sysPciAutoConfig( )   :

    /*32-bit Non-prefetchable Memory Space*/
     sysParams.pciMemIo32 = (PCI_MSTR_IO_LOCAL);//0x40000000
    sysParams.pciMemIo32Size = PCI_MSTR_IO_SIZE; //128M

    /* 32-bit Prefetchable Memory Space */
    sysParams.pciMem32 = PCI_MSTR_MEM_LOCAL; //0xc0000000
    sysParams.pciMem32Size = PCI_MSTR_MEM_SIZE; //128M

    /* 32-bit PCI I/O Space */
    sysParams.pciIo32 =  PCI_MSTR_IO_LOCAL; //0x40000000
    sysParams.pciIo32Size = PCI_MSTR_IO_SIZE; //128M

As above, I allocate the same address space for "32-bit PCI I/O Space" and
"32-bit Non-prefetchable Memory Space".
It sames to work well. But when I insert a VoIP card(PCI ) into the PCI
slot, the system allocate the 0x40000000 for the
memory base address.  I know the PCI memory space of am79c976 is
prefetchable, and that of the Voip card is non-prefetchable,But what should
do ?
      I look up all article in the news group, and know the WTN 49 and 126
maybe useful . Just so.

thank you all,

ChaohongGuo

"John" <john_94501@yahoo.com>
??????:488e459a.0301011755.64ef1ed@posting.google.com...
> "minskey73" <minskey73@yahoo.com.cn> wrote in message
news:<aughif$8gv$1@mail.cn99.com>...
> > I need the wind technical note 126, where i can get it ?
> >  thanks a lot
>
> Download it here, as long as you have a WindSurf/Online Support
> account. If not, you'll have to talk to your local sales and field
> support folks to see if they can get it for you (or set you up with an
> account).
>
>
http://www.windriver.com/windsurf/appnotes/ide/tornado/t2/APN126/appnote126.
pdf
>
> HTH,
>
> John...

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

Newsgroups: comp.os.vxworks
Subject: Trying to use _func_logMsg send debug message to serial port
Date: 2 Jan 2003 09:27:39 -0800
From: eddie_chou@comxion.com.tw (Eddie Chou)
Organization: http://groups.google.com/
Message-ID: <be349724.0301020927.49cf6569@posting.google.com>

Hi! Happy new year!

I am porting Fast ethernet on MPC857T now. And i have checked motFecEnd.c.
There are some code like 

#define MOT_FEC_LOG(FLG, X0, X1, X2, X3, X4, X5, X6)			\
    {									\
    if (motFecEndDbg & FLG)						\
	if (_func_logMsg != NULL)					\
	    _func_logMsg (X0, X1, X2, X3, X4, X5, X6);			\
    }

MOT_FEC_LOG (MOT_FEC_DBG_LOAD, ("motFecUnload... Done\n"), 
				    1, 2, 3, 4, 5, 6);

How can i turn it on this function and send all the message to serial port?
My serial port connection is OK. 

Thanks very much
eddie

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

Newsgroups: comp.os.vxworks
Subject: Re: How to remove a "stuck" directory.
Date: 02 Jan 2003 13:01:34 -0500
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <m2znqjo2gx.fsf@sympatico.ca>
References: <v18p4eo7ec6o50@corp.supernews.com>
Sender: bpringle@DeadDuck

>>>>> "Gary" == bubbawho2002  <bubbawho2002@yahoo.com> writes:

 Gary> We have a phone system with VxWorks 5.3.1 on in and it is
 Gary> reporting some IO errors on a particular directory.  When I
 Gary> try an delete it I get the following:

   -> rm "lwoodfor"
   value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f
   ->

 Gary> I don't have a heck of a lot of experience with VxWorks and
 Gary> the company that made this is long out of business so any help
 Gary> on how we could remove this file would be helpful.  

You should be able to type "ioHelp" for some information on the file
system.  Are you certain that you are in the directory where the file
is located?  Try the command "pwd", "ll", and "chkdsk".

Depending on the version of the file system, the case of the file name
might be important.

hth,
Bill Pringlemeir.

- -- 
Hello, POLICE?  I"ve got ABBOTT & COSTELLO here on suspicion of
HIGHWAY ROBBERY!!

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

Newsgroups: comp.os.vxworks
Subject: Re: How to remove a "stuck" directory.
Date: 02 Jan 2003 13:11:25 -0500
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <m2vg17o20i.fsf@sympatico.ca>
References: <v18p4eo7ec6o50@corp.supernews.com> <m2znqjo2gx.fsf@sympatico.ca>
Sender: bpringle@DeadDuck

>>>>> "Gary" == bubbawho2002  <bubbawho2002@yahoo.com> writes:

 Gary> We have a phone system with VxWorks 5.3.1 on in and it is
 Gary> reporting some IO errors on a particular directory.  When I
 Gary> try an delete it I get the following:

   -> rm "lwoodfor"
   value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f
   ->

 Gary> I don't have a heck of a lot of experience with VxWorks and
 Gary> the company that made this is long out of business so any help
 Gary> on how we could remove this file would be helpful.  

 Bill> You should be able to type "ioHelp" for some information on the
 Bill> file system.  Are you certain that you are in the directory
 Bill> where the file is located?  Try the command "pwd", "ll", and
 Bill> "chkdsk".

 Bill> Depending on the version of the file system, the case of the
 Bill> file name might be important.

Opps!  I missed the title.  If everything else is right, you need
"rmdir" and not "rm".  I think that this is standard *nix.
Interesting that "ioHelp" didn't mention "rmdir", "mkdir", etc on my
kernel.

hth,
Bill Pringlemeir.

- -- 
Send your questions to ``ASK ZIPPY'', Box 40474, San Francisco, CA
 94140, USA

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

Newsgroups: comp.os.vxworks
Subject: Re: How to remove a "stuck" directory.
Date: 02 Jan 2003 14:39:08 -0500
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <m2lm23qr37.fsf@sympatico.ca>
References: <v18p4eo7ec6o50@corp.supernews.com> <m2znqjo2gx.fsf@sympatico.ca> <m2vg17o20i.fsf@sympatico.ca> <v194cd1d4ukf3b@corp.supernews.com>
Sender: bpringle@DeadDuck

 Gary> Thanks for the tip.  We are definately at the right location
 Gary> for this (did a pwd to check). Tried rmdir and got this out:

   -> rmdir "lwoodfor"
   value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f

 Gary> Any other ideas we can try ?

What does ll "lwoodfor" do when typed at the same place?  Can you show
the details on the file, like size, date, etc.  You can try running
"chkdsk 0,0" to see if the file system has any errors.  You could also
try,

  -> mkdir "myTest"
  -> ll
  -> pwd
  -> rmdir "myTest"

and post the output.  Try the same thing in a directory other than
"lwoodfor"... these things will alter your disk (whatever it might
be).  It could be that the directory that "lwoodfor" is in has some
sort of directory corruption, etc.  The DosFs file system that comes
with vxWorks is based on DOS FAT.  Typing "devs" and posting that
output might also be useful.  If you have a hard disk, it could be
removed and fixed on a PC.  If you have flash (tffs), that would be
worth knowing... as well as your CPU details.

hth,
Bill Pringlemeir.

- -- 
Food is in the air.  As Mercury moves into Leo, be careful of your
relationship with your coworker.  Don't let a wallflower eat worms
with your abode.  You will meet two other people put together this
week.  You'll soon be a Borg.  Don't forget, it's only 366 days at
most until Christmas.

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

Newsgroups: comp.os.vxworks
Subject: Re: Trying to use _func_logMsg send debug message to serial port
Date: Thu, 02 Jan 2003 20:00:04 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <8T0R9.415469$GR5.132493@rwcrnsc51.ops.asp.att.net>
References: <be349724.0301020927.49cf6569@posting.google.com>

Happy New Year Eddie,

    You could try changing the mocFecEndDbg value to one of
several values that are set in the modFecEnd.h. Check to see
what FLG is defined to in either the xxx.c or xxx.h file and the
last item is to make sure the _func_logMsg pointer is set to
logMsg. You shouldn't have to recompile, but may want to
in case error messages are being printed before you can
overtly change the above values to the ones you want during
system startup. HTH.

"Eddie Chou" <eddie_chou@comxion.com.tw> wrote in message
news:be349724.0301020927.49cf6569@posting.google.com...
> Hi! Happy new year!
>
> I am porting Fast ethernet on MPC857T now. And i have checked motFecEnd.c.
> There are some code like
>
> #define MOT_FEC_LOG(FLG, X0, X1, X2, X3, X4, X5, X6) \
>     { \
>     if (motFecEndDbg & FLG) \
> if (_func_logMsg != NULL) \
>     _func_logMsg (X0, X1, X2, X3, X4, X5, X6); \
>     }
>
> MOT_FEC_LOG (MOT_FEC_DBG_LOAD, ("motFecUnload... Done\n"),
>     1, 2, 3, 4, 5, 6);
>
>
> How can i turn it on this function and send all the message to serial
port?
> My serial port connection is OK.
>
> Thanks very much
> eddie

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

Newsgroups: comp.os.vxworks
Subject: Re: How to remove a "stuck" directory.
Date: 02 Jan 2003 14:50:27 -0500
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <m2vg17ib5o.fsf@sympatico.ca>
References: <v18p4eo7ec6o50@corp.supernews.com> <m2znqjo2gx.fsf@sympatico.ca> <m2vg17o20i.fsf@sympatico.ca> <v194cd1d4ukf3b@corp.supernews.com> <m2lm23qr37.fsf@sympatico.ca>
Sender: bpringle@DeadDuck

 Gary> Thanks for the tip.  We are definately at the right location
 Gary> for this (did a pwd to check). Tried rmdir and got this out:

   -> rmdir "lwoodfor"
   value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f

 Gary> Any other ideas we can try ?

 Bill> What does ll "lwoodfor" do when typed at the same place?  Can
 Bill> you show the details on the file, like size, date, etc.  You
[snip]

Now for something simple... If you have file in the directory you can
not remove it.  You have to use,

  -> cd "lwoodfor"
  -> xdelete "*.*"
  -> ll 
  -> cd ".."
  -> rmdir "lwoodfor"

The directory must be empty.  This will destroy all of the files.  You
can use the command `copy "file"' to diplay a file.  You can also make
another directory and copy the files there for backup before deleting
them.

hth,
Bill Pringlemeir.

- -- 
BLU-97 A/B plutonium cypherpunk tempest class struggle secure Perl-RSA
keyhole sweep militia MD2 IMF Leitrim freedom spies

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

Newsgroups: comp.os.vxworks
Subject: Re: How to remove a "stuck" directory.
Date: Thu, 2 Jan 2003 17:49:21 -0500
From: "bubbawho2002" <bubbawho2002@yahoo.com>
Organization: Posted via Supernews, http://www.supernews.com
Message-ID: <v19gagq5b11736@corp.supernews.com>
References: <v18p4eo7ec6o50@corp.supernews.com> <m2znqjo2gx.fsf@sympatico.ca> <m2vg17o20i.fsf@sympatico.ca> <v194cd1d4ukf3b@corp.supernews.com> <m2lm23qr37.fsf@sympatico.ca> <m2vg17ib5o.fsf@sympatico.ca>
Reply-To: "bubbawho2002" <bubbawho2002@yahoo.com>

Bill,
I tried adding and removing a directory no problem there, I also tried the
following :
- -> pwd
/hd0/shasta/usr/home
value = 21 = 0x15
- -> ll "lwoodfor"
Can't open "lwoodfor".
value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f
- -> cd "lwoodfor"
value = 0 = 0x0
- -> ls
Can't open ".".
value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f
- -> ll
Can't open ".".
value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f
- ->

Does VxWorks have a file repair utility such as Checkdsk ?  I'd really like
to avoid rebuilding this machine for a couple of bad files.

Thanks,
Gary

"Bill Pringlemeir" <spam_account@sympatico.ca> wrote in message
news:m2vg17ib5o.fsf@sympatico.ca...
>
>  Gary> Thanks for the tip.  We are definately at the right location
>  Gary> for this (did a pwd to check). Tried rmdir and got this out:
>
>    -> rmdir "lwoodfor"
>    value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f
>
>  Gary> Any other ideas we can try ?
>
>  Bill> What does ll "lwoodfor" do when typed at the same place?  Can
>  Bill> you show the details on the file, like size, date, etc.  You
> [snip]
>
> Now for something simple... If you have file in the directory you can
> not remove it.  You have to use,
>
>   -> cd "lwoodfor"
>   -> xdelete "*.*"
>   -> ll
>   -> cd ".."
>   -> rmdir "lwoodfor"
>
> The directory must be empty.  This will destroy all of the files.  You
> can use the command `copy "file"' to diplay a file.  You can also make
> another directory and copy the files there for backup before deleting
> them.
>
> hth,
> Bill Pringlemeir.
>
> --
> BLU-97 A/B plutonium cypherpunk tempest class struggle secure Perl-RSA
> keyhole sweep militia MD2 IMF Leitrim freedom spies

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

Newsgroups: comp.os.vxworks
Subject: nfsMount and Solaris 8
Date: 2 Jan 2003 15:48:05 -0800
From: mynamvs@nsc.network.com (Venkat Mynampati)
Organization: http://groups.google.com/
Message-ID: <65b2abfc.0301021548.233843d5@posting.google.com>

Hi,
I have a Solaris 8 box and i am trying to perform
nfsMount("mySolarisHost","nfs_exported_filesystem","localFS_onvxworks")
from my vxworks application.
This call times out with RPC_lib timed out error.
This only happens with Solaris 8 but is ok with Solaris 2.6/2.5.

However, if i manually mount from vxWorks, the mount works.

I am trying to find what's happening with this Solaris8 box.
Could you help me out here with your ideas,suggestions etc.

Regards,
Venkat

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

Newsgroups: comp.os.vxworks
Subject: Re: Copying multiple files in VxWorks
Date: 2 Jan 2003 17:37:14 -0800
From: vdalal@hotmail.com (Vasu Dalal)
Organization: http://groups.google.com/
Message-ID: <363d071b.0301021737.175b5c92@posting.google.com>
References: <3E036AFD.7030505@yahoo.com>

Hello Gregory :

> Is there a shell command to copy multiple files from one location to 
> another similar to "copy *.* internal:"  so all files in a directory are 
> copied to the internal device?  We can only get the copy command to copy 
> one file at a time. 

We wrote this code for DOS 1.0. Ofcourse, it does NOT support
wild-cards.
It can ONLY do blind dir to dir copy.

U can make the necessary defines to get it to compile.
It works fine.
Similarly, we have dirDelete() and some others.

hth,
vasu

PS:

[snip]

int
isFile (char* fileName)
{
 struct stat fileStat;

 if (stat(fileName, &fileStat)!=ERROR)
 {
  if ((fileStat.st_mode & S_IFMT) == S_IFREG)
   return OK;
  else
   return ERROR;
 }
 else
  return ERROR;
}

int
isDirectory (char* fileName)
{
 struct stat fileStat;

 if (stat(fileName, &fileStat)!=ERROR)
 {
  if (S_ISDIR (fileStat.st_mode))
   return OK;
  else
   return ERROR;
 }
 else
  return ERROR;
}

STATUS
fileCopy (char* srcFileName, char* destFileName)
{
 int writeFd = -1;
 int readFd = -1;
 int rv = ERROR;
 int bytes_read = 0;
 UINT32 nBytes = 0;
 int bytes_written = 0;
 char dataBuffer[MAX_DATA_BUF_SIZE];

 if ((readFd = open(srcFileName, O_RDONLY, 0)) < 0)
 {
     printErr("Couldn't open source file = %s. errno =
0x%x\n",srcFileName,errnoGet());
     goto done;
 }

 writeFd = creat(destFileName, O_RDWR);
 if ( ERROR == writeFd )
 {
  printErr("Couldn't open destination file = %s. errno =
0x%x\n",destFileName,errnoGet());
  goto done;
 }

 bytes_read = 0;
 nBytes = 0;
 printf("Copying %s -> %s\n",srcFileName,destFileName);
 while ( (bytes_read = read (readFd, dataBuffer, sizeof (dataBuffer))
) > 0 )
 {
  nBytes += bytes_read;
  bytes_written = write(writeFd, dataBuffer, bytes_read);

  if ( bytes_written < bytes_read )
  {
   printErr("fileCopy() :: bytes_read = %d, ",bytes_read);
   printErr("fileCopy() :: bytes_written = %d\n",bytes_written);
   printErr("fileCopy() :: Bad write. errno = 0x%x\n",errnoGet());
   goto done;
  }
 }

 printf("Number of bytes copied = %d.\n",nBytes);

 printErr("\n");

 rv = nBytes;

 done:
    if (readFd > 0)
        close(readFd);
    if (writeFd > 0)
        close(writeFd);

 return rv;
} /* end of fileCopy() */

STATUS
dirCopy ( char* srcDirName_, char* destDirName_)
{
 char srcDirName[DIRNAME_LENGTH+1];
 char destDirName[DIRNAME_LENGTH+1];
 char srcFileName[DIRNAME_LENGTH+FILENAME_LENGTH+1];
 char destFileName[DIRNAME_LENGTH+FILENAME_LENGTH+1];
 DIR *srcDirPtr = NULL;
 DIR *destDirPtr = NULL;
 struct dirent *srcDirEntry = NULL;
 int retVal = ERROR;

 printf("Entering dirCopy...\n\n");
 printf("Opening src dir %s for reading...\n", srcDirName_);

 strncpy(srcDirName, srcDirName_, DIRNAME_LENGTH);
 srcDirName[DIRNAME_LENGTH] = '\0';

 strncpy(destDirName, destDirName_, DIRNAME_LENGTH);
 destDirName[DIRNAME_LENGTH] = '\0';

 if((srcDirPtr = opendir(srcDirName)) != NULL)
 {
  printf("Opening dest dir %s for reading...\n", destDirName);
  if((destDirPtr = opendir(destDirName)) != NULL)
  {
   while((srcDirEntry = readdir(srcDirPtr)) != NULL)
   {
    sprintf(srcFileName,"%s/%s",srcDirName,srcDirEntry->d_name);
    sprintf(destFileName,"%s/%s",destDirName,srcDirEntry->d_name);
    if ( 0 == isFile(srcFileName) )
    {
     if ( ERROR == fileCopy(srcFileName,destFileName) )
     {
      printf("ERROR :: Error copying src filename = %s to dest
filename = %s\n",srcFileName,destFileName);
      goto done;
     }
     else 
     {
        printf("Copying srcFile = %s to  destFile = %s\n",srcFileName,
destFileName);
     }
    }
   } /* end of while() */
  }
  else
  {
   printf("ERROR :: dirCopy() :: opendir() failed! Dir name
=%s.\n",destDirName);
   goto done;
  }
 }
 else
 {
  printf("ERROR :: dirCopy() :: opendir() failed! Dir name =
%s.\n",srcDirName);
  goto done;
 }
 
 retVal = OK;

done:
 closedir(srcDirPtr);
 closedir(destDirPtr);
 return retVal;
}

[snip]

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

Newsgroups: comp.os.vxworks
Subject: 860 init code
Date: 2 Jan 2003 02:03:23 -0800
From: ywkwon@humantel.com (Kwon,YongWook)
Organization: http://groups.google.com/
Message-ID: <76b199d8.0301020203.63eb925a@posting.google.com>

Hello there.

I do 860 board with vxWorks.

my board works well for pSOS.

I think my rominit.s code has some problem.

can you check and tell me?

Here is my psos init.s code and vxworks rominit.s code

###############################################################################
psos init.s
###############################################################################
#* @(#) pSOSystem PowerPC/V2.5.0: bsps/hics32/src/init.s  99/11/25       *
#************************************************************************
#                                                                       *
#   MODULE:  bsps/hics/src/init.s                                       *
#   DATE:    99/11/25                                                   *
#   PURPOSE: Processor specific initialization module                   *
#                                                                       *
#-----------------------------------------------------------------------*
#                                                                       *
#            COPYRIGHT 1991 - 1998, INTEGRATED SYSTEMS, INC.            *
#                       ALL RIGHTS RESERVED                             *
#                                                                       *
#    PERMISSION IS HEREBY GRANTED TO LICENSEES OF INTEGRATED SYSTEMS,   *
#    INC. PRODUCTS TO USE OR ABSTRACT THIS COMPUTER PROGRAM FOR THE     *
#    SOLE PURPOSE OF IMPLEMENTING A PRODUCT BASED ON INTEGRATED         *
#    SYSTEMS, INC. PRODUCTS.   NO OTHER RIGHTS TO REPRODUCE, USE,       *
#    OR DISSEMINATE THIS COMPUTER PROGRAM, WHETHER IN PART OR IN        *
#    WHOLE, ARE GRANTED.                                                *
#                                                                       *
#    INTEGRATED SYSTEMS, INC. MAKES NO REPRESENTATION OR WARRANTIES     *
#    WITH RESPECT TO THE PERFORMANCE OF THIS COMPUTER PROGRAM, AND      *
#    SPECIFICALLY DISCLAIMS ANY RESPONSIBILITY FOR ANY DAMAGES,         *
#    SPECIAL OR CONSEQUENTIAL, CONNECTED WITH THE USE OF THIS PROGRAM.  *
#                                                                       *
#-----------------------------------------------------------------------*
#                                                                       *
#  Revision History                                                     *
#     1999/11/25  -  Created by bugmaker (derived from HICS-8P)         *
#     2000/01/11  -  SDRAM Initialization Routine Added (hics32)        *
#                                                                       *
#************************************************************************

		.include "macros.ia"
		.include "powerpc/cpuarch.ia"
		.include "board.ia"

#************************************************************************
# External function & variable definitions  
#************************************************************************
	 	.extern  ppcDECwr
		.extern	 Initial_Sp					# Set Up Stack Area (ASM)
		.extern  InitBoard					# Initialize Board (C)
        
		.extern  SysIcacheInhibit			# Cache
		.extern  SysDcacheInhibit

		.extern  StartBss, FreeMemStart		# Memory Region
		.extern _CpyDstBeg,_CpyDstEnd,_CpySrcBeg, BspBcopy

#************************************************************************
#      HdwInit: Do startup initialization that can't be done in C.      *
#                                                                       *
#       SYNTAX: void HdwInit(void);                                     *
#         NOTE: Called from "begin.s", Doesn't return.                  *
#                                                                       *
#************************************************************************
#		.text
		.section BOOT,,c
		.align	2            
		.globl	HdwInit      

HdwInit:
		li		r0, 0x0000			# R0 used 0-value operation

#************************************************************************
# Set the MSR - machine check, privileged mode, disable interrupts      *
# disable address translation                                           *
#************************************************************************
		LA		r3, 0x00001002

#		bl		ppcMSRwr
		mtmsr   r3					# MSR
		isync

#************************************************************************
# Set the decrementer to a very high value                              *
#************************************************************************
		LA		r3, DEC_MAX_COUNT
#		bl		ppcDECwr
.if MPC860_DCACHE_BUG 
		mfspr   r4, 568
		andis.  r4,r4,0x8000             # is DEN set
		beq     1f

		mfmsr   r5                       # get orginal MSR
		rlwinm  r6,r5,0,17,15            # clear EE bit (bit 16)
		mtmsr   r6                       # disable external intr.
 
		li      r4,0x2c00
		stw     r4,-4(sp)
		lwz     r4,-4(sp)
		mtdec   r3
		mtmsr   r5                       # restore orginal MSR
		b		next002
.endif
1:
        mtdec   r3

next002:
#************************************************************************
# Inhibit Instruction and Data caches, we'll enable it later if needed  *
#************************************************************************
# Disable Data Cache
#		bl		SysDcacheInhibit1	# D cache inhibit
        mfspr   r3, DC_CST
        LA      r4, DC_CST_DEN
        and     r4, r3, r4              # Is not Enabled
        cmpwi   r4, 0x00                #
        beq     done0
#
#------------------------------------------------------------------------
# Load the cache with the data from the memory 0 to 4096
#------------------------------------------------------------------------
        li      r5, 0x00000000          # Load base address
        li      r4, DCACHE_821          # 4 Kb data cache on 821
lbl00:
        lwz     r3, 0(r5)               # load data at address
        sync                            # complete the load
        addi    r5, r5, 0x10            # add 16 to r5
        cmplw   r5, r4                  #
        ble     lbl00                   # loop around until cache size
        isync
#
#------------------------------------------------------------------------
# Flush the cache for the memory 0 to 4096
#------------------------------------------------------------------------
        li      r5, 0x00000000          # Load base address
lbl01:
        dcbf    r0, r5                  # flush the cache line
        addi    r5, r5, 0x10            # add 16 to r5
        cmplw   r5, r4                  #
        ble     lbl01                   # loop around until cache size
        isync
#
#------------------------------------------------------------------------
# Now, there are no dirty lines in the cache and we can disable the cache.
#------------------------------------------------------------------------
        mfspr   r3, DC_CST              # read DC_CST
        LA      r4, DC_CST_DIS          # Diable Cache
        or      r4, r3, r4
        sync
        mtspr   DC_CST, r4              # Update DC_CST
        isync
done0:

#Disable Instruction Cache
#		bl		SysIcacheInhibit1	# I cache inhibit
        mfspr   r3, IC_CST
        LA      r4, IC_CST_IEN
        and     r4, r3, r4
        cmpwi   r4, 0x00                # Is it already OFF
        beq     done10                  # branch to done

        LA      r4, IC_CST_DIS          # Disable Cache
        or      r4, r3, r4
        mtspr   IC_CST, r4

        LA      r4, IC_CST_IALL         # Invalidate All
        or      r4, r3, r4
        mtspr   IC_CST, r4

done10:

#************************************************************************
# Initialize Core registers
#************************************************************************

#************************************************************************
# MACHINE STATUS REGISTER (MSR):
# 	- Machine Check Enable
#	- Recoverable Interrupt
#************************************************************************
		LA		r3, MSR_VAL			# in board.h
		mtmsr	r3
		mtspr	SRR1, r3

#************************************************************************
# INSTRUCTION SUPPORT CONTROL REGISTER (ICTRL):
#       - Set Serialized Mode and No Show Cycle to work around some
#         CPU hardware bugs. In InitBoard() or bspcfg.c, set it to the
#         desired value
#
#         Note this register is not writeable (write ignored) if the
#         BDM is used.
#------------------------------------------------------------------------
		li		r3, 0x0003			# ICTRL = 0x0000 0003
		mtspr	ICTRL, r3
 
#------------------------------------------------------------------------
# DEBUG ENABLE REGISTER (DER):
#       - All debug interrupts are disabled
#    Note this register is not writeable (write ignored) if the
#    BDM is in use.
#------------------------------------------------------------------------
		addi	r3, r0, 0				# DER = 0
		mtspr	DER, r3

 
#************************************************************************
# INTERRUPT CAUSE REGISTER (ICR):
#************************************************************************
		mfspr	r3, ICR				# Read ICR to clear it

#------------------------------------------------------------------------
# This delay loop is used to wait all characters in serial port to be
# sent out to avoid some garbage characters when we reset CPM.
#------------------------------------------------------------------------
		lis		r3, 0x2
delay0:
		subi	r3, r3, 1
		cmpwi	r3, 0
		bne		delay0

 
#************************************************************************
# INTERNAL MEMORY MAP REGISTER (IMMR):
#	- Upper 16bits of base address of the internal memory map.
#************************************************************************
		LA		r3, S_REGISTER_BASE	# in board.h (0xFF000000)
		mtspr	IMMR, r3			# set IMMR

		or		r4, r3, r0			# R4 = Content of IMMR = Memory Base

#************************************************************************
# System Interface Unit (SIU) Module Configuration Register (SIUMCR)
#
#        0    000 xxxx   0    11    00  x  1    1
#      EARB  EARP      DSHW  DBGC  DBPC   FRC  DLK
#        0    0   1    0   10    0    1   0    0    0    0  xxxx
#      OPAR PNCS DPC MPRE MLRC AEME SEME BSC GB5E B2DD B3DD
#
#************************************************************************
		lwz		r3, SIUMCR(r4)		# SIUMCR = The old value bitwize
		oris	r3, r3, 0x0063		#           ored with 0x00632100
		ori		r3, r3, 0x2100
		stw		r3, SIUMCR(r4)

#************************************************************************
# System Protection Control Register (SYPCR)
#
#        0000000000000000 - SWTC
#        00000000   0   xxx   0    0     0    0
#           BMT    BME       SWF  SWE  SWRI  SWP
#
#************************************************************************
		LA		r3, SYPCR_VAL		# 0xFFFFFF00
		stw		r3, SYPCR(r4)

#************************************************************************
# Unlock and Clear the Reset Status Register (RSR)
#************************************************************************
		LA		r3, 0x55ccaa33		# Key to gain access to RSR
		stw		r3, RSKR(r4)		# Write key the Reset Status Key reg
		LA		r3, 0x40000000
		stw		r3, RSR(r4)			# Clear "External Soft Reset" bit 

#************************************************************************
# Enable Decrementer
#************************************************************************
		li		r3, 0x0001			#  TBSCR = 0x00c2 (16bit register)
		sth		r3, TBSCR(r4)

		LA		r3, 0x55ccaa33		#  Unlock RTCSC
		stw		r3, RTCSCK(r4)		#  RTCSCK = 0x55ccaa33 (32bit register)

		li		r3, 0x0102			#  RTCSC = 0x01c2 (16bit register)
		sth		r3, RTCSC(r4)
	 
		li		r3, 0x0002			#  PISCR = 0x0082 (16bit register)
		sth		r3, PISCR(r4)
	 
		li		r3, 0x0000			# Clear SIMASK
		stw		r3, SIMASK(r4)

#************************************************************************
# Initialize Chip Select (BRx, ORx)
#			CS0 : Flash Memory (4M)
#			CS1 : SDRAM (16M)
#			CS2 : AC48104s (6 EA, each chip selection via XILINX)
#			CS3 : PM4351 COMET
#			CS4 : T8100A
#			CS5 : Control Register (XILINX)
#			CS6 : NV-RAM
#			CS7 : 
#************************************************************************
#------------------------------------------------------------------------
# Initialize Chip Select 0 for Flash Memory (4M bytes, GPCM)
#		Base Addr  : 0x02800000		Port Size  : 32 bit
#		Wait State : 3 ws			/TA        : Internal
#------------------------------------------------------------------------
		LA		r3, BR0_VAL			# in board.h
		stw		r3, BR0(r4)

		LA		r3, OR0_VAL			# in board.h
		stw		r3, OR0(r4)

#------------------------------------------------------------------------
# Initialize Chip Select 2 for AC48104s (6 EA, Max 30ch)
#		Base Addr  : 0x20000000		Port Size  : 8 bit
#		Wait State : N/A            /TA        : External
#------------------------------------------------------------------------
		LA		r3, BR2_VAL			# in board.h
		stw		r3, BR2(r4)

		LA		r3, OR2_VAL			# in board.h
		stw		r3, OR2(r4)

#------------------------------------------------------------------------
# Initialize Chip Select 3 for PM4351 (COMET)
#		Base Addr  : 0x30000000		Port Size :  8 bit
#		Wait State : 3 ws            /TA       : Internal
#------------------------------------------------------------------------
		LA		r3, BR3_VAL			# in board.h
		stw		r3, BR3(r4)

		LA		r3, OR3_VAL			# in board.h
		stw		r3, OR3(r4)

#------------------------------------------------------------------------
# Initialize Chip Select 4 for T8100A (H.100/110)
#		Base Addr  : 0x40000000		Port Size :  8 bit
#		Wait State : N/A            /TA       : External
#------------------------------------------------------------------------
		LA		r3, BR4_VAL			# in board.h
		stw		r3, BR4(r4)

		LA		r3, OR4_VAL			# in board.h
		stw		r3, OR4(r4)

#------------------------------------------------------------------------
# Initialize Chip Select 5 for Control Register (XILINX)
#		Base Addr  : 0x50000000		Port Size : 8 bit
#		Wait State : 3 ws			/TA       : Internal
#------------------------------------------------------------------------
		LA		r3, BR5_VAL			# in board.h
		stw		r3, BR5(r4)

		LA		r3, OR5_VAL			# in board.h
		stw		r3, OR5(r4)

#------------------------------------------------------------------------
# Initialize Chip Select 6 for NV-RAM 
#		Base Addr  : 0x60000000		Port Size : 8 bit
#		Wait State : 3 ws			/TA       : Internal
#------------------------------------------------------------------------
		LA		r3, BR6_VAL			# in board.h
		stw		r3, BR6(r4)

		LA		r3, OR6_VAL			# in board.h
		stw		r3, OR6(r4)

#------------------------------------------------------------------------
# Initialize Chip Select 7
#		Base Addr  : 0x70000000		Port Size : 32 bit
#		Wait State : N/A			/TA       : 
#------------------------------------------------------------------------
		LA		r3, BR7_VAL			# in board.h
		stw		r3, BR7(r4)

		LA		r3, OR7_VAL			# in board.h
		stw		r3, OR7(r4)

#------------------------------------------------------------------------
# If we are not executing from the FLASH, skip Mem Controller RAM init
#------------------------------------------------------------------------
		bl		locn00				# LR: current IP
locn00:
		mflr	r3					# r3: current IP
		rlwinm	r3, r3, 8, 24, 31	# rotate left & mask 31-24
		cmpwi	r3, 0x02			# if 9 MSB = 0x02 -> Flash region  
		bne		skip_ram			# if not flash, skip SDRAM Init.

#------------------------------------------------------------------------
# Initialize SDRAM (16 MBytes, UPMB) - added by bugmaker (2000/01/11)
#                                      modified by bugmaker (2000/09/25)
#------------------------------------------------------------------------

#-----------------------------------------------------------------------------
# Set up the User Programmable Machine B, CS1, SDRAM
#-----------------------------------------------------------------------------
		lis		r5,UPMTable@ha
		ori		r5,r5,UPMTable@l

#-----------------------------------------------------------------------------
# User Programmable Machine B - RAM Array writing
#-----------------------------------------------------------------------------
		lis		r6, 0x0080
		ori		r6, r6, 0x0100		# Write, UPMB, Addr 0

		lis		r7, 0x0080
		ori		r7, r7, 0x0140		# END of array address

UPMB_write:
		lwz		r3, 0(r5)			# read data
		stw		r3, MDR(r4)			# store data at MD register
		stw		r6, MCR(r4)			# issue the command
		addi	r5, r5, 4			# next entry in the table, bit-32 wide
		addi	r6, r6, 1			# next MAD address
		cmp		r6, r7				# finished yet?
		blt		UPMB_write			# branch if not

#-----------------------------------------------------------------------------
# User Programmable Machine Registers
#-----------------------------------------------------------------------------
		addi	r3, 0, 0x0400
		sth		r3, MPTPR(r4)		# Memory Periodic timer prescaler register

		lis		r3, 0xd090			# Machine A Mode Register
		ori		r3, r3, 0x4114
#		LA		r3, 0xD0904114
		stw		r3, MBMR(r4)

		LA		r3, OR1_VAL			# in board.h
		stw		r3, OR1(r4)

		LA		r3, BR1_VAL			# in board.h
		stw		r3, BR1(r4)

#-----------------------------------------------------------------------------
# Initialization of SDRAM Mode Register after power-up
#-----------------------------------------------------------------------------
#		lis		r3, 0x8080			# Precharge the SDRAM
#		ori		r3, r3, 0x2105
		LA		r3, 0x80802105
		stw		r3, MCR(r4)

		lis		r3, 0x8080			# Refresh the SDRAM twice
		ori		r3, r3, 0x2830
#		LA		r3, 0x80802830
		stw		r3, MCR(r4)

		lis		r3, 0x2
delay2:
		subi	r3, r3, 1
		cmpwi	r3, 0
		bne		delay2

		lis		r3, 0x0000			# load SDRAM Mode Register value into MAR
		ori		r3, r3, 0x0088
#		LA		r3, 0x00000088
		stw		r3, MAR(r4)

#		lis		r3, 0x8080			# Setting up SDRAM mode register
#		ori		r3, r3, 0x2106
		LA		r3, 0x80802106
		stw		r3, MCR(r4)

skip_ram:	
#------------------------------------------------------------------------
# Set the input clock multiplication factor          
#------------------------------------------------------------------------
		lis		r3, DEF_PLL_MULT	# default PLL multiplication factor
		stw		r3, PLPRCR(r4)		# set the PLL register 

		lis		r3, 0x2
delay1:
		subi	r3, r3, 1
		cmpwi	r3, 0
		bne		delay1

#-----------------------------------------------------------------------*
# Copy DATA section from FLASH to RAM.                                  *
#-----------------------------------------------------------------------*
		LA		r3, _CpySrcBeg		# Address of Data section in FLASH
		LA		r4, _CpyDstBeg		# Address of Data Section in RAM
		LA		r5, _CpyDstEnd
		subf	r5, r4, r5			# r5: # bytes to copy 

###########################
#		mflr	r17					# Save Link register
#		bl		BspBcopy			# Copy Data section to RAM
		cmpwi r5, 0                 # if length == 0 : All done
		beq   done

		lbz   r6, 0(r3)             # Load  first byte
		stb   r6, 0(r4)             # Store first byte

aa00:
		addi  r5, r5, -1
		cmpwi r5, 0                 # if length == 0 : All done
		beq   done

		lbzu  r6, 1(r3)             # Load  a byte with increment
		stbu  r6, 1(r4)             # Store a byte with increment
		b     aa00                  # while len != 0 Loop
done:
		sync
#		mtlr	r17					# Restore Link Register
###########################

		LA		r3, StartBss		# r3: address
		LA		r4, FreeMemStart	# r4: first address *not* to be cleared
		sub		r4, r4, r3			# r4: length
		li		r5, 0				# r5: value to store (0)
###########################
#		bl		BspBfill			# CLear Bss area
        cmpwi r4, 0                 # if length == 0 : All done
        beq   don

        stb   r5, 0(r3)             # Store first byte

aa1:
        addi  r4, r4, -1
        cmpwi r4, 0                 # if length == 0 : All done
        beq   don

        stbu  r5, 1(r3)             # Store a byte with increment
        b     aa1                   # while len != 0 Loop

don:
        sync
###########################

		LA		r1, Initial_Sp		# Set stack pointer
		subi	r1, r1, 16			# need reserving 8 bytes for C

		mfmsr	r3
		ori		r3, r3, 0x1000
		mtmsr	r3					# Enable machine-check exceptions

		bla		InitBoard			# Remainder of hardware init
#		b		InitBoard			# Remainder of hardware init

		blr							# Never executed  !!!!

#-----------------------------------------------------------------------
# UPM RAM Array Table "SDRAM in 50MHz Clock"
#-----------------------------------------------------------------------
UPMTable:
# Single read. (offset 0)
		.long 0x1F07FC04, 0xEEAEFC04, 0x11ADFC04, 0xEFBBBC00, 0x1FF77C47
        
# Precharge Command (offset 0x05, use unused area)
		.long 0x1FF77C35
        
# MRS Command (offset 0x06, use unused area)
		.long 0xEFEABC34, 0x1FB57C35

# Burst read. (Offset 8)
		.long 0x1F07FC04, 0xEEAEFC04, 0x10ADFC04, 0xF0AFFC00
		.long 0xF0AFFC00, 0xF1AFFC00, 0xEFBBBC00, 0x1FF77C47
		.long 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
		.long 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
 
# Single write. (Offset 0x18)
		.long 0x1F27FC04, 0xEEAEBC00, 0x01B93C04, 0x1FF77C47
		.long 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
 
# Burst write. (Offset 0x20)
		.long 0x1F07FC04, 0xEEAEBC00, 0x10AD7C00, 0xF0AFFC00
		.long 0xF0AFFC00, 0xE1BBBC04, 0x1FF77C47, 0xFFFFFFFF
		.long 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
		.long 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
 
# Refresh cycle (offset 0x30)
		.long 0x1FF5FC84, 0xFFFFFC04, 0xFFFFFC04, 0xFFFFFC04
		.long 0xFFFFFC84, 0xFFFFFC07, 0xFFFFFFFF, 0xFFFFFFFF
		.long 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
 
# Exception (offset 0x3C) */
		.long 0x7FFFFC07, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
 
# End oF table indicator */
		.long 0x00000000

###############################################################################
vxworks rominit.s
###############################################################################
/* romInit.s - Motorola 860ads ROM initialization module */

/* Copyright 1984-1996 Wind River Systems, Inc. */
	.data
	.globl  copyright_wind_river
	.long   copyright_wind_river

/*
modification history
- --------------------
01m,26jan99,cn   added support for SDRAM (SPR# 24337). Also removed checks 
		 to BCSR2_DRAM_NO_EDO_L and BCSR2_DRAM_EDO_L as this bit 
		 is not actually implemented.  
01l,09nov98,cn   added support for FADS860T boards.
01k,30jul98,gls  fixed to initialize CS0/CS1 earlier to allow access to BCSR3
01j,18feb98,gls	 added support for PPC823FADS
01i,23jun97,map  fixed MAMR init for 16/32 DRAM [SPR# 8753]
01h,17dec96,tpr  fixed MAMR init. bug with 16 and 32 Mbytes dram (SPR #7661)
01g,10nov96,tpr  updated UPM table. 
		 removed RTCSC initialization.
01f,08nov96,tpr  modified UPM table for EDO Dram @ 50 Mhz.
01e,06nov96,tpr  replaced PLPRCR_MF_SFT by PLPRCR_MF_SHIFT.
01d,06nov96,tpr  Clean up the code (SPR #7336).
		 added DRAM speed selection (SPR #7335).
01c,24jun96,tpr  Reworked all initialization code.
01b,04jun96,cah  Add mem controller minimal init sequence
01a,19apr96,tpr  written.
*/

/*
DESCRIPTION
This module contains the entry code for the VxWorks bootrom.
The entry point romInit, is the first code executed on power-up.
It sets the BOOT_COLD parameter to be passed to the generic
romStart() routine.

The routine sysToMonitor() jumps to the location 4 bytes
past the beginning of romInit, to perform a "warm boot".
This entry point allows a parameter to be passed to romStart().

*/

#define	_ASMLANGUAGE
#include "vxWorks.h"
#include "asm.h"
#include "cacheLib.h"
#include "config.h"
#include "regs.h"	
#include "sysLib.h"
#include "drv/multi/ppc860Siu.h"

#define MBMR_DEFAULT_VALUE (MAMR_AMA_TYPE_0 | MAMR_DSA_1_CYCL | 	\
			    MAMR_G0CLA_A11 | MAMR_RLFA_1X | 		\
			    MAMR_WLFA_1X | MAMR_TLFA_1X)
	
	/* internals */

	.globl	_romInit	/* start of system code */
	.globl	romInit		/* start of system code */
	
	/* externals */

	.extern romStart	/* system initialization routine */

	.text
	.align 2

/******************************************************************************
*
* romInit - entry point for VxWorks in ROM
*

* romInit
*     (
*     int startType	/@ only used by 2nd entry point @/
*     )

*/

_romInit:
romInit:
	bl	cold		/* jump to the cold boot initialization */
	
	bl	start		/* jump to the warm boot initialization */

	/* copyright notice appears at beginning of ROM (in TEXT segment) */

	.ascii   "Copyright 1984-1996 Wind River Systems, Inc."
	.align 2

cold:
	li	r3, BOOT_COLD	/* set cold boot as start type */

	/*
	 * When the PowerPC 860 is powered on, the processor fletch the
	 * instructions located at the address 0x100. We need to jump
	 * from the address 0x100 to the Flash space.
	 */

	lis	r4, HIADJ(start)		/* load r4 with the address */
	addi	r4, r4, LO(start)		/* of start */

	lis	r5, HIADJ(romInit)		/* load r5 with the address */
	addi	r5, r5, LO(romInit)		/* of romInit() */

	lis	r6, HIADJ(ROM_TEXT_ADRS)	/* load r6 with the address */
	addi	r6, r6, LO(ROM_TEXT_ADRS)	/* of ROM_TEXT_ADRS */

	sub	r4, r4, r5			/*  */
	add	r4, r4, r6 

	mtspr	LR, r4				/* save destination address*/
						/* into LR register */
	blr					/* jump to flash mem address */
			
start:
	/* set the MSR register to a known state */

	xor	r4, r4, r4		/* clear register R4 */
	mtmsr 	r4			/* cleat the MSR register */

	/* DER - clear the Debug Enable Register */

	mtspr	DER, r4

	/* ICR - clear the Interrupt Cause Register */

	mtspr	ICR, r4

	/* 
	 * ICTRL - initialize the Intstruction Support Control register
	 *	   
	 */

	lis	r5, HIADJ(0x00000007)
	addi	r5, r5, LO(0x00000007)
	mtspr	ICTRL, r5

	/* disable the instruction/data cache */
	
	lis	r4, HIADJ ( CACHE_CMD_DISABLE)		/* load disable cmd */
	addi	r4, r4, LO (CACHE_CMD_DISABLE)
	mtspr	IC_CST, r4				/* disable I cache */
	mtspr	DC_CST, r4				/* disable D cache */

	/* unlock the instruction/data cache */

	lis	r4, HIADJ ( CACHE_CMD_UNLOCK_ALL)	/* load unlock cmd */
	addi	r4, r4, LO (CACHE_CMD_UNLOCK_ALL)
	mtspr	IC_CST, r4			/* unlock all I cache lines */
	mtspr	DC_CST, r4			/* unlock all D cache lines */

	/* invalidate the instruction/data cache */

	lis	r4, HIADJ (CACHE_CMD_INVALIDATE)   /* load invalidate cmd*/
	addi	r4, r4, LO (CACHE_CMD_INVALIDATE)
	mtspr	IC_CST, r4		/* invalidate all I cache lines */
	mtspr	DC_CST, r4		/* invalidate all D cache lines */

	/*
	 * initialize the IMMR register before any non-core registers
	 * modification.
	 */

	lis	r4, HIADJ( INTERNAL_MEM_MAP_ADDR)	
	addi	r4, r4, LO(INTERNAL_MEM_MAP_ADDR)
	mtspr	IMMR, r4		/* initialize the IMMR register */

	mfspr	r4, IMMR		/* read it back, to be sure */
	rlwinm  r4, r4, 0, 0, 15	/* only high 16 bits count */

	/* SYPCR - turn off the system protection stuff */
	lis	r5, HIADJ(0xFFFFFF88)
	addi	r5, r5, LO(0xFFFFFF88)
	stw	r5, SYPCR(0)(r4)

	/**********************/
	/* CS0 - Flash Memory */
	/**********************/
	lis	r5, HIADJ(0x02800001)
	addi	r5, r5, LO(0x02800001)
	stw	r5, BR0(0)(r4)

	lis	r5, HIADJ(0xFF800950)
	addi	r5, r5, LO(0xFF800950)
	stw	r5, OR0(0)(r4)

	/**********************/
	/* CS1 - SDRAM        */
	/**********************/
	lis	r5, HIADJ(0x000000C1)
	addi	r5, r5, LO(0x000000C1)
	stw	r5, BR0(0)(r4)

	lis	r5, HIADJ(0xFE000A00)
	addi	r5, r5, LO(0xFE000A00)
	stw	r5, OR0(0)(r4)

	/**********************/
	/* CS2 - VoPP(AC48X)  */
	/**********************/
	lis	r5, HIADJ(0x20000401)
	addi	r5, r5, LO(0x20000401)
	stw	r5, BR0(0)(r4)

	lis	r5, HIADJ(0xFFF00D84)
	addi	r5, r5, LO(0xFFF00D84)
	stw	r5, OR0(0)(r4)

	/**********************/	
	/* CS3 - N/A          */
	/**********************/
	lis	r5, HIADJ(0x30000400)
	addi	r5, r5, LO(0x30000400)
	stw	r5, BR0(0)(r4)

	lis	r5, HIADJ(0xFFFF8130)
	addi	r5, r5, LO(0xFFFF8130)
	stw	r5, OR0(0)(r4)

	/**********************/
	/* CS4 - T8100A       */
	/**********************/
	lis	r5, HIADJ(0x40000401)
	addi	r5, r5, LO(0x40000401)
	stw	r5, BR0(0)(r4)

	lis	r5, HIADJ(0xFFFF8748)
	addi	r5, r5, LO(0xFFFF8748)
	stw	r5, OR0(0)(r4)

	/**********************/
	/* CS5 - Control Regs */
	/**********************/
	lis	r5, HIADJ(0x50000401)
	addi	r5, r5, LO(0x50000401)
	stw	r5, BR0(0)(r4)

	lis	r5, HIADJ(0xFFFF8720)
	addi	r5, r5, LO(0xFFFF8720)
	stw	r5, OR0(0)(r4)

	/**********************/
	/* CS6 - NV-RAM       */
	/**********************/
	lis	r5, HIADJ(0x60000401)
	addi	r5, r5, LO(0x60000401)
	stw	r5, BR0(0)(r4)

	lis	r5, HIADJ(0xFFFF8960)
	addi	r5, r5, LO(0xFFFF8960)
	stw	r5, OR0(0)(r4)

	/**********************/
	/* CS6 - N/A          */
	/**********************/
	lis	r5, HIADJ(0x70000000)
	addi	r5, r5, LO(0x70000000)
	stw	r5, BR0(0)(r4)

	lis	r5, HIADJ(0xFFF00508)
	addi	r5, r5, LO(0xFFF00508)
	stw	r5, OR0(0)(r4)

	
	/* set the SIUMCR register for important debug port, etc... stuff */

	lis	r6, HIADJ(0x00632100)
	addi	r6, r6, LO(0x00632100)
	lwz	r5, SIUMCR(0)(r4)
	or	r5, r5, r6
	stw	r5, SIUMCR(0)(r4)

	/* TBSCR - initialize the Time Base Status and Control register */

	lis	r5, HIADJ( TBSCR_REFA | TBSCR_REFB)
	addi	r5, r5, LO(TBSCR_REFA | TBSCR_REFB)
	sth	r5, TBSCR(0)(r4)

	/* set PIT status and control init value */

	li	r5, PISCR_PS | PISCR_PITF
	sth	r5, PISCR(0)(r4)

	/* set the SPLL frequency */

	lis	r5, HIADJ( (SPLL_MUL_FACTOR << PLPRCR_MF_SHIFT) | PLPRCR_TEXPS)
	addi	r5, r5, LO((SPLL_MUL_FACTOR << PLPRCR_MF_SHIFT) | PLPRCR_TEXPS)
	stw	r5, PLPRCR(0)(r4)

	/**********************/
	/* SDRAM Initialize   */
	/**********************/

	/* program the MPTPR */
	li	r6, 0x0400
	sth	r6, MPTPR(0)(r4)
 
    /* 
	 * initialize MxMR but don't enable refresh until after 
	 * SDRAM initialization.
     */

    lis     r6, HIADJ (0xD0904114)
    addi    r6, r6, LO (0xD0904114)
    stw     r6, MBMR(0)(r4)

upmbInit:
 
        /*
         * load r6/r7 with the start/end address of the UPM table for an
         * SDRAM @ 50MHZ.
         */

        lis     r6, HIADJ( upmbTableSdram)
        addi    r6, r6, LO(upmbTableSdram)
        lis     r7, HIADJ( upmbTableSdramEnd)
        addi    r7, r7, LO(upmbTableSdramEnd)
 
        /* init UPMB for memory access */
 
        sub     r5, r7, r6              /* compute table size */
        srawi   r5, r5, 2               /* in integer size */
 
        /* convert UpmTable to ROM based addressing */
 
        lis     r7, HIADJ(romInit)
        addi    r7, r7, LO(romInit)
 
        lis     r8, HIADJ(ROM_TEXT_ADRS)
        addi    r8, r8, LO(ROM_TEXT_ADRS)
 
        sub     r6, r6, r7              /* subtract romInit base address */
        add     r6, r6, r8              /* add in ROM_TEXT_ADRS address */
 
        lis     r9, HIADJ (MCR_OP_WRITE | MCR_UM_UPMB | MCR_MB_CS0)
        addi    r9, r9, LO(MCR_OP_WRITE | MCR_UM_UPMB | MCR_MB_CS0)
 
UpmbWriteLoop:
        /* write the UPM table in the UPM */
 
        lwz     r10, 0(r6)              /* get data from table */
        stw     r10, MDR(0)(r4)         /* store the data to MD register */
 
        stw     r9, MCR(0)(r4)          /* issue command to MCR register */
 
        addi    r6, r6, 4               /* next entry in the table */
        addi    r9, r9, 1               /* next MAD address */

        addi    r5,r5,-1
        cmpwi   r5,0
        bne     UpmbWriteLoop

        /* 
         * Issue precharge command (PRCG) and wait the precharge time (t-rp).
	 * Run precharge pattern from UPMB location 5.
         */

        lis     r5, HIADJ(0x80802105)
        addi    r5, r5, LO(0x80802105)
        stw     r5, MCR(0)(r4)
 
        /* run refresh pattern 8 times */

        lis     r5, HIADJ(0x80802830)
        addi    r5, r5, LO(0x80802830)
        stw     r5, MCR(0)(r4)
 
        /* 
	 * Configure the 32 bit address to be output on the address bus 
	 * if AMX = 0xb11.
         * See section 16.6.4.1 "Arm Words".  The following values must 
	 * be placed on the defined SDRAM address pins:
         *   A[9]   = 0          burst write mode
         *   A[6:4] = 010        cas latency of two
         *   A[3]   = 0          sequential mode
         *   A[2:0] = 010        burst length 4
         *
         * The address must be shifted left by 2 bits for 32 bit wide SDRAM...
         *   (0b0100010 << 2) = 0x88
         */

        lis     r5, HIADJ(0x00000088)
        addi    r5, r5, LO(0x00000088)
        stw     r5, MAR(0)(r4)
 
        /* 
	 * issue a mode register set (MRS) to initialize the SDRAM mode 
	 * register.  This programs the burst length, CAS latency and 
	 * write mode. Run MRS pattern from UPMB location 6.
         */

        lis     r5, HIADJ(0x80802106)
        addi    r5, r5, LO(0x80802106)
        stw     r5, MCR(0)(r4)

	/* enable SDRAM refresh cycles */

        lis     r5, HIADJ (0xD0904114)
        addi    r5, r5,LO (0xD0904114)
        stw     r5, MBMR(0)(r4)

    /* initialize the stack pointer */
	lis	sp, HIADJ(STACK_ADRS)
	addi	sp, sp, LO(STACK_ADRS)
	
        /* initialize r2 and r13 according to EABI standard */
#if	FALSE					/* SDA Not supported yet */

	lis	r2, HIADJ(_SDA2_BASE_)
	addi	r2, r2, LO(_SDA2_BASE_)

	lis	r13, HIADJ(_SDA_BASE_)
	addi	r13, r13, LO(_SDA_BASE_)
#endif

	/* go to C entry point */

	addi	sp, sp, -FRAMEBASESZ		/* get frame stack */

	/* 
	 * calculate C entry point: routine - entry point + ROM base 
	 * routine	= romStart
	 * entry point	= romInit	= R7
	 * ROM base	= ROM_TEXT_ADRS = R8
	 * C entry point: romStart - R7 + R8 
	 */

        lis	r6, HIADJ(romStart)	
        addi	r6, r6, LO(romStart)	/* load R6 with C entry point */

	sub	r6, r6, r7		/* routine - entry point */
	add	r6, r6, r8 		/* + ROM base */

	mtlr	r6			/* move C entry point to LR */
	blr				/* jump to the C entry point */

/* This 50 MHz SDRAM table is for...
 *   860EN Rev B.1 9829 and newer silicon
 *   860T  Rev B.3 9832 and newer silicon
 *
 * This table will NOT work with older 860EN or 860T parts.
 */
 
upmbTableSdram:
 
/* single read   (offset 0x00 in upm ram) */
       .long   0x1f07fc04, 0xeeaefc04, 0x11adfc04, 0xefbbbc00
       .long   0x1ff77c47, 0x1ff77c35, 0xefeabc34, 0x1fb57c35
/* burst read    (offset 0x08 in upm ram) */
       .long   0x1f07fc04, 0xeeaefc04, 0x10adfc04, 0xf0affc00
       .long   0xf0affc00, 0xf1affc00, 0xefbbbc00, 0x1ff77c47
       .long   0xfffffc04, 0xfffffc04, 0xfffffc04, 0xfffffc04
       .long   0xfffffc04, 0xfffffc04, 0xfffffc04, 0xfffffc04
/* single write  (offset 0x18 in upm ram) */
       .long   0x1f27fc04, 0xeeaebc00, 0x01b93c04, 0x1ff77c47
       .long   0xfffffc04, 0xfffffc04, 0xfffffc04, 0xfffffc04
/* burst write   (offset 0x20 in upm ram) */
       .long   0x1f07fc04, 0xeeaebc00, 0x10ad7c00, 0xf0affc00
       .long   0xf0affc00, 0xe1bbbc04, 0x1ff77c47, 0xfffffc04
       .long   0xfffffc04, 0xfffffc04, 0xfffffc04, 0xfffffc04
       .long   0xfffffc04, 0xfffffc04, 0xfffffc04, 0xfffffc04
/* refresh       (offset 0x30 in upm ram) */
       .long   0x1ff5fc84, 0xfffffc04, 0xfffffc04, 0xfffffc04
       .long   0xfffffc84, 0xfffffc07, 0xfffffc04, 0xfffffc04
       .long   0xfffffc04, 0xfffffc04, 0xfffffc04, 0xfffffc04
/* exception     (offset 0x3C in upm ram) */
       .long   0x7ffffc07, 0xfffffc04, 0xfffffc04, 0xfffffc04
 
upmbTableSdramEnd:

- -------------------------------------------------------------------------
Constants are my board specific. So YOu don't mind.
I want to know any boot process may be missed or not.

CS#0 FLASH 8M
CS#1 SDRAM 32M -> UPMB

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

Newsgroups: comp.os.vxworks
Subject: Re: DHCP
Date: 2 Jan 2003 22:41:09 -0800
From: hotJacky@163.net (Bryan)
Organization: http://groups.google.com/
Message-ID: <8f77d4a.0301022241.50f25671@posting.google.com>
References: <8f77d4a.0212240415.6bc67aff@posting.google.com> <d83bb8e3.0212241110.83cc8cf@posting.google.com>

Thank you all!

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

Newsgroups: comp.os.vxworks
Subject: Is this a bug about ccppc?
Date: 2 Jan 2003 22:49:38 -0800
From: hotJacky@163.net (Bryan)
Organization: http://groups.google.com/
Message-ID: <8f77d4a.0301022249.7fb81631@posting.google.com>

When I compile a code in ppc as fallow:
             char cBlanceFlactor;
             if(-2 == cBlanceFlactor)
             {
                  ...
             }
The compiler give a warning: 
     "warning: comparison is always 0 due to limited range of data
type"
If I compile this code in x86,this warning is not exist!
So I think ccppc regard char as unsigned!But according ANSI C,char is
equal to signed char.Is this a bug about ccppc?

Sincerely,
Bryan

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

Newsgroups: comp.os.vxworks
Subject: Re: Is this a bug about ccppc?
Date: Fri, 03 Jan 2003 09:35:47 GMT
From: "J. J. Farrell" <jjf@bcs.org.uk>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <TPcR9.9747$134.1090155@newsread1.prod.itd.earthlink.net>
References: <8f77d4a.0301022249.7fb81631@posting.google.com>

"Bryan" <hotJacky@163.net> wrote in message
news:8f77d4a.0301022249.7fb81631@posting.google.com...
> When I compile a code in ppc as fallow:
>              char cBlanceFlactor;
>              if(-2 == cBlanceFlactor)
>              {
>                   ...
>              }
> The compiler give a warning:
>      "warning: comparison is always 0 due to limited range of data
> type"
> If I compile this code in x86,this warning is not exist!
> So I think ccppc regard char as unsigned!But according ANSI C,char is
> equal to signed char.Is this a bug about ccppc?

It's a bug in your knowledge of ANSI C! The C Standard requires
that each implementation defines whether "plain" chars are signed
or unsigned - both are valid implementations. I guess that by default
the PPC compiler has signed plain chars and the x86 has unsigned.

If you want your code to be portable and want chars to hold
negative values, explicitly use 'signed char'. Many compilers have
an option to let you set whether "plain" chars are signed or unsigned.

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Sat Jan  4 04:03:13 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sat Jan  4 04:03:15 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Sat Jan  4 04:03:11 PST 2003

        Subject: Re: Memory controller or MMU  which should be first in boot code
        Subject: How to remove a "stuck" directory.
        Subject: Re: Memory controller or MMU  which should be first in boot code
        Subject: Re: How to remove a "stuck" directory.
        Subject: PC/104 Tri-M MZ104+ BSP
        Subject: dosfs2 and flock
        Subject: Re: Trying to use _func_logMsg send debug message to serial port
        Subject: Re: dosfs2 and flock
        Subject: Re: How to remove a "stuck" directory.
        Subject: Re: Trying to use _func_logMsg send debug message to serial port
        Subject: Re: Interrupt Stack Tracing....on MC68EN360 + VxWorks - help
        Subject: Re: Trying to use _func_logMsg send debug message to serial port
        Subject: Re: How to remove a "stuck" directory.

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

Newsgroups: comp.os.vxworks
Subject: Re: Memory controller or MMU  which should be first in boot code
Date: Fri, 3 Jan 2003 14:11:32 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$jk058h$qne$1@lnews.actcom.co.il>
References: <4cd6f00b.0301030326.2ec1fc24@posting.google.com>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

"MahendraReddyGuduru" <mahendraguduru@yahoo.com> wrote in message
news:4cd6f00b.0301030326.2ec1fc24@posting.google.com...
> hi all,
> I have seen many BSPs ,which are initialising first Memory Controller
> before to MMU initialisation.
> AS memory controller  address pointers are  also part of memory,how
> memory controller registers getting initialised before MMU
> initialisation.
> Thanks in advance for clarification

These kind of questions never stop to amaze me -
did you think that before the MMU is enabled, the CPU can not access memory
?
How would you get to initialize the MMU ? If the CPU can't access memory,
it can't read the instructions, it can't run software !

Prior to enabling MMU, memory access does work, as if Virtual = Physical
addresses, and no access protection.

The reason to initialize the memory controller first, is that you can only
access ROM (and maybe some on-chip RAM) until the memory controller is
initialized, and only after it is, you can use the DRAM. This is also the
reason that memory controller initialization code is written in assembly in
romInit.s, because code generated by the C compiler allwasy assumes it can
access RAM and has a valid stack et al.

- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

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

Newsgroups: comp.os.vxworks
Subject: How to remove a "stuck" directory.
Date: Thu, 2 Jan 2003 11:13:34 -0500
From: "bubbawho2002" <bubbawho2002@yahoo.com>
Organization: Posted via Supernews, http://www.supernews.com
Message-ID: <v18p4eo7ec6o50@corp.supernews.com>
Reply-To: "bubbawho2002" <bubbawho2002@yahoo.com>

Hi,
We have a phone system with VxWorks 5.3.1 on in and it is reporting some IO
errors on a particular directory.  When I try an delete it I get the
following:
- -> rm "lwoodfor"
value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f
- ->

I don't have a heck of a lot of experience with VxWorks and the company that
made this is long out of business so any help on how we could remove this
file would be helpful.
Thanks,
Gary

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

Newsgroups: comp.os.vxworks
Subject: Re: Memory controller or MMU  which should be first in boot code
Date: Fri, 03 Jan 2003 07:28:15 -0500
From: Varndell Engineering <gvarndell@hotmail.com>
Organization: Posted Via Newsfeeds.com = SPEED+RETENTION+COMPLETION = http://www.newsfeeds.com
Message-ID: <3E1581DF.3000905@hotmail.com>
References: <4cd6f00b.0301030326.2ec1fc24@posting.google.com>

MahendraReddyGuduru wrote:
> hi all,
> I have seen many BSPs ,which are initialising first Memory Controller
> before to MMU initialisation.
> AS memory controller  address pointers are  also part of memory,how 
> memory controller registers getting initialised before MMU
> initialisation.

During boot, it is generally assumed that the MMU is disabled
and the CPU is executing in a real address, or untranslated, mode.
A disabled MMU has no effect on the accessing of memory controller
registers, which occupy some part of the CPU's physical address space.

Regards,
George Varndell
- --
Varndell Engineering, LLC       Embedded Systems Expertise
Need a vxWorks END for National Semiconductor DP8382x GigE?
http://www.varndellengineering.com

- -----------== Posted via Newsfeed.Com - Uncensored Usenet News ==----------
   http://www.newsfeed.com       The #1 Newsgroup Service in the World!
- -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =-----

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

Newsgroups: comp.os.vxworks
Subject: Re: How to remove a "stuck" directory.
Date: Fri, 3 Jan 2003 12:57:01 -0500
From: "bubbawho2002" <bubbawho2002@yahoo.com>
Organization: Posted via Supernews, http://www.supernews.com
Message-ID: <v1bjiatnc4i5a7@corp.supernews.com>
References: <v18p4eo7ec6o50@corp.supernews.com> <newscache$ttz48h$dle$1@lnews.actcom.co.il> <v1be69ehflsp22@corp.supernews.com> <newscache$3ce58h$s8f$1@lnews.actcom.co.il>
Reply-To: "bubbawho2002" <bubbawho2002@yahoo.com>

Hi Leonid,
This is what I was able to retrieve for information on the version and the
result of the lkup command:
- -> lkup "chkdsk"
value = 0 = 0x0
- -> version
VxWorks (for PC 486) version 5.3.1.
Kernel: WIND version 2.5.
Made on Jul 31 2001, 18:10:53.
Boot line:
ata=(0,0):/ata0/vxWorks.st e=10.0.0.0:FFFFFF00 o=/hd0/shasta
PRAXON PDX S/W version 2.0 (1.51) ST
value = 7366696 = 0x706828 = _pxVersionString
- ->

"Leonid Rosenboim" <My_1st_name@Consultant.Com> wrote in message
news:newscache$3ce58h$s8f$1@lnews.actcom.co.il...
> Here are my observations:
>
> 1. You are running the old dosFs 1.0 (unknown patch level, if any)
> 2. The failure to get "stat" unfo on the specific entry (which could be
> either directory or file) with errno 0x16 (decimal 22)  - EINVAL, and that
> means something is wrong with that directory entry. Definitely something
> that chkdsk would take care of.
>
> What has not been established is availability of chkdsk on your system -
> with dosFs 1.0, chkdsk was not part of the package, it was a 3rd party
> protuct until 1997 when the vendor was acquired by WindRiver, and then
> ht was available from Wind River on an unsupported basis.
>
> In order to find if you have got it do:
>
>     -> lkup "chkdsk"
>
> --
> -----------------------------------------------------------------------
>    Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
>        Consultant                Email: my first name at consultant dot
com
>
>
> "bubbawho2002" <bubbawho2002@yahoo.com> wrote in message
> news:v1be69ehflsp22@corp.supernews.com...
> > Hi Leonid,
> > There are files in the directory, however the os reports an IO error
when
> > you try to ll them:
> > -> ll
> >   size          date       time       name
> > --------       ------     ------    --------
> >      512    JAN-02-2003  10:41:38   .                 <DIR>
> >      512    FEB-06-2106  01:28:53   ..                <DIR>
> >      512    FEB-06-2106  01:28:33   admin             <DIR>
> >      512    FEB-06-2106  01:28:33   DefaultCOS        <DIR>
> >      512    FEB-06-2106  01:28:33   defDept           <DIR>
> >      512    FEB-06-2106  01:28:33   ftp               <DIR>
> >      512    FEB-06-2106  01:28:33   recept            <DIR>
> >      512    MAR-11-2002  13:59:14   system            <DIR>
> >      512    FEB-06-2106  01:28:36   vmail             <DIR>
> >      512    FEB-06-2106  01:28:36   GGauvin           <DIR>
> >      512    FEB-06-2106  01:28:37   SGauvin           <DIR>
> >      512    FEB-06-2106  01:28:37   MPfiefer          <DIR>
> >      512    FEB-06-2106  01:28:38   MAuxilia          <DIR>
> >      512    FEB-06-2106  01:28:38   CompanyCOS        <DIR>
> >      512    FEB-06-2106  01:28:38   fax0              <DIR>
> >      512    FEB-06-2106  01:28:38   opmh              <DIR>
> >      512    FEB-06-2106  01:28:38   remoteAccess      <DIR>
> >      512    FEB-06-2106  01:28:39   sales             <DIR>
> >      512    FEB-06-2106  01:28:40   spackard          <DIR>
> >      512    DEC-06-2002  10:19:41   customer          <DIR>
> >      512    FEB-10-2002  15:34:14   kkenyon           <DIR>
> > IO Error - can't stat file: errno = 0x16
> >        0                            lwoodfor          <IO Error>
> >      512    SEP-10-2002  10:20:43   rfox              <DIR>
> > value = 0 = 0x0
> > -> pwd
> > /hd0/shasta/usr/home
> > value = 21 = 0x15
> > -> rmdir "/hd0/shasta/usr/home/lwoodfor"
> > value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f
> > ->
> >
> >
> > "Leonid Rosenboim" <My_1st_name@Consultant.Com> wrote in message
> > news:newscache$ttz48h$dle$1@lnews.actcom.co.il...
> > >
> > > Isuggest you use a full path, that begins with the device name,
> > > which appears in the output of the "devs" command, e.g. instead of
> > >  -> rmdir "/woodfor"
> > >
> > > you should do:
> > >  -> rmdir "/hd0/woodfor"
> > >
> > > Also, make sure the directory exists, and is empty, by listing it,
again
> > > using full path:
> > >  -> ll "/hd0/woodfor"
> > >
> > > If this does not work, you may want to take a look at the directory's
> > > attributes - it could have bene marked read-only, this should be part
of
> > > "ll" output.
> > >
> > > And regarding "chkdsk", all you need to do is
> > >  -> chkdsk "/dh0"
> > >
> > > Fro the output of the above commands I could tell you more, e.g. which
> > > version of dosFs you are using.
> > > --
> >
> -----------------------------------------------------------------------
> > >    Leonid Rosenboim     Visit:
> http://www.masada2000.org/historical.html
> > >        Consultant                Email: my first name at consultant
dot
> > com
> > >
> > >
> > > "bubbawho2002" <bubbawho2002@yahoo.com> wrote in message
> > > news:v18p4eo7ec6o50@corp.supernews.com...
> > > > Hi,
> > > > We have a phone system with VxWorks 5.3.1 on in and it is reporting
> some
> > > IO
> > > > errors on a particular directory.  When I try an delete it I get the
> > > > following:
> > > > -> rm "lwoodfor"
> > > > value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f
> > > > ->
> > > >
> > > > I don't have a heck of a lot of experience with VxWorks and the
> company
> > > that
> > > > made this is long out of business so any help on how we could remove
> > this
> > > > file would be helpful.
> > > > Thanks,
> > > > Gary
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>

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

Newsgroups: comp.os.vxworks
Subject: PC/104 Tri-M MZ104+ BSP
Date: 3 Jan 2003 13:32:00 -0800
From: gpbeck_99@yahoo.com (Gary Beck)
Organization: http://groups.google.com/
Message-ID: <eac587be.0301031332.c0a0d2f@posting.google.com>

I'm looking for a BSP for this board.  It has the ZFx86 processor on
board.  I've downloaded the BSP from zfmicro.com, but I can't use it
to create a new project.

Any ideas?

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

Newsgroups: comp.os.vxworks
Subject: dosfs2 and flock
Date: Fri, 3 Jan 2003 15:50:52 -0600
From: "Chris Richards" <cjr@netpliance.net>
Message-ID: <3e160353$0$586$39cecf19@nnrp1.twtelecom.net>

Does the dosfs2 filesystem support file locking?  Thanks.

/cjr

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

Newsgroups: comp.os.vxworks
Subject: Re: Trying to use _func_logMsg send debug message to serial port
Date: Sat, 04 Jan 2003 00:02:04 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <%vpR9.548776$WL3.147051@rwcrnsc54>
References: <be349724.0301020927.49cf6569@posting.google.com> <8T0R9.415469$GR5.132493@rwcrnsc51.ops.asp.att.net> <be349724.0301022053.136006a8@posting.google.com>

Hello Eddie,

"Eddie Chou" <eddie_chou@comxion.com.tw> wrote in message
news:be349724.0301022053.136006a8@posting.google.com...
[snip]
> How can i set _func_logMsg pointer to logMsg?
[snip]

    If you have included "message logging" in your vxWorks kernel
under the project facility [vxWorks Tab ->operating systems components ->
IO system components->message logging]
(or #define INCLUDE_LOGGING in your config.h for command-line builds)
the _func_logMsg function pointer is initialized to logMsg. Otherwise, it
may be NULL. This was done to remove the dependency of the device
drivers from having to include message logging to link.

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

Newsgroups: comp.os.vxworks
Subject: Re: dosfs2 and flock
Date: Sat, 04 Jan 2003 01:15:19 +0000
From: Dimitrios Siganos <no_spam.dimitris@engineer.com>
Message-ID: <3e1634ee$0$246$cc9e4d1f@news.dial.pipex.com>
References: <3e160353$0$586$39cecf19@nnrp1.twtelecom.net>

Chris Richards wrote:
> Does the dosfs2 filesystem support file locking?  Thanks.

Nope.

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

Newsgroups: comp.os.vxworks
Subject: Re: How to remove a "stuck" directory.
Date: Thu, 2 Jan 2003 14:25:33 -0500
From: "bubbawho2002" <bubbawho2002@yahoo.com>
Organization: Posted via Supernews, http://www.supernews.com
Message-ID: <v194cd1d4ukf3b@corp.supernews.com>
References: <v18p4eo7ec6o50@corp.supernews.com> <m2znqjo2gx.fsf@sympatico.ca> <m2vg17o20i.fsf@sympatico.ca>
Reply-To: "bubbawho2002" <bubbawho2002@yahoo.com>

Hi Bill,
Thanks for the tip.  We are definately at the right location for this (did a
pwd to check). Tried rmdir and got this out:
- -> rmdir "lwoodfor"
value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f
- ->

Any other ideas we can try ?
Thanks,
Gary

"Bill Pringlemeir" <spam_account@sympatico.ca> wrote in message
news:m2vg17o20i.fsf@sympatico.ca...
>
> >>>>> "Gary" == bubbawho2002  <bubbawho2002@yahoo.com> writes:
>
>  Gary> We have a phone system with VxWorks 5.3.1 on in and it is
>  Gary> reporting some IO errors on a particular directory.  When I
>  Gary> try an delete it I get the following:
>
>    -> rm "lwoodfor"
>    value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f
>    ->
>
>  Gary> I don't have a heck of a lot of experience with VxWorks and
>  Gary> the company that made this is long out of business so any help
>  Gary> on how we could remove this file would be helpful.
>
>  Bill> You should be able to type "ioHelp" for some information on the
>  Bill> file system.  Are you certain that you are in the directory
>  Bill> where the file is located?  Try the command "pwd", "ll", and
>  Bill> "chkdsk".
>
>  Bill> Depending on the version of the file system, the case of the
>  Bill> file name might be important.
>
> Opps!  I missed the title.  If everything else is right, you need
> "rmdir" and not "rm".  I think that this is standard *nix.
> Interesting that "ioHelp" didn't mention "rmdir", "mkdir", etc on my
> kernel.
>
> hth,
> Bill Pringlemeir.
>
> --
> Send your questions to ``ASK ZIPPY'', Box 40474, San Francisco, CA
>  94140, USA

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

Newsgroups: comp.os.vxworks
Subject: Re: Trying to use _func_logMsg send debug message to serial port
Date: 02 Jan 2003 16:14:54 -0500
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <m21y3vtfsh.fsf@sympatico.ca>
References: <be349724.0301020927.49cf6569@posting.google.com> <8T0R9.415469$GR5.132493@rwcrnsc51.ops.asp.att.net>
Sender: bpringle@DeadDuck

"Eddie Chou" <eddie_chou@comxion.com.tw> wrote...

> I am porting Fast ethernet on MPC857T now. And i have checked motFecEnd.c.
> There are some code like

[snip]

> How can i turn it on this function and send all the message to
> serial port? My serial port connection is OK.

 DrDiag>     You could try changing the mocFecEndDbg value to one of
 DrDiag> several values that are set in the modFecEnd.h. Check to see
 DrDiag> what FLG is defined to in either the xxx.c or xxx.h file and
 DrDiag> the last item is to make sure the _func_logMsg pointer is set
 DrDiag> to logMsg. You shouldn't have to recompile, but may want to
 DrDiag> in case error messages are being printed before you can
 DrDiag> overtly change the above values to the ones you want during
 DrDiag> system startup. HTH.

Could also be "logFdSet".  Look at the docs for logLib...  It seems
that vxWorks doesn't always set the fd where the log output goes.

hth,
Bill Pringlemeir.

- -- 
Don't  forget to  clean your  apartment.   As Mercury  moves into  the
left-hand  quadrant of Pisces,  be careful  of your  relationship with
your friend.  A small bomb is  in the air.  Don't forget to clean your
apartment.  You'll eventually be a Borg.

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

Newsgroups: comp.os.vxworks
Subject: Re: Interrupt Stack Tracing....on MC68EN360 + VxWorks - help
Date: Thu, 2 Jan 2003 14:54:43 -0800
From: "msafar" <me@here>
Organization: Posted via Supernews, http://www.supernews.com
Message-ID: <v19h8ig1e2qv24@corp.supernews.com>
References: <65a5832b.0212180213.7912e6ba@posting.google.com>

Interrupts are executed on interrupted task's stack in case of the 68360.

"suresh kumar b.v" <bvsuresh@lycos.com> wrote in message
news:65a5832b.0212180213.7912e6ba@posting.google.com...
> Hi,
>
> How to trace interrupt stack on MC68EN360 Processer Board with
> VxWorks. I know that, VxWorks execuites all interrupts in a separete
> Stack.
>
> Any help is greatly appreciated.
>
> regards
> suresh - bvsuresh@lycos.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Trying to use _func_logMsg send debug message to serial port
Date: 2 Jan 2003 20:53:09 -0800
From: eddie_chou@comxion.com.tw (Eddie Chou)
Organization: http://groups.google.com/
Message-ID: <be349724.0301022053.136006a8@posting.google.com>
References: <be349724.0301020927.49cf6569@posting.google.com> <8T0R9.415469$GR5.132493@rwcrnsc51.ops.asp.att.net>

Thanks for support!
How can i set _func_logMsg pointer to logMsg?

Thanks 
eddie

"drdiags" <drdiags@attbi.com> wrote in message news:<8T0R9.415469$GR5.132493@rwcrnsc51.ops.asp.att.net>...
> Happy New Year Eddie,
> 
>     You could try changing the mocFecEndDbg value to one of
> several values that are set in the modFecEnd.h. Check to see
> what FLG is defined to in either the xxx.c or xxx.h file and the
> last item is to make sure the _func_logMsg pointer is set to
> logMsg. You shouldn't have to recompile, but may want to
> in case error messages are being printed before you can
> overtly change the above values to the ones you want during
> system startup. HTH.
> 
> "Eddie Chou" <eddie_chou@comxion.com.tw> wrote in message
> news:be349724.0301020927.49cf6569@posting.google.com...
> > Hi! Happy new year!
> >
> > I am porting Fast ethernet on MPC857T now. And i have checked motFecEnd.c.
> > There are some code like
> >
> > #define MOT_FEC_LOG(FLG, X0, X1, X2, X3, X4, X5, X6) \
> >     { \
> >     if (motFecEndDbg & FLG) \
> > if (_func_logMsg != NULL) \
> >     _func_logMsg (X0, X1, X2, X3, X4, X5, X6); \
> >     }
> >
> > MOT_FEC_LOG (MOT_FEC_DBG_LOAD, ("motFecUnload... Done\n"),
> >     1, 2, 3, 4, 5, 6);
> >
> >
> > How can i turn it on this function and send all the message to serial
>  port?
> > My serial port connection is OK.
> >
> > Thanks very much
> > eddie

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

Newsgroups: comp.os.vxworks
Subject: Re: How to remove a "stuck" directory.
Date: 02 Jan 2003 18:38:05 -0500
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <m2n0mj3yxu.fsf@sympatico.ca>
References: <v18p4eo7ec6o50@corp.supernews.com> <m2znqjo2gx.fsf@sympatico.ca> <m2vg17o20i.fsf@sympatico.ca> <v194cd1d4ukf3b@corp.supernews.com> <m2lm23qr37.fsf@sympatico.ca> <m2vg17ib5o.fsf@sympatico.ca> <v19gagq5b11736@corp.supernews.com>
Sender: bpringle@DeadDuck

 Gary> Does VxWorks have a file repair utility such as Checkdsk ?  I'd
 Gary> really like to avoid rebuilding this machine for a couple of
 Gary> bad files.

Yes, vxWorks has a chkdsk.  I mentioned it in previous posts.
`chkdsk' could possibly do something bad to your disk.  If you don't
mind bad things happening (I doubt they will, but you never know),
then you can run `->chkdsk "hd0",2,0x200'.  The `->devs' command will
list devices.  Yours appears to have some sort of hard drive and the
device is called "hd0".  Another name is `iosDevShow'.  However, it is
possible that devs/iosDevShow isn't compiled into your system.

hth,
Bill Pringlemeir.

- -- 
Don't forget to have your child spayed or neutered.  Tomorrow is not a
good time for sleeping.  Months from now talking with piglet3 may seem
like a positive step in the right direction.  Today a small bomb would
be a good thing to think about.  You'll eventually be confused.

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Sun Jan  5 04:03:22 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sun Jan  5 04:03:23 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Sun Jan  5 04:03:19 PST 2003

        Subject: Re: Is this a bug about ccppc?
        Subject: Re: How to remove a "stuck" directory.
        Subject: Memory controller or MMU  which should be first in boot code
        Subject: Maximum speed of 10/100 Ethernet
        Subject: Re: Maximum speed of 10/100 Ethernet
        Subject: Re: VxW Tasks versus Threads
        Subject: Re: How to remove a "stuck" directory.
        Subject: Re: Zinc Status Bar and Menu Bar Event Functions
        Subject: Re: How to remove a "stuck" directory.
        Subject: Ada and VxMP Shared-Memory Objects
        Subject: ppc 8245 dma from pci device resets system
        Subject: ppc 8245 dma from pci device resets system
        Subject: Re: Zinc Status Bar and Menu Bar Event Functions
        Subject: Re: VxW Tasks versus Threads
        Subject: Re: PC/104 Tri-M MZ104+ BSP
        Subject: Re: Interrupt Stack Tracing....on MC68EN360 + VxWorks - help

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

Newsgroups: comp.os.vxworks
Subject: Re: Is this a bug about ccppc?
Date: Fri, 03 Jan 2003 08:38:00 GMT
From: brede.thurmann@kongsberg-simrad.com (BT)
Message-ID: <3e1548b8.78575195@news.eunet.no>
References: <8f77d4a.0301022249.7fb81631@posting.google.com>

Could it be some of your CC command options. Check -funsigned-char or
- -fsigned-char in the GNU doc. for GNU CC

Brede

On 2 Jan 2003 22:49:38 -0800, hotJacky@163.net (Bryan) wrote:

>When I compile a code in ppc as fallow:
>             char cBlanceFlactor;
>             if(-2 == cBlanceFlactor)
>             {
>                  ...
>             }
>The compiler give a warning: 
>     "warning: comparison is always 0 due to limited range of data
>type"
>If I compile this code in x86,this warning is not exist!
>So I think ccppc regard char as unsigned!But according ANSI C,char is
>equal to signed char.Is this a bug about ccppc?
>
>Sincerely,
>Bryan

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

Newsgroups: comp.os.vxworks
Subject: Re: How to remove a "stuck" directory.
Date: Fri, 3 Jan 2003 10:24:10 +0100
From: "Georg Lffelmann" <stonehead@austromail.at>
Message-ID: <av3kod$bmrqj$1@ID-107855.news.dfncis.de>
References: <v18p4eo7ec6o50@corp.supernews.com> <m2znqjo2gx.fsf@sympatico.ca> <m2vg17o20i.fsf@sympatico.ca> <v194cd1d4ukf3b@corp.supernews.com> <m2lm23qr37.fsf@sympatico.ca> <m2vg17ib5o.fsf@sympatico.ca> <v19gagq5b11736@corp.supernews.com>

"bubbawho2002" <bubbawho2002@yahoo.com> schrieb im Newsbeitrag
news:v19gagq5b11736@corp.supernews.com...
...
> /hd0/shasta/usr/home
...

Hi!

Aren't Shasta-Nodes now sold by Nortel Networks? IMHO the Shasta 5000 (which
makes a perfect Gateway GPRS Support Node GGSN) is not _that_ outdated and
in service all over the world. Or is "/shasta" just a coincidence?

BR/
George

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

Newsgroups: comp.os.vxworks
Subject: Memory controller or MMU  which should be first in boot code
Date: 3 Jan 2003 03:26:12 -0800
From: mahendraguduru@yahoo.com (MahendraReddyGuduru)
Organization: http://groups.google.com/
Message-ID: <4cd6f00b.0301030326.2ec1fc24@posting.google.com>

hi all,
I have seen many BSPs ,which are initialising first Memory Controller
before to MMU initialisation.
AS memory controller  address pointers are  also part of memory,how 
memory controller registers getting initialised before MMU
initialisation.
Thanks in advance for clarification

Mahendra reddy.G

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

Newsgroups: comp.os.vxworks
Subject: Maximum speed of 10/100 Ethernet
Date: Fri, 3 Jan 2003 17:07:38 +0300
From: "Eug" <eug@newmail.ru>
Organization: MTU-Intel ISP
Message-ID: <av45j9$2dka$1@gavrilo.mtu.ru>

Dear Sirs!

What maximum speed can be achieved in VxWorks with 10/100 DEC Ethernet
controller?

I can transfer only ~1.5 Mbyte/sec in 100 Mbit mode.
BTW, I use TCP/IP.

Thanks in advance,
                                    Eug

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

Newsgroups: comp.os.vxworks
Subject: Re: Maximum speed of 10/100 Ethernet
Date: Fri, 3 Jan 2003 18:18:53 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$o0c58h$p5f$1@lnews.actcom.co.il>
References: <av45j9$2dka$1@gavrilo.mtu.ru>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

That depends.

First, in order to test the network (net of other factors(, write a simple
program that transfers the data from memory to memory.
Do not forget to increase the number of network buffers before you begin.
VxWorks default net buffer numbers will limit performance.

I have experience in acheiving over 97Mbps over a full-duplex 100Mbps
Ethernet, using another MAC chip, but that required some optimizations
of the network driver.

Your ability to reach higher throughput will depend on the driver
optimization
as well as on the speed of your CPU and system bus.

After you have measured pure memory-to-memory transfer rate, and the real
life application exhibits significantly loiwer throughput, then it is likely
that other
subsystems, such as disk storage, are limitting your performance.

- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

"Eug" <eug@newmail.ru> wrote in message news:av45j9$2dka$1@gavrilo.mtu.ru...
> Dear Sirs!
>
> What maximum speed can be achieved in VxWorks with 10/100 DEC Ethernet
> controller?
>
> I can transfer only ~1.5 Mbyte/sec in 100 Mbit mode.
> BTW, I use TCP/IP.
>
> Thanks in advance,
>                                     Eug
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: VxW Tasks versus Threads
Date: 4 Jan 2003 15:36:51 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0301041536.440704e9@posting.google.com>
References: <9e41635d.0301041145.2af8ea3@posting.google.com>

Hello,

VxWorks tasks are very close to threads in a unix system. One way of
looking at VxWorks 5.x is that it is a single-process, multi-threaded
system - VxWorks AE is essentially a multi-process, multi-threaded
system.

In a VxWorks 5.x system, all the code and data is shared, but each
task, of course, has its own stack space. On most architectures, there
is a separate stack for ISRs too, but check in your architecture
supplement to confirm this for the architecture you plan to use.

HTH,

John...

peter_holmes2003@yahoo.com (Peter) wrote in message news:<9e41635d.0301041145.2af8ea3@posting.google.com>...
> I have a question egarding the VxWorks Tasks. 
> 
> Unix threads share the code and data segments of the process they
> belong to but have separate stack segments.
> 
> Do VxWorks tasks have a structure similar to Unix Processes
> (data/code/stack segment). Also what segements if any are shared
> between different tasks.
> 
> -- Yuri

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

Newsgroups: comp.os.vxworks
Subject: Re: How to remove a "stuck" directory.
Date: Fri, 3 Jan 2003 11:25:14 -0500
From: "bubbawho2002" <bubbawho2002@yahoo.com>
Organization: Posted via Supernews, http://www.supernews.com
Message-ID: <v1be69ehflsp22@corp.supernews.com>
References: <v18p4eo7ec6o50@corp.supernews.com> <newscache$ttz48h$dle$1@lnews.actcom.co.il>
Reply-To: "bubbawho2002" <bubbawho2002@yahoo.com>

Hi Leonid,
There are files in the directory, however the os reports an IO error when
you try to ll them:
- -> ll
  size          date       time       name
- --------       ------     ------    --------
     512    JAN-02-2003  10:41:38   .                 <DIR>
     512    FEB-06-2106  01:28:53   ..                <DIR>
     512    FEB-06-2106  01:28:33   admin             <DIR>
     512    FEB-06-2106  01:28:33   DefaultCOS        <DIR>
     512    FEB-06-2106  01:28:33   defDept           <DIR>
     512    FEB-06-2106  01:28:33   ftp               <DIR>
     512    FEB-06-2106  01:28:33   recept            <DIR>
     512    MAR-11-2002  13:59:14   system            <DIR>
     512    FEB-06-2106  01:28:36   vmail             <DIR>
     512    FEB-06-2106  01:28:36   GGauvin           <DIR>
     512    FEB-06-2106  01:28:37   SGauvin           <DIR>
     512    FEB-06-2106  01:28:37   MPfiefer          <DIR>
     512    FEB-06-2106  01:28:38   MAuxilia          <DIR>
     512    FEB-06-2106  01:28:38   CompanyCOS        <DIR>
     512    FEB-06-2106  01:28:38   fax0              <DIR>
     512    FEB-06-2106  01:28:38   opmh              <DIR>
     512    FEB-06-2106  01:28:38   remoteAccess      <DIR>
     512    FEB-06-2106  01:28:39   sales             <DIR>
     512    FEB-06-2106  01:28:40   spackard          <DIR>
     512    DEC-06-2002  10:19:41   customer          <DIR>
     512    FEB-10-2002  15:34:14   kkenyon           <DIR>
IO Error - can't stat file: errno = 0x16
       0                            lwoodfor          <IO Error>
     512    SEP-10-2002  10:20:43   rfox              <DIR>
value = 0 = 0x0
- -> pwd
/hd0/shasta/usr/home
value = 21 = 0x15
- -> rmdir "/hd0/shasta/usr/home/lwoodfor"
value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f
- ->

"Leonid Rosenboim" <My_1st_name@Consultant.Com> wrote in message
news:newscache$ttz48h$dle$1@lnews.actcom.co.il...
>
> Isuggest you use a full path, that begins with the device name,
> which appears in the output of the "devs" command, e.g. instead of
>  -> rmdir "/woodfor"
>
> you should do:
>  -> rmdir "/hd0/woodfor"
>
> Also, make sure the directory exists, and is empty, by listing it, again
> using full path:
>  -> ll "/hd0/woodfor"
>
> If this does not work, you may want to take a look at the directory's
> attributes - it could have bene marked read-only, this should be part of
> "ll" output.
>
> And regarding "chkdsk", all you need to do is
>  -> chkdsk "/dh0"
>
> Fro the output of the above commands I could tell you more, e.g. which
> version of dosFs you are using.
> --
> -----------------------------------------------------------------------
>    Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
>        Consultant                Email: my first name at consultant dot
com
>
>
> "bubbawho2002" <bubbawho2002@yahoo.com> wrote in message
> news:v18p4eo7ec6o50@corp.supernews.com...
> > Hi,
> > We have a phone system with VxWorks 5.3.1 on in and it is reporting some
> IO
> > errors on a particular directory.  When I try an delete it I get the
> > following:
> > -> rm "lwoodfor"
> > value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f
> > ->
> >
> > I don't have a heck of a lot of experience with VxWorks and the company
> that
> > made this is long out of business so any help on how we could remove
this
> > file would be helpful.
> > Thanks,
> > Gary
> >
> >
> >
> >
> >
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Zinc Status Bar and Menu Bar Event Functions
Date: 03 Jan 2003 12:04:08 -0500
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <m28yy22mif.fsf@sympatico.ca>
References: <552e79d.0212310401.7b509af5@posting.google.com> <m2r8bym8s9.fsf@sympatico.ca> <552e79d.0301022230.1da331b4@posting.google.com>
Sender: bpringle@DeadDuck

 Kiran> Can anybody tell me how to capture events from the status
 Kiran> bar. i.e. I would like to capture mouse clicks on the status
 Kiran> bar and respond according to the position of the mouse click.
 
Bill Pringlemeir <spam_account@sympatico.ca> wrote...

> Read the Zinc User's guide.  Pay special attention to chapter 7,
> "Advanced customization of look and feel".  The manual should be on
> your hard drive as $(WIND_BASE)/docs/pdf/Zinc/guide.pdf...  WIND_BASE
> is usually "C:/Tornado" on Windows hosts.

[snip]

 Kiran> I have tried Deriving the ZafString and overriding its event
 Kiran> function in addition to overriding the Status Bar's Event
 Kiran> Function.  I have even tried adding an event (post)listener
 Kiran> (Listening to N_MOUSE_ENTER event) to the ZafString
 Kiran> Objects. But none of them seem to be working.
 
Note that as mouse events are very frequent, Zinc or UGL has a method
to enable the MOUSE events for an object (I thought only mouse_move,
but maybe enter/exit too).  I couldn't find this information from a
cursory search of the docs.  However, I can vaguely recall this.  I
think that you might look at the "help tip" source for some pointers
on how to do this.  It might be that the ZafStrings are not
selectable, so mouse enter/exit events aren't being generated for
them.

hth,
Bill Pringlemeir.

- -- 
Waco, Texas Skipjack  Delta Force Mole investigation  Croatian sweep
Bush codes Telex Mantis anarchy Ruby Ridge CBNRC CNCIS CIBC

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

Newsgroups: comp.os.vxworks
Subject: Re: How to remove a "stuck" directory.
Date: Fri, 3 Jan 2003 19:08:45 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$3ce58h$s8f$1@lnews.actcom.co.il>
References: <v18p4eo7ec6o50@corp.supernews.com> <newscache$ttz48h$dle$1@lnews.actcom.co.il> <v1be69ehflsp22@corp.supernews.com>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

Here are my observations:

1. You are running the old dosFs 1.0 (unknown patch level, if any)
2. The failure to get "stat" unfo on the specific entry (which could be
either directory or file) with errno 0x16 (decimal 22)  - EINVAL, and that
means something is wrong with that directory entry. Definitely something
that chkdsk would take care of.

What has not been established is availability of chkdsk on your system -
with dosFs 1.0, chkdsk was not part of the package, it was a 3rd party
protuct until 1997 when the vendor was acquired by WindRiver, and then
ht was available from Wind River on an unsupported basis.

In order to find if you have got it do:

    -> lkup "chkdsk"

- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

"bubbawho2002" <bubbawho2002@yahoo.com> wrote in message
news:v1be69ehflsp22@corp.supernews.com...
> Hi Leonid,
> There are files in the directory, however the os reports an IO error when
> you try to ll them:
> -> ll
>   size          date       time       name
> --------       ------     ------    --------
>      512    JAN-02-2003  10:41:38   .                 <DIR>
>      512    FEB-06-2106  01:28:53   ..                <DIR>
>      512    FEB-06-2106  01:28:33   admin             <DIR>
>      512    FEB-06-2106  01:28:33   DefaultCOS        <DIR>
>      512    FEB-06-2106  01:28:33   defDept           <DIR>
>      512    FEB-06-2106  01:28:33   ftp               <DIR>
>      512    FEB-06-2106  01:28:33   recept            <DIR>
>      512    MAR-11-2002  13:59:14   system            <DIR>
>      512    FEB-06-2106  01:28:36   vmail             <DIR>
>      512    FEB-06-2106  01:28:36   GGauvin           <DIR>
>      512    FEB-06-2106  01:28:37   SGauvin           <DIR>
>      512    FEB-06-2106  01:28:37   MPfiefer          <DIR>
>      512    FEB-06-2106  01:28:38   MAuxilia          <DIR>
>      512    FEB-06-2106  01:28:38   CompanyCOS        <DIR>
>      512    FEB-06-2106  01:28:38   fax0              <DIR>
>      512    FEB-06-2106  01:28:38   opmh              <DIR>
>      512    FEB-06-2106  01:28:38   remoteAccess      <DIR>
>      512    FEB-06-2106  01:28:39   sales             <DIR>
>      512    FEB-06-2106  01:28:40   spackard          <DIR>
>      512    DEC-06-2002  10:19:41   customer          <DIR>
>      512    FEB-10-2002  15:34:14   kkenyon           <DIR>
> IO Error - can't stat file: errno = 0x16
>        0                            lwoodfor          <IO Error>
>      512    SEP-10-2002  10:20:43   rfox              <DIR>
> value = 0 = 0x0
> -> pwd
> /hd0/shasta/usr/home
> value = 21 = 0x15
> -> rmdir "/hd0/shasta/usr/home/lwoodfor"
> value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f
> ->
>
>
> "Leonid Rosenboim" <My_1st_name@Consultant.Com> wrote in message
> news:newscache$ttz48h$dle$1@lnews.actcom.co.il...
> >
> > Isuggest you use a full path, that begins with the device name,
> > which appears in the output of the "devs" command, e.g. instead of
> >  -> rmdir "/woodfor"
> >
> > you should do:
> >  -> rmdir "/hd0/woodfor"
> >
> > Also, make sure the directory exists, and is empty, by listing it, again
> > using full path:
> >  -> ll "/hd0/woodfor"
> >
> > If this does not work, you may want to take a look at the directory's
> > attributes - it could have bene marked read-only, this should be part of
> > "ll" output.
> >
> > And regarding "chkdsk", all you need to do is
> >  -> chkdsk "/dh0"
> >
> > Fro the output of the above commands I could tell you more, e.g. which
> > version of dosFs you are using.
> > --
> > -----------------------------------------------------------------------
> >    Leonid Rosenboim     Visit:
http://www.masada2000.org/historical.html
> >        Consultant                Email: my first name at consultant dot
> com
> >
> >
> > "bubbawho2002" <bubbawho2002@yahoo.com> wrote in message
> > news:v18p4eo7ec6o50@corp.supernews.com...
> > > Hi,
> > > We have a phone system with VxWorks 5.3.1 on in and it is reporting
some
> > IO
> > > errors on a particular directory.  When I try an delete it I get the
> > > following:
> > > -> rm "lwoodfor"
> > > value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f
> > > ->
> > >
> > > I don't have a heck of a lot of experience with VxWorks and the
company
> > that
> > > made this is long out of business so any help on how we could remove
> this
> > > file would be helpful.
> > > Thanks,
> > > Gary
> > >
> > >
> > >
> > >
> > >
> >
> >
>
>

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

Newsgroups: comp.os.vxworks
Subject: Ada and VxMP Shared-Memory Objects
Date: 3 Jan 2003 12:34:43 -0800
From: prichtmyer@yahoo.com (Peter Richtmyer)
Organization: http://groups.google.com/
Message-ID: <1b585154.0301031234.509d94e5@posting.google.com>

We will be using VxMP Shared Memory Objects between two boards,
and our code is in Ada. We will be passing messages using 
Shared Message Queues, and we will have some data objects.

Does anyone know of, or have, some Ada examples using VxMP that
they could share?  Even snippets showing the Ada to C interface 
Progmas would be helpful. And any advice that is not in the book
(VxWorks Programmer's Guide, 5.4) ?

thanks,
Peter

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

Newsgroups: comp.os.vxworks
Subject: ppc 8245 dma from pci device resets system
Date: 5 Jan 2003 00:14:56 -0800
From: nachumGoogle@hotmail.com (Nachum Kanovsky)
Organization: http://groups.google.com/
Message-ID: <52388ea0.0301050007.1328d2fe@posting.google.com>

I have a ppc 8245 configured as a host running vxworks 5.5. I also
have a pci device that attempts to dma data from the host's local
memory. When i perform the dma, which works fine on intel systems, on
the ppc, the ppc gets some form of a reset and needs to be rebooted. I
believe that i am supposed to being doing the dma with offset 0 from
the pci device, b/c i am dmaing from local memory, but i have also
tried with offset 0x80000000. nothing helps.

please give me some guidance,
Nachum Kanovsky

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

Newsgroups: comp.os.vxworks
Subject: ppc 8245 dma from pci device resets system
Date: 5 Jan 2003 00:15:18 -0800
From: nachumGoogle@hotmail.com (Nachum Kanovsky)
Organization: http://groups.google.com/
Message-ID: <52388ea0.0301050015.160e27c5@posting.google.com>

I have a ppc 8245 configured as a host running vxworks 5.5. I also
have a pci device that attempts to dma data from the host's local
memory. When i perform the dma, which works fine on intel systems, on
the ppc, the ppc gets some form of a reset and needs to be rebooted. I
believe that i am supposed to being doing the dma with offset 0 from
the pci device, b/c i am dmaing from local memory, but i have also
tried with offset 0x80000000. nothing helps.

please give me some guidance,
Nachum Kanovsky

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

Newsgroups: comp.os.vxworks
Subject: Re: Zinc Status Bar and Menu Bar Event Functions
Date: 2 Jan 2003 22:30:29 -0800
From: technokiran@yahoo.com (Kiran Kumar)
Organization: http://groups.google.com/
Message-ID: <552e79d.0301022230.1da331b4@posting.google.com>
References: <552e79d.0212310401.7b509af5@posting.google.com> <m2r8bym8s9.fsf@sympatico.ca>

Bill Pringlemeir <spam_account@sympatico.ca> wrote in message news:<m2r8bym8s9.fsf@sympatico.ca>...
> Kiran> Can anybody tell me how to capture events from the status
>  Kiran> bar. i.e. I would like to capture mouse clicks on the status
>  Kiran> bar and respond according to the position of the mouse click.
> 
> Read the Zinc User's guide.  Pay special attention to chapter 7,
> "Advanced customization of look and feel".  The manual should be on
> your hard drive as $(WIND_BASE)/docs/pdf/Zinc/guide.pdf...  WIND_BASE
> is usually "C:/Tornado" on Windows hosts.
>

I have already done that and tried out two methods of evevnt handling
- - Overriding the event function in a derived class and adding an event
listner.
However the problem I face is this:
I Have 10 ZafString Objects on the Status Bar.
Events are being trappped by the Status Bat itself. But What I want is
to detect as to which ZafString object the mouse was clicked on.
Depending on this I have to change the color of that ZafString Object
and start some processing.

I have tried Deriving the ZafString and overriding its event function
in addition to overriding the Status Bar's Event Function.
I have even tried adding an event (post)listener (Listening to
N_MOUSE_ENTER event) to the ZafString Objects. But none of them seem
to be working.
 
>  Kiran> Another problem is how to process user defined events sent
>  Kiran> from menu bar items?
> 
> See above.  The section "object behavior" is especially relevant.
> 
> hth,
> Bill Pringlemeir.

I have noticed something peculiar here. I am using the ZincDesigner.
Whenever I Add PullDownItems and PopUpItems to the menu and change the
properties of the PopUpItems (in the Property Sheet) without closing
the Menu editor then the tree in the FileBrowser reads thus:

ZAF_NUMID_PULL_DOWN_MENU
|
|--ZafPullDownItem1125333171
    |
    |--Field_-11
         |
         |--ZafPopUpItem1125333523

With These entries in the data file browser, none of my listeners (or
event functions) for menu items are working.

But If were to first create the menu through the menu editor and close
the menu editor without making any changes in the property sheet, then
my Data file Browser reads thus:

 ZAF_NUMID_PULL_DOWN_MENU
|
|--ZafPullDownItem1125333171
    |
    |--menu
         |
         |--ZafPopUpItem1125333523

Notice that now "field_-11" now reads as "menu". When this is the case
the same event listeners that I wrote for the previous case begin to
work!!.
May I know what is happening here?

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

Newsgroups: comp.os.vxworks
Subject: Re: VxW Tasks versus Threads
Date: Sat, 4 Jan 2003 22:41:33 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$mui78h$a2j$1@lnews.actcom.co.il>
References: <9e41635d.0301041145.2af8ea3@posting.google.com>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

"Peter" <peter_holmes2003@yahoo.com> wrote in message
news:9e41635d.0301041145.2af8ea3@posting.google.com...
> I have a question egarding the VxWorks Tasks.
>
> Unix threads share the code and data segments of the process they
> belong to but have separate stack segments.
>
> Do VxWorks tasks have a structure similar to Unix Processes
> (data/code/stack segment). Also what segements if any are shared
> between different tasks.
>
> -- Yuri

Yura, VxWorks is quote different from VxWorks AE - the former has
protection domains.
In VxWorks, there are no segments really, all code and data is shared
among tasks (the code can be made read-only), and  each task has
its own stack, which is simply applocated from the shared data heap,
so every task can freely access any other task's stack, if it has a valid
address pointer. Passing stack addresses between tasks is not
recommended at all, but there is nothing in VxWorks or its hardware
that will stop one from doing so.

Please note, VxWorks, unlike Unix, runs on very small processors,
that lack the memory management unit.

- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

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

Newsgroups: comp.os.vxworks
Subject: Re: PC/104 Tri-M MZ104+ BSP
Date: 4 Jan 2003 07:02:20 -0800
From: gpbeck_99@yahoo.com (Gary Beck)
Organization: http://groups.google.com/
Message-ID: <eac587be.0301040702.282aeb4b@posting.google.com>
References: <eac587be.0301031332.c0a0d2f@posting.google.com> <zMpR9.548916$WL3.147316@rwcrnsc54>

I'm trying to use the 486 core.  According to the documentation that
came with the BSP from zfmicro.com, the ZFx86 is not compatible with
the Pentium core.  I've tried to use a generic 486 BSP but couldn't
find one.  I've tried both the templatex86 and pcPentium BSPs with
defining the CPU to be a 486, but still doesn't boot.

Any other ideas?  Thanks for responding.

"drdiags" <drdiags@attbi.com> wrote in message news:<zMpR9.548916$WL3.147316@rwcrnsc54>...
> Hello Gary,
> 
>     Are you using the 486 or Pentium core? I worked with folks using the
> 486 core and they just used the stock vxWorks 486 BSP and had it
> working for them (with of course mods for their  PCMCIA and custom
> H/W boards). Good luck.
> 
> "Gary Beck" <gpbeck_99@yahoo.com> wrote in message
> news:eac587be.0301031332.c0a0d2f@posting.google.com...
> > I'm looking for a BSP for this board.  It has the ZFx86 processor on
> > board.  I've downloaded the BSP from zfmicro.com, but I can't use it
> > to create a new project.
> >
> > Any ideas?

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

Newsgroups: comp.os.vxworks
Subject: Re: Interrupt Stack Tracing....on MC68EN360 + VxWorks - help
Date: Sat, 4 Jan 2003 07:44:55 -0800
From: "Dan Gold" <dgold1@san.rr.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <av6vm6$gf3$1@newsreader.mailgate.org>
References: <65a5832b.0212180213.7912e6ba@posting.google.com> <v19h8ig1e2qv24@corp.supernews.com> <65a5832b.0301040343.6ddcbc6d@posting.google.com>
Sender: gold@ensemble.com

suresh kumar b.v wrote in message
<65a5832b.0301040343.6ddcbc6d@posting.google.com>...
>hi all,
>
>In case of Mc68En360 all interrupts will be execuited in a separeate
>stack and we can increse/decrease the stack size using macro available
>in vxworks project configuration.
>I wish to know the inner details(real stuff) of how stack frame is
>formed and is there is any methods to read the contents of interrupt
>stack when the device crashed.

The format of the stack frame can be found in chapter 5 of the 68360 user's
manual.  As far as reading it, I don't know of any function to trace it, but
you should be able to dump it.  vxWorks keeps the interrupt stack
information in a couple global variables, I think vxIntStackBase and
something else IIRC.  While your system is running, you can do a lkup
"vxIntStack" and see what shows up.  I think if you just do a 'checkStack'
it shows up as the last entry.

How "crashed" is your system ?  If you grab the address of the interrupt
stack base while the system is running, once it's crashed you should be able
to dump it's memory via BDM.  When you dump it, remember the interrupt stack
will have not only the exception frame on it, but any local variables an
active ISR may be using.

 hth,
  Dan Gold   gold@ensemble.com

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Mon Jan  6 04:03:17 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Mon Jan  6 04:03:19 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Mon Jan  6 04:03:15 PST 2003

        Subject: Boot  code  for 750
        Subject: Re: How to remove a "stuck" directory.
        Subject: Re: PC/104 Tri-M MZ104+ BSP
        Subject: Fibre Channel
        Subject: Re: tyCo not listed as an available device
        Subject: Re: Is this a bug about ccppc?
        Subject: Re: How to remove a "stuck" directory.
        Subject: the problems to install Rtl 8139D net card to vxworks
        Subject: How about the macro RAM_HIGH_ADRS ?
        Subject: Re: the problems to install Rtl 8139D net card to vxworks
        Subject: Re: Maximum speed of 10/100 Ethernet
        Subject: Re: PC/104 Tri-M MZ104+ BSP

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

Newsgroups: comp.os.vxworks
Subject: Boot  code  for 750
Date: 2 Jan 2003 23:26:37 -0800
From: mahendraguduru@yahoo.com (MahendraReddyGuduru)
Organization: http://groups.google.com/
Message-ID: <4cd6f00b.0301022326.4ce8b841@posting.google.com>

hi all,
I am working with PPC750.Here I am trying to build boot program for
the
750 target.
please clarify whether my procedure is correct or not.

I included memory controller initialisation (CPC700) in rominit()
file.

I wrote a small code in usrAppInit() file to send a character to the
hyper terminal through rs232(This UART, I initialised completely and
works fine from vxworks image loaded in SDRAM).

I execluded all network components from the vxworks_romresident image.

I built the vxworks_romResident and loading in to boot flash.

I am exepecting ,if boot program is properly initialised the character
should be sent to the monitor terminal.

please clarify that, if memory controller is  properly initialised
,this procedure works?.

please note that,I am not using tornado tools (server and shell)to
check whether it is booting or not(I am looking for a character on the
monitor terminal through rs232)  .

please reply with your suggestioons .I will paste  my rominit.s and
memory controller initialisation file if required.
Thanks in advance.
Mahendra Reddy.G

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

Newsgroups: comp.os.vxworks
Subject: Re: How to remove a "stuck" directory.
Date: Fri, 3 Jan 2003 13:55:33 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$ttz48h$dle$1@lnews.actcom.co.il>
References: <v18p4eo7ec6o50@corp.supernews.com>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

Isuggest you use a full path, that begins with the device name,
which appears in the output of the "devs" command, e.g. instead of
 -> rmdir "/woodfor"

you should do:
 -> rmdir "/hd0/woodfor"

Also, make sure the directory exists, and is empty, by listing it, again
using full path:
 -> ll "/hd0/woodfor"

If this does not work, you may want to take a look at the directory's
attributes - it could have bene marked read-only, this should be part of
"ll" output.

And regarding "chkdsk", all you need to do is
 -> chkdsk "/dh0"

Fro the output of the above commands I could tell you more, e.g. which
version of dosFs you are using.
- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

"bubbawho2002" <bubbawho2002@yahoo.com> wrote in message
news:v18p4eo7ec6o50@corp.supernews.com...
> Hi,
> We have a phone system with VxWorks 5.3.1 on in and it is reporting some
IO
> errors on a particular directory.  When I try an delete it I get the
> following:
> -> rm "lwoodfor"
> value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f
> ->
>
> I don't have a heck of a lot of experience with VxWorks and the company
that
> made this is long out of business so any help on how we could remove this
> file would be helpful.
> Thanks,
> Gary
>
>
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: PC/104 Tri-M MZ104+ BSP
Date: Sat, 04 Jan 2003 22:12:40 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <s%IR9.443749$GR5.150057@rwcrnsc51.ops.asp.att.net>
References: <eac587be.0301031332.c0a0d2f@posting.google.com> <zMpR9.548916$WL3.147316@rwcrnsc54> <eac587be.0301040702.282aeb4b@posting.google.com>

Hello Gary,

    The only suggestion I have is that you should contact your local
Wind River sales team to look into purchasing the 486 BSP. I
would imagine there are other 3rd party folks who may respond,
so you may want to re-post to clear out this thread. BTW,
when you state that the target doesn't boot, do you know
where it fails? I found that I needed to purchase a PC104+
VGA board to review the BIOS settings (though setting the
BIOS to use the serial port is possible, I only had a hyperterminal
connection, so the graphics were hard on the eyes). Also,
have you setup the DiskOnChip to boot vxWorks or are you using
the floppy? One quirk (un-verified by me) is the one needs to
set the LPT to not use IRQ 7 in the BIOS Settings
(claims leaving it will hang the system when vxWorks boots up).
You could set it to 5. And I never could get IRQ 11/12
(USB and PS2 mouse) free for use by vxWorks even when
I disabled these devices in the BIOS (but that is  another story).
Plus the two on-board ethernets kept using IRQ 10/11
instead of 9/10 as documented.
    So the bottom line is that you could contact TRI-M and
have them help work through this or I know that the Wind River
pc486 BSP (with slight modifications) works for this h/w. As
one final note, I found that doing anything with the PCI Interrupts
in BIOS (such as reserving them, setting them to use legacy devices
or the like) would cause vxWorks to crash. I could only let the
PCI IRQs be managed by the BIOS. HTH

"Gary Beck" <gpbeck_99@yahoo.com> wrote in message
news:eac587be.0301040702.282aeb4b@posting.google.com...
> I'm trying to use the 486 core.  According to the documentation that
> came with the BSP from zfmicro.com, the ZFx86 is not compatible with
> the Pentium core.  I've tried to use a generic 486 BSP but couldn't
> find one.  I've tried both the templatex86 and pcPentium BSPs with
> defining the CPU to be a 486, but still doesn't boot.
>
> Any other ideas?  Thanks for responding.
>
>
> "drdiags" <drdiags@attbi.com> wrote in message
news:<zMpR9.548916$WL3.147316@rwcrnsc54>...
> > Hello Gary,
> >
> >     Are you using the 486 or Pentium core? I worked with folks using the
> > 486 core and they just used the stock vxWorks 486 BSP and had it
> > working for them (with of course mods for their  PCMCIA and custom
> > H/W boards). Good luck.
> >
> > "Gary Beck" <gpbeck_99@yahoo.com> wrote in message
> > news:eac587be.0301031332.c0a0d2f@posting.google.com...
> > > I'm looking for a BSP for this board.  It has the ZFx86 processor on
> > > board.  I've downloaded the BSP from zfmicro.com, but I can't use it
> > > to create a new project.
> > >
> > > Any ideas?

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

Newsgroups: comp.os.vxworks
Subject: Fibre Channel
Date: Fri, 3 Jan 2003 10:05:55 -0500
From: "Lou Palecki" <palecki@assurtech.com>
Message-ID: <av48sm$n6d$1@bob.news.rcn.net>

Greetings,
    I would like to know if anyone out there is working with large (>70GB)
Fibre Channel hard drives in an arbitrated loop configuration.  We are using
an MVME5100, an SBS 1GB (QLogic 2100), VxWorks 5.5 and DOSfs2.2.  We have
tried everything we can think of to get the drives to work.  The same Fibre
Channel HBA works under Windows 2k and Linux with no trouble.  VxWorks can
see smaller drives (37GB) but barfs when we try to initialize the block
device.
    Any suggestions would be appreciated before we spring for source code
licenses to fix the problem...

Thanks.

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

Newsgroups: comp.os.vxworks
Subject: Re: tyCo not listed as an available device
Date: 03 Jan 2003 16:32:55 GMT
From: Johan Borkhuis <JBorkhuis@proxim.com>
Organization: Proxim Corp.
Message-ID: <Xns92F8B29183996jborkhuisproximcom@194.109.133.29>
References: <f14c07cb.0212240110.33538847@posting.google.com> <f14c07cb.0212250722.2363fcaa@posting.google.com> <7b02be47.0212260909.5929ccad@posting.google.com>

pegasusian@yahoo.com (fatih zcan) wrote:

> In vxworks all serial devices are similar to unix. You should
> fd=open("/tyCo/0",x,x);
> ioctl(fd, xxBAUDRATE, xx);
> etc.
> 
> and just
> len1=read(fd,buffer,len);
> write(fd, buffer, len);
> 
> Coming to ports you should have BSP that support the serial channels,
> if it supports (read target.nr) you just simply increase NUM_TTY
> definition. Also I suppose that "/tyCo/0" is used for console so you
> may no use it for other porposes.

Also make sure that the serial port is not used for WDB debugging.

Kind regards,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    JBorkhuis@Proxim.com  |
    >(________|__|_[_________]_|__________________________|
    _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===

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

Newsgroups: comp.os.vxworks
Subject: Re: Is this a bug about ccppc?
Date: 4 Jan 2003 17:38:05 -0800
From: hotJacky@163.net (Bryan)
Organization: http://groups.google.com/
Message-ID: <8f77d4a.0301041738.46fa7a1@posting.google.com>
References: <8f77d4a.0301022249.7fb81631@posting.google.com> <TPcR9.9747$134.1090155@newsread1.prod.itd.earthlink.net>

I use -v option to compile my code,then I find in ccppc,char is
defined as unsigned,but signed in cc386.

Thank you all!

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

Newsgroups: comp.os.vxworks
Subject: Re: How to remove a "stuck" directory.
Date: Fri, 3 Jan 2003 22:49:11 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$9jo58h$tmf$1@lnews.actcom.co.il>
References: <v18p4eo7ec6o50@corp.supernews.com> <newscache$ttz48h$dle$1@lnews.actcom.co.il> <v1be69ehflsp22@corp.supernews.com> <newscache$3ce58h$s8f$1@lnews.actcom.co.il> <v1bjiatnc4i5a7@corp.supernews.com>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

Clearly, the vendor of your machine was cheap to shell out $1,500 to buy a
"chkdsk for VxWorks" buyout license. No wonder they went belly up.

If the machine uses common FDISK type partition table (which you can't be
sure of), you could remove the hard disk from the machine, hook it up to a
PC and get it cleaned.

- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

"bubbawho2002" <bubbawho2002@yahoo.com> wrote in message
news:v1bjiatnc4i5a7@corp.supernews.com...
> Hi Leonid,
> This is what I was able to retrieve for information on the version and the
> result of the lkup command:
> -> lkup "chkdsk"
> value = 0 = 0x0
> -> version
> VxWorks (for PC 486) version 5.3.1.
> Kernel: WIND version 2.5.
> Made on Jul 31 2001, 18:10:53.
> Boot line:
> ata=(0,0):/ata0/vxWorks.st e=10.0.0.0:FFFFFF00 o=/hd0/shasta
> PRAXON PDX S/W version 2.0 (1.51) ST
> value = 7366696 = 0x706828 = _pxVersionString
> ->
>
>
>
>
>
> "Leonid Rosenboim" <My_1st_name@Consultant.Com> wrote in message
> news:newscache$3ce58h$s8f$1@lnews.actcom.co.il...
> > Here are my observations:
> >
> > 1. You are running the old dosFs 1.0 (unknown patch level, if any)
> > 2. The failure to get "stat" unfo on the specific entry (which could be
> > either directory or file) with errno 0x16 (decimal 22)  - EINVAL, and
that
> > means something is wrong with that directory entry. Definitely something
> > that chkdsk would take care of.
> >
> > What has not been established is availability of chkdsk on your system -
> > with dosFs 1.0, chkdsk was not part of the package, it was a 3rd party
> > protuct until 1997 when the vendor was acquired by WindRiver, and then
> > ht was available from Wind River on an unsupported basis.
> >
> > In order to find if you have got it do:
> >
> >     -> lkup "chkdsk"
> >
> > --
> > -----------------------------------------------------------------------
> >    Leonid Rosenboim     Visit:
http://www.masada2000.org/historical.html
> >        Consultant                Email: my first name at consultant dot
> com
> >
> >
> > "bubbawho2002" <bubbawho2002@yahoo.com> wrote in message
> > news:v1be69ehflsp22@corp.supernews.com...
> > > Hi Leonid,
> > > There are files in the directory, however the os reports an IO error
> when
> > > you try to ll them:
> > > -> ll
> > >   size          date       time       name
> > > --------       ------     ------    --------
> > >      512    JAN-02-2003  10:41:38   .                 <DIR>
> > >      512    FEB-06-2106  01:28:53   ..                <DIR>
> > >      512    FEB-06-2106  01:28:33   admin             <DIR>
> > >      512    FEB-06-2106  01:28:33   DefaultCOS        <DIR>
> > >      512    FEB-06-2106  01:28:33   defDept           <DIR>
> > >      512    FEB-06-2106  01:28:33   ftp               <DIR>
> > >      512    FEB-06-2106  01:28:33   recept            <DIR>
> > >      512    MAR-11-2002  13:59:14   system            <DIR>
> > >      512    FEB-06-2106  01:28:36   vmail             <DIR>
> > >      512    FEB-06-2106  01:28:36   GGauvin           <DIR>
> > >      512    FEB-06-2106  01:28:37   SGauvin           <DIR>
> > >      512    FEB-06-2106  01:28:37   MPfiefer          <DIR>
> > >      512    FEB-06-2106  01:28:38   MAuxilia          <DIR>
> > >      512    FEB-06-2106  01:28:38   CompanyCOS        <DIR>
> > >      512    FEB-06-2106  01:28:38   fax0              <DIR>
> > >      512    FEB-06-2106  01:28:38   opmh              <DIR>
> > >      512    FEB-06-2106  01:28:38   remoteAccess      <DIR>
> > >      512    FEB-06-2106  01:28:39   sales             <DIR>
> > >      512    FEB-06-2106  01:28:40   spackard          <DIR>
> > >      512    DEC-06-2002  10:19:41   customer          <DIR>
> > >      512    FEB-10-2002  15:34:14   kkenyon           <DIR>
> > > IO Error - can't stat file: errno = 0x16
> > >        0                            lwoodfor          <IO Error>
> > >      512    SEP-10-2002  10:20:43   rfox              <DIR>
> > > value = 0 = 0x0
> > > -> pwd
> > > /hd0/shasta/usr/home
> > > value = 21 = 0x15
> > > -> rmdir "/hd0/shasta/usr/home/lwoodfor"
> > > value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f
> > > ->
> > >
> > >
> > > "Leonid Rosenboim" <My_1st_name@Consultant.Com> wrote in message
> > > news:newscache$ttz48h$dle$1@lnews.actcom.co.il...
> > > >
> > > > Isuggest you use a full path, that begins with the device name,
> > > > which appears in the output of the "devs" command, e.g. instead of
> > > >  -> rmdir "/woodfor"
> > > >
> > > > you should do:
> > > >  -> rmdir "/hd0/woodfor"
> > > >
> > > > Also, make sure the directory exists, and is empty, by listing it,
> again
> > > > using full path:
> > > >  -> ll "/hd0/woodfor"
> > > >
> > > > If this does not work, you may want to take a look at the
directory's
> > > > attributes - it could have bene marked read-only, this should be
part
> of
> > > > "ll" output.
> > > >
> > > > And regarding "chkdsk", all you need to do is
> > > >  -> chkdsk "/dh0"
> > > >
> > > > Fro the output of the above commands I could tell you more, e.g.
which
> > > > version of dosFs you are using.
> > > > --
> > >
> > -----------------------------------------------------------------------
> > > >    Leonid Rosenboim     Visit:
> > http://www.masada2000.org/historical.html
> > > >        Consultant                Email: my first name at consultant
> dot
> > > com
> > > >
> > > >
> > > > "bubbawho2002" <bubbawho2002@yahoo.com> wrote in message
> > > > news:v18p4eo7ec6o50@corp.supernews.com...
> > > > > Hi,
> > > > > We have a phone system with VxWorks 5.3.1 on in and it is
reporting
> > some
> > > > IO
> > > > > errors on a particular directory.  When I try an delete it I get
the
> > > > > following:
> > > > > -> rm "lwoodfor"
> > > > > value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f
> > > > > ->
> > > > >
> > > > > I don't have a heck of a lot of experience with VxWorks and the
> > company
> > > > that
> > > > > made this is long out of business so any help on how we could
remove
> > > this
> > > > > file would be helpful.
> > > > > Thanks,
> > > > > Gary
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>

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

Newsgroups: comp.os.vxworks
Subject: the problems to install Rtl 8139D net card to vxworks
Date: 6 Jan 2003 00:19:00 -0800
From: freebird21ce@hotmail.com (freebird21ce@hotmail.com)
Organization: http://groups.google.com/
Message-ID: <c7697c5d.0301060019.e9a1de6@posting.google.com>

hello everybody:
i wanna use an rtl8139D NIC on vxworks, and i download the driver from
the realtek websit,as told by the README file , i copy the files to
the corresponsive directory as follow:

target/config/pcPentium:
config.h 
configNet.h
sysRtl81x9.c
sysLib.       /*these four files overlap the previous files with same
name*/

arget\h\drv\end\unsupported:
rtl81x9.h

target\src\drv\end\unsupported:
rtl81x9.c
Makefile

of course i modified the boot line in config.h for i need.
then i build the boot rom and kernel, the problem comes:
when i build boot rom, the error information as follow:
    sysALib.o sysLib.o    D:\TORNADO\target\lib\libPENTIUMgnuvx.a
sysLib.o(.text+0x4a7e): undefined reference to `rtl81x9EndLoad'
sysLib.o(.text+0x4b0b): undefined reference to `rtl81x9EndLoad'
make.exe: *** [bootrom_uncmp] Error 0x1

when i build the kernel,the error information as follow:
    -o vxWorks dataSegPad.o vxWorks.tmp ctdt.o
vxWorks.tmp(.text+0x4cc6): undefined reference to `rtl81x9EndLoad'
vxWorks.tmp(.text+0x4d53): undefined reference to `rtl81x9EndLoad'
make.exe: *** [vxWorks] Error 0x1

what should i do now? can anybody give me a hint. thanks a lot!

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

Newsgroups: comp.os.vxworks
Subject: How about the macro RAM_HIGH_ADRS ?
Date: Mon, 6 Jan 2003 18:21:31 +0800
From: "minskey73" <minskey73@yahoo.com.cn>
Organization: Bentium Ltd. (CN99)
Message-ID: <avblbc$1c9b$1@mail.cn99.com>

Hi,
    I am writing my BSP for MPC860 . In config.h and makefile ,there's a
macro RAM_HIGH_ADRS. I know that the memory between RAM_LOW_ADRS and
RAM_HIGH_ADRS is used for vxWorks image. My board has 128M RAM, and the size
of my image file is 17MBytes . So I want to define the macro as
0x02000000(32M) in both config.h and makefile. But the BSP do not work. If I
define it as 0x01200000,it works well.  Why ?  I want to get it.

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

Newsgroups: comp.os.vxworks
Subject: Re: the problems to install Rtl 8139D net card to vxworks
Date: Mon, 6 Jan 2003 12:57:45 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$k5ha8h$nc2$1@lnews.actcom.co.il>
References: <c7697c5d.0301060019.e9a1de6@posting.google.com>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

You foregot to compile the driver sourece:

cd target\src\drv\end\unsupported
make CPU=PENTIUM

Also, you shoul dhave been more careful replacing the original BSP source
files with the ones that come from Realtek - you should have compared the
two, and carefully entered the appropriate additions.

By the way, Realtek violates Wind River copyright by publishing these files
on their Web site. They only have the rights to their modifications.

- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

<freebird21ce@hotmail.com> wrote in message
news:c7697c5d.0301060019.e9a1de6@posting.google.com...
> hello everybody:
> i wanna use an rtl8139D NIC on vxworks, and i download the driver from
> the realtek websit,as told by the README file , i copy the files to
> the corresponsive directory as follow:
>
> target/config/pcPentium:
> config.h
> configNet.h
> sysRtl81x9.c
> sysLib.       /*these four files overlap the previous files with same
> name*/
>
> arget\h\drv\end\unsupported:
> rtl81x9.h
>
> target\src\drv\end\unsupported:
> rtl81x9.c
> Makefile
>
> of course i modified the boot line in config.h for i need.
> then i build the boot rom and kernel, the problem comes:
> when i build boot rom, the error information as follow:
>     sysALib.o sysLib.o    D:\TORNADO\target\lib\libPENTIUMgnuvx.a
> sysLib.o(.text+0x4a7e): undefined reference to `rtl81x9EndLoad'
> sysLib.o(.text+0x4b0b): undefined reference to `rtl81x9EndLoad'
> make.exe: *** [bootrom_uncmp] Error 0x1
>
> when i build the kernel,the error information as follow:
>     -o vxWorks dataSegPad.o vxWorks.tmp ctdt.o
> vxWorks.tmp(.text+0x4cc6): undefined reference to `rtl81x9EndLoad'
> vxWorks.tmp(.text+0x4d53): undefined reference to `rtl81x9EndLoad'
> make.exe: *** [vxWorks] Error 0x1
>
> what should i do now? can anybody give me a hint. thanks a lot!

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

Newsgroups: comp.os.vxworks
Subject: Re: Maximum speed of 10/100 Ethernet
Date: 3 Jan 2003 15:13:37 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0301031513.25959e6b@posting.google.com>
References: <av45j9$2dka$1@gavrilo.mtu.ru>

Hello,

You might also want to include the type and speed of the processor you
are using, and the type of transfers you are performing (large or
small packets for example), what type of system is on the remote end
of the connection.

All of these things can also have an impact on the throughput.

HTH,

John...

"Eug" <eug@newmail.ru> wrote in message news:<av45j9$2dka$1@gavrilo.mtu.ru>...
> Dear Sirs!
> 
> What maximum speed can be achieved in VxWorks with 10/100 DEC Ethernet
> controller?
> 
> I can transfer only ~1.5 Mbyte/sec in 100 Mbit mode.
> BTW, I use TCP/IP.
> 
> Thanks in advance,
>                                     Eug

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

Newsgroups: comp.os.vxworks
Subject: Re: PC/104 Tri-M MZ104+ BSP
Date: Sat, 04 Jan 2003 00:19:43 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <zMpR9.548916$WL3.147316@rwcrnsc54>
References: <eac587be.0301031332.c0a0d2f@posting.google.com>

Hello Gary,

    Are you using the 486 or Pentium core? I worked with folks using the
486 core and they just used the stock vxWorks 486 BSP and had it
working for them (with of course mods for their  PCMCIA and custom
H/W boards). Good luck.

"Gary Beck" <gpbeck_99@yahoo.com> wrote in message
news:eac587be.0301031332.c0a0d2f@posting.google.com...
> I'm looking for a BSP for this board.  It has the ZFx86 processor on
> board.  I've downloaded the BSP from zfmicro.com, but I can't use it
> to create a new project.
>
> Any ideas?

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Tue Jan  7 09:58:01 2003
From: Doug Owens <owens2@llnl.gov>
Date: Tue Jan  7 09:58:03 PST 2003
Subject: Universe II DMA

Has anyone out there tried the vxWorks driver for VME DMA on the
MVME 5110?  Is it a big deal to add interrupts to the driver?

Thanks
Doug Owens
owens2@llnl.gov

From vxwexplo-errs@csg.lbl.gov  Wed Jan  8 01:46:38 2003
From: Atkinson Andrew <AATKINSON1@qinetiq.com>
Date: Wed Jan  8 01:46:39 PST 2003
Subject: Task Control -  

Hi All

Once a task has entered the READY state and is only prevented from executing
by a higher priority task, is there any way the higher priority task can
prevent the READY task from executing indefinitely, besides performing a
taskDelete?

I guess the end result needs to be the removal of the task from the READY
queue, but how to achieve this?

Any help appreciated.

-- vxworks --

Andy Atkinson
Software Engineer
Bldg 31a
QinetiQ, Bincleaves Technology Park
Weymouth
Dorset
DT4 8UR

Tel : 01305 764660
Fax : 01305 764661
e-mail : AATKINSON1@QinetiQ.com

The Information contained in this E-Mail and any subsequent correspondence
is private and is intended solely for the intended recipient(s).
For those other than the recipient any disclosure, copying, distribution,
or any action taken or omitted to be taken in reliance on such information
is prohibited and may be unlawful.

From vxwexplo-errs@csg.lbl.gov  Wed Jan  8 04:03:29 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Wed Jan  8 04:03:31 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Wed Jan  8 04:03:26 PST 2003

        Subject: Re: Task and process
        Subject: Re: I'm looking for persons iterested in IXP1200 & VxWorks
        Subject: Re: How about the macro RAM_HIGH_ADRS ?
        Subject: Re: Task and process
        Subject: Re: Interrupt Stack Tracing....on MC68EN360 + VxWorks - help
        Subject: IP Bridging help with 860 SCC1 access 
        Subject: ANN: TwinText 1.3 Released - Source Code Documentation Tool
        Subject: Maximum RAM for vxworks on Pentium4
        Subject: Re: Interrupt Stack Tracing....on MC68EN360 + VxWorks - help
        Subject: VxW Tasks versus Threads
        Subject: Re: PC/104 Tri-M MZ104+ BSP
        Subject: Task and process
        Subject: Symbol missing
        Subject: I'm looking for persons iterested in IXP1200 & VxWorks
        Subject: Re: Memory controller or MMU  which should be first in boot code
        Subject: Re: vxWorks5.4 PPP ipcp question!
        Subject: Delay before cacheFlush
        Subject: Setting multiple IP addrs for an interface
        Subject: Re: Task and process
        Subject: Re: vxWorks5.4 PPP ipcp question!
        Subject: Re: IP Bridging help with 860 SCC1 access 
        Subject: Re: howto install a terget server without the developemnt system.
        Subject: Re: FOM on SDK 3.0
        Subject: The options about cc386
        Subject: Re: How about the macro RAM_HIGH_ADRS ?
        Subject: Re: The options about cc386
        Subject: Re: WDB Serial Backend Agent Questions
        Subject: Re: WDB Serial Backend Agent Questions
        Subject: Re: The length of variable in GNU make Version 3.74
        Subject: Re: Setting multiple IP addrs for an interface
        Subject: Re: vxWorks5.4 PPP ipcp question!
        Subject: Re: howto install a terget server without the developemnt system.
        Subject: Re: Task Control -

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

Newsgroups: comp.os.vxworks
Subject: Re: Task and process
Date: Mon, 6 Jan 2003 08:51:56 -0500
From: "Pierre Olivier" <pierre_olivierNOSPAM@videotron.ca>
Message-ID: <DPfS9.24350$nD.165438@wagner.videotron.net>
References: <4bba5330.0301052250.327bb596@posting.google.com>

Actually, VxWorks has neither... it uses threads

Generally speaking and AFAIK:

Process: collection of one or more tasks or threads working together to
accomplish a given function. The terms task and process are often
interchanged.

Task: similar to a thread, but with its own distinct address space, e.g. MMU
/ virtual memory is used to map between physical and virtual addresses. When
a task is switched into context (obtains CPU time), the kernel activates the
mapping specific to that task. This has the advantage that task A cannot
corrupt the memory used by task B (the kernel / MMU will catch and handle
it), but the price to pay is longer context switching time and the need for
the MMU to perform address translation.

Thread: a thread is an execution flow (usually) with its own task but it
does not have its own memory space, it shares a common addressing space with
one or more other threads. This has the advantage of having faster context
switching times (no MMU translation required) but the drawback is that the
addressing space being common, nothing prevents thread A for overwriting
elements of thread B without the kernel / MMU catching it.

This being said, some RTOS have blurred the disctinction by having memory
spaces shared by some tasks/threads but not others, etc...

But in the case of VxWorks (the plain vanilla system at least), it comes
of-the-shelf as a multi-threaded system with a single address space. There
is also no distinction between "kernel space" and "user space" (sometimes
called protected or supervisor mode / user or unprotected mode). As a matter
of fact, every thread can view the data, variables, code, etc. of every
other thread. This is why the VxWorks manuals describe the collection of
threads as "The Application".

- --
- ----------------------------------------------------------
Pierre Olivier, P. Eng.

BSPs | Drivers | Protocols | Applications
Design | Implementation | Troubleshooting
MPC860 | MPC8260 | VxWorks | QNX
HW/SW co-design & integration
Emulators & other test equipment

T: (450)969-4882
F: (450)969-4883
pierre_olivier@videotron.ca

"J. Thangu" <laserjet@fastmail.fm> wrote in message
news:4bba5330.0301052250.327bb596@posting.google.com...
> Hello there..
>
> sorry for posting such a basic question. What is the exact difference
> between a task and a process in the context of VxWorks ?
>
> Can we use RTP along with VxWorks ?
>
> I am a novice to VxWorks....do hope these questions can be answered.
>
> Thanks in advance.
>
> regards
> Thangu

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

Newsgroups: comp.os.vxworks
Subject: Re: I'm looking for persons iterested in IXP1200 & VxWorks
Date: 6 Jan 2003 07:04:35 -0800
From: gonozal@gmx.at (Toni Kurzberger)
Organization: http://groups.google.com/
Message-ID: <8400a733.0301060704.e9fbc01@posting.google.com>
References: <2519cc67.0301052333.73e2b5aa@posting.google.com>

This will depend on what you intend todo with the IXP1200. What
exactly do you intend todo with this Network Processor? Are you
working with the Echo Creek Development System?

A pure VxWorks 5.5 executes on the IXPs StrongARM core only, it will
not touch the micro code engines. Typically VxWorks should be used to
handle the control path of frames/packets, initialization of the
microcode engines, etc.

Work should be done in the IXPs 6 micro code engines.

In case you intend doing a Layer 2 Frame (e.g. Ethernet) switch or a
Layer 3 Packet (IPv4) forwarder you might be interrested in having a
look at TMS from WindRiver. This would handle Layer 2 & Layer 3
control layer (so, this effectivly is a VxWorks + the application).
There should be integrations available for the IXP.

Well... and what is the current status? Did you manage to get VxWorks
running on the StronARM?

  toni

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

Newsgroups: comp.os.vxworks
Subject: Re: How about the macro RAM_HIGH_ADRS ?
Date: 6 Jan 2003 07:10:30 -0800
From: gonozal@gmx.at (Toni Kurzberger)
Organization: http://groups.google.com/
Message-ID: <8400a733.0301060710.7ae96157@posting.google.com>
References: <avblbc$1c9b$1@mail.cn99.com>

"minskey73" <minskey73@yahoo.com.cn> wrote in message news:<avblbc$1c9b$1@mail.cn99.com>...
> Hi,
>     I am writing my BSP for MPC860 . In config.h and makefile ,there's a
> macro RAM_HIGH_ADRS. I know that the memory between RAM_LOW_ADRS and
> RAM_HIGH_ADRS is used for vxWorks image. My board has 128M RAM, and the size
> of my image file is 17MBytes . So I want to define the macro as
> 0x02000000(32M) in both config.h and makefile. But the BSP do not work. If I
> define it as 0x01200000,it works well.  Why ?  I want to get it.

I'm not sure, but this could be a 24bit relative jump problem (which
gives you the 32MByte). PPC allows +/- 24bit relative jumps, VxWorks
is using them e.g. in the exception handler. The exception handler
stub placed at a very low address (close to 0, check the manual of the
CPU) might try to do a relative jump into VxWorks... which fails if
the image is out of the 32MByte range.

hope this helps,
  toni

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

Newsgroups: comp.os.vxworks
Subject: Re: Task and process
Date: Mon, 6 Jan 2003 17:54:15 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$rvua8h$cu2$1@lnews.actcom.co.il>
References: <4bba5330.0301052250.327bb596@posting.google.com>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

"J. Thangu" <laserjet@fastmail.fm> wrote in message
news:4bba5330.0301052250.327bb596@posting.google.com...
> Hello there..
>
> sorry for posting such a basic question. What is the exact difference
> between a task and a process in the context of VxWorks ?
>
This has been discussed at many times in the near past.
Beware of terminology confusion - a "process" and "task"
mean different things in different operating systems.
Also, there is VxWorks AE, which is different from
VxWorks in this respect - you can have both tasks
and "process" on AE (process = task + protection domain).

> Can we use RTP along with VxWorks ?
>

No, because RTP is not really a protocol - it is a framework of
a family of protocols, and the actual protocols in RTP terminology
is called "payload format". You will find several ways to do any particular
thing, so for complience you will need to look at "profiles".

But if you are looking for a particular application that uses RTP,
you will find some, e.g. H.323 stack form VoIP does include an H.323
specific implementation of RTP.

> I am a novice to VxWorks....do hope these questions can be answered.

You should begin by taking the VxWorks Programmer's Guide home for
a weekend, and reading it through. It is a readable book (unlike the
Tornado manual or the Reference manuals).
- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

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

Newsgroups: comp.os.vxworks
Subject: Re: Interrupt Stack Tracing....on MC68EN360 + VxWorks - help
Date: Mon, 6 Jan 2003 09:33:36 -0800
From: "msafar" <me@here>
Organization: Posted via Supernews, http://www.supernews.com
Message-ID: <v1jfv5nhf04j84@corp.supernews.com>
References: <65a5832b.0212180213.7912e6ba@posting.google.com> <v19h8ig1e2qv24@corp.supernews.com> <65a5832b.0301040343.6ddcbc6d@posting.google.com>

That surprised me. Yes, we have only 5.2 and 5.3 but I didn't expect changes
in that area. The M68k processors starting with 68020 support that, but not
CPU32+.

msafar

"suresh kumar b.v" <bvsuresh@lycos.com> wrote in message
news:65a5832b.0301040343.6ddcbc6d@posting.google.com...
> hi all,
>
> In case of Mc68En360 all interrupts will be execuited in a separeate
> stack and we can increse/decrease the stack size using macro available
> in vxworks project configuration.
>
> I wish to know the inner details(real stuff) of how stack frame is
> formed and is there is any methods to read the contents of interrupt
> stack when the device crashed.
>
> Any guidence/suggestions are greatly helpful.
>
> regards & thanx
>
> suresh kumar b.v.
>
>
> "msafar" <me@here> wrote in message
news:<v19h8ig1e2qv24@corp.supernews.com>...
> > Interrupts are executed on interrupted task's stack in case of the
68360.
> >
> >
> > "suresh kumar b.v" <bvsuresh@lycos.com> wrote in message
> > news:65a5832b.0212180213.7912e6ba@posting.google.com...
> > > Hi,
> > >
> > > How to trace interrupt stack on MC68EN360 Processer Board with
> > > VxWorks. I know that, VxWorks execuites all interrupts in a separete
> > > Stack.
> > >
> > > Any help is greatly appreciated.
> > >
> > > regards
> > > suresh - bvsuresh@lycos.com

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

Newsgroups: comp.os.vxworks
Subject: IP Bridging help with 860 SCC1 access 
Date: Mon, 06 Jan 2003 17:39:53 GMT
From: Jim <REMOVEjimdon@sympatico.caREMOVE>
Organization: Magma Communications Ltd.
Message-ID: <JbjS9.5551$j5.67025@news>

Hello,
I have a IP application bridging application ...

I am using vxWorks 5.4 ...

Currently my application:
1.) recieves IP packet via IDMA
2.) sends to tnet task
3.) tnet task routes it to SCC1 ethernet interface
4.) SCC1 transmits ...

I was wondering if it possible to skip steps 2 and 3 ... every packet i 
recieve via DMA should be transmitted via ether ... however i also need 
a tnet task running on SCC1 to recieve and transmit as well ...

Any suggestions?

Jim

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

Newsgroups: comp.os.vxworks
Subject: ANN: TwinText 1.3 Released - Source Code Documentation Tool
Date: Mon, 06 Jan 2003 19:50:15 GMT
From: "pabtro" <pabtro@ptlogica.com>
Message-ID: <X5lS9.181564$yW.124297@news04.bloor.is.net.cable.rogers.com>

TwinText 1.3 Released

TwinText is an easy to use source code documentation solution. It generates
customizable HTML and HTML Help directly from naturally looking code
comments.

TwinText supports virtually all programming languages.

http://www.ptlogica.com/TwinText/overview.htm

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

Newsgroups: comp.os.vxworks
Subject: Maximum RAM for vxworks on Pentium4
Date: 4 Jan 2003 23:34:30 -0800
From: harixxxx@yahoo.com (T. Hariharan)
Organization: http://groups.google.com/
Message-ID: <919a9583.0301042334.3de5c764@posting.google.com>

Hello,

Does anyone know the maximum amount of RAM that vxworks can handle on
a Pentium4 system? What is the maximum that you have tried (that works
and does not)?

Thanks,
Hari

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

Newsgroups: comp.os.vxworks
Subject: Re: Interrupt Stack Tracing....on MC68EN360 + VxWorks - help
Date: 4 Jan 2003 03:43:48 -0800
From: bvsuresh@lycos.com (suresh kumar b.v)
Organization: http://groups.google.com/
Message-ID: <65a5832b.0301040343.6ddcbc6d@posting.google.com>
References: <65a5832b.0212180213.7912e6ba@posting.google.com> <v19h8ig1e2qv24@corp.supernews.com>

hi all,

In case of Mc68En360 all interrupts will be execuited in a separeate
stack and we can increse/decrease the stack size using macro available
in vxworks project configuration.

I wish to know the inner details(real stuff) of how stack frame is
formed and is there is any methods to read the contents of interrupt
stack when the device crashed.

Any guidence/suggestions are greatly helpful.  

regards & thanx

suresh kumar b.v.

"msafar" <me@here> wrote in message news:<v19h8ig1e2qv24@corp.supernews.com>...
> Interrupts are executed on interrupted task's stack in case of the 68360.
> 
> 
> "suresh kumar b.v" <bvsuresh@lycos.com> wrote in message
> news:65a5832b.0212180213.7912e6ba@posting.google.com...
> > Hi,
> >
> > How to trace interrupt stack on MC68EN360 Processer Board with
> > VxWorks. I know that, VxWorks execuites all interrupts in a separete
> > Stack.
> >
> > Any help is greatly appreciated.
> >
> > regards
> > suresh - bvsuresh@lycos.com

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

Newsgroups: comp.os.vxworks
Subject: VxW Tasks versus Threads
Date: 4 Jan 2003 11:45:46 -0800
From: peter_holmes2003@yahoo.com (Peter)
Organization: http://groups.google.com/
Message-ID: <9e41635d.0301041145.2af8ea3@posting.google.com>

I have a question egarding the VxWorks Tasks. 

Unix threads share the code and data segments of the process they
belong to but have separate stack segments.

Do VxWorks tasks have a structure similar to Unix Processes
(data/code/stack segment). Also what segements if any are shared
between different tasks.

- -- Yuri

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

Newsgroups: comp.os.vxworks
Subject: Re: PC/104 Tri-M MZ104+ BSP
Date: 5 Jan 2003 19:57:48 -0800
From: gpbeck_99@yahoo.com (Gary Beck)
Organization: http://groups.google.com/
Message-ID: <eac587be.0301051957.7901ce55@posting.google.com>
References: <eac587be.0301031332.c0a0d2f@posting.google.com> <zMpR9.548916$WL3.147316@rwcrnsc54> <eac587be.0301040702.282aeb4b@posting.google.com> <s%IR9.443749$GR5.150057@rwcrnsc51.ops.asp.att.net>

Thanks DrDiags for all the info.

I have not been able to determine where the boot "crashes" causing a
system reboot.  I'm using a PCI VGA board to monitor the boot process.
 I can see bootrom.sys being loaded (accessed) from the floppy
(displayed on the monitor "V1.6+++++++++...")  Just as it seems it
will start executing the boot sequence, the system resets.

I'll try disabling the parallel port along with other unnecessary
interfaces to see if that makes any difference.  However, I would like
to use both COM ports and both ethernet ports (reason we got this
board).  We will need to boot from the DDS, but for now I'm trying the
floppy since I figured that would be the easiest.

I've got a TSR into WindRiver regarding the pc486 BSP.  Hopefully they
get back to me on Monday.

I've also contacted Tri-M, but they were not much help initially. 
I'll try them again.

Thanks again.  I'll let you know how I make out.

"drdiags" <drdiags@attbi.com> wrote in message news:<s%IR9.443749$GR5.150057@rwcrnsc51.ops.asp.att.net>...
> Hello Gary,
> 
>     The only suggestion I have is that you should contact your local
> Wind River sales team to look into purchasing the 486 BSP. I
> would imagine there are other 3rd party folks who may respond,
> so you may want to re-post to clear out this thread. BTW,
> when you state that the target doesn't boot, do you know
> where it fails? I found that I needed to purchase a PC104+
> VGA board to review the BIOS settings (though setting the
> BIOS to use the serial port is possible, I only had a hyperterminal
> connection, so the graphics were hard on the eyes). Also,
> have you setup the DiskOnChip to boot vxWorks or are you using
> the floppy? One quirk (un-verified by me) is the one needs to
> set the LPT to not use IRQ 7 in the BIOS Settings
> (claims leaving it will hang the system when vxWorks boots up).
> You could set it to 5. And I never could get IRQ 11/12
> (USB and PS2 mouse) free for use by vxWorks even when
> I disabled these devices in the BIOS (but that is  another story).
> Plus the two on-board ethernets kept using IRQ 10/11
> instead of 9/10 as documented.
>     So the bottom line is that you could contact TRI-M and
> have them help work through this or I know that the Wind River
> pc486 BSP (with slight modifications) works for this h/w. As
> one final note, I found that doing anything with the PCI Interrupts
> in BIOS (such as reserving them, setting them to use legacy devices
> or the like) would cause vxWorks to crash. I could only let the
> PCI IRQs be managed by the BIOS. HTH
> 
> "Gary Beck" <gpbeck_99@yahoo.com> wrote in message
> news:eac587be.0301040702.282aeb4b@posting.google.com...
> > I'm trying to use the 486 core.  According to the documentation that
> > came with the BSP from zfmicro.com, the ZFx86 is not compatible with
> > the Pentium core.  I've tried to use a generic 486 BSP but couldn't
> > find one.  I've tried both the templatex86 and pcPentium BSPs with
> > defining the CPU to be a 486, but still doesn't boot.
> >
> > Any other ideas?  Thanks for responding.
> >
> >
> > "drdiags" <drdiags@attbi.com> wrote in message
>  news:<zMpR9.548916$WL3.147316@rwcrnsc54>...
> > > Hello Gary,
> > >
> > >     Are you using the 486 or Pentium core? I worked with folks using the
> > > 486 core and they just used the stock vxWorks 486 BSP and had it
> > > working for them (with of course mods for their  PCMCIA and custom
> > > H/W boards). Good luck.
> > >
> > > "Gary Beck" <gpbeck_99@yahoo.com> wrote in message
> > > news:eac587be.0301031332.c0a0d2f@posting.google.com...
> > > > I'm looking for a BSP for this board.  It has the ZFx86 processor on
> > > > board.  I've downloaded the BSP from zfmicro.com, but I can't use it
> > > > to create a new project.
> > > >
> > > > Any ideas?

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

Newsgroups: comp.os.vxworks
Subject: Task and process
Date: 5 Jan 2003 22:50:56 -0800
From: laserjet@fastmail.fm (J. Thangu)
Organization: http://groups.google.com/
Message-ID: <4bba5330.0301052250.327bb596@posting.google.com>

Hello there..

sorry for posting such a basic question. What is the exact difference
between a task and a process in the context of VxWorks ?

Can we use RTP along with VxWorks ?

I am a novice to VxWorks....do hope these questions can be answered.

Thanks in advance.

regards
Thangu

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

Newsgroups: comp.os.vxworks
Subject: Symbol missing
Date: Tue, 07 Jan 2003 12:03:59 +0100
From: Christian Weber <christiqn.weber@ires.in2p3.fr>
Organization: In2p3
Message-ID: <3E1AB41F.8010609@ires.in2p3.fr>

Hi VxWorkers,

I was writing a C++ module for a PowerPC604 target.
First I've included C++ run-time in a new compiled kernel to get full
C++ support.

When I did ld < my_module_name.o I got the following error at the console :

Undefined symbol: _._13Iostream_init (binding 1 type 0) 

value = 16762744 = 0xffc778 = _GLOBAL_.I.hello(void) + 0x870

1. when i launch objdump on the vxWorks executable there is no 
_._13Iostream_init symbol to be seen (only _$_13Iostream_init)

2. the symbol _._13iostream_init results from the module compilation.
Is this legal for VxWorks ?

Should the dot symbol be replaced by the $ symbol ? and how ?

Is this a default in the elfSym.c code used to extract the symbol table
from the vxWorks binary ?

Can somebody help me ?

Many thanks

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

Newsgroups: comp.os.vxworks
Subject: I'm looking for persons iterested in IXP1200 & VxWorks
Date: 5 Jan 2003 23:33:55 -0800
From: upily@mail.kaist.ac.kr (UPILY)
Organization: http://groups.google.com/
Message-ID: <2519cc67.0301052333.73e2b5aa@posting.google.com>

I'm a newer to IXP1200 and VxWorks.
 
I have studied the programming of microengin in workbench, and I am
trying to port a router application into IXP1200 evaluation board that
I have bought. I have also perchased the VxWorks 5.4 and Tornado 2.2
 
Is there anyone to help me to make concept of the relationship between
StrongArm and Microengine on VxWorks in the IXP1200 target .
 
I can make the VxWorks bootable image in Tornado. What should I do
next?
 
How the application should be coded to initillize the IXP1200
hardware, communicate with microengine, and run on the VxWorks in the
IXP1200 target... I don't have the concepts of all of them.
 
Is there anyone to share your experiences to me, please?

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

Newsgroups: comp.os.vxworks
Subject: Re: Memory controller or MMU  which should be first in boot code
Date: Tue, 07 Jan 2003 09:03:26 -0500
From: Varndell Engineering <gvarndell@hotmail.com>
Organization: Posted Via Newsfeeds.com = SPEED+RETENTION+COMPLETION = http://www.newsfeeds.com
Message-ID: <8dnl1vc41t0v7gnghg959a80qmh9au27os@4ax.com>
References: <4cd6f00b.0301030326.2ec1fc24@posting.google.com> <3E1581DF.3000905@hotmail.com> <ave7b8$km1$1@snoopy.bndlg.de>

On Tue, 7 Jan 2003 10:40:52 +0100, "Michael Lawnick"
<michael.lawnick@no_spam.kontron.com> wrote:

>Just to increase confusion:
>take a look at PPC440GP. Here the very first instructions have to be the
>initialisation steps of MMU, as PPC440 has a physical address > 4GB and is
>not able to work without MMU. To make initialisation possible, the MMU-code
>has to be placed at 0xFFFFF000, reset vector has to jump to that code.

Indeed, just finished a BSP for Wind River's new 440gp PPMC board.
I thought it best not to muddy the waters. ;)

 Regards,
 George Varndell
 --
 Varndell Engineering, LLC       Embedded Systems Expertise
 Need a vxWorks END for National Semiconductor DP8382x GigE?
 http://www.varndellengineering.com

- -----------== Posted via Newsfeed.Com - Uncensored Usenet News ==----------
   http://www.newsfeed.com       The #1 Newsgroup Service in the World!
- -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =-----

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

Newsgroups: comp.os.vxworks
Subject: Re: vxWorks5.4 PPP ipcp question!
Date: 7 Jan 2003 06:32:38 -0800
From: gonozal@gmx.at (Toni Kurzberger)
Organization: http://groups.google.com/
Message-ID: <8400a733.0301070632.72d1c8b7@posting.google.com>
References: <d5e50b0c.0301062111.1537af8@posting.google.com>

Hi,

VxWorks bundled PPP client will not do this... it intentionally
replaces the 0.0.0.0 by the primary local ethernet IP (to give you
somekind of unnumbered Point to Point interface as specified in e.g.
RFC 1812).

There are only limited options to overcome this:
* WindNet PPP allows both methods, it would be configurable
* WRS Support or Services should be able to patch this for you
* You could try to "hack" this into your PPP raw frame... althogh, as
mentioned, this would be a hack

sorry
  toni

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

Newsgroups: comp.os.vxworks
Subject: Delay before cacheFlush
Date: 7 Jan 2003 06:37:22 -0800
From: giff@ciprico.com (D. Gifford)
Organization: http://groups.google.com/
Message-ID: <d802dea2.0301070637.5822ea64@posting.google.com>

I have a design that uses the PPC750 and L2 cache. When I place data
in the L2 cache sometimes I need to guarantee that the data is in main
system memory for another device to use. For this I am using the the
cacheLib function "cacheFlush" but it seems to not always work
properly. If I place a delay between when I write the last variable
into cache and when I call the cacheFlush function everything seems to
work. Has anyone seen tis before?

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

Newsgroups: comp.os.vxworks
Subject: Setting multiple IP addrs for an interface
Date: Mon, 6 Jan 2003 09:20:10 -0500
From: "Harjinder Chayra" <harjinder.chayra@imedia.com>
Organization: Storm Internet Services
Message-ID: <avc3ao$rs6$1@news.storm.ca>
Sender: terayon@gw-terayon.storm.ca

What calls do I need to make to give an Ethernet interface 2 IP addresses?

cheers
Harjinder

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

Newsgroups: comp.os.vxworks
Subject: Re: Task and process
Date: 6 Jan 2003 07:12:29 -0800
From: gonozal@gmx.at (Toni Kurzberger)
Organization: http://groups.google.com/
Message-ID: <8400a733.0301060712.45d61007@posting.google.com>
References: <4bba5330.0301052250.327bb596@posting.google.com>

Check for the recent postings... there are a few discussion VxWorks
Task model (compared to Unix Processes/Threads). This might give you
the answer you're looking for.

VxWorks does not support RTP (we are talking about Real Time
Protocol?) out of the box... of course it should be possible to place
a RTP stack on top of it (as RTP is on top of UDP this would be a
socket application).

  toni

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

Newsgroups: comp.os.vxworks
Subject: Re: vxWorks5.4 PPP ipcp question!
Date: Tue, 7 Jan 2003 17:48:11 +0000 (UTC)
From: David Laight <david@spam.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <avf3sq$hgf$1@knossos.btinternet.com>
References: <d5e50b0c.0301062111.1537af8@posting.google.com> <8400a733.0301070632.72d1c8b7@posting.google.com>

Toni Kurzberger wrote:
> Hi,
> 
> VxWorks bundled PPP client will not do this... it intentionally
> replaces the 0.0.0.0 by the primary local ethernet IP (to give you
> somekind of unnumbered Point to Point interface as specified in e.g.
> RFC 1812).

Worse still, it will try to do a DNS lookup in order to get the
address!  Under some conditions this has to time out (even though
there is no route to the DNS server).

I don't think it is trying to generate an 'unnumbered' interface
as these are not supported by the vxWorks IP routing code.
My guess was that it is trying to be 'helpful'.

> There are only limited options to overcome this:
> * WindNet PPP allows both methods, it would be configurable
> * WRS Support or Services should be able to patch this for you
> * You could try to "hack" this into your PPP raw frame... althogh, as
> mentioned, this would be a hack

* you could follow through the code paths and patch out one
of the relevant calls.

OTOH if you are trying to do anything complicated there are
enough bugs lurking in the PPP code that you might get the
source for it from WRS.

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: IP Bridging help with 860 SCC1 access 
Date: Mon, 6 Jan 2003 20:06:23 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$001b8h$173$1@lnews.actcom.co.il>
References: <JbjS9.5551$j5.67025@news>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

"Jim" <REMOVEjimdon@sympatico.caREMOVE> wrote in message
news:JbjS9.5551$j5.67025@news...
> Hello,
> I have a IP application bridging application ...
>
> I am using vxWorks 5.4 ...
>
> Currently my application:
> 1.) recieves IP packet via IDMA
> 2.) sends to tnet task
> 3.) tnet task routes it to SCC1 ethernet interface
> 4.) SCC1 transmits ...
>
> I was wondering if it possible to skip steps 2 and 3 ... every packet i
> recieve via DMA should be transmitted via ether ... however i also need
> a tnet task running on SCC1 to recieve and transmit as well ...

Recall that the main reason for deferring packet input processing ti
tNetTask
was to reduce the interrupt blocking time to a minimum, and be able
to have hard RT tasks run at higher priority then network.

Now, if all you do on the system is bridge Ethernet packets, and no other
hard-RT code that could suffer if your ISR processing takes longer,
you can in fact do all your input and output packet processing at
the interrupt level, and defer to tNetTask only the handling
of management PDUs.

Just keep your eyes on the money, and remember what is important
for YOUR application.

- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

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

Newsgroups: comp.os.vxworks
Subject: Re: howto install a terget server without the developemnt system.
Date: 7 Jan 2003 12:52:36 -0800
From: larryc@softcon.net (larry ciummo)
Organization: http://groups.google.com/
Message-ID: <bf43546.0301071252.6c2124e5@posting.google.com>
References: <1041935658.792197@newsreader2.wirehub.nl>

Make a batch file or shell script or whatever with...

tgtsvr.exe 146.58.66.236 -A -s -V -m 4194304 -B wdbrpc -Bt 30 -Br 5 -f
elf -c C:/vxworks/vxWorks

in it.

Use tornado tgt server tool to see what the parameters are.

Good luck,
LC

"Renee Teunissen" <if.you.spam.me.I.will.charge.you.1000.Euro.By.emailing.me.you agree.with.these.terms@mail.zevenaar.org> wrote in message news:<1041935658.792197@newsreader2.wirehub.nl>...
> Hi,
> 
> I like to seperate the development PC from the targetserver. I dont
> want to install a complete tornadoset on this server, only the
> targetserver. Is there a way to do this?
> 
> Thanx,
> Rneee.

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

Newsgroups: comp.os.vxworks
Subject: Re: FOM on SDK 3.0
Date: 7 Jan 2003 14:32:32 -0800
From: cmosexod@ix.netcom.com (jjl)
Organization: http://groups.google.com/
Message-ID: <e35e414c.0301071432.5f8a3749@posting.google.com>
References: <e35e414c.0301061501.74f408bc@posting.google.com>

Never mind.
Found the answer - the hard way.

Is there anyone developing FOM for the SDK out there ?
I can think of SiberCore..

cmosexod@ix.netcom.com (jjl) wrote in message news:<e35e414c.0301061501.74f408bc@posting.google.com>...
> Hello,
> 
> Has someone developed a Foreign Object Model for the IXP2400/2800 ?
> Specifically, for interfacing to the QDR SRAM ports.  If so, I am
> wondering if you had any problems on reading data from the QDR SRAM
> port pins.
> We have developed a QDR-SSRAM FOM for the IXP2x00 which interfaces to
> our Verilog code for doing "co-simulation". It uses sockets to
> communicate between the VCS (out Verilog simulator) and the FOM DLL
> (VC++ 6.0). We can do writes from the ME's all the way to the Verilog,
> but are having difficulties with reads.  The IXP simulator
> (transactor) is not reading-in the data presented to the data-in port
> (QDR0_D_H<17:0>).  It appears that the simualtor is using an
> "internal" virtual SRAM model.  The manuals are very sketchy on how to
> disable it, if it is the case.
> 
> Given that this is my first posting to this groups and my searches to
> other groups did not yield much, I am not sure if this is the proper
> group for my post.  If not, would appretiate a pointer to the group(s)
> most applicable on this subject.
> 
> regards,
> -Joon

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

Newsgroups: comp.os.vxworks
Subject: The options about cc386
Date: 7 Jan 2003 17:25:09 -0800
From: hotJacky@163.net (Bryan)
Organization: http://groups.google.com/
Message-ID: <8f77d4a.0301071725.239f6b4a@posting.google.com>

Tornado provide different compilers for different cpu type.In the last
compiler stage for pentium project,cc386 executed the following
command just as follow:
"cc386 -nostdlib -r -Wl,-X -Wl,@H:\version\vxproject\prjObjs.lst  -o
partialImage.o "

In GCC documention -r and -Wl is not mentioned.I think these options
is extended by tornade.

My question what the -r and -Wl mean? And how get the detailed
doucument about cc386,ccppc,ccarm?

Sincerely,
Bryan

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

Newsgroups: comp.os.vxworks
Subject: Re: How about the macro RAM_HIGH_ADRS ?
Date: Wed, 8 Jan 2003 10:16:45 +0800
From: "minskey73" <minskey73@yahoo.com.cn>
Organization: Bentium Ltd. (CN99)
Message-ID: <avg1mh$1r8s$1@mail.cn99.com>
References: <avblbc$1c9b$1@mail.cn99.com> <8400a733.0301060710.7ae96157@posting.google.com>

thank you a lot ,
I means that my vxWorks image is 17M more.  In order to download the image
into target merchine , I have to modifiy the RAM_HIGH_ADS to 0x12000000, and
to keep the same RAM_HIGH_ADRS , also , I have to rebuild bootrom.hex . So
in bootrom.hex , the macro is the same.  If I define the macro as 32M , my
END driver and console/aux do not work(I can not see anything), so I think
that the bootrom.hex does not work.  Not the vxWorks image does not work .

Guoch

"Toni Kurzberger" <gonozal@gmx.at>
??????:8400a733.0301060710.7ae96157@posting.google.com...
> "minskey73" <minskey73@yahoo.com.cn> wrote in message
news:<avblbc$1c9b$1@mail.cn99.com>...
> > Hi,
> >     I am writing my BSP for MPC860 . In config.h and makefile ,there's a
> > macro RAM_HIGH_ADRS. I know that the memory between RAM_LOW_ADRS and
> > RAM_HIGH_ADRS is used for vxWorks image. My board has 128M RAM, and the
size
> > of my image file is 17MBytes . So I want to define the macro as
> > 0x02000000(32M) in both config.h and makefile. But the BSP do not work.
If I
> > define it as 0x01200000,it works well.  Why ?  I want to get it.
>
> I'm not sure, but this could be a 24bit relative jump problem (which
> gives you the 32MByte). PPC allows +/- 24bit relative jumps, VxWorks
> is using them e.g. in the exception handler. The exception handler
> stub placed at a very low address (close to 0, check the manual of the
> CPU) might try to do a relative jump into VxWorks... which fails if
> the image is out of the 32MByte range.
>
> hope this helps,
>   toni

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

Newsgroups: comp.os.vxworks
Subject: Re: The options about cc386
Date: Tue, 07 Jan 2003 21:38:53 -0600
From: Joe Durusau <durusau@bellsouth.net>
Organization: WEBUSENET.com
Message-ID: <3E1B9D4D.1050205@bellsouth.net>
References: <8f77d4a.0301071725.239f6b4a@posting.google.com>

Bryan wrote:
> Tornado provide different compilers for different cpu type.In the last
> compiler stage for pentium project,cc386 executed the following
> command just as follow:
> "cc386 -nostdlib -r -Wl,-X -Wl,@H:\version\vxproject\prjObjs.lst  -o
> partialImage.o "
> 
> In GCC documention -r and -Wl is not mentioned.I think these options
> is extended by tornade.
> 
> My question what the -r and -Wl mean? And how get the detailed
> doucument about cc386,ccppc,ccarm?
> 
> Sincerely,
> Bryan

Both those are mentioned in my copy of gcc documentation.  The -r
is really passed to ld<something> by cc<something>.  W1 is a flag
telling the gcc driver to pass what follows on to one of the
subordinate progs, IIRC the assembler.  Take a look at the full
docs for gcc, available at www.gnu.org.  cc<something> is just
the way WRS gets a cross-compiler for each target to have a different
name.  They are all implementations of gcc.

Speaking only for myself,

Joe Durusau

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

Newsgroups: comp.os.vxworks
Subject: Re: WDB Serial Backend Agent Questions
Date: 7 Jan 2003 19:50:12 -0800
From: embd_man@hotmail.com (Russel)
Organization: http://groups.google.com/
Message-ID: <42fa4adc.0301071950.74419b5c@posting.google.com>
References: <v1klso518pb041@corp.supernews.com> <bf43546.0301071244.69544d0e@posting.google.com>

Im also facing similar problems while downloading my image through the
serial port , sometimes it hangs and many a times it works but the
image gets corrupted while transferring throught the serial port...
infact i was looking for some diagnostic tool which could help me in
analysing the problem.. which is the shareware serial port diagnostic
tool you have used, could you give me the URL so that i can download
and analyze my problems..

Thanx in advance

larryc@softcon.net (larry ciummo) wrote in message news:<bf43546.0301071244.69544d0e@posting.google.com>...
> This sounds like the standard Win 2000 target server problem.  The
> priority of the target server needs to be increased to "real time". 
> Try right-clicking on the target server in the task manager and
> selecting RT priority.
> 
> LC
> 
> 
> "fred" <fred@rubble.com> wrote in message news:<v1klso518pb041@corp.supernews.com>...
> > Hello,
> > 
> > We've successfully used Tornado 2.0 (with 2 patches) on custom built MIPS
> > R3000 board.  The board doesn't have an Ethernet interface so we've used the
> > serial backend agent for Tornado and all has worked fine for about 2 years.
> > Our host PC (Compaq running Windows NT) was recently upgraded to a Dell P4
> > machine running Windows 2000 and we installed Tornado 2.02.
> > 
> > Now we are having trouble downloading object files to the board using our
> > new setup where we never had problems before.  The Backend target  agent
> > always starts successfully and we have been able to start a shell but we see
> > problems when we download object code.  Approximately 1 out if 50 attempts
> > works but the other 49 fail (the download dialog stays at 0% forever).
> > 
> > To try and see what was happening I found a shareware serial port diagnostic
> > tool that you can start before launching Tornado and it records all activity
> > at a specified COM port.  When I run this program I can see the data being
> > exchanged between the target and the host PC when VxWorks boots and the
> > target server starts.  When we try to download I can see 5-6 exchanges
> > between the target and the host PC then nothing -- the download dialog stays
> > at 0% with the little file flying between the two folders.
> > 
> > Is there any way to decode what is in these exchanges?  Is there any way for
> > me to debug this problem??
> > 
> > Thanks,
> > 
> > David Hyde

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

Newsgroups: comp.os.vxworks
Subject: Re: WDB Serial Backend Agent Questions
Date: Tue, 7 Jan 2003 23:16:21 -0600
From: "fred" <fred@rubble.com>
Organization: Posted via Supernews, http://www.supernews.com
Message-ID: <v1nd0qinu1gv28@corp.supernews.com>
References: <v1klso518pb041@corp.supernews.com> <bf43546.0301071244.69544d0e@posting.google.com> <42fa4adc.0301071950.74419b5c@posting.google.com>
Reply-To: "fred" <fred@rubble.com>

The serial port tool came from http://www.hhdsoftware.com/sermon.html.  You
start up the tool first and specify which port (COM1-2) you wish to monitor.
All the raw serial port traffic is shown in various formats once you start
the target server on that particular port.  Pretty cool.  I researched this
a little more today and found a really good explanation (although not very
complete) of the WDB protocol that is used on the serial port itself in the
Tornado API manual that came with VxWorks.  This protocol would need to be
fully understood to know how to interpret the raw bytes flowing across the
link (and being monitored by the shareware program).  There is also a way to
have the target server record all the RPC information for all the packets it
sends and receives.  The method is also covered in the Tornado API manual.

I'll try the priority method first thing in the morning.  I specifically
asked our wrs support engineer about this and he stated no one else was
having any problems with win2k and VxWorks and that it must be our board and
bsp.  Oh well.

David Hyde

"Russel" <embd_man@hotmail.com> wrote in message
news:42fa4adc.0301071950.74419b5c@posting.google.com...
> Im also facing similar problems while downloading my image through the
> serial port , sometimes it hangs and many a times it works but the
> image gets corrupted while transferring throught the serial port...
> infact i was looking for some diagnostic tool which could help me in
> analysing the problem.. which is the shareware serial port diagnostic
> tool you have used, could you give me the URL so that i can download
> and analyze my problems..
>
> Thanx in advance
>
>
> larryc@softcon.net (larry ciummo) wrote in message
news:<bf43546.0301071244.69544d0e@posting.google.com>...
> > This sounds like the standard Win 2000 target server problem.  The
> > priority of the target server needs to be increased to "real time".
> > Try right-clicking on the target server in the task manager and
> > selecting RT priority.
> >
> > LC
> >
> >
> > "fred" <fred@rubble.com> wrote in message
news:<v1klso518pb041@corp.supernews.com>...
> > > Hello,
> > >
> > > We've successfully used Tornado 2.0 (with 2 patches) on custom built
MIPS
> > > R3000 board.  The board doesn't have an Ethernet interface so we've
used the
> > > serial backend agent for Tornado and all has worked fine for about 2
years.
> > > Our host PC (Compaq running Windows NT) was recently upgraded to a
Dell P4
> > > machine running Windows 2000 and we installed Tornado 2.02.
> > >
> > > Now we are having trouble downloading object files to the board using
our
> > > new setup where we never had problems before.  The Backend target
agent
> > > always starts successfully and we have been able to start a shell but
we see
> > > problems when we download object code.  Approximately 1 out if 50
attempts
> > > works but the other 49 fail (the download dialog stays at 0% forever).
> > >
> > > To try and see what was happening I found a shareware serial port
diagnostic
> > > tool that you can start before launching Tornado and it records all
activity
> > > at a specified COM port.  When I run this program I can see the data
being
> > > exchanged between the target and the host PC when VxWorks boots and
the
> > > target server starts.  When we try to download I can see 5-6 exchanges
> > > between the target and the host PC then nothing -- the download dialog
stays
> > > at 0% with the little file flying between the two folders.
> > >
> > > Is there any way to decode what is in these exchanges?  Is there any
way for
> > > me to debug this problem??
> > >
> > > Thanks,
> > >
> > > David Hyde

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

Newsgroups: comp.os.vxworks
Subject: Re: The length of variable in GNU make Version 3.74
Date: 08 Jan 2003 02:00:56 -0500
From: "Paul D. Smith" <psmith@gnu.org>
Organization: GNU's Not Unix!
Message-ID: <p5smw4gm6v.fsf@lemming.engeast.baynetworks.com>
References: <8f77d4a.0301072224.1814f147@posting.google.com>
Reply-To: psmith@gnu.org
Sender: psmith@lemming.engeast.baynetworks.com

%% hotJacky@163.net (Bryan) writes:

  b> The max length of variable in GNU make is about 4096.If exceed,the
  b> process of make will exit!For example:

  b> test:
  b>     LONGSTR=$(AAA)
  b>     @echo $LOGNSTR
  b> If the length of the string that AAA express is less than 4093,echo
  b> can work correctly,or it will be failed!

There is no maximum length of a variable in GNU make: all values are
dynamically sized so they can be as large as your memory allows.

However, there may well be a maximum length of a line that your shell
will accept: remember that make simply invokes a shell to run each line
of the command.

You haven't specified what kind of operating system you're using, but
DOS and Windows-based systems are notorious for having small maximum
command line sizes (for example).

  b> Can the length be changed to apply compile large project?

Sure: get a better operating system to compile it on ... 1/2 :).

This is an OS restriction and has nothing to do with GNU make.
If your OS is Windows you might be able to get around it by building
GNU make to use a different shell; you will need a newer version (3.74
is _REALLY_ old) and look at the README.W32 file.  Also check the
make-w32@gnu.org mailing list for Windows-specific issues with GNU
make.

- -- 
- -------------------------------------------------------------------------------
 Paul D. Smith <psmith@gnu.org>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.paulandlesley.org
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist

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

Newsgroups: comp.os.vxworks
Subject: Re: Setting multiple IP addrs for an interface
Date: 8 Jan 2003 01:17:36 -0800
From: gonozal@gmx.at (Toni Kurzberger)
Organization: http://groups.google.com/
Message-ID: <8400a733.0301080117.16dfeeb9@posting.google.com>
References: <avc3ao$rs6$1@news.storm.ca> <8400a733.0301070054.74033553@posting.google.com> <avefti$379$1@newshost.mot.com>

"Martin Roth" <bmr006@email.mot.com> wrote in message news:<avefti$379$1@newshost.mot.com>...
> Toni,
> 
> As I understand TCP/IP networking, the additional IP address  added by
> ifAddrAdd() should be from the same subnet. Am I correct ?

Actually it's different. VxWorks is prepared to handle n fully
routeable addresses on a single interface. All of them have to be on
different networks. E.g.:
fei0  123.123.123.123:ffffff00
fei0  12.12.12.12:ffff0000
=> Would be legal and should work.
fei0  123.123.123.123:ffffff00
fei0  123.123.123.124:ffffff00
=> Will most likely cause trouble with VxWorks.
I'm not sure about the standard RIP and OSPF... in case you plan using
them it should be checked whether they can handle multiple networks on
a single interface.
At least this is something the routing code of the SENS stack is
prepared to handle.

  toni

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

Newsgroups: comp.os.vxworks
Subject: Re: vxWorks5.4 PPP ipcp question!
Date: 8 Jan 2003 01:31:17 -0800
From: gonozal@gmx.at (Toni Kurzberger)
Organization: http://groups.google.com/
Message-ID: <8400a733.0301080131.3d0b382a@posting.google.com>
References: <d5e50b0c.0301062111.1537af8@posting.google.com> <8400a733.0301070632.72d1c8b7@posting.google.com> <avf3sq$hgf$1@knossos.btinternet.com>

Hi,

interresting... this brings me an idea. It should be possible to
change the local hosts IP address just before invoking the PPP
Initialization call. This might work (I have not tried with PPP... but
I'm quite sure it will at least default the IP Address to 0.0.0.0):

- -> hostAdd "ppplocal","0.0.0.0"
value = 0 = 0x0
- -> hostShow
hostname         inet address       aliases
- --------         ------------       -------
localhost        127.0.0.1
[...]
ppplocal         0.0.0.0
value = 0 = 0x0
- -> sethostname "ppplocal",8
value = 0 = 0x0
- -> buf=malloc(100)
new symbol "buf" added to symbol table.
buf = 0xffaa98: value = 16755368 = 0xffaaa8 = buf + 0x10
- -> gethostname(buf,99)
value = 0 = 0x0
- -> printf "[%s]\n",buf
[ppplocal]

Be sure to configure the resolver sequence correct (to first look into
the targets local host's table).
Be sure to change the name back after the connection is up.

I'm not sure what side effects this could give you on your system, but
it might be worth a try.

Would be interrested in the result of this,

best regards,
  toni

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

Newsgroups: comp.os.vxworks
Subject: Re: howto install a terget server without the developemnt system.
Date: Wed, 8 Jan 2003 10:42:52 +0100
From: "Renee Teunissen" <if.you.spam.me.I.will.charge.you.1000.Euro.By.emailing.me.you agree.with.these.terms@mail.zevenaar.org>
Organization: Wirehub! Internet, The Netherlands
Message-ID: <1042019201.111306@newsreader1.wirehub.nl>
References: <1041935658.792197@newsreader2.wirehub.nl> <bf43546.0301071252.6c2124e5@posting.google.com>

HI, Thannk you for your answer - but this is not what I'm looking for.
What I meant was how do I install - not run - the target-server .exe,
dll's and regkeys on a clean system?

Thanx,
Renee.

"larry ciummo" <larryc@softcon.net> wrote in message
news:bf43546.0301071252.6c2124e5@posting.google.com...
> Make a batch file or shell script or whatever with...
>
> tgtsvr.exe 146.58.66.236 -A -s -V -m 4194304 -B wdbrpc -Bt 30 -Br
5 -f
> elf -c C:/vxworks/vxWorks
>
> in it.
>
> Use tornado tgt server tool to see what the parameters are.
>
>
> Good luck,
> LC
>
>
>
> "Renee Teunissen"
<if.you.spam.me.I.will.charge.you.1000.Euro.By.emailing.me.you
agree.with.these.terms@mail.zevenaar.org> wrote in message
news:<1041935658.792197@newsreader2.wirehub.nl>...
> > Hi,
> >
> > I like to seperate the development PC from the targetserver. I
dont
> > want to install a complete tornadoset on this server, only the
> > targetserver. Is there a way to do this?
> >
> > Thanx,
> > Rneee.

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

Newsgroups: comp.os.vxworks
Subject: Re: Task Control -
Date: Wed, 08 Jan 2003 12:12:27 +0100
From: Wim Mosterman <Wim.Mosterman@philips.com>
Organization: disorganized
Message-ID: <1042024486.289719@mmisg1.best.ms.philips.com>
References: <avgtpc$41n$1@overload.lbl.gov>

Atkinson Andrew wrote:

> Hi All
>
> Once a task has entered the READY state and is only prevented from executing
> by a higher priority task, is there any way the higher priority task can
> prevent the READY task from executing indefinitely, besides performing a
> taskDelete?
>
> I guess the end result needs to be the removal of the task from the READY
> queue, but how to achieve this?
>

Andy,

taskSuspend().

Regards,    Wim

>
> Any help appreciated.
>
> -- vxworks --
>
> Andy Atkinson
> Software Engineer
> Bldg 31a
> QinetiQ, Bincleaves Technology Park
> Weymouth
> Dorset
> DT4 8UR
>
> Tel : 01305 764660
> Fax : 01305 764661
> e-mail : AATKINSON1@QinetiQ.com
>
> The Information contained in this E-Mail and any subsequent correspondence
> is private and is intended solely for the intended recipient(s).
> For those other than the recipient any disclosure, copying, distribution,
> or any action taken or omitted to be taken in reliance on such information
> is prohibited and may be unlawful.

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Wed Jan  8 23:59:51 2003
From: nilanjan roychowdhury <nilanjan_rc@yahoo.com>
Date: Wed Jan  8 23:59:52 PST 2003
Subject: Basic Doubt

--0-1462287254-1042099184=:21184
Content-Type: text/plain; charset=us-ascii

Hi all,

I have recently started working with Vxworks. So I have one basic doubt. 

The manual says that Vxworks uses a special context for the ISR to avoid context switching. Now suppose my task t1 is currently running and then some interrupt occurs. Then what will be the state of t1 ( definitely it will be other than running !!) ??because now the ISR will get the CPU. So if a state transition of task t1 is occuring then how it is different than the normal context switching.

Please help

regards

Nilanjan

 

---------------------------------
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now
--0-1462287254-1042099184=:21184
Content-Type: text/html; charset=us-ascii

<P>Hi all,</P>
<P>I have recently started working with Vxworks. So I have one basic doubt. </P>
<P>The manual says that Vxworks uses a special context for the ISR to avoid context switching. Now suppose my task t1 is currently running and then some interrupt occurs. Then what will be the state of t1 ( definitely it will be other than running !!) ??because now the ISR will get the CPU. So if a state transition of task t1 is occuring then how it is different than the normal context switching.</P>
<P>Please help</P>
<P>regards</P>
<P>Nilanjan</P>
<P>&nbsp;</P><p><br><hr size=1>Do you Yahoo!?<br>
<a href="http://rd.yahoo.com/mail/mailsig/*http://mailplus.yahoo.com">Yahoo! Mail Plus</a> - Powerful. Affordable. <a href="http://rd.yahoo.com/mail/mailsig/*http://mailplus.yahoo.com">Sign up now</a>
--0-1462287254-1042099184=:21184--

From vxwexplo-errs@csg.lbl.gov  Thu Jan  9 04:09:02 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Thu Jan  9 04:09:03 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Thu Jan  9 04:08:58 PST 2003

        Subject: Re: howto install a terget server without the developemnt system.
        Subject: Re: Task Control -
        Subject: Does anybody know any Headhunter who places in Wireless/Telecom software dev.
        Subject: Serial port driver
        Subject: file system
        Subject: Re: Symbol missing
        Subject: Re: Setting multiple IP addrs for an interface
        Subject: Re: [HELP]choose which TL in trueffs
        Subject: Re: file system
        Subject: Re: Task Control -
        Subject: Re: Task Control -
        Subject: Re: WDB Serial Backend Agent Questions
        Subject: Re: Serial port driver
        Subject: Re: POSIX compliant calls for sockets in VxWorks
        Subject: Re: Setting multiple IP addrs for an interface
        Subject: Re: Setting multiple IP addrs for an interface
        Subject: Re: Evaluating port to VxWorks - for medical imaging application - C/C++
        Subject: Re: I'm looking for persons iterested in IXP1200 & VxWorks
        Subject: Re: Setting multiple IP addrs for an interface
        Subject: Re: [HELP]choose which TL in trueffs
        Subject: 1394 Digital Cameras (Sony XCD-X700) - External Triggering
        Subject: Re: Basic Doubt

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

Newsgroups: comp.os.vxworks
Subject: Re: howto install a terget server without the developemnt system.
Date: Wed, 8 Jan 2003 14:24:23 +0100
From: "Renee Teunissen" <if.you.spam.me.I.will.charge.you.1000.Euro.By.emailing.me.you agree.with.these.terms@mail.zevenaar.org>
Organization: Wirehub! Internet, The Netherlands
Message-ID: <1042032492.596731@newsreader1.wirehub.nl>
References: <1041935658.792197@newsreader2.wirehub.nl> <bf43546.0301071252.6c2124e5@posting.google.com> <1042019201.111306@newsreader1.wirehub.nl> <3E1C1B2E.2020506@bellsouth.net>

:)

But I dont want tornado on it :) I want to install the target server
on a "standalone" PC not my development workstation.. Therefore I was
wondering if it is possible to do ONLY a install of the target server
without all the tornado stuff I dont need....
I have a tornado CDROM with licences. I just like to know how I can
install just a target server. Or what I need to copy from my system to
transfer the target server to that other machine.

Cheers,
Renee.

"Joe Durusau" <durusau@bellsouth.net> wrote in message
news:3E1C1B2E.2020506@bellsouth.net...
> It's part of Tornado.  You install Tornado (some version)
> from the CDROM.  It comes with instructions, and on most
> platforms is pretty automagic.
>
> Speaking only for myself,
>
> Joe Durusau
>
>
> Renee Teunissen wrote:
> > HI, Thannk you for your answer - but this is not what I'm looking
for.
> > What I meant was how do I install - not run - the target-server
.exe,
> > dll's and regkeys on a clean system?
> >
> > Thanx,
> > Renee.
> >
> > "larry ciummo" <larryc@softcon.net> wrote in message
> > news:bf43546.0301071252.6c2124e5@posting.google.com...
> >
> >>Make a batch file or shell script or whatever with...
> >>
> >>tgtsvr.exe 146.58.66.236 -A -s -V -m 4194304 -B wdbrpc -Bt 30 -Br
> >
> > 5 -f
> >
> >>elf -c C:/vxworks/vxWorks
> >>
> >>in it.
> >>
> >>Use tornado tgt server tool to see what the parameters are.
> >>
> >>
> >>Good luck,
> >>LC
> >>
> >>
> >>
> >>"Renee Teunissen"
> >
> > <if.you.spam.me.I.will.charge.you.1000.Euro.By.emailing.me.you
> > agree.with.these.terms@mail.zevenaar.org> wrote in message
> > news:<1041935658.792197@newsreader2.wirehub.nl>...
> >
> >>>Hi,
> >>>
> >>>I like to seperate the development PC from the targetserver. I
> >>
> > dont
> >
> >>>want to install a complete tornadoset on this server, only the
> >>>targetserver. Is there a way to do this?
> >>>
> >>>Thanx,
> >>>Rneee.
> >>
> >
> >
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Task Control -
Date: Wed, 8 Jan 2003 09:05:11 -0500
From: Keith Arner <karner@pit.comms.marconi.com>
Organization: Marconi
Message-ID: <Pine.GSO.4.42.0301080857400.6991-100000@zimbra>
References: <avgtpc$41n$1@overload.lbl.gov> <1042024486.289719@mmisg1.best.ms.philips.com>
Reply-To: Keith Arner <keith.arner@marconi.com>

On Wed, 8 Jan 2003, Wim Mosterman wrote:

> Atkinson Andrew wrote:
>
> > Once a task has entered the READY state and is only prevented from executing
> > by a higher priority task, is there any way the higher priority task can
> > prevent the READY task from executing indefinitely, besides performing a
> > taskDelete?
> >
> > I guess the end result needs to be the removal of the task from the READY
> > queue, but how to achieve this?
>
> taskSuspend().

Using taskSuspend() is not advisable.  The higher priority task has no way
of knowing what the lower priority task is doing at the moment that it
gets suspended.  So, the lower priority task could become suspended while
holding the heap lock, or a lock protecting the internals of an I/O
driver, or what have you.

Step back and ask yourself why you need to prevent it from executing.  A
task executing is not a problem in and of itself.  It only becomes a
problem if, say, it prevents a third task from running.  Maybe you need to
increase the priority of the third task.  Maybe you need to have the
second task periodically do a taskDelay(0).  Maybe you need to have the
second and third tasks coordinate their activities more closely.

The answer depends on what you are attempting to prevent from happening.

Keith

- -- 
"One should not pursue goals that are easily achieved."
			- Albert Einstein, 1915

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

Newsgroups: comp.os.vxworks
Subject: Does anybody know any Headhunter who places in Wireless/Telecom software dev.
Date: 8 Jan 2003 06:39:26 -0800
From: tvnaidu@yahoo.com (vasanta)
Organization: http://groups.google.com/
Message-ID: <5d593b38.0301080639.7cf36236@posting.google.com>

Guys,

Does anybody know any Headhunter who places in Wireless/Telecom
software development. Appreciated and thanks in advance

Vasanta.

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

Newsgroups: comp.os.vxworks
Subject: Serial port driver
Date: Wed, 8 Jan 2003 10:44:46 -0500
From: "Bin Lin" <linb@agere.com>
Message-ID: <avhh9n$4sd$1@test-nntp.agere.com>

Does anyone have a sample code of serial port driver or document?

Thank you very much.

Lin

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

Newsgroups: comp.os.vxworks
Subject: file system
Date: Wed, 08 Jan 2003 15:58:39 GMT
From: "Scott S" <smails@onlinecontrolsystems.com>
Organization: Road Runner
Message-ID: <PUXS9.242123$Vz2.54987483@twister.nyroc.rr.com>

Question:

I am using Tornado 2.0 and VxWorks.  I am looking for a way to put all read
only data and code separate from all read/write data on a flash disk which I
am using as an ATA.  The read only portion of the hard drive I would like to
use dosFs and for the read/write I would like to use the raw file system.

Is it possible to partition my flash disk into 2 sectors each with a
different file system?

Thanks in advance,

- -SDS

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

Newsgroups: comp.os.vxworks
Subject: Re: Symbol missing
Date: Wed, 08 Jan 2003 16:27:16 GMT
From: Dave Bryan <dbryan@yahoo.com>
Organization: The PTR Group
Message-ID: <Xns92FD747BA46C3dbryayahoocom@24.48.107.53>
References: <3E1AB41F.8010609@ires.in2p3.fr>

Christian Weber wrote:

> Hi VxWorkers,
> 
> I was writing a C++ module for a PowerPC604 target.
> First I've included C++ run-time in a new compiled kernel to get full
> C++ support.
> 
> When I did ld < my_module_name.o I got the following error at the console :
> 
> Undefined symbol: _._13Iostream_init (binding 1 type 0) 
> 
> value = 16762744 = 0xffc778 = _GLOBAL_.I.hello(void) + 0x870
> 
> 1. when i launch objdump on the vxWorks executable there is no 
> _._13Iostream_init symbol to be seen (only _$_13Iostream_init)
> 
...

Christian - 

You symbols are probably mangled.  Make sure you have C++ symbol demangler 
INCLUDE_CPLUS_DEMANGLER in your image.

Dave
=====================================================
       T h e   P T R   G r o u p,   I n c.
=====================================================
    Embedded, Real-Time Solutions, and Training
David Bryan                     Office: (703)726-0498
Manager, Embedded Services        Cell: (703)627-1735
www.ThePTRGroup.com              Dave@ThePTRGroup.com
=====================================================

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

Newsgroups: comp.os.vxworks
Subject: Re: Setting multiple IP addrs for an interface
Date: Wed, 8 Jan 2003 18:30:59 +0200
From: "Martin Roth" <bmr006@email.mot.com>
Organization: Motorola
Message-ID: <avhjn9$eu8$1@newshost.mot.com>
References: <avc3ao$rs6$1@news.storm.ca> <8400a733.0301070054.74033553@posting.google.com> <avefti$379$1@newshost.mot.com> <8400a733.0301080117.16dfeeb9@posting.google.com>

Toni,
Thanks for the reply.
This  is very strange to me, because I was used that all the IP addresses on
a subnet or network should have the same subnet network id.
So, IP routers route packets to the same network interface having two IP
addresses from different subnets.
The question then is how is the router configured to route the two IP
addresses?  Should the router interface also have two IP addresses or is it
a special route that we add to the routing table on the router?

Martin
Mailto:bmr006@email.mot.com

"Toni Kurzberger" <gonozal@gmx.at> wrote in message
news:8400a733.0301080117.16dfeeb9@posting.google.com...
> "Martin Roth" <bmr006@email.mot.com> wrote in message
news:<avefti$379$1@newshost.mot.com>...
> > Toni,
> >
> > As I understand TCP/IP networking, the additional IP address  added by
> > ifAddrAdd() should be from the same subnet. Am I correct ?
>
> Actually it's different. VxWorks is prepared to handle n fully
> routeable addresses on a single interface. All of them have to be on
> different networks. E.g.:
> fei0  123.123.123.123:ffffff00
> fei0  12.12.12.12:ffff0000
> => Would be legal and should work.
> fei0  123.123.123.123:ffffff00
> fei0  123.123.123.124:ffffff00
> => Will most likely cause trouble with VxWorks.
> I'm not sure about the standard RIP and OSPF... in case you plan using
> them it should be checked whether they can handle multiple networks on
> a single interface.
> At least this is something the routing code of the SENS stack is
> prepared to handle.
>
>   toni

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

Newsgroups: comp.os.vxworks
Subject: Re: [HELP]choose which TL in trueffs
Date: Wed, 8 Jan 2003 19:23:27 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$hcoe8h$lq8$1@lnews.actcom.co.il>
References: <avgdh7$7e9$1@bt02e2.god.bel.alcatel.be>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

You do not need TrueFFS to interface with CompactFlash cards,
only ataDrv (the current ATA driver) and probably a PCMCIA driver too.
Because CF has an internal microcontroller doing all the Flash specific
stuff, you dont really care which Flash technology is inside (but if you
must, it's Toshiba NAND fhasl chips that are inside).

- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

"jm" <qianpb_761209@sina.com> wrote in message
news:avgdh7$7e9$1@bt02e2.god.bel.alcatel.be...
> Hi,all
>     I have a problem when i write TrueFFS driver for sandisk compactFlash
> SDCFBI-32.I want to use trueffs component provided by vxworks.It said that
I
> should choose one TL(translation layer) accoding to the flsh
> technology.Because the SDCFBI-32's datasheet use ATA as the interface,it
> didn't say which flash technology is used.I try NFTL TL.when i format the
> flash chip by using "tffsDevFormat(0,0)",it reports "value = -1 =
0xffffffff
> = udbinfo + 0xffd5f2c3".When I try the FTL TL,the trouble is same.
>   Anybody may help me??
> Best regard
>         by
>             jm
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: file system
Date: Wed, 8 Jan 2003 19:26:21 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$bhoe8h$nq8$1@lnews.actcom.co.il>
References: <PUXS9.242123$Vz2.54987483@twister.nyroc.rr.com>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

Yes, it is indeed possible to do what you desire.
See dpartCbio manual section from dosFs 2.x documentation.
The fact that this is an ATA Flash disk, and not a regular ATA
mechanical winchester disk, does not make a lot of difference,
only makes the Disk cache less advantageous.

- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

"Scott S" <smails@onlinecontrolsystems.com> wrote in message
news:PUXS9.242123$Vz2.54987483@twister.nyroc.rr.com...
> Question:
>
> I am using Tornado 2.0 and VxWorks.  I am looking for a way to put all
read
> only data and code separate from all read/write data on a flash disk which
I
> am using as an ATA.  The read only portion of the hard drive I would like
to
> use dosFs and for the read/write I would like to use the raw file system.
>
> Is it possible to partition my flash disk into 2 sectors each with a
> different file system?
>
> Thanks in advance,
>
> -SDS
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Task Control -
Date: Wed, 8 Jan 2003 19:40:41 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$a5pe8h$0r8$1@lnews.actcom.co.il>
References: <avgtpc$41n$1@overload.lbl.gov>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

I agree that taskSuspend is not advisable - I have al kinds of unexpected
sh*t happening when people tried to use it (all related to mutex ownership
of task being suspended).

One very reasonable trick would be to taskPrioritySet( taskId, 255), so it
remains
indeed READY, but in the lowest priority so if will run much later.

The thing you want to do llooks quite unusual (trans: wierd) on a first look
so maybe an explanation of your objective is in order.

But you must understand, that a task can eitehr be READY or in some
other state (e.g. PEND, DELAY or combination of the two).
It can PEND on some object (e,g, semaphore, msgQ) but the task
has to initiate the call that makes it PEND, not byu another task.
For a task to be DELAYed it has too to execute the taskDelay function.

Now that brings me to another trick you might like - you can call kill(),
thereby sending the taska signal, and its signal handler will call semGet()
or something and PEND on something ...

- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

"Atkinson Andrew" <AATKINSON1@qinetiq.com> wrote in message
news:avgtpc$41n$1@overload.lbl.gov...
> Hi All
>
> Once a task has entered the READY state and is only prevented from
executing
> by a higher priority task, is there any way the higher priority task can
> prevent the READY task from executing indefinitely, besides performing a
> taskDelete?
>
> I guess the end result needs to be the removal of the task from the READY
> queue, but how to achieve this?
>
> Any help appreciated.
>
> -- vxworks --
>
> Andy Atkinson
> Software Engineer
> Bldg 31a
> QinetiQ, Bincleaves Technology Park
> Weymouth
> Dorset
> DT4 8UR
>
> Tel : 01305 764660
> Fax : 01305 764661
> e-mail : AATKINSON1@QinetiQ.com
>
>
> The Information contained in this E-Mail and any subsequent correspondence
> is private and is intended solely for the intended recipient(s).
> For those other than the recipient any disclosure, copying, distribution,
> or any action taken or omitted to be taken in reliance on such information
> is prohibited and may be unlawful.

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

Newsgroups: comp.os.vxworks
Subject: Re: Task Control -
Date: Wed, 8 Jan 2003 22:25:01 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$9rwe8h$g29$1@lnews.actcom.co.il>
References: <avgtpc$41n$1@overload.lbl.gov> <newscache$a5pe8h$0r8$1@lnews.actcom.co.il> <Pine.GSO.4.42.0301081501400.6991-100000@zimbra>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

Yup, Keith, you're right - the signal idea sucks,
I have nopt given it a second thought before I ckicked the send button.

You also managed to point out that any idea to give the OP his
solution would suffer from the same drawback!

- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

"Keith Arner" <karner@pit.comms.marconi.com> wrote in message
news:Pine.GSO.4.42.0301081501400.6991-100000@zimbra...
> On Wed, 8 Jan 2003, Leonid Rosenboim wrote:
>
> > One very reasonable trick would be to taskPrioritySet( taskId, 255), so
it
> > remains
> > indeed READY, but in the lowest priority so if will run much later.
>
> One thing I have thought about from time to time is:
>
>  myWdHandler = wdCreate();
>  wdStart(myWdHandler, 1, myWdFunc, taskIdSelf());
>
>  void myWdFunc(int tid) {
>    static int x = 0;
>
>    x = !x;
>
>    if (x) {
>      taskPrioritySet(tid, LOW_PRIO);
>    } else {
>      taskPrioritySet(tid, HIGH_PRIO);
>    }
>
>    wdStart(myWdHandler, 1, myWdFunc, taskIdSelf());
>  }
>
> ...which will oscillate my task between a low and high priority.  You
> could get a fancier oscillation pattern by manipulating x differently.
> But every time I thought about using it, I would come up with a better
> solution for what I was attempting to accomplish.
>
> > Now that brings me to another trick you might like - you can call
kill(),
> > thereby sending the taska signal, and its signal handler will call
semGet()
> > or something and PEND on something ...
>
> I'm not sure that this is all that much better than suspending the task.
> You don't have any way of knowing what the task will be doing when it
> starts execution of the signal handler, so it could just as easily start
> to delay while holding a lock.  I suppose your signal handler could be
> written to have a bit of knowledge about the state of the task that is
> executing, but then your task is updating it current state so often that
> you'd probably be better served just having it delay on its own.
>
> Keith
>
> --
> "One should not pursue goals that are easily achieved."
> - Albert Einstein, 1915
>

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

Newsgroups: comp.os.vxworks
Subject: Re: WDB Serial Backend Agent Questions
Date: 8 Jan 2003 12:37:45 -0800
From: david.w.hyde@nasa.gov (David)
Organization: http://groups.google.com/
Message-ID: <1d1f92de.0301081237.67a5d69e@posting.google.com>
References: <v1klso518pb041@corp.supernews.com> <bf43546.0301071244.69544d0e@posting.google.com> <42fa4adc.0301071950.74419b5c@posting.google.com> <v1nd0qinu1gv28@corp.supernews.com>

Modifying the target server priority solved my problem.  The downloads
are working fine.

Thanks Larry

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

Newsgroups: comp.os.vxworks
Subject: Re: Serial port driver
Date: 8 Jan 2003 13:51:25 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0301081351.3bccb626@posting.google.com>
References: <avhh9n$4sd$1@test-nntp.agere.com>

Hello,

This is a very frequently asked question... please learn how to search
the archives of this group (either via Wind River's Online Support
pages, or through a service like Google Groups).

The answer to your question is that you have the source for all the
serial drivers shipped with Tornado in your installation. Check under
$WIND_BASE/target/src/drv/sio and you will find them all there.

HTH,

John...

"Bin Lin" <linb@agere.com> wrote in message news:<avhh9n$4sd$1@test-nntp.agere.com>...
> Does anyone have a sample code of serial port driver or document?
> 
> Thank you very much.
> 
> Lin

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

Newsgroups: comp.os.vxworks
Subject: Re: POSIX compliant calls for sockets in VxWorks
Date: 8 Jan 2003 19:29:57 -0800
From: iubica2@yahoo.com (Andrei)
Organization: http://groups.google.com/
Message-ID: <371e4594.0301081929.72baec31@posting.google.com>
References: <596d098.0301070041.25db91b5@posting.google.com>

Yes it does, including select() calls. 

There is one issue w/ porting UNIX socket code based on select()
though - use of so called software interrupts. UNIX code sometimes
installs an alarm to expire some time in future (say in 2 secs ), then
blocks in select() to receive from socket, passing infinite timeout to
select(). When alarm expires (the 'software interrupt'), after alarm
is handled UNIX unblocks the select() call. This is for example how
ntpd is implemented - you can look at the source.

When porting this type of implementations, take out the alarm call
altogether, and pass finite timeouts to select() (figure out the
correct timeout, always <= 2 secs in this example but may be less
depending on when did select() return in the last 2-sec slice). Again
look at ntpd distibution, it has a VxWorx port.

Andrei Radulescu-Banu

srilayaradja@yahoo.com (Ilayaraja) wrote in message news:<596d098.0301070041.25db91b5@posting.google.com>...
> Dear all,
> 
>         Does VxWorks provide POSIX compliant library for socket
> (bind(),accept() etc. calls) and select() system calls ?
> 
>         is there POSIX socket and Posix select() call available? 
> 
> Thanks in advance,
> 
> Regards,
> R. Ilayaraja

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

Newsgroups: comp.os.vxworks
Subject: Re: Setting multiple IP addrs for an interface
Date: 8 Jan 2003 19:37:04 -0800
From: iubica2@yahoo.com (Andrei)
Organization: http://groups.google.com/
Message-ID: <371e4594.0301081937.5ff94e0@posting.google.com>
References: <avc3ao$rs6$1@news.storm.ca> <8400a733.0301070054.74033553@posting.google.com> <avefti$379$1@newshost.mot.com> <8400a733.0301080117.16dfeeb9@posting.google.com> <avhjn9$eu8$1@newshost.mot.com>

> > Actually it's different. VxWorks is prepared to handle n fully
> > routeable addresses on a single interface. All of them have to be on
> > different networks. E.g.:
> > fei0  123.123.123.123:ffffff00
> > fei0  12.12.12.12:ffff0000
> > => Would be legal and should work.
> > fei0  123.123.123.123:ffffff00
> > fei0  123.123.123.124:ffffff00
> > => Will most likely cause trouble with VxWorks.

What Toni describes here, if true, is a bug in the IP stack. The IP
stack should handle multiple addresses on same subnet.
Andrei

> > I'm not sure about the standard RIP and OSPF... in case you plan using
> > them it should be checked whether they can handle multiple networks on
> > a single interface.
> > At least this is something the routing code of the SENS stack is
> > prepared to handle.
> >
> >   toni

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

Newsgroups: comp.os.vxworks
Subject: Re: Setting multiple IP addrs for an interface
Date: 8 Jan 2003 19:37:04 -0800
From: iubica2@yahoo.com (Andrei)
Organization: http://groups.google.com/
Message-ID: <371e4594.0301081937.121ce721@posting.google.com>
References: <avc3ao$rs6$1@news.storm.ca> <8400a733.0301070054.74033553@posting.google.com> <avefti$379$1@newshost.mot.com> <8400a733.0301080117.16dfeeb9@posting.google.com> <avhjn9$eu8$1@newshost.mot.com>

> > Actually it's different. VxWorks is prepared to handle n fully
> > routeable addresses on a single interface. All of them have to be on
> > different networks. E.g.:
> > fei0  123.123.123.123:ffffff00
> > fei0  12.12.12.12:ffff0000
> > => Would be legal and should work.
> > fei0  123.123.123.123:ffffff00
> > fei0  123.123.123.124:ffffff00
> > => Will most likely cause trouble with VxWorks.

What Toni describes here, if true, is a bug in the IP stack. The IP
stack should handle multiple addresses on same subnet.
Andrei

> > I'm not sure about the standard RIP and OSPF... in case you plan using
> > them it should be checked whether they can handle multiple networks on
> > a single interface.
> > At least this is something the routing code of the SENS stack is
> > prepared to handle.
> >
> >   toni

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

Newsgroups: comp.os.vxworks
Subject: Re: Evaluating port to VxWorks - for medical imaging application - C/C++
Date: 8 Jan 2003 16:44:41 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0301081644.48920a4c@posting.google.com>
References: <456de2c6.0301080854.37d73a8@posting.google.com>

Hello,

I don't believe that there is a downloadable version of the reference
manual available anymore unless you have an online support account,
but perhaps the easiest thing to do is simply to call Wind River and
ask for an evaluation copy of the product - that will come with online
docs at least, maybe even printed copies.

> We are most concerned with porting unix system function calls in our
> code that may not be available in VxWorks. (for example, some of our
> code uses sockets and DNS functions gethostbyname(), gethostname(),

DNS resolving is supported, though the API is a little different.
Porting from one to the other is generally easy.

> recvfrom(), setsockopt(), select()etc.) We also use the standard C
> functions like strcmp, sprintf, malloc, free, and other unix system

These should all be OK.

> functions like getuid, getpid, 

These are not supported by VxWorks since it does not have a concept of
users and groups.

> ioctl and fcntl. 

ioctl() is available, but whether the specific functions you are using
are supported will depend on (a) what those functions are and (b) what
kind of file descriptor you apply them to.

fcntl() is not part of the VxWorks API, but some of the operations
that it provides can be achieved by other means (usually an ioctl()
call IIRC).

HTH,

John...

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

Newsgroups: comp.os.vxworks
Subject: Re: I'm looking for persons iterested in IXP1200 & VxWorks
Date: 8 Jan 2003 23:54:35 -0800
From: raj_rashid@hotmail.com (Rashid)
Organization: http://groups.google.com/
Message-ID: <2a6118da.0301082354.491e71aa@posting.google.com>
References: <2519cc67.0301052333.73e2b5aa@posting.google.com> <8400a733.0301060704.e9fbc01@posting.google.com> <2519cc67.0301062000.52ff7d46@posting.google.com>

Hi Upily,
         You can find some vxWorks code already available with SDK 2.0
in SACore_libs directory. This code does the work of initialization
and loading of microengines. Read the README.TXT file in L2L3fwd16
project to run the project on hardware with vxWorks.

regards,
Rashid

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

Newsgroups: comp.os.vxworks
Subject: Re: Setting multiple IP addrs for an interface
Date: Thu, 9 Jan 2003 12:29:42 +0200
From: "Martin Roth" <bmr006@email.mot.com>
Organization: Motorola
Message-ID: <avjiu2$auq$1@newshost.mot.com>
References: <avc3ao$rs6$1@news.storm.ca> <8400a733.0301070054.74033553@posting.google.com> <avefti$379$1@newshost.mot.com> <8400a733.0301080117.16dfeeb9@posting.google.com> <avhjn9$eu8$1@newshost.mot.com> <371e4594.0301081937.5ff94e0@posting.google.com>

Andrei,
I agree with you, because this is the basic of TCP/IP networking.
I am trying to think about a situation when you need to assign two IP
addresses to the same interface.
I can think of security reasons to grant some applications to use one IP
address and other applications to use a different IP address.
I think if both addresses are routable, - they should be on the same subnet.
I can accept one routable address and one private address. In this case the
routable address can be used by the external world to access low security
applications.
The private IP address (for the same interface) can be used to access
applications that should not be exposed to external networks.
I would appreciate if somebody highlights this issue, anyway I will try to
apply to Windriver.
Martin

"Andrei" <iubica2@yahoo.com> wrote in message
news:371e4594.0301081937.5ff94e0@posting.google.com...
> > > Actually it's different. VxWorks is prepared to handle n fully
> > > routeable addresses on a single interface. All of them have to be on
> > > different networks. E.g.:
> > > fei0  123.123.123.123:ffffff00
> > > fei0  12.12.12.12:ffff0000
> > > => Would be legal and should work.
> > > fei0  123.123.123.123:ffffff00
> > > fei0  123.123.123.124:ffffff00
> > > => Will most likely cause trouble with VxWorks.
>
> What Toni describes here, if true, is a bug in the IP stack. The IP
> stack should handle multiple addresses on same subnet.
> Andrei
>
> > > I'm not sure about the standard RIP and OSPF... in case you plan using
> > > them it should be checked whether they can handle multiple networks on
> > > a single interface.
> > > At least this is something the routing code of the SENS stack is
> > > prepared to handle.
> > >
> > >   toni

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

Newsgroups: comp.os.vxworks
Subject: Re: [HELP]choose which TL in trueffs
Date: Thu, 9 Jan 2003 18:29:43 +0800
From: "jm" <qianpb_761209@sina.com>
Organization: Alcatel
Message-ID: <avjitu$q0h$1@bt02e2.god.bel.alcatel.be>
References: <avgdh7$7e9$1@bt02e2.god.bel.alcatel.be> <newscache$hcoe8h$lq8$1@lnews.actcom.co.il>

Hi,
    thank for you help.
    When we make the plan,we ask the WRS' support.He say it will work in
trueffs.We also read the ndfc2048.c,think that it also connect the bus
through a controller.In order to use some feartures provided by trueffs,such
as garbage collection,we choose to use it.
    Now the troubles come.If we use the NFTL translation layer,when we use
"tffsDevFormat(0,0)",print only two identify (our MTD Identify),then return
flUnknownMedia,value=-1.
    If we use FTL trabslation layer,we find it print one MTD identify ,then
many MTD read ,then one MTD identify,then return flGeneralFailure,value=-1
    Anybody may help me??
 Best regard
         by
             jm

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

Newsgroups: rec.video.desktop,comp.os.vxworks,sci.image.processing
Subject: 1394 Digital Cameras (Sony XCD-X700) - External Triggering
Date: 9 Jan 2003 03:46:29 -0800
From: fxcrazy@yahoo.com (Tom)
Organization: http://groups.google.com/
Message-ID: <633e72d2.0301090346.5a50b7ef@posting.google.com>

Hi All, 

   Can anyone enlighten me to simulate external triggering 
   using 1394 cameras. I am using Sony XCD-X700 camera and 
   the specification says the camera accepts triggers
   TTL Level via a BNC Connnector. 

   For the moment, I don't have any hardware/mechanism to 
   generate the Input Signal 5v Pulse (Active Low) to get
   this trigger mode working. 

   Can I have some suggestions on 
	- External Hardware's to generate 5v Active Low Pulse
	- Any software mechanism to simulate the triggering
	  mechanism. 
	- Can I use a parallel port to test if the trigger 
	  mode works properly. If so how i should go about it

   I appreciate for any points on the same and 'm a newbie
   as far as these cameras' and 1394 is concerned. Please
   be gentle.
  
   Thanks in anticipation.

Cheers
- - Tom

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

Newsgroups: comp.os.vxworks
Subject: Re: Basic Doubt
Date: Thu, 09 Jan 2003 06:44:30 -0600
From: Joe Durusau <durusau@bellsouth.net>
Organization: WEBUSENET.com
Message-ID: <3E1D6EAE.4030708@bellsouth.net>
References: <avjb43$nf2$1@overload.lbl.gov>

nilanjan roychowdhury wrote:
> --0-1462287254-1042099184=:21184
> Content-Type: text/plain; charset=us-ascii
> 
> 
> Hi all,
> 
> I have recently started working with Vxworks. So I have one basic doubt. 
> 
> The manual says that Vxworks uses a special context for the ISR to
> avoid context switching. Now suppose my task t1 is currently running
> and then some interrupt occurs. Then what will be the state of t1 
>( definitely it will be other than running !!) ??because now the ISR 
>will get the CPU. So if a state transition of task t1 is occuring then
> how it is different than the normal context switching.
> 
> Please help
> 
> regards
> 
> Nilanjan
> 
>  
> 
> 
> 
> ---------------------------------
> Do you Yahoo!?
> Yahoo! Mail Plus - Powerful. Affordable. Sign up now
> --0-1462287254-1042099184=:21184
> Content-Type: text/html; charset=us-ascii
> 
	The ISR does not run as a task.  There is no TCB associated
with it.  The task that was interrupted remains ready, and can continue
if it is the highest priority ready task when the ISR exits.  In some
platforms, the ISR uses the stack of the interrupted stack.  In others,
the ISRs us a special dedicated stack.  The big thing to remember about
an ISR is that it should do a little work as possible becore giving
up control.  Ideally, it will reset whatever caused the int and do
a semGive() to let some task take over, then exit.  There is a list
of functions that can be called from an ISR, and it's not very long.

Speaking only for myself,

Joe Durusau

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Fri Jan 10 04:04:01 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Fri Jan 10 04:04:02 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Fri Jan 10 04:03:58 PST 2003

        Subject: Fibre Channel Hard Drives
        Subject: Re: howto install a terget server without the developemnt system.
        Subject: Re: Testing for VxWorks 860. I want to know real test process.
        Subject: memPartFree Fail
        Subject: Re: Delay before cacheFlush
        Subject: Re: 1394 Digital Cameras (Sony XCD-X700) - External Triggering
        Subject: Marvell Development board DB-64360-BP (MPC7455 version)
        Subject: Re: Quirky thread blocking & counting semaphore  question
        Subject: Re: Basic Doubt
        Subject: Re: Floating Point multiplication problem.
        Subject: Re: Evaluating port to VxWorks - for medical imaging application - C/C++
        Subject: Re: Delay before cacheFlush
        Subject: Re: Quirky thread blocking & counting semaphore  question
        Subject: Re: [HELP]choose which TL in trueffs
        Subject: "Slick-Edit" Question
        Subject: [Question]how to boot using bootrom?
        Subject: Re: Evaluating port to VxWorks - for medical imaging application - C/C++
        Subject: [Newbie:] IO with Java

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

Newsgroups: comp.os.vxworks
Subject: Fibre Channel Hard Drives
Date: Thu, 9 Jan 2003 09:56:48 -0500
From: "Lou Palecki" <palecki@assurtech.com>
Message-ID: <avk2ji$i4s$1@bob.news.rcn.net>

Greetings,

    I would like to know if anyone out there is working with large (>70GB)
Fibre Channel hard drives in an arbitrated loop configuration.  We are using
an MVME5100, an SBS 1GB (QLogic 2100), VxWorks 5.5 and DOSfs2.2.  We have
tried everything we can think of to get the drives to work.  The same Fibre
Channel HBA works under Windows 2k and Linux with no trouble.  VxWorks can
see smaller drives (37GB) but barfs when we try to initialize the block
device.
    Any suggestions would be appreciated before we spring for source code
licenses to fix the problem...

Thanks

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

Newsgroups: comp.os.vxworks
Subject: Re: howto install a terget server without the developemnt system.
Date: 9 Jan 2003 08:03:16 -0800
From: larryc@softcon.net (larry ciummo)
Organization: http://groups.google.com/
Message-ID: <bf43546.0301090803.6143aaf2@posting.google.com>
References: <1041935658.792197@newsreader2.wirehub.nl> <bf43546.0301071252.6c2124e5@posting.google.com> <1042019201.111306@newsreader1.wirehub.nl> <3E1C1B2E.2020506@bellsouth.net> <1042032492.596731@newsreader1.wirehub.nl>

OK.  Have you tried install Tornado on a system, and manually copying
over the registry server and tgtserver code?  Those are the only two
things you should need. You'll also have to start the registry server
daemon with the correct parameter, such as those you normally use in
T2.

lc

"Renee Teunissen" <if.you.spam.me.I.will.charge.you.1000.Euro.By.emailing.me.you agree.with.these.terms@mail.zevenaar.org> wrote in message news:<1042032492.596731@newsreader1.wirehub.nl>...
> :)
> 
> But I dont want tornado on it :) I want to install the target server
> on a "standalone" PC not my development workstation.. Therefore I was
> wondering if it is possible to do ONLY a install of the target server
> without all the tornado stuff I dont need....
> I have a tornado CDROM with licences. I just like to know how I can
> install just a target server. Or what I need to copy from my system to
> transfer the target server to that other machine.
> 
> 
> Cheers,
> Renee.
> 
> "Joe Durusau" <durusau@bellsouth.net> wrote in message
> news:3E1C1B2E.2020506@bellsouth.net...
> > It's part of Tornado.  You install Tornado (some version)
> > from the CDROM.  It comes with instructions, and on most
> > platforms is pretty automagic.
> >
> > Speaking only for myself,
> >
> > Joe Durusau
> >
> >
> > Renee Teunissen wrote:
> > > HI, Thannk you for your answer - but this is not what I'm looking
>  for.
> > > What I meant was how do I install - not run - the target-server
>  .exe,
> > > dll's and regkeys on a clean system?
> > >
> > > Thanx,
> > > Renee.
> > >
> > > "larry ciummo" <larryc@softcon.net> wrote in message
> > > news:bf43546.0301071252.6c2124e5@posting.google.com...
> > >
> > >>Make a batch file or shell script or whatever with...
> > >>
> > >>tgtsvr.exe 146.58.66.236 -A -s -V -m 4194304 -B wdbrpc -Bt 30 -Br
> > >
> > > 5 -f
> > >
> > >>elf -c C:/vxworks/vxWorks
> > >>
> > >>in it.
> > >>
> > >>Use tornado tgt server tool to see what the parameters are.
> > >>
> > >>
> > >>Good luck,
> > >>LC
> > >>
> > >>
> > >>
> > >>"Renee Teunissen"
> > >
> > > <if.you.spam.me.I.will.charge.you.1000.Euro.By.emailing.me.you
> > > agree.with.these.terms@mail.zevenaar.org> wrote in message
> > > news:<1041935658.792197@newsreader2.wirehub.nl>...
> > >
> > >>>Hi,
> > >>>
> > >>>I like to seperate the development PC from the targetserver. I
> > >>
> > > dont
> > >
> > >>>want to install a complete tornadoset on this server, only the
> > >>>targetserver. Is there a way to do this?
> > >>>
> > >>>Thanx,
> > >>>Rneee.
> > >>
> > >
> > >
> >
> >

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

Newsgroups: comp.os.vxworks
Subject: Re: Testing for VxWorks 860. I want to know real test process.
Date: 9 Jan 2003 08:16:38 -0800
From: larryc@softcon.net (larry ciummo)
Organization: http://groups.google.com/
Message-ID: <bf43546.0301090816.3ba30c4a@posting.google.com>
References: <76b199d8.0212292324.37db2314@posting.google.com>

Hello:

I would first use your debugger to load vxworks into RAM and start it.
 Link it for a specific address, and start it at sysInit with your
debugger.  It should initialize the chip and eventually start a shell
and your root process.

You could also flash your bootrom and start that from your reset
vector.  It will be harder to debug than the ram version, so get it to
work in RAM first.
Use your VisionICE to verify that all the on chip devices are set by
examining the register values.  You should have a known good set of
register values from a good bootrom, an eval board, etc.

Good luck,
lc
ywkwon@humantel.com (Kwon,YongWook) wrote in message news:<76b199d8.0212292324.37db2314@posting.google.com>...
> Thank you for your good answers.
> I asked VxWorks images to you a few days ago.
> 
> But I don't know exactly what can I do for testing 860-VxWorks.
> 
> I want to put rommable application into FLASH.
> 
> I've got known VxWorks is different to pSOS environment.
> 
> I did make every files.(bootrom, vxWorks, vxWorks_rom, etc.)
> 
> Then How can I test with this files?
> 
> I really want to know but I have no idea.
> 
> I want to know what can I do after making bootable files from the
> beginning to end .
> 
> I use mpc860, BDM(VisionClick).
> My board is ok for pSOS. No hardware errors are in it.
> My board has FLASH 8M
> SDRAM 32M
> NVRAM
> Serial
> Ethernet
> etc.
> I prepared my own board folders and all folders and modified source
> for my board specific.
> 
> I already saw databook for vxWorks. But I can't catch good hint.
> 
> I know this is not very difficult but I'm beginner so I'm confusing.

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

Newsgroups: comp.os.vxworks
Subject: memPartFree Fail
Date: 9 Jan 2003 08:25:39 -0800
From: gabi@tdsoft.com (Gabi)
Organization: http://groups.google.com/
Message-ID: <5607ff2c.0301090825.347224f9@posting.google.com>

Hi,
We use memPartAlloc & memPartFree for our memory allocations. 
We always check return codes and print any errors.

The situation:

After some time, (when couple of douzens calls to memPartAlloc made,
and several buffers were succefully freed with memPartFree)  the
function memPartFree  returns error.  After that any calls to
memPartAlloc or memPartFree are failed.

The error returned is either S_smObjLib_NOT_INITIALIZED or
S_objLib_OBJ_ID_ERROR - every time it's something else.

Both parameters to memPartFree (partition and memory address) are
correct.

Question

It seems memory area with some memory partion control block was
overwrited.
How can we check it?
We did not find any function in reference that allows us to check if
partition is OK.

Can you advice us how can we advance with this problem?

tanks
Gabi

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

Newsgroups: comp.os.vxworks
Subject: Re: Delay before cacheFlush
Date: Thu, 09 Jan 2003 12:42:56 -0500
From: Varndell Engineering <gvarndell@hotmail.com>
Organization: Posted Via Newsfeeds.com = SPEED+RETENTION+COMPLETION = http://www.newsfeeds.com
Message-ID: <mkcr1v4pbu0ie9rqorpmr0i98d6iv48sh0@4ax.com>
References: <d802dea2.0301070637.5822ea64@posting.google.com> <dlCS9.6$nl.4584@news.ecrc.de> <Xns92FD735A8CB4Fdbryayahoocom@24.48.107.53> <d802dea2.0301090928.7de1343d@posting.google.com>

On 9 Jan 2003 09:28:06 -0800, giff@ciprico.com (D. Gifford) wrote:

>From what I'm reading cachePipeFlush ("eieio" and "sync") does not
>flush the L2 cache, just L1. The symptoms I'm having look as though at
>the time of the flush I'm flushing stale data or at least corrupt.
>When I run this thing in "non-cached" memory everything is OK but as
>you stated the performance is not optimal.

What happens with the L2 configured as write-through?
By chance, does this device write to, as well as read from, the
same memory areas?

Regards,
George Varndell
- --
Varndell Engineering, LLC.          Embedded Systems Expertise
http://www.varndellengineering.com

- -----------== Posted via Newsfeed.Com - Uncensored Usenet News ==----------
   http://www.newsfeed.com       The #1 Newsgroup Service in the World!
- -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =-----

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

Newsgroups: rec.video.desktop,comp.os.vxworks,sci.image.processing
Subject: Re: 1394 Digital Cameras (Sony XCD-X700) - External Triggering
Date: Thu, 9 Jan 2003 14:05:37 -0500
From: "J" <J@com.com>
Organization: Newshosting.com - Highest quality at a great price! www.newshosting.com
Message-ID: <3e1dc807$0$31455$9a6e19ea@news.newshosting.com>
References: <633e72d2.0301090346.5a50b7ef@posting.google.com>

You should be able to simply us a 5V power supply with a resistor (~1K) in
series. I think there is 5V coming out of the parallel port, but I think it
might be easier simply wire up a small switch.

- --
J

"Tom" <fxcrazy@yahoo.com> wrote in message
news:633e72d2.0301090346.5a50b7ef@posting.google.com...
> Hi All,
>
>    Can anyone enlighten me to simulate external triggering
>    using 1394 cameras. I am using Sony XCD-X700 camera and
>    the specification says the camera accepts triggers
>    TTL Level via a BNC Connnector.
>
>    For the moment, I don't have any hardware/mechanism to
>    generate the Input Signal 5v Pulse (Active Low) to get
>    this trigger mode working.
>
>    Can I have some suggestions on
> - External Hardware's to generate 5v Active Low Pulse
> - Any software mechanism to simulate the triggering
>   mechanism.
> - Can I use a parallel port to test if the trigger
>   mode works properly. If so how i should go about it
>
>    I appreciate for any points on the same and 'm a newbie
>    as far as these cameras' and 1394 is concerned. Please
>    be gentle.
>
>    Thanks in anticipation.
>
> Cheers
> - Tom

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

Newsgroups: comp.os.vxworks
Subject: Marvell Development board DB-64360-BP (MPC7455 version)
Date: Thu, 9 Jan 2003 19:12:22 +0000 (UTC)
From: "Graham Baxter" <gbaxter@NOSPAMbcs.org.uk>
Organization: BT Openworld
Message-ID: <avkhim$6gg$1@helle.btinternet.com>

VxWorkers,

Does anyone using the above development board have a configuration/register
file for the EST Vision Probe/ICE?

Thanks for any help.

Graham

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

Newsgroups: comp.os.vxworks
Subject: Re: Quirky thread blocking & counting semaphore  question
Date: Thu, 9 Jan 2003 21:58:55 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$l7qg8h$iob$1@lnews.actcom.co.il>
References: <5c34b056.0301080908.7ce44b07@posting.google.com> <avjpa9$ode$1@news.online.de> <5c34b056.0301091039.1c8a65ee@posting.google.com>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

Here are my 2 cents:

One simple method to limit the signalling rat,e is to limit
the total number of loop iterations within the ISR itself,
and thereby limit the number of semGive() calls within a single
invokation of the ISR.
BTW, loops within ISRs are a bad idea, unless there is a
guaranteed upper limit on the number of loop iterations !

Another possible approach would be to monitor the system ticcks
from within the loop, and could loop iterations per clock tick.
This may seem inaccurate, but it is no less accurate than any
other trick you can think of with taskDelay().

If you are really willing to dig deep, task switch hooks may be
something for you to chew into.

- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

"Darren Long" <dlong@wvintenltd.com> wrote in message
news:5c34b056.0301091039.1c8a65ee@posting.google.com...
> Hi Martin,
>
> Thanks for the response, but yourr suggestion doesn't really answer
> the question.  I wanted to know how many times that the thread runs
> round the loop since it last blocked.  The intention is that an ISR
> may signal the counting Semaphore a few times in succesion (i.e. a
> single invocation of the ISR), and the handler runs that many times
> round the loop.  If the handler determines that the number of
> iterations since it last blocked is excessive (i.e. the signalling
> rate from the ISR is too high) it takes some action to rate limit the
> interrupt source.
>
> An alternative suggestion that I have had is to simply task delay the
> handler, but that is considerably less flexible than what I had hoped
> for!
>
> If I can't find a soloution to this problem (which I expect) then I
> will probably involve another periodic thread to monitor the 2nd stage
> handler task but I haven't given that much thought yet.
>
> Any other suggestions welcome...
>
> Darren
>
> "Martin Raabe" <Martin.Raab@ATNOSPAMBaSystem.de> wrote in message
news:<avjpa9$ode$1@news.online.de>...
> > Hello Darren,
> > yes, there is one:
> > Wait for the semaphore with a timeout.
> > the returnvalue tells you about the success of the wait or about
reaching
> > the timeout.
> > By that you can sum up the timeouts and have the elapsed time at hand.
> >
> > Hope it helped
> > --
> > Martin Raabe
> > E: Martin.RaabeATNOSPAMBaSystem.de
> >
> >
> > "Darren Long" <dlong@wvintenltd.com> schrieb im Newsbeitrag
> > news:5c34b056.0301080908.7ce44b07@posting.google.com...
> > > Consider the pseudo-pseudo-code below
> > >
> > > function f
> > > {
> > >    do while true
> > >    {
> > >      wait( CSem ); // counting semaphore
> > >
> > >      ... // function body
> > >
> > >    }
> >
> > > }
> > >
> > > Is there any way that the function can determine how many times it has
> > > iterated around the loop since it was unblocked?
> > >
> > > I can't think of any!
> > >
> > > Darren

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

Newsgroups: comp.os.vxworks
Subject: Re: Basic Doubt
Date: Thu, 09 Jan 2003 21:42:49 GMT
From: Dave Bryan <dbryan@yahoo.com>
Organization: The PTR Group
Message-ID: <Xns92FEA9F35A37Cdbryayahoocom@24.48.107.53>
References: <avjb43$nf2$1@overload.lbl.gov> <3E1D6EAE.4030708@bellsouth.net>

Joe Durusau wrote:

snip..

>      The ISR does not run as a task.  There is no TCB associated
> with it.  The task that was interrupted remains ready, and can continue
> if it is the highest priority ready task when the ISR exits.  In some
> platforms, the ISR uses the stack of the interrupted stack.  In others,
> the ISRs us a special dedicated stack.  The big thing to remember about
> an ISR is that it should do a little work as possible becore giving
> up control.  Ideally, it will reset whatever caused the int and do
> a semGive() to let some task take over, then exit.  There is a list
> of functions that can be called from an ISR, and it's not very long.
> 
> Speaking only for myself,
> 
> Joe Durusau
> 
> 

I'll add to Joe's response... that "technically" an ISR context IS created. 
Registers are pushed on and popped off the stack to save and restore the 
"context" of currently executing code.

However this is a different meaning of context.  In the world of the RTOS, 
a context is generally meant to be a much larger thing.  In the case of 
VxWorks, the Task Control Block (TCB) describes the "context" of a task,  
It includes the RTOS specific information such as the tasks ID, its stack 
pointer and size, its priority, and it's state.  The smaller the TCB, the 
faster the context switch time between tasks.

We say that an ISR executes in the currently executing task's (RTOS) 
context because there is no TCB context switch.  In fact, on some 
architectures, the ISR makes use of the current tasks context, using its 
stack.

So while an ISR does have it's own "context" this is not the same as an 
RTOS task context.

HTH

Dave

=====================================================
       T h e   P T R   G r o u p,   I n c.
=====================================================
    Embedded, Real-Time Solutions, and Training
David Bryan                     Office: (703)726-0498
Manager, Embedded Services        Cell: (703)627-1735
www.ThePTRGroup.com              Dave@ThePTRGroup.com
=====================================================

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

Newsgroups: comp.os.vxworks
Subject: Re: Floating Point multiplication problem.
Date: 9 Jan 2003 14:23:54 -0800
From: agraham@openglobe.net (Aaron Graham)
Organization: http://groups.google.com/
Message-ID: <95ebbe31.0301091423.1a6021ae@posting.google.com>
References: <a04ae1f7.0301090541.32d019f5@posting.google.com>

This is most likely a compiler issue.  Note I said _issue_, not bug.

Most compilers will parse the number 20971520 as an integer, and the
number 20971520.0 as a double.  The double might have then been
_truncated_ to represent it as a IEEE 754 (if I remember correctly)
32-bit floating-point value, whereas the integer value may have been
_rounded_ to the nearest 32-bit floating point value.  Thus, the
result could vary a little in either case.

Additionally, since you're only working with constants here, the
compiler will most likely perform constant folding and copy
propagation optimizations.  After those optimizations are complete,
all you will have left after the compile stage is a few calls to
printf with constant values as parameters.

You might want to take a look at your object file disassembly to see
what the compiler has done.  Try different optimization levels (try
none at all), and compare the compiler's output to see if you can
figure out where it rounded and where it truncated.

This is all perfectly normal compiler activity.  If you really need
the precision, you should probably stick to all doubles.

Hope that helps.  Email me personally if you have any more questions.
Aaron

cristian291@virgilio.it (Cristian Brambilla) wrote in message news:<a04ae1f7.0301090541.32d019f5@posting.google.com>...
> Hi everybody!
> 
> Please, consider the following task:
> 
> void testMultiplication (void)
> {
> double		tempValue;
> float		floatValue;
> unsigned long	finalValue;
> 
> 
> 	floatValue = 108.1;
> 	tempValue = floatValue*20971520;
> 	finalValue = (unsigned long)(tempValue);
> 	finalValue>>=20;
> 	printf ("\ntempValue:	%20.18f %20.18g\n",tempValue,tempValue);
> 	printf ("\nfinalValue:	%X\n",finalValue);
> 
> 	floatValue = 108.1;
> 	tempValue = floatValue*20971520.0;
> 	finalValue = (unsigned long)(tempValue);
> 	finalValue>>=20;
> 	printf ("\ntempValue:	%20.18f %20.18g\n",tempValue,tempValue);
> 	printf ("\nfinalValue:	%X\n",finalValue);
> }
> 
> I have executed this task upon a FORCE board, using Motorola 68060
> architecture. The output obtained is:
> 
> tempValue:      2267021312.000000000000000000 
> 2267021312.000000000000000000
> finalValue:     872
> 
> tempValue:      2267021280.000000000000000000 
> 2267021280.000000000000000000
> finalValue:     871
> 
> 
> The correct computation is the first one. By simply changing the
> constant value 20971520 into 20971520.0, I got a wrong result.
> Can you help me???????
> 
> Thanks in advance.

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

Newsgroups: comp.os.vxworks
Subject: Re: Evaluating port to VxWorks - for medical imaging application - C/C++
Date: 9 Jan 2003 16:11:45 -0800
From: lpdcunha@engmail.uwaterloo.ca (Larry D'Cunha)
Organization: http://groups.google.com/
Message-ID: <456de2c6.0301091611.48202167@posting.google.com>
References: <456de2c6.0301080854.37d73a8@posting.google.com> <488e459a.0301081644.48920a4c@posting.google.com>

john_94501@yahoo.com (John) wrote in message news:<488e459a.0301081644.48920a4c@posting.google.com>...
> Hello,
> 
> I don't believe that there is a downloadable version of the reference
> manual available anymore unless you have an online support account,
> but perhaps the easiest thing to do is simply to call Wind River and
> ask for an evaluation copy of the product - that will come with online
> docs at least, maybe even printed copies.

Thanks, I found the reference manual on some professor's website!

> > ioctl and fcntl. 
> 
> ioctl() is available, but whether the specific functions you are using
> are supported will depend on (a) what those functions are and (b) what
> kind of file descriptor you apply them to.
> 
> fcntl() is not part of the VxWorks API, but some of the operations
> that it provides can be achieved by other means (usually an ioctl()
> call IIRC).
> 
> HTH,
> 
> John...

Thanks very much for this insight. I have narrowed my VxWorks pre-port
analysis down to 1 function in our code to be ported, fcntl(). It is
being called three times with these parameters.

fcntl(c->sfd, F_GETFL, 0)
fcntl(c->sfd, F_SETFL, flags | O_NDELAY)
fcntl(c->sfd, F_SETFL, flags)

But I've no real idea on what exactly it is doing. If the above can be
done with ioctl() I'd sure like to know how.

Thanks again.

Larry

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

Newsgroups: comp.os.vxworks
Subject: Re: Delay before cacheFlush
Date: Fri, 10 Jan 2003 03:55:41 GMT
From: Dave Bryan <dbryan@yahoo.com>
Organization: The PTR Group
Message-ID: <Xns92FEE92E23156dbryayahoocom@24.48.107.54>
References: <d802dea2.0301070637.5822ea64@posting.google.com> <dlCS9.6$nl.4584@news.ecrc.de> <Xns92FD735A8CB4Fdbryayahoocom@24.48.107.53> <d802dea2.0301090928.7de1343d@posting.google.com>

D. Gifford wrote:

> From what I'm reading cachePipeFlush ("eieio" and "sync") does not
> flush the L2 cache, just L1. The symptoms I'm having look as though at
> the time of the flush I'm flushing stale data or at least corrupt.
> When I run this thing in "non-cached" memory everything is OK but as
> you stated the performance is not optimal.
> 

From one of my PowerPC guides:

"The eieio instruction is used to control the order in which loads and stores 
are performed when the accessed memory has certain attributes,"

"Executing a sync instruction ensures that all instructions preceding the 
sync instruction appear to have completed before the sync instruction 
completes, and that no subsequent instructions are initiated by the processor 
until after the sync instruction completes. When the sync instruction 
completes, all memory accesses caused by instructions preceding the sync 
instruction will have been performed with respect to all other mechanisms 
that access memory."

So eieio and sync really have no effect on either cache.  These mnemonics 
"flush" the instruction pipeline. 

I suspect that due to pipelining, the cacheFlush instruction is sometimes 
being executed prior to the "freshen" data instruction.  The cacheFlush then 
puts stale data into memory, while the fresh data remains stuck in cache.

Dave
=====================================================
       T h e   P T R   G r o u p,   I n c.
=====================================================
    Embedded, Real-Time Solutions, and Training
David Bryan                     Office: (703)726-0498
Manager, Embedded Services        Cell: (703)627-1735
www.ThePTRGroup.com              Dave@ThePTRGroup.com
=====================================================

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

Newsgroups: comp.os.vxworks
Subject: Re: Quirky thread blocking & counting semaphore  question
Date: Thu, 9 Jan 2003 13:18:21 +0100
From: "Martin Raabe" <Martin.Raab@ATNOSPAMBaSystem.de>
Organization: 1&1 Internet AG
Message-ID: <avjpa9$ode$1@news.online.de>
References: <5c34b056.0301080908.7ce44b07@posting.google.com>

Hello Darren,
yes, there is one:
Wait for the semaphore with a timeout.
the returnvalue tells you about the success of the wait or about reaching
the timeout.
By that you can sum up the timeouts and have the elapsed time at hand.

Hope it helped
- --
Martin Raabe
E: Martin.RaabeATNOSPAMBaSystem.de

"Darren Long" <dlong@wvintenltd.com> schrieb im Newsbeitrag
news:5c34b056.0301080908.7ce44b07@posting.google.com...
> Consider the pseudo-pseudo-code below
>
> function f
> {
>    do while true
>    {
>      wait( CSem ); // counting semaphore
>
>      ... // function body
>
>    }
>
> }
>
> Is there any way that the function can determine how many times it has
> iterated around the loop since it was unblocked?
>
> I can't think of any!
>
> Darren

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

Newsgroups: comp.os.vxworks
Subject: Re: [HELP]choose which TL in trueffs
Date: Thu, 9 Jan 2003 14:33:56 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$yl5g8h$iwa$1@lnews.actcom.co.il>
References: <avgdh7$7e9$1@bt02e2.god.bel.alcatel.be> <newscache$hcoe8h$lq8$1@lnews.actcom.co.il> <avjitu$q0h$1@bt02e2.god.bel.alcatel.be>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

TrueFFS can not access the Flash components inside CompactFlash
cards, so it will never work. TrueFFS can work with Linear Flash cards
ONLY (there are such cards from M-systems, and SanDisk you can buy).

- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

"jm" <qianpb_761209@sina.com> wrote in message
news:avjitu$q0h$1@bt02e2.god.bel.alcatel.be...
> Hi,
>     thank for you help.
>     When we make the plan,we ask the WRS' support.He say it will work in
> trueffs.We also read the ndfc2048.c,think that it also connect the bus
> through a controller.In order to use some feartures provided by
trueffs,such
> as garbage collection,we choose to use it.
>     Now the troubles come.If we use the NFTL translation layer,when we use
> "tffsDevFormat(0,0)",print only two identify (our MTD Identify),then
return
> flUnknownMedia,value=-1.
>     If we use FTL trabslation layer,we find it print one MTD identify
,then
> many MTD read ,then one MTD identify,then return flGeneralFailure,value=-1
>     Anybody may help me??
>  Best regard
>          by
>              jm
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: "Slick-Edit" Question
Date: 9 Jan 2003 04:57:54 -0800
From: shy017@yahoo.com (Shay)
Organization: http://groups.google.com/
Message-ID: <8a5dc325.0301090457.c71332c@posting.google.com>

Hi,
My question is about "Slick-Edit" editor.
So fill free to skip this one :-)

I'm using Slick-Edit with "Tornado-2".
I have problem with your tagging system. The tagging system works BUT
when tagging is done is taking too much CPU resources AND it do the
tagging when Slick-Edit decide that it should do them again.
Slick-Edit indicates that it have around 15,000 tags.

I tried to reconfigured all king of stuff -- but it seems that I did
not succeeded.
SO,
I'm asking for advice:
1. What should I do to make the tagging work with low CPU resources ?
2. Can I have tagging in back-round that are NOT blocking the
Slick-Edit from continue to work ( different tagging thread)?
3. Can I have tagging in lower task priority ?
4. Can I have Slick-Edit not to tag -- but only when I command it to
(with "Retag Workspace") ?
 

Thanks,
Shay.

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

Newsgroups: comp.os.vxworks
Subject: [Question]how to boot using bootrom?
Date: 10 Jan 2003 00:32:09 -0800
From: ywkwon@humantel.com (Kwon,YongWook)
Organization: http://groups.google.com/
Message-ID: <76b199d8.0301100032.50aeca1b@posting.google.com>

Hello?
First, I can say thank you for your good help.
Finally, I've got a result for MPC860 BOARD for VxWorks RTOS.

I made bootrom.hex and write flash with this s-record file.

I can see boot printing character from console.

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

                    VxWorks System Boot

Copyright 1984-1998 Wind River Systems, Inc.

CPU: MPLAN800 -PowerPC 860
Version: 5.4.2
BSP version: 1.2/4
Creation date: Jan  9 2003, 15:05:47

Press any key yo stop auto-boot...
7
[VxWorks Boot]:

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

I'm very glad to see this greeting ^^;
for all my result are from your good response.

After Seeing this greeting, I think everything is ok.

But I've got a problem.

I set my board's boot parameter with NVRAM value.
I use NVRAM for boot parameter. It's OK.
Then I loaded "vxWorks" file from TFTP Server.

My board's bootrom Application did this works. It's OK

I saw this printing after excuting l(load) command.
- -------------------------------------------------
Attached TCP/IP interface to cpm0.
Attaching network interface lo0... done.
Loading...600244
entry = 0x100000
[VxWorks Boot]:
- -------------------------------------------------

Then I hit "g 0x100000" command.

At that time, I can see

Starting at 0x100000...

But No work appears.

I think my bootrom application is OK. I mean no problem.
Then Network Interface is OK.
Loading file via TFTP server scheme is OK. It works well.

I think  I have some missing idea to boot.

[Question 1] Is it ok to boot "vxWorks" file?

[Question 2] I know "vxWorks" is only application image file. no OS
included.
             Is it right?

[Question 3] What file should I use for booting my MPC860 board?
             "vxWorks"? "vxWorks.st"? or any other files?

I was trying to boot with pSOS ram.elf file. this file is simple
application
ram.elf is OS+APPLICATION.

It's ok to load and go. ram.elf is excuted.

[Question 4] I made vxWorks_rom.hex and write FLASH memory with this
file.
             But I can't see any booting printing from console.
             But my bootrom.hex is OK to boot. I think vxWorks_rom.hex
is ROMed file, So I expected vxWorks_rom.hex can be booted. But no
result.
             What file should I check and modify?
             I know these two S-Record file is made by romInit.s &
bootInit.c.
             And bootrom.hex is made by bootConfig.c and
vxWorks_rom.hex is made by usrConfig.c. Is it right?

[Question 5] I doubt my definition for ADRS value
My board memory info is.
SDRAM 32M
FLASH MEM 8M
My own applicaion is not exist. only I use default ads860 board files
and modified it.
Then What is the best setting for the value of RAM_HIGH_ADRS and
RAM_LOW_ADRS ?

[Question 6]
I include INCLUDE_DEMO and not include INCLUDE_SHELL for testing.
Is it OK? I think it's simple testing method.

I think I have mistake something.

Please Give me a good answer.

Regards,
YongWook

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

Newsgroups: comp.os.vxworks
Subject: Re: Evaluating port to VxWorks - for medical imaging application - C/C++
Date: Fri, 10 Jan 2003 11:48:35 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$gmsh8h$zrd$1@lnews.actcom.co.il>
References: <456de2c6.0301080854.37d73a8@posting.google.com> <488e459a.0301081644.48920a4c@posting.google.com> <456de2c6.0301091611.48202167@posting.google.com>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

"Larry D'Cunha" <lpdcunha@engmail.uwaterloo.ca> wrote in message
news:456de2c6.0301091611.48202167@posting.google.com...
[snip]
> Thanks very much for this insight. I have narrowed my VxWorks pre-port
> analysis down to 1 function in our code to be ported, fcntl(). It is
> being called three times with these parameters.
>
> fcntl(c->sfd, F_GETFL, 0)
> fcntl(c->sfd, F_SETFL, flags | O_NDELAY)
> fcntl(c->sfd, F_SETFL, flags)
>
> But I've no real idea on what exactly it is doing. If the above can be
> done with ioctl() I'd sure like to know how.
>
IMHO this code sets a file descriptor into non-blocking mode,
in VxWorks this indeed can be done with ioctl(), but will only
work with sockets (both TCP and UDP), not with files.
On Unix, NBIO can be set on sockets and NFS files.
You'd need to find where the c->sfd is created to know
where your situated.

- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

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

Newsgroups: comp.os.vxworks
Subject: [Newbie:] IO with Java
Date: Fri, 10 Jan 2003 11:08:52 +0100
From: Stefan Mersmann <Stefan.Mersmann@Draeger.com>
Organization: Draeger Medical / R&D Intensive Care
Message-ID: <3E1E9BB4.C5E54352@Draeger.com>

Hi Folks,

I'm rather new to this group, so please forgive me in case I should
raise an old hat :)

We want to perfom basic IO using 'java.io' to access e.g. EEPROM, CAN
etc. Unfortunately our VxWorks drivers fail as soon as we write to
those devices (e.g. 'new FileOutputStream(f)'). Obviously a certain
ioctl call couldn't be served by the driver.

Are there any experiences, hints or other tips concerning these issues?

Thanks in advance!
- -- 

 With kind regards / Mit freundlichem Gruss ...

 Stefan Mersmann

 Project Manager
 Research and Development Intensive Care
 ----------------------------------------------------
 DRGER MEDICAL

 Drger Medical AG & Co. KGaA
 Moislinger Allee 53-55
 D-23542 Luebeck
 Fon +49 451 882 4062
 Fax +49 451 882 2856
 mailto:Stefan.Mersmann@Draeger.com
 http://www.draeger.com
 ----------------------------------------------------

 Important Note
 This email and any attachment hereto are confidential and may contain trade
 secrets or may be otherwise protected from disclosure. If you have received
 it in error you are in notice of this fact. Please notify us immediately by
 reply email and then delete this email and any attachment from your system.
 Please understand that you are not allowed to copy this email or any
 attachment hereto or disclose its contents to any other person. Thank you.

 Wichtiger Hinweis
 Diese E-Mail und etwaige Anlagen knnen Betriebs- oder Geschftsgeheimnisse
 sonstige vertrauliche Informationen enthalten. Sollten Sie diese E-Mail
 irrtmlich erhalten haben, ist Ihnen dieser Umstand hiermit bekannt. Bitte
 benachrichtigen Sie uns in diesem Fall umgehend durch Rcksendung der E-Mail
 und lschen Sie diese E-Mail einschlielich etwaiger Anlagen von Ihrem
 System. Diese E-Mail und ihre Anlagen drfen weiterhin nicht kopiert oder an
 Dritte weitergegeben werden. Vielen Dank.

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Sat Jan 11 04:28:54 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sat Jan 11 04:28:56 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Sat Jan 11 04:28:51 PST 2003

        Subject: Re: Delay before cacheFlush
        Subject: Re: Delay before cacheFlush
        Subject: Re: Delay before cacheFlush
        Subject: Re: Setting multiple IP addrs for an interface
        Subject: VME Based TCP IP Stack
        Subject: Re: Quirky thread blocking & counting semaphore  question
        Subject: Warning:  Tornado 2.2
        Subject: Re: Basic Doubt
        Subject: Re: Quirky thread blocking & counting semaphore  question
        Subject: Re: Warning:  Tornado 2.2
        Subject: FOM on SDK 3.0
        Subject: Re: Warning:  Tornado 2.2
        Subject: Re: Evaluating port to VxWorks - for medical imaging application - C/C++
        Subject: timers & i960-CA
        Subject: Re: VME Based TCP IP Stack
        Subject: Re: the problems to install Rtl 8139D net card to vxworks
        Subject: Device Drivers question
        Subject: Re: I'm looking for persons iterested in IXP1200 & VxWorks
        Subject: Re: Setting multiple IP addrs for an interface
        Subject: WDB Serial Backend Agent Questions
        Subject: Re: PC/104 Tri-M MZ104+ BSP
        Subject: vxWorks5.4 PPP ipcp question!
        Subject: Re: timers & i960-CA
        Subject: Re: timers & i960-CA
        Subject: Re: Warning:  Tornado 2.2

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

Newsgroups: comp.os.vxworks
Subject: Re: Delay before cacheFlush
Date: 10 Jan 2003 05:35:17 -0800
From: willemsenjc@yahoo.com (Jon Willemsen)
Organization: http://groups.google.com/
Message-ID: <ea90c3ae.0301100535.33ed23c8@posting.google.com>
References: <d802dea2.0301070637.5822ea64@posting.google.com> <dlCS9.6$nl.4584@news.ecrc.de> <Xns92FD735A8CB4Fdbryayahoocom@24.48.107.53> <d802dea2.0301090928.7de1343d@posting.google.com> <Xns92FEE92E23156dbryayahoocom@24.48.107.54>

Dave Bryan <dbryan@yahoo.com> wrote in message news:<Xns92FEE92E23156dbryayahoocom@24.48.107.54>...
> D. Gifford wrote:
> 
> > From what I'm reading cachePipeFlush ("eieio" and "sync") does not
> > flush the L2 cache, just L1. The symptoms I'm having look as though at
> > the time of the flush I'm flushing stale data or at least corrupt.
> > When I run this thing in "non-cached" memory everything is OK but as
> > you stated the performance is not optimal.
> > 
> 
> From one of my PowerPC guides:
> 
> "The eieio instruction is used to control the order in which loads and stores 
> are performed when the accessed memory has certain attributes,"
> 
> "Executing a sync instruction ensures that all instructions preceding the 
> sync instruction appear to have completed before the sync instruction 
> completes, and that no subsequent instructions are initiated by the processor 
> until after the sync instruction completes. When the sync instruction 
> completes, all memory accesses caused by instructions preceding the sync 
> instruction will have been performed with respect to all other mechanisms 
> that access memory."
> 
> So eieio and sync really have no effect on either cache.  These mnemonics 
> "flush" the instruction pipeline. 
> 
> I suspect that due to pipelining, the cacheFlush instruction is sometimes 
> being executed prior to the "freshen" data instruction.  The cacheFlush then 
> puts stale data into memory, while the fresh data remains stuck in cache.
> 
> Dave
> =====================================================
>        T h e   P T R   G r o u p,   I n c.
> =====================================================
>     Embedded, Real-Time Solutions, and Training
> David Bryan                     Office: (703)726-0498
> Manager, Embedded Services        Cell: (703)627-1735
> www.ThePTRGroup.com              Dave@ThePTRGroup.com
> =====================================================

From my understanding, the result of the cache flush operation will be
to push the updated location out of the L1/L2 data caches towards
system memory. The processor may have to arbitrate/wait for the system
bus so the write operation may end up in a write buffer within the
processor. A "sync" instruction should cause the processor to stall
until the write buffer is flushed.

However this still does not guarantee that system memory has been
updated once the sync instruction completes as the memory controller
chip may buffer the write operation between the processor bus and
system memory. In some systems, the "sync" instruction may cause a
broadcast on the system bus that results in the system controller
flushing its write buffers, but not all systems implement this. It may
be necessary for the processor to perform a read operation from system
memory in order to flush the memory controller write buffers.

In summary I would recommend the following sequence;
 1. Update the data item (only cache gets updated)
 2. Perform cache flush operation on the data item location
 3. Issue sync instruction
 4. Perform read operation from system memory (from non-cached
location!)

I have assumed that hardware snooping is not being used between the
processor and the external device.

Hope this helps,
Jon Willemsen

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

Newsgroups: comp.os.vxworks
Subject: Re: Delay before cacheFlush
Date: Fri, 10 Jan 2003 15:16:36 GMT
From: Dave Bryan <dbryan@yahoo.com>
Organization: The PTR Group
Message-ID: <Xns92FF6873F53C2dbryayahoocom@24.48.107.54>
References: <d802dea2.0301070637.5822ea64@posting.google.com> <dlCS9.6$nl.4584@news.ecrc.de> <Xns92FD735A8CB4Fdbryayahoocom@24.48.107.53> <d802dea2.0301090928.7de1343d@posting.google.com> <Xns92FEE92E23156dbryayahoocom@24.48.107.54> <ea90c3ae.0301100535.33ed23c8@posting.google.com>

Jon Willemsen wrote:
...
> In summary I would recommend the following sequence;
>  1. Update the data item (only cache gets updated)
>  2. Perform cache flush operation on the data item location
>  3. Issue sync instruction
>  4. Perform read operation from system memory (from non-cached
> location!)
> 
...
Jon - Interesting... I guess I would have recommended placing the sync BEFORE 
the cache flush instruction since we are trying to synchronize the data write 
with the cacheFlush.  I looked at the cacheFlush routine, and I see a dcbst 
instruction.  The PPC guide says: :" The dcbst instruction is treated as a 
load from the addressed byte with respect to address translation and memory 
protection."  In other words, I want my write to finish before my read(flush) 
is executed.

Also, I wonder whether an explicit read operation is necessary since any 
access to the system memory will always go through the same memory controller 
pathway.  As long as the read/write requests are posted in the correct order 
to the memory controller, everything should "work out".

Giff - to be on the safe side, I would place sync (or CACHE_PIPE_FLUSH) calls 
on either side of the cacheFlush call.  Make certain that fixes your issue.  
Then back out one or the other, and try again.

Can you then post your results?

Dave 

- -- 

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

Newsgroups: comp.os.vxworks
Subject: Re: Delay before cacheFlush
Date: 10 Jan 2003 08:44:01 -0800
From: giff@ciprico.com (D. Gifford)
Organization: http://groups.google.com/
Message-ID: <d802dea2.0301100844.3dba0d48@posting.google.com>
References: <d802dea2.0301070637.5822ea64@posting.google.com> <dlCS9.6$nl.4584@news.ecrc.de> <Xns92FD735A8CB4Fdbryayahoocom@24.48.107.53> <d802dea2.0301090928.7de1343d@posting.google.com> <Xns92FEE92E23156dbryayahoocom@24.48.107.54>

Dave Bryan <dbryan@yahoo.com> wrote in message news:<Xns92FEE92E23156dbryayahoocom@24.48.107.54>...
> D. Gifford wrote:
> 
> > From what I'm reading cachePipeFlush ("eieio" and "sync") does not
> > flush the L2 cache, just L1. The symptoms I'm having look as though at
> > the time of the flush I'm flushing stale data or at least corrupt.
> > When I run this thing in "non-cached" memory everything is OK but as
> > you stated the performance is not optimal.
> > 
> 
> From one of my PowerPC guides:
> 
> "The eieio instruction is used to control the order in which loads and stores 
> are performed when the accessed memory has certain attributes,"
> 
> "Executing a sync instruction ensures that all instructions preceding the 
> sync instruction appear to have completed before the sync instruction 
> completes, and that no subsequent instructions are initiated by the processor 
> until after the sync instruction completes. When the sync instruction 
> completes, all memory accesses caused by instructions preceding the sync 
> instruction will have been performed with respect to all other mechanisms 
> that access memory."
> 
> So eieio and sync really have no effect on either cache.  These mnemonics 
> "flush" the instruction pipeline. 
> 
> I suspect that due to pipelining, the cacheFlush instruction is sometimes 
> being executed prior to the "freshen" data instruction.  The cacheFlush then 
> puts stale data into memory, while the fresh data remains stuck in cache.
> 
> Dave
> =====================================================
>        T h e   P T R   G r o u p,   I n c.
> =====================================================
>     Embedded, Real-Time Solutions, and Training
> David Bryan                     Office: (703)726-0498
> Manager, Embedded Services        Cell: (703)627-1735
> www.ThePTRGroup.com              Dave@ThePTRGroup.com
> =====================================================

I suspect that is what is happening. I'm trying to determine what a
good work around would be short of not cacheing the data or making the
cache write-through. Both options have less than desirable effects on
performance.

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

Newsgroups: comp.os.vxworks
Subject: Re: Setting multiple IP addrs for an interface
Date: 10 Jan 2003 09:04:47 -0800
From: iubica2@yahoo.com (Andrei)
Organization: http://groups.google.com/
Message-ID: <371e4594.0301100904.127713f5@posting.google.com>
References: <avc3ao$rs6$1@news.storm.ca> <8400a733.0301070054.74033553@posting.google.com> <avefti$379$1@newshost.mot.com> <8400a733.0301080117.16dfeeb9@posting.google.com> <avhjn9$eu8$1@newshost.mot.com> <371e4594.0301081937.5ff94e0@posting.google.com> <avjiu2$auq$1@newshost.mot.com>

"Martin Roth" <bmr006@email.mot.com> wrote in message news:<avjiu2$auq$1@newshost.mot.com>...
> Andrei,
> I agree with you, because this is the basic of TCP/IP networking.
> I am trying to think about a situation when you need to assign two IP
> addresses to the same interface.

This situation is also called 'interface aliaing', or 'multihoming'.
While normally not needed, here is an example when you do need it.

On your local ethernet network, there may be multiple IP subnets
defined. If you use only one interface, you can talk directly to just
one of the subnets, and have to rely on a gateway to route packets
from you to the other subnets. Instead, you can use interface aliases
to talk directly to all the other subnets.

> I can think of security reasons to grant some applications to use one IP
> address and other applications to use a different IP address.

Once an interface is defined, all applications can use it. I don't
know any OS that allows permission setting on an IP interface, and
that checks the process user id/group id (similar to how file
permissions work). The only permission restriction, on UNIXes and
Windows (not sure of VxWorx, does it support user permisions?), is
that applications can bind to port numbers < 1024 only if they have
root permission.

> I think if both addresses are routable, - they should be on the same subnet.
> I can accept one routable address and one private address. In this case the
> routable address can be used by the external world to access low security
> applications.
> The private IP address (for the same interface) can be used to access
> applications that should not be exposed to external networks.

What you're trying to do is difficult, but not impossible. It is
similar to the ipchains concept that Linux has. If VxWorks implements
hooks at the ethernet driver level which you can use to make it drop
incoming packets based on their src/dest IP address... it could be
done. For example, the OSE real-time system has that capability.

An easier approach would be to deal with security at the application
layer.

Andrei Radulescu-Banu

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

Newsgroups: comp.os.vxworks
Subject: VME Based TCP IP Stack
Date: 10 Jan 2003 09:06:03 -0800
From: sunilchomal@ieee.org (Sunil Chomal)
Organization: http://groups.google.com/
Message-ID: <accd57f5.0301100906.18ba050a@posting.google.com>

Hi there!

I am looking out for VME based TCP/IP stack. I have a xclient on a
sparc cpu board, and a xserver on a graphic card. Both these cards are
on the VME bus, and I need to communication between the xclient and
xserver using the VME bus.

Hope to get some respone!

Regards,

Sunil

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

Newsgroups: comp.os.vxworks
Subject: Re: Quirky thread blocking & counting semaphore  question
Date: Fri, 10 Jan 2003 14:30:57 -0500
From: Keith Arner <karner@pit.comms.marconi.com>
Organization: Marconi
Message-ID: <Pine.GSO.4.42.0301101423090.6991-100000@zimbra>
References: <5c34b056.0301080908.7ce44b07@posting.google.com>
Reply-To: Keith Arner <keith.arner@marconi.com>

On 8 Jan 2003, Darren Long wrote:

> Consider the pseudo-pseudo-code below
>
> function f
> {
>    do while true
>    {
>      wait( CSem ); // counting semaphore
>    }
> }
>
> Is there any way that the function can determine how many times it has
> iterated around the loop since it was unblocked?

The following code might work.  For some reason, I have a nagging feeling
that there's something wrong with it, but I haven't been able to put my
finger on it.  intLock()/taskLock() feel like they will be frought with
peril, but...

Maybe someone else will be able to see something I can't.

void f (void) {
 while (1) {
  int level;
  STATUS ret;
  int count = 0;

  taskLock();
  level = intLock();
  ret = semTake(CSem, NO_WAIT);
  if (ret == ERROR) {
    semTake(CSem, WAIT_FOREVER);
    count = 0;
  } else {
    count++;
  }
  intUnlock(level);
  taskUnlock();

  /* application logic goes here */

 }
}

Keith

- -- 
"One should not pursue goals that are easily achieved."
			- Albert Einstein, 1915

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

Newsgroups: comp.os.vxworks
Subject: Warning:  Tornado 2.2
Date: 6 Jan 2003 13:44:16 -0800
From: gpbeck_99@yahoo.com (Gary Beck)
Organization: http://groups.google.com/
Message-ID: <eac587be.0301061344.100009b6@posting.google.com>

Found out today that WRS has removed 486 support from Tornado 2.2. 
Due to the overwhelming cry out from customers, they are considering
putting it back.

Doh!

Question - Why remove it?

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

Newsgroups: comp.os.vxworks
Subject: Re: Basic Doubt
Date: Fri, 10 Jan 2003 14:50:55 -0500
From: Keith Arner <karner@pit.comms.marconi.com>
Organization: Marconi
Message-ID: <313680C9A886D511A06000204840E1CF061D414B-100000@whq-msgusr-02.pit.comms.marconi.com>
References: <avjb43$nf2$1@overload.lbl.gov> <3E1D6EAE.4030708@bellsouth.net>
 <Xns92FEA9F35A37Cdbryayahoocom@24.48.107.53>
Reply-To: Keith Arner <keith.arner@marconi.com>

On Thu, 9 Jan 2003, Dave Bryan wrote:

> I'll add to Joe's response... that "technically" an ISR context IS created.
> Registers are pushed on and popped off the stack to save and restore the
> "context" of currently executing code.
>
> However this is a different meaning of context.  In the world of the RTOS,
> a context is generally meant to be a much larger thing.  In the case of
> VxWorks, the Task Control Block (TCB) describes the "context" of a task,
> It includes the RTOS specific information such as the tasks ID, its stack
> pointer and size, its priority, and it's state.  The smaller the TCB, the
> faster the context switch time between tasks.
>
> We say that an ISR executes in the currently executing task's (RTOS)
> context because there is no TCB context switch.  In fact, on some
> architectures, the ISR makes use of the current tasks context, using its
> stack.
>
> So while an ISR does have it's own "context" this is not the same as an
> RTOS task context.

I'll toss in my two cents, which will either help clear things up or (more
likely) muddy the issue. =)

They way that I think of "context" is the combination of a stack and a set
of microprocessor register values.  In VxWorks, each task has a seperate
stack, and a seperate set of register values (the values of the registers
are stored in the microprocessor when the task is active, and stored in
the TCB when the task is not active).

A "task context switch" means switching from one stack/registers pair to a
different stack/registers pair.

In "interrupt context" you still have a stack and a set of registers.  In
VxWorks some architectures piggyback the ISR on top of whatever task stack
was active at the time of servicing the interrupt, while other
architectures have a stack set aside specifically for ISRs.  In either
event, when the ISR exits, the task's context should be uneffected: the
stack and the registers should be in the same state as they were when the
ISR was entered.

Getting back to the OP's question: what happens to the tasks state while
the ISR is running.  Well, if you test that task status from the ISR (the
status field in the TCB), you would find it to be whatever the value was
when the ISR fired.  However, this is kind of a moot point.  From the
task's standpoint, it's status never changed.  The task cannot run while
the ISR is executing, and the task resumes just exactly where it left off
when the ISR fired.  The ISR does not (or at least should not) care about
the status of the task, as it does not (or at least should not) interact
with a task directly; rather it should interact with a task through a
semaphore or a message queue or some such.

Keith

- -- 
"One should not pursue goals that are easily achieved."
			- Albert Einstein, 1915

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

Newsgroups: comp.os.vxworks
Subject: Re: Quirky thread blocking & counting semaphore  question
Date: Fri, 10 Jan 2003 15:01:24 -0500
From: Keith Arner <karner@pit.comms.marconi.com>
Organization: Marconi
Message-ID: <Pine.GSO.4.42.0301101454210.6991-100000@zimbra>
References: <5c34b056.0301080908.7ce44b07@posting.google.com>
 <avjpa9$ode$1@news.online.de> <5c34b056.0301091039.1c8a65ee@posting.google.com>
Reply-To: Keith Arner <keith.arner@marconi.com>

On 9 Jan 2003, Darren Long wrote:

> round the loop.  If the handler determines that the number of
> iterations since it last blocked is excessive (i.e. the signalling
> rate from the ISR is too high) it takes some action to rate limit the
> interrupt source.

One solution would be to rate limit it directly within the ISR:

static int count;

void myWdHandler(void) {
  count = LIMIT;
  wdStart(wdId, sysClkRateGet(), myWdHandler, 0);
}

void myIsr(void) {
  if (!count) {
   return;
  }
  count--;

  /* process interrupt */
}

Note that you might have to jump through some hoops to kick-start the ISR
later on, and you also might have to intLock() to protect count.

Keith

Hhmm... two postings in one week with wdStart(), two postings in one week
with intLock().  You'd think I only know how to use two functions. ;)

- -- 
"One should not pursue goals that are easily achieved."
			- Albert Einstein, 1915

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

Newsgroups: comp.os.vxworks
Subject: Re: Warning:  Tornado 2.2
Date: Mon, 06 Jan 2003 22:10:59 GMT
From: "who am i" <who@am.i>
Organization: Telenet Internet
Message-ID: <T9nS9.93064$Ti2.13129@afrodite.telenet-ops.be>
References: <eac587be.0301061344.100009b6@posting.google.com>

> Found out today that WRS has removed 486 support from Tornado 2.2.
Crazy

> Question - Why remove it?
Yes why?

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

Newsgroups: comp.os.vxworks
Subject: FOM on SDK 3.0
Date: 6 Jan 2003 15:01:03 -0800
From: cmosexod@ix.netcom.com (jjl)
Organization: http://groups.google.com/
Message-ID: <e35e414c.0301061501.74f408bc@posting.google.com>

Hello,

Has someone developed a Foreign Object Model for the IXP2400/2800 ?
Specifically, for interfacing to the QDR SRAM ports.  If so, I am
wondering if you had any problems on reading data from the QDR SRAM
port pins.
We have developed a QDR-SSRAM FOM for the IXP2x00 which interfaces to
our Verilog code for doing "co-simulation". It uses sockets to
communicate between the VCS (out Verilog simulator) and the FOM DLL
(VC++ 6.0). We can do writes from the ME's all the way to the Verilog,
but are having difficulties with reads.  The IXP simulator
(transactor) is not reading-in the data presented to the data-in port
(QDR0_D_H<17:0>).  It appears that the simualtor is using an
"internal" virtual SRAM model.  The manuals are very sketchy on how to
disable it, if it is the case.

Given that this is my first posting to this groups and my searches to
other groups did not yield much, I am not sure if this is the proper
group for my post.  If not, would appretiate a pointer to the group(s)
most applicable on this subject.

regards,
- -Joon

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

Newsgroups: comp.os.vxworks
Subject: Re: Warning:  Tornado 2.2
Date: 06 Jan 2003 18:19:17 -0500
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <m2isx1lvd6.fsf@sympatico.ca>
References: <eac587be.0301061344.100009b6@posting.google.com>
Sender: bpringle@DeadDuck

>>>>> "Gary" == Gary Beck <gpbeck_99@yahoo.com> writes:

 Gary> Found out today that WRS has removed 486 support from Tornado
 Gary> 2.2.  Due to the overwhelming cry out from customers, they are
 Gary> considering putting it back.

 Gary> Doh!

They did a similar thing for ARMARCH3 or the ARM710A targets.  Ie,
ARM's that don't support atomic loads of 16 bit values.

 Gary> Question - Why remove it?

I would imagine that it is one more thing for them to test.  The
Pentium has some optimizations that the 486 doesn't.  People using
something better than 486 would ask "Why isn't this optimized for a
Pentium".  If the scheduler takes advantage of advanced instructions,
then it means that code would have to be conditionally compiled.

Unfortunately due to "majority vote", 486 will be included but old ARM
variants wont.  This is unfortunate as 486 customers could go
elsewhere.  What RTOS is supporting the old ARMS?  Nucleus?  Linux?
Oh Well...

fwiw,
Bill Pringlemeir.

- -- 
How many retired bricklayers from FLORIDA are out purchasing PENCIL
SHARPENERS right NOW??

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

Newsgroups: comp.os.vxworks
Subject: Re: Evaluating port to VxWorks - for medical imaging application - C/C++
Date: 10 Jan 2003 15:36:13 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0301101536.2948f6f0@posting.google.com>
References: <456de2c6.0301080854.37d73a8@posting.google.com> <488e459a.0301081644.48920a4c@posting.google.com> <456de2c6.0301091611.48202167@posting.google.com>

Hello,

> Thanks, I found the reference manual on some professor's website!

Hmmm... that doesn't sound terribly legal since it is technically a
copyrighted work.

> Thanks very much for this insight. I have narrowed my VxWorks pre-port
> analysis down to 1 function in our code to be ported, fcntl(). It is
> being called three times with these parameters.
> 
> fcntl(c->sfd, F_GETFL, 0)

This gets the current flag settings for c->sfd.

> fcntl(c->sfd, F_SETFL, flags | O_NDELAY)

Assuming that c->sfd is a file descriptor for something that supports
non-blocking operation (only a socket in VxWorks IIRC), then this will
set the I/O to non-blocking mode + whatever was in flags (I'm going to
guess that flags holds the return value from the previous call).

> fcntl(c->sfd, F_SETFL, flags)

If, as I assumed in the last case, flags holds the value returned by
the F_GETFL operation above, then this is probably being used to
return the file descriptor to blocking mode.

> But I've no real idea on what exactly it is doing. If the above can be
> done with ioctl() I'd sure like to know how.

Switching between non-blocking and blocking modes is simple:

on = TRUE; /* TRUE for non-blocking, FALSE for blocking */
status = ioctl (c->sfd, FIONBIO, &on);

Detecting which one is currently set is harder. I can't see a way to
get the current setting for an arbitrary socket descriptor. If you can
keep track of this in the application (or you know that it will always
be blocking mode when the routine is called), then the above two lines
will work for you.

HTH,

John...

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

Newsgroups: comp.os.vxworks
Subject: timers & i960-CA
Date: Fri, 10 Jan 2003 23:49:26 +0000 (UTC)
From: <ulisses@pusa.no.spam.informat.uv.es>
Organization: Universitat de Valencia
Message-ID: <avnm66$jei$1@peque.uv.es>
Sender: <ulisses@pusa.informat.uv.es>

Hi all

I have read the manual of the i960-CA (960-Cx family) and I did not found 
any timer on this on this processor, it seems if you want to program something
periodically you must to use an external timer.

Am I right?

Is there any workaround? (this processor also doesn't seem to have a TimeStamp
counter on it) 

Any comment would be greatly appreciated

Thanks in advance

	Ulisses

                Debian GNU/Linux: a dream come true
- -----------------------------------------------------------------------------
"Computers are useless. They can only give answers."            Pablo Picasso

- --->	Visita http://www.valux.org/ para saber acerca de la	<---
- --->	Asociacin Valenciana de Usuarios de Linux		<---
 

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

Newsgroups: comp.os.vxworks
Subject: Re: VME Based TCP IP Stack
Date: Fri, 10 Jan 2003 20:06:51 -0600
From: Joe Durusau <durusau@bellsouth.net>
Organization: WEBUSENET.com
Message-ID: <3E1F7C3B.3050105@bellsouth.net>
References: <accd57f5.0301100906.18ba050a@posting.google.com>

Sunil Chomal wrote:
> Hi there!
> 
> I am looking out for VME based TCP/IP stack. I have a xclient on a
> sparc cpu board, and a xserver on a graphic card. Both these cards are
> on the VME bus, and I need to communication between the xclient and
> xserver using the VME bus.
> 
> Hope to get some respone!
> 
> Regards,
> 
> Sunil

At least in the past, WRS offered something called vxMP that allowed
TCP/IP over the backplane of a VME box.  Maybe that's what you are
looking for.

Speaking only for myself,

Joe Durusau

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

Newsgroups: comp.os.vxworks
Subject: Re: the problems to install Rtl 8139D net card to vxworks
Date: 6 Jan 2003 17:53:29 -0800
From: freebird21ce@hotmail.com (freebird21ce@hotmail.com)
Organization: http://groups.google.com/
Message-ID: <c7697c5d.0301061753.442de5ed@posting.google.com>
References: <c7697c5d.0301060019.e9a1de6@posting.google.com> <newscache$k5ha8h$nc2$1@lnews.actcom.co.il>

thanks a lot for your help!

"Leonid Rosenboim" <My_1st_name@Consultant.Com> wrote in message news:<newscache$k5ha8h$nc2$1@lnews.actcom.co.il>...
> You foregot to compile the driver sourece:
> 
> cd target\src\drv\end\unsupported
> make CPU=PENTIUM

but how can i run the 'make' command?
my host OS is windows98, does it mean i run the 'make' command in DOS
shell under this directory? but it doesn't work at all! oboviously the
make.exe does't under this directory.

how can i do?
can you explain the "make CPU=PENTIUM" a litter more detail.
thank you very much!

> 
> Also, you shoul dhave been more careful replacing the original BSP source
> files with the ones that come from Realtek - you should have compared the
> two, and carefully entered the appropriate additions.
> 
> By the way, Realtek violates Wind River copyright by publishing these files
> on their Web site. They only have the rights to their modifications.
> 
> --
> -----------------------------------------------------------------------
>    Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
>        Consultant                Email: my first name at consultant dot com
> 
> 
> <freebird21ce@hotmail.com> wrote in message
> news:c7697c5d.0301060019.e9a1de6@posting.google.com...
> > hello everybody:
> > i wanna use an rtl8139D NIC on vxworks, and i download the driver from
> > the realtek websit,as told by the README file , i copy the files to
> > the corresponsive directory as follow:
> >
> > target/config/pcPentium:
> > config.h
> > configNet.h
> > sysRtl81x9.c
> > sysLib.       /*these four files overlap the previous files with same
> > name*/
> >
> > arget\h\drv\end\unsupported:
> > rtl81x9.h
> >
> > target\src\drv\end\unsupported:
> > rtl81x9.c
> > Makefile
> >
> > of course i modified the boot line in config.h for i need.
> > then i build the boot rom and kernel, the problem comes:
> > when i build boot rom, the error information as follow:
> >     sysALib.o sysLib.o    D:\TORNADO\target\lib\libPENTIUMgnuvx.a
> > sysLib.o(.text+0x4a7e): undefined reference to `rtl81x9EndLoad'
> > sysLib.o(.text+0x4b0b): undefined reference to `rtl81x9EndLoad'
> > make.exe: *** [bootrom_uncmp] Error 0x1
> >
> > when i build the kernel,the error information as follow:
> >     -o vxWorks dataSegPad.o vxWorks.tmp ctdt.o
> > vxWorks.tmp(.text+0x4cc6): undefined reference to `rtl81x9EndLoad'
> > vxWorks.tmp(.text+0x4d53): undefined reference to `rtl81x9EndLoad'
> > make.exe: *** [vxWorks] Error 0x1
> >
> > what should i do now? can anybody give me a hint. thanks a lot!

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

Newsgroups: comp.os.vxworks
Subject: Device Drivers question
Date: Sat, 11 Jan 2003 05:34:49 GMT
From: "shasia" <lk@bb.vv>
Organization: Cox Communications
Message-ID: <Z1OT9.4807$ym4.447117@news2.west.cox.net>

I have tons of documentation on Tornado and on VxWorks and I have access to
windsurf (or whatever it is called now) but I can't find anywhere any device
driver programming guide or how to write a BSP. All I have is BSP reference
which is probably a very useful thing to somebody who already knows how to
write it/use it. Can somebody please tell me if I am looking for something
that does not exist or where I can find this documentation. Many thanks.

Alex

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

Newsgroups: comp.os.vxworks
Subject: Re: I'm looking for persons iterested in IXP1200 & VxWorks
Date: 6 Jan 2003 20:00:42 -0800
From: upily@mail.kaist.ac.kr (UPILY)
Organization: http://groups.google.com/
Message-ID: <2519cc67.0301062000.52ff7d46@posting.google.com>
References: <2519cc67.0301052333.73e2b5aa@posting.google.com> <8400a733.0301060704.e9fbc01@posting.google.com>

Thanks for your answer first. :-)

I'm using the IXP1200 Evaluation Platform. (I don't know what the Echo
Creek Development System is.) Here is Network Systems Lab. in KAIST,
KOREA. (http://netsys.kaist.ac.kr)

I intend doing Layer3 IPv4 forwarder with a special scheduling
algorithm that I have designed. Tornado 2.2 is installed On host
pc(win2000) and target(IXP1200 Evaluation Platform) is connected with
host through serial cable and ethernet. I made bootable image in
Tornado and downloaded it into FlashRom in IXP1200 target using TFTP.
The target is now bootable with VxWorks in it and I can connect with
it using hyper terminal in win2000 through serial port.

Now I intend to initialize microengine and download the microengine
code that I have coded in the workbench into each microengine on the
IXP1200 target. The microengine code is for data-path processing. And
I should deploy the scheduling algorithm on the StrongArm core. I
think I should make a code excuting on VxWorks that incldues the
scheduling algorithm and communicate with the microengines exchanging
control signals by the scheduling algorithm.

I don't know how to initialize microengines and how to make the
VxWorks code and deploy it into target.. can you help me?

gonozal@gmx.at (Toni Kurzberger) wrote in message news:<8400a733.0301060704.e9fbc01@posting.google.com>...
> This will depend on what you intend todo with the IXP1200. What
> exactly do you intend todo with this Network Processor? Are you
> working with the Echo Creek Development System?
> 
> A pure VxWorks 5.5 executes on the IXPs StrongARM core only, it will
> not touch the micro code engines. Typically VxWorks should be used to
> handle the control path of frames/packets, initialization of the
> microcode engines, etc.
> 
> Work should be done in the IXPs 6 micro code engines.
> 
> In case you intend doing a Layer 2 Frame (e.g. Ethernet) switch or a
> Layer 3 Packet (IPv4) forwarder you might be interrested in having a
> look at TMS from WindRiver. This would handle Layer 2 & Layer 3
> control layer (so, this effectivly is a VxWorks + the application).
> There should be integrations available for the IXP.
> 
> Well... and what is the current status? Did you manage to get VxWorks
> running on the StronARM?
> 
>   toni

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

Newsgroups: comp.os.vxworks
Subject: Re: Setting multiple IP addrs for an interface
Date: 6 Jan 2003 20:08:18 -0800
From: vdalal@hotmail.com (Vasu Dalal)
Organization: http://groups.google.com/
Message-ID: <363d071b.0301062008.76ad7a67@posting.google.com>
References: <avc3ao$rs6$1@news.storm.ca>

Hello :

> What calls do I need to make to give an Ethernet interface 2 IP addresses?
> 

Use ifAddrAdd() in ifLib.h

ifAddrAdd (char* interfaceName,char* interfaceAddr, char*
broadcastAddr, int subnetmask);

Try for example :

ifAddrAdd "motfcc0","192.168.101.100","192.168.101.255",0xffffff00
<enter>

hth,
vasu

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

Newsgroups: comp.os.vxworks
Subject: WDB Serial Backend Agent Questions
Date: Mon, 6 Jan 2003 22:29:21 -0600
From: "fred" <fred@rubble.com>
Organization: Posted via Supernews, http://www.supernews.com
Message-ID: <v1klso518pb041@corp.supernews.com>
Reply-To: "fred" <fred@rubble.com>

Hello,

We've successfully used Tornado 2.0 (with 2 patches) on custom built MIPS
R3000 board.  The board doesn't have an Ethernet interface so we've used the
serial backend agent for Tornado and all has worked fine for about 2 years.
Our host PC (Compaq running Windows NT) was recently upgraded to a Dell P4
machine running Windows 2000 and we installed Tornado 2.02.

Now we are having trouble downloading object files to the board using our
new setup where we never had problems before.  The Backend target  agent
always starts successfully and we have been able to start a shell but we see
problems when we download object code.  Approximately 1 out if 50 attempts
works but the other 49 fail (the download dialog stays at 0% forever).

To try and see what was happening I found a shareware serial port diagnostic
tool that you can start before launching Tornado and it records all activity
at a specified COM port.  When I run this program I can see the data being
exchanged between the target and the host PC when VxWorks boots and the
target server starts.  When we try to download I can see 5-6 exchanges
between the target and the host PC then nothing -- the download dialog stays
at 0% with the little file flying between the two folders.

Is there any way to decode what is in these exchanges?  Is there any way for
me to debug this problem??

Thanks,

David Hyde

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

Newsgroups: comp.os.vxworks
Subject: Re: PC/104 Tri-M MZ104+ BSP
Date: Tue, 07 Jan 2003 04:43:11 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <zVsS9.470648$GR5.176260@rwcrnsc51.ops.asp.att.net>
References: <eac587be.0301031332.c0a0d2f@posting.google.com> <zMpR9.548916$WL3.147316@rwcrnsc54> <eac587be.0301040702.282aeb4b@posting.google.com> <s%IR9.443749$GR5.150057@rwcrnsc51.ops.asp.att.net> <eac587be.0301051957.7901ce55@posting.google.com>

Gary,

   One last put. Are you attempting to run vxWorks 5.5 or is this
vxWorks AE? (The bootloader showing version 1.6 is why I am
asking). I am sure you know that currently vxWork 5.5 doesn't
support x86, though there probably are options around this.
Good Luck!

"Gary Beck" <gpbeck_99@yahoo.com> wrote in message
news:eac587be.0301051957.7901ce55@posting.google.com...
> Thanks DrDiags for all the info.
>
> I have not been able to determine where the boot "crashes" causing a
> system reboot.  I'm using a PCI VGA board to monitor the boot process.
>  I can see bootrom.sys being loaded (accessed) from the floppy
> (displayed on the monitor "V1.6+++++++++...")  Just as it seems it
> will start executing the boot sequence, the system resets.
>
> I'll try disabling the parallel port along with other unnecessary
> interfaces to see if that makes any difference.  However, I would like
> to use both COM ports and both ethernet ports (reason we got this
> board).  We will need to boot from the DDS, but for now I'm trying the
> floppy since I figured that would be the easiest.
>
> I've got a TSR into WindRiver regarding the pc486 BSP.  Hopefully they
> get back to me on Monday.
>
> I've also contacted Tri-M, but they were not much help initially.
> I'll try them again.
>
> Thanks again.  I'll let you know how I make out.
>
> "drdiags" <drdiags@attbi.com> wrote in message
news:<s%IR9.443749$GR5.150057@rwcrnsc51.ops.asp.att.net>...
> > Hello Gary,
> >
> >     The only suggestion I have is that you should contact your local
> > Wind River sales team to look into purchasing the 486 BSP. I
> > would imagine there are other 3rd party folks who may respond,
> > so you may want to re-post to clear out this thread. BTW,
> > when you state that the target doesn't boot, do you know
> > where it fails? I found that I needed to purchase a PC104+
> > VGA board to review the BIOS settings (though setting the
> > BIOS to use the serial port is possible, I only had a hyperterminal
> > connection, so the graphics were hard on the eyes). Also,
> > have you setup the DiskOnChip to boot vxWorks or are you using
> > the floppy? One quirk (un-verified by me) is the one needs to
> > set the LPT to not use IRQ 7 in the BIOS Settings
> > (claims leaving it will hang the system when vxWorks boots up).
> > You could set it to 5. And I never could get IRQ 11/12
> > (USB and PS2 mouse) free for use by vxWorks even when
> > I disabled these devices in the BIOS (but that is  another story).
> > Plus the two on-board ethernets kept using IRQ 10/11
> > instead of 9/10 as documented.
> >     So the bottom line is that you could contact TRI-M and
> > have them help work through this or I know that the Wind River
> > pc486 BSP (with slight modifications) works for this h/w. As
> > one final note, I found that doing anything with the PCI Interrupts
> > in BIOS (such as reserving them, setting them to use legacy devices
> > or the like) would cause vxWorks to crash. I could only let the
> > PCI IRQs be managed by the BIOS. HTH
> >
> > "Gary Beck" <gpbeck_99@yahoo.com> wrote in message
> > news:eac587be.0301040702.282aeb4b@posting.google.com...
> > > I'm trying to use the 486 core.  According to the documentation that
> > > came with the BSP from zfmicro.com, the ZFx86 is not compatible with
> > > the Pentium core.  I've tried to use a generic 486 BSP but couldn't
> > > find one.  I've tried both the templatex86 and pcPentium BSPs with
> > > defining the CPU to be a 486, but still doesn't boot.
> > >
> > > Any other ideas?  Thanks for responding.
> > >
> > >
> > > "drdiags" <drdiags@attbi.com> wrote in message
> >  news:<zMpR9.548916$WL3.147316@rwcrnsc54>...
> > > > Hello Gary,
> > > >
> > > >     Are you using the 486 or Pentium core? I worked with folks using
the
> > > > 486 core and they just used the stock vxWorks 486 BSP and had it
> > > > working for them (with of course mods for their  PCMCIA and custom
> > > > H/W boards). Good luck.
> > > >
> > > > "Gary Beck" <gpbeck_99@yahoo.com> wrote in message
> > > > news:eac587be.0301031332.c0a0d2f@posting.google.com...
> > > > > I'm looking for a BSP for this board.  It has the ZFx86 processor
on
> > > > > board.  I've downloaded the BSP from zfmicro.com, but I can't use
it
> > > > > to create a new project.
> > > > >
> > > > > Any ideas?

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

Newsgroups: comp.os.vxworks
Subject: vxWorks5.4 PPP ipcp question!
Date: 6 Jan 2003 21:11:56 -0800
From: yongchen@online.sh.cn (chenyong)
Organization: http://groups.google.com/
Message-ID: <d5e50b0c.0301062111.1537af8@posting.google.com>

Hi, guys

Now we are in trouble with a PPP question!

We using serial rs232 to complete PPP function.
os is vxWorks5.4.
hardware is x86 with a RJ45 LAN port.
i use usrPPPInit("ppp=/tyCo/0,9600",0,"","") in shell.
PAP has passed.After PAP, it need to sent a NULL ip to server to apply
an ip address, but it sent a local ethernet Ip address,
"192.168.0.66.",not the "0.0.0.0" .when we changed it to "1.1.1.1",it
sent "1.1.1.1".

but we do need to send "0.0.0.0" to the server.

I disable DNS fuction in vxWorks configurature.

Anyone can help me?

mark

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

Newsgroups: comp.os.vxworks
Subject: Re: timers & i960-CA
Date: Sat, 11 Jan 2003 10:50:18 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$9lkj8h$h7g$1@lnews.actcom.co.il>
References: <avnm66$jei$1@peque.uv.es>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

You are right, unlike the i960 Jx and Hx series, the CA and CF where
the first ones out, and they had fewer integration components on chip,
therefore to use a 960Cx with VxWorks, the board had to have an
external timer/couter connected to one of its interrupt lines.

Without a timer, no operating system can use this chip, so the board
must have a timer.

But an application need to use the timer services via the OS interface
(see wdLib if you use VxWorks).

- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

<ulisses@pusa.no.spam.informat.uv.es> wrote in message
news:avnm66$jei$1@peque.uv.es...
>
> Hi all
>
>
> I have read the manual of the i960-CA (960-Cx family) and I did not found
> any timer on this on this processor, it seems if you want to program
something
> periodically you must to use an external timer.
>
> Am I right?
>
> Is there any workaround? (this processor also doesn't seem to have a
TimeStamp
> counter on it)
>
> Any comment would be greatly appreciated
>
> Thanks in advance
>
>
> Ulisses
>
>
>                 Debian GNU/Linux: a dream come true
> --------------------------------------------------------------------------
- ---
> "Computers are useless. They can only give answers."            Pablo
Picasso
>
> ---> Visita http://www.valux.org/ para saber acerca de la <---
> ---> Asociacin Valenciana de Usuarios de Linux <---
>

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

Newsgroups: comp.os.vxworks
Subject: Re: timers & i960-CA
Date: Sat, 11 Jan 2003 09:09:56 +0000 (UTC)
From: <ulisses@pusa.nospam.informat.uv.es>
Organization: Universitat de Valencia
Message-ID: <avon14$ndu$1@peque.uv.es>
References: <avnm66$jei$1@peque.uv.es> <newscache$9lkj8h$h7g$1@lnews.actcom.co.il>
Sender: <ulisses@pusa.informat.uv.es>

Hi Leonid

Leonid Rosenboim <My_1st_name@consultant.com> wrote:
> You are right, unlike the i960 Jx and Hx series, the CA and CF where
> the first ones out, and they had fewer integration components on chip,
> therefore to use a 960Cx with VxWorks, the board had to have an
> external timer/couter connected to one of its interrupt lines.
>
> Without a timer, no operating system can use this chip, so the board
> must have a timer.

Ok

> But an application need to use the timer services via the OS interface
> (see wdLib if you use VxWorks).

I don't understand nothing of the last paragraph, maybe cause my english?

you say to obtain the timing from an external source via software?

Thanks

	Ulisses

                Debian GNU/Linux: a dream come true
- -----------------------------------------------------------------------------
"Computers are useless. They can only give answers."            Pablo Picasso

- --->	Visita http://www.valux.org/ para saber acerca de la	<---
- --->	Asociacin Valenciana de Usuarios de Linux		<---
 

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

Newsgroups: comp.os.vxworks
Subject: Re: Warning:  Tornado 2.2
Date: 7 Jan 2003 10:51:57 GMT
From: William Munns <will_munns@iname.com>
Organization: Your Company
Message-ID: <avebg8$el0rq$1@ID-177444.news.dfncis.de>
References: <eac587be.0301061344.100009b6@posting.google.com> <m2isx1lvd6.fsf@sympatico.ca>

Bill Pringlemeir <spam_account@sympatico.ca> wrote in
news:m2isx1lvd6.fsf@sympatico.ca: 

>>>>>> "Gary" == Gary Beck <gpbeck_99@yahoo.com> writes:
>  Gary> Doh!
> 
> They did a similar thing for ARMARCH3 or the ARM710A
> targets.  Ie, ARM's that don't support atomic loads of 16
> bit values. 

You mean ARM's that aren't produced anymore?
(with the excetption of the 7500FE?)

> but old ARM variants wont.  This is unfortunate as 486
> customers could go elsewhere.  What RTOS is supporting the
> old ARMS?  Nucleus?  Linux? Oh Well...
> 
> fwiw,
> Bill Pringlemeir.
> 

RISC OS?

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Sun Jan 12 04:03:27 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sun Jan 12 04:03:29 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Sun Jan 12 04:03:25 PST 2003

        Subject: Re: Delay before cacheFlush
        Subject: Re: timers & i960-CA
        Subject: Re: Device Drivers question
        Subject: Re: Device Drivers question
        Subject: Re: Delay before cacheFlush
        Subject: Re: timers & i960-CA
        Subject: Re: the problems to install Rtl 8139D net card to vxworks
        Subject: Re: timers & i960-CA
        Subject: Re: timers & i960-CA
        Subject: Re: considering a positiion using vxworks
        Subject: Re: Curious Problem with IBM NPe405L and vxWorks
        Subject: Re: timers & i960-CA

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

Newsgroups: comp.os.vxworks
Subject: Re: Delay before cacheFlush
Date: Tue, 7 Jan 2003 16:27:33 +0100
From: "Friedrich Ensslin" <friedrich.ensslin@am3.com>
Message-ID: <dlCS9.6$nl.4584@news.ecrc.de>
References: <d802dea2.0301070637.5822ea64@posting.google.com>

Hi,
perhaps you should mark the data structures to be used by the other device
as non-cacheable.This not only makes sure, that they are written
immediately, but also saves you the cache flushing of memory which isn't
needed by the other device.
bye,
Fritz

"D. Gifford" <giff@ciprico.com> schrieb im Newsbeitrag
news:d802dea2.0301070637.5822ea64@posting.google.com...
> I have a design that uses the PPC750 and L2 cache. When I place data
> in the L2 cache sometimes I need to guarantee that the data is in main
> system memory for another device to use. For this I am using the the
> cacheLib function "cacheFlush" but it seems to not always work
> properly. If I place a delay between when I write the last variable
> into cache and when I call the cacheFlush function everything seems to
> work. Has anyone seen tis before?

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

Newsgroups: comp.os.vxworks
Subject: Re: timers & i960-CA
Date: Sat, 11 Jan 2003 19:30:31 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$ao8k8h$a5h$1@lnews.actcom.co.il>
References: <avnm66$jei$1@peque.uv.es> <newscache$9lkj8h$h7g$1@lnews.actcom.co.il> <avon14$ndu$1@peque.uv.es>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

I will try to elaborate:

When an operating system like VxWorks is ported to a board with a Cx CPU,
the BSP - Board Support Package, must provide drivers for several critical
devices, and timer i sone of them. The OS is dependent on the timer services
so the BSP has to support it.

And once the OS has its timer support via the BSP, this timer is shared
among all applications by means of a software interface the OS provides.
I can give you examples of the same principle on practically any operating
system.

The only limitation of sharing a single hardware timer among the kernel
and all appkication is the resulution of the timer, the OS inccurs overhead
that grows with the timer frequency. A typical system clock frequency for
the i960Cx is 60 to 100Hz, which gives the applications timing at 10ms-18ms
resulution, and some application find this resolution not satisfactory, so
there
is a provision for a second timer in the BSP, sysAuxClock, read the FAQ and
VxWorks documentation to learn more.

- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

<ulisses@pusa.nospam.informat.uv.es> wrote in message
news:avon14$ndu$1@peque.uv.es...
> Hi Leonid
>
> Leonid Rosenboim <My_1st_name@consultant.com> wrote:
> > You are right, unlike the i960 Jx and Hx series, the CA and CF where
> > the first ones out, and they had fewer integration components on chip,
> > therefore to use a 960Cx with VxWorks, the board had to have an
> > external timer/couter connected to one of its interrupt lines.
> >
> > Without a timer, no operating system can use this chip, so the board
> > must have a timer.
>
>
> Ok
>
> > But an application need to use the timer services via the OS interface
> > (see wdLib if you use VxWorks).
>
> I don't understand nothing of the last paragraph, maybe cause my english?
>
> you say to obtain the timing from an external source via software?
>
> Thanks
>
> Ulisses
>
>                 Debian GNU/Linux: a dream come true
> --------------------------------------------------------------------------
- ---
> "Computers are useless. They can only give answers."            Pablo
Picasso
>
> ---> Visita http://www.valux.org/ para saber acerca de la <---
> ---> Asociacin Valenciana de Usuarios de Linux <---
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Device Drivers question
Date: Sat, 11 Jan 2003 10:08:39 -0800
From: Rick Davis <rld@rmbwoc.com>
Message-ID: <3E205DA7.3070605@rmbwoc.com>
References: <Z1OT9.4807$ym4.447117@news2.west.cox.net>

Dave Bryant's #4 ( hire someone who's done it before ) is
the quick solution.  Otherwise, a training course either
from Wind or another company is well worth the $$$.  Once
you get the hang of it, it's not too difficult but the
first time can be a pain in the posterior.  I worked with
folks who did it from the developer documentation the first
time and it was, well, "exciting".

- -- Rick Davis

shasia wrote:

> I have tons of documentation on Tornado and on VxWorks and I have access to
> windsurf (or whatever it is called now) but I can't find anywhere any device
> driver programming guide or how to write a BSP. All I have is BSP reference
> which is probably a very useful thing to somebody who already knows how to
> write it/use it. Can somebody please tell me if I am looking for something
> that does not exist or where I can find this documentation. Many thanks.
> 
> Alex
> 
> 
> 

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

Newsgroups: comp.os.vxworks
Subject: Re: Device Drivers question
Date: Sat, 11 Jan 2003 18:50:54 +0000 (UTC)
From: David Laight <david@spam.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <avpp2d$sg$1@sparta.btinternet.com>
References: <Z1OT9.4807$ym4.447117@news2.west.cox.net> <3E205DA7.3070605@rmbwoc.com>

Rick Davis wrote:
> 
> Dave Bryant's #4 ( hire someone who's done it before ) is
> the quick solution.  Otherwise, a training course either
> from Wind or another company is well worth the $$$.  Once
> you get the hang of it, it's not too difficult but the
> first time can be a pain in the posterior.  I worked with
> folks who did it from the developer documentation the first
> time and it was, well, "exciting".

It is also best to have the code for 'something vaugely
similar' - at least then you know which bits you have to write.

Even given one of WRS's standard BSPs for a board, you might
find it buggy in certain areas.  I had to rewrite all the
timer routines and interrupt dispatch code for the one we used.
(as well as all the drivers fromthe stuf actually specific
to our board)

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: Delay before cacheFlush
Date: Sat, 11 Jan 2003 13:53:41 -0500
From: Varndell Engineering <gvarndell@hotmail.com>
Organization: Posted Via Newsfeeds.com = SPEED+RETENTION+COMPLETION = http://www.newsfeeds.com
Message-ID: <3E206835.5090703@hotmail.com>
References: <d802dea2.0301070637.5822ea64@posting.google.com> <dlCS9.6$nl.4584@news.ecrc.de> <Xns92FD735A8CB4Fdbryayahoocom@24.48.107.53>

Dave Bryan wrote:
> Friedrich Ensslin wrote:
> 
> 
>>Hi,
>>perhaps you should mark the data structures to be used by the other device
>>as non-cacheable.This not only makes sure, that they are written
>>immediately, but also saves you the cache flushing of memory which isn't
>>needed by the other device.
>>bye,
>>Fritz
>>
>>"D. Gifford" <giff@ciprico.com> schrieb im Newsbeitrag
>>news:d802dea2.0301070637.5822ea64@posting.google.com...
>>
>>>I have a design that uses the PPC750 and L2 cache. When I place data
>>>in the L2 cache sometimes I need to guarantee that the data is in main
>>>system memory for another device to use. For this I am using the the
>>>cacheLib function "cacheFlush" but it seems to not always work
>>>properly. If I place a delay between when I write the last variable
>>>into cache and when I call the cacheFlush function everything seems to
>>>work. Has anyone seen tis before?
>>
> 
> Certainly making memory non-cachable is the safe thing to do.  But it is not 
> the optimal thing to do.  WIND seems to promote using cacheDmaMalloc, which 
> will allocate non-cachable memory.  But in fact, you will get much better 
> performance out of your hardware if cache is enabled.
>

For certain types of systems, designating all of memory as
cache-inhibited might well produce optimal performance.
For (most) other systems, optimal performance will be achieved
using a combination of cached and non-cached memory along
with a prudent partitioning of memory spaces that can be
accessed by external bus masters.
Wind's cacheDmaMalloc() allows one to do just that; carve
out a piece of non-cached memory space from a larger cached
space. Your claim that 'better' performance is gained with
enabled caches is rather far reaching. The OP didn't supply
enough information about his system to warrant that conclusion.

> The problem Giff is having is probably related to the PIPELINE.  It's been a 
> little while since I looked at the PPC specific instructions, but I believe 
> the macro CACHE_PIPE_FLUSH will do the trick (I'm pretty sure this does an 
> eieio, sync).

The cacheFlush() function already ends with a sync.
Following it with eieio;sync is beating a dead horse.

Regards,
George Varndell
- --
Varndell Engineering, LLC       Embedded Systems Expertise
Need a vxWorks END for National Semiconductor DP8382x GigE?
http://www.varndellengineering.com

- -----------== Posted via Newsfeed.Com - Uncensored Usenet News ==----------
   http://www.newsfeed.com       The #1 Newsgroup Service in the World!
- -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =-----

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

Newsgroups: comp.os.vxworks
Subject: Re: timers & i960-CA
Date: Sat, 11 Jan 2003 22:20:50 +0000 (UTC)
From: <ulisses@pusa.no.spam.informat.uv.es>
Organization: Universitat de Valencia
Message-ID: <avq5c2$t20$1@peque.uv.es>
References: <avnm66$jei$1@peque.uv.es> <newscache$9lkj8h$h7g$1@lnews.actcom.co.il> <avon14$ndu$1@peque.uv.es> <newscache$ao8k8h$a5h$1@lnews.actcom.co.il>
Sender: <ulisses@pusa.informat.uv.es>

Hi Leonid!

Thanks for your reply

Leonid Rosenboim <My_1st_name@consultant.com> wrote:
> I will try to elaborate:
> When an operating system like VxWorks is ported to a board with a Cx CPU,
> the BSP - Board Support Package, must provide drivers for several critical
> devices, and timer i sone of them. The OS is dependent on the timer services
> so the BSP has to support it.

Ok, ok...

> And once the OS has its timer support via the BSP, this timer is shared
> among all applications by means of a software interface the OS provides.
> I can give you examples of the same principle on practically any operating
> system.
> The only limitation of sharing a single hardware timer among the kernel
> and all appkication is the resulution of the timer, the OS inccurs overhead
> that grows with the timer frequency. A typical system clock frequency for
> the i960Cx is 60 to 100Hz, which gives the applications timing at 10ms-18ms
> resulution, and some application find this resolution not satisfactory, so
> there is a provision for a second timer in the BSP, sysAuxClock, read the FAQ 
> and VxWorks documentation to learn more.

I'm interested in implementing the timer facility myself, not using VXworks'
facilities

I had to say first, that I'm not going to use VxWorks or any other operating
system, I'm going to play directly with hardware. I would like to know how
VxWorks implemented it, so I can implement myself, or an alternate way...

It's hard to find info about it, so I decided post here my question, maybe I
should had to put an "OFFTOPIC" in the subject... anyway this question is
also interesting for people using VxWorks, isn't it? or should I say for old
versions of VxWorks? i960 seems a no longer supported version in
windriver's web page.

I don't have VxWorks but searching the net seems that VxWorks distributed
source code of it's operating system or at least some of it, but I did not
found any timer related code for the i960-Cx

Again, thanks in advance

	Ulisses

                Debian GNU/Linux: a dream come true
- -----------------------------------------------------------------------------
"Computers are useless. They can only give answers."            Pablo Picasso

- --->	Visita http://www.valux.org/ para saber acerca de la	<---
- --->	Asociacin Valenciana de Usuarios de Linux		<---
 

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

Newsgroups: comp.os.vxworks
Subject: Re: the problems to install Rtl 8139D net card to vxworks
Date: Tue, 7 Jan 2003 09:27:19 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$w22c8h$hn4$1@lnews.actcom.co.il>
References: <c7697c5d.0301060019.e9a1de6@posting.google.com> <newscache$k5ha8h$nc2$1@lnews.actcom.co.il> <c7697c5d.0301061753.442de5ed@posting.google.com>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

Yes, you need to do it in a Command Window (a.k.a.. DOS window),
and if it can not find the executables, you need to go to the "bin"
directory
of Tornado and run a batch file that sets up your environment (includiing
path).

See the Tornado manual for details.

<freebird21ce@hotmail.com> wrote in message
news:c7697c5d.0301061753.442de5ed@posting.google.com...
> thanks a lot for your help!
>
> "Leonid Rosenboim" <My_1st_name@Consultant.Com> wrote in message
news:<newscache$k5ha8h$nc2$1@lnews.actcom.co.il>...
> > You foregot to compile the driver sourece:
> >
> > cd target\src\drv\end\unsupported
> > make CPU=PENTIUM
>
> but how can i run the 'make' command?
> my host OS is windows98, does it mean i run the 'make' command in DOS
> shell under this directory? but it doesn't work at all! oboviously the
> make.exe does't under this directory.
>
> how can i do?
> can you explain the "make CPU=PENTIUM" a litter more detail.
> thank you very much!
>
>
> >
> > Also, you shoul dhave been more careful replacing the original BSP
source
> > files with the ones that come from Realtek - you should have compared
the
> > two, and carefully entered the appropriate additions.
> >
> > By the way, Realtek violates Wind River copyright by publishing these
files
> > on their Web site. They only have the rights to their modifications.
> >
> > --
> > -----------------------------------------------------------------------
> >    Leonid Rosenboim     Visit:
http://www.masada2000.org/historical.html
> >        Consultant                Email: my first name at consultant dot
com
> >
> >
> > <freebird21ce@hotmail.com> wrote in message
> > news:c7697c5d.0301060019.e9a1de6@posting.google.com...
> > > hello everybody:
> > > i wanna use an rtl8139D NIC on vxworks, and i download the driver from
> > > the realtek websit,as told by the README file , i copy the files to
> > > the corresponsive directory as follow:
> > >
> > > target/config/pcPentium:
> > > config.h
> > > configNet.h
> > > sysRtl81x9.c
> > > sysLib.       /*these four files overlap the previous files with same
> > > name*/
> > >
> > > arget\h\drv\end\unsupported:
> > > rtl81x9.h
> > >
> > > target\src\drv\end\unsupported:
> > > rtl81x9.c
> > > Makefile
> > >
> > > of course i modified the boot line in config.h for i need.
> > > then i build the boot rom and kernel, the problem comes:
> > > when i build boot rom, the error information as follow:
> > >     sysALib.o sysLib.o    D:\TORNADO\target\lib\libPENTIUMgnuvx.a
> > > sysLib.o(.text+0x4a7e): undefined reference to `rtl81x9EndLoad'
> > > sysLib.o(.text+0x4b0b): undefined reference to `rtl81x9EndLoad'
> > > make.exe: *** [bootrom_uncmp] Error 0x1
> > >
> > > when i build the kernel,the error information as follow:
> > >     -o vxWorks dataSegPad.o vxWorks.tmp ctdt.o
> > > vxWorks.tmp(.text+0x4cc6): undefined reference to `rtl81x9EndLoad'
> > > vxWorks.tmp(.text+0x4d53): undefined reference to `rtl81x9EndLoad'
> > > make.exe: *** [vxWorks] Error 0x1
> > >
> > > what should i do now? can anybody give me a hint. thanks a lot!

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

Newsgroups: comp.os.vxworks
Subject: Re: timers & i960-CA
Date: Sun, 12 Jan 2003 09:59:58 +0000 (UTC)
From: <ulisses@pusa.informat.uv.es>
Organization: Universitat de Valencia
Message-ID: <avreau$2v7$1@peque.uv.es>
References: <avnm66$jei$1@peque.uv.es> <newscache$9lkj8h$h7g$1@lnews.actcom.co.il> <avon14$ndu$1@peque.uv.es> <newscache$ao8k8h$a5h$1@lnews.actcom.co.il> <avq5c2$t20$1@peque.uv.es>

ulisses@pusa.no.spam.informat.uv.es wrote:
[...]
> Hi Leonid!
> I'm interested in implementing the timer facility myself, not using VXworks'
> facilities

For added clarity

I'm interested in implementing it without any external timer hardware, in
other words, implementing enterely within i960-CA, if that's possible :-)

Thanks

	Ulisses

               Debian GNU/Linux: a dream come true
- -----------------------------------------------------------------------------
"Computers are useless. They can only give answers."            Pablo Picasso

- --->	Visita http://www.valux.org/ para saber acerca de la	<---
- --->	Asociacin Valenciana de Usuarios de Linux		<---
 

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

Newsgroups: comp.os.vxworks
Subject: Re: timers & i960-CA
Date: Sun, 12 Jan 2003 12:55:39 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$52ll8h$v2n$1@lnews.actcom.co.il>
References: <avnm66$jei$1@peque.uv.es> <newscache$9lkj8h$h7g$1@lnews.actcom.co.il> <avon14$ndu$1@peque.uv.es> <newscache$ao8k8h$a5h$1@lnews.actcom.co.il> <avq5c2$t20$1@peque.uv.es> <avreau$2v7$1@peque.uv.es>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

<ulisses@pusa.informat.uv.es> wrote in message
news:avreau$2v7$1@peque.uv.es...
> ulisses@pusa.no.spam.informat.uv.es wrote:
> [...]
> > Hi Leonid!
> > I'm interested in implementing the timer facility myself, not using
VXworks'
> > facilities
>
> For added clarity
>
> I'm interested in implementing it without any external timer hardware, in
> other words, implementing enterely within i960-CA, if that's possible :-)
>

No, I do not think it is possible without some external hardware for the
i960 CA
chip, this is simply a function that the CPU does not have.
You can look what OTHER chips you DO HAVE on the board, and evaluate each
for this porpose - some UARTs have a timer function included in them.
Also, a UART can emulate s timer if you sacrifice one channel, transmitting
characters all the time will get you an interrupt every ~ 1msec, if the
channel
is seto to 9600 baud.

I still do not really understand what you are trying to acheive here, but
you seem
to be a long way from where you want to go.

- - Leonid

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

Newsgroups: comp.os.vxworks
Subject: Re: considering a positiion using vxworks
Date: Sun, 12 Jan 2003 06:10:03 GMT
From: "H. E. Taylor" <het@despam.autobahn.mb.ca>
Organization: MTS Internet
Message-ID: <3E212164.4155@despam.autobahn.mb.ca>
References: <TK4U9.648232$WL3.684532@rwcrnsc54>

In article <TK4U9.648232$WL3.684532@rwcrnsc54>,
<spam@nospam.com> sidewinder wrote:
> 
> I am a software engineer specializing in firmware.  Is vxworks easy to
> learn?  
>

	Many variables.  There are several flavours.  The host environment
	can be a pain.  (Don't know how to say this without sounding like 
	a jerk;-) How much do you know?  A familiarity with UNIX would help.
	Exposure to a flat address space, library based OS like AmigaDOS 
	would help.  Good contacts with your FAE (and the contract with WRS
	behind it) would help.  A contact who has some BSP familiarity 
	would help.

>I was told it was a cake walk but the deadlines on the project will
> be very tight, so I am concerned since I haven't used it before.
>

	Depends how tight.

<good luck>
- -het

- --
"progress in software has not followed Moore's law."  -John Holland 

Computer Links: http://www.autobahn.mb.ca/~het/clinks.html
H.E. Taylor  http://www.autobahn.mb.ca/~het/

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

Newsgroups: comp.os.vxworks
Subject: Re: Curious Problem with IBM NPe405L and vxWorks
Date: Sun, 12 Jan 2003 13:07:06 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$9lll8h$k5n$1@lnews.actcom.co.il>
References: <3E20D7B1.4070801@nc.rr.com>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

This may be a a long shot, but ehre it goes anyway:

I have experienced custom designed boards that had their RAM
timing marginal, and the HW guys did not test large "burst" mode
memory accesses. In my case it usually faiiled the first time that
a context switch was attempted, because the kernel has assembly
code to load and store the registers as fast as possible, and maing
use of available burst modes.

Whet I suggest you do is put a Logic Analyzer on the Bus, and use
the exception as a trigger for the Logic

- -- Hope this helps.
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

"Ricky West" <rwwest@nc.rr.com> wrote in message
news:3E20D7B1.4070801@nc.rr.com...
> Lately,  the project I have been working on has been seeing an
> intermittent problem with the generation of a data access exception and
> I wanted to post to the news group for some advice/comments.  We have
> been searching for the cause with visionIce and visionTrace using
> singleStep with vision and have been stumped by the tools.  Can't seem
> to get them to work right in our enviornment and application.  Such is
> life.
>
> On with the story...
>
> The Setup...
>
> Configuration---Tornado 2.0.2 with some patches for dosFs2.0 and some
> TMS stuff
> Build Env---Windows 2000
> BSP---NPe405L from IBM for vxWorks  windKernel 2.5 and vxWorks 5.4
> Options---INCLUDE_BASIC_MMU with both instruction and data MMU enabled
>
> The Problem...
>
> Various tasks blow up where the implicated code is in windLoadContext
> just before the restoral of regs r3 and r4 but after the setting of SRR0
> and SRR1.  This we have been able to determine using hardware
> breakpoints set at the data access exception vector of 0x300.  It just
> so happens that the tasks that crash have TCBs that are aligned such
> that the addresses storing the PC and the MSR for the task are in a
> different 4K memory page than the addresses where regs r3 and r4 stored.
>  We have verified that external exceptions are disabled during the load
> function, but both instruction and data TLB miss exceptions are not.
>
> The Theory...
>
> We have not been able to trace the code using visionTrace, a real-time
> trace option to the visionIce.  But here goes with the theory based on
> experience and educated guesses.  We think that during the loading one
> of the tasks that cross the 4k boundary is switched in but where the
> page boundaries result in a data TLB miss after the SRR0 and SRR1 have
> been restored.  Since the TLB miss handler does the rfi rather than the
> load context fcn, the contents of r3 and r4 are not restored from the
> saved context of the task.
>
> The Questions...
>
> 1.  Has anybody else seen something like this?
>
> 2.  Does the switching of tasks for this BSP really happen outside of
> exception handling?
>
> 3.  Are there any other suggestions or theories to follow-up with.
>
> Thanks in advance,
>
> Ricky West
> Hatteras Networks
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: timers & i960-CA
Date: Sun, 12 Jan 2003 11:34:00 +0000 (UTC)
From: <ulisses@pusa.no.spam.informat.uv.es>
Organization: Universitat de Valencia
Message-ID: <avrjr8$3lq$1@peque.uv.es>
References: <avnm66$jei$1@peque.uv.es> <newscache$9lkj8h$h7g$1@lnews.actcom.co.il> <avon14$ndu$1@peque.uv.es> <newscache$ao8k8h$a5h$1@lnews.actcom.co.il> <avq5c2$t20$1@peque.uv.es> <avreau$2v7$1@peque.uv.es> <newscache$52ll8h$v2n$1@lnews.actcom.co.il>
Sender: <ulisses@pusa.informat.uv.es>

Hi Leonid!

Leonid Rosenboim <My_1st_name@consultant.com> wrote:
[...]
> No, I do not think it is possible without some external hardware for the
> i960 CA
> chip, this is simply a function that the CPU does not have.
> You can look what OTHER chips you DO HAVE on the board, and evaluate each
> for this porpose 

Ok

> - some UARTs have a timer function included in them.
> Also, a UART can emulate s timer if you sacrifice one channel, transmitting
> characters all the time will get you an interrupt every ~ 1msec, if the
> channel
> is seto to 9600 baud.

interesting

> I still do not really understand what you are trying to acheive here, but
> you seem
> to be a long way from where you want to go.

I want to implement packet timestamping on a NIC that has a i960 built on it
for my graduate project

I'm waiting to receive the source code of an unoficial firmware of this NIC
that I'll try to modify to achieve it

Again, thank you so much for your (so interesting) replies

And yes, you're probably right while saying "you seem to be a long away"... 

:-(

	Ulisses
                Debian GNU/Linux: a dream come true
- -----------------------------------------------------------------------------
"Computers are useless. They can only give answers."            Pablo Picasso

- --->	Visita http://www.valux.org/ para saber acerca de la	<---
- --->	Asociacin Valenciana de Usuarios de Linux		<---
 

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Mon Jan 13 04:03:30 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Mon Jan 13 04:03:32 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Mon Jan 13 04:03:27 PST 2003

        Subject: Re: How about the macro RAM_HIGH_ADRS ?
        Subject: detect telnet connection lose faster.
        Subject: Re: timers & i960-CA
        Subject: Re: detect telnet connection lose faster.
        Subject: Re: WDB Serial Backend Agent Questions
        Subject: Re: POSIX compliant calls for sockets in VxWorks
        Subject: considering a positiion using vxworks
        Subject: Re: timers & i960-CA
        Subject: Curious Problem with IBM NPe405L and vxWorks
        Subject: entry point of flash memory on MPC860ADS
        Subject: kernel preemption
        Subject: Need help with problems with Motorola Sandpoint Eval Board
        Subject: IP Packet Routing
        Subject: Re: Quirky thread blocking & counting semaphore  question
        Subject: dec 21143 missing carrier detction?
        Subject: Re: timers & i960-CA
        Subject: Re: entry point of flash memory on MPC860ADS
        Subject: Re: considering a positiion using vxworks
        Subject: POSIX compliant calls for sockets in VxWorks
        Subject: Re: Setting multiple IP addrs for an interface
        Subject: Re: the problems to install Rtl 8139D net card to vxworks
        Subject: Re: kernel preemption

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

Newsgroups: comp.os.vxworks
Subject: Re: How about the macro RAM_HIGH_ADRS ?
Date: Tue, 7 Jan 2003 11:00:51 -0800
From: "Dan Gold" <my-lastname@ensemble.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <avf855$d74$1@newsreader.mailgate.org>
References: <avblbc$1c9b$1@mail.cn99.com>
Sender: gold@ensemble.com

"minskey73" <minskey73@yahoo.com.cn> wrote in message
news:avblbc$1c9b$1@mail.cn99.com...
> Hi,
>     I am writing my BSP for MPC860 . In config.h and makefile ,there's a
> macro RAM_HIGH_ADRS. I know that the memory between RAM_LOW_ADRS and
> RAM_HIGH_ADRS is used for vxWorks image. My board has 128M RAM, and the
size
> of my image file is 17MBytes . So I want to define the macro as
> 0x02000000(32M) in both config.h and makefile. But the BSP do not work. If
I
> define it as 0x01200000,it works well.  Why ?  I want to get it.

I did read the other posts but there are still some unanswered questions:

Your image is 17MB - I take it that is the application and not your bootrom
? :-)  How are you loading your application, i.e. TFTP or is it burned into
flash and then loaded from there ?

So you know that between RAM_LOW_ADRS and RAM_HIGH_ADRS is where the vxWorks
application (presumably your 17MB image) will live.  Now the bootrom (that
will load your image) *starts* executing at RAM_HIGH_ADRS.  How big is your
bootrom ?  Even if your bootrom is 1MB, if you set RAM_HIGH_ADRS to 32MB,
your bootrom will live between 32 and 33MB.  As everyone pointed out, this
is above the 24-bit limit and thus vxworks can't jump from the exception
vectors to your bootrom.  Thus your bootrom needs to be lower than 32MB.
Your bootrom should start (i.e. RAM_HIGH_ADRS) at (as Michael correctly
pointed out) 32MB-sizeof(bootrom image).  And leave some room someplace for
a stack, heap, etc if you need it.

Since it works when you set RAM_HIGH_ADRS to 0x1200000 (18MB), your bootrom
will start executing at 18MB.  I would think your bootrom is less than 14MB
:-)  and so you stay within the 32MB limit.

Don't confuse RAM_HIGH_ADRS with LOCAL_MEM_SIZE.  Once your 17MB image is
booted, you can tell vxWorks that you have 128MB.  Just don't try to
dynamically load code and jump to it (without -mlongcall).

  hth,
   Dan Gold   gold@ensemble.com

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

Newsgroups: comp.os.vxworks
Subject: detect telnet connection lose faster.
Date: 12 Jan 2003 04:39:19 -0800
From: shy017@yahoo.com (Shay)
Organization: http://groups.google.com/
Message-ID: <8a5dc325.0301120439.29c2a2a0@posting.google.com>

Hi all,
I wish that telnet daemon detect faster that the connection is gone.

I tried:
1. To change the value of TCP_CON_TIMEO_DFLT to smaller value (from 150 to 20).
   Did not do the work.
2. I want to use 'setsockopt()' -- how do I get the 'sock' parameters ? 
   (is it possible?)

Thanks,
- --Shay

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

Newsgroups: comp.os.vxworks
Subject: Re: timers & i960-CA
Date: Sun, 12 Jan 2003 14:54:26 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$4kql8h$dan$1@lnews.actcom.co.il>
References: <avnm66$jei$1@peque.uv.es> <newscache$9lkj8h$h7g$1@lnews.actcom.co.il> <avon14$ndu$1@peque.uv.es> <newscache$ao8k8h$a5h$1@lnews.actcom.co.il> <avq5c2$t20$1@peque.uv.es> <avreau$2v7$1@peque.uv.es> <newscache$52ll8h$v2n$1@lnews.actcom.co.il> <avrjr8$3lq$1@peque.uv.es>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

Never heard of a NIC that contains a i960 Cx, but I do know of NIC cards
that have a i960Rx (which is an I2O derivative, similar to i960Jx).

For timestamping packets, you coul duse a timer, but for 100Mbps Ethernet
the resolution must be at least 10kHz, which is a lot  if you have to
geberate
interrupts, but you can write a "timestamp" driver, that has a software
counter incremebted by timer interrupts for MSBs and read the timer's
counter for the LSB.

As a first and most critical step, I would recommend to carefully stuy
the hardware manual.

- -- HTH
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

<ulisses@pusa.no.spam.informat.uv.es> wrote in message
news:avrjr8$3lq$1@peque.uv.es...
> Hi Leonid!
>
> Leonid Rosenboim <My_1st_name@consultant.com> wrote:
> [...]
> > No, I do not think it is possible without some external hardware for the
> > i960 CA
> > chip, this is simply a function that the CPU does not have.
> > You can look what OTHER chips you DO HAVE on the board, and evaluate
each
> > for this porpose
>
> Ok
>
> > - some UARTs have a timer function included in them.
> > Also, a UART can emulate s timer if you sacrifice one channel,
transmitting
> > characters all the time will get you an interrupt every ~ 1msec, if the
> > channel
> > is seto to 9600 baud.
>
> interesting
>
> > I still do not really understand what you are trying to acheive here,
but
> > you seem
> > to be a long way from where you want to go.
>
> I want to implement packet timestamping on a NIC that has a i960 built on
it
> for my graduate project
>
> I'm waiting to receive the source code of an unoficial firmware of this
NIC
> that I'll try to modify to achieve it
>
> Again, thank you so much for your (so interesting) replies
>
> And yes, you're probably right while saying "you seem to be a long
away"...
>
> :-(
>
> Ulisses
>                 Debian GNU/Linux: a dream come true
> --------------------------------------------------------------------------
- ---
> "Computers are useless. They can only give answers."            Pablo
Picasso
>
> ---> Visita http://www.valux.org/ para saber acerca de la <---
> ---> Asociacin Valenciana de Usuarios de Linux <---
>

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

Newsgroups: comp.os.vxworks
Subject: Re: detect telnet connection lose faster.
Date: Sun, 12 Jan 2003 15:00:08 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$ntql8h$nan$1@lnews.actcom.co.il>
References: <8a5dc325.0301120439.29c2a2a0@posting.google.com>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

Normally, a TELNEt server listens for data to come form the client,
and if the client does not send any, ithe server keeps on waiting.
If there is no outstanding data which has not been acknowledged,
the TCP timeout does not count, hence your result.
In order to make the server monitor the client status, you need to
turn on the "Keep Alive" TCP option, adn then the TCP timeout
will take effect - the server will periodically send empty probe packets
fo the client, and cick start the timeout timer.

HTH --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

"Shay" <shy017@yahoo.com> wrote in message
news:8a5dc325.0301120439.29c2a2a0@posting.google.com...
> Hi all,
> I wish that telnet daemon detect faster that the connection is gone.
>
> I tried:
> 1. To change the value of TCP_CON_TIMEO_DFLT to smaller value (from 150 to
20).
>    Did not do the work.
> 2. I want to use 'setsockopt()' -- how do I get the 'sock' parameters ?
>    (is it possible?)
>
> Thanks,
> --Shay

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

Newsgroups: comp.os.vxworks
Subject: Re: WDB Serial Backend Agent Questions
Date: 7 Jan 2003 12:44:47 -0800
From: larryc@softcon.net (larry ciummo)
Organization: http://groups.google.com/
Message-ID: <bf43546.0301071244.69544d0e@posting.google.com>
References: <v1klso518pb041@corp.supernews.com>

This sounds like the standard Win 2000 target server problem.  The
priority of the target server needs to be increased to "real time". 
Try right-clicking on the target server in the task manager and
selecting RT priority.

LC

"fred" <fred@rubble.com> wrote in message news:<v1klso518pb041@corp.supernews.com>...
> Hello,
> 
> We've successfully used Tornado 2.0 (with 2 patches) on custom built MIPS
> R3000 board.  The board doesn't have an Ethernet interface so we've used the
> serial backend agent for Tornado and all has worked fine for about 2 years.
> Our host PC (Compaq running Windows NT) was recently upgraded to a Dell P4
> machine running Windows 2000 and we installed Tornado 2.02.
> 
> Now we are having trouble downloading object files to the board using our
> new setup where we never had problems before.  The Backend target  agent
> always starts successfully and we have been able to start a shell but we see
> problems when we download object code.  Approximately 1 out if 50 attempts
> works but the other 49 fail (the download dialog stays at 0% forever).
> 
> To try and see what was happening I found a shareware serial port diagnostic
> tool that you can start before launching Tornado and it records all activity
> at a specified COM port.  When I run this program I can see the data being
> exchanged between the target and the host PC when VxWorks boots and the
> target server starts.  When we try to download I can see 5-6 exchanges
> between the target and the host PC then nothing -- the download dialog stays
> at 0% with the little file flying between the two folders.
> 
> Is there any way to decode what is in these exchanges?  Is there any way for
> me to debug this problem??
> 
> Thanks,
> 
> David Hyde

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

Newsgroups: comp.os.vxworks
Subject: Re: POSIX compliant calls for sockets in VxWorks
Date: 12 Jan 2003 05:49:52 -0800
From: srilayaradja@yahoo.com (Ilayaraja)
Organization: http://groups.google.com/
Message-ID: <596d098.0301120549.10b68102@posting.google.com>
References: <596d098.0301070041.25db91b5@posting.google.com> <371e4594.0301081929.72baec31@posting.google.com>

Dear all,

       can you please differentiate between the BSD calls and Posix
calls for Sockets and select() call provided ( if POSIX calls exists)
in VxWorks ?

       can you specify the libraries in which they reside ?

Thanks and Regards,
Ilayaraja R

iubica2@yahoo.com (Andrei) wrote in message news:<371e4594.0301081929.72baec31@posting.google.com>...
> Yes it does, including select() calls. 
> 
> There is one issue w/ porting UNIX socket code based on select()
> though - use of so called software interrupts. UNIX code sometimes
> installs an alarm to expire some time in future (say in 2 secs ), then
> blocks in select() to receive from socket, passing infinite timeout to
> select(). When alarm expires (the 'software interrupt'), after alarm
> is handled UNIX unblocks the select() call. This is for example how
> ntpd is implemented - you can look at the source.
> 
> When porting this type of implementations, take out the alarm call
> altogether, and pass finite timeouts to select() (figure out the
> correct timeout, always <= 2 secs in this example but may be less
> depending on when did select() return in the last 2-sec slice). Again
> look at ntpd distibution, it has a VxWorx port.
> 
> Andrei Radulescu-Banu
> 
> srilayaradja@yahoo.com (Ilayaraja) wrote in message news:<596d098.0301070041.25db91b5@posting.google.com>...
> > Dear all,
> > 
> >         Does VxWorks provide POSIX compliant library for socket
> > (bind(),accept() etc. calls) and select() system calls ?
> > 
> >         is there POSIX socket and Posix select() call available? 
> > 
> > Thanks in advance,
> > 
> > Regards,
> > R. Ilayaraja

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

Newsgroups: comp.os.vxworks
Subject: considering a positiion using vxworks
Date: Sun, 12 Jan 2003 02:51:31 GMT
From: "sidewinder" <spam@nospam.com>
Organization: AT&T Broadband
Message-ID: <TK4U9.648232$WL3.684532@rwcrnsc54>

Hi,

I am a software engineer specializing in firmware.  Is vxworks easy to
learn?  I was told it was a cake walk but the deadlines on the project will
be very tight, so I am concerned since I haven't used it before.

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

Newsgroups: comp.os.vxworks
Subject: Re: timers & i960-CA
Date: Sun, 12 Jan 2003 17:04:49 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$elwl8h$lkn$1@lnews.actcom.co.il>
References: <avnm66$jei$1@peque.uv.es> <newscache$9lkj8h$h7g$1@lnews.actcom.co.il> <avon14$ndu$1@peque.uv.es> <newscache$ao8k8h$a5h$1@lnews.actcom.co.il> <avq5c2$t20$1@peque.uv.es> <avreau$2v7$1@peque.uv.es> <newscache$52ll8h$v2n$1@lnews.actcom.co.il> <avrjr8$3lq$1@peque.uv.es> <newscache$4kql8h$dan$1@lnews.actcom.co.il> <avrse2$4o1$1@peque.uv.es>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

<ulisses@pusa.no.spam.informat.uv.es> wrote in message
news:avrse2$4o1$1@peque.uv.es...
> Leonid Rosenboim <My_1st_name@consultant.com> wrote:
> > Never heard of a NIC that contains a i960 Cx, but I do know of NIC cards
> > that have a i960Rx (which is an I2O derivative, similar to i960Jx).
>
> It's a Fore PCA-200E with handles ATM @ 155Mbps, the 960 runs at 25Mhz
>
>
> I'm not going to timestamp ATM cells but IP datagrams
>
> btw: I'm sure it contains this 960 model
>
One datasheet I found on the web says its a i960 CF, but it did not mention
any otehr chip, although I am retty sure there is a timer chip, probably an
Intel.

> > For timestamping packets, you coul duse a timer, but for 100Mbps
Ethernet
> > the resolution must be at least 10kHz, which is a lot  if you have to
> > geberate
> > interrupts, but you can write a "timestamp" driver, that has a software
> > counter incremebted by timer interrupts for MSBs and read the timer's
> > counter for the LSB.
>
> That's assuming if the NIC card not used the i960-CA version, isn't it?
>
> what do you mean with MSB, LSB?
>
> I don't think it's Most|Least Significant byte in this case ?

Yes, I meant Most Significant Bits, the amount of bits in each category
depends on hardware...

>
> > As a first and most critical step, I would recommend to carefully stuy
> > the hardware manual.
>
> Fore (currently Marconi) there are no docs on programming details of the
> at i960 level (in this case the firmware), they provided docs to program
> device drivers for this board.
>
> I hope the unofficial firmware wich is made by reverse-engineering
contains
> useful about timers in the NIC board.
>

Yuk ! I found the prohect you are referring to, I am sure it contains
information on
timers and other hardware on this board, but I would still try hard to get
more info
from Marconi (under NDA no doubt) - in the several dozens of BSPs and
drivers that
I have done, I allways had some sort of hardware documentation, and I can
not even
imagine doing a driver without that. Sometimes the documentation was not
entirely
accurate, so yes sometimes even with a HW manual you still have to guess.

Good luck !! You'll need it.
- - Leonid

P.S. This is a VxWorks Newsgroup, so I suggest you take this discussion
elsewhere,
maybe to someone who actually worked on this board ?
You can find people who did by searching with Google.

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

Newsgroups: comp.os.vxworks
Subject: Curious Problem with IBM NPe405L and vxWorks
Date: Sun, 12 Jan 2003 03:01:01 GMT
From: Ricky West <rwwest@nc.rr.com>
Organization: Road Runner - NC
Message-ID: <3E20D7B1.4070801@nc.rr.com>

Lately,  the project I have been working on has been seeing an 
intermittent problem with the generation of a data access exception and 
I wanted to post to the news group for some advice/comments.  We have 
been searching for the cause with visionIce and visionTrace using 
singleStep with vision and have been stumped by the tools.  Can't seem 
to get them to work right in our enviornment and application.  Such is 
life.

On with the story...

The Setup...

Configuration---Tornado 2.0.2 with some patches for dosFs2.0 and some 
TMS stuff
Build Env---Windows 2000
BSP---NPe405L from IBM for vxWorks  windKernel 2.5 and vxWorks 5.4
Options---INCLUDE_BASIC_MMU with both instruction and data MMU enabled

The Problem...

Various tasks blow up where the implicated code is in windLoadContext 
just before the restoral of regs r3 and r4 but after the setting of SRR0 
and SRR1.  This we have been able to determine using hardware 
breakpoints set at the data access exception vector of 0x300.  It just 
so happens that the tasks that crash have TCBs that are aligned such 
that the addresses storing the PC and the MSR for the task are in a 
different 4K memory page than the addresses where regs r3 and r4 stored. 
 We have verified that external exceptions are disabled during the load 
function, but both instruction and data TLB miss exceptions are not.

The Theory...

We have not been able to trace the code using visionTrace, a real-time 
trace option to the visionIce.  But here goes with the theory based on 
experience and educated guesses.  We think that during the loading one 
of the tasks that cross the 4k boundary is switched in but where the 
page boundaries result in a data TLB miss after the SRR0 and SRR1 have 
been restored.  Since the TLB miss handler does the rfi rather than the 
load context fcn, the contents of r3 and r4 are not restored from the 
saved context of the task.

The Questions...

1.  Has anybody else seen something like this?

2.  Does the switching of tasks for this BSP really happen outside of 
exception handling?

3.  Are there any other suggestions or theories to follow-up with.

Thanks in advance,

Ricky West
Hatteras Networks

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

Newsgroups: comp.os.vxworks
Subject: entry point of flash memory on MPC860ADS
Date: 12 Jan 2003 08:44:39 -0800
From: compaqbala@sify.com (Balakumar)
Organization: http://groups.google.com/
Message-ID: <46992b69.0301120844.6c16a62a@posting.google.com>

Hi all,
        MPC860ADS board having 2MB of flash memoryt,and base address
of this is 0x02800000,
and Vxworks entry point is written on 0x02800100,

My question is, When the board is powered on, MPC860 executes the
instruction at 0x00000100(as per definition) location of ROM.But there
is no such location.If the processor generates address 0x02800100
only,entry code will be executed. How 860 generates address
0x02800100.

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

Newsgroups: comp.os.vxworks
Subject: kernel preemption
Date: 12 Jan 2003 08:45:30 -0800
From: compaqbala@sify.com (Balakumar)
Organization: http://groups.google.com/
Message-ID: <46992b69.0301120845.a5b4336@posting.google.com>

Hi all,
	As per definition,Linux kernel is non preempted kernel.

	But for example, Assume that While the user process is in kernel mode
with interrupt enabled, at the same time suppose if user create a new
process with higher priority,then the kernel suspend the current
process and then forks a child process and then it calls exec() system
call.and then kernel puts new process in the run_queue. and then it
calls schedule() to select process with higher priority from the
run_queue. now the new process can be run(because it has higher
priority).

The above paragraph says that currently running process is
preempted.So linux kernel is preempted kernel.is n't it?

My concept is correct or not?
if it is correct then the linux kernel is preempted kernel.is n't it?

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

Newsgroups: comp.os.vxworks
Subject: Need help with problems with Motorola Sandpoint Eval Board
Date: 12 Jan 2003 18:29:11 GMT
From: "randal" <randall@navini.com>
Organization: Concentric Internet Services
Message-ID: <avsc5n$oe4@dispatch.concentric.net>

All,

I have a Sandpoint eval board.  I am having problems loading the VxWorks
image and running it.  Does anyone have any suggestions.  The ethernet
device is not supported by the current boot code.  But I can download
executables through the serial port

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

Newsgroups: comp.os.vxworks
Subject: IP Packet Routing
Date: 12 Jan 2003 13:38:53 -0800
From: twalden200@hotmail.com (TWalden)
Organization: http://groups.google.com/
Message-ID: <314394a.0301121338.6ae48daa@posting.google.com>

I have a vxWorks 5.4/SENS based hardware platform with 2 Ethernet 
interfaces attached to two different LAN's. For performance reasons, 
I would like to send UDP packets directly to the Ethernet driver, 
bypassing the vxWorks stack. (I know this violates layering, etc, 
but the performance is necessary for this application.) In order to 
do this, I need the destination MAC address so that I may create the 
Ethernet packet header. Given an IP address, how can I get the 
interface name and the MAC address to which I should send the 
packet? The vxWorks networking stack obviously makes this determination 
if I were to do a normal UDP send. I would like to get this information 
programatically without actually doing a send through the stack. 

I would like some way to query the stack for the destination of the
packet. This should include which of the two LAN interfaces to send
the packet, and the MAC address of the destination host if on the
same network, or the MAC address of the gateway to use if the 
destination is on a different network.

I am aware of the etherAddrResolve() function which I can use to do
an ARP, but I need to know the LAN interface. I do not have this 
information.  

How can I obtain such information from the stack? Is there an IP route 
lookup function?

Thanks,
Tim Walden

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

Newsgroups: comp.os.vxworks
Subject: Re: Quirky thread blocking & counting semaphore  question
Date: Thu, 9 Jan 2003 19:59:02 +0100
From: "Martin Raabe" <Martin.Raab@ATNOSPAMBaSystem.de>
Organization: 1&1 Internet AG
Message-ID: <avkgpi$5rv$1@news.online.de>
References: <5c34b056.0301080908.7ce44b07@posting.google.com> <avjpa9$ode$1@news.online.de> <5c34b056.0301091039.1c8a65ee@posting.google.com>

Hello Darren,
I understand that my tip did not help.
Maybe this one?

So if you do a loop like this, you may speed up or slow down the IRQ-Rate.

function f
{
    do while true
    {
      wait( CSem, timeout ); // counting semaphore, it's value is stored in
CSem.count
      if (CSem.count is too high)
            limit IRQ-Rate;
      else if (timeout)
            unlimit IRQ_Rate;

      ... // function body

    }
}

Ciao

- --
- --
Martin Raabe
E: Martin.RaabeATNOSPAMBaSystem.de

"Darren Long" <dlong@wvintenltd.com> schrieb im Newsbeitrag
news:5c34b056.0301091039.1c8a65ee@posting.google.com...
> Hi Martin,
>
> Thanks for the response, but yourr suggestion doesn't really answer
> the question.  I wanted to know how many times that the thread runs
> round the loop since it last blocked.  The intention is that an ISR
> may signal the counting Semaphore a few times in succesion (i.e. a
> single invocation of the ISR), and the handler runs that many times
> round the loop.  If the handler determines that the number of
> iterations since it last blocked is excessive (i.e. the signalling
> rate from the ISR is too high) it takes some action to rate limit the
> interrupt source.
>
> An alternative suggestion that I have had is to simply task delay the
> handler, but that is considerably less flexible than what I had hoped
> for!
>
> If I can't find a soloution to this problem (which I expect) then I
> will probably involve another periodic thread to monitor the 2nd stage
> handler task but I haven't given that much thought yet.
>
> Any other suggestions welcome...
>
> Darren
>
> "Martin Raabe" <Martin.Raab@ATNOSPAMBaSystem.de> wrote in message
news:<avjpa9$ode$1@news.online.de>...
> > Hello Darren,
> > yes, there is one:
> > Wait for the semaphore with a timeout.
> > the returnvalue tells you about the success of the wait or about
reaching
> > the timeout.
> > By that you can sum up the timeouts and have the elapsed time at hand.
> >
> > Hope it helped
> > --
> > Martin Raabe
> > E: Martin.RaabeATNOSPAMBaSystem.de
> >
> >
> > "Darren Long" <dlong@wvintenltd.com> schrieb im Newsbeitrag
> > news:5c34b056.0301080908.7ce44b07@posting.google.com...
> > > Consider the pseudo-pseudo-code below
> > >
> > > function f
> > > {
> > >    do while true
> > >    {
> > >      wait( CSem ); // counting semaphore
> > >
> > >      ... // function body
> > >
> > >    }
> >
> > > }
> > >
> > > Is there any way that the function can determine how many times it has
> > > iterated around the loop since it was unblocked?
> > >
> > > I can't think of any!
> > >
> > > Darren

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

Newsgroups: comp.os.vxworks
Subject: dec 21143 missing carrier detction?
Date: Mon, 13 Jan 2003 01:09:10 GMT
From: "Kelly Hornsby" <klh1964@cox.net>
Organization: Cox Communications
Message-ID: <WkoU9.35207$E83.31682@news2.central.cox.net>

Hello All

I want to know if I have a carrier detect on my DEC 21143 device before I
start transmitting or receiving packets.  I think CSR12 will tell me if I
have a link active (carrier detect) but I'm not sure.  Is this register the
best way to detect if there's a good link?  I'm probably going to have a
10MB link, but possibly a 100MB link, but I don't think it matters, since
both speeds are reflected in CSR12.  Am I on the right track?  I don't have
the sources for the ethernet devices, so I'm hoping for an easy way to tell
if there's no carrier.  I can get access to the register via a pciFindDevice
and a pciConfigInLong to fetch the base addresses of the register banks.

Any suggestions, URLs, or tips will be appreciated.

Thx

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

Newsgroups: comp.os.vxworks
Subject: Re: timers & i960-CA
Date: Sun, 12 Jan 2003 14:00:34 +0000 (UTC)
From: <ulisses@pusa.no.spam.informat.uv.es>
Organization: Universitat de Valencia
Message-ID: <avrse2$4o1$1@peque.uv.es>
References: <avnm66$jei$1@peque.uv.es> <newscache$9lkj8h$h7g$1@lnews.actcom.co.il> <avon14$ndu$1@peque.uv.es> <newscache$ao8k8h$a5h$1@lnews.actcom.co.il> <avq5c2$t20$1@peque.uv.es> <avreau$2v7$1@peque.uv.es> <newscache$52ll8h$v2n$1@lnews.actcom.co.il> <avrjr8$3lq$1@peque.uv.es> <newscache$4kql8h$dan$1@lnews.actcom.co.il>
Sender: <ulisses@pusa.informat.uv.es>

Leonid Rosenboim <My_1st_name@consultant.com> wrote:
> Never heard of a NIC that contains a i960 Cx, but I do know of NIC cards
> that have a i960Rx (which is an I2O derivative, similar to i960Jx).

It's a Fore PCA-200E with handles ATM @ 155Mbps, the 960 runs at 25Mhz

I'm not going to timestamp ATM cells but IP datagrams

btw: I'm sure it contains this 960 model

> For timestamping packets, you coul duse a timer, but for 100Mbps Ethernet
> the resolution must be at least 10kHz, which is a lot  if you have to
> geberate
> interrupts, but you can write a "timestamp" driver, that has a software
> counter incremebted by timer interrupts for MSBs and read the timer's
> counter for the LSB.

That's assuming if the NIC card not used the i960-CA version, isn't it?

what do you mean with MSB, LSB?

I don't think it's Most|Least Significant byte in this case ?

> As a first and most critical step, I would recommend to carefully stuy
> the hardware manual.

Fore (currently Marconi) there are no docs on programming details of the 
at i960 level (in this case the firmware), they provided docs to program
device drivers for this board.

I hope the unofficial firmware wich is made by reverse-engineering contains 
useful about timers in the NIC board.

Thanks

	Ulisses

> -- HTH
> -----------------------------------------------------------------------
>   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
>       Consultant                Email: my first name at consultant dot com

> <ulisses@pusa.no.spam.informat.uv.es> wrote in message
> news:avrjr8$3lq$1@peque.uv.es...
>> Hi Leonid!
>>
>> Leonid Rosenboim <My_1st_name@consultant.com> wrote:
>> [...]
>> > No, I do not think it is possible without some external hardware for the
>> > i960 CA
>> > chip, this is simply a function that the CPU does not have.
>> > You can look what OTHER chips you DO HAVE on the board, and evaluate
> each
>> > for this porpose
>>
>> Ok
>>
>> > - some UARTs have a timer function included in them.
>> > Also, a UART can emulate s timer if you sacrifice one channel,
> transmitting
>> > characters all the time will get you an interrupt every ~ 1msec, if the
>> > channel
>> > is seto to 9600 baud.
>>
>> interesting
>>
>> > I still do not really understand what you are trying to acheive here,
> but
>> > you seem
>> > to be a long way from where you want to go.
>>
>> I want to implement packet timestamping on a NIC that has a i960 built on
> it
>> for my graduate project
>>
>> I'm waiting to receive the source code of an unoficial firmware of this
> NIC
>> that I'll try to modify to achieve it
>>
>> Again, thank you so much for your (so interesting) replies
>>
>> And yes, you're probably right while saying "you seem to be a long
> away"...
>>
>> :-(
>>
>> Ulisses
>>                 Debian GNU/Linux: a dream come true
>> --------------------------------------------------------------------------
> ---
>> "Computers are useless. They can only give answers."            Pablo
> Picasso
>>
>> ---> Visita http://www.valux.org/ para saber acerca de la <---
>> ---> Asociaci?n Valenciana de Usuarios de Linux <---
>>

- -- 
                Debian GNU/Linux: a dream come true
- -----------------------------------------------------------------------------
"Computers are useless. They can only give answers."            Pablo Picasso

- --->	Visita http://www.valux.org/ para saber acerca de la	<---
- --->	Asociacin Valenciana de Usuarios de Linux		<---
 

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

Newsgroups: comp.os.vxworks
Subject: Re: entry point of flash memory on MPC860ADS
Date: Sun, 12 Jan 2003 19:48:34 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$g64m8h$tsn$1@lnews.actcom.co.il>
References: <46992b69.0301120844.6c16a62a@posting.google.com>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

The answer is really in your previous post - IIRC
the BCSR register, which is part of the 860 on chip system controller.
The particular BCSR which is dedicated to ROM, is set to all 0's on reset,
so the initial instruction is fetched from ROM, and in romInit.s, the BCSR
is changed and the program performs a jump to the next instruction which
is located in teh RAM location.

- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

"Balakumar" <compaqbala@sify.com> wrote in message
news:46992b69.0301120844.6c16a62a@posting.google.com...
> Hi all,
>         MPC860ADS board having 2MB of flash memoryt,and base address
> of this is 0x02800000,
> and Vxworks entry point is written on 0x02800100,
>
> My question is, When the board is powered on, MPC860 executes the
> instruction at 0x00000100(as per definition) location of ROM.But there
> is no such location.If the processor generates address 0x02800100
> only,entry code will be executed. How 860 generates address
> 0x02800100.

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

Newsgroups: comp.os.vxworks
Subject: Re: considering a positiion using vxworks
Date: Sun, 12 Jan 2003 19:45:25 GMT
From: "sidewinder" <spam@nospam.com>
Organization: AT&T Broadband
Message-ID: <pBjU9.657429$%m4.3361317@rwcrnsc52.ops.asp.att.net>
References: <TK4U9.648232$WL3.684532@rwcrnsc54> <3E212164.4155@despam.autobahn.mb.ca>

I've developed on linux and windows and wrote a couple of drivers
Thanks for the help

"H. E. Taylor" <het@despam.autobahn.mb.ca> wrote in message
news:3E212164.4155@despam.autobahn.mb.ca...
> In article <TK4U9.648232$WL3.684532@rwcrnsc54>,
> <spam@nospam.com> sidewinder wrote:
> >
> > I am a software engineer specializing in firmware.  Is vxworks easy to
> > learn?
> >
>
> Many variables.  There are several flavours.  The host environment
> can be a pain.  (Don't know how to say this without sounding like
> a jerk;-) How much do you know?  A familiarity with UNIX would help.
> Exposure to a flat address space, library based OS like AmigaDOS
> would help.  Good contacts with your FAE (and the contract with WRS
> behind it) would help.  A contact who has some BSP familiarity
> would help.
>
> >I was told it was a cake walk but the deadlines on the project will
> > be very tight, so I am concerned since I haven't used it before.
> >
>
> Depends how tight.
>
> <good luck>
> -het
>
>
> --
> "progress in software has not followed Moore's law."  -John Holland
>
> Computer Links: http://www.autobahn.mb.ca/~het/clinks.html
> H.E. Taylor  http://www.autobahn.mb.ca/~het/

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

Newsgroups: comp.os.vxworks
Subject: POSIX compliant calls for sockets in VxWorks
Date: 7 Jan 2003 00:41:28 -0800
From: srilayaradja@yahoo.com (Ilayaraja)
Organization: http://groups.google.com/
Message-ID: <596d098.0301070041.25db91b5@posting.google.com>

Dear all,

        Does VxWorks provide POSIX compliant library for socket
(bind(),accept() etc. calls) and select() system calls ?

        is there POSIX socket and Posix select() call available? 

Thanks in advance,

Regards,
R. Ilayaraja

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

Newsgroups: comp.os.vxworks
Subject: Re: Setting multiple IP addrs for an interface
Date: 7 Jan 2003 00:54:14 -0800
From: gonozal@gmx.at (Toni Kurzberger)
Organization: http://groups.google.com/
Message-ID: <8400a733.0301070054.74033553@posting.google.com>
References: <avc3ao$rs6$1@news.storm.ca>

"Harjinder Chayra" <harjinder.chayra@imedia.com> wrote in message news:<avc3ao$rs6$1@news.storm.ca>...
> What calls do I need to make to give an Ethernet interface 2 IP addresses?
> 
> cheers
> Harjinder

ifAddrSet
ifMaskSet
  for the 1st address
ifAddrAdd
  for subsequent addresses

toni

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

Newsgroups: comp.os.vxworks
Subject: Re: the problems to install Rtl 8139D net card to vxworks
Date: 7 Jan 2003 00:58:39 -0800
From: gonozal@gmx.at (Toni Kurzberger)
Organization: http://groups.google.com/
Message-ID: <8400a733.0301070058.78ca4195@posting.google.com>
References: <c7697c5d.0301060019.e9a1de6@posting.google.com> <newscache$k5ha8h$nc2$1@lnews.actcom.co.il> <c7697c5d.0301061753.442de5ed@posting.google.com>

In win98, open a command window (command.com). Be sure to execute the
batch file torVars.bat in
%WIND_BASE%\host\x86-win32\bin\torVars.bin... this will set your PATH
correct and some mandatory environment variables.
After doing so you should be able to simply run the make command from
within the command shell as described be Leonid

  toni

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

Newsgroups: comp.os.vxworks
Subject: Re: kernel preemption
Date: Mon, 13 Jan 2003 11:52:51 GMT
From: "J. J. Farrell" <jjf@bcs.org.uk>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <nMxU9.7441$Dq.770124@newsread2.prod.itd.earthlink.net>
References: <46992b69.0301120845.a5b4336@posting.google.com>

"Balakumar" <compaqbala@sify.com> wrote in message
news:46992b69.0301120845.a5b4336@posting.google.com...
> Hi all,
> As per definition,Linux kernel is non preempted kernel.
>
> But for example, Assume that While the user process is in kernel mode
> with interrupt enabled, at the same time suppose if user create a new
> process with higher priority,then the kernel suspend the current
> process and then forks a child process and then it calls exec() system
> call.and then kernel puts new process in the run_queue. and then it
> calls schedule() to select process with higher priority from the
> run_queue. now the new process can be run(because it has higher
> priority).
>
> The above paragraph says that currently running process is
> preempted.So linux kernel is preempted kernel.is n't it?
>
> My concept is correct or not?
> if it is correct then the linux kernel is preempted kernel.is n't it?

comp.os.vxworks discusses the VxWorks Operating System.
Please post Linux questions to a Linux news group.

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Tue Jan 14 04:03:38 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Tue Jan 14 04:03:39 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Tue Jan 14 04:03:35 PST 2003

        Subject: Re: entry point of flash memory on MPC860ADS
        Subject: vxWorks ROM-based problems
        Subject: Re: memPartFree Fail
        Subject: Re: How about the macro RAM_HIGH_ADRS ?
        Subject: Re: detect telnet connection lose faster.
        Subject: Re: How to boot with rommed Application - Re Question
        Subject: Re: Memory controller or MMU  which should be first in boot code
        Subject: howto install a terget server without the developemnt system.
        Subject: Re: Setting multiple IP addrs for an interface
        Subject: Re: WDB Serial Backend Agent Questions
        Subject: Re: Warning:  Tornado 2.2
        Subject: PPP implmentation for VxWorks

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

Newsgroups: comp.os.vxworks
Subject: Re: entry point of flash memory on MPC860ADS
Date: Mon, 13 Jan 2003 14:13:20 +0200
From: "Martin Roth" <bmr006@email.mot.com>
Organization: Motorola
Message-ID: <avuafj$oga$1@newshost.mot.com>
References: <46992b69.0301120844.6c16a62a@posting.google.com>

This is very simple.
After RESET Chip Select 0 (CS0) asserted by MPC8260 processor enables the
access to your booting device (flash memory).
This is the only Chip Select that is enabled after RESET.
By default, CS0 is mapped after RESET in a way that accessing address XXX
corresponds to address XXX relative to start of flash memory. So, address
0x100 corresponds to the opcode located at offset 0x100 from flash memory
start. If the address XXX is greater than the flash memory length then the
accessed offset is XXX modulo (flash memory length). This is valid only
after RESET and before the CS0 is remapped.
When you link (perform make), indeed the entry point instruction is located
at address 0x02800100. So after reset, the physical address 0x100
corresponds to offset 0x100 relative to start of flash memory and this is
exactly the location of the code that you linked to 0x02800100.
The instruction at 0x100 or (0x02800100) is "bl cold" and it is position
independent. After performing the "bl cold" instruction you are already in
the 0x02800000 address space area and later you remap the CS0 (flash memory)
to 0x02800000 region.
Martin Roth
Motorola Communications, Israel

Mailto:bmr006@email.mot.com

"Balakumar" <compaqbala@sify.com> wrote in message
news:46992b69.0301120844.6c16a62a@posting.google.com...
> Hi all,
>         MPC860ADS board having 2MB of flash memoryt,and base address
> of this is 0x02800000,
> and Vxworks entry point is written on 0x02800100,
>
> My question is, When the board is powered on, MPC860 executes the
> instruction at 0x00000100(as per definition) location of ROM.But there
> is no such location.If the processor generates address 0x02800100
> only,entry code will be executed. How 860 generates address
> 0x02800100.

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

Newsgroups: comp.os.vxworks
Subject: vxWorks ROM-based problems
Date: Mon, 13 Jan 2003 15:25:04 +0300
From: "Denis Dubrovin" <den@nita.ru>
Organization: WEBPlus Ltd.
Message-ID: <avub70$amu$1@news.wplus.spb.ru>

Hi!

I`m trying to compile some ROM-based images of vxWorks (by Tornado and Diab
c\c++) for MPC823 and get problem!

Rom-resident and rom-compressed images build ok, but RAM_based image
(vxWorks_rom target) has wonder error!Half of build (image itself) building
ok, ElfToBin utilites reported OK, BinToAsm utilite reported OK, but next
injection resulting asm file (with _binArrayStart\_binArrayEnd table) throw
dcc hit error in asm file!
It says
"vxWorks.Z.s", line 29389: error: syntax error

This line in vxWorks.Z.s is empty line BEFORE _binArrayEnd label.

What is wrong????

Thanks for future advices!

- --
Regards!
                 Den

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

Newsgroups: comp.os.vxworks
Subject: Re: memPartFree Fail
Date: 13 Jan 2003 07:21:36 -0800
From: mwalton@nc.rr.com (morris)
Organization: http://groups.google.com/
Message-ID: <2a9cc34a.0301130721.ef8839@posting.google.com>
References: <5607ff2c.0301090825.347224f9@posting.google.com> <3E205BE2.9030502@rmbwoc.com> <488e459a.0301121641.77e2858a@posting.google.com>

It sounds like you could be corrupting your heap.  WRS has an app note
116 on heap management with alot of helpful information.  You can use
their tools and/or construct your own to periodically "walk the heap"
to check to see if something you have done has corrupted the heap.  By
calling this function frequently you can use this tool to nail down if
& when the heap has become corrupted.

Good Luck!

Morris

john_94501@yahoo.com (John) wrote in message news:<488e459a.0301121641.77e2858a@posting.google.com>...
> Hello Rick,
> 
> > If anyone has a better solution, please post it because
> > this is one of the worst headaches (aside from Tornado
> > upgrades) of working with VxWorks.
> 
> Never used it myself, but I've heard lots of good things about RTI's
> MemScope product. I believe that you can get it directly from Wind
> River too - it is part of the ScopePak. Check out
> http://www.rti.com/products/scopetools/memScope/ms.html or
> http://www.windriver.com/products/memscope/index.html for more
> information.
> 
> HTH,
> 
> John...
>  
> > -- Rick Davis
> > 
> > Gabi wrote:
> > 
> > > Hi,
> > > We use memPartAlloc & memPartFree for our memory allocations. 
> > > We always check return codes and print any errors.
> > > 
> > > 
> > > The situation:
> > > 
> > > After some time, (when couple of douzens calls to memPartAlloc made,
> > > and several buffers were succefully freed with memPartFree)  the
> > > function memPartFree  returns error.  After that any calls to
> > > memPartAlloc or memPartFree are failed.
> > > 
> > > The error returned is either S_smObjLib_NOT_INITIALIZED or
> > > S_objLib_OBJ_ID_ERROR - every time it's something else.
> > > 
> > > Both parameters to memPartFree (partition and memory address) are
> > > correct.
> > > 
> > > 
> > > Question
> > > 
> > > It seems memory area with some memory partion control block was
> > > overwrited.
> > > How can we check it?
> > > We did not find any function in reference that allows us to check if
> > > partition is OK.
> > > 
> > > Can you advice us how can we advance with this problem?
> > > 
> > > tanks
> > > Gabi
> > >

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

Newsgroups: comp.os.vxworks
Subject: Re: How about the macro RAM_HIGH_ADRS ?
Date: Tue, 7 Jan 2003 09:52:24 +0100
From: "Michael Lawnick" <michael.lawnick@no_spam.kontron.com>
Organization: Buergernetz Dillingen
Message-ID: <ave4g9$f2r$1@snoopy.bndlg.de>
References: <avblbc$1c9b$1@mail.cn99.com> <8400a733.0301060710.7ae96157@posting.google.com>
Reply-To: "Michael Lawnick" <michael.lawnick@no_spam.kontron.com>
Sender: mlawnick@mail.kontron-applications.com

Hi Toni, minskey73,

just to refine the statement below:
The problem is not VxWorks, but the bootimage. The initialisation of
exception vectors will fail if the address between current code and
destination address of vector table exceeds 24bit. So for bootrom and
bootrom_uncmp RAM_HIGH_ADRS is limited to 32M - bootimage_size.
Two possible workarounds:
a) use bootrom_res if bootrom resides at 0xFF000000 or above.
b) use standard VxWorks and load your objects/data after startup.

Just my two cents,
Michael

"Toni Kurzberger" <gonozal@gmx.at> schrieb im Newsbeitrag
news:8400a733.0301060710.7ae96157@posting.google.com...
> "minskey73" <minskey73@yahoo.com.cn> wrote in message
news:<avblbc$1c9b$1@mail.cn99.com>...
> > Hi,
> >     I am writing my BSP for MPC860 . In config.h and makefile ,there's a
> > macro RAM_HIGH_ADRS. I know that the memory between RAM_LOW_ADRS and
> > RAM_HIGH_ADRS is used for vxWorks image. My board has 128M RAM, and the
size
> > of my image file is 17MBytes . So I want to define the macro as
> > 0x02000000(32M) in both config.h and makefile. But the BSP do not work.
If I
> > define it as 0x01200000,it works well.  Why ?  I want to get it.
>
> I'm not sure, but this could be a 24bit relative jump problem (which
> gives you the 32MByte). PPC allows +/- 24bit relative jumps, VxWorks
> is using them e.g. in the exception handler. The exception handler
> stub placed at a very low address (close to 0, check the manual of the
> CPU) might try to do a relative jump into VxWorks... which fails if
> the image is out of the 32MByte range.
>
> hope this helps,
>   toni

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

Newsgroups: comp.os.vxworks
Subject: Re: detect telnet connection lose faster.
Date: Mon, 13 Jan 2003 20:44:54 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$ag1o8h$9s1$1@lnews.actcom.co.il>
References: <8a5dc325.0301120439.29c2a2a0@posting.google.com> <newscache$ntql8h$nan$1@lnews.actcom.co.il> <8a5dc325.0301122356.1ddab7b3@posting.google.com>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

IIRC there is aglobal variable "telnetdSocket" which is he socket of the
Telnet session.

- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

"Shay" <shy017@yahoo.com> wrote in message
news:8a5dc325.0301122356.1ddab7b3@posting.google.com...
> This is my question, how I turn this option on.
> As I mentioned, to do so with 'setsockopt()' I need
> the socket id (which I do not have - as I know).
>
> Regards,
> ---Shay

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

Newsgroups: comp.os.vxworks
Subject: Re: How to boot with rommed Application - Re Question
Date: 13 Jan 2003 13:40:39 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0301131340.57544a5c@posting.google.com>
References: <76b199d8.0301121927.72917e45@posting.google.com>

Hello,

> I saw this printing after excuting l(load) command.
> -------------------------------------------------
> Attached TCP/IP interface to cpm0.
> Attaching network interface lo0... done.
> Loading...600244
> entry = 0x100000
> [VxWorks Boot]:

What happens when you try the boot command ('@' instead of 'l')?

> [Question 1] Is it ok to boot "vxWorks" file?

Assuming that you are working with VxWorks 5.x and not VxWorks AE,
then yes. One question though... where are you getting this file from?
Is it a project build, or from the BSP directory?
 
> [Question 2] I know "vxWorks" is only application image file. no OS
> included.
>              Is it right?

No. The vxWorks file is the kernel + possibly some application code if
you linked an application in with it.
 
> [Question 3] What file should I use for booting my MPC860 board?
>              "vxWorks"? "vxWorks.st"? or any other files?

Either vxWorks or vxWorks.st will work - the second one is a
"standalone" image that will not, by default at least, initialise the
network. Read the documentation for more information on these image
types, and how to use them.
 
> I was trying to boot with pSOS ram.elf file. this file is simple
> application
> ram.elf is OS+APPLICATION.
> 
> It's ok to load and go. ram.elf is excuted.
> 
> [Question 4] I made vxWorks_rom.hex and write FLASH memory with this
> file.
>              But I can't see any booting printing from console.
>              But my bootrom.hex is OK to boot. I think vxWorks_rom.hex
> is ROMed file, So I expected vxWorks_rom.hex can be booted. But no
> result.
>              What file should I check and modify?
>              I know these two S-Record file is made by romInit.s &
> bootInit.c.
>              And bootrom.hex is made by bootConfig.c and
> vxWorks_rom.hex is made by usrConfig.c. Is it right?

Yes. When you say you saw no result at all, do you mean absolutely
nothing? Does the serial port echo characters as you type them?

> [Question 5] I doubt my definition for ADRS value
> My board memory info is.
> SDRAM 32M
> FLASH MEM 8M
> My own applicaion is not exist. only I use default ads860 board files
> and modified it.
> Then What is the best setting for the value of RAM_HIGH_ADRS and
> RAM_LOW_ADRS ?

Well, I would think that these should be OK as they were for the
ads860 board as long as you're only booting a kernel, but since you
have 32MB of RAM you could move the RAM_HIGH_ADRS up a little. You
should leave some space above it though since this is where the
bootrom image runs.

More important perhaps is the setting of LOCAL_MEM_SIZE. The fact that
you have the bootrom running though is promising. Since the bootrom is
basically a VxWorks kernel (in cut down form), this suggests that at
least the basics in your BSP are correct.

You need to do some debugging though to find out where the image is
failing. If you have a JTAG debugging tool (e.g. VisionICE or
VisionProbe), or you can get one, that might help with this initial
work. If not, then I tend to place 'reboot(1);' calls in the init
sequence to see where it is failing. Some key places are:

a) Just before the call to kernelInit() in usrInit.

b) The first line of usrRoot() - before anything else is called

If you make it to (b), then move the reboot call through usrRoot until
you find the affected place.

Alternatively, you write trace values to a known location in memory
and check them by resetting the board when it hangs. I tend to use
0xfc as the address because it is in a location that should be left
alone by the bootrom in all cases, and it is not used by the OS at
all.

HTH,

John...

> [Question 6]
> I include INCLUDE_DEMO and not include INCLUDE_SHELL for testing.
> Is it OK? I think it's simple testing method.

Should be.

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

Newsgroups: comp.os.vxworks
Subject: Re: Memory controller or MMU  which should be first in boot code
Date: Tue, 7 Jan 2003 10:40:52 +0100
From: "Michael Lawnick" <michael.lawnick@no_spam.kontron.com>
Organization: Buergernetz Dillingen
Message-ID: <ave7b8$km1$1@snoopy.bndlg.de>
References: <4cd6f00b.0301030326.2ec1fc24@posting.google.com> <3E1581DF.3000905@hotmail.com>
Reply-To: "Michael Lawnick" <michael.lawnick@no_spam.kontron.com>
Sender: mlawnick@mail.kontron-applications.com

Just to increase confusion:
take a look at PPC440GP. Here the very first instructions have to be the
initialisation steps of MMU, as PPC440 has a physical address > 4GB and is
not able to work without MMU. To make initialisation possible, the MMU-code
has to be placed at 0xFFFFF000, reset vector has to jump to that code.

Michael

"Varndell Engineering" <gvarndell@hotmail.com> schrieb im Newsbeitrag
news:3E1581DF.3000905@hotmail.com...
> MahendraReddyGuduru wrote:
> > hi all,
> > I have seen many BSPs ,which are initialising first Memory Controller
> > before to MMU initialisation.
> > AS memory controller  address pointers are  also part of memory,how
> > memory controller registers getting initialised before MMU
> > initialisation.
>
> During boot, it is generally assumed that the MMU is disabled
> and the CPU is executing in a real address, or untranslated, mode.
> A disabled MMU has no effect on the accessing of memory controller
> registers, which occupy some part of the CPU's physical address space.
>
> Regards,
> George Varndell
> --
> Varndell Engineering, LLC       Embedded Systems Expertise
> Need a vxWorks END for National Semiconductor DP8382x GigE?
> http://www.varndellengineering.com
>
>
>
> -----------== Posted via Newsfeed.Com - Uncensored Usenet News
==----------
>    http://www.newsfeed.com       The #1 Newsgroup Service in the World!
> -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers
=-----

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

Newsgroups: comp.os.vxworks
Subject: howto install a terget server without the developemnt system.
Date: Tue, 7 Jan 2003 11:30:35 +0100
From: "Renee Teunissen" <if.you.spam.me.I.will.charge.you.1000.Euro.By.emailing.me.you agree.with.these.terms@mail.zevenaar.org>
Organization: Wirehub! Internet, The Netherlands
Message-ID: <1041935658.792197@newsreader2.wirehub.nl>

Hi,

I like to seperate the development PC from the targetserver. I dont
want to install a complete tornadoset on this server, only the
targetserver. Is there a way to do this?

Thanx,
Rneee.

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

Newsgroups: comp.os.vxworks
Subject: Re: Setting multiple IP addrs for an interface
Date: Tue, 7 Jan 2003 14:07:51 +0200
From: "Martin Roth" <bmr006@email.mot.com>
Organization: Motorola
Message-ID: <avefti$379$1@newshost.mot.com>
References: <avc3ao$rs6$1@news.storm.ca> <8400a733.0301070054.74033553@posting.google.com>

Toni,

As I understand TCP/IP networking, the additional IP address  added by
ifAddrAdd() should be from the same subnet. Am I correct ?
From my TCP/IP  knowledge the subnet or network part of IP address on the
same subnet should be the same.

Martin
Mailto:bmr006@email.mot.com

"Toni Kurzberger" <gonozal@gmx.at> wrote in message
news:8400a733.0301070054.74033553@posting.google.com...
> "Harjinder Chayra" <harjinder.chayra@imedia.com> wrote in message
news:<avc3ao$rs6$1@news.storm.ca>...
> > What calls do I need to make to give an Ethernet interface 2 IP
addresses?
> >
> > cheers
> > Harjinder
>
> ifAddrSet
> ifMaskSet
>   for the 1st address
> ifAddrAdd
>   for subsequent addresses
>
> toni

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

Newsgroups: comp.os.vxworks
Subject: Re: WDB Serial Backend Agent Questions
Date: Tue, 07 Jan 2003 12:19:02 GMT
From: igtorque@yahoo.es (Ignacio Gonzalez)
Message-ID: <3e1ac0de.18841122@News.CIS.DFN.DE>
References: <v1klso518pb041@corp.supernews.com>
Reply-To: igtorque@yahoo.es

On Mon, 6 Jan 2003 22:29:21 -0600, "fred" <fred@rubble.com> wrote:

>Hello,
>
>We've successfully used Tornado 2.0 (with 2 patches) on custom built MIPS
>R3000 board.  The board doesn't have an Ethernet interface so we've used the
>serial backend agent for Tornado and all has worked fine for about 2 years.
>Our host PC (Compaq running Windows NT) was recently upgraded to a Dell P4
>machine running Windows 2000 and we installed Tornado 2.02.
>
>Now we are having trouble downloading object files to the board using our
>new setup where we never had problems before.  The Backend target  agent
>always starts successfully and we have been able to start a shell but we see
>problems when we download object code.  Approximately 1 out if 50 attempts
>works but the other 49 fail (the download dialog stays at 0% forever).
>
>To try and see what was happening I found a shareware serial port diagnostic
>tool that you can start before launching Tornado and it records all activity
>at a specified COM port.  When I run this program I can see the data being
>exchanged between the target and the host PC when VxWorks boots and the
>target server starts.  When we try to download I can see 5-6 exchanges
>between the target and the host PC then nothing -- the download dialog stays
>at 0% with the little file flying between the two folders.
>
>Is there any way to decode what is in these exchanges?  Is there any way for
>me to debug this problem??
>
>Thanks,
>
>David Hyde
>
>

Too many changes in one single step, I think. I'd try the following:
1) Try Dell with WinNT and Tornado 2.0. If that works:
2) Try Dell with WinNT and Tornado 2.0.2. If that works:
3) Try Dell with Win2000 and Tornado 2.0.2.

The 2 first steps are intended to discard any HW or Tornado
2.0.2-specific problem. You have already made the 3rd step, so it
would fail. If I remember well, there was another patch to enable a
Tornado 2.0 / 2.0.2 instalation to run properly on a Win2000 machine.

By the way, I'm still using NT: we have had some problems with Win2000
in some machines, even with the patches. I think we will never even
try XP.

- --
Ignacio G.T.

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

Newsgroups: comp.os.vxworks
Subject: Re: Warning:  Tornado 2.2
Date: Tue, 07 Jan 2003 14:37:06 -0500
From: Alexander Popov <s_popov@prosyst.bg>
Message-ID: <3E1B2C62.7050507@prosyst.bg>
References: <eac587be.0301061344.100009b6@posting.google.com> <m2isx1lvd6.fsf@sympatico.ca>

Bill Pringlemeir wrote:
>>>>>>"Gary" == Gary Beck <gpbeck_99@yahoo.com> writes:
>>>>>

>What RTOS is supporting the old ARMS?  Nucleus?  Linux?
> Oh Well...

Some linux distro's do  - try uCLinux, RTLinux...

> 
> fwiw,
> Bill Pringlemeir.
> 

Regards,
Alexander Popov

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

Newsgroups: comp.os.vxworks
Subject: PPP implmentation for VxWorks
Date: Tue, 14 Jan 2003 10:50:51 +0200
From: "Eyal Raab" <eyalr@corrigent.com>
Organization: Usenet.com http://www.usenet.com 100,000+ UNCENSORED Newsgroups. The #1 Usenet Service on the Planet!
Message-ID: <3e23c65c@post.usenet.com>

**** Post for FREE via your newsreader at post.usenet.com ****

Hi,

Does anyone know of a freely available PPP implemntation for VxWorks?
I've seen a reference to this on the UnOffical FAQ on the internet, but the
FTP site
seems inactive.

Thanks in advance,
Eyal Raab,
Corrigent Systems

- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 *** Usenet.com - The #1 Usenet Newsgroup Service on The Planet! ***
                      http://www.usenet.com
Unlimited Download - 19 Seperate Servers - 90,000 groups - Uncensored
- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Wed Jan 15 03:29:33 2003
From: Atkinson Andrew <AATKINSON1@qinetiq.com>
Date: Wed Jan 15 03:29:34 PST 2003
Subject: Task Variables -  

Hi

I am having some rather unpredictable results when using task variables.

I have included task variables into my system build.

Please take a look at the code below and let me know if this is incorrect
with respect to the use of task variables:

static void periodicTaskMain (PERIODIC_TASK_INFO_T * taskInfo)
{
	static PERIODIC_TASK_INFO_T * localTaskInfo;

	GCCOP_EVENT_T	event;

	STATUS status = ERROR;

	/*
	 * This routine is spawned by each periodic task so we must allocate
a task
	 * variable to save the 'taskInfo' specific to this incarnation of
the task.
	 */
	if ((status = taskVarAdd (0, (int *) &localTaskInfo)) == OK)
	{
		/* Allocate some memory for the local task info */
		if ((localTaskInfo = (PERIODIC_TASK_INFO_T *) malloc (sizeof
(PERIODIC_TASK_INFO_T))) != NULL)
		{
			/* Take a local copy of the task info for this
particular task */
			memcpy ((void *) localTaskInfo, (const void *)
taskInfo, sizeof (PERIODIC_TASK_INFO_T));

			FOREVER
			{
				/* Block on the task execution semaphore */
				semTake (localTaskInfo->executionSemaphore,
WAIT_FOREVER);

				/*
				 * Check the task stop flag - if this flag
is set then the task is being
				 * stopped and should not execute. This flag
is used to prevent the task from
				 * executing when 'stopPeriodicTask' is
called with the task in the READY state.
				 */
				if (!localTaskInfo->stopTask)
				{
					/* Re-start the execution watchdog
with a period of twice the task period */
					if (wdStart
(localTaskInfo->executionWatchdog,
	
localTaskInfo->period * 2,
	
(FUNCPTR) periodicTaskWatchdogISR,
	
(AMASS_INT_32) localTaskInfo) == ERROR)
					{
#ifdef GCCOP_TASKING_DEBUG
						logMsg ("MAIN : FAILED TO
START WATCHDOG\n", 0, 0, 0, 0, 0, 0);
#endif

						/* Raise a GCCOP software
fault in response to the failure */
						setSystemFault
(FC_GCCOP_SOFTWARE_FAULT);

						/* Stop the task */
						stopPeriodicTask
(localTaskInfo);
					}

					/* Execute the application routine
*/
					localTaskInfo->function ();
				}
			}
		}
	}
}

The call to spawn the task is made as follows:

/* Spawn the task */
if ((taskInfo->Id = taskSpawn (name, priority, options, stackSize, (FUNCPTR)
periodicTaskMain,
		(AMASS_INT_32) taskInfo, 0, 0, 0, 0, 0, 0, 0, 0, 0)) ==
ERROR)
{
	/* Handle the error */
	.....
}

The problem first manifested itself as the execution watchdog timer being
restarted with a delay of 0x0 from within 'periodicTaskMain'. When a
'logMsg' was done to display localTaskInfo->period, the value was correct,
but WindView still recorded the 'wdStart' with a delay of 0x0.

I am starting to run out of ideas with regards tracking this problem down -
are there are known problems with the use of task variables, any
SPRs/patches.

Any help appreciated.

Andy Atkinson
Software Engineer
Bldg 31a
QinetiQ, Bincleaves Technology Park
Weymouth
Dorset
DT4 8UR

Tel : 01305 764660
Fax : 01305 764661
e-mail : AATKINSON1@QinetiQ.com

vxworks

The Information contained in this E-Mail and any subsequent correspondence
is private and is intended solely for the intended recipient(s).
For those other than the recipient any disclosure, copying, distribution,
or any action taken or omitted to be taken in reliance on such information
is prohibited and may be unlawful.

From vxwexplo-errs@csg.lbl.gov  Wed Jan 15 03:59:04 2003
From: "Georges Samara" <georges.samara@windriver.com>
Date: Wed Jan 15 03:59:05 PST 2003
Subject: RE: Task Variables -  

Hi Andrew,

Your problem is in the usage of static variables. As soon as you use that to
maintain task state information across successive calls, your function is no
longer re-entrant or thread safe, because you would be assuming that
everything will work in an orderly fashion which is not true in a
multithreaded environment.

So your method sometimes work and sometimes it does not.

get rid of the static variable. Create an outside the function structure
that would contain all the information that you would like to preserve, and
use that when saving information.

So that on successive calls, the state is truly presevered.

Sorry I can't give you a code snippet as I am ill and working from home :-)

Hope this helps.

Georges

-----Original Message-----
From: Atkinson Andrew [mailto:AATKINSON1@qinetiq.com]
Sent: 15 January 2003 11:29
To: WindRiver Tech Support
Cc: VxWorks Users Group; Richard Briggs - WindRiver
Subject: Task Variables -
Importance: High

Hi

I am having some rather unpredictable results when using task variables.

I have included task variables into my system build.

Please take a look at the code below and let me know if this is incorrect
with respect to the use of task variables:

static void periodicTaskMain (PERIODIC_TASK_INFO_T * taskInfo)
{
	static PERIODIC_TASK_INFO_T * localTaskInfo;

	GCCOP_EVENT_T	event;

	STATUS status = ERROR;

	/*
	 * This routine is spawned by each periodic task so we must allocate
a task
	 * variable to save the 'taskInfo' specific to this incarnation of
the task.
	 */
	if ((status = taskVarAdd (0, (int *) &localTaskInfo)) == OK)
	{
		/* Allocate some memory for the local task info */
		if ((localTaskInfo = (PERIODIC_TASK_INFO_T *) malloc (sizeof
(PERIODIC_TASK_INFO_T))) != NULL)
		{
			/* Take a local copy of the task info for this
particular task */
			memcpy ((void *) localTaskInfo, (const void *)
taskInfo, sizeof (PERIODIC_TASK_INFO_T));

			FOREVER
			{
				/* Block on the task execution semaphore */
				semTake (localTaskInfo->executionSemaphore,
WAIT_FOREVER);

				/*
				 * Check the task stop flag - if this flag
is set then the task is being
				 * stopped and should not execute. This flag
is used to prevent the task from
				 * executing when 'stopPeriodicTask' is
called with the task in the READY state.
				 */
				if (!localTaskInfo->stopTask)
				{
					/* Re-start the execution watchdog
with a period of twice the task period */
					if (wdStart
(localTaskInfo->executionWatchdog,

localTaskInfo->period * 2,

(FUNCPTR) periodicTaskWatchdogISR,

(AMASS_INT_32) localTaskInfo) == ERROR)
					{
#ifdef GCCOP_TASKING_DEBUG
						logMsg ("MAIN : FAILED TO
START WATCHDOG\n", 0, 0, 0, 0, 0, 0);
#endif

						/* Raise a GCCOP software
fault in response to the failure */
						setSystemFault
(FC_GCCOP_SOFTWARE_FAULT);

						/* Stop the task */
						stopPeriodicTask
(localTaskInfo);
					}

					/* Execute the application routine
*/
					localTaskInfo->function ();
				}
			}
		}
	}
}

The call to spawn the task is made as follows:

/* Spawn the task */
if ((taskInfo->Id = taskSpawn (name, priority, options, stackSize, (FUNCPTR)
periodicTaskMain,
		(AMASS_INT_32) taskInfo, 0, 0, 0, 0, 0, 0, 0, 0, 0)) ==
ERROR)
{
	/* Handle the error */
	.....
}

The problem first manifested itself as the execution watchdog timer being
restarted with a delay of 0x0 from within 'periodicTaskMain'. When a
'logMsg' was done to display localTaskInfo->period, the value was correct,
but WindView still recorded the 'wdStart' with a delay of 0x0.

I am starting to run out of ideas with regards tracking this problem down -
are there are known problems with the use of task variables, any
SPRs/patches.

Any help appreciated.

Andy Atkinson
Software Engineer
Bldg 31a
QinetiQ, Bincleaves Technology Park
Weymouth
Dorset
DT4 8UR

Tel : 01305 764660
Fax : 01305 764661
e-mail : AATKINSON1@QinetiQ.com

vxworks

The Information contained in this E-Mail and any subsequent correspondence
is private and is intended solely for the intended recipient(s).
For those other than the recipient any disclosure, copying, distribution,
or any action taken or omitted to be taken in reliance on such information
is prohibited and may be unlawful.

From vxwexplo-errs@csg.lbl.gov  Wed Jan 15 04:03:15 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Wed Jan 15 04:03:16 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Wed Jan 15 04:03:13 PST 2003

        Subject: Shell redirection
        Subject: Re: timers & i960-CA
        Subject: Re: Delay before cacheFlush
        Subject: Re: memPartFree Fail
        Subject: Re: "Rebuild All" takes 7 to 10 minutes, while it used to take just 2 minutes

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

Newsgroups: comp.os.vxworks
Subject: Shell redirection
Date: 14 Jan 2003 12:52:43 -0800
From: triniatlarge@yahoo.com (lovell James)
Organization: http://groups.google.com/
Message-ID: <a66abf95.0301141252.478382be@posting.google.com>

Help
    Does tShell only respond when it sees CR? I am trying to redirect
tshell to a secondary port while still keeping STD_IN, STD_OUT and
STD_ERR on the primary port. The  problem is I have to hit enter on
the primary port to get the vxworks prompt on the secondary. The
following is a sample of my code

fd = open("/tyCo/1", O_RDWR, 0777);/* Secondary */
td = open("/tyCo/0", O_RDWR, 0777); /* Primary */

ioctl(fd, FIOSETOPTIONS, OPT_TERMINAL);

ioTaskStdSet(taskNameToId("tShell"), 0, fd);
  ioTaskStdSet(taskNameToId("tShell"),  1, fd);
  ioTaskStdSet(taskNameToId("tShell"),  2, fd);

The above code allowed me to access the secondary by hitting <return>
on the primary.

I then tried to restart the shell by the following code:

shellOrigStdSet(0, fd);
  shellOrigStdSet(1, fd);
  shellOrigStdSet(2, fd);
excJobAdd( shellRestart, TRUE,0,0,0,0,0); 

And I found that STD_IN, STD_OUT and STD_ERR were set to the Secondary
port. I thought shellOrigStdSet only sets the shell task STD_IN,
STD_OUT and STD_ERR ?
I then tried to redirect the STD_IN, STD_OUT and STD_ERR using
ioGlobalStdSet commands and the secondary did not respond
The ioctl options FIOCANCEL and FIOFLUSH dont seem to work. What is
going on?

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

Newsgroups: comp.os.vxworks
Subject: Re: timers & i960-CA
Date: Tue, 14 Jan 2003 21:36:42 +0000 (UTC)
From: <ulisses@pusa.informat.uv.es>
Organization: Universitat de Valencia
Message-ID: <b01vta$tl8$1@peque.uv.es>
References: <avnm66$jei$1@peque.uv.es> <newscache$9lkj8h$h7g$1@lnews.actcom.co.il> <avon14$ndu$1@peque.uv.es> <newscache$ao8k8h$a5h$1@lnews.actcom.co.il> <avq5c2$t20$1@peque.uv.es> <avreau$2v7$1@peque.uv.es> <newscache$52ll8h$v2n$1@lnews.actcom.co.il> <avrjr8$3lq$1@peque.uv.es> <newscache$4kql8h$dan$1@lnews.actcom.co.il> <avrse2$4o1$1@peque.uv.es> <newscache$elwl8h$lkn$1@lnews.actcom.co.il>

Hi Leonid!

Leonid Rosenboim <My_1st_name@consultant.com> wrote:
[...]

> Yuk ! I found the prohect you are referring to, I am sure it contains
> information on
> timers and other hardware on this board, but I would still try hard to get
> more info
> from Marconi (under NDA no doubt)

By the way tech support says that board is obsolete and no longer supported

> - in the several dozens of BSPs and
> drivers that
> I have done, 

wow!

> I allways had some sort of hardware documentation, and I can
> not even
> imagine doing a driver without that. Sometimes the documentation was not
> entirely
> accurate, so yes sometimes even with a HW manual you still have to guess.
> Good luck !! You'll need it.

maybe if I found it really difficult I will forget it, my project is not
focused on that and I have a lot of work pending

Thanks for your comments

	Ulisses
                Debian GNU/Linux: a dream come true
- -----------------------------------------------------------------------------
"Computers are useless. They can only give answers."            Pablo Picasso

- --->	Visita http://www.valux.org/ para saber acerca de la	<---
- --->	Asociacin Valenciana de Usuarios de Linux		<---
 

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

Newsgroups: comp.os.vxworks
Subject: Re: Delay before cacheFlush
Date: Sat, 11 Jan 2003 17:26:18 +0000 (UTC)
From: David Laight <david@spam.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <avpk3p$fbj$1@helle.btinternet.com>
References: <d802dea2.0301070637.5822ea64@posting.google.com> <dlCS9.6$nl.4584@news.ecrc.de> <Xns92FD735A8CB4Fdbryayahoocom@24.48.107.53> <d802dea2.0301090928.7de1343d@posting.google.com> <Xns92FEE92E23156dbryayahoocom@24.48.107.54> <ea90c3ae.0301100535.33ed23c8@posting.google.com> <Xns92FF6873F53C2dbryayahoocom@24.48.107.54>

> Also, I wonder whether an explicit read operation is necessary since any 
> access to the system memory will always go through the same memory controller 
> pathway.  As long as the read/write requests are posted in the correct order 
> to the memory controller, everything should "work out".

It is needed if the writes have an effect on something other than memory.
eg if they cause an interrupt request to be removed.

An ISR might end with a write (probably uncached) that removes the
IRQ request from the target hardware.  Unless you do a readback
from the same port there is no guarantee that the write cycle
will have completed before the ISR exits.

You may also need to have an eieio and/or sync (on PPC) between
the write and read-back - I don't know if the PPC will internally
snoop the read from the write buffer (SPARC cpus don't P4 does...).

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: memPartFree Fail
Date: Sat, 11 Jan 2003 10:01:06 -0800
From: Rick Davis <rld@rmbwoc.com>
Message-ID: <3E205BE2.9030502@rmbwoc.com>
References: <5607ff2c.0301090825.347224f9@posting.google.com>

Gabi;

I'm afraid you're on your own here.  Wind's lamentable
memory allocator, and their utter lack of diagnostics
for it, have led many of us to replace their heap manager.
This is a somewhat drastic solution.  Another is to
get the memLib source from Wind.  They have been somewhat
forthcoming with this lately.

A less expensive solution which I have used a few times
is to wrap malloc() and free() with routines that track
allocations, and write your own utility to dump those
allocations along with a bit of the memory at either
end. Of course this approach will only find
overwrites in your applications, and it can be awkward
to explain to your development team that they have to
replace their memLib calls.

If anyone has a better solution, please post it because
this is one of the worst headaches (aside from Tornado
upgrades) of working with VxWorks.

- -- Rick Davis

Gabi wrote:

> Hi,
> We use memPartAlloc & memPartFree for our memory allocations. 
> We always check return codes and print any errors.
> 
> 
> The situation:
> 
> After some time, (when couple of douzens calls to memPartAlloc made,
> and several buffers were succefully freed with memPartFree)  the
> function memPartFree  returns error.  After that any calls to
> memPartAlloc or memPartFree are failed.
> 
> The error returned is either S_smObjLib_NOT_INITIALIZED or
> S_objLib_OBJ_ID_ERROR - every time it's something else.
> 
> Both parameters to memPartFree (partition and memory address) are
> correct.
> 
> 
> Question
> 
> It seems memory area with some memory partion control block was
> overwrited.
> How can we check it?
> We did not find any function in reference that allows us to check if
> partition is OK.
> 
> Can you advice us how can we advance with this problem?
> 
> tanks
> Gabi
> 

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

Newsgroups: comp.os.vxworks
Subject: Re: "Rebuild All" takes 7 to 10 minutes, while it used to take just 2 minutes
Date: Wed, 15 Jan 2003 12:03:59 +0100
From: "Martin Oberhuber" <martim.oberhuber@no-spam.org>
Organization: EUnet-AG.at EDV and Internet Service AG
Message-ID: <b03f6p$ids$1@paperboy.Austria.EU.net>
References: <e93b99cb.0301141739.12737ee2@posting.google.com>

Hi Jerry,

the delay could be due to network issues inside the cygwin1.dll that's
used within the ccppc compiler. Please try getting the latest cygwin1.dll
from http://sources.redhat.com/cygwin and copy it into your
WIND_BASE/host/x86-win32/bin directory (backup the old version
first). You will only need the cygwin1.dll file, although you probably
won't get around downloading more through the cygwin installer.

If this works, it makes sense to work on your cygwin setup (with cygwin
mount commands) until your official WindRiver cygwin1.dll is fast again.

Please let me know if that helps.
Thanks,
Martin

"Jerry_V" <jerry.valencia@fscnet.vandenberg.af.mil> wrote in message
news:e93b99cb.0301141739.12737ee2@posting.google.com...
> I'm not sure why, but all of a sudden it takes 7 to 10 minutes to do a
> "Rebuild All".  We are using VxWorks 5.5, Tornado 2.2.  Here is a copy
> of the "Build Output" generated:
> ...

> Done.

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Thu Jan 16 04:03:19 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Thu Jan 16 04:03:20 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Thu Jan 16 04:03:16 PST 2003

        Subject: Re: symbol table
        Subject: PPP implementation on VxWorks
        Subject: Unresolved symbol "_h_errno" and errors while downloading my application
        Subject: Re: Task Variables -
        Subject: Re: looking to show free memory in vxWorks - ASAP
        Subject: PPC440 instruction cache
        Subject: Re: PPC440 instruction cache
        Subject: Re: Shell redirection
        Subject: SSL for VxWorks 5.4
        Subject: Re: IP Packet Routing
        Subject: mbit software from motorola
        Subject: Multiple subnet routing
        Subject: Re: database under VxWorks
        Subject: Re: DosFs long name
        Subject: Re: DosFs long name
        Subject: Re: How to get system time from vxworks? and what different between real time clock and system time?

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

Newsgroups: comp.os.vxworks
Subject: Re: symbol table
Date: 15 Jan 2003 13:26:50 GMT
From: Johan Borkhuis <JBorkhuis@proxim.com>
Organization: Proxim Corp.
Message-ID: <Xns930492ED46881jborkhuisproximcom@194.109.133.29>
References: <63c835dd.0301150301.2a3a9cdb@posting.google.com>

sergiohdezm@terra.es (Sergiohdezm) wrote:

> Hi, I am working with Tornado and I need to compile vxWorks for a
> pci/c6400 board. I must choose beetwen "built-in symbol table" and
> "downloaded symbol table" but I don't know what the correct one is.
> Can someone explain the difference? Thank you.

I usually use  the build-in symbol  table. This means that you don't have 
to worry about thee symbol-table file. This however means that your image 
will be much larger.

Kind regards,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    JBorkhuis@Proxim.com  |
    >(________|__|_[_________]_|__________________________|
    _/oo OOOOO oo`  ooo   ooo  'o!o!o                o!o!o`
=== VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ===

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

Newsgroups: comp.os.vxworks
Subject: PPP implementation on VxWorks
Date: Wed, 15 Jan 2003 13:04:51 +0200
From: "Eyal Raab" <eyalr@corrigent.com>
Organization: Newsfeeds.com http://www.newsfeed.com 100,000+ UNCENSORED Newsgroups. The #1 Usenet Service on the Planet!
Message-ID: <3e253a60@post.newsfeed.com>

*** post for FREE via your newsreader at post.newsfeed.com ***

Hi,

We're looking to implement the PPP protocol on our systems.
Does someone know of a free implementation of the PPP protocol for VxWorks?

I've seen in the unoffical VxWorks FAQ a reference to it, but the FTP site
mentioned seems to be inactive.

Thanks in advance,
Eyal Raab.

 -----= Posted via Newsfeed.Com, Uncensored Usenet News =-----
http://www.newsfeed.com - The #1 Newsgroup Service in the World!
- -----== 100,000 Groups! - 19 Servers! - Unlimited Download! =-----
                  

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

Newsgroups: comp.os.vxworks
Subject: Unresolved symbol "_h_errno" and errors while downloading my application
Date: 13 Jan 2003 23:57:14 -0800
From: tnnd@mailcc.kghs.net (Knight Chang)
Organization: http://groups.google.com/
Message-ID: <b8f81bbd.0301132357.6977f7b1@posting.google.com>

Hi, all. I am trying to download an application onto VxWorks simulator
and I get an error message that said "Unresolved symbol while
downloading". The symbol is "_h_errno". But I have already include the
error status symbol table component while building vxworks booting
image. Is there any step i did wrong?

Regards.

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

Newsgroups: comp.os.vxworks
Subject: Re: Task Variables -
Date: Wed, 15 Jan 2003 08:45:54 -0500
From: Keith Arner <karner@pit.comms.marconi.com>
Organization: Marconi
Message-ID: <Pine.GSO.4.42.0301150835430.6991-100000@zimbra>
References: <b03je8$8t4$1@overload.lbl.gov>
Reply-To: Keith Arner <keith.arner@marconi.com>

On Wed, 15 Jan 2003, Atkinson Andrew wrote:

> static void periodicTaskMain (PERIODIC_TASK_INFO_T * taskInfo)
> {
> 	static PERIODIC_TASK_INFO_T * localTaskInfo;

 [...]

> 	if ((status = taskVarAdd (0, (int *) &localTaskInfo)) == OK)
> 	{
> 		/* Allocate some memory for the local task info */
> 		if ((localTaskInfo = (PERIODIC_TASK_INFO_T *) malloc (sizeof
> (PERIODIC_TASK_INFO_T))) != NULL)
> 		{
> 			/* Take a local copy of the task info for this
> particular task */
> 			memcpy ((void *) localTaskInfo, (const void *)
> taskInfo, sizeof (PERIODIC_TASK_INFO_T));

 [...]

> The problem first manifested itself as the execution watchdog timer being
> restarted with a delay of 0x0 from within 'periodicTaskMain'. When a
> 'logMsg' was done to display localTaskInfo->period, the value was correct,
> but WindView still recorded the 'wdStart' with a delay of 0x0.

For starters, if you get rid of the keyword "static" before localTaskInfo,
the variable is local to the task already, and need not be made a taskVar.
This will simplify your code, but will not fix the problem you seem to be
encountering.

Without seeing the function that is calling periodicTaskMain(), I'm only
guessing, but I imagine that the calling function has some static
PERIODIC_TASK_INFO_T structure that it fills in, then hands to the task
that you spawn.  You then copy the data out of the global static into your
local structure.

The problem that I see is that you have no mechanism to ensure that the
data in the calling function's structure doesn't change before the newly
spawned task copies it out.  As a simple example, if the calling function
spawns off two tasks before either spawned task can copy its data out,
then you end up with two tasks with the same data copied.

Fix this by doing the malloc() in the calling function, rather than in the
spawned task.  That is, malloc() your PERIODIC_TASK_INFO_T, then fill it
in, then hand the pointer to the spawned task.  The spawned task will then
have the responsibility to free() up that memory if it exits.

Keith

- -- 
"One should not pursue goals that are easily achieved."
			- Albert Einstein, 1915

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

Newsgroups: comp.os.vxworks
Subject: Re: looking to show free memory in vxWorks - ASAP
Date: 14 Jan 2003 01:02:09 -0800
From: eyalk@radlan.com (Eyal)
Organization: http://groups.google.com/
Message-ID: <a362424b.0301140102.5c48684f@posting.google.com>
References: <k5BU9.1435$774.177596@ursa-nb00s0.nbnet.nb.ca>

"Derek Christie" <dchristie@imagictv.com> wrote in message news:<k5BU9.1435$774.177596@ursa-nb00s0.nbnet.nb.ca>...
> Hi everyone,
> 
> I am looking for a method or something that will determine how much memory
> is free on a vxWorks system. It needs to be able to return a value such as
> int, string etc....
> If someone could give me some info asap it would be much appreciated.
> 
> Thanks
> --D. Christie

 memFindMax( ) find the largest free block in the system memory partition 

 more info at C:/Tornado/docs/rtnIndex.htm

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

Newsgroups: comp.os.vxworks
Subject: PPC440 instruction cache
Date: 15 Jan 2003 07:41:17 -0800
From: smittal@cc.usu.edu (Sangdil)
Organization: http://groups.google.com/
Message-ID: <83b0d6d7.0301150741.35aab26e@posting.google.com>

Greetings all
I am here in a weird situation when I try to turn on the caches in
PPC440 BSP. Till now, I did not have any cache turned on. Now since
the hardware and firmware is stable, we want to turn on the
instruction cache to boost performance. As i read more and more, I get
an idea that both instruction and data cache can only be turned off
and on simultaneously. I only want the instruction cache and not the
data cache. Are there any tricks we can use here?

Thanks a lot.

Regards
Sangdil

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

Newsgroups: comp.os.vxworks
Subject: Re: PPC440 instruction cache
Date: Wed, 15 Jan 2003 11:07:14 -0500
From: Varndell Engineering <gvarndell@hotmail.com>
Organization: Posted Via Newsfeeds.com = SPEED+RETENTION+COMPLETION = http://www.newsfeeds.com
Message-ID: <bs0b2v0157p6s1ka5udg58b3besbj310sr@4ax.com>
References: <83b0d6d7.0301150741.35aab26e@posting.google.com>

On 15 Jan 2003 07:41:17 -0800, smittal@cc.usu.edu (Sangdil) wrote:

>Greetings all
>I am here in a weird situation when I try to turn on the caches in
>PPC440 BSP. Till now, I did not have any cache turned on. Now since
>the hardware and firmware is stable, we want to turn on the
>instruction cache to boost performance. As i read more and more, I get
>an idea that both instruction and data cache can only be turned off
>and on simultaneously. I only want the instruction cache and not the
>data cache. Are there any tricks we can use here?

You'll need to setup TLBs to map execution address spaces as
cacheable and data access spaces as not. Just be careful that
you account for TS (translation space identifier).
TLBs matching MSR[IS] == 0 or 1 and TLBs matching
MSR[DS] == 0 or 1 should be maintained.

Regards,
George Varndell
- --
Varndell Engineering, LLC.          Embedded Systems Expertise
http://www.varndellengineering.com

- -----------== Posted via Newsfeed.Com - Uncensored Usenet News ==----------
   http://www.newsfeed.com       The #1 Newsgroup Service in the World!
- -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =-----

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

Newsgroups: comp.os.vxworks
Subject: Re: Shell redirection
Date: 15 Jan 2003 09:55:52 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0301150955.5ccde720@posting.google.com>
References: <a66abf95.0301141252.478382be@posting.google.com>

Hello,

triniatlarge@yahoo.com (lovell James) wrote in message news:<a66abf95.0301141252.478382be@posting.google.com>...
> Help
>     Does tShell only respond when it sees CR?

Yes, kind of. If you think about what is happening it will all make
sense:

The shell is pended inside a read on the original file descriptor.
Your changing the standard I/O file descriptor after the shell has
started will not affect that read call since it was already pended on
the real device. When you press return on the old serial port, the
read() call returns, the shell sees you didn't really enter a command,
writes out a prompt (on the new standard output channel) and calls
read(), now on the new standard input mapping, so it waits on the
secondary channel.

> I then tried to restart the shell by the following code:
> 
> shellOrigStdSet(0, fd);
>   shellOrigStdSet(1, fd);
>   shellOrigStdSet(2, fd);
> excJobAdd( shellRestart, TRUE,0,0,0,0,0); 

This happens because the shell is using the global standard I/O
redirection when it starts - that is done so that any tasks you spawn
also have their standard output on the fd that the shell is using
(necessary for something like the telnet/rlogin server, which is what
this mechanism is really there for).

> And I found that STD_IN, STD_OUT and STD_ERR were set to the Secondary
> port. I thought shellOrigStdSet only sets the shell task STD_IN,
> STD_OUT and STD_ERR ?
> I then tried to redirect the STD_IN, STD_OUT and STD_ERR using
> ioGlobalStdSet commands and the secondary did not respond
> The ioctl options FIOCANCEL and FIOFLUSH dont seem to work. What is
> going on?

The shell task does not, by default, make use of the task-specific
redirection - it expects to work on the global standard I/O. Since you
are trying to separate the shell from the global I/O, you are going to
face a few problems. I would suggest asking Wind River for the source
to shellLib, then you can change the global redirection calls to
task-specific ones. The problem with taskRestart() is that it will
restore the task-specific settings to their original (i.e. not in use)
setting. It will then start executing the shell, which will
immediately change the global standard I/O to the ones set via the
shellOrigStdSet() function.

So, if you cannot get the source to make the changes, there are a
couple of other tricks you could play:

1) Modify your serial driver to add a routine that allows you to
artificially inject a character into the stream, and wake up any
pending reads. Take a look at the code in target/src/drv/sio and you
should find a routine named with an IntRd suffix - in the middle of
that should be a call like this:

    (*pChan->putRcvChar) (pChan->putRcvArg, inchar);

That is the key to inserting a character into the stream. This will
allow you to use your original task-specific redirection, and get that
initial CR character into the stream. Be warned though, if the shell
ever catches an abort (^C) or an exception, it will restore its I/O to
the global standard I/O channel.

2) You could extract shellLib.o from your archive and link it with a
new .o that provides ioGlobalStdSet() as a mapping onto the task
specific one. Once you've linked these two files together, process the
resulting .o with objcopy to downgrade these new ioGlobalStdSet
routines to locals. That way they will not interfere with the real
ones when you link this object into a system, but they will remap the
shellLib calls to the task-specific redirection routines.

HTH,

John...

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

Newsgroups: comp.os.vxworks
Subject: SSL for VxWorks 5.4
Date: Wed, 15 Jan 2003 18:35:45 GMT
From: igtorque@yahoo.es (Ignacio G.T.)
Message-ID: <3e25a8f9.550033676@News.CIS.DFN.DE>
Reply-To: igtorque@yahoo.es

Any recommendation on SSL software for VxWorks 5.4? Complete web
services not needed.

- --
Ignacio G.T.

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

Newsgroups: comp.os.vxworks
Subject: Re: IP Packet Routing
Date: Wed, 15 Jan 2003 10:49:54 -0800
From: "msafar" <me@here>
Organization: Posted via Supernews, http://www.supernews.com
Message-ID: <v2bbamgv099b21@corp.supernews.com>
References: <314394a.0301121338.6ae48daa@posting.google.com>

I suppose you have the destination (peer) IP address. If you create a UDP
socket, and connect it with the peer address, you should be able to get the
local interface IP address by calling "getsockname". The side effect of
connect is that it finds the outgoing interface. (this part should be
portable)

Once you have the IP address of your outgoing interface you can traverse the
list of interfaces (head is stored in struct ifnet * ifnet) and check which
one has the address. (I suspect this works only in BSD stacks)

You should be able to call etherAddrResolve() now. :-) Don't forget that if
the destination IP is not on your subnet .... .

msafar

"TWalden" <twalden200@hotmail.com> wrote in message
news:314394a.0301121338.6ae48daa@posting.google.com...
> I have a vxWorks 5.4/SENS based hardware platform with 2 Ethernet
> interfaces attached to two different LAN's. For performance reasons,
> I would like to send UDP packets directly to the Ethernet driver,
> bypassing the vxWorks stack. (I know this violates layering, etc,
> but the performance is necessary for this application.) In order to
> do this, I need the destination MAC address so that I may create the
> Ethernet packet header. Given an IP address, how can I get the
> interface name and the MAC address to which I should send the
> packet? The vxWorks networking stack obviously makes this determination
> if I were to do a normal UDP send. I would like to get this information
> programatically without actually doing a send through the stack.
>
> I would like some way to query the stack for the destination of the
> packet. This should include which of the two LAN interfaces to send
> the packet, and the MAC address of the destination host if on the
> same network, or the MAC address of the gateway to use if the
> destination is on a different network.
>
> I am aware of the etherAddrResolve() function which I can use to do
> an ARP, but I need to know the LAN interface. I do not have this
> information.
>
> How can I obtain such information from the stack? Is there an IP route
> lookup function?
>
> Thanks,
> Tim Walden

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

Newsgroups: comp.os.vxworks
Subject: mbit software from motorola
Date: 15 Jan 2003 14:12:48 -0800
From: kelly.hornsby@trw.com (flingylingy)
Organization: http://groups.google.com/
Message-ID: <2aac1ba4.0301151412.2ac427ab@posting.google.com>

Hello

I'm trying to integration motorola's MBIT Self Test software into
VxWorks 5.5 (T2.2) and I'm having some problems with it.  If you have
integrated this software with T2.2, would you email me?

Thx

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

Newsgroups: comp.os.vxworks
Subject: Multiple subnet routing
Date: 14 Jan 2003 08:11:20 -0800
From: mrsinger@usa.net (Matt Singer)
Organization: http://groups.google.com/
Message-ID: <e62b26d3.0301140811.65576c4@posting.google.com>

I have a network topology that looks something like this:

 192.99.22.100               192.99.23.100
 192.99.22.101               192.99.23.101
 192.99.22.102               192.99.23.102
       |                        |
       |sm network              |sm network
       |                        |
 100.0.0.100-----ethernet----100.0.0.101
                    |
                    |
              100.0.0.1 (boot host)
 

Can anyone tell me how to set up the routes so that I can set up a udp
connection between 192.99.22.101 and 192.99.23.101?

Thanks

Matt Singer

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

Newsgroups: comp.os.vxworks
Subject: Re: database under VxWorks
Date: Wed, 15 Jan 2003 15:38:00 -0800
From: Prasad.Jeevanigi@FastObjects.com
Organization: FastObjects Inc.
Message-ID: <MPG.188f90aaae069d6d989680@dedicated-news.broadwing.net>
References: <5fb7bcfa.0301131213.14a86a70@posting.google.com>

In article <5fb7bcfa.0301131213.14a86a70@posting.google.com>, 
tadela@hotmail.com says...
> I'm looking for a database engine to run under VxWorks.Any pointers?
> 
> Thanks
> 
> A
> 

Please check out FastObjects e7 product from FastObjects Inc./Poet 
Software.  They have Object Oriented DB system for VxWorks, MS Windows, 
Linux, Solaris....  You can use C++ or Java interface to access the 
FastObjects databases.

Hope this helps.

Prasad

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

Newsgroups: comp.os.vxworks
Subject: Re: DosFs long name
Date: Thu, 16 Jan 2003 00:56:43 +0100
From: "Franco Bassetti" <pippo@hotmail.com>
Message-ID: <xzmV9.24464$lj5.285868@tornado.fastwebnet.it>
References: <22c68e067cf2bcee618ba6840a74b888.37262@mygate.mailgate.org> <EymV9.24458$lj5.285978@tornado.fastwebnet.it>
Reply-To: "Franco Bassetti" <pippo@hotmail.com>

I have lost your answer

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

Newsgroups: comp.os.vxworks
Subject: Re: DosFs long name
Date: Thu, 16 Jan 2003 00:55:45 +0100
From: "Franco Bassetti" <pippo@hotmail.com>
Message-ID: <EymV9.24458$lj5.285978@tornado.fastwebnet.it>
References: <22c68e067cf2bcee618ba6840a74b888.37262@mygate.mailgate.org>
Reply-To: "Franco Bassetti" <pippo@hotmail.com>

Yes it is dosFs 1.0
I haven't understood how should I format the disk.
Normally I format it by ms dos.
"Franco Bassetti" <francobassetti@hotmail.com> ha scritto nel messaggio
news:22c68e067cf2bcee618ba6840a74b888.37262@mygate.mailgate.org...
> >
>
>
> --
> Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: Re: How to get system time from vxworks? and what different between real time clock and system time?
Date: 14 Jan 2003 09:52:40 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0301140952.4edd0c63@posting.google.com>
References: <709e67fd.0301131115.2a4ee1a6@posting.google.com>

Hello,

Please try to search for these things yourself rather than simply
asking on here immediately... the information you need is readily
available on Wind River's Online Support pages. Simply search in the
tech tips for RTC and it is the second result returned. Here's the
link:

http://www.windriver.com/cgi-bin/windsurf/techtips/public/viewSum.cgi?70

The tech tip title is "'Updating VxWorks time' - how to get the
VxWorks time to reflect the time of the RTC (real time clock) when
running the VxWorks OS on a PC other x86 type platform."

HTH,

John...

jing_m@hotmail.com (jing ma) wrote in message news:<709e67fd.0301131115.2a4ee1a6@posting.google.com>...
> Hi,
>   I have a real time clock driver, use that driver I can get a real
> time clock. I need that clock time to set my system system clock(my
> system BSP is pcPentium). How?
> 
> Thanks!
> 
> jing

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Fri Jan 17 00:15:39 2003
From: Moha8606@aol.com
Date: Fri Jan 17 00:15:41 PST 2003
Subject: Looking for Embedded S/W developer Position

--part1_163.1a436b35.2b59159f_boundary
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit

Hello

Iam looking for Embedded Software developer position. 
Here is my Summary:

EXPERIENCE:
* 5+ years of real-time embedded software development.
* 5 years of vxWorks experience.
* Team Lead , Training and Documentation Experience.
* Developed numerous device drivers in C, Assembly(x86, MIPS), C++.
* Programmed network i/f, PCI, VME, memory controllers, DMA,  etc
* Good knowledge of TCP/IP stack, Ethernet etc.

EDUCATION:
Master of Science ( Computer Sc)

Please contact me at moha8606@aol.com for Resume or to discuss 
opportunities.

--part1_163.1a436b35.2b59159f_boundary
Content-Type: text/html; charset="US-ASCII"
Content-Transfer-Encoding: 7bit

<HTML><FONT FACE=arial,helvetica><FONT  SIZE=2 FAMILY="SANSSERIF" FACE="Arial" LANG="0"><BR>
Hello<BR>
<BR>
Iam looking for Embedded Software developer position. <BR>
Here is my Summary:<BR>
<BR>
EXPERIENCE:<BR>
* 5+ years of real-time embedded software development.<BR>
* 5 years of vxWorks experience.<BR>
* Team Lead , Training and Documentation Experience.<BR>
* Developed numerous device drivers in C, Assembly(x86, MIPS), C++.<BR>
* Programmed network i/f, PCI, VME, memory controllers, DMA,&nbsp; etc<BR>
* Good knowledge of TCP/IP stack, Ethernet etc.<BR>
<BR>
EDUCATION:<BR>
Master of Science ( Computer Sc)<BR>
<BR>
<BR>
Please contact me at moha8606@aol.com for Resume or to discuss <BR>
opportunities.</FONT></HTML>

--part1_163.1a436b35.2b59159f_boundary--

From vxwexplo-errs@csg.lbl.gov  Fri Jan 17 04:03:18 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Fri Jan 17 04:03:19 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Fri Jan 17 04:03:16 PST 2003

        Subject: Re: dec 21143 missing carrier detction?
        Subject: dosFsDevInit failed
        Subject: Re: Need help with problems with Motorola Sandpoint Eval Board
        Subject: Re: mbit software from motorola
        Subject: Best Middleware Type for Embedded (VxWorks) Devices
        Subject: Re: DosFs long name
        Subject: Re: PPC440 instruction cache
        Subject: Re: DosFs long name
        Subject: Re: PPC440 instruction cache
        Subject: Re: mysterious task behaviour
        Subject: Re: Device Drivers question
        Subject: PCMCIA controller initialization with Pentium processor
        Subject: mesage queue

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

Newsgroups: comp.os.vxworks
Subject: Re: dec 21143 missing carrier detction?
Date: Thu, 16 Jan 2003 12:36:37 +0000 (UTC)
From: David Laight <david@spam.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <b0690g$ce$1@venus.btinternet.com>
References: <WkoU9.35207$E83.31682@news2.central.cox.net> <ea90c3ae.0301140442.2c227432@posting.google.com>

Jon Willemsen wrote:
> "Kelly Hornsby" <klh1964@cox.net> wrote in message news:<WkoU9.35207$E83.31682@news2.central.cox.net>...
> 
>>Hello All
>>
>>I want to know if I have a carrier detect on my DEC 21143 device before I
>>start transmitting or receiving packets.

I presume you are looking for the presence of 'link test pulses' on
the UTP cable.  'carrier detect' is the detection of receive data
during your own transmit - ie validates the tx and rx path to the
transceiver.

>>I think CSR12 will tell me if I
>>have a link active (carrier detect) but I'm not sure.  Is this register the
>>best way to detect if there's a good link?  I'm probably going to have a
>>10MB link, but possibly a 100MB link, but I don't think it matters, since
>>both speeds are reflected in CSR12.  Am I on the right track?  I don't have
>>the sources for the ethernet devices, so I'm hoping for an easy way to tell
>>if there's no carrier.  I can get access to the register via a pciFindDevice
>>and a pciConfigInLong to fetch the base addresses of the register banks.

Unless these registers are accessed as a single cycle (I don't remember
the 2114x registers) this could interfere with normal operation of the
ethernet driver.  You may need to dig into the driver a little...

> Perhaps you could try using the status bit that indicates that link
> auto-negotiation has completed. This will tell you if the link is up,
> and if so you should be able to read the negotiated speed from other
> status bit(s). Or do you really need to know specifically if the
> carrier is present?

But auto-negotiation doesn;t need to 'complete', there are other
schemes that can be used to determine the link properties.
In particular if you are connected to a single speed hub it is
very unlikely that it will do auto-negotiation.  The hub sends
out a fixed pattern of link test pulses and the transceiver on
the ethernet card auto-detects whether it is 10M or 100M.

	David

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

Newsgroups: comp.os.vxworks
Subject: dosFsDevInit failed
Date: Thu, 16 Jan 2003 21:46:54 +0800
From: "jm" <qianpb_761209@sina.com>
Organization: Alcatel
Message-ID: <b06d2o$a3k$1@bt02e2.god.bel.alcatel.be>

Hi,all
    I has a problem when i use dosFs.
    I have write a sandisk compactFlash block driver.
When i use "sdcfDrv",then use "sdcfDevCreate",then use
dosFsDevInit(),the dosFsDevInit() read the first sector
of my disk,then return failed.
    I known that dosFsDevInit() get the parameter from
the first sectors to fill struct dos_vol_config,but the
first sectors in disk are all zero.I think this maybe
the reason.But How can i to do?

underside is my code,
STATUS usrSdcfConfig
    (
    int     drive, /* drive number of TFFS */
    int     removable, /* 0 - nonremovable flash media */
    char *  fileName /* mount point */
    )
{
    BLK_DEV * pBootDev;
    char bootDir [BOOT_FILE_LEN];

    dosFsInit (20);

    /* create a block device spanning entire disk (non-distructive!) */

    if ((pBootDev = sdcfDevCreate (0,0,0,0)) == NULL)
 {
        printErr ("tffsDevCreate failed.\n");
        return (ERROR);
 }

    /* split off boot device from boot file */

    devSplit (fileName, bootDir);

    /* initialize the boot block device as a dosFs device named <bootDir> */

    if (dosFsDevInit (bootDir, pBootDev, NULL) == NULL)
 {
        printErr ("dosFsDevInit failed.\n");
        return (ERROR);
 }

    return (OK);
}

/***************************************************************************
****
*
* sdcfDrv - initialize the sdcf driver
*
* RETURNS: OK, or ERROR if initialization fails.
*/

STATUS sdcfDrv(void)
{
    if (!sdcfDrvInstalled)
    {
     reset();
     sdcfDrvStatus=(identifyDrive() == OK) ? OK : ERROR;
     sdcfDrvInstalled = TRUE;
     sdcfDrvStatus=OK;
    }

    return (sdcfDrvStatus);
}

/***************************************************************************
****
* sdcfDevCreate - create a device for a sdcf/IDE disk
*/

BLK_DEV *sdcfDevCreate
    (
    int ctrl,
    int drive,
    int nBlocks,
    int blkOffset
    )
{
    SDCF_DEV  *pDev;
    SDCF_TYPE *pType=&sdcfType;
    BLK_DEV *pBlkdev;
    int     maxBlks;
    if (!sdcfDrvInstalled ) return (NULL);

    if ((pDev = (SDCF_DEV *) malloc(sizeof (SDCF_DEV))) == NULL)
        return (NULL);

    pBlkdev = &pDev->blkDev;
    maxBlks=pType->numberOfSectors-blkOffset;

    if (nBlocks == 0) nBlocks = maxBlks;

    if (nBlocks > maxBlks) nBlocks = maxBlks;

    pBlkdev->bd_nBlocks         = nBlocks;
    pBlkdev->bd_bytesPerBlk     = SECTOR_SIZE;
    pBlkdev->bd_blksPerTrack    = pType->numberOfSectorsPerTrack;
    pBlkdev->bd_nHeads          = pType->numberOfHeads;

    pBlkdev->bd_removable       = TRUE;
    pBlkdev->bd_retry           = 1;
    pBlkdev->bd_mode            = O_RDWR;
    pBlkdev->bd_readyChanged    = TRUE;

    pBlkdev->bd_blkRd           = sdcfBlkRd;
    pBlkdev->bd_blkWrt          = sdcfBlkWrt;
    pBlkdev->bd_ioctl           = sdcfIoctl;
    pBlkdev->bd_reset           = NULL;
    pBlkdev->bd_statusChk       = NULL;

    pDev->ctrl   = ctrl;
    pDev->drive   = drive;
    pDev->blkOffset  = blkOffset;

    return (pBlkdev);
}
the identifyDrive() function take an ATA command (identify drive)
to get parameter:
   pType->numberOfCylinders=0x01ea;
   pType->numberOfHeads=0x04;
   pType->numberOfSectorsPerTrack=0x20;
   pType->numberOfSectors=0xf400;

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

Newsgroups: comp.os.vxworks
Subject: Re: Need help with problems with Motorola Sandpoint Eval Board
Date: Thu, 16 Jan 2003 14:07:38 GMT
From: "Dave Schmidt" <dave@wrxrite.com>
Organization: WrxRite
Message-ID: <K0zV9.9371$Yq3.3213@sccrnsc02>
References: <avsc5n$oe4@dispatch.concentric.net>

Randal,

You would need to recompile the boot code to include the driver for the
add-on Ethernet card.  This would usually be done after the driver had been
validated as configured correctly in the VxWorks image.

"randal" <randall@navini.com> wrote in message
news:avsc5n$oe4@dispatch.concentric.net...
> All,
>
> I have a Sandpoint eval board.  I am having problems loading the VxWorks
> image and running it.  Does anyone have any suggestions.  The ethernet
> device is not supported by the current boot code.  But I can download
> executables through the serial port
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: mbit software from motorola
Date: 16 Jan 2003 07:58:08 -0800
From: badepr1@hotmail.com (Paul Bade)
Organization: http://groups.google.com/
Message-ID: <c6bbeac6.0301160758.515d0e4e@posting.google.com>
References: <2aac1ba4.0301151412.2ac427ab@posting.google.com>

kelly.hornsby@trw.com (flingylingy) wrote in message news:<2aac1ba4.0301151412.2ac427ab@posting.google.com>...
> Hello
> 
> I'm trying to integration motorola's MBIT Self Test software into
> VxWorks 5.5 (T2.2) and I'm having some problems with it.  If you have
> integrated this software with T2.2, would you email me?
> 
> Thx

We developed the original MBIT under subcontract to Motorola,
although they have since taken it in house.
What kind of problems are you having?

We have a web based interface for Motorola's MBIT.

We also offer consulting services for developing MBIT test drivers
for any additional hardware that you may have.
For more information, contact info@dot21rts.com

   Paul Bade
   www.dot21rts.com
   (410) 480-7232

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

Newsgroups: comp.realtime,comp.arch.embedded,comp.os.vxworks,comp.text.xml,comp.dcom.servers
Subject: Best Middleware Type for Embedded (VxWorks) Devices
Date: 16 Jan 2003 08:48:15 -0800
From: padredos@softhome.net (John)
Organization: http://groups.google.com/
Message-ID: <8f783436.0301160848.15a2b9e4@posting.google.com>

Hello.  Hopefully you can provide me some input/clarity.  I am
currently evaluating more reliable/robust distributed computing
alternatives for a system that currently relies on simple message
requests and custom-built queuing software (sometimes dropping
messages).  The system of interest comprises a single application
manager running VxWorks that manages numerous embedded devices, also
running VxWorks.  Communication basically falls into two categories:
1 - Tasks and polls issued by the application manager to the devices. 
For tasks, the device performs its assigned duty and responds with the
result/confirmation in a matter of seconds.  For polls, the
application manager may at-will request the value of any management
parameter known to the embedded device.  The application manager makes
decisions based on the replies sent by the embedded devices.
2 - Voluntary reporting of certain management parameters by the
embedded devices.  This occurs on a periodic basic (i.e. once per
second for some, 10 times per second for others).

In addition to VxWorks as the operating system, the following other
requirements/variables have been defined:
* Communication will take place via IP on a dedicated Ethernet segment
* The embedded device software is being written in C or C++ (unless a
compelling case is made otherwise)
* The application manager is being written in C++ (unless a ...)
* The client software (either on Windows or UNIX) has been written in
Java  (clients need only talk with the application manager)
* Once a task has been issued by the application manager, there is a
maximum response time (measured in seconds)
* The embedded devices are limited to four or eight megabytes of
memory each, so footprint size is important.

In my research, I have identified the following possible solutions:
* CORBA (ORB type to be determined)
* XML-RPC or SOAP 
* DCOM
* Java/RMI
* Smartsockets or Rendezvous (see TIBCO's Web site)
* NDDS (see RTI's Web site)

QUESTIONS:  
1 - Which of these do you recommend, and why?  (If recommending one,
please make mention of your experience with any others.)
2 - In laying out the above options, am I making an apples-to-apples
comparison?  Is there another alternative that's missing from my list?
3 - Given the JAVA-only nature of Java/RMI, is that even an option for
my situation? (assuming it is not used in conjunction with CORBA)
4 - Is XML-RPC or SOAP capable of addressing my needs? (assuming it is
not used in conjunction with CORBA)
5 - Is there a significant risk in choosing a vendor-specific product
like Smartsockets or NDDS?
6 - Do the TIBCO products (and RTI for that matter) provide greater
functionality (and much higher cost) than I need?
7 - Is the VxWorks port of DCOM reliable?
8 - Given Microsoft's direction vis--vis Web services, is a DCOM
solution even worth building at this point?

Thank you for reading this and for your replies!

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

Newsgroups: comp.os.vxworks
Subject: Re: DosFs long name
Date: Thu, 16 Jan 2003 19:49:33 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$3wit8h$bda$1@lnews.actcom.co.il>
References: <22c68e067cf2bcee618ba6840a74b888.37262@mygate.mailgate.org> <EymV9.24458$lj5.285978@tornado.fastwebnet.it>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

As I explained, the long names in dosFs 1.0 are not PC compatible,
hence you must format it on VxWorks - after setting the option
you can run dosFsMkfs() or format() and then reboot,
and it will be mounted with the long names directory structure.

- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

"Franco Bassetti" <pippo@hotmail.com> wrote in message
news:EymV9.24458$lj5.285978@tornado.fastwebnet.it...
> Yes it is dosFs 1.0
> I haven't understood how should I format the disk.
> Normally I format it by ms dos.
> "Franco Bassetti" <francobassetti@hotmail.com> ha scritto nel messaggio
> news:22c68e067cf2bcee618ba6840a74b888.37262@mygate.mailgate.org...
> > >
> >
> >
> > --
> > Posted via Mailgate.ORG Server - http://www.Mailgate.ORG
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: PPC440 instruction cache
Date: 16 Jan 2003 08:43:50 -0800
From: smittal@cc.usu.edu (Sangdil)
Organization: http://groups.google.com/
Message-ID: <83b0d6d7.0301160843.52f16959@posting.google.com>
References: <83b0d6d7.0301150741.35aab26e@posting.google.com> <bs0b2v0157p6s1ka5udg58b3besbj310sr@4ax.com>

Thanks again George
Here is what I understand I will need to work on to enable the
instruction cache. Pls correct me if I am wrong.

Create new TLBs that divide the RAM into instruction access space and
data access space. How do I set different translation space identifier
for MSR[IS] and MSR[DS]? What is the _MMU_TLB_TS_0 attribute set by
vxWorks in sysLib.c for? (MSR[IS] or MSR[DS]).
In addition I will have to make corresponding changes to the Tornado
IDE

Regards
Sangdil

Use 

Varndell Engineering <gvarndell@hotmail.com> wrote in message news:<bs0b2v0157p6s1ka5udg58b3besbj310sr@4ax.com>...
> On 15 Jan 2003 07:41:17 -0800, smittal@cc.usu.edu (Sangdil) wrote:
> 
> >Greetings all
> >I am here in a weird situation when I try to turn on the caches in
> >PPC440 BSP. Till now, I did not have any cache turned on. Now since
> >the hardware and firmware is stable, we want to turn on the
> >instruction cache to boost performance. As i read more and more, I get
> >an idea that both instruction and data cache can only be turned off
> >and on simultaneously. I only want the instruction cache and not the
> >data cache. Are there any tricks we can use here?
> 
> You'll need to setup TLBs to map execution address spaces as
> cacheable and data access spaces as not. Just be careful that
> you account for TS (translation space identifier).
> TLBs matching MSR[IS] == 0 or 1 and TLBs matching
> MSR[DS] == 0 or 1 should be maintained.
> 
> Regards,
> George Varndell
> --
> Varndell Engineering, LLC.          Embedded Systems Expertise
> http://www.varndellengineering.com
> 
> 
> 
> -----------== Posted via Newsfeed.Com - Uncensored Usenet News ==----------
>    http://www.newsfeed.com       The #1 Newsgroup Service in the World!
> -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =-----

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

Newsgroups: comp.os.vxworks
Subject: Re: DosFs long name
Date: Thu, 16 Jan 2003 20:00:41 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$nejt8h$lfa$1@lnews.actcom.co.il>
References: <22c68e067cf2bcee618ba6840a74b888.37262@mygate.mailgate.org> <EymV9.24458$lj5.285978@tornado.fastwebnet.it> <xzmV9.24464$lj5.285868@tornado.fastwebnet.it>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

Well, I might have sent it to you again, if you had provided your true
e-mail address.

By the way, since you are a FastWeb customer,
there are a few questions I would like to ask you.

- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

"Franco Bassetti" <pippo@hotmail.com> wrote in message
news:xzmV9.24464$lj5.285868@tornado.fastwebnet.it...
> I have lost your answer
>
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: PPC440 instruction cache
Date: Fri, 17 Jan 2003 07:49:05 +0100
From: "Michael Lawnick" <michael.lawnick@no_spam.kontron.com>
Organization: Buergernetz Dillingen
Message-ID: <b0890s$vft$1@snoopy.bndlg.de>
References: <83b0d6d7.0301150741.35aab26e@posting.google.com> <bs0b2v0157p6s1ka5udg58b3besbj310sr@4ax.com> <83b0d6d7.0301160843.52f16959@posting.google.com>
Reply-To: "Michael Lawnick" <michael.lawnick@no_spam.kontron.com>
Sender: mlawnick@mail.kontron-applications.com

Hi Sangdil,
> Create new TLBs that divide the RAM into instruction access space and
> data access space.
This is already done in the standard Ebony BSP.

>. How do I set different translation space identifier for MSR[IS] and
MSR[DS]?
Use USER_D_MMU_ENABLE=TRUE and USER_I_MMU_ENABLE=FALSE in workspace or your
project's config file. That's the preconfigured way.

Doing that, instructions will run in context null, allways cached and no
page table miss, but data is managed via mmuLib. Take care to have got an
update of cacheALib.o and mmu440Lib.o, as WindDbg will behave erratic
otherwise.

HTH
Michael

"Sangdil" <smittal@cc.usu.edu> schrieb im Newsbeitrag
news:83b0d6d7.0301160843.52f16959@posting.google.com...
> Thanks again George
> Here is what I understand I will need to work on to enable the
> instruction cache. Pls correct me if I am wrong.
>
> Create new TLBs that divide the RAM into instruction access space and
> data access space. How do I set different translation space identifier
> for MSR[IS] and MSR[DS]? What is the _MMU_TLB_TS_0 attribute set by
> vxWorks in sysLib.c for? (MSR[IS] or MSR[DS]).
> In addition I will have to make corresponding changes to the Tornado
> IDE
>
>
> Regards
> Sangdil
>
>
> Use
>
> Varndell Engineering <gvarndell@hotmail.com> wrote in message
news:<bs0b2v0157p6s1ka5udg58b3besbj310sr@4ax.com>...
> > On 15 Jan 2003 07:41:17 -0800, smittal@cc.usu.edu (Sangdil) wrote:
> >
> > >Greetings all
> > >I am here in a weird situation when I try to turn on the caches in
> > >PPC440 BSP. Till now, I did not have any cache turned on. Now since
> > >the hardware and firmware is stable, we want to turn on the
> > >instruction cache to boost performance. As i read more and more, I get
> > >an idea that both instruction and data cache can only be turned off
> > >and on simultaneously. I only want the instruction cache and not the
> > >data cache. Are there any tricks we can use here?
> >
> > You'll need to setup TLBs to map execution address spaces as
> > cacheable and data access spaces as not. Just be careful that
> > you account for TS (translation space identifier).
> > TLBs matching MSR[IS] == 0 or 1 and TLBs matching
> > MSR[DS] == 0 or 1 should be maintained.
> >
> > Regards,
> > George Varndell
> > --
> > Varndell Engineering, LLC.          Embedded Systems Expertise
> > http://www.varndellengineering.com
> >
> >
> >
> > -----------== Posted via Newsfeed.Com - Uncensored Usenet News
==----------
> >    http://www.newsfeed.com       The #1 Newsgroup Service in the World!
> > -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers
=-----

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

Newsgroups: comp.os.vxworks
Subject: Re: mysterious task behaviour
Date: Fri, 17 Jan 2003 09:06:58 +0100
From: rs <girasolecount@impromptu.m.shuttle.de>
Organization: WiNShuttle, DFN - German Research Network
Message-ID: <3E27B9A2.A3B7BDD5@impromptu.m.shuttle.de>
References: <3E25AE3B.CB4CDE1F@impromptu.m.shuttle.de> <kbzV9.9146$kH3.1858@sccrnsc03>

Dave,

thank you for your answer! If the errno is set and the task seems to run without
fatal error, is there any guarantee that this will be so in the future? Or is
the errno indicating that the task may crash somewhere in the future? I myself
feel better if there is no errno set.

Again thanks!

Reinhold

Dave Schmidt schrieb:

> Albert,
>
> The first thing ine needs to know about "errno" is that just because it is
> set, does not mean that there was a fatal error, just that some "alternative
> action has occured",  for example, a timeout on waiting on a message will
> set the "errno" to a TIMEOUT error.
>
> Tracing the cause of an "errno" setting is one method of determining the
> overall cause of a task "crash".  Wind River support should be able to
> supply you with info on why the value "S_ioLib_UNKNOWN_REQUEST" gets set,
> although I doubt if this is the cause of your crash.
>
> If your system crashes in seemingly unrelated areas of the code, this
> usually points to some sort of overall system level integration issue.  If
> on the other hand it always crashes when executing the same piece of code,
> then this would point to a task level issue.
>
> Again, just beacuse "errno" is set does not mean that your task has comitted
> an error, just that the code executed some "alternative" path through its
> processing.
>
> Dave
>
> "rs" <girasolecount@impromptu.m.shuttle.de> wrote in message
> news:3E25AE3B.CB4CDE1F@impromptu.m.shuttle.de...
> > Hello,
> >
> > I have an embedded application which spawns a main task. The spawning is
> > successfull. But when running the application on the target I get
> > following message on the connected target-terminal when invoking i :
> >
> > -> i
> >
> > NAME    ENTRY    TID            PRI   STATUS   PC
> > SP             ERRNO    DELAY
> > ...
> > tTest       test             137e458    100    READY    149700
> > 137a268    c0002        0
> >
> >
> > ->printErrno( 0xc0002)
> > S_ioLib_UNKNOWN_REQUEST
> > value = 24 = 0x18
> > ->
> >
> > There is an errno  != 0 for the task tTest, although the  taks is
> > running. Invoking functions of the task is errorfree until a specific
> > function is invoked. Then the task crashes. I have debugged the function
> > and found no error. Furthermore, when I compiled and downloaded my
> > application again, the task didn't crash at invoking this function but
> > runs errorfree, although the ERRNO on the terminal is the same as
> > before.
> >
> > An other application with a similar main task has errno 0x3d0001 =
> > S_objLib_OB_ID_ERROR.
> > That task is running fine and doesn't crash, regardless what the task is
> > doing.
> >
> > Why is there an errno != 0 on the terminal, although the task spawns
> > without error? What do the error numbers mean? Does anyone know?
> >
> > Thank you in advance!
> >
> > Albert
> >

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

Newsgroups: comp.os.vxworks
Subject: Re: Device Drivers question
Date: Sat, 11 Jan 2003 15:44:24 GMT
From: Dave Bryan <dbryan@yahoo.com>
Organization: The PTR Group
Message-ID: <Xns93006D34E6BDBdbryayahoocom@24.48.107.54>
References: <Z1OT9.4807$ym4.447117@news2.west.cox.net>

shasia wrote:

> I have tons of documentation on Tornado and on VxWorks and I have access
> to windsurf (or whatever it is called now) but I can't find anywhere any
> device driver programming guide or how to write a BSP. All I have is BSP
> reference which is probably a very useful thing to somebody who already
> knows how to write it/use it. Can somebody please tell me if I am
> looking for something that does not exist or where I can find this
> documentation. Many thanks. 
> 
> Alex
> 
> 

Alex:

There are four choices for BSP and device driver development.

1)Get the BSP developers kit.  This includes the BSP Developers guide,
templates files and (optionally) driver source code.  The guide is not
comprehensive.  There is way more time spent on such things as coding
conventions and documentation guidelines then on drivers and BSPs.  If you
are writing a network driver, get the Network Protocol Toolkit.  This is
the only doc that addresses network drivers, the mux, etc.  Then start
plowing through all of it.  Depending on your experience and the type of
driver you are writing, this could be a fairly simple or a incredibly
daunting task.  

2)Get some training. Then get the guide, template and example driver
files.  This is probably the best way to "learn" VxWorks BSPs and device
drivers, but it can also be the slowest and the most expensive.  

BSP and device driver training is available from several sources including
Wind (and my company).  Be careful, though, that the training will cover
the type of device driver you are trying to write as well as how you wish
to use it.  Network drivers are very different from serial drivers.  You
may want to write a driver for something very custom - a DSP interface or
an RF interface.  The interface you want for the driver is just as
important.  Is your device packet, block, or character based,  Do you plan
to put a filesystem on it or will you be integrating with the network
stack.  All these things are very different and should be kept in mind as
you look for a potential training courses.  Also keep in mind the trainer.
 When it comes to BSPs and device drivers, experience counts.  Ask around
about training experiences, finding the right trainer is as important as
covering the right material.  A good trainer can step outside the
courseware (within reason) to address your particular needs. 

3)There are a couple of products out there that will "generate" a device
driver or BSP for you.  These are usually tied to particular architectures
and/or technologies.  Keep in mind that these products are typically
trying to address many RTOS environments (or no RTOS at all).  The driver
may be good, but it's integration with vxWorks may or may not be optimal. 
This type of solution is hit or miss, and can be fairly expensive. 
However, it's worth checking into... 

4)Finally, of course, you can have a consultant company write ( or help
you write) the BSP/driver. 

HTH...

Dave
- -- 
- ---------------------------------------------------------
         T h e   P T R   G r o u p,   I n c.
     Embedded, Real-Time Solutions, and Training  
- ---------------------------------------------------------
David Bryan                           www.ThePTRGroup.com
703-726-0498                         Dave@ThePTRGroup.com
- ---------------------------------------------------------

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

Newsgroups: comp.os.vxworks
Subject: PCMCIA controller initialization with Pentium processor
Date: 7 Jan 2003 12:13:13 -0800
From: gpbeck_99@yahoo.com (Gary Beck)
Organization: http://groups.google.com/
Message-ID: <eac587be.0301071213.5e3d0195@posting.google.com>

How can I verify that my PCMCIA Controller has been initialized
properly.  I'm using a PC104 Pentium processor board with a PC104
Adtron SDDP-2X PCMCIA controller board.

I've tried to use the call pcicInit() to initialize the Cirrus Logic
PD-6720 part, but I'm not sure I'm using the correct parameters.

From the pc.h file, I'm using 
#define PCIC_BASE_ADR           0x3e0	/* Intel 82365SL */
#define PCIC_INT_LVL            0x0a

and pcicShow as the show routine (showRtn).

I guess my question is how do I verify that the base address and
interrupt level and how do I determine what to use for the interrupt
vector.

Any help would be appreciated.

Thanks in advance.

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

Newsgroups: comp.os.vxworks
Subject: mesage queue
Date: 17 Jan 2003 02:42:33 -0800
From: pradeeppatel77@yahoo.com (pradeep)
Organization: http://groups.google.com/
Message-ID: <54575a52.0301170242.62a607b@posting.google.com>

There are 2 tasks one is putting a structure variable in message queue,
 and other is recieving from it. 
the sequence of events are -
In task A
1) sending the structure variable in the message queue.
2) Free the memory corrosponding to that variable.
In Task B
1) Recieving the data from the message queue, 

Problem is data in recieving is corrupted.

if free is done .
data is recieved properly.
kindly tell me how msg queworks internally.
regards
pradeep

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Fri Jan 17 07:36:50 2003
From: Mike McCullough <mike@mccengineering.com>
Date: Fri Jan 17 07:36:51 PST 2003
Subject: Need VxWorks Training??

--=====================_9772109==_.ALT
Content-Type: text/plain; charset="us-ascii"; format=flowed

Do you need VxWorks training? Are you a new user or simply looking to 
refresh your current skills? Are you looking to add "VxWorks" to your 
resume? MCC Systems is kicking off a series of training workshops for the 
month of February at a special introductory rate. Our February schedule of 
dates and locations is listed below. Our 2003 training schedule will be on 
our Web page in a few days. We also provide customized onsite training for 
groups of 4 or more.

To register simply call 888-279-1625 or email training@mccengineering.com

                 February Training Schedule

Feb 11-13       VxWorks and Tornado (Lecture Only)      Nashua, NH

Feb 18-20       VxWorks and Tornado (Lecture Only)      Rockville, MD

Feb 18-20       VxWorks and Tornado (Lecture Only)      Sunnyvale, CA

Tuition: $500 per day (3 days)

**********************************************************
Mike McCullough                    MCC Systems, Inc.
President and CEO                  9 Cheshire Court
                                    Londonderry, NH 03053

mike@mccengineering.com            Tel:  603-537-9593
                                    Fax:  603-434-9890
www.mccengineering.com             Cell: 603-247-1219

**********************************************************
        24x7 VxWorks Support  Custom Support Programs
          VxWorks Training   Embedded Consulting Services
                     A WindLink Partner
**********************************************************
--=====================_9772109==_.ALT
Content-Type: text/html; charset="us-ascii"

<html>
Do you need VxWorks training? Are you a new user or simply looking to
refresh your current skills? Are you looking to add &quot;VxWorks&quot;
to your resume? MCC Systems is kicking off a series of training workshops
for the month of February at a special introductory rate. Our February
schedule of dates and locations is listed below. Our 2003 training
schedule will be on our Web page in a few days. We also provide
customized onsite training for groups of 4 or more. <br><br>
To register simply call 888-279-1625 or email
training@mccengineering.com<br><br>
<x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab><x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab>February
Training Schedule<br><br>
Feb 11-13<x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab>VxWorks
and Tornado (Lecture
Only)<x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab>Nashua,
NH<br><br>
Feb 18-20<x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab>VxWorks
and Tornado (Lecture
Only)<x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab>Rockville,
MD<br><br>
Feb 18-20<x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab>VxWorks
and Tornado (Lecture
Only)<x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab>Sunnyvale,
CA<br><br>
Tuition: $500 per day (3 days)<br><br>
<br><br>
<br><br>
<br>
<x-sigsep><p></x-sigsep>
**********************************************************<br>
Mike
McCullough&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
MCC Systems,
Inc.<x-tab>&nbsp;&nbsp;&nbsp;&nbsp;</x-tab><x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab><x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab><br>
President and
CEO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
9 Cheshire Court<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Londonderry, NH 03053<br><br>
mike@mccengineering.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Tel:&nbsp; 603-537-9593<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Fax:&nbsp; 603-434-9890<br>
<u><a href="http://www.mccengineering.com/" eudora="autourl">www.mccengineering.com</a></u><x-tab>&nbsp;&nbsp;</x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Cell: 603-247-1219<br><br>
**********************************************************<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 24x7 VxWorks Support&nbsp; Custom
Support Programs<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VxWorks
Training&nbsp;&nbsp; Embedded Consulting Services<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
A WindLink Partner<br>
**********************************************************</html>

--=====================_9772109==_.ALT--

From vxwexplo-errs@csg.lbl.gov  Sun Jan 19 04:03:17 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sun Jan 19 04:03:18 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Sun Jan 19 04:03:14 PST 2003

        Subject: Re: mesage queue
        Subject: Re: PPC440 instruction cache
        Subject: change tNetQueue size
        Subject: Re: mysterious task behaviour
        Subject: Re: mysterious task behaviour
        Subject: Re: mesage queue
        Subject: Re: PPC440 instruction cache
        Subject: Re: PPC440 instruction cache
        Subject: Replacing default IP stack
        Subject: Re: Max Number of File Descriptors per TASK
        Subject: problems with memory pool management with netBufLib
        Subject: ospf emulator/analyzer
        Subject: mesage queue
        Subject: Re: change tNetQueue size
        Subject: Re: change tNetQueue size
        Subject: Re: Floating Point Co-Processor Support
        Subject: vxWorks- booting

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

Newsgroups: comp.os.vxworks
Subject: Re: mesage queue
Date: Fri, 17 Jan 2003 13:11:43 +0100
From: "Michael Lawnick" <michael.lawnick@no_spam.kontron.com>
Organization: Buergernetz Dillingen
Message-ID: <b08rtn$2q3$1@snoopy.bndlg.de>
References: <54575a52.0301170242.62a607b@posting.google.com>
Reply-To: "Michael Lawnick" <michael.lawnick@no_spam.kontron.com>
Sender: mlawnick@mail.kontron-applications.com

Hi Pradeep,

on msgQSend the data pointed to by char*msg is copied in the length of int
len bytes to msgQ buffer.
Maximum this data is read out on msgQReceive (could be less if len is to
short, rest of message is discarded then)
You have to two major ways:
a) send/receive contents of struct:
task A
struct bla data;
msgQSend(id, (char*)&data, sizeof(data),...);
task B
struct bla data;
msgQReceive(id, (char*)&data,sizeof(data),....);

b) send/receive a pointer to data
task A
struct bla *data;
data=malloc(sizeof(*data));
msgQSend(id,(char*)data,sizeof(*data),...);
task B
struct bla *data;
msgQReceive(id, (char*)data,sizeof(*data),....);
free(data);

a) means 2 copies of data and a big msgQ, but a don't care about memory
fragmentation and buffer management
b) is fast but might fragment memory
If you know the maximum number of buffers you need, you could use b) with
preallocated structs, their pointers put into a msgQ. In task A you receive
the pointers and in task B you send them again. This is fast and avoids
fragmentation.

HTH
Michael

"pradeep" <pradeeppatel77@yahoo.com> schrieb im Newsbeitrag
news:54575a52.0301170242.62a607b@posting.google.com...
> There are 2 tasks one is putting a structure variable in message queue,
>  and other is recieving from it.
> the sequence of events are -
> In task A
> 1) sending the structure variable in the message queue.
> 2) Free the memory corrosponding to that variable.
> In Task B
> 1) Recieving the data from the message queue,
>
> Problem is data in recieving is corrupted.
>
> if free is done .
> data is recieved properly.
> kindly tell me how msg queworks internally.
> regards
> pradeep

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

Newsgroups: comp.os.vxworks
Subject: Re: PPC440 instruction cache
Date: Fri, 17 Jan 2003 08:20:08 -0500
From: Varndell Engineering <gvarndell@hotmail.com>
Organization: Posted Via Newsfeeds.com = SPEED+RETENTION+COMPLETION = http://www.newsfeeds.com
Message-ID: <k60g2vknt3a7uaesg0s4bs7aikcje7cn11@4ax.com>
References: <83b0d6d7.0301150741.35aab26e@posting.google.com> <bs0b2v0157p6s1ka5udg58b3besbj310sr@4ax.com> <83b0d6d7.0301160843.52f16959@posting.google.com> <b0890s$vft$1@snoopy.bndlg.de>

On Fri, 17 Jan 2003 07:49:05 +0100, "Michael Lawnick"
<michael.lawnick@no_spam.kontron.com> wrote:

>Hi Sangdil,
>> Create new TLBs that divide the RAM into instruction access space and
>> data access space.
>This is already done in the standard Ebony BSP.
>
>>. How do I set different translation space identifier for MSR[IS] and
>MSR[DS]?
>Use USER_D_MMU_ENABLE=TRUE and USER_I_MMU_ENABLE=FALSE in workspace or your
>project's config file. That's the preconfigured way.
>
>Doing that, instructions will run in context null, allways cached and no
>page table miss, but data is managed via mmuLib. Take care to have got an
>update of cacheALib.o and mmu440Lib.o, as WindDbg will behave erratic
>otherwise.

If the 'instruction mmu' is disabled via Tornado configuration or in
config.h, the BSP must create static TLB mappings for execution space.
Whether or not misses occur, and whether or not caching is inhibited,
will depend soley on the attributes and extent of that static TLB
mapping.
What is 'context null'? I've not encountered that phrase before.

Regards,
George Varndell
- --
Varndell Engineering, LLC.          Embedded Systems Expertise
http://www.varndellengineering.com

- -----------== Posted via Newsfeed.Com - Uncensored Usenet News ==----------
   http://www.newsfeed.com       The #1 Newsgroup Service in the World!
- -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =-----

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

Newsgroups: comp.os.vxworks
Subject: change tNetQueue size
Date: Fri, 17 Jan 2003 13:51:26 GMT
From: Jim <REMOVEjimdon@sympatico.caREMOVE>
Organization: Magma Communications Ltd.
Message-ID: <yTTV9.25006$j5.114241@news>

Hi how do I change the tNetTask Queue size without having tNetTask source?

Is it possible?

Jim

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

Newsgroups: comp.os.vxworks
Subject: Re: mysterious task behaviour
Date: Fri, 17 Jan 2003 14:10:15 GMT
From: "Dave Schmidt" <dave@wrxrite.com>
Organization: WrxRite.com
Message-ID: <b9UV9.592375$GR5.379968@rwcrnsc51.ops.asp.att.net>
References: <3E25AE3B.CB4CDE1F@impromptu.m.shuttle.de> <kbzV9.9146$kH3.1858@sccrnsc03> <3E27B9A2.A3B7BDD5@impromptu.m.shuttle.de>

Reinhold,

First, each task has its own version of errno stored in its TCB.  Understand
also that an ISR which sets errno, will set the errno in the TCB of the task
that was interrupted.

Errno is only valid immediately after a call to a routine which could set it
(or has a sub-routine which could set it).  Calling a routine which has the
ability to set errno and then checking the value of errno 20 lines further
down in the code is not advisable, as an ISR could modify errno.  Errno
should be checked immediately upon receiving an ERROR status.  Checking
errno is only needed when an ERROR is indicated by the return status of a
routine.

This being said, users should implement returning a status on all their
routines whenever there is a posibility of performing an alternate action in
the routine.  Errno itself should only get set at the lowest level of error
/ alternate processing.  It should not get modified at each successive
return up the stack, as it would lose its original context.

As long as no return error status was indicated, the user can safely ignore
the value of errno set by the routine.  This does not mean though that
somewhere else in the code a call was made which did not check the return
status, and thus missed the needed errno setting.  Or that an ISR set the
value.  This is why periodically looking at the errnos of all tasks via the
console during development is a good thing.

Dave Schmidt
www.wrxrite.com

"rs" <girasolecount@impromptu.m.shuttle.de> wrote in message
news:3E27B9A2.A3B7BDD5@impromptu.m.shuttle.de...
> Dave,
>
> thank you for your answer! If the errno is set and the task seems to run
without
> fatal error, is there any guarantee that this will be so in the future? Or
is
> the errno indicating that the task may crash somewhere in the future? I
myself
> feel better if there is no errno set.
>
> Again thanks!
>
> Reinhold
>
>
>
> Dave Schmidt schrieb:
>
> > Albert,
> >
> > The first thing ine needs to know about "errno" is that just because it
is
> > set, does not mean that there was a fatal error, just that some
"alternative
> > action has occured",  for example, a timeout on waiting on a message
will
> > set the "errno" to a TIMEOUT error.
> >
> > Tracing the cause of an "errno" setting is one method of determining the
> > overall cause of a task "crash".  Wind River support should be able to
> > supply you with info on why the value "S_ioLib_UNKNOWN_REQUEST" gets
set,
> > although I doubt if this is the cause of your crash.
> >
> > If your system crashes in seemingly unrelated areas of the code, this
> > usually points to some sort of overall system level integration issue.
If
> > on the other hand it always crashes when executing the same piece of
code,
> > then this would point to a task level issue.
> >
> > Again, just beacuse "errno" is set does not mean that your task has
comitted
> > an error, just that the code executed some "alternative" path through
its
> > processing.
> >
> > Dave
> >
> > "rs" <girasolecount@impromptu.m.shuttle.de> wrote in message
> > news:3E25AE3B.CB4CDE1F@impromptu.m.shuttle.de...
> > > Hello,
> > >
> > > I have an embedded application which spawns a main task. The spawning
is
> > > successfull. But when running the application on the target I get
> > > following message on the connected target-terminal when invoking i :
> > >
> > > -> i
> > >
> > > NAME    ENTRY    TID            PRI   STATUS   PC
> > > SP             ERRNO    DELAY
> > > ...
> > > tTest       test             137e458    100    READY    149700
> > > 137a268    c0002        0
> > >
> > >
> > > ->printErrno( 0xc0002)
> > > S_ioLib_UNKNOWN_REQUEST
> > > value = 24 = 0x18
> > > ->
> > >
> > > There is an errno  != 0 for the task tTest, although the  taks is
> > > running. Invoking functions of the task is errorfree until a specific
> > > function is invoked. Then the task crashes. I have debugged the
function
> > > and found no error. Furthermore, when I compiled and downloaded my
> > > application again, the task didn't crash at invoking this function but
> > > runs errorfree, although the ERRNO on the terminal is the same as
> > > before.
> > >
> > > An other application with a similar main task has errno 0x3d0001 =
> > > S_objLib_OB_ID_ERROR.
> > > That task is running fine and doesn't crash, regardless what the task
is
> > > doing.
> > >
> > > Why is there an errno != 0 on the terminal, although the task spawns
> > > without error? What do the error numbers mean? Does anyone know?
> > >
> > > Thank you in advance!
> > >
> > > Albert
> > >
>

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

Newsgroups: comp.os.vxworks
Subject: Re: mysterious task behaviour
Date: Fri, 17 Jan 2003 14:11:45 GMT
From: "Dave Schmidt" <dave@wrxrite.com>
Organization: WrxRite.com
Message-ID: <BaUV9.714296$P31.531547@rwcrnsc53>
References: <3E25AE3B.CB4CDE1F@impromptu.m.shuttle.de> <kbzV9.9146$kH3.1858@sccrnsc03> <3E27B9A2.A3B7BDD5@impromptu.m.shuttle.de>

Reinhold,

First, each task has its own version of errno stored in its TCB.  Understand
also that an ISR which sets errno, will set the errno in the TCB of the task
that was interrupted.

Errno is only valid immediately after a call to a routine which could set it
(or has a sub-routine which could set it).  Calling a routine which has the
ability to set errno and then checking the value of errno 20 lines further
down in the code is not advisable, as an ISR could modify errno.  Errno
should be checked immediately upon receiving an ERROR status.  Checking
errno is only needed when an ERROR is indicated by the return status of a
routine.

This being said, users should implement returning a status on all their
routines whenever there is a posibility of performing an alternate action in
the routine.  Errno itself should only get set at the lowest level of error
/ alternate processing.  It should not get modified at each successive
return up the stack, as it would lose its original context.

As long as no return error status was indicated, the user can safely ignore
the value of errno set by the routine.  This does not mean though that
somewhere else in the code a call was made which did not check the return
status, and thus missed the needed errno setting.  Or that an ISR set the
value.  This is why periodically looking at the errnos of all tasks via the
console during development is a good thing.

Dave Schmidt
www.wrxrite.com

"rs" <girasolecount@impromptu.m.shuttle.de> wrote in message
news:3E27B9A2.A3B7BDD5@impromptu.m.shuttle.de...
> Dave,
>
> thank you for your answer! If the errno is set and the task seems to run
without
> fatal error, is there any guarantee that this will be so in the future? Or
is
> the errno indicating that the task may crash somewhere in the future? I
myself
> feel better if there is no errno set.
>
> Again thanks!
>
> Reinhold
>
>
>
> Dave Schmidt schrieb:
>
> > Albert,
> >
> > The first thing ine needs to know about "errno" is that just because it
is
> > set, does not mean that there was a fatal error, just that some
"alternative
> > action has occured",  for example, a timeout on waiting on a message
will
> > set the "errno" to a TIMEOUT error.
> >
> > Tracing the cause of an "errno" setting is one method of determining the
> > overall cause of a task "crash".  Wind River support should be able to
> > supply you with info on why the value "S_ioLib_UNKNOWN_REQUEST" gets
set,
> > although I doubt if this is the cause of your crash.
> >
> > If your system crashes in seemingly unrelated areas of the code, this
> > usually points to some sort of overall system level integration issue.
If
> > on the other hand it always crashes when executing the same piece of
code,
> > then this would point to a task level issue.
> >
> > Again, just beacuse "errno" is set does not mean that your task has
comitted
> > an error, just that the code executed some "alternative" path through
its
> > processing.
> >
> > Dave
> >
> > "rs" <girasolecount@impromptu.m.shuttle.de> wrote in message
> > news:3E25AE3B.CB4CDE1F@impromptu.m.shuttle.de...
> > > Hello,
> > >
> > > I have an embedded application which spawns a main task. The spawning
is
> > > successfull. But when running the application on the target I get
> > > following message on the connected target-terminal when invoking i :
> > >
> > > -> i
> > >
> > > NAME    ENTRY    TID            PRI   STATUS   PC
> > > SP             ERRNO    DELAY
> > > ...
> > > tTest       test             137e458    100    READY    149700
> > > 137a268    c0002        0
> > >
> > >
> > > ->printErrno( 0xc0002)
> > > S_ioLib_UNKNOWN_REQUEST
> > > value = 24 = 0x18
> > > ->
> > >
> > > There is an errno  != 0 for the task tTest, although the  taks is
> > > running. Invoking functions of the task is errorfree until a specific
> > > function is invoked. Then the task crashes. I have debugged the
function
> > > and found no error. Furthermore, when I compiled and downloaded my
> > > application again, the task didn't crash at invoking this function but
> > > runs errorfree, although the ERRNO on the terminal is the same as
> > > before.
> > >
> > > An other application with a similar main task has errno 0x3d0001 =
> > > S_objLib_OB_ID_ERROR.
> > > That task is running fine and doesn't crash, regardless what the task
is
> > > doing.
> > >
> > > Why is there an errno != 0 on the terminal, although the task spawns
> > > without error? What do the error numbers mean? Does anyone know?
> > >
> > > Thank you in advance!
> > >
> > > Albert
> > >
>

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

Newsgroups: comp.os.vxworks
Subject: Re: mesage queue
Date: Fri, 17 Jan 2003 14:26:35 GMT
From: "Dave Schmidt" <dave@wrxrite.com>
Organization: WrxRite.com
Message-ID: <voUV9.714418$P31.531492@rwcrnsc53>
References: <54575a52.0301170242.62a607b@posting.google.com>

Pradeep,

Without seeing your structure that is being sent or the call to send it, it
is hard to decide what exactly is going on.

There are two possibilities I can think of immediately:

1) You are only passing a structure's address to be sent to the waiting
task.  In this case, when you free the memory, the data that was pointed to
now becomes invalid, since other tasks (including the sender) can now
allocate the same block of memory.

2) You are passing all the structure to be passed, but in your structure
itself is some pointer to more memory that is freed up by the sender and
thus made availble for allocating.

In either case, there are a few simple "rules" when utilizing message
queues:

1) Always keep the data passed short, there is overhead associated with
copying the data in and out of the message queue.
2) Never pass anything larger than a pointer.
3) If passed a pointer, make sure the memory pointed to is reused/returned
to sender/ free'd.

Dave Schmidt
www.wrxrite.com

"pradeep" <pradeeppatel77@yahoo.com> wrote in message
news:54575a52.0301170242.62a607b@posting.google.com...
> There are 2 tasks one is putting a structure variable in message queue,
>  and other is recieving from it.
> the sequence of events are -
> In task A
> 1) sending the structure variable in the message queue.
> 2) Free the memory corrosponding to that variable.
> In Task B
> 1) Recieving the data from the message queue,
>
> Problem is data in recieving is corrupted.
>
> if free is done .
> data is recieved properly.
> kindly tell me how msg queworks internally.
> regards
> pradeep

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

Newsgroups: comp.os.vxworks
Subject: Re: PPC440 instruction cache
Date: Fri, 17 Jan 2003 17:14:41 +0100
From: "Michael Lawnick" <michael.lawnick@no_spam.kontron.com>
Organization: Buergernetz Dillingen
Message-ID: <b09a58$u7t$1@snoopy.bndlg.de>
References: <83b0d6d7.0301150741.35aab26e@posting.google.com> <bs0b2v0157p6s1ka5udg58b3besbj310sr@4ax.com> <83b0d6d7.0301160843.52f16959@posting.google.com> <b0890s$vft$1@snoopy.bndlg.de> <k60g2vknt3a7uaesg0s4bs7aikcje7cn11@4ax.com>
Reply-To: "Michael Lawnick" <michael.lawnick@no_spam.kontron.com>
Sender: mlawnick@mail.kontron-applications.com

Hi George,
> Whether or not misses occur, and whether or not caching is inhibited,
> will depend soley on the attributes and extent of that static TLB
> mapping.
> What is 'context null'?
TLB-misses will not depend on attributes (WIMG or XWR), as for a match only
the TID, TS and effective address are used. Duplicate entries with
differences in the attributes only will crash the processor.

The only static TLB you need is a TLB that maps the exception vector space
and code with TS=0 as the CPU will set MSR[IS] to 0 - what I called 'context
0' - on all critical interrupts and page-table-misses. All other TLBs may be
static or mapped via mmuLib on page-table-miss.

Back to standard vxWorks setup:
On USER_I_MMU_ENABLE=FALSE, MSR[IS] stays 0, even when executing user code.
This reduces page-table-misses (now only on data accesses).
This said, the OP may use the standard setup and disable cache in all TS=1
entries and he should be done.

Ok now?
Michael

"Varndell Engineering" <gvarndell@hotmail.com> schrieb im Newsbeitrag
news:k60g2vknt3a7uaesg0s4bs7aikcje7cn11@4ax.com...
> On Fri, 17 Jan 2003 07:49:05 +0100, "Michael Lawnick"
> <michael.lawnick@no_spam.kontron.com> wrote:
>
> >Hi Sangdil,
> >> Create new TLBs that divide the RAM into instruction access space and
> >> data access space.
> >This is already done in the standard Ebony BSP.
> >
> >>. How do I set different translation space identifier for MSR[IS] and
> >MSR[DS]?
> >Use USER_D_MMU_ENABLE=TRUE and USER_I_MMU_ENABLE=FALSE in workspace or
your
> >project's config file. That's the preconfigured way.
> >
> >Doing that, instructions will run in context null, allways cached and no
> >page table miss, but data is managed via mmuLib. Take care to have got an
> >update of cacheALib.o and mmu440Lib.o, as WindDbg will behave erratic
> >otherwise.
>
> If the 'instruction mmu' is disabled via Tornado configuration or in
> config.h, the BSP must create static TLB mappings for execution space.
> Whether or not misses occur, and whether or not caching is inhibited,
> will depend soley on the attributes and extent of that static TLB
> mapping.
> What is 'context null'? I've not encountered that phrase before.
>
> Regards,
> George Varndell
> --
> Varndell Engineering, LLC.          Embedded Systems Expertise
> http://www.varndellengineering.com
>
>
>
> -----------== Posted via Newsfeed.Com - Uncensored Usenet News
==----------
>    http://www.newsfeed.com       The #1 Newsgroup Service in the World!
> -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers
=-----

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

Newsgroups: comp.os.vxworks
Subject: Re: PPC440 instruction cache
Date: Fri, 17 Jan 2003 11:56:16 -0500
From: Varndell Engineering <gvarndell@hotmail.com>
Organization: Posted Via Newsfeeds.com = SPEED+RETENTION+COMPLETION = http://www.newsfeeds.com
Message-ID: <i9cg2vsp7mjfcqpu76fafrae0c6mtgjb6u@4ax.com>
References: <83b0d6d7.0301150741.35aab26e@posting.google.com> <bs0b2v0157p6s1ka5udg58b3besbj310sr@4ax.com> <83b0d6d7.0301160843.52f16959@posting.google.com> <b0890s$vft$1@snoopy.bndlg.de> <k60g2vknt3a7uaesg0s4bs7aikcje7cn11@4ax.com> <b09a58$u7t$1@snoopy.bndlg.de>

On Fri, 17 Jan 2003 17:14:41 +0100, "Michael Lawnick"
<michael.lawnick@no_spam.kontron.com> wrote:

>Hi George,
>> Whether or not misses occur, and whether or not caching is inhibited,
>> will depend soley on the attributes and extent of that static TLB
>> mapping.
>> What is 'context null'?
>
>TLB-misses will not depend on attributes (WIMG or XWR), as for a match only
>the TID, TS and effective address are used. Duplicate entries with
>differences in the attributes only will crash the processor.

Right, but whether or not I caching is inhibited will depend only on
the attributes of the(se) static TLBs. My point was that your reply
*seemed* (by virtute of not mentioning static TLBs) to imply that
disabling the IMMU was all that would be required and that vxWorks
would take care of the rest. This is not the case. vxWorks will
not create static TLBs for you, much less make them not cache
inhibited.  And I maintain that TLB misses on instruction fetches
can occur simply because the user is responsible for creating the
static TLBs and users will be users.

>
>The only static TLB you need is a TLB that maps the exception vector space
>and code with TS=0 as the CPU will set MSR[IS] to 0 - what I called 'context
>0' - on all critical interrupts and page-table-misses. All other TLBs may be
>static or mapped via mmuLib on page-table-miss.

Again, you're correct; with the added caveat that one needs to worry
a little about creating an intersection where 2 or more TLBs collide,
which would yield the aforementioned crashing of the processor.

>
>Back to standard vxWorks setup:
>On USER_I_MMU_ENABLE=FALSE, MSR[IS] stays 0, even when executing user code.
>This reduces page-table-misses (now only on data accesses).
>This said, the OP may use the standard setup and disable cache in all TS=1
>entries and he should be done.
>
>Ok now?

Yep.

Regards,
George Varndell
- --
Varndell Engineering, LLC.          Embedded Systems Expertise
http://www.varndellengineering.com

- -----------== Posted via Newsfeed.Com - Uncensored Usenet News ==----------
   http://www.newsfeed.com       The #1 Newsgroup Service in the World!
- -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =-----

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

Newsgroups: comp.os.vxworks
Subject: Replacing default IP stack
Date: Fri, 17 Jan 2003 19:08:41 GMT
From: jprugen@earthlink.net
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <ZwYV9.16270$Qr4.1518640@newsread1.prod.itd.earthlink.net>
Sender: Jeff Rugen <jrugen@raptor.phoenix.speedchoice.com>

How easy/difficult is it to replace the default VxWorks IP stack with
a different version (either from WindRiver or other)?  What alternate
products are easy to replace it with?

I am working on a networking application that interfaces with the IP
stack in  less-used ways: we define some network interfaces that aren't
actual network interfaces, but appear to be to the IP stack to reduce
the amount of modifications we would otherwise need to do, and use some
of the hooks defined in the VxWorks stack.  We also added to the
route.c code so we could route addresses that aren't stored in the
tables that route.c uses (suprise, we route to the 'fake' interfaces).  
Most other changes/interfaces are trivial, but those would most likely 
take additional effort to rework.

I'm specifically curious about adding some layer-2 protocol support 
(Bridging/Spanning tree support), as we probably want to support both 
IP and layer-2 protocols simultaneously.

Any suggestions on COTS implementations of the layer-2 stuff that will
easily interface with the default VxWorks stack, or combined stacks
that will reasily replace the default VxWorks stack would be appreciated.

- -- 
Jeff Rugen
What if the Hokey Pokey is what its all about?

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

Newsgroups: comp.os.vxworks
Subject: Re: Max Number of File Descriptors per TASK
Date: Fri, 17 Jan 2003 21:02:50 +0000
From: Dimitrios Siganos <no_spam.dimitris@engineer.com>
Message-ID: <3e286e88$0$247$cc9e4d1f@news.dial.pipex.com>
References: <3E285927.308@NOTnortelnetworks.com>

File descriptors are global. Tasks do not own file descriptors as they 
do in normal O/Ss. A file opened by one task can be accessed by another.

The maximum number of files open is determined by the constant NUM_FILES

Dimitris

Chris Richards wrote:
> Hi,
> 
> Can someone tell me if and where a per task limit on the number of file 
> descriptors is enforced.
> 
> I see the maximum per device (maxFiles) but I get a DOS FS error when 
> any one task attempts to open > 31 FDs.
> 
> But I cannot for the life of me see where this is checked or set/stored 
> per task. It's not in the TBC (TASK_DESC) and the only #def I can find 
> id FOPEN_MAX but that is never referenced either.
> 
> fopen and fclose also do not appear to be checking/updating any per task 
> value.
> 
> Is it stored on the task stack or somewhere wierd?
> 
> Anyone got any ideas?
> 
> Thanks, Chris.
> 

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

Newsgroups: comp.os.vxworks
Subject: problems with memory pool management with netBufLib
Date: 17 Jan 2003 17:41:06 -0800
From: lliao@opvista.com (Liang)
Organization: http://groups.google.com/
Message-ID: <e9720ff6.0301171741.672cfff5@posting.google.com>

Can anyone tell me if there's anything wrong with the code below.  I
am getting
"motSend: ERROR - pClBlk == NULL.\n" and "motSend: ERROR - pCl ==
NULL.\n" occasionally.	(Should I allocate more blocks of memory in the
motInitMem function?)  Thank you so much.

STATUS motSend( FEC_PROTO *pFecProto, BYTE * pBuf, int ulSize )
{
	M_BLK_ID		pMblk  = NULL;	/* mBlock pointer */
	CL_BLK_ID	pClBlk = NULL;	/* cluster block pointer */
	char * 		pCl	 = NULL;	/* a cluster pointer */
	int			i;

	pMblk  = netMblkGet (pFecProto->pNetPool, M_DONTWAIT, MT_DATA);
	pClBlk = netClBlkGet(pFecProto->pNetPool, M_DONTWAIT);
	pCl    = netClusterGet(pFecProto->pNetPool, pFecProto->pClPoolId);
	if ( pMblk == NULL || pClBlk == NULL || pCl == NULL )
	{
		if ( pMblk == NULL )
			trace(L1, "motSend: ERROR - pMblk == NULL.\n" );
		if ( pClBlk == NULL )
			trace(L1, "motSend: ERROR - pClBlk == NULL.\n" );
		if ( pCl == NULL )
			trace(L1, "motSend: ERROR - pCl == NULL.\n" );		
		goto motSendError;
	}

	for ( i = 0; i < ulSize; i++)
		pCl[i] = pBuf[i];	

	if ( netClBlkJoin(pClBlk, pCl, MOT_FEC_MAX_CL_LEN, NULL, 0, 0, 0) ==
NULL )
		goto motSendError;

	if ( netMblkClJoin(pMblk, pClBlk) == NULL )
		goto motSendError;

	/* see motFecReceive and motFecPktTransmit */
	pMblk->mBlkHdr.mFlags   |= M_PKTHDR;
	pMblk->mBlkHdr.mData    = pCl;
	pMblk->mBlkHdr.mLen     = ulSize;
	pMblk->mBlkPktHdr.len   = pMblk->mBlkHdr.mLen;

	if ( muxSend(pFecProto->pEndObj, pMblk) != OK )
		return ERROR;

	return OK;

motSendError:
	if ( pCl != NULL )
		netClFree(pFecProto->pNetPool, (unsigned char *)pCl);
	if ( pMblk != NULL )
		netMblkFree (pFecProto->pNetPool, pMblk);
	if ( pClBlk != NULL )
		netClBlkFree(pFecProto->pNetPool, pClBlk);
	return ERROR;
}

The memory pool init function is here.

LOCAL STATUS motInitMem( FEC_PROTO *pFecProto )
{
	UINT32		clSize;	   	/* temporary size holder */
	UINT16		clNum;		/* a buffer number holder */
	M_CL_CONFIG	mclBlkConfig = {0, 0, NULL, 0}; /* cluster blocks
configuration */
	CL_DESC	 	clDescTbl [] = { {MOT_FEC_MAX_CL_LEN, 0, NULL, 0} }; /*
cluster blocks config table */

	int clDescTblNumEnt = (NELEMENTS (clDescTbl));	/* number of different
clusters */

	if ( (pFecProto->pNetPool = malloc( sizeof(NET_POOL) )) == NULL )
	{
		trace(L1, "motInitMem: malloc failed.\n" );
		return (ERROR);
	}

	/* 
	* number of clusters, including loaning buffers, a min number
	* of transmit clusters for copy-mode transmit, and one transmit
	* cluster for polling operation.
	*/

	clNum = 80; /*MOT_FEC_BD_LOAN_NUM + 1 + MOT_FEC_TX_CL_NUM;*/
	/* pool of mblks */

	if (mclBlkConfig.mBlkNum == 0)
		mclBlkConfig.mBlkNum = clNum * 2;

	/* pool of clusters, including loaning buffers */

	if (clDescTbl[0].clNum == 0)
	{
		clDescTbl[0].clNum = clNum;
		clDescTbl[0].clSize = MOT_FEC_MAX_CL_LEN;
	}

	/* there's a cluster overhead and an alignment issue */
	clSize = (clNum * clDescTbl[0].clSize
					+ (CL_OVERHEAD * clNum)
					+ MOT_FEC_BD_ALIGN);

	clDescTbl[0].memSize = (clDescTbl[0].clNum * (clDescTbl[0].clSize +
CL_OVERHEAD));
	clDescTbl[0].memArea = (char *) (memalign (CL_ALIGNMENT, clSize));

	if (clDescTbl[0].memArea == NULL)
		return (ERROR);

	/* pool of cluster blocks */
	if (mclBlkConfig.clBlkNum == 0)
		mclBlkConfig.clBlkNum = clDescTbl[0].clNum;

	/* get memory for mblks */
	if (mclBlkConfig.memArea == NULL)
	{
		/* memory size adjusted to hold the netPool pointer at the head */

		mclBlkConfig.memSize = ((mclBlkConfig.mBlkNum
											* (M_BLK_SZ + MBLK_ALIGNMENT))
											+ (mclBlkConfig.clBlkNum
											* (CL_BLK_SZ + CL_ALIGNMENT)));

		mclBlkConfig.memArea = (char *) memalign (MBLK_ALIGNMENT,
mclBlkConfig.memSize);
		if (mclBlkConfig.memArea == NULL)
			return (ERROR);
	}

	/* init the mem pool */
	if (netPoolInit (pFecProto->pNetPool, &mclBlkConfig, &clDescTbl[0],
clDescTblNumEnt, NULL) == ERROR)
		return (ERROR);

	if ((pFecProto->pClPoolId = netClPoolIdGet (pFecProto->pNetPool,
MOT_FEC_MAX_CL_LEN, FALSE)) == NULL)
		return (ERROR);

	return OK;
}

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

Newsgroups: comp.os.vxworks
Subject: ospf emulator/analyzer
Date: Sat, 18 Jan 2003 04:40:11 GMT
From: "Jim" <jim_jiema@yahoo.ca>
Message-ID: <LU4W9.91261$pDv.78772@news04.bloor.is.net.cable.rogers.com>
Reply-To: "Jim" <jim_jiema@yahoo.ca>

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

Newsgroups: comp.os.vxworks
Subject: mesage queue
Date: 17 Jan 2003 22:08:19 -0800
From: pradeeppatel77@yahoo.com (pradeep)
Organization: http://groups.google.com/
Message-ID: <54575a52.0301172208.1229260a@posting.google.com>
References: <54575a52.0301170242.62a607b@posting.google.com> <b08rtn$2q3$1@snoopy.bndlg.de>

hi Michael
thanks
 
> on msgQSend the data pointed to by char*msg is copied in the length of int
> len bytes to msgQ buffer.
> Maximum this data is read out on msgQReceive (could be less if len is to
> short, rest of message is discarded then)
> You have to two major ways:
> a) send/receive contents of struct:
> task A
> struct bla data;
> msgQSend(id, (char*)&data, sizeof(data),...);
> task B
> struct bla data;
> msgQReceive(id, (char*)&data,sizeof(data),....);
Looka a good solution 
and exactly the same i am doing.
But my data variable comsist of unsigned char *dat;
so i have to go for other solution
i.e
> b) send/receive a pointer to data
> task A
> struct bla *data;
> data=malloc(sizeof(*data));
> msgQSend(id,(char*)data,sizeof(*data),...);
> task B
> struct bla *data;
> msgQReceive(id, (char*)data,sizeof(*data),....);
> free(data);
the i feel i have to declere data as global or commen to the sender
reciever task .can,t i have a solution where i can use 2 seperate
variable, 1 in sender other in reciever, then does msgQReceive will
copy the sender data to the reciever data.
thanks in anticipation
regards
pradeep

"Michael Lawnick" <michael.lawnick@no_spam.kontron.com> wrote in message news:<b08rtn$2q3$1@snoopy.bndlg.de>...
> Hi Pradeep,
> 
> on msgQSend the data pointed to by char*msg is copied in the length of int
> len bytes to msgQ buffer.
> Maximum this data is read out on msgQReceive (could be less if len is to
> short, rest of message is discarded then)
> You have to two major ways:
> a) send/receive contents of struct:
> task A
> struct bla data;
> msgQSend(id, (char*)&data, sizeof(data),...);
> task B
> struct bla data;
> msgQReceive(id, (char*)&data,sizeof(data),....);
> 
> b) send/receive a pointer to data
> task A
> struct bla *data;
> data=malloc(sizeof(*data));
> msgQSend(id,(char*)data,sizeof(*data),...);
> task B
> struct bla *data;
> msgQReceive(id, (char*)data,sizeof(*data),....);
> free(data);
> 
> a) means 2 copies of data and a big msgQ, but a don't care about memory
> fragmentation and buffer management
> b) is fast but might fragment memory
> If you know the maximum number of buffers you need, you could use b) with
> preallocated structs, their pointers put into a msgQ. In task A you receive
> the pointers and in task B you send them again. This is fast and avoids
> fragmentation.
> 
> HTH
> Michael
> 
> "pradeep" <pradeeppatel77@yahoo.com> schrieb im Newsbeitrag
> news:54575a52.0301170242.62a607b@posting.google.com...
> > There are 2 tasks one is putting a structure variable in message queue,
> >  and other is recieving from it.
> > the sequence of events are -
> > In task A
> > 1) sending the structure variable in the message queue.
> > 2) Free the memory corrosponding to that variable.
> > In Task B
> > 1) Recieving the data from the message queue,
> >
> > Problem is data in recieving is corrupted.
> >
> > if free is done .
> > data is recieved properly.
> > kindly tell me how msg queworks internally.
> > regards
> > pradeep

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

Newsgroups: comp.os.vxworks
Subject: Re: change tNetQueue size
Date: Sat, 18 Jan 2003 14:28:24 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$vctw8h$ikf$1@lnews.actcom.co.il>
References: <yTTV9.25006$j5.114241@news>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

Judging by your question, I'd guess that you have hit the imfamous
"ring overflow" problem.
Increasing the ring size is not going to solve the problem, it will only
reduce its likelyhood and frequency, but will not eliminate it entirely.
Whatever you set the size to, it will be finite, and thus will overflow
sooner or later.

If you have the source code for the driver, you can simply create
your own iNetTask and your own job queue to go with it, it is really
simple stuff, elementary dear doctor.

- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

"Jim" <REMOVEjimdon@sympatico.caREMOVE> wrote in message
news:yTTV9.25006$j5.114241@news...
> Hi how do I change the tNetTask Queue size without having tNetTask source?
>
> Is it possible?
>
> Jim
>

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

Newsgroups: comp.os.vxworks
Subject: Re: change tNetQueue size
Date: Sat, 18 Jan 2003 22:06:09 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$xkex8h$0lg$1@lnews.actcom.co.il>
References: <yTTV9.25006$j5.114241@news> <dLcW9.35811$kH3.4933@sccrnsc03>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

David,

I disagree with you - there are cases when a user task needs a priority
higher
then the tNetTask.
This is actually one of the reasons why tNetTask was invented in the first
place -
to separate all network related computation out of Interrupt context and
into
an easily identifiable task.
When the application, is not a networking one, but a hard-realtime control
application, yet it needs the network to perfor some less-critical task such
as remote control or debugging. You would then make sure that the
hard realtime (e.g. motor control) will hae higher priority than the network
code, so the less-deterministic network behaviour does not impair the
performance of the critical application.

One example that comes to mind is a large digital printer, a CPU board
running VxWorks is getting index interrupts from the rotating drum, and
controls the laser and ink nozzles, so it needs to react quickly to an intex
(tachometer) interrupt, and any latency in this reaction will "smear" or
otherwise
damage the printed image.

The network is used to connect that processor to the PC running GUI and to
other CPUs of the system, but is less time-critical than the rotating drum.

- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

"Dave Schmidt" <dave@wrxrite.com> wrote in message
news:dLcW9.35811$kH3.4933@sccrnsc03...
> Jim,
>
> You don't say why you want / need  to change the size.
>
> Most likely cause, from my experience, of why someone would want to change
> the size of the queue is beacuse there is some user task of a higher
> priority / ISR occuring that is taking up a lot of CPU time.  Im my
> experience, user tasks should not have a higher priority than tNetTask.
>
> (Remember the lower the priority number, the higher the overall system
> priority)
>
> Overall, determining what the priorities should be for the tasks in your
> system is an educated guess.  Rules of thumb I use are:
>
> 1) Never make a user task have a priority higher than or equal to
tNetTask.
> 2) Arrange priorities according to overall system loading, i.e give the
most
> critical / most used interface the higher priority
> 3) Arrange priorites to account for hardware bottlenecks, bursty input
data
> / etc.
>
> Determining priorites is an art, not a science.  Using WindView can help
in
> determining where your code is spending the majority of its time, and thus
> allow you to tweek the priorities accordingly.
>
> Dave Schmidt
> www.wrxrite.com
>
>
> "Jim" <REMOVEjimdon@sympatico.caREMOVE> wrote in message
> news:yTTV9.25006$j5.114241@news...
> > Hi how do I change the tNetTask Queue size without having tNetTask
source?
> >
> > Is it possible?
> >
> > Jim
> >
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Floating Point Co-Processor Support
Date: Sat, 18 Jan 2003 22:31:31 GMT
From: "Paul Iannacito" <paul.iannacito@attbi.com>
Organization: AT&T Broadband
Message-ID: <7BkW9.730800$P31.541404@rwcrnsc53>
References: <fd95e7e1.0301171204.443ebc70@posting.google.com>

Tony,

in no particular order, I have a few quick ideas on your inquiry.
You may have already thought to look at these items, but just
in case:

*  Do the "usual" algorithmic and data use analysis.  Try
   loop-unrolling, organizing data for optimal cache use, blah,
   blah where useful.  I'm sure you are on top of this bit.

*  Assuming that you are using a high-level language (like C),
   get an assembly listing for the code which seems to be taking
   longer than you were expecting.  From this listing you will
   be able to see whether the compiler elected to implement
   the high-level calculations via FPU instructions or via calls
   to intrinsics supporting software emulation of the operations.
   You could also just check the compiler flags to determine
   whether or not you are explicitly instructing the compiler to
   use software floating point intrinsics.

*  Assuming that your code is using the FPU, make sure that all
   of the FPU exceptions are enabled and check out whether or not
   your code is generating FP exceptions for certain operations.
   For example, a denormal result might be used as inputs to some
   other arithmetic operation at the cost of some lost performance.
   If the denormal operand exception is masked in the FPU control
   word, you may not be aware that this is happening.

*  If you are using ANSI C (or some other lang which specifies how
   type conversions ought to work in this case), check for
   float-to-integer conversions in your code, as this has the
   potential to cost you performance in some cases.  By default,
   the PIII FPU should be rounding floating-point values to the
   nearest integer (actually, you should check the FPU control word
   to see how VxWorks sets it up, just to make sure) but C-lang
   specifies that floats are converted to integers by rounding to zero.
   As a result, you _might_ find a little compiler intrinsic
   (or maybe compiler code generated inline) which does the following
   each time you convert a float to an int:

       - save the FPU control word
       - switch the rounding mode to "round to zero" / truncate
       - do the float-to-int conversion (us. FISTP instruction)
       - restore the FPU control word

   Again, an assembly listing might be useful for spotting stuff like
   this.

*  Since you are on PIII, SSE instructions can be used w/ reasonable
   ease in the Tornado 2.2 product.  If it fits into the design
   parameters of your project and you really run out of options, you
   might investigate using SSE to improve the performance of many
   operations you are using the FPU for.  Of course, the usual
   precautions w.r.t. portability and hand-coded assembly
   implementations apply.

paul

"Tony Johnson" <tony_johnson@adc.com> wrote in message
news:fd95e7e1.0301171204.443ebc70@posting.google.com...
> Is their a means to determine if the co-processor is actually being
> used
> even though from our standpoint all of the flags and defines are
> intact to utilze this feature on our Pentium 3 CPU?
>
> I ask this question because certain floating point calculations are
> taking far longer than we would expect. Thanks.

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

Newsgroups: comp.os.vxworks
Subject: vxWorks- booting
Date: 19 Jan 2003 03:44:25 -0800
From: p_san_gita@yahoo.com (Sangita.P)
Organization: http://groups.google.com/
Message-ID: <2b535510.0301190344.381eb2fb@posting.google.com>

hye all,

i have a problem ,when i yam trying to build a vxWorks image with the
bootable project  i yam not able to the vxworks.st build along with
the vxWorks.exe.It just remains the default one.
Is there anything i need to modify such that i can VxWorks.st image
also along with my vxWorks.exe

With regards,
P.Sangita.

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Mon Jan 20 00:15:59 2003
From: Atkinson Andrew <AATKINSON1@qinetiq.com>
Date: Mon Jan 20 00:16:00 PST 2003
Subject: FW: FTP Problem -  

>  -----Original Message-----
> From: 	Atkinson Andrew  
> Sent:	18 January 2003 16:35
> To:	'VxWorks Users Group'
> Subject:	FTP Problem - This mail is UNCLASSIFIED
> Importance:	High
> 
> Hi
> 
> I am experiencing a rather odd problem when using ftpXFer - see the code
> snippet below:
> 
> static STATUS getTPSDataFile (AMASS_INT_8 * pathname, AMASS_INT_8 *
> filename)
> {
> 	AMASS_INT_8		tempBuffer[TPS_XFER_BUFFER_SIZE];
> 
> 	AMASS_INT_8 * copyFrom	= NULL;
> 	AMASS_INT_8 * copyTo		= NULL;
> 
>  	AMASS_INT_32	controlSocket	= 0;
>  	AMASS_INT_32	dataSocket		= 0;
>  	AMASS_INT_32	bytesRead		= 0;
> 	AMASS_INT_32	totalBytesRead	= 0;
> 	AMASS_INT_32	bytesAvailable	= 0;
> 
>  	STATUS status = ERROR;
>  	
>  	/* Tranfer the specified file from the remote machine */
>  	if ((status = ftpXfer (	TPS_FTP_HOST_NAME,
> 	
> TPS_FTP_USER_NAME,
> 	
> TPS_FTP_PASSWORD,
> 	
> TPS_FTP_ACCOUNT,
> 	
> "RETR %s",
> 						 			"",
> 	
> "filename",
> 						 			(int
> *) &controlSocket,
> 						 			(int
> *) &dataSocket)) == ERROR)
>  	{
> 		status = ERROR;
> 
> #ifdef GCCOP_TPS_DEBUG
> 		logMsg ("FTP TRANSFER FAILED\n", 0, 0, 0, 0, 0, 0);
> #endif
> 
> 	}
> 	else
> 	{
> 		/* Cannot see why this is required - but it won't work
> without it ??? */
> 		taskDelay (sysClkRateGet () * 1);
> 
> 		do
> 		{
> 			status = ioctl (dataSocket, FIONREAD, (AMASS_INT_32)
> &bytesAvailable);
> 
> #ifdef GCCOP_TPS_DEBUG
> 			if (status == ERROR)
> 			{
> 				logMsg ("NO DATA AVAILABLE ON FTP DATA
> SOCKET\n", 0, 0, 0, 0, 0, 0);
> 			}
> #endif
> 
> 			if ((bytesAvailable > 0) && (status == OK))
> 			{
> 				if (bytesAvailable > TPS_XFER_BUFFER_SIZE)
> 				{
> 					bytesAvailable =
> TPS_XFER_BUFFER_SIZE;
> 				}
> 
> 		 		if ((bytesRead = recv (dataSocket,
> (AMASS_INT_8 *) tempBuffer, bytesAvailable, 0)) == bytesAvailable)
> 		 		{
> 					/* Copy the data into our temporary
> TPS data */
> 					copyTo 	= (AMASS_INT_8 *)
> &tempTPSData + totalBytesRead;
> 					copyFrom = tempBuffer;
> 
> 					memcpy ((void *) copyTo, (const void
> *) copyFrom, bytesRead);
> 
> 					totalBytesRead += bytesRead;
> 
> 					if (totalBytesRead > TPS_DATA_SIZE)
> 					{
> 						status = ERROR;
> 
> #ifdef GCCOP_TPS_DEBUG
> 						logMsg ("TOO MUCH DATA
> RECIEVED ACROSS FTP LINK\n", 0, 0, 0, 0, 0, 0);
> #endif
> 
> 					}
> 				}
> 				else
> 				{
>  					/* Read has failed */
>  					status = ERROR;
> 
> #ifdef GCCOP_TPS_DEBUG
> 					logMsg ("READ FAILED ON FTP DATA
> SOCKET\n", 0, 0, 0, 0, 0, 0);
> #endif
> 
> 		 		}
> 			}
> 		} while ((bytesAvailable > 0) && (status == OK));
> 
>  		if (totalBytesRead != TPS_DATA_SIZE)
>  		{
>  			/* Incorrect number of bytes read */
>  			status = ERROR;	
>  		}
> 
> 		/* Check that the last FTP command has completed */
> 		if (ftpReplyGet (controlSocket, TRUE) != FTP_COMPLETE)
> 		{
> 			/* FTP command failed to complete */
> 			status = ERROR;
> 		}
> 		
> 		/* Quit the FTP session */
> 		if (ftpCommand (controlSocket, "QUIT", 0, 0, 0, 0, 0, 0) !=
> FTP_COMPLETE)
> 		{
> 			/* Failed to quit */
> 			status = ERROR;	
> 		}
> 
> 		/* Close the sockets */
>  		close (dataSocket);
> 		close (controlSocket);		
>  	}
> 
> 	return (status);
> }
> 
> According to the FTP server (wftpd32.exe) the file is ALWAYS successfully
> retrieved and the FTP session completed. However, if I do not include the
> delay after the ftpXFer then any attempt to read the data from the socket
> fails. So, from the debugger I placed one breakpoint - on return (status)
> at the end of the routine. With no delay, status = ERROR, with a delay (1
> second is the smallest I have tried) status = OK and the file is
> successfully transferred.
> 
> Can anyone shed any light on this - as far I can see my code largely
> follows what is recommended in the VxWorks reference manual for ftpXFer.
> The FTP server is happy that the file has been transferred, so I am at a
> loss to see where things are going off the rails.
> 
> Any help appreciated.
> 
> Andy Atkinson
> Software Engineer
> Bldg 31a
> QinetiQ, Bincleaves Technology Park
> Weymouth
> Dorset
> DT4 8UR
> 
> Tel : 01305 764660
> Fax : 01305 764661
> e-mail : AATKINSON1@QinetiQ.com
> 
> vxworks
> 

The Information contained in this E-Mail and any subsequent correspondence
is private and is intended solely for the intended recipient(s).
For those other than the recipient any disclosure, copying, distribution,
or any action taken or omitted to be taken in reliance on such information
is prohibited and may be unlawful.

From vxwexplo-errs@csg.lbl.gov  Mon Jan 20 00:43:16 2003
From: "David P Hidalgo" <dphidalg@crisa.es>
Date: Mon Jan 20 00:43:17 PST 2003
Subject: RE: Vx Exploder Digest

> ---------------------------
>
> Newsgroups: comp.os.vxworks
> Subject: vxWorks- booting
> Date: 19 Jan 2003 03:44:25 -0800
> From: p_san_gita@yahoo.com (Sangita.P)
> Organization: http://groups.google.com/
> Message-ID: <2b535510.0301190344.381eb2fb@posting.google.com>
>
> hye all,
>
> i have a problem ,when i yam trying to build a vxWorks image with the
> bootable project  i yam not able to the vxworks.st build along with
> the vxWorks.exe.It just remains the default one.
> Is there anything i need to modify such that i can VxWorks.st image
> also along with my vxWorks.exe
>
> With regards,
> P.Sangita.
>

You can try including the symbol table component with the Tornado tool:
(development tool components > symbol table components > symbol table) in
the bootable project. This generates a Vxworks image with the symbol table
embedded. The generated file also is the one you must choose in the "Core
File and Symbol" menu of the Target Server configuration.
Hope it will be of use for you.

***********************************************************************
Este correo es slo informativo y por lo tanto no supone obligacin
contractual para CRISA. Si por error recibe usted este correo, 
por favor, informe al emisor por este mismo medio. Si no es usted 
el destinatario de este mensaje, no debe utilizarlo, archivarlo, 
copiarlo, imprimirlo o revelar su contenido a terceros.

This email is for information only and will not bind CRISA S.A. in 
any contract or obligation, nor its subsidiaries.
If you have received it in error, please notify the sender by return 
email. If you are not the addressee of this email, you must not use,
keep, disseminate, copy, print or otherwise deal with it.
***********************************************************************

From vxwexplo-errs@csg.lbl.gov  Mon Jan 20 04:03:23 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Mon Jan 20 04:03:25 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Mon Jan 20 04:03:19 PST 2003

        Subject: vxWorks- booting
        Subject: Re: Curious Problem with IBM NPe405L and vxWorks
        Subject: Re: [Q] the momory location of static variables and constant integer
        Subject: Re: mysterious task behaviour
        Subject: How to restart Ethernet driver?
        Subject: Re: PPC440 instruction cache
        Subject: Openssl
        Subject: about  software upgrade for vxwork?
        Subject: taskDelay problem
        Subject: Re: mesage queue
        Subject: Re: [Q] the momory location of static variables and constant integer
        Subject: Re: PPC440 instruction cache
        Subject: ospf emulator/analyzer
        Subject: Re: Priority Inversion
        Subject: problems with sysMmuMapAdd()

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

Newsgroups: comp.os.vxworks
Subject: vxWorks- booting
Date: 19 Jan 2003 04:04:46 -0800
From: p_san_gita@yahoo.com (Sangita.P)
Organization: http://groups.google.com/
Message-ID: <2b535510.0301190404.40f7385@posting.google.com>

Hye all,

I have a problem with vxWorks standalone.I want create an standalone
systems and so i need the vxWorks.st image.But when i build my
bootable project i able to generate only the vxWokrs.exe image.Right
now my config\BSP(pcPentium ) has a default vxWorks.st and doesnot
update itself on building my project.

I realise that the STANDALONE flag needs to set in the usrConfig.c
file inorder to creat a usrConfig_st.o module. If this is true, please
let me know how i can go abt doing it.

Is it that i need to change any build specifications for the same?

Please let me know detalis on the same .Mail me at
p_san_gita@yahoo.com

Thank you,
With regards,
P.Sangita.

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

Newsgroups: comp.os.vxworks
Subject: Re: Curious Problem with IBM NPe405L and vxWorks
Date: Sun, 19 Jan 2003 23:10:42 GMT
From: Ricky West <rwwest@nc.rr.com>
Organization: Road Runner - NC
Message-ID: <3E2B2DC7.70805@nc.rr.com>
References: <3E20D7B1.4070801@nc.rr.com>

Ricky West wrote:

> Lately,  the project I have been working on has been seeing an 
> intermittent problem with the generation of a data access exception 
> and I wanted to post to the news group for some advice/comments.  We 
> have been searching for the cause with visionIce and visionTrace using 
> singleStep with vision and have been stumped by the tools.  Can't seem 
> to get them to work right in our enviornment and application.  Such is 
> life.
>
> On with the story...
>
> The Setup...
>
> Configuration---Tornado 2.0.2 with some patches for dosFs2.0 and some 
> TMS stuff
> Build Env---Windows 2000
> BSP---NPe405L from IBM for vxWorks  windKernel 2.5 and vxWorks 5.4
> Options---INCLUDE_BASIC_MMU with both instruction and data MMU enabled
>
> The Problem...
>
> Various tasks blow up where the implicated code is in windLoadContext 
> just before the restoral of regs r3 and r4 but after the setting of 
> SRR0 and SRR1.  This we have been able to determine using hardware 
> breakpoints set at the data access exception vector of 0x300.  It just 
> so happens that the tasks that crash have TCBs that are aligned such 
> that the addresses storing the PC and the MSR for the task are in a 
> different 4K memory page than the addresses where regs r3 and r4 
> stored. We have verified that external exceptions are disabled during 
> the load function, but both instruction and data TLB miss exceptions 
> are not.
>
> The Theory...
>
> We have not been able to trace the code using visionTrace, a real-time 
> trace option to the visionIce.  But here goes with the theory based on 
> experience and educated guesses.  We think that during the loading one 
> of the tasks that cross the 4k boundary is switched in but where the 
> page boundaries result in a data TLB miss after the SRR0 and SRR1 have 
> been restored.  Since the TLB miss handler does the rfi rather than 
> the load context fcn, the contents of r3 and r4 are not restored from 
> the saved context of the task.
>
> The Questions...
>
> 1.  Has anybody else seen something like this?
>
> 2.  Does the switching of tasks for this BSP really happen outside of 
> exception handling?
>
> 3.  Are there any other suggestions or theories to follow-up with.
>
> Thanks in advance,
>
> Ricky West
> Hatteras Networks
>
>
>
We have found the answer to the problem.  The theory as outlined above
is in fact correct.  The function windLoadContext() is called outside of
an exception.  The TLB miss is caused by the data access to restore
 registers r4 and r3 after setting up the SRR0 and SRR1 for the return.
 This happens since the TLB management code replaces the TLBs in a round
robin fashion.  Since the lower part of the TCB is used for scheduling,
it tends to get loaded early;  the upper part of the TCB gets loaded late.

We patched the code to change to using SRR2 and SRR3 and rfci.  This
corrected the problem.  This is not a desirable correction since we made
the interrupt critical.  Other solutions are possible, but we had to edt
the .o directly using a binary editor.  We couldn't steer to far away
from the current code.

This has been reported to WindRiver.

By the way, this problem should affect all PPC cpus that have the MMU
doing data relocation.

Anyway, cheers....Ricky West

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

Newsgroups: comp.os.vxworks
Subject: Re: [Q] the momory location of static variables and constant integer
Date: Mon, 20 Jan 2003 02:22:41 GMT
From: David <dcooper000@attbi.com>
Organization: none
Message-ID: <MPG.189527875b2eb1a5989680@netnews.attbi.com>
References: <AdPV9.5868$8k.316243@news.bora.net>

In article <AdPV9.5868$8k.316243@news.bora.net>, KimJeongHwan@lge.com 
says...
> Hi, everyone
> 
> Could you tell me memory section, "bss", "data", or etc., do the static
> variables and
> constant integers belong to ?
> 
> 
> Thanks in advance
> Kim
> 
> 
> 

Constants belong to the .text section.

Static variables will either be in .data or .bss depending if they are 
initialized or not.  If they are initialized (example: static int var = 
1;) then they will be in .data.  If they are not initialized then they 
will be in .bss.

...david

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

Newsgroups: comp.os.vxworks
Subject: Re: mysterious task behaviour
Date: 19 Jan 2003 16:58:17 -1000
From: Jim Thomas <thomas@atlas.cfht.hawaii.edu>
Organization: Canada France Hawai`i Telescope
Message-ID: <wwn0lwmss6.fsf@atlas.cfht.hawaii.edu>
References: <3E25AE3B.CB4CDE1F@impromptu.m.shuttle.de> <kbzV9.9146$kH3.1858@sccrnsc03> <3E27B9A2.A3B7BDD5@impromptu.m.shuttle.de> <b9UV9.592375$GR5.379968@rwcrnsc51.ops.asp.att.net>

>>>>> "Dave" == Dave Schmidt <dave@wrxrite.com> writes:

 Dave> Errno is only valid immediately after a call to a routine which
 Dave> could set it (or has a sub-routine which could set it).  Calling a
 Dave> routine which has the ability to set errno and then checking the
 Dave> value of errno 20 lines further down in the code is not advisable,
 Dave> as an ISR could modify errno.  Errno should be checked immediately
 Dave> upon receiving an ERROR status.  Checking errno is only needed when
 Dave> an ERROR is indicated by the return status of a routine.

And "immediately upon receiving" is not soon enough.  The whole thing is a
bad race condition.  If one gets unrepeatable errno values, one should only
investigate the "usual" one - the others may well be from an ISR doing
something for a different task.  (Which of course probably needs
investigating too - that one's much harder though. :-(

Jim

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

Newsgroups: comp.os.vxworks
Subject: How to restart Ethernet driver?
Date: Mon, 20 Jan 2003 04:51:06 GMT
From: "XN" <xni@wi.rr.com>
Message-ID: <_eLW9.44524$Gm2.925945@twister.rdc-kc.rr.com>

Hi All,

I got a problem with Ethernet driver. If Ethernet cable is not connected
during the boot time, then the networks will not work even reconnet it until
reboot.

My question is, how can I put some code running in the background to check
the network connection such that it can automatically connect without
reboot.

Thanks!

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

Newsgroups: comp.os.vxworks
Subject: Re: PPC440 instruction cache
Date: 19 Jan 2003 21:28:14 -0800
From: smittal@cc.usu.edu (Sangdil)
Organization: http://groups.google.com/
Message-ID: <83b0d6d7.0301192128.7dcbefd1@posting.google.com>
References: <83b0d6d7.0301150741.35aab26e@posting.google.com> <bs0b2v0157p6s1ka5udg58b3besbj310sr@4ax.com> <83b0d6d7.0301160843.52f16959@posting.google.com> <b0890s$vft$1@snoopy.bndlg.de> <k60g2vknt3a7uaesg0s4bs7aikcje7cn11@4ax.com> <b09a58$u7t$1@snoopy.bndlg.de> <i9cg2vsp7mjfcqpu76fafrae0c6mtgjb6u@4ax.com>

Hello George and Michael
Thankks a lot for your valuable commenst on this issue. I was keeping
a watch on your conversation . i will reiterate what I understand from
your conversation. pls let me know if i am wrong.

1. Keep caches disabled in the Tornado IDE
2. turn off IMMU and turn on DMMU
3. make ICHAHE_MODE as COPY_BACK
4. configure the system RAM (which is also the execution space as
cache copyback. the current TLB for this region looks like this:

/* TLB #0.  RAM 0 (cached) */
  { 0x00000000, 0x0, 0x00000000, _MMU_TLB_TS_0 | _MMU_TLB_SZ_256M
    | _MMU_TLB_ATTR_W                  | _MMU_TLB_PERM_X |
_MMU_TLB_PERM_W

I have a IO space configured little endian which I use for sending
data to a PCI device. It looks like :

{ 0x10000000, 0x0, 0x00000000, _MMU_TLB_TS_1 | _MMU_TLB_SZ_256M
    | _MMU_TLB_ATTR_I | _MMU_TLB_ATTR_E | _MMU_TLB_PERM_X |
_MMU_TLB_PERM_W
  },

  { 0x10000000, 0x0, 0x00000000, _MMU_TLB_TS_0 | _MMU_TLB_SZ_256M
    | _MMU_TLB_ATTR_I | _MMU_TLB_ATTR_E | _MMU_TLB_PERM_X |
_MMU_TLB_PERM_W
  },

Rest all TLBs remain pretty much the default in Ebony BSP. 
I still dont understand how to implement context null TLB. How can I
implement that.
How do I test that ICache is on?
In your view, how much performance boost should i expect with ICache
on?

I would like to thanks once again for your invaluable inputs to this
issue

Best Regards
Sangdil

Varndell Engineering <gvarndell@hotmail.com> wrote in message news:<i9cg2vsp7mjfcqpu76fafrae0c6mtgjb6u@4ax.com>...
> On Fri, 17 Jan 2003 17:14:41 +0100, "Michael Lawnick"
> <michael.lawnick@no_spam.kontron.com> wrote:
> 
> >Hi George,
> >> Whether or not misses occur, and whether or not caching is inhibited,
> >> will depend soley on the attributes and extent of that static TLB
> >> mapping.
> >> What is 'context null'?
> >
> >TLB-misses will not depend on attributes (WIMG or XWR), as for a match only
> >the TID, TS and effective address are used. Duplicate entries with
> >differences in the attributes only will crash the processor.
> 
> Right, but whether or not I caching is inhibited will depend only on
> the attributes of the(se) static TLBs. My point was that your reply
> *seemed* (by virtute of not mentioning static TLBs) to imply that
> disabling the IMMU was all that would be required and that vxWorks
> would take care of the rest. This is not the case. vxWorks will
> not create static TLBs for you, much less make them not cache
> inhibited.  And I maintain that TLB misses on instruction fetches
> can occur simply because the user is responsible for creating the
> static TLBs and users will be users.
> 
> >
> >The only static TLB you need is a TLB that maps the exception vector space
> >and code with TS=0 as the CPU will set MSR[IS] to 0 - what I called 'context
> >0' - on all critical interrupts and page-table-misses. All other TLBs may be
> >static or mapped via mmuLib on page-table-miss.
> 
> Again, you're correct; with the added caveat that one needs to worry
> a little about creating an intersection where 2 or more TLBs collide,
> which would yield the aforementioned crashing of the processor.
> 
> >
> >Back to standard vxWorks setup:
> >On USER_I_MMU_ENABLE=FALSE, MSR[IS] stays 0, even when executing user code.
> >This reduces page-table-misses (now only on data accesses).
> >This said, the OP may use the standard setup and disable cache in all TS=1
> >entries and he should be done.
> >
> >Ok now?
> 
> Yep.
> 
> Regards,
> George Varndell
> --
> Varndell Engineering, LLC.          Embedded Systems Expertise
> http://www.varndellengineering.com
> 
> 
> 
> -----------== Posted via Newsfeed.Com - Uncensored Usenet News ==----------
>    http://www.newsfeed.com       The #1 Newsgroup Service in the World!
> -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =-----

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

Newsgroups: comp.os.vxworks
Subject: Openssl
Date: 19 Jan 2003 22:17:49 -0800
From: gunnar.leitz@gmx.de (Gunnar Leitz)
Organization: http://groups.google.com/
Message-ID: <777d3c36.0301192217.69c98a96@posting.google.com>

Hi there, I'm trying to build OpenSSL 0.9.7 for VxWorks 5.4 on a
PowerPC target.
Host system is Win2K. Does anybody know how to configure the whole
stuff and to set make into proper operation? The first run of the
config script led to *x86 and NT platform*, which is wrong, of course.

Thanks
Gunnar

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

Newsgroups: comp.os.vxworks
Subject: about  software upgrade for vxwork?
Date: Mon, 20 Jan 2003 14:44:58 +0800
From: "Li-Hao Jeng" <lihao@accesssolutions.com.tw>
Organization: DCI HiNet
Message-ID: <b0g6ae$g1q@netnews.hinet.net>

Sir,
   Do you know how to upgrade software use console mode(RS232) ?  Please
give me advice!  Thank you!!

lihao

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

Newsgroups: comp.os.vxworks
Subject: taskDelay problem
Date: 20 Jan 2003 00:23:43 -0800
From: mjcse@rediffmail.com (mjcse)
Organization: http://groups.google.com/
Message-ID: <a815538a.0301200023.42f3b5cf@posting.google.com>

Hi VxWorks Gurus,
 of late, I am facing a mysterious problem. On my board,
when system clock is increased, all the tasks which executes
taskDelay or nanoSleep delays forver. I mean they never come out of
delay to ready state. Even if taskDelay is of 1 tick, the tasks delays
forever. What could be the reason behind this? And how can this be
rectified.

Any help are suggestion will be greatly appreciated...

Thanks and Regards,

Shafie

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

Newsgroups: comp.os.vxworks
Subject: Re: mesage queue
Date: Mon, 20 Jan 2003 09:24:47 +0100
From: "Michael Lawnick" <michael.lawnick@no_spam.kontron.com>
Organization: Buergernetz Dillingen
Message-ID: <b0gbog$3ck$1@snoopy.bndlg.de>
References: <54575a52.0301170242.62a607b@posting.google.com> <b08rtn$2q3$1@snoopy.bndlg.de> <54575a52.0301172208.1229260a@posting.google.com>
Reply-To: "Michael Lawnick" <michael.lawnick@no_spam.kontron.com>
Sender: mlawnick@mail.kontron-applications.com

> the i feel i have to declere data as global or commen to the sender
> reciever task .can,t i have a solution where i can use 2 seperate
> variable, 1 in sender other in reciever, then does msgQReceive will
> copy the sender data to the reciever data.
I feel, you first should learn the C-language and next read the manuals of
vxWorks :-(
Example A would be the solution along the needs described above.
#define SOME_LENGTH 012345678
task A
char *data;
data = malloc(SOME_LENGTH);
<populate data>
msgQSend(id, data, SOME_LENGTH,...);

task B
char *data;
data = malloc(some_length);
msgQReceive(id, data,SOME_LENGTH,....);
<use data>

If this doesn't help, learn 'C' first ...
Michael

"pradeep" <pradeeppatel77@yahoo.com> schrieb im Newsbeitrag
news:54575a52.0301172208.1229260a@posting.google.com...
> hi Michael
> thanks
>
> > on msgQSend the data pointed to by char*msg is copied in the length of
int
> > len bytes to msgQ buffer.
> > Maximum this data is read out on msgQReceive (could be less if len is to
> > short, rest of message is discarded then)
> > You have to two major ways:
> > a) send/receive contents of struct:
> > task A
> > struct bla data;
> > msgQSend(id, (char*)&data, sizeof(data),...);
> > task B
> > struct bla data;
> > msgQReceive(id, (char*)&data,sizeof(data),....);
> Looka a good solution
> and exactly the same i am doing.
> But my data variable comsist of unsigned char *dat;
> so i have to go for other solution
> i.e
> > b) send/receive a pointer to data
> > task A
> > struct bla *data;
> > data=malloc(sizeof(*data));
> > msgQSend(id,(char*)data,sizeof(*data),...);
> > task B
> > struct bla *data;
> > msgQReceive(id, (char*)data,sizeof(*data),....);
> > free(data);
> the i feel i have to declere data as global or commen to the sender
> reciever task .can,t i have a solution where i can use 2 seperate
> variable, 1 in sender other in reciever, then does msgQReceive will
> copy the sender data to the reciever data.
> thanks in anticipation
> regards
> pradeep
>
> "Michael Lawnick" <michael.lawnick@no_spam.kontron.com> wrote in message
news:<b08rtn$2q3$1@snoopy.bndlg.de>...
> > Hi Pradeep,
> >
> > on msgQSend the data pointed to by char*msg is copied in the length of
int
> > len bytes to msgQ buffer.
> > Maximum this data is read out on msgQReceive (could be less if len is to
> > short, rest of message is discarded then)
> > You have to two major ways:
> > a) send/receive contents of struct:
> > task A
> > struct bla data;
> > msgQSend(id, (char*)&data, sizeof(data),...);
> > task B
> > struct bla data;
> > msgQReceive(id, (char*)&data,sizeof(data),....);
> >
> > b) send/receive a pointer to data
> > task A
> > struct bla *data;
> > data=malloc(sizeof(*data));
> > msgQSend(id,(char*)data,sizeof(*data),...);
> > task B
> > struct bla *data;
> > msgQReceive(id, (char*)data,sizeof(*data),....);
> > free(data);
> >
> > a) means 2 copies of data and a big msgQ, but a don't care about memory
> > fragmentation and buffer management
> > b) is fast but might fragment memory
> > If you know the maximum number of buffers you need, you could use b)
with
> > preallocated structs, their pointers put into a msgQ. In task A you
receive
> > the pointers and in task B you send them again. This is fast and avoids
> > fragmentation.
> >
> > HTH
> > Michael
> >
> > "pradeep" <pradeeppatel77@yahoo.com> schrieb im Newsbeitrag
> > news:54575a52.0301170242.62a607b@posting.google.com...
> > > There are 2 tasks one is putting a structure variable in message
queue,
> > >  and other is recieving from it.
> > > the sequence of events are -
> > > In task A
> > > 1) sending the structure variable in the message queue.
> > > 2) Free the memory corrosponding to that variable.
> > > In Task B
> > > 1) Recieving the data from the message queue,
> > >
> > > Problem is data in recieving is corrupted.
> > >
> > > if free is done .
> > > data is recieved properly.
> > > kindly tell me how msg queworks internally.
> > > regards
> > > pradeep

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

Newsgroups: comp.os.vxworks
Subject: Re: [Q] the momory location of static variables and constant integer
Date: 20 Jan 2003 00:30:48 -0800
From: vdalal@hotmail.com (Vasu Dalal)
Organization: http://groups.google.com/
Message-ID: <363d071b.0301200030.1434a802@posting.google.com>
References: <AdPV9.5868$8k.316243@news.bora.net> <MPG.189527875b2eb1a5989680@netnews.attbi.com>

Hello:

> > Could you tell me memory section, "bss", "data", or etc., do the static
> > variables and
> > constant integers belong to ?
> > 
> > 
> 
> Constants belong to the .text section.
> 
> Static variables will either be in .data or .bss depending if they are 
> initialized or not.  If they are initialized (example: static int var = 
> 1;) then they will be in .data.  If they are not initialized then they 
> will be in .bss.

To add more to what was said earlier...

Use the "size" command. man size on Unix/Linux.

For example for a Power PC (8260) BSP, the command is: sizeppc

- -> sizeppc vxWorks <enter>

This will give u a listing of the size of each of the sections
for the image with filename "vxWorks".

hth,
vasu

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

Newsgroups: comp.os.vxworks
Subject: Re: PPC440 instruction cache
Date: Mon, 20 Jan 2003 09:48:08 +0100
From: "Michael Lawnick" <michael.lawnick@no_spam.kontron.com>
Organization: Buergernetz Dillingen
Message-ID: <b0gd49$5su$1@snoopy.bndlg.de>
References: <83b0d6d7.0301150741.35aab26e@posting.google.com> <bs0b2v0157p6s1ka5udg58b3besbj310sr@4ax.com> <83b0d6d7.0301160843.52f16959@posting.google.com> <b0890s$vft$1@snoopy.bndlg.de> <k60g2vknt3a7uaesg0s4bs7aikcje7cn11@4ax.com> <b09a58$u7t$1@snoopy.bndlg.de> <i9cg2vsp7mjfcqpu76fafrae0c6mtgjb6u@4ax.com>
Reply-To: "Michael Lawnick" <michael.lawnick@no_spam.kontron.com>
Sender: mlawnick@mail.kontron-applications.com

Hi George,
> This is not the case. vxWorks will
> not create static TLBs for you, much less make them not cache
> inhibited.
Don't know what BSP You have, but in my Ebony BSP there is a
sysStaticTlbDesc that sets up the static entries.
Only the entries in sysPhysMemDesc (SDRAM and SRAM for DS/IS=1) will be
managed by mmuLib. I'm not sure about cacheDisable() currently, might be it
disables both, static and dynamic entries. It has a bug anyway (only
callable with MSR[DS/IS]=0).
This is only true in VxWorks-context, but not within bootrom-context.
Regards,
Michael

"Varndell Engineering" <gvarndell@hotmail.com> schrieb im Newsbeitrag
news:i9cg2vsp7mjfcqpu76fafrae0c6mtgjb6u@4ax.com...
> On Fri, 17 Jan 2003 17:14:41 +0100, "Michael Lawnick"
> <michael.lawnick@no_spam.kontron.com> wrote:
>
> >Hi George,
> >> Whether or not misses occur, and whether or not caching is inhibited,
> >> will depend soley on the attributes and extent of that static TLB
> >> mapping.
> >> What is 'context null'?
> >
> >TLB-misses will not depend on attributes (WIMG or XWR), as for a match
only
> >the TID, TS and effective address are used. Duplicate entries with
> >differences in the attributes only will crash the processor.
>
> Right, but whether or not I caching is inhibited will depend only on
> the attributes of the(se) static TLBs. My point was that your reply
> *seemed* (by virtute of not mentioning static TLBs) to imply that
> disabling the IMMU was all that would be required and that vxWorks
> would take care of the rest. This is not the case. vxWorks will
> not create static TLBs for you, much less make them not cache
> inhibited.  And I maintain that TLB misses on instruction fetches
> can occur simply because the user is responsible for creating the
> static TLBs and users will be users.
>
> >
> >The only static TLB you need is a TLB that maps the exception vector
space
> >and code with TS=0 as the CPU will set MSR[IS] to 0 - what I called
'context
> >0' - on all critical interrupts and page-table-misses. All other TLBs may
be
> >static or mapped via mmuLib on page-table-miss.
>
> Again, you're correct; with the added caveat that one needs to worry
> a little about creating an intersection where 2 or more TLBs collide,
> which would yield the aforementioned crashing of the processor.
>
> >
> >Back to standard vxWorks setup:
> >On USER_I_MMU_ENABLE=FALSE, MSR[IS] stays 0, even when executing user
code.
> >This reduces page-table-misses (now only on data accesses).
> >This said, the OP may use the standard setup and disable cache in all
TS=1
> >entries and he should be done.
> >
> >Ok now?
>
> Yep.
>
> Regards,
> George Varndell
> --
> Varndell Engineering, LLC.          Embedded Systems Expertise
> http://www.varndellengineering.com
>
>
>
> -----------== Posted via Newsfeed.Com - Uncensored Usenet News
==----------
>    http://www.newsfeed.com       The #1 Newsgroup Service in the World!
> -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers
=-----

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

Newsgroups: comp.os.vxworks
Subject: ospf emulator/analyzer
Date: Sat, 18 Jan 2003 04:40:31 GMT
From: "Jim" <jim_jiema@yahoo.ca>
Message-ID: <3V4W9.91264$pDv.83404@news04.bloor.is.net.cable.rogers.com>
Reply-To: "Jim" <jim_jiema@yahoo.ca>

Hi,

I am looking for OSPF testing software and/or equipment (emulator and
analyzer). Can anyone make recommendation.

Thank you

Jim

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

Newsgroups: comp.os.vxworks
Subject: Re: Priority Inversion
Date: 20 Jan 2003 01:45:50 -0800
From: mjcse@rediffmail.com (mjcse)
Organization: http://groups.google.com/
Message-ID: <a815538a.0301200145.1eed04d1@posting.google.com>
References: <a815538a.0212262206.78b24ec7@posting.google.com> <8400a733.0212270450.7c8b7d40@posting.google.com>

Hi,
 Demrala, Bill, Rosenboim, Toni... & others who have
spent a time in reading and responding to my question about
priority invesion: Thanks a lot, that's all I could say.
With all the inputs I got from you people, I could understand
the concept and theory behind priority inversion. But I am
still confused whether it is helpful to use in real time
application. Or is there any side effects? Can you please
tell me if it really helps in increasing overall performance
in general? In that case I can use it VxWorks mutex semaphore.
Waiting for your response,

Thanks & Regards,
Shafie

gonozal@gmx.at (Toni Kurzberger) wrote in message news:<8400a733.0212270450.7c8b7d40@posting.google.com>...
> Hi,
> this is nothign specific to vxWorks, but general to OS theory. In
> short:
> Imagine a high priority task/process requires a ressource currently
> held by a low priority task/process. This will clearly put you into
> some kind of trouble, as a medium priority task/process could run,
> which would starve all CPU time from the low priority task/process,
> effectivly blocking the high priority task/process.
> Spoecific to vxWokrs, Mutex Semaphores supply an option, Inversion
> Safe. Using this, the scheduler would temporarily increase the
> priority of the low priority task/process to the priority of the high
> prioirity task/process. It would therefore keep the high prioirty
> task/process from starving.
>   toni

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

Newsgroups: comp.os.vxworks
Subject: problems with sysMmuMapAdd()
Date: Mon, 20 Jan 2003 12:22:33 +0100
From: "Fabio Garufi" <fgarufi@elesia.it>
Organization: MC-link S.p.A.
Message-ID: <b0gm5q$9tj$1@newsreader1.mclink.it>

Hi all,
    I am trying to install a grabber PMC board on a Intel Pentium III cPCI
(VMICPCI 7755) board under Tornado 2.0.2, VxWorks 5.4.2.
The board is seen by the pciDeviceShow and pciHeaderShow functions: it opens
three memory prefetchable regions:
0xf4400000 64K wide
0xf4800000 4M
0xf44800000 512K
The problem arises when I try to access this memory, I get a page fault
whatever the window I try to access both in reading and writing.
 modified the $(WIN_BASE)/target/config/vmicpci7755/sysLib.c by adding a
function that adds the memory regions to MMU Map (see below). When I call
the function from within sysHwInit() the system does not complete the boot
and freezes, while if I call it from sysHwInit2() I do not obtain any
change.
Apparently it freezes on sysMmuMapAdd().
Any help?
Thanks all in advance.

Here follows the function code:
==================================
#ifdef INCLUDE_M503

#define M503_VEND_ID xxxx
#define M503_DEV_ID    yyyy
STATUS  sysM503PciInit()
 /* sysM503PciInit */
{
    UINT32 bar[6], mem[6], enc[6];
    UINT size, mask;
    int bus, dev, func, i;
    UINT16 data;
    for (i=0; i<6;i++)/* loop on units */
    {
     if(pciFindDevice (M503_VEND_ID, M503_DEV_ID, i, &bus, &dev, &func) !=
OK)
        break;
                /* get memory base address and IO base address */

 pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_0,  &bar[i]);
 pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1,  &mem[i]);
 pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_2,  &enc[i]);
 bar[i]   &= PCI_MEMBASE_MASK;
 mem[i]   &= PCI_MEMBASE_MASK;
 enc[i]   &= PCI_MEMBASE_MASK;
  /* find out the memory space requirements of this BAR */

    pciConfigOutLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1, 0xffffffff);
    pciConfigInLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1,&mask);
    size=~(mask&PCI_MEMBASE_MASK)+1;
       /* restore original value */
    pciConfigOutLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1, mem[i]);
    /* Read back value, it could be changed */
    pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1,  &mem[i]);
 mem[i]   &=PCI_MEMBASE_MASK;

 if (sysMmuMapAdd((void
*)&bar[i],0x10000,VM_STATE_MASK_FOR_ALL,VM_STATE_FOR_PCI)
    == ERROR)
            break;
     if (sysMmuMapAdd((void
*)&mem[i],size,VM_STATE_MASK_FOR_ALL,VM_STATE_FOR_PCI)
    == ERROR)
            break;
 pciConfigOutWord (bus, dev, func,
     PCI_CFG_COMMAND, PCI_CMD_IO_ENABLE |
     PCI_CMD_MEM_ENABLE | PCI_CMD_MASTER_ENABLE);
 } /* end loop on units */
 return (OK);
}
#endif /* INCLUDE_M503 */

- --
- ------------------------------------------------------------------------
** Dr. Fabio Garufi
** Software Manager
**
** ELE.SI.A. S.r.l.
** ISO 9001 CERTIFIED
** Tel. +39.0774.3653.227 / Fax +39.0774.3653.300
** http://www.elesia.it
- ------------------------------------------------------------------------

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Mon Jan 20 21:42:14 2003
From: "=?gb2312?B?wO6wvw==?=" <liao@ztenet.com>
Date: Mon Jan 20 21:42:15 PST 2003
Subject: help, if somebody  has experienced this problem of starting Tornado debuging?

I am a bsp developer,now,i meet a problem of Tornado debugging,it look like:
after bsp start and download the VxWorks img ,I run the Tornado and start a target server,I want debug my program through wdb rpc mode,the target server register well,and I can ping the target well,even i can start the shell in Tornado through this target server ,all look like normal,but when start the Tornado debuging,the Tornado report "unable to connect the target,error:connect to target server...,Could not reach target :EXCHANGE_BAD_KEY",is there somebody know why,whether my bsp configuration is error or some other reason !
    Thanks!

From vxwexplo-errs@csg.lbl.gov  Tue Jan 21 04:03:17 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Tue Jan 21 04:03:18 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Tue Jan 21 04:03:13 PST 2003

        Subject: Measuring Context Switch time
        Subject: Re: problems with sysMmuMapAdd()
        Subject: Re: How to restart Ethernet driver?
        Subject: Re: problems with sysMmuMapAdd()
        Subject: Howto:Calculating context switch time?
        Subject: Re: Measuring Context Switch time
        Subject: How to create a socket in VB for vxWorks??
        Subject: Re: FW: FTP Problem -
        Subject: Help ,,,,,,,for custom dependencies
        Subject: Re: problems with sysMmuMapAdd()
        Subject: Re: about  software upgrade for vxwork?
        Subject: Re: taskDelay problem
        Subject: To Cache or Not to Cache - Buffers and BD's
        Subject: Re: How to restart Ethernet driver?
        Subject: Re: about  software upgrade for vxwork?
        Subject: Re: To Cache or Not to Cache - Buffers and BD's
        Subject: Re: PPP implementation on VxWorks
        Subject: Re: How to create a socket in VB for vxWorks??
        Subject: Re: taskDelay problem
        Subject: Sample program
        Subject: Re: To Cache or Not to Cache - Buffers and BD's
        Subject: sample program
        Subject: Re: about  software upgrade for vxwork?
        Subject: DosFs long name

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

Newsgroups: comp.os.vxworks
Subject: Measuring Context Switch time
Date: 20 Jan 2003 05:30:20 -0800
From: neeraj_ire@rediffmail.com (Caliph)
Organization: http://groups.google.com/
Message-ID: <92111798.0301200530.6a6c3f3f@posting.google.com>

I wonder if there is a way to calculate how much time it takes to
context switch? How do we measure it in real time?

Thanks in advance

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

Newsgroups: comp.os.vxworks
Subject: Re: problems with sysMmuMapAdd()
Date: Mon, 20 Jan 2003 14:23:11 +0100
From: "Michael Lawnick" <michael.lawnick@no_spam.kontron.com>
Organization: Buergernetz Dillingen
Message-ID: <b0gt7t$408$1@snoopy.bndlg.de>
References: <b0gm5q$9tj$1@newsreader1.mclink.it>
Reply-To: "Michael Lawnick" <michael.lawnick@no_spam.kontron.com>
Sender: mlawnick@mail.kontron-applications.com

Hi Fabio,

is this a BIOS-less system? If it has a BIOS, you don't need the
initialisation, sysMmuMapAdd() may even crash on duplicate initialisation!
Do you have additional PCI-H/W on system? If yes, please check whether it is
accessable under the address you read from their BARs. In my PC-BSPs the
BAR-addresses are the access-addresses, but e.g. for PPC it isn't at all.
You have to do a conversion there. So the idea is, that you might have to do
it for your particular system too.
Check whether there is an additional PCI2PCI-bridge between your PC and your
card. That might result in conversion too.

HTH
Michael

"Fabio Garufi" <fgarufi@elesia.it> schrieb im Newsbeitrag
news:b0gm5q$9tj$1@newsreader1.mclink.it...
> Hi all,
>     I am trying to install a grabber PMC board on a Intel Pentium III cPCI
> (VMICPCI 7755) board under Tornado 2.0.2, VxWorks 5.4.2.
> The board is seen by the pciDeviceShow and pciHeaderShow functions: it
opens
> three memory prefetchable regions:
> 0xf4400000 64K wide
> 0xf4800000 4M
> 0xf44800000 512K
> The problem arises when I try to access this memory, I get a page fault
> whatever the window I try to access both in reading and writing.
>  modified the $(WIN_BASE)/target/config/vmicpci7755/sysLib.c by adding a
> function that adds the memory regions to MMU Map (see below). When I call
> the function from within sysHwInit() the system does not complete the boot
> and freezes, while if I call it from sysHwInit2() I do not obtain any
> change.
> Apparently it freezes on sysMmuMapAdd().
> Any help?
> Thanks all in advance.
>
> Here follows the function code:
> ==================================
> #ifdef INCLUDE_M503
>
> #define M503_VEND_ID xxxx
> #define M503_DEV_ID    yyyy
> STATUS  sysM503PciInit()
>  /* sysM503PciInit */
> {
>     UINT32 bar[6], mem[6], enc[6];
>     UINT size, mask;
>     int bus, dev, func, i;
>     UINT16 data;
>     for (i=0; i<6;i++)/* loop on units */
>     {
>      if(pciFindDevice (M503_VEND_ID, M503_DEV_ID, i, &bus, &dev, &func) !=
> OK)
>         break;
>                 /* get memory base address and IO base address */
>
>  pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_0,  &bar[i]);
>  pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1,  &mem[i]);
>  pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_2,  &enc[i]);
>  bar[i]   &= PCI_MEMBASE_MASK;
>  mem[i]   &= PCI_MEMBASE_MASK;
>  enc[i]   &= PCI_MEMBASE_MASK;
>   /* find out the memory space requirements of this BAR */
>
>     pciConfigOutLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1, 0xffffffff);
>     pciConfigInLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1,&mask);
>     size=~(mask&PCI_MEMBASE_MASK)+1;
>        /* restore original value */
>     pciConfigOutLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1, mem[i]);
>     /* Read back value, it could be changed */
>     pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1,  &mem[i]);
>  mem[i]   &=PCI_MEMBASE_MASK;
>
>  if (sysMmuMapAdd((void
> *)&bar[i],0x10000,VM_STATE_MASK_FOR_ALL,VM_STATE_FOR_PCI)
>     == ERROR)
>             break;
>      if (sysMmuMapAdd((void
> *)&mem[i],size,VM_STATE_MASK_FOR_ALL,VM_STATE_FOR_PCI)
>     == ERROR)
>             break;
>  pciConfigOutWord (bus, dev, func,
>      PCI_CFG_COMMAND, PCI_CMD_IO_ENABLE |
>      PCI_CMD_MEM_ENABLE | PCI_CMD_MASTER_ENABLE);
>  } /* end loop on units */
>  return (OK);
> }
> #endif /* INCLUDE_M503 */
>
> --
> ------------------------------------------------------------------------
> ** Dr. Fabio Garufi
> ** Software Manager
> **
> ** ELE.SI.A. S.r.l.
> ** ISO 9001 CERTIFIED
> ** Tel. +39.0774.3653.227 / Fax +39.0774.3653.300
> ** http://www.elesia.it
> ------------------------------------------------------------------------
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: How to restart Ethernet driver?
Date: Mon, 20 Jan 2003 08:59:53 -0500
From: Varndell Engineering <gvarndell@hotmail.com>
Organization: Posted Via Newsfeeds.com = SPEED+RETENTION+COMPLETION = http://www.newsfeeds.com
Message-ID: <fnvn2v0ohm2g4c30n5iqi7fmd6iigqlov6@4ax.com>
References: <_eLW9.44524$Gm2.925945@twister.rdc-kc.rr.com>

On Mon, 20 Jan 2003 04:51:06 GMT, "XN" <xni@wi.rr.com> wrote:

>Hi All,
>
>I got a problem with Ethernet driver. If Ethernet cable is not connected
>during the boot time, then the networks will not work even reconnet it until
>reboot.
>
>My question is, how can I put some code running in the background to check
>the network connection such that it can automatically connect without
>reboot.

The best, and probably easiest, solution is to fix the driver itself.
Attempting to overcome this driver deficiency by any other means
could be very time consuming and may not be practical.
If there is no way to enable an interrupt that signals link status
change, then if the link is not up when the driver starts, start a
recurrent watchdog function to detect link status change.
Of course, the exact details of this will depend on the device
you're using. Which device is it?

Regards,
George Varndell

- -----------== Posted via Newsfeed.Com - Uncensored Usenet News ==----------
   http://www.newsfeed.com       The #1 Newsgroup Service in the World!
- -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =-----

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

Newsgroups: comp.os.vxworks
Subject: Re: problems with sysMmuMapAdd()
Date: Mon, 20 Jan 2003 16:15:41 +0100
From: "Fabio Garufi" <fgarufi@elesia.it>
Organization: MC-link S.p.A.
Message-ID: <b0h3qu$pbr$1@newsreader1.mclink.it>
References: <b0gm5q$9tj$1@newsreader1.mclink.it> <b0gt7t$408$1@snoopy.bndlg.de>

Hi, Michael,
1)    no, the system has a bios. The problem is that when I try to access
the memory regions as read from the BARs (i.e. those given bu the
pciHeaderShow function), I get the page fault (it is also what the original
driver did and the reason why I rose the question). That's why I tried to
add the region to MMU map, that , BTW, it's also what is done by other
drivers, e.g. net drivers. Actually I copied the initialisation function
from a GB Ethernet card I installed and that, only after installation is
accessable through its BAR, not before.

2) Yes, there is a PCI2PCI bridge, but the card is on the Internal PCI bus
1, so I shouldn't pass through it.

Thanks,
            Fabio
- --
- ------------------------------------------------------------------------
** Dr. Fabio Garufi
** Software Manager
**
** ELE.SI.A. S.r.l.
** ISO 9001 CERTIFIED
** Tel. +39.0774.3653.227 / Fax +39.0774.3653.300
** http://www.elesia.it
- ------------------------------------------------------------------------
"Michael Lawnick" <michael.lawnick@no_spam.kontron.com> ha scritto nel
messaggio news:b0gt7t$408$1@snoopy.bndlg.de...
> Hi Fabio,
>
> is this a BIOS-less system? If it has a BIOS, you don't need the
> initialisation, sysMmuMapAdd() may even crash on duplicate initialisation!
> Do you have additional PCI-H/W on system? If yes, please check whether it
is
> accessable under the address you read from their BARs. In my PC-BSPs the
> BAR-addresses are the access-addresses, but e.g. for PPC it isn't at all.
> You have to do a conversion there. So the idea is, that you might have to
do
> it for your particular system too.
> Check whether there is an additional PCI2PCI-bridge between your PC and
your
> card. That might result in conversion too.
>
> HTH
> Michael
>
> "Fabio Garufi" <fgarufi@elesia.it> schrieb im Newsbeitrag
> news:b0gm5q$9tj$1@newsreader1.mclink.it...
> > Hi all,
> >     I am trying to install a grabber PMC board on a Intel Pentium III
cPCI
> > (VMICPCI 7755) board under Tornado 2.0.2, VxWorks 5.4.2.
> > The board is seen by the pciDeviceShow and pciHeaderShow functions: it
> opens
> > three memory prefetchable regions:
> > 0xf4400000 64K wide
> > 0xf4800000 4M
> > 0xf44800000 512K
> > The problem arises when I try to access this memory, I get a page fault
> > whatever the window I try to access both in reading and writing.
> >  modified the $(WIN_BASE)/target/config/vmicpci7755/sysLib.c by adding a
> > function that adds the memory regions to MMU Map (see below). When I
call
> > the function from within sysHwInit() the system does not complete the
boot
> > and freezes, while if I call it from sysHwInit2() I do not obtain any
> > change.
> > Apparently it freezes on sysMmuMapAdd().
> > Any help?
> > Thanks all in advance.
> >
> > Here follows the function code:
> > ==================================
> > #ifdef INCLUDE_M503
> >
> > #define M503_VEND_ID xxxx
> > #define M503_DEV_ID    yyyy
> > STATUS  sysM503PciInit()
> >  /* sysM503PciInit */
> > {
> >     UINT32 bar[6], mem[6], enc[6];
> >     UINT size, mask;
> >     int bus, dev, func, i;
> >     UINT16 data;
> >     for (i=0; i<6;i++)/* loop on units */
> >     {
> >      if(pciFindDevice (M503_VEND_ID, M503_DEV_ID, i, &bus, &dev, &func)
!=
> > OK)
> >         break;
> >                 /* get memory base address and IO base address */
> >
> >  pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_0,  &bar[i]);
> >  pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1,  &mem[i]);
> >  pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_2,  &enc[i]);
> >  bar[i]   &= PCI_MEMBASE_MASK;
> >  mem[i]   &= PCI_MEMBASE_MASK;
> >  enc[i]   &= PCI_MEMBASE_MASK;
> >   /* find out the memory space requirements of this BAR */
> >
> >     pciConfigOutLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1, 0xffffffff);
> >     pciConfigInLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1,&mask);
> >     size=~(mask&PCI_MEMBASE_MASK)+1;
> >        /* restore original value */
> >     pciConfigOutLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1, mem[i]);
> >     /* Read back value, it could be changed */
> >     pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1,  &mem[i]);
> >  mem[i]   &=PCI_MEMBASE_MASK;
> >
> >  if (sysMmuMapAdd((void
> > *)&bar[i],0x10000,VM_STATE_MASK_FOR_ALL,VM_STATE_FOR_PCI)
> >     == ERROR)
> >             break;
> >      if (sysMmuMapAdd((void
> > *)&mem[i],size,VM_STATE_MASK_FOR_ALL,VM_STATE_FOR_PCI)
> >     == ERROR)
> >             break;
> >  pciConfigOutWord (bus, dev, func,
> >      PCI_CFG_COMMAND, PCI_CMD_IO_ENABLE |
> >      PCI_CMD_MEM_ENABLE | PCI_CMD_MASTER_ENABLE);
> >  } /* end loop on units */
> >  return (OK);
> > }
> > #endif /* INCLUDE_M503 */
> >
> > --
> > ------------------------------------------------------------------------
> > ** Dr. Fabio Garufi
> > ** Software Manager
> > **
> > ** ELE.SI.A. S.r.l.
> > ** ISO 9001 CERTIFIED
> > ** Tel. +39.0774.3653.227 / Fax +39.0774.3653.300
> > ** http://www.elesia.it
> > ------------------------------------------------------------------------
> >
> >
>
>

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

Newsgroups: comp.os.vxworks
Subject: Howto:Calculating context switch time?
Date: 20 Jan 2003 07:49:55 -0800
From: neeraj_ire@rediffmail.com (Caliph)
Organization: http://groups.google.com/
Message-ID: <92111798.0301200749.159f6c8d@posting.google.com>

Is there any Way I can use toi calculate or measure the context switch
time in VxWorks.

Thanks in advance

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

Newsgroups: comp.os.vxworks
Subject: Re: Measuring Context Switch time
Date: Mon, 20 Jan 2003 08:41:48 -0800
From: "Dan Gold" <my-lastname@ensemble.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <b0h8t0$a4m$1@newsreader.mailgate.org>
References: <92111798.0301200530.6a6c3f3f@posting.google.com>
Sender: gold@ensemble.com

"Caliph" <neeraj_ire@rediffmail.com> wrote in message
news:92111798.0301200530.6a6c3f3f@posting.google.com...
> I wonder if there is a way to calculate how much time it takes to
> context switch? How do we measure it in real time?

I believe you can get that from Windview, IIRC.   I also use CodeTEST from
AMC (now Metrowerks).  As far as calculating it in real-time, does it matter
?  Chances are you're saving and restoring the same context for each task
(maybe FP regs are different, but overall...)

 hth,
  Dan Gold  gold@ensemble.com

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

Newsgroups: comp.os.vxworks
Subject: How to create a socket in VB for vxWorks??
Date: Mon, 20 Jan 2003 17:38:53 GMT
From: "Derek Christie" <dchristie@imagictv.com>
Organization: Aliant Internet
Message-ID: <NuWW9.1089$mL1.67977@ursa-nb00s0.nbnet.nb.ca>

Need to know how to send an ip and open port to the set top box in Visual
Basic 6 and to receive a confirmation message. Help would be much
appreciated.
Thanks,
 Derek

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

Newsgroups: comp.os.vxworks
Subject: Re: FW: FTP Problem -
Date: 20 Jan 2003 11:27:41 -0800
From: norealid2003@yahoo.com (msafar)
Organization: http://groups.google.com/
Message-ID: <647914ce.0301201127.77a083be@posting.google.com>
References: <b0geom$jet$1@overload.lbl.gov>

From the first sight the line
	if ((bytesAvailable > 0) && (status == OK))
looks suspicious. You are creating a TCP connection - it takes some
time for the handshake to finish up and also there is quite an
exchange inside the ftpXfer. By inserting the delay you giving it some
time to start.

I think what you see is bytesAvailable = 0 and status = OK. You can
simply block on recv (?).

msafar

Atkinson Andrew <AATKINSON1@qinetiq.com> wrote in message news:<b0geom$jet$1@overload.lbl.gov>...
> >  -----Original Message-----
> > From: 	Atkinson Andrew  
> > Sent:	18 January 2003 16:35
> > To:	'VxWorks Users Group'
> > Subject:	FTP Problem - This mail is UNCLASSIFIED
> > Importance:	High
> > 
> > Hi
> > 
> > I am experiencing a rather odd problem when using ftpXFer - see the code
> > snippet below:
> > 
> > static STATUS getTPSDataFile (AMASS_INT_8 * pathname, AMASS_INT_8 *
> > filename)
> > {
> > 	AMASS_INT_8		tempBuffer[TPS_XFER_BUFFER_SIZE];
> > 
> > 	AMASS_INT_8 * copyFrom	= NULL;
> > 	AMASS_INT_8 * copyTo		= NULL;
> > 
> >  	AMASS_INT_32	controlSocket	= 0;
> >  	AMASS_INT_32	dataSocket		= 0;
> >  	AMASS_INT_32	bytesRead		= 0;
> > 	AMASS_INT_32	totalBytesRead	= 0;
> > 	AMASS_INT_32	bytesAvailable	= 0;
> > 
> >  	STATUS status = ERROR;
> >  	
> >  	/* Tranfer the specified file from the remote machine */
> >  	if ((status = ftpXfer (	TPS_FTP_HOST_NAME,
> > 	
> > TPS_FTP_USER_NAME,
> > 	
> > TPS_FTP_PASSWORD,
> > 	
> > TPS_FTP_ACCOUNT,
> > 	
> > "RETR %s",
> > 						 			"",
> > 	
> > "filename",
> > 						 			(int
> > *) &controlSocket,
> > 						 			(int
> > *) &dataSocket)) == ERROR)
> >  	{
> > 		status = ERROR;
> > 
> > #ifdef GCCOP_TPS_DEBUG
> > 		logMsg ("FTP TRANSFER FAILED\n", 0, 0, 0, 0, 0, 0);
> > #endif
> > 
> > 	}
> > 	else
> > 	{
> > 		/* Cannot see why this is required - but it won't work
> > without it ??? */
> > 		taskDelay (sysClkRateGet () * 1);
> > 
> > 		do
> > 		{
> > 			status = ioctl (dataSocket, FIONREAD, (AMASS_INT_32)
> > &bytesAvailable);
> > 
> > #ifdef GCCOP_TPS_DEBUG
> > 			if (status == ERROR)
> > 			{
> > 				logMsg ("NO DATA AVAILABLE ON FTP DATA
> > SOCKET\n", 0, 0, 0, 0, 0, 0);
> > 			}
> > #endif
> > 
> > 			if ((bytesAvailable > 0) && (status == OK))
> > 			{
> > 				if (bytesAvailable > TPS_XFER_BUFFER_SIZE)
> > 				{
> > 					bytesAvailable =
> > TPS_XFER_BUFFER_SIZE;
> > 				}
> > 
> > 		 		if ((bytesRead = recv (dataSocket,
> > (AMASS_INT_8 *) tempBuffer, bytesAvailable, 0)) == bytesAvailable)
> > 		 		{
> > 					/* Copy the data into our temporary
> > TPS data */
> > 					copyTo 	= (AMASS_INT_8 *)
> > &tempTPSData + totalBytesRead;
> > 					copyFrom = tempBuffer;
> > 
> > 					memcpy ((void *) copyTo, (const void
> > *) copyFrom, bytesRead);
> > 
> > 					totalBytesRead += bytesRead;
> > 
> > 					if (totalBytesRead > TPS_DATA_SIZE)
> > 					{
> > 						status = ERROR;
> > 
> > #ifdef GCCOP_TPS_DEBUG
> > 						logMsg ("TOO MUCH DATA
> > RECIEVED ACROSS FTP LINK\n", 0, 0, 0, 0, 0, 0);
> > #endif
> > 
> > 					}
> > 				}
> > 				else
> > 				{
> >  					/* Read has failed */
> >  					status = ERROR;
> > 
> > #ifdef GCCOP_TPS_DEBUG
> > 					logMsg ("READ FAILED ON FTP DATA
> > SOCKET\n", 0, 0, 0, 0, 0, 0);
> > #endif
> > 
> > 		 		}
> > 			}
> > 		} while ((bytesAvailable > 0) && (status == OK));
> > 
> >  		if (totalBytesRead != TPS_DATA_SIZE)
> >  		{
> >  			/* Incorrect number of bytes read */
> >  			status = ERROR;	
> >  		}
> > 
> > 		/* Check that the last FTP command has completed */
> > 		if (ftpReplyGet (controlSocket, TRUE) != FTP_COMPLETE)
> > 		{
> > 			/* FTP command failed to complete */
> > 			status = ERROR;
> > 		}
> > 		
> > 		/* Quit the FTP session */
> > 		if (ftpCommand (controlSocket, "QUIT", 0, 0, 0, 0, 0, 0) !=
> > FTP_COMPLETE)
> > 		{
> > 			/* Failed to quit */
> > 			status = ERROR;	
> > 		}
> > 
> > 		/* Close the sockets */
> >  		close (dataSocket);
> > 		close (controlSocket);		
> >  	}
> > 
> > 	return (status);
> > }
> > 
> > According to the FTP server (wftpd32.exe) the file is ALWAYS successfully
> > retrieved and the FTP session completed. However, if I do not include the
> > delay after the ftpXFer then any attempt to read the data from the socket
> > fails. So, from the debugger I placed one breakpoint - on return (status)
> > at the end of the routine. With no delay, status = ERROR, with a delay (1
> > second is the smallest I have tried) status = OK and the file is
> > successfully transferred.
> > 
> > Can anyone shed any light on this - as far I can see my code largely
> > follows what is recommended in the VxWorks reference manual for ftpXFer.
> > The FTP server is happy that the file has been transferred, so I am at a
> > loss to see where things are going off the rails.
> > 
> > Any help appreciated.
> > 
> > Andy Atkinson
> > Software Engineer
> > Bldg 31a
> > QinetiQ, Bincleaves Technology Park
> > Weymouth
> > Dorset
> > DT4 8UR
> > 
> > Tel : 01305 764660
> > Fax : 01305 764661
> > e-mail : AATKINSON1@QinetiQ.com
> > 
> > vxworks
> > 
> 
> The Information contained in this E-Mail and any subsequent correspondence
> is private and is intended solely for the intended recipient(s).
> For those other than the recipient any disclosure, copying, distribution,
> or any action taken or omitted to be taken in reliance on such information
> is prohibited and may be unlawful.

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

Newsgroups: comp.os.vxworks
Subject: Help ,,,,,,,for custom dependencies
Date: 20 Jan 2003 11:45:13 -0800
From: jing_m@hotmail.com (jing ma)
Organization: http://groups.google.com/
Message-ID: <709e67fd.0301201145.3d58c9c@posting.google.com>

Hi ALL,
   I want to change custom dependencies. which is in vxworks project
fool.c and fool.h depend on fool.xml. another word. when building a
vxworks images. if fool.xml changed. fool.c and fool.h will be
changed.

 in window I can using fool.xml as input file into fool.exe file.
output file are fool.c and fool.h. can I build fool.exe file into
vxworks?

Thanks!

jing

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

Newsgroups: comp.os.vxworks
Subject: Re: problems with sysMmuMapAdd()
Date: Mon, 20 Jan 2003 21:26:17 GMT
From: "Paul Iannacito" <paul.iannacito@attbi.com>
Organization: AT&T Broadband
Message-ID: <ZPZW9.760589$WL3.751758@rwcrnsc54>
References: <b0gm5q$9tj$1@newsreader1.mclink.it>

Dr. Garufi,

I have a few thoughts on the problem you are describing.  Given the
description in your post, I do not know the exact cause of the
trouble you are having.  However, I may be able to suggest some
details which will help you identify the problem.

I have some comments on the source code fragment submitted along with
your post, but I would like to mention a few things about sysMmuMapAdd()
first.  You are probably already aware that the sysMmuMapAdd() routine
is a BSP-specific implementation.  I am assuming that you will find the
source code for sysMmuMapAdd() in your BSP sysLib.c file.  It is a very
simplistic routine which requires some care in use.

You should be aware that sysMmuMapAdd() is a wrapper around some code
which puts address mappings in the statically allocated sysPhysMemDesc[]
table / array.  If  there are no available slots in the sysPhysMemDesc
table, then
sysMmuMapAdd() should return ERROR .  As a result, you should always make
sure that your memory has been mapped by checking for ERROR returns from
sysMmuMapAdd().  In the event that the sysPhysMemDesc table is out of
available slots, I believe that one can create additional slots by adding
DUMMY_VIRT_ADDR entries at the appropriate locations in the array,
followed by rebuilding VxWorks images.

The sysMmuMapAdd() routine must be used before the sysPhysMemDesc table is
referenced for the purpose of initializing the MMU in usrMmuInit().  Thus,
one can safely call it from sysHwInit().  Given the context within which
sysMmuMapAdd() is used in your code example, do make sure that the PCI
support libraries are initialized prior to initializing the PMC board from
some routine called from sysHwInit().  I am sure this is obvious to you.
I mention it just in case you are unfamiliar with the organization of some
of the initialization code in your BSP.

In reply to Michael Lawnick's comments, you note that the system does have
a BIOS.  In this case, unless you are certain otherwise, it is safest to
assume that the BIOS has programmed PCI device BARs and enabled memory
decode.  This has some implications for how one will proceed to find the
devices and map them into the address space initialized by VxWorks.  Since
the current generation of Pentium-based BSPs do not tend to map all BARs
for the devices attached to some system, you will find that this is done
in varying ways.  I will describe two general strategies I have seen.

Supposing that you have managed to locate some PCI device by bus,
device, and function number, you might know what kind of device it is
supposed to be.  For example, your code fragment used pciFindDevice()
to look for a specific kind of device.  In this case, the device vendor
may have well documented PCI BAR locations and sizes for each PCI BAR.
You may elect to simply read the BAR value(s) programmed by the BIOS
and pass these along to sysMmuMapAdd() along with the size of the
BARs (which is known in advance from device docs).  For example, suppose
that I have located a device which I know to implement a register
area of size NPF_MEMSIZE in BAR 1, and some IO (not memory-mapped)
in BAR 0.  I could do something similar to the following to get the address
mapped:

    ...

    UINT32  ioBase;           /* IO base address (BAR 0) */
    UINT32  memIo32;          /* memory-mapped IO address (BAR 1) */

    pciConfigInLong  (busNo, devNo, funcNo, PCI_CFG_BASE_ADDRESS_0,
&ioBase);
    pciConfigInLong  (busNo, devNo, funcNo, PCI_CFG_BASE_ADDRESS_1,
&memIo32);

    memIo32 &= PCI_MEMBASE_MASK;
    ioBase  &= PCI_IOBASE_MASK;

    /* map a 32-bit non-prefetchable memory address decoder */

    if (sysMmuMapAdd ((void *) memIo32, NPF_MEMSIZE,
        VM_STATE_MASK_FOR_ALL, VM_STATE_FOR_IO) == ERROR)
        {
        return ERROR;
        }
    ...

Note that BAR 1 is not probed to discover the size of the memory region.  It
is assumed that I know in advance what kind of device (and BAR requirements)
is specified in the <busNo>, <devNo>, and <funcNo> variables.

Supposing that the size of the memory regions, device types, &c. are not
known in advance, one could author a more general routine to discover the
proper parameters for sysMmuMapAdd(), but a slightly different approach is
required in this case.  Since the BIOS may have initialized PCI devices
(including memory decode) prior to VxWorks initialization, we have to be
careful how values are written to memory addresses which may be occupied
by such devices.  If you've located a device and must probe it to discover
the size of a memory BAR, be sure to disable memory and IO decode prior to
probing the device.  Supposing that you have located some device (specified
by bus, device, & function numbers) that you would like to map, a more
general approach to the problem might be implemented as follows:

    ...

    UINT16          cmdSave;    /* saves 16-bit PCI command word register */
    UINT32          barSave;    /* saves 32-bit PCI base address register */
    UINT32          barRead;    /* memory decoder (if any) read from BAR  */

    UINT32          initState;  /* store a PHYS_MEM_DESC state parameter */

    STATUS          retVal = OK;

    /* save PCI device command word register & disable memory decode */

    pciConfigInWord  (bus, dev, func, PCI_CFG_COMMAND, &cmdSave);
    pciConfigOutWord (bus, dev, func, PCI_CFG_COMMAND,
                      cmdSave & ((~PCI_CMD_MEM_ENABLE) |
(~PCI_CMD_IO_ENABLE)));

    /* save the BARs and determine whether memory decoders are implemented
*/

    pciConfigInLong  (bus, dev, func, PCI_CFG_BASE_ADDRESS_0, &barSave);
    pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_0, 0xffffffff);
    pciConfigInLong  (bus, dev, func, PCI_CFG_BASE_ADDRESS_0, &barRead);

    if (barRead != 0)
        {
        pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_0, barSave);

        if ((barRead & PCI_BASE_IO) != PCI_BAR_SPACE_IO)
            {
            initState = (barRead & PCI_BASE_PREFETCH) ?
                        VM_STATE_FOR_MEM_APPLICATION : VM_STATE_FOR_IO;

            barSave  &= PCI_MEMBASE_MASK;
            barRead  &= PCI_MEMBASE_MASK;

            if (sysMmuMapAdd ((void *) barSave, (1 << (ffsLsb (barRead) -
1)),
                VM_STATE_MASK_FOR_ALL, initState) == ERROR)
                {
                retVal = ERROR;
                goto PCI_MAP_DEV_RETURN;
                }
            }
        }

    /* repeat the above process for BARs 1 through 5 ... */

    ...

PCI_MAP_DEV_RETURN:

    /* restore PCI device command word register */

    pciConfigOutWord (bus, dev, func, PCI_CFG_COMMAND, cmdSave);

    return retVal;
    }

The code fragment begins by saving the original device command word
register value, followed disabling memory decode for the device.
For each BAR:

    - The BAR may have been initialized by a BIOS.  The original
      BAR value is saved since the code maps the BIOS-specified
      memory addresses.

    - 1's are written to the BAR, as usual.  The value read after
      this is stored in a different variable which is used to
      determine whether the BAR is implemented, a memory or IO BAR,
      and, if a memory BAR, whether the memory is prefetchable.

The VxWorks ffsLsb() routine is used as the basis for calculating the
size of a memory region.  The process can be repeated for BARs 1 - 5.
Before returning the routine restores the command word register
to its original value.  The following is an expanded version of the
previous fragment (use at YOUR own risk).  It may be a bit general
for your purposes, but I think it illustrates one useful way to
deal with PCI memory BAR mapping on a system with a BIOS.
You can, of course, find other examples in your BSP source code:

...

/* includes */

#include <vxWorks.h>
#include <memPartLib.h>
#include <pciHeaderDefs.h>
#include <drv/pci/pciConfigLib.h>
#include "config.h"

/* imports */

IMPORT STATUS sysMmuMapAdd (void *, UINT, UINT, UINT);
IMPORT int    ffsLsb (UINT32);

/***************************************************************************
****
*
* sysPciDevMap - map a PCI device into the host address space
*
* Given a PCI device specified by <bus>, <dev>, and <func>, this routine
* maps the device's PCI memory decoders, if any, into the host processor's
* address space.
*
* CAVEATS
* As of PCI 2.2, decoders may be implemented in any of the base address
* register (BAR) positions.  If more than one decoder is implemented,
* there may be holes.  Therefore, inspect all six of the possible BAR
* positions in the device header to determine which registers are actually
* implemented.
*
* This routine will not correctly detect and handle 64-bit base address
* registers.
*
* The BSP-specific sysMmuMapAdd() routine is used to create <sysPhysMemDesc>
* table entries for memory BARs.  As a result, this routine should be used
* before the <sysPhysMemDesc> table is referenced for the purpose of
* initializing the MMU or processor address space (us. in usrMmuInit()).
*
* RETURNS:
* OK, else ERROR if memory decoders could not be mapped into the processor's
* address space.
*
* NOMANUAL
*/
LOCAL STATUS sysPciDevMap
    (
    UINT32          bus,        /* device's PCI bus number */
    UINT32          dev,        /* device's PCI device number */
    UINT32          func        /* device's PCI function number */
    )
    {
    UINT16          cmdSave;    /* saves 16-bit PCI command word register */
    UINT32          barSave;    /* saves 32-bit PCI base address register */
    UINT32          barRead;    /* memory decoder (if any) read from BAR  */

    UINT32          initState;  /* store a PHYS_MEM_DESC state parameter */

    STATUS          retVal = OK;

    /* save PCI device command word register & disable memory decode */

    pciConfigInWord  (bus, dev, func, PCI_CFG_COMMAND, &cmdSave);
    pciConfigOutWord (bus, dev, func, PCI_CFG_COMMAND,
                      cmdSave & ((~PCI_CMD_MEM_ENABLE) |
(~PCI_CMD_IO_ENABLE)));

    /* save the BARs and determine whether memory decoders are implemented
*/

    pciConfigInLong  (bus, dev, func, PCI_CFG_BASE_ADDRESS_0, &barSave);
    pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_0, 0xffffffff);
    pciConfigInLong  (bus, dev, func, PCI_CFG_BASE_ADDRESS_0, &barRead);

    if (barRead != 0)
        {
        pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_0, barSave);

        if ((barRead & PCI_BASE_IO) != PCI_BAR_SPACE_IO)
            {
            initState = (barRead & PCI_BASE_PREFETCH) ?
                        VM_STATE_FOR_MEM_APPLICATION : VM_STATE_FOR_IO;

            barSave  &= PCI_MEMBASE_MASK;
            barRead  &= PCI_MEMBASE_MASK;

            if (sysMmuMapAdd ((void *) barSave, (1 << (ffsLsb (barRead) -
1)),
                VM_STATE_MASK_FOR_ALL, initState) == ERROR)
                {
                retVal = ERROR;
                goto PCI_MAP_DEV_RETURN;
                }
            }
        }

    pciConfigInLong  (bus, dev, func, PCI_CFG_BASE_ADDRESS_1, &barSave);
    pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1, 0xffffffff);
    pciConfigInLong  (bus, dev, func, PCI_CFG_BASE_ADDRESS_1, &barRead);

    if (barRead != 0)
        {
        pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1, barSave);

        if ((barRead & PCI_BASE_IO) != PCI_BAR_SPACE_IO)
            {
            initState = (barRead & PCI_BASE_PREFETCH) ?
                        VM_STATE_FOR_MEM_APPLICATION : VM_STATE_FOR_IO;

            barSave  &= PCI_MEMBASE_MASK;
            barRead  &= PCI_MEMBASE_MASK;

            if (sysMmuMapAdd ((void *) barSave, (1 << (ffsLsb (barRead) -
1)),
                VM_STATE_MASK_FOR_ALL, initState) == ERROR)
                {
                retVal = ERROR;
                goto PCI_MAP_DEV_RETURN;
                }
            }
        }

    pciConfigInLong  (bus, dev, func, PCI_CFG_BASE_ADDRESS_2, &barSave);
    pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_2, 0xffffffff);
    pciConfigInLong  (bus, dev, func, PCI_CFG_BASE_ADDRESS_2, &barRead);

    if (barRead != 0)
        {
        pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_2, barSave);

        if ((barRead & PCI_BASE_IO) != PCI_BAR_SPACE_IO)
            {
            initState = (barRead & PCI_BASE_PREFETCH) ?
                        VM_STATE_FOR_MEM_APPLICATION : VM_STATE_FOR_IO;

            barSave  &= PCI_MEMBASE_MASK;
            barRead  &= PCI_MEMBASE_MASK;

            if (sysMmuMapAdd ((void *) barSave, (1 << (ffsLsb (barRead) -
1)),
                VM_STATE_MASK_FOR_ALL, initState) == ERROR)
                {
                retVal = ERROR;
                goto PCI_MAP_DEV_RETURN;
                }
            }
        }

    pciConfigInLong  (bus, dev, func, PCI_CFG_BASE_ADDRESS_3, &barSave);
    pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_3, 0xffffffff);
    pciConfigInLong  (bus, dev, func, PCI_CFG_BASE_ADDRESS_3, &barRead);

    if (barRead != 0)
        {
        pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_3, barSave);

        if ((barRead & PCI_BASE_IO) != PCI_BAR_SPACE_IO)
            {
            initState = (barRead & PCI_BASE_PREFETCH) ?
                        VM_STATE_FOR_MEM_APPLICATION : VM_STATE_FOR_IO;

            barSave  &= PCI_MEMBASE_MASK;
            barRead  &= PCI_MEMBASE_MASK;

            if (sysMmuMapAdd ((void *) barSave, (1 << (ffsLsb (barRead) -
1)),
                VM_STATE_MASK_FOR_ALL, initState) == ERROR)
                {
                retVal = ERROR;
                goto PCI_MAP_DEV_RETURN;
                }
            }
        }

    pciConfigInLong  (bus, dev, func, PCI_CFG_BASE_ADDRESS_4, &barSave);
    pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_4, 0xffffffff);
    pciConfigInLong  (bus, dev, func, PCI_CFG_BASE_ADDRESS_4, &barRead);

    if (barRead != 0)
        {
        pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_4, barSave);

        if ((barRead & PCI_BASE_IO) != PCI_BAR_SPACE_IO)
            {
            initState = (barRead & PCI_BASE_PREFETCH) ?
                        VM_STATE_FOR_MEM_APPLICATION : VM_STATE_FOR_IO;

            barSave  &= PCI_MEMBASE_MASK;
            barRead  &= PCI_MEMBASE_MASK;

            if (sysMmuMapAdd ((void *) barSave, (1 << (ffsLsb (barRead) -
1)),
                VM_STATE_MASK_FOR_ALL, initState) == ERROR)
                {
                retVal = ERROR;
                goto PCI_MAP_DEV_RETURN;
                }
            }
        }

    pciConfigInLong  (bus, dev, func, PCI_CFG_BASE_ADDRESS_5, &barSave);
    pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_5, 0xffffffff);
    pciConfigInLong  (bus, dev, func, PCI_CFG_BASE_ADDRESS_5, &barRead);

    if (barRead != 0)
        {
        pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_5, barSave);

        if ((barRead & PCI_BASE_IO) != PCI_BAR_SPACE_IO)
            {
            initState = (barRead & PCI_BASE_PREFETCH) ?
                        VM_STATE_FOR_MEM_APPLICATION : VM_STATE_FOR_IO;

            barSave  &= PCI_MEMBASE_MASK;
            barRead  &= PCI_MEMBASE_MASK;

            if (sysMmuMapAdd ((void *) barSave, (1 << (ffsLsb (barRead) -
1)),
                VM_STATE_MASK_FOR_ALL, initState) == ERROR)
                {
                retVal = ERROR;
                }
            }
        }

PCI_MAP_DEV_RETURN:

    /* restore PCI device command word register */

    pciConfigOutWord (bus, dev, func, PCI_CFG_COMMAND, cmdSave);

    return retVal;
    }

After mapping devices via sysMmuMapAdd() you may find it useful to
print the contents of the sysPhysMemDesc table during development.
This is easy to do.  There is a VxWorks demo program for this available
on WindSurf under the "Memory Management" folder on the "Sample Source
Code" page.

paul

"Fabio Garufi" <fgarufi@elesia.it> wrote in message
news:b0gm5q$9tj$1@newsreader1.mclink.it...
> Hi all,
>     I am trying to install a grabber PMC board on a Intel Pentium III cPCI
> (VMICPCI 7755) board under Tornado 2.0.2, VxWorks 5.4.2.
> The board is seen by the pciDeviceShow and pciHeaderShow functions: it
opens
> three memory prefetchable regions:
> 0xf4400000 64K wide
> 0xf4800000 4M
> 0xf44800000 512K
> The problem arises when I try to access this memory, I get a page fault
> whatever the window I try to access both in reading and writing.
>  modified the $(WIN_BASE)/target/config/vmicpci7755/sysLib.c by adding a
> function that adds the memory regions to MMU Map (see below). When I call
> the function from within sysHwInit() the system does not complete the boot
> and freezes, while if I call it from sysHwInit2() I do not obtain any
> change.
> Apparently it freezes on sysMmuMapAdd().
> Any help?
> Thanks all in advance.
>
> Here follows the function code:
> ==================================
> #ifdef INCLUDE_M503
>
> #define M503_VEND_ID xxxx
> #define M503_DEV_ID    yyyy
> STATUS  sysM503PciInit()
>  /* sysM503PciInit */
> {
>     UINT32 bar[6], mem[6], enc[6];
>     UINT size, mask;
>     int bus, dev, func, i;
>     UINT16 data;
>     for (i=0; i<6;i++)/* loop on units */
>     {
>      if(pciFindDevice (M503_VEND_ID, M503_DEV_ID, i, &bus, &dev, &func) !=
> OK)
>         break;
>                 /* get memory base address and IO base address */
>
>  pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_0,  &bar[i]);
>  pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1,  &mem[i]);
>  pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_2,  &enc[i]);
>  bar[i]   &= PCI_MEMBASE_MASK;
>  mem[i]   &= PCI_MEMBASE_MASK;
>  enc[i]   &= PCI_MEMBASE_MASK;
>   /* find out the memory space requirements of this BAR */
>
>     pciConfigOutLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1, 0xffffffff);
>     pciConfigInLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1,&mask);
>     size=~(mask&PCI_MEMBASE_MASK)+1;
>        /* restore original value */
>     pciConfigOutLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1, mem[i]);
>     /* Read back value, it could be changed */
>     pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1,  &mem[i]);
>  mem[i]   &=PCI_MEMBASE_MASK;
>
>  if (sysMmuMapAdd((void
> *)&bar[i],0x10000,VM_STATE_MASK_FOR_ALL,VM_STATE_FOR_PCI)
>     == ERROR)
>             break;
>      if (sysMmuMapAdd((void
> *)&mem[i],size,VM_STATE_MASK_FOR_ALL,VM_STATE_FOR_PCI)
>     == ERROR)
>             break;
>  pciConfigOutWord (bus, dev, func,
>      PCI_CFG_COMMAND, PCI_CMD_IO_ENABLE |
>      PCI_CMD_MEM_ENABLE | PCI_CMD_MASTER_ENABLE);
>  } /* end loop on units */
>  return (OK);
> }
> #endif /* INCLUDE_M503 */
>
> --
> ------------------------------------------------------------------------
> ** Dr. Fabio Garufi
> ** Software Manager
> **
> ** ELE.SI.A. S.r.l.
> ** ISO 9001 CERTIFIED
> ** Tel. +39.0774.3653.227 / Fax +39.0774.3653.300
> ** http://www.elesia.it
> ------------------------------------------------------------------------
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: about  software upgrade for vxwork?
Date: 20 Jan 2003 14:38:27 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0301201438.439e25ce@posting.google.com>
References: <b0g6ae$g1q@netnews.hinet.net>

Hello,

You are going to need to be much more specific in terms of what you
are trying to do, which architecture you are using and which version
of VxWorks you have. As it stands, there is not even enough
information in your posting to start giving you an answer.

HTH,

John...

"Li-Hao Jeng" <lihao@accesssolutions.com.tw> wrote in message news:<b0g6ae$g1q@netnews.hinet.net>...
> Sir,
>    Do you know how to upgrade software use console mode(RS232) ?  Please
> give me advice!  Thank you!!
> 
> lihao

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

Newsgroups: comp.os.vxworks
Subject: Re: taskDelay problem
Date: 20 Jan 2003 14:40:49 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0301201440.5932cd67@posting.google.com>
References: <a815538a.0301200023.42f3b5cf@posting.google.com>

Hello,

It sounds like a problem in the timer driver. I would take a look at
the code that changes the clock's rate - it sounds like it is failing
to restart the clock, so that when you change the rate you effectively
stop the clock.

You can check for this by looking at the return value of tickGet()
from the shell for example. If it is not increasing, then the clock
has stopped!

HTH,

John...

mjcse@rediffmail.com (mjcse) wrote in message news:<a815538a.0301200023.42f3b5cf@posting.google.com>...
> Hi VxWorks Gurus,
>  of late, I am facing a mysterious problem. On my board,
> when system clock is increased, all the tasks which executes
> taskDelay or nanoSleep delays forver. I mean they never come out of
> delay to ready state. Even if taskDelay is of 1 tick, the tasks delays
> forever. What could be the reason behind this? And how can this be
> rectified.
> 
> Any help are suggestion will be greatly appreciated...
> 
> Thanks and Regards,
> 
> Shafie

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

Newsgroups: comp.os.vxworks
Subject: To Cache or Not to Cache - Buffers and BD's
Date: Mon, 20 Jan 2003 18:12:26 -0500
From: "Robert D'Attilio" <robert_dattilio@mitel.com>
Organization: AT&T Canada IES
Message-ID: <un%W9.24014$H67.110802@tor-nn1.netcom.ca>

We currently have written drivers for MCC, SCC and FCC for an 8260. The
drivers were written to use non-cached buffer descriptors and buffers out of
local SDRAM. We would like to migrate these drivers to an 8250 platform with
the buffers and BD's now in main ram. We were also looking at some
optimizations that could be done as well in terms of using caching. I don't
forsee much of a problem with caching the buffers themselves and using the
appropriate cacheLib routines to resolve any coherency issues. However my
concern is with caching the buffer descriptors for the following reasons:

BD's are 8 bytes long and the cache line is 32 bytes. Since BD's are ring
buffers that are contiguous in memory, would you not have a 'window of
non-coherency' where an ISR  is manipulating a BD and at the same time the
CPM is working with the next BD (i.e. on the same cache line) and the ISR
goes and does a cacheFlush\cacheInvalidate at the end? Would you not be
corrupting the BD the CPM was in the midst of processing?

Am I missing the boat here on this one? I have a copy of an FCC driver which
uses the cache libraries for both buffers AND buffer descriptors which tends
to suggest that it can be done but I can't see how (safely for BD's).

thanks in advance for any insight
robert

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

Newsgroups: comp.os.vxworks
Subject: Re: How to restart Ethernet driver?
Date: Tue, 21 Jan 2003 00:15:20 GMT
From: "XN" <xni@wi.rr.com>
Organization: RoadRunner
Message-ID: <si0X9.20114$Ib.628745@twister.rdc-kc.rr.com>
References: <_eLW9.44524$Gm2.925945@twister.rdc-kc.rr.com> <647914ce.0301201005.7d218f1e@posting.google.com>

Thank you so much for the information. Can you please tell me more about
iniConnect? My Ethernet chip is Intel 82559. I use fei driver.

"msafar" <norealid2003@yahoo.com> wrote in message
news:647914ce.0301201005.7d218f1e@posting.google.com...
> We had a similar problem. However, restarting the driver didn't help
> as there were deeper problems. It manifested itself exactly the way
> you describing.
>
> In our case I tracked it down to a watchdog routine doing intConnect
> again, beside leaking a memory it allocates some and all of this in
> ISR. When it happened again it blocked a task it interrupted on a
> mutex!
>
> What ethernet controller are you using?
>
> msafar
>
> "XN" <xni@wi.rr.com> wrote in message
news:<_eLW9.44524$Gm2.925945@twister.rdc-kc.rr.com>...
> > Hi All,
> >
> > I got a problem with Ethernet driver. If Ethernet cable is not connected
> > during the boot time, then the networks will not work even reconnet it
until
> > reboot.
> >
> > My question is, how can I put some code running in the background to
check
> > the network connection such that it can automatically connect without
> > reboot.
> >
> > Thanks!

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

Newsgroups: comp.os.vxworks
Subject: Re: about  software upgrade for vxwork?
Date: Tue, 21 Jan 2003 10:05:46 +0800
From: "Li-Hao Jeng" <lihao@accesssolutions.com.tw>
Organization: DCI HiNet
Message-ID: <b0iab0$bps@netnews.hinet.net>
References: <b0g6ae$g1q@netnews.hinet.net> <488e459a.0301201438.439e25ce@posting.google.com>

Sir,
   Very thank you give me message.  I want use RS232 cable to upgrade my
target flash.  Architecture is user use windows super-terminal application
and use xmodem protocal to pass new image.  After upload finish,  my loader
will write new image to flash rom.  But I don't know where have vxwork
xmodem protocal code?  Can you give me some advice ?

Lihao
2003.01.21
"John" <john_94501@yahoo.com>
???????:488e459a.0301201438.439e25ce@posting.google.com...
Hello,

You are going to need to be much more specific in terms of what you
are trying to do, which architecture you are using and which version
of VxWorks you have. As it stands, there is not even enough
information in your posting to start giving you an answer.

HTH,

John...

"Li-Hao Jeng" <lihao@accesssolutions.com.tw> wrote in message
news:<b0g6ae$g1q@netnews.hinet.net>...
> Sir,
>    Do you know how to upgrade software use console mode(RS232) ?  Please
> give me advice!  Thank you!!
>
> lihao

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

Newsgroups: comp.os.vxworks
Subject: Re: To Cache or Not to Cache - Buffers and BD's
Date: 20 Jan 2003 18:52:32 -0800
From: ryeung@earthlink.net (Raymond Yeung)
Organization: http://groups.google.com/
Message-ID: <d83bb8e3.0301201852.4ff91ca7@posting.google.com>
References: <un%W9.24014$H67.110802@tor-nn1.netcom.ca>

"Robert D'Attilio" <robert_dattilio@mitel.com> wrote in message news:<un%W9.24014$H67.110802@tor-nn1.netcom.ca>...
> We currently have written drivers for MCC, SCC and FCC for an 8260. The
> drivers were written to use non-cached buffer descriptors and buffers out of
> local SDRAM. We would like to migrate these drivers to an 8250 platform with
> the buffers and BD's now in main ram. We were also looking at some
> optimizations that could be done as well in terms of using caching. I don't
> forsee much of a problem with caching the buffers themselves and using the
> appropriate cacheLib routines to resolve any coherency issues. However my
> concern is with caching the buffer descriptors for the following reasons:
> 
> BD's are 8 bytes long and the cache line is 32 bytes. Since BD's are ring
> buffers that are contiguous in memory, would you not have a 'window of
> non-coherency' where an ISR  is manipulating a BD and at the same time the
> CPM is working with the next BD (i.e. on the same cache line) and the ISR
> goes and does a cacheFlush\cacheInvalidate at the end? Would you not be
> corrupting the BD the CPM was in the midst of processing?

You concern is probably a real one; your cache utilities would corrupt
the adjacent BDs.  On the other hand, would caching the BDs give you any
noticeable performance advantage (even if corruption is not an issue)?
Your ISR would have to reference the same BD enough in between flush/invalidate
to justify the cost of the utilities themselves.  Plus now your CPM and core
are contenting on the same bus for the BDs.  It may be worthwhile to
consider putting the BDs in processor's dual port RAM, if it has any.

> 
> Am I missing the boat here on this one? I have a copy of an FCC driver which
> uses the cache libraries for both buffers AND buffer descriptors which tends
> to suggest that it can be done but I can't see how (safely for BD's).
> 
> thanks in advance for any insight
> robert

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

Newsgroups: comp.os.vxworks
Subject: Re: PPP implementation on VxWorks
Date: Mon, 20 Jan 2003 23:37:46 GMT
From: "pm" <peter.marqui@rauland.com>
Organization: Verio
Message-ID: <eL%W9.30112$A%3.388809@ord-read.news.verio.net>
References: <3e253a60@post.newsfeed.com>

basic PPP is include with vxWorks, but has some limitions

1) No PPPoE (PPP over Ethernet)
2) ip forward doesn't seam to work (or rather we can;t get it to work)

WRS has another full blown implementation WindNet PPP that may address these
limitations

"Eyal Raab" <eyalr@corrigent.com> wrote in message
news:3e253a60@post.newsfeed.com...
> *** post for FREE via your newsreader at post.newsfeed.com ***
>
> Hi,
>
> We're looking to implement the PPP protocol on our systems.
> Does someone know of a free implementation of the PPP protocol for
VxWorks?
>
> I've seen in the unoffical VxWorks FAQ a reference to it, but the FTP site
> mentioned seems to be inactive.
>
> Thanks in advance,
> Eyal Raab.
>
>
>
>
>  -----= Posted via Newsfeed.Com, Uncensored Usenet News =-----
> http://www.newsfeed.com - The #1 Newsgroup Service in the World!
> -----== 100,000 Groups! - 19 Servers! - Unlimited Download! =-----
>

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

Newsgroups: comp.os.vxworks
Subject: Re: How to create a socket in VB for vxWorks??
Date: Mon, 20 Jan 2003 20:18:47 -0600
From: Joe Durusau <durusau@bellsouth.net>
Organization: WEBUSENET.com
Message-ID: <3E2CAE07.8060508@bellsouth.net>
References: <NuWW9.1089$mL1.67977@ursa-nb00s0.nbnet.nb.ca>

Derek Christie wrote:
> Need to know how to send an ip and open port to the set top box in Visual
> Basic 6 and to receive a confirmation message. Help would be much
> appreciated.
> Thanks,
>  Derek
> 
> 

If you want the basics on socket programming, search for beej on the
net.  You will find a tutorial on network programming.  If you
want info about visual basic, try looking at google groups for
an appropriate newsgroup.  Personally, I know absolutely
nothing about the subject.

Speaking only for myself,

Joe Durusau

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

Newsgroups: comp.os.vxworks
Subject: Re: taskDelay problem
Date: 20 Jan 2003 22:27:42 -0800
From: mjcse@rediffmail.com (mjcse)
Organization: http://groups.google.com/
Message-ID: <a815538a.0301202227.1608bb72@posting.google.com>
References: <a815538a.0301200023.42f3b5cf@posting.google.com> <488e459a.0301201440.5932cd67@posting.google.com>

Thanks John,
 That's exactly the problem. I appreciate your
sense of anticipation. Thanks a lot. 
And thanks everyone else who took time to read
and respond to my query.

regards,
shafie

john_94501@yahoo.com (John) wrote in message news:<488e459a.0301201440.5932cd67@posting.google.com>...
> Hello,
> 
> It sounds like a problem in the timer driver. I would take a look at
> the code that changes the clock's rate - it sounds like it is failing
> to restart the clock, so that when you change the rate you effectively
> stop the clock.
> 
> You can check for this by looking at the return value of tickGet()
> from the shell for example. If it is not increasing, then the clock
> has stopped!
> 
> HTH,
> 
> John...
> 
> mjcse@rediffmail.com (mjcse) wrote in message news:<a815538a.0301200023.42f3b5cf@posting.google.com>...
> > Hi VxWorks Gurus,
> >  of late, I am facing a mysterious problem. On my board,
> > when system clock is increased, all the tasks which executes
> > taskDelay or nanoSleep delays forver. I mean they never come out of
> > delay to ready state. Even if taskDelay is of 1 tick, the tasks delays
> > forever. What could be the reason behind this? And how can this be
> > rectified.
> > 
> > Any help are suggestion will be greatly appreciated...
> > 
> > Thanks and Regards,
> > 
> > Shafie

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

Newsgroups: comp.os.vxworks
Subject: Sample program
Date: 20 Jan 2003 22:50:28 -0800
From: sameer_ba@yahoo.com (Sam)
Organization: http://groups.google.com/
Message-ID: <e179293e.0301202250.3ad56012@posting.google.com>

Hello friends,

I am new to vxworks,can anybody give me sample programs such as
related to tasks,message queues,signals etc.

Thanks in advance.
Sameer

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

Newsgroups: comp.os.vxworks
Subject: Re: To Cache or Not to Cache - Buffers and BD's
Date: Tue, 21 Jan 2003 00:52:32 -0800
From: "Dan Gold" <dgold1@san.rr.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <b0j1ro$m9v$1@newsreader.mailgate.org>
References: <un%W9.24014$H67.110802@tor-nn1.netcom.ca>
Sender: gold@ensemble.com

Robert D'Attilio wrote in message ...
>We currently have written drivers for MCC, SCC and FCC for an 8260. The
>drivers were written to use non-cached buffer descriptors and buffers out
of
>local SDRAM. We would like to migrate these drivers to an 8250 platform
with
>the buffers and BD's now in main ram. We were also looking at some
>optimizations that could be done as well in terms of using caching. I don't
>forsee much of a problem with caching the buffers themselves and using the
>appropriate cacheLib routines to resolve any coherency issues. However my
>concern is with caching the buffer descriptors for the following reasons:
>
>BD's are 8 bytes long and the cache line is 32 bytes. Since BD's are ring
>buffers that are contiguous in memory, would you not have a 'window of
>non-coherency' where an ISR  is manipulating a BD and at the same time the
>CPM is working with the next BD (i.e. on the same cache line) and the ISR
>goes and does a cacheFlush\cacheInvalidate at the end? Would you not be
>corrupting the BD the CPM was in the midst of processing?
>
>Am I missing the boat here on this one? I have a copy of an FCC driver
which
>uses the cache libraries for both buffers AND buffer descriptors which
tends
>to suggest that it can be done but I can't see how (safely for BD's).

Why do you need to worry about handling the coherency in software using
cacheLib ?  The 8260 supports snooping via the GBL bit.  You can set this
for MCCs, SCCs, FCCs, SPI, and I2C.  Maybe I'm missing the boat on this one.
You should not have to worry about cache coherency for the buffers and BDs
if you have them in 60x bus memory and the appropriate peripheral GBL bit
set.  Most of the 8260 drivers from WRS evolved from 860 drivers (motFcc.c
bears a remarkable resemblance to motFec.c), and the 860 does not support
snooping.  Additionally, most of the drivers allocate memory via
cacheDmaMalloc() and thus avoid cache coherency altogether.

Consider the case you described:  An FCC transmits a buffer and generates a
Tx interrupt, then the CPM moves on to the next BD.  Your ISR is busy
cleaning up the previous TxBD.  They are all in the same cache line.  Once
you have cleaned up the BD, why do you need to flush it ?  If you have the
GBL bit set for the FCC, the next time the CPM tries to read *that* BD, the
snoop logic will catch it, flush the cache line, and the CPM will have the
updated BD.  Only you didn't have to do any explicit flushing.  The CPM
fetches BDs 32-bits at a time.  Once it reads the BD, I believe it keeps an
internal copy.  When it's done it writes the data back out.   The snooping
should take care of the coherency.

You don't say what protocol you are running on the FCCs.  The 8260 User's
manual errata says to not put BDs in DPRAM, put them in external memory (at
least for FCCs running Ethernet).  Also beware when running ATM on FCCs.
Setting the GBL bit will cause snooping of buffers, BDs, interrupt queues,
etc... *except* TCTs and RCTs.  Those you have to explicitly
flush/invalidate yourself.  Not such a bad thing unless you're using the
"auto-vc off" mode.  It's more of an annoyance than anything else.

Are you using PTEs or DBATs for mapping the 60x bus memory ?  Remember you
do not have to set the M bit in the PTE or DBAT, but you do need to set GBL
in the appropriate RFCR/TFCR registers.  There is an app note (AN 2335, or
2355, something like that) describing the CPM snooping capability.  Check
the 8260 product page and you should find it.

There are lots of issues to take into consideration when deciding where to
put your buffers and BDs.  How much 60x bus memory do you have ?  Is it
enough (only you can answer that) to handle your load, buffered up data,
etc... Of course putting everything on the 60x bus will increase bus
utilization - will that be a problem ?  Are you just using the 16K L1 cache
on the 8260 or do you have an L2 ?  Will the CPM's constant  bus access
cause problems for instruction fetches ?

If you can test your ideas now on your current 8260 platform before
migrating them it might be useful.

  hth,
   Dan Gold   gold@ensemble.com

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

Newsgroups: comp.os.vxworks
Subject: sample program
Date: 21 Jan 2003 01:04:18 -0800
From: sameer_ba@yahoo.com (Sam)
Organization: http://groups.google.com/
Message-ID: <e179293e.0301210104.198cb42a@posting.google.com>

Hello .....

can anybody tell me abt the sebsites from where i can find sample
programs for signals,message queues etc,

Thanks in advance 

Sameer

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

Newsgroups: comp.os.vxworks
Subject: Re: about  software upgrade for vxwork?
Date: Tue, 21 Jan 2003 06:31:18 -0600
From: Joe Durusau <durusau@bellsouth.net>
Organization: WEBUSENET.com
Message-ID: <3E2D3D96.4050802@bellsouth.net>
References: <b0g6ae$g1q@netnews.hinet.net> <488e459a.0301201438.439e25ce@posting.google.com> <b0iab0$bps@netnews.hinet.net>

	vxWorks as such does not include xmodem.  You would
have to add it yourself.  IIRC, the protocol is open, so you
would have to figure out the protocol, then add xmodem
  to your vxWorks image.  That would require that you rebuild
vxworks itself, and redo the PROMS or whatever you have the
OS image residing in.

Speaking only for myself,

Joe Durusau

Li-Hao Jeng wrote:
> Sir,
>    Very thank you give me message.  I want use RS232 cable to upgrade my
> target flash.  Architecture is user use windows super-terminal application
> and use xmodem protocal to pass new image.  After upload finish,  my loader
> will write new image to flash rom.  But I don't know where have vxwork
> xmodem protocal code?  Can you give me some advice ?
> 
> Lihao
> 2003.01.21
> "John" <john_94501@yahoo.com>
> ???????:488e459a.0301201438.439e25ce@posting.google.com...
> Hello,
> 
> You are going to need to be much more specific in terms of what you
> are trying to do, which architecture you are using and which version
> of VxWorks you have. As it stands, there is not even enough
> information in your posting to start giving you an answer.
> 
> HTH,
> 
> John...
> 
> "Li-Hao Jeng" <lihao@accesssolutions.com.tw> wrote in message
> news:<b0g6ae$g1q@netnews.hinet.net>...
> 
>>Sir,
>>   Do you know how to upgrade software use console mode(RS232) ?  Please
>>give me advice!  Thank you!!
>>
>>lihao
> 
> 
> 

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

Newsgroups: comp.os.vxworks
Subject: DosFs long name
Date: Wed, 15 Jan 2003 10:27:50 +0000 (UTC)
From: "Franco Bassetti" <francobassetti@hotmail.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <22c68e067cf2bcee618ba6840a74b888.37262@mygate.mailgate.org>

I need file names greater than 8.3 so I have modified the file usrAta.c

In function usrAtaConfig
just before calling
if (dosFsDevInit(bootDir, pBlkDev, NULL) == (DOS_VOL_DESC *)NULL)

I have used the function
status = dosFsDevInitOptionsSet (DOS_OPT_LONGNAMES);
it returns OK
but when I call dosFsConfigShow from shell
the result is
long file names:           not enabled

dosFsConfigShow("/ata0")
device name:               /ata0
total number of sectors:   125024
bytes per sector:          512
media byte:                0xf8
# of sectors per cluster:  4
# of reserved sectors:     1
# of FAT tables:           2
# of sectors per FAT:      122
max # of root dir entries: 512
# of hidden sectors:       32
removable medium:          TRUE
disk change w/out warning: not enabled
auto-sync mode:            not enabled
long file names:           not enabled
exportable file system:    not enabled
lowercase-only filenames:  not enabled
volume mode:               O_RDWR (read/write)
available space:           42094592 bytes
max avail. contig space:   40511488 bytes

Can anybody help me?

- -- 
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Tue Jan 21 22:11:49 2003
From: adsharma@hss.hns.com
Date: Tue Jan 21 22:11:50 PST 2003
Subject: [newbie] programming tips for vxworks

hi all,
 i've just started with VxWorks programming, though i have good amount of
experience with C programming on UNIX.

 i'm searching for good programming tips/heuristics/precepts that you'd suggest.
 are there any such tips available on the net? (i found good ones from the FAQ,
but not on a single page listing down several tips with reasons for the same)

i'd much appreciate if the group members would share their valuable experience
with me and get me started :) (i'm ok with RTFM tips too - that is a good way to
learn :))

thanks in advance,
adi

DISCLAIMER: This message is proprietary to Hughes Software Systems
Limited (HSS) and is intended solely for the use of the individual
to whom it is addressed. It may contain  privileged or confidential
information  and should not be circulated or used for any purpose other
than for what it is intended. If you have received this message in error,
please notify the originator immediately. If you are not the intended
recipient, you are notified that you are strictly prohibited from using,
copying, altering, or disclosing the contents of this message. HSS accepts
no responsibility for loss or damage arising from the use of the information
transmitted by this email including damage from virus.

From vxwexplo-errs@csg.lbl.gov  Wed Jan 22 04:03:26 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Wed Jan 22 04:03:27 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Wed Jan 22 04:03:23 PST 2003

        Subject: How to boot with rommed Application - Re Question
        Subject: bootrom size pls help
        Subject: symbol table
        Subject: Re: about  software upgrade for vxwork?
        Subject: [comp.os.vxworks] FAQ - index
        Subject: Re: Sample program
        Subject: mysterious task behaviour
        Subject: Re: DosFs long name
        Subject: Re: DosFs long name
        Subject: Re: dec 21143 missing carrier detction?
        Subject: Re: How to restart Ethernet driver?
        Subject: Re: about  software upgrade for vxwork?
        Subject: Missed Wakeups
        Subject: Re: problems with sysMmuMapAdd()
        Subject: Re: mysterious task behaviour
        Subject: Re: Shell redirection
        Subject: Re: Missed Wakeups
        Subject: vxWorks-rom problems
        Subject: Re: Sample program

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

Newsgroups: comp.os.vxworks
Subject: How to boot with rommed Application - Re Question
Date: 12 Jan 2003 19:27:09 -0800
From: ywkwon@humantel.com (Kwon,YongWook)
Organization: http://groups.google.com/
Message-ID: <76b199d8.0301121927.72917e45@posting.google.com>

Hello?
First, I can say thank you for your good help.
Finally, I've got a result for MPC860 BOARD for VxWorks RTOS.

I made bootrom.hex and write flash with this s-record file.

I can see boot printing character from console.

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

                    VxWorks System Boot

Copyright 1984-1998 Wind River Systems, Inc.

CPU: MPLAN800 -PowerPC 860
Version: 5.4.2
BSP version: 1.2/4
Creation date: Jan  9 2003, 15:05:47

Press any key yo stop auto-boot...
7
[VxWorks Boot]:

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

I'm very glad to see this greeting ^^;
for all my result are from your good response.

After Seeing this greeting, I think everything is ok.

But I've got a problem.

I set my board's boot parameter with NVRAM value.
I use NVRAM for boot parameter. It's OK.
Then I loaded "vxWorks" file from TFTP Server.

My board's bootrom Application did this works. It's OK

I saw this printing after excuting l(load) command.
- -------------------------------------------------
Attached TCP/IP interface to cpm0.
Attaching network interface lo0... done.
Loading...600244
entry = 0x100000
[VxWorks Boot]:
- -------------------------------------------------

Then I hit "g 0x100000" command.

At that time, I can see

Starting at 0x100000...

But No work appears.

I think my bootrom application is OK. I mean no problem.
Then Network Interface is OK.
Loading file via TFTP server scheme is OK. It works well.

I think  I have some missing idea to boot.

[Question 1] Is it ok to boot "vxWorks" file?

[Question 2] I know "vxWorks" is only application image file. no OS
included.
             Is it right?

[Question 3] What file should I use for booting my MPC860 board?
             "vxWorks"? "vxWorks.st"? or any other files?

I was trying to boot with pSOS ram.elf file. this file is simple
application
ram.elf is OS+APPLICATION.

It's ok to load and go. ram.elf is excuted.

[Question 4] I made vxWorks_rom.hex and write FLASH memory with this
file.
             But I can't see any booting printing from console.
             But my bootrom.hex is OK to boot. I think vxWorks_rom.hex
is ROMed file, So I expected vxWorks_rom.hex can be booted. But no
result.
             What file should I check and modify?
             I know these two S-Record file is made by romInit.s &
bootInit.c.
             And bootrom.hex is made by bootConfig.c and
vxWorks_rom.hex is made by usrConfig.c. Is it right?

[Question 5] I doubt my definition for ADRS value
My board memory info is.
SDRAM 32M
FLASH MEM 8M
My own applicaion is not exist. only I use default ads860 board files
and modified it.
Then What is the best setting for the value of RAM_HIGH_ADRS and
RAM_LOW_ADRS ?

[Question 6]
I include INCLUDE_DEMO and not include INCLUDE_SHELL for testing.
Is it OK? I think it's simple testing method.

I think I have mistake something.

Please Give me a good answer.

Regards,
YongWook

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

Newsgroups: comp.os.vxworks
Subject: bootrom size pls help
Date: 15 Jan 2003 02:55:32 -0800
From: pegasusian@yahoo.com (=?ISO-8859-1?Q?fatih_=F6zcan?=)
Organization: http://groups.google.com/
Message-ID: <7b02be47.0301150255.7032c5be@posting.google.com>

I have custom mpc860t with 8 Mb flash and I want to build a bootrom
with size bigger than 512K. I define ROM_COPY_SIZE 1 M. But I got an
exception that my PC goes to 0x55AA55A8. If anyone helps I appreciate.

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

Newsgroups: comp.os.vxworks
Subject: symbol table
Date: 15 Jan 2003 03:01:33 -0800
From: sergiohdezm@terra.es (Sergiohdezm)
Organization: http://groups.google.com/
Message-ID: <63c835dd.0301150301.2a3a9cdb@posting.google.com>

Hi, I am working with Tornado and I need to compile vxWorks for a
pci/c6400 board. I must choose beetwen "built-in symbol table" and
"downloaded symbol table" but I don't know what the correct one is.
Can someone explain the difference? Thank you.

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

Newsgroups: comp.os.vxworks
Subject: Re: about  software upgrade for vxwork?
Date: Tue, 21 Jan 2003 20:44:45 +0800
From: "Li-Hao Jeng" <lihao@accesssolutions.com.tw>
Organization: DCI HiNet
Message-ID: <b0jfp4$g2o@netnews.hinet.net>
References: <b0g6ae$g1q@netnews.hinet.net> <488e459a.0301201438.439e25ce@posting.google.com> <b0iab0$bps@netnews.hinet.net> <3E2D3D96.4050802@bellsouth.net>

Sir,
   Very thank you give me advice.  But what is IIRC?  Please give me detial
infomation.  Thank you again!!

Lihao
2003.01.21

"Joe Durusau" <durusau@bellsouth.net>
???????:3E2D3D96.4050802@bellsouth.net...
vxWorks as such does not include xmodem.  You would
have to add it yourself.  IIRC, the protocol is open, so you
would have to figure out the protocol, then add xmodem
  to your vxWorks image.  That would require that you rebuild
vxworks itself, and redo the PROMS or whatever you have the
OS image residing in.

Speaking only for myself,

Joe Durusau

Li-Hao Jeng wrote:
> Sir,
>    Very thank you give me message.  I want use RS232 cable to upgrade my
> target flash.  Architecture is user use windows super-terminal application
> and use xmodem protocal to pass new image.  After upload finish,  my
loader
> will write new image to flash rom.  But I don't know where have vxwork
> xmodem protocal code?  Can you give me some advice ?
>
> Lihao
> 2003.01.21
> "John" <john_94501@yahoo.com>
> ???????:488e459a.0301201438.439e25ce@posting.google.com...
> Hello,
>
> You are going to need to be much more specific in terms of what you
> are trying to do, which architecture you are using and which version
> of VxWorks you have. As it stands, there is not even enough
> information in your posting to start giving you an answer.
>
> HTH,
>
> John...
>
> "Li-Hao Jeng" <lihao@accesssolutions.com.tw> wrote in message
> news:<b0g6ae$g1q@netnews.hinet.net>...
>
>>Sir,
>>   Do you know how to upgrade software use console mode(RS232) ?  Please
>>give me advice!  Thank you!!
>>
>>lihao
>
>
>

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

Newsgroups: comp.os.vxworks,comp.realtime,comp.arch.embedded,comp.answers,news.answers
Subject: [comp.os.vxworks] FAQ - index
Date: 14 Jan 2003 09:38:56 GMT
From: johan@borksoft.xs4all.nl (Johan Borkhuis)
Organization: Borksoft
Message-ID: <vxworks-faq/index_1042536977@rtfm.mit.edu>
Followup-To: comp.os.vxworks

Archive-name: vxworks-faq/index
Posting-Frequency: monthly
Last-modified: 2002/08/23
Version: 1.46
URL: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html
Copyright: (c) 1999 - 2002 Johan Borkhuis
Maintainer: Johan Borkhuis <johan@borksoft.xs4all.nl>

This is the index of the FAQ for the newsgroup comp.os.vxworks. The FAQ
itself can be found at http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html

Original charter of comp.os.vxworks:

comp.os.vxworks will be a forum for discussion of topics related to
the VxWorks real-time operating system and development environment.
Current and prospective users of VxWorks will be able to discuss
technical problems, report experiences with various hardware components,
share code, report bugs and fixes, and exchange any information of interest
to the VxWorks user community. Relevant new product announcements may be
made by commercial participants, subject to a limit - e.g. 1/month -
on the frequency of such posts. 

Contents of the FAQ:

1. Tool problems
1.1 Compiler and Linker
1.2 Debugger
1.3 FTP
1.4 Host tools
1.5 Installation
1.6 Make
1.7 Project facility
1.7.1 Hierarchical projects
1.7.2 Super projects
1.8 Target Server
1.9 Target Shell
1.10 Telnet
1.11 Tornado
1.11.1 Tornado (General)
1.11.2 Tornado (Windows)
1.12 Version Control
1.13 Visual Studio integration
1.14 Windsh
1.15 WindView

2. Changes/additions to be made to BSP's
2.1 Different BSP's
2.2 Processor specific issues
2.2.1 Power PC
2.2.2 I960
2.2.3 MIPS
2.2.4 ARM
2.3 Bootstrap
2.4 Adding component to your VxWorks configuration
2.5 VME problems
2.6 VxWorks environment
2.6.1 usrSerial.c
2.6.2 prj_vxworks.tcl
2.7 PCI problems

3. File System problems
3.1 Dos file system
3.2 Flash File system
3.3 Floppy-disk File system
3.4 RAM-disk File system
3.5 General file system questions

4. Network
4.1 Configuration problems
4.2 ARP
4.3 DHCP
4.4 FTP and TFTP
4.5 PPP
4.5.1 PPP on Windows 95
4.5.2 PPP on Windows NT
4.5.3 PPP on Solaris
4.6 Sockets
4.7 Telnet
4.8 Other network related questions

5. VxWorks Questions
5.1 C++ issues
5.2 Communication problems
5.3 Interrupts
5.4 LoadModule problems
5.5 pthreads
5.6 Reboot
5.7 Semaphores
5.8 Simulator (VxSim)
5.9 Task related items
5.10 Time/timer related items
5.11 Wind Web Server related items
5.12 Zinc/windML related items
5.13 Other items
5.14 VxWorks AE issues

6. Extra information
6.1 Hard delay
6.2 Memory leaks
6.3 Corba engines
6.4 Web servers
6.5 NTP usage
6.6 Performace / Benchmarks
6.7 SNMP
6.8 Lint
6.9 Encryption

Other Links

The News Department

Overall question index

Overall Sources index

Change history

- --
     o o o o o o o . . .   _____J_o_h_a_n___B_o_r_k_h_u_i_s___
    o      _____           || http://www.xs4all.nl/~borkhuis |
  .][__n_n_|DD[  ====_____  |    johan@borksoft.xs4all.nl    |
 >(________|__|_[_________]_|________________________________|
 _/oo OOOOO oo`  ooo   ooo  'o!o!o                      o!o!o`

==== VxWorks-FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ====

- ----- End forwarded message -----

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

Newsgroups: comp.os.vxworks
Subject: Re: Sample program
Date: Tue, 21 Jan 2003 07:08:41 -0800
From: "Michael R. Kesti" <mkesti@gv.net>
Organization: MK Associates
Message-ID: <3E2D6279.91436300@gv.net>
References: <e179293e.0301202250.3ad56012@posting.google.com>
Reply-To: mkesti@gv.net

Sam wrote:

>Hello friends,
>
>I am new to vxworks,can anybody give me sample programs such as
>related to tasks,message queues,signals etc.

The vxWorks Programmers Guide is THE source of such information, but there
is some useful info at:

http://www.rt.db.erau.edu/experiments/vx/toc/TableOfContents.html

- -- 
========================================================================
          Michael Kesti            |  "And like, one and one don't make
                                   |   two, one and one make one."
          mkesti@gv.net            |          - The Who, Bargain

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

Newsgroups: comp.os.vxworks
Subject: mysterious task behaviour
Date: Wed, 15 Jan 2003 19:53:47 +0100
From: rs <girasolecount@impromptu.m.shuttle.de>
Organization: WiNShuttle, DFN - German Research Network
Message-ID: <3E25AE3B.CB4CDE1F@impromptu.m.shuttle.de>

Hello,

I have an embedded application which spawns a main task. The spawning is
successfull. But when running the application on the target I get
following message on the connected target-terminal when invoking i :

- -> i

NAME    ENTRY    TID            PRI   STATUS   PC
SP             ERRNO    DELAY
...
tTest       test             137e458    100    READY    149700
137a268    c0002        0

- ->printErrno( 0xc0002)
S_ioLib_UNKNOWN_REQUEST
value = 24 = 0x18
- ->

There is an errno  != 0 for the task tTest, although the  taks is
running. Invoking functions of the task is errorfree until a specific
function is invoked. Then the task crashes. I have debugged the function
and found no error. Furthermore, when I compiled and downloaded my
application again, the task didn't crash at invoking this function but
runs errorfree, although the ERRNO on the terminal is the same as
before.

An other application with a similar main task has errno 0x3d0001 =
S_objLib_OB_ID_ERROR.
That task is running fine and doesn't crash, regardless what the task is
doing.

Why is there an errno != 0 on the terminal, although the task spawns
without error? What do the error numbers mean? Does anyone know?

Thank you in advance!

Albert

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

Newsgroups: comp.os.vxworks
Subject: Re: DosFs long name
Date: Wed, 15 Jan 2003 11:26:49 -0800
From: "Jimbob" <jamesmh@excite.com>
Message-ID: <b04chj$lhcou$1@ID-173270.news.dfncis.de>
References: <22c68e067cf2bcee618ba6840a74b888.37262@mygate.mailgate.org>

"Franco Bassetti" <francobassetti@hotmail.com> wrote in message
news:22c68e067cf2bcee618ba6840a74b888.37262@mygate.mailgate.org...
> I need file names greater than 8.3 so I have modified the file usrAta.c
>
> In function usrAtaConfig
> just before calling
> if (dosFsDevInit(bootDir, pBlkDev, NULL) == (DOS_VOL_DESC *)NULL)
>
> I have used the function
> status = dosFsDevInitOptionsSet (DOS_OPT_LONGNAMES);
> it returns OK
> but when I call dosFsConfigShow from shell
> the result is
> long file names:           not enabled
>
> dosFsConfigShow("/ata0")
> device name:               /ata0
> total number of sectors:   125024
> bytes per sector:          512
> media byte:                0xf8
> # of sectors per cluster:  4
> # of reserved sectors:     1
> # of FAT tables:           2
> # of sectors per FAT:      122
> max # of root dir entries: 512
> # of hidden sectors:       32
> removable medium:          TRUE
> disk change w/out warning: not enabled
> auto-sync mode:            not enabled
> long file names:           not enabled
> exportable file system:    not enabled
> lowercase-only filenames:  not enabled
> volume mode:               O_RDWR (read/write)
> available space:           42094592 bytes
> max avail. contig space:   40511488 bytes
>
>
> Can anybody help me?

How did you format it? FAT12/FAT16 . .?

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

Newsgroups: comp.os.vxworks
Subject: Re: DosFs long name
Date: Wed, 15 Jan 2003 21:57:52 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$x5ur8h$y28$1@lnews.actcom.co.il>
References: <22c68e067cf2bcee618ba6840a74b888.37262@mygate.mailgate.org>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

This is older dosFs 1.0 - the Long names option works only
when formatting the volume - if you set the option the way
you did and then re-format the volume, it will come up with long
names next time it is mounted.
This is a priprietary format, and breaks PC compatibility.

The newer dosFs 2.0 has native support for VFAT long names.

- -- HTH
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

"Franco Bassetti" <francobassetti@hotmail.com> wrote in message
news:22c68e067cf2bcee618ba6840a74b888.37262@mygate.mailgate.org...
> I need file names greater than 8.3 so I have modified the file usrAta.c
>
> In function usrAtaConfig
> just before calling
> if (dosFsDevInit(bootDir, pBlkDev, NULL) == (DOS_VOL_DESC *)NULL)
>
> I have used the function
> status = dosFsDevInitOptionsSet (DOS_OPT_LONGNAMES);
> it returns OK
> but when I call dosFsConfigShow from shell
> the result is
> long file names:           not enabled
>
> dosFsConfigShow("/ata0")
> device name:               /ata0
> total number of sectors:   125024
> bytes per sector:          512
> media byte:                0xf8
> # of sectors per cluster:  4
> # of reserved sectors:     1
> # of FAT tables:           2
> # of sectors per FAT:      122
> max # of root dir entries: 512
> # of hidden sectors:       32
> removable medium:          TRUE
> disk change w/out warning: not enabled
> auto-sync mode:            not enabled
> long file names:           not enabled
> exportable file system:    not enabled
> lowercase-only filenames:  not enabled
> volume mode:               O_RDWR (read/write)
> available space:           42094592 bytes
> max avail. contig space:   40511488 bytes
>
>
> Can anybody help me?
>
>
>
> --
> Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: Re: dec 21143 missing carrier detction?
Date: 14 Jan 2003 04:42:06 -0800
From: willemsenjc@yahoo.com (Jon Willemsen)
Organization: http://groups.google.com/
Message-ID: <ea90c3ae.0301140442.2c227432@posting.google.com>
References: <WkoU9.35207$E83.31682@news2.central.cox.net>

"Kelly Hornsby" <klh1964@cox.net> wrote in message news:<WkoU9.35207$E83.31682@news2.central.cox.net>...
> Hello All
> 
> I want to know if I have a carrier detect on my DEC 21143 device before I
> start transmitting or receiving packets.  I think CSR12 will tell me if I
> have a link active (carrier detect) but I'm not sure.  Is this register the
> best way to detect if there's a good link?  I'm probably going to have a
> 10MB link, but possibly a 100MB link, but I don't think it matters, since
> both speeds are reflected in CSR12.  Am I on the right track?  I don't have
> the sources for the ethernet devices, so I'm hoping for an easy way to tell
> if there's no carrier.  I can get access to the register via a pciFindDevice
> and a pciConfigInLong to fetch the base addresses of the register banks.
> 
> Any suggestions, URLs, or tips will be appreciated.
> 
> Thx

Perhaps you could try using the status bit that indicates that link
auto-negotiation has completed. This will tell you if the link is up,
and if so you should be able to read the negotiated speed from other
status bit(s). Or do you really need to know specifically if the
carrier is present?

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

Newsgroups: comp.os.vxworks
Subject: Re: How to restart Ethernet driver?
Date: 21 Jan 2003 10:26:27 -0800
From: norealid2003@yahoo.com (msafar)
Organization: http://groups.google.com/
Message-ID: <647914ce.0301211026.f325374@posting.google.com>
References: <_eLW9.44524$Gm2.925945@twister.rdc-kc.rr.com> <647914ce.0301201005.7d218f1e@posting.google.com> <si0X9.20114$Ib.628745@twister.rdc-kc.rr.com>

Our controller is 82596 and the corresponding driver is ei. I was
hoping you are using the same. Unfortunatelly, I don't know neither
the chip nor the driver of yours.

intConnect creates an ISR and connects it to an inerrupt. You should
have a look into manuals to find out more.

In our case the interrupt fired as soon as we fed the chip with
receiver descriptors. In ei there is a supervision done using
watchdogs and as soon as the supervision detected a situation it tried
to restart the driver. That's the point where the intConnect came into
the game.

msafar

"XN" <xni@wi.rr.com> wrote in message news:<si0X9.20114$Ib.628745@twister.rdc-kc.rr.com>...
> Thank you so much for the information. Can you please tell me more about
> iniConnect? My Ethernet chip is Intel 82559. I use fei driver.
> 
> "msafar" <norealid2003@yahoo.com> wrote in message
> news:647914ce.0301201005.7d218f1e@posting.google.com...
> > We had a similar problem. However, restarting the driver didn't help
> > as there were deeper problems. It manifested itself exactly the way
> > you describing.
> >
> > In our case I tracked it down to a watchdog routine doing intConnect
> > again, beside leaking a memory it allocates some and all of this in
> > ISR. When it happened again it blocked a task it interrupted on a
> > mutex!
> >
> > What ethernet controller are you using?
> >
> > msafar
> >
> > "XN" <xni@wi.rr.com> wrote in message
>  news:<_eLW9.44524$Gm2.925945@twister.rdc-kc.rr.com>...
> > > Hi All,
> > >
> > > I got a problem with Ethernet driver. If Ethernet cable is not connected
> > > during the boot time, then the networks will not work even reconnet it
>  until
> > > reboot.
> > >
> > > My question is, how can I put some code running in the background to
>  check
> > > the network connection such that it can automatically connect without
> > > reboot.
> > >
> > > Thanks!

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

Newsgroups: comp.os.vxworks
Subject: Re: about  software upgrade for vxwork?
Date: 21 Jan 2003 11:20:43 -0800
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0301211120.b8f79f3@posting.google.com>
References: <b0g6ae$g1q@netnews.hinet.net> <488e459a.0301201438.439e25ce@posting.google.com> <b0iab0$bps@netnews.hinet.net> <3E2D3D96.4050802@bellsouth.net> <b0jfp4$g2o@netnews.hinet.net>

Hello,

IIRC = If I Remember/Recall Correctly.

If you see these in future, there are a few web sites that will help
to translate them. Here's some I found on google:

http://www.tuxedo.org/~esr/jargon/html/The-Jargon-Lexicon.html

http://www.atxta.co.uk/acroouter.asp

http://www.rdg.ac.uk/CSC/Topic/General/GeGAcron01/jargon.html

HTH (Hope That Helps :-),

John...

"Li-Hao Jeng" <lihao@accesssolutions.com.tw> wrote in message news:<b0jfp4$g2o@netnews.hinet.net>...
> Sir,
>    Very thank you give me advice.  But what is IIRC?  Please give me detial
> infomation.  Thank you again!!
> 
> Lihao
> 2003.01.21
> 
> "Joe Durusau" <durusau@bellsouth.net>
> ???????:3E2D3D96.4050802@bellsouth.net...
> vxWorks as such does not include xmodem.  You would
> have to add it yourself.  IIRC, the protocol is open, so you
> would have to figure out the protocol, then add xmodem
>   to your vxWorks image.  That would require that you rebuild
> vxworks itself, and redo the PROMS or whatever you have the
> OS image residing in.
> 
> Speaking only for myself,
> 
> Joe Durusau
> 
> 
> Li-Hao Jeng wrote:
> > Sir,
> >    Very thank you give me message.  I want use RS232 cable to upgrade my
> > target flash.  Architecture is user use windows super-terminal application
> > and use xmodem protocal to pass new image.  After upload finish,  my
>  loader
> > will write new image to flash rom.  But I don't know where have vxwork
> > xmodem protocal code?  Can you give me some advice ?
> >
> > Lihao
> > 2003.01.21
> > "John" <john_94501@yahoo.com>
> > ???????:488e459a.0301201438.439e25ce@posting.google.com...
> > Hello,
> >
> > You are going to need to be much more specific in terms of what you
> > are trying to do, which architecture you are using and which version
> > of VxWorks you have. As it stands, there is not even enough
> > information in your posting to start giving you an answer.
> >
> > HTH,
> >
> > John...
> >
> > "Li-Hao Jeng" <lihao@accesssolutions.com.tw> wrote in message
> > news:<b0g6ae$g1q@netnews.hinet.net>...
> >
> >>Sir,
> >>   Do you know how to upgrade software use console mode(RS232) ?  Please
> >>give me advice!  Thank you!!
> >>
> >>lihao
> >
> >
> >

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

Newsgroups: comp.os.vxworks
Subject: Missed Wakeups
Date: 21 Jan 2003 11:50:23 -0800
From: peter_holmes2003@yahoo.com (Peter)
Organization: http://groups.google.com/
Message-ID: <9e41635d.0301211150.457fb277@posting.google.com>

I was looking at the code for semBTake and thought there was a chance
for missed wakeups. I think I am missing something thats why I am
asking for some help.

The pseudo - code for a semBTake is like this

semBTake(semaphore* sem ) 
{
     
    intLock

    if ( sem->owner == NULL ) {
         sem->owner = self;
         intUnlock
         return // got lock return here

    }
     
    // didnt get lock - put on pending q
    intUnLock;
                                    //--------> higher task becomes 
                                    // and do a semGive - but there is
                                    // one on the pending q yet !!
    insert task in pending queue;

}

Is there something I am missing here.

Thanks,
Peter

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

Newsgroups: comp.os.vxworks
Subject: Re: problems with sysMmuMapAdd()
Date: Tue, 21 Jan 2003 21:54:05 GMT
From: "Dan Chopskie" <no@spam.com>
Organization: MediaCom High Speed Internet
Message-ID: <1kjX9.653664$GR5.461332@rwcrnsc51.ops.asp.att.net>
References: <b0gm5q$9tj$1@newsreader1.mclink.it>

"Fabio Garufi" <fgarufi@elesia.it> wrote in message
news:b0gm5q$9tj$1@newsreader1.mclink.it...
> Hi all,
>     I am trying to install a grabber PMC board on a Intel Pentium III cPCI
> (VMICPCI 7755) board under Tornado 2.0.2, VxWorks 5.4.2.
> The board is seen by the pciDeviceShow and pciHeaderShow functions: it
opens
> three memory prefetchable regions:
> 0xf4400000 64K wide
> 0xf4800000 4M
> 0xf44800000 512K
> The problem arises when I try to access this memory, I get a page fault
> whatever the window I try to access both in reading and writing.
>  modified the $(WIN_BASE)/target/config/vmicpci7755/sysLib.c by adding a
> function that adds the memory regions to MMU Map (see below). When I call
> the function from within sysHwInit() the system does not complete the boot
> and freezes, while if I call it from sysHwInit2() I do not obtain any
> change.
> Apparently it freezes on sysMmuMapAdd().
> Any help?

Your system probably isn't hanging sysMmuMapAdd, I would say it's hanging
between sysHwInit and sysHwInit2.  Inbetween these calls, the system will
process your sysPhysMemDesc table and add all the regions defined in there.
(sysMmuMapAdd modifies this table.)  Do you have your page size set to 4
Megs, or 4K?  (It's defined in config.h I believe, you can see in sysLib.c
where it's used, I can't remember the exact #define name.)  If you have your
size set to 4 megs, your code probably won't run.  The trouble is, that each
entry must be page-aligned, and entries cannot overlap.  Your 64K and 512K
entries would be overlapping (Both in the same 4 Meg page).  In the Pentium
BSP I created, I wrote code to automatically map all PCI BAR's in
sysPhysMemDesc, and found that if two entries covered the same page, I would
get the exact hang that you describe.  The solution would be to go through
your BAR's and look for overlaps. (In this case, you would call sysMmuMapAdd
only for two entries.)  If your page size if 4K, then I'm not sure where
your lockup is coming from, since with this device, you shouldn't be having
the problem I've described above.  Let me know if you have more questions on
that.

Dan

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

Newsgroups: comp.os.vxworks
Subject: Re: mysterious task behaviour
Date: Thu, 16 Jan 2003 14:18:56 GMT
From: "Dave Schmidt" <dave@wrxrite.com>
Organization: WrxRite.com
Message-ID: <kbzV9.9146$kH3.1858@sccrnsc03>
References: <3E25AE3B.CB4CDE1F@impromptu.m.shuttle.de>

Albert,

The first thing ine needs to know about "errno" is that just because it is
set, does not mean that there was a fatal error, just that some "alternative
action has occured",  for example, a timeout on waiting on a message will
set the "errno" to a TIMEOUT error.

Tracing the cause of an "errno" setting is one method of determining the
overall cause of a task "crash".  Wind River support should be able to
supply you with info on why the value "S_ioLib_UNKNOWN_REQUEST" gets set,
although I doubt if this is the cause of your crash.

If your system crashes in seemingly unrelated areas of the code, this
usually points to some sort of overall system level integration issue.  If
on the other hand it always crashes when executing the same piece of code,
then this would point to a task level issue.

Again, just beacuse "errno" is set does not mean that your task has comitted
an error, just that the code executed some "alternative" path through its
processing.

Dave

"rs" <girasolecount@impromptu.m.shuttle.de> wrote in message
news:3E25AE3B.CB4CDE1F@impromptu.m.shuttle.de...
> Hello,
>
> I have an embedded application which spawns a main task. The spawning is
> successfull. But when running the application on the target I get
> following message on the connected target-terminal when invoking i :
>
> -> i
>
> NAME    ENTRY    TID            PRI   STATUS   PC
> SP             ERRNO    DELAY
> ...
> tTest       test             137e458    100    READY    149700
> 137a268    c0002        0
>
>
> ->printErrno( 0xc0002)
> S_ioLib_UNKNOWN_REQUEST
> value = 24 = 0x18
> ->
>
> There is an errno  != 0 for the task tTest, although the  taks is
> running. Invoking functions of the task is errorfree until a specific
> function is invoked. Then the task crashes. I have debugged the function
> and found no error. Furthermore, when I compiled and downloaded my
> application again, the task didn't crash at invoking this function but
> runs errorfree, although the ERRNO on the terminal is the same as
> before.
>
> An other application with a similar main task has errno 0x3d0001 =
> S_objLib_OB_ID_ERROR.
> That task is running fine and doesn't crash, regardless what the task is
> doing.
>
> Why is there an errno != 0 on the terminal, although the task spawns
> without error? What do the error numbers mean? Does anyone know?
>
> Thank you in advance!
>
> Albert
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Shell redirection
Date: 16 Jan 2003 15:06:55 -0800
From: triniatlarge@yahoo.com (lovell James)
Organization: http://groups.google.com/
Message-ID: <a66abf95.0301161506.183d384d@posting.google.com>
References: <a66abf95.0301141252.478382be@posting.google.com> <488e459a.0301150955.5ccde720@posting.google.com>

Thanks John,
 I also found another way to do it. I'll just give the sample code. I
disabled the shell in usrconfig.c and enabled it in my code

  fd = open("/tyCo/1", O_RDWR, 0777);
  td = open("/tyCo/0", O_RDWR, 0777);
  ioctl(fd, FIOSETOPTIONS, OPT_TERMINAL);
  
  ioGlobalStdSet(0,fd);
  ioGlobalStdSet(1,fd);
  ioGlobalStdSet(2,fd);
  
  shellInit(20000, TRUE);
 
  td1 = taskNameToId(("tShell");  
  ioTaskStdSet(td1, 0, fd);
  ioTaskStdSet(td1, 1, fd);
  ioTaskStdSet(td1, 2, fd);
  
  ioGlobalStdSet(0,td);
  ioGlobalStdSet(1,td);
  ioGlobalStdSet(2,td);
This worked. Hope this helps someone
john_94501@yahoo.com (John) wrote in message news:<488e459a.0301150955.5ccde720@posting.google.com>...
> Hello,
> 
> triniatlarge@yahoo.com (lovell James) wrote in message news:<a66abf95.0301141252.478382be@posting.google.com>...
> > Help
> >     Does tShell only respond when it sees CR?
> 
> Yes, kind of. If you think about what is happening it will all make
> sense:
> 
> The shell is pended inside a read on the original file descriptor.
> Your changing the standard I/O file descriptor after the shell has
> started will not affect that read call since it was already pended on
> the real device. When you press return on the old serial port, the
> read() call returns, the shell sees you didn't really enter a command,
> writes out a prompt (on the new standard output channel) and calls
> read(), now on the new standard input mapping, so it waits on the
> secondary channel.
> 
> > I then tried to restart the shell by the following code:
> > 
> > shellOrigStdSet(0, fd);
> >   shellOrigStdSet(1, fd);
> >   shellOrigStdSet(2, fd);
> > excJobAdd( shellRestart, TRUE,0,0,0,0,0); 
> 
> This happens because the shell is using the global standard I/O
> redirection when it starts - that is done so that any tasks you spawn
> also have their standard output on the fd that the shell is using
> (necessary for something like the telnet/rlogin server, which is what
> this mechanism is really there for).
> 
> > And I found that STD_IN, STD_OUT and STD_ERR were set to the Secondary
> > port. I thought shellOrigStdSet only sets the shell task STD_IN,
> > STD_OUT and STD_ERR ?
> > I then tried to redirect the STD_IN, STD_OUT and STD_ERR using
> > ioGlobalStdSet commands and the secondary did not respond
> > The ioctl options FIOCANCEL and FIOFLUSH dont seem to work. What is
> > going on?
> 
> The shell task does not, by default, make use of the task-specific
> redirection - it expects to work on the global standard I/O. Since you
> are trying to separate the shell from the global I/O, you are going to
> face a few problems. I would suggest asking Wind River for the source
> to shellLib, then you can change the global redirection calls to
> task-specific ones. The problem with taskRestart() is that it will
> restore the task-specific settings to their original (i.e. not in use)
> setting. It will then start executing the shell, which will
> immediately change the global standard I/O to the ones set via the
> shellOrigStdSet() function.
> 
> So, if you cannot get the source to make the changes, there are a
> couple of other tricks you could play:
> 
> 1) Modify your serial driver to add a routine that allows you to
> artificially inject a character into the stream, and wake up any
> pending reads. Take a look at the code in target/src/drv/sio and you
> should find a routine named with an IntRd suffix - in the middle of
> that should be a call like this:
> 
>     (*pChan->putRcvChar) (pChan->putRcvArg, inchar);
> 
> That is the key to inserting a character into the stream. This will
> allow you to use your original task-specific redirection, and get that
> initial CR character into the stream. Be warned though, if the shell
> ever catches an abort (^C) or an exception, it will restore its I/O to
> the global standard I/O channel.
> 
> 2) You could extract shellLib.o from your archive and link it with a
> new .o that provides ioGlobalStdSet() as a mapping onto the task
> specific one. Once you've linked these two files together, process the
> resulting .o with objcopy to downgrade these new ioGlobalStdSet
> routines to locals. That way they will not interfere with the real
> ones when you link this object into a system, but they will remap the
> shellLib calls to the task-specific redirection routines.
> 
> HTH,
> 
> John...

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

Newsgroups: comp.os.vxworks
Subject: Re: Missed Wakeups
Date: Wed, 22 Jan 2003 07:45:09 +0100
From: "Michael Lawnick" <michael.lawnick@no_spam.kontron.com>
Organization: Buergernetz Dillingen
Message-ID: <b0lelj$j1b$1@snoopy.bndlg.de>
References: <9e41635d.0301211150.457fb277@posting.google.com>
Reply-To: "Michael Lawnick" <michael.lawnick@no_spam.kontron.com>
Sender: mlawnick@mail.kontron-applications.com

Hi Peter,

your code looks like mutex implementation - so why don't you use
vxWorks-mutex ?

Michael

"Peter" <peter_holmes2003@yahoo.com> schrieb im Newsbeitrag
news:9e41635d.0301211150.457fb277@posting.google.com...
> I was looking at the code for semBTake and thought there was a chance
> for missed wakeups. I think I am missing something thats why I am
> asking for some help.
>
>
> The pseudo - code for a semBTake is like this
>
> semBTake(semaphore* sem )
> {
>
>     intLock
>
>     if ( sem->owner == NULL ) {
>          sem->owner = self;
>          intUnlock
>          return // got lock return here
>
>     }
>
>     // didnt get lock - put on pending q
>     intUnLock;
>                                     //--------> higher task becomes
>                                     // and do a semGive - but there is
>                                     // one on the pending q yet !!
>     insert task in pending queue;
>
> }
>
> Is there something I am missing here.
>
> Thanks,
> Peter

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

Newsgroups: comp.os.vxworks
Subject: vxWorks-rom problems
Date: Wed, 22 Jan 2003 11:32:21 +0300
From: "Denis Dubrovin" <den@nita.ru>
Organization: WEBPlus Ltd.
Message-ID: <b0lkum$t13$1@news.wplus.spb.ru>

Hi All!

I compiled vxWorks rom-based image and have trouble.

RAM_HIGH_ADRS =0x300000
RAM_LOW_ADRS =0x100000

When I saw .ab file I see _binArrayStart address is 0x300026.
As I think while rom-start it must copy array from _binArrayStart (wich
placed in my case at 0x400007BA) to RAM_LOW_ADRS and start it.

While debugging I saw what address from wich bytes are copied is not
0x400007BA, it is 0x4000079A! and copy to RAM_LOW_ADRS. After jump on
RAM_LOW_ADRS I have system crash.

In debugger I saw what calculation of _binArrayStart makes wrong.

Why compiler (?) mistaked with calculation of first byte in _binArrayStart
array? Which memory configuration parameters can affect on this mistake?
- --
Regards!
                 Den

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

Newsgroups: comp.os.vxworks
Subject: Re: Sample program
Date: 22 Jan 2003 01:05:59 -0800
From: christian.delez@keymile.com (Christian Delez)
Organization: http://groups.google.com/
Message-ID: <87207712.0301220105.730801fb@posting.google.com>
References: <e179293e.0301202250.3ad56012@posting.google.com>

> I am new to vxworks,can anybody give me sample programs such as
> related to tasks,message queues,signals etc.
> 

Go to WindSurf site home page (This is Wind River support site):
http://www.wrs.com/windsurf
There is a link to Sample code.
You must be registred user with valid support. If you have download
Tornado Prototyper from http://www.wrs.com, you can ask for a WindSurf
acount for free.

Also, search google comp.os.vxworks newsgroup with "intitle:example".

@+, Christian.

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Wed Jan 22 09:38:34 2003
From: Wu@mosaid.com
Date: Wed Jan 22 09:38:36 PST 2003
Subject: load 4M byte size application to target

vxWorks/Tornado world,

I have one application whose size is 4 MBytes. When I download it from host
to target, I got the error message "WTX Error 0x10130 (API_INVALID_ARG)".
When I configure target server, I set "memory cache size" to 4.5Mbytes. But
the problem is still there?
Does anyone recall how to solve this problem?

Thanks

Huang

From vxwexplo-errs@csg.lbl.gov  Thu Jan 23 01:10:49 2003
From: vrreddy@hss.hns.com
Date: Thu Jan 23 01:10:51 PST 2003
Subject: Problem in Loading the application module to VxSim on HP-UX

Hi All,
     I have some problem in loading the relocatable object module in VxSim on HP
host.
     Foloowing is the information about the problem.  please help in this
regard.

I have compiled my application using cchppa cross compiler on HP-UX.
But i fail to load my application module on to VxSim and iam getting the
following errors on the shell.

Bus Error
program counter:            0x0001753c
next program counter:       0x00017540
processor status:           0x0004ff0f
access address:             0x008b9700

 3f163 vxTaskEntry    +63 : shell ([eeeeeeee, eeeeeeee, eeeeeeee, eeeeeeee, 0])
 7e917 shell          +14f: 7e938 ([eeeeeeee, eeeeeeee, eeeeeeee, eeeeeeee,
eeeeeeee])
 7eafb shell          +333: execute ([aaf0, f0cfc, 0, 1e3b, b07910])
 7ec43 execute        +c3 : yyparse ([0, 0, 0, 0, 0])
 ba7c3 yyparse        +feb: b7d, b08010, b08008, f0a50])
 b7f1f yystart        +837: ld ([0, 0, 0, 0, 0])
 86777 ld             +67 : loadModule ([b0831c, aac698, 0, 0, aac698])
 7c6c3 loadModule     +1b : loadModuleAt ([0, 0, b08010, b08008, 0])
 7c6f3 loadModuleAt   +23 : loadModuleAtSym ([eeeeeeee, a98b89, 0, b0cde0, 0])
 7c753 loadModuleAtSym+53 : 158b8 ([0, 8, 0, 0, 0])
 1606b loadSomCoffInit+7cb: 17000 ([0, 0, 0, &ioDefPath, a5e098])
shell restarted.

version information :
bash$ uname -a
HP-UX payal B.10.20 A 9000/871 2004530773 two-user license

Tornado version: 1.0.1

The same compiler(cchppa) is generating the two diffrent kind
of relocatable object  formats viz.,s800 relocatable object format and
PA-RISC1.1 relocatable object format for the source  files in the same
directory.

we find the above information with the "file" utility running on the HP host
machine.
bash$  file hmacmd5.o inet_aton.o
hmacmd5.o:      s800 relocatable object
inet_aton.o:    PA-RISC1.1 relocatable object

Why it could be ? is there anything to do with the above problem?
Your help is highly appreciated....

With thanx and regards,
--vrreddy

DISCLAIMER: This message is proprietary to Hughes Software Systems
Limited (HSS) and is intended solely for the use of the individual
to whom it is addressed. It may contain  privileged or confidential
information  and should not be circulated or used for any purpose other
than for what it is intended. If you have received this message in error,
please notify the originator immediately. If you are not the intended
recipient, you are notified that you are strictly prohibited from using,
copying, altering, or disclosing the contents of this message. HSS accepts
no responsibility for loss or damage arising from the use of the information
transmitted by this email including damage from virus.

From vxwexplo-errs@csg.lbl.gov  Thu Jan 23 04:03:17 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Thu Jan 23 04:03:18 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Thu Jan 23 04:03:14 PST 2003

        Subject: SystemC on VxWorks !
        Subject: Persistent Routing Entries
        Subject: keeping it up
        Subject: Re: help needed
        Subject: Re: change tNetQueue size
        Subject: Re: Priority Inversion
        Subject: SYM895 SCSI Driver problems...
        Subject: The role of dcacheDevCreate function in device driver

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

Newsgroups: comp.os.vxworks
Subject: SystemC on VxWorks !
Date: 22 Jan 2003 05:09:34 -0800
From: anandv79@rediffmail.com (anand)
Organization: http://groups.google.com/
Message-ID: <57e0c4f4.0301220509.2828e7ef@posting.google.com>

Hello All,
   I wanted to know if anybody has tried compiling SystemC src on
VxWorks. I tried it - but got stuck up as 'qt' libraries are not
visible. Any pointers regarding this are greatly appreciated.

Thanks in advance,
Anand

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

Newsgroups: comp.os.vxworks
Subject: Persistent Routing Entries
Date: 22 Jan 2003 05:16:03 -0800
From: kannan@comneti.com (kannan)
Organization: http://groups.google.com/
Message-ID: <2ede7703.0301220516.71cbe5c9@posting.google.com>

Hi,

We have a route "P" Switch for the route command in windows .
The "P" switch for the Route command allows a user to make persistent
entries in the routing table by adding a static route directly to the
registry.
You can use the "P" switch for the Route command which allows a user
to make persistent entries in the routing table by adding a static
route directly to the registry.

Sample syntax from a command line: 
route -p add 131.107.3.0 mask 255.255.255.0 131.107.3.1 
The command forces the following registry entry to be read when the
computer is restarted.

Similiarly whether we have any option(Like Flags)to create Persisitent
entries in the Route Table of vxWorks.Which will not get erased even
when you restart your target system.

Thanks,
Kannan

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

Newsgroups: comp.os.xinu,comp.os.vxworks,comp.os.vms,comp.os.v,comp.os.unix.misc,comp.os.unix
Subject: keeping it up
Date: Wed, 22 Jan 2003 15:13:33 +0000
From: Nic Clews <sendspamhere@127.0.0.1>
Organization: CSC Computer Sciences
Message-ID: <3E2EB51D.500C7614@127.0.0.1>
References: <H36dnX-bGrIeSLijXTWcow@giganews.com> <iP-dnSbhTPxwO7OjXTWc3g@comcast.com>

WildStaringEyes wrote:
> 
> If you are an embedded programmer using VxWorks, then how do you ever have
> time for sex?

OpenVMS:- No v*agra needed to keep it up!

- -- 
Regards, Nic Clews a.k.a. Mr. CP Charges, CSC Computer Sciences
nclews at csc dot com

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

Newsgroups: comp.os.vxworks
Subject: Re: help needed
Date: 22 Jan 2003 12:53:09 -0500
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <m2lm1drrzu.fsf@sympatico.ca>
References: <f03935ec.0301220930.7dbc9de4@posting.google.com>
Sender: bpringle@DeadDuck

 Raghavan> Iam doing my academic project in vxworks.I want to know how
 Raghavan> to write a device driver for a parallel port.can anyone
 Raghavan> suggest me what else can be done as a academic project.

I think that an ADC (analog to digital converter) would be much more
interesting.  I don't know if you have resources available to make
some hardware for you.  However, an ADC is much more valuable to an
embedded programmer (someone using vxWorks) than knowledge of a
parallel port.  Computer to computer communications (digital) can
often be done easily with other OS's.  I think that many applications
use some sort of ADC technology.  For instance, sensing temperature, a
touch screen, batter charging, display contrasts, testing acidity and
PH, etc.

An accelerometer might be an interesting device to look at as well.
The one I am familiar with uses a duty cycle modification to indicate
X/Y tilts.  This can be used for anti-lock braking, etc.

Both suggestions would be far more difficult than a parallel port.
However, they would have many of the challenges of how do you make the
interface work.  With digital communications, you just pass the data
along.  With an ADC (and many custom devices) there are many
questions.  How frequently do you read?  When does reading start? Do
you include a time with the value? Etc... often these questions will
depend on the application.

I would note that these devices/drivers are used in control systems.
If you dont' really like control systems, a parallel port, serial
driver, Ethernet driver, etc might be more interesting to you.  I
would think that a serial or Ethernet driver would be more "real
life".  In any case, it largely depends if you like embedded apps with
communications focus or control focus... Most real devices have a bit
of both.

fwiw,
Bill Pringlemeir.

- -- 
Serbian  president  UNSCOM  Cocaine  Mossad Honduras  IRA  kibo  Kh-11
AUTODIN Manfurov Noriega INSCOM threat beanpole

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

Newsgroups: comp.os.vxworks
Subject: Re: change tNetQueue size
Date: Wed, 22 Jan 2003 18:37:44 GMT
From: Jim <REMOVEjimdon@sympatico.caREMOVE>
Organization: Magma Communications Ltd.
Message-ID: <3E2EE4F7.20506@sympatico.caREMOVE>
References: <yTTV9.25006$j5.114241@news>

Wow-ah ...
Thanks for the response ...

I managed to get the Q a little bigger ... now I can better handle 
"short bursts of data" by making the ipqueue size a little bigger ... 
the routines to change this were simple ...

extern "C" void IPsetQMaxLen(int L) {
   struct ifqueue *inq = 0;
   inq = &ipintrq;
   inq->ifq_maxlen = L;
}

extern "C" void IPshowFwdQs() {
   struct ifqueue *inq = 0;
   inq = &ipintrq;

   printf("FWD LINK Q SIZE = %d\r\n", Q_SIZE);

   printf("TNET TASK Q %g % FULL (%d,%d)\r\n",
	 (inq->ifq_len*1.0)/inq->ifq_maxlen*100,
	 inq->ifq_len,
	 inq->ifq_maxlen);

}

Jim wrote:
> Hi how do I change the tNetTask Queue size without having tNetTask source?
> 
> Is it possible?
> 
> Jim
> 

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

Newsgroups: comp.os.vxworks
Subject: Re: Priority Inversion
Date: Wed, 22 Jan 2003 14:55:39 -0500
From: Keith Arner <karner@pit.comms.marconi.com>
Organization: Marconi
Message-ID: <Pine.GSO.4.42.0301221448180.351-100000@zimbra>
References: <a815538a.0212262206.78b24ec7@posting.google.com>
 <8400a733.0212270450.7c8b7d40@posting.google.com>
 <a815538a.0301200145.1eed04d1@posting.google.com>
Reply-To: Keith Arner <keith.arner@marconi.com>

On 20 Jan 2003, mjcse wrote:

>  Demrala, Bill, Rosenboim, Toni... & others who have
> spent a time in reading and responding to my question about
> priority invesion: Thanks a lot, that's all I could say.
> With all the inputs I got from you people, I could understand
> the concept and theory behind priority inversion. But I am
> still confused whether it is helpful to use in real time
> application. Or is there any side effects? Can you please
> tell me if it really helps in increasing overall performance
> in general? In that case I can use it VxWorks mutex semaphore.
> Waiting for your response,

As a general rule of thumb, all mutex semaphores should be made inversion
safe.  Also, all binary semaphores that are initialized to full should
instead be mutex semaphores (which should be made inversion safe).
If you follow these rules, the worst case run time of your critical
sections will tend to be lower than if your ignore these rules; and worst
case run time is what real time programming is all about.

Note that these rules are not absolutely set in stone.  Using inversion
safe mutex semaphores does increase the run time of the common case,
by comparison to using binary semaphores initialized to full.  However, if
you have the data to show that this overhead is the bottleneck in your
real time program, then you probably also have the data to show whether
you can safely get away without the inversion safety option.

When in doubt, err on the side of inversion safety.

Keith

- -- 
"One should not pursue goals that are easily achieved."
			- Albert Einstein, 1915

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

Newsgroups: comp.os.vxworks
Subject: SYM895 SCSI Driver problems...
Date: Wed, 22 Jan 2003 17:13:57 -0500
From: Fran Rayson <frr@ll.mit.edu>
Message-ID: <3E2F17A5.9EE0A391@ll.mit.edu>

I am running vxWorks on a dy4 Champ-AV II board. I have a Seagate Barracuda 180
drive
(a SCSI interface disc drive) which I need to access with this system. I have a
BVM PMC
ULTRA 2 SCSI CONTROLLER (PMCSCU2),an Enhanced Ultra2 SCSI PMC Module.  It uses
the
SYM53C895 SCSI Controller.  I have obtained the sym895 driver source code from
WindRiver
and have built the sym895 driver.

I have configured my vxWorks kernel such that it includes SCSI-2 capabilities
(INCLUDE_SCSI
and INCLUDE_SCSI2), also defining ULTRA2_SCSI and SCSI_WIDE_ENABLE.

The controller physically resides in a PMC slot on the board; access to it is
via a PCI bus.

I am having problems recognizing the drive and am not sure if the problem is
related to
HW, SW or both.  The controller appears to be created and initialized, yet it
hangs
when it tries to find the drive device.

I've verified that the drive is good and that the SCSI cable is terminated
properly.  Also,
a call to pciHeaderShow shows that the controller is recognized on the PCI bus.

My problem comes when I try to do a scsiPhysDevCreate()
I use the default parameters, with the exception of SCSI-ID=0, LUN=0.
             i.e. pSpd00=scsiPhysDevCreate(pSysScsiCtrl,0,0,0,-1,0,0,0)

        *** PROBLEM IS HERE -- never get beyond this ***
        This is the output I get when I set scsiDebug=1:
           0x274a390 (t1): scsiReqSense:
           0x274a390 (t1): scsi2Transact:
           0x27f84a8 (tScsiTask): scsiMgrRequestProc: client request: 0
           0x27f84a8 (tScsiTask): scsiMgrActivateRequest: thread 0x02739b08
           0x27f84a8 (tScsiTask): sym895ThreadActivate: thread 0x02739b08
activating
           0x27f84a8 (tScsiTask): sym895XferParamsCvt:
                                  converted to: offset = 0, period = 0
                                  xferParams = 0, clockDivide = 87
           0x27f84a8 (tScsiTask): sym895ThreadStateSet: thread 0x02739b08 1 -> 6

           0x27f84a8 (tScsiTask): scsiMgrTimeoutProc:
                                  thread 0x02739b08 (state = 6) timed out
           0x27f84a8 (tScsiTask): sym895ThreadAbort:
                                  thread 0x02739b08 (state = 6) aborting
           0x27f84a8 (tScsiTask): sym895ThreadStateSet: thread 0x02739b08 6 -> 9

Has anyone come across similar issues or does anyone have any useful suggestions
?

Thanks

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

Newsgroups: comp.os.vxworks
Subject: The role of dcacheDevCreate function in device driver
Date: 23 Jan 2003 01:04:50 -0800
From: slnshits@stx.kollmorgen.com (Sagi Linshits)
Organization: http://groups.google.com/
Message-ID: <2fbe47b0.0301230104.5351601b@posting.google.com>

We wrote device driver for flash AM29LV160DT and when I want to create
new file
(by using open or creat) function it sometimes failed. For example one
time succeed and another time failed. (It happenes only if created new
file) I see that it's depends on the size of cache that created by
dcacheDevCreate function,
for example if I increase size of cache it changed the number of
succed times. So now it 3 times succeded and one time failed. Can
somebody answer me to understande more about dcacheDevCreate function
and what must be optimal size of cache in which everytime will be
succeed without fail.

Thanks

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Thu Jan 23 06:37:02 2003
From: Mike McCullough <mike@mccengineering.com>
Date: Thu Jan 23 06:37:03 PST 2003
Subject: VxWorks UDP Communication

--=====================_5922781==_.ALT
Content-Type: text/plain; charset="us-ascii"; format=flowed

I've got a customer with a UDP file transfer application. They have WDB 
included and are seeing some interesting behavior. Any time they have 
0x4321 in the last 16 bytes of a fragment, their application misses the 
fragment and they get an incomplete file transfer. They do see a task 
transition to the WDB Task on Windview when this happens.

This problem doesn't occur with a TCP version so it does appear to be 
related to using the WDB. I was wondering if anyone could explain the use 
of 0x4321 in the WDB protocol (if there is one)? I'd check it myself but I 
don't have source for WDB and it could take days for an answer from Wind 
support.

**********************************************************
Mike McCullough                    MCC Systems, Inc.
President and CEO                  9 Cheshire Court
                                    Londonderry, NH 03053

mike@mccengineering.com            Tel:  603-537-9593
                                    Fax:  603-434-9890
www.mccengineering.com             Cell: 603-247-1219

**********************************************************
        24x7 VxWorks Support  Custom Support Programs
          VxWorks Training   Embedded Consulting Services
                     A WindLink Partner
**********************************************************
--=====================_5922781==_.ALT
Content-Type: text/html; charset="us-ascii"

<html>
I've got a customer with a UDP file transfer application. They have WDB
included and are seeing some interesting behavior. Any time they have
0x4321 in the last 16 bytes of a fragment, their application misses the
fragment and they get an incomplete file transfer. They do see a task
transition to the WDB Task on Windview when this happens. <br><br>
This problem doesn't occur with a TCP version so it does appear to be
related to using the WDB. I was wondering if anyone could explain the use
of 0x4321 in the WDB protocol (if there is one)? I'd check it myself but
I don't have source for WDB and it could take days for an answer from
Wind support.<br><br>
<br>
<x-sigsep><p></x-sigsep>
**********************************************************<br>
Mike
McCullough&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
MCC Systems,
Inc.<x-tab>&nbsp;&nbsp;&nbsp;&nbsp;</x-tab><x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab><x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab><br>
President and
CEO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
9 Cheshire Court<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Londonderry, NH 03053<br><br>
mike@mccengineering.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Tel:&nbsp; 603-537-9593<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Fax:&nbsp; 603-434-9890<br>
<u><a href="http://www.mccengineering.com/" eudora="autourl">www.mccengineering.com</a></u><x-tab>&nbsp;&nbsp;</x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Cell: 603-247-1219<br><br>
**********************************************************<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 24x7 VxWorks Support&nbsp; Custom
Support Programs<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VxWorks
Training&nbsp;&nbsp; Embedded Consulting Services<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
A WindLink Partner<br>
**********************************************************</html>

--=====================_5922781==_.ALT--

From vxwexplo-errs@csg.lbl.gov  Fri Jan 24 04:03:36 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Fri Jan 24 04:03:38 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Fri Jan 24 04:03:26 PST 2003

        Subject: Re: VxWorks UDP Communication
        Subject: Re: help needed
        Subject: Backend Controllers, .dll files
        Subject: Building a C++ archive lib?
        Subject: Re: Compiling assembly inside Tornado
        Subject: How to use custom device model with VxSim
        Subject: Re: netJobRing overflow!!!
        Subject: Re: SystemC on VxWorks !

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

Newsgroups: comp.os.vxworks
Subject: Re: VxWorks UDP Communication
Date: Thu, 23 Jan 2003 10:30:08 -0500
From: Varndell Engineering <gvarndell@hotmail.com>
Organization: Newsfeeds.com http://www.newsfeeds.com 100,000+ UNCENSORED Newsgroups.
Message-ID: <ag203vo922jn6mcoldkre75mo4oel15sfr@4ax.com>
References: <5.1.0.14.2.20030123093003.00b92e10@pop3.ttlc.net>

On Thu, 23 Jan 2003 09:37:09 -0500, Mike McCullough
<mike@mccengineering.com> wrote:
>
>I've got a customer with a UDP file transfer application. They have WDB 
>included and are seeing some interesting behavior. Any time they have 
>0x4321 in the last 16 bytes of a fragment, their application misses the 
>fragment and they get an incomplete file transfer. They do see a task 
>transition to the WDB Task on Windview when this happens.
>
>This problem doesn't occur with a TCP version so it does appear to be 
>related to using the WDB. I was wondering if anyone could explain the use 
>of 0x4321 in the WDB protocol (if there is one)? I'd check it myself but I 
>don't have source for WDB and it could take days for an answer from Wind 
>support.

From wdb.h....

/* session information */

#define WDBPORT (u_short)	0x4321	/* UDP port to connect */

Regards,
George Varndell

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

Newsgroups: comp.os.vxworks
Subject: Re: help needed
Date: 23 Jan 2003 08:40:53 -0800
From: raghav_chari@yahoo.com (raghavan)
Organization: http://groups.google.com/
Message-ID: <f03935ec.0301230840.15e69aa0@posting.google.com>
References: <f03935ec.0301220930.7dbc9de4@posting.google.com> <m2lm1drrzu.fsf@sympatico.ca>

Bill Pringlemeir <spam_account@sympatico.ca> wrote in message news:<m2lm1drrzu.fsf@sympatico.ca>...
> Raghavan> Iam doing my academic project in vxworks.I want to know how
>  Raghavan> to write a device driver for a parallel port.can anyone
>  Raghavan> suggest me what else can be done as a academic project.
> 
> I think that an ADC (analog to digital converter) would be much more
> interesting.  I don't know if you have resources available to make
> some hardware for you.  However, an ADC is much more valuable to an
> embedded programmer (someone using vxWorks) than knowledge of a
> parallel port.  Computer to computer communications (digital) can
> often be done easily with other OS's.  I think that many applications
> use some sort of ADC technology.  For instance, sensing temperature, a
> touch screen, batter charging, display contrasts, testing acidity and
> PH, etc.
> 
> An accelerometer might be an interesting device to look at as well.
> The one I am familiar with uses a duty cycle modification to indicate
> X/Y tilts.  This can be used for anti-lock braking, etc.
> 
> Both suggestions would be far more difficult than a parallel port.
> However, they would have many of the challenges of how do you make the
> interface work.  With digital communications, you just pass the data
> along.  With an ADC (and many custom devices) there are many
> questions.  How frequently do you read?  When does reading start? Do
> you include a time with the value? Etc... often these questions will
> depend on the application.
> 
> I would note that these devices/drivers are used in control systems.
> If you dont' really like control systems, a parallel port, serial
> driver, Ethernet driver, etc might be more interesting to you.  I
> would think that a serial or Ethernet driver would be more "real
> life".  In any case, it largely depends if you like embedded apps with
> communications focus or control focus... Most real devices have a bit
> of both.
> 
> fwiw,
> Bill Pringlemeir.

Sir,
Thanks for replying to my query . Iam a Computer science student and I 

don't know anything about electronics and it's hardware . I just write 

the code as a downloadable application . The target environment is 

graphically represented in  visual basic . The input are given in 

visual basic through buttons . These input values are written to files 

which is then read in vxworks using I/O file operations.

Thanks
- --Raghavan.V.

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

Newsgroups: comp.os.vxworks
Subject: Backend Controllers, .dll files
Date: Thu, 23 Jan 2003 10:47:25 -0800
From: Lynn Graham <rlgraham@lsil.com>
Organization: LSI Logic Corporation
Message-ID: <3E3038BD.91489630@lsil.com>

Hi all,
I am developing a new backend to utilize Tornado over JTAG for my
companies custom chip set. 
In order to control my JTAG controller, I must use the OEM supplied .dll
file, let's call it OEM_Jtag.dll. In standalone code, I can fully
operate the JTAG controller with ease but my goal is to operate the JTAG
controller with the Tornado Target Server Backend Interface. 

I have been successful at creating the mybackend.dll file for my custom
backend controller and having it acknowledge commands from the target
server. I am using the wpwrLog functions located in the libwpwr.lib and
libwpwr.dll to monitor code execution. The catch, is that this works as
long as no functions are called that pull in the OEM_Jtag.dll. 

If the code is compiled with any line that would invoke any function
located within OEM_Jtag.dll, then I get an execution failure because the
program is searching for a function in OEM_Jtag.dll which actually exist
in libwpwr.dll. 

If I try to change the link order so that libwpwr.lib is linked first,
then I get link failure due to "multiple definition of
"_NULL_IMPORT_DESCRIPTOR". 

How do I get the right .dll library to be used for a particular
function? 

Thanks in advance
Lynn

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

Newsgroups: comp.os.vxworks
Subject: Building a C++ archive lib?
Date: 23 Jan 2003 13:25:37 -0800
From: rwinstanley@northropgrumman.com (Roger)
Organization: http://groups.google.com/
Message-ID: <b80508c4.0301231325.46b12d87@posting.google.com>

How can I build a C++ archive lib for vxWorks that can be linked with
the final program.  I am having problems with how the munching is done
I think?

Thanks,

Roger Winstanley

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

Newsgroups: comp.os.vxworks
Subject: Re: Compiling assembly inside Tornado
Date: Thu, 23 Jan 2003 17:02:13 -0800
From: "Jimbob" <jamesmh@excite.com>
Message-ID: <b0q35j$sf6ld$1@ID-173270.news.dfncis.de>
References: <1d1f92de.0301231535.28ef5cf5@posting.google.com>

> I have a Tornado project that currently contains all C code and have
> the need to add a file that contains 1 MIPS assembly function to the
> project.  When I add the file and try and compile it, I get errors
> indicating that the assembler opcodes are not understood.  The
> assembly function is very short, contains no macros, and uses no
> #defined values.  Here is the build window output:
>
>
////////////////////////////////////////////////////////////////////////////
/
> ccmips -g -EB -mcpu=r3000 -non_shared -G 0 -ansi -pedantic -nostdinc
> -funroll-loops -fno-f
> or-scope -fno-builtin -P -x assembler-with-cpp -I.
> -IC:\Tornado\target\h -DCPU=R3000 -c C:
> \ED14\UPA_Development\Application\edac_test.s -o edac_test.o
> C:\TEMP\cca00169.s: Assembler messages:
> C:\TEMP\cca00169.s:16: Error: ERROR: Illegal operands `lui'
> C:\TEMP\cca00169.s:17: Error: ERROR: Illegal operands `ori'
> C:\TEMP\cca00169.s:18: Error: ERROR: Illegal operands `lui'
> C:\TEMP\cca00169.s:19: Error: ERROR: Illegal operands `lw'
> C:\TEMP\cca00169.s:21: Error: ERROR: Illegal operands `or'
> C:\TEMP\cca00169.s:22: Error: ERROR: Illegal operands `sw'
> C:\TEMP\cca00169.s:26: Error: ERROR: Illegal operands `lui'
> C:\TEMP\cca00169.s:27: Error: ERROR: Illegal operands `ori'
> C:\TEMP\cca00169.s:28: Error: ERROR: Illegal operands `sw'
> C:\TEMP\cca00169.s:32: Error: ERROR: Illegal operands `sw'
> C:\TEMP\cca00169.s:36: Error: ERROR: Illegal operands `not'
> C:\TEMP\cca00169.s:37: Error: ERROR: Illegal operands `and'
> C:\TEMP\cca00169.s:38: Error: ERROR: Illegal operands `sw'
> ccmips: Internal compiler error: program as got fatal signal 1
> make: *** [edac_test.o] Error 0x1
> ////////////////////////////////////////////////////////////////////////
>
> Is there a standard include file or #define that I need to tell the
> compiler that this is an assembly file and what the target
> architecture is?  From the build output I see the switch -x
> assembler-with-cpp and -DCPU=R3000 -- what else do I need in order to
> compile this file?

What does your asm look like in your code?
Like this . .. ?

    asm("align 4");
    asm("add_loop:");

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

Newsgroups: comp.os.vxworks
Subject: How to use custom device model with VxSim
Date: 22 Jan 2003 01:59:05 -0800
From: anandv79@rediffmail.com (anand)
Organization: http://groups.google.com/
Message-ID: <57e0c4f4.0301220159.12239e40@posting.google.com>

Hi All,
     We are writing drivers for some hardware devices whose C++ model
we have.
Now we want to test our drivers thru VxSim.
I have a few queries regarding this: 
 1. How to integrate the C++ implementation of hardware with VxSim ?
 2. Can we specify different characteristics for different memory area
being used by VxSim ?
 3. Is it possible to simulate target hardware, and evaluate BSP over
this using VxSim ?

Any help regarding this is greatly appreciated.

Thanks in advance,
Anand

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

Newsgroups: comp.os.vxworks
Subject: Re: netJobRing overflow!!!
Date: 23 Jan 2003 21:30:45 -0800
From: mjcse@rediffmail.com (mjcse)
Organization: http://groups.google.com/
Message-ID: <a815538a.0301232130.66fa4a1b@posting.google.com>
References: <b3753345.0301200728.2495ae02@posting.google.com>

Hi Arun,
 I am also facing the similar problem. Please if you
find the solution by now, post it please. 

Thanks & Regards,
shafi

arunkumar_r@rediffmail.com (Arun Kumar) wrote in message news:<b3753345.0301200728.2495ae02@posting.google.com>...
> Hi,
> 
> I am trying to download vxWorks image onto the target using ftp but i
> am getting the error message "panic: netTask : netJobRing overflow".
> 
> I am using Tornado 2.2/VxWorks 5.5 on an ARM Integrator AP board which
> uses ARM920T core module.
> 
> The error message is:
> 
> Attached TCP/IP interface to fei0
> Attaching network interface lo0...done
> Loading...490176
> 0x7968b4(tNetTask): panic: netTask: netJobRing overflow!
> 
> I would be really grateful if someone could give a suggestion to this
> problem.
> 
> Thanx,
> Arun

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

Newsgroups: comp.os.vxworks
Subject: Re: SystemC on VxWorks !
Date: 24 Jan 2003 02:15:10 -0800
From: anandv79@rediffmail.com (anand)
Organization: http://groups.google.com/
Message-ID: <57e0c4f4.0301240215.30145d4@posting.google.com>
References: <57e0c4f4.0301220509.2828e7ef@posting.google.com> <3e2ffee1$0$19951$44c9b20d@news3.asahi-net.or.jp>

"Girish Gulawani" <girishvgNOSPAM@yahoo.com> wrote in message news:<3e2ffee1$0$19951$44c9b20d@news3.asahi-net.or.jp>...
> just out of curiosity, why are you running system-c on vxworks platform. i
> heard it's actually vxworks that should be running on system-c executables.
> 
> "anand" <anandv79@rediffmail.com> wrote in message
> news:57e0c4f4.0301220509.2828e7ef@posting.google.com...
> > Hello All,
> >    I wanted to know if anybody has tried compiling SystemC src on
> > VxWorks. I tried it - but got stuck up as 'qt' libraries are not
> > visible. Any pointers regarding this are greatly appreciated.
> >
> > Thanks in advance,
> > Anand

Hi,
  The purpose is hw/sw co-verification...so both approaches may be
applicable...but in both of these, the issue of clock synchronization
remains the same (i.e how to synchronize between the simulated
processor clock and simulated hardware clock ?). To this end, is there
any approach for co-verification that may work under VxWorks ?

Any pointers as regards this are greatly appreciated.

Thanks in advance,
Anand

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Sat Jan 25 04:03:25 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sat Jan 25 04:03:27 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Sat Jan 25 04:03:22 PST 2003

        Subject: Re: vxWorks- booting
        Subject: Select in sioLib/tyLib
        Subject: Linking Problem (MIPS, T2.2, Green 6.5.3).
        Subject: Re: ioDefPathGet & ioDefPathSet
        Subject: Re: cc386: Internal compiler error: program cc1 got fatal signal 5..
        Subject: Re: problems with sysMmuMapAdd()
        Subject: Re: Floating Point multiplication problem.
        Subject: Re: How to modify BSP used by VxSim ?
        Subject: Re: Compiling assembly inside Tornado
        Subject: Re: Compiling assembly inside Tornado

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

Newsgroups: comp.os.vxworks
Subject: Re: vxWorks- booting
Date: 24 Jan 2003 04:55:23 -0800
From: biju080@yahoo.com (biju k)
Organization: http://groups.google.com/
Message-ID: <eb8c6529.0301240455.72910987@posting.google.com>
References: <2b535510.0301190344.381eb2fb@posting.google.com>

p_san_gita@yahoo.com (Sangita.P) wrote in message news:<2b535510.0301190344.381eb2fb@posting.google.com>...
> hye all,
> 
> i have a problem ,when i yam trying to build a vxWorks image with the
> bootable project  i yam not able to the vxworks.st build along with
> the vxWorks.exe.It just remains the default one.
> Is there anything i need to modify such that i can VxWorks.st image
> also along with my vxWorks.exe
> 
> With regards,
> P.Sangita.

hi,
   i guess u r trying for standalone  system which gets booted from ur
floppy
if thats what u want ( i guess so since ur BSP is pentium , so ur
target has to be a PC ) , do let me know networking card u use for
target,oh u r not able to buil itself,try CLEANING the earlier build ,
and then build the vxworks and not vxworks.st.

if i am thinking in the right direction is what u want do let me know.

Best of Luck

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

Newsgroups: comp.os.vxworks
Subject: Select in sioLib/tyLib
Date: Fri, 24 Jan 2003 13:50:56 -0000
From: "p" <not@home.now>
Organization: ?
Message-ID: <1043416257.963020@ernani.logica.co.uk>

Hopefully a quick and easy question...

What does 'writeable' mean when select() is release by an SIO
device driver?

Does is mean:

 - there is at least 1 byte free in the Tx buffer
 - the Tx buffer is now empty
 - the Tx buffer has reach some kind of low watermark

Cheers.

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

Newsgroups: comp.os.vxworks
Subject: Linking Problem (MIPS, T2.2, Green 6.5.3).
Date: Fri, 24 Jan 2003 23:23:20 +0900
From: "Girish Gulawani" <girishvgNOSPAM@yahoo.com>
Message-ID: <3e314bcc$0$19953$44c9b20d@news3.asahi-net.or.jp>

Hi, All.
I'm trying to use Green Hills 6.5.3 tools to compile Tornado 2.2 sources.
I'm trying to build vxWorks.res_rom_nosym. All the sources (*.c, *.s) are
compiled & the partial/pre-linking is OK. Relocatable objects
(usrConfig.o -> ctmp.o) are created. The final link is also OK.
 ...
 usrKernelInit() --> jal <usrKernelInit> --> Correctly resolved & linked.
 ...
 kernelInit((FUNCPTR) usrRoot, ...) --> Wrong &(usrRoot) passed
 ...
For the call kernelInit() the parameter register (a0) is loaded with a wrong
value. Please note that, during the partial linking, the intermediate object
files (usrConfig.o, ctmp.o) contain correct offsets. During final linking
the link editor seems to put incorrect address values in parameter register.
There's no warning, error or message from Linker. Below is a cut-paste of
build log & objdumpmips output. Please observe that ctmp.o has correct
offset 0x1C4 for the usrRoot function pointer. However in the VxWorks image
dump followed doesn't have correct address of usrRoot.
Any help in this regard will be greatly appreciated.
Thanks in advance.
Girish.

- ---
make vxWorks.res_rom_nosym
...
elxr -map -o vxWorks.res_rom_nosym   -e romInit \
    -T./rom_resi_low.ld romInit_res.o bootInit_res.o ctmp.o ctdt.o
true  vxWorks.res_rom_nosym
- ---
ctmp.o:     file format elf32-bigmips
...
     18c: 3c040000  lui $a0,0x0     <--- Upper address bits
     190: 248401c4  addiu $a0,$a0,452 <--- Offset usrRoot (correct)
     194: 3c060000  lui $a2,0x0
     198: 24c60000  addiu $a2,$a2,0
     19c: 00603825  move $a3,$v1
     1a0: 34054e20  li $a1,0x4e20
     1a4: 0c000000  jal 0 <usrKernelInit>
     1a8: 00000000  nop
...
00000000000001c4 <usrRoot>:
     1c4: 27bdffa0  addiu $sp,$sp,-96
...
- ---
vxWorks.res_rom_nosym:     file format elf32-bigmips
...
ffffffffbfc0106c: 3c04bfc0  lui $a0,0xbfc0   <--- Upper address bits
ffffffffbfc01070: 24841268  addiu $a0,$a0,4712 <--- Offset != 0x10A4
ffffffffbfc01074: 3c060000  lui $a2,0x0
ffffffffbfc01078: 24c61bd0  addiu $a2,$a2,7120
ffffffffbfc0107c: 00603825  move $a3,$v1
ffffffffbfc01080: 34054e20  li $a1,0x4e20
ffffffffbfc01084: 0ff0bad8  jal ffffffffbfc2eb60 <kernelInit>
ffffffffbfc01088: 00000000  nop
...
ffffffffbfc010a4 <usrRoot>:
ffffffffbfc010a4: 27bdffa0  addiu $sp,$sp,-96
...
- ---

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

Newsgroups: comp.os.vxworks
Subject: Re: ioDefPathGet & ioDefPathSet
Date: Fri, 24 Jan 2003 16:31:50 +0200
From: "Vassilis Panagiotopoulos" <bpan@intracom.gr>
Organization: Intracom S.A., GREECE
Message-ID: <b0rj2n$spd$1@newsserv.intranet.gr>
References: <63c835dd.0301230937.39fa5082@posting.google.com>

There is sufficient documentation I think in the online help (ioLib).
You must provide the right parameter, anyway.

"Sergiohdezm" <sergiohdezm@terra.es> wrote in message
news:63c835dd.0301230937.39fa5082@posting.google.com...
> Hi, I'm working with vxWorks and I have a problem. When I use the
> ioDefPathGet function in the shell, it returns a null string. I have a
> program that loads a program in a DSP, but it not finds the path of
> the file. Can someone explains me how to use the ioDefPathSet
> instruction? Thanks.

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

Newsgroups: comp.os.vxworks
Subject: Re: cc386: Internal compiler error: program cc1 got fatal signal 5..
Date: Fri, 24 Jan 2003 16:45:05 +0200
From: "Vassilis Panagiotopoulos" <bpan@intracom.gr>
Organization: Intracom S.A., GREECE
Message-ID: <b0rjri$t01$1@newsserv.intranet.gr>
References: <bb8c75e1.0301230633.2c773b3b@posting.google.com>

I've encountered this kind of problem, too. Then I noticed that exactly the
same source with exactly the same tools compiled
just fine on another machine! The only difference between the two PCs was
the installed memory (128M vs 96MB). After
upgrading system memory, I can use at least optimization level 1, but still
facing the same problem with higher levels.
Among other possible reasons, check your system resources.

"Vijay Peshkar" <vijay.peshkar@wipro.com> wrote in message
news:bb8c75e1.0301230633.2c773b3b@posting.google.com...
> Hi,
>
> On compiling a file singly or building as part of a project,
> the compilation stops with a popup window displaying
> "cc1.exe has generated errors and will be closed by Windows.
> You will need to restart the program".
> The build/compilation terminates with message:
> cc386: Internal compiler error: program cc1 got fatal signal 5
> make: *** [rtpMPEGLib.o] Error 0x1
>
> Going thru the group found that few people had suggested it may be
> due to big buffer sizes which have now made very small(from 2MB to
> 80 bytes!!). Still the problem persists. Couldn't find the patch
> either on wrs site.
>
> Would be great if you could give any pointers on what
> I am be missing here...
>
> Have Tornado 2.0....X86 target on windows host.
>
> Thanks and Regards,
> Vijay

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

Newsgroups: comp.os.vxworks
Subject: Re: problems with sysMmuMapAdd()
Date: Fri, 24 Jan 2003 17:16:17 +0100
From: "Fabio Garufi" <fgarufi@elesia.it>
Organization: MC-link S.p.A.
Message-ID: <b0rosi$30sv$1@newsreader1.mclink.it>
References: <b0gm5q$9tj$1@newsreader1.mclink.it>

Hi all,
    thanks for the efforts. I solved the problem, and apparently it was a
mere programming error ;-)
I wrote:
[...]
if
(sysMmuMapAdd((void*)&bar[i],0x10000,VM_STATE_MASK_FOR_ALL,VM_STATE_FOR_PCI)
    == ERROR)

While it should have been:
[...]
if (sysMmuMapAdd((void *)mem[i],size,VM_STATE_MASK_FOR_ALL,VM_STATE_FOR_PCI)
    == ERROR)

Anyway if none of us could detect the error, it means it was hidden
enough...
Bye,
            Fabio

- --
- ------------------------------------------------------------------------
** Dr. Fabio Garufi
** Software Manager
**
** ELE.SI.A. S.r.l.
** ISO 9001 CERTIFIED
** Tel. +39.0774.3653.227 / Fax +39.0774.3653.300
** http://www.elesia.it
- ------------------------------------------------------------------------
"Fabio Garufi" <fgarufi@elesia.it> ha scritto nel messaggio
news:b0gm5q$9tj$1@newsreader1.mclink.it...
> Hi all,
>     I am trying to install a grabber PMC board on a Intel Pentium III cPCI
> (VMICPCI 7755) board under Tornado 2.0.2, VxWorks 5.4.2.
> The board is seen by the pciDeviceShow and pciHeaderShow functions: it
opens
> three memory prefetchable regions:
> 0xf4400000 64K wide
> 0xf4800000 4M
> 0xf44800000 512K
> The problem arises when I try to access this memory, I get a page fault
> whatever the window I try to access both in reading and writing.
>  modified the $(WIN_BASE)/target/config/vmicpci7755/sysLib.c by adding a
> function that adds the memory regions to MMU Map (see below). When I call
> the function from within sysHwInit() the system does not complete the boot
> and freezes, while if I call it from sysHwInit2() I do not obtain any
> change.
> Apparently it freezes on sysMmuMapAdd().
> Any help?
> Thanks all in advance.
>
> Here follows the function code:
> ==================================
> #ifdef INCLUDE_M503
>
> #define M503_VEND_ID xxxx
> #define M503_DEV_ID    yyyy
> STATUS  sysM503PciInit()
>  /* sysM503PciInit */
> {
>     UINT32 bar[6], mem[6], enc[6];
>     UINT size, mask;
>     int bus, dev, func, i;
>     UINT16 data;
>     for (i=0; i<6;i++)/* loop on units */
>     {
>      if(pciFindDevice (M503_VEND_ID, M503_DEV_ID, i, &bus, &dev, &func) !=
> OK)
>         break;
>                 /* get memory base address and IO base address */
>
>  pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_0,  &bar[i]);
>  pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1,  &mem[i]);
>  pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_2,  &enc[i]);
>  bar[i]   &= PCI_MEMBASE_MASK;
>  mem[i]   &= PCI_MEMBASE_MASK;
>  enc[i]   &= PCI_MEMBASE_MASK;
>   /* find out the memory space requirements of this BAR */
>
>     pciConfigOutLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1, 0xffffffff);
>     pciConfigInLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1,&mask);
>     size=~(mask&PCI_MEMBASE_MASK)+1;
>        /* restore original value */
>     pciConfigOutLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1, mem[i]);
>     /* Read back value, it could be changed */
>     pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1,  &mem[i]);
>  mem[i]   &=PCI_MEMBASE_MASK;
>
>  if (sysMmuMapAdd((void
> *)&bar[i],0x10000,VM_STATE_MASK_FOR_ALL,VM_STATE_FOR_PCI)
>     == ERROR)
>             break;
>      if (sysMmuMapAdd((void
> *)&mem[i],size,VM_STATE_MASK_FOR_ALL,VM_STATE_FOR_PCI)
>     == ERROR)
>             break;
>  pciConfigOutWord (bus, dev, func,
>      PCI_CFG_COMMAND, PCI_CMD_IO_ENABLE |
>      PCI_CMD_MEM_ENABLE | PCI_CMD_MASTER_ENABLE);
>  } /* end loop on units */
>  return (OK);
> }
> #endif /* INCLUDE_M503 */
>
> --
> ------------------------------------------------------------------------
> ** Dr. Fabio Garufi
> ** Software Manager
> **
> ** ELE.SI.A. S.r.l.
> ** ISO 9001 CERTIFIED
> ** Tel. +39.0774.3653.227 / Fax +39.0774.3653.300
> ** http://www.elesia.it
> ------------------------------------------------------------------------
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Floating Point multiplication problem.
Date: 24 Jan 2003 08:37:06 -0800
From: agraham@openglobe.net (Aaron Graham)
Organization: http://groups.google.com/
Message-ID: <95ebbe31.0301240837.2a52c3d@posting.google.com>
References: <a04ae1f7.0301090541.32d019f5@posting.google.com>

I found the following information in the GCC manual, in the "Known
Problems/Disappointments and Misunderstandings":

- -----clip-----
On 68000 and x86 systems, for instance, you can get paradoxical
results if you test the precise values of floating point numbers. For
example, you can find that a floating point value which is not a NaN
is not equal to itself. This results from the fact that the floating
point registers hold a few more bits of precision than fit in a double
in memory. Compiled code moves values between memory and floating
point registers at its convenience, and moving them into memory
truncates them.

You can partially avoid this problem by using the -ffloat-store option
(see Optimize Options).
- -----clip-----

Obviously, you can see if the FP is moved to memory and then back into
a register by looking at the disassembly.

Aaron

cristian291@virgilio.it (Cristian Brambilla) wrote in message news:<a04ae1f7.0301090541.32d019f5@posting.google.com>...
> Hi everybody!
> 
> Please, consider the following task:
> 
> void testMultiplication (void)
> {
> double		tempValue;
> float		floatValue;
> unsigned long	finalValue;
> 
> 
> 	floatValue = 108.1;
> 	tempValue = floatValue*20971520;
> 	finalValue = (unsigned long)(tempValue);
> 	finalValue>>=20;
> 	printf ("\ntempValue:	%20.18f %20.18g\n",tempValue,tempValue);
> 	printf ("\nfinalValue:	%X\n",finalValue);
> 
> 	floatValue = 108.1;
> 	tempValue = floatValue*20971520.0;
> 	finalValue = (unsigned long)(tempValue);
> 	finalValue>>=20;
> 	printf ("\ntempValue:	%20.18f %20.18g\n",tempValue,tempValue);
> 	printf ("\nfinalValue:	%X\n",finalValue);
> }
> 
> I have executed this task upon a FORCE board, using Motorola 68060
> architecture. The output obtained is:
> 
> tempValue:      2267021312.000000000000000000 
> 2267021312.000000000000000000
> finalValue:     872
> 
> tempValue:      2267021280.000000000000000000 
> 2267021280.000000000000000000
> finalValue:     871
> 
> 
> The correct computation is the first one. By simply changing the
> constant value 20971520 into 20971520.0, I got a wrong result.
> Can you help me???????
> 
> Thanks in advance.

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

Newsgroups: comp.os.vxworks
Subject: Re: How to modify BSP used by VxSim ?
Date: Sat, 25 Jan 2003 03:02:18 +0900
From: "Girish Gulawani" <girishvgNOSPAM@yahoo.com>
Message-ID: <3e317f1e$0$19948$44c9b20d@news3.asahi-net.or.jp>
References: <57e0c4f4.0301240153.34ae32d4@posting.google.com>

i guess it's much complex than that. i am sure you know that the vxsim is
vxworks simulator. it works just as another process on a host. vxsim bsp as
such can be considered as a bsp for the host cpu. it follows more or less
same bsp design. if you are expecting some kind of *memory* access it would
be just using whatever is known to vxsim as a process. in other words no
special hw features attached to it. afaik, it hardly concerns vxsim bsp as
such. it's just another vxworks multitasking specifications you are talking
about. you require to interface vxsim with the memory simulators. what
people generally use is some fancy & costly tools. they either already have
vxsim support build into them or they have interfaces over the usual bsd
sockets so that you can write kind of RPC mechanism built on it. here i
refer to your prev. question of integrating system-c with vxsim, this is one
such option. in that case you'd build entire memory system in vxsim as user
task(s). whose specs are written in system-c. this mem modeler task can
export an interface of the byte, dowrd, dword read/write access. this
interface you can access from your memory Read and Write functions in
software apps. i have never done system-c inside vxsim. however we normally
use hw model accessing libraries either those already supplied with tools or
our own inhouse developed interfaces. if you say you'd have to begin with
integrating system-c inside vxsim & then write memory models, which will be
used by your software tasks then i suppose you know you have long way to
go...
please keep this group posted. it will be good to see such discussions, sure
it'll interest many.

"anand" <anandv79@rediffmail.com> wrote in message
news:57e0c4f4.0301240153.34ae32d4@posting.google.com...
> Hello All,
>        Has anybody tried changing the BSP used by VxSim.
> Basically i am trying, some memory area to behave differently. To
> accomplish this, i have written a simple C program with two functions
> 'Read and Write'. Now i wud have to plug in this code to the BSP
> (something that wud be done if real hardware was there), and then
> re-compile the VxSim.
>
> Has anybody tried this before ?
>
> Thanks in advance,
> Anand

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

Newsgroups: comp.os.vxworks
Subject: Re: Compiling assembly inside Tornado
Date: Fri, 24 Jan 2003 14:05:11 -0500
From: david lindauer <dlindauer@notifier-is.net>
Message-ID: <3E318E66.494E28C7@notifier-is.net>
References: <1d1f92de.0301231535.28ef5cf5@posting.google.com> <b0q35j$sf6ld$1@ID-173270.news.dfncis.de> <1d1f92de.0301240944.180e35df@posting.google.com>

I've never done this... but it looks like if you right click on the file
in the target window, then select property page, you get several tabs.
Select the one that says 'build', then unclick 'use default build rule for
this file', then type in the command line required to assemble the file in
the large text box.  I suspect that will get you what you want, although
like I say I have never explicitly done this.

David

David wrote:

> The file I'm attempting to "compile" is all assembly.  I don't use the
> asm("") calls from C, the file is completely assembly much like the
> romInit.s file in any BSP.  I've been able to compile the file if I
> add it to our "bare" Tornado project that only contains the BSP files.
>  Whenever I add the file to the Tornado project that contains our
> applicaiton code (all written in C), the build fails with the error
> messages I gave earlier.  The question is simply how do you take a
> file that contains a function written completely in assembly and add
> it to a Tornado project and successfully compile the file.

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

Newsgroups: comp.os.vxworks
Subject: Re: Compiling assembly inside Tornado
Date: Sat, 25 Jan 2003 04:12:42 +0900
From: "Girish Gulawani" <girishvgNOSPAM@yahoo.com>
Message-ID: <3e318f9f$0$19959$44c9b20d@news3.asahi-net.or.jp>
References: <1d1f92de.0301231535.28ef5cf5@posting.google.com> <b0q35j$sf6ld$1@ID-173270.news.dfncis.de> <1d1f92de.0301240944.180e35df@posting.google.com>

just wanted to know if you have
#define _ASMLANGUAGE
on the top.

"David" <david.w.hyde@nasa.gov> wrote in message
news:1d1f92de.0301240944.180e35df@posting.google.com...
> The file I'm attempting to "compile" is all assembly.  I don't use the
> asm("") calls from C, the file is completely assembly much like the
> romInit.s file in any BSP.  I've been able to compile the file if I
> add it to our "bare" Tornado project that only contains the BSP files.
>  Whenever I add the file to the Tornado project that contains our
> applicaiton code (all written in C), the build fails with the error
> messages I gave earlier.  The question is simply how do you take a
> file that contains a function written completely in assembly and add
> it to a Tornado project and successfully compile the file.

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Sun Jan 26 04:03:13 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sun Jan 26 04:03:14 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Sun Jan 26 04:03:11 PST 2003

        Subject: Re: problems with memory pool management with netBufLib
        Subject: Re: change tNetQueue size
        Subject: Re: change tNetQueue size
        Subject: Re: The role of dcacheDevCreate function in device driver
        Subject: Re: The role of dcacheDevCreate function in device driver
        Subject: Re: DosFs long name

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

Newsgroups: comp.os.vxworks
Subject: Re: problems with memory pool management with netBufLib
Date: 18 Jan 2003 03:46:11 -0800
From: gonozal@gmx.at (Toni Kurzberger)
Organization: http://groups.google.com/
Message-ID: <8400a733.0301180346.4cbb269@posting.google.com>
References: <e9720ff6.0301171741.672cfff5@posting.google.com>

lliao@opvista.com (Liang) wrote in message news:<e9720ff6.0301171741.672cfff5@posting.google.com>...
> Can anyone tell me if there's anything wrong with the code below.  I
> am getting
> "motSend: ERROR - pClBlk == NULL.\n" and "motSend: ERROR - pCl ==
> NULL.\n" occasionally.	(Should I allocate more blocks of memory in the
> motInitMem function?)  Thank you so much.

I have not looked at the code yet (because I don't expect the problem
to be only in this pice of code)... but you might want to check
whether you're loosing/leaking buffers somewhere. Try this pice of
code while running into the problem and compare the results, it will
show the ressource status of your end pool.

IMPORT void netPoolShow (NET_POOL_ID pNetPool);
void endPoolShow(char *dev, int unit)
{
  END_OBJ * pEnd;
  if ((pEnd = endFindByName (dev, unit)) != NULL)
    netPoolShow (pEnd->pNetPool);
  else
    printf ("Could not find device %s\n", dev);
  return;
}

toni

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

Newsgroups: comp.os.vxworks
Subject: Re: change tNetQueue size
Date: 18 Jan 2003 03:49:37 -0800
From: gonozal@gmx.at (Toni Kurzberger)
Organization: http://groups.google.com/
Message-ID: <8400a733.0301180349.5a91a63@posting.google.com>
References: <yTTV9.25006$j5.114241@news>

Jim <REMOVEjimdon@sympatico.caREMOVE> wrote in message news:<yTTV9.25006$j5.114241@news>...
> Hi how do I change the tNetTask Queue size without having tNetTask source?
> 
> Is it possible?
> 
> Jim

on VxWorks 5.4.2 there is no "clean" way of doing this w/o source
code... there is not even a suitable hack for this (the size is a
macro... the RING_ID is local).

contact WRS support, they might be able to help you here,
  toni

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

Newsgroups: comp.os.vxworks
Subject: Re: change tNetQueue size
Date: Sat, 18 Jan 2003 13:36:09 GMT
From: "Dave Schmidt" <dave@wrxrite.com>
Organization: WrxRite.com
Message-ID: <dLcW9.35811$kH3.4933@sccrnsc03>
References: <yTTV9.25006$j5.114241@news>

Jim,

You don't say why you want / need  to change the size.

Most likely cause, from my experience, of why someone would want to change
the size of the queue is beacuse there is some user task of a higher
priority / ISR occuring that is taking up a lot of CPU time.  Im my
experience, user tasks should not have a higher priority than tNetTask.

(Remember the lower the priority number, the higher the overall system
priority)

Overall, determining what the priorities should be for the tasks in your
system is an educated guess.  Rules of thumb I use are:

1) Never make a user task have a priority higher than or equal to tNetTask.
2) Arrange priorities according to overall system loading, i.e give the most
critical / most used interface the higher priority
3) Arrange priorites to account for hardware bottlenecks, bursty input data
/ etc.

Determining priorites is an art, not a science.  Using WindView can help in
determining where your code is spending the majority of its time, and thus
allow you to tweek the priorities accordingly.

Dave Schmidt
www.wrxrite.com

"Jim" <REMOVEjimdon@sympatico.caREMOVE> wrote in message
news:yTTV9.25006$j5.114241@news...
> Hi how do I change the tNetTask Queue size without having tNetTask source?
>
> Is it possible?
>
> Jim
>

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

Newsgroups: comp.os.vxworks
Subject: Re: The role of dcacheDevCreate function in device driver
Date: Sun, 26 Jan 2003 11:00:55 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$j4db9h$y01$1@lnews.actcom.co.il>
References: <2fbe47b0.0301230104.5351601b@posting.google.com>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

Sagi,

when there is a mechaical hard disk involved, the role of dcache (i.e. disk
cache)
is to optimize disk access, reduce the number of times the disk head needs
to
move, and improve overall performance of the file system.

When a Flash device is used instead of a hard disk, there is really not much
that disk cache can do to optimize performance, and my opinion is it should
not be used at all in sutations where Flash storage is concerned.

There is a description of disk cache int he DosFs 2.0 documentation.

- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

"Sagi Linshits" <slnshits@stx.kollmorgen.com> wrote in message
news:2fbe47b0.0301230104.5351601b@posting.google.com...
> We wrote device driver for flash AM29LV160DT and when I want to create
> new file
> (by using open or creat) function it sometimes failed. For example one
> time succeed and another time failed. (It happenes only if created new
> file) I see that it's depends on the size of cache that created by
> dcacheDevCreate function,
> for example if I increase size of cache it changed the number of
> succed times. So now it 3 times succeded and one time failed. Can
> somebody answer me to understande more about dcacheDevCreate function
> and what must be optimal size of cache in which everytime will be
> succeed without fail.
>
> Thanks

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

Newsgroups: comp.os.vxworks
Subject: Re: The role of dcacheDevCreate function in device driver
Date: Sun, 26 Jan 2003 09:19:29 +0000 (UTC)
From: David Laight <david@spam.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <b10971$ear$1@knossos.btinternet.com>
References: <2fbe47b0.0301230104.5351601b@posting.google.com> <newscache$j4db9h$y01$1@lnews.actcom.co.il>

Leonid Rosenboim wrote:
> Sagi,
> 
> when there is a mechaical hard disk involved, the role of dcache (i.e. disk
> cache)
> is to optimize disk access, reduce the number of times the disk head needs
> to
> move, and improve overall performance of the file system.
> 
> When a Flash device is used instead of a hard disk, there is really not much
> that disk cache can do to optimize performance, and my opinion is it should
> not be used at all in sutations where Flash storage is concerned.

You do need a different kind of cache though.
Although reads from flash are fast, writes might require a flash
'sector' (could be 128kb) to be erased, this takes a significant
fraction of a second (very modern devices might be a little faster).

So with flash it is probably worth deferring writes in case you
are either rewriting the same sector again or writing an adjacent
sector so that a single read-modify-write cycle can be done.

CF devices use standard flash parts, so have the same problems.
Although they will do block remapping to 'alleviate' the problem.

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: DosFs long name
Date: Sun, 26 Jan 2003 11:28:21 +0200
From: "Leonid Rosenboim" <My_1st_name@Consultant.Com>
Organization: Verio
Message-ID: <newscache$tceb9h$021$1@lnews.actcom.co.il>
References: <22c68e067cf2bcee618ba6840a74b888.37262@mygate.mailgate.org> <EymV9.24458$lj5.285978@tornado.fastwebnet.it> <xzmV9.24464$lj5.285868@tornado.fastwebnet.it> <newscache$nejt8h$lfa$1@lnews.actcom.co.il> <pEjY9.992$YL4.3517@tornado.fastwebnet.it>
Reply-To: "Leonid Rosenboim" <EDIT_THE_ADDRESS>

Franco,.  your e-mail address at HOTMAIL does not work,
therefore I can not write to you directly. Please send me a direct e-mail.

- --
- -----------------------------------------------------------------------
   Leonid Rosenboim     Visit:  http://www.masada2000.org/historical.html
       Consultant                Email: my first name at consultant dot com

"Franco Bassetti" <pippo@hotmail.com> wrote in message
news:pEjY9.992$YL4.3517@tornado.fastwebnet.it...
> Thank you. I have solved the problem, I can't use this file system in a
> partition where is bootrom.sys so I had to create a new partition
formatted
> with vxworks. Ask me what you want about fastweb.
>
> "Leonid Rosenboim" <My_1st_name@Consultant.Com> ha scritto nel messaggio
> news:newscache$nejt8h$lfa$1@lnews.actcom.co.il...
> > Well, I might have sent it to you again, if you had provided your true
> > e-mail address.
> >
> > By the way, since you are a FastWeb customer,
> > there are a few questions I would like to ask you.
> >
> > --
> > -----------------------------------------------------------------------
> >    Leonid Rosenboim     Visit:
http://www.masada2000.org/historical.html
> >        Consultant                Email: my first name at consultant dot
> com
> >
> >
> > "Franco Bassetti" <pippo@hotmail.com> wrote in message
> > news:xzmV9.24464$lj5.285868@tornado.fastwebnet.it...
> > > I have lost your answer
> > >
> > >
> > >
> > >
> >
> >
>
>

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Mon Jan 27 04:03:17 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Mon Jan 27 04:03:18 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Mon Jan 27 04:03:15 PST 2003

        Subject: How to check memory during runtime?
        Subject: how can I do memory testing during runtime?

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

Newsgroups: comp.os.vxworks
Subject: How to check memory during runtime?
Date: 27 Jan 2003 01:04:29 -0800
From: walter.dietrich@siemens.com (walter)
Organization: http://groups.google.com/
Message-ID: <9665325e.0301270104.3533d7c2@posting.google.com>

we use Motorola MPC823e process with 32MByte RAM for railway applications
with VxWorks. The application will run very long, i.e. many 
months before it is switched off and used later again.
Due to security aspects we should do continuous memory testing.
Can you give us any ideas how to check the memory during runtime?

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

Newsgroups: comp.os.vxworks
Subject: how can I do memory testing during runtime?
Date: 27 Jan 2003 01:50:20 -0800
From: walter.dietrich@siemens.com (walter)
Organization: http://groups.google.com/
Message-ID: <9665325e.0301270150.74e89e13@posting.google.com>

we use Motorola MPC823e process with 32MByte RAM for railway applications
with VxWorks. The application will run very long, i.e. many 
months before it is switched off and used later again.
Due to security aspects we should do continuous memory testing.
Can you give us any ideas how to check the memory during runtime?

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Mon Jan 27 22:25:06 2003
From: =?iso-8859-1?q?Sharath=20Chandra?= <sharathchandra78@yahoo.co.in>
Date: Mon Jan 27 22:25:07 PST 2003
Subject: Replacement for inportb,outportb, etc commands...

Hi!
I have written embedded applications to communicate
with the serial port using the
inportb,outportb,inport,...etc commands. This ensures
direct access to the data transfer using UARTS-and for
direct access, nothing like MS-DOS!
Now, we need to port an MS-DOS program using
inport,etc commands to the ARM7tDMI board running
VxWorks. 
Does the ARM compiler support these commands? If not,
what would be the replacement for these commands and
how do we program serial communication using the ARM
board?
A quick reply to this would be highly appreciated....

Thanks,
Sharath.

________________________________________________________________________
Missed your favourite TV serial last night? Try the new, Yahoo! TV.
       visit http://in.tv.yahoo.com

From vxwexplo-errs@csg.lbl.gov  Tue Jan 28 04:03:25 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Tue Jan 28 04:03:27 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Tue Jan 28 04:03:22 PST 2003

        Subject: Re: vxWorks- booting
        Subject: Re: How to modify BSP used by VxSim ?
        Subject: Re: how can I do memory testing during runtime?
        Subject: How to configure VIM to indent code like this
        Subject: Re: VxWorks UDP Communication
        Subject: Customised BootRom
        Subject: Re: How to configure VIM to indent code like this
        Subject: Re: Select in sioLib/tyLib 

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

Newsgroups: comp.os.vxworks
Subject: Re: vxWorks- booting
Date: 27 Jan 2003 06:29:51 -0800
From: p_san_gita@yahoo.com (Sangita.P)
Organization: http://groups.google.com/
Message-ID: <2b535510.0301270629.76d02c10@posting.google.com>
References: <2b535510.0301190344.381eb2fb@posting.google.com>

hye all ,

     Thank you all of you for ur response.

     I want to boot from floppy( ie both bootrom_uncmp and vxWorks.st,
resides on the floppy).

     I have corrected the config.h , ie.. have added a few #define
INSCLUDE_STANDALONE_NET, #undef INCLUDE_NET_SYM_TBL.
And 
%make vxWorks.st.

NOw it is building the vxWorks.
but after booting it would say 

"Muxload Fail!" tRootTask Failed.
Also the user application module of the project does not get added.

Could anybody tell me where i yam going wrong and how do i correct it.

Thank you,
With regards,
P.Sangita.

p_san_gita@yahoo.com (Sangita.P) wrote in message news:<2b535510.0301190344.381eb2fb@posting.google.com>...
> hye all,
> 
> i have a problem ,when i yam trying to build a vxWorks image with the
> bootable project  i yam not able to the vxworks.st build along with
> the vxWorks.exe.It just remains the default one.
> Is there anything i need to modify such that i can VxWorks.st image
> also along with my vxWorks.exe
> 
> With regards,
> P.Sangita.

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

Newsgroups: comp.os.vxworks
Subject: Re: How to modify BSP used by VxSim ?
Date: 27 Jan 2003 06:52:13 -0800
From: anandv79@rediffmail.com (anand)
Organization: http://groups.google.com/
Message-ID: <57e0c4f4.0301270652.403470d6@posting.google.com>
References: <57e0c4f4.0301240153.34ae32d4@posting.google.com> <3e317f1e$0$19948$44c9b20d@news3.asahi-net.or.jp>

What tools are being referred to, two that i cud find were the Mentor
Seamless n Cadence VCC effort. Are that the ones you are referring to,
or there any tools too ?
As regards the approach, minimum testability thru this approach may
not take much time - but first integrating SystemC n then writing
cycle-accurate models on VxWorks are the issue. And yea after that the
simulation speed consideration !
Also any pointers as regards writing/integrating 'C'
models on VxWorks are most welcome.

Thanks in advance,
Anand 

"Girish Gulawani" <girishvgNOSPAM@yahoo.com> wrote in message news:<3e317f1e$0$19948$44c9b20d@news3.asahi-net.or.jp>...
> i guess it's much complex than that. i am sure you know that the vxsim is
> vxworks simulator. it works just as another process on a host. vxsim bsp as
> such can be considered as a bsp for the host cpu. it follows more or less
> same bsp design. if you are expecting some kind of *memory* access it would
> be just using whatever is known to vxsim as a process. in other words no
> special hw features attached to it. afaik, it hardly concerns vxsim bsp as
> such. it's just another vxworks multitasking specifications you are talking
> about. you require to interface vxsim with the memory simulators. what
> people generally use is some fancy & costly tools. they either already have
> vxsim support build into them or they have interfaces over the usual bsd
> sockets so that you can write kind of RPC mechanism built on it. here i
> refer to your prev. question of integrating system-c with vxsim, this is one
> such option. in that case you'd build entire memory system in vxsim as user
> task(s). whose specs are written in system-c. this mem modeler task can
> export an interface of the byte, dowrd, dword read/write access. this
> interface you can access from your memory Read and Write functions in
> software apps. i have never done system-c inside vxsim. however we normally
> use hw model accessing libraries either those already supplied with tools or
> our own inhouse developed interfaces. if you say you'd have to begin with
> integrating system-c inside vxsim & then write memory models, which will be
> used by your software tasks then i suppose you know you have long way to
> go...
> please keep this group posted. it will be good to see such discussions, sure
> it'll interest many.
> 
> 
> "anand" <anandv79@rediffmail.com> wrote in message
> news:57e0c4f4.0301240153.34ae32d4@posting.google.com...
> > Hello All,
> >        Has anybody tried changing the BSP used by VxSim.
> > Basically i am trying, some memory area to behave differently. To
> > accomplish this, i have written a simple C program with two functions
> > 'Read and Write'. Now i wud have to plug in this code to the BSP
> > (something that wud be done if real hardware was there), and then
> > re-compile the VxSim.
> >
> > Has anybody tried this before ?
> >
> > Thanks in advance,
> > Anand

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

Newsgroups: comp.os.vxworks
Subject: Re: how can I do memory testing during runtime?
Date: 27 Jan 2003 14:01:42 -0800
From: ryeung@earthlink.net (Raymond Yeung)
Organization: http://groups.google.com/
Message-ID: <d83bb8e3.0301271401.9a44479@posting.google.com>
References: <9665325e.0301270150.74e89e13@posting.google.com>

I'd be interested in knowing that too.  But my gut feeling is that
you probably can't do it this way.  Memory (RAM) tests are generally
destructive in nature.  You could destroy program store, stack,
heap etc and cause your system to crash.  So I think you can only
test it during system start-up.

However, for systems that have robustness requirements, they generally
also have hardware redundancy.  If your system has such a feature, you
can always test the RAM (along with other things) the standby unit.
Then you can switch activity and test the previously active unit.

Raymond

walter.dietrich@siemens.com (walter) wrote in message news:<9665325e.0301270150.74e89e13@posting.google.com>...
> we use Motorola MPC823e process with 32MByte RAM for railway applications
> with VxWorks. The application will run very long, i.e. many 
> months before it is switched off and used later again.
> Due to security aspects we should do continuous memory testing.
> Can you give us any ideas how to check the memory during runtime?

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

Newsgroups: comp.os.vxworks
Subject: How to configure VIM to indent code like this
Date: 27 Jan 2003 18:20:38 -0800
From: ge_lin@hotmail.com (Lin Ge)
Organization: http://groups.google.com/
Message-ID: <2b2b4387.0301271820.305ec353@posting.google.com>

Hello, there
Is there anyway in VIM to configure _vimrc to indent the code like
this,
Before--------------------------------------------------------------------

int
function
(
int argc,
char** argv
)
{
    int a;
    float b;

    if ()
    {
        do
        {
            printf();
        }
        while(0);
    }
}

gg=G
after-----------------------------------------------------------------------

int
function
    (
    int argc,
    char** argv
    )
    {
    int a;
    float b;

    if ()
        {
        do
            {
            printf();
            }
        while(0);
        }
    }

In fact this code convention is for vxWorks programming and is
compatible with ANSI C requirement. I personally sense that is a good
format.

Any help will be appreciated so thanks in advanced.

Lin

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

Newsgroups: comp.os.vxworks
Subject: Re: VxWorks UDP Communication
Date: Thu, 23 Jan 2003 10:50:01 -0800
From: "Dan Gold" <my-lastname@remove-no-spam-ensemble.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <b15gt2$h0k$1@newsreader.mailgate.org>
References: <5.1.0.14.2.20030123093003.00b92e10@pop3.ttlc.net> <m2y95b50b3.fsf@sympatico.ca> <b0pb53$a45$1@venus.btinternet.com>
Sender: gold@ensemble.com

"David Laight" <david@spam.me.l8s.co.uk> wrote in message
news:b0pb53$a45$1@venus.btinternet.com...
> I guess would be that the WDB code that snatches packets off the
> ethernet driver is failing to look at the IP header in order to see
> if the packet is an IP continuation packet.  It then assumes that the data
in the packet is a UDP header, finds
> the 0x4321, assumes it is the port number and grabs the packet.
> Some WRS code is like that :-)

More than you think...
FWIW, the DHCP code (input hook) suffers from the same malady.   :-)

  hth,
   Dan Gold   gold@ensemble.com

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

Newsgroups: comp.os.vxworks
Subject: Customised BootRom
Date: 28 Jan 2003 01:07:47 -0800
From: mjcse@rediffmail.com (mjcse)
Organization: http://groups.google.com/
Message-ID: <a815538a.0301280107.51fade25@posting.google.com>

Hi VxWorks group,
 I am willing to make a customised bootrom program through
a VxWorks application project. I mean, the image (compressed one) obtained
with this application should act as bootrom program to download
the actual application from flash or network. My only problem is,
this image, is getting relocated itself on RAM_LOW_ADRS and when
it is attempting to download actual application image, it is getting
overwrited because this actual image also gets copied at RAM_LOW_ADRS.
If it were actual bootrom, it will be operating from RAM_HIGH_ADRS.

Can we make the VxWorks Application image in such a way that it
gets relocated to RAM_HIGH_ADRS, instead of RAM_HIGH_ADRS?? That will
solve my problem...

Any suggestion will be truely appreciated

Thanks & Regards,
shafi

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

Newsgroups: comp.os.vxworks
Subject: Re: How to configure VIM to indent code like this
Date: Tue, 28 Jan 2003 10:04:03 GMT
From: "J. J. Farrell" <jjf@bcs.org.uk>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <nAsZ9.49$Wu1.12481@newsread1.prod.itd.earthlink.net>
References: <2b2b4387.0301271820.305ec353@posting.google.com>

"Lin Ge" <ge_lin@hotmail.com> wrote in message
news:2b2b4387.0301271820.305ec353@posting.google.com...
> Hello, there
> Is there anyway in VIM to configure _vimrc to indent the code like

comp.os.vxworks discusses the VxWorks operating system.

Please post your question on configuring the VIM editor on
some unstated OS to a group that discusses VIM.

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

Newsgroups: comp.os.vxworks
Subject: Re: Select in sioLib/tyLib 
Date: Tue, 28 Jan 2003 11:08:27 -0000
From: "p" <not@home.now>
Organization: ?
Message-ID: <1043752109.414440@ernani.logica.co.uk>

>Hopefully a quick and easy question...
>
>What does 'writeable' mean when select() is release by an SIO
>device driver?
>
>Does is mean:
>
> - there is at least 1 byte free in the Tx buffer
> - the Tx buffer is now empty
> - the Tx buffer has reach some kind of low watermark
Answering my own question after a support call to Wind River...The answer is 20.Select() will wake up when there are exactly 20
bytes freein the tx ring buffer. If you device to ignore the selectwakeup because you need more space, you won't get anotherwakeup.
This threshold is effectively hard coded in thetyLib tx isr.Ugh.

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Tue Jan 28 12:49:05 2003
From: "Chris Rawson" <RawsonC@netscout.com>
Date: Tue Jan 28 12:49:06 PST 2003
Subject: Ethernet END device driver issues

I am writing a vxWorks ethernet device driver, and am only using polled
mode (for political reasons) .

The problem is that when trying to send a received packet up to the mux,
the mux appears to be ignoring the packet....   I am using the standard
method of sending to the mux  i.e.  END_RCV_RTN_CALL(END_OBJ *end, MBLK_ID
pMblk)

I have contacted WR support, and have not been fully successful, so any
comments, or assistance would be  appreciated..

Thanks

There are only 10 types of people in this world: those who understand
binary, and those who don't.

From vxwexplo-errs@csg.lbl.gov  Tue Jan 28 13:55:56 2003
From: Alan K Biocca <AKBiocca@LBL.gov>
Date: Tue Jan 28 13:55:57 PST 2003
Subject: VxWorks User's Group Mail Server

The machine that hosts the email list of this discussion group may be 
undergoing some software and hardware upgrades, possibly starting later today.

We will attempt to reduce the impact of this effort, but it may cause one 
or more interruptions in service.

The newsgroup will continue to function normally.

Thanks for your patience.

-- Alan Biocca

From vxwexplo-errs@csg.lbl.gov  Wed Jan 29 02:37:05 2003
From: "Saravana Kumar K" <ksaravanakumar@rediffmail.com>
Date: Wed Jan 29 02:37:06 PST 2003
Subject: Re: Replacement for inportb,outportb, etc commands...

Hi,
  YOu can use sysOutByte(), sysInByte(), sysOutWord(), 
sysInWord(). You can refer to VxWorks User manual for exact 
usage.

best ofluck

Saravanan

On Tue, 28 Jan 2003 the vxWorks Users Group Exploder wrote :
>Submitted-by vxwexplo-errs@csg.lbl.gov  Mon Jan 27 22:25:06 
>2003
>Submitted-by: =?iso-8859-1?q?Sharath=20Chandra?= 
><sharathchandra78@yahoo.co.in>
>
>Hi!
>I have written embedded applications to communicate
>with the serial port using the
>inportb,outportb,inport,...etc commands. This ensures
>direct access to the data transfer using UARTS-and for
>direct access, nothing like MS-DOS!
>Now, we need to port an MS-DOS program using
>inport,etc commands to the ARM7tDMI board running
>VxWorks.
>Does the ARM compiler support these commands? If not,
>what would be the replacement for these commands and
>how do we program serial communication using the ARM
>board?
>A quick reply to this would be highly appreciated....
>
>Thanks,
>Sharath.
>
>
>________________________________________________________________________
>Missed your favourite TV serial last night? Try the new, Yahoo! 
>TV.
>        visit http://in.tv.yahoo.com
>
>**********
>
>     This is a user group mailing list for vxWorks related 
>topics
>     see http://www-vxw.lbl.gov/vxworks for posting and 
>subscription info

From vxwexplo-errs@csg.lbl.gov  Wed Jan 29 04:03:24 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Wed Jan 29 04:03:25 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Wed Jan 29 04:03:19 PST 2003

        Subject: Re: How to configure VIM to indent code like this
        Subject: Problems with NFS server running on dosFs 1.0
        Subject: help needed
        Subject: Sybols in a specific module
        Subject: Re: how can I do memory testing during runtime?
        Subject: inetstatShow() only outputs column headers
        Subject: Artesyn PowerPC PM/PPC modules available
        Subject: Re: inetstatShow() only outputs column headers
        Subject: Re: Ethernet END device driver issues
        Subject: [Q] recvmsg error
        Subject: Re: Sybols in a specific module
        Subject: Re: [Q] recvmsg error
        Subject: Error when load application from target shell
        Subject: [Q]about snmpv2 agent
        Subject: level interrupt on MPC860
        Subject: Re: inetstatShow() only outputs column headers

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

Newsgroups: comp.os.vxworks
Subject: Re: How to configure VIM to indent code like this
Date: Tue, 28 Jan 2003 08:16:48 -0500
From: Varndell Engineering <gvarndell@hotmail.com>
Organization: Newsfeeds.com http://www.newsfeeds.com 100,000+ UNCENSORED Newsgroups.
Message-ID: <jovc3vc01mdva57hsk2deq88hgok1eo55j@4ax.com>
References: <2b2b4387.0301271820.305ec353@posting.google.com> <nAsZ9.49$Wu1.12481@newsread1.prod.itd.earthlink.net>

WhiOn Tue, 28 Jan 2003 10:04:03 GMT, "J. J. Farrell" <jjf@bcs.org.uk>
wrote:

>
>"Lin Ge" <ge_lin@hotmail.com> wrote in message
>news:2b2b4387.0301271820.305ec353@posting.google.com...
>> Hello, there
>> Is there anyway in VIM to configure _vimrc to indent the code like
>
>comp.os.vxworks discusses the VxWorks operating system.
>
>Please post your question on configuring the VIM editor on
>some unstated OS to a group that discusses VIM.
>

While I disagree with the OP that the formatting he/she seeks is
in any way 'good', I disagree with you that the question is not
vx related. In my experience, this strange, unreadable, code
formatting seems to be uniquely vxWorks-ian. Because I often
write code that must conform to Wind River's coding standards,
I have frequently wished for some automatic way to convert
properly formatted C code to the vxWorks format.
So, if someone has a tool or method to automate it, I'd like to
hear from them. Is GNU 'indent' still around?

Regards,
George Varndell
- --
Embedded Systems Expertise           Varndell Engineering, LLC.
http://www.varndellengineering.com 

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

Newsgroups: comp.os.vxworks
Subject: Problems with NFS server running on dosFs 1.0
Date: 28 Jan 2003 05:33:31 -0800
From: gbahig@yahoo.com (Ghada Bahig)
Organization: http://groups.google.com/
Message-ID: <75ff1573.0301280533.74a2481b@posting.google.com>

Hi everyone,

I am having trouble with NFS server V2.0. I am running on an old dosFs
library. I can export, mount, create and delete files and directories.
I have problems of getting wrong directory contents when i cd and ls
into a directory. Sometimes, when i do an ls, the server would
infinitely process a readdir command and never finishes it as it
allocates less than the actual needed entries in the directory. Is
there anyone out there running a similar NFS configuration. I am
running the NFS server on a PowerPC 750 processor and the client from
my sun workstation.

This is the NFS server implementation with its hashing functionality.

I would really appreciate any input

Thanks,

Ghada

Software Design Engineer wireless - UMTS
Nortel Networks

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

Newsgroups: comp.os.vxworks
Subject: help needed
Date: 28 Jan 2003 09:00:43 -0800
From: raghav_chari@yahoo.com (raghavan)
Organization: http://groups.google.com/
Message-ID: <f03935ec.0301280900.4b110966@posting.google.com>

hai,

Can any one tell me how to write a device driver for serial port.

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

Newsgroups: comp.os.vxworks
Subject: Sybols in a specific module
Date: Tue, 28 Jan 2003 13:49:45 -0500
From: "Granum, Allen [CAR:CF81:EXCH]" <agranum@americasm01.nt.com>
Organization: Nortel Networks
Message-ID: <3E36D0C9.EFFB7889@americasm01.nt.com>

Can anyone tell me how I would
get a list of symbols inside a
specific module.
I need to do this, then
extract out the symbols that
end in _MY_SUFFIX_, and then
execute each one of these.

Thanks,

- --
Allen Granum
Nortel Networks
Wireless Internet
BSP Development Team
Email:  agranum@nortelnetworks.com
Phone:  (613)763-4324

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

Newsgroups: comp.os.vxworks
Subject: Re: how can I do memory testing during runtime?
Date: 28 Jan 2003 14:41:26 -0500
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <m2smvdm595.fsf@sympatico.ca>
References: <9665325e.0301270150.74e89e13@posting.google.com> <b15c0q$s64$1@snoopy.bndlg.de> <d83bb8e3.0301280930.7bca3b10@posting.google.com>
Sender: bpringle@DeadDuck

> "walter" <walter.dietrich@siemens.com> schrieb im Newsbeitrag

 Walter> We use Motorola MPC823e process with 32MByte RAM... [snip]
 Walter> Due to security aspects we should do continuous memory
 Walter> testing.  Can you give us any ideas how to check the memory
 Walter> during runtime?

"Michael Lawnick" <michael.lawnick@no_spam.kontron.com> wrote...

 Michael> - as you will have to stop application while testing, you
 Michael> have to consider interrupt latency

 Michael> - when using DMA-devices, you will have to stop them while
 Michael> testing their buffers.

[snip]

>>>>> "Raymond" == Raymond Yeung <ryeung@earthlink.net> writes:

 Raymond> Let alone the fact that the memory test would need to know
 Raymond> way too much about the applications (where tasks/processes
[snip]

It should be possible with the MPC823 to create a "fallow RAM section"
with the MMU.  The fallow section would be shifted in atomically to
have a copy of another page that is shifted out.  In this way, a
memory test can be performed on sections of RAM while the applications
are running.  This takes care of most interrupt concerns.  Whether DMA
uses physical or virtual memory is also a concern.  According to
recents post (I recall seeing here), it seems that the DMA of the
MPCxxx series use virtual addresses.

Off chip DMA devices probably won't and these would be a concern.  So
you may indeed have problems utilizing this method with DMA with
off-chip DMA.  I assume that these memory tests are designed to test
cell integrety.  There are many different memory tests available.
Each one has strength and weaknesses and it depends on the type of
hardware faults that you would like to detect.  My favorite way to
test memory routines is to take a paper clip and start to short pins
on the memory chips.

 "http://www.esacademy.com/faq/docs/memtest/"
 "http://www.netrino.com/Articles/MemoryTesting/index.html"
 "http://www.memtest86.com/"

etc.

hth,
Bill Pringlemeir.

- --
Universe, U for Umbilical, is the sameness of vril and odyle.

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

Newsgroups: comp.os.vxworks
Subject: inetstatShow() only outputs column headers
Date: 28 Jan 2003 12:10:20 -0800
From: henrikb@shell.linux.se (=?ISO-8859-1?Q?Henrik_Bergstr=F6m?=)
Organization: http://groups.google.com/
Message-ID: <141d398b.0301281210.755781b8@posting.google.com>

Hi VxWorkers!

Has anyone here had a problem with inetstatShow() producing no output
(except for column headers) and, if so, found a solution to it? Please
let me know in that case!

For what it is worth I run a Tornado 2.11 on a ARM system and I know
for a fact that I've got several listening sockets and even a few
connected sockets in the system.

Best regards,

Henrik

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

Newsgroups: comp.os.vxworks,comp.arch.embedded
Subject: Artesyn PowerPC PM/PPC modules available
Date: Tue, 28 Jan 2003 21:49:58 GMT
From: ben_myers@charter.net (Ben Myers)
Organization: Posted via Supernews, http://www.supernews.com
Message-ID: <3e36f9ac.18179808@news.charter.net>
Reply-To: ben_myers@charter.net

I have approx. 100 Artesyn PM/PPC modules available in good condition, pulled
from tested and working telco equipment never shipped from a now-bankrupt
company. Specs are 333MHz PowerPC, 128Mx72 SDRAM, 16Mx16 flash memory, a few
with and the rest without JTAG.  NetBSD, Linux, QNX, other OSes supported.
Complete specs available at the following URL:

http://www.artesyncp.com/products/PM-PPC.html

$US 75 each for a PM/PPC module with JTAG.   Make offers on the others.
Generous quantity discounts.

I also have two PMC-PCI adapter boards for installation in and debugging with an
Intel CPU computer.  Part number is Technobox #1447.  $US 40 each for the
PMC-PCI adapter card only when bought a PM/PPC module.

Add exact shipping cost FOB Harvard MA 01451 USA using your preferred shipper.
Estimated shipping weight 2 lbs (1 kg) for one module with PCI adapter card.

Ben Myers
Spirit of Performance, Inc.
73 Westcott Road
Harvard, MA 01451
tel: 978-456-3889
eFax: 810-963-0412 
PayPal, MC, VISA, AMEX accepted.

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

Newsgroups: comp.os.vxworks
Subject: Re: inetstatShow() only outputs column headers
Date: Tue, 28 Jan 2003 13:54:46 -0800
From: "Mark A. Matthews" <markm@xmission.com>
Organization: ACME Rockets & Storm Door Company
Message-ID: <markm-101CF1.13544628012003@localhost>
References: <141d398b.0301281210.755781b8@posting.google.com>

In article <141d398b.0301281210.755781b8@posting.google.com>,
 henrikb@shell.linux.se (Henrik Bergstrm) wrote:

> Has anyone here had a problem with inetstatShow() producing no output
> (except for column headers) and, if so, found a solution to it? Please
> let me know in that case!
> 

I don't have a tornado session handy, but that's an indication you don't 
have all the network show routines enabled. You need to dig down into 
the network configuration somewhere and enable them.

Why the inetstatShow function remains in the kernel without the 
associated enable is something of a mystery to me, but I suspect there's 
a dependency on the symbol that couldn't easily be removed.

- -- 
- -Mark

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

Newsgroups: comp.os.vxworks
Subject: Re: Ethernet END device driver issues
Date: Tue, 28 Jan 2003 14:22:22 -0800
From: "Dan Gold" <my-lastname@remove-no-spam-ensemble.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <b16vsb$603$1@newsreader.mailgate.org>
References: <b16rus$1bk$1@overload.lbl.gov>
Sender: gold@ensemble.com

"Chris Rawson" <RawsonC@netscout.com> wrote in message
news:b16rus$1bk$1@overload.lbl.gov...
> I am writing a vxWorks ethernet device driver, and am only using polled
> mode (for political reasons) .
> The problem is that when trying to send a received packet up to the mux,
> the mux appears to be ignoring the packet....   I am using the standard
> method of sending to the mux  i.e.  END_RCV_RTN_CALL(END_OBJ *end, MBLK_ID
> pMblk)
> I have contacted WR support, and have not been fully successful, so any
> comments, or assistance would be  appreciated..

Sorry, I have more questions than answers.  It seems like some more
information would be useful, i.e.
Which Ethernet device are you writing a driver for ?
What architecture and version of vxWorks is it ?
Is the chip a currently supported one, i.e. one that there exists source
code or a template for ?
Are you writing this driver from scratch or is it based on an existing one ?
Now the debug questions...
Does your driver's endLoad() routine return ok ?
Have you dumped the END_OBJ and packet that you're passing to the Mux to
make sure they look valid ?
What does muxShow() say about the interface ?
How about ifShow() on the interface - does it show errored packets ?
How about {tcp,udp,icmp}statShow() - anything revealing there ?
Have you tried Tx'ing a packet - does it get to your driver's Send() routine
?
Since your driver's receive buffer pool is fixed, after you receive enough
packets (and the mux presumably swallows them) does your driver report out
of buffers ?
Are you running DHCP on this interface ?  Is it possible they're getting
swallowed by the DHCP input hook ?

  hth,
   Dan Gold   gold@ensemble.com

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

Newsgroups: comp.os.vxworks
Subject: [Q] recvmsg error
Date: Wed, 29 Jan 2003 10:57:45 +0900
From: "F. Jehun Rhee" <jhrhee@etri.re.kr>
Organization: ETRI Usenet Service
Message-ID: <b17c6m$rlq$1@news.etri.re.kr>

in VxWorks 5.4, after select() call with 1 as its return value, I called
recvmsg(), but this call returned -1.

Do you know when this kind of error happen?

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

Newsgroups: comp.os.vxworks
Subject: Re: Sybols in a specific module
Date: Tue, 28 Jan 2003 21:03:40 -0600
From: Joe Durusau <durusau@bellsouth.net>
Organization: WEBUSENET.com
Message-ID: <3E37448C.9080608@bellsouth.net>
References: <3E36D0C9.EFFB7889@americasm01.nt.com>

Granum, Allen [CAR:CF81:EXCH] wrote:
> 
> Can anyone tell me how I would
> get a list of symbols inside a
> specific module.
> I need to do this, then
> extract out the symbols that
> end in _MY_SUFFIX_, and then
> execute each one of these.
> 
> Thanks,
> 
> --
> Allen Granum
> Nortel Networks
> Wireless Internet
> BSP Development Team
> Email:  agranum@nortelnetworks.com
> Phone:  (613)763-4324
> 
> 
> 

Are you trying to find the symbols in memory, or can you make
do with the symbols from a disk image?  If the latter, you could
gen up a map file and process it however you wish.  The shell
knows what module the symbols came from in the sense of
'loadable module', but not, AFAIK, which source file they came
from.  You could run lkup, assuming you have a shell, and send
the output somewhere, then process that.

Speaking only for myself,

Joe Durusau

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

Newsgroups: comp.os.vxworks
Subject: Re: [Q] recvmsg error
Date: Tue, 28 Jan 2003 21:05:50 -0600
From: Joe Durusau <durusau@bellsouth.net>
Organization: WEBUSENET.com
Message-ID: <3E37450E.90702@bellsouth.net>
References: <b17c6m$rlq$1@news.etri.re.kr>

F. Jehun Rhee wrote:
> in VxWorks 5.4, after select() call with 1 as its return value, I called
> recvmsg(), but this call returned -1.
> 
> Do you know when this kind of error happen?
> 
> 

Try looking at errno _immediately_ after the return from recvmsg().

Speaking only for myself,

Joe Durusau

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

Newsgroups: comp.os.vxworks
Subject: Error when load application from target shell
Date: Wed, 29 Jan 2003 12:22:14 +0800
From: "Hans" <renht@lucent.com>
Organization: Lucent Technologies
Message-ID: <b17ktl$npn@netnews.proxy.lucent.com>

Everything works fine when I load application from whindshell to the target,
but when I download application from target shell, it report error:

- -> ld < App.o
0xb958e0c (tShell): memPartAlloc: block too big - 95186200 in partition
0xda528.

ld error: error reading file (errno = 0x3d0001).
value = 0 = 0x0
- ->

Did anybody know the reason?

Thanks

Hans

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

Newsgroups: comp.os.vxworks
Subject: [Q]about snmpv2 agent
Date: Wed, 29 Jan 2003 14:50:12 +0800
From: "Li-Hao Jeng" <lihao@accesssolutions.com.tw>
Organization: DCI HiNet
Message-ID: <b17u0p$cj6@netnews.hinet.net>

Sir,
    Are mibcomp can compile snmpv2 version?  Now I have to compile some mib
file but it's can't finish.

C:\snmp\card>mibcomp ex1.mib
ex1.mib:11: IMPORTS clause references unknown module "IF-MIB".

Please give me some advice!  Thank you!

lihao
2003.01.29

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

Newsgroups: comp.os.vxworks
Subject: level interrupt on MPC860
Date: Wed, 29 Jan 2003 11:33:50 +0100
From: "Jrg Krein" <joerg.krein@ims.fhg.de>
Organization: Fraunhofer Gesellschaft (http://www.fraunhofer.de/)
Message-ID: <3e37adea$1@news.fhg.de>

Hi,

has anyone experience with level triggered interrupts on an MPC860?
Edge triggered works fine, but with level I get stuck in the isr.
The problem is I can't remove the low level on the IRQ pin in the isr.
I have to do this in the main task.
To prevent from getting stuck I disable the interrupt in the SIMASK
register.
But that doesn't work!
Is it not possible to manipulate the SIMASK in an isr?
I tried something like this:

static void CANIsr1 (int isr1par)
{
    EPPC* regbase = (EPPC*) vxImmrGet();

 regbase->siu_sipend = IRQ1;
 regbase->siu_simask &= ~IRQ1;
 semGive(drv->SemInt1);
}

Help needed!

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

Newsgroups: comp.os.vxworks
Subject: Re: inetstatShow() only outputs column headers
Date: 29 Jan 2003 03:53:17 -0800
From: henrikb@shell.linux.se (=?ISO-8859-1?Q?Henrik_Bergstr=F6m?=)
Organization: http://groups.google.com/
Message-ID: <141d398b.0301290353.53c3f27b@posting.google.com>
References: <141d398b.0301281210.755781b8@posting.google.com> <markm-101CF1.13544628012003@localhost>

Thanks for your reply but as far as I know (and according to the
manuals) it should be enough to define INCLUDE_NET_SHOW. Furthermore,
all the other netShow functions (arpShow(), ipstatShow(), etc.) work
ok, so it seems as if it is only inetstatShow() which doesn't work as
intended.

/Henrik

"Mark A. Matthews" <markm@xmission.com> wrote in message news:<markm-101CF1.13544628012003@localhost>...
> In article <141d398b.0301281210.755781b8@posting.google.com>,
>  henrikb@shell.linux.se (Henrik Bergstrm) wrote:
> > Has anyone here had a problem with inetstatShow() producing no output
> > (except for column headers) and, if so, found a solution to it? Please
> > let me know in that case!
> 
> I don't have a tornado session handy, but that's an indication you don't 
> have all the network show routines enabled. You need to dig down into 
> the network configuration somewhere and enable them.
> 
> Why the inetstatShow function remains in the kernel without the 
> associated enable is something of a mystery to me, but I suspect there's 
> a dependency on the symbol that couldn't easily be removed.

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

End of New-News digest
**********************

From vxwexplo-errs@csg.lbl.gov  Wed Jan 29 12:48:55 2003
From: Shiv <ShivS@optima-systems.com>
Date: Wed Jan 29 12:48:56 PST 2003
Subject: Symbols garbled after downloading 

(Working on an ppc 855T target with Tornado II)

My symbols garble up after downloading my code to the target. For eg. a
method called TestRoutine() is now TestRoutine_V90ES (or something like
that) when I lkup on the target shell. 

I'm sure this is a configuration problem , but I can't seem to pinpoint the
cause. Could anyone tell me why it does that ?

Shiv

From vxwexplo-errs@csg.lbl.gov  Thu Jan 30 04:03:19 2003
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Thu Jan 30 04:03:20 PST 2003
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Thu Jan 30 04:03:13 PST 2003

        Subject: Problem : 1GByte PMC Memory card  under vxWorks
        Subject: Re: database under VxWorks
        Subject: Re: [Q]about snmpv2 agent
        Subject: Re: VxW 5.4, PCMCIA, & DosFS 2.2
        Subject: Re: [Q] How to remove TCP/IP stack
        Subject: Re: Error when load application from target shell
        Subject: Re: Error when load application from target shell
        Subject: vxWorks- booting problem II
        Subject: Re: vxWorks- booting
        Subject: Re: VxW 5.4, PCMCIA, & DosFS 2.2
        Subject: Porting a recent version of TCL to VxWorks

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

Newsgroups: comp.os.vxworks
Subject: Problem : 1GByte PMC Memory card  under vxWorks
Date: 29 Jan 2003 06:07:08 -0800
From: M.Sinen@gematronik.com (Michael Sinen)
Organization: http://groups.google.com/
Message-ID: <bcfc0404.0301290607.9a61de5@posting.google.com>

Hello VxWorkers,

I try to install a 1GByte Memory PMC card (Ramix) under VxWorks. I'm
using a MVME2700-PPC and vxWorks 5.4. The problem is to configurate
this card into pci/processor memory. The first approche was to switch
off EXTENDED_VME and adjust CPU_PCI_ISA_MEM_ADRS and CPU_PCI_MEM_ADRS
(laying them close behind CPU_PCI_IO_ADRS), then to define a new entry
in 'sysPhysMemDesc' according the memory size of the PMC card :

/*******************************************
*mv2600.h*/
/*******************************************
#define CPU_PCI_ISA_IO_ADRS     0x80000000 
#define CPU_PCI_IO_ADRS         0x81000000 
#define CPU_PCI_ISA_MEM_ADRS     (CPU_PCI_IO_ADRS + 0x800000)
#define CPU_PCI_MEM_ADRS         (CPU_PCI_ISA_MEM_ADRS + 0x10000)
/*******************************************
/*sysLib.c*/
/*******************************************
(void *) 0x83000000,
(void *) 0x83000000,
 0x40000000,
 VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE |
VM_STATE_MASK_CACHEABLE |
 VM_STATE_MASK_GUARDED,
 VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT
 |
 VM_STATE_GUARDED
},
/*******************************************
From my point of view I had now a processor window from
0x83000000-C3000000
without any intersections,but this was ,i guess, a naive try. It
doesn't work. The PPC hangs during the boot process. It seems I
overwrite some important information during initializing that memory
window (if I reduce the memory size < 0x0x20000000 the PPC boots up
once again).Perhaps I don't understand the memory mapping of vxWorks
in the right manner. My questions : what goes wrong ? Is there any
other things to take into account ?
Is it ,principal, possible to map this large memory ?

Thanks for your attention  
Michael

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

Newsgroups: comp.os.vxworks
Subject: Re: database under VxWorks
Date: Wed, 29 Jan 2003 16:29:20 +0000 (UTC)
From: "Richard Blackburn" <ribl@ose-systems.co.uk>
Organization: BT Openworld
Message-ID: <b18vgv$ick$1@sparta.btinternet.com>
References: <5fb7bcfa.0301131213.14a86a70@posting.google.com>

try www.Polyhedra.com

contact jowh@enea.co.uk for further details.

Regards

Richard.

"A.T." <tadela@hotmail.com> wrote in message
news:5fb7bcfa.0301131213.14a86a70@posting.google.com...
> I'm looking for a database engine to run under VxWorks.Any pointers?
>
> Thanks
>
> A

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

Newsgroups: comp.os.vxworks
Subject: Re: [Q]about snmpv2 agent
Date: 29 Jan 2003 09:56:26 -0800
From: adam@world.std.com (Mark Adam)
Organization: http://groups.google.com/
Message-ID: <e5aef5e9.0301290956.18888297@posting.google.com>
References: <b17u0p$cj6@netnews.hinet.net>

You need to include all of the referenced MIBs in the mibcomp command
line. These MIBs need to appear before the MIB that they are
referenced in.

Let's assume you want to use the version IF-MIB in rfc2863. The
command line might be:

mibcomp iftype.mib rfc1907.mib rfc2863.mib ex1.mib

The iftype.mib and rfc1907.mib files are required in order to compile
rfc2863.

To confine the output to the tree in your MIB you probably want to use
the -start option.

"Li-Hao Jeng" <lihao@accesssolutions.com.tw> wrote in message news:<b17u0p$cj6@netnews.hinet.net>...
> Sir,
>     Are mibcomp can compile snmpv2 version?  Now I have to compile some mib
> file but it's can't finish.
> 
> C:\snmp\card>mibcomp ex1.mib
> ex1.mib:11: IMPORTS clause references unknown module "IF-MIB".
> 
> 
> Please give me some advice!  Thank you!
> 
> lihao
> 2003.01.29

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

Newsgroups: comp.os.vxworks
Subject: Re: VxW 5.4, PCMCIA, & DosFS 2.2
Date: Wed, 29 Jan 2003 23:04:55 +0000
From: Wade Oram <news1@wtoram.co.uk>
Organization: None
Message-ID: <PILJJLRX4FO+EAR+@wtoram.co.uk>
References: <oPEZ9.72577$rM2.42689@rwcrnsc53>
Reply-To: Wade Oram <wade@wtoram.co.uk>

In message <oPEZ9.72577$rM2.42689@rwcrnsc53>, Dale 
<ddasker@no_SPAM_attbi.com> writes
>Hello,
>
>I am having build problems within the Tornado 2.0 environment when I try and
>build a standard VxWorks image taken from a pc486 BSP.  I am using Tornado
>2.0.2 x86 with the T2CP4 patch applied and then DosFS 2 on top of that.
>When I include PCMCIA and try and build VxWorks, I get the following errors:
>
>C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c: In function
>`pccardMount':
>In file included from
>C:\Tornado2.0.2_x86\target\config\pcPentium\sysLib.c:464:
>C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c:273: request for
>member `dosvd_devHd
>r' in something not a structure or union
>C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c: In function
>`pccardMkfs':
>C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c:309: request for
>member `dosvd_devHd
>r' in something not a structure or union
>C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c: In function
>`pccardAtaEnabler':
>C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c:512:
>`DOS_BOOT_SEC_PER_CLUST' undecl
>ared (first use this function)
>C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c:512: (Each undeclared
>identifier is
>reported only once
>C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c:512: for each function
>it appears in
>.)
>C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c:515:
>`S_dosFsLib_BAD_DISK' undeclare
>d (first use this function)
>make: *** [sysLib.o] Error 0x1

There is an SPR raised for this. Unfortunately I can't remember the 
number. As it happens it does not help because it is status is marked 
"Do Not Fix".

Talking to customer support, it appears that the fault is due to the 
fact that the dosFs2.2 patch was a point solution effectively back 
porting the T2.2 version of dosFs into Tornado 2.0.2.

The WRS proposed solution is to upgrade to Tornado 2.2 - not a lot of 
help to you, myself, or anyone else using a 486 (or any other processor 
architecture) which is no longer supported in Tornado2.2.

My solution, which worked for me but may not be possible in your case 
was simply to remove the code in the pccardMount and pccardMkfs routines 
in pccardLib.c and replace is with a simple "return ERROR;" statement. 
This does, of course, mean that I can't use pccard disks but this does 
not worry me at present. At least it allows me to continue to use our 
PCMCIA network cards!

If anyone has a better solution, I would also be very interested to hear 
it.

- -- 
Wade Oram

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

Newsgroups: comp.os.vxworks
Subject: Re: [Q] How to remove TCP/IP stack
Date: Thu, 30 Jan 2003 01:34:54 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <2j%Z9.2007$G83.326@sccrnsc04>
References: <b15bof$aea@netnews.hinet.net>

Depends on which version of vxWorks, but there is a way to do this if
you had source. The problem is there are a couple of globals
(etherbroadcastaddr[])
and others in the MUX that need to be extracted out of various libraries
or a shim created. A tech-tip showing all the dependencies should have been
posted on the Online-Support web page. Ask your local FAE to
track this down for you if it isn't on WindSurf. I wrote a script using
the project and components Tcl libraries which helped me see the
dependencies. Unfortunately, it is at work, but if you have problems
finding the tech tip, maybe the script can help you identify why
Loop device and  other seemingly unrelated objects are pulled in
when you just add the MUX and Network buffer library only.
Good luck...

"Cheng Chih-Jen" <arista@ambit.com.tw> wrote in message
news:b15bof$aea@netnews.hinet.net...
> Hi,
>
> I'd like to replace vxWorks' TCP/IP stack with another one,
> but keep MUX and END driver.
> Whenever I remove the network protocol components, MUX and END
> will be removed too. Is it possible to do that ?
> Please give me hint if you know, thanks.
>
> Regards,
>
> C.J. Cheng

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

Newsgroups: comp.os.vxworks
Subject: Re: Error when load application from target shell
Date: Thu, 30 Jan 2003 01:54:54 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <OB%Z9.86908$Ve4.6781@sccrnsc03>
References: <b17ktl$npn@netnews.proxy.lucent.com>

Not sure but,

    Do a memShow on the target to determine how much memory is available.
Next
use the size command on the App.o to see how much memory is going to have to
be allocated on the target. If you aren't using NFS to load your app, count
on a
20-30% temporary code bloat at least while the loader is doing it's thing.
Plus
if you are using TFTP, you could need as much as 2x or 3x (not sure) for
holding the image until the loader is done. Now you ask, but this worked on
the loader. Well, that is because only the part of the App.o that requires
target memory will be allocated from the target (all debug stuff stays on
the
host) and plus your image probably was built to take 1/16 of available
memory
for WDB_POOL, which is used by the shell. So, in summary, look at the output
of objdump<arch> --section-headers (or is that --headers) and keep in mind
that the loader will not know until it has downloaded the image (malloc),
loaded
it (freeing unneeded space, but allocating more system memory to place the
app into the symbol table) and only then will excess memory be freed. Not to
mention whether C++ has anything to do here, probably not, but not enough
detail to know for sure, so just these general comments. HTH.

"Hans" <renht@lucent.com> wrote in message
news:b17ktl$npn@netnews.proxy.lucent.com...
> Everything works fine when I load application from whindshell to the
target,
> but when I download application from target shell, it report error:
>
> -> ld < App.o
> 0xb958e0c (tShell): memPartAlloc: block too big - 95186200 in partition
> 0xda528.
>
> ld error: error reading file (errno = 0x3d0001).
> value = 0 = 0x0
> ->
>
> Did anybody know the reason?
>
> Thanks
>
> Hans
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Error when load application from target shell
Date: Thu, 30 Jan 2003 02:10:01 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <ZP%Z9.88614$6G4.11837@sccrnsc02>
References: <b17ktl$npn@netnews.proxy.lucent.com> <OB%Z9.86908$Ve4.6781@sccrnsc03>

"drdiags" <drdiags@attbi.com> wrote in message
news:OB%Z9.86908$Ve4.6781@sccrnsc03...
>  Now you ask, but this worked on
> the loader. Well, that is because only the part of the App.o
[...snip...]

   The above line should have read "windSh" instead of "the loader". The
point was
to make sure you were aware of how memory was allocated for Host (windSh)
vs Target (target shell) applications using their different "ld" APIs. (ld
on the Host is Tcl
script).

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

Newsgroups: comp.os.vxworks
Subject: vxWorks- booting problem II
Date: 29 Jan 2003 19:31:11 -0800
From: p_san_gita@yahoo.com (Sangita.P)
Organization: http://groups.google.com/
Message-ID: <2b535510.0301291931.1b8dfa75@posting.google.com>

hye all ,

     Thank you all of you for ur response.

     I want to boot from floppy( ie both bootrom_uncmp and vxWorks.st,
resides on the floppy).

     I have corrected the config.h , ie.. have added a few #define
INSCLUDE_STANDALONE_NET, #undef INCLUDE_NET_SYM_TBL.
And 
%make vxWorks.st.

NOw it is building the vxWorks.
but after booting it would say 

"Muxload Fail!" tRootTask Failed.
Also the user application module of the project does not get added.

Could anybody tell me where i yam going wrong and how do i correct it.

Thank you,
With regards,
P.Sangita.

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

Newsgroups: comp.os.vxworks
Subject: Re: vxWorks- booting
Date: 29 Jan 2003 19:50:28 -0800
From: embd_man@hotmail.com (Russel)
Organization: http://groups.google.com/
Message-ID: <42fa4adc.0301291950.22183270@posting.google.com>
References: <2b535510.0301190404.40f7385@posting.google.com> <42fa4adc.0301271954.3fd6bdf8@posting.google.com> <2b535510.0301290058.2c86b4be@posting.google.com>

p_san_gita@yahoo.com (Sangita.P) wrote in message news:<2b535510.0301290058.2c86b4be@posting.google.com>...
> Hye Russel, 
> 
>     Thanxs for suggestion, but the problem is ,Rules tab doesnot show
> any VxWorks.st option.And if i %make  vxWork.st from the command
> prompt...
> It gives me "Mux Failed! tRootTask"... on booting.

  This is the problem with your image... Mux failed happens when one
of the devices in the Mux layer is not getting intialised... check out
the ehternet card you are using.. and accordingly add/define those
stuffs from your project facility or in the config.h
Also check from wrs whether the card ur using is supportd by vxWorks
cos not all cards are supportd as far as i kno.
Also it is better to go for a vxWorks image rather than .st during
inital stages until ur target comes up just to make sure things r goin
right.

> and doesnot include any user application modules i have created in the
> same bootable project.
> 
> 
> With Regards,
> P.Sangita
> 
> embd_man@hotmail.com (Russel) wrote in message news:<42fa4adc.0301271954.3fd6bdf8@posting.google.com>...
> > p_san_gita@yahoo.com (Sangita.P) wrote in message news:<2b535510.0301190404.40f7385@posting.google.com>...
> > > Hye all,
> > > 
> > > I have a problem with vxWorks standalone.I want create an standalone
> > > systems and so i need the vxWorks.st image.But when i build my
> > > bootable project i able to generate only the vxWokrs.exe image.
> > 
> >   From the project faciilty what u need to do iss change the rules
> > from the builds->default tab to vxWorks.st
> >  Also if u want to do it fronm the command prompt go to ur BSP dir and
> > build using "make vxWorks.st". this will create a standalone image.
> > 
> > Right
> > > now my config\BSP(pcPentium ) has a default vxWorks.st and doesnot
> > > update itself on building my project.
> > > 
> > > I realise that the STANDALONE flag needs to set in the usrConfig.c
> > > file inorder to creat a usrConfig_st.o module. If this is true, please
> > > let me know how i can go abt doing it.
> > > 
> > > Is it that i need to change any build specifications for the same?
> > > 
> > > Please let me know detalis on the same .Mail me at
> > > p_san_gita@yahoo.com
> > > 
> > > Thank you,
> > > With regards,
> > > P.Sangita.

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

Newsgroups: comp.os.vxworks
Subject: Re: VxW 5.4, PCMCIA, & DosFS 2.2
Date: Thu, 30 Jan 2003 06:23:56 GMT
From: "Dale" <ddasker@no_SPAM_attbi.com>
Organization: AT&T Broadband
Message-ID: <0y3_9.88497$Ve4.7115@sccrnsc03>
References: <oPEZ9.72577$rM2.42689@rwcrnsc53> <PILJJLRX4FO+EAR+@wtoram.co.uk>

Thanks.  That worked.  I had noticed that Wind had a SPR on this issue, but,
it's status was that it will not be patched.  Do not need a PCMCIA disk so
this is fine.

- -Dale

"Wade Oram" <news1@wtoram.co.uk> wrote in message
news:PILJJLRX4FO+EAR+@wtoram.co.uk...
> In message <oPEZ9.72577$rM2.42689@rwcrnsc53>, Dale
> <ddasker@no_SPAM_attbi.com> writes
> >Hello,
> >
> >I am having build problems within the Tornado 2.0 environment when I try
and
> >build a standard VxWorks image taken from a pc486 BSP.  I am using
Tornado
> >2.0.2 x86 with the T2CP4 patch applied and then DosFS 2 on top of that.
> >When I include PCMCIA and try and build VxWorks, I get the following
errors:
> >
> >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c: In function
> >`pccardMount':
> >In file included from
> >C:\Tornado2.0.2_x86\target\config\pcPentium\sysLib.c:464:
> >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c:273: request for
> >member `dosvd_devHd
> >r' in something not a structure or union
> >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c: In function
> >`pccardMkfs':
> >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c:309: request for
> >member `dosvd_devHd
> >r' in something not a structure or union
> >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c: In function
> >`pccardAtaEnabler':
> >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c:512:
> >`DOS_BOOT_SEC_PER_CLUST' undecl
> >ared (first use this function)
> >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c:512: (Each
undeclared
> >identifier is
> >reported only once
> >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c:512: for each
function
> >it appears in
> >.)
> >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c:515:
> >`S_dosFsLib_BAD_DISK' undeclare
> >d (first use this function)
> >make: *** [sysLib.o] Error 0x1
>
> There is an SPR raised for this. Unfortunately I can't remember the
> number. As it happens it does not help because it is status is marked
> "Do Not Fix".
>
> Talking to customer support, it appears that the fault is due to the
> fact that the dosFs2.2 patch was a point solution effectively back
> porting the T2.2 version of dosFs into Tornado 2.0.2.
>
> The WRS proposed solution is to upgrade to Tornado 2.2 - not a lot of
> help to you, myself, or anyone else using a 486 (or any other processor
> architecture) which is no longer supported in Tornado2.2.
>
> My solution, which worked for me but may not be possible in your case
> was simply to remove the code in the pccardMount and pccardMkfs routines
> in pccardLib.c and replace is with a simple "return ERROR;" statement.
> This does, of course, mean that I can't use pccard disks but this does
> not worry me at present. At least it allows me to continue to use our
> PCMCIA network cards!
>
> If anyone has a better solution, I would also be very interested to hear
> it.
>
> --
> Wade Oram

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

Newsgroups: comp.lang.tcl,comp.os.vxworks
Subject: Porting a recent version of TCL to VxWorks
Date: Thu, 30 Jan 2003 08:56:47 +0200
From: "Eyal Raab" <eyalr@corrigent.com>
Organization: Newsfeeds.com http://www.newsfeed.com 100,000+ UNCENSORED Newsgroups. The #1 Usenet Service on the Planet!
Message-ID: <3e38c678@post.newsfeed.com>

*** post for FREE via your newsreader at post.newsfeed.com ***

Hi,

I have the following general question:
- - What is needed and how much effort would it take to port a recent version
of TCL to VxWorks?

Here is the long story:
- - We needed the ability to configure our embedded software at runtime.
- - Instead of adding limited abilities in C or creating a custom interpreter,
we
    downloaded and ported successfully a version of TCL 7.3 for VxWorks.
- - So far, it works beautifully :)

But, my appetite grew:
- -----------------------------------
- - I think TCL can have a huge affect on our system once people will see its
potential.
- - TCL could be used to replace many tasks that so far have been coded in C.
- - In order to benefit from the great TCL user community and many available
projects,
    a more recent version of TCL is needed (8.x+).
- - I would like to try to find out information on the effort it would take to
port a recent version
    of TCL to VxWorks. Maybe this would be my way of contributing back.

- - Any information will be greatly appreciated.

Best regards,
Eyal Raab

 -----= Posted via Newsfeed.Com, Uncensored Usenet News =-----
http://www.newsfeed.com - The #1 Newsgroup Service in the World!
- -----== 100,000 Groups! - 19 Servers! - Unlimited Download! =-----
                  

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

End of New-News digest
**********************