From vxwexplo-errs@csg.lbl.gov  Mon Jul  1 04:03:15 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Mon Jul  1 04:03:18 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Mon Jul  1 04:03:11 PDT 2002

        Subject: Re: Reboot on shell prompt does not work
        Subject: FADS 850SR w/T2.0 Cache question
        Subject: Re: Reboot on shell prompt does not work
        Subject: Downloading text file
        Subject: the usage of ARARM
        Subject: Re: the usage of ARARM
        Subject: how to change vxworks compile mode from little-endian to big-endian?
        Subject: how to change vxworks compile mode from little-endian to big-endian?
        Subject: Re: Downloading text file
        Subject: RTM_GET on routing socket always returns ESRCH (when default route is absent)
        Subject: Re: how to change vxworks compile mode from little-endian to big-endian?
        Subject: Linking only some archives
        Subject: vxworks bootrom
        Subject: Re: Help --- the means of vxWorks Error Number 55
        Subject: Re: INT0 problems with PentiumIII/BX440 brd
        Subject: Re: VxWorks FTP client data transfer problem.
        Subject: S_iosLib_INVALID_FILE_DESCRIPTOR
        Subject: Re: Dynamic module unloading
        Subject: Re: how to change vxworks compile mode from little-endian to big-endian?
        Subject: Re: Linking only some archives
        Subject: a question about snds100 's nvram
        Subject: Tornado project facility
        Subject: Re: Tornado project facility
        Subject: Re: any one with experience in tornado1.0?challenge to tornado1.0 users

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

Newsgroups: comp.os.vxworks
Subject: Re: Reboot on shell prompt does not work
Date: Sun, 30 Jun 2002 16:55:39 -0400
From: "James" <jameshu@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <wcKT8.1703$MP.201382@news20.bellglobal.com>
References: <f57b3351.0206270918.79f34eb8@posting.google.com>

I wonder why you need to use target sheel, usually host shell is more than
enough and convenient for development. You do not have host ?

James

"Kinger" <vkinger@hotmail.com> wrote in message
news:f57b3351.0206270918.79f34eb8@posting.google.com...
> I am having trouble while rebooting my
> box(PPC860/Tornado2.0.2/vxworks5.4)from the target shell prompt, it
> hangs my box. Can someone help??

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

Newsgroups: comp.os.vxworks
Subject: FADS 850SR w/T2.0 Cache question
Date: Mon, 01 Jul 2002 00:49:10 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <aGNT8.203303$R61.71988@rwcrnsc52.ops.asp.att.net>

Hello all,

    I am trying to get my facts straight on the vxWorks 5.4 FADS 8xx BSP
regarding
support for Data/Instruction Cache. I have a XPC850SRZT80BU uProcessor on
a MPC8xxFADS Pilot eval board running Tornado 2.0 w SPR 34893 (FADS 850
BSP support). If I enable Instruction or Data cache, the vxWorks kernel will
hang in the cacheEnable() routine in the kernel startup code. I read in the
target.nr
that the FADS860 had issues in this area for Rev. A/B uP, but that D4 does
not. From
the Motorola site, it appears that the the 850 Rev. BU is on par with the D4
(or at
least it appears to be the latest offering). Also, I get the impression that
this whole
area of contention was with the motFecEnd. Could someone offer an insight on
whether my assumption about the 850 rev is correct? Or rather, has anyone
ran
into problems with getting the 850SR Rev. BU running with data/instruction
cache
enabled? If you did, how did you resolve it? Thanks!

BTW, I find that if I use an mdpPro8xx with a ICM850SR daughtercard, I don't
have this problem. So I am not blaming the vxWorks kernel. I am hoping this
is related to processor rev. Though I just thought about it, I don't
remember
what the uP rev is for the ICM850SR is (I hope Lenoid doesn't flame me for
being an idiot - smile)

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

Newsgroups: comp.os.vxworks
Subject: Re: Reboot on shell prompt does not work
Date: Mon, 01 Jul 2002 00:59:34 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <WPNT8.240849$6m5.205277@rwcrnsc51.ops.asp.att.net>
References: <f57b3351.0206270918.79f34eb8@posting.google.com>

Hello Kinger,

"Kinger" <vkinger@hotmail.com> wrote in message
> I am having trouble while rebooting my
> box(PPC860/Tornado2.0.2/vxworks5.4)from the target shell prompt, it
> hangs my box. Can someone help??

I have seen this type of behavior, but didn't follow-up on it. Look in your
sysToMonitor()
routine and determine which call is causing the hang. Some of these BSPs
will try to
unload the network driver and other type of tasks. Maybe one of those is the
problem.
This would be in your BSPs sysLib.c file. For example, in my BSP, there is a
call
to disable the END drivers interrupts, disable the ENDs themselves, shutdown
the serial port then call the warm reboot routine. Yours may be different,
but
this could be a good place to start.

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

Newsgroups: comp.os.vxworks
Subject: Downloading text file
Date: 30 Jun 2002 18:40:11 -0700
From: yh86us@yahoo.com (chc)
Organization: http://groups.google.com/
Message-ID: <254be7e.0206301740.7ce460df@posting.google.com>

Hi,

I can use Tornado to download birnay file (.out) from the host to the
target. How can I use Tornado to download a text file from the host to
the target? I am using Tornado 2.0.

Thank you.

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

Newsgroups: comp.os.vxworks
Subject: the usage of ARARM
Date: Mon, 1 Jul 2002 23:35:32 +0800
From: "degang" <wdg@bjhhl.sina.net>
Organization: Bentium Ltd. (CN99)
Message-ID: <afoip3$ue7$1@mail.cn99.com>

hi:
    where can i find the reference of ararm?
                thanx

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

Newsgroups: comp.os.vxworks
Subject: Re: the usage of ARARM
Date: Mon, 01 Jul 2002 04:59:04 GMT
From: bill@woola.qswtools.com 
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <skRT8.5901$FG5.522053@newsread2.prod.itd.earthlink.net>
References: <afoip3$ue7$1@mail.cn99.com>

In article <afoip3$ue7$1@mail.cn99.com>,
	"degang" <wdg@bjhhl.sina.net> writes:
> hi:
>     where can i find the reference of ararm?

It's actually GNU AR - the binary archiver.  Here are the
HTML docs:
http://www.gnu.org/manual/binutils-2.12/html_chapter/binutils_1.html#SEC1

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

Newsgroups: comp.os.vxworks
Subject: how to change vxworks compile mode from little-endian to big-endian?
Date: 30 Jun 2002 22:59:59 -0700
From: seasoblue2000@yahoo.com.cn (seasoblue)
Organization: http://groups.google.com/
Message-ID: <e82d8e83.0206302159.4ed27ea@posting.google.com>

Hi, all
    Image for arm7tdmi is default compiled to little-endian mode from
Tornado compiler. But I want to use big-endian mode for my target
board. After I tried and tried,I failed.I can't find where and how to
change! Give me a hand,please!

Best Regards

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

Newsgroups: comp.os.vxworks
Subject: how to change vxworks compile mode from little-endian to big-endian?
Date: 30 Jun 2002 23:06:48 -0700
From: seasoblue2000@yahoo.com.cn (seasoblue)
Organization: http://groups.google.com/
Message-ID: <e82d8e83.0206302206.71e36f75@posting.google.com>

Hi,all
   Image for arm7tdmi core is default compiled by Tornado to
little-endian mode.
But I want to use big-endian mode for my target board. After I tried
and tried,I failed because I can't find where and how to change config
files! Would Anybody give a hand??
  Best regards

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

Newsgroups: comp.os.vxworks
Subject: Re: Downloading text file
Date: 30 Jun 2002 23:12:08 -0700
From: seasoblue2000@yahoo.com.cn (seasoblue)
Organization: http://groups.google.com/
Message-ID: <e82d8e83.0206302212.50213a8d@posting.google.com>
References: <254be7e.0206301740.7ce460df@posting.google.com>

yh86us@yahoo.com (chc) wrote in message news:<254be7e.0206301740.7ce460df@posting.google.com>...
> Hi,
> 
> I can use Tornado to download birnay file (.out) from the host to the
> target. How can I use Tornado to download a text file from the host to
> the target? I am using Tornado 2.0.
> 
> Thank you.

Hi,
   you can do it by ftp. There are two subfunctions to be called:
tftpXfer() and read().
  Good luck.

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

Newsgroups: comp.os.vxworks
Subject: RTM_GET on routing socket always returns ESRCH (when default route is absent)
Date: 30 Jun 2002 23:17:09 -0700
From: sitalakshmi.gautham@wipro.com (Sitalakshmi Gautham)
Organization: http://groups.google.com/
Message-ID: <2fe901df.0206302217.4d9459ed@posting.google.com>

Hi,

RTM_GET on a routing socket to get the routing entry for a given dest,
always returns ESRCH (though the route exists). If the default route
is
added, it always returns the default route, irrespective of the dest.

Attached below is the sample code to get routing entry for a given
dest.
The program works fine on a FreeBSD box, but fails with ESRCH on
VxWorks.

On a VxWorks box, this is the output:

- -> routeShow

ROUTE NET TABLE
destination      gateway              flags  Refcnt  Use          
Interface
- ----------------------------------------------------------------------------
10.10.10.0       10.10.10.146         101    0       0            
ene0
192.168.235.0    192.168.235.146      101    0       0            
fei0
- ----------------------------------------------------------------------------

ROUTE HOST TABLE
destination      gateway              flags  Refcnt  Use          
Interface
- ----------------------------------------------------------------------------
127.0.0.1        127.0.0.1            5      0       0             lo0
- ----------------------------------------------------------------------------
value = 77 = 0x4d = 'M'
- ->
- -> get_routing_entry("192.168.235.1")
write on routing socket failed: errno = 0x3
value = -1 = 0xffffffff
- ->
- -> get_routing_entry("10.10.10.1")
write on routing socket failed: errno = 0x3
value = -1 = 0xffffffff

Is routing sockets on VxWorks different from the way it is on BSD?
Any info on this is greatly appreciated.

Please could anyone let me know what is possibly wrong.

thanks,
Sita

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

#include <stdio.h>
#include <stdlib.h>

#if !defined(_VXWORKS_)
#include <sys/time.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <net/if_dl.h>
#else 
#include "sockLib.h"
#include "inetLib.h"
#include "net/if_dl.h"
#endif

#include <net/route.h>

#define VosLog printf
#if defined(_VXWORKS_)
#define getpid taskIdSelf
#endif

#define MAX_BYTES 512
#define ROUNDUP(a) \
        ((a) > 0 ? (1 + (((a) - 1) | (sizeof(long) - 1))) :
sizeof(long))
#define ADVANCE(x, n) (x += ROUNDUP((n)->sa_len))

struct rt_msg {
        struct rt_msghdr m_rtm;
        char m_space[MAX_BYTES];
};

#if !defined(_VXWORKS_)
main(int argc, char *argv[])
{
        if (argc < 2) {
                printf("usage: test_route_socket <dst IP>\n");
                exit(1);
        }
                
        get_routing_entry(argv[1]);
}
#endif

struct sockaddr_in so_ifa = { sizeof(struct sockaddr_in), AF_INET, 0,
0 };
struct sockaddr_in so_gate = { sizeof(struct sockaddr_in), AF_INET, 0,
0 };
struct sockaddr_in so_mask = { sizeof(struct sockaddr_in), AF_INET, 0,
0 };
struct sockaddr_dl so_ifp = { sizeof(struct sockaddr_dl), AF_LINK, 0,
0 };
                
static void print_getmsg(char *, struct rt_msghdr *, int);
get_routing_entry(char *dst)
{
        struct rt_msghdr rtmsg;
        struct rt_msg s_rtmsg, r_rtmsg;
        int sockfd;
        struct sockaddr_in sin, *sinptr;
        fd_set readfds;
        struct timeval timeout;
        int retval, len, l;
        int mypid = getpid();
        char *cp;

        sin.sin_len = sizeof(struct sockaddr_in);
        sin.sin_family = AF_INET;
        sin.sin_addr.s_addr = inet_addr(dst);

        sockfd = socket(AF_ROUTE, SOCK_RAW, 0);

        if (sockfd < 0) {
                perror("open of routing socket failed\n");
                return -1;
        }

        rtmsg.rtm_version = RTM_VERSION;
        rtmsg.rtm_addrs = RTA_DST | RTA_IFP | RTA_IFA; 

        rtmsg.rtm_type = RTM_GET;
        rtmsg.rtm_flags = RTF_UP;
        rtmsg.rtm_seq = 0;
        rtmsg.rtm_pid = mypid;
        rtmsg.rtm_errno = 0;

        bzero((char *)&s_rtmsg, sizeof(s_rtmsg));

        cp = &s_rtmsg.m_space[0];

#define NEXTADDR(w, u, l) \
        if (rtmsg.rtm_addrs & (w)) { \
                        bcopy((char *)&u, cp, l); cp += l;\
        }

        NEXTADDR(RTA_DST, sin, sizeof(struct sockaddr_in));
        NEXTADDR(RTA_GATEWAY, so_gate, sizeof(struct sockaddr_in));
        NEXTADDR(RTA_NETMASK, so_mask, sizeof(struct sockaddr_in));
        NEXTADDR(RTA_IFP, so_ifp, sizeof(struct sockaddr_dl));
        NEXTADDR(RTA_IFA, so_ifa, sizeof(struct sockaddr_dl));

        rtmsg.rtm_msglen = (int)cp - (int)(&s_rtmsg);
        s_rtmsg.m_rtm = rtmsg;

        if (write(sockfd, &s_rtmsg, rtmsg.rtm_msglen) < 0) {
                perror("write on routing socket failed");
                close(sockfd);
                return -1;
        }

        FD_ZERO(&readfds);
        FD_SET(sockfd, &readfds);
        timeout.tv_sec = 10;
        timeout.tv_usec = 0;
        do {
                if ((retval = select(sockfd+1, &readfds, NULL, NULL,
&timeout)) == -1) {
                        perror("select failed");
                        close(sockfd);
                        return -1;
                }

                if (retval == 0) {
                        VosLog("select timed out\n");
                        close(sockfd);
                        return -1;
                }
                
                bzero((char *)&r_rtmsg, sizeof(r_rtmsg));
                len = read(sockfd, &r_rtmsg, MAX_BYTES);

        } while (r_rtmsg.m_rtm.rtm_pid != mypid ||
r_rtmsg.m_rtm.rtm_type != RTM_GET);

        print_getmsg(dst, &(r_rtmsg.m_rtm), len);

        return 0;
}

void 
print_getmsg(char *dest, struct rt_msghdr *rtm, int msglen)
{
        struct sockaddr_in *dst = NULL, *gate = NULL, *mask = NULL,
*ifa = NULL;
        struct sockaddr_dl *ifp = NULL;
        register struct sockaddr *sa;
        register char *cp;
        register int i;

        (void) printf("   route to: %s\n", dest);
        if (rtm->rtm_version != RTM_VERSION) {
                (void)fprintf(stderr,
                    "routing message version %d not understood\n",
                    rtm->rtm_version);
                return;
        }
        if (rtm->rtm_msglen > (u_short)msglen) {
                (void)fprintf(stderr,
                    "message length mismatch, in packet %d, returned
%d\n",
                    rtm->rtm_msglen, msglen);
        }
        if (rtm->rtm_errno)  {
                (void) fprintf(stderr, "RTM_GET: %s (errno %x)\n",
                    strerror(rtm->rtm_errno), rtm->rtm_errno);
                return;
        }
        cp = ((char *)(rtm + 1));
        if (rtm->rtm_addrs)
                for (i = 1; i; i <<= 1)
                        if (i & rtm->rtm_addrs) {
                                sa = (struct sockaddr *)cp;
                                switch (i) {
                                case RTA_DST:
                                        dst = sa;
                                        break;
                                case RTA_GATEWAY:
                                        gate = sa;
                                        break;
                                case RTA_NETMASK:
                                        mask = sa;
                                        break;
                                case RTA_IFP:
                                        if (sa->sa_family == AF_LINK
&&
                                           ((struct sockaddr_dl
*)sa)->sdl_nlen)
                                                ifp = (struct
sockaddr_dl *)sa;
                                        break;
                                case RTA_IFA:
                                        ifa = (struct sockaddr_in
*)sa;
                                        break;
                                }
                                ADVANCE(cp, sa);
                        }

        if (dst && mask)
                mask->sin_family = dst->sin_family;       /* XXX */
        if (dst)
                (void)printf("destination: %s\n",
inet_ntoa(dst->sin_addr));

        if (mask) {
                if (mask->sin_len < 4)
                        (void)printf("       mask: 0.0.0.0\n");
                else
                        (void)printf("       mask: %s\n",
inet_ntoa(mask->sin_addr));
        }

        if (gate && rtm->rtm_flags & RTF_GATEWAY)
                (void)printf("    gateway: %s\n",
inet_ntoa(gate->sin_addr));
        if (ifp)
                (void)printf("outgoing if: %.*s\n",
                    ifp->sdl_nlen, ifp->sdl_data);
        if (ifa)
                (void)printf(" outif addr: %s\n",
                                inet_ntoa(ifa->sin_addr));

        (void)printf("      flags: 0x%x\n", rtm->rtm_flags);
}

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

Newsgroups: comp.os.vxworks
Subject: Re: how to change vxworks compile mode from little-endian to big-endian?
Date: Mon, 01 Jul 2002 06:16:27 GMT
From: "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM>
Organization: Verio
Message-ID: <newscache$g37kyg$zig$1@lnews.actcom.co.il>
References: <e82d8e83.0206302159.4ed27ea@posting.google.com>

It is relatively easy to instruct the compiler to generate
either endian mode, if supported for a given architecture,
but the hardware needs to be changed as well for the same
engian mode, which sometimes is just a control bit, but sometimes
is a harware pin.
The hard part though is getting the VxWork slibraries to be compiled,
tested and where needed modified for this kind of change.
If you are prepared to pay a substantial amount of money
WindRiver might do it for you, if possible.

"seasoblue" <seasoblue2000@yahoo.com.cn> wrote in message
news:e82d8e83.0206302159.4ed27ea@posting.google.com...
> Hi, all
>     Image for arm7tdmi is default compiled to little-endian mode from
> Tornado compiler. But I want to use big-endian mode for my target
> board. After I tried and tried,I failed.I can't find where and how to
> change! Give me a hand,please!
>
> Best Regards

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

Newsgroups: comp.os.vxworks
Subject: Linking only some archives
Date: Mon, 01 Jul 2002 06:42:03 GMT
From: "Ofer Goren" <ofer_goren@iamba.com>
Organization: Verio
Message-ID: <newscache$4a8kyg$7jg$1@lnews.actcom.co.il>

- ------------------------
Win2k Sp2
Tornado 2.02 for PPC
Diab 4.4b
Envoy 9.2
- ------------------------
Hi.

I have a script that generates a list of archives to be linked to my image.
However, some archives are required for one target, and not required for
another.
I was wonder if, using the project facility, I can add a condition, so
depending on it, the relevant archives will be linked or not. I don't want
to do it in my script, only using the project facility.

So, if I have archives a.a, b.a, c.a and d.a, and I want to link only a.a
and c.a if TARGET=ABC, what do I need to do?

back in the old times of tor1.0.1, we simply edited our makefiles, so
ifeq ($TARGET,ABC)
    LIBS+= a.a d.a
endif

Thanks,

- --
Ofer Goren
Iamba Technologies

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

Newsgroups: comp.os.vxworks
Subject: vxworks bootrom
Date: 30 Jun 2002 23:55:42 -0700
From: rajendra_krsingh@yahoo.com (rajendra)
Organization: http://groups.google.com/
Message-ID: <479ba395.0206302255.18131443@posting.google.com>

Hi,
  here is a problem, I want to build bootrom with my application in it which
is considerable big in size.
Is there any limit on bootrom size ? I am not able to boot from my bootrom
Image (500K)
Do I need to change something (config.h ?? BSP Makefile ??)
 any suggesstion ??

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

Newsgroups: comp.os.vxworks
Subject: Re: Help --- the means of vxWorks Error Number 55
Date: 30 Jun 2002 23:58:22 -0700
From: rajendra_krsingh@yahoo.com (rajendra)
Organization: http://groups.google.com/
Message-ID: <479ba395.0206302258.e7bfbc1@posting.google.com>
References: <15cfb1ac.0206292337.73130f20@posting.google.com>

Hi peng,
 The error comes due to interface queue becoming full . This error code
(ENOBUF) is misleading one VxWorks has ported BSD stack
and in BSD code you can see that ENOBUF is returned when interface queue is
full And why this happens is beacuse of
that NIC is not able to transfer data with the rate , application is sending
as you know that UDP is connection less and it doesn;t wait
for reply.

- -rajendra

peng.liu@utstar.com (peng.liu) wrote in message news:<15cfb1ac.0206292337.73130f20@posting.google.com>...
> Hi all,
> 
> When I send the UDP package on 1200 package/second,
> the socket will report the error 55(NoBuf), the vxWorks
> mBuf and system buffer config is below:
> 
>          NUM_1024 = 25*40
>          NUM_128 = 100*40
>          NUM_2048 = 25*40
>          NUM_256 = 40*40
>          NUM_512 = 40*40
>          NUM_64 = 40*40
> 
>          NUM_SYS_128= 64*40
>          NUM_SYS_256= 64*40
>          NUM_SYS_512= 64*40
>          NUM_SYS_64= 64*40
> 
> When this error happen, I show the mBuf and system buffer num,
> it have many free, so I think the mBuf num is enough, I
> couldn't konw why the vxWorks set this error nomber, and
> when, where the vxWorks will set this error number? who can tell me?
> Thanks very much!
> 
> Thanks & Best Reagards,
> 
> Peng.Liu
> 
> UTStarcom (China) Ltd, Shenzhen Branch

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

Newsgroups: comp.os.vxworks
Subject: Re: INT0 problems with PentiumIII/BX440 brd
Date: Mon, 1 Jul 2002 08:59:25 +0200
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <afoukg$fnd$1@snoopy.bndlg.de>
References: <3D1C4956.92AB8DE1@rochester.rr.com> <afhpr2$653$1@snoopy.bndlg.de> <3D1D4966.D2B7610A@rochester.rr.com>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@p5088f972.dip.t-dialin.net

Dear al kavcak,
I expect the problem to _disappear_ on BSP PentiumPro, when including APIC.
The problem I found is lost information on logging in any i86 BSP when using
i8253Timer as timestamp driver. This driver produces time-information that
leads to wrong reconstruction of target's behaviour when diplaying
WindView-log in GUI.
To get more exact:
There are two timer IC running in parallel. The first one generates the
timer interrupt. The second one is used as timestamp driver. Their frequence
is identical, but they run with different starting-offsets (that's the
beginning of the problem).
When a timer interrupt occurs, the intEntry-event must be corrected by one
tick, which will occure within the next instructions (tickAnnounce). In GUI
this correction is always done, when a timestamp rollover is detected. This
is correct in most situations, but not if following scenario occurs:
tickAnnounce
intExit (t = t0)
..any task running, no event occurs)
intEntry (t> t0 + systemTick)
Now GUI can't detect the rollover. This might happen if the prior interrupt
was executed very fast and the second one is delayed (perhaps cache-miss,
RAM-refresh, ...).
HTH
Michael

"info access" <iau@rochester.rr.com> schrieb im Newsbeitrag
news:3D1D4966.D2B7610A@rochester.rr.com...
> Dear Michael Lawnick,
>
> Thanks first for your time and effort to help.
>
> About your first question I am not exactly sure what you mean, but the
> way it manifests itself is that while tasks are running, the INT0
interrupt
> every second or third tick takes 1 tick length time. And randomly it can
> take as much as two ticks as well, and it doesn't get interrupted at the
> mid point, as if it lost a tick count ??? Weird.
>
> I am pretty sure since I read about it in the manual since, that the
> INCLUDE_APIC_TIMER is true or defined.
>
> On Monday I double check this and will also look into the
> intEntry event. Do you think that this problem is specific to the
> chipset (440BX)?
> If I understand you correctly, the problem might go away if I don't
> include the timestamp timer?
>
> I haven't seen this anomaly with the Pentium BSP, or
> the 486 BSP for that matter.
>
> Regards
>
> -- al k
>
>
> Michael Lawnick wrote:
>
> > Hi al kavcak,
> >
> > don't trust WindView when its logging timer interrupts with 1 system
tick
> > length:
> > I'm pretty sure, you see a single spike to INT0 just some usec before
isn't
> > it ?
> > Then you see the TSR matter I'm just struggling around with WRS. Its a
> > problem of WindView logging in connection with timestamp driver. It
results
> > in displaying the intEntry event one tick earlier than it really occurs,
> > what leads to the '1 system tick interrupt'.
> >
> > Please check that you PentiumPro BSP uses the correct timer lib, i.e.
> > PentiumPro has a built-in counter that is used as timestamp driver if
all is
> > defined properly (INCLUDE_APIC_TIMER).
> >
> > HTH
> > Michael
> >
> > "info access" <iau@rochester.rr.com> schrieb im Newsbeitrag
> > news:3D1C4956.92AB8DE1@rochester.rr.com...
> > > To all the experts,
> > >
> > > I am facing strange problem, and wonder whether anybody faced this
> > > before.
> > >
> > > I am trying to upgrade from a Pentium-based board to a
PentiumIII-based
> > > board.
> > > Using the pcPentiumPro BSP with Tornado 2.0 I built the bootrom_uncmp
> > > and
> > > vxworks for the target and when running the application I noticed a
> > > strange problem
> > > in WindView:  The INT0 interrupt (timer/tick interrupt)  takes the
whole
> > > tick time,
> > > i.e. 16.7ms. So one of the task that I run is ~150ms, and its
> > > interrupted about
> > > 4 to 6 times with 16.7ms of INT0 time. Regularly INT0 takes a couple
of
> > > micro-
> > > seconds.
> > >
> > > Also have to mention that the boot-up time is unusually slow; probably
> > > something is not initialized properly.
> > >
> > > Any ideas what might be wrong?
> > >
> > > Thanks
> > >
> > > -- al kavcak
> > >
> > >
>

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

Newsgroups: comp.os.vxworks
Subject: Re: VxWorks FTP client data transfer problem.
Date: 1 Jul 2002 00:00:05 -0700
From: rajendra_krsingh@yahoo.com (rajendra)
Organization: http://groups.google.com/
Message-ID: <479ba395.0206302300.320f7f91@posting.google.com>
References: <d415d24.0206291914.65d0fc00@posting.google.com> <newscache$freiyg$hzd$1@lnews.actcom.co.il>

I doubt that it is due to "linger" timeout. I also faced similar problem
while downloading image from Linux FTP server
that vxworks ftp client works properly with WFTPD but doesn;t work with
linux FTP server.
In Linux FTP server case, ftp client waits indefinitly but when you kill ftp
server on linux, client is able to load image.
So it seems to me that there is some protocol problem between some ftp
server and vxworks client.

 I am sure , If you try with WFTPD you will not have any problem.

- -rajendra

"Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM> wrote in message news:<newscache$freiyg$hzd$1@lnews.actcom.co.il>...
> To me this looks like you did not set the "linger" timeout,
> so the server receives connection closure before
> the entire data has been transmitted.
> 
> 
> "Mohasin" <mohasin.zaki@wipro.com> wrote in message
> news:d415d24.0206291914.65d0fc00@posting.google.com...
> > Hi,
> >    My FTP client running in the target logs into the server, does a "STOR
> > <file>" and then it starts writing the data into the data
> > connection. Then the client closes the data connection and waits for a
> > reply in the control connection. After having got a "226 Transfer
> > Completed." I close the control connection.
> >
> > The above sequence seems to be correct. Please correct me if I am wrong.
> > Now, assuming the above sequence is correct. I am having corruption in
> > the image stored in the server. Point to be noted is that the
> > corruption seems to be the last packet of data received by the Server
> > (which mostly would mean that the Server is not closing its local file
> > descriptor).
> >
> > Whats happening in the client side is..
> > 1. I am FTPing at a very high rate in the above sequence.
> > 2. I am getting the Bytes written into the socket as a correct number
> > (I am writing all the data in a single shot).
> > 3. I am closing the data connection.
> > 4. I am getting reply "226 Transfer Completed..."
> > 5. I am closing the control connection.
> >
> > Could anyone please tell
> > 1. If the sequence of FTPing is correct?.
> > 2. Am I following the protocol correctly?.
> > 3. Can I write all the data into the socket in one shot?. Could that
> > be the problem.?.
> >
> > Any suggestions or hints that I could use.
> >
> > Thank you all.
> >
> > Regards,
> > MOhasin

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

Newsgroups: comp.os.vxworks
Subject: S_iosLib_INVALID_FILE_DESCRIPTOR
Date: 1 Jul 2002 00:02:29 -0700
From: hema@comneti.com (hema)
Organization: http://groups.google.com/
Message-ID: <7d240511.0206302302.5a9e4c8@posting.google.com>

hai 

i just need some help regarding "S_iosLib_INVALID_FILE_DESCRIPTOR"
when does this error occur??

and after establishing a socket between my host /target 
and i run a httpD task.
my page is not loading properly. i m able to load all the text/html
and my image wont load,why is it so??

when i did a "inetstatShow"

the error i see :

231 bytes pending  pending on recv Q 

what does this means??
all the packets are yet to be out of the socket???
why  and when does this happen???

i also did a netstackDataPoolShow and free clusters do exist.

do let me know as eaery as possible, as i m unable to proceed further.

thanx,
hema

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

Newsgroups: comp.os.vxworks
Subject: Re: Dynamic module unloading
Date: Mon, 1 Jul 2002 07:31:17 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns923E606CB5704borkhuisagerecom@192.19.193.66>
References: <1025278839.163913@azores.network-i.net> <MPG.17868a53779739c398968c@news1.news.adelphia.net>

David Cooper <dcooper000@adelphia.net> wrote:

> Thomas,
> 
> If you use loadModule() to load a module with a name of a previosly 
> loaded module, the dynamic loader will automatically replace the 
> previously loaded module with the new one (including all symbols).

This mechanism has one problem however. When you load module A and then 
module B, and module B uses functions in module A these will be resolved at 
loadtime. When you load module A again these calls will still be pointing 
to the original functions. So if you want to do this you have to stop and 
unload all modules with pointers to module A.

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: how to change vxworks compile mode from little-endian to big-endian?
Date: Mon, 1 Jul 2002 07:48:41 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns923E635FA1851borkhuisagerecom@192.19.193.66>
References: <e82d8e83.0206302159.4ed27ea@posting.google.com> <newscache$g37kyg$zig$1@lnews.actcom.co.il>

"Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM> wrote:

> It is relatively easy to instruct the compiler to generate
> either endian mode, if supported for a given architecture,
> but the hardware needs to be changed as well for the same
> engian mode, which sometimes is just a control bit, but sometimes
> is a harware pin.

It is not only the compiler, but also the libraries that are shipped with 
Tornado, and you cannot convert them to big endian AFAIK without 
recompiling the VxWorks source code.
For T2.0.1 the libraries are all little endian, for T2.1-ARM I don't know 
(T2.1-MIPS is supplies in both little and big endian).

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: Linking only some archives
Date: Mon, 1 Jul 2002 07:51:36 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns923E63DDFFC7Fborkhuisagerecom@192.19.193.66>
References: <newscache$4a8kyg$7jg$1@lnews.actcom.co.il>

"Ofer Goren" <ofer_goren@iamba.com> wrote:
> I have a script that generates a list of archives to be linked to my
> image. However, some archives are required for one target, and not
> required for another.
> I was wonder if, using the project facility, I can add a condition, so
> depending on it, the relevant archives will be linked or not. I don't
> want to do it in my script, only using the project facility.
> 
> So, if I have archives a.a, b.a, c.a and d.a, and I want to link only
> a.a and c.a if TARGET=ABC, what do I need to do?
> 
> back in the old times of tor1.0.1, we simply edited our makefiles, so
> ifeq ($TARGET,ABC)
>     LIBS+= a.a d.a
> endif

If you define a startup function in your archive you can call this from 
prjConfig.c. The definition of the calls is mode in the CDF files.
This startup function can be empty, but because it is called the right 
library will be linked in.

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: a question about snds100 's nvram
Date: Tue, 2 Jul 2002 04:13:33 +0800
From: "degang" <wdg@bjhhl.sina.net>
Organization: Bentium Ltd. (CN99)
Message-ID: <afp32d$1as2$1@mail.cn99.com>

hi:
    i am now debuging samsung's snds100 ,i use a 256k bit eeprom ,i cant
only change the even boot parameter now,the odd parameter cant be
changed.help!
  thanx

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

Newsgroups: comp.os.vxworks
Subject: Tornado project facility
Date: 1 Jul 2002 01:20:30 -0700
From: rajendra_krsingh@yahoo.com (rajendra)
Organization: http://groups.google.com/
Message-ID: <479ba395.0207010020.4f0ed6b6@posting.google.com>

Hi,
  Is there any way to add new modules in tornado project? While
building custom
vxworks image using tornado GUI I want my module to be listed there so
that I can configure (select/unselect and changes parameters value) my
module.
 Currently I have to do this by changing makefiles and appropriate
header files.

How tornado is able to lists C++ componets, application components...
etc.
Can't I add my component there ?
Will I need to modify  some tcl scripts??

Any suggestions are welcome ??

thanks
rajendra

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

Newsgroups: comp.os.vxworks
Subject: Re: Tornado project facility
Date: Mon, 1 Jul 2002 08:41:01 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns923E6C3EC8CF5borkhuisagerecom@192.19.193.66>
References: <479ba395.0207010020.4f0ed6b6@posting.google.com>

rajendra_krsingh@yahoo.com (rajendra) wrote:

> Hi,
>   Is there any way to add new modules in tornado project? While
> building custom
> vxworks image using tornado GUI I want my module to be listed there so
> that I can configure (select/unselect and changes parameters value) my
> module.

Yes, see http://www.xs4all.nl/~borkhuis/vxworks/vxw_pt2.html#2.4.

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: any one with experience in tornado1.0?challenge to tornado1.0 users
Date: Mon, 1 Jul 2002 11:31:41 +0200
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <afp7ht$v8d$1@snoopy.bndlg.de>
References: <f81c4277.0206280134.2bbfcd0b@posting.google.com> <afhhff$mtq$1@snoopy.bndlg.de> <f81c4277.0206282132.5c2a9c1b@posting.google.com>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@p5088f972.dip.t-dialin.net

Still you haven't told us your target's architecture.
You haven't bootet your target (along your description) - do you have any ?
Remember: you aren't running VC where you start an application on
development PC, but Tornado, a cross development system, where you need a
host for editing/compiling and a target for running/debugging !

Forget your vxColor for now, this peace of code will be interesting a few
steps later.

Michael

"subbarayan" <vxnerd@rediffmail.com> schrieb im Newsbeitrag
news:f81c4277.0206282132.5c2a9c1b@posting.google.com...
> dear Mr.Lawnick,
> Thanks for ur reply u posted for my question.here are the things i did
> during configuration and problems which i encountered:
> first I started registry(automatic) then port mapper comes into
> action.after that i open tornado1.0.
> opened the sample file called color.c .then accessed project menu and
> clicked on customise:
> then gave the following settings:
> build target:CPU=I80386 ADDED_CFLAGS=-g vxcolor.o
> and then compiled it by clicking the customised menu which was given
> from the above setting dialogue box.
> it says build successful.then clicked on make current sourcefile menu
> and made the file.
> thats also completed successfully.
> after that accessed the make pc486 menu,selected bootrom targets and
> made bootrom_uncmp and then made vxworks.st file.
> all these things are finishing successfully.
> after that i jus accessed the tool menu and clicked on target
> server-configure and gave the following settings:
> target server name-my machine name in network.
> property settings:
> backend-wdbrpc,timeout-10 target ip address-my machine ip
> core file and symbols-file path from target and then global symbols
> memory cache size-defaultsize
> miscelaneous-selected all options
> virtual console-targetwindow as virtual console.
> after making these settings,my target was launched by clicking launch
> target.
> my target server starts
> it gives the following message:
> attaching backend succeeded
> connecting to target agent...
> error-
> rpc core backend client connection time out-
> then the target server shuts down automatically.
> i tried changing the time out parameter but its of no use.
> kindly tell me wheres the error and how to rectify it?
> regards,
> thankful to u,
> subbarayan
>
>
>
>
>
> "Michael Lawnick" <Lawnick@softec.de> wrote in message
news:<afhhff$mtq$1@snoopy.bndlg.de>...
> > Hi subbarayan,
> >
> > I don't expect anybody replying you with a step by step answer.
> > All you need is written in manual. Your problem is that you haven't
> > read/understood all or you have a specific problem not covered by
manual. In
> > the latter case a concrete description of the problems is unavoidable to
get
> > help.
> > Give us your HostOS, BSP-Type (I assume i86 based)
> > Tell what you've done and what the exact (logs of serial
interface/target
> > server/...) results are.
> >
> > Michael
> >
> > "subbarayan" <vxnerd@rediffmail.com> schrieb im Newsbeitrag
> > news:f81c4277.0206280134.2bbfcd0b@posting.google.com...
> > > Can any one help me get the target configuration proceedure for
> > > tornado1.0 in order to create a floppy oriented bootable target?I need
> > > the step by step proceedure (including the menus to be accessed)if
> > > possible becos i am helpless now and further the manuals are of no
> > > help to me.I have a specific problem of the target server hanging and
> > > shutting down before the target is launched.i am unable to know the
> > > reason behind it and can any one tell me where the error could be and
> > > how should i rectify it?becos of this error i am unable to work on
> > > vxworks itself.
> > > i have posted this question many times but no response.I am thankful
> > > and greatful in advance to the person who is helping me.
> > > any one with a solution can mail the solution to vxnerd@rediffmail.com
> > > or post the reply here itself in this board .

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

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

From vxwexplo-errs@csg.lbl.gov  Mon Jul  1 06:17:59 2002
From: A Mohammed Arif <mdarif@yahoo.com>
Date: Mon Jul  1 06:18:01 PDT 2002

Hi,
 We are having MIPS malta board, which has GT64120A
host bridge. we have developed a pci add on card. we
wanted to write pci device drivers for it in vxworks.
We are able to configure the pci configuration
registers and all. But able to write on BAR0 but not
able to read teh same value back.

Can anybody help us in solving in this regard.

where K1base is 0x10000000 PCI mem1 address in memory
map

  membaseCsr   &= PCI_MEMBASE_MASK;  
  membaseCsr   |= K1BASE;       /* 1-1 map,
noncacheable */

  pciConfigOutWord ( pDev->pciBus, pDev->pciDevice,
pDev->funcNo, PCI_CFG_COMMAND, PCI_CMD_MEM_ENABLE |
PCI_CMD_MASTER_ENABLE);
 
        /* disable sleep mode */
  pciConfigOutWord (pDev->pciBus, pDev->pciDevice,
pDev->funcNo, PCI_CFG_MODE, SLEEP_MODE_DIS);

  printf("membaseCsr 0x%lx \n", membaseCsr ) ;

  *((volatile UINT32 *)( membaseCsr + 0x00)) =
0x01000100   ;
  printf("Data read 0x%lx \n", *((volatile UINT32
*)(membaseCsr + 0x00 )) );

Thanks in advance

Vikas 

__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com

From vxwexplo-errs@csg.lbl.gov  Tue Jul  2 04:03:16 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Tue Jul  2 04:03:18 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Tue Jul  2 04:03:11 PDT 2002

        Subject: Re: how to change vxworks compile mode from little-endian to big-endian?
        Subject: ifShow problem
        Subject: Re: [AE] Assembly in P3 BSP - BIOS erase block
        Subject: Re: Can you help me analyze it? vxWorks expert!
        Subject: Re: ifShow problem
        Subject: Re: ifShow problem
        Subject: how to use ping utility other than shell
        Subject: Re: a question about snds100 's nvram
        Subject: How can I specify Text segment to be loaded at a fixed address?
        Subject: Re: how to use ping utility other than shell
        Subject: Anyone actually did 82xx CP Loading Measurement?
        Subject: Re: vxworks bootrom
        Subject: Printing from an exception in an interrupt handler
        Subject: Re: interrupts stuck on x86/VIA 82C686A
        Subject: Re: Printing from an exception in an interrupt handler
        Subject: fei end driver failure
        Subject: Re: Unable to access symbols for applications
        Subject: Re: how to change vxworks compile mode from little-endian to big-endian?
        Subject: Re: Can you help me analyze it? vxWorks expert!
        Subject: Re: ifShow problem
        Subject: Re: Printing from an exception in an interrupt handler
        Subject: Linker-Problem: two memory regions
        Subject: Re: How can I specify Text segment to be loaded at a fixed address?
        Subject: Re: a question about snds100 's nvram
        Subject: Re: ifShow problem
        Subject: Re: Can you help me analyze it? vxWorks expert!
        Subject: target abd host in same machine
        Subject: Re: ifShow problem
        Subject: snds100 vxworks bsp
        Subject: Re: how to change vxworks compile mode from little-endian to big-endian?
        Subject: Re: Unable to access symbols for applications
        Subject: Task priority doesnot reduce after priority Inversion .

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

Newsgroups: comp.os.vxworks
Subject: Re: how to change vxworks compile mode from little-endian to big-endian?
Date: Mon, 01 Jul 2002 13:44:58 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <u1ZT8.212805$nZ3.99515@rwcrnsc53>
References: <e82d8e83.0206302206.71e36f75@posting.google.com>

Hello Seasoblue,

    For T2.1.1, set the compiler to TOOL=gnube and change the jumper on
the board to select Big-Endian. I have done this on the ARM7TDMI
for T2.1.1 using the GNU toolchain. Don't remember for T2.0.1 and
never used it pre-T2. (see if you have the libARMARCH4gnubevx.a
library in your target/lib directory). Note, you will have to rebuild the
bootrom and re-enter your bootrom settings.

"seasoblue" <seasoblue2000@yahoo.com.cn> wrote in message
news:e82d8e83.0206302206.71e36f75@posting.google.com...
> Hi,all
>    Image for arm7tdmi core is default compiled by Tornado to
> little-endian mode.
> But I want to use big-endian mode for my target board. After I tried
> and tried,I failed because I can't find where and how to change config
> files! Would Anybody give a hand??
>   Best regards

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

Newsgroups: comp.os.vxworks
Subject: ifShow problem
Date: Mon, 1 Jul 2002 14:54:37 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns923EAB8B755E2borkhuisagerecom@192.19.193.66>

Hello,

I am porting a driver to a new platform, a PPC603 board. This works well, 
the driver is running and I can communicate through the device.

But when looking at the packet counters using ifShow all counters stay on 
0, except packets sent, this one only counts the outgoing ARP replies. This 
driver works OK on a number of different other platforms. Why are the 
counters not incremented?

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: [AE] Assembly in P3 BSP - BIOS erase block
Date: Mon, 01 Jul 2002 11:10:49 -0400
From: david lindauer <dlindauer@notifier-is.net>
Message-ID: <3D2070F9.B0FCCDB9@notifier-is.net>
References: <d64227b2.0206271015.384e8385@posting.google.com>

This probably won't work since it is inherently real-mode code.  Consult
your bios documentation to see if there is a PMODE interface to this
functionality, and recode accordingly if you find one.  (generally you
would have to get a PMODE entry point while in real mode, then make sure
VxWorks doesn't page the bios to a different place so you can call it).

David

BS wrote:

> [AE] Assembly in P3 BSP - BIOS erase block
>
> BSP - derived from Pentium3 Tornado AE BSP.
> Processor - Pentium 3 LP
>
> I want to add the following assembly (biosEraseBlock) to the sysALib.s
> file in order to erase a part of the BIOS
> flash chip. However, after executing the code I get this error. Does
> anyone have any advice on what I am doing wrong?
>
> The assembly code was originally used in DOS and changed to work
> within the Pentium 2 base BSP for AE. I have both
> the P3 AE and DOS assembly code included below.
>
> [vxKernel] -> vmicEraseBios
> Erasing flash block at 0xFFF90000
>
> Trap to uninitialized vector number 21 (0-255).
> Page Dir Base   : 0x02116000
> Esp0 0x01013be2 : 0x2810fff9, 0xfff90201, 0x00000000, 0x3c000000
> Esp0 0x01013bf2 : 0x27ac0101, 0xfff90201, 0x00000000, 0x3c380000
> Program Counter : 0x00000008
> Code Selector   : 0x00003216
> Eflags          : 0x04d49508
> Error Code      : 0x020d7236
> Task: 0x212f0c8 "tShell"
>
> --- Code used in the base Pentium3 BSP for AE
> /*********************************
> *
> * biosEraseBlock - read the Z
> *
> * RETURNS: N/A
> *
> * NOMANUAL
>
> * void biosEraseBlock (int upper32,
>                        int lower32)
>
> */
>
>         .balign 16,0x90
> FUNC_LABEL(biosEraseBlock)
>   push  %ax
>   push  %di
>   push  %si
>
>   mov SP_ARG1(%esp),%di
>   mov SP_ARG2(%esp),%si
>   mov $3,%al
>   mov $0xE0,%ah
>
>   int $0x15
>
>   pop %si
>   pop %di
>   pop %ax
>
>         ret
>
> ---- DOS version of the assembly
> /* General Software media erase block BIOS call */
> void meb( int u32, int l32 )
> {
>   asm {
>     push ax
>     push di
>     push si
>
>     mov di,u32        /* upper half 32 bit source address */
>     mov si,l32        /* lower half 32 bit source address */
>     mov al,1          /* erase block */
>     mov ah,0xE0       /* flash device function call (uses MTD) */
>
>     int 0x15
>
>     pop si
>     pop di
>     pop ax
>   }
> }

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

Newsgroups: comp.os.vxworks
Subject: Re: Can you help me analyze it? vxWorks expert!
Date: Mon, 01 Jul 2002 11:16:07 -0400
From: david lindauer <dlindauer@notifier-is.net>
Message-ID: <3D207237.7BF51F3D@notifier-is.net>
References: <acabfdad.0206271836.69f4b22f@posting.google.com>

In the future you may wish to try 'comp.protocols.ppp' for ppp questions.
But this log seems to show that the client side does not want to do CHAP
authentication.  (LCP is the first stage of negotiations in which the type
of authentication is negotiated, the client rejected chap with a CONFREJ
so the server terminated the connection).

David

xiaomingtang wrote:

> host machine: windows 98
> target machine: vxWorks
>  I wanna configure host as ppp server and target as ppp client over
> NULL MODEM,and ppp server has been activated.but when ppp client
> connects,the following information buzzle me very much.so I type it on
> this group,'cause I entirely believe, someone can help me. thanks in
> advance.
>
> client side show:
>
> Attaching networking interface ppp0...
> ppp0:ppp2.1.2 start by
> ppp0:Connext:ppp0 <--> /tyCo/0
> ppp0:sent[LCP ConfReq id=0xbe <mru 1500> <magic 0x4ca> <pcomp>
> <accomp>]
> ppp0:rcvd[LCP confReq id=0x1  <asyncmap 0xa0000> <auth chap 80> <magic
> 0x186896> <pcomp><accomp> <11 04 05 dc><13 13 01 20 36 6f c1 96 68 18
> 00 80 09 6e c1 c4 0f 00 00>]
> ppp0:sent[LCP ConfRej id=0x1 <auth chap 80> <11 04 05 dc> <13 13 01 20
> 36 6f c1 96 68 18 00 80 09 6e c1 c4 0f 00 00>]
> ppp0:rcvd[LCP ConfReq id=0x22 <asyncmap 0xa0000><magic
> 0x186896><pcomp><accomp>
> ppp0:sent[LCP ConfReq id=0x22 <asyncmap 0xa0000><magic
> 0x186896><pcomp><accomp>
> ppp0:sent[LCP ConfReq id=0xbe><mru 1500><magic 0xc4><pcomp><accomp>]
> ppp0:rcvd[LCP ConfReq id=0xbe><mru 1500><magic 0xc4><pcomp><accomp>]
> ppp0:sent[IPCP ConfReq id=0x3 <addr 172.16.45.50><Compress VJ of 01>]
> ppp0:rcvd[LCP TermReq id=0x3]
> ppp0:LCP terminated at peer's request
> ppp0:sent[LCP TermAck id=0x3]
> ppp0:Connection terminated.
> ppp0: timeout:could not establish link with peer.
>
> server side shows:(my OS uses chinese character systesm,so following
> information is translated by myself.)
> 12-03-1998 10:01:14.85 - Generic NULL Modem in using&#12290;
> 12-03-1998 10:01:14.85 - Type of Modem: Generic NULL Modem
> 12-03-1998 10:01:14.85 - information path of Modem: MARKCR~2.INF
> 12-03-1998 10:01:14.85 - information segment of Modem: MC02
> 12-03-1998 10:01:15.06 - 115200,N,8,1
> 12-03-1998 10:01:15.06 - 115200,N,8,1
> 12-03-1998 10:01:15.06 - Warning:can't load
> string&#8220;FlowControl_Soft&#8221;&#12290;
> 12-03-1998 10:01:15.06 - initializing Modem.12-03-1998 10:01:15.06 -
> send: <cr><cr>
> 12-03-1998 10:01:15.06 - waiting call&#12290;
> 12-03-1998 10:01:51.59 - recieved: ~
> 12-03-1998 10:01:51.59 - recieved: <ff>
> 12-03-1998 10:01:51.59 - translated response: connection
> 12-03-1998 10:01:51.59 - recieved: }
> 12-03-1998 10:01:51.59 - recieved: #
> 12-03-1998 10:01:51.59 - recieved: <c0>
> 12-03-1998 10:01:51.59 - recieved: !
> 12-03-1998 10:01:51.59 - recieved: }
> 12-03-1998 10:01:51.59 - recieved: !
> 12-03-1998 10:01:51.60 - answering call.
> 12-03-1998 10:01:51.60 - send: HELLO
> 12-03-1998 10:01:51.60 - connected baudrate 115200bps&#12290;
> 12-03-1998 10:01:51.60 - error control close or unknown.
> 12-03-1998 10:01:51.60 - data compression close or unknow.
> 12-03-1998 10:01:54.74 - hanging up Modem.
> 12-03-1998 10:01:54.74 - down DTR for hanging up hardware.
> 12-03-1998 10:01:57.95 - send: Bye
> 12-03-1998 10:01:57.95 - 115200,N,8,1
> 12-03-1998 10:01:57.95 - initializing Modem.12-03-1998 10:01:57.95 -
> send: <cr><cr>
> 12-03-1998 10:01:57.95 - waiting call
> 12-03-1998 10:01:57.95 - hanging up Modem.
> 12-03-1998 10:01:57.95 - conversation result:
> 12-03-1998 10:01:57.95 -             read : 243 bytes
> 12-03-1998 10:01:57.95 -             write: 206 bytes
> 12-03-1998 10:01:57.95 - Generic NULL Modem closed.
>
> Does this show chap 80 authenticates passed,but IPCP not? or other
> reason?

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

Newsgroups: comp.os.vxworks
Subject: Re: ifShow problem
Date: Mon, 1 Jul 2002 15:30:08 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns923EB1907A484borkhuisagerecom@192.19.193.66>
References: <Xns923EAB8B755E2borkhuisagerecom@192.19.193.66>

Johan Borkhuis <borkhuis@agere.com> wrote:

> Hello,
> 
> I am porting a driver to a new platform, a PPC603 board. This works
> well, the driver is running and I can communicate through the device.
> 
> But when looking at the packet counters using ifShow all counters stay
> on 0, except packets sent, this one only counts the outgoing ARP
> replies. This driver works OK on a number of different other
> platforms. Why are the counters not incremented?

Something I forgot to mention: this only is a problem on the target 
shell. I just found out that on the host shell the data is shown (and is 
correct). So WDB uses another way to extract the data. But why is only 
one of the 2 places updated with the traffic numbers?

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: ifShow problem
Date: Mon, 01 Jul 2002 15:36:37 GMT
From: "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM>
Organization: Verio
Message-ID: <newscache$61xkyg$yhh$1@lnews.actcom.co.il>
References: <Xns923EAB8B755E2borkhuisagerecom@192.19.193.66>

It is the driver's responsability to increment the packet
counters which are inside the if_net structure.
BSD drivers increments these counters directly.

"Johan Borkhuis" <borkhuis@agere.com> wrote in message
news:Xns923EAB8B755E2borkhuisagerecom@192.19.193.66...
> Hello,
>
> I am porting a driver to a new platform, a PPC603 board. This works well,
> the driver is running and I can communicate through the device.
>
> But when looking at the packet counters using ifShow all counters stay on
> 0, except packets sent, this one only counts the outgoing ARP replies.
This
> driver works OK on a number of different other platforms. Why are the
> counters not incremented?
>
> Groeten,
>         Johan
>
> --
>         o o o o o o o . . .   _____________________________
>        o      _____           ||    Johan Borkhuis        |
>      .][__n_n_|DD[  ====_____  |    borkhuis@agere.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,comp.os.qnx
Subject: how to use ping utility other than shell
Date: Mon, 1 Jul 2002 16:59:41 +0000 (UTC)
From: "Ganesh Anand" <ganeshtp@myw.ltindia.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <0d7170fb4b7d16b8d526179066f719f9.98538@mygate.mailgate.org>

hi guys,

        i need all ur assitance in solving this probelm. i had been
trying to use the ping utility in my software in which i am not loading
the target shell. i had to use ping in my software other than using ping
in shell prompt. whatever i pass as arguments it gives always ERROR.

        my requirment i need to establish communication between two
boards with MPC 823 processor in both. i had changed ip adrress of both
the boards & both are communicating. same thing i had to implement for
32 boards during that i had to definitely use PING as i feel. how to use
it correctly i had included INCLUDE_PING in my software then also it
dosen't come good.

       it would be of great help to me if somebody could show some light
on this probelm.

     thank you.

 ganesh

       
     

- -- 
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: Re: a question about snds100 's nvram
Date: Tue, 02 Jul 2002 01:16:58 +0800
From: TheOne <kerick@ethome.net.tw>
Organization: ETHOME InterNetNews site
Message-ID: <kqu0iuclhipqbg3o8k6k42sguner0ofdi9@4ax.com>
References: <afp32d$1as2$1@mail.cn99.com>

dump the memory to check all odd bits are correct first.
I did encount the problem due to the hardware.

On Tue, 2 Jul 2002 04:13:33 +0800, "degang" <wdg@bjhhl.sina.net>
wrote:

>hi:
>    i am now debuging samsung's snds100 ,i use a 256k bit eeprom ,i cant
>only change the even boot parameter now,the odd parameter cant be
>changed.help!
>  thanx
>

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

Newsgroups: comp.os.vxworks
Subject: How can I specify Text segment to be loaded at a fixed address?
Date: Mon, 1 Jul 2002 10:25:55 -0700
From: "Liang Yang" <Liang.Yang@asu.edu>
Organization: RTS-LAB
Message-ID: <afq37u$410$1@news.asu.edu>
Reply-To: "Liang Yang" <Liang.Yang@asu.edu>

Hi,

I want the Text segment always to be loaded at the
same fixed address when I download .out file to
the target machine. How can I do it?

Thanks.

Liang

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

Newsgroups: comp.os.vxworks,comp.os.qnx
Subject: Re: how to use ping utility other than shell
Date: Mon, 01 Jul 2002 14:35:12 -0400
From: david lindauer <dlindauer@notifier-is.net>
Message-ID: <3D20A0E0.A76AE942@notifier-is.net>
References: <0d7170fb4b7d16b8d526179066f719f9.98538@mygate.mailgate.org>

you will also have to include ICMP, which is responsible for responding to a
PING message.

David

Ganesh Anand wrote:

> hi guys,
>
>         i need all ur assitance in solving this probelm. i had been
> trying to use the ping utility in my software in which i am not loading
> the target shell. i had to use ping in my software other than using ping
> in shell prompt. whatever i pass as arguments it gives always ERROR.
>
>         my requirment i need to establish communication between two
> boards with MPC 823 processor in both. i had changed ip adrress of both
> the boards & both are communicating. same thing i had to implement for
> 32 boards during that i had to definitely use PING as i feel. how to use
> it correctly i had included INCLUDE_PING in my software then also it
> dosen't come good.
>
>        it would be of great help to me if somebody could show some light
> on this probelm.
>
>      thank you.
>
>  ganesh
>
>
>
>
> --
> Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.sys.powerpc.misc,comp.sys.powerpc.tech,comp.os.vxworks
Subject: Anyone actually did 82xx CP Loading Measurement?
Date: 1 Jul 2002 12:26:13 -0700
From: ryeung@earthlink.net (Raymond Yeung)
Organization: http://groups.google.com/
Message-ID: <d83bb8e3.0207011126.2ac6581@posting.google.com>

Motorola suggests the following procedure on their MPC8260 manual
for measuring CP Loading:

1. Program the tick of the RISC timers to be every 1,024 x 16 = 16,384
   system clocks.
     :
3. Using the SET TIMER command, initialized all 16 RISC timers to have a 
   timer period of 0xFFFF, which equates to 65,536.
4. Program one of the four general-purpose timers to increment once every
   tick.  The general-purpose timer should be free-running and should have 
   a timeout of 65,536.
     :

Here're the questions:
1. My understanding is that, the general purpose timer can take the system
   clock (i.e. the CPM clock) divided by 16 then divided again by a pre-scalar
   value of maximum of 256.  Even if I slow it down to the maximum, the 
   best I can get is 256 x 16 that of system clock.
   Don't I need to match the input clock rate in both RISC and general purpose
   timers?

2. I'm thinking of lower the scaling factor for the RISC timers from
         1,024 x 16  to
         1,024 x 4
   This way, I can use the maximum prescale factor for the general purpose
   timer, i.e.
         256 x 16
   And all counters will be changed at the same rate.  Anyone sees any
   problem with this?

Thanks,
Raymond

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

Newsgroups: comp.os.vxworks
Subject: Re: vxworks bootrom
Date: Mon, 01 Jul 2002 19:57:00 GMT
From: David Cooper <dcooper000@adelphia.net>
Organization: none
Message-ID: <MPG.178a7e106ec651f598968e@news1.news.adelphia.net>
References: <479ba395.0206302255.18131443@posting.google.com>

Are ROM_TEXT_ADRS, ROM_SIZE, RAM_LOW_ADRS, and RAM_HIGH_ADRS (in config.h 
and makefile) set correctly ?  Did your bootrom work before you built the 
application with it ?

...david

- -- 
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
   Genealogy Utilities & Family Research
Researching: ALLEN,BERZONER,COHEN,COOPER,KUPFERZMIDT,
POSNER (POIZNER), PRITIKIN, STARKMAN
Dachau Camp Entry List, Genealogy Utilities
http://home.adelphia.net/~dcooper000

In article <479ba395.0206302255.18131443@posting.google.com>, 
rajendra_krsingh@yahoo.com says...
> Hi,
>   here is a problem, I want to build bootrom with my application in it which
> is considerable big in size.
> Is there any limit on bootrom size ? I am not able to boot from my bootrom
> Image (500K)
> Do I need to change something (config.h ?? BSP Makefile ??)
>  any suggesstion ??
> 

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

Newsgroups: comp.os.vxworks
Subject: Printing from an exception in an interrupt handler
Date: 1 Jul 2002 13:26:27 -0700
From: robf@rochester.rr.com (Rob F)
Organization: http://groups.google.com/
Message-ID: <92d559ef.0207011226.d2eaad6@posting.google.com>

Using Tornado 2 on a PPC 603. Started using excHookAdd to attach a
routine (which displays some debug info) to vxWorks exception handling
framework.  When I crash in a thread I can print out the additional
debug information fine from this hook. When I crash in an interrupt,
the system just reboots, my hook is not called and a small
informational message is printed (MSR, etc).

I'm attempting to use the excConnect() function call to override
WindRiver's exception handler (Data Storage and Machine check). When I
crash in a thread, everything prints out OK. When I crash in an
interrupt:

1.) Printf hangs: I know you can't use printf in an interrupt so I
went to option 2.

2.) Spawn a thread which prints: Doesn't work, can't spawn a thread in
an interrupt. Off to option 3.

3.) Release a semaphore to a high priority thread which prints:
Doesn't work either. The thread which prints starts to run. The
exception completes. When the exception completes another exception
occurs at the first instruction back from the excConnect routine (at
address 0x318 in the kernel). Round and round we go.

Has anyone solved this problem? There is some pretty important info
I'd like to display for all exceptions (whether they occur in
interrupts or not)

Thanks, 
Rob

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

Newsgroups: comp.os.vxworks
Subject: Re: interrupts stuck on x86/VIA 82C686A
Date: 1 Jul 2002 21:32:53 GMT
From: Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com>
Message-ID: <slrnai1ik4.8f5.denis_newsREMOVE-TO-REPLY@concorde.cs.ucla.edu>
References: <slrnahkerl.6ps.denis_newsREMOVE-TO-REPLY@concorde.cs.ucla.edu> <afel58$dn8av$1@ID-78468.news.dfncis.de>

Hello,

 * frees <frees@sma.de> [06-Thu-02 02:16 -0700]:
 >
 > Hello Denis,
 > we fixed this problem by using a newer version (V01K, 27.
 > Aug. 1999) of modul I8259INTR.C. A change is made in
 > function I8259IntBoi. This is documented in SPR 28547.
 > Wolfgang

Thanks for the advice. It turns out that this bug fix does
not solve our problem. Interestingly, spurious interrupts do
not seem to be a problem (we don't stall on the first
spurious interrupt we receive). This was, however, a very
good bugfix to know about.

 > Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com> schrieb in im
 > Newsbeitrag:
 > slrnahkerl.6ps.denis_newsREMOVE-TO-REPLY@concorde.cs.ucla.edu...
 > > Hello,
 > >
 > > in 1999 I've seen some messsages here, describing the same
 > > problem. Furthermore I've seen others mention the problem
 > > elsewhere, leading me to believe that it is a fairly common
 > > one. I think we are seeing the same issue, and wonder if
 > > someone has any suggestions as to how to go about resolvign
 > > it:
 > >
 > >    Target: x86, VIA 82C686A South Bridge.
 > >
 > >    After some heavy interrupt activity, none of the
 > >    interrupts (other then timer) are coming in. In our case,
 > >    we have a master + slave APICs, with slave connected to
 > >    IRQ2 of the master. Timer is IRQ0, and interrupts
 > >    (network / serial) we are interested in are on the slave.
 > >    Bit 2 in the Master's 8259 IS register is always set
 > >    after the condition occurs.
 > >
 > >    We're now at the stage where we are sure this is what's
 > >    going on, but we are not certain about the reason for
 > >    this. Our next step was going to go to www.agilent.com,
 > >    get their APIC BUS product (lease it or smth) and look at
 > >    transactions. However, we've seen plenty of reports
 > >    pointing to a problem whereby a slave APIC is stuck due
 > >    to lack of EOI.
 > >
 > > None of the problems we've seen, however, mentioned a
 > > solution, but some folks said they were working with WRS to
 > > resolve it.
 > >
 > > Does anyone know how to go about solving a problem, if it
 > > does turn out to be the lack of EOI, possibly due to
 > > spurious interrupt? Is this fixable in hardware only, or is
 > > it possible to do something in s/w?
 > >
 > > denis
 > >
 > > --
 > > if you want to reply by mail, please tweak my
 > > address in a reasonable way. sorry for the
 > > inconvenience.

denis

- -- 
if you want to reply by mail, please tweak my
address in a reasonable way. sorry for the 
inconvenience.

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

Newsgroups: comp.os.vxworks
Subject: Re: Printing from an exception in an interrupt handler
Date: 1 Jul 2002 21:35:43 GMT
From: Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com>
Message-ID: <slrnai1ipf.8f5.denis_newsREMOVE-TO-REPLY@concorde.cs.ucla.edu>
References: <92d559ef.0207011226.d2eaad6@posting.google.com>

 * Rob F <robf@rochester.rr.com> [07-Mon-02 13:26 -0700]:
 >
 > Using Tornado 2 on a PPC 603. Started using excHookAdd to
 > attach a routine (which displays some debug info) to
 > vxWorks exception handling framework.  When I crash in a
 > thread I can print out the additional debug information
 > fine from this hook. When I crash in an interrupt, the
 > system just reboots, my hook is not called and a small
 > informational message is printed (MSR, etc).
  [...]
 > Has anyone solved this problem? There is some pretty
 > important info I'd like to display for all exceptions
 > (whether they occur in interrupts or not)

consider using VGA or syslog for debugging. You may need to
write your own syslog routine, which operates on
pre-allocated buffers/mbufs, but this should work.

denis

- -- 
if you want to reply by mail, please tweak my
address in a reasonable way. sorry for the 
inconvenience.

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

Newsgroups: comp.os.vxworks
Subject: fei end driver failure
Date: Mon, 1 Jul 2002 15:49:47 -0600
From: "Jeff Hill" <jeffreyhill@att.net>
Organization: University of Oregon
Message-ID: <afqj54$tn0$1@pith.uoregon.edu>

Hello,

I am seeing failures under high network load on vxWorks with the fei driver.
I don't know for certain what is causing this, but I am writing to you to
see if any of this sounds familiar. I moved up to the Feb 2002 driver patch
release afterI encountered this problem.

VxWorks (for PC PENTIUM) version 5.4.2.

Under heavy load the fei driver appears to write into page zero and crash my
system. To diagnose the problem I used "vmBaseStateSet(0,0,4096,0xc,0)" to
write protect page zero. This helps some because I now receive the PC and
the name of the offending thread before the system goes stone dead.

The message I receive is as follows:

Page Fault

Thread: tNetTask

PC: 0x172ea0

SR: 0x1006

From this information I can see that the tNetTask is executing in
endEtherPacketAddrGet() when it references page zero (probably because it is
using a nill pointer).

- -> lkAddr 0x172ea0

0x00172824 endEtherPacketAddrGet text

0x00173398 netBufLibInit text

I see another failure. In this one the tNetTask is using 100% of the CPU.
This is the stack trace of tNetTask when this problem shows up.

netTask

ipintr

tcp_input

sbappend

At other times all threads in taskDelay are suspended and the tNetTask is in
fei82557EndLoad.

Jeff

__________________________________________________________

Jeff Hill Internet johill@lanl.gov

LANL MS H820 Voice 505 665 1831

Los Alamos NM 87545 USA FAX 505 665 5107

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

Newsgroups: comp.os.vxworks
Subject: Re: Unable to access symbols for applications
Date: 1 Jul 2002 16:14:31 -0700
From: daniel_k_wong@yahoo.com (Daniel Wong)
Organization: http://groups.google.com/
Message-ID: <63c460d8.0207011514.18e81457@posting.google.com>
References: <63c460d8.0206281459.19fa70cd@posting.google.com> <pkockritz-83684B.20334728062002@netnews.attbi.com>

Hi Pete,

Thanks for your suggestions.  Your suggestions helped me to get
further along in solving my problem.

I was trying to build a static kernel with my own functions linked
into the kernel.  However, I discovered that my functions were not
linked in after using the 'nmppc' command that you suggested.  Like
you said, the my functions weren't linked into the kernel, because the
kernel made no reference to my functions.  I forced the linker to
include my functions by using the '-u' option.  However, when I used
the '-u' option the linker would append the suffix '__Fv' at the end
of my functions.  For example, if I have a function called temp(),
then the function will be linked into the kernel as temp__Fv().  Do
you know why this is the case?

- -Daniel
daniel_k_wong@yahoo.com

Pete Kockritz <pkockritz@mac.com> wrote in message news:<pkockritz-83684B.20334728062002@netnews.attbi.com>...
> In article <63c460d8.0206281459.19fa70cd@posting.google.com>,
>  daniel_k_wong@yahoo.com (Daniel Wong) wrote:
> 
> > I have a vxWorks image that includes some functions that I wrote.  I
> > linked the symbol table vxWorks.st with my vxWorks image.  I am able
> > to do a lkup on VxWorks calls; however, when I do a lkup on functions
> > that I wrote, lkup is unable to find those symbols.  Do any of you
> > have any idea why this is happening?  Shouldn't I be able to do a lkup
> > on all functions in the image?
> 
> Are you saying that you built a static kernel with your functions in it?
> Are you sure your functions are in the kernel? If you put your functions
> in a library and linked it with the kernel, your functions would not be
> linked in unless something in the kernel referenced them. If your
> functions were declared 'static', they would not normally be in the
> symbol table, even if they are in the image.
> 
> Do a 'nmppc --defined-only vxWorks' to dump out all the symbols and
> see if your functions are in there. (If your architecture is not ppc,
> substitute your arch for ppc in 'nmppc'). If the symTable.c file is
> still around you could look at it to see if they are in it.

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

Newsgroups: comp.os.vxworks
Subject: Re: how to change vxworks compile mode from little-endian to big-endian?
Date: 1 Jul 2002 18:30:57 -0700
From: seasoblue2000@yahoo.com.cn (seasoblue)
Organization: http://groups.google.com/
Message-ID: <e82d8e83.0207011730.13167672@posting.google.com>
References: <e82d8e83.0206302206.71e36f75@posting.google.com> <u1ZT8.212805$nZ3.99515@rwcrnsc53>

&#12288;Thank above several friends for your kindness! It's seemed so
bad that I'm using Tornado 2.0,and I also have no enough mony to ask
Wind River for help.:(
  tnanks again.

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

Newsgroups: comp.os.vxworks
Subject: Re: Can you help me analyze it? vxWorks expert!
Date: 1 Jul 2002 20:12:59 -0700
From: xmtang@facri.com (xiaomingtang)
Organization: http://groups.google.com/
Message-ID: <acabfdad.0207011912.4fa824ee@posting.google.com>
References: <acabfdad.0206271836.69f4b22f@posting.google.com> <newscache$gzxkyg$rmh$1@lnews.actcom.co.il>

Thank David,Leonid and anyone who concerns this topic.
Now,I know vxWorks surport PAP and CHAP,but I don't know how to let
win98 authenticate by PAP rather than MS_CHAP.I seach the registry but
can't find any useful information.
Does anyon know how to configure win98 to authenticate by PAP?

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

Newsgroups: comp.os.vxworks
Subject: Re: ifShow problem
Date: Tue, 02 Jul 2002 05:03:47 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <TuaU8.213102$R61.76518@rwcrnsc52.ops.asp.att.net>
References: <Xns923EAB8B755E2borkhuisagerecom@192.19.193.66>

Hello Johan,

    If you have SNMP available, what does the snmp values look like? Could
this be
the MII stuff? A WAG is that maybe the statistics viewed are no longer from
the
interface statistics but rather the MII stuff. May be totally out of left
field but
this might provide some clue...

"Johan Borkhuis" <borkhuis@agere.com> wrote in message
news:Xns923EAB8B755E2borkhuisagerecom@192.19.193.66...
> Hello,
>
> I am porting a driver to a new platform, a PPC603 board. This works well,
> the driver is running and I can communicate through the device.
>
> But when looking at the packet counters using ifShow all counters stay on
> 0, except packets sent, this one only counts the outgoing ARP replies.
This
> driver works OK on a number of different other platforms. Why are the
> counters not incremented?
>
> Groeten,
>         Johan
>
> --
>         o o o o o o o . . .   _____________________________
>        o      _____           ||    Johan Borkhuis        |
>      .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: Printing from an exception in an interrupt handler
Date: Tue, 02 Jul 2002 05:09:35 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <iAaU8.251928$6m5.217338@rwcrnsc51.ops.asp.att.net>
References: <92d559ef.0207011226.d2eaad6@posting.google.com>

Hello Rob,

    Can you use the EXC_MSG_ADRS to store you exception message? I haven't
used this technique, but I thougtht I have seen posts where folks have used
the NVRAM location to store exception message that will survive
reboots/power
cycles. You could check the BSP to see how big this area is and if it will
work for you.

"Rob F" <robf@rochester.rr.com> wrote in message
news:92d559ef.0207011226.d2eaad6@posting.google.com...
> Using Tornado 2 on a PPC 603. Started using excHookAdd to attach a
> routine (which displays some debug info) to vxWorks exception handling
> framework.  When I crash in a thread I can print out the additional
> debug information fine from this hook. When I crash in an interrupt,
> the system just reboots, my hook is not called and a small
> informational message is printed (MSR, etc).
>
> I'm attempting to use the excConnect() function call to override
> WindRiver's exception handler (Data Storage and Machine check). When I
> crash in a thread, everything prints out OK. When I crash in an
> interrupt:
>
> 1.) Printf hangs: I know you can't use printf in an interrupt so I
> went to option 2.
>
> 2.) Spawn a thread which prints: Doesn't work, can't spawn a thread in
> an interrupt. Off to option 3.
>
> 3.) Release a semaphore to a high priority thread which prints:
> Doesn't work either. The thread which prints starts to run. The
> exception completes. When the exception completes another exception
> occurs at the first instruction back from the excConnect routine (at
> address 0x318 in the kernel). Round and round we go.
>
> Has anyone solved this problem? There is some pretty important info
> I'd like to display for all exceptions (whether they occur in
> interrupts or not)
>
> Thanks,
> Rob

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

Newsgroups: comp.os.vxworks
Subject: Linker-Problem: two memory regions
Date: 1 Jul 2002 22:58:15 -0700
From: hans_ruesing@arburg.com (=?ISO-8859-1?Q?Harud_R=FCsing?=)
Organization: http://groups.google.com/
Message-ID: <6b1e107c.0207012158.434db021@posting.google.com>

Hallo,

I'am using T2 on a i486 target. Unfortunatly our hardware has somewhat
fragmented memory: there is ram from 0-8Mb and 32-34Mb.

I'am building a bootable VxWorks and I need to have code (text
segments) in both
memory regions!

How can I do this, do I have to work with linker scripts?

Thanks for your help!

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

Newsgroups: comp.os.vxworks
Subject: Re: How can I specify Text segment to be loaded at a fixed address?
Date: Tue, 2 Jul 2002 08:26:14 +0200
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <afrh29$v8l$1@snoopy.bndlg.de>
References: <afq37u$410$1@news.asu.edu>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@p5088eeb2.dip.t-dialin.net

Hi,

IMO loadModulAt() is your final step, the steps before are your's to find
:-)

Michael

"Liang Yang" <Liang.Yang@asu.edu> schrieb im Newsbeitrag
news:afq37u$410$1@news.asu.edu...
> Hi,
>
> I want the Text segment always to be loaded at the
> same fixed address when I download .out file to
> the target machine. How can I do it?
>
> Thanks.
>
> Liang
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: a question about snds100 's nvram
Date: 1 Jul 2002 23:34:39 -0700
From: seasoblue2000@yahoo.com.cn (seasoblue)
Organization: http://groups.google.com/
Message-ID: <e82d8e83.0207012234.3a28d8db@posting.google.com>
References: <afp32d$1as2$1@mail.cn99.com>

hi degang
   You should read and modify these two files:"sndsIIc.c" and
"sdnsIIc.h",if your eeprom is not compatible with the one provided by
snds100 board.
Good luck!

"degang" <wdg@bjhhl.sina.net> wrote in message news:<afp32d$1as2$1@mail.cn99.com>...
> hi:
>     i am now debuging samsung's snds100 ,i use a 256k bit eeprom ,i cant
> only change the even boot parameter now,the odd parameter cant be
> changed.help!
>   thanx

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

Newsgroups: comp.os.vxworks
Subject: Re: ifShow problem
Date: Tue, 2 Jul 2002 08:31:02 +0200
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <afrhb8$vlc$1@snoopy.bndlg.de>
References: <Xns923EAB8B755E2borkhuisagerecom@192.19.193.66>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@p5088eeb2.dip.t-dialin.net

Hi Johann,

here my 2 Cents:
END-driver statistics are coupled to NPT to be complete (collision,...).
Under 'normal' vxWorks their contents is reduced (said WRS-support).
So, have you installed NPT ?

Regards,
Michael

"Johan Borkhuis" <borkhuis@agere.com> schrieb im Newsbeitrag
news:Xns923EAB8B755E2borkhuisagerecom@192.19.193.66...
> Hello,
>
> I am porting a driver to a new platform, a PPC603 board. This works well,
> the driver is running and I can communicate through the device.
>
> But when looking at the packet counters using ifShow all counters stay on
> 0, except packets sent, this one only counts the outgoing ARP replies.
This
> driver works OK on a number of different other platforms. Why are the
> counters not incremented?
>
> Groeten,
>         Johan
>
> --
>         o o o o o o o . . .   _____________________________
>        o      _____           ||    Johan Borkhuis        |
>      .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: Can you help me analyze it? vxWorks expert!
Date: Tue, 2 Jul 2002 08:38:12 +0200
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <afrhop$hb$1@snoopy.bndlg.de>
References: <acabfdad.0206271836.69f4b22f@posting.google.com> <newscache$gzxkyg$rmh$1@lnews.actcom.co.il> <acabfdad.0207011912.4fa824ee@posting.google.com>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@p5088eeb2.dip.t-dialin.net

Its a matter of your connection configuration. Look into the properties of
your modem connection.
The actual kind of connection is negotiated to the highest level agreed by
both server and client.

On NT, client has to start connection with the word 'CLIENT' to which the
server responds with 'CLIENTSERVER'. I'm not sure, whether this is true on
W98 too.

Regards,
Michael

"xiaomingtang" <xmtang@facri.com> schrieb im Newsbeitrag
news:acabfdad.0207011912.4fa824ee@posting.google.com...
> Thank David,Leonid and anyone who concerns this topic.
> Now,I know vxWorks surport PAP and CHAP,but I don't know how to let
> win98 authenticate by PAP rather than MS_CHAP.I seach the registry but
> can't find any useful information.
> Does anyon know how to configure win98 to authenticate by PAP?

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

Newsgroups: comp.os.vxworks
Subject: target abd host in same machine
Date: 2 Jul 2002 00:22:14 -0700
From: vxnerd@rediffmail.com (subbarayan)
Organization: http://groups.google.com/
Message-ID: <f81c4277.0207012322.4a223c94@posting.google.com>

dear mentors,
is it possible to have the target and host in a single machine with
tornado1.0 or any other version of tornados?i know abt the
simulator.but my question is other than that(simulator) whether its
possible to have target application running on the side of my target
server in the host machine itself?i am refering to the case where my
target has the same ip and name as my host.shell and target on same
machine.host machine in my case has windows 95.
I will be thankful to the person clearing this doubt.
Also is it possible to have a stand alone target with out host
interaction?
Incase its possible is it possible to have an application like this:
In psos,u can build ram.abs from host machine and use it to boot any
machine using the floppy that contains ram.abs file and use it as
target in which case host is not at all required and theres absolutely
no interaction between host and target.is some thing like that
possible with vxworks in specific to tornado1.0?or which version
supports this sort of facility?if so possible how to make a stand
alone target like the one mentioned above using tornado1.0?
                   sorry if my question looks absurd,becos i am new to
vxworks,i am asking these things,so that in future atleast after
learning from u i will not ask such stupid questions.
thanks in advance to the person replying me.
anyone with an answer can mail me the soln to vxnerd@rediffmail.com

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

Newsgroups: comp.os.vxworks
Subject: Re: ifShow problem
Date: Tue, 2 Jul 2002 07:37:44 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns923F617E5C9E7borkhuisagerecom@192.19.193.66>
References: <Xns923EAB8B755E2borkhuisagerecom@192.19.193.66> <afrhb8$vlc$1@snoopy.bndlg.de>

"Michael Lawnick" <Lawnick@softec.de> wrote:

> END-driver statistics are coupled to NPT to be complete
> (collision,...). Under 'normal' vxWorks their contents is reduced
> (said WRS-support). So, have you installed NPT ?

Yes, NPT is installed, I am using T202 for PPC (603 processor type, so no 
upgrade to T21 available).

The strange thing is that it looks like the values are stored in 2 seperate 
locations: when using the target shell the values are 0, when using the 
host shell the values are OK. 
Also when using an SNMP browser I can see that the MIB counters have the 
right value, identical to the values shown on the host shell.
The second interface however behaves as it should: in both situations 
(target and host) the counters show the right values. But I cannot find any 
place in this driver where the values are updated.

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: snds100 vxworks bsp
Date: Wed, 3 Jul 2002 03:52:06 +0800
From: "degang" <wdg@bjhhl.sina.net>
Organization: Bentium Ltd. (CN99)
Message-ID: <afrm63$bbb$1@mail.cn99.com>

hi:
this is the bsp template of samsung snds100
#  define DEFAULT_BOOT_LINE \
   "oli(0,0)host:/tor/target/config/snds100/vxWorks " \
   "h=90.0.0.3 e=90.0.0.50 u=target tn=targetname"
why there are two space between "#" and "define"?
is the two "\" useful?

thanx

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

Newsgroups: comp.os.vxworks
Subject: Re: how to change vxworks compile mode from little-endian to big-endian?
Date: Tue, 2 Jul 2002 08:06:25 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns923F665A63536borkhuisagerecom@192.19.193.66>
References: <e82d8e83.0206302206.71e36f75@posting.google.com> <u1ZT8.212805$nZ3.99515@rwcrnsc53> <e82d8e83.0207011730.13167672@posting.google.com>

seasoblue2000@yahoo.com.cn (seasoblue) wrote:

> &#12288;Thank above several friends for your kindness! It's seemed so
> bad that I'm using Tornado 2.0,and I also have no enough mony to ask
> Wind River for help.:(

If you have a support contract you should be able to get a free upgrade to 
T2.1.

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: Unable to access symbols for applications
Date: 2 Jul 2002 01:28:11 -0700
From: hans_ruesing@arburg.com (=?ISO-8859-1?Q?Harud_R=FCsing?=)
Organization: http://groups.google.com/
Message-ID: <6b1e107c.0207020028.65c8b671@posting.google.com>
References: <63c460d8.0206281459.19fa70cd@posting.google.com> <pkockritz-83684B.20334728062002@netnews.attbi.com> <63c460d8.0207011514.18e81457@posting.google.com>

daniel_k_wong@yahoo.com (Daniel Wong) wrote in message news:<63c460d8.0207011514.18e81457@posting.google.com>...
Hallo Daniel,

It seems you are compiling with a C++ Compiler (name mangling)
You should declare your function `extern "C" ...

Harud Rsing

> Hi Pete,
> 
> Thanks for your suggestions.  Your suggestions helped me to get
> further along in solving my problem.
> 
> I was trying to build a static kernel with my own functions linked
> into the kernel.  However, I discovered that my functions were not
> linked in after using the 'nmppc' command that you suggested.  Like
> you said, the my functions weren't linked into the kernel, because the
> kernel made no reference to my functions.  I forced the linker to
> include my functions by using the '-u' option.  However, when I used
> the '-u' option the linker would append the suffix '__Fv' at the end
> of my functions.  For example, if I have a function called temp(),
> then the function will be linked into the kernel as temp__Fv().  Do
> you know why this is the case?
> 
> 
> -Daniel
> daniel_k_wong@yahoo.com
> 
> 
> Pete Kockritz <pkockritz@mac.com> wrote in message news:<pkockritz-83684B.20334728062002@netnews.attbi.com>...
> > In article <63c460d8.0206281459.19fa70cd@posting.google.com>,
> >  daniel_k_wong@yahoo.com (Daniel Wong) wrote:
> > 
> > > I have a vxWorks image that includes some functions that I wrote.  I
> > > linked the symbol table vxWorks.st with my vxWorks image.  I am able
> > > to do a lkup on VxWorks calls; however, when I do a lkup on functions
> > > that I wrote, lkup is unable to find those symbols.  Do any of you
> > > have any idea why this is happening?  Shouldn't I be able to do a lkup
> > > on all functions in the image?
> > 
> > Are you saying that you built a static kernel with your functions in it?
> > Are you sure your functions are in the kernel? If you put your functions
> > in a library and linked it with the kernel, your functions would not be
> > linked in unless something in the kernel referenced them. If your
> > functions were declared 'static', they would not normally be in the
> > symbol table, even if they are in the image.
> > 
> > Do a 'nmppc --defined-only vxWorks' to dump out all the symbols and
> > see if your functions are in there. (If your architecture is not ppc,
> > substitute your arch for ppc in 'nmppc'). If the symTable.c file is
> > still around you could look at it to see if they are in it.

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

Newsgroups: comp.os.vxworks
Subject: Task priority doesnot reduce after priority Inversion .
Date: 2 Jul 2002 02:19:34 -0700
From: manish.verma@wipro.com (Manish Verma)
Organization: http://groups.google.com/
Message-ID: <80562a1b.0207020119.7db129e6@posting.google.com>

We had implemented the PCP for handling the priority inversion problem
 .
But we are facing some other problem due to this.

Actually we have following tasks running :
Task A (HIGH)
Task B (Medium) 
Task C (Low) 
Some other tasks (Medium to Low priority)

Task B & C and some other tasks share a resource which is protected 
by a semaphore.To access the shared resource the tasks can call
funtion XYZ.
In order to prevent the priority inversion problem the funtion XYZ
raises the
priority of the calling task , access the shared resource and then
reduces the
priority back to normal.

Sequence of Calls : 
The Task C makes the call to funtion XYZ in a loop after regular
intervals .Now the problem we are seeing is that after the call to
function XYZ by Task C , when its priority needs to come down just
before returning from the function XYZ , it is not happening so !
And by that time another call to this function is made .So the
priority of Task C continues to remain high even though we reduced it
- -- hence our actual higher priority task does not get chance to run at
all until Task C finishes its "N"  calls to the function XYZ.

Thus the problem is actually that the lowering of priority of TasK C
is not coming into effect immediately and once again Task C gives a
call to func XYZ due to which our lower priority Task C runs for
sometime and even though the higher priority task has nothing to do
with the shared resoruce doesnot get chance to run.

The prototype of the function is given below :

Funtion XYZ( )
{
ChangePriority(HIGHEST)
TakeSemaphore()

//
Access Shared Resource
//

GiveSemaphore()
ChangePriority(NORMAL)
}

The queries i have is - 
1. Why the priority lowering of the task not coming into effect
immediately ?
2. How do we solve this problem ?
3. Is there any other workaround for the Priority inversion problem ?
(Apart from the two solutions available already)

Thanks 
Manish Verma
Wipro Technoloiges
Bangalore

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

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

From vxwexplo-errs@csg.lbl.gov  Tue Jul  2 05:30:59 2002
From: Kiran Divekar <kirandivekar@yahoo.com>
Date: Tue Jul  2 05:31:01 PDT 2002
Subject: Problem with the Vxworks simulator

--0-68065084-1025613056=:26454
Content-Type: text/plain; charset=us-ascii

Hi ,

 This problem is related to the vxworks simulator running on windows in tornado 2 environment. 

 I am facing following problem.

1. The vxworks runs for simNT environment and does not take objects compiled for I80486 BSPs. So can I run the simulator for I80486 BSP ? Any command line option to vxWorks simulator ?

2. If I try to build my code for simNT environment, I am not able to download the object. Since, the timer related functions like timer_create,

 timer_start are not resolved. Aren't these timer function supported by the simulator ?

TIA,

 -KD

---------------------------------
Do You Yahoo!?
New! SBC Yahoo! Dial - 1st Month Free & unlimited access
--0-68065084-1025613056=:26454
Content-Type: text/html; charset=us-ascii

<P>Hi ,</P>
<P>&nbsp;This problem is related to the vxworks simulator running on windows&nbsp;in tornado 2 environment.&nbsp;</P>
<P>&nbsp;I am facing following problem.</P>
<P>1. The vxworks runs for simNT environment and does not take objects compiled for I80486 BSPs. So can I run the simulator for I80486 BSP ? Any command line option to vxWorks simulator ?</P>
<P>2. If I try to build my code for&nbsp;simNT&nbsp;environment, I am not able to download the object. Since, the timer related functions like timer_create,</P>
<P>&nbsp;timer_start are not resolved.&nbsp;Aren't these timer function supported by the simulator ?</P>
<P>TIA,</P>
<P>&nbsp;-KD</P><p><br><hr size=1><b>Do You Yahoo!?</b><br>
New! <a href="http://pa.yahoo.com/*http://rd.yahoo.com/sbcyahoo/consumer/evt=640/*http://sbc.yahoo.com" target="_blank">SBC Yahoo! Dial</a> - 1st Month Free &amp; unlimited access
--0-68065084-1025613056=:26454--

From vxwexplo-errs@csg.lbl.gov  Tue Jul  2 08:26:18 2002
From: Mike McCullough <mike@mccengineering.com>
Date: Tue Jul  2 08:26:20 PDT 2002
Subject: Re: Linker-Problem: two memory regions

Hans, You should use memPartAddToPool() to add non-contiguous memory to 
your system memory pool. You will have to have your VxWorks image sit in 
one of the memory areas as VxWorks cannot be split in two without doing 
potentially nasty things in custom linker files.

Hope this helps

Newsgroups: comp.os.vxworks
Subject:
Date: 1 Jul 2002 22:58:15 -0700
From: hans_ruesing@arburg.com (=?ISO-8859-1?Q?Harud_R=FCsing?=)
Organization: http://groups.google.com/
Message-ID: <6b1e107c.0207012158.434db021@posting.google.com>
Hallo,
I'am using T2 on a i486 target. Unfortunatly our hardware has somewhat
fragmented memory: there is ram from 0-8Mb and 32-34Mb.
I'am building a bootable VxWorks and I need to have code (text
segments) in both
memory regions!
How can I do this, do I have to work with linker scripts?
Thanks for your help!
---------------------------

Mike McCullough                         MCC Engineering
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
***********************************************************************************

From vxwexplo-errs@csg.lbl.gov  Wed Jul  3 04:03:14 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Wed Jul  3 04:03:17 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Wed Jul  3 04:03:10 PDT 2002

        Subject: Re: target abd host in same machine
        Subject: Re: ifShow problem
        Subject: application profiling
        Subject: Re: ifShow problem
        Subject: Re: Printing from an exception in an interrupt handler
        Subject: Template compilation error: virtual memory exhausted
        Subject: Re: ifShow problem
        Subject: Re: Printing from an exception in an interrupt handler
        Subject: Re: application profiling
        Subject: Re: Can you help me analyze it? vxWorks expert!
        Subject: Re: Task priority doesnot reduce after priority Inversion .
        Subject: Re: ifShow problem
        Subject: Re: ifShow problem
        Subject: VxWorks and MPC 750 low power modes
        Subject: Re: Task priority doesnot reduce after priority Inversion .
        Subject: Re: Printing from an exception in an interrupt handler
        Subject: Fixed image size
        Subject: Re: Template compilation error: virtual memory exhausted
        Subject: QMC protocol interrupts on SCC3 on Power PC
        Subject: new to vxworks need advice about working
        Subject: new to vxworks need advice about working
        Subject: DHCP server configuration
        Subject: Re: Problem of periodic timer in Vxworks??
        Subject: Re: Problem of periodic timer in Vxworks??

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

Newsgroups: comp.os.vxworks
Subject: Re: target abd host in same machine
Date: Tue, 2 Jul 2002 13:11:55 +0200
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <afs1pt$reo$1@snoopy.bndlg.de>
References: <f81c4277.0207012322.4a223c94@posting.google.com>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@p5088eeb2.dip.t-dialin.net

"subbarayan" <vxnerd@rediffmail.com> schrieb im Newsbeitrag
news:f81c4277.0207012322.4a223c94@posting.google.com...
> dear mentors,
> is it possible to have the target and host in a single machine with
> tornado1.0 or any other version of tornados?i know abt the
> simulator.but my question is other than that(simulator) whether its
> possible to have target application running on the side of my target
> server in the host machine itself?i am refering to the case where my
> target has the same ip and name as my host.shell and target on same
> machine.host machine in my case has windows 95.
> I will be thankful to the person clearing this doubt.
No, not that I knew. If you find a basic OS, where upon you can start both
inparallel, tell us - the community would be enthusiastic about.

> Also is it possible to have a stand alone target with out host
> interaction?
Yep.

> Incase its possible is it possible to have an application like this:
> In psos,u can build ram.abs from host machine and use it to boot any
> machine using the floppy that contains ram.abs file and use it as
> target in which case host is not at all required and theres absolutely
> no interaction between host and target.is some thing like that
> possible with vxworks in specific to tornado1.0?or which version
> supports this sort of facility?if so possible how to make a stand
> alone target like the one mentioned above using tornado1.0?
e.g. vxWorks.rom, but not on i386, there you need two images: bootrom.sys
and vxWorks.st

>                    sorry if my question looks absurd,becos i am new to
> vxworks,i am asking these things,so that in future atleast after
> learning from u i will not ask such stupid questions.
> thanks in advance to the person replying me.
> anyone with an answer can mail me the soln to vxnerd@rediffmail.com
And now for the last time: RTFM before asking !

Michael

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

Newsgroups: comp.os.vxworks
Subject: Re: ifShow problem
Date: Tue, 2 Jul 2002 13:17:40 +0200
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <afs24m$ruc$1@snoopy.bndlg.de>
References: <Xns923EAB8B755E2borkhuisagerecom@192.19.193.66> <afrhb8$vlc$1@snoopy.bndlg.de> <Xns923F617E5C9E7borkhuisagerecom@192.19.193.66>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@p5088eeb2.dip.t-dialin.net

Hi Johan

as I'm pretty sure you know much more than me about the internal network
stuff like endLib, I'm sorry to have to pass.

Michael

"Johan Borkhuis" <borkhuis@agere.com> schrieb im Newsbeitrag
news:Xns923F617E5C9E7borkhuisagerecom@192.19.193.66...
> "Michael Lawnick" <Lawnick@softec.de> wrote:
>
> > END-driver statistics are coupled to NPT to be complete
> > (collision,...). Under 'normal' vxWorks their contents is reduced
> > (said WRS-support). So, have you installed NPT ?
>
> Yes, NPT is installed, I am using T202 for PPC (603 processor type, so no
> upgrade to T21 available).
>
> The strange thing is that it looks like the values are stored in 2
seperate
> locations: when using the target shell the values are 0, when using the
> host shell the values are OK.
> Also when using an SNMP browser I can see that the MIB counters have the
> right value, identical to the values shown on the host shell.
> The second interface however behaves as it should: in both situations
> (target and host) the counters show the right values. But I cannot find
any
> place in this driver where the values are updated.
>
> Groeten,
>         Johan
>
> --
>         o o o o o o o . . .   _____________________________
>        o      _____           ||    Johan Borkhuis        |
>      .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: application profiling
Date: 2 Jul 2002 05:05:10 -0700
From: rajendra_krsingh@yahoo.com (rajendra)
Organization: http://groups.google.com/
Message-ID: <479ba395.0207020405.3529ec46@posting.google.com>

Hi,
  Is there any way in vxworks to do profiling? I want to know the time
each function is taking (without adding any code as there are thousands of them)
 I was able to use gprof on unix but don't know how to do it on vxWorks.

 Any pointers, suggestion would be appreciated.

- -rajendra

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

Newsgroups: comp.os.vxworks
Subject: Re: ifShow problem
Date: Tue, 02 Jul 2002 13:30:15 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <HVhU8.220491$nZ3.104235@rwcrnsc53>
References: <Xns923EAB8B755E2borkhuisagerecom@192.19.193.66> <afrhb8$vlc$1@snoopy.bndlg.de> <Xns923F617E5C9E7borkhuisagerecom@192.19.193.66>

Johan,

     What is the END driver? If it is a WRS one, what about the latest
comp-drv update released last month?

"Johan Borkhuis" <borkhuis@agere.com> wrote in message
news:Xns923F617E5C9E7borkhuisagerecom@192.19.193.66...
> "Michael Lawnick" <Lawnick@softec.de> wrote:
>
> > END-driver statistics are coupled to NPT to be complete
> > (collision,...). Under 'normal' vxWorks their contents is reduced
> > (said WRS-support). So, have you installed NPT ?
>
> Yes, NPT is installed, I am using T202 for PPC (603 processor type, so no
> upgrade to T21 available).
>
> The strange thing is that it looks like the values are stored in 2
seperate
> locations: when using the target shell the values are 0, when using the
> host shell the values are OK.
> Also when using an SNMP browser I can see that the MIB counters have the
> right value, identical to the values shown on the host shell.
> The second interface however behaves as it should: in both situations
> (target and host) the counters show the right values. But I cannot find
any
> place in this driver where the values are updated.
>
> Groeten,
>         Johan
>
> --
>         o o o o o o o . . .   _____________________________
>        o      _____           ||    Johan Borkhuis        |
>      .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: Printing from an exception in an interrupt handler
Date: 2 Jul 2002 07:16:36 -0700
From: robf@rochester.rr.com (Rob F)
Organization: http://groups.google.com/
Message-ID: <92d559ef.0207020616.430cab8f@posting.google.com>
References: <92d559ef.0207011226.d2eaad6@posting.google.com> <iAaU8.251928$6m5.217338@rwcrnsc51.ops.asp.att.net>

"drdiags" <drdiags@attbi.com> wrote in message news:<iAaU8.251928$6m5.217338@rwcrnsc51.ops.asp.att.net>...
> Hello Rob,
> 
>     Can you use the EXC_MSG_ADRS to store you exception message? I haven't
> used this technique, but I thougtht I have seen posts where folks have used
> the NVRAM location to store exception message that will survive
> reboots/power
> cycles. You could check the BSP to see how big this area is and if it will
> work for you.
> 
> "Rob F" <robf@rochester.rr.com> wrote in message
> news:92d559ef.0207011226.d2eaad6@posting.google.com...
> > Using Tornado 2 on a PPC 603. Started using excHookAdd to attach a
> > routine (which displays some debug info) to vxWorks exception handling
> > framework.  When I crash in a thread I can print out the additional
> > debug information fine from this hook. When I crash in an interrupt,
> > the system just reboots, my hook is not called and a small
> > informational message is printed (MSR, etc).
> >
> > I'm attempting to use the excConnect() function call to override
> > WindRiver's exception handler (Data Storage and Machine check). When I
> > crash in a thread, everything prints out OK. When I crash in an
> > interrupt:
> >
> > 1.) Printf hangs: I know you can't use printf in an interrupt so I
> > went to option 2.
> >
> > 2.) Spawn a thread which prints: Doesn't work, can't spawn a thread in
> > an interrupt. Off to option 3.
> >
> > 3.) Release a semaphore to a high priority thread which prints:
> > Doesn't work either. The thread which prints starts to run. The
> > exception completes. When the exception completes another exception
> > occurs at the first instruction back from the excConnect routine (at
> > address 0x318 in the kernel). Round and round we go.
> >
> > Has anyone solved this problem? There is some pretty important info
> > I'd like to display for all exceptions (whether they occur in
> > interrupts or not)
> >
> > Thanks,
> > Rob

I know of another work group who has gone the Nvm route and have had
some success with it.  Whether Nvm or syslogging are used - it sounds
to me that my data has to be printed after the processor has reset if
the exception occurs in an interrupt handler. It's not exactly what I
hoped for but does provide a work around to the problem.

Looks like I have to intercept the point where vxWorks prints their
short message that an exception occurred in an interrupt and add my
debug information at that point.

Thanks for your replies. 

Rob

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

Newsgroups: comp.os.vxworks
Subject: Template compilation error: virtual memory exhausted
Date: Tue, 02 Jul 2002 14:28:47 GMT
From: "Kevin Lay" <circlemtn@earthlink.net>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <zMiU8.679$gR.47861@newsread2.prod.itd.earthlink.net>

Building ACE for VxWorks 5.4 PPC, I get the following interesting error
(more output at bottom for brevity):

<...>

(C:\Tornado2.1\host\x86-win32\lib\gcc-lib\powerpc-wrs-vxworks\gcc-2.96\cc1pl
us.exe 1002) commit_and_inc: VirtualAlloc failed

< ... >

../ace/Message_Queue_T.cpp:2272: Internal compiler error:

../ace/Message_Queue_T.cpp:2272: virtual memory exhausted

<...>

Source looks fine, compiles for other platforms.  Allegedly ok with VxWorks
5.3 Gnu 2.7.2. Don't know.  Has anyone seen this?

Compiler and make versions are:

C:\usr\local\ACE_wrappers>g++ppc -v

Reading specs from
C:/Tornado2.1/host/x86-win32/bin/../lib/gcc-lib/powerpc-wrs-vxworks/gcc-2.96
/specs

gcc version gcc-2.96 19990621 VxWorks AltiVec VxWorks 5.4

C:\usr\local\ACE_wrappers>gmake -v

GNU Make version 3.77, by Richard Stallman and Roland McGrath.

Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98

        Free Software Foundation, Inc.

If you can shed some light on this I'd be grateful.

Kevin

Details:

C:\usr\local\ACE_wrappers>gmake debug=0 static_libs_only=1 exceptions=0

C:\usr\local\ACE_wrappers>gmake -C ace all

gmake[1]: Entering directory `C:/usr/local/ACE_wrappers/ace'

ccppc -fno-implicit-templates -mlongcall -BC:/Tornado2.1/host/x86-win32/lib/
gcc-lib/powerpc-wrs-vxworks/gcc-2.96/ -DCPU=PPC604 -D_REENTRANT -ansi -fno-b
uiltin -fno-defer-pop -fvolatile -nostdinc -nostdlib  -W -Wall -O -fno-rtti 
- -DACE_LACKS_RTTI   -IC:/Tornado2.1/target/h -I..

- -IC:/Tornado2.1/host/x86-win32/lib/gcc-lib/powerpc-wrs-vxworks/gcc-2.96/incl
ude

- -IC:/Tornado2.1/host/x86-win32/include/g++-2  -IC:/Tornado2.1/host/x86-win32
/powerpc-wrs-vxworks/include -IC:\usr\local\ACE_wrappers -DACE_NDEBUG -DACE_
USE_RCSID=0 -c -o .obj/Service_Templates.o Service_Templates.cpp

(C:\Tornado2.1\host\x86-win32\lib\gcc-lib\powerpc-wrs-vxworks\gcc-2.96\cc1pl
us.exe 1002) commit_and_inc: VirtualAlloc failed

../ace/Message_Queue_T.cpp: In function `static class
ACE_Dynamic_Message_Queue<ACE_MT_SYNCH> * ACE_Message_Queue_Factor

y<ACE_MT_SYNCH>::create_laxity_message_queue(unsigned int =
ACE_Message_Queue_Base::DEFAULT_HWM, unsigned int =
ACE_Message_Queue_Base::DEFAULT_LWM, ACE_Notification_Strategy * = 0, long
unsigned int = 1023, long unsigned int = 10, long uns

igned int = 4194303, long unsigned int = 2097152)':

Service_Templates.cpp:21:   instantiated from here

../ace/Message_Queue_T.cpp:2272: Internal compiler error:

../ace/Message_Queue_T.cpp:2272: virtual memory exhausted

gmake[1]: *** [.obj/Service_Templates.o] Error 1

gmake[1]: Leaving directory `C:/usr/local/ACE_wrappers/ace'

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

Newsgroups: comp.os.vxworks
Subject: Re: ifShow problem
Date: Tue, 2 Jul 2002 14:33:35 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns923FA7F3E302Bborkhuisagerecom@192.19.193.66>
References: <Xns923EAB8B755E2borkhuisagerecom@192.19.193.66> <afrhb8$vlc$1@snoopy.bndlg.de> <Xns923F617E5C9E7borkhuisagerecom@192.19.193.66> <HVhU8.220491$nZ3.104235@rwcrnsc53>

"drdiags" <drdiags@attbi.com> wrote:

> Johan,
> 
>      What is the END driver? If it is a WRS one, what about the latest
> comp-drv update released last month?

No, it is a driver we developed ourself. The problem does not occur on all 
platforms, we saw it on the PPC and ARM (T201), but not on MIPS (T210).

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: Printing from an exception in an interrupt handler
Date: Tue, 02 Jul 2002 10:37:12 -0400
From: Stephen Roderick <stephen_roderickREMOVE-TO-REPLY@ssl.umd.edu>
Organization: Space Systems Lab
Message-ID: <3D21BA98.2020602@ssl.umd.edu>
References: <92d559ef.0207011226.d2eaad6@posting.google.com>

You could also try storing the information to non-voltatile RAM (if 
available on your board), and picking that up on startup. Our system 
does that so we always know what the reason for the reboot was, 
including exceptions, signals, etc.

Also, why not use logMsg() from the exception handler? I presume as the 
exception is unrecoverable?

Stephen

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

Newsgroups: comp.os.vxworks
Subject: Re: application profiling
Date: Tue, 02 Jul 2002 14:42:48 GMT
From: David Cooper <dcooper000@adelphia.net>
Organization: none
Message-ID: <MPG.178b85f7417d1e0b98968f@news1.news.adelphia.net>
References: <479ba395.0207020405.3529ec46@posting.google.com>

rajendra,

There are a couple of add on products that give you profiling 
ability: RTI's profiScope, CodeTest (included with Tornado Professional), 
also a version of CodeTest from AMD.

...david

- -- 
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
   Genealogy Utilities & Family Research
Researching: ALLEN,BERZONER,COHEN,COOPER,KUPFERZMIDT,
POSNER (POIZNER), PRITIKIN, STARKMAN
Dachau Camp Entry List, Genealogy Utilities
http://home.adelphia.net/~dcooper000

In article <479ba395.0207020405.3529ec46@posting.google.com>, 
rajendra_krsingh@yahoo.com says...
> Hi,
>   Is there any way in vxworks to do profiling? I want to know the time
> each function is taking (without adding any code as there are thousands of them)
>  I was able to use gprof on unix but don't know how to do it on vxWorks.
> 
>  Any pointers, suggestion would be appreciated.
> 
> -rajendra
> 

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

Newsgroups: comp.os.vxworks
Subject: Re: Can you help me analyze it? vxWorks expert!
Date: 02 Jul 2002 10:50:00 -0400
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Factory of the mind
Message-ID: <uznxab2w7.fsf@sympatico.ca>
References: <acabfdad.0206271836.69f4b22f@posting.google.com> <newscache$gzxkyg$rmh$1@lnews.actcom.co.il> <acabfdad.0207011912.4fa824ee@posting.google.com>
Sender: bpringlemeir@DeadDuck

>>>>> "xiaomingtang" == xiaomingtang  <xmtang@facri.com> writes:

 xiaomingtang> Thank David,Leonid and anyone who concerns this topic.
 xiaomingtang> Now,I know vxWorks surport PAP and CHAP,but I don't
 xiaomingtang> know how to let win98 authenticate by PAP rather than
 xiaomingtang> MS_CHAP.I seach the registry but can't find any useful
 xiaomingtang> information.  Does anyon know how to configure win98 to
 xiaomingtang> authenticate by PAP?

A cursory search of the vxWorks FAQ would point you here,

 "http://www.xs4all.nl/~borkhuis/vxworks/vxw_pt4.html#4.5"

If you have trouble after reading this and studying it throughly, you
might check back here.

hth,
Bill Pringlemeir.

- -- 
Languages abound!
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Re: Task priority doesnot reduce after priority Inversion .
Date: Tue, 02 Jul 2002 15:11:46 GMT
From: "Kevin Lay" <circlemtn@earthlink.net>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <SojU8.783$gR.62372@newsread2.prod.itd.earthlink.net>
References: <80562a1b.0207020119.7db129e6@posting.google.com>

Manish,
    In XYZ() try removing the calling task from the ready queue after
restoring its priority.  For example, do a taskDelay( 0 ) after the
ChangePriority(NORMAL).

    This will force the task dispatcher to re-run with (hopefully) updated
task priorities.

Kevin

"Manish Verma" <manish.verma@wipro.com> wrote in message
news:80562a1b.0207020119.7db129e6@posting.google.com...
> We had implemented the PCP for handling the priority inversion problem
> .
> But we are facing some other problem due to this.
>
> Actually we have following tasks running :
> Task A (HIGH)
> Task B (Medium)
> Task C (Low)
> Some other tasks (Medium to Low priority)
>
> Task B & C and some other tasks share a resource which is protected
> by a semaphore.To access the shared resource the tasks can call
> funtion XYZ.
> In order to prevent the priority inversion problem the funtion XYZ
> raises the
> priority of the calling task , access the shared resource and then
> reduces the
> priority back to normal.
>
> Sequence of Calls :
> The Task C makes the call to funtion XYZ in a loop after regular
> intervals .Now the problem we are seeing is that after the call to
> function XYZ by Task C , when its priority needs to come down just
> before returning from the function XYZ , it is not happening so !
> And by that time another call to this function is made .So the
> priority of Task C continues to remain high even though we reduced it
> -- hence our actual higher priority task does not get chance to run at
> all until Task C finishes its "N"  calls to the function XYZ.
>
> Thus the problem is actually that the lowering of priority of TasK C
> is not coming into effect immediately and once again Task C gives a
> call to func XYZ due to which our lower priority Task C runs for
> sometime and even though the higher priority task has nothing to do
> with the shared resoruce doesnot get chance to run.
>
> The prototype of the function is given below :
>
> Funtion XYZ( )
> {
> ChangePriority(HIGHEST)
> TakeSemaphore()
>
> //
> Access Shared Resource
> //
>
> GiveSemaphore()
> ChangePriority(NORMAL)
> }
>
> The queries i have is -
> 1. Why the priority lowering of the task not coming into effect
> immediately ?
> 2. How do we solve this problem ?
> 3. Is there any other workaround for the Priority inversion problem ?
> (Apart from the two solutions available already)
>
> Thanks
> Manish Verma
> Wipro Technoloiges
> Bangalore
>

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

Newsgroups: comp.os.vxworks
Subject: Re: ifShow problem
Date: 02 Jul 2002 11:16:09 -0400
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Factory of the mind
Message-ID: <uvg7yb1om.fsf@sympatico.ca>
References: <Xns923EAB8B755E2borkhuisagerecom@192.19.193.66> <afrhb8$vlc$1@snoopy.bndlg.de> <Xns923F617E5C9E7borkhuisagerecom@192.19.193.66> <HVhU8.220491$nZ3.104235@rwcrnsc53> <Xns923FA7F3E302Bborkhuisagerecom@192.19.193.66>
Sender: bpringlemeir@DeadDuck

>>>> "drdiags" <drdiags@attbi.com> wrote:

 >> What is the END driver? If it is a WRS one, what about the latest
 >> comp-drv update released last month?

>>>>> "JB" == Johan Borkhuis <borkhuis@agere.com> writes:

 JB> No, it is a driver we developed ourself. The problem does not
 JB> occur on all platforms, we saw it on the PPC and ARM (T201), but
 JB> not on MIPS (T210).

This could be some sort of padding bug.  I think the ifShow code is in
"$(WIND_BASE)/resources/tcl/ifShowCore.tcl".  Eventually, it comes to
the function "netIfInfo", where the parameter is an address to a
`ifnet' structure.  The `if_data' structure is embedded in the `ifnet'
structure.

Is it possible that different compiler options have effected the
structure layout in some way?  You can get the ifnet pointer and dump
the memory from the shell and the target.

hth,
Bill Pringlemeir.

- -- 
IRC SERVER. TORPEDOED. SINKING. U-376.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Re: ifShow problem
Date: Tue, 2 Jul 2002 15:22:59 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns923FB0530F5EDborkhuisagerecom@192.19.193.66>
References: <Xns923EAB8B755E2borkhuisagerecom@192.19.193.66> <afrhb8$vlc$1@snoopy.bndlg.de> <Xns923F617E5C9E7borkhuisagerecom@192.19.193.66> <HVhU8.220491$nZ3.104235@rwcrnsc53> <Xns923FA7F3E302Bborkhuisagerecom@192.19.193.66> <uvg7yb1om.fsf@sympatico.ca>

Bill Pringlemeir <spam_account@sympatico.ca> wrote:
> This could be some sort of padding bug.  I think the ifShow code is in
> "$(WIND_BASE)/resources/tcl/ifShowCore.tcl".  Eventually, it comes to
> the function "netIfInfo", where the parameter is an address to a
> `ifnet' structure.  The `if_data' structure is embedded in the `ifnet'
> structure.
> 
> Is it possible that different compiler options have effected the
> structure layout in some way?  You can get the ifnet pointer and dump
> the memory from the shell and the target.

That would indicate a problem with the host shell, but we have a problem 
with the target shell, the host shell does show the right info.

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: VxWorks and MPC 750 low power modes
Date: Tue, 2 Jul 2002 17:50:17 +0200
From: "Rene Straub" <_remove_rene.straub@yetnet.ch>
Organization: Swisscom IP+ (post doesn't reflect views of Swisscom)
Message-ID: <afsi3i$87n$1@rex.ip-plus.net>

Hello folks,

I am attempting to use the MPC 750 doze mode to
reduce the power consumption of our device. Currently
I am testing two approaches.

1. A low priority task that enters doze mode whenever
    it gets to run.
2. Use VxWorks built in support for idle processing.
    I use a method similar to vxPowerModeSet() to
    set HID0 and then set the (undocumented) flag
    vxPowMgtEnable. Vx should then enter the doze
    mode whenever no task is ready to run.

Both methods reduce the core temperature by 20 degs,
so the power management seems to work. Unfortunately
the VxWorks method seems to block interrupts. I checked
this with an Ethernet controller. Without power mgt. I get
an IRQ for each received frame (each 100uS). With power
mgt. enabled I only get an IRQ after about 10 frames.
The funny thing is that this only happens if I use the
VxWorks approach.

My question:
1. Has anyone successfully used the VxWorks low power
    features (vxPowerModeSet()).
2. Are there any issues one needs to know (Google was no
    big help this time)
3. Is there an API to restart the VxWorks task scheduler
    from an interrupt.

I am grateful for all yours comments and ideas.

Yours
- - Rene

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

Newsgroups: comp.os.vxworks
Subject: Re: Task priority doesnot reduce after priority Inversion .
Date: Tue, 2 Jul 2002 15:02:00 -0400
From: Keith Arner <karner@pit.comms.marconi.com>
Organization: Marconi
Message-ID: <Pine.GSO.4.42.0207021454000.23210-100000@zimbra>
References: <80562a1b.0207020119.7db129e6@posting.google.com>
Reply-To: Keith Arner <keith.arner@marconi.com>

On 2 Jul 2002, Manish Verma wrote:

> We had implemented the PCP for handling the priority inversion problem
> .
> But we are facing some other problem due to this.

I'm not certain what "the PCP" is, so I don't know whether that is
important to your current question.

> Funtion XYZ( )
> {
> ChangePriority(HIGHEST)
> TakeSemaphore()
>
> //
> Access Shared Resource
> //
>
> GiveSemaphore()
> ChangePriority(NORMAL)
> }

Is it possible that the task is already holding an inversion safe mutex
semaphore upon entry into the function XYZ()?  If it is, then it may have
already inherited a higher prioirity as a result of owning the mutex.  If
this is the case, then doing a taskPrioritySet() to a lower priority will
not immediately change the task's priority -- rather the task's priority
will change when the mutex is dropped.

As a side note - I'm curious as to how you are deciding on what priority
value to use when you return the task to it's "normal" priority.  If you
are using some constant value, then you're fine.  However, if you are
using taskPriorityGet(), and the task has inherited a priority through an
inversion safe mutex semaphore, you will get the *inherited* priority,
rather than the normal priority (which will cause you to set it to the
wrong value).

> The queries i have is -
> 1. Why the priority lowering of the task not coming into effect
> immediately ?
> 2. How do we solve this problem ?

I'm curious as to why you are manually setting the task priority, rather
than simply taking an inversion safe mutex.  It would seem to be simple
enough to just use the mutex.

> 3. Is there any other workaround for the Priority inversion problem ?
> (Apart from the two solutions available already)

I don't know exactly what you are referring to as "the solutions available
already", so I'm not sure what to suggest in contrast to them.

Keith

- -- 
mv ~karner /loony/bin

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

Newsgroups: comp.os.vxworks
Subject: Re: Printing from an exception in an interrupt handler
Date: Tue, 2 Jul 2002 16:06:07 -0400
From: "William Dennen" <bowtie@bowtie.pop.crosslink.net>
Message-ID: <3d220865$0$8261@dingus.crosslink.net>
References: <92d559ef.0207011226.d2eaad6@posting.google.com> <3D21BA98.2020602@ssl.umd.edu>

I've used logMsg() with success; although one does have to search a bit to
find the appropriate file descriptor

- --
>@<
Bill Dennen
MCG/GTAC

"Stephen Roderick" <stephen_roderickREMOVE-TO-REPLY@ssl.umd.edu> wrote in
message news:3D21BA98.2020602@ssl.umd.edu...
> You could also try storing the information to non-voltatile RAM (if
> available on your board), and picking that up on startup. Our system
> does that so we always know what the reason for the reboot was,
> including exceptions, signals, etc.
>
> Also, why not use logMsg() from the exception handler? I presume as the
> exception is unrecoverable?
>
> Stephen
>
>

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

Newsgroups: comp.os.vxworks
Subject: Fixed image size
Date: Tue, 02 Jul 2002 15:34:09 -0700
From: Russell Snow <russell.snow@raytheon.com>
Organization: Raytheon Company
Message-ID: <3D222A61.6080909@raytheon.com>

Is there a way to tell the linker to produce a image of a specific size, 
then place a version number at a certain point in ram so the software 
can tell what version it is?

Thanks

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

Newsgroups: comp.os.vxworks
Subject: Re: Template compilation error: virtual memory exhausted
Date: Wed, 03 Jul 2002 02:38:33 GMT
From: bill@woola.qswtools.com
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <JstU8.2050$2k5.1624@newsread1.prod.itd.earthlink.net>
References: <zMiU8.679$gR.47861@newsread2.prod.itd.earthlink.net>

In article <zMiU8.679$gR.47861@newsread2.prod.itd.earthlink.net>,
	"Kevin Lay" <circlemtn@earthlink.net> writes:
> Building ACE for VxWorks 5.4 PPC, I get the following interesting error
> (more output at bottom for brevity):
> 
> (C:\Tornado2.1\host\x86-win32\lib\gcc-lib\powerpc-wrs-vxworks\gcc-2.96\cc1pl
> us.exe 1002) commit_and_inc: VirtualAlloc failed
> 
> ../ace/Message_Queue_T.cpp:2272: Internal compiler error:
> 
> ../ace/Message_Queue_T.cpp:2272: virtual memory exhausted
> 
> Source looks fine, compiles for other platforms.  Allegedly ok with VxWorks
> 5.3 Gnu 2.7.2. Don't know.  Has anyone seen this?

Unfortunately, yes.  The Windows GNU compilers have several problems
with memory allocation, and we've run into them all:

	1) Most Win32 executables before the Tornado 2.2 versions have
	   a field in the PE-COFF header that allocates a fixed,
	   too-small, stack area for the compiler process.  WRS
	   has a 'pepatch' utility that you can download to alter
	   the field.  I recommend trying this first, since it's
	   the least intrusive (also less risky) fix.

	2) There's a bug in the CygWin.dll file that contains the
	   BSD-like support for all the GNU tools on WIN32.  I 
	   don't know it's exact nature, but it's about allocating
	   memory.  There are some patched compilers available on
	   WindSurf.  Be sure to save your old DLL, and this fix
	   is also low-risk.

	3) Some of the GNU C++ compiler versions try too hard to
	   inline code, and use *way* too much memory.  Again,
	   there are some patched compiler binaries available
	   on WindSurf.  You can work around this one with the
	   -fno-inline command option.  

You can see the problem in the above patchwork of fixes.  One
cannot always find the patch one needs for the compiler one 
uses...  Our FAE says that WRS is working on 'cumulative
patches' combining the three fixes, where they are needed, for
the most common architectures.

> If you can shed some light on this I'd be grateful.

Thanks, by the way, for the really complete situation report.
It made diagnosing the problem really simple!

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

Newsgroups: comp.os.vxworks
Subject: QMC protocol interrupts on SCC3 on Power PC
Date: 2 Jul 2002 20:32:49 -0700
From: asrinivas@oni.com (asrinivas)
Organization: http://groups.google.com/
Message-ID: <a6689701.0207021932.68cf0af5@posting.google.com>

Hello
Has anyone in this newsgroup, have any experience on the QMC protcol 
for SCC3 ? If so,
I am getting a Interrupt Invalid as opposed to INT Valid, defined
as part of the 16 array uint16 IntQue in CPM parameter ram defined
for QMC.  What is the significance of the INT not being valid ?

Anyone out there with any experience on the QMC, any suggestions would 
help.

thx

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

Newsgroups: comp.os.vxworks
Subject: new to vxworks need advice about working
Date: 2 Jul 2002 22:57:45 -0700
From: vxnerd@rediffmail.com (subbarayan)
Organization: http://groups.google.com/
Message-ID: <f81c4277.0207022157.ee0334c@posting.google.com>

hi, 
I am new to vxworks and now currently working on tornado1.0 target
version.I have just now started learning about the environment and abt
vxworks.I have certain doubts for which i need all ur help to make me
learn better.
I made a boot.sys file by making the bootrom_uncmp option.then i made
vxworks.st file also.
I booted the target.I want to make it as a stand alone target which is
a standard pc architecture.I copied the boot.sys file and .st file in
a floppy and booted it.
Now here are my following doubts:
1.My target is able to boot and my shell also starts in target.
Now how to make my object file of my source to get downloaded in the
target once it boots and after the shell loads in it.what are the
settings i should make in the configuration files like
config.h,usrconfig.c and other kind of settings if any inorder to make
my target boot from floppy and load the object file in the target?Is
any change in BSP files req?if so what changes should be done?
I copy the bootfile and made it using mkboot a: bootrom_uncmp and had
boot file in floppy then i copied the .st file.now what should i do to
make my object file of the source which is my application to get
downloaded in the target with the help of floppy?Is it ok if i just
make the bootrom_uncmp and .st file or need i do some thing in the
host to make my target to linked with source file once it boots?incase
is something has to be done what should be done in host machine where
i develop my code with tornado1.0?
What commands should i use in the shell on target side to execute my
appln?
is it enough if i jus give the name of task i want to work?
hows that done?
2.To make a network based host target environment what are the
settings to be made to the usrconfig.c file and config.h file?what
other files need to be modified and what settings should i give in
these files incase it requires modification?Is any change in BSP files
req?if so what changes should be done?

                    I will be thankful to the person helping me
understand these questions.As i have no one to help me now around i am
fully dependening on this forum for my help.
Kindly tell me where can i find info abt making a floppy based
bootable target with vxworks?
Anyone with a soln can mail me the answer to:vxnerd@rediffmail.com

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

Newsgroups: comp.os.vxworks
Subject: new to vxworks need advice about working
Date: 2 Jul 2002 22:58:55 -0700
From: vxnerd@rediffmail.com (subbarayan)
Organization: http://groups.google.com/
Message-ID: <f81c4277.0207022158.cc3faa2@posting.google.com>

hi, 
I am new to vxworks and now currently working on tornado1.0 target
version.I have just now started learning about the environment and abt
vxworks.I have certain doubts for which i need all ur help to make me
learn better.
I made a boot.sys file by making the bootrom_uncmp option.then i made
vxworks.st file also.
I booted the target.I want to make it as a stand alone target which is
a standard pc architecture.I copied the boot.sys file and .st file in
a floppy and booted it.
Now here are my following doubts:
1.My target is able to boot and my shell also starts in target.
Now how to make my object file of my source to get downloaded in the
target once it boots and after the shell loads in it.what are the
settings i should make in the configuration files like
config.h,usrconfig.c and other kind of settings if any inorder to make
my target boot from floppy and load the object file in the target?Is
any change in BSP files req?if so what changes should be done?
I copy the bootfile and made it using mkboot a: bootrom_uncmp and had
boot file in floppy then i copied the .st file.now what should i do to
make my object file of the source which is my application to get
downloaded in the target with the help of floppy?Is it ok if i just
make the bootrom_uncmp and .st file or need i do some thing in the
host to make my target to linked with source file once it boots?incase
is something has to be done what should be done in host machine where
i develop my code with tornado1.0?
What commands should i use in the shell on target side to execute my
appln?
is it enough if i jus give the name of task i want to work?
hows that done?
2.To make a network based host target environment what are the
settings to be made to the usrconfig.c file and config.h file?what
other files need to be modified and what settings should i give in
these files incase it requires modification?Is any change in BSP files
req?if so what changes should be done?

                    I will be thankful to the person helping me
understand these questions.As i have no one to help me now around i am
fully dependening on this forum for my help.
Kindly tell me where can i find info abt making a floppy based
bootable target with vxworks?
Anyone with a soln can mail me the answer to:vxnerd@rediffmail.com

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

Newsgroups: comp.os.vxworks
Subject: DHCP server configuration
Date: 3 Jul 2002 01:10:25 -0700
From: hekumar@hss.hns.com (Hemant Kumar)
Organization: http://groups.google.com/
Message-ID: <a26a7b31.0207030010.664c3ebe@posting.google.com>

hi
i am running a DHCP server server on a pentium machine
i have added lease entries to usrNetwork.c as indicated in
the documentation of dhcpsLib
i am using the windows dhcp client (ipconfig)
and am unable to get an address for the client.
is there anything more needed to be done
to configure the server
pls help
TIA
Hemant

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

Newsgroups: comp.os.vxworks
Subject: Re: Problem of periodic timer in Vxworks??
Date: Wed, 3 Jul 2002 10:42:28 +0200
From: "Friedrich Ensslin" <friedrich.ensslin@am3.com>
Message-ID: <AOyU8.3$9L3.1568@news.ecrc.de>
References: <afhaim$psj$2@news.kreonet.re.kr> <afhh1h$m38$1@snoopy.bndlg.de>

Hi,

"Michael Lawnick" <Lawnick@softec.de> schrieb im Newsbeitrag
news:afhh1h$m38$1@snoopy.bndlg.de...
> You have different possibilities, minimum 2:
>
> First: increase system clock rate with sysClkRateSet(1000), or best in
> Workspace-configuration.
> Now you can use e.g. taskDelay(1) to restart a task every ms.

You better use taskDelay (0) here, because otherwise you'll stop your task
on every 2nd sys clock tick.

> Or you use sysClkConnect() to connect an ISR to system clock's interrupt.
> Watchdogs should be able to work with 1ms too, but I'm not sure about
> accuracy then.
>
> Second: Use sysAuxClkRateSet(1000), sysAuxClkConnect(), sysAux... sequence

Preferable to the sys clock as the aux doesn't carry the overhead of system
tick handling.

> if your rate is supported.
> Look into (Online-)Manual.
>
> More: Use probably existing other timers. You might find information in
> Motorola's Programmers User Guide.

This would IMO result in the same behaviour as the aux clock approach above
with the difference of having to program the timer yourself.

>
> HTH
> Michael

just my 2 EuroCents,

Fritz Ensslin

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

Newsgroups: comp.os.vxworks
Subject: Re: Problem of periodic timer in Vxworks??
Date: Wed, 3 Jul 2002 12:09:00 +0200
From: "Michael Lawnick" <Lawnick@softec.de>
Organization: Buergernetz Dillingen
Message-ID: <afuifu$7ff$1@snoopy.bndlg.de>
References: <afhaim$psj$2@news.kreonet.re.kr> <afhh1h$m38$1@snoopy.bndlg.de> <AOyU8.3$9L3.1568@news.ecrc.de>
Reply-To: "Michael Lawnick" <Lawnick@softec.de>
Sender: mlawnick@pd9e65d67.dip.t-dialin.net

Hi Friedrich,

> > Now you can use e.g. taskDelay(1) to restart a task every ms.
>
> You better use taskDelay (0) here, because otherwise you'll stop your task
> on every 2nd sys clock tick.

That is definitely wrong! Keep your 2 EuroCents.

taskDelay (0) will start a pending task with same priority if existing, but
is a no-op if not !
taskDelay(x) waits for the x. occurence of system tick.
Assuming work doesn't last longer than a tick, the task will be restarted
every tick. If it needs longer, ticks will be missed. This is in contrast to
ISR, bound to any clock, that gives a binary semaphore. In this solution the
task will restart at once and so run continuously until work is done.

Michael

"Friedrich Ensslin" <friedrich.ensslin@am3.com> schrieb im Newsbeitrag
news:AOyU8.3$9L3.1568@news.ecrc.de...
> Hi,
>
> "Michael Lawnick" <Lawnick@softec.de> schrieb im Newsbeitrag
> news:afhh1h$m38$1@snoopy.bndlg.de...
> > You have different possibilities, minimum 2:
> >
> > First: increase system clock rate with sysClkRateSet(1000), or best in
> > Workspace-configuration.
> > Now you can use e.g. taskDelay(1) to restart a task every ms.
>
> You better use taskDelay (0) here, because otherwise you'll stop your task
> on every 2nd sys clock tick.
>
> > Or you use sysClkConnect() to connect an ISR to system clock's
interrupt.
> > Watchdogs should be able to work with 1ms too, but I'm not sure about
> > accuracy then.
> >
> > Second: Use sysAuxClkRateSet(1000), sysAuxClkConnect(), sysAux...
sequence
>
> Preferable to the sys clock as the aux doesn't carry the overhead of
system
> tick handling.
>
> > if your rate is supported.
> > Look into (Online-)Manual.
> >
> > More: Use probably existing other timers. You might find information in
> > Motorola's Programmers User Guide.
>
> This would IMO result in the same behaviour as the aux clock approach
above
> with the difference of having to program the timer yourself.
>
> >
> > HTH
> > Michael
>
> just my 2 EuroCents,
>
> Fritz Ensslin
>
>
>

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

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

From vxwexplo-errs@csg.lbl.gov  Thu Jul  4 04:03:11 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Thu Jul  4 04:03:14 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Thu Jul  4 04:03:08 PDT 2002

        Subject: Re: Problem of periodic timer in Vxworks??
        Subject: Re: Problem of periodic timer in Vxworks??
        Subject: Re: Module load limitation & IP gateway problem
        Subject: FTP probelm
        Subject: Adding File Editor to VxWorks.  vi?
        Subject: Re: Module load limitation & IP gateway problem
        Subject: Re: Unable to access symbols for applications
        Subject: How can I reopen workspace window again in Torando?
        Subject: Re: How can I reopen workspace window again in Torando?
        Subject: Re: Problem of periodic timer in Vxworks??
        Subject: Re: snds100 vxworks bsp
        Subject: Re: Module load limitation & IP gateway problem
        Subject: problem while downloading to target!
        Subject: Re: Module load limitation & IP gateway problem
        Subject: Re: target and host in same machine
        Subject: select() problem
        Subject: Problems with VisionClick

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

Newsgroups: comp.os.vxworks
Subject: Re: Problem of periodic timer in Vxworks??
Date: Wed, 03 Jul 2002 13:56:44 +0200
From: Emmanuel Herbreteau <eherbreteau@sepro-robotique.com>
Organization: SEPRO Robotique (BEP)
Message-ID: <3D22E67C.31784F70@sepro-robotique.com>
References: <afhaim$psj$2@news.kreonet.re.kr> <afhh1h$m38$1@snoopy.bndlg.de> <AOyU8.3$9L3.1568@news.ecrc.de> <afuifu$7ff$1@snoopy.bndlg.de>

Michael Lawnick wrote:
> Hi Friedrich,
> > You better use taskDelay (0) here, because otherwise you'll stop your task
> > on every 2nd sys clock tick.
> That is definitely wrong! Keep your 2 EuroCents.
> taskDelay (0) will start a pending task with same priority if existing, but
> is a no-op if not !

Hi Mickael,

"This routine causes the calling task to relinquish the CPU for the duration
specified (in ticks). This is commonly referred to as manual rescheduling."
(from the Vxworks reference manual)

As far as I understand this statement, it seems that taskDelay(0)
will let the scheduler do its jobs (schedule the tasks) before
the next tick (no need to wait any longer as we know our task
has nothing to do).

???

Regards
Emmanuel

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

Newsgroups: comp.os.vxworks
Subject: Re: Problem of periodic timer in Vxworks??
Date: Wed, 3 Jul 2002 12:15:27 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns92409094EAB9Eborkhuisagerecom@192.19.193.66>
References: <afhaim$psj$2@news.kreonet.re.kr> <afhh1h$m38$1@snoopy.bndlg.de> <AOyU8.3$9L3.1568@news.ecrc.de> <afuifu$7ff$1@snoopy.bndlg.de> <3D22E67C.31784F70@sepro-robotique.com>

Emmanuel Herbreteau <eherbreteau@sepro-robotique.com> wrote:

> As far as I understand this statement, it seems that taskDelay(0)
> will let the scheduler do its jobs (schedule the tasks) before
> the next tick (no need to wait any longer as we know our task
> has nothing to do).

The process of taskDelay(0) is the following:

The current task will be put at the end of the ready queue for the current 
priority. Then the scheduler will look if there are any higher priority 
tasks are ready, and if so these will be started. If not the first task at 
the priority of the current task will be started. If there are no other 
tasks ready at this priority the current task will continue.

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: Module load limitation & IP gateway problem
Date: Wed, 03 Jul 2002 12:20:41 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <t_BU8.265811$6m5.233255@rwcrnsc51.ops.asp.att.net>
References: <Xns923FE10743F85dliu7647nospamshawca@24.69.255.211>

Hello Desmond,

"Desmond Liu" <dliu7647nospam@shaw.ca> wrote in message
news:Xns923FE10743F85dliu7647nospamshawca@24.69.255.211...
> I'm trying to port a rather large utility from Windows NT to VxWorks. I'm
> currently having two problems with VxWorks.
>
> My setup: an MCP750 target using a PC as a host.
>
> Problem #1:
>
> I'm seeing the following error message from windsh:
>
> -> ld (1) <libxme.o
> Loading C:/Data/libxme.o /
> WTX Error 0x10034 (LOADER_RELOCATION_OFFSET_TOO_LARGE)
> value = -1 = 0xffffffff
> ->

If you have more than 32MB of RAM on the 750 and you are loading from the
target shell, you need to compile the app with the -mlongcall (?) flag. The
target
loader will malloc from the top of the heap which is probably putting the
kernel
routines outside the +/-32MB range. I don't have the vxWorks FAQ link
available, but this is discussed there.

>
> The module that I'm loading is over 4 Mb in size. I have a feeling that
> the loader simply can't handle a module this large. Does anyone know what
> the limit is for a module?
>
> Problem #2:
>
> VxWorks can't seem to send data to a different subnet. My guess is that
> VxWorks doesn't have the IP gateway configured properly. The boot ROM on
> the MCP750 is configured with the proper IP address/subnet mask and
> gateway, but after VxWorks has loaded, it is impossible to ping a host
> outside the subnet.
>

The gateway defined in the bootrom config isn't used after the kernel
starts,
someone earlier posted a way to handle what you need in the usrAppInit()
routine. It also is described in the vxWorks FAQ. I just found the link.
Look here to start your search:
http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html
Someone will probably post the exact location if you cannot find it.

> How can you find out what gateway VxWorks is using? The ifShow() doesn't
> display anything wrt the default IP gateway. I'm sure the problem must be
> in the way I've configured/compiled VxWorks.
>
> Desmond
>
> dliu7647nospam@shaw.ca
>

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

Newsgroups: comp.os.vxworks,comp.os.qnx
Subject: FTP probelm
Date: Wed, 3 Jul 2002 12:54:14 +0000 (UTC)
From: "Ganesh Anand" <ganeshtp@myw.ltindia.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <f8bb70a1a25a601ee7eca0f3f5ae3764.98538@mygate.mailgate.org>

hi all,

      presently i am trying to transfer a file which is there in one
board to another. my board is made of MPC823 & i had to read from the
diskon chip of one board and write to another. while doing FTP i am
getting an error msg FILE IS NOT AVAILABLE OR PERMISSION PROBELM i had
checked that the file is available.

      may any one help me how to use netDevCreate how will it be useful
in my context.

      what is the diff btw NFS & FTP how to do NFS may any one help in
solving.

      if i include rlogin/telnet facility in my workspace i cudn't
rebuild  my workspace it was giving some compiler error. it's showing
that function i is declared in usrLib.o & where ever i use i variable in
my application files it's showing error at that point. this error
doesn't occur if i exclude rlogin facility

       it wud be of great help if somebody cud show me a way regarding
solving of the above probelms

  ganesh anand

 

- -- 
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: Adding File Editor to VxWorks.  vi?
Date: Wed, 3 Jul 2002 09:44:43 -0500
From: "Ray Henke" <rhenke1@email.mot.com>
Organization: Motorola
Message-ID: <afv2kh$2ok$1@newshost.mot.com>

Hello,

I am trying to hand-edit files, and cannot see any way to do so.  Are there
existing command(s) I should be using?  Is there a port of vi, or similar
editor, that could be used?

Thanks,
Ray

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

Newsgroups: comp.os.vxworks
Subject: Re: Module load limitation & IP gateway problem
Date: Wed, 03 Jul 2002 09:38:08 -0700
From: M Lang <Minh.Lang@jpl.nasa.gov>
Organization: Jet Propulsion Laboratory - Pasadena CA
Message-ID: <3D232870.CECE6161@jpl.nasa.gov>
References: <Xns923FE10743F85dliu7647nospamshawca@24.69.255.211>
Reply-To: Minh.Lang@jpl.nasa.gov

Desmond Liu wrote:
> 
> I'm trying to port a rather large utility from Windows NT to VxWorks. I'm
> currently having two problems with VxWorks.
> 
> My setup: an MCP750 target using a PC as a host.
> 
> Problem #1:
> 
> I'm seeing the following error message from windsh:
> 
> -> ld (1) <libxme.o
> Loading C:/Data/libxme.o /
> WTX Error 0x10034 (LOADER_RELOCATION_OFFSET_TOO_LARGE)
> value = -1 = 0xffffffff
> ->
> 
> The module that I'm loading is over 4 MB in size. I have a feeling that
> the loader simply can't handle a module this large. Does anyone know what
> the limit is for a module?

How much memory do you have on your MCP750 and how much
memory did you configure your kernel? I suspect that
you have more than 32 MB and your kernel was configured
for more than 32 MB too? If that's the case and you
didn't compile your code to use "-mlongcall" (or equivalent),
your codes won't be able to reached vxWorks' system calls
(as it's loaded from the top while vxWorks resides on the bottom). 

> Problem #2:
> 
> VxWorks can't seem to send data to a different subnet. My guess is that
> VxWorks doesn't have the IP gateway configured properly. The boot ROM on
> the MCP750 is configured with the proper IP address/subnet mask and
> gateway, but after VxWorks has loaded, it is impossible to ping a host
> outside the subnet.
> 
> How can you find out what gateway VxWorks is using? The ifShow() doesn't
> display anything wrt the default IP gateway. I'm sure the problem must be
> in the way I've configured/compiled VxWorks.

Do a "routeShow()" from the shell and it'll tell you what it uses.
How does your network physical setup look like?

> Desmond
> 
> dliu7647nospam@shaw.ca
> 
> (Note: remove the 'nospam' from my e-mail address to reply via e-mail)

 = Minh =

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

Newsgroups: comp.os.vxworks
Subject: Re: Unable to access symbols for applications
Date: 3 Jul 2002 11:13:54 -0700
From: daniel_k_wong@yahoo.com (Daniel Wong)
Organization: http://groups.google.com/
Message-ID: <63c460d8.0207031013.e557465@posting.google.com>
References: <63c460d8.0206281459.19fa70cd@posting.google.com> <pkockritz-83684B.20334728062002@netnews.attbi.com> <63c460d8.0207011514.18e81457@posting.google.com> <6b1e107c.0207020028.65c8b671@posting.google.com>

Hi Harud,

Thanks, that fixed the problem.

- -Daniel

hans_ruesing@arburg.com (=?ISO-8859-1?Q?Harud_R=FCsing?=) wrote in message news:<6b1e107c.0207020028.65c8b671@posting.google.com>...
> daniel_k_wong@yahoo.com (Daniel Wong) wrote in message news:<63c460d8.0207011514.18e81457@posting.google.com>...
> Hallo Daniel,
> 
> It seems you are compiling with a C++ Compiler (name mangling)
> You should declare your function `extern "C" ...
> 
> Harud Rsing
> 
> > Hi Pete,
> > 
> > Thanks for your suggestions.  Your suggestions helped me to get
> > further along in solving my problem.
> > 
> > I was trying to build a static kernel with my own functions linked
> > into the kernel.  However, I discovered that my functions were not
> > linked in after using the 'nmppc' command that you suggested.  Like
> > you said, the my functions weren't linked into the kernel, because the
> > kernel made no reference to my functions.  I forced the linker to
> > include my functions by using the '-u' option.  However, when I used
> > the '-u' option the linker would append the suffix '__Fv' at the end
> > of my functions.  For example, if I have a function called temp(),
> > then the function will be linked into the kernel as temp__Fv().  Do
> > you know why this is the case?
> > 
> > 
> > -Daniel
> > daniel_k_wong@yahoo.com
> > 
> > 
> > Pete Kockritz <pkockritz@mac.com> wrote in message news:<pkockritz-83684B.20334728062002@netnews.attbi.com>...
> > > In article <63c460d8.0206281459.19fa70cd@posting.google.com>,
> > >  daniel_k_wong@yahoo.com (Daniel Wong) wrote:
> > > 
> > > > I have a vxWorks image that includes some functions that I wrote.  I
> > > > linked the symbol table vxWorks.st with my vxWorks image.  I am able
> > > > to do a lkup on VxWorks calls; however, when I do a lkup on functions
> > > > that I wrote, lkup is unable to find those symbols.  Do any of you
> > > > have any idea why this is happening?  Shouldn't I be able to do a lkup
> > > > on all functions in the image?
> > > 
> > > Are you saying that you built a static kernel with your functions in it?
> > > Are you sure your functions are in the kernel? If you put your functions
> > > in a library and linked it with the kernel, your functions would not be
> > > linked in unless something in the kernel referenced them. If your
> > > functions were declared 'static', they would not normally be in the
> > > symbol table, even if they are in the image.
> > > 
> > > Do a 'nmppc --defined-only vxWorks' to dump out all the symbols and
> > > see if your functions are in there. (If your architecture is not ppc,
> > > substitute your arch for ppc in 'nmppc'). If the symTable.c file is
> > > still around you could look at it to see if they are in it.

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

Newsgroups: comp.os.vxworks
Subject: How can I reopen workspace window again in Torando?
Date: Wed, 3 Jul 2002 11:47:50 -0700
From: "Liang Yang" <Liang.Yang@asu.edu>
Organization: RTS-LAB
Message-ID: <afvgps$fh5$1@news.asu.edu>
Reply-To: "Liang Yang" <Liang.Yang@asu.edu>

Hi,

I found there is no such menu or tool button to
reopen workspace window after I close it. The only
way is to close Tornado and start Tornado again.

Is this a bug of Tornado 2.0?

Thanks.

Liang

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

Newsgroups: comp.os.vxworks
Subject: Re: How can I reopen workspace window again in Torando?
Date: Wed, 03 Jul 2002 15:49:52 -0400
From: david lindauer <dlindauer@notifier-is.net>
Message-ID: <3D235560.F7F7FE8C@notifier-is.net>
References: <afvgps$fh5$1@news.asu.edu>

on the file menu there is an 'open workspace' item.  Should let you
click on it then it brings up a dialog to let you select which one.

David

Liang Yang wrote:

> Hi,
>
> I found there is no such menu or tool button to
> reopen workspace window after I close it. The only
> way is to close Tornado and start Tornado again.
>
> Is this a bug of Tornado 2.0?
>
> Thanks.
>
> Liang

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

Newsgroups: comp.os.vxworks
Subject: Re: Problem of periodic timer in Vxworks??
Date: 3 Jul 2002 14:33:44 -0700
From: friedrich.ensslin@web.de (Friedrich Ensslin)
Organization: http://groups.google.com/
Message-ID: <bfb62ec9.0207031333.b4369e@posting.google.com>
References: <afhaim$psj$2@news.kreonet.re.kr> <afhh1h$m38$1@snoopy.bndlg.de> <AOyU8.3$9L3.1568@news.ecrc.de> <afuifu$7ff$1@snoopy.bndlg.de>

Yes Michael,

you're perfectly right (I mixed it up with the POSIX sleep(0) semantics).

Sorry for the inconvenience & have a nice time,

Fritz Ensslin

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

Newsgroups: comp.os.vxworks
Subject: Re: snds100 vxworks bsp
Date: 3 Jul 2002 18:38:10 -0700
From: seasoblue2000@yahoo.com.cn (seasoblue)
Organization: http://groups.google.com/
Message-ID: <e82d8e83.0207031738.540bd2f5@posting.google.com>
References: <afrm63$bbb$1@mail.cn99.com>

hi,
   these two space are not useful,you can del them. But these two "\"
are useful because it means going to next line.

"degang" <wdg@bjhhl.sina.net> wrote in message news:<afrm63$bbb$1@mail.cn99.com>...
> hi:
> this is the bsp template of samsung snds100
> #  define DEFAULT_BOOT_LINE \
>    "oli(0,0)host:/tor/target/config/snds100/vxWorks " \
>    "h=90.0.0.3 e=90.0.0.50 u=target tn=targetname"
> why there are two space between "#" and "define"?
> is the two "\" useful?
> 
> thanx

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

Newsgroups: comp.os.vxworks
Subject: Re: Module load limitation & IP gateway problem
Date: Thu, 04 Jul 2002 03:31:07 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <%jPU8.232434$nZ3.107542@rwcrnsc53>
References: <Xns923FE10743F85dliu7647nospamshawca@24.69.255.211> <t_BU8.265811$6m5.233255@rwcrnsc51.ops.asp.att.net> <Xns9240CA2F65343dliu7647nospamshawca@24.69.255.211>

Desmond,

"Desmond Liu" <dliu7647nospam@shaw.ca> wrote in message
news:Xns9240CA2F65343dliu7647nospamshawca@24.69.255.211...
> > If you have more than 32MB of RAM on the 750 and you are loading from
> > the target shell, you need to compile the app with the -mlongcall (?)
> > flag. The target
> > loader will malloc from the top of the heap which is probably putting
> > the kernel
> > routines outside the +/-32MB range. I don't have the vxWorks FAQ link
> > available, but this is discussed there.
>
> The modules were indeed compiled with the -mlongcall flag, but I guess I'd
> better check the output of the make to see if every single source file was
> compiled properly. The MCP750 has 128Mb of RAM.
>
> I'm loading from the Tornado shell, not the target shell. I don't know if
> that makes any difference. I couldn't find any reference to this in the
> FAQ--I couldn't find anything newer than a FAQ that was dated in 1994,
> other than the one you pointed out to me.
>

My bad. I should have noticed the "C:/..." reference. In this case, since by
default the kernel set aside 1/16 of your available memory at bootup time,
the WDB_MEM_POOL should either be 2MB or 8MB, if you originally
had the full 128MB allocated to the memory pool. If the former, then
half your app was put in the WDB_MEM_POOL and the rest was
added by a malloc call to the system. Either way, if you compiled with
the -mlongcall I am at a lost why you would get this error. Too bad the
error message doesn't show what symbol was trying to be linked and
where, but.......

> > The gateway defined in the bootrom config isn't used after the kernel
> > starts,
> > someone earlier posted a way to handle what you need in the
> > usrAppInit() routine. It also is described in the vxWorks FAQ. I just
> > found the link. Look here to start your search:
> > http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html
> > Someone will probably post the exact location if you cannot find it.
>
> Thanks! That did the trick. I could verify the problem with a simple
> command to routeAdd()

No problem. True thanks due to the contributor to the FAQ and others.

> Desmond

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

Newsgroups: comp.os.vxworks
Subject: problem while downloading to target!
Date: Thu, 4 Jul 2002 21:21:10 +0800
From: "degang" <wdg@bjhhl.sina.net>
Organization: Bentium Ltd. (CN99)
Message-ID: <ag0fl0$1gic$1@mail.cn99.com>

while downloading my program to the target ,tornado appears that:
unresolved symbols while encountered
Errors while downloading
C:/TORNADO/target/proj/Project0/ARM7TDMIgnu/testprog.out:
_va_start
_va_end
_Print
_get_key

what is the reason?
thanx

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

Newsgroups: comp.os.vxworks
Subject: Re: Module load limitation & IP gateway problem
Date: Thu, 04 Jul 2002 03:42:23 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <zuPU8.230883$R61.84329@rwcrnsc52.ops.asp.att.net>
References: <Xns923FE10743F85dliu7647nospamshawca@24.69.255.211> <3D232870.CECE6161@jpl.nasa.gov> <Xns9240CB72D1752dliu7647nospamshawca@24.69.255.211>

Desmond,

"Desmond Liu" <dliu7647nospam@shaw.ca> wrote in message
news:Xns9240CB72D1752dliu7647nospamshawca@24.69.255.211...
> > How much memory do you have on your MCP750 and how much
> > memory did you configure your kernel? I suspect that
> > you have more than 32 MB and your kernel was configured
> > for more than 32 MB too? If that's the case and you
> > didn't compile your code to use "-mlongcall" (or equivalent),
> > your codes won't be able to reached vxWorks' system calls
> > (as it's loaded from the top while vxWorks resides on the bottom).
>
> The MCP750 has 128Mb on it. I couldn't find anything in the VxWorks
manuals
> about configuring the kernel for more than 32 Mb. As far as I can tell,
> there is a routine to determine the top of memory space and allocate all
of
> it for VxWorks.
>

   The rest of the memory (96MB) can be added to the memory pool by
using the memAddToPool(address,size) or in your case:

    memAddToPool (0x2000000,0x6000000);

or

   memAddToPool (sysMemTop(),USER_RESERVED);

where 0x2000000 would be returned by sysMemTop(). Also the routine
sysPhysMemTop() should return 0x8000000, which would be the total
memory the BSP is aware of. Check your config.h file for the memory
settings. It may not be aware of the other 96MB, which should have
been set in USER_RESERVED while LOCAL_MEM_SIZE should
be set to the full 128MB.

> The module was indeed compiled with -mlongcall, so I don't think that's
the
> problem. I'll recompile and check the output to make sure all of the
source
> files are compiled properly.
>
> I could compile and load the modules previously without difficulty, but
> only as the module got larger and larger did I run into this problem. So
> I'm not sure where I need to go to fix it.
>
> Thanks.
>
> Desmond

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

Newsgroups: comp.os.vxworks
Subject: Re: target and host in same machine
Date: 3 Jul 2002 21:22:19 -0700
From: vxnerd@rediffmail.com (subbarayan)
Organization: http://groups.google.com/
Message-ID: <f81c4277.0207032022.fc80b40@posting.google.com>
References: <f81c4277.0207012322.4a223c94@posting.google.com> <afs1pt$reo$1@snoopy.bndlg.de>

dear Mr.Lawnick,
Thanks for ur reply and making me understand properly.I tried
according to ur reply made vxworks.st and bootrom_uncmp and made boot
file.My target is x86 processor.I was successful in booting and
launching the shell in target using floppy(standalone target no
connection with host).I would like to know how to launch my
application i mean the source file i want to execute in target?what
settings i have to do in config.h file,usrconfig.c file,userappinit.c
file to make my appln run in target after booting?is there any
commands available in target shell to load my application dynamically
in target?what other configuration settings to be made in host machine
where i make my code to launch my application in target?
If so what are the commands used for launching my application?
how can  i make my configuration in such a manner that after target
boots and shell loads my application starts automatically?
similarly i would be happy if u could tell me above said proceedure.
also i would like to know the various configuration settings to be
made in host to make a network based host target booting using lan
connection and also using serial cable .i would be happy if u could
tell me in particular changes to be made in bsp and configuration
files in both the cases incase it requires some change.thanks always
and expecting eagerly for ur reply,
regards,
subbarayan.

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

Newsgroups: comp.os.vxworks
Subject: select() problem
Date: 3 Jul 2002 23:05:35 -0700
From: r.stelzer@stoye.de (Rainer Stelzer)
Organization: http://groups.google.com/
Message-ID: <78a5d372.0207032205.6beab602@posting.google.com>

Hi vxworkers,

we face a problem with the select() library.
We use select to wait for a pipe and one to nine device file descriptors.
Case we use one device and one pipe everything works perfect.
But if we want to wait for one pipe and two devices(or more) select never returns.

In the newsgroup I found some hints that make me believe that select()
isn't that reliable I would expect it to be.

So my questions:
Is this known bug ?
How to solve the problem ?

Thanks in advance.

Rainer

 .
 .
 .
 .
   FOREVER  
   {
      FD_ZERO (&mask_of_fds);

      for (i=0; i<devs_number; i++)
      {
         FD_SET(dev_handle[i].fd, &mask_of_fds);
      }

      FD_SET(input_pipe_fd, &mask_of_fds);

      if (select(fd_select_width, &mask_of_fds, NULL, NULL, NULL) == ERROR)
      {
         sysTrace(........);
	 return;
      }
      if (FD_ISSET(input_pipe_fd, &mask_of_fds))  
      {
         read_from_pipe(input_pipe_fd);
      }
      for (i=0; i<devs_number; i++) 
      {
         if (FD_ISSET(dev_handle[i].fd, &mask_of_fds))  
         {
            read_from_extern_device(i);
         }
      }
   }

 .
 .
 .
vxWorks Tornado

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

Newsgroups: comp.os.vxworks
Subject: Problems with VisionClick
Date: 04 Jul 2002 09:58:28 +0200
From: Davide Viti <davide.viti@icn.siemens.it>
Organization: Siemens Inc.
Message-ID: <uznx7zzyz.fsf@icn.siemens.it>

Hi,
If I load to RAM my VxW BDX file I can run it just once: that means
that if I set a breakpoint, run the software and at a certain point 
decide to put the PC back to 0x10000 and try to run it the software
crashes and I have to load the BDX file back to RAM... I find it
quite annoying!!
I've developed a small standalone application and with it I don't
have any problems stopping and restarting so I'm wondering what's
wrong with it...

I forgot to mention that my board is equipped with a PowerPC 860

Thanx for your help

Davide

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

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

From vxwexplo-errs@csg.lbl.gov  Fri Jul  5 04:03:16 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Fri Jul  5 04:03:18 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Fri Jul  5 04:03:12 PDT 2002

        Subject: a new select() problem
        Subject: Re: ifShow problem
        Subject: Finding kernel's text segment location
        Subject: dosFs2.0 in tornado
        Subject: dosFs2.0 in tornado
        Subject: FTP connect with fopen
        Subject: LDAP CLIENT
        Subject: Re: Problems with VisionClick
        Subject: Re: FTP connect with fopen
        Subject: Re: Adding File Editor to VxWorks.  vi?
        Subject: Re: problem while downloading to target!
        Subject: Re: Problems with VisionClick
        Subject: Re: Finding kernel's text segment location
        Subject: Any better way to do this?
        Subject: Re: Anyone actually did 82xx CP Loading Measurement?
        Subject: Re: GCC for PowerPC bug
        Subject: Re: problem while downloading to target!
        Subject: Re: Any better way to do this?
        Subject: Re: Printing from an exception in an interrupt handler
        Subject: Re: Template compilation error: virtual memory exhausted
        Subject: How to get Reai-Time Clock
        Subject: What I fell could be reason FTP data corruption?.
        Subject: POP3 over VxWorks
        Subject: Re: a new select() problem
        Subject: about taskDelay and execution time of a task
        Subject: Re: Any better way to do this?
        Subject: Re: Ethernet - Where to start
        Subject: Re: FTP connect with fopen
        Subject: vxWorks Rename bug in DosFs?
        Subject: Re: a new select() problem
        Subject: Re: about taskDelay and execution time of a task
        Subject: about taskDelay and execution time of a task
        Subject: Tornado error

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

Newsgroups: comp.os.vxworks
Subject: a new select() problem
Date: 4 Jul 2002 04:41:28 -0700
From: r.stelzer@stoye.de (Rainer Stelzer)
Organization: http://groups.google.com/
Message-ID: <78a5d372.0207040341.3289c0c1@posting.google.com>

my previous posted request has been attached to an old thread.
to avoid any confusion I post the request with a new subject...

Hi vxworkers,

we face a problem with the select() library.
We use select to wait for a pipe and one to nine device file descriptors.
Case we use one device and one pipe everything works perfect.
But if we want to wait for one pipe and two devices(or more) select never returns.

In the newsgroup I found some hints that make me believe that select()
isn't that reliable I would expect it to be.

So my questions:
Is this known bug ?
How to solve the problem ?

Thanks in advance.

Rainer

 .
 .
 .
 .
   FOREVER  
   {
      FD_ZERO (&mask_of_fds);

      for (i=0; i<devs_number; i++)
      {
         FD_SET(dev_handle[i].fd, &mask_of_fds);
      }

      FD_SET(input_pipe_fd, &mask_of_fds);

      if (select(fd_select_width, &mask_of_fds, NULL, NULL, NULL) == ERROR)
      {
         sysTrace(........);
         return;
      }
      if (FD_ISSET(input_pipe_fd, &mask_of_fds))  
      {
         read_from_pipe(input_pipe_fd);
      }
      for (i=0; i<devs_number; i++) 
      {
         if (FD_ISSET(dev_handle[i].fd, &mask_of_fds))  
         {
            read_from_extern_device(i);
         }
      }
   }

 .
 .
 .
vxWorks Tornado

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

Newsgroups: comp.os.vxworks
Subject: Re: ifShow problem
Date: Thu, 4 Jul 2002 12:37:00 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns924194383A67Fborkhuisagerecom@192.19.193.66>
References: <Xns923EAB8B755E2borkhuisagerecom@192.19.193.66>

Johan Borkhuis <borkhuis@agere.com> wrote:

> Hello,
> 
> I am porting a driver to a new platform, a PPC603 board. This works
> well, the driver is running and I can communicate through the device.
> 
> But when looking at the packet counters using ifShow all counters stay
> on 0, except packets sent, this one only counts the outgoing ARP
> replies. This driver works OK on a number of different other
> platforms. Why are the counters not incremented?

I found the cause of this problem. In the driver there should be calls 
like:
END_ERR_ADD (&wlc->end, MIB2_OUT_UCAST, 1);
for each frame. They were not there, so after adding these line in the 
send and receive routines the values started to increment.

However now I notice something different: the values shown in the target 
shell and host shell are not identical, they differ quite a lot. The 
cause for this is that the target shell uses the MIB values, but the host 
shell uses the internal counters (stored in the area pointer to by ifb).

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: Finding kernel's text segment location
Date: 4 Jul 2002 06:00:03 -0700
From: e5he@etek.chalmers.se (Hakan Eriksson)
Organization: http://groups.google.com/
Message-ID: <235090d1.0207040500.821cc49@posting.google.com>

Hi!

I'm looking for a way to find where the text segment of the kernel
starts (_sysInit is OK I guess) and ends (a bit harder?). This should
be done from a module running on the target (at runtime).

Does anyone know of any VxWorks function, or global variable, that's
available to retrieve this information? A macro would be OK too, but I
prefer something more universal, with no "build dependencies".

Kind regards, 
Hakan Eriksson, 
Gothenburg, Sweden.

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

Newsgroups: comp.os.vxworks
Subject: dosFs2.0 in tornado
Date: 4 Jul 2002 06:11:39 -0700
From: shyang@netease.com (yang)
Organization: http://groups.google.com/
Message-ID: <8446174.0207040511.7c649acf@posting.google.com>

I writed a file in harddisk ,after I finished it . The next time I
used it to write again , I found the speed of writing slowly . The
code and result :
	fd = open("/ata0a/channel0/20020704150005.mpg",O_CREAT |O_RDWR,0 );
	printf("tick:%x\n",tickGet());
	i = 0;
	while(i < 60000)
	{
			if(write(fd,(char *)&m_pHead1,2324) != 2324)
			{
				perror("first write\n");													
			}
			i++;
	}
	printf("tick:%x\n",tickGet());
	close(fd);
	fd = open("/ata0a/channel0/20020704150005.mpg",O_RDWR,0 );
	printf("tick2:%x\n",tickGet());
	i = 0;
	while(i < 60000)
	{
			if(write(fd,(char *)&m_pHead2,2324) != 2324)
			{
				perror("first write\n");													
			}
			i++;
	}
	printf("tick2:%x\n",tickGet());
	close(fd); 

tick:26d6e
tick:282a9
tick2:282af
tick2:2b087

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

Newsgroups: comp.os.vxworks
Subject: dosFs2.0 in tornado
Date: 4 Jul 2002 06:12:08 -0700
From: shyang@netease.com (yang)
Organization: http://groups.google.com/
Message-ID: <8446174.0207040512.6978c705@posting.google.com>

I writed a file in harddisk ,after I finished it . The next time I
used it to write again , I found the speed of writing slowly . The
code and result :
	fd = open("/ata0a/channel0/20020704150005.mpg",O_CREAT |O_RDWR,0 );
	printf("tick:%x\n",tickGet());
	i = 0;
	while(i < 60000)
	{
			if(write(fd,(char *)&m_pHead1,2324) != 2324)
			{
				perror("first write\n");													
			}
			i++;
	}
	printf("tick:%x\n",tickGet());
	close(fd);
	fd = open("/ata0a/channel0/20020704150005.mpg",O_RDWR,0 );
	printf("tick2:%x\n",tickGet());
	i = 0;
	while(i < 60000)
	{
			if(write(fd,(char *)&m_pHead2,2324) != 2324)
			{
				perror("first write\n");													
			}
			i++;
	}
	printf("tick2:%x\n",tickGet());
	close(fd); 

tick:26d6e
tick:282a9
tick2:282af
tick2:2b087

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

Newsgroups: comp.os.vxworks
Subject: FTP connect with fopen
Date: Thu, 4 Jul 2002 16:27:14 +0200
From: "Andreas Bachmeier" <Bachmeier.Andreas@foerstergroup.de>
Organization: Deutsche Telekom AG
Message-ID: <ag1lr3$994$1@news2.dtag.de>

Hi,
I use Tornado 2.02 with vxWorks 5.4 for X86.
For file access I use the function fopen. It worked fine for local
access to the HD and also with ftp to a host PC.
On the Host PC the ftp server shipped with Tornado 2 is running.
My problem is now to tell fopen witch login for the ftp connect to use.
If I open a File with fopen(Device:/Dir/FileName.txt, "r") the ftp
server on the host PC is connected.
But the fopen use the username and password of the bootline setting. If
I boot from local drive, there is no username and password, so the
access to the ftp server is denied.
How can I set username and password for use with fopen?

regards
Andreas

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

Newsgroups: comp.os.vxworks
Subject: LDAP CLIENT
Date: 4 Jul 2002 08:12:59 -0700
From: edenkannan@hotmail.com (kannan)
Organization: http://groups.google.com/
Message-ID: <97b1f722.0207040712.3ac1dee6@posting.google.com>

Hi,

Can anyone please send me the links of any LDAP client program ported
to vxworks or any sites which consists of a free LDAP Client software. 

Thanks,
Kanna

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

Newsgroups: comp.os.vxworks
Subject: Re: Problems with VisionClick
Date: Thu, 04 Jul 2002 16:31:58 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <2M_U8.237510$R61.87656@rwcrnsc52.ops.asp.att.net>
References: <uznx7zzyz.fsf@icn.siemens.it>

Hello Davide,

"Davide Viti" <davide.viti@icn.siemens.it> wrote in message
news:uznx7zzyz.fsf@icn.siemens.it...
> Hi,
> If I load to RAM my VxW BDX file I can run it just once: that means
> that if I set a breakpoint, run the software and at a certain point
> decide to put the PC back to 0x10000 and try to run it the software
> crashes and I have to load the BDX file back to RAM... I find it
> quite annoying!!
> I've developed a small standalone application and with it I don't
> have any problems stopping and restarting so I'm wondering what's
> wrong with it...
>

    I am not sure, but wouldn't just putting the PC back to the main entry
point not handle the fact that you have already attached interrupts to your
various hardware during the sysHwInit() call. Could reading in your
*.reg file help here? This way, you wouldn't have to reload the *.bdx
but you would set the condition of the processor similar to what the
kernel expects at startup. Just a thought. BTW, do you know
exactly where the code fails? Is it always the same location or
varies? HTH

> I forgot to mention that my board is equipped with a PowerPC 860
>
> Thanx for your help
>
> Davide

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

Newsgroups: comp.os.vxworks
Subject: Re: FTP connect with fopen
Date: Thu, 04 Jul 2002 16:45:51 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <%Y_U8.238106$nZ3.109910@rwcrnsc53>
References: <ag1lr3$994$1@news2.dtag.de>

Hello Andreas,

"Andreas Bachmeier" <Bachmeier.Andreas@foerstergroup.de> wrote in message
news:ag1lr3$994$1@news2.dtag.de...
> Hi,
> I use Tornado 2.02 with vxWorks 5.4 for X86.
> For file access I use the function fopen. It worked fine for local
> access to the HD and also with ftp to a host PC.
> On the Host PC the ftp server shipped with Tornado 2 is running.
> My problem is now to tell fopen witch login for the ftp connect to use.
> If I open a File with fopen(Device:/Dir/FileName.txt, "r") the ftp
> server on the host PC is connected.
> But the fopen use the username and password of the bootline setting. If
> I boot from local drive, there is no username and password, so the
> access to the ftp server is denied.
> How can I set username and password for use with fopen?
>

Two options that I can think of. One is to use the on-line documentation
from the
Tornado Help and look at the ftpXfer() on-line help. There is an example
there
showing how to use it. The second one is the iam() command which is
available
from the target shell's help menu or the T2 IDE on-line help. This allows
you to
set the user and password from the target shell. For item #2, I cannot
assure you
this will do what you want, but it will allow you to change the username and
password.

BTW, though the overall documentation has been slammed for vagueness, some
of
these types of questions can be resolved by doing an index search from the
T2 IDE on-line help.

> regards
> Andreas
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Adding File Editor to VxWorks.  vi?
Date: 4 Jul 2002 10:03:31 -0700
From: vdalal@hotmail.com (Vasu Dalal)
Organization: http://groups.google.com/
Message-ID: <363d071b.0207040903.3979d07a@posting.google.com>
References: <afv2kh$2ok$1@newshost.mot.com>

Hello Ray:

> I am trying to hand-edit files, and cannot see any way to do so.  Are there
> existing command(s) I should be using?

 If u are not editing a lot, try:

[snip]

- -> copy > TEST.TXT
This is what i want to type.
This is the 2nd line in the text file.
This is the 3rd line in the text file.
^D

[snip]

 I find this very useful.

 Also remember, any other tasks doing printf's to stdout
will also write to the file so make sure no task is outputting
to stdout during the time u are editing.

HTH,
vasu

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

Newsgroups: comp.os.vxworks
Subject: Re: problem while downloading to target!
Date: Thu, 04 Jul 2002 10:03:37 -0700
From: "Michael R. Kesti" <mkesti@gv.net>
Organization: MK Associates
Message-ID: <3D247FE9.EA5F15A2@gv.net>
References: <ag0fl0$1gic$1@mail.cn99.com>
Reply-To: mkesti@gv.net

degang wrote:

>while downloading my program to the target ,tornado appears that:
>unresolved symbols while encountered
>Errors while downloading
>C:/TORNADO/target/proj/Project0/ARM7TDMIgnu/testprog.out:
>_va_start
>_va_end
>_Print
>_get_key
>
>what is the reason?
>thanx

When you download a program to a target, not only is that program loaded
into the target's memory, but a final "link" operation occurs, too.  This
allows one to write applications that do not include the required OS
components at build time.  Instead, those components are required to
be present at download time when the resolution of symbolic references
to those components is finally made.

It appears that your application program is making reference to symbols
that are not included in your target's OS image.  This can occur because
those symbols' components have not been configured to be present in your
OS image, because you have misspelled the symbols in your application,
or perhaps for other reasons.

- -- 
========================================================================
          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: Re: Problems with VisionClick
Date: Thu, 04 Jul 2002 17:10:10 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <Sj%U8.238010$R61.88510@rwcrnsc52.ops.asp.att.net>
References: <uznx7zzyz.fsf@icn.siemens.it> <2M_U8.237510$R61.87656@rwcrnsc52.ops.asp.att.net>

> > If I load to RAM my VxW BDX file I can run it just once: that means
> > that if I set a breakpoint, run the software and at a certain point
> > decide to put the PC back to 0x10000 and try to run it the software
> > crashes and I have to load the BDX file back to RAM...

> Could reading in your *.reg file help here?

    This doesn't work....

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

Newsgroups: comp.os.vxworks
Subject: Re: Finding kernel's text segment location
Date: 4 Jul 2002 11:28:10 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207041028.47b37b85@posting.google.com>
References: <235090d1.0207040500.821cc49@posting.google.com>

Hello,

> I'm looking for a way to find where the text segment of the kernel
> starts (_sysInit is OK I guess) and ends (a bit harder?). This should
> be done from a module running on the target (at runtime).
> 
> Does anyone know of any VxWorks function, or global variable, that's
> available to retrieve this information? A macro would be OK too, but I
> prefer something more universal, with no "build dependencies".

For the start, _sysInit (or just sysInit depending on your CPU) should
work as you have noticed. For the end of text, try _etext, for the end
of data use _edata. The end of BSS has several in my image:
__bss_end__, __end__, _bss_end__ and _end.

Usually, if there is any read-only data (rodata), it will be simply
part of the text and _etext should follow it.

Of course, these are not documented anywhere, so use at your own risk
;-)

HTH,

John...

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

Newsgroups: comp.os.vxworks
Subject: Any better way to do this?
Date: Thu, 4 Jul 2002 14:56:47 -0400
From: "James" <jameshu@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <bR0V8.21728$2w.433254@news20.bellglobal.com>

There are 3 tasks, each task repeats at different time period. I can
implement as follows:
But I think this is not the best way to do that, and I do not like the
for(;;)/FOREVER/while either.
Any better way to do this?
Thanks a lot.

James

#include "vxWorks.h"
#include "stdio.h"
#include "stdlib.h"
#include "semLib.h"
#include "taskLib.h"
#include "taskVarLib.h"
#include "string.h"
#define STACK_SIZE 20000

void myTask1(void);
void myTask2(void);
void myTask3(void);

STATUS taskVarTest(void)
{

    /* get started */
    taskSpawn ("tMytask1", 100, 0, STACK_SIZE,
        (FUNCPTR) myTask1,0,0,0,0,0,0,0,0,0,0);

    taskSpawn ("tMytask2", 120, 0, STACK_SIZE,
        (FUNCPTR) myTask2,0,0,0,0,0,0,0,0,0,0);

    taskSpawn ("tMyTask3", 140, 0, STACK_SIZE,
        (FUNCPTR) myTask3,0,0,0,0,0,0,0,0,0,0);

 return OK;
}

void myTask1(void)
{
 for(;;)
 {
  printf("This is my task1 \n");
  taskDelay(50);
 }
}

void myTask2(void)
{
 for(;;)
 {
  printf("This is my task2 \n");
  taskDelay(100);
 }
}

void myTask3(void)
{

 for(;;)
 {
  printf("This is my task3 \n\n");
  taskDelay(200);
 }
}

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

Newsgroups: comp.sys.powerpc.misc,comp.sys.powerpc.tech,comp.os.vxworks
Subject: Re: Anyone actually did 82xx CP Loading Measurement?
Date: 4 Jul 2002 21:27:56 +0100
From: Alastair J. Houghton <ajhoughton@lineone.net>
Organization: <none>
Message-ID: <20020704212252524+0100@clarity.daystar.local>
References:  <d83bb8e3.0207011126.2ac6581@posting.google.com>

In <d83bb8e3.0207011126.2ac6581@posting.google.com> Raymond Yeung wrote:
> Motorola suggests the following procedure on their MPC8260 manual
> for measuring CP Loading:

[snip]

> Here're the questions:
> 1. My understanding is that, the general purpose timer can take the 
> system    clock (i.e. the CPM clock) divided by 16 then divided again 
> by a pre-scalar    value of maximum of 256.  Even if I slow it down to 
> the maximum, the     best I can get is 256 x 16 that of system clock.
>    Don't I need to match the input clock rate in both RISC and general 
> purpose    timers?

I think you're right; Motorola's suggestion doesn't seem to make sense
(and they seem to imply that the timers should run at the same rate).

> 2. I'm thinking of lower the scaling factor for the RISC timers from
>          1,024 x 16  to
>          1,024 x 4
>    This way, I can use the maximum prescale factor for the general 
> purpose    timer, i.e.          256 x 16    And all counters will be 
> changed at the same rate.  Anyone sees any    problem with this?

This is exactly what we did on our hardware.  It seems to work nicely (
we've
done various things that have caused CPM overload, and all of them have 
been
detected).

Kind regards,

Alastair.

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

Newsgroups: comp.os.vxworks
Subject: Re: GCC for PowerPC bug
Date: 4 Jul 2002 21:38:54 +0100
From: Alastair J. Houghton <ajhoughton@lineone.net>
Organization: <none>
Message-ID: <20020704213349725+0100@clarity.daystar.local>
References:  <3D119749.C0F892F8@sepro-robotique.com>
Reply-To: eherbreteau@sepro-robotique.com

In <3D119749.C0F892F8@sepro-robotique.com> Emmanuel Herbreteau  wrote:
> Hi,
> 
> We are working on powerPC (MPC 860/823) target.
> 
> We can compile our VxWorks project using the optimization settings
> "-O0" (no optimization) and "-O1" with GCC.
> 
> ( gcc driver version cygnus-2.7.2-960126 egcs-971225 tornado 2.0
> executing gcc version cygnus-2.7.2-960126 )
> 
> Nevertheless, if we try to compile it with the "-O2" or "-O3" settings,
> the compiler crashs (Dr Watson !). We are using VxWorks/Tornado 2.0 
> CP4 with Windows NT4 (latest service pack).
>
> Does anyone know how to solve this problem ????

We've had a lot of trouble with Wind River's 2.7.2-based compiler (both 
the
68K variant and the PowerPC variant).  Upgrade to Tornado 2.1 and your
problems will probably go away, as that includes a GCC 2.95.3-based 
compiler.

As far as I remember there's also an issue in that Wind River don't 
support
a lot of the options on their build of the compiler; I can't remember if
- -O2 or -O3 are supported or not.  Certainly they make that compiler 
crash.

Kind regards,

Alastair.

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

Newsgroups: comp.os.vxworks
Subject: Re: problem while downloading to target!
Date: Thu, 4 Jul 2002 13:53:26 -0700
From: "Alex Pogostin" <alex.pogostin@silicondrivers.com>
Organization: MindSpring Enterprises
Message-ID: <ag2ckc$jip$1@slb0.atl.mindspring.net>
References: <ag0fl0$1gic$1@mail.cn99.com>

The default settings in the "Configure Target Servers" dialog box, under
"Target Server Properties: Core File and Symbols" is to record only the
"Global Symbols". Set the target server to update "All Symbols" by clicking
this radio button and re-establishing the target server connection. Setting
the target server to "All Symbols" will record both global and local symbols
in the target symbol table.

Alex Pogostin
www.silicondrivers.com

"degang" <wdg@bjhhl.sina.net> wrote in message
news:ag0fl0$1gic$1@mail.cn99.com...
> while downloading my program to the target ,tornado appears that:
> unresolved symbols while encountered
> Errors while downloading
> C:/TORNADO/target/proj/Project0/ARM7TDMIgnu/testprog.out:
> _va_start
> _va_end
> _Print
> _get_key
>
> what is the reason?
> thanx
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Any better way to do this?
Date: Thu, 04 Jul 2002 13:56:39 -0700
From: "Michael R. Kesti" <mkesti@gv.net>
Organization: MK Associates
Message-ID: <3D24B687.2EA1111D@gv.net>
References: <bR0V8.21728$2w.433254@news20.bellglobal.com>
Reply-To: mkesti@gv.net

James wrote:

>There are 3 tasks, each task repeats at different time period. I can
>implement as follows:
>But I think this is not the best way to do that, and I do not like the
>for(;;)/FOREVER/while either.
>Any better way to do this?
>Thanks a lot.
>
>James

I see nothing inherently wrong with anything you're doing here, as long
as this scheduling is appropriate to your system's design goals.

Note that the rate your tasks repeat is the sum of their execution duration
plus their taskDelay()'s, rather than just the latter alone.  Also, you might
do well to make your timing independant of possible changes in the system
clock rate by making the delays functions of sysClkRateGet().  For example:

  taskDelay(50);

delays 50 ticks, but the resulting duration depends on the most recent call
to sysClkRateSet().  Instead, if you use:

  taskDelay(sysClkRateGet() * 2);

you get two seconds regardless.

And there's nothing wrong your endless loops, either.  All tasks that run
indefinately require endless loops.  I do prefer the FOREVER macro, though.

These said, I've yet to find an application for which timed scheduling
is appropriate.  My designs tend to use tasks to respond to asynchronous
events.  Rather than running and sleeping, my tasks pend on semaphores,
message queues, or pipes that are given or written to by interrupt service
routines.

>#include "vxWorks.h"
>#include "stdio.h"
>#include "stdlib.h"
>#include "semLib.h"
>#include "taskLib.h"
>#include "taskVarLib.h"
>#include "string.h"
>#define STACK_SIZE 20000
>
>void myTask1(void);
>void myTask2(void);
>void myTask3(void);
>
>STATUS taskVarTest(void)
>{
>
>    /* get started */
>    taskSpawn ("tMytask1", 100, 0, STACK_SIZE,
>        (FUNCPTR) myTask1,0,0,0,0,0,0,0,0,0,0);
>
>    taskSpawn ("tMytask2", 120, 0, STACK_SIZE,
>        (FUNCPTR) myTask2,0,0,0,0,0,0,0,0,0,0);
>
>    taskSpawn ("tMyTask3", 140, 0, STACK_SIZE,
>        (FUNCPTR) myTask3,0,0,0,0,0,0,0,0,0,0);
>
> return OK;
>}
>
>void myTask1(void)
>{
> for(;;)
> {
>  printf("This is my task1 \n");
>  taskDelay(50);
> }
>}
>
>void myTask2(void)
>{
> for(;;)
> {
>  printf("This is my task2 \n");
>  taskDelay(100);
> }
>}
>
>void myTask3(void)
>{
>
> for(;;)
> {
>  printf("This is my task3 \n\n");
>  taskDelay(200);
> }
>}

- -- 
========================================================================
          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: Re: Printing from an exception in an interrupt handler
Date: 4 Jul 2002 14:05:47 -0700
From: robf@rochester.rr.com (Rob F)
Organization: http://groups.google.com/
Message-ID: <92d559ef.0207041305.2adc7b92@posting.google.com>
References: <92d559ef.0207011226.d2eaad6@posting.google.com> <3D21BA98.2020602@ssl.umd.edu> <3d220865$0$8261@dingus.crosslink.net>

"William Dennen" <bowtie@bowtie.pop.crosslink.net> wrote in message news:<3d220865$0$8261@dingus.crosslink.net>...
> I've used logMsg() with success; although one does have to search a bit to
> find the appropriate file descriptor
> 
> --
> >@<
> Bill Dennen
> MCG/GTAC
> 
> "Stephen Roderick" <stephen_roderickREMOVE-TO-REPLY@ssl.umd.edu> wrote in
> message news:3D21BA98.2020602@ssl.umd.edu...
> > You could also try storing the information to non-voltatile RAM (if
> > available on your board), and picking that up on startup. Our system
> > does that so we always know what the reason for the reboot was,
> > including exceptions, signals, etc.
> >
> > Also, why not use logMsg() from the exception handler? I presume as the
> > exception is unrecoverable?
> >

I think logMsg would work OK if I crashed in a thread. I could call
taskSuspend (0) to stop the exception from occurring over and over
again then presumably the logging task would take over when I exited
the exception and the suspended thread would never execute again.

If the exception occurs in an interrupt and I call logMsg, the
messages would get posted to the logging thread, the exception would
complete and I would get the exception again because I think the
processor just tries to execute the same instruction that caused the
exception in the first case. I don't believe there is any way to call
something analogous to taskSuspend(0) to prevent the processor from
trying to execute the bad instruction again.

I'll give logMsg a try but I think it is going to get me into the
scenario I described above. It's easier than storing away my data in
Nvm and printing after the reset so it's worth a try.

Thanks,  

Rob

> > Stephen
> >
> >

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

Newsgroups: comp.os.vxworks
Subject: Re: Template compilation error: virtual memory exhausted
Date: Thu, 04 Jul 2002 21:14:49 GMT
From: "Kevin Lay" <circlemtn@earthlink.net>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <dV2V8.42$A43.5956@newsread2.prod.itd.earthlink.net>
References: <zMiU8.679$gR.47861@newsread2.prod.itd.earthlink.net> <JstU8.2050$2k5.1624@newsread1.prod.itd.earthlink.net>

Bill,
    You have definitely restored my faith in the power of this news group.
Thanks!  But:  I can't find a general gnu patch on windsurf.  I looked under
downloads->Tornado.  There's a cumulative patch for SH procs which includes
some gnu tool fixes, but I'm running  PPC (T2.1) .  Can you point me to this
beast?
    Though it may be expensive, I went ahead and added -fno-inline.  This
allowed me to get past the point I was dying in  my build, but it died in
another build with another template file.  It looks like your theory is
correct about stack or memory allocation for compilation.

Thank you.
Kevin

<bill@woola.qswtools.com> wrote in message
news:JstU8.2050$2k5.1624@newsread1.prod.itd.earthlink.net...
> In article <zMiU8.679$gR.47861@newsread2.prod.itd.earthlink.net>,
> "Kevin Lay" <circlemtn@earthlink.net> writes:
> > Building ACE for VxWorks 5.4 PPC, I get the following interesting error
> > (more output at bottom for brevity):
> >
> >
(C:\Tornado2.1\host\x86-win32\lib\gcc-lib\powerpc-wrs-vxworks\gcc-2.96\cc1pl
> > us.exe 1002) commit_and_inc: VirtualAlloc failed
> >
> > ../ace/Message_Queue_T.cpp:2272: Internal compiler error:
> >
> > ../ace/Message_Queue_T.cpp:2272: virtual memory exhausted
> >
> > Source looks fine, compiles for other platforms.  Allegedly ok with
VxWorks
> > 5.3 Gnu 2.7.2. Don't know.  Has anyone seen this?
>
> Unfortunately, yes.  The Windows GNU compilers have several problems
> with memory allocation, and we've run into them all:
>
> 1) Most Win32 executables before the Tornado 2.2 versions have
>    a field in the PE-COFF header that allocates a fixed,
>    too-small, stack area for the compiler process.  WRS
>    has a 'pepatch' utility that you can download to alter
>    the field.  I recommend trying this first, since it's
>    the least intrusive (also less risky) fix.
>
> 2) There's a bug in the CygWin.dll file that contains the
>    BSD-like support for all the GNU tools on WIN32.  I
>    don't know it's exact nature, but it's about allocating
>    memory.  There are some patched compilers available on
>    WindSurf.  Be sure to save your old DLL, and this fix
>    is also low-risk.
>
> 3) Some of the GNU C++ compiler versions try too hard to
>    inline code, and use *way* too much memory.  Again,
>    there are some patched compiler binaries available
>    on WindSurf.  You can work around this one with the
>    -fno-inline command option.
>
> You can see the problem in the above patchwork of fixes.  One
> cannot always find the patch one needs for the compiler one
> uses...  Our FAE says that WRS is working on 'cumulative
> patches' combining the three fixes, where they are needed, for
> the most common architectures.
>
> > If you can shed some light on this I'd be grateful.
>
> Thanks, by the way, for the really complete situation report.
> It made diagnosing the problem really simple!
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: How to get Reai-Time Clock
Date: Fri, 05 Jul 2002 04:53:10 GMT
From: "̽" <iiseull@yahoo.co.kr>
Organization: Dacom
Message-ID: <WC9V8.81495$nP6.9374930@news.bora.net>

    Hi dears.

    As mentioned at subject, How can I get Real-Time Clock (UTC time) ?
    I used motorola MV2604 as target B/D.

    Thanks in advance.
    iiseull

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

Newsgroups: comp.os.vxworks
Subject: What I fell could be reason FTP data corruption?.
Date: 4 Jul 2002 21:56:51 -0700
From: mohasin.zaki@wipro.com (Mohasin)
Organization: http://groups.google.com/
Message-ID: <d415d24.0207042056.72da0818@posting.google.com>

Hi,

I had a previous query, where I had mentioned that, most of the images
that I do a FTP from my target have corruption near in the last closing part of the
file.

This was the sequence of FTP (plz note I am referring to vxWorks FTP client)

1. I login into the server using USER and PASS.
2. Change the transfer mode to binary, ie. TYPE I.
3. I chage the directory to which I want the file the be stored, CWD
4. I do a STOR of that file.
5. I transfer the file over the data socket connection. The bytes
written into the socket are showing the correct number.
6. close() the data connection.
7. Get reply from the FTP server over the control connection. The
reply I get from the server is "226 Transfer Completed..."
8. Do a QUIT of the FTP session.
9. close () the control connection.

The above sequence seems to correct and most of the files transferred
are correct, but say i out of every 6 or 7 images are corrupt. Corrupt
in the sense, when I open the image in the image viewer, the last
ending portion of the image is missing (which would ideally mean that,
the last packet of the transfer is missing).

From the replies I got from the group and as far as I know, this
sequence seems to be correct.

Infact to flush the data onto the FTP server, I have tried shutdown ()
also, but din't help. (However, there is one thing that I still
haven't tried, thats SO_LINGER option for the socket).

There is one thing, which I am still not sure, that might cause the
cause the corruption.

The image that I transfer is not read from a file. I have image to be
transferred in character array. Also I have the size of the file in a
integer. So I read byte by byte from the character array. Once full
buffer is written into the data socket, I send a '\0' as a end of
file.

Is my end of file correct?. Is there anything wrong in the reading a
buffer instead of a file and writing into the data socket.

I have been trying to solve this problem for a very long time, but
haven't made any progress. Any suggestions or hint would be helpful.

Thankz and regards,
MOhasin

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

Newsgroups: comp.os.vxworks
Subject: POP3 over VxWorks
Date: 4 Jul 2002 22:38:04 -0700
From: ravi368@yahoo.com (Ravi Uday)
Organization: http://groups.google.com/
Message-ID: <ecca3ca6.0207042138.186cf292@posting.google.com>

hi..

Anybody having code that implements POP3 on VxWorks OS. Well i have
implemented SMTP on the same but for POP3 there is a time constraint.

Any kind of assistance is appreciated.

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

Newsgroups: comp.os.vxworks
Subject: Re: a new select() problem
Date: 4 Jul 2002 23:00:47 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207042200.542a8c0e@posting.google.com>
References: <78a5d372.0207040341.3289c0c1@posting.google.com>

Hello,

As a general guideline for posting here, you should tell us more about
your system (e.g. what type of "device" are you talking about? What
version of VxWorks are you using? What CPU are you using?).

That said, I've not heard of a complaint about select() not returning.
I would suspect programmer error more than select(). Something to try
would be a stack trace (tt) on the task while it is in select() to see
where it is blocked. You could also check the fds manually from the
shell to see if they have data available using ioctl() calls.

Are you sure that when you have 2 or more device fds in the set that
the data is being made available? Perhaps there is something else
going on that prevents any of the fds becoming ready?

Finally, you didn't give any indication as to what the value of
fd_select_width was in your code; getting this wrong is another way to
make select() fail to work as expected.

HTH,

John...

r.stelzer@stoye.de (Rainer Stelzer) wrote in message news:<78a5d372.0207040341.3289c0c1@posting.google.com>...
> my previous posted request has been attached to an old thread.
> to avoid any confusion I post the request with a new subject...
> 
> Hi vxworkers,
> 
> we face a problem with the select() library.
> We use select to wait for a pipe and one to nine device file descriptors.
> Case we use one device and one pipe everything works perfect.
> But if we want to wait for one pipe and two devices(or more) select never returns.
> 
> In the newsgroup I found some hints that make me believe that select()
> isn't that reliable I would expect it to be.
> 
> So my questions:
> Is this known bug ?
> How to solve the problem ?
> 
> Thanks in advance.
> 
> 
> Rainer
> 
> 
> .
> .
> .
> .
>    FOREVER  
>    {
>       FD_ZERO (&mask_of_fds);
> 
>       for (i=0; i<devs_number; i++)
>       {
>          FD_SET(dev_handle[i].fd, &mask_of_fds);
>       }
> 
>       FD_SET(input_pipe_fd, &mask_of_fds);
> 
>       if (select(fd_select_width, &mask_of_fds, NULL, NULL, NULL) == ERROR)
>       {
>          sysTrace(........);
>          return;
>       }
>       if (FD_ISSET(input_pipe_fd, &mask_of_fds))  
>       {
>          read_from_pipe(input_pipe_fd);
>       }
>       for (i=0; i<devs_number; i++) 
>       {
>          if (FD_ISSET(dev_handle[i].fd, &mask_of_fds))  
>          {
>             read_from_extern_device(i);
>          }
>       }
>    }
> 
> .
> .
> .
> vxWorks Tornado

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

Newsgroups: comp.os.vxworks
Subject: about taskDelay and execution time of a task
Date: 4 Jul 2002 23:10:27 -0700
From: forvxworks@rediffmail.com (Anand)
Organization: http://groups.google.com/
Message-ID: <f14c07cb.0207042210.6c3994b1@posting.google.com>

Hi All,
      i am working on a Pentium target and i have the following
problems regarding task timing in Vxworks. suppose i have a task as
shown below,
      
       task()
       {
       sysClkRateSet(50);
       
           while(1)
           { 
           /* start of task code */
           ---------------
           -----------------
           ------------
           ---------------
           /* end of task code */

           taskDelay(1);

           } // end of while

      } // end of task

  
1) about taskDelay. 
           i want to know whether the taskdelay(1) given at the end of
the while loop takes into account the execution time which is taken by
the task code above it?

2) about execution time of a task.
          i want tasks that run periodically every 20ms,80ms , etc .
using periodRun i will be able to get it in seconds, but in
milliseconds how do i do it in vxWorks?? also, are there any ways to
specify the execution timing of a task at spawn time itself??

3) can a lower priority task use taskDelete to delete a higher
priority task. if i want to do it, how do i do it??
    
    i hope these are not too many questions at a time. thanks in
advance.
     Regards.
     Anand.

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

Newsgroups: comp.os.vxworks
Subject: Re: Any better way to do this?
Date: Fri, 05 Jul 2002 06:41:09 GMT
From: "Gary M" <com.vertical@garym>
Organization: AT&T Broadband
Message-ID: <8cbV8.289280$6m5.260335@rwcrnsc51.ops.asp.att.net>
References: <bR0V8.21728$2w.433254@news20.bellglobal.com>

In addition to other suggestions offered, I would include a way to
individually cause each task to exit. Something as simple as a global
variable, one for each task, which can be used as the loop condition. This
allows you to shutdown and restart the system in an orderly fashion.

"James" <jameshu@sympatico.ca> wrote in message
news:bR0V8.21728$2w.433254@news20.bellglobal.com...
> There are 3 tasks, each task repeats at different time period. I can
> implement as follows:
> But I think this is not the best way to do that, and I do not like the
> for(;;)/FOREVER/while either.
> Any better way to do this?
> Thanks a lot.
>
> James
>
> #include "vxWorks.h"
> #include "stdio.h"
> #include "stdlib.h"
> #include "semLib.h"
> #include "taskLib.h"
> #include "taskVarLib.h"
> #include "string.h"
> #define STACK_SIZE 20000
>
> void myTask1(void);
> void myTask2(void);
> void myTask3(void);
>
> STATUS taskVarTest(void)
> {
>
>     /* get started */
>     taskSpawn ("tMytask1", 100, 0, STACK_SIZE,
>         (FUNCPTR) myTask1,0,0,0,0,0,0,0,0,0,0);
>
>     taskSpawn ("tMytask2", 120, 0, STACK_SIZE,
>         (FUNCPTR) myTask2,0,0,0,0,0,0,0,0,0,0);
>
>     taskSpawn ("tMyTask3", 140, 0, STACK_SIZE,
>         (FUNCPTR) myTask3,0,0,0,0,0,0,0,0,0,0);
>
>  return OK;
> }
>
>
> void myTask1(void)
> {
>  for(;;)
>  {
>   printf("This is my task1 \n");
>   taskDelay(50);
>  }
> }
>
>
> void myTask2(void)
> {
>  for(;;)
>  {
>   printf("This is my task2 \n");
>   taskDelay(100);
>  }
> }
>
> void myTask3(void)
> {
>
>  for(;;)
>  {
>   printf("This is my task3 \n\n");
>   taskDelay(200);
>  }
> }
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Ethernet - Where to start
Date: 4 Jul 2002 23:58:41 -0700
From: jade_chen@21cn.com (shy)
Organization: http://groups.google.com/
Message-ID: <937a20a8.0207042258.2b63cb43@posting.google.com>
References: <3D12E659.8DBF8F4E@baesystems.com> <aevp1f$blo$1@newsreader.mailgate.org> <3D18463D.12401E99@baesystems.com> <afa643$rhf$1@newsreader.mailgate.org>

Hi,Dan,

How can I get the exact value in the load string?
#define CPM_LOAD_STRING "0:01130000:0x3e:1:NULL:NULL:0:100:NONE"
it depends on the PPC or the ethernet controller?

Thanks.

"Dan Gold" <gold@ensemble.com> wrote in message news:<afa643$rhf$1@newsreader.mailgate.org>...
> "Paul Caswell" <paul.caswell@baesystems.com> wrote in message
> news:3D18463D.12401E99@baesystems.com...
> > Firstly, thanks for the help.  I've done as you suggested (i think - see
> > below) but it still wont work.
> >Here's the configNet.h content:
> >
> > /* this is the default load function for our END */
> > #define CPM_LOAD_FUNC motCpmEndLoad
> > /* This is the default initialization string */
> > #define CPM_LOAD_STRING "0:01130000:0x3e:1:NULL:NULL:0:100:NONE"
> 
> It looks like you're using T2 (from the usrEndLibInit() call below).  The
> default load string from the 860 T2 BSP looks like:
> #define MOT_LOAD_STRING "0xFA200000:0x3e:1:0x20:0x20:0x2800:0x2900:-1"
> 
> so you may not need the unit number (the first 0 in your load string).  And
> are you sure that "NONE" evaluates to -1 ?
>

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

Newsgroups: comp.os.vxworks
Subject: Re: FTP connect with fopen
Date: Fri, 5 Jul 2002 09:49:38 +0200
From: "Andreas Bachmeier" <Bachmeier.Andreas@foerstergroup.de>
Organization: Deutsche Telekom AG
Message-ID: <ag3itm$js1$1@news2.dtag.de>
References: <ag1lr3$994$1@news2.dtag.de> <%Y_U8.238106$nZ3.109910@rwcrnsc53>

Hi drdiags,

> Two options that I can think of. One is to use the on-line
documentation
> from the
> Tornado Help and look at the ftpXfer() on-line help. There is an
example
> there
> showing how to use it.

So, is it?
I don't think so. With ftpXfer() I can do it, but this isn't what I
want. Where in this example is the function fopen()?

My question was how to set username and password for use with fopen()?

> BTW, though the overall documentation has been slammed for vagueness,
some
> of
> these types of questions can be resolved by doing an index search from
the
> T2 IDE on-line help.

Believe me, I'm able to read the manual. RTFM is the first thing I ever
do.
But I get no answer. I know it should work because the bootline can do
it.

Andreas

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

Newsgroups: comp.os.vxworks
Subject: vxWorks Rename bug in DosFs?
Date: 5 Jul 2002 03:10:24 -0700
From: zealous_swe@hotmail.com (Jonas)
Organization: http://groups.google.com/
Message-ID: <da76fb90.0207050210.56a360fa@posting.google.com>

Hello!!!

I would like do know if anyone knows a workaround for my problem.

How to reproduce the bug:

Open a console.
Make a directory at the root called "nisse". (mkdir "nisse")
Then use cd "Nisse".
You now enters the "nisse" directory.
Use FTP to upload a file in "nisse". In my case "apa.txt".

We now have a file named "apa.txt" in the directory "nisse", but we used 
cd "Nisse" to get there.

Use ls to verify that the file you uploaded are in "nisse".

Now use rename("apa.txt","kalle.txt").
As you can se the rename fails.

If I then use 'pwd' i get "/hd0a/Nisse". But i guess rename fails because
there are no "Nisse"......

Anyone have a nice workaround??

I use a vxWorks 5.3.1 system with DosFs 2.0(i think!)

//Jonas

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

Newsgroups: comp.os.vxworks
Subject: Re: a new select() problem
Date: 5 Jul 2002 03:11:58 -0700
From: cpotenza@onetel.net.uk (Claudio Potenza)
Organization: http://groups.google.com/
Message-ID: <2025ac82.0207050211.64114f94@posting.google.com>
References: <78a5d372.0207040341.3289c0c1@posting.google.com>

> In the newsgroup I found some hints that make me believe that select()
> isn't that reliable I would expect it to be.
> 
> So my questions:
> Is this known bug ?
> How to solve the problem ?

For some reason (not only in vxWorks land but also among UNIX folks!)
"select()" is one of the most mistrusted function around.

For my part I have never been able to find any bug in "select()" in
several systems. Obviously in your case you might have a real problem
(maybe due to your specific driver) but what I want to say is that in
my experience generally "select()" does work.

Talking about vxWorks, I have used select (on a PPC system) in an
application with maybe a dozen of sockets open (and a lot of data
coming thorough) without any issue.

One thing to be careful about (because is easy to mistake, I
personally get it wrong every time!) is the first parameter of select
("width"). This *IS NOT* the number of fd contained in the set (plus
1), but the maximum *VALUE* for the fds (plus 1) (the fds are just
small ints).
Or you can use FD_SETSIZE for it and forget about it (but your
"select()" will be a bit slower)

Sorry if a state the obvious, but sometimes we make silly mistakes on
simple things!

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

Newsgroups: comp.os.vxworks
Subject: Re: about taskDelay and execution time of a task
Date: 5 Jul 2002 03:19:45 -0700
From: rajendra_krsingh@yahoo.com (rajendra)
Organization: http://groups.google.com/
Message-ID: <479ba395.0207050219.66ebcf5b@posting.google.com>
References: <f14c07cb.0207042210.6c3994b1@posting.google.com>

- ----- Original Message ----- 
From: "Anand" <forvxworks@rediffmail.com>
Newsgroups: comp.os.vxworks
Sent: Friday, July 05, 2002 11:40 AM
Subject: about taskDelay and execution time of a task

> Hi All,
>       i am working on a Pentium target and i have the following
> problems regarding task timing in Vxworks. suppose i have a task as
> shown below,
>       
>        task()
>        {
>        sysClkRateSet(50);
>        
>            while(1)
>            { 
>            /* start of task code */
>            ---------------
>            -----------------
>            ------------
>            ---------------
>            /* end of task code */
> 
>            taskDelay(1);
> 
>            } // end of while
> 
>       } // end of task
> 
> 
>   
> 1) about taskDelay. 
>            i want to know whether the taskdelay(1) given at the end of
> the while loop takes into account the execution time which is taken by
> the task code above it?
> 
 No

> 2) about execution time of a task.
>           i want tasks that run periodically every 20ms,80ms , etc .
> using periodRun i will be able to get it in seconds, but in
> milliseconds how do i do it in vxWorks?? also, are there any ways to
> specify the execution timing of a task at spawn time itself??
> 
I don't know , if it can be done using other than watchdog timer(wdCreate).
If your function doesn't take much time then you can just set your function as 
a handler otherwise use semaphores.

> 3) can a lower priority task use taskDelete to delete a higher
> priority task. if i want to do it, how do i do it??
>     
It should, if lower priority task get chance to execute taskDelete.

>     i hope these are not too many questions at a time. thanks in
> advance.
Never mind.

>      Regards.
>      Anand.

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

Newsgroups: comp.os.vxworks
Subject: Tornado error
Date: 5 Jul 2002 03:47:41 -0700
From: be_gyus@yahoo.com (james)
Organization: http://groups.google.com/
Message-ID: <ff42611f.0207050247.6fc47fad@posting.google.com>

Dear vxWorkers,

 Whenever i try to launch my tornado on winNT i get an error message
saying
 " Unknown symbol "}" ". The same tornado was working quiet well a
couple of days back... Recently i m getting this error , However the
tornado gets launched when i press ok.
I wanted to know which file does it read before getting executed so
that i can check the code and do some modifications.. if any error
found.

Thanx in advance

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

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

From vxwexplo-errs@csg.lbl.gov  Sat Jul  6 04:03:18 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sat Jul  6 04:03:20 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Sat Jul  6 04:03:13 PDT 2002

        Subject: Re: a new select() problem
        Subject: configuration settings for vxworks standalone target-bootable with floppy
        Subject: Re: FTP connect with fopen
        Subject: Re: Printing from an exception in an interrupt handler
        Subject: Finding the IP address of other targets in Network
        Subject: Re: How to get Reai-Time Clock
        Subject: Re: Finding the IP address of other targets in Network
        Subject: How to know that the agent has sent a trap
        Subject: Re: configuration settings for vxworks standalone target-bootable with floppy
        Subject: Re: about taskDelay and execution time of a task
        Subject: Re: How to know that the agent has sent a trap
        Subject: Tornado project LDDEPS = <New Target>  makefile bug
        Subject: Re: about taskDelay and execution time of a task
        Subject: how to change the baudrate for target mpc860?
        Subject: Flashed application runs slow
        Subject: Re: LDAP CLIENT
        Subject: Re: Anyone actually did 82xx CP Loading Measurement?
        Subject: Re: Flashed application runs slow
        Subject: Re: FTP connect with fopen
        Subject: Re: dosFs2.0 in tornado
        Subject: How to change the outlook asynchronously according the network packets
        Subject: Re: How to get Reai-Time Clock
        Subject: Newbie: How to learn VXworks ?
        Subject: Re: Template compilation error: virtual memory exhausted
        Subject: Re: Printing from an exception in an interrupt handler
        Subject: Re: FTP connect with fopen
        Subject: Re: FTP connect with fopen
        Subject: losing tgt connection with multiple tgt server connections
        Subject: Re: configuration settings for vxworks standalone target-bootable with floppy
        Subject: Re: about taskDelay and execution time of a task

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

Newsgroups: comp.os.vxworks
Subject: Re: a new select() problem
Date: Fri, 5 Jul 2002 11:16:34 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3D258077.6050805@spamm.me.l8s.co.uk>
References: <78a5d372.0207040341.3289c0c1@posting.google.com> <2025ac82.0207050211.64114f94@posting.google.com>

> For my part I have never been able to find any bug in "select()" in
> several systems.

Try harder!

SVR4 aka Unixware has (had) a timing window which meant wakeup
got lost if a streams message was sent upstream from interrupt context.
(Solaris may have had this one at some time).

vxworks (badly) miscalculates the timeout if you specify tv_usec
and the system clock rate is more than (about) 2kHz.

	David

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

Newsgroups: comp.os.vxworks
Subject: configuration settings for vxworks standalone target-bootable with floppy
Date: 5 Jul 2002 04:31:08 -0700
From: vxnerd@rediffmail.com (subbarayan)
Organization: http://groups.google.com/
Message-ID: <f81c4277.0207050331.2db8a6da@posting.google.com>

dear mentors,
Can any one help me by stating what are the various configuration
settings to be done with tornado1.0 target version for creating a
stand alone target bootable with floppy?I was able to boot the target
and load my shell.But i am totally helpless as i don't know how to
download my application(i.e my source file object)in to the
target?What are the settings to be given in config.h file,usrconfig.c
file,usrinit.c file,bspfiles and all other files which need changes so
that my application gets downloaded in target once my shell loads
after booting?
I would be happy if any one could reply me the settings to be applied
in files and where it should be applied in it and how to link my
target with my application?Note theres no connection between my
development host and my target.
I copied the bootfile after accessing the option bootrom_uncmp and .st
file in floppy to boot my target.My target is standard pc architecture
with x86 processor.
I encounter one error actually when i link my appln to target. i did
the following:
Gave the entry point in usrconfig.c file by defining my first task to
be spawned.
Then chose the make file for pc486
Then defined the following:MACH_EXTRA=vxcolor.o
After that when i try to make my boot file by accessing
bootrom_uncmp,i get the following error:
make.exe: *** No rule to make target `vxcolor.o'.  Stop.as i tried
working with the sample vxcolor first.
when i don't define the above said both in my make file and usrconfig
file i don't get the above error and my target boots with shell.but if
i make these changes i could not make my bootfile and shell.

Can any one tell me where the error will be exactly and how to rectify
it?
Thanks to anyone who replies to me by giving the above said settings
in this board as a reply.As i am nerd in vxworks and no one to help
me,i am fully depending on u mentors for my doubts.
anyone with a soln can mail me to:vxnerd@rediffmail.com or jus reply
hereitself.

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

Newsgroups: comp.os.vxworks
Subject: Re: FTP connect with fopen
Date: Fri, 5 Jul 2002 14:07:54 +0200
From: "Werner Schiendl" <n17999999.temp.werner@neverbox.com>
Message-ID: <3d258c04$1@brateggebdc5.br-automation.co.at>
References: <ag1lr3$994$1@news2.dtag.de> <%Y_U8.238106$nZ3.109910@rwcrnsc53> <ag3itm$js1$1@news2.dtag.de>

Hi,

Did you specify the u and pw param when you boot from harddisk?
I'm not sure, but believe they are still read and set - so this is probably
the easiest way to go.

Apart from that, check out remLib in the reference manual.

hth
Werner

P. S. Whenever you access a file that way over FTP, it is downloaded on open
and back-uploaded on close. So it is not more efficient than using ftpXfer()
and so on. It is more convenient, but unless you are careful performance may
be low.

"Andreas Bachmeier" <Bachmeier.Andreas@foerstergroup.de> wrote in message
news:ag3itm$js1$1@news2.dtag.de...
> Hi drdiags,
>
> > Two options that I can think of. One is to use the on-line
> documentation
> > from the
> > Tornado Help and look at the ftpXfer() on-line help. There is an
> example
> > there
> > showing how to use it.
>
> So, is it?
> I don't think so. With ftpXfer() I can do it, but this isn't what I
> want. Where in this example is the function fopen()?
>
> My question was how to set username and password for use with fopen()?
>
> > BTW, though the overall documentation has been slammed for vagueness,
> some
> > of
> > these types of questions can be resolved by doing an index search from
> the
> > T2 IDE on-line help.
>
> Believe me, I'm able to read the manual. RTFM is the first thing I ever
> do.
> But I get no answer. I know it should work because the bootline can do
> it.
>
>
> Andreas
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Printing from an exception in an interrupt handler
Date: Fri, 5 Jul 2002 14:18:16 +0200
From: "Werner Schiendl" <n17999999.temp.werner@neverbox.com>
Message-ID: <3d258e72@brateggebdc5.br-automation.co.at>
References: <92d559ef.0207011226.d2eaad6@posting.google.com> <3D21BA98.2020602@ssl.umd.edu> <3d220865$0$8261@dingus.crosslink.net> <92d559ef.0207041305.2adc7b92@posting.google.com>

Hi,

I think you need to modify the stack-frame (in particular, the exception
return address) to recover from and exception that occured in an interrupt.
This will require an assembly level hack and requires detailled knowledge
about the kind of exception and the stack frame. Also, I doubt that you can
safely recover from such an exception in a generic way - but this may depend
on your actual situation.

hth
Werner

"Rob F" <robf@rochester.rr.com> wrote in message
news:92d559ef.0207041305.2adc7b92@posting.google.com...
> "William Dennen" <bowtie@bowtie.pop.crosslink.net> wrote in message
news:<3d220865$0$8261@dingus.crosslink.net>...
> > I've used logMsg() with success; although one does have to search a bit
to
> > find the appropriate file descriptor
> >
> > --
> > >@<
> > Bill Dennen
> > MCG/GTAC
> >
> > "Stephen Roderick" <stephen_roderickREMOVE-TO-REPLY@ssl.umd.edu> wrote
in
> > message news:3D21BA98.2020602@ssl.umd.edu...
> > > You could also try storing the information to non-voltatile RAM (if
> > > available on your board), and picking that up on startup. Our system
> > > does that so we always know what the reason for the reboot was,
> > > including exceptions, signals, etc.
> > >
> > > Also, why not use logMsg() from the exception handler? I presume as
the
> > > exception is unrecoverable?
> > >
>
>
> I think logMsg would work OK if I crashed in a thread. I could call
> taskSuspend (0) to stop the exception from occurring over and over
> again then presumably the logging task would take over when I exited
> the exception and the suspended thread would never execute again.
>
> If the exception occurs in an interrupt and I call logMsg, the
> messages would get posted to the logging thread, the exception would
> complete and I would get the exception again because I think the
> processor just tries to execute the same instruction that caused the
> exception in the first case. I don't believe there is any way to call
> something analogous to taskSuspend(0) to prevent the processor from
> trying to execute the bad instruction again.
>
> I'll give logMsg a try but I think it is going to get me into the
> scenario I described above. It's easier than storing away my data in
> Nvm and printing after the reset so it's worth a try.
>
> Thanks,
>
> Rob
>
>
> > > Stephen
> > >
> > >

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

Newsgroups: comp.os.vxworks
Subject: Finding the IP address of other targets in Network
Date: Fri, 5 Jul 2002 12:35:12 +0000 (UTC)
From: "Arpith Kumar" <arpiths@myw.ltindia.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <deaa50134f6d92b89e51767bff323b9b.101277@mygate.mailgate.org>

Hi All,

I would like you to help me for answering the following question.

I have 16 different monitors(Vxworks based) connected via a hub. I don't
have any DHCP server or any dedicated server having the list of all IP
addresses.

Each monitor has got it's own ip address. If I don't know the
destination address of other monitors,  how will I get the Destination
IP addresses?.

Is there any utility to know the different monitors IP addresses in the
network using TCP?.

Looking forward to your reply.

Regards
Arpith 

- -- 
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: Re: How to get Reai-Time Clock
Date: Fri, 05 Jul 2002 08:59:09 -0400
From: joe durusau <durusau@bellsouth.net>
Organization: WEBUSENET.com
Message-ID: <3D25981D.4C6A7A86@bellsouth.net>
References: <WC9V8.81495$nP6.9374930@news.bora.net>

"̽" wrote:

>     Hi dears.
>
>     As mentioned at subject, How can I get Real-Time Clock (UTC time) ?
>     I used motorola MV2604 as target B/D.
>
>     Thanks in advance.
>     iiseull

    You need to be a little more explicit as to what you _really_ want.
Do you just want to set the computer's time clock to some value and
let it run at the normal click rate?  There should be a function in the BSP

to do this (Something like clock_settime(), AFAIK).  If you want
externally driven UTC, you could get an IRIG receiver if you have an
IRIG source that is set to UTC, or you could get a GPS receiver (but you
would have to convert to UTC from GPS time), or there are any number
of hardware solutions.

Try to narrow down the the question and you will get a better answer.

Speaking only for myself,

Joe Durusau

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

Newsgroups: comp.os.vxworks
Subject: Re: Finding the IP address of other targets in Network
Date: Fri, 05 Jul 2002 09:04:22 -0400
From: joe durusau <durusau@bellsouth.net>
Organization: WEBUSENET.com
Message-ID: <3D259956.6CA9ED22@bellsouth.net>
References: <deaa50134f6d92b89e51767bff323b9b.101277@mygate.mailgate.org>

Arpith Kumar wrote:

> Hi All,
>
> I would like you to help me for answering the following question.
>
> I have 16 different monitors(Vxworks based) connected via a hub. I don't
> have any DHCP server or any dedicated server having the list of all IP
> addresses.
>
> Each monitor has got it's own ip address. If I don't know the
> destination address of other monitors,  how will I get the Destination
> IP addresses?.
>
> Is there any utility to know the different monitors IP addresses in the
> network using TCP?.
>
> Looking forward to your reply.
>
> Regards
> Arpith
>
> --
> Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

    Not with TCP.  If this is an isolated network, you could try pinging
all the possible addresses in the net, assuming that other devices all
support ping.  (There is no reason that they are required to do so).

    The right way to do this sort of thing is to assign the devices
addresses
and keep them in some sort of a list.  Anything else would be s kludge
at best.

Speaking only for myself,

Joe Durusau

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

Newsgroups: comp.os.vxworks
Subject: How to know that the agent has sent a trap
Date: 5 Jul 2002 06:26:21 -0700
From: jzhang@drs.ca (Jason)
Organization: http://groups.google.com/
Message-ID: <e555a185.0207050526.4ecf6e0@posting.google.com>

Hello All,

We are running the vxWorks 5.4 and ENVOY 9.2 SNMP agent on a PPC
target, we suppose that the agent should send a trap to network
management station after it reboot, but actually, the network
management station (HP Openview NNM 6.1) doesn't receive the trap
message.

So the questions are:
How can we know that the agent has sent a trap?
How the agent know where(which IP address) to send the cold_start or
warm_start trap when it boots up?

Any input is highly appreciated!

Cheers

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

Newsgroups: comp.os.vxworks
Subject: Re: configuration settings for vxworks standalone target-bootable with floppy
Date: 5 Jul 2002 16:02:20 +0200
From: Reinhold Wirth <wirth@softec.de>
Organization: WEB.DE
Message-ID: <3d25a6ec$1@netnews.web.de>
References:  <f81c4277.0207050331.2db8a6da@posting.google.com>

vxnerd@rediffmail.com (subbarayan) wrote:

one possibility to link your application to vxWorks
change in the Makefile
MACH_EXTRA=vxColor.o
* pay attention to upper-case character
* the source file has to be here in the BSP-directory

one possibility to start your application 
change in the config.h
#define INCLUDE_USER_APPL
#define USER_APPL_INIT 	myStart() 

>dear mentors,
>Can any one help me by stating what are the various configuration
>settings to be done with tornado1.0 target version for creating a
>stand alone target bootable with floppy?I was able to boot the target
>and load my shell.But i am totally helpless as i don't know how to
>download my application(i.e my source file object)in to the
>target?What are the settings to be given in config.h file,usrconfig.c
>file,usrinit.c file,bspfiles and all other files which need changes so
>that my application gets downloaded in target once my shell loads
>after booting?
>I would be happy if any one could reply me the settings to be applied
>in files and where it should be applied in it and how to link my
>target with my application?Note theres no connection between my
>development host and my target.
>I copied the bootfile after accessing the option bootrom_uncmp and .st
>file in floppy to boot my target.My target is standard pc architecture
>with x86 processor.
>I encounter one error actually when i link my appln to target. i did
>the following:
>Gave the entry point in usrconfig.c file by defining my first task to
>be spawned.
>Then chose the make file for pc486
>Then defined the following:MACH_EXTRA=vxcolor.o
>After that when i try to make my boot file by accessing
>bootrom_uncmp,i get the following error:
>make.exe: *** No rule to make target `vxcolor.o'.  Stop.as i tried
>working with the sample vxcolor first.
>when i don't define the above said both in my make file and usrconfig
>file i don't get the above error and my target boots with shell.but if
>i make these changes i could not make my bootfile and shell.
>
>Can any one tell me where the error will be exactly and how to rectify
>it?
>Thanks to anyone who replies to me by giving the above said settings
>in this board as a reply.As i am nerd in vxworks and no one to help
>me,i am fully depending on u mentors for my doubts.
>anyone with a soln can mail me to:vxnerd@rediffmail.com or jus reply
>hereitself.

- -- 
__________________________________________________________
News suchen, lesen, schreiben mit http://newsgroups.web.de

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

Newsgroups: comp.os.vxworks
Subject: Re: about taskDelay and execution time of a task
Date: Fri, 5 Jul 2002 11:15:06 -0400
From: "Harman bassan" <hpsbassan15@yahoo.com>
Organization: The University of Western Ontario, London, Ont. Canada
Message-ID: <ag4d61$grq$1@panther.uwo.ca>
References: <f14c07cb.0207042210.6c3994b1@posting.google.com> <479ba395.0207050219.66ebcf5b@posting.google.com>

Regarding Question (2), You can probably use sysAuxClk ISR to connect to
your task and achieve a mSec rate. The sysAuxClk can go upto
AUX_CLK_RATE_MAX defined in config.h under target directory. For pentium
target i think the max. rate is 8192 Hz. There are no arguments which
specify the execution time for the task at the time of spawning.

Hope it helps.
Harman.

"rajendra" <rajendra_krsingh@yahoo.com> wrote in message
news:479ba395.0207050219.66ebcf5b@posting.google.com...
> ----- Original Message -----
> From: "Anand" <forvxworks@rediffmail.com>
> Newsgroups: comp.os.vxworks
> Sent: Friday, July 05, 2002 11:40 AM
> Subject: about taskDelay and execution time of a task
>
>
> > Hi All,
> >       i am working on a Pentium target and i have the following
> > problems regarding task timing in Vxworks. suppose i have a task as
> > shown below,
> >
> >        task()
> >        {
> >        sysClkRateSet(50);
> >
> >            while(1)
> >            {
> >            /* start of task code */
> >            ---------------
> >            -----------------
> >            ------------
> >            ---------------
> >            /* end of task code */
> >
> >            taskDelay(1);
> >
> >            } // end of while
> >
> >       } // end of task
> >
> >
> >
> > 1) about taskDelay.
> >            i want to know whether the taskdelay(1) given at the end of
> > the while loop takes into account the execution time which is taken by
> > the task code above it?
> >
>  No
>
> > 2) about execution time of a task.
> >           i want tasks that run periodically every 20ms,80ms , etc .
> > using periodRun i will be able to get it in seconds, but in
> > milliseconds how do i do it in vxWorks?? also, are there any ways to
> > specify the execution timing of a task at spawn time itself??
> >
> I don't know , if it can be done using other than watchdog
timer(wdCreate).
> If your function doesn't take much time then you can just set your
function as
> a handler otherwise use semaphores.
>
> > 3) can a lower priority task use taskDelete to delete a higher
> > priority task. if i want to do it, how do i do it??
> >
> It should, if lower priority task get chance to execute taskDelete.
>
> >     i hope these are not too many questions at a time. thanks in
> > advance.
> Never mind.
>
> >      Regards.
> >      Anand.

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

Newsgroups: comp.os.vxworks
Subject: Re: How to know that the agent has sent a trap
Date: Fri, 05 Jul 2002 16:17:33 GMT
From: "Kevin Lay" <circlemtn@earthlink.net>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <xEjV8.1343$Yx5.396@newsread1.prod.itd.earthlink.net>
References: <e555a185.0207050526.4ecf6e0@posting.google.com>

I've seen a race condition where the trap is emitted before the network
connection has been opened.  You'll never know if traps ever make it to
their destination (it's udp). There's no easy method to queue the traps up
until they succeed.  Try re-sending the trap explicitly a few seconds after
reboot.

Where to send the traps is something you have to glue together, usually by
creating a table of trap destinations in your MIB and then retrieving them
when you create the trap packets.   After a mgr sucessfully connects it
would add it's own rcv trap IP address to the target's table.  Maybe this
helps.

Kevin

"Jason" <jzhang@drs.ca> wrote in message
news:e555a185.0207050526.4ecf6e0@posting.google.com...
> Hello All,
>
> We are running the vxWorks 5.4 and ENVOY 9.2 SNMP agent on a PPC
> target, we suppose that the agent should send a trap to network
> management station after it reboot, but actually, the network
> management station (HP Openview NNM 6.1) doesn't receive the trap
> message.
>
> So the questions are:
> How can we know that the agent has sent a trap?
> How the agent know where(which IP address) to send the cold_start or
> warm_start trap when it boots up?
>
> Any input is highly appreciated!
>
> Cheers
>

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

Newsgroups: comp.os.vxworks
Subject: Tornado project LDDEPS = <New Target>  makefile bug
Date: Fri, 05 Jul 2002 16:37:02 GMT
From: "Kevin Lay" <circlemtn@earthlink.net>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <OWjV8.1354$Yx5.172@newsread1.prod.itd.earthlink.net>

Tornado 2.1.0, Windows NT/Win2k/XP, PPC:

After adding VPATH macro for a downloadable project (to get it to compile) I
get the bogus line in the auto-generated makefile:

LDDEPS       =  <New Target>

Of course make blow up on this.  If I manually delete the line the makes are
OK.  Any one find a way around this little annoyance?

Thanks,
Kevin

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

Newsgroups: comp.os.vxworks
Subject: Re: about taskDelay and execution time of a task
Date: Fri, 05 Jul 2002 09:44:21 -0700
From: "Michael R. Kesti" <mkesti@gv.net>
Organization: MK Associates
Message-ID: <3D25CCE5.FC407AA3@gv.net>
References: <f14c07cb.0207042210.6c3994b1@posting.google.com>
Reply-To: mkesti@gv.net

Anand wrote:

>Hi All,
>      i am working on a Pentium target and i have the following
>problems regarding task timing in Vxworks. suppose i have a task as
>shown below,
>
>       task()
>       {
>       sysClkRateSet(50);
>
>           while(1)
>           {
>           /* start of task code */
>           ---------------
>           -----------------
>           ------------
>           ---------------
>           /* end of task code */
>
>           taskDelay(1);
>
>           } // end of while
>
>      } // end of task
>
>
>1) about taskDelay.
>           i want to know whether the taskdelay(1) given at the end of
>the while loop takes into account the execution time which is taken by
>the task code above it?

No.  How could it?  The code prior to the taskDelay() call might run for
pico-seconds to days and there is no way for taskDelay() to know, much
less adjust for that duration.

It gets worse.  taskDelay(1) does not necessarily generate a delay of one
complete timer tick duration.  Instead, it delays until the next timer
tick occurs.  If you call taskDelay(1) one microsecond before the next
timer tick, you get one microsecond of delay, even if your timer is
programmed to tick once each day!

>2) about execution time of a task.
>          i want tasks that run periodically every 20ms,80ms , etc .
>using periodRun i will be able to get it in seconds, but in
>milliseconds how do i do it in vxWorks??

Assuming that your sysClk is running at a rate that supports 10's of
milliseconds timing, you could have your tasks pend on a semaphore that
is given by the timeout function of a watchdog timer (see wdLib) that
the task restarts each time it runs.

>                                         also, are there any ways to
>specify the execution timing of a task at spawn time itself??

taskSpawn() supports as many as ten arguments that are passed to the tasks's
entryPt().  You could use one of these to specify the repetition rate.

>3) can a lower priority task use taskDelete to delete a higher
>priority task. if i want to do it, how do i do it??

Yes, but only if the higher priority task relinquishes the CPU to the
lower priority task long enough for the latter to get the job done.

>    i hope these are not too many questions at a time.

Not at all.

>                                                       thanks in
>advance.

You're welcome.

- -- 
========================================================================
          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: how to change the baudrate for target mpc860?
Date: Fri, 5 Jul 2002 13:41:29 -0400
From: "James" <jameshu@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <qQkV8.7619$aJ4.1861702@news20.bellglobal.com>

Hi,

I wonder if there is any easy way to do that, perhaps only way is to burn
some code in Flash ROM for the target?

Thanks a lot,

James

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

Newsgroups: comp.os.vxworks
Subject: Flashed application runs slow
Date: 5 Jul 2002 11:53:19 -0700
From: brad.bare@baesystems.com (Brad Bare)
Organization: http://groups.google.com/
Message-ID: <22d79244.0207051053.4d3aa3b9@posting.google.com>

I have an application that I have flashed into a MVME2604. Using a
call to spy(), all of my created tasks consume twice as many clock
tics to execute as the same application that is loaded via the
network. I have the instruction and data cache enabled. I have also
verified that the flashed applications text and data sections are
copied to RAM before execution begins.

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

Newsgroups: comp.os.vxworks
Subject: Re: LDAP CLIENT
Date: 5 Jul 2002 19:05:19 GMT
From: Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com>
Message-ID: <slrnaibrff.h70.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>
References: <97b1f722.0207040712.3ac1dee6@posting.google.com>

 * kannan <edenkannan@hotmail.com> [07-Thu-02 08:12 -0700]:
 >
 > Hi,

 > Can anyone please send me the links of any LDAP client
 > program ported to vxworks or any sites which consists of
 > a free LDAP Client software. 

google for openLDAP. I believe it can be made to work with
VxWorks. Don't know about the amount of hacking involved
though.

denis

- -- 
if you want to reply by mail, please tweak my
address in a reasonable way. sorry for the 
inconvenience.

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

Newsgroups: comp.sys.powerpc.misc,comp.sys.powerpc.tech,comp.os.vxworks
Subject: Re: Anyone actually did 82xx CP Loading Measurement?
Date: 5 Jul 2002 14:25:37 -0700
From: ryeung@earthlink.net (Raymond Yeung)
Organization: http://groups.google.com/
Message-ID: <d83bb8e3.0207051325.5ce2e836@posting.google.com>
References: <d83bb8e3.0207011126.2ac6581@posting.google.com> <20020704212252524+0100@clarity.daystar.local>

Interestingly, based on my test results, Motorola's scaling factor actually
works, whereas mine doesn't.

Here's the setup that works:
RISC Timer: 
    RCCR TIMEP = 15 (to get scaling factor of 16)
    Thus, tick interval = 16 x 1024 general system clocks.
General Purpose Timer:
    ICLK = Internal general system clock divided by 16
    Prescaler value = 256
    Thus, tick interval = 256 x 16 general system clocks.

It seems there's a factor of 4 unaccoutable (not described) by the
manual??  What did I miss?

Raymond

Alastair J. Houghton <ajhoughton@lineone.net> wrote in message news:<20020704212252524+0100@clarity.daystar.local>...
> In <d83bb8e3.0207011126.2ac6581@posting.google.com> Raymond Yeung wrote:
> > Motorola suggests the following procedure on their MPC8260 manual
> > for measuring CP Loading:
> 
> [snip]
> 
> > Here're the questions:
> > 1. My understanding is that, the general purpose timer can take the 
> > system    clock (i.e. the CPM clock) divided by 16 then divided again 
> > by a pre-scalar    value of maximum of 256.  Even if I slow it down to 
> > the maximum, the     best I can get is 256 x 16 that of system clock.
> >    Don't I need to match the input clock rate in both RISC and general 
> > purpose    timers?
> 
> I think you're right; Motorola's suggestion doesn't seem to make sense
> (and they seem to imply that the timers should run at the same rate).
> 
> > 2. I'm thinking of lower the scaling factor for the RISC timers from
> >          1,024 x 16  to
> >          1,024 x 4
> >    This way, I can use the maximum prescale factor for the general 
> > purpose    timer, i.e.          256 x 16    And all counters will be 
> > changed at the same rate.  Anyone sees any    problem with this?
> 
> This is exactly what we did on our hardware.  It seems to work nicely (
> we've
> done various things that have caused CPM overload, and all of them have 
> been
> detected).
> 
> Kind regards,
> 
> Alastair.

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

Newsgroups: comp.os.vxworks
Subject: Re: Flashed application runs slow
Date: Fri, 05 Jul 2002 14:57:11 -0700
From: "Michael R. Kesti" <mkesti@gv.net>
Organization: MK Associates
Message-ID: <3D261637.539F66BB@gv.net>
References: <22d79244.0207051053.4d3aa3b9@posting.google.com>
Reply-To: mkesti@gv.net

Brad Bare wrote:

>I have an application that I have flashed into a MVME2604. Using a
>call to spy(), all of my created tasks consume twice as many clock
>tics to execute as the same application that is loaded via the
>network. I have the instruction and data cache enabled. I have also
>verified that the flashed applications text and data sections are
>copied to RAM before execution begins.

Could it be that the optimization settings for the respective builds
differ?

- -- 
========================================================================
          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: Re: FTP connect with fopen
Date: Fri, 05 Jul 2002 23:17:55 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <DOpV8.248138$nZ3.112695@rwcrnsc53>
References: <ag1lr3$994$1@news2.dtag.de> <%Y_U8.238106$nZ3.109910@rwcrnsc53> <ag3itm$js1$1@news2.dtag.de>

Andreas,

    Excuse me then if you are offended. But forgetting about using
ftpXfer(), if you are
dead set on using fopen() then since you RTFM,  I assume using iam() did not
work
for your problem. At this point, since our defenses are up, hopefully
someone will
be able to provide you with an answer that you feel comfortable with. No,
the
example didn't have fopen(), this was an attempt to provide a workaround,
but
alas we are in a debate. Good Luck!

"Andreas Bachmeier" <Bachmeier.Andreas@foerstergroup.de> wrote in message
news:ag3itm$js1$1@news2.dtag.de...
> Hi drdiags,
>
> > Two options that I can think of. One is to use the on-line
> documentation
> > from the
> > Tornado Help and look at the ftpXfer() on-line help. There is an
> example
> > there
> > showing how to use it.
>
> So, is it?
> I don't think so. With ftpXfer() I can do it, but this isn't what I
> want. Where in this example is the function fopen()?
>
> My question was how to set username and password for use with fopen()?
>
> > BTW, though the overall documentation has been slammed for vagueness,
> some
> > of
> > these types of questions can be resolved by doing an index search from
> the
> > T2 IDE on-line help.
>
> Believe me, I'm able to read the manual. RTFM is the first thing I ever
> do.
> But I get no answer. I know it should work because the bootline can do
> it.
>
>
> Andreas
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: dosFs2.0 in tornado
Date: Sat, 06 Jul 2002 01:03:20 GMT
From: Andray Kaganovsky <andraykNOSPAM@primus.ca>
Organization: Primus Canada
Message-ID: <Xns9242D6245D02Aandrayk@216.254.136.26>
References: <8446174.0207040511.7c649acf@posting.google.com>

shyang@netease.com (yang) wrote in 
news:8446174.0207040511.7c649acf@posting.google.com:

> I writed a file in harddisk ,after I finished it . The next time I
> used it to write again , I found the speed of writing slowly . The
> code and result :
>      fd = open("/ata0a/channel0/20020704150005.mpg",O_CREAT |O_RDWR,0 );
>      printf("tick:%x\n",tickGet());
>      i = 0;
>      while(i < 60000)
>      {
>                if(write(fd,(char *)&m_pHead1,2324) != 2324)
>                {
>                     perror("first write\n");                                                                 
>                }
>                i++;
>      }
>      printf("tick:%x\n",tickGet());
>      close(fd);
>      fd = open("/ata0a/channel0/20020704150005.mpg",O_RDWR,0 );
>      printf("tick2:%x\n",tickGet());
>      i = 0;
>      while(i < 60000)
>      {
>                if(write(fd,(char *)&m_pHead2,2324) != 2324)
>                {
>                     perror("first write\n");                                                                 
>                }
>                i++;
>      }
>      printf("tick2:%x\n",tickGet());
>      close(fd); 
> 
> tick:26d6e
> tick:282a9
> tick2:282af
> tick2:2b087

[AndrayK]. Is it a flash ATA card ? If it is, then difference in
'write' performance can be explained by the need to perform
"garbage collection" on the flash media. 

regards, Andray 

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

Newsgroups: comp.os.vxworks
Subject: How to change the outlook asynchronously according the network packets
Date: 5 Jul 2002 18:46:01 -0700
From: jx_ch@yahoo.com (JinxiangChen)
Organization: http://groups.google.com/
Message-ID: <d236d809.0207051746.5659718a@posting.google.com>

I have a main task, a Zinc program interacting with the user, and a
background task listening on the sockets. Now the main task needs to
change its appearance when some packet is coming. Here is an
asynchronous mechanism. But the listening task can't simply send a
REDISPLAY message to the main task. I want something like the
Invalidating area in Windows, who knows the corresponding action in
VxWorks? Thanks.

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

Newsgroups: comp.os.vxworks
Subject: Re: How to get Reai-Time Clock
Date: Sat, 06 Jul 2002 02:21:05 GMT
From: "iiseull" <iiseull@yahoo.co.kr>
Organization: Dacom
Message-ID: <lusV8.82208$nP6.9575481@news.bora.net>
References: <WC9V8.81495$nP6.9374930@news.bora.net> <3D25981D.4C6A7A86@bellsouth.net>

Thanks for your answer.

At first, I used "set" command in "PPCbug" mode to set B/D time.
And after B/D was booted on vxWorks, I called a function "clock_gettime()"
to get current calendar time. But it returnd '0'.

Someone told me that some function like 'clock_settime()' should be called
to set B/D' time clock. But I don't know how I can get B/D time set in
"PPCbug" mode.

Someone told me I could get the time clock from somewhere on "NvRAM".
How can I get computer's time clock ?

iiseull.

"joe durusau" <durusau@bellsouth.net> wrote in message
news:3D25981D.4C6A7A86@bellsouth.net...
>
>
> "̽" wrote:
>
> >     Hi dears.
> >
> >     As mentioned at subject, How can I get Real-Time Clock (UTC time) ?
> >     I used motorola MV2604 as target B/D.
> >
> >     Thanks in advance.
> >     iiseull
>
>     You need to be a little more explicit as to what you _really_ want.
> Do you just want to set the computer's time clock to some value and
> let it run at the normal click rate?  There should be a function in the
BSP
>
> to do this (Something like clock_settime(), AFAIK).  If you want
> externally driven UTC, you could get an IRIG receiver if you have an
> IRIG source that is set to UTC, or you could get a GPS receiver (but you
> would have to convert to UTC from GPS time), or there are any number
> of hardware solutions.
>
> Try to narrow down the the question and you will get a better answer.
>
> Speaking only for myself,
>
> Joe Durusau
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Newbie: How to learn VXworks ?
Date: Sat, 06 Jul 2002 03:35:56 GMT
From: "venu" <venubkv@yahoo.com>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <wAtV8.1431$lj4.157786311@newssvr14.news.prodigy.com>

Any resources, faqs, tutorials  for learning VxWorks ?
I have strong unix kernel(bsd, linux), multithreading(solaris, pthreads)
knowledge. No embedded experience.  I will summarize and repost.
Venu.

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

Newsgroups: comp.os.vxworks
Subject: Re: Template compilation error: virtual memory exhausted
Date: Sat, 06 Jul 2002 04:49:41 GMT
From: bill@woola.qswtools.com
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <FFuV8.2958$A43.251619@newsread2.prod.itd.earthlink.net>
References: <zMiU8.679$gR.47861@newsread2.prod.itd.earthlink.net>
    <JstU8.2050$2k5.1624@newsread1.prod.itd.earthlink.net>
    <dV2V8.42$A43.5956@newsread2.prod.itd.earthlink.net>

In article <dV2V8.42$A43.5956@newsread2.prod.itd.earthlink.net>,
	"Kevin Lay" <circlemtn@earthlink.net> writes:
> Bill,
>     You have definitely restored my faith in the power of this news group.
> Thanks!  But:  I can't find a general gnu patch on windsurf.  I looked under
> downloads->Tornado.  There's a cumulative patch for SH procs which includes
> some gnu tool fixes, but I'm running  PPC (T2.1) .  Can you point me to this
> beast?
Maybe.  Let me look a bit.

>     Though it may be expensive, I went ahead and added -fno-inline.  This
> allowed me to get past the point I was dying in  my build, but it died in
> another build with another template file.  It looks like your theory is
> correct about stack or memory allocation for compilation.
> 
There are other options which reduce the memory usage:  Try reducing
the optimization from -O2 to -O1, for example.  You can also disable
specific optimizations, such as loop unrolling.  I haven't tried the
latter, but reducing optimizations in general can save *lotsa* space.

> Thank you.
> Kevin
> 
> <bill@woola.qswtools.com> wrote in message
> news:JstU8.2050$2k5.1624@newsread1.prod.itd.earthlink.net...
>> In article <zMiU8.679$gR.47861@newsread2.prod.itd.earthlink.net>,
>> "Kevin Lay" <circlemtn@earthlink.net> writes:
>> > Building ACE for VxWorks 5.4 PPC, I get the following interesting error
>> > (more output at bottom for brevity):
>> >
>> >
> (C:\Tornado2.1\host\x86-win32\lib\gcc-lib\powerpc-wrs-vxworks\gcc-2.96\cc1pl
>> > us.exe 1002) commit_and_inc: VirtualAlloc failed
>> >
>> > ../ace/Message_Queue_T.cpp:2272: Internal compiler error:
>> >
>> > ../ace/Message_Queue_T.cpp:2272: virtual memory exhausted
>> >
>> > Source looks fine, compiles for other platforms.  Allegedly ok with
> VxWorks
>> > 5.3 Gnu 2.7.2. Don't know.  Has anyone seen this?
>>
>> Unfortunately, yes.  The Windows GNU compilers have several problems
>> with memory allocation, and we've run into them all:
>>
>> 1) Most Win32 executables before the Tornado 2.2 versions have
>>    a field in the PE-COFF header that allocates a fixed,
>>    too-small, stack area for the compiler process.  WRS
>>    has a 'pepatch' utility that you can download to alter
>>    the field.  I recommend trying this first, since it's
>>    the least intrusive (also less risky) fix.
>>
>> 2) There's a bug in the CygWin.dll file that contains the
>>    BSD-like support for all the GNU tools on WIN32.  I
>>    don't know it's exact nature, but it's about allocating
>>    memory.  There are some patched compilers available on
>>    WindSurf.  Be sure to save your old DLL, and this fix
>>    is also low-risk.
>>
>> 3) Some of the GNU C++ compiler versions try too hard to
>>    inline code, and use *way* too much memory.  Again,
>>    there are some patched compiler binaries available
>>    on WindSurf.  You can work around this one with the
>>    -fno-inline command option.
>>
>> You can see the problem in the above patchwork of fixes.  One
>> cannot always find the patch one needs for the compiler one
>> uses...  Our FAE says that WRS is working on 'cumulative
>> patches' combining the three fixes, where they are needed, for
>> the most common architectures.
>>
>> > If you can shed some light on this I'd be grateful.
>>
>> Thanks, by the way, for the really complete situation report.
>> It made diagnosing the problem really simple!
>>
>>
>>
> 
> 

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

Newsgroups: comp.os.vxworks
Subject: Re: Printing from an exception in an interrupt handler
Date: 5 Jul 2002 22:35:36 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207052135.4447c8cf@posting.google.com>
References: <92d559ef.0207011226.d2eaad6@posting.google.com>

Hello,

An exception in an interrupt handler is considered to be a panic for
the VxWorks kernel, and unrecoverable. So, unless you are planning to
try to recover from the exception (a potentially complex operation
depending on what the cause was, and where in the ISR the exception
occurred), there is no way to print a  message out - the handler will
never return back to the ISR, letalone to task level.

Instead, assuming that you are using a bootrom, you could do what the
default exception handler does in this case: sprintf() your message
into memory pointed to by sysExcMsg, and then advance the pointer. The
following gives you an example:

    sysExcMsg += sprintf (sysExcMsg, "Test message\n");

The bootrom will then display this text on the next reboot (which will
happen shortly after the default handler realises that it is an
exception in an ISR).

HTH,

John...

robf@rochester.rr.com (Rob F) wrote in message news:<92d559ef.0207011226.d2eaad6@posting.google.com>...
> Using Tornado 2 on a PPC 603. Started using excHookAdd to attach a
> routine (which displays some debug info) to vxWorks exception handling
> framework.  When I crash in a thread I can print out the additional
> debug information fine from this hook. When I crash in an interrupt,
> the system just reboots, my hook is not called and a small
> informational message is printed (MSR, etc).
> 
> I'm attempting to use the excConnect() function call to override
> WindRiver's exception handler (Data Storage and Machine check). When I
> crash in a thread, everything prints out OK. When I crash in an
> interrupt:
> 
> 1.) Printf hangs: I know you can't use printf in an interrupt so I
> went to option 2.
> 
> 2.) Spawn a thread which prints: Doesn't work, can't spawn a thread in
> an interrupt. Off to option 3.
> 
> 3.) Release a semaphore to a high priority thread which prints:
> Doesn't work either. The thread which prints starts to run. The
> exception completes. When the exception completes another exception
> occurs at the first instruction back from the excConnect routine (at
> address 0x318 in the kernel). Round and round we go.
> 
> Has anyone solved this problem? There is some pretty important info
> I'd like to display for all exceptions (whether they occur in
> interrupts or not)
> 
> Thanks, 
> Rob

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

Newsgroups: comp.os.vxworks
Subject: Re: FTP connect with fopen
Date: 5 Jul 2002 22:39:29 -0700
From: rajendra_krsingh@yahoo.com (rajendra)
Organization: http://groups.google.com/
Message-ID: <479ba395.0207052139.6de68a9@posting.google.com>
References: <ag1lr3$994$1@news2.dtag.de>

"Andreas Bachmeier" <Bachmeier.Andreas@foerstergroup.de> wrote in message news:<ag1lr3$994$1@news2.dtag.de>...
> Hi,
> I use Tornado 2.02 with vxWorks 5.4 for X86.
> For file access I use the function fopen. It worked fine for local
> access to the HD and also with ftp to a host PC.
> On the Host PC the ftp server shipped with Tornado 2 is running.
> My problem is now to tell fopen witch login for the ftp connect to use.
> If I open a File with fopen(Device:/Dir/FileName.txt, "r") the ftp
> server on the host PC is connected.
> But the fopen use the username and password of the bootline setting. If
> I boot from local drive, there is no username and password, so the
> access to the ftp server is denied.
> How can I set username and password for use with fopen?
> 
> regards
> Andreas

Use iam(name,password) before calling fopen.

- -rajendra

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

Newsgroups: comp.os.vxworks
Subject: Re: FTP connect with fopen
Date: 5 Jul 2002 22:47:29 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207052147.4f3e46c6@posting.google.com>
References: <ag1lr3$994$1@news2.dtag.de>

Hello,

Check out the manual pages for remLib and in particular remCurIdSet().
This will allow you to change the user name and password for FTP or
RSH access.

Be careful though, there is only one username and password for the
target system; if more than one task is changing these values, you
will get into trouble.

If you need multiple tasks with different username/password
combinations, then you will need to use the ftpLib functions directly,
and not the netDrv file system. If you still wish to use fopen() in
your application you could always write your own ftp-based file system
;-)

HTH,

John...

"Andreas Bachmeier" <Bachmeier.Andreas@foerstergroup.de> wrote in message news:<ag1lr3$994$1@news2.dtag.de>...
> Hi,
> I use Tornado 2.02 with vxWorks 5.4 for X86.
> For file access I use the function fopen. It worked fine for local
> access to the HD and also with ftp to a host PC.
> On the Host PC the ftp server shipped with Tornado 2 is running.
> My problem is now to tell fopen witch login for the ftp connect to use.
> If I open a File with fopen(Device:/Dir/FileName.txt, "r") the ftp
> server on the host PC is connected.
> But the fopen use the username and password of the bootline setting. If
> I boot from local drive, there is no username and password, so the
> access to the ftp server is denied.
> How can I set username and password for use with fopen?
> 
> regards
> Andreas

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

Newsgroups: comp.os.vxworks
Subject: losing tgt connection with multiple tgt server connections
Date: 5 Jul 2002 23:28:46 -0700
From: be_gyus@yahoo.com (james)
Organization: http://groups.google.com/
Message-ID: <ff42611f.0207052228.63a504c6@posting.google.com>

hi guys,
I have a problem of losing target server connection with 2 targets as
soon as I launch 2nd target server using single host and two targets.
I have assigned unique IP addresses to the targets, even the vxWorks
image is different for both the targets..host is solaris-7 and target
boards are 8260.Independently both work fine, problem arises as i try
to launch 2nd target server..
   I have come across previous discussions in this group regarding the
same problem, but no one seems to have a solution for this..is there
any work around for this problem??????????? or is it an issue of
network, say problem with ARP???....help is needed ASAP

thanks

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

Newsgroups: comp.os.vxworks
Subject: Re: configuration settings for vxworks standalone target-bootable with floppy
Date: 6 Jul 2002 00:35:52 -0700
From: vxnerd@rediffmail.com (subbarayan)
Organization: http://groups.google.com/
Message-ID: <f81c4277.0207052335.10b16b19@posting.google.com>
References: <f81c4277.0207050331.2db8a6da@posting.google.com> <3d25a6ec$1@netnews.web.de>

dear Mr.Reinholdwirth,
Thanks for ur reply.That worked successfully and my hearty thanks to
you with out whom I would not be able to succeed in my project.I have
been struggling for abt a month with out knowing the same.Now i am
greatful and thankful to u always till my life time.Stay in touch.

bye,
Regards,
s.subbarayan

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

Newsgroups: comp.os.vxworks
Subject: Re: about taskDelay and execution time of a task
Date: 6 Jul 2002 01:49:43 -0700
From: forvxworks@rediffmail.com (Anand)
Organization: http://groups.google.com/
Message-ID: <f14c07cb.0207060049.498bf68e@posting.google.com>
References: <f14c07cb.0207042210.6c3994b1@posting.google.com> <3D25CCE5.FC407AA3@gv.net>

Hi Again,
     does it mean that it is better to use nanosleep() as it gives the
required delay, ofcourse rounded to the nearest resolution of the
clock??

     i am thinking of a way to do what i want, tell me whether it
works without any problem..

	after knowing the repetition rate of the task, i can get the time
value before & after the task code using clock_gettime() , which gives
me the time in seconds & nanoseconds. then i will know the execution
time taken by the task code (by taking the difference) , then
appropriately give the required delay at the end of the task using
nanosleep().something as shown below...

	task()
	{
	/* declarations */

	/* give appropriate sysClkRateSet */

		while(1)
		{

		/* get start time using clock_gettime() */
	
		/* start of task code */
		------------
		-----------
		-----------
		-------------
		-------------
		/* end of task code */
	
		/* get end time using clock_gettime() */
	
		/* get the remaining time using 
	   	   remaining_time = repetition_rate - time_consumed by task */
	
		/* give appropriate delay using nanosleep */
	
		} // end of while

	} // end of task

		i know that this works provided the task code takes execution time
less than the 	repetition rate of the task. other than that i hope
this will work fine. any corrections & 	suggestions.

thanks in advance.
Regards.
Anand.
 

"Michael R. Kesti" <mkesti@gv.net> wrote in message news:<3D25CCE5.FC407AA3@gv.net>...
> Anand wrote:
> 
> >Hi All,
> >      i am working on a Pentium target and i have the following
> >problems regarding task timing in Vxworks. suppose i have a task as
> >shown below,
> >
> >       task()
> >       {
> >       sysClkRateSet(50);
> >
> >           while(1)
> >           {
> >           /* start of task code */
> >           ---------------
> >           -----------------
> >           ------------
> >           ---------------
> >           /* end of task code */
> >
> >           taskDelay(1);
> >
> >           } // end of while
> >
> >      } // end of task
> >
> >
> >1) about taskDelay.
> >           i want to know whether the taskdelay(1) given at the end of
> >the while loop takes into account the execution time which is taken by
> >the task code above it?
> 
> No.  How could it?  The code prior to the taskDelay() call might run for
> pico-seconds to days and there is no way for taskDelay() to know, much
> less adjust for that duration.
> 
> It gets worse.  taskDelay(1) does not necessarily generate a delay of one
> complete timer tick duration.  Instead, it delays until the next timer
> tick occurs.  If you call taskDelay(1) one microsecond before the next
> timer tick, you get one microsecond of delay, even if your timer is
> programmed to tick once each day!
> 
> >2) about execution time of a task.
> >          i want tasks that run periodically every 20ms,80ms , etc .
> >using periodRun i will be able to get it in seconds, but in
> >milliseconds how do i do it in vxWorks??
> 
> Assuming that your sysClk is running at a rate that supports 10's of
> milliseconds timing, you could have your tasks pend on a semaphore that
> is given by the timeout function of a watchdog timer (see wdLib) that
> the task restarts each time it runs.
> 
> >                                         also, are there any ways to
> >specify the execution timing of a task at spawn time itself??
> 
> taskSpawn() supports as many as ten arguments that are passed to the tasks's
> entryPt().  You could use one of these to specify the repetition rate.
> 
> >3) can a lower priority task use taskDelete to delete a higher
> >priority task. if i want to do it, how do i do it??
> 
> Yes, but only if the higher priority task relinquishes the CPU to the
> lower priority task long enough for the latter to get the job done.
> 
> >    i hope these are not too many questions at a time.
> 
> Not at all.
> 
> >                                                       thanks in
> >advance.
> 
> You're welcome.

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

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

From vxwexplo-errs@csg.lbl.gov  Sun Jul  7 04:03:11 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sun Jul  7 04:03:13 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Sun Jul  7 04:03:07 PDT 2002

        Subject: Re: How to get Reai-Time Clock
        Subject: Re: Finding the IP address of other targets in Network
        Subject: Re: vxWorks Rename bug in DosFs?
        Subject: Re: Newbie: How to learn VXworks ?
        Subject: Re: about taskDelay and execution time of a task
        Subject: Re: FTP probelm
        Subject: HELP with Vx Shell Questions
        Subject: Re: Can you help me analyze it? vxWorks expert!
        Subject: HELP!
        Subject: Re: How to change the outlook asynchronously according the network packets
        Subject: Re: HELP!
        Subject: Re: Can you help me analyze it? vxWorks expert!
        Subject: Re: HELP!

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

Newsgroups: comp.os.vxworks
Subject: Re: How to get Reai-Time Clock
Date: Sat, 06 Jul 2002 09:29:25 -0400
From: joe durusau <durusau@bellsouth.net>
Organization: WEBUSENET.com
Message-ID: <3D26F0B5.356A9CE@bellsouth.net>
References: <WC9V8.81495$nP6.9374930@news.bora.net> <3D25981D.4C6A7A86@bellsouth.net> <lusV8.82208$nP6.9575481@news.bora.net>

iiseull wrote:

> Thanks for your answer.
>
> At first, I used "set" command in "PPCbug" mode to set B/D time.
> And after B/D was booted on vxWorks, I called a function "clock_gettime()"
> to get current calendar time. But it returnd '0'.
>
> Someone told me that some function like 'clock_settime()' should be called
> to set B/D' time clock. But I don't know how I can get B/D time set in
> "PPCbug" mode.
>
> Someone told me I could get the time clock from somewhere on "NvRAM".
> How can I get computer's time clock ?
>
> iiseull.
>
> "joe durusau" <durusau@bellsouth.net> wrote in message
> news:3D25981D.4C6A7A86@bellsouth.net...
> >
> >
> > "̽" wrote:
> >
> > >     Hi dears.
> > >
> > >     As mentioned at subject, How can I get Real-Time Clock (UTC time) ?
> > >     I used motorola MV2604 as target B/D.
> > >
> > >     Thanks in advance.
> > >     iiseull
> >
> >     You need to be a little more explicit as to what you _really_ want.
> > Do you just want to set the computer's time clock to some value and
> > let it run at the normal click rate?  There should be a function in the
> BSP
> >
> > to do this (Something like clock_settime(), AFAIK).  If you want
> > externally driven UTC, you could get an IRIG receiver if you have an
> > IRIG source that is set to UTC, or you could get a GPS receiver (but you
> > would have to convert to UTC from GPS time), or there are any number
> > of hardware solutions.
> >
> > Try to narrow down the the question and you will get a better answer.
> >
> > Speaking only for myself,
> >
> > Joe Durusau
> >
> >
> >

Okay,...  You need to consult the hardware manual for your
CPU board to see where you read the time from the CMOS clock.
I haven't used this type of board, so I don;t know where it is.
The general idea is to find the location in the manual, then set up a pointer
to it, then read the thing, and set the system's internal timer, or, if you
wish,
just use the CMOS clock all the time.  I should observe that they
aren't terribly accurate, but may be good enough for your purposes.

The manual you want should be available on moto's website.  It's
probably referred to as "Programmer's Guide for..." or something like that.

Speaking only for myself,

Joe Durusau

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

Newsgroups: comp.os.vxworks
Subject: Re: Finding the IP address of other targets in Network
Date: Sat, 06 Jul 2002 13:34:13 GMT
From: "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM>
Organization: Verio
Message-ID: <newscache$qq0uyg$qh6$1@lnews.actcom.co.il>
References: <deaa50134f6d92b89e51767bff323b9b.101277@mygate.mailgate.org>

The bst idea I think is to add to each monitor a task that sends a
UDP broadcast to a pre-defined port numer, each announcing
itself periodicallyt, and listening on the same port for other such
announcements and maintaining an up to date table of all monitors
on this particular network. If the announcement is expected once
per minute, than any monitor who has not announced itself for 3 minutes
would be removed from this table.

In an advanced version, you could replace the broadcast with multicast,
and maintain a list of monitors on an internetwork, (multicast cloud)
not just the single segment hub you mentioned.

To simplify things you should use your own proprietary method,
but there are standards to do things like this in case you need
interoperability (e.g. uPnP).

"Arpith Kumar" <arpiths@myw.ltindia.com> wrote in message
news:deaa50134f6d92b89e51767bff323b9b.101277@mygate.mailgate.org...
> Hi All,
>
>
> I would like you to help me for answering the following question.
>
> I have 16 different monitors(Vxworks based) connected via a hub. I don't
> have any DHCP server or any dedicated server having the list of all IP
> addresses.
>
> Each monitor has got it's own ip address. If I don't know the
> destination address of other monitors,  how will I get the Destination
> IP addresses?.
>
> Is there any utility to know the different monitors IP addresses in the
> network using TCP?.
>
> Looking forward to your reply.
>
> Regards
> Arpith
>
>
> --
> Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: Re: vxWorks Rename bug in DosFs?
Date: Sat, 06 Jul 2002 13:49:57 GMT
From: "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM>
Organization: Verio
Message-ID: <newscache$yg1uyg$yh6$1@lnews.actcom.co.il>
References: <da76fb90.0207050210.56a360fa@posting.google.com>

Perhaps you use DosFs 2.0 but this is not a DsFs bug,
and would appear the same on DosFs 1.0 too.
The problem is with the FTP server that came with VxWorks 5.4,
which does a bad job a keeping track of path names.
One work around is never to "cd" but to use full path names.
Another solution (if you have DosFs2.0) is to install
the enhanced FTP server which is shipped with DosFs 2.0
in the "unsupported" directory.

"Jonas" <zealous_swe@hotmail.com> wrote in message
news:da76fb90.0207050210.56a360fa@posting.google.com...
> Hello!!!
>
> I would like do know if anyone knows a workaround for my problem.
>
> How to reproduce the bug:
>
> Open a console.
> Make a directory at the root called "nisse". (mkdir "nisse")
> Then use cd "Nisse".
> You now enters the "nisse" directory.
> Use FTP to upload a file in "nisse". In my case "apa.txt".
>
> We now have a file named "apa.txt" in the directory "nisse", but we used
> cd "Nisse" to get there.
>
> Use ls to verify that the file you uploaded are in "nisse".
>
> Now use rename("apa.txt","kalle.txt").
> As you can se the rename fails.
>
> If I then use 'pwd' i get "/hd0a/Nisse". But i guess rename fails because
> there are no "Nisse"......
>
> Anyone have a nice workaround??
>
> I use a vxWorks 5.3.1 system with DosFs 2.0(i think!)
>
> //Jonas

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

Newsgroups: comp.os.vxworks
Subject: Re: Newbie: How to learn VXworks ?
Date: Sat, 06 Jul 2002 08:57:53 -0700
From: "Michael R. Kesti" <mkesti@gv.net>
Organization: MK Associates
Message-ID: <3D271381.39C4AC09@gv.net>
References: <wAtV8.1431$lj4.157786311@newssvr14.news.prodigy.com>
Reply-To: mkesti@gv.net

venu wrote:

>Any resources, faqs, tutorials  for learning VxWorks ?
>I have strong unix kernel(bsd, linux), multithreading(solaris, pthreads)
>knowledge. No embedded experience.  I will summarize and repost.
>Venu.

I know of no third party books on the topic, leaving Wind River's manuals
the sole source of printed material.  The problem is that most people have
no access to these manuals until they make the leap to purchase WR products.

I do know of a couple of useful web sites, though:

http://www.rt.db.erau.edu/experiments/vx/toc/TableOfContents.html

http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html

Good luck!

- -- 
========================================================================
          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: Re: about taskDelay and execution time of a task
Date: Sat, 06 Jul 2002 09:53:59 -0700
From: "Michael R. Kesti" <mkesti@gv.net>
Organization: MK Associates
Message-ID: <3D2720A7.89C3D242@gv.net>
References: <f14c07cb.0207042210.6c3994b1@posting.google.com> <3D25CCE5.FC407AA3@gv.net> <f14c07cb.0207060049.498bf68e@posting.google.com>
Reply-To: mkesti@gv.net

Anand wrote:

>Hi Again,
>     does it mean that it is better to use nanosleep() as it gives the
>required delay, ofcourse rounded to the nearest resolution of the
>clock??
>
>     i am thinking of a way to do what i want, tell me whether it
>works without any problem..
>
>        after knowing the repetition rate of the task, i can get the time
>value before & after the task code using clock_gettime() , which gives
>me the time in seconds & nanoseconds. then i will know the execution
>time taken by the task code (by taking the difference) , then
>appropriately give the required delay at the end of the task using
>nanosleep().something as shown below...
>
>        task()
>        {
>        /* declarations */
>
>        /* give appropriate sysClkRateSet */
>
>                while(1)
>                {
>
>                /* get start time using clock_gettime() */
>
>                /* start of task code */
>                ------------
>                -----------
>                -----------
>                -------------
>                -------------
>                /* end of task code */
>
>                /* get end time using clock_gettime() */
>
>                /* get the remaining time using
>                   remaining_time = repetition_rate - time_consumed by task */
>
>                /* give appropriate delay using nanosleep */
>
>                } // end of while
>
>        } // end of task
>
>                i know that this works provided the task code takes execution time
>less than the   repetition rate of the task. other than that i hope
>this will work fine. any corrections &  suggestions.

I see no reason that this technique shouldn't work.  I'd be more inclined to
use the watchdog timers and semaphores I earlier suggested, but that may be
because that is the way I first learned to do this sort of thing.  It seems
that your technique trades the complexity of watchdog timer and semaphore
creation and maintenance for the complexity of computing the nanosleep
duration.  I'm not certain which might be more efficient and maintainable.

- -- 
========================================================================
          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,comp.os.qnx
Subject: Re: FTP probelm
Date: 6 Jul 2002 15:17:55 -0700
From: vdalal@hotmail.com (Vasu Dalal)
Organization: http://groups.google.com/
Message-ID: <363d071b.0207061417.4841b4c3@posting.google.com>
References: <f8bb70a1a25a601ee7eca0f3f5ae3764.98538@mygate.mailgate.org>

Hi:

>       presently i am trying to transfer a file which is there in one
> board to another. my board is made of MPC823 & i had to read from the
> diskon chip of one board and write to another. while doing FTP i am
> getting an error msg FILE IS NOT AVAILABLE OR PERMISSION PROBELM i had
> checked that the file is available.
> 

Are u using ftpXfer() ?
Make sure that the parameters passed to ftpXfer() are correct.
Turn on FTP debug logs:
- -> ftpdDebug=1
- -> ftpDebug=1

For NFS, take a look at the VxWorks Reference Manual.

hth,
vasu

ref:
>       may any one help me how to use netDevCreate how will it be useful
> in my context.
> 
>       what is the diff btw NFS & FTP how to do NFS may any one help in
> solving.
> 
>       if i include rlogin/telnet facility in my workspace i cudn't
> rebuild  my workspace it was giving some compiler error. it's showing
> that function i is declared in usrLib.o & where ever i use i variable in
> my application files it's showing error at that point. this error
> doesn't occur if i exclude rlogin facility
> 
>        it wud be of great help if somebody cud show me a way regarding
> solving of the above probelms
> 
>   ganesh anand

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

Newsgroups: comp.os.vxworks
Subject: HELP with Vx Shell Questions
Date: 6 Jul 2002 18:24:31 -0700
From: sroy@broadcom.com (santanu roy)
Organization: http://groups.google.com/
Message-ID: <2e1a5529.0207061724.22ca3a78@posting.google.com>

I am using Tornado 2.1 with THG (Tornado Home Gateway) to build a
router image. When I run the image and try to get the Task
information, I see a 3d0004 ERRNO as seen below.
- -> i
 
  NAME        ENTRY       TID    PRI   STATUS      PC       SP    
ERRNO  DELAY
- ---------- ------------ -------- --- ---------- -------- --------
- ------- -----
tExcTask   excTask      80fd5cf0   0 PEND       80166e20 80fd5be8     
 0     0
tLogTask   logTask      80fd31c0   0 PEND       80166e20 80fd30b8     
 0     0
tShell     shell        80853320   1 READY      80112e30 80852e70     
 0     0
tWdbTask   80105ed4     80855540   3 PEND       8008b1c0 80855300     
 0     0
tWDtask    WatchdogFeed 80848500  40 DELAY      801122e4 80848490     
 0    37
tNetTask   netTask      80f95070  50 READY      8008b1c0 80f94fc0     
 0     0
tUPnP      upnp_task_en 80816f90  50 PEND       8008b1c0 80816d40     
 0     0
tSMETask   smeTask      80847ac0  80 PEND       80166e20 80847988     
 0     0
tNAT       80077920     8081b320 100 PEND+T     8008b1c0 8081b270 
3d0004     5
tWebTask   milli        8082dfd0 150 PEND       8008b1c0 8082dea8     
 0     0
tEasyConf  easyconf     8081cc40 150 PEND       8008b1c0 8081c628     
 0     0
tLoadDef   LoadDefaultT 8084d540 200 READY      80005f30 8084d4f8     
 0     0
hb         heartbeat    80813230 200 READY      8008a508 80813208     
 0     0
tBridgeAger801161ec     80833890 250 READY      8008a508 80833868     
 0     0
tRcTask    RateCtrlTask 80842a80 255 READY      80111c14 808429d0     
 0     0
tApIdle    apIdleTask   8083da40 255 READY      8008a508 8083da18     
 0     0
value = 0 = 0x0
I see that this could be caused possibly by semTake( ) returning due
to timeout. This sets the errno to S_objLib_OBJ_TIMEOUT (defined in
objLib.h). However, having said that, I am clueless as to how to debug
this via the list of tasks showed above. It says tNAT task generates
this error, but how do I find out where in my image is this tNAT task
located? Also, the ENTRY is a # instead of a NAME. How do I interpret
these TASK information in the shell? WHat does PEND+T mean? (PEND =
pending, but what the +T for?). What does the PC value indicate here?
Is it the location that generated the ERROR? What does the task ID
help to debug/troubleshooting?
Pleassssssssse Help!

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

Newsgroups: comp.os.vxworks
Subject: Re: Can you help me analyze it? vxWorks expert!
Date: 6 Jul 2002 19:05:01 -0700
From: xmtang@facri.com (xiaomingtang)
Organization: http://groups.google.com/
Message-ID: <acabfdad.0207061805.cd9e4d2@posting.google.com>
References: <acabfdad.0206271836.69f4b22f@posting.google.com> <newscache$gzxkyg$rmh$1@lnews.actcom.co.il> <acabfdad.0207011912.4fa824ee@posting.google.com> <uznxab2w7.fsf@sympatico.ca>

> A cursory search of the vxWorks FAQ would point you here,
> 
>  "http://www.xs4all.nl/~borkhuis/vxworks/vxw_pt4.html#4.5"
> 
> If you have trouble after reading this and studying it throughly, you
> might check back here.
> 
> hth,
> Bill Pringlemeir.

Thanks Bill Pringlemeir.I read 
"http://www.xs4all.nl/~borkhuis/vxworks/vxw_pt4.html#4.5" as your
following.but I can not find the file "WTN50.pdf",maybe have been
removed from windriver website.so how can I get such document.Thanks a
lot.
Anyone who concerns such problem should be appriciate.

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

Newsgroups: comp.os.vxworks
Subject: HELP!
Date: 6 Jul 2002 19:59:16 -0700
From: sroy@broadcom.com (santanu roy)
Organization: http://groups.google.com/
Message-ID: <2e1a5529.0207061859.450ce81e@posting.google.com>

How do one find out the explanation for each of these coulmns?

NAME        ENTRY       TID    PRI   STATUS      PC       SP    
ERRNO  DELAY
- ---------- ------------ -------- --- ---------- -------- --------
- ------- -----
tExcTask   excTask      80fd5cf0   0 PEND       80166e20 80fd5be8     
 0     0
tLogTask   logTask      80fd31c0   0 PEND       80166e20 80fd30b8     
 0     0
tShell     shell        80853320   1 READY      80112e30 80852e70     
 0     0
tWdbTask   80105ed4     80855540   3 PEND       8008b1c0 80855300     
 0     0
tWDtask    WatchdogFeed 80848500  40 DELAY      801122e4 80848490     
 0    37
tNetTask   netTask      80f95070  50 READY      8008b1c0 80f94fc0     
 0     0
tUPnP      upnp_task_en 80816f90  50 PEND       8008b1c0 80816d40     
 0     0
tSMETask   smeTask      80847ac0  80 PEND       80166e20 80847988     
 0     0
tNAT       80077920     8081b320 100 PEND+T     8008b1c0 8081b270 
3d0004     5
tWebTask   milli        8082dfd0 150 PEND       8008b1c0 8082dea8     
 0     0
tEasyConf  easyconf     8081cc40 150 PEND       8008b1c0 8081c628     
 0     0
tLoadDef   LoadDefaultT 8084d540 200 READY      80005f30 8084d4f8     
 0     0
hb         heartbeat    80813230 200 READY      8008a508 80813208     
 0     0
tBridgeAger801161ec     80833890 250 READY      8008a508 80833868     
 0     0
tRcTask    RateCtrlTask 80842a80 255 READY      80111c14 808429d0     
 0     0
tApIdle    apIdleTask   8083da40 255 READY      8008a508 8083da18     
 0     0
value = 0 = 0x0

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

Newsgroups: comp.os.vxworks
Subject: Re: How to change the outlook asynchronously according the network packets
Date: 6 Jul 2002 20:42:59 -0700
From: jx_ch@yahoo.com (JinxiangChen)
Organization: http://groups.google.com/
Message-ID: <d236d809.0207061942.485b1394@posting.google.com>
References: <d236d809.0207051746.5659718a@posting.google.com>

jx_ch@yahoo.com (JinxiangChen) wrote in message news:<d236d809.0207051746.5659718a@posting.google.com>...
> I have a main task, a Zinc program interacting with the user, and a
> background task listening on the sockets. Now the main task needs to
> change its appearance when some packet is coming. Here is an
> asynchronous mechanism. But the listening task can't simply send a
> REDISPLAY message to the main task. I want something like the
> Invalidating area in Windows, who knows the corresponding action in
> VxWorks? Thanks.

Pehaps I should restate my problem further:
It lies in Zinc,not Vxworks. My main task has been trapped in the
event control of Zinc,it&#8217;ll be colllapsed when it is dirrectly
informed by another task. Without the Zinc,the asynchrounous action
won&#8217;t be a problem. But my application has been written in
Zinc,I can&#8217;t switch to UGL just because of this inconvenience.
So the point here is some solution in Zinc: how can the main task
refresh its invalid area when something has happened?
BTW,I&#8217;m new in Zinc programming, I appreciate any advice on the
related topics.

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

Newsgroups: comp.os.vxworks
Subject: Re: HELP!
Date: 6 Jul 2002 22:15:58 -0700
From: rajendra_krsingh@yahoo.com (rajendra)
Organization: http://groups.google.com/
Message-ID: <479ba395.0207062115.10bdb7db@posting.google.com>
References: <2e1a5529.0207061859.450ce81e@posting.google.com>

sroy@broadcom.com (santanu roy) wrote in message news:<2e1a5529.0207061859.450ce81e@posting.google.com>...
> How do one find out the explanation for each of these coulmns?
> 
> NAME        ENTRY       TID    PRI   STATUS      PC       SP    
> ERRNO  DELAY
> ---------- ------------ -------- --- ---------- -------- --------
> ------- -----
> tExcTask   excTask      80fd5cf0   0 PEND       80166e20 80fd5be8     
>  0     0
> tLogTask   logTask      80fd31c0   0 PEND       80166e20 80fd30b8     
>  0     0
> tShell     shell        80853320   1 READY      80112e30 80852e70     
>  0     0
> tWdbTask   80105ed4     80855540   3 PEND       8008b1c0 80855300     
>  0     0
> tWDtask    WatchdogFeed 80848500  40 DELAY      801122e4 80848490     
>  0    37
> tNetTask   netTask      80f95070  50 READY      8008b1c0 80f94fc0     
>  0     0
> tUPnP      upnp_task_en 80816f90  50 PEND       8008b1c0 80816d40     
>  0     0
> tSMETask   smeTask      80847ac0  80 PEND       80166e20 80847988     
>  0     0
> tNAT       80077920     8081b320 100 PEND+T     8008b1c0 8081b270 
> 3d0004     5
> tWebTask   milli        8082dfd0 150 PEND       8008b1c0 8082dea8     
>  0     0
> tEasyConf  easyconf     8081cc40 150 PEND       8008b1c0 8081c628     
>  0     0
> tLoadDef   LoadDefaultT 8084d540 200 READY      80005f30 8084d4f8     
>  0     0
> hb         heartbeat    80813230 200 READY      8008a508 80813208     
>  0     0
> tBridgeAger801161ec     80833890 250 READY      8008a508 80833868     
>  0     0
> tRcTask    RateCtrlTask 80842a80 255 READY      80111c14 808429d0     
>  0     0
> tApIdle    apIdleTask   8083da40 255 READY      8008a508 8083da18     
>  0     0
> value = 0 = 0x0

Shantanu,
   You may want to have a look on taskShow documention.

- -rajendra

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

Newsgroups: comp.os.vxworks
Subject: Re: Can you help me analyze it? vxWorks expert!
Date: 7 Jul 2002 00:25:26 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207062325.67896981@posting.google.com>
References: <acabfdad.0206271836.69f4b22f@posting.google.com> <newscache$gzxkyg$rmh$1@lnews.actcom.co.il> <acabfdad.0207011912.4fa824ee@posting.google.com> <uznxab2w7.fsf@sympatico.ca> <acabfdad.0207061805.cd9e4d2@posting.google.com>

Hello,

As with all these application note (formerly technical note) files,
they are found on WindSurf, for which you will need a username and
password. Assuming you have those, you can find WTN50 here:

http://web1.windriver.com/windsurf/appnotes/ide/tornado/t2/APN50/WTN50.pdf

HTH,

John...

xmtang@facri.com (xiaomingtang) wrote in message news:<acabfdad.0207061805.cd9e4d2@posting.google.com>...
> > A cursory search of the vxWorks FAQ would point you here,
> > 
> >  "http://www.xs4all.nl/~borkhuis/vxworks/vxw_pt4.html#4.5"
> > 
> > If you have trouble after reading this and studying it throughly, you
> > might check back here.
> > 
> > hth,
> > Bill Pringlemeir.
> 
> Thanks Bill Pringlemeir.I read 
> "http://www.xs4all.nl/~borkhuis/vxworks/vxw_pt4.html#4.5" as your
> following.but I can not find the file "WTN50.pdf",maybe have been
> removed from windriver website.so how can I get such document.Thanks a
> lot.
> Anyone who concerns such problem should be appriciate.

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

Newsgroups: comp.os.vxworks
Subject: Re: HELP!
Date: 7 Jul 2002 00:32:31 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207062332.3a0493fc@posting.google.com>
References: <2e1a5529.0207061859.450ce81e@posting.google.com>

Hello,

The manual page entry for taskShow() [the function, not the library]
should contain an explanation of these columns. To summarise them
though:

NAME     - name of the task
ENTRY    - entry point function
TID      - task ID
PRI      - task priority
STATUS   - current task status
PC       - current program counter
SP       - current stack pointer
ERRNO    - current value of errno
DELAY    - number of ticks remaining in delay (if
           task is delayed)

The status column is the only one that might need additional
explanation since tasks can be in special states, like PEND+T shown in
your example. In this case, the task is PENDing on an event with a
timeout (of which 5 ticks remained at the time i was invoked). The
VxWorks programmer's guide section on task states should help explain
these values.

HTH,

John...

sroy@broadcom.com (santanu roy) wrote in message news:<2e1a5529.0207061859.450ce81e@posting.google.com>...
> How do one find out the explanation for each of these coulmns?
> 
> NAME        ENTRY       TID    PRI   STATUS      PC       SP    
> ERRNO  DELAY
> ---------- ------------ -------- --- ---------- -------- --------
> ------- -----
> tExcTask   excTask      80fd5cf0   0 PEND       80166e20 80fd5be8     
>  0     0
> tLogTask   logTask      80fd31c0   0 PEND       80166e20 80fd30b8     
>  0     0
> tShell     shell        80853320   1 READY      80112e30 80852e70     
>  0     0
> tWdbTask   80105ed4     80855540   3 PEND       8008b1c0 80855300     
>  0     0
> tWDtask    WatchdogFeed 80848500  40 DELAY      801122e4 80848490     
>  0    37
> tNetTask   netTask      80f95070  50 READY      8008b1c0 80f94fc0     
>  0     0
> tUPnP      upnp_task_en 80816f90  50 PEND       8008b1c0 80816d40     
>  0     0
> tSMETask   smeTask      80847ac0  80 PEND       80166e20 80847988     
>  0     0
> tNAT       80077920     8081b320 100 PEND+T     8008b1c0 8081b270 
> 3d0004     5
> tWebTask   milli        8082dfd0 150 PEND       8008b1c0 8082dea8     
>  0     0
> tEasyConf  easyconf     8081cc40 150 PEND       8008b1c0 8081c628     
>  0     0
> tLoadDef   LoadDefaultT 8084d540 200 READY      80005f30 8084d4f8     
>  0     0
> hb         heartbeat    80813230 200 READY      8008a508 80813208     
>  0     0
> tBridgeAger801161ec     80833890 250 READY      8008a508 80833868     
>  0     0
> tRcTask    RateCtrlTask 80842a80 255 READY      80111c14 808429d0     
>  0     0
> tApIdle    apIdleTask   8083da40 255 READY      8008a508 8083da18     
>  0     0
> value = 0 = 0x0

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

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

From vxwexplo-errs@csg.lbl.gov  Mon Jul  8 04:03:14 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Mon Jul  8 04:03:16 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Mon Jul  8 04:03:09 PDT 2002

        Subject: Re: Problems with VisionClick
        Subject: Re: HELP!
        Subject: Re: HELP!
        Subject: Untangling Includes
        Subject: Re: HELP!
        Subject: Re: Untangling Includes
        Subject: Re: pepatch cygwin.dll fix
        Subject: why rewrite a old file speed is so slow?
        Subject: help on Rngbuf
        Subject: Re: few doubts on networking and multiple targets in VxSim.
        Subject: Re: LDAP CLIENT
        Subject: Re: Newbie: How to learn VXworks ?
        Subject: debugging vxworks on target shell
        Subject: Re: how to change the baudrate for target mpc860?
        Subject: Re: FTP connect with fopen
        Subject: Re: a new select() problem
        Subject: probelm due to fatal erro from compiler
        Subject: Re: a new select() problem
        Subject: Stethescope signal installation from GUI
        Subject: Re: Any better way to do this?

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

Newsgroups: comp.os.vxworks
Subject: Re: Problems with VisionClick
Date: Sun, 07 Jul 2002 08:58:37 -0400
From: George Varndell <gvarndell@hotmail.com>
Organization: Posted Via Newsfeeds.com = SPEED+RETENTION+COMPLETION = http://www.newsfeeds.com
Message-ID: <3D283AFC.818480B2@hotmail.com>
References: <uznx7zzyz.fsf@icn.siemens.it>

Davide Viti wrote:
> 
> Hi,
> If I load to RAM my VxW BDX file I can run it just once: that means
> that if I set a breakpoint, run the software and at a certain point
> decide to put the PC back to 0x10000 and try to run it the software
> crashes and I have to load the BDX file back to RAM... I find it
> quite annoying!!
> I've developed a small standalone application and with it I don't
> have any problems stopping and restarting so I'm wondering what's
> wrong with it...
> 
> I forgot to mention that my board is equipped with a PowerPC 860

When you force PC back to entry, there is no automatic way to restore
the loaded values of initialized variables. Consider...

int driverInitialized = FALSE;

void initDriver(void)
{
    if(!driverInitialized){
       ....
       driverInitialized = TRUE;
    }
}

A trivial application that does not rely heavily on initialized
variables may work fine when restarted as you describe. Almost
any real application will not.

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: HELP!
Date: 7 Jul 2002 07:54:35 -0700
From: sroy@broadcom.com (santanu roy)
Organization: http://groups.google.com/
Message-ID: <2e1a5529.0207070654.28c6676b@posting.google.com>
References: <2e1a5529.0207061859.450ce81e@posting.google.com> <488e459a.0207062332.3a0493fc@posting.google.com>

Thanks to all for your helpful responses, especially John 'cos for
putting it together in this message board. I am still pondering over
the "PEND+T" in tNAT. How can this task be pending and 5 tick
remaining when it is already in an ERROR state due to a
S_objLib_OBJ_TIMEOUT?  I am also clueless as to how to debug this via
the list of tasks showed above. It says tNAT task generates
this error, but how do I find out where in my image is this tNAT task
located? Also, the ENTRY is a # instead of a NAME. How do I interpret
these TASK information in the shell? What does the PC value indicate
here?
Is it the location that generated the ERROR? What does the task ID
help to debug/troubleshooting?
appreciate your help....

john_94501@yahoo.com (John) wrote in message news:<488e459a.0207062332.3a0493fc@posting.google.com>...
> Hello,
> 
> The manual page entry for taskShow() [the function, not the library]
> should contain an explanation of these columns. To summarise them
> though:
> 
> NAME     - name of the task
> ENTRY    - entry point function
> TID      - task ID
> PRI      - task priority
> STATUS   - current task status
> PC       - current program counter
> SP       - current stack pointer
> ERRNO    - current value of errno
> DELAY    - number of ticks remaining in delay (if
>            task is delayed)
> 
> The status column is the only one that might need additional
> explanation since tasks can be in special states, like PEND+T shown in
> your example. In this case, the task is PENDing on an event with a
> timeout (of which 5 ticks remained at the time i was invoked). The
> VxWorks programmer's guide section on task states should help explain
> these values.
> 
> HTH,
> 
> John...
> 
> sroy@broadcom.com (santanu roy) wrote in message news:<2e1a5529.0207061859.450ce81e@posting.google.com>...
> > How do one find out the explanation for each of these coulmns?
> > 
> > NAME        ENTRY       TID    PRI   STATUS      PC       SP    
> > ERRNO  DELAY
> > ---------- ------------ -------- --- ---------- -------- --------
> > ------- -----
> > tExcTask   excTask      80fd5cf0   0 PEND       80166e20 80fd5be8     
> >  0     0
> > tLogTask   logTask      80fd31c0   0 PEND       80166e20 80fd30b8     
> >  0     0
> > tShell     shell        80853320   1 READY      80112e30 80852e70     
> >  0     0
> > tWdbTask   80105ed4     80855540   3 PEND       8008b1c0 80855300     
> >  0     0
> > tWDtask    WatchdogFeed 80848500  40 DELAY      801122e4 80848490     
> >  0    37
> > tNetTask   netTask      80f95070  50 READY      8008b1c0 80f94fc0     
> >  0     0
> > tUPnP      upnp_task_en 80816f90  50 PEND       8008b1c0 80816d40     
> >  0     0
> > tSMETask   smeTask      80847ac0  80 PEND       80166e20 80847988     
> >  0     0
> > tNAT       80077920     8081b320 100 PEND+T     8008b1c0 8081b270 
> > 3d0004     5
> > tWebTask   milli        8082dfd0 150 PEND       8008b1c0 8082dea8     
> >  0     0
> > tEasyConf  easyconf     8081cc40 150 PEND       8008b1c0 8081c628     
> >  0     0
> > tLoadDef   LoadDefaultT 8084d540 200 READY      80005f30 8084d4f8     
> >  0     0
> > hb         heartbeat    80813230 200 READY      8008a508 80813208     
> >  0     0
> > tBridgeAger801161ec     80833890 250 READY      8008a508 80833868     
> >  0     0
> > tRcTask    RateCtrlTask 80842a80 255 READY      80111c14 808429d0     
> >  0     0
> > tApIdle    apIdleTask   8083da40 255 READY      8008a508 8083da18     
> >  0     0
> > value = 0 = 0x0

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

Newsgroups: comp.os.vxworks
Subject: Re: HELP!
Date: Sun, 07 Jul 2002 16:45:09 GMT
From: "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM>
Organization: Verio
Message-ID: <newscache$994wyg$mad$1@lnews.actcom.co.il>
References: <2e1a5529.0207061859.450ce81e@posting.google.com> <488e459a.0207062332.3a0493fc@posting.google.com> <2e1a5529.0207070654.28c6676b@posting.google.com>

Roy,

A Timeout is not necesarily an error, many times this is "normal"
way that an application behaves. For example, if a task waits for
an asyncronous event (e.g. input packet) and also has tome
cleanup work it does periodically, then it can wait for the event
by "PEND"ing on a Binary semaphore wth a timeout, so that
in N ticks it would wakeup for sure, and if the reason for wakeup
was timeout it would just go about doing its periodic stuff (e.g.
deleting expired NAT mappings).

To debug this code, you need to find the main function that passed
to taskSpawn() when tNAT task is created, and go from there.
The task list does not show this function name (only address)
meaning the function is declared "static" in the source code.
You can also do
    -> tt tNAT
and see the current stack trace, but again only [ublic functions
will appear by name.

You ought to have sources to debug any of this for sure.

- - Leonid

"santanu roy" <sroy@broadcom.com> wrote in message
news:2e1a5529.0207070654.28c6676b@posting.google.com...
> Thanks to all for your helpful responses, especially John 'cos for
> putting it together in this message board. I am still pondering over
> the "PEND+T" in tNAT. How can this task be pending and 5 tick
> remaining when it is already in an ERROR state due to a
> S_objLib_OBJ_TIMEOUT?  I am also clueless as to how to debug this via
> the list of tasks showed above. It says tNAT task generates
> this error, but how do I find out where in my image is this tNAT task
> located? Also, the ENTRY is a # instead of a NAME. How do I interpret
> these TASK information in the shell? What does the PC value indicate
> here?
> Is it the location that generated the ERROR? What does the task ID
> help to debug/troubleshooting?
> appreciate your help....
>
>
>
>
> john_94501@yahoo.com (John) wrote in message
news:<488e459a.0207062332.3a0493fc@posting.google.com>...
> > Hello,
> >
> > The manual page entry for taskShow() [the function, not the library]
> > should contain an explanation of these columns. To summarise them
> > though:
> >
> > NAME     - name of the task
> > ENTRY    - entry point function
> > TID      - task ID
> > PRI      - task priority
> > STATUS   - current task status
> > PC       - current program counter
> > SP       - current stack pointer
> > ERRNO    - current value of errno
> > DELAY    - number of ticks remaining in delay (if
> >            task is delayed)
> >
> > The status column is the only one that might need additional
> > explanation since tasks can be in special states, like PEND+T shown in
> > your example. In this case, the task is PENDing on an event with a
> > timeout (of which 5 ticks remained at the time i was invoked). The
> > VxWorks programmer's guide section on task states should help explain
> > these values.
> >
> > HTH,
> >
> > John...
> >
> > sroy@broadcom.com (santanu roy) wrote in message
news:<2e1a5529.0207061859.450ce81e@posting.google.com>...
> > > How do one find out the explanation for each of these coulmns?
> > >
> > > NAME        ENTRY       TID    PRI   STATUS      PC       SP
> > > ERRNO  DELAY
> > > ---------- ------------ -------- --- ---------- -------- --------
> > > ------- -----
> > > tExcTask   excTask      80fd5cf0   0 PEND       80166e20 80fd5be8
> > >  0     0
> > > tLogTask   logTask      80fd31c0   0 PEND       80166e20 80fd30b8
> > >  0     0
> > > tShell     shell        80853320   1 READY      80112e30 80852e70
> > >  0     0
> > > tWdbTask   80105ed4     80855540   3 PEND       8008b1c0 80855300
> > >  0     0
> > > tWDtask    WatchdogFeed 80848500  40 DELAY      801122e4 80848490
> > >  0    37
> > > tNetTask   netTask      80f95070  50 READY      8008b1c0 80f94fc0
> > >  0     0
> > > tUPnP      upnp_task_en 80816f90  50 PEND       8008b1c0 80816d40
> > >  0     0
> > > tSMETask   smeTask      80847ac0  80 PEND       80166e20 80847988
> > >  0     0
> > > tNAT       80077920     8081b320 100 PEND+T     8008b1c0 8081b270
> > > 3d0004     5
> > > tWebTask   milli        8082dfd0 150 PEND       8008b1c0 8082dea8
> > >  0     0
> > > tEasyConf  easyconf     8081cc40 150 PEND       8008b1c0 8081c628
> > >  0     0
> > > tLoadDef   LoadDefaultT 8084d540 200 READY      80005f30 8084d4f8
> > >  0     0
> > > hb         heartbeat    80813230 200 READY      8008a508 80813208
> > >  0     0
> > > tBridgeAger801161ec     80833890 250 READY      8008a508 80833868
> > >  0     0
> > > tRcTask    RateCtrlTask 80842a80 255 READY      80111c14 808429d0
> > >  0     0
> > > tApIdle    apIdleTask   8083da40 255 READY      8008a508 8083da18
> > >  0     0
> > > value = 0 = 0x0

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

Newsgroups: comp.os.vxworks
Subject: Untangling Includes
Date: Sun, 07 Jul 2002 17:05:14 GMT
From: "Tom Yee" <tomyee3@attbi.com>
Organization: AT&T Broadband
Message-ID: <dx_V8.429488$352.57789@sccrnsc02>

Is anyone aware of a tool which will analyze a large collection of source
files and help to understand header file dependencies? Things which would be
nice to know:
- -Which files are including .h files which are not directly needed by the
file doing the including?
- -If an include file is removed because it is not directly used, how many
transitive usages will fall out?
- -Is a file including something transitively that should be included
directly?
- -Can we draw a graphical representation of the "include tree"?
- -Where do we have circular inclusion relationships?
- -Where are we including a C++ .h file when simply forward declaring the
class would be sufficient?

And anything else that might be handy. Anyone know of anything that fits the
bill?

Thanks,
- -Tom

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

Newsgroups: comp.os.vxworks
Subject: Re: HELP!
Date: 7 Jul 2002 10:20:27 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207070920.e42d5ef@posting.google.com>
References: <2e1a5529.0207061859.450ce81e@posting.google.com> <488e459a.0207062332.3a0493fc@posting.google.com> <2e1a5529.0207070654.28c6676b@posting.google.com>

Hello,

Having a non-zero errno does not mean that the task is in an error
state. errno is used to communicate timeouts to the task, among other
things. A timeout may be something that the task was written to
handle. In general, if a routine you call does not indicate an error,
then the value of errno should not concern you. If the task is not one
of yours, and it is running correctly, then likewise you should not be
concerned with the errno value.

I would suspect that the tNAT task is using the timeout (either on a
semaphore or message queue, or perhaps inside the select routine) so
that it can continue maintain internal data structures even when there
are no packets on the network.

Are you actually seeing a real problem with your system, or were you
just concerned about the non-zero errno value?

HTH,

John...

sroy@broadcom.com (santanu roy) wrote in message news:<2e1a5529.0207070654.28c6676b@posting.google.com>...
> Thanks to all for your helpful responses, especially John 'cos for
> putting it together in this message board. I am still pondering over
> the "PEND+T" in tNAT. How can this task be pending and 5 tick
> remaining when it is already in an ERROR state due to a
> S_objLib_OBJ_TIMEOUT?  I am also clueless as to how to debug this via
> the list of tasks showed above. It says tNAT task generates
> this error, but how do I find out where in my image is this tNAT task
> located? Also, the ENTRY is a # instead of a NAME. How do I interpret
> these TASK information in the shell? What does the PC value indicate
> here?
> Is it the location that generated the ERROR? What does the task ID
> help to debug/troubleshooting?
> appreciate your help....
> 
> 
> 
> 
> john_94501@yahoo.com (John) wrote in message news:<488e459a.0207062332.3a0493fc@posting.google.com>...
> > Hello,
> > 
> > The manual page entry for taskShow() [the function, not the library]
> > should contain an explanation of these columns. To summarise them
> > though:
> > 
> > NAME     - name of the task
> > ENTRY    - entry point function
> > TID      - task ID
> > PRI      - task priority
> > STATUS   - current task status
> > PC       - current program counter
> > SP       - current stack pointer
> > ERRNO    - current value of errno
> > DELAY    - number of ticks remaining in delay (if
> >            task is delayed)
> > 
> > The status column is the only one that might need additional
> > explanation since tasks can be in special states, like PEND+T shown in
> > your example. In this case, the task is PENDing on an event with a
> > timeout (of which 5 ticks remained at the time i was invoked). The
> > VxWorks programmer's guide section on task states should help explain
> > these values.
> > 
> > HTH,
> > 
> > John...
> > 
> > sroy@broadcom.com (santanu roy) wrote in message news:<2e1a5529.0207061859.450ce81e@posting.google.com>...
> > > How do one find out the explanation for each of these coulmns?
> > > 
> > > NAME        ENTRY       TID    PRI   STATUS      PC       SP    
> > > ERRNO  DELAY
> > > ---------- ------------ -------- --- ---------- -------- --------
> > > ------- -----
> > > tExcTask   excTask      80fd5cf0   0 PEND       80166e20 80fd5be8     
> > >  0     0
> > > tLogTask   logTask      80fd31c0   0 PEND       80166e20 80fd30b8     
> > >  0     0
> > > tShell     shell        80853320   1 READY      80112e30 80852e70     
> > >  0     0
> > > tWdbTask   80105ed4     80855540   3 PEND       8008b1c0 80855300     
> > >  0     0
> > > tWDtask    WatchdogFeed 80848500  40 DELAY      801122e4 80848490     
> > >  0    37
> > > tNetTask   netTask      80f95070  50 READY      8008b1c0 80f94fc0     
> > >  0     0
> > > tUPnP      upnp_task_en 80816f90  50 PEND       8008b1c0 80816d40     
> > >  0     0
> > > tSMETask   smeTask      80847ac0  80 PEND       80166e20 80847988     
> > >  0     0
> > > tNAT       80077920     8081b320 100 PEND+T     8008b1c0 8081b270 
> > > 3d0004     5
> > > tWebTask   milli        8082dfd0 150 PEND       8008b1c0 8082dea8     
> > >  0     0
> > > tEasyConf  easyconf     8081cc40 150 PEND       8008b1c0 8081c628     
> > >  0     0
> > > tLoadDef   LoadDefaultT 8084d540 200 READY      80005f30 8084d4f8     
> > >  0     0
> > > hb         heartbeat    80813230 200 READY      8008a508 80813208     
> > >  0     0
> > > tBridgeAger801161ec     80833890 250 READY      8008a508 80833868     
> > >  0     0
> > > tRcTask    RateCtrlTask 80842a80 255 READY      80111c14 808429d0     
> > >  0     0
> > > tApIdle    apIdleTask   8083da40 255 READY      8008a508 8083da18     
> > >  0     0
> > > value = 0 = 0x0

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

Newsgroups: comp.os.vxworks
Subject: Re: Untangling Includes
Date: Sun, 07 Jul 2002 19:19:12 GMT
From: "Kevin Lay" <circlemtn@earthlink.net>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <Qu0W8.5706$A43.570647@newsread2.prod.itd.earthlink.net>
References: <dx_V8.429488$352.57789@sccrnsc02>

I know of no tool that does everything you want, but would give my deft mutt
for one.  However, there are two source code browsers I can recommend
because they parse source (not objects).  Both have graphical include tree
tools but also have heirarchy tools, etc.  Both attempt to be complete IDEs
but of course you need not use them as such.

First is free:  Source Navigator 5.0 by Red Hat.
http://sources.redhat.com/sourcenav/  Note that an updated version 5.0E can
be found on  http://oimanager.de/sn.htm.
Beware that on Windows there are some little bugs - enough to make me crazy,
but for only browsing (and not changing files) it's fine.  I haven't used it
on UNIX.  However when creating its cross reference tables on some huge
projects it craps out.  If that happens you can go to it's grand-daddy:
Sniff+.

Sniff http://www.windriver.com/products/html/sniff.html will draw include
trees and show circlular dependencies and more.
Sniff+ is definitely not free.  It's an addictive tool, but in my opinion
overpriced (2-4K/seat).  But where Source Nav fails it will come through.
It's now a Wind River product.  If anyone knows of anything in between these
two I'd love to know.

Kevin
Circle MountainSW

"Tom Yee" <tomyee3@attbi.com> wrote in message
news:dx_V8.429488$352.57789@sccrnsc02...
> Is anyone aware of a tool which will analyze a large collection of source
> files and help to understand header file dependencies? Things which would
be
> nice to know:
> -Which files are including .h files which are not directly needed by the
> file doing the including?
> -If an include file is removed because it is not directly used, how many
> transitive usages will fall out?
> -Is a file including something transitively that should be included
> directly?
> -Can we draw a graphical representation of the "include tree"?
> -Where do we have circular inclusion relationships?
> -Where are we including a C++ .h file when simply forward declaring the
> class would be sufficient?
>
> And anything else that might be handy. Anyone know of anything that fits
the
> bill?
>
> Thanks,
> -Tom
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: pepatch cygwin.dll fix
Date: Sun, 07 Jul 2002 19:30:14 GMT
From: "Kevin Lay" <circlemtn@earthlink.net>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <aF0W8.5741$A43.572815@newsread2.prod.itd.earthlink.net>
References: <16jV8.1304$Yx5.802@newsread1.prod.itd.earthlink.net>

Bill Woola, Thanks very much for you help!

(BTW your email address failed when I tried to reply direct...)

Kevin

"Kevin Lay" <circlemtn@earthlink.net> wrote in message
news:16jV8.1304$Yx5.802@newsread1.prod.itd.earthlink.net...
> I've been running into a known problem with compilation failures on
Win2000
> ( insufficient stack on WRS Gnu tools) which is allegedly fixed by a new
> cygwin.dll or by a "pepatch".   It's not on Windsurf anywhere I can find.
> Being the holidays I can't get through to an FAE.  Can someone please
email
> me a copy of the dll or pepatch that works for T2.1.0 PPC?  Thanks...
>
> Kevin
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: why rewrite a old file speed is so slow?
Date: 7 Jul 2002 17:49:27 -0700
From: shyang@netease.com (yang)
Organization: http://groups.google.com/
Message-ID: <8446174.0207071649.294b5c64@posting.google.com>

I used dosfs2.0 in tornado ,I find I rewrite a old file speed is twice
than when I create a new file and write it. Why?

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

Newsgroups: comp.os.vxworks
Subject: help on Rngbuf
Date: Mon, 8 Jul 2002 10:39:14 +0800
From: "zhangze" <ze_z@up369.com>
Organization: Bentium Ltd. (CN99)
Message-ID: <agatkm$13vf$1@mail.cn99.com>

Hi
when I debug, can't watch or see any Rngbuf I created. Who can help me?

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

Newsgroups: comp.os.vxworks
Subject: Re: few doubts on networking and multiple targets in VxSim.
Date: 7 Jul 2002 21:10:54 -0700
From: rajaismyname@yahoo.com (Raja Ganesan)
Organization: http://groups.google.com/
Message-ID: <1a047b5a.0207072010.7c44ebf2@posting.google.com>
References: <bb8c75e1.0206092348.35ed7555@posting.google.com>

Hi,

I solved it like this. Since it is a virtual driver it seems you will
have
to type routeAdd("0.0.0.0", "90.0.0.1") from the vxsim1 shell and
routeAdd("0.0.0.0", "90.0.0.2") from vxsim2 shell.

I think you can also map to local host like this routeAdd("127.0.0.1",
"90.0.0.1") for vxsim1 and routeAdd("127.0.0.2", "90.0.0.1") for
vxsim2 and so on.... I haven't tried so for. Perhaps if you succeed
just announce me.

After this try pinging from vxsim1 to vxsim2 and other combinations.

Hope that works fine! :-)

Regards,
Raja Ganesan G
Software Engineer,
Datec Systems (P) Ltd.

vijay.peshkar@wipro.com (Vijay Peshkar) wrote in message news:<bb8c75e1.0206092348.35ed7555@posting.google.com>...
> Hi Friends,
> 
> Am observing some funny stuff while trying networking on VxSim and 
> multiple targets. Have NT machine. ULIP driver is installed with 
> ip 90.0.0.254 and am using WDB-End-Driver connection. Would be great
> if anyone could suggest some pointers..
> 1. On adding routes, the target(90.0.0.1) is able to ping anyone in the 
> PC backbone(192.168.235.X), but is unable to ping itself or another 
> target(90.0.0.2). Also am seeing(ifShow) packet counts increase on both sides.
> 2. Ping TO any machine in 192.168.235.X suceeds. But ping FROM 192.168.235.X
> fails. On doing tracereoute on pc, found that the path is OK till the 
> ULIP driver 90.0.0.254, but then  on it fails to proceed.
> 3.Using UDP socket, am able to send packets TO a unix machine on 192.168.235.X,
> but when the unix machine tried to reply, the sendto fails.
> 
> Thanks and Regards,
> Vijay

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

Newsgroups: comp.os.vxworks
Subject: Re: LDAP CLIENT
Date: 7 Jul 2002 21:36:14 -0700
From: edenkannan@hotmail.com (kannan)
Organization: http://groups.google.com/
Message-ID: <97b1f722.0207072036.4c5ef963@posting.google.com>
References: <97b1f722.0207040712.3ac1dee6@posting.google.com> <slrnaibrff.h70.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>

Hi,

Thanks for your reply.Can you please send me more
details on the LDAP Client for vxWorks.Where can I
see the LDAP Client ported to vxWorks.Can you please 
send me the sites or hints regarding the vxWorks LDAP client 
software.

Thanks,
Kannan

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

Newsgroups: comp.os.vxworks
Subject: Re: Newbie: How to learn VXworks ?
Date: Mon, 08 Jul 2002 05:13:49 GMT
From: "Jamilur Rahman" <rahma2431@rogers.com>
Message-ID: <hc9W8.10887$Xg%.1442@news01.bloor.is.net.cable.rogers.com>
References: <wAtV8.1431$lj4.157786311@newssvr14.news.prodigy.com>

In addition to Michael's recommendation, I strongly recommend to download
the "prototyper" from WRS site to get started with.
Enjoy !
Jamil, Ottawa.

"venu" <venubkv@yahoo.com> wrote in message
news:wAtV8.1431$lj4.157786311@newssvr14.news.prodigy.com...
> Any resources, faqs, tutorials  for learning VxWorks ?
> I have strong unix kernel(bsd, linux), multithreading(solaris, pthreads)
> knowledge. No embedded experience.  I will summarize and repost.
> Venu.
>
>

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

Newsgroups: comp.os.vxworks
Subject: debugging vxworks on target shell
Date: 7 Jul 2002 23:39:35 -0700
From: vxnerd@rediffmail.com (subbarayan)
Organization: http://groups.google.com/
Message-ID: <f81c4277.0207072239.394397f7@posting.google.com>

dear mentors,
Can any one tell me how to get the status i mean states of tasks which
is running on the target with vxworks?I have a stand alone target with
standard pc architecture and 386 processor.I made a sample program
like this:#include "vxWorks.h"
#include <stdio.h>
void taskone(void);
void tasktwo(void);
void taskthree(void);
void taskroot()
{ int taskid;
taskid=taskSpawn("task1",30,0x100,2000,taskone,0,0,0,0,0,0,0,0,0,0);
taskid=taskSpawn("task2",25,0x100,2000,tasktwo,0,0,0,0,0,0,0,0,0,0);
taskid=taskSpawn("task3",40,0x100,2000,taskthree,0,0,0,0,0,0,0,0,0,0);
}
void taskone(void)
{
printf("hai i am taskone and my id is %d\n",taskIdSelf());
}
void tasktwo(void)
{
printf("hai i am tasktwo and my id is %d\n",taskIdSelf());
}
void taskthree(void)
{
printf("hai i am taskthree and my id is %d\n",taskIdSelf());
}
After compiling my program i booted the target.My application ran and
printed,
i am tasktwo then i am taskone then i am taskthree and printed their
respective taskids.
now when i use the i command or ti command on the shell i am unable to
find any one of the above said tasks in the list.
when i give ti taskone its saying taskone not found,but after that
prints like this:
value=0x10
like this.
Note that i don't have any link between my host and target and i
booted my target using a floppy.I use tornado1.0.
In the customise project menu,i gave the command like this:
CPU=I80386 ADDED_CFLAGS=-g example1.o,to build and compile my code.
where example1 is my program which contains the above said code.
Should i include any more flags there?where is the error in
configuring which prevents me from accessing the task status?
If any error i will be happy if anyone could point out where the error
is and what should be done to rectify it?
I am new to vxworks and depending fully on u mentors for my
future.Thanks in advance to the person who replies me.
Anyone with a soln can mail me to vxnerd@rediffmail.com or reply me in
the board itself.

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

Newsgroups: comp.os.vxworks
Subject: Re: how to change the baudrate for target mpc860?
Date: Mon, 8 Jul 2002 09:15:43 +0200
From: "Michael Lawnick" <lawnick@bndlg.de>
Organization: Buergernetz Dillingen
Message-ID: <agbe6p$ep3$1@snoopy.bndlg.de>
References: <qQkV8.7619$aJ4.1861702@news20.bellglobal.com>
Sender: mlawnick@pd9e6514b.dip.t-dialin.net

Target-arch, vxWorks/Tornado version ?

When you car has a problem, do you call a mechanics, tell him the problem,
but do not tell him the modell you are driving ?

Michael

"James" <jameshu@sympatico.ca> schrieb im Newsbeitrag
news:qQkV8.7619$aJ4.1861702@news20.bellglobal.com...
> Hi,
>
> I wonder if there is any easy way to do that, perhaps only way is to burn
> some code in Flash ROM for the target?
>
> Thanks a lot,
>
> James
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: FTP connect with fopen
Date: Mon, 8 Jul 2002 09:26:13 +0200
From: "Andreas Bachmeier" <Bachmeier.Andreas@foerstergroup.de>
Organization: Deutsche Telekom AG
Message-ID: <agbeli$hn1$1@news2.dtag.de>
References: <ag1lr3$994$1@news2.dtag.de> <488e459a.0207052147.4f3e46c6@posting.google.com>

Hi, John

> Check out the manual pages for remLib and in particular remCurIdSet().
> This will allow you to change the user name and password for FTP or
> RSH access.

Thanks a lot. This is what I'm looking for.

> Be careful though, there is only one username and password for the
> target system; if more than one task is changing these values, you
> will get into trouble.

That's not a problem. I need only one login to tranfer simulation
scripts for tests.

Now it works great with fopen.

Thanks to all for the answer.

Andreas

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

Newsgroups: comp.os.vxworks
Subject: Re: a new select() problem
Date: Mon, 8 Jul 2002 08:46:40 +0100
From: "Martin Dowie" <martin.dowie@nospam.baesystems.com>
Message-ID: <3d29433c$1@pull.gecm.com>
References: <78a5d372.0207040341.3289c0c1@posting.google.com> <2025ac82.0207050211.64114f94@posting.google.com> <3D258077.6050805@spamm.me.l8s.co.uk>

"David Laight" <david@spamm.me.l8s.co.uk> wrote in message
news:3D258077.6050805@spamm.me.l8s.co.uk...
[snip]
> vxworks (badly) miscalculates the timeout if you specify tv_usec
> and the system clock rate is more than (about) 2kHz.

Is this just another of the 'features' that appear when the system
clock is > 2,147Hz? My understanding is that the sys clock is pretty
much 'broken' at this or higher frequencies on just about all vxWorks
targets.

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

Newsgroups: comp.os.vxworks,comp.os.qnx
Subject: probelm due to fatal erro from compiler
Date: Mon, 8 Jul 2002 09:34:37 +0000 (UTC)
From: "Ganesh Anand" <ganeshtp@myw.ltindia.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <752ff0a262d931ab5583878f7714e363.98538@mygate.mailgate.org>

hi guys,

        i had been struggling in a peculier probelm. the probelm is that
if i include usrLib.h in my application files the compiler gives me an
error telling that

         previously i had been declared in usrLib.o
         multiple definition of i.on clicking this it goes to places
whereever i had declared i as a variable.

        i cudn't rebuild my workspace if i include usrLib.h in my
applicationstart.

       i am bothered by the same probelm if i include NFS server in my
workspace which is provided by tornado.

       if somebody could thro a hint on this probelm it  would be more
useful for me.

 thank you.

 ganesh anand

    

- -- 
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: Re: a new select() problem
Date: Mon, 8 Jul 2002 09:36:05 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3D295D74.4010403@spamm.me.l8s.co.uk>
References: <78a5d372.0207040341.3289c0c1@posting.google.com> <2025ac82.0207050211.64114f94@posting.google.com> <3D258077.6050805@spamm.me.l8s.co.uk> <3d29433c$1@pull.gecm.com>

Martin Dowie wrote:
> "David Laight" <david@spamm.me.l8s.co.uk> wrote in message
> news:3D258077.6050805@spamm.me.l8s.co.uk...
> [snip]
> 
>>vxworks (badly) miscalculates the timeout if you specify tv_usec
>>and the system clock rate is more than (about) 2kHz.
> 
> 
> Is this just another of the 'features' that appear when the system
> clock is > 2,147Hz? My understanding is that the sys clock is pretty
> much 'broken' at this or higher frequencies on just about all vxWorks
> targets.
> 
Yes - code converts ms to ticks by doing 'ms * sysClkRateGet() / 1000'
all with signed integers. The multiply overflows generating a -ve
number, the divide propogates the sign bit generating a very large
tick count.  So the process will sleep for a very long time.
Additionally the kernel tick count would have to wrap to implement
the timeout requests, so the tick count is reset to zero - wrecking
the RTC code.

(I didn't spot any other problems with clock > 2147Hz in my image.)

OTOH I had to re-implemnt the clock interrupt code in order to stop
the RTC drifting madly.

	David

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

Newsgroups: comp.os.vxworks
Subject: Stethescope signal installation from GUI
Date: 8 Jul 2002 02:44:57 -0700
From: be_gyus@yahoo.com (james)
Organization: http://groups.google.com/
Message-ID: <ff42611f.0207080144.10ad252d@posting.google.com>

Dear VxWorkers,

 I am working on stethescope 5.3b( rti tool) Where i need to install
my signal from the GUI using the signal manager.... Whenever i give my
variable expression , var Type for an existing signal... i get a
status message saying

 "Either <sig> not found or failed to install signal <sig>. Try using
"Find"."

however i am able to install the same signals from the shell by using
sis API ....
Has anyone worked on this ... Are there some other steps to be
followed to install my signal from GUI...... Any help would be
appreciated...

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

Newsgroups: comp.os.vxworks
Subject: Re: Any better way to do this?
Date: Mon, 8 Jul 2002 09:50:07 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns924577F40798Aborkhuisagerecom@192.19.193.66>
References: <bR0V8.21728$2w.433254@news20.bellglobal.com>

"James" <jameshu@sympatico.ca> wrote:

> There are 3 tasks, each task repeats at different time period. I can
> implement as follows:
> But I think this is not the best way to do that, and I do not like the
> for(;;)/FOREVER/while either.
> Any better way to do this?

The only improvement I could suggest is to add a taskDelay(10) between the 
taskSpawn's. This will avoid that all 3 tasks try to start at the same 
time.
But otherwise there is nothing wrong with this setup, I would use the same 
kind of setup in this situation.

Groeten,
        Johan

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

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

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

From vxwexplo-errs@csg.lbl.gov  Tue Jul  9 04:03:11 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Tue Jul  9 04:03:14 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Tue Jul  9 04:03:08 PDT 2002

        Subject: Re: a new select() problem
        Subject: Re: How to change the outlook asynchronously according the network packets
        Subject: Re: Printing from an exception in an interrupt handler
        Subject: Re: probelm due to fatal erro from compiler
        Subject: Loosing interrupts in MPC 750 doze mode
        Subject: Re: a new select() problem
        Subject: counting # of interrupts
        Subject: Re: counting # of interrupts
        Subject: Re: probelm due to fatal erro from compiler
        Subject: Detect when in debugging mode
        Subject: Re: Detect when in debugging mode
        Subject: Re: Newbie: How to learn VXworks ?
        Subject: Re: Untangling Includes
        Subject: Re: INT0 problems with PentiumIII/BX440 brd
        Subject: Re: dosFS2 and Tornado 2.0.2 Patch
        Subject: Re: INT0 problems with PentiumIII/BX440 brd
        Subject: Discovering non-blocking setting on a socket
        Subject: a strange behaviour of Zinc's Setvisible()

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

Newsgroups: comp.os.vxworks
Subject: Re: a new select() problem
Date: Mon, 8 Jul 2002 13:16:17 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3D29910F.10001@spamm.me.l8s.co.uk>
References: <78a5d372.0207040341.3289c0c1@posting.google.com> <2025ac82.0207050211.64114f94@posting.google.com> <3D258077.6050805@spamm.me.l8s.co.uk>

>> For my part I have never been able to find any bug in "select()" in
>> several systems.

netbsd:
	2 process sleep in select/poll on the same file
	one times out
	another process sleeps in select on that file.
	the wakeup event happens
	only the newcomer is woken up.

     David

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

Newsgroups: comp.os.vxworks
Subject: Re: How to change the outlook asynchronously according the network packets
Date: 08 Jul 2002 09:19:46 -0400
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Factory of the mind
Message-ID: <u7kk6l5l9.fsf@sympatico.ca>
References: <d236d809.0207051746.5659718a@posting.google.com> <d236d809.0207061942.485b1394@posting.google.com>
Sender: bpringlemeir@DeadDuck

>>>>> "JC" == JinxiangChen  <jx_ch@yahoo.com> writes:

 >> I have a main task, a Zinc program interacting with the user, and
 >> a background task listening on the sockets. Now the main task
 >> needs to change its appearance when some packet is coming. Here is
 >> an asynchronous mechanism. But the listening task can't simply
 >> send a REDISPLAY message to the main task. I want something like
 >> the Invalidating area in Windows, who knows the corresponding
 >> action in VxWorks? Thanks.

 JC> Pehaps I should restate my problem further: It lies in Zinc,not
 JC> Vxworks. My main task has been trapped in the event control of
 JC> Zinc,it&#8217;ll be colllapsed when it is dirrectly informed by
 JC> another task. Without the Zinc,the asynchrounous action
 JC> won&#8217;t be a problem. But my application has been written in
 JC> Zinc,I can&#8217;t switch to UGL just because of this
 JC> inconvenience.  So the point here is some solution in Zinc: how
 JC> can the main task refresh its invalid area when something has
 JC> happened?  BTW,I&#8217;m new in Zinc programming, I appreciate
 JC> any advice on the related topics.

Please read the documentation in the Zinc users guide under chapter 8.
Specifically, section 8.3.3 entitled "Multitasking Applications".  The
Zinc users guide is usually installed in "Tornado/pdf/zinc/guide.pdf".

Your first explanation was sufficient to explain the problem, but
additional clarification never hurts, and sometimes helps.

hth,
Bill Pringlemeir.

- -- 
I'm not just a gardener, I'm a plant manager.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Re: Printing from an exception in an interrupt handler
Date: 8 Jul 2002 06:50:08 -0700
From: robf@rochester.rr.com (Rob F)
Organization: http://groups.google.com/
Message-ID: <92d559ef.0207080550.3d07b472@posting.google.com>
References: <92d559ef.0207011226.d2eaad6@posting.google.com> <488e459a.0207052135.4447c8cf@posting.google.com>

john_94501@yahoo.com (John) wrote in message news:<488e459a.0207052135.4447c8cf@posting.google.com>...
> Hello,
> 
> An exception in an interrupt handler is considered to be a panic for
> the VxWorks kernel, and unrecoverable. So, unless you are planning to
> try to recover from the exception (a potentially complex operation
> depending on what the cause was, and where in the ISR the exception
> occurred), there is no way to print a  message out - the handler will
> never return back to the ISR, letalone to task level.
> 
> Instead, assuming that you are using a bootrom, you could do what the
> default exception handler does in this case: sprintf() your message
> into memory pointed to by sysExcMsg, and then advance the pointer. The
> following gives you an example:
> 
>     sysExcMsg += sprintf (sysExcMsg, "Test message\n");
> 
> The bootrom will then display this text on the next reboot (which will
> happen shortly after the default handler realises that it is an
> exception in an ISR).
> 
> HTH,
> 
> John...
> 
> robf@rochester.rr.com (Rob F) wrote in message news:<92d559ef.0207011226.d2eaad6@posting.google.com>...
> > Using Tornado 2 on a PPC 603. Started using excHookAdd to attach a
> > routine (which displays some debug info) to vxWorks exception handling
> > framework.  When I crash in a thread I can print out the additional
> > debug information fine from this hook. When I crash in an interrupt,
> > the system just reboots, my hook is not called and a small
> > informational message is printed (MSR, etc).
> > 
> > I'm attempting to use the excConnect() function call to override
> > WindRiver's exception handler (Data Storage and Machine check). When I
> > crash in a thread, everything prints out OK. When I crash in an
> > interrupt:
> > 
> > 1.) Printf hangs: I know you can't use printf in an interrupt so I
> > went to option 2.
> > 
> > 2.) Spawn a thread which prints: Doesn't work, can't spawn a thread in
> > an interrupt. Off to option 3.
> > 
> > 3.) Release a semaphore to a high priority thread which prints:
> > Doesn't work either. The thread which prints starts to run. The
> > exception completes. When the exception completes another exception
> > occurs at the first instruction back from the excConnect routine (at
> > address 0x318 in the kernel). Round and round we go.
> > 
> > Has anyone solved this problem? There is some pretty important info
> > I'd like to display for all exceptions (whether they occur in
> > interrupts or not)
> > 
> > Thanks, 
> > Rob

John, 

Thanks for the tip! Haven't seen that in any Tornado workshop book or
VxWorks reference manual. I'm going to give that a try this morning
and I'll post back if it works.

Rob

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

Newsgroups: comp.os.vxworks,comp.os.qnx
Subject: Re: probelm due to fatal erro from compiler
Date: Mon, 8 Jul 2002 07:23:11 -0400
From: "Mario Charest" <postmaster@127.0.0.1>
Message-ID: <mjhW8.25799$Qt6.895780@wagner.videotron.net>
References: <752ff0a262d931ab5583878f7714e363.98538@mygate.mailgate.org>

"Ganesh Anand" <ganeshtp@myw.ltindia.com> wrote in message
news:752ff0a262d931ab5583878f7714e363.98538@mygate.mailgate.org...
> hi guys,
>
>         i had been struggling in a peculier probelm. the probelm is that
> if i include usrLib.h in my application files the compiler gives me an
> error telling that
>
>          previously i had been declared in usrLib.o
>          multiple definition of i.on clicking this it goes to places
> whereever i had declared i as a variable.
>
>         i cudn't rebuild my workspace if i include usrLib.h in my
> applicationstart.
>
>        i am bothered by the same probelm if i include NFS server in my
> workspace which is provided by tornado.

Tornado?  Are you sure you are in the proper newsgroup?

>
>        if somebody could thro a hint on this probelm it  would be more
> useful for me.
>
>
>  thank you.
>
>  ganesh anand
>
>
>
>
> --
> Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: Loosing interrupts in MPC 750 doze mode
Date: Mon, 8 Jul 2002 17:37:30 +0200
From: "Rene Straub" <_remove_rene.straub@yetnet.ch>
Organization: Swisscom IP+ (post doesn't reflect views of Swisscom)
Message-ID: <agcbji$lrc$1@rex.ip-plus.net>

Hey folks,

I am still playing around with the MPC 750 doze
mode. Unfortunately I ran into a problem. My
hardware seems to loose interrupts from the
Ethernet controller. I could observe this behaviour
with different tests, but have not found a solution
yet.

Has anyone successfully used the doze mode
in conjunction with VxWorks in a project. It would
be very helpful to know of a working solution.

My system is basically built around a MPC750,
106 bridge and an AMD 97C79 Ethernet controller.

Yours
- - Rene

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

Newsgroups: comp.os.vxworks
Subject: Re: a new select() problem
Date: Mon, 8 Jul 2002 13:51:34 -0400
From: Keith Arner <karner@pit.comms.marconi.com>
Organization: Marconi
Message-ID: <Pine.GSO.4.42.0207081340280.29133-100000@zimbra>
References: <78a5d372.0207040341.3289c0c1@posting.google.com>
Reply-To: Keith Arner <keith.arner@marconi.com>

On 4 Jul 2002, Rainer Stelzer wrote:

> we face a problem with the select() library.
> We use select to wait for a pipe and one to nine device file descriptors.
> Case we use one device and one pipe everything works perfect.
> But if we want to wait for one pipe and two devices(or more) select never returns.

What I/O driver is sitting behind your "one to nine device file
descriptors"?  Is it something developed by WindRiver, or a homebrew
device driver?  When you call select(), it just makes a bunch of ioctl()'s
to device drivers; if the device drivers are broken, then it will appear
that select() is broken.

> In the newsgroup I found some hints that make me believe that select()
> isn't that reliable I would expect it to be.

The recent debate over select() has mainly been over its performance,
rather that the correctness of its implementation.

The basic checklist that I go through when people claim they have found a
bug in select() is:

 - Are you re-assigning the fd_set every time through the loop?  (You seem
   to be doing this right.)
 - Are you passing in (max_fd+1), rather than just (max_fd)?  (Since I
   cannot see where you assign fd_select_width, I'm not certain if you've
   got this right.)
 - Are the drivers that you are select()'ing on implementing the ioctl()'s
   correctly?  (Once again, I cannot tell from the information you've
   provided.)

Keith

- -- 
mv ~karner /loony/bin

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

Newsgroups: comp.os.vxworks
Subject: counting # of interrupts
Date: 8 Jul 2002 19:08:24 GMT
From: Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com>
Message-ID: <slrnaijop8.lbs.denis_newsREMOVE-TO-REPLY@concorde.cs.ucla.edu>

Hello,

are there available counters for number of interrupts on a
particular IRQ that's available somewhere, or is it my job
to increment numbers in individual interrupt handlers?

thanks,

denis

- -- 
if you want to reply by mail, please tweak my
address in a reasonable way. sorry for the 
inconvenience.

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

Newsgroups: comp.os.vxworks
Subject: Re: counting # of interrupts
Date: Mon, 08 Jul 2002 19:30:27 GMT
From: "H. E. Taylor" <het@despam.autobahn.mb.ca>
Organization: MTS Internet
Message-ID: <3D2A02D4.7013@despam.autobahn.mb.ca>
References: <slrnaijop8.lbs.denis_newsREMOVE-TO-REPLY@concorde.cs.ucla.edu>

In article <slrnaijop8.lbs.denis_newsREMOVE-TO-REPLY@concorde.cs.ucla.edu>,
<denis_newsREMOVE-TO-REPLY@hotmail.com> Denis Perelyubskiy wrote:
> 
> are there available counters for number of interrupts on a
> particular IRQ that's available somewhere, or is it my job
> to increment numbers in individual interrupt handlers?
>

	I think not in 5.3.1.  Don't know about 5.4 or AES, but
	I rather doubt it.  
	Why do you care?  Are you trying to estimate overheads?
<curious>
- -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,comp.os.qnx
Subject: Re: probelm due to fatal erro from compiler
Date: Mon, 08 Jul 2002 11:56:57 -0700
From: Joe Durusau <joseph.a.durusau@lmco.com>
Organization: Lockheed Martin Corporation
Message-ID: <3D29E079.31D7015@lmco.com>
References: <752ff0a262d931ab5583878f7714e363.98538@mygate.mailgate.org> <mjhW8.25799$Qt6.895780@wagner.videotron.net>

Mario Charest wrote:
> 
> "Ganesh Anand" <ganeshtp@myw.ltindia.com> wrote in message
> news:752ff0a262d931ab5583878f7714e363.98538@mygate.mailgate.org...
> > hi guys,
> >
> >         i had been struggling in a peculier probelm. the probelm is that
> > if i include usrLib.h in my application files the compiler gives me an
> > error telling that
> >
> >          previously i had been declared in usrLib.o
> >          multiple definition of i.on clicking this it goes to places
> > whereever i had declared i as a variable.
> >
> >         i cudn't rebuild my workspace if i include usrLib.h in my
> > applicationstart.
> >
> >        i am bothered by the same probelm if i include NFS server in my
> > workspace which is provided by tornado.
> 
> Tornado?  Are you sure you are in the proper newsgroup?
> 
> >
> >        if somebody could thro a hint on this probelm it  would be more
> > useful for me.
> >
> >
> >  thank you.
> >
> >  ganesh anand
> >
> >
> >
> >
> > --
> > Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

To the O.P: You can't use i as a _global_ variable because it's the name
of
a function declared in usrLib.h.  You should be able to use i as a
_local_ 
variable wherever you wish.

Speaking only for myself,

Joe Durusau

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

Newsgroups: comp.os.vxworks
Subject: Detect when in debugging mode
Date: Mon, 8 Jul 2002 20:59:54 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns9245E9815F65Aborkhuisagerecom@192.19.193.66>

Hello,

I have the following problem. On our board we have a HW watchdog connected 
to the reset. This watchdog is reset by a task after it receives triggers 
from all tasks.

However, when I start debugging a task the task is stopped, and thew result 
is that one second later the board is reset. Also when the task runs into a 
breakpoint the same happens.

My question is: is there a way to detect that a task is being debugged (= 
connected to the debugger).
Or is it possible that there is a live WDB connection? When this link is 
active I could disable the part that checks the health of the tasks.

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: Detect when in debugging mode
Date: 08 Jul 2002 17:24:54 -0400
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Factory of the mind
Message-ID: <uofdhap5l.fsf@sympatico.ca>
References: <Xns9245E9815F65Aborkhuisagerecom@192.19.193.66>
Sender: bpringlemeir@DeadDuck

>>>>> "JB" == Johan Borkhuis <borkhuis@agere.com> writes:

 JB> Hello, I have the following problem. On our board we have a HW
 JB> watchdog connected to the reset. This watchdog is reset by a task
 JB> after it receives triggers from all tasks.

 JB> However, when I start debugging a task the task is stopped, and
 JB> thew result is that one second later the board is reset. Also
 JB> when the task runs into a breakpoint the same happens.

 JB> My question is: is there a way to detect that a task is being
 JB> debugged (= connected to the debugger).  Or is it possible that
 JB> there is a live WDB connection? When this link is active I could
 JB> disable the part that checks the health of the tasks.

Look in $(WIND_BASE)/target/src/config/usrWdb.c.  I think that the
routines there can be hooked.  You will also need to modify usrExtra.c
if you use an updated version of this file (but you knew that).  There
is also the WDB drivers, but I think that the routines,

 void wdbExternEnterHook (void);
 void wdbExternExitHook (void);
 
look promising.  The "Tornado API guide" has some useful stuff that is
always good to look at _AGAIN_ when you are doing this type of stuff
[if you have the time...].

hth,
Bill Pringlemeir.

- -- 
RSA Geraldton ASLET Ortega CESID spy BLU-97 A/B president NSA Compsec
ANC Serbian threat M-14 industrial espionage
 
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Re: Newbie: How to learn VXworks ?
Date: Mon, 08 Jul 2002 14:53:56 -0700
From: M Lang <Minh.Lang@jpl.nasa.gov>
Organization: Jet Propulsion Laboratory - Pasadena CA
Message-ID: <3D2A09F4.77C6A3D2@jpl.nasa.gov>
References: <wAtV8.1431$lj4.157786311@newssvr14.news.prodigy.com> <3D271381.39C4AC09@gv.net>
Reply-To: Minh.Lang@jpl.nasa.gov

I always wonder why there is no 3rd party books
on programming vxWorks? There are books on
every other subjects but none for vxWorks.
Did Wind River have anything to do with the
absence of 3rd party materials?

 -ML-
I speak for myself...

"Michael R. Kesti" wrote:
> 
> venu wrote:
> 
> >Any resources, faqs, tutorials  for learning VxWorks ?
> >I have strong unix kernel(bsd, linux), multithreading(solaris, pthreads)
> >knowledge. No embedded experience.  I will summarize and repost.
> >Venu.
> 
> I know of no third party books on the topic, leaving Wind River's manuals
> the sole source of printed material.  The problem is that most people have
> no access to these manuals until they make the leap to purchase WR products.
> 
> I do know of a couple of useful web sites, though:
> 
> http://www.rt.db.erau.edu/experiments/vx/toc/TableOfContents.html
> 
> http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html
> 
> Good luck!
> 
> --
> ========================================================================
>           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: Re: Untangling Includes
Date: Tue, 09 Jul 2002 04:06:47 GMT
From: bill@thuvia.qswtools.com
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <rjtW8.9056$A43.903585@newsread2.prod.itd.earthlink.net>
References: <dx_V8.429488$352.57789@sccrnsc02>
    <Qu0W8.5706$A43.570647@newsread2.prod.itd.earthlink.net>
Sender: bill@woola.qswtools.com

In article <Qu0W8.5706$A43.570647@newsread2.prod.itd.earthlink.net>,
	"Kevin Lay" <circlemtn@earthlink.net> writes:
> I know of no tool that does everything you want, but would give my deft mutt
> for one.  However, there are two source code browsers I can recommend
> because they parse source (not objects).  Both have graphical include tree
> tools but also have heirarchy tools, etc.  Both attempt to be complete IDEs
> but of course you need not use them as such.

If you look into the GCC manual, or in the on-line docs fromthe FSF,
you'll find out about the -M options.  They build Makefile-format
dependency lines, which, in effect show what's included for each
C or C++ source file.  I've never fed a circular dependency to
GCC.

A Makefile format line would look like:

	foo.o: foo.c filea.h fileb.h filec.h

which says that foo.c directly or indirectly includes those
specific header files.
> 
> First is free:  Source Navigator 5.0 by Red Hat.
> http://sources.redhat.com/sourcenav/  Note that an updated version 5.0E can
> be found on  http://oimanager.de/sn.htm.
> Beware that on Windows there are some little bugs - enough to make me crazy,
> but for only browsing (and not changing files) it's fine.  I haven't used it
> on UNIX.  However when creating its cross reference tables on some huge
> projects it craps out.  If that happens you can go to it's grand-daddy:
> Sniff+.
> 
> Sniff http://www.windriver.com/products/html/sniff.html will draw include
> trees and show circlular dependencies and more.
> Sniff+ is definitely not free.  It's an addictive tool, but in my opinion
> overpriced (2-4K/seat).  But where Source Nav fails it will come through.
> It's now a Wind River product.  If anyone knows of anything in between these
> two I'd love to know.
> 
> Kevin
> Circle MountainSW
> 
> "Tom Yee" <tomyee3@attbi.com> wrote in message
> news:dx_V8.429488$352.57789@sccrnsc02...
>> Is anyone aware of a tool which will analyze a large collection of source
>> files and help to understand header file dependencies? Things which would
> be
>> nice to know:
>> -Which files are including .h files which are not directly needed by the
>> file doing the including?
>> -If an include file is removed because it is not directly used, how many
>> transitive usages will fall out?
>> -Is a file including something transitively that should be included
>> directly?
>> -Can we draw a graphical representation of the "include tree"?
>> -Where do we have circular inclusion relationships?
>> -Where are we including a C++ .h file when simply forward declaring the
>> class would be sufficient?
>>
>> And anything else that might be handy. Anyone know of anything that fits
> the
>> bill?
>>
>> Thanks,
>> -Tom
>>
>>
>>
> 
> 

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

Newsgroups: comp.os.vxworks
Subject: Re: INT0 problems with PentiumIII/BX440 brd
Date: Tue, 09 Jul 2002 04:20:37 GMT
From: info access <iau@riname.com>
Organization: info access
Message-ID: <3D2A62D1.70DC3451@riname.com>
References: <3D1C4956.92AB8DE1@rochester.rr.com> <afhpr2$653$1@snoopy.bndlg.de> <3D1D4966.D2B7610A@rochester.rr.com> <afoukg$fnd$1@snoopy.bndlg.de>

Deear Michael Lawnick,

The APIC timer was not included in the PentiumPro BSP.
The way that it gets included is to define one of two preprocessor
variables, and I chose the SYMETRIC_IO (or something close
to it). However, the PentiumPro BSP was missing two UGL
related files which were present in the pc486 and pcPentium
BSPs, namely configUgl.h and 00Ugl.cdf.
Well,  I copied the two files from the pcPentium
BSP, but creating the bootrom.sys this way  seemed to cause
a crash as it boots up ...

So including the APIC timer is a bit more involved then it seemed
at first. Any suggestions would be appreciated.

- -- alex k

PS:  I need to have the UGL because I use Zinc as the GUI

Michael Lawnick wrote:

> Dear al kavcak,
> I expect the problem to _disappear_ on BSP PentiumPro, when including APIC.
> The problem I found is lost information on logging in any i86 BSP when using
> i8253Timer as timestamp driver. This driver produces time-information that
> leads to wrong reconstruction of target's behaviour when diplaying
> WindView-log in GUI.
> To get more exact:
> There are two timer IC running in parallel. The first one generates the
> timer interrupt. The second one is used as timestamp driver. Their frequence
> is identical, but they run with different starting-offsets (that's the
> beginning of the problem).
> When a timer interrupt occurs, the intEntry-event must be corrected by one
> tick, which will occure within the next instructions (tickAnnounce). In GUI
> this correction is always done, when a timestamp rollover is detected. This
> is correct in most situations, but not if following scenario occurs:
> tickAnnounce
> intExit (t = t0)
> ..any task running, no event occurs)
> intEntry (t> t0 + systemTick)
> Now GUI can't detect the rollover. This might happen if the prior interrupt
> was executed very fast and the second one is delayed (perhaps cache-miss,
> RAM-refresh, ...).
> HTH
> Michael
>
> "info access" <iau@rochester.rr.com> schrieb im Newsbeitrag
> news:3D1D4966.D2B7610A@rochester.rr.com...
> > Dear Michael Lawnick,
> >
> > Thanks first for your time and effort to help.
> >
> > About your first question I am not exactly sure what you mean, but the
> > way it manifests itself is that while tasks are running, the INT0
> interrupt
> > every second or third tick takes 1 tick length time. And randomly it can
> > take as much as two ticks as well, and it doesn't get interrupted at the
> > mid point, as if it lost a tick count ??? Weird.
> >
> > I am pretty sure since I read about it in the manual since, that the
> > INCLUDE_APIC_TIMER is true or defined.
> >
> > On Monday I double check this and will also look into the
> > intEntry event. Do you think that this problem is specific to the
> > chipset (440BX)?
> > If I understand you correctly, the problem might go away if I don't
> > include the timestamp timer?
> >
> > I haven't seen this anomaly with the Pentium BSP, or
> > the 486 BSP for that matter.
> >
> > Regards
> >
> > -- al k
> >
> >
> > Michael Lawnick wrote:
> >
> > > Hi al kavcak,
> > >
> > > don't trust WindView when its logging timer interrupts with 1 system
> tick
> > > length:
> > > I'm pretty sure, you see a single spike to INT0 just some usec before
> isn't
> > > it ?
> > > Then you see the TSR matter I'm just struggling around with WRS. Its a
> > > problem of WindView logging in connection with timestamp driver. It
> results
> > > in displaying the intEntry event one tick earlier than it really occurs,
> > > what leads to the '1 system tick interrupt'.
> > >
> > > Please check that you PentiumPro BSP uses the correct timer lib, i.e.
> > > PentiumPro has a built-in counter that is used as timestamp driver if
> all is
> > > defined properly (INCLUDE_APIC_TIMER).
> > >
> > > HTH
> > > Michael
> > >
> > > "info access" <iau@rochester.rr.com> schrieb im Newsbeitrag
> > > news:3D1C4956.92AB8DE1@rochester.rr.com...
> > > > To all the experts,
> > > >
> > > > I am facing strange problem, and wonder whether anybody faced this
> > > > before.
> > > >
> > > > I am trying to upgrade from a Pentium-based board to a
> PentiumIII-based
> > > > board.
> > > > Using the pcPentiumPro BSP with Tornado 2.0 I built the bootrom_uncmp
> > > > and
> > > > vxworks for the target and when running the application I noticed a
> > > > strange problem
> > > > in WindView:  The INT0 interrupt (timer/tick interrupt)  takes the
> whole
> > > > tick time,
> > > > i.e. 16.7ms. So one of the task that I run is ~150ms, and its
> > > > interrupted about
> > > > 4 to 6 times with 16.7ms of INT0 time. Regularly INT0 takes a couple
> of
> > > > micro-
> > > > seconds.
> > > >
> > > > Also have to mention that the boot-up time is unusually slow; probably
> > > > something is not initialized properly.
> > > >
> > > > Any ideas what might be wrong?
> > > >
> > > > Thanks
> > > >
> > > > -- al kavcak
> > > >
> > > >
> >

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

Newsgroups: comp.os.vxworks
Subject: Re: dosFS2 and Tornado 2.0.2 Patch
Date: Tue, 09 Jul 2002 05:30:38 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <2yuW8.286626$R61.171062@rwcrnsc52.ops.asp.att.net>
References: <hckW8.28760$Xs6.1252605@news2.calgary.shaw.ca> <newscache$a25yyg$gn1$1@lnews.actcom.co.il> <nimW8.29409$Xs6.1315665@news2.calgary.shaw.ca>

Hello Greg,

   Under Tech Tips, you can find the following link:

http://web1.windriver.com/cgi-bin/windsurf/techtips/public/viewSum.cgi?id=65
9

I have cut and pasted the script, HTH. (UNIX and Windows)

- --- BEGIN BATCH FILE (WINDOWS) ---

@echo off

REM Post dosFs 2.0 update script for Tornado 2.0.2
REM
REM Example Usage:
REM     torVars.bat
REM     dosfs2 ppc PPC604

if "%WIND_BASE%" == "" goto NEEDTORVARS
if "%WIND_HOST_TYPE%" == "" goto NEEDTORVARS

set _ARCH=%1
if "%_ARCH%" == "" goto USAGE
set _TARGET=%2
if "%_TARGET%" == "" goto USAGE

set _AR=%WIND_BASE%\host\%WIND_HOST_TYPE%\bin\ar%_ARCH%.exe
if not exist %_AR% goto BADARCH

set _LIB=%WIND_BASE%\target\lib\lib%_TARGET%gnuvx.a
if not exist %_LIB% goto BADTARGET

set _OBJDIR=%WIND_BASE%\target\lib\obj%_TARGET%gnuvx
set _OBJS1=ataDrv.o nfsHash.o nfsdLib.o netDrv.o mountLib.o
set _OBJS2=tarLib.o dosFsFmtLib.o _cmpdi2.o _moddi3.o _muldi3.o
set _OBJS3=_ashrdi3.o _divdi3.o _ashldi3.o rawFsLib.o print64Lib.o
set _OBJS4=dpartCbio.o dosVDirLib.o dosFsLib.o dosFsFat.o
set _OBJS5=dosDirOldLib.o dosChkLib.o dcacheCbio.o cbioLib.o
set _OBJS6=statTbl.o ramDiskCbio.o usrFdiskPartLib.o usrFsLib.o
set _OBJS7=usrDosFsOld.o devSplit.o usrLib.o

if %_TARGET% == SIMNT goto SIMNT
set _OBJS=%_OBJS1% %_OBJS2% %_OBJS3% %_OBJS4% %_OBJS5% %_OBJS6% %_OBJS7%
goto FIXIT

:SIMNT
REM Do not need ataDrv.o, nfsHash.o, nfsdLib.o, netDrv.o, or mountLib.o
REM for the Simulator.
set _OBJS=%_OBJS2% %_OBJS3% %_OBJS4% %_OBJS5% %_OBJS6% %_OBJS7%

:FIXIT
echo Replacing dosFs 2.0 object files in %_LIB%...
mkdir $junk$
cd $junk$
for %%i in (%_OBJS%) do copy %_OBJDIR%\%%i . >nul
%_AR% r %_LIB% %_OBJS%
for %%i in (%_OBJS%) do del %%i
cd ..
rmdir $junk$
echo Done.
goto DONE

:NEEDTORVARS
echo Please run torVars.bat before using this script.
goto DONE

:USAGE
echo Usage: %0 arch target
echo   where arch is the architecture port (e.g., 386, mips, ppc)
echo   and target is the specific target (e.g., PENTIUM, VR5400, PPC604)
goto DONE

:BADARCH
echo %_AR% is not found.
goto DONE

:BADTARGET
echo %_LIB% is not found.
goto DONE

:DONE
set _AR=
set _ARCH=
set _LIB=
set _OBJDIR=
set _OBJS=
set _OBJS1=
set _OBJS2=
set _OBJS3=
set _OBJS4=
set _OBJS5=
set _OBJS6=
set _OBJS7=
set _TARGET=

- --- BEGIN SHELL SCRIPT (UNIX) ---

#!/bin/sh
# Post dosFs 2.0 update script for Tornado 2.0.2
#
# Example Usage:
#     . torVars.sh
#     ./dosfs2.sh ppc PPC604

if [ -z "$WIND_BASE" -o -z "$WIND_HOST_TYPE" ]; then
    echo Please run torVars.sh before using this script.

elif [ -z "${ARCH:=$1}" -o -z "${TARGET:=$2}" ]; then
    echo "Usage: $0 arch target"
    echo "  where arch is the architecture port (e.g. 386, mips, ppc)"
    echo "  and target is the CPU (e.g. PENTIUM, VR5400, PPC604)"

elif [ ! -x ${AR:=$WIND_BASE/host/$WIND_HOST_TYPE/bin/ar$ARCH} ]; then
    echo $AR is not found or is not executable.

elif [ ! -w ${LIB:=$WIND_BASE/target/lib/lib${TARGET}gnuvx.a} ]; then
    echo $LIB is not found or is not writable.

else
    OBJDIR=$WIND_BASE/target/lib/obj${TARGET}gnuvx
    OBJS1="tarLib.o dosFsFmtLib.o ataDrv.o nfsHash.o nfsdLib.o"
    OBJS2="netDrv.o mountLib.o _cmpdi2.o _moddi3.o _muldi3.o"
    OBJS3="_ashrdi3.o _divdi3.o _ashldi3.o rawFsLib.o"
    OBJS4="print64Lib.o dpartCbio.o dosVDirLib.o dosFsLib.o"
    OBJS5="dosFsFat.o dosDirOldLib.o dosChkLib.o dcacheCbio.o"
    OBJS6="cbioLib.o statTbl.o ramDiskCbio.o usrFdiskPartLib.o"
    OBJS7="usrFsLib.o usrDosFsOld.o devSplit.o usrLib.o"

    OBJS="$OBJS1 $OBJS2 $OBJS3 $OBJS4 $OBJS5 $OBJS6 $OBJS7"

    echo Replacing dosFs 2.0 object files in $LIB...
    cd $OBJDIR
    $AR r $LIB $OBJS

    echo Done.
fi

"G Loucks" <gloucks@hotmail.com> wrote in message
news:nimW8.29409$Xs6.1315665@news2.calgary.shaw.ca...
>    SPR#: 64615
>    ARCH: All
>   BOARD:
> HOST OS: N/A
>
> DESCRIPTION:
>
> When you re-install dosFs2.0 on top of T2.0.2 (patch T2CP4) in line with
the
> warning of the README, you are prompted by SETUP because itneeds to
> overwrite files that are more recent.
>
> WORKAROUND
>
> When installing dosFs 2.0 over Tornado 2.0.2 (T2CP4), one must choose to
> overwrite all files. The dosFs 2.0 files may have an older date that their
> Tornado 2.0.2 counterparts, but they are required for proper dosFs 2.0
> function.
>
> Furthermore, one must also ensure that all object files installed with
dosFs
> 2.0 are inserted in the appropriate library. It may appear that the dosFs
> 2.0 installation program is performing this function, but, in reality, the
> program will not overwrite the newer object files of Tornado 2.0.2 in the
> library with the older object files of dosFs 2.0. This results in an
> incomplete installation.
>
> To complete the installation, one can use one of the attached script files
> (dosfs2.bat - Windows batch file, or dosfs2.sh - UNIX Bourne shell script)
> to update the appropriate libraries. The first argument to each script
> specifies the architecture, for use in the appropriate arxxx command name,
> and the second argument specifies the target CPU, for use in the
appropriate
> libxxxgnuvx.a file name. The script should be run once for each library
that
> needs to be updated.
>
> "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM> wrote in message
> news:newscache$a25yyg$gn1$1@lnews.actcom.co.il...
> > I dont have now access to SPRs, but if you detail the nature of your
> library
> > trouble, I might be able to advise.
> >
> > "G Loucks" <gloucks@hotmail.com> wrote in message
> > news:hckW8.28760$Xs6.1252605@news2.calgary.shaw.ca...
> > > I've recently installed dosFS 2.0 and Tornado 2.0.2 for PPC8xx and I'm
> > > having gnu library issues. I believe I'm suffering from SPR#64615,
which
> > > basically says that the libs are not properly updated after installing
> > dosFS
> > > 2.0. The SPR then references a script to do the update. However, I
can't
> > > find the script! Anyone have it? or know the ar files and flags to
use?
> > >
> > > Thanks,
> > > Greg.
> > >
> > >
> >
> >
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: INT0 problems with PentiumIII/BX440 brd
Date: Tue, 9 Jul 2002 09:35:13 +0200
From: "Michael Lawnick" <lawnick@bndlg.de>
Organization: Buergernetz Dillingen
Message-ID: <age3nb$62t$1@snoopy.bndlg.de>
References: <3D1C4956.92AB8DE1@rochester.rr.com> <afhpr2$653$1@snoopy.bndlg.de> <3D1D4966.D2B7610A@rochester.rr.com> <afoukg$fnd$1@snoopy.bndlg.de> <3D2A62D1.70DC3451@riname.com>
Sender: mlawnick@p5088ee82.dip.t-dialin.net

Hi Alex,

sorry, no more hints, except: ignore this super interrupt.
WRS-support opened SPR 75502 for it, might be in some weeks it gets
published and solved in WindView 3 ;-)

Regards,
Michael

"info access" <iau@riname.com> schrieb im Newsbeitrag
news:3D2A62D1.70DC3451@riname.com...
> Deear Michael Lawnick,
>
> The APIC timer was not included in the PentiumPro BSP.
> The way that it gets included is to define one of two preprocessor
> variables, and I chose the SYMETRIC_IO (or something close
> to it). However, the PentiumPro BSP was missing two UGL
> related files which were present in the pc486 and pcPentium
> BSPs, namely configUgl.h and 00Ugl.cdf.
> Well,  I copied the two files from the pcPentium
> BSP, but creating the bootrom.sys this way  seemed to cause
> a crash as it boots up ...
>
> So including the APIC timer is a bit more involved then it seemed
> at first. Any suggestions would be appreciated.
>
> -- alex k
>
> PS:  I need to have the UGL because I use Zinc as the GUI
>
> Michael Lawnick wrote:
>
> > Dear al kavcak,
> > I expect the problem to _disappear_ on BSP PentiumPro, when including
APIC.
> > The problem I found is lost information on logging in any i86 BSP when
using
> > i8253Timer as timestamp driver. This driver produces time-information
that
> > leads to wrong reconstruction of target's behaviour when diplaying
> > WindView-log in GUI.
> > To get more exact:
> > There are two timer IC running in parallel. The first one generates the
> > timer interrupt. The second one is used as timestamp driver. Their
frequence
> > is identical, but they run with different starting-offsets (that's the
> > beginning of the problem).
> > When a timer interrupt occurs, the intEntry-event must be corrected by
one
> > tick, which will occure within the next instructions (tickAnnounce). In
GUI
> > this correction is always done, when a timestamp rollover is detected.
This
> > is correct in most situations, but not if following scenario occurs:
> > tickAnnounce
> > intExit (t = t0)
> > ..any task running, no event occurs)
> > intEntry (t> t0 + systemTick)
> > Now GUI can't detect the rollover. This might happen if the prior
interrupt
> > was executed very fast and the second one is delayed (perhaps
cache-miss,
> > RAM-refresh, ...).
> > HTH
> > Michael
> >
> > "info access" <iau@rochester.rr.com> schrieb im Newsbeitrag
> > news:3D1D4966.D2B7610A@rochester.rr.com...
> > > Dear Michael Lawnick,
> > >
> > > Thanks first for your time and effort to help.
> > >
> > > About your first question I am not exactly sure what you mean, but the
> > > way it manifests itself is that while tasks are running, the INT0
> > interrupt
> > > every second or third tick takes 1 tick length time. And randomly it
can
> > > take as much as two ticks as well, and it doesn't get interrupted at
the
> > > mid point, as if it lost a tick count ??? Weird.
> > >
> > > I am pretty sure since I read about it in the manual since, that the
> > > INCLUDE_APIC_TIMER is true or defined.
> > >
> > > On Monday I double check this and will also look into the
> > > intEntry event. Do you think that this problem is specific to the
> > > chipset (440BX)?
> > > If I understand you correctly, the problem might go away if I don't
> > > include the timestamp timer?
> > >
> > > I haven't seen this anomaly with the Pentium BSP, or
> > > the 486 BSP for that matter.
> > >
> > > Regards
> > >
> > > -- al k
> > >
> > >
> > > Michael Lawnick wrote:
> > >
> > > > Hi al kavcak,
> > > >
> > > > don't trust WindView when its logging timer interrupts with 1 system
> > tick
> > > > length:
> > > > I'm pretty sure, you see a single spike to INT0 just some usec
before
> > isn't
> > > > it ?
> > > > Then you see the TSR matter I'm just struggling around with WRS. Its
a
> > > > problem of WindView logging in connection with timestamp driver. It
> > results
> > > > in displaying the intEntry event one tick earlier than it really
occurs,
> > > > what leads to the '1 system tick interrupt'.
> > > >
> > > > Please check that you PentiumPro BSP uses the correct timer lib,
i.e.
> > > > PentiumPro has a built-in counter that is used as timestamp driver
if
> > all is
> > > > defined properly (INCLUDE_APIC_TIMER).
> > > >
> > > > HTH
> > > > Michael
> > > >
> > > > "info access" <iau@rochester.rr.com> schrieb im Newsbeitrag
> > > > news:3D1C4956.92AB8DE1@rochester.rr.com...
> > > > > To all the experts,
> > > > >
> > > > > I am facing strange problem, and wonder whether anybody faced this
> > > > > before.
> > > > >
> > > > > I am trying to upgrade from a Pentium-based board to a
> > PentiumIII-based
> > > > > board.
> > > > > Using the pcPentiumPro BSP with Tornado 2.0 I built the
bootrom_uncmp
> > > > > and
> > > > > vxworks for the target and when running the application I noticed
a
> > > > > strange problem
> > > > > in WindView:  The INT0 interrupt (timer/tick interrupt)  takes the
> > whole
> > > > > tick time,
> > > > > i.e. 16.7ms. So one of the task that I run is ~150ms, and its
> > > > > interrupted about
> > > > > 4 to 6 times with 16.7ms of INT0 time. Regularly INT0 takes a
couple
> > of
> > > > > micro-
> > > > > seconds.
> > > > >
> > > > > Also have to mention that the boot-up time is unusually slow;
probably
> > > > > something is not initialized properly.
> > > > >
> > > > > Any ideas what might be wrong?
> > > > >
> > > > > Thanks
> > > > >
> > > > > -- al kavcak
> > > > >
> > > > >
> > >
>

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

Newsgroups: comp.os.vxworks
Subject: Discovering non-blocking setting on a socket
Date: Tue, 09 Jul 2002 08:54:43 GMT
From: Derek Thomson <derek@wedgetail.com>
Organization: Optus Customer - reports relating to abuse should be sent to abuse@optus.net.au
Message-ID: <3D2AA4D2.3090309@wedgetail.com>

Hi,

Is it possible to determine whether a socket is set to non-blocking or not?

I can set it to non-blocking fine with "ioctl", I just need to query the 
state first so that I can restore it correctly when I've finished.

Thanks in advance,
Derek.

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

Newsgroups: comp.os.vxworks
Subject: a strange behaviour of Zinc's Setvisible()
Date: 9 Jul 2002 04:01:05 -0700
From: jx_ch@yahoo.com (JinxiangChen)
Organization: http://groups.google.com/
Message-ID: <d236d809.0207090301.3972568a@posting.google.com>

I want to draw 3 window of the same size on the same position when
some condition happens. At any moment, I set only one window visible
and all others invisible. But the result turns out to be very weird:
the system only shows the first created one. Even when it is set
invisible, the other windows created later are still shadowed by it.
Who can give a reasonable explanation?
thanks

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

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

From vxwexplo-errs@csg.lbl.gov  Wed Jul 10 04:03:22 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Wed Jul 10 04:03:25 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Wed Jul 10 04:03:17 PDT 2002

        Subject: using D-link network adapter for network booting
        Subject: VxWorks And TCP
        Subject: Why the VxWorks is not downloadable from Wind River?
        Subject: Re: Untangling Includes
        Subject: Re: Untangling Includes
        Subject: Re: using D-link network adapter for network booting
        Subject: Re: Why the VxWorks is not downloadable from Wind River?
        Subject: Re: VxWorks And TCP
        Subject: Re: Untangling Includes
        Subject: Re: dosFS2 and Tornado 2.0.2 Patch
        Subject: Re: Any better way to do this?
        Subject: Re: how to change the baudrate for target mpc860?
        Subject: Re: Untangling Includes
        Subject: Re: counting # of interrupts
        Subject: Re: Anyone actually did 82xx CP Loading Measurement?
        Subject: Re: VxWorks And TCP
        Subject: 100BaseT on 8260A with CPM at 66MHz
        Subject: objcopymips upgrade
        Subject: wind semaphores
        Subject: Re: VxWorks And TCP
        Subject: Changing the timezone
        Subject: Re: dhcpcParamsGet in hook
        Subject: What head files do you use when programming with VxWorks for MPC860?
        Subject: Re: dhcpcParamsGet in hook
        Subject: Re: Can you help me analyze it? vxWorks expert!
        Subject: Re: using D-link network adapter for network booting
        Subject: parallel make
        Subject: Re: VxWorks And TCP
        Subject: Re: Changing the timezone
        Subject: Re: how to change the baudrate for target mpc860?
        Subject: Re: wind semaphores
        Subject: Kill( ) not working.
        Subject: Re: Why the VxWorks is not downloadable from Wind River?
        Subject: Re: using D-link network adapter for network booting
        Subject: Re: VxWorks And TCP
        Subject: Device driver for Infineons Quad PRI Chip (quadfalc PEB22554)
        Subject: how to trace incoming and outgoing data packets on a target machin
        Subject: Re: Why the VxWorks is not downloadable from Wind River?
        Subject: relay agent is not able to either send or recieve dhcp request or response from dhcp server
        Subject: question about tornado for arm 2.0
        Subject: Re: Any better way to do this?
        Subject: Re: How to change the outlook asynchronously according the network packets
        Subject: Re: How to change the outlook asynchronously according the network packets
        Subject: Re: how to trace incoming and outgoing data packets on a target machin
        Subject: Re: why rewrite a old file speed is so slow?
        Subject: Re: debugging vxworks on target shell
        Subject: Re: dhcpcParamsGet in hook

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

Newsgroups: comp.os.vxworks
Subject: using D-link network adapter for network booting
Date: 9 Jul 2002 04:45:23 -0700
From: ash_kumarv@yahoo.com (Ashok)
Organization: http://groups.google.com/
Message-ID: <a92e61fe.0207090345.65a7da72@posting.google.com>

hi

Iam new to vxworks...
i wanna boot vxworks thro the network using the below mentioned ethernet adapter
D-Link DFE-538TX 10/100 Adapter

BSP: pc486

how do i do this
what should i add to the config.h file?
i have tornado 1.0 with me?
does this support this adapter?
and what should i give the bootdevice?

thanks in advance

ashok

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

Newsgroups: comp.os.vxworks
Subject: VxWorks And TCP
Date: Tue, 9 Jul 2002 06:56:09 -0500
From: "Joel Hannah" <hannah@aos-inc.com>
Message-ID: <FfAW8.14375$AK.1308@news.webusenet.com>

I am trying to implement a custom ethernet command datalink using TCP. For
clarity I will call this protocol ULINK. ULINK is a "single command per
ethernet packet" protocol thus the commands are always less than 1500 bytes,
most of the ULINK commands are less than 20 bytes.

I have written a Windows program that initiates a TCP session with my
VxWorks Pentium target and then sends commands and receives data from the
VxWorks target. After session is established, the TCP worker task waits for
a ULINK command packet. The ULINK command is then ACKd or NAKd to make sure
commands are "lockstepped" with the Windows program. The ULINK protocol is
described below:

<Byte Count (4 bytes)><Command Identifier (2 bytes)><Command Data
(variable)><Check Sum (1 byte)>

The Byte Count includes the checksum. Thus I read the first four bytes,
allocate a buffer for the rest of the ULINK command and read the data from
the socket.

The problem I am experiencing is a severe "slowdown" during my TCP session
from my VxWorks Pentium target. I have snooped the ethernet data and it is
clearly the VxWorks target that gets extremely slow to respond to ULINK
commands. I have done the customer support thing with WindRiver several
times to no avail. My target uses the Real Tek 8139 ethernet controller . I
have purchased the latest driver from WindRiver for this chip. FTP sessions
seem to be very stable and reliable with decent speed during file transfers
so I fee confident that the problem is not the ethernet controller driver
that is the source of the slowdown.

I have increased TCP/IP buffers, looked at stack and buffer values at
runtime to see if that is my problem but everything looks good. The slowdown
condition certainly looks like a memory allocation problem but I can't seem
to find where. Has anyone else experienced this and could help me???

Thanks,

Joel

Below is my ULINK server code in VxWorks:

/*************************************************************************
*
* FUNCTION: UlinkTask
*
* This task is responsible for TCP initialization, opening sessions and
* closing client sessions
*
* RETURNS:  OK
*/
void UlinkTask(void)
{
 struct sockaddr_in sAddr;
 struct sockaddr_in cAddr;
 int sockAddrSize;
 int errCode;
 int retCode;
 int sFd;
 int newFd;
 char workName[16];
 char outMessage[100];
 int ix;
 int optval;

    ix = 0;

    /* Initialize flags and handles */

    errCode = 0;

    if(sFd)
      close(sFd);
    if(newFd)
      close(newFd);

    /*Set up TCP/IP local address*/

    sockAddrSize = sizeof(struct sockaddr_in);
    bzero ((char *) &sAddr, sockAddrSize);
    sAddr.sin_family = AF_INET;
    sAddr.sin_len = (u_char) sockAddrSize;
    sAddr.sin_port = htons(SERVER_PORT_NUM);
    sAddr.sin_addr.s_addr = htonl(INADDR_ANY);

    /* Create a TCP_based socket */

    if((sFd = socket (AF_INET, SOCK_STREAM, 0)) == ERROR)  {
      errCode = 1;
    }

    /* Bind socket to local address */

    if (bind (sFd, (struct sockaddr *)&sAddr, sockAddrSize) == ERROR)  {
      close (sFd);
      errCode = 2;
    }

    optval = 1;
    setsockopt (sFd, SOL_SOCKET, SO_KEEPALIVE, (char *)(&optval), sizeof
(optval));
    setsockopt (sFd, IPPROTO_TCP, 1, (char *)(&optval), sizeof (optval));

    optval = 16384;
    setsockopt (sFd, SOL_SOCKET, SO_SNDBUF, (char *)(&optval), sizeof
(optval));
    setsockopt (sFd, SOL_SOCKET, SO_RCVBUF, (char *)(&optval), sizeof
(optval));

    /* Create queue for client connection requests */

    if(listen (sFd, SERVER_MAX_CONNECTIONS) == ERROR)  {
      close(sFd);
      errCode = 3;
    }

    if(errCode == 0) {
      for(;;)  {
        UlinkSysOut("Waiting On Connection Requests From Ulink
Client...\n");

        if((newFd = accept(sFd, (struct sockaddr *)&cAddr, &sockAddrSize))
== ERROR) {
          errCode = 4;
          close (sFd);
          break;
        }

        else {
          UlinkSysOut(SHORTBEEPSTR);
          sprintf(outMessage,"Connected to Address: %s \n", (inet_ntoa
(cAddr.sin_addr)));
          UlinkSysOut(outMessage);

          UlinkSysOut("Starting TCP Task!\n");

          sprintf(workName,"tTcpWork%d",ix++);
          if(taskSpawn(workName,199,0,20000,(FUNCPTR)ClientComm,
newFd,0,0,0,0,0,0,0,0,0) == ERROR) {
            UlinkSysOut("ERROR Starting TCP Task!\n");
            close(newFd);
          }
        }
      }
    }

    else {
      UlinkSysOut("ERROR [ULINK]: Can't Initialize ULINK Task!");

      if(newFd)
        close(newFd);
      if(sFd)
        close(sFd);
    }

}
/*************************************************************************
*
* FUNCTION: ClientComm
*
* This task reads in ethernet packet data and checks for closed connectinsis
responsible for TCP initialization, opening sessions and
*
* RETURNS:  ERROR = 1 if errors during session
*/
int ClientComm(int fHandle)
{
 int retCode,i;
 int readResult;
 int retChar;
 unsigned long byCount;
 unsigned char byBuff[5];
 unsigned char *enetDataBuff = 0;
 int numBytes;

    retCode = 0;

    for(;;) {

      readResult = read(fHandle,byBuff,4);

       if((readResult == 0) || (readResult == ERROR)) {
         UlinkSysOut("ERROR [ULINK]: Problem Reading Byte Count!");
         retCode = TERMINATE_SESSION;
         break;
       }

      byCount = *((unsigned long *)(&byBuff[0]));

      /* Now allocate memory based on byte count  */

      enetDataBuff = malloc(byCount);

      if((int)enetDataBuff == 0) {
        UlinkSysOut("ERROR [ULINK]: Malloc For Enet Data Buffer Failed!");
        break;
      }

      readResult = read(fHandle,enetDataBuff,byCount);

      if((readResult == 0) || (readResult == ERROR)) {
        UlinkSysOut("ERROR [ULINK]: Problem Reading Packet Data!\n");
        retCode = TERMINATE_SESSION;
        break;
      }

      retCode = ProcessServerData(readResult - 4,enetDataBuff,fHandle);
      taskDelay(10);
      free(enetDataBuff);
      retCode = SEND_THE_ACK;

      if(retCode) {
        if(retCode == SEND_THE_ACK) {
          SendResponse(fHandle,ACK);
        }
        else if (retCode == SEND_THE_NAK ) {

          /* Don't Close if we have an error in the packet */

          ultorParms.tcpErrors++;
          SendResponse(fHandle,NAK);
        }
        else {

          /* Don't Close if we have an error in the packet */

          ultorParms.tcpErrors++;
        }
      }

    }

    if(enetDataBuff)
      free(enetDataBuff);
    close(fHandle);

    UlinkSysOut(SHORTBEEPSTR);
    UlinkSysOut("Connection Closed...");

    return(retCode);
}

- --
******
S. Joel Hannah
Software Engineering Manager

Advanced Optical Systems
6767 Old Madison Pike, Suite 410
Huntsville, AL  35806

(256) 971-0036   (voice)
(256) 971-0010   (fax)
(256) 580-8947  (page)
hannah@aos-inc.com (internet)

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

Newsgroups: comp.os.vxworks
Subject: Why the VxWorks is not downloadable from Wind River?
Date: Tue, 9 Jul 2002 15:05:22 +0200
From: "Wojciech Mirski" <wojciech.mirski@siemens.pl>
Organization: Siemens Inc.
Message-ID: <agen1i$iv0$1@news.mch.sbs.de>

Salute Fellows!

For some time I have been noticed that VxWorks and Tornado haven't been
downloadable for free.
Does anybody know something about this?
How can I get VxWorks/Tornado to learn?

Regards,
Wojciech Mirski.

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

Newsgroups: comp.os.vxworks
Subject: Re: Untangling Includes
Date: 9 Jul 2002 14:08:13 GMT
From: macleodr@nortel.ca (Randy Macleod)
Organization: Nortel
Message-ID: <ageqod$ios$1@bcarh8ab.ca.nortel.com>
References: <dx_V8.429488$352.57789@sccrnsc02> <Qu0W8.5706$A43.570647@newsread2.prod.itd.earthlink.net> <rjtW8.9056$A43.903585@newsread2.prod.itd.earthlink.net>

  Hi,
   You might try KLOCworks inSight (klocwork.com).
I think it's kind of expensive...
but it does everything on your list expect perhaps
the forward class declaration vs .h file include suggestion.

From their web page:
...code-analysis algorithms to extract software architecture, 
interactions, logic flow, and execution threads directly from 
the source code of both full and partialsystems. KLOCwork allows 
for architectural comprehension, automatic control, and management 
through its graphic visualization of software architecture, 
architectural rules setting, and automatic tracking capabilities. 
KLOCwork also includes an on-the-fly logical error finder for the 
early detection and removal of defects. With an intuitive, 
easy-to-use graphical interface ...

Good luck,
// Randy
- -- 
// Randy MacLeod
    Those that would give up a necessary freedom for temporary safety
    deserve neither freedom nor safety. -- Ben Franklin

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

Newsgroups: comp.os.vxworks
Subject: Re: Untangling Includes
Date: Tue, 09 Jul 2002 15:22:23 GMT
From: "Brian St. Pierre" <dontbother@nospam.com>
Organization: Worldpath Internet Services (worldpath.net)
Message-ID: <PcDW8.2047$oN.846232@monger.newsread.com>
References: <dx_V8.429488$352.57789@sccrnsc02>    <Qu0W8.5706$A43.570647@newsread2.prod.itd.earthlink.net> <rjtW8.9056$A43.903585@newsread2.prod.itd.earthlink.net>

<bill@thuvia.qswtools.com> wrote:
> "Kevin Lay" <circlemtn@earthlink.net> writes:
> > I know of no tool that does everything you want, but would give my deft
mutt
> > for one.  However, there are two source code browsers I can recommend
> > because they parse source (not objects).
>
> > "Tom Yee" <tomyee3@attbi.com> wrote:
> >> Is anyone aware of a tool which will analyze a large collection of
source
> >> files and help to understand header file dependencies?
> >> -Which files are including .h files which are not directly needed by
the
> >> file doing the including?
> >> -If an include file is removed because it is not directly used, how
many
> >> transitive usages will fall out?
> >> -Is a file including something transitively that should be included
> >> directly?
> >> -Can we draw a graphical representation of the "include tree"?
> >> -Where do we have circular inclusion relationships?
> >> -Where are we including a C++ .h file when simply forward declaring the
> >> class would be sufficient?

I don't know of anything that would do all of this either. I think a couple
of these features would be pretty tough to do (knowing whether a particular
.h file is really needed seems pretty tricky). I can recommend a book:

Large Scale C++ Software Design, by John Lakos
http://www.amazon.com/exec/obidos/ASIN/0201633620 - $50 new, $40 used (worth
every penny)

It focuses on C++ but a number of the concepts carry over to C. He spends
quite a bit discussing these cyclical inclusion problems that you're asking
about. Especially your last question -- this can be quickly done by a manual
inspection of the header files in question. Another item that is mentioned
in the book is the disciplined usage of include guards. You probably already
have these in your header files, but if you include tests before including
other header files you can reduce your build times further (because the
preprocessor does not have to find the file, open it, and process it).

I think the book also includes source for a program that does some kind
header-file analysis, but I haven't used it.

My approach to this is to use the dependency generation from gcc that
another poster mentioned. Find the worst offenders (usually header files
that include a bunch of other headers) and start reducing the number of
files that are included. It is an iterative process; if you think a header
is unnecessary, remove it, rebuild (as a test). It is a bit tedious, but
I've found that going one file at a time like this is a relatively effective
way to trim your build times -- especially if you can narrow down the "worst
offenders".

- --
- -Brian St. Pierre
brian (at)
bstpierre.org

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

Newsgroups: comp.os.vxworks
Subject: Re: using D-link network adapter for network booting
Date: Tue, 9 Jul 2002 15:30:00 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns9246B19435AB1borkhuisagerecom@192.19.193.66>
References: <a92e61fe.0207090345.65a7da72@posting.google.com>

ash_kumarv@yahoo.com (Ashok) wrote:

> hi
> 
> Iam new to vxworks...
> i wanna boot vxworks thro the network using the below mentioned
> ethernet adapter D-Link DFE-538TX 10/100 Adapter
> 
> BSP: pc486
> 
> how do i do this
> what should i add to the config.h file?
> i have tornado 1.0 with me?
> does this support this adapter?
> and what should i give the bootdevice?

Depends on the type of ethernet controller that they use on the card. If 
you can give the type we might be able to help you further.

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: Why the VxWorks is not downloadable from Wind River?
Date: Tue, 9 Jul 2002 15:31:31 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns9246B1D606415borkhuisagerecom@192.19.193.66>
References: <agen1i$iv0$1@news.mch.sbs.de>

"Wojciech Mirski" <wojciech.mirski@siemens.pl> wrote:

> Salute Fellows!
> 
> For some time I have been noticed that VxWorks and Tornado haven't been
> downloadable for free.
> Does anybody know something about this?
> How can I get VxWorks/Tornado to learn?

As far as I know Tornado Prototyper can be downloaded for free.

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: VxWorks And TCP
Date: Tue, 09 Jul 2002 16:24:36 GMT
From: "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM>
Organization: Verio
Message-ID: <newscache$gnszyg$5w3$1@lnews.actcom.co.il>
References: <FfAW8.14375$AK.1308@news.webusenet.com>

The reason for slow performance is the ACK messages are very short, and TCP
waits a while before sending this data out to the network.
This behaviour can be turned off with TCP_NDELAY.

See this past poting on this newsgroup, and there is probably a reference to
this issue in the FAQ too.

http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&threadm=325C1550
.4BA9%40peacefulstar.oakland.ca.us&rnum=3&prev=/groups%3Fas_q%3DTCP%2520DELA
Y%26safe%3Dimages%26ie%3DUTF-8%26oe%3DUTF-8%26as_ugroup%3Dcomp.os.vxworks%26
lr%3D%26hl%3Den

"Joel Hannah" <hannah@aos-inc.com> wrote in message
news:FfAW8.14375$AK.1308@news.webusenet.com...
> I am trying to implement a custom ethernet command datalink using TCP. For
> clarity I will call this protocol ULINK. ULINK is a "single command per
> ethernet packet" protocol thus the commands are always less than 1500
bytes,
> most of the ULINK commands are less than 20 bytes.
>
> I have written a Windows program that initiates a TCP session with my
> VxWorks Pentium target and then sends commands and receives data from the
> VxWorks target. After session is established, the TCP worker task waits
for
> a ULINK command packet. The ULINK command is then ACKd or NAKd to make
sure
> commands are "lockstepped" with the Windows program. The ULINK protocol is
> described below:
>
> <Byte Count (4 bytes)><Command Identifier (2 bytes)><Command Data
> (variable)><Check Sum (1 byte)>
>
> The Byte Count includes the checksum. Thus I read the first four bytes,
> allocate a buffer for the rest of the ULINK command and read the data from
> the socket.
>
> The problem I am experiencing is a severe "slowdown" during my TCP session
> from my VxWorks Pentium target. I have snooped the ethernet data and it is
> clearly the VxWorks target that gets extremely slow to respond to ULINK
> commands. I have done the customer support thing with WindRiver several
> times to no avail. My target uses the Real Tek 8139 ethernet controller .
I
> have purchased the latest driver from WindRiver for this chip. FTP
sessions
> seem to be very stable and reliable with decent speed during file
transfers
> so I fee confident that the problem is not the ethernet controller driver
> that is the source of the slowdown.
>
> I have increased TCP/IP buffers, looked at stack and buffer values at
> runtime to see if that is my problem but everything looks good. The
slowdown
> condition certainly looks like a memory allocation problem but I can't
seem
> to find where. Has anyone else experienced this and could help me???
>
>
> Thanks,
>
> Joel
>
> Below is my ULINK server code in VxWorks:
>
> /*************************************************************************
> *
> * FUNCTION: UlinkTask
> *
> * This task is responsible for TCP initialization, opening sessions and
> * closing client sessions
> *
> * RETURNS:  OK
> */
> void UlinkTask(void)
> {
>  struct sockaddr_in sAddr;
>  struct sockaddr_in cAddr;
>  int sockAddrSize;
>  int errCode;
>  int retCode;
>  int sFd;
>  int newFd;
>  char workName[16];
>  char outMessage[100];
>  int ix;
>  int optval;
>
>     ix = 0;
>
>     /* Initialize flags and handles */
>
>     errCode = 0;
>
>     if(sFd)
>       close(sFd);
>     if(newFd)
>       close(newFd);
>
>     /*Set up TCP/IP local address*/
>
>     sockAddrSize = sizeof(struct sockaddr_in);
>     bzero ((char *) &sAddr, sockAddrSize);
>     sAddr.sin_family = AF_INET;
>     sAddr.sin_len = (u_char) sockAddrSize;
>     sAddr.sin_port = htons(SERVER_PORT_NUM);
>     sAddr.sin_addr.s_addr = htonl(INADDR_ANY);
>
>     /* Create a TCP_based socket */
>
>     if((sFd = socket (AF_INET, SOCK_STREAM, 0)) == ERROR)  {
>       errCode = 1;
>     }
>
>     /* Bind socket to local address */
>
>     if (bind (sFd, (struct sockaddr *)&sAddr, sockAddrSize) == ERROR)  {
>       close (sFd);
>       errCode = 2;
>     }
>
>     optval = 1;
>     setsockopt (sFd, SOL_SOCKET, SO_KEEPALIVE, (char *)(&optval), sizeof
> (optval));
>     setsockopt (sFd, IPPROTO_TCP, 1, (char *)(&optval), sizeof (optval));
>
>     optval = 16384;
>     setsockopt (sFd, SOL_SOCKET, SO_SNDBUF, (char *)(&optval), sizeof
> (optval));
>     setsockopt (sFd, SOL_SOCKET, SO_RCVBUF, (char *)(&optval), sizeof
> (optval));
>
>     /* Create queue for client connection requests */
>
>     if(listen (sFd, SERVER_MAX_CONNECTIONS) == ERROR)  {
>       close(sFd);
>       errCode = 3;
>     }
>
>     if(errCode == 0) {
>       for(;;)  {
>         UlinkSysOut("Waiting On Connection Requests From Ulink
> Client...\n");
>
>         if((newFd = accept(sFd, (struct sockaddr *)&cAddr, &sockAddrSize))
> == ERROR) {
>           errCode = 4;
>           close (sFd);
>           break;
>         }
>
>         else {
>           UlinkSysOut(SHORTBEEPSTR);
>           sprintf(outMessage,"Connected to Address: %s \n", (inet_ntoa
> (cAddr.sin_addr)));
>           UlinkSysOut(outMessage);
>
>           UlinkSysOut("Starting TCP Task!\n");
>
>           sprintf(workName,"tTcpWork%d",ix++);
>           if(taskSpawn(workName,199,0,20000,(FUNCPTR)ClientComm,
> newFd,0,0,0,0,0,0,0,0,0) == ERROR) {
>             UlinkSysOut("ERROR Starting TCP Task!\n");
>             close(newFd);
>           }
>         }
>       }
>     }
>
>     else {
>       UlinkSysOut("ERROR [ULINK]: Can't Initialize ULINK Task!");
>
>       if(newFd)
>         close(newFd);
>       if(sFd)
>         close(sFd);
>     }
>
> }
> /*************************************************************************
> *
> * FUNCTION: ClientComm
> *
> * This task reads in ethernet packet data and checks for closed
connectinsis
> responsible for TCP initialization, opening sessions and
> *
> * RETURNS:  ERROR = 1 if errors during session
> */
> int ClientComm(int fHandle)
> {
>  int retCode,i;
>  int readResult;
>  int retChar;
>  unsigned long byCount;
>  unsigned char byBuff[5];
>  unsigned char *enetDataBuff = 0;
>  int numBytes;
>
>     retCode = 0;
>
>     for(;;) {
>
>       readResult = read(fHandle,byBuff,4);
>
>        if((readResult == 0) || (readResult == ERROR)) {
>          UlinkSysOut("ERROR [ULINK]: Problem Reading Byte Count!");
>          retCode = TERMINATE_SESSION;
>          break;
>        }
>
>       byCount = *((unsigned long *)(&byBuff[0]));
>
>       /* Now allocate memory based on byte count  */
>
>       enetDataBuff = malloc(byCount);
>
>       if((int)enetDataBuff == 0) {
>         UlinkSysOut("ERROR [ULINK]: Malloc For Enet Data Buffer Failed!");
>         break;
>       }
>
>       readResult = read(fHandle,enetDataBuff,byCount);
>
>       if((readResult == 0) || (readResult == ERROR)) {
>         UlinkSysOut("ERROR [ULINK]: Problem Reading Packet Data!\n");
>         retCode = TERMINATE_SESSION;
>         break;
>       }
>
>       retCode = ProcessServerData(readResult - 4,enetDataBuff,fHandle);
>       taskDelay(10);
>       free(enetDataBuff);
>       retCode = SEND_THE_ACK;
>
>
>       if(retCode) {
>         if(retCode == SEND_THE_ACK) {
>           SendResponse(fHandle,ACK);
>         }
>         else if (retCode == SEND_THE_NAK ) {
>
>           /* Don't Close if we have an error in the packet */
>
>           ultorParms.tcpErrors++;
>           SendResponse(fHandle,NAK);
>         }
>         else {
>
>           /* Don't Close if we have an error in the packet */
>
>           ultorParms.tcpErrors++;
>         }
>       }
>
>     }
>
>
>     if(enetDataBuff)
>       free(enetDataBuff);
>     close(fHandle);
>
>     UlinkSysOut(SHORTBEEPSTR);
>     UlinkSysOut("Connection Closed...");
>
>     return(retCode);
> }
>
>
>
> --
> ******
> S. Joel Hannah
> Software Engineering Manager
>
> Advanced Optical Systems
> 6767 Old Madison Pike, Suite 410
> Huntsville, AL  35806
>
> (256) 971-0036   (voice)
> (256) 971-0010   (fax)
> (256) 580-8947  (page)
> hannah@aos-inc.com (internet)
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Untangling Includes
Date: 09 Jul 2002 17:34:42 +0100
From: Chapman <dc8@mlgw069.uk.lucent.com>
Organization: Lucent Technologies, Columbus, Ohio
Message-ID: <jye3cus7tct.fsf@mlgw069.uk.lucent.com>
References: <dx_V8.429488$352.57789@sccrnsc02> <Qu0W8.5706$A43.570647@newsread2.prod.itd.earthlink.net> <rjtW8.9056$A43.903585@newsread2.prod.itd.earthlink.net> <PcDW8.2047$oN.846232@monger.newsread.com>

"Brian St. Pierre" <dontbother@nospam.com> writes:

> inspection of the header files in question. Another item that is mentioned
> in the book is the disciplined usage of include guards. You probably already
> have these in your header files, but if you include tests before including
> other header files you can reduce your build times further (because the
> preprocessor does not have to find the file, open it, and process it).

I have never actually done a test, but wouldn't it be the case that
when the include guards are inside the header file itself the chances
are that when the header file is included a second time, it will
already be cached in memory (by the OS). Therefore the overhead is
likely to be much less than if it really had to be opened multiple
times...

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

Newsgroups: comp.os.vxworks
Subject: Re: dosFS2 and Tornado 2.0.2 Patch
Date: 9 Jul 2002 10:04:51 -0700
From: vloscomp@yahoo.com (Vinh)
Organization: http://groups.google.com/
Message-ID: <c129947c.0207090904.12f7b042@posting.google.com>
References: <hckW8.28760$Xs6.1252605@news2.calgary.shaw.ca> <newscache$a25yyg$gn1$1@lnews.actcom.co.il> <nimW8.29409$Xs6.1315665@news2.calgary.shaw.ca>

Hi,
  We ran in such a problem, but i do not know of a service pack. The
problem is that when installing DosFs2.0 the installing script
installed the *.o into libPPC603gnuvx.a. However, if in the make-file
the CPU macro is not set to 603 then the interfaces to DosFs2.0 will
not be a public symbol.
  This is what i did, using cygwin enviroments:
  - command 'nm' to look for public interface.
  - comand 'ar' to extract all *.o from libPPC603gnuvx.a 
    
    tarLib.o dosFsFmtLib.o 
    rawFsLib.o print64Lib.o
    dpartCbio.o dosVDirLib.o dosFsLib.o dosFsFat.o
    dosDirOldLib.o dosChkLib.o dcacheCbio.o cbioLib.o
    statTbl.o ramDiskCbio.o usrFdiskPartLib.o usrFsLib.o
    usrDosFsOld.o devSplit.o usrLib.o

  - command 'ar' to removed and add the above file to my architecture
lib.

   The only problem with this is that i am not quite sure that i have
all the
   current file update to my arch lib. ONLY VxWorks can verified that.

I hope this will help.
Vinh Lam

"G Loucks" <gloucks@hotmail.com> wrote in message news:<nimW8.29409$Xs6.1315665@news2.calgary.shaw.ca>...
> SPR#: 64615
>    ARCH: All
>   BOARD:
> HOST OS: N/A
> 
> DESCRIPTION:
> 
> When you re-install dosFs2.0 on top of T2.0.2 (patch T2CP4) in line with the
> warning of the README, you are prompted by SETUP because itneeds to
> overwrite files that are more recent.
> 
> WORKAROUND
> 
> When installing dosFs 2.0 over Tornado 2.0.2 (T2CP4), one must choose to
> overwrite all files. The dosFs 2.0 files may have an older date that their
> Tornado 2.0.2 counterparts, but they are required for proper dosFs 2.0
> function.
> 
> Furthermore, one must also ensure that all object files installed with dosFs
> 2.0 are inserted in the appropriate library. It may appear that the dosFs
> 2.0 installation program is performing this function, but, in reality, the
> program will not overwrite the newer object files of Tornado 2.0.2 in the
> library with the older object files of dosFs 2.0. This results in an
> incomplete installation.
> 
> To complete the installation, one can use one of the attached script files
> (dosfs2.bat - Windows batch file, or dosfs2.sh - UNIX Bourne shell script)
> to update the appropriate libraries. The first argument to each script
> specifies the architecture, for use in the appropriate arxxx command name,
> and the second argument specifies the target CPU, for use in the appropriate
> libxxxgnuvx.a file name. The script should be run once for each library that
> needs to be updated.
> 
> "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM> wrote in message
> news:newscache$a25yyg$gn1$1@lnews.actcom.co.il...
> > I dont have now access to SPRs, but if you detail the nature of your
>  library
> > trouble, I might be able to advise.
> >
> > "G Loucks" <gloucks@hotmail.com> wrote in message
> > news:hckW8.28760$Xs6.1252605@news2.calgary.shaw.ca...
> > > I've recently installed dosFS 2.0 and Tornado 2.0.2 for PPC8xx and I'm
> > > having gnu library issues. I believe I'm suffering from SPR#64615, which
> > > basically says that the libs are not properly updated after installing
>  dosFS
> > > 2.0. The SPR then references a script to do the update. However, I can't
> > > find the script! Anyone have it? or know the ar files and flags to use?
> > >
> > > Thanks,
> > > Greg.
> > >
> > >
> >
> >

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

Newsgroups: comp.os.vxworks
Subject: Re: Any better way to do this?
Date: 9 Jul 2002 10:17:15 -0700
From: vloscomp@yahoo.com (Vinh)
Organization: http://groups.google.com/
Message-ID: <c129947c.0207090917.6d15569b@posting.google.com>
References: <bR0V8.21728$2w.433254@news20.bellglobal.com> <3D24B687.2EA1111D@gv.net>

"Michael R. Kesti" <mkesti@gv.net> wrote in message news:<3D24B687.2EA1111D@gv.net>...
> James wrote:
> 
> >There are 3 tasks, each task repeats at different time period. I can
> >implement as follows:
> >But I think this is not the best way to do that, and I do not like the
> >for(;;)/FOREVER/while either.
> >Any better way to do this?
> >Thanks a lot.
> >
> >James
> 
> I see nothing inherently wrong with anything you're doing here, as long
> as this scheduling is appropriate to your system's design goals.
> 
> Note that the rate your tasks repeat is the sum of their execution duration
> plus their taskDelay()'s, rather than just the latter alone.  Also, you might
> do well to make your timing independant of possible changes in the system
> clock rate by making the delays functions of sysClkRateGet().  For example:
> 
>   taskDelay(50);
> 
> delays 50 ticks, but the resulting duration depends on the most recent call
> to sysClkRateSet().  Instead, if you use:
> 
>   taskDelay(sysClkRateGet() * 2);
> 
> you get two seconds regardless.
> 
> And there's nothing wrong your endless loops, either.  All tasks that run
> indefinately require endless loops.  I do prefer the FOREVER macro, though.
> 
> These said, I've yet to find an application for which timed scheduling
> is appropriate.  My designs tend to use tasks to respond to asynchronous
> events.  Rather than running and sleeping, my tasks pend on semaphores,
> message queues, or pipes that are given or written to by interrupt service
> routines.
> 
  Method of waiting on an asynchronous events is the best. However,
this is a platform specific designed.
  All methods do suffered from task scheduling problem; task of
different priority will at some point in time can not make the hard
dead line because the time drift will happen when the whole system is
running. Designed with that in mind then you can prevents something
like the MARS rover from happening to you :)

> >#include "vxWorks.h"
> >#include "stdio.h"
> >#include "stdlib.h"
> >#include "semLib.h"
> >#include "taskLib.h"
> >#include "taskVarLib.h"
> >#include "string.h"
> >#define STACK_SIZE 20000
> >
> >void myTask1(void);
> >void myTask2(void);
> >void myTask3(void);
> >
> >STATUS taskVarTest(void)
> >{
> >
> >    /* get started */
> >    taskSpawn ("tMytask1", 100, 0, STACK_SIZE,
> >        (FUNCPTR) myTask1,0,0,0,0,0,0,0,0,0,0);
> >
> >    taskSpawn ("tMytask2", 120, 0, STACK_SIZE,
> >        (FUNCPTR) myTask2,0,0,0,0,0,0,0,0,0,0);
> >
> >    taskSpawn ("tMyTask3", 140, 0, STACK_SIZE,
> >        (FUNCPTR) myTask3,0,0,0,0,0,0,0,0,0,0);
> >
> > return OK;
> >}
> >
> >void myTask1(void)
> >{
> > for(;;)
> > {
> >  printf("This is my task1 \n");
> >  taskDelay(50);
> > }
> >}
> >
> >void myTask2(void)
> >{
> > for(;;)
> > {
> >  printf("This is my task2 \n");
> >  taskDelay(100);
> > }
> >}
> >
> >void myTask3(void)
> >{
> >
> > for(;;)
> > {
> >  printf("This is my task3 \n\n");
> >  taskDelay(200);
> > }
> >}

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

Newsgroups: comp.os.vxworks
Subject: Re: how to change the baudrate for target mpc860?
Date: 9 Jul 2002 10:20:08 -0700
From: vloscomp@yahoo.com (Vinh)
Organization: http://groups.google.com/
Message-ID: <c129947c.0207090920.6a73ac6d@posting.google.com>
References: <qQkV8.7619$aJ4.1861702@news20.bellglobal.com>

Hi James,
  There is an option in 'ioctl' that will allows you to change the
baud rate, if the BSP support it.
  I think the manual also described something like this. 

Vinh Lam

"James" <jameshu@sympatico.ca> wrote in message news:<qQkV8.7619$aJ4.1861702@news20.bellglobal.com>...
> Hi,
> 
> I wonder if there is any easy way to do that, perhaps only way is to burn
> some code in Flash ROM for the target?
> 
> Thanks a lot,
> 
> James

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

Newsgroups: comp.os.vxworks
Subject: Re: Untangling Includes
Date: 9 Jul 2002 10:25:44 -0700
From: vloscomp@yahoo.com (Vinh)
Organization: http://groups.google.com/
Message-ID: <c129947c.0207090925.2a1a1bbc@posting.google.com>
References: <dx_V8.429488$352.57789@sccrnsc02> <Qu0W8.5706$A43.570647@newsread2.prod.itd.earthlink.net>

Hi,
  I like the simple stuff. Try 'vi' and 'ctags'. 

Vinh Lam

"Kevin Lay" <circlemtn@earthlink.net> wrote in message news:<Qu0W8.5706$A43.570647@newsread2.prod.itd.earthlink.net>...
> I know of no tool that does everything you want, but would give my deft mutt
> for one.  However, there are two source code browsers I can recommend
> because they parse source (not objects).  Both have graphical include tree
> tools but also have heirarchy tools, etc.  Both attempt to be complete IDEs
> but of course you need not use them as such.
> 
> First is free:  Source Navigator 5.0 by Red Hat.
> http://sources.redhat.com/sourcenav/  Note that an updated version 5.0E can
> be found on  http://oimanager.de/sn.htm.
> Beware that on Windows there are some little bugs - enough to make me crazy,
> but for only browsing (and not changing files) it's fine.  I haven't used it
> on UNIX.  However when creating its cross reference tables on some huge
> projects it craps out.  If that happens you can go to it's grand-daddy:
> Sniff+.
> 
> Sniff http://www.windriver.com/products/html/sniff.html will draw include
> trees and show circlular dependencies and more.
> Sniff+ is definitely not free.  It's an addictive tool, but in my opinion
> overpriced (2-4K/seat).  But where Source Nav fails it will come through.
> It's now a Wind River product.  If anyone knows of anything in between these
> two I'd love to know.
> 
> Kevin
> Circle MountainSW
> 
> "Tom Yee" <tomyee3@attbi.com> wrote in message
> news:dx_V8.429488$352.57789@sccrnsc02...
> > Is anyone aware of a tool which will analyze a large collection of source
> > files and help to understand header file dependencies? Things which would
>  be
> > nice to know:
> > -Which files are including .h files which are not directly needed by the
> > file doing the including?
> > -If an include file is removed because it is not directly used, how many
> > transitive usages will fall out?
> > -Is a file including something transitively that should be included
> > directly?
> > -Can we draw a graphical representation of the "include tree"?
> > -Where do we have circular inclusion relationships?
> > -Where are we including a C++ .h file when simply forward declaring the
> > class would be sufficient?
> >
> > And anything else that might be handy. Anyone know of anything that fits
>  the
> > bill?
> >
> > Thanks,
> > -Tom
> >
> >
> >

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

Newsgroups: comp.os.vxworks
Subject: Re: counting # of interrupts
Date: 9 Jul 2002 18:32:00 GMT
From: Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com>
Message-ID: <slrnaimb0v.6db.denis_newsREMOVE-TO-REPLY@finch.lecs.cs.ucla.edu>
References: <slrnaijop8.lbs.denis_newsREMOVE-TO-REPLY@concorde.cs.ucla.edu> <3D2A02D4.7013@despam.autobahn.mb.ca>

 * H. E. Taylor <het@despam.autobahn.mb.ca> [07-Mon-02 12:30 -0700]:
 >
 > In article <slrnaijop8.lbs.denis_newsREMOVE-TO-REPLY@concorde.cs.ucla.edu>,
 > <denis_newsREMOVE-TO-REPLY@hotmail.com> Denis Perelyubskiy wrote:
 > > 
 > > are there available counters for number of interrupts on a
 > > particular IRQ that's available somewhere, or is it my job
 > > to increment numbers in individual interrupt handlers?
 > >

 > 	I think not in 5.3.1.  Don't know about 5.4 or AES,
 > 	but I rather doubt it.  Why do you care?  Are you
 > 	trying to estimate overheads?  <curious>

thanks. no. it is part of an intermediate solution to detect
that the h/w is in a stalled state. this is related to my
earlier post, which essentially descibed a problem whereby
the slave APIC thinks the interrupt is being serviced, while
the CPU thinks that its not... Until I really figure out
what causes a problem (where I need to connect a probe and
watch the APIC bus) I can do a watchdog-like thing, where I
detect that system is fubar and reboot it. Its not pretty,
but it will work in short term.

denis

- -- 
if you want to reply by mail, please tweak my
address in a reasonable way. sorry for the 
inconvenience.

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

Newsgroups: comp.sys.powerpc.misc,comp.sys.powerpc.tech,comp.os.vxworks
Subject: Re: Anyone actually did 82xx CP Loading Measurement?
Date: 9 Jul 2002 11:45:50 -0700
From: ryeung@earthlink.net (Raymond Yeung)
Organization: http://groups.google.com/
Message-ID: <d83bb8e3.0207091045.10dfee8d@posting.google.com>
References: <d83bb8e3.0207011126.2ac6581@posting.google.com> <20020704212252524+0100@clarity.daystar.local> <d83bb8e3.0207051325.5ce2e836@posting.google.com>

I think I find out what the problem is now.  The clock tick period for the
RISC timers is a function of CLK_IN (or the input oscillator period), while
that for the general purpose timer is a function of CPM_CLK (i.e. the General
system clock, see Section 9 of 8260 manual).

There's a scaling factor between CLK_IN and CPM_CLK as defined in the manual.
It's this factor that accounts for the difference.

Sorry for the confusion.
Raymond

ryeung@earthlink.net (Raymond Yeung) wrote in message news:<d83bb8e3.0207051325.5ce2e836@posting.google.com>...
> Interestingly, based on my test results, Motorola's scaling factor actually
> works, whereas mine doesn't.
> 
> Here's the setup that works:
> RISC Timer: 
>     RCCR TIMEP = 15 (to get scaling factor of 16)
>     Thus, tick interval = 16 x 1024 general system clocks.
> General Purpose Timer:
>     ICLK = Internal general system clock divided by 16
>     Prescaler value = 256
>     Thus, tick interval = 256 x 16 general system clocks.
> 
> It seems there's a factor of 4 unaccoutable (not described) by the
> manual??  What did I miss?
> 
> Raymond
> 
> Alastair J. Houghton <ajhoughton@lineone.net> wrote in message news:<20020704212252524+0100@clarity.daystar.local>...
> > In <d83bb8e3.0207011126.2ac6581@posting.google.com> Raymond Yeung wrote:
> > > Motorola suggests the following procedure on their MPC8260 manual
> > > for measuring CP Loading:
> > 
> > [snip]
> > 
> > > Here're the questions:
> > > 1. My understanding is that, the general purpose timer can take the 
> > > system    clock (i.e. the CPM clock) divided by 16 then divided again 
> > > by a pre-scalar    value of maximum of 256.  Even if I slow it down to 
> > > the maximum, the     best I can get is 256 x 16 that of system clock.
> > >    Don't I need to match the input clock rate in both RISC and general 
> > > purpose    timers?
> > 
> > I think you're right; Motorola's suggestion doesn't seem to make sense
> > (and they seem to imply that the timers should run at the same rate).
> > 
> > > 2. I'm thinking of lower the scaling factor for the RISC timers from
> > >          1,024 x 16  to
> > >          1,024 x 4
> > >    This way, I can use the maximum prescale factor for the general 
> > > purpose    timer, i.e.          256 x 16    And all counters will be 
> > > changed at the same rate.  Anyone sees any    problem with this?
> > 
> > This is exactly what we did on our hardware.  It seems to work nicely (
> > we've
> > done various things that have caused CPM overload, and all of them have 
> > been
> > detected).
> > 
> > Kind regards,
> > 
> > Alastair.

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

Newsgroups: comp.os.vxworks
Subject: Re: VxWorks And TCP
Date: Tue, 09 Jul 2002 18:50:14 GMT
From: "Kevin Lay" <circlemtn@earthlink.net>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <GfGW8.10134$A43.1055119@newsread2.prod.itd.earthlink.net>
References: <FfAW8.14375$AK.1308@news.webusenet.com> <newscache$gnszyg$5w3$1@lnews.actcom.co.il>

The socket option is TCP_NODELAY.  Also, make sure your task priorities
aren't out of whack.  The network task usually runs around pri=50.  It has
to be lower pri num than your server/client tasks.  I see the priority of
199 being used, so that's not particularly a problem, but you might revisit
task priorities in any case.  Hope this helps.

Kevin

"Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM> wrote in message
news:newscache$gnszyg$5w3$1@lnews.actcom.co.il...
> The reason for slow performance is the ACK messages are very short, and
TCP
> waits a while before sending this data out to the network.
> This behaviour can be turned off with TCP_NDELAY.
>
> See this past poting on this newsgroup, and there is probably a reference
to
> this issue in the FAQ too.
>
>
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&threadm=325C1550
>
.4BA9%40peacefulstar.oakland.ca.us&rnum=3&prev=/groups%3Fas_q%3DTCP%2520DELA
>
Y%26safe%3Dimages%26ie%3DUTF-8%26oe%3DUTF-8%26as_ugroup%3Dcomp.os.vxworks%26
> lr%3D%26hl%3Den
>
> "Joel Hannah" <hannah@aos-inc.com> wrote in message
> news:FfAW8.14375$AK.1308@news.webusenet.com...
> > I am trying to implement a custom ethernet command datalink using TCP.
For
> > clarity I will call this protocol ULINK. ULINK is a "single command per
> > ethernet packet" protocol thus the commands are always less than 1500
> bytes,
> > most of the ULINK commands are less than 20 bytes.
> >
> > I have written a Windows program that initiates a TCP session with my
> > VxWorks Pentium target and then sends commands and receives data from
the
> > VxWorks target. After session is established, the TCP worker task waits
> for
> > a ULINK command packet. The ULINK command is then ACKd or NAKd to make
> sure
> > commands are "lockstepped" with the Windows program. The ULINK protocol
is
> > described below:
> >
> > <Byte Count (4 bytes)><Command Identifier (2 bytes)><Command Data
> > (variable)><Check Sum (1 byte)>
> >
> > The Byte Count includes the checksum. Thus I read the first four bytes,
> > allocate a buffer for the rest of the ULINK command and read the data
from
> > the socket.
> >
> > The problem I am experiencing is a severe "slowdown" during my TCP
session
> > from my VxWorks Pentium target. I have snooped the ethernet data and it
is
> > clearly the VxWorks target that gets extremely slow to respond to ULINK
> > commands. I have done the customer support thing with WindRiver several
> > times to no avail. My target uses the Real Tek 8139 ethernet controller
 .
> I
> > have purchased the latest driver from WindRiver for this chip. FTP
> sessions
> > seem to be very stable and reliable with decent speed during file
> transfers
> > so I fee confident that the problem is not the ethernet controller
driver
> > that is the source of the slowdown.
> >
> > I have increased TCP/IP buffers, looked at stack and buffer values at
> > runtime to see if that is my problem but everything looks good. The
> slowdown
> > condition certainly looks like a memory allocation problem but I can't
> seem
> > to find where. Has anyone else experienced this and could help me???
> >
> >
> > Thanks,
> >
> > Joel
> >
> > Below is my ULINK server code in VxWorks:
> >
> >
/*************************************************************************
> > *
> > * FUNCTION: UlinkTask
> > *
> > * This task is responsible for TCP initialization, opening sessions and
> > * closing client sessions
> > *
> > * RETURNS:  OK
> > */
> > void UlinkTask(void)
> > {
> >  struct sockaddr_in sAddr;
> >  struct sockaddr_in cAddr;
> >  int sockAddrSize;
> >  int errCode;
> >  int retCode;
> >  int sFd;
> >  int newFd;
> >  char workName[16];
> >  char outMessage[100];
> >  int ix;
> >  int optval;
> >
> >     ix = 0;
> >
> >     /* Initialize flags and handles */
> >
> >     errCode = 0;
> >
> >     if(sFd)
> >       close(sFd);
> >     if(newFd)
> >       close(newFd);
> >
> >     /*Set up TCP/IP local address*/
> >
> >     sockAddrSize = sizeof(struct sockaddr_in);
> >     bzero ((char *) &sAddr, sockAddrSize);
> >     sAddr.sin_family = AF_INET;
> >     sAddr.sin_len = (u_char) sockAddrSize;
> >     sAddr.sin_port = htons(SERVER_PORT_NUM);
> >     sAddr.sin_addr.s_addr = htonl(INADDR_ANY);
> >
> >     /* Create a TCP_based socket */
> >
> >     if((sFd = socket (AF_INET, SOCK_STREAM, 0)) == ERROR)  {
> >       errCode = 1;
> >     }
> >
> >     /* Bind socket to local address */
> >
> >     if (bind (sFd, (struct sockaddr *)&sAddr, sockAddrSize) == ERROR)  {
> >       close (sFd);
> >       errCode = 2;
> >     }
> >
> >     optval = 1;
> >     setsockopt (sFd, SOL_SOCKET, SO_KEEPALIVE, (char *)(&optval), sizeof
> > (optval));
> >     setsockopt (sFd, IPPROTO_TCP, 1, (char *)(&optval), sizeof
(optval));
> >
> >     optval = 16384;
> >     setsockopt (sFd, SOL_SOCKET, SO_SNDBUF, (char *)(&optval), sizeof
> > (optval));
> >     setsockopt (sFd, SOL_SOCKET, SO_RCVBUF, (char *)(&optval), sizeof
> > (optval));
> >
> >     /* Create queue for client connection requests */
> >
> >     if(listen (sFd, SERVER_MAX_CONNECTIONS) == ERROR)  {
> >       close(sFd);
> >       errCode = 3;
> >     }
> >
> >     if(errCode == 0) {
> >       for(;;)  {
> >         UlinkSysOut("Waiting On Connection Requests From Ulink
> > Client...\n");
> >
> >         if((newFd = accept(sFd, (struct sockaddr *)&cAddr,
&sockAddrSize))
> > == ERROR) {
> >           errCode = 4;
> >           close (sFd);
> >           break;
> >         }
> >
> >         else {
> >           UlinkSysOut(SHORTBEEPSTR);
> >           sprintf(outMessage,"Connected to Address: %s \n", (inet_ntoa
> > (cAddr.sin_addr)));
> >           UlinkSysOut(outMessage);
> >
> >           UlinkSysOut("Starting TCP Task!\n");
> >
> >           sprintf(workName,"tTcpWork%d",ix++);
> >           if(taskSpawn(workName,199,0,20000,(FUNCPTR)ClientComm,
> > newFd,0,0,0,0,0,0,0,0,0) == ERROR) {
> >             UlinkSysOut("ERROR Starting TCP Task!\n");
> >             close(newFd);
> >           }
> >         }
> >       }
> >     }
> >
> >     else {
> >       UlinkSysOut("ERROR [ULINK]: Can't Initialize ULINK Task!");
> >
> >       if(newFd)
> >         close(newFd);
> >       if(sFd)
> >         close(sFd);
> >     }
> >
> > }
> >
/*************************************************************************
> > *
> > * FUNCTION: ClientComm
> > *
> > * This task reads in ethernet packet data and checks for closed
> connectinsis
> > responsible for TCP initialization, opening sessions and
> > *
> > * RETURNS:  ERROR = 1 if errors during session
> > */
> > int ClientComm(int fHandle)
> > {
> >  int retCode,i;
> >  int readResult;
> >  int retChar;
> >  unsigned long byCount;
> >  unsigned char byBuff[5];
> >  unsigned char *enetDataBuff = 0;
> >  int numBytes;
> >
> >     retCode = 0;
> >
> >     for(;;) {
> >
> >       readResult = read(fHandle,byBuff,4);
> >
> >        if((readResult == 0) || (readResult == ERROR)) {
> >          UlinkSysOut("ERROR [ULINK]: Problem Reading Byte Count!");
> >          retCode = TERMINATE_SESSION;
> >          break;
> >        }
> >
> >       byCount = *((unsigned long *)(&byBuff[0]));
> >
> >       /* Now allocate memory based on byte count  */
> >
> >       enetDataBuff = malloc(byCount);
> >
> >       if((int)enetDataBuff == 0) {
> >         UlinkSysOut("ERROR [ULINK]: Malloc For Enet Data Buffer
Failed!");
> >         break;
> >       }
> >
> >       readResult = read(fHandle,enetDataBuff,byCount);
> >
> >       if((readResult == 0) || (readResult == ERROR)) {
> >         UlinkSysOut("ERROR [ULINK]: Problem Reading Packet Data!\n");
> >         retCode = TERMINATE_SESSION;
> >         break;
> >       }
> >
> >       retCode = ProcessServerData(readResult - 4,enetDataBuff,fHandle);
> >       taskDelay(10);
> >       free(enetDataBuff);
> >       retCode = SEND_THE_ACK;
> >
> >
> >       if(retCode) {
> >         if(retCode == SEND_THE_ACK) {
> >           SendResponse(fHandle,ACK);
> >         }
> >         else if (retCode == SEND_THE_NAK ) {
> >
> >           /* Don't Close if we have an error in the packet */
> >
> >           ultorParms.tcpErrors++;
> >           SendResponse(fHandle,NAK);
> >         }
> >         else {
> >
> >           /* Don't Close if we have an error in the packet */
> >
> >           ultorParms.tcpErrors++;
> >         }
> >       }
> >
> >     }
> >
> >
> >     if(enetDataBuff)
> >       free(enetDataBuff);
> >     close(fHandle);
> >
> >     UlinkSysOut(SHORTBEEPSTR);
> >     UlinkSysOut("Connection Closed...");
> >
> >     return(retCode);
> > }
> >
> >
> >
> > --
> > ******
> > S. Joel Hannah
> > Software Engineering Manager
> >
> > Advanced Optical Systems
> > 6767 Old Madison Pike, Suite 410
> > Huntsville, AL  35806
> >
> > (256) 971-0036   (voice)
> > (256) 971-0010   (fax)
> > (256) 580-8947  (page)
> > hannah@aos-inc.com (internet)
> >
> >
> >
>
>
>

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

Newsgroups: comp.sys.powerpc.tech,comp.sys.powerpc.misc,comp.os.vxworks
Subject: 100BaseT on 8260A with CPM at 66MHz
Date: 9 Jul 2002 11:55:49 -0700
From: ryeung@earthlink.net (Raymond Yeung)
Organization: http://groups.google.com/
Message-ID: <d83bb8e3.0207091055.51f4113d@posting.google.com>

I remember someone once posted that 8260 must use CPM clock 
at least 100MHz if 100BaseT is used.  Is there any fundamental
technical reason why this is the case?  Or is this an errata
(which I haven't come across yet).

I'm using 8260A right now, and doing experiment with 100BaseT
running CPM clock at 66MHz.  I've not noticed any problems yet.

Raymond

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

Newsgroups: comp.os.vxworks
Subject: objcopymips upgrade
Date: 9 Jul 2002 12:07:20 -0700
From: rramos01@hotmail.com (Richard Ramos)
Organization: http://groups.google.com/
Message-ID: <3f8339a8.0207091107.1d412bbd@posting.google.com>

I'm using tornado 2.1.1 for mips and I'm trying to solve a problem
which requires me to move the contents of a .data section of one file
to a specific address in ROM.  After studying the default linker
script and doing some digging around, I'm thinking that, if I could
rename the .data section of the source file to an unused name, placing
the output section at the appropriate location in ROM becomes much
easier.  The problem is that my version of  objcopymips doesn't
support the --rename-section option that was added to objcopy about a
year ago.

Can someone tell me how to go about getting a newer version of the
objcopymips program?  I know the objcopy program is open source but I
don't know how to get a version that works with non-native
architectures (I'm running win2K, I'm building for MIPS).  Also, I
would prefer not to have to build from source if it opens another can
of worms (although I will if necessary).

Rich Ramos

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

Newsgroups: comp.os.vxworks
Subject: wind semaphores
Date: Tue, 9 Jul 2002 15:13:24 -0400
From: "Mamoon Khan" <mamoonk@hotmail.com>
Organization: Nortel
Message-ID: <agfcfd$pjd$1@bcarh8ab.ca.nortel.com>

Hey all you vx Workers out there,

I am using Mutual Exclusion Semaphores in my code.  My performance
timing went up quiet significantly after adding the semaphore to my code.

Timing it found out that it takes about 4 microseconds to Take and Give a
Semaphore.

Is this finding correct and if it is, it seems to be very long for the type
of work I need to do.
I need for it to be Priority Inversion safe and task delete safe.

Can anyone suggest anything different for this type of operation so I can
save at least 50% of
time here.

TIA

Mamoon

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

Newsgroups: comp.os.vxworks
Subject: Re: VxWorks And TCP
Date: Tue, 9 Jul 2002 14:29:05 -0500
From: "Joel Hannah" <hannah@aos-inc.com>
Message-ID: <jUGW8.14793$AK.581@news.webusenet.com>
References: <FfAW8.14375$AK.1308@news.webusenet.com> <newscache$gnszyg$5w3$1@lnews.actcom.co.il> <GfGW8.10134$A43.1055119@newsread2.prod.itd.earthlink.net>

Thanks guys for the quick response....

The second setsockopt command in my server function has the third argument
set to '1' which is what TCP_NODELAY is defined as in the header file. I
took a shortcut and grepped it instead of trying to include the right
header.

I'm see no difference with the TCP_NODELAY option turned on or off. Are the
setsockopts calls in the right place. SHould they be after the accept call??

I have the server task permissions set at 201 so it shouldn't interfere with
the NET task either.

Any other ideas??

"Kevin Lay" <circlemtn@earthlink.net> wrote in message
news:GfGW8.10134$A43.1055119@newsread2.prod.itd.earthlink.net...
> The socket option is TCP_NODELAY.  Also, make sure your task priorities
> aren't out of whack.  The network task usually runs around pri=50.  It has
> to be lower pri num than your server/client tasks.  I see the priority of
> 199 being used, so that's not particularly a problem, but you might
revisit
> task priorities in any case.  Hope this helps.
>
> Kevin
>
> "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM> wrote in message
> news:newscache$gnszyg$5w3$1@lnews.actcom.co.il...
> > The reason for slow performance is the ACK messages are very short, and
> TCP
> > waits a while before sending this data out to the network.
> > This behaviour can be turned off with TCP_NDELAY.
> >
> > See this past poting on this newsgroup, and there is probably a
reference
> to
> > this issue in the FAQ too.
> >
> >
>
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&threadm=325C1550
> >
>
.4BA9%40peacefulstar.oakland.ca.us&rnum=3&prev=/groups%3Fas_q%3DTCP%2520DELA
> >
>
Y%26safe%3Dimages%26ie%3DUTF-8%26oe%3DUTF-8%26as_ugroup%3Dcomp.os.vxworks%26
> > lr%3D%26hl%3Den
> >
> > "Joel Hannah" <hannah@aos-inc.com> wrote in message
> > news:FfAW8.14375$AK.1308@news.webusenet.com...
> > > I am trying to implement a custom ethernet command datalink using TCP.
> For
> > > clarity I will call this protocol ULINK. ULINK is a "single command
per
> > > ethernet packet" protocol thus the commands are always less than 1500
> > bytes,
> > > most of the ULINK commands are less than 20 bytes.
> > >
> > > I have written a Windows program that initiates a TCP session with my
> > > VxWorks Pentium target and then sends commands and receives data from
> the
> > > VxWorks target. After session is established, the TCP worker task
waits
> > for
> > > a ULINK command packet. The ULINK command is then ACKd or NAKd to make
> > sure
> > > commands are "lockstepped" with the Windows program. The ULINK
protocol
> is
> > > described below:
> > >
> > > <Byte Count (4 bytes)><Command Identifier (2 bytes)><Command Data
> > > (variable)><Check Sum (1 byte)>
> > >
> > > The Byte Count includes the checksum. Thus I read the first four
bytes,
> > > allocate a buffer for the rest of the ULINK command and read the data
> from
> > > the socket.
> > >
> > > The problem I am experiencing is a severe "slowdown" during my TCP
> session
> > > from my VxWorks Pentium target. I have snooped the ethernet data and
it
> is
> > > clearly the VxWorks target that gets extremely slow to respond to
ULINK
> > > commands. I have done the customer support thing with WindRiver
several
> > > times to no avail. My target uses the Real Tek 8139 ethernet
controller
> .
> > I
> > > have purchased the latest driver from WindRiver for this chip. FTP
> > sessions
> > > seem to be very stable and reliable with decent speed during file
> > transfers
> > > so I fee confident that the problem is not the ethernet controller
> driver
> > > that is the source of the slowdown.
> > >
> > > I have increased TCP/IP buffers, looked at stack and buffer values at
> > > runtime to see if that is my problem but everything looks good. The
> > slowdown
> > > condition certainly looks like a memory allocation problem but I can't
> > seem
> > > to find where. Has anyone else experienced this and could help me???
> > >
> > >
> > > Thanks,
> > >
> > > Joel
> > >
> > > Below is my ULINK server code in VxWorks:
> > >
> > >
> /*************************************************************************
> > > *
> > > * FUNCTION: UlinkTask
> > > *
> > > * This task is responsible for TCP initialization, opening sessions
and
> > > * closing client sessions
> > > *
> > > * RETURNS:  OK
> > > */
> > > void UlinkTask(void)
> > > {
> > >  struct sockaddr_in sAddr;
> > >  struct sockaddr_in cAddr;
> > >  int sockAddrSize;
> > >  int errCode;
> > >  int retCode;
> > >  int sFd;
> > >  int newFd;
> > >  char workName[16];
> > >  char outMessage[100];
> > >  int ix;
> > >  int optval;
> > >
> > >     ix = 0;
> > >
> > >     /* Initialize flags and handles */
> > >
> > >     errCode = 0;
> > >
> > >     if(sFd)
> > >       close(sFd);
> > >     if(newFd)
> > >       close(newFd);
> > >
> > >     /*Set up TCP/IP local address*/
> > >
> > >     sockAddrSize = sizeof(struct sockaddr_in);
> > >     bzero ((char *) &sAddr, sockAddrSize);
> > >     sAddr.sin_family = AF_INET;
> > >     sAddr.sin_len = (u_char) sockAddrSize;
> > >     sAddr.sin_port = htons(SERVER_PORT_NUM);
> > >     sAddr.sin_addr.s_addr = htonl(INADDR_ANY);
> > >
> > >     /* Create a TCP_based socket */
> > >
> > >     if((sFd = socket (AF_INET, SOCK_STREAM, 0)) == ERROR)  {
> > >       errCode = 1;
> > >     }
> > >
> > >     /* Bind socket to local address */
> > >
> > >     if (bind (sFd, (struct sockaddr *)&sAddr, sockAddrSize) == ERROR)
{
> > >       close (sFd);
> > >       errCode = 2;
> > >     }
> > >
> > >     optval = 1;
> > >     setsockopt (sFd, SOL_SOCKET, SO_KEEPALIVE, (char *)(&optval),
sizeof
> > > (optval));
> > >     setsockopt (sFd, IPPROTO_TCP, 1, (char *)(&optval), sizeof
> (optval));
> > >
> > >     optval = 16384;
> > >     setsockopt (sFd, SOL_SOCKET, SO_SNDBUF, (char *)(&optval), sizeof
> > > (optval));
> > >     setsockopt (sFd, SOL_SOCKET, SO_RCVBUF, (char *)(&optval), sizeof
> > > (optval));
> > >
> > >     /* Create queue for client connection requests */
> > >
> > >     if(listen (sFd, SERVER_MAX_CONNECTIONS) == ERROR)  {
> > >       close(sFd);
> > >       errCode = 3;
> > >     }
> > >
> > >     if(errCode == 0) {
> > >       for(;;)  {
> > >         UlinkSysOut("Waiting On Connection Requests From Ulink
> > > Client...\n");
> > >
> > >         if((newFd = accept(sFd, (struct sockaddr *)&cAddr,
> &sockAddrSize))
> > > == ERROR) {
> > >           errCode = 4;
> > >           close (sFd);
> > >           break;
> > >         }
> > >
> > >         else {
> > >           UlinkSysOut(SHORTBEEPSTR);
> > >           sprintf(outMessage,"Connected to Address: %s \n", (inet_ntoa
> > > (cAddr.sin_addr)));
> > >           UlinkSysOut(outMessage);
> > >
> > >           UlinkSysOut("Starting TCP Task!\n");
> > >
> > >           sprintf(workName,"tTcpWork%d",ix++);
> > >           if(taskSpawn(workName,199,0,20000,(FUNCPTR)ClientComm,
> > > newFd,0,0,0,0,0,0,0,0,0) == ERROR) {
> > >             UlinkSysOut("ERROR Starting TCP Task!\n");
> > >             close(newFd);
> > >           }
> > >         }
> > >       }
> > >     }
> > >
> > >     else {
> > >       UlinkSysOut("ERROR [ULINK]: Can't Initialize ULINK Task!");
> > >
> > >       if(newFd)
> > >         close(newFd);
> > >       if(sFd)
> > >         close(sFd);
> > >     }
> > >
> > > }
> > >
> /*************************************************************************
> > > *
> > > * FUNCTION: ClientComm
> > > *
> > > * This task reads in ethernet packet data and checks for closed
> > connectinsis
> > > responsible for TCP initialization, opening sessions and
> > > *
> > > * RETURNS:  ERROR = 1 if errors during session
> > > */
> > > int ClientComm(int fHandle)
> > > {
> > >  int retCode,i;
> > >  int readResult;
> > >  int retChar;
> > >  unsigned long byCount;
> > >  unsigned char byBuff[5];
> > >  unsigned char *enetDataBuff = 0;
> > >  int numBytes;
> > >
> > >     retCode = 0;
> > >
> > >     for(;;) {
> > >
> > >       readResult = read(fHandle,byBuff,4);
> > >
> > >        if((readResult == 0) || (readResult == ERROR)) {
> > >          UlinkSysOut("ERROR [ULINK]: Problem Reading Byte Count!");
> > >          retCode = TERMINATE_SESSION;
> > >          break;
> > >        }
> > >
> > >       byCount = *((unsigned long *)(&byBuff[0]));
> > >
> > >       /* Now allocate memory based on byte count  */
> > >
> > >       enetDataBuff = malloc(byCount);
> > >
> > >       if((int)enetDataBuff == 0) {
> > >         UlinkSysOut("ERROR [ULINK]: Malloc For Enet Data Buffer
> Failed!");
> > >         break;
> > >       }
> > >
> > >       readResult = read(fHandle,enetDataBuff,byCount);
> > >
> > >       if((readResult == 0) || (readResult == ERROR)) {
> > >         UlinkSysOut("ERROR [ULINK]: Problem Reading Packet Data!\n");
> > >         retCode = TERMINATE_SESSION;
> > >         break;
> > >       }
> > >
> > >       retCode = ProcessServerData(readResult -
4,enetDataBuff,fHandle);
> > >       taskDelay(10);
> > >       free(enetDataBuff);
> > >       retCode = SEND_THE_ACK;
> > >
> > >
> > >       if(retCode) {
> > >         if(retCode == SEND_THE_ACK) {
> > >           SendResponse(fHandle,ACK);
> > >         }
> > >         else if (retCode == SEND_THE_NAK ) {
> > >
> > >           /* Don't Close if we have an error in the packet */
> > >
> > >           ultorParms.tcpErrors++;
> > >           SendResponse(fHandle,NAK);
> > >         }
> > >         else {
> > >
> > >           /* Don't Close if we have an error in the packet */
> > >
> > >           ultorParms.tcpErrors++;
> > >         }
> > >       }
> > >
> > >     }
> > >
> > >
> > >     if(enetDataBuff)
> > >       free(enetDataBuff);
> > >     close(fHandle);
> > >
> > >     UlinkSysOut(SHORTBEEPSTR);
> > >     UlinkSysOut("Connection Closed...");
> > >
> > >     return(retCode);
> > > }
> > >
> > >
> > >
> > > --
> > > ******
> > > S. Joel Hannah
> > > Software Engineering Manager
> > >
> > > Advanced Optical Systems
> > > 6767 Old Madison Pike, Suite 410
> > > Huntsville, AL  35806
> > >
> > > (256) 971-0036   (voice)
> > > (256) 971-0010   (fax)
> > > (256) 580-8947  (page)
> > > hannah@aos-inc.com (internet)
> > >
> > >
> > >
> >
> >
> >
>
>

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

Newsgroups: comp.os.vxworks
Subject: Changing the timezone
Date: Tue, 09 Jul 2002 19:38:36 GMT
From: "Donald Dayton" <don.dayton@verizon.net>
Message-ID: <0ZGW8.26170$5f3.17949@nwrddc01.gnilink.net>

What is (if any) the method to change the timezone in vxworks?  I currently
have an NT 4.0 computer that is set to the local timezone, but the
vme/vxworks is set to gmt.  The problem is that the time stamp being logged
by the communications link is off by five hours.  Does vxworks support
tcp/ip ntp ot sntp for timesync?

ddayton@csnllc.com

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

Newsgroups: comp.os.vxworks
Subject: Re: dhcpcParamsGet in hook
Date: 9 Jul 2002 16:10:29 -0700
From: kinneberg@lucent.com (keith)
Organization: http://groups.google.com/
Message-ID: <f39874e5.0207091510.36a7c6f@posting.google.com>
References: <3e5110c6.0206181202.42c96afc@posting.google.com>

Thiru,

I get stack overflow in my dhcpcEventHooks.
Behavior is variable and confusing.

Keith

thiru@colorcanvas.com (Thiru) wrote in message news:<3e5110c6.0206181202.42c96afc@posting.google.com>...
> Hello,
> 
> In my DHCP client, dhcpcParamsGet fails in the hook routine. (It works
> fine if it is called in the main routine). It does not matter whether
> it is aync or sync.
> 
> I am using T2.02 with patch #68322
> 
> Any ideas?
> 
> Regards
> Thiru

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

Newsgroups: comp.os.vxworks
Subject: What head files do you use when programming with VxWorks for MPC860?
Date: 9 Jul 2002 16:34:19 -0700
From: welson_sun@yahoo.com (Welson Sun)
Organization: http://groups.google.com/
Message-ID: <9d9eae54.0207091534.561f2e67@posting.google.com>

Hi all,
    I am writing drivers for MPC860 under VxWorks and now comparing
the head files supplied by Motorola and Windriver.
    I found that the Motorola head files ( quicc.h, qpram.h ) are
easier to understand than those supplied by Windriver ( ppc860siu.h,
ppc860cpm.h, ppc860sio.h ), but the problem is that the head files
from Motorola is too much for demostrating purpose so they are not
very suitable for VxWorks use, for example, the masks.h has such
definations like
#define GPL1/OE 0x00F00000
    Besides, these files from Motorola are really chaos, they just
differ from each other.
    The files from Windriver is more elegant, but I haven't found any
document on these files or data structures, which makes it not so easy
to use.

    Can somebody, especially those experienced with MPC8xx programming
under VxWorks, give me some suggestions on this? Thanks a lot in
advance!

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

Newsgroups: comp.os.vxworks
Subject: Re: dhcpcParamsGet in hook
Date: 09 Jul 2002 19:59:24 -0400
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Factory of the mind
Message-ID: <uptxw8nc3.fsf@sympatico.ca>
References: <3e5110c6.0206181202.42c96afc@posting.google.com> <f39874e5.0207091510.36a7c6f@posting.google.com>
Sender: bpringlemeir@DeadDuck

>>> thiru@colorcanvas.com (Thiru) wrote...

 >> In my DHCP client, dhcpcParamsGet fails in the hook routine. (It
 >> works fine if it is called in the main routine). It does not
 >> matter whether it is aync or sync.
 >> 
 >> I am using T2.02 with patch #68322
 >> 
 >> Any ideas?

>>>>> "keith" == keith  <kinneberg@lucent.com> writes:

 keith> Thiru, I get stack overflow in my dhcpcEventHooks.  Behavior
 keith> is variable and confusing.

You can modify the variables _dhcpcTaskStackSize, and
_dhcpcTaskPriority before the dhcp task is run.  Generally all of the
vxWorks task have some globals that can be hooked in a BSP to modify
the behaviour of the task.  I look at the assembler and you can change
these on an ARM.  I think that you can change them on most
architectures are they are just globals that are grabbed from an INIT
data section.

   -> lkup "dhcpcTask"
   _dhcpcTaskId              0x00285a38 bss      (vxWorks.ram)
   __dhcpcTaskStackSize      0x00247ee8 data     (vxWorks.ram)
   __dhcpcTaskPriority       0x00247ee0 data     (vxWorks.ram)
   __dhcpcTaskOptions        0x00247ee4 data     (vxWorks.ram)
   value = 0 = 0x0

This is on T2.0.1 for the ARM.  Set the values in usrRoot() or one of
its functions before usrNetInit() [or your custom function] is called
which will eventually call dhcpcLibInit().

   #ifdef T211
   #define  DHCPC_OPTION_SET(a,b)         dhcpcOptionSet(a,b)
   #define  DHCPC_LIB_INIT(a,b,c,d,e,f,g) dhcpcLibInit(a,b,c,d,e,f,g)
   #else
   #define  DHCPC_OPTION_SET(a,b)         dhcpcOptionSet(a,b,0,0,NULL)
   #define  DHCPC_LIB_INIT(a,b,c,d,e,f,g) dhcpcLibInit(a,b,c,e,f,g)
   #endif        
       /* Bad ip, then dhcp. */
       if(inet_addr(ipBuf) == (u_long)ERROR)
       {
           /* WJP: Fixme!  The code should call the usrNetInit with
            * the dhcp configured in the string.  This doesn't work for
            * Tornado 2.0.x and we can fix things when everyone is using
            * Tornado 2.1.1 or better.
            */
           extern int _dhcpcTaskStackSize;

           _dhcpcTaskStackSize = 0x1000 /* 4k */

           /* Initialize network components, loopback, etc. */
           usrNetInit("cs(0,0)host:/vxWorks.st");

           if (DHCPC_LIB_INIT (DHCPC_SPORT, DHCPC_CPORT, DHCPC_MAX_LEASES, 
                               DHCPC_MAX_MSGSIZE, DHCPC_OFFER_TIMEOUT, 
                               DHCPC_DEFAULT_LEASE, DHCPC_MIN_LEASE) == ERROR)
           {
               printf("dhcpclib init error\n");
           }
           else
...

This is not really great, but it might work.  It really doesn't matter
what you do, vx's dhcpc will never work with ever dhcp server ever
made.  So test it with a know setup and cross your fingers if the
server isn't under your control.  vx's dhcpc is wonky wonky wonky.
Hwa-Jin Bae mustn't have been around?

hth,
Bill Pringlemeir.

- -- 
I work hard because millions on welfare depend on me.
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Re: Can you help me analyze it? vxWorks expert!
Date: 9 Jul 2002 20:59:37 -0700
From: xmtang@facri.com (xiaomingtang)
Organization: http://groups.google.com/
Message-ID: <acabfdad.0207091959.3e1ddd0c@posting.google.com>
References: <acabfdad.0206271836.69f4b22f@posting.google.com> <newscache$gzxkyg$rmh$1@lnews.actcom.co.il> <acabfdad.0207011912.4fa824ee@posting.google.com> <uznxab2w7.fsf@sympatico.ca> <acabfdad.0207061805.cd9e4d2@posting.google.com> <488e459a.0207062325.67896981@posting.google.com>

Thanks everyone very much!!
Now I changed my OS to WinNT so as to use RAS.I wanna boot from WinNT,
and config my system as WTN40.pdf specification. but the following
info indicates vxWorks does not negotiate with <auth upap>.That's very
true I config PPP_OPT_NO_CHAP  PPP_STR_USER_NAME PPP_STR_PASSWD
I really don't know what's wrong.Could someone help me,thanks in
advance.

send to WinNT: CLIENT
read from winNT: CLIENTSERVER
Attaching network interface ppp0...
ppp0: ppp 2.1.2 started by 
ppp0: Connect: ppp0 <--> /tyCo/0
ppp0: sent [LCP ConfReq id=0x43 <mru 1500> <magic 0x28f69> <pcomp>
<accomp>]
ppp0: rcvd [LCP ConfReq id=0x0 <asyncmap 0x0> <auth chap 80> <magic
0xc6e> <pcom
p> <accomp>]
ppp0: sent [LCP ConfRej id=0x0 <auth chap 80>]
ppp0: rcvd [LCP ConfAck id=0x43 <mru 1500> <magic 0x28f69> <pcomp>
<accomp>]
ppp0: rcvd [LCP TermReq id=0x1 00 00 02 dc]
ppp0: sent [LCP TermAck id=0x1] 
ppp0: sent [LCP ConfReq id=0xff <mru 1500> <magic 0x3602> <pcomp>
<accomp>]
ppp0: sent [LCP ConfReq id=0xff <mru 1500> <magic 0x3602> <pcomp>
<accomp>]
ppp0: sent [LCP ConfReq id=0xff <mru 1500> <magic 0x3602> <pcomp>
<accomp>]
ppp0: sent [LCP ConfReq id=0xff <mru 1500> <magic 0x3602> <pcomp>
<accomp>]
ppp0: sent [LCP ConfReq id=0xff <mru 1500> <magic 0x3602> <pcomp>
<accomp>]
ppp0: timeout: could not establish link with peer.

my ppp version is 2.1.2 and Tornado 1.0.1

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

Newsgroups: comp.os.vxworks
Subject: Re: using D-link network adapter for network booting
Date: 9 Jul 2002 21:10:20 -0700
From: ash_kumarv@yahoo.com (Ashok)
Organization: http://groups.google.com/
Message-ID: <a92e61fe.0207092010.232db98e@posting.google.com>
References: <a92e61fe.0207090345.65a7da72@posting.google.com> <Xns9246B19435AB1borkhuisagerecom@192.19.193.66>

i have a D-Link DFE-538TX PCI Ethernet Adapter

is this sufficient information?

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

Newsgroups: comp.os.vxworks
Subject: parallel make
Date: 9 Jul 2002 22:36:55 -0700
From: rajendra_krsingh@yahoo.com (rajendra)
Organization: http://groups.google.com/
Message-ID: <479ba395.0207092136.393d983@posting.google.com>

I am building a library using vxworks rules.librery in my
makefile(host machine x86 windows). But while building archive some of
the object files are not getting included in archive.
 What I doubt is, because of parallel make two ar386 tries to access
archive simultaneously which is not allowed on windows so one of them
doesn't add object files to archive.
 Is there any way to specify not to do parallel make ? In unix we have
- -j
but when I type make -j on windows command prompt I get illegal
option.

- -rajendra

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

Newsgroups: comp.os.vxworks
Subject: Re: VxWorks And TCP
Date: Wed, 10 Jul 2002 06:07:24 GMT
From: "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM>
Organization: Verio
Message-ID: <newscache$6ru0zg$9n5$1@lnews.actcom.co.il>
References: <FfAW8.14375$AK.1308@news.webusenet.com> <newscache$gnszyg$5w3$1@lnews.actcom.co.il> <GfGW8.10134$A43.1055119@newsread2.prod.itd.earthlink.net> <jUGW8.14793$AK.581@news.webusenet.com>

I beleive the TCP_NODELAY should be set on the new file descriptor returned
by accept(), in order to take effect.

"Joel Hannah" <hannah@aos-inc.com> wrote in message
news:jUGW8.14793$AK.581@news.webusenet.com...
> Thanks guys for the quick response....
>
> The second setsockopt command in my server function has the third argument
> set to '1' which is what TCP_NODELAY is defined as in the header file. I
> took a shortcut and grepped it instead of trying to include the right
> header.
>
> I'm see no difference with the TCP_NODELAY option turned on or off. Are
the
> setsockopts calls in the right place. SHould they be after the accept
call??
>
> I have the server task permissions set at 201 so it shouldn't interfere
with
> the NET task either.
>
> Any other ideas??
>
>
> "Kevin Lay" <circlemtn@earthlink.net> wrote in message
> news:GfGW8.10134$A43.1055119@newsread2.prod.itd.earthlink.net...
> > The socket option is TCP_NODELAY.  Also, make sure your task priorities
> > aren't out of whack.  The network task usually runs around pri=50.  It
has
> > to be lower pri num than your server/client tasks.  I see the priority
of
> > 199 being used, so that's not particularly a problem, but you might
> revisit
> > task priorities in any case.  Hope this helps.
> >
> > Kevin
> >
> > "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM> wrote in message
> > news:newscache$gnszyg$5w3$1@lnews.actcom.co.il...
> > > The reason for slow performance is the ACK messages are very short,
and
> > TCP
> > > waits a while before sending this data out to the network.
> > > This behaviour can be turned off with TCP_NDELAY.
> > >
> > > See this past poting on this newsgroup, and there is probably a
> reference
> > to
> > > this issue in the FAQ too.
> > >
> > >
> >
>
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&threadm=325C1550
> > >
> >
>
.4BA9%40peacefulstar.oakland.ca.us&rnum=3&prev=/groups%3Fas_q%3DTCP%2520DELA
> > >
> >
>
Y%26safe%3Dimages%26ie%3DUTF-8%26oe%3DUTF-8%26as_ugroup%3Dcomp.os.vxworks%26
> > > lr%3D%26hl%3Den
> > >
> > > "Joel Hannah" <hannah@aos-inc.com> wrote in message
> > > news:FfAW8.14375$AK.1308@news.webusenet.com...
> > > > I am trying to implement a custom ethernet command datalink using
TCP.
> > For
> > > > clarity I will call this protocol ULINK. ULINK is a "single command
> per
> > > > ethernet packet" protocol thus the commands are always less than
1500
> > > bytes,
> > > > most of the ULINK commands are less than 20 bytes.
> > > >
> > > > I have written a Windows program that initiates a TCP session with
my
> > > > VxWorks Pentium target and then sends commands and receives data
from
> > the
> > > > VxWorks target. After session is established, the TCP worker task
> waits
> > > for
> > > > a ULINK command packet. The ULINK command is then ACKd or NAKd to
make
> > > sure
> > > > commands are "lockstepped" with the Windows program. The ULINK
> protocol
> > is
> > > > described below:
> > > >
> > > > <Byte Count (4 bytes)><Command Identifier (2 bytes)><Command Data
> > > > (variable)><Check Sum (1 byte)>
> > > >
> > > > The Byte Count includes the checksum. Thus I read the first four
> bytes,
> > > > allocate a buffer for the rest of the ULINK command and read the
data
> > from
> > > > the socket.
> > > >
> > > > The problem I am experiencing is a severe "slowdown" during my TCP
> > session
> > > > from my VxWorks Pentium target. I have snooped the ethernet data and
> it
> > is
> > > > clearly the VxWorks target that gets extremely slow to respond to
> ULINK
> > > > commands. I have done the customer support thing with WindRiver
> several
> > > > times to no avail. My target uses the Real Tek 8139 ethernet
> controller
> > .
> > > I
> > > > have purchased the latest driver from WindRiver for this chip. FTP
> > > sessions
> > > > seem to be very stable and reliable with decent speed during file
> > > transfers
> > > > so I fee confident that the problem is not the ethernet controller
> > driver
> > > > that is the source of the slowdown.
> > > >
> > > > I have increased TCP/IP buffers, looked at stack and buffer values
at
> > > > runtime to see if that is my problem but everything looks good. The
> > > slowdown
> > > > condition certainly looks like a memory allocation problem but I
can't
> > > seem
> > > > to find where. Has anyone else experienced this and could help me???
> > > >
> > > >
> > > > Thanks,
> > > >
> > > > Joel
> > > >
> > > > Below is my ULINK server code in VxWorks:
> > > >
> > > >
> >
/*************************************************************************
> > > > *
> > > > * FUNCTION: UlinkTask
> > > > *
> > > > * This task is responsible for TCP initialization, opening sessions
> and
> > > > * closing client sessions
> > > > *
> > > > * RETURNS:  OK
> > > > */
> > > > void UlinkTask(void)
> > > > {
> > > >  struct sockaddr_in sAddr;
> > > >  struct sockaddr_in cAddr;
> > > >  int sockAddrSize;
> > > >  int errCode;
> > > >  int retCode;
> > > >  int sFd;
> > > >  int newFd;
> > > >  char workName[16];
> > > >  char outMessage[100];
> > > >  int ix;
> > > >  int optval;
> > > >
> > > >     ix = 0;
> > > >
> > > >     /* Initialize flags and handles */
> > > >
> > > >     errCode = 0;
> > > >
> > > >     if(sFd)
> > > >       close(sFd);
> > > >     if(newFd)
> > > >       close(newFd);
> > > >
> > > >     /*Set up TCP/IP local address*/
> > > >
> > > >     sockAddrSize = sizeof(struct sockaddr_in);
> > > >     bzero ((char *) &sAddr, sockAddrSize);
> > > >     sAddr.sin_family = AF_INET;
> > > >     sAddr.sin_len = (u_char) sockAddrSize;
> > > >     sAddr.sin_port = htons(SERVER_PORT_NUM);
> > > >     sAddr.sin_addr.s_addr = htonl(INADDR_ANY);
> > > >
> > > >     /* Create a TCP_based socket */
> > > >
> > > >     if((sFd = socket (AF_INET, SOCK_STREAM, 0)) == ERROR)  {
> > > >       errCode = 1;
> > > >     }
> > > >
> > > >     /* Bind socket to local address */
> > > >
> > > >     if (bind (sFd, (struct sockaddr *)&sAddr, sockAddrSize) ==
ERROR)
> {
> > > >       close (sFd);
> > > >       errCode = 2;
> > > >     }
> > > >
> > > >     optval = 1;
> > > >     setsockopt (sFd, SOL_SOCKET, SO_KEEPALIVE, (char *)(&optval),
> sizeof
> > > > (optval));
> > > >     setsockopt (sFd, IPPROTO_TCP, 1, (char *)(&optval), sizeof
> > (optval));
> > > >
> > > >     optval = 16384;
> > > >     setsockopt (sFd, SOL_SOCKET, SO_SNDBUF, (char *)(&optval),
sizeof
> > > > (optval));
> > > >     setsockopt (sFd, SOL_SOCKET, SO_RCVBUF, (char *)(&optval),
sizeof
> > > > (optval));
> > > >
> > > >     /* Create queue for client connection requests */
> > > >
> > > >     if(listen (sFd, SERVER_MAX_CONNECTIONS) == ERROR)  {
> > > >       close(sFd);
> > > >       errCode = 3;
> > > >     }
> > > >
> > > >     if(errCode == 0) {
> > > >       for(;;)  {
> > > >         UlinkSysOut("Waiting On Connection Requests From Ulink
> > > > Client...\n");
> > > >
> > > >         if((newFd = accept(sFd, (struct sockaddr *)&cAddr,
> > &sockAddrSize))
> > > > == ERROR) {
> > > >           errCode = 4;
> > > >           close (sFd);
> > > >           break;
> > > >         }
> > > >
> > > >         else {
> > > >           UlinkSysOut(SHORTBEEPSTR);
> > > >           sprintf(outMessage,"Connected to Address: %s \n",
(inet_ntoa
> > > > (cAddr.sin_addr)));
> > > >           UlinkSysOut(outMessage);
> > > >
> > > >           UlinkSysOut("Starting TCP Task!\n");
> > > >
> > > >           sprintf(workName,"tTcpWork%d",ix++);
> > > >           if(taskSpawn(workName,199,0,20000,(FUNCPTR)ClientComm,
> > > > newFd,0,0,0,0,0,0,0,0,0) == ERROR) {
> > > >             UlinkSysOut("ERROR Starting TCP Task!\n");
> > > >             close(newFd);
> > > >           }
> > > >         }
> > > >       }
> > > >     }
> > > >
> > > >     else {
> > > >       UlinkSysOut("ERROR [ULINK]: Can't Initialize ULINK Task!");
> > > >
> > > >       if(newFd)
> > > >         close(newFd);
> > > >       if(sFd)
> > > >         close(sFd);
> > > >     }
> > > >
> > > > }
> > > >
> >
/*************************************************************************
> > > > *
> > > > * FUNCTION: ClientComm
> > > > *
> > > > * This task reads in ethernet packet data and checks for closed
> > > connectinsis
> > > > responsible for TCP initialization, opening sessions and
> > > > *
> > > > * RETURNS:  ERROR = 1 if errors during session
> > > > */
> > > > int ClientComm(int fHandle)
> > > > {
> > > >  int retCode,i;
> > > >  int readResult;
> > > >  int retChar;
> > > >  unsigned long byCount;
> > > >  unsigned char byBuff[5];
> > > >  unsigned char *enetDataBuff = 0;
> > > >  int numBytes;
> > > >
> > > >     retCode = 0;
> > > >
> > > >     for(;;) {
> > > >
> > > >       readResult = read(fHandle,byBuff,4);
> > > >
> > > >        if((readResult == 0) || (readResult == ERROR)) {
> > > >          UlinkSysOut("ERROR [ULINK]: Problem Reading Byte Count!");
> > > >          retCode = TERMINATE_SESSION;
> > > >          break;
> > > >        }
> > > >
> > > >       byCount = *((unsigned long *)(&byBuff[0]));
> > > >
> > > >       /* Now allocate memory based on byte count  */
> > > >
> > > >       enetDataBuff = malloc(byCount);
> > > >
> > > >       if((int)enetDataBuff == 0) {
> > > >         UlinkSysOut("ERROR [ULINK]: Malloc For Enet Data Buffer
> > Failed!");
> > > >         break;
> > > >       }
> > > >
> > > >       readResult = read(fHandle,enetDataBuff,byCount);
> > > >
> > > >       if((readResult == 0) || (readResult == ERROR)) {
> > > >         UlinkSysOut("ERROR [ULINK]: Problem Reading Packet
Data!\n");
> > > >         retCode = TERMINATE_SESSION;
> > > >         break;
> > > >       }
> > > >
> > > >       retCode = ProcessServerData(readResult -
> 4,enetDataBuff,fHandle);
> > > >       taskDelay(10);
> > > >       free(enetDataBuff);
> > > >       retCode = SEND_THE_ACK;
> > > >
> > > >
> > > >       if(retCode) {
> > > >         if(retCode == SEND_THE_ACK) {
> > > >           SendResponse(fHandle,ACK);
> > > >         }
> > > >         else if (retCode == SEND_THE_NAK ) {
> > > >
> > > >           /* Don't Close if we have an error in the packet */
> > > >
> > > >           ultorParms.tcpErrors++;
> > > >           SendResponse(fHandle,NAK);
> > > >         }
> > > >         else {
> > > >
> > > >           /* Don't Close if we have an error in the packet */
> > > >
> > > >           ultorParms.tcpErrors++;
> > > >         }
> > > >       }
> > > >
> > > >     }
> > > >
> > > >
> > > >     if(enetDataBuff)
> > > >       free(enetDataBuff);
> > > >     close(fHandle);
> > > >
> > > >     UlinkSysOut(SHORTBEEPSTR);
> > > >     UlinkSysOut("Connection Closed...");
> > > >
> > > >     return(retCode);
> > > > }
> > > >
> > > >
> > > >
> > > > --
> > > > ******
> > > > S. Joel Hannah
> > > > Software Engineering Manager
> > > >
> > > > Advanced Optical Systems
> > > > 6767 Old Madison Pike, Suite 410
> > > > Huntsville, AL  35806
> > > >
> > > > (256) 971-0036   (voice)
> > > > (256) 971-0010   (fax)
> > > > (256) 580-8947  (page)
> > > > hannah@aos-inc.com (internet)
> > > >
> > > >
> > > >
> > >
> > >
> > >
> >
> >
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Changing the timezone
Date: 9 Jul 2002 23:10:36 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207092210.3daee56c@posting.google.com>
References: <0ZGW8.26170$5f3.17949@nwrddc01.gnilink.net>

Hello,

"Donald Dayton" <don.dayton@verizon.net> wrote in message news:<0ZGW8.26170$5f3.17949@nwrddc01.gnilink.net>...
> What is (if any) the method to change the timezone in vxworks?  I currently
> have an NT 4.0 computer that is set to the local timezone, but the
> vme/vxworks is set to gmt. 

The timezone is set through an environment variable. The manual page
for ansiTime explains how this is used (and a search of the archives
of this group, and WindSurf will also show a few examples I suspect -
it comes up regularly).

> The problem is that the time stamp being logged
> by the communications link is off by five hours.  Does vxworks support
> tcp/ip ntp ot sntp for timesync?

Yes, there is an SNTP client for VxWorks. Look at the manual for
sntpcTimeGet() for more information. You will need to pass the result
of this function to clock_settime() to actually set the time.

HTH,

John...

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

Newsgroups: comp.os.vxworks
Subject: Re: how to change the baudrate for target mpc860?
Date: Wed, 10 Jul 2002 08:18:41 +0200
From: Emmanuel Herbreteau <eherbreteau@sepro-robotique.com>
Organization: SEPRO Robotique (BEP)
Message-ID: <3D2BD1C1.D12A32FC@sepro-robotique.com>
References: <qQkV8.7619$aJ4.1861702@news20.bellglobal.com>

James wrote:
> I wonder if there is any easy way to do that, perhaps only way is to burn
> some code in Flash ROM for the target?

Hi,

You can try this :

/* change the serial console setting */
extern int consoleFd;
ioctl(consoleFd, SIO_HW_OPTS_SET, CS8);
ioctl(consoleFd, SIO_MODE_SET, SIO_MODE_INT);
ioctl(consoleFd, SIO_BAUD_SET, 9600);

Regards
Emmanuel

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

Newsgroups: comp.os.vxworks
Subject: Re: wind semaphores
Date: 9 Jul 2002 23:22:29 -0700
From: rajendra_krsingh@yahoo.com (rajendra)
Organization: http://groups.google.com/
Message-ID: <479ba395.0207092222.76d7d098@posting.google.com>
References: <agfcfd$pjd$1@bcarh8ab.ca.nortel.com>

If you want same functionality what mutex provides and want to be
faster than that then you need to implement mutex.
 Use taskSafe and intLock or bindary sem.
 If your critical section is very small use intLock only (you don't
need taskSafe in this case) but if critical section is not small then
you can use
binary sem.
 Here is the skelton.
mySem()
{ 
  taskPrioritySet(tashkIdSelf(), <constant>);
  taskSafe();
  if (taskIdSelf() == lastTaskId && mySemCount != 0) {mySemCount++ ;
return;}
   lastTaskId = taskIdSelf();
   mySemCount = 1;
   semTake(myBSemId, WAIT_FOREVER);
}
 Let me know the improvments.

- -rajendra
    

 
"Mamoon Khan" <mamoonk@hotmail.com> wrote in message news:<agfcfd$pjd$1@bcarh8ab.ca.nortel.com>...
> Hey all you vx Workers out there,
> 
> I am using Mutual Exclusion Semaphores in my code.  My performance
> timing went up quiet significantly after adding the semaphore to my code.
> 
> Timing it found out that it takes about 4 microseconds to Take and Give a
> Semaphore.
> 
> Is this finding correct and if it is, it seems to be very long for the type
> of work I need to do.
> I need for it to be Priority Inversion safe and task delete safe.
> 
> Can anyone suggest anything different for this type of operation so I can
> save at least 50% of
> time here.
> 
> TIA
> 
> Mamoon

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

Newsgroups: comp.os.vxworks
Subject: Kill( ) not working.
Date: 9 Jul 2002 23:24:47 -0700
From: anjana_ranganathan@hotmail.com (Anjana)
Organization: http://groups.google.com/
Message-ID: <b58c7b3c.0207092224.5b81bd1@posting.google.com>

Hi All,

I am a vxworks newbie. I am working on vxworks 5.4 & tornado 2.  I am
trying to work with signals, but the kill() does not seem to work. My
sighandler never gets called. The code is given below:

/*program: sig.c*/

/*includes*/
#include "vxWorks.h"
#include "signal.h"
#include "stdio.h"
#include "stdLib.h"

/*declarations*/

void mysighand(int);
void recsig();
void sensig();

void mysig()
{
  taskSpawn("recsig",110,0,1000,(FUNCPTR)recsig,0,0,0,0,0,0,0,0,0,0);
}

void recsig()
{ 
  int n=0;
  if(signal(SIGUSR2,mysighand)!= 0)
    printf("\nsignal failed");
  taskSpawn("sensig",100,0,1000,(FUNCPTR)sensig,0,0,0,0,0,0,0,0,0,0);
  while(n++ < 10)
  {
   printf("...............");
  }
}

void sensig()
{ 
  int id;
  if(id = taskNameTold("recsig") == ERROR)
  {
     printf("\ntask name told failed");
     exit(1);
  }
  if(kill(id,SIGUSR2)!=0)
  {
   printf("kill() failed);
   exit(1);
  }

void mysighand(int signo)  
  {
   printf("received the signal");
  }

P.s: I am running this code on a simulator. There is no exception or
any error. The signal handler never gets called.

Any suggestions or solutions??????

Thanx in advance 
Anjana
mail me at anjana_ranganathan@hotmail.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Why the VxWorks is not downloadable from Wind River?
Date: Wed, 10 Jul 2002 08:33:49 +0200
From: "Michael Lawnick" <lawnick@bndlg.de>
Organization: Buergernetz Dillingen
Message-ID: <aggkg4$pdm$1@snoopy.bndlg.de>
References: <agen1i$iv0$1@news.mch.sbs.de> <Xns9246B1D606415borkhuisagerecom@192.19.193.66>
Sender: mlawnick@pd9524aad.dip.t-dialin.net

Hi Johan,Wojciech

FYI Tornado Prototyper has been canceled. No download possible anymore
(since >4 weeks AFAIK).

Regards,
Michael

"Johan Borkhuis" <borkhuis@agere.com> schrieb im Newsbeitrag
news:Xns9246B1D606415borkhuisagerecom@192.19.193.66...
> "Wojciech Mirski" <wojciech.mirski@siemens.pl> wrote:
>
> > Salute Fellows!
> >
> > For some time I have been noticed that VxWorks and Tornado haven't been
> > downloadable for free.
> > Does anybody know something about this?
> > How can I get VxWorks/Tornado to learn?
>
> As far as I know Tornado Prototyper can be downloaded for free.
>
> Groeten,
>         Johan
>
> --
>         o o o o o o o . . .   _____________________________
>        o      _____           ||    Johan Borkhuis        |
>      .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: using D-link network adapter for network booting
Date: Wed, 10 Jul 2002 07:18:35 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns92475E441AD71borkhuisagerecom@192.19.193.66>
References: <a92e61fe.0207090345.65a7da72@posting.google.com> <Xns9246B19435AB1borkhuisagerecom@192.19.193.66> <a92e61fe.0207092010.232db98e@posting.google.com>

ash_kumarv@yahoo.com (Ashok) wrote:

> i have a D-Link DFE-538TX PCI Ethernet Adapter
> 
> is this sufficient information?

No, we need the type of ethernet controller chip that is used on the card. 
The driver is not specific for a card, but for a chip.

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: VxWorks And TCP
Date: 10 Jul 2002 08:14:18 +0100
From: Chapman <dc8@mlgw069.uk.lucent.com>
Organization: Lucent Technologies, Columbus, Ohio
Message-ID: <jyeznx05a2d.fsf@mlgw069.uk.lucent.com>
References: <FfAW8.14375$AK.1308@news.webusenet.com> <newscache$gnszyg$5w3$1@lnews.actcom.co.il> <GfGW8.10134$A43.1055119@newsread2.prod.itd.earthlink.net> <jUGW8.14793$AK.581@news.webusenet.com> <newscache$6ru0zg$9n5$1@lnews.actcom.co.il>

"Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM> writes:

> I beleive the TCP_NODELAY should be set on the new file descriptor returned
> by accept(), in order to take effect.

All the socket options are inherited from the original listening
socket, so TCP_NODELAY can just be used when the server socket is set
up.

- - Danny

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

Newsgroups: comp.os.vxworks
Subject: Device driver for Infineons Quad PRI Chip (quadfalc PEB22554)
Date: Wed, 10 Jul 2002 09:12:55 +0200
From: "Achim Zimmer" <hjzimmer@gmx.de>
Message-ID: <aggn99$l64k2$1@ID-102608.news.dfncis.de>

I have read in a pdf from Infineon that they provide a device driver for the
quadfalc PRI chip for vxworks.

Anyone (Infineon and our supplier) can not give any hint, where to find
that.

Has anyone from you such a driver or does know where I can get such one ??

Thank you very much.

Greetings Achim

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

Newsgroups: comp.os.vxworks
Subject: how to trace incoming and outgoing data packets on a target machin
Date: 10 Jul 2002 00:28:22 -0700
From: vikas_cs3@rediffmail.com (vikas)
Organization: http://groups.google.com/
Message-ID: <c7fa8db4.0207092328.68492a28@posting.google.com>

hi,
i want to trace all data packets which my vxworks target is taking and
sending to other machine ( if its a vxworks relay agent ). Actually i
am not able to get configuration parameters for my dhcp client from
dhcp server on vxworks, so what i want to check is whether my vxworks
dhcp relay agent is relaying data packets to vxworks dhcp server
(which is on different subnet )or not. so for that outgoing data
packets must have vxworks dhcp server ip as target server. waiting for
the reply..

thanks..
- - it's mee..

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

Newsgroups: comp.os.vxworks
Subject: Re: Why the VxWorks is not downloadable from Wind River?
Date: Wed, 10 Jul 2002 07:32:23 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns9247609B37588borkhuisagerecom@192.19.193.66>
References: <agen1i$iv0$1@news.mch.sbs.de> <Xns9246B1D606415borkhuisagerecom@192.19.193.66> <aggkg4$pdm$1@snoopy.bndlg.de>

"Michael Lawnick" <lawnick@bndlg.de> wrote:

> Hi Johan,Wojciech
> 
> FYI Tornado Prototyper has been canceled. No download possible anymore
> (since >4 weeks AFAIK).

Yes, you are right. I registered again for Prototyper (after finding thee 
Prototyper page using the search engine), and after I registered I read 
that it cannot be downloaded anymore.

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: relay agent is not able to either send or recieve dhcp request or response from dhcp server
Date: 10 Jul 2002 00:35:44 -0700
From: vikas_cs3@rediffmail.com (vikas)
Organization: http://groups.google.com/
Message-ID: <c7fa8db4.0207092335.afc9299@posting.google.com>

hi,

i am sending the request again. My query is how to check whether my
vxworks dhcp relay agent is able to send or recieve dhcp data packets
to vxworks dhcp server or not. Server is on different subnet. How to
trace data packets flow on my vxworks dhcp relay agent machine.

thanks..
- - vikas..

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

Newsgroups: comp.os.vxworks
Subject: question about tornado for arm 2.0
Date: Thu, 11 Jul 2002 16:11:59 +0800
From: "degang" <wdg@bjhhl.sina.net>
Organization: Bentium Ltd. (CN99)
Message-ID: <aggqbp$2khp$1@mail.cn99.com>

hi all:
    i am writing a bsp for samsung snds100 now,here is the question:
when i typing 'c'to change the boot parameter,two paremeters were prompt in
a line in my console port,such as:
"boot device          : secEnd0 processor numbe "prompt at the same time.
while the description of  bootParamsPrompt() is
" This routine displays the current value of "each" boot parameter and
prompts the user for a new value."
why? thanx very much.

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

Newsgroups: comp.os.vxworks
Subject: Re: Any better way to do this?
Date: 10 Jul 2002 01:26:51 -0700
From: magiccp@sina.com (ping chen)
Organization: http://groups.google.com/
Message-ID: <6851b342.0207100026.673973d0@posting.google.com>
References: <bR0V8.21728$2w.433254@news20.bellglobal.com> <Xns924577F40798Aborkhuisagerecom@192.19.193.66>

Johan Borkhuis <borkhuis@agere.com> wrote in message news:<Xns924577F40798Aborkhuisagerecom@192.19.193.66>...
> "James" <jameshu@sympatico.ca> wrote:
> 
> > There are 3 tasks, each task repeats at different time period. I can
> > implement as follows:
> > But I think this is not the best way to do that, and I do not like the
> > for(;;)/FOREVER/while either.
> > Any better way to do this?
> 
> The only improvement I could suggest is to add a taskDelay(10) between the 
> taskSpawn's. This will avoid that all 3 tasks try to start at the same 
> time.
> But otherwise there is nothing wrong with this setup, I would use the same 
> kind of setup in this situation.
> 
> Groeten,
>         Johan

hi
I want to kown what is the priority of task taskVarTest ?
TIA

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

Newsgroups: comp.os.vxworks
Subject: Re: How to change the outlook asynchronously according the network packets
Date: 10 Jul 2002 01:35:06 -0700
From: jx_ch@yahoo.com (JinxiangChen)
Organization: http://groups.google.com/
Message-ID: <d236d809.0207100035.7cb801f3@posting.google.com>
References: <d236d809.0207051746.5659718a@posting.google.com> <d236d809.0207061942.485b1394@posting.google.com> <u7kk6l5l9.fsf@sympatico.ca>

Bill Pringlemeir <spam_account@sympatico.ca> wrote in message news:<u7kk6l5l9.fsf@sympatico.ca>...
> Please read the documentation in the Zinc users guide under chapter 8.
> Specifically, section 8.3.3 entitled "Multitasking Applications".  The
> Zinc users guide is usually installed in "Tornado/pdf/zinc/guide.pdf".
> 
Thanks, anyway. I could have tackled such a pest earlier if read such
material in advance. I found it till my target cracked when calling
SetVisible() of a GUI component directly in the network listener. I
guess the SetVisible() must put a REDISPLAY message on the event queue
and lead to the disaster. But here, "a strange behaviour of Zinc's
Setvisible()", I just posted in another article, really befuddled me.
Is there a 3rd Z-axis of the object? I have to employ a clumsy
solution temporarily: when I want to setvisible a window, I just
subtract all other windows on the same position, and add only the
desired one. I'm sure there is some elegant explanation and solution.
Thanks again.

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

Newsgroups: comp.os.vxworks
Subject: Re: How to change the outlook asynchronously according the network packets
Date: 10 Jul 2002 01:35:07 -0700
From: jx_ch@yahoo.com (JinxiangChen)
Organization: http://groups.google.com/
Message-ID: <d236d809.0207100035.4059c0ea@posting.google.com>
References: <d236d809.0207051746.5659718a@posting.google.com> <d236d809.0207061942.485b1394@posting.google.com> <u7kk6l5l9.fsf@sympatico.ca>

Bill Pringlemeir <spam_account@sympatico.ca> wrote in message news:<u7kk6l5l9.fsf@sympatico.ca>...
> Please read the documentation in the Zinc users guide under chapter 8.
> Specifically, section 8.3.3 entitled "Multitasking Applications".  The
> Zinc users guide is usually installed in "Tornado/pdf/zinc/guide.pdf".
> 
Thanks, anyway. I could have tackled such a pest earlier if read such
material in advance. I found it till my target cracked when calling
SetVisible() of a GUI component directly in the network listener. I
guess the SetVisible() must put a REDISPLAY message on the event queue
and lead to the disaster. But here, "a strange behaviour of Zinc's
Setvisible()", I just posted in another article, really befuddled me.
Is there a 3rd Z-axis of the object? I have to employ a clumsy
solution temporarily: when I want to setvisible a window, I just
subtract all other windows on the same position, and add only the
desired one. I'm sure there is some elegant explanation and solution.
Thanks again.

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

Newsgroups: comp.os.vxworks
Subject: Re: how to trace incoming and outgoing data packets on a target machin
Date: Wed, 10 Jul 2002 09:40:02 GMT
From: "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM>
Organization: Verio
Message-ID: <newscache$ll41zg$hx5$1@lnews.actcom.co.il>
References: <c7fa8db4.0207092328.68492a28@posting.google.com>

Fir this simple debugging task, you dont really need to capture any packets
inside VxWorks, it would probably be enough to use an external Sniffer.
All you need is a Hib (not switch) and a PC, then dowload one of many freely
downloadable packet sniffing utilities for Windows or Linux.

The Hub will repeat every packet sent or received to the Sniffer PC.

If you have a managed switch (e.g. Cat 35xx or 29xx) you can use the swtch
CLI to redirect (aka monitor) of all the traffic to/from VxWorks target to
the port where the  sniffer is connected.

"vikas" <vikas_cs3@rediffmail.com> wrote in message
news:c7fa8db4.0207092328.68492a28@posting.google.com...
> hi,
> i want to trace all data packets which my vxworks target is taking and
> sending to other machine ( if its a vxworks relay agent ). Actually i
> am not able to get configuration parameters for my dhcp client from
> dhcp server on vxworks, so what i want to check is whether my vxworks
> dhcp relay agent is relaying data packets to vxworks dhcp server
> (which is on different subnet )or not. so for that outgoing data
> packets must have vxworks dhcp server ip as target server. waiting for
> the reply..
>
> thanks..
> - it's mee..

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

Newsgroups: comp.os.vxworks
Subject: Re: why rewrite a old file speed is so slow?
Date: Mon, 08 Jul 2002 07:00:36 GMT
From: "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM>
Organization: Verio
Message-ID: <newscache$8v7xyg$4ye$1@lnews.actcom.co.il>
References: <8446174.0207071649.294b5c64@posting.google.com>

Yang, I have sesponded to a very similar question recently:

If you re-write an existing file, and your write buffer is not
aligned to sectors, then the first and last sector to be modified
in each write call needs to be first read into memory (disk cache),
modified and written back.
If all your writes where sector aligned, you might find rewriting an
existing file to be even somewhat faster than writing a newly created
file because you save space allocation procedure.

"yang" <shyang@netease.com> wrote in message
news:8446174.0207071649.294b5c64@posting.google.com...
> I used dosfs2.0 in tornado ,I find I rewrite a old file speed is twice
> than when I create a new file and write it. Why?

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

Newsgroups: comp.os.vxworks
Subject: Re: debugging vxworks on target shell
Date: Mon, 08 Jul 2002 07:08:09 GMT
From: "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM>
Organization: Verio
Message-ID: <newscache$s78xyg$hye$1@lnews.actcom.co.il>
References: <f81c4277.0207072239.394397f7@posting.google.com>

As a "mentor", I strongly recommend you should read the
VxWorks Programmers Manual, which can be downloaded
from WindRiver web site.

The reason for not seeing the tasks is trivial: each task
you created has a main function, which returns after printing,
and when a task's main function returns, the task exist,
deallocates all irs resources, and does not exist anymore.
Returning of the task main function means task is killing itself.

Now, if your code would look like:

void taskone(void)
{
for(;;) {
 printf("taskone: %d\n", taskIdSelf() );
 taskDelay( 5 * sysClkRateGet() ); /* 5 sec delay */
 }
}

then the task message would be printed every 5 seconds, and
would exist indefinitely, or until the task is deleted by some other means.

"subbarayan" <vxnerd@rediffmail.com> wrote in message
news:f81c4277.0207072239.394397f7@posting.google.com...
> dear mentors,
> Can any one tell me how to get the status i mean states of tasks which
> is running on the target with vxworks?I have a stand alone target with
> standard pc architecture and 386 processor.I made a sample program
> like this:#include "vxWorks.h"
> #include <stdio.h>
> void taskone(void);
> void tasktwo(void);
> void taskthree(void);
> void taskroot()
> { int taskid;
> taskid=taskSpawn("task1",30,0x100,2000,taskone,0,0,0,0,0,0,0,0,0,0);
> taskid=taskSpawn("task2",25,0x100,2000,tasktwo,0,0,0,0,0,0,0,0,0,0);
> taskid=taskSpawn("task3",40,0x100,2000,taskthree,0,0,0,0,0,0,0,0,0,0);
> }
> void taskone(void)
> {
> printf("hai i am taskone and my id is %d\n",taskIdSelf());
> }
> void tasktwo(void)
> {
> printf("hai i am tasktwo and my id is %d\n",taskIdSelf());
> }
> void taskthree(void)
> {
> printf("hai i am taskthree and my id is %d\n",taskIdSelf());
> }
> After compiling my program i booted the target.My application ran and
> printed,
> i am tasktwo then i am taskone then i am taskthree and printed their
> respective taskids.
> now when i use the i command or ti command on the shell i am unable to
> find any one of the above said tasks in the list.
> when i give ti taskone its saying taskone not found,but after that
> prints like this:
> value=0x10
> like this.
> Note that i don't have any link between my host and target and i
> booted my target using a floppy.I use tornado1.0.
> In the customise project menu,i gave the command like this:
> CPU=I80386 ADDED_CFLAGS=-g example1.o,to build and compile my code.
> where example1 is my program which contains the above said code.
> Should i include any more flags there?where is the error in
> configuring which prevents me from accessing the task status?
> If any error i will be happy if anyone could point out where the error
> is and what should be done to rectify it?
> I am new to vxworks and depending fully on u mentors for my
> future.Thanks in advance to the person who replies me.
> Anyone with a soln can mail me to vxnerd@rediffmail.com or reply me in
> the board itself.

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

Newsgroups: comp.os.vxworks
Subject: Re: dhcpcParamsGet in hook
Date: Wed, 10 Jul 2002 10:41:04 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3D2C0FB8.6010605@spamm.me.l8s.co.uk>
References: <3e5110c6.0206181202.42c96afc@posting.google.com> <f39874e5.0207091510.36a7c6f@posting.google.com> <uptxw8nc3.fsf@sympatico.ca>

> 
> This is not really great, but it might work.  It really doesn't matter
> what you do, vx's dhcpc will never work with ever dhcp server ever
> made.  So test it with a know setup and cross your fingers if the
> server isn't under your control.  vx's dhcpc is wonky wonky wonky.
> Hwa-Jin Bae mustn't have been around?

Not helped by the fact that the RFCs are not backward compatible.
But the dhcpc code has a moderate amount of 'bloat' in it.

I raised to many bug reports on it WRS sent me the source :-)

	David

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

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

From vxwexplo-errs@csg.lbl.gov  Thu Jul 11 04:03:15 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Thu Jul 11 04:03:18 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Thu Jul 11 04:03:10 PDT 2002

        Subject: Re: question about tornado for arm 2.0
        Subject: Re: Any better way to do this?
        Subject: Re: Loosing interrupts in MPC 750 doze mode
        Subject: Re: Why the VxWorks is not downloadable from Wind River?
        Subject: Re: Kill( ) not working.
        Subject: Re: Why the VxWorks is not downloadable from Wind River?
        Subject: dosFS2 and Tornado 2.0.2 Patch
        Subject: Tornado 2 On Windows XP
        Subject: Re: Kill( ) not working.
        Subject: Re: 100BaseT on 8260A with CPM at 66MHz
        Subject: Re: dhcpcParamsGet in hook
        Subject: Re: dosFS2 and Tornado 2.0.2 Patch
        Subject: Re: Tornado101 and Tornado211 Compiler options.
        Subject: Re: dosFS2 and Tornado 2.0.2 Patch
        Subject: You Do Make Money Here!  4758
        Subject: Re: dhcpcParamsGet in hook
        Subject: Re: Tornado 2 On Windows XP
        Subject: taskLock() and logMsg()
        Subject: Re: VxWorks And TCP
        Subject: Re: Tornado 2 On Windows XP
        Subject: Re: taskLock() and logMsg()
        Subject: Re: using D-link network adapter for network booting
        Subject: Downloading files to target using windsh -s
        Subject: Debugger Problems
        Subject: serial driver i8250 FIOPROTOHOOK options

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

Newsgroups: comp.os.vxworks
Subject: Re: question about tornado for arm 2.0
Date: Wed, 10 Jul 2002 13:21:51 +0200
From: "Michael Lawnick" <lawnick@bndlg.de>
Organization: Buergernetz Dillingen
Message-ID: <agh5cc$oga$1@snoopy.bndlg.de>
References: <aggqbp$2khp$1@mail.cn99.com>
Sender: mlawnick@pd9524aad.dip.t-dialin.net

Hi degang,

try 'p' to view all parameters in the list. If they are printed in one
single line, its a problem of your terminal settings. It ignores the '\n'.

If 'p' works, next question is:
Have you typed caret after after "boot device          : secEnd0" ?
If yes, it might be a problem of your terminal settings or your serial
inetrface on your target is misconfigured. Take a look into ioLib.h for
OPT_TERMINAL vs OPT_RAW.
If both parameters are printed atonce, it sounds like a bug in
target/all/bootConfig.c et al

HTH
Michael

"degang" <wdg@bjhhl.sina.net> schrieb im Newsbeitrag
news:aggqbp$2khp$1@mail.cn99.com...
> hi all:
>     i am writing a bsp for samsung snds100 now,here is the question:
> when i typing 'c'to change the boot parameter,two paremeters were prompt
in
> a line in my console port,such as:
> "boot device          : secEnd0 processor numbe "prompt at the same time.
> while the description of  bootParamsPrompt() is
> " This routine displays the current value of "each" boot parameter and
> prompts the user for a new value."
> why? thanx very much.
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Any better way to do this?
Date: Wed, 10 Jul 2002 11:41:12 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns92478ACA32500borkhuisagerecom@192.19.193.66>
References: <bR0V8.21728$2w.433254@news20.bellglobal.com> <Xns924577F40798Aborkhuisagerecom@192.19.193.66> <6851b342.0207100026.673973d0@posting.google.com>

magiccp@sina.com (ping chen) wrote:

> Johan Borkhuis <borkhuis@agere.com> wrote in message
> news:<Xns924577F40798Aborkhuisagerecom@192.19.193.66>... 
>> The only improvement I could suggest is to add a taskDelay(10)
>> between the taskSpawn's. This will avoid that all 3 tasks try to
>> start at the same time.
>> But otherwise there is nothing wrong with this setup, I would use the
>> same kind of setup in this situation.

> hi
> I want to kown what is the priority of task taskVarTest ?
> TIA

The best would be if it would have a priority higher than tMytask1, this 
ensures that the other tasks will be created. So running this at a 
priority of 90 would be good.

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: Loosing interrupts in MPC 750 doze mode
Date: Mon, 08 Jul 2002 17:03:24 GMT
From: "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM>
Organization: Verio
Message-ID: <newscache$0szxyg$fg1$1@lnews.actcom.co.il>
References: <agcbji$lrc$1@rex.ip-plus.net>

Just my 2 cents:
can you set the interrupts into "level mode" ?
(assuming your current mode is "edge")

"Rene Straub" <_remove_rene.straub@yetnet.ch> wrote in message
news:agcbji$lrc$1@rex.ip-plus.net...
> Hey folks,
>
> I am still playing around with the MPC 750 doze
> mode. Unfortunately I ran into a problem. My
> hardware seems to loose interrupts from the
> Ethernet controller. I could observe this behaviour
> with different tests, but have not found a solution
> yet.
>
> Has anyone successfully used the doze mode
> in conjunction with VxWorks in a project. It would
> be very helpful to know of a working solution.
>
> My system is basically built around a MPC750,
> 106 bridge and an AMD 97C79 Ethernet controller.
>
> Yours
> - Rene
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Why the VxWorks is not downloadable from Wind River?
Date: Wed, 10 Jul 2002 14:21:43 +0200
From: "Wojciech Mirski" <wojciech.mirski@siemens.pl>
Organization: Siemens Inc.
Message-ID: <agh8sm$iv0$1@news.mch.sbs.de>
References: <agen1i$iv0$1@news.mch.sbs.de> <Xns9246B1D606415borkhuisagerecom@192.19.193.66> <aggkg4$pdm$1@snoopy.bndlg.de>

Yes, but can anybody determine where can I get VxWorks from (for free of
course)?
Maybe someone from direct source - Wind River can answer. I'm sure that Guys
used to read this newsgroup.
Regards,

Wojtek.

"Michael Lawnick" <lawnick@bndlg.de> wrote in message
news:aggkg4$pdm$1@snoopy.bndlg.de...
> Hi Johan,Wojciech
>
> FYI Tornado Prototyper has been canceled. No download possible anymore
> (since >4 weeks AFAIK).
>
> Regards,
> Michael
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Kill( ) not working.
Date: 10 Jul 2002 05:52:17 -0700
From: kannan@comneti.com (kannan)
Organization: http://groups.google.com/
Message-ID: <2ede7703.0207100452.94b9e02@posting.google.com>
References: <b58c7b3c.0207092224.5b81bd1@posting.google.com>

Hi,

Try checking the below code.I have made changes in your code.

Kanna

/*includes*/
#include "vxWorks.h"
#include "signal.h"
#include "stdio.h"
#include "stdLib.h"

/*declarations*/

void mysighand(int);
void recsig();
void sensig();

void mysig()
{
  taskSpawn("recsig",110,0,1000,(FUNCPTR)recsig,0,0,0,0,0,0,0,0,0,0);
}

void recsig()
{ 
  int n=0;
  if(signal(SIGUSR2,mysighand)!= 0)
    printf("\nsignal failed");
/* taskSpawn("sensig",100,0,1000,(FUNCPTR)sensig,0,0,0,0,0,0,0,0,0,0);*//*kk*/
   sensig();/*kk*/
  while(n++ < 10)
  {
   printf("...............");
  }
}

void sensig()
{ 
  int id;
  if((id = taskNameToId("recsig")) == ERROR)/*kk*/
  {
     printf("\ntask name told failed");
     exit(1);
  }
  if(kill(id,SIGUSR2)!=0)
  {
   printf("kill() failed");/*kk*/
   exit(1);
  }
}/*kk*/
void mysighand(int signo)  
  {
   printf("received the signal");
  }

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

Newsgroups: comp.os.vxworks
Subject: Re: Why the VxWorks is not downloadable from Wind River?
Date: Wed, 10 Jul 2002 12:58:03 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns924797D12D085borkhuisagerecom@192.19.193.66>
References: <agen1i$iv0$1@news.mch.sbs.de> <Xns9246B1D606415borkhuisagerecom@192.19.193.66> <aggkg4$pdm$1@snoopy.bndlg.de> <agh8sm$iv0$1@news.mch.sbs.de>

"Wojciech Mirski" <wojciech.mirski@siemens.pl> wrote:

> Yes, but can anybody determine where can I get VxWorks from (for free
> of course)?

You could try to get an evaluation license. This is a time-limited version, 
that your local sales rep might want to give you. But you have to go to 
WindRiver for this. There are no other ways, now Prototyper has gone.

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: dosFS2 and Tornado 2.0.2 Patch
Date: Mon, 08 Jul 2002 17:44:45 GMT
From: "G Loucks" <gloucks@hotmail.com>
Organization: Shaw Residential Internet
Message-ID: <hckW8.28760$Xs6.1252605@news2.calgary.shaw.ca>

I've recently installed dosFS 2.0 and Tornado 2.0.2 for PPC8xx and I'm
having gnu library issues. I believe I'm suffering from SPR#64615, which
basically says that the libs are not properly updated after installing dosFS
2.0. The SPR then references a script to do the update. However, I can't
find the script! Anyone have it? or know the ar files and flags to use?

Thanks,
Greg.

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

Newsgroups: comp.os.vxworks
Subject: Tornado 2 On Windows XP
Date: Wed, 10 Jul 2002 11:47:43 -0400
From: "John Schreuders" <john_schreuders@mitel.com>
Organization: AT&T Canada IES
Message-ID: <_GYW8.5653$H67.29583@tor-nn1.netcom.ca>

Hey there;

Has anyone ever tried intalling Tornado 2 on a Windows XP machine? Did it
work?? I tried and got a crazy "Unhandled Exception" message.

I am getting the sinking feeling I am SOL and need to go back to my trusty
old Windows 2000 setup.

Thanks in advance

John

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

Newsgroups: comp.os.vxworks
Subject: Re: Kill( ) not working.
Date: 10 Jul 2002 09:16:46 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207100816.10aed2f8@posting.google.com>
References: <b58c7b3c.0207092224.5b81bd1@posting.google.com>

Hello,

Make sure that the task you have receiving the signal stays alive
until after it has been delivered. I would suggest replacing the while
loop at the end of recsig() with something like this for the purposes
of your test:

FOREVER
    {
    printf (".");
    taskDelay (sysClkRateGet());
    }

Of course, you could always set it up so that the arrival of the
signal terminates the task too (just add a call to exit() into your
signal handler).

HTH,

John...

anjana_ranganathan@hotmail.com (Anjana) wrote in message news:<b58c7b3c.0207092224.5b81bd1@posting.google.com>...
> Hi All,
> 
> I am a vxworks newbie. I am working on vxworks 5.4 & tornado 2.  I am
> trying to work with signals, but the kill() does not seem to work. My
> sighandler never gets called. The code is given below:
> 
> /*program: sig.c*/
> 
> /*includes*/
> #include "vxWorks.h"
> #include "signal.h"
> #include "stdio.h"
> #include "stdLib.h"
> 
> /*declarations*/
> 
> void mysighand(int);
> void recsig();
> void sensig();
> 
> void mysig()
> {
>   taskSpawn("recsig",110,0,1000,(FUNCPTR)recsig,0,0,0,0,0,0,0,0,0,0);
> }
> 
> void recsig()
> { 
>   int n=0;
>   if(signal(SIGUSR2,mysighand)!= 0)
>     printf("\nsignal failed");
>   taskSpawn("sensig",100,0,1000,(FUNCPTR)sensig,0,0,0,0,0,0,0,0,0,0);
>   while(n++ < 10)
>   {
>    printf("...............");
>   }
> }
> 
> void sensig()
> { 
>   int id;
>   if(id = taskNameTold("recsig") == ERROR)
>   {
>      printf("\ntask name told failed");
>      exit(1);
>   }
>   if(kill(id,SIGUSR2)!=0)
>   {
>    printf("kill() failed);
>    exit(1);
>   }
> 
> void mysighand(int signo)  
>   {
>    printf("received the signal");
>   }
> 
> P.s: I am running this code on a simulator. There is no exception or
> any error. The signal handler never gets called.
> 
> Any suggestions or solutions??????
> 
> Thanx in advance 
> Anjana
> mail me at anjana_ranganathan@hotmail.com

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

Newsgroups: comp.sys.powerpc.tech,comp.sys.powerpc.misc,comp.os.vxworks
Subject: Re: 100BaseT on 8260A with CPM at 66MHz
Date: 10 Jul 2002 12:28:35 -0400
From: vanbaren@falcon.si.com (vanbaren_gerald)
Organization: Smiths Industries
Message-ID: <3d2c60b3$1@news.si.com>
References:  <d83bb8e3.0207091055.51f4113d@posting.google.com>

ryeung@earthlink.net (Raymond Yeung) writes:

>I remember someone once posted that 8260 must use CPM clock 
>at least 100MHz if 100BaseT is used.  Is there any fundamental
>technical reason why this is the case?  Or is this an errata
>(which I haven't come across yet).

>I'm using 8260A right now, and doing experiment with 100BaseT
>running CPM clock at 66MHz.  I've not noticed any problems yet.

>Raymond

Motorola says "Assuming a 100-MHz CPM clock...", Chapter 28 (FCC), so
it is a documented limitation.  I'm sure the limitation is because the
CPM will not be able to process the data fast enough to keep up so you
will have buffer underruns on Tx and buffer overruns on Rx.  This will
not happen on short packets on an idle network, but it will happen once
you start sending a lot of traffic, receiving a lot of traffic, or using
larger packets.

A couple of lines up in the bullet list is "192-byte FIFO buffers".
You will probably be OK until you try sending/receiving packets larger
than the FIFO.

gvb

- --
+-----------------------------------------------------------------------+
|      Jerry Van Baren / vanbaren_gerald@si.com / Grand Rapids, MI      |
| My employer is a company.  Companies are artifacts of a legal system. |
|_____________Artifacts are incapable of having opinions._______________|

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

Newsgroups: comp.os.vxworks
Subject: Re: dhcpcParamsGet in hook
Date: Wed, 10 Jul 2002 19:10:55 +0200
From: Gerald van Kampen <gkampen@xs4all.nl>
Message-ID: <3D2C6A9F.7040303@xs4all.nl>
References: <3e5110c6.0206181202.42c96afc@posting.google.com>

Thiru,

The purpose of the event hook is to notify an external source
of a change in lease status. The documentation explicitly states that the hook
routine must not perform any high-level DHCP operations. It is intended for
quick tasks such as giving a semaphore. Accessing lease data is not valid
within that routine since verification is not complete.

HTH,
Gerald

Thiru wrote:
> Hello,
> 
> In my DHCP client, dhcpcParamsGet fails in the hook routine. (It works
> fine if it is called in the main routine). It does not matter whether
> it is aync or sync.
> 
> I am using T2.02 with patch #68322
> 
> Any ideas?
> 
> Regards
> Thiru

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

Newsgroups: comp.os.vxworks
Subject: Re: dosFS2 and Tornado 2.0.2 Patch
Date: Mon, 08 Jul 2002 18:57:33 GMT
From: "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM>
Organization: Verio
Message-ID: <newscache$a25yyg$gn1$1@lnews.actcom.co.il>
References: <hckW8.28760$Xs6.1252605@news2.calgary.shaw.ca>

I dont have now access to SPRs, but if you detail the nature of your library
trouble, I might be able to advise.

"G Loucks" <gloucks@hotmail.com> wrote in message
news:hckW8.28760$Xs6.1252605@news2.calgary.shaw.ca...
> I've recently installed dosFS 2.0 and Tornado 2.0.2 for PPC8xx and I'm
> having gnu library issues. I believe I'm suffering from SPR#64615, which
> basically says that the libs are not properly updated after installing
dosFS
> 2.0. The SPR then references a script to do the update. However, I can't
> find the script! Anyone have it? or know the ar files and flags to use?
>
> Thanks,
> Greg.
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Tornado101 and Tornado211 Compiler options.
Date: Wed, 10 Jul 2002 19:29:44 +0200
From: Gerald van Kampen <gkampen@xs4all.nl>
Message-ID: <3D2C6F08.9050809@xs4all.nl>
References: <ee967989.0206281808.78503c43@posting.google.com>

DSA,

Look in RELEASE NOTES AND ARCHITECTURE SUPPLEMENT Tornado for MIPS 2.1.1 Chapter 6 (Defining Compiler Options)

HTH,
Gerald

dsa wrote:
> Hi All,
> 
> We currently upgraded to T211 from T101. The same code base which
> works very fine, compiled with new environment behaves very weird.
> Sometimes it crashes with exceptions like address bound exception.
> Have anyone upgraded
> from T101 to T211 ? The Platform MIPS R4000.
> 
> The compiler options used for T101
> ccmips -EB -mcpu=r4000 -mips3 -mgp32 -mfp32 -non_shared -G 0  -ansi
> -nostdinc -O2 -funroll-loops -fno-for-scope -fno-builtin
> 
> The new compiler options used for T211
> ccmips -EB -mips4 -G 0 -ansi -mno-branch-likely -fno-builtin -O2
> -funroll-loops
> 
> Thanks
> DSA

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

Newsgroups: comp.os.vxworks
Subject: Re: dosFS2 and Tornado 2.0.2 Patch
Date: Mon, 08 Jul 2002 20:07:47 GMT
From: "G Loucks" <gloucks@hotmail.com>
Organization: Shaw Residential Internet
Message-ID: <nimW8.29409$Xs6.1315665@news2.calgary.shaw.ca>
References: <hckW8.28760$Xs6.1252605@news2.calgary.shaw.ca> <newscache$a25yyg$gn1$1@lnews.actcom.co.il>

   SPR#: 64615
   ARCH: All
  BOARD:
HOST OS: N/A

DESCRIPTION:

When you re-install dosFs2.0 on top of T2.0.2 (patch T2CP4) in line with the
warning of the README, you are prompted by SETUP because itneeds to
overwrite files that are more recent.

WORKAROUND

When installing dosFs 2.0 over Tornado 2.0.2 (T2CP4), one must choose to
overwrite all files. The dosFs 2.0 files may have an older date that their
Tornado 2.0.2 counterparts, but they are required for proper dosFs 2.0
function.

Furthermore, one must also ensure that all object files installed with dosFs
2.0 are inserted in the appropriate library. It may appear that the dosFs
2.0 installation program is performing this function, but, in reality, the
program will not overwrite the newer object files of Tornado 2.0.2 in the
library with the older object files of dosFs 2.0. This results in an
incomplete installation.

To complete the installation, one can use one of the attached script files
(dosfs2.bat - Windows batch file, or dosfs2.sh - UNIX Bourne shell script)
to update the appropriate libraries. The first argument to each script
specifies the architecture, for use in the appropriate arxxx command name,
and the second argument specifies the target CPU, for use in the appropriate
libxxxgnuvx.a file name. The script should be run once for each library that
needs to be updated.

"Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM> wrote in message
news:newscache$a25yyg$gn1$1@lnews.actcom.co.il...
> I dont have now access to SPRs, but if you detail the nature of your
library
> trouble, I might be able to advise.
>
> "G Loucks" <gloucks@hotmail.com> wrote in message
> news:hckW8.28760$Xs6.1252605@news2.calgary.shaw.ca...
> > I've recently installed dosFS 2.0 and Tornado 2.0.2 for PPC8xx and I'm
> > having gnu library issues. I believe I'm suffering from SPR#64615, which
> > basically says that the libs are not properly updated after installing
> dosFS
> > 2.0. The SPR then references a script to do the update. However, I can't
> > find the script! Anyone have it? or know the ar files and flags to use?
> >
> > Thanks,
> > Greg.
> >
> >
>
>

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

Newsgroups: comp.os.vxworks
Subject: You Do Make Money Here!  4758
Date: Mon, 8 Jul 2002 21:28:41 +0000 (UTC)
From: 1@hotmail.com
Organization: Telenordia/Algonet
Message-ID: <agd068$pqe$8196@green.tninet.se>

Hello!

You may have seen this business before and
ignored it. I know I did - many times! However,
please take a few moments to read this letter.
I was amazed when the profit potential of this
business finally sunk in... and it works!

With easy-to-use e-mail tools and opt-in e-mail,
success in this business is now fast, easy and
well within the capabilities of ordinary people
who know little about internet marketing. And the
earnings potential is truly staggering!

I'll make you a promise. READ THIS E-MAIL TO THE END! -
follow what it says to the letter - and you will not
worry whether a RECESSION is coming or not, who is
President, or whether you keep your current job or not.
Yes, I know what you are thinking. I never responded
to one of these before either. One day though,
something just said: You throw away $25.00 going to
a movie for 2 hours with your wife. What the heck.
Believe me, no matter where you believe those feelings
come from, I thank every day that I had that feeling.

I cannot imagine where I would be or what I would be
doing had I not. Read on. It's true. Every word of it.
It is legal. I checked. Simply because you are buying
and selling something of value.

AS SEEN ON NATIONAL TV:

Making over half a million dollars every 4 to 5
months from your home.

THANKS TO THE COMPUTER AGE AND THE INTERNET!
==================================================
BE AN INTERNET MILLIONAIRE LIKE OTHERS WITHIN A YEAR!!!

Before you say Bull, please read the following.
This is the letter you have been hearing about on the
news lately. Due to the popularity of this letter on
the internet, a national weekly news program recently
devoted an entire show to the investigation of this
program described below, to see if it really can make
people money. The show also investigated whether or
not the program was legal.

Their findings proved once and for all that there are
absolutely NO laws prohibiting the participation in
the program and if people can 'follow the simple
instructions' they are bound to make some mega bucks
with only $25 out of pocket cost.

DUE TO THE RECENT INCREASE OF POPULARITY & RESPECT
THIS PROGRAM HAS ATTAINED, IT IS CURRENTLY WORKING
BETTER THAN EVER.

This is what one had to say: Thanks to this
profitable opportunity. I was approached many times
before but each time I passed on it. I am so glad
I finally joined just to see what one could expect
in return for the minimal effort and money required.
To my astonishment, I received a total $610,470.00
in 21 weeks, with money still coming in.

Pam Hedland, Fort Lee, New Jersey.
==================================================
Another said: This program has been around for a
long time but I never believed in it. But one day
when I received this again in the mail I decided
to gamble my $25 on it. I followed the simple
instructions and walaa ..... 3 weeks later the
money started to come in. First month I only made
$240.00 but the next 2 months after that I made
a total of $290,000.00. So far, in the past 8 months
by re-entering the program, I have made over
$710,000.00 and I am playing it again. The key to
success in this program is to follow the simple
steps and NOT change anything.

More testimonials later but first, =======

==== PRINT THIS NOW FOR YOUR FUTURE REFERENCE ====
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

If you would like to make at least $500,000 every
4 to 5 months easily and comfortably, please read the
following...THEN READ IT AGAIN and AGAIN!!!

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

FOLLOW THE SIMPLE INSTRUCTION BELOW AND
YOUR FINANCIAL DREAMS WILL COME TRUE, GUARANTEED!

INSTRUCTIONS:

=====Order all 5 reports shown on the list below =====

For each report, send $5 CASH, THE NAME & NUMBER OF THE
REPORT YOU ARE ORDERING and YOUR E-MAIL ADDRESS to the
person whose name appears ON THAT LIST next to the report.
MAKE SURE YOUR RETURN ADDRESS IS ON  YOUR ENVELOPE TOP
LEFT CORNER in case of any mail problems.

===WHEN YOU PLACE YOUR ORDER, MAKE SURE ===
===YOU ORDER EACH OF THE 5 REPORTS! ===
You will need all 5 reports so that you can save
them on your computer and resell them.
YOUR TOTAL COST $5 X 5 = $25.00.

Within a few days you will receive, via e-mail, each
of the 5 reports from these 5 different individuals.
Save them on your computer so they will be accessible
for you to send to the 1,000's of people who will
order them from you. Also make a floppy of these
reports and keep it on your desk in case something
happens to your computer.

IMPORTANT - DO NOT alter the names of the people who
are listed next to each report, or their sequence on
the list, in any way other than what is instructed
below in steps 1 through 6 or you will lose out
on the majority of your profits. Once you
understand the way this works, you will also
see how it will not work if you change it.

Remember, this method has been tested, and if you
alter it, it will NOT work!!! People have tried
to put their friends'/relatives' names on all five
thinking they could get all the money. But it does
not work this way. Believe us, some have tried to
be greedy and then nothing happened. So Do Not
try to change anything other than what is instructed.
Because if you do, it will not work for you.
Remember, honesty reaps the reward!!!

This IS a legitimate BUSINESS. You are offering a
product for sale and getting paid for it. Treat it
as such and you will be VERY profitable in a short
period of time.

1.. After you have ordered all 5 reports, take this
advertisement and REMOVE the name & address of the
person in REPORT # 5. This person has made it through
the cycle and is no doubt counting their fortune.

2.. Move the name & address in REPORT # 4 down TO REPORT # 5.

3.. Move the name & address in REPORT # 3 down TO REPORT # 4.

4.. Move the name & address in REPORT # 2 down TO REPORT # 3.

5.. Move the name & address in REPORT # 1 down TO REPORT # 2

6.... Insert YOUR name & address in the REPORT # 1 Position.

PLEASE MAKE SURE you copy every name & address
ACCURATELY! This is critical to YOUR success.

==================================================
**** Take this entire letter, with the modified
list of names, and save it on your computer.
DO NOT MAKE ANY OTHER CHANGES.

Save this on a disk as well just in case you lose
any data. To assist you with marketing your business
on the internet, the 5 reports you purchase will
provide you with invaluable marketing information
which includes how to send bulk e-mails legally,
where to find thousands of free classified ads and
much more. There are 2 primary methods to get this
venture going:

METHOD # 1: BY SENDING BULK E-MAIL LEGALLY
==================================================

Let's say that you decide to start small, just to see
how it goes, and we will assume you and those involved
send out only 5,000 e-mails each. Let's also assume
that the mailing receives only a 0.2% (2/10 of 1%)
response (the response could be much better but let's
just say it is only 0.2%). Also many people will send
out hundreds of thousands of e-mails instead of only
5,000 each.

Continuing with this example, you send out only
5,000 e-mails. With a 0.2% response, that is only
10 orders for report # 1. Those 10 people responded
by sending out 5,000 e-mails each for a total of
50,000. Out of those 50,000 e-mails only 0.2%
responded with orders. That's 100 people who
responded and ordered Report # 2.

Those 100 people mail out 5,000 e-mails each for
a total of 500,000 e-mails. The 0.2% response to
that is 1000 orders for Report # 3.

Those 1000 people send 5,000 e-mails each for a
total of 5 million e-mails sent out. The 0.2%
response is 10,000 orders for Report # 4.

Those 10,000 people send out 5,000 e-mails each
for a total of 50,000,000 (50 million) e-mails.
The 0.2% response to that is 100,000 orders for
Report # 5.

THAT'S 100,000 ORDERS TIMES $5 EACH = $500,000.00
(half a million dollars).

Your total income in this example is: 1..... $50
+ 2..... $500 + 3.....$5,000 + 4..... $50,000
+ 5.... $500,000 .... Grand Total=$555,550.00

NUMBERS DO NOT LIE. GET A PENCIL & PAPER AND
FIGURE OUT THE WORST POSSIBLE RESPONSES AND NO
MATTER HOW YOU CALCULATE IT, YOU WILL STILL
MAKE A LOT OF MONEY!
==================================================

REMEMBER FRIEND, THIS IS ASSUMING ONLY 10 PEOPLE
ORDERING OUT OF 5,000 YOU MAILED TO. Dare to think
for a moment what would happen if everyone or half
or even one 4th of those people mailed 100,000
e-mails each or more?

There are over 150 million people on the internet
worldwide and counting, with thousands more coming
online every day. Believe me, many people will do
just that, and more!

METHOD # 2: BY PLACING FREE ADS ON THE INTERNET
==================================================

Advertising on the net is very, very inexpensive and
there are hundreds of FREE places to advertise.
Placing a lot of free ads on the internet will
easily get a larger response. We strongly suggest
you start with Method # 1 and add METHOD # 2 as you
go along. For every $5 you receive, all you must
do is e-mail them the report they ordered. That's it.
Always provide same day service on all orders.

This will guarantee that the e-mail they send out,
with your name and address on it, will be prompt
because they cannot advertise until they receive
the report.

===========AVAILABLE REPORTS ====================
The reason for the cash is not because this is
illegal or somehow wrong. It is simply about time.
Time for checks or credit cards to be cleared or
approved, etc. Concealing it is simply so no one
can SEE there is money in the envelope and steal
it before it gets to you.

ORDER EACH REPORT BY ITS NUMBER & NAME ONLY.
Notes: Always send $5 cash (U.S. CURRENCY) for
each report. Checks NOT accepted. Make sure the
cash is concealed by wrapping it in at least
2 sheets of paper. On one of those sheets of
paper, write the NUMBER & the NAME of the report
you are ordering, YOUR E-MAIL ADDRESS and your
name and postal address.

PLACE YOUR ORDER FOR THESE REPORTS NOW :
==================================================
REPORT # 1: The Insider's Guide To Advertising
for Free On The Net
Order Report #1 from:

Mikael Janson
Levertinsgatan 2
754 30 Uppsala
Sweden
______________________________________________________
REPORT # 2: The Insider's Guide To Sending Bulk
Email On The Net
Order Report # 2 from:

Ewa Eklund
Almqvistgatan 9
754 30 Uppsala
Sweden
______________________________________________________

REPORT # 3: Secret To Multilevel Marketing On The Net
Order Report # 3 from:

Stuart Iles
9 Elm Way
Hartshill
NUNEATON
CV10 0XS
United Kingdom

______________________________________________________

REPORT # 4: How To Become A Millionaire Using
MLM & The Net
Order Report # 4 from:

Luis Pastor
Apartado 81
48080
Bilbao Spain

______________________________________________________

REPORT # 5: How To Send Out One Million Emails
For Free
Order Report # 5 From:

Richard Moulton
P.O. Box 82
Hot Springs,MT 59845
USA

______________________________________________________
$$$$$$$$$ YOUR SUCCESS GUIDELINES $$$$$$$$$$$

Follow these guidelines to guarantee your success:

=== If you do not receive at least 10 orders for
Report #1 within 2 weeks, continue sending e-mails
until you do.

=== After you have received 10 orders, 2 to 3 weeks
after that you should receive 100 orders or more for
REPORT # 2. If you do not, continue advertising or
sending e-mails until you do.

** Once you have received 100 or more orders for
Report # 2, YOU CAN RELAX, because the system is
already working for you, and the cash will continue
to roll in ! THIS IS IMPORTANT TO REMEMBER: Every time
your name is moved down on the list, you are placed
in front of a different report.

You can KEEP TRACK of your PROGRESS by watching which
report people are ordering from you. IF YOU WANT TO
GENERATE MORE INCOME SEND ANOTHER BATCH OF E-MAILS
AND START THE WHOLE PROCESS AGAIN. There is NO LIMIT
to the income you can generate from this business !!!
=================================================
FOLLOWING IS A NOTE FROM THE ORIGINATOR OF THIS PROGRAM:
You have just received information that can give you
financial freedom for the rest of your life, with
NO RISK and JUST A LITTLE BIT OF EFFORT. You can
make more money in the next few weeks and months
than you have ever imagined. Follow the program
EXACTLY AS INSTRUCTED. Do Not change it in any way.
It works exceedingly well as it is now.

Remember to e-mail a copy of this exciting report
after you have put your name and address in
Report #1 and moved others to #2 .....# 5 as
instructed above. One of the people you send this
to may send out 100,000 or more e-mails and your
name will be on every one of them.

Remember though, the more you send out the more
potential customers you will reach. So my friend,
I have given you the ideas, information, materials
and opportunity to become financially independent.

IT IS UP TO YOU NOW !

=============MORE TESTIMONIALS===============
My name is Mitchell. My wife, Jody and I live in
Chicago. I am an accountant with a major U.S.
Corporation and I make pretty good money. When I
received this program I grumbled to Jody about
receiving 'junk mail'. I made fun of the whole
thing, spouting my knowledge of the population
and percentages involved. I 'knew' it wouldn't work.
Jody totally ignored my supposed intelligence and
few days later she jumped in with both feet. I made
merciless fun of her, and was ready to lay the old
'I told you so' on her when the thing didn't work.

Well, the laugh was on me! Within 3 weeks she had
received 50 responses. Within the next 45 days she
had received total $ 147,200.00 ......... all cash!
I was shocked. I have joined Jody in her 'hobby'.

Mitchell Wolf M.D., Chicago, Illinois
================================================
Not being the gambling type, it took me several
weeks to make up my mind to participate in this plan.
But conservative as I am, I decided that the initial
investment was so little that there was just no way
that I wouldn't get enough orders to at least get
my money back. I was surprised when I found my
medium size post office box crammed with orders.
I made $319,210.00 in the first 12 weeks.

The nice thing about this deal is that it does not
matter where people live. There simply isn't a
better investment with a faster return and so big.

Dan Sondstrom, Alberta, Canada
=================================================
I had received this program before. I deleted it,
but later I wondered if I should have given it a try.
Of course, I had no idea who to contact to get
another copy, so I had to wait until I was e-mailed
again by someone else......... 11 months passed then
it luckily came again...... I did not delete this one!
I made more than $490,000 on my first try and all the
money came within 22 weeks.

Susan De Suza, New York, N.Y.
=================================================
It really is a great opportunity to make relatively
easy money with little cost to you. I followed the
simple instructions carefully and within 10 days the
money started to come in. My first month I made $20,
in the 2nd month I made $560.00 and by the end of the
third month my total cash count was $362,840.00.
Life is beautiful, Thanx to internet.

Fred Dellaca, Westport, New Zealand
=================================================

ORDER YOUR REPORTS TODAY AND GET STARTED ON YOUR
ROAD TO FINANCIAL FREEDOM !

=================================================
If you have any questions of the legality of this
program, contact the Office of Associate Director
for Marketing Practices, Federal Trade Commission,
Bureau of Consumer Protection, Washington, D.C.

This message is sent in compliance of the proposed
bill SECTION 301, paragraph (a)(2)(C) of S. 1618.

* This message is not intended for residents in the
State of Washington, Virginia or California,
screening of addresses has been done to the best
of our technical ability.

wrexzfembijocorspldfwschcwpbdxfeckxzvpiesebxvunjdjxieyiuvqfspbdspnrhihtfmbvfdqvtt

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

Newsgroups: comp.os.vxworks
Subject: Re: dhcpcParamsGet in hook
Date: Wed, 10 Jul 2002 22:09:17 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3D2CB0F3.8050605@spamm.me.l8s.co.uk>
References: <3e5110c6.0206181202.42c96afc@posting.google.com> <3D2C6A9F.7040303@xs4all.nl>

Gerald van Kampen wrote:
> Thiru,
> 
> The purpose of the event hook is to notify an external source
> of a change in lease status. The documentation explicitly states that 
> the hook
> routine must not perform any high-level DHCP operations. It is intended for
> quick tasks such as giving a semaphore. Accessing lease data is not valid
> within that routine since verification is not complete.

Nope - it is validated, just not marked as valid.
The eventHootRtn is called at the end of 'use_parameter()' just
before it does a 'return 0;'.  All the callers set
'pLeaseData->leaseGood = TRUE;' if it returns zero.

So some one decided that the event hook isn't allowed to see what the
event was!  The comment just before the event hook is called reads:

      "If an event notification hook is present, send an
      indication that a new set of parameters is available."

However this is untrue - they aren't avaliable quite!
I don't think looking at the lease parameter should be a 'high
level DHCP operation'!
Also note that the dhcp code (and the ppp code for that matter)
don't like being pre-empted at all.  Any re-entrancy is likely to
generate unexpecetd results.

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: Tornado 2 On Windows XP
Date: Thu, 11 Jul 2002 00:36:34 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <mq4X8.14584$Jp.38119@rwcrnsc53>
References: <_GYW8.5653$H67.29583@tor-nn1.netcom.ca>

Hello John,

   I am running T2.0.2 for PPC  on a Windows XP host. I have been able to
build
apps and debug though I haven't tried WindView. Is this unhandled exception
the
Tornado IDE crashing during compile, debug , WindView or ....

BTW, I have the Professional XP version installed, though I did have another
host
that I migrated from ME to XP and Tornado 2.0.2 seemed to work, but didn't
use that host very long.  HTH

"John Schreuders" <john_schreuders@mitel.com> wrote in message
news:_GYW8.5653$H67.29583@tor-nn1.netcom.ca...
> Hey there;
>
> Has anyone ever tried intalling Tornado 2 on a Windows XP machine? Did it
> work?? I tried and got a crazy "Unhandled Exception" message.
>
> I am getting the sinking feeling I am SOL and need to go back to my trusty
> old Windows 2000 setup.
>
> Thanks in advance
>
> John
>
>

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

Newsgroups: comp.os.vxworks
Subject: taskLock() and logMsg()
Date: 10 Jul 2002 18:32:51 -0700
From: jjf@bcs.org.uk (J. J. Farrell)
Organization: http://groups.google.com/
Message-ID: <5c04bc56.0207101732.1f9203e2@posting.google.com>

taskLock() is defined as

  This routine disables task context switching. The task that
  calls this routine will be the only task that is allowed to
  execute, unless the task explicitly gives up the CPU by
  making itself no longer ready.

What happens when the task next gets switched in after it becomes
ready again? Is it then in the taskLock()ed state? I had assumed
so, but I'm seeing behaviour that makes me wonder ...

I'm running a driver that is using logMsg() from its interrupt
routine. It looks like logMsg()'s logging task is subsequently
getting switched in even though my task that was running at the
time of the interrupt had called taskLock() some time earlier
(and perhaps given up the processor voluntarily since).

Is anyone aware of any undocumented interaction between logMsg()
and taskLock()?

I'm aware that taskLock() is not highly recommended. I'm in the
first stage of porting a driver from a traditional UNIX-like kernel,
and taskLock() appears to be a good way to emulate UNIX kernel
semantics for the time being.

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

Newsgroups: comp.os.vxworks
Subject: Re: VxWorks And TCP
Date: Thu, 11 Jul 2002 09:38:56 +0800
From: "Kingwel Xie" <kingwel.xie@utstar.com>
Organization: Bentium Ltd. (CN99)
Message-ID: <aginjf$12lb$1@mail.cn99.com>
References: <FfAW8.14375$AK.1308@news.webusenet.com>

Hi,

Better to change the NIC of the target.

At least, we found RTL8029+Tornado x86 suffered very bad performance. Maybe
the ENE driver is bad for RTL card. When changing it to 3C905 evrything is
ok.

Enjoy

xjw

"Joel Hannah" <hannah@aos-inc.com> дϢ
:FfAW8.14375$AK.1308@news.webusenet.com...
> I am trying to implement a custom ethernet command datalink using TCP. For
> clarity I will call this protocol ULINK. ULINK is a "single command per
> ethernet packet" protocol thus the commands are always less than 1500
bytes,
> most of the ULINK commands are less than 20 bytes.
>
> I have written a Windows program that initiates a TCP session with my
> VxWorks Pentium target and then sends commands and receives data from the
> VxWorks target. After session is established, the TCP worker task waits
for
> a ULINK command packet. The ULINK command is then ACKd or NAKd to make
sure
> commands are "lockstepped" with the Windows program. The ULINK protocol is
> described below:
>
> <Byte Count (4 bytes)><Command Identifier (2 bytes)><Command Data
> (variable)><Check Sum (1 byte)>
>
> The Byte Count includes the checksum. Thus I read the first four bytes,
> allocate a buffer for the rest of the ULINK command and read the data from
> the socket.
>
> The problem I am experiencing is a severe "slowdown" during my TCP session
> from my VxWorks Pentium target. I have snooped the ethernet data and it is
> clearly the VxWorks target that gets extremely slow to respond to ULINK
> commands. I have done the customer support thing with WindRiver several
> times to no avail. My target uses the Real Tek 8139 ethernet controller .
I
> have purchased the latest driver from WindRiver for this chip. FTP
sessions
> seem to be very stable and reliable with decent speed during file
transfers
> so I fee confident that the problem is not the ethernet controller driver
> that is the source of the slowdown.
>
> I have increased TCP/IP buffers, looked at stack and buffer values at
> runtime to see if that is my problem but everything looks good. The
slowdown
> condition certainly looks like a memory allocation problem but I can't
seem
> to find where. Has anyone else experienced this and could help me???
>
>
> Thanks,
>
> Joel
>
> Below is my ULINK server code in VxWorks:
>
> /*************************************************************************
> *
> * FUNCTION: UlinkTask
> *
> * This task is responsible for TCP initialization, opening sessions and
> * closing client sessions
> *
> * RETURNS:  OK
> */
> void UlinkTask(void)
> {
>  struct sockaddr_in sAddr;
>  struct sockaddr_in cAddr;
>  int sockAddrSize;
>  int errCode;
>  int retCode;
>  int sFd;
>  int newFd;
>  char workName[16];
>  char outMessage[100];
>  int ix;
>  int optval;
>
>     ix = 0;
>
>     /* Initialize flags and handles */
>
>     errCode = 0;
>
>     if(sFd)
>       close(sFd);
>     if(newFd)
>       close(newFd);
>
>     /*Set up TCP/IP local address*/
>
>     sockAddrSize = sizeof(struct sockaddr_in);
>     bzero ((char *) &sAddr, sockAddrSize);
>     sAddr.sin_family = AF_INET;
>     sAddr.sin_len = (u_char) sockAddrSize;
>     sAddr.sin_port = htons(SERVER_PORT_NUM);
>     sAddr.sin_addr.s_addr = htonl(INADDR_ANY);
>
>     /* Create a TCP_based socket */
>
>     if((sFd = socket (AF_INET, SOCK_STREAM, 0)) == ERROR)  {
>       errCode = 1;
>     }
>
>     /* Bind socket to local address */
>
>     if (bind (sFd, (struct sockaddr *)&sAddr, sockAddrSize) == ERROR)  {
>       close (sFd);
>       errCode = 2;
>     }
>
>     optval = 1;
>     setsockopt (sFd, SOL_SOCKET, SO_KEEPALIVE, (char *)(&optval), sizeof
> (optval));
>     setsockopt (sFd, IPPROTO_TCP, 1, (char *)(&optval), sizeof (optval));
>
>     optval = 16384;
>     setsockopt (sFd, SOL_SOCKET, SO_SNDBUF, (char *)(&optval), sizeof
> (optval));
>     setsockopt (sFd, SOL_SOCKET, SO_RCVBUF, (char *)(&optval), sizeof
> (optval));
>
>     /* Create queue for client connection requests */
>
>     if(listen (sFd, SERVER_MAX_CONNECTIONS) == ERROR)  {
>       close(sFd);
>       errCode = 3;
>     }
>
>     if(errCode == 0) {
>       for(;;)  {
>         UlinkSysOut("Waiting On Connection Requests From Ulink
> Client...\n");
>
>         if((newFd = accept(sFd, (struct sockaddr *)&cAddr, &sockAddrSize))
> == ERROR) {
>           errCode = 4;
>           close (sFd);
>           break;
>         }
>
>         else {
>           UlinkSysOut(SHORTBEEPSTR);
>           sprintf(outMessage,"Connected to Address: %s \n", (inet_ntoa
> (cAddr.sin_addr)));
>           UlinkSysOut(outMessage);
>
>           UlinkSysOut("Starting TCP Task!\n");
>
>           sprintf(workName,"tTcpWork%d",ix++);
>           if(taskSpawn(workName,199,0,20000,(FUNCPTR)ClientComm,
> newFd,0,0,0,0,0,0,0,0,0) == ERROR) {
>             UlinkSysOut("ERROR Starting TCP Task!\n");
>             close(newFd);
>           }
>         }
>       }
>     }
>
>     else {
>       UlinkSysOut("ERROR [ULINK]: Can't Initialize ULINK Task!");
>
>       if(newFd)
>         close(newFd);
>       if(sFd)
>         close(sFd);
>     }
>
> }
> /*************************************************************************
> *
> * FUNCTION: ClientComm
> *
> * This task reads in ethernet packet data and checks for closed
connectinsis
> responsible for TCP initialization, opening sessions and
> *
> * RETURNS:  ERROR = 1 if errors during session
> */
> int ClientComm(int fHandle)
> {
>  int retCode,i;
>  int readResult;
>  int retChar;
>  unsigned long byCount;
>  unsigned char byBuff[5];
>  unsigned char *enetDataBuff = 0;
>  int numBytes;
>
>     retCode = 0;
>
>     for(;;) {
>
>       readResult = read(fHandle,byBuff,4);
>
>        if((readResult == 0) || (readResult == ERROR)) {
>          UlinkSysOut("ERROR [ULINK]: Problem Reading Byte Count!");
>          retCode = TERMINATE_SESSION;
>          break;
>        }
>
>       byCount = *((unsigned long *)(&byBuff[0]));
>
>       /* Now allocate memory based on byte count  */
>
>       enetDataBuff = malloc(byCount);
>
>       if((int)enetDataBuff == 0) {
>         UlinkSysOut("ERROR [ULINK]: Malloc For Enet Data Buffer Failed!");
>         break;
>       }
>
>       readResult = read(fHandle,enetDataBuff,byCount);
>
>       if((readResult == 0) || (readResult == ERROR)) {
>         UlinkSysOut("ERROR [ULINK]: Problem Reading Packet Data!\n");
>         retCode = TERMINATE_SESSION;
>         break;
>       }
>
>       retCode = ProcessServerData(readResult - 4,enetDataBuff,fHandle);
>       taskDelay(10);
>       free(enetDataBuff);
>       retCode = SEND_THE_ACK;
>
>
>       if(retCode) {
>         if(retCode == SEND_THE_ACK) {
>           SendResponse(fHandle,ACK);
>         }
>         else if (retCode == SEND_THE_NAK ) {
>
>           /* Don't Close if we have an error in the packet */
>
>           ultorParms.tcpErrors++;
>           SendResponse(fHandle,NAK);
>         }
>         else {
>
>           /* Don't Close if we have an error in the packet */
>
>           ultorParms.tcpErrors++;
>         }
>       }
>
>     }
>
>
>     if(enetDataBuff)
>       free(enetDataBuff);
>     close(fHandle);
>
>     UlinkSysOut(SHORTBEEPSTR);
>     UlinkSysOut("Connection Closed...");
>
>     return(retCode);
> }
>
>
>
> --
> ******
> S. Joel Hannah
> Software Engineering Manager
>
> Advanced Optical Systems
> 6767 Old Madison Pike, Suite 410
> Huntsville, AL  35806
>
> (256) 971-0036   (voice)
> (256) 971-0010   (fax)
> (256) 580-8947  (page)
> hannah@aos-inc.com (internet)
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Tornado 2 On Windows XP
Date: 10 Jul 2002 18:56:31 -0700
From: andreas_lindell75@hotmail.com (Rikard)
Organization: http://groups.google.com/
Message-ID: <5947a04.0207101756.6e46279d@posting.google.com>
References: <_GYW8.5653$H67.29583@tor-nn1.netcom.ca>

Hello John,

You can run Tornado 2 on a XP machine but its not recommended and not
supported by WR. The problems is with some of the tools(Scopepak and
so on) that uses Java. Microsoft and Sun are not the best pals so XP
does not come with a JVM so when installing Tornado and Professional
tools a JVM is provided by WR. How ever this JVM does not work well
with XP and thus the "Unhandled Exception" message. I recommend that
you run it on a NT/2000 machine.

Regards
Rikard

"John Schreuders" <john_schreuders@mitel.com> wrote in message news:<_GYW8.5653$H67.29583@tor-nn1.netcom.ca>...
> Hey there;
> 
> Has anyone ever tried intalling Tornado 2 on a Windows XP machine? Did it
> work?? I tried and got a crazy "Unhandled Exception" message.
> 
> I am getting the sinking feeling I am SOL and need to go back to my trusty
> old Windows 2000 setup.
> 
> Thanks in advance
> 
> John

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

Newsgroups: comp.os.vxworks
Subject: Re: taskLock() and logMsg()
Date: 10 Jul 2002 23:42:48 -0700
From: rajendra_krsingh@yahoo.com (rajendra)
Organization: http://groups.google.com/
Message-ID: <479ba395.0207102242.e91b62d@posting.google.com>
References: <5c04bc56.0207101732.1f9203e2@posting.google.com>

jjf@bcs.org.uk (J. J. Farrell) wrote in message news:<5c04bc56.0207101732.1f9203e2@posting.google.com>...
> taskLock() is defined as
> 
>   This routine disables task context switching. The task that
>   calls this routine will be the only task that is allowed to
>   execute, unless the task explicitly gives up the CPU by
>   making itself no longer ready.
> 
> What happens when the task next gets switched in after it becomes
> ready again? Is it then in the taskLock()ed state? I had assumed
> so, but I'm seeing behaviour that makes me wonder ...
 No, It will not.

> 
> I'm running a driver that is using logMsg() from its interrupt
> routine. It looks like logMsg()'s logging task is subsequently
> getting switched in even though my task that was running at the
> time of the interrupt had called taskLock() some time earlier
> (and perhaps given up the processor voluntarily since).
> 
 How can you say that your task is running when interrupt comes. You
can be only sure when after calling taskLock you are doing some
computation in infinite loop. But I am sure that you are not doing
that.
 So what I suspect is, after calling taskLock your task leaves the CPU
before the interrupt comes. If you are doing logMsg in interrupt
handler then logMsg assumes task running on CPU before interrupt as
calling task.

> Is anyone aware of any undocumented interaction between logMsg()
> and taskLock()?
> 
> I'm aware that taskLock() is not highly recommended. I'm in the
> first stage of porting a driver from a traditional UNIX-like kernel,
> and taskLock() appears to be a good way to emulate UNIX kernel
> semantics for the time being.

- -rajendra

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

Newsgroups: comp.os.vxworks
Subject: Re: using D-link network adapter for network booting
Date: 10 Jul 2002 23:55:14 -0700
From: ash_kumarv@yahoo.com (Ashok)
Organization: http://groups.google.com/
Message-ID: <a92e61fe.0207102255.511d30bf@posting.google.com>
References: <a92e61fe.0207090345.65a7da72@posting.google.com> <Xns9246B19435AB1borkhuisagerecom@192.19.193.66> <a92e61fe.0207092010.232db98e@posting.google.com> <Xns92475E441AD71borkhuisagerecom@192.19.193.66>

Johan Borkhuis <borkhuis@agere.com> wrote in message news:<Xns92475E441AD71borkhuisagerecom@192.19.193.66>...
> ash_kumarv@yahoo.com (Ashok) wrote:
> 
> > i have a D-Link DFE-538TX PCI Ethernet Adapter
> > 
> > is this sufficient information?
> 
> No, we need the type of ethernet controller chip that is used on the card. 
> The driver is not specific for a card, but for a chip.
> 
> Groeten,
>         Johan

The chip is 

Realtek RTL8139 

thnx for the help..
can u help me out further

Ashok

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

Newsgroups: comp.os.vxworks
Subject: Downloading files to target using windsh -s
Date: 11 Jul 2002 00:35:59 -0700
From: mbendtsen@sjm.com (Mikael Bendtsen)
Organization: http://groups.google.com/
Message-ID: <4a8311d7.0207102335.3de9525f@posting.google.com>

We have built a small dialog using the GUI Tcl Library in Tornado II
where our developers can set various download and application startup
preferences. These preferences are appended to a windsh script file
that is invoked using the Tcl procedure shellLaunch. The -s option is
passed to windsh followed by the script name to commence the download
and start the application.

Previously, these steps were carried out in a more manual fashion
where the developers started a shell and then invoked a script using <
scriptname. With the new solution, we are able to customize the
scripts using simple file commands in Tcl without requiring manual
editing.

My problem is that output from the application (error messages,
printf's etc) doesn't appear in the shell window invoked from Tcl
(with the -s option). Also, the prompt doesn't appear after the script
has finished but it seems that the shell process is still alive
because issuing commands like 'i' to show task information gives
output. There is no echoing of characters being typed in the window
either.

I assume this has to do with some kind of I/O redirection. However, I
guess part of the problem is finding out the difference between
running a plain windsh and windsh with the -s option because the
scripts are almost the same (with a few paths and tasknames changing
depending on the selections in the dialog).

Best regards,

Mikael

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

Newsgroups: comp.os.vxworks
Subject: Debugger Problems
Date: 11 Jul 2002 01:14:24 -0700
From: david.vengrover@enavis.com (davidv)
Organization: http://groups.google.com/
Message-ID: <dd8a66f7.0207110014.da0aab3@posting.google.com>

Hi,

Our application size is 35M including symobls.
We using "ld" to load the application to the target ( x86 ).
It tooks us about 3 minutes to load the debugger in the Host.
Does someone know why it takes so long to load the debugger ??
here there any soultion to this problem ??

Thanks in Advance
David.

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

Newsgroups: comp.os.vxworks
Subject: serial driver i8250 FIOPROTOHOOK options
Date: Thu, 11 Jul 2002 11:15:03 +0100
From: ftr <ftorras@grenoble.sema.slb.com>
Organization: SchlumbergerSema
Message-ID: <3D2D5AA7.E0413CE2@grenoble.sema.slb.com>
Reply-To: ftorras@grenoble.sema.slb.com

hi all,

In my application, i'm using FIOPROTOHOOK and FIOPROTOARG ioctl options
(tyLib) to create a handler on serial port. This one should "wake up"
when a character comes. But it doesn't work!
perhaps there is another option or configuration of the driver that i
have forgotten.

if someone got an idea !!!

thanks in advance

Frederic

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

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

From vxwexplo-errs@csg.lbl.gov  Fri Jul 12 04:03:15 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Fri Jul 12 04:03:18 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Fri Jul 12 04:03:11 PDT 2002

        Subject: the same FD of open two file?
        Subject: Re: taskLock() and logMsg()
        Subject: Re: serial driver i8250 FIOPROTOHOOK options
        Subject: Re: Debugger Problems
        Subject: Re: Downloading files to target using windsh -s
        Subject: fyi...ifShow display immediately after ipAttach on host and target shells do not match
        Subject: Ethernet END Setup (continued) 
        Subject: Re: taskLock() and logMsg()
        Subject: Re: the same FD of open two file?
        Subject: Re: serial driver i8250 FIOPROTOHOOK options
        Subject: how can i produce .COFF. OUT . ELF format
        Subject: Re: the same FD of open two file?
        Subject: debugging using serial communication
        Subject: Re: dosFS2 and Tornado 2.0.2 Patch
        Subject: Re: how can i produce .COFF. OUT . ELF format
        Subject: missing target shell prompt
        Subject: Re: missing target shell prompt
        Subject: Re: Newbie: How to learn VXworks ?
        Subject: Re: using D-link network adapter for network booting
        Subject: Re: the same FD of open two file?
        Subject: Re: debugging using serial communication
        Subject: Re: the same FD of open two file?
        Subject: How to use the endEtherPacketDataGet
        Subject: DHCP Servers' relay agent functionality
        Subject: Re: taskLock() and logMsg()
        Subject: Re: taskLock() and logMsg()

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

Newsgroups: comp.os.vxworks
Subject: the same FD of open two file?
Date: 11 Jul 2002 05:33:11 -0700
From: shyang@netease.com (yang)
Organization: http://groups.google.com/
Message-ID: <8446174.0207110433.7e26a806@posting.google.com>

I create two task and one is to open a file to write ,another is to
open dev to read data . But I find two tasks have the same handle of
file.and next my program can't run . I want to know if two task can
have the same handle of open file.and if it can't how can I avoid it.

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

Newsgroups: comp.os.vxworks
Subject: Re: taskLock() and logMsg()
Date: Thu, 11 Jul 2002 08:47:00 -0400
From: Keith Arner <karner@pit.comms.marconi.com>
Organization: Marconi
Message-ID: <Pine.GSO.4.42.0207110839160.29133-100000@zimbra>
References: <5c04bc56.0207101732.1f9203e2@posting.google.com>
Reply-To: Keith Arner <keith.arner@marconi.com>

On 10 Jul 2002, J. J. Farrell wrote:

> taskLock() is defined as
>
>   This routine disables task context switching. The task that
>   calls this routine will be the only task that is allowed to
>   execute, unless the task explicitly gives up the CPU by
>   making itself no longer ready.
>
> What happens when the task next gets switched in after it becomes
> ready again? Is it then in the taskLock()ed state? I had assumed
> so, but I'm seeing behaviour that makes me wonder ...

taskLock() is done on a task-by-task basis.  If a task, t1, does a
taskLock(), then becomes not ready (e.g. taskDelay(), semTake(), etc.), it
will be switched out, and the scheduler will choose the highest priority
ready task, t2, to run.  Once in t2, scheduling will happen normally
(unless, of course, t2 has also done a taskLock()).  When t1 eventually
runs again, the taskLock will once again be in effect until t1 becomes not
ready or does a taskUnlock().

> I'm running a driver that is using logMsg() from its interrupt
> routine. It looks like logMsg()'s logging task is subsequently
> getting switched in even though my task that was running at the
> time of the interrupt had called taskLock() some time earlier
> (and perhaps given up the processor voluntarily since).

My suspicion is that your taskLock'd task is not actually the one that was
running at the moment of the interupt.  I would suggest using WindView to
gain insight into the exact timing of events.

Keith

- -- 
mv ~karner /loony/bin

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

Newsgroups: comp.os.vxworks
Subject: Re: serial driver i8250 FIOPROTOHOOK options
Date: 11 Jul 2002 15:12:15 +0200
From: Reinhold Wirth <wirth@softec.de>
Organization: WEB.DE
Message-ID: <3d2d842f$1@netnews.web.de>
References:  <3D2D5AA7.E0413CE2@grenoble.sema.slb.com>

Hi Frederic,

a possibility may be a wrong or missing setup of the baud or parity 
(FIOBAUDRATE,  FIOSETOPTIONS)

 
ftr <ftorras@grenoble.sema.slb.com> wrote:
>In my application, i'm using FIOPROTOHOOK and FIOPROTOARG ioctl options
>(tyLib) to create a handler on serial port. This one should "wake up"
>when a character comes. But it doesn't work!
>perhaps there is another option or configuration of the driver that i
>have forgotten.
>
>if someone got an idea !!!

- -- 
__________________________________________________________
News suchen, lesen, schreiben mit http://newsgroups.web.de

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

Newsgroups: comp.os.vxworks
Subject: Re: Debugger Problems
Date: 11 Jul 2002 07:07:21 -0700
From: mbendtsen@sjm.com (Mikael Bendtsen)
Organization: http://groups.google.com/
Message-ID: <4a8311d7.0207110607.6606e1e7@posting.google.com>
References: <dd8a66f7.0207110014.da0aab3@posting.google.com>

David,

It might have something to do with the debugger startup options.
Perhaps you are already aware of this, but if you place a file called
.gdbinit in your home directory with the following line in it things
might go a lot faster:

set symbol-readnow off

If you already have a .gdbinit file just add the line if it's not
already in there. This instructs the debugger to avoid loading all
symbols at startup and instead load them when needed.

Best regards

Mikael

david.vengrover@enavis.com (davidv) wrote in message news:<dd8a66f7.0207110014.da0aab3@posting.google.com>...
> Hi,
> 
> Our application size is 35M including symobls.
> We using "ld" to load the application to the target ( x86 ).
> It tooks us about 3 minutes to load the debugger in the Host.
> Does someone know why it takes so long to load the debugger ??
> here there any soultion to this problem ??
> 
> Thanks in Advance
> David.

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

Newsgroups: comp.os.vxworks
Subject: Re: Downloading files to target using windsh -s
Date: 11 Jul 2002 10:28:02 -0400
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Factory of the mind
Message-ID: <u65zm5ogd.fsf@sympatico.ca>
References: <4a8311d7.0207102335.3de9525f@posting.google.com>
Sender: bpringlemeir@DeadDuck

>>>>> "Mikael" == Mikael Bendtsen <mbendtsen@sjm.com> writes:

[snip]

 Mikael> My problem is that output from the application (error
 Mikael> messages, printf's etc) doesn't appear in the shell window
 Mikael> invoked from Tcl (with the -s option). Also, the prompt
 Mikael> doesn't appear after the script has finished but it seems
 Mikael> that the shell process is still alive because issuing
 Mikael> commands like 'i' to show task information gives
 Mikael> output. There is no echoing of characters being typed in the
 Mikael> window either.

Sounds like some good stuff.  I assume that you know what the
difference between commands executed on the host and target are.  You
can use the function "iosFdShow".  It will list something like this,

   -> iosFdShow
    fd name                 drv
     3 /tyCo/0                1 in out err
     4 (socket)               4
     5 (socket)               4
     6 /customKbd/0           8
     7 /random                7
     8 /customPtr/0           9
     9 /random                7
    10 (socket)               4
    11 /customPtr/0           9
    12 i18n.znc               3
    13 F:/Menu.znc            3
    14 F:/Apps/MicroBrowser/AppBrowser.znc   3
    16 (socket)               4
    17 (socket)               4
    18 (socket)               4
   value = 32 = 0x20 = ' '

The important piece of info is the "in out err" part.  You can
redirect the "tShell" tasks I/O by using the functions,

   ioGlobalStdSet()-set the file descriptor for global stdin/stdout/stderr
   ioGlobalStdGet()-get the file descriptor for global stdin/stdout/stderr
   ioTaskStdSet() - set the file descriptor for task stdin/stdout/stderr
   ioTaskStdGet() - get the file descriptor for task stdin/stdout/stderr

So what is the shells value?  The iosFdShow above was from a target
shell.  Starting a host shell (same as windsh) gives,

   -> @iosFdShow
    fd name                 drv
     3 /tyCo/0                1   
     4 (socket)               4   
     5 (socket)               4   
     6 /customKbd/0           8   
     7 /random                7   
     8 /customPtr/0           9   
     9 /random                7   
    10 (socket)               4   
    11 /customPtr/0           9   
    12 i18n.znc               3   
    13 F:/Menu.znc            3   
    14 F:/Apps/MicroBrowser/AppBrowser.znc   3   
    15 /vio/0                 5 in out err
    16 (socket)               4   
    17 (socket)               4   
    18 (socket)               4   
    19 /vio/1                 5   
   value = 32 = 0x20 = ' '

Now the global output has been redirected to fd #15 or "/vio/0".  This
is the target server window.  If I type "ll" my output goes there. I
can change this to be 19 and all the stuff will go to the windsh
console.  Where ever it is spawned (NT console, Tornado MDI window, or
Emacs frame).

I think that should help.

Regards,
Bill Pringlemeir.

- -- 
Remember Kibology, and be allowed!
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: fyi...ifShow display immediately after ipAttach on host and target shells do not match
Date: 11 Jul 2002 07:29:24 -0700
From: vijay.peshkar@wipro.com (Vijay Peshkar)
Organization: http://groups.google.com/
Message-ID: <bb8c75e1.0207110629.6c4951d8@posting.google.com>

VxWorkers,

Just wanted to share this info...
While bringing up an interface, an ifShow immediately after an
ipAttach returns:
can't read "interfaceMaskTbl(0x...)": no such element in array

The target shell has no such issues. It displays the interface values
correctly.
This is because ifShow on host shell is a tcl script(ifShow.tcl and
ifShowCore.tcl) which checks for netmask and as it's not yet set,
returns the error.

Regards,
Vijay

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

Newsgroups: comp.os.vxworks
Subject: Ethernet END Setup (continued) 
Date: Thu, 11 Jul 2002 16:00:24 +0100
From: Paul Caswell <paul.caswell@baesystems.com>
Organization: Land & Sea Systems
Message-ID: <3D2D9D88.C72C5215@baesystems.com>

- --------------F7E2879D9995E11CBE6E19B7
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hello vxworks world,
Thanks to Dan Gold I seem to have at least something happening (wrt
ethernet) on my bespoke board but as usual it's not quite working.  I'm
clutching at straws here as this is quite low level but any suggestions
would be welcome.  The story so far is as follows:

Our board is an 860 based platform running (at present) a rom resident
version of vxWorks 5.4.  Build environment is T2 with gnu compiler.
SCC1 is connected to ethernet via an MC68160 enhanced ethernet serial
transciever (EEST) (Just like in the 860 users manual chapter 28.

I've acquired the source code for the END driver thats supposed to work
with the above config.  (Thanks Dan)  I also have the latest version
from WindRiver.  I've built these into my image by including motCpmEnd.c
in sysLib.c.  The parameter string for this driver lives in configNet.h
and looks like this:

/* this is the default load function for our END */
#define CPM_LOAD_FUNC motCpmEndLoad

/* This is the default initialization string */
#define CPM_LOAD_STRING "0x01130000:0x3e:1:0x18:0x18:0x2a00:0x2b00:-1"

IMPORT END_OBJ* CPM_LOAD_FUNC(char*, void*);

END_TBL_ENTRY endDevTbl [] =
{
    { 0, CPM_LOAD_FUNC, CPM_LOAD_STRING, 1, NULL, FALSE},
    { 0, END_TBL_END, NULL, 0, NULL, FALSE},
};

As you can see IMMR is at 0x01130000, 24 transmit and receive buffer
descriptors at 0x01132a00 and 0x01132b00 respectively.  I've double
checked and this area of DPRAM is not being used by any other devices.
All's well so far.  I build and download an image using an ICE and the
target runs calling motCpmEndLoad() and motCpmEndStart() happily.  All
looks OK at this point in time.  The buffer descriptors are populated
properly for both transmit and receive and in both cases the status
fields do not have the ready bit set.

Running the system freely I can see the receive buffer descriptors
updating as expected and the command ifShow reports (from a serial WDB
connection) that the cpm interface is receiving an increasing number of
packets.  Now the crux of the problem - motCpmEndSend() when called does
the following.........(all in the driver)

1. A buffer is created in RAM with a call to netClusterGet() and this
succeeds. (I can read with ICE)
2. The data to be transmitted is copied from the M_BLK_ID pointer
successfully and its length calculated.
3. The transmit buffer descriptor data pointer is set to point at this
memory location.  The transmit buffer descriptor length field is also
set after the buffer is padded with 0x88.

4. Interrupts are locked (intLock)
5. The transmit buffer descriptor (txBD) status mode field is updated to
set the READY bit.  I can see this also in the txBD and it's OK.
**** At this point I expect the CPM to process this ready buffer and
clear the ready bit.  This doesn't happen.  The SCC should assert TENA
also when it sends data - this doesn't happen (with analyser).  I
suppose the question is why would the CPM not process this buffer ?????
****
6. Interrupts are locked (intLock)

If there's anyone out there with some brilliant idea then I'd be
grateful to hear it.
Regards

Paul

- --------------F7E2879D9995E11CBE6E19B7
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Hello vxworks world,
<br>Thanks to Dan Gold I seem to have at least something happening (wrt
ethernet) on my bespoke board but as usual it's not quite working.&nbsp;
I'm clutching at straws here as this is quite low level but any suggestions
would be welcome.&nbsp; The story so far is as follows:
<p>Our board is an 860 based platform running (at present) a rom resident
version of vxWorks 5.4.&nbsp; Build environment is T2 with gnu compiler.&nbsp;
SCC1 is connected to ethernet via an MC68160 enhanced ethernet serial transciever
(EEST) (Just like in the 860 users manual chapter 28.
<p>I've acquired the source code for the END driver thats supposed to work
with the above config.&nbsp; (Thanks Dan)&nbsp; I also have the latest
version from WindRiver.&nbsp; I've built these into my image by including
motCpmEnd.c in sysLib.c.&nbsp; The parameter string for this driver lives
in configNet.h and looks like this:
<p><b><font size=-1>/* this is the default load function for our END */</font></b>
<br><b><font size=-1>#define CPM_LOAD_FUNC motCpmEndLoad</font></b><b><font size=-1></font></b>
<p><b><font size=-1>/* This is the default initialization string */</font></b>
<br><b><font size=-1>#define CPM_LOAD_STRING "0x01130000:0x3e:1:0x18:0x18:0x2a00:0x2b00:-1"</font></b><b><font size=-1></font></b>
<p><b><font size=-1>IMPORT END_OBJ* CPM_LOAD_FUNC(char*, void*);</font></b>
<br><b><font size=-1>&nbsp;</font></b>
<br><b><font size=-1>END_TBL_ENTRY endDevTbl [] =</font></b>
<br><b><font size=-1>{</font></b>
<br><b><font size=-1>&nbsp;&nbsp;&nbsp; { 0, CPM_LOAD_FUNC, CPM_LOAD_STRING,
1, NULL, FALSE},</font></b>
<br><b><font size=-1>&nbsp;&nbsp;&nbsp; { 0, END_TBL_END, NULL, 0, NULL,
FALSE},</font></b>
<br><b><font size=-1>};</font></b>
<p>As you can see IMMR is at 0x01130000, 24 transmit and receive buffer
descriptors at 0x01132a00 and 0x01132b00 respectively.&nbsp; I've double
checked and this area of DPRAM is not being used by any other devices.&nbsp;
All's well so far.&nbsp; I build and download an image using an ICE and
the target runs calling motCpmEndLoad() and motCpmEndStart() happily.&nbsp;
All looks OK at this point in time.&nbsp; The buffer descriptors are populated
properly for both transmit and receive and in both cases the status fields
do not have the ready bit set.
<p>Running the system freely I can see the receive buffer descriptors updating
as expected and the command <b>ifShow</b> reports (from a serial WDB connection)
that the cpm interface is receiving an increasing number of packets.&nbsp;
Now the crux of the problem - motCpmEndSend() when called does the following.........(all
in the driver)
<p>1. A buffer is created in RAM with a call to netClusterGet() and this
succeeds. (I can read with ICE)
<br>2. The data to be transmitted is copied from the M_BLK_ID pointer successfully
and its length calculated.
<br>3. The transmit buffer descriptor data pointer is set to point at this
memory location.&nbsp; The transmit buffer descriptor length field is also
set after the buffer is padded with 0x88.
<p>4. Interrupts are locked (intLock)
<br>5. The transmit buffer descriptor (txBD) status mode field is updated
to set the READY bit.&nbsp; I can see this also in the txBD and it's OK.
<br>**** At this point I expect the CPM to process this ready buffer and
clear the ready bit.&nbsp; <u>This doesn't happen</u>.&nbsp; The SCC should
assert TENA also when it sends data - this doesn't happen (with analyser).&nbsp;
I suppose the question is why would the CPM not process this buffer ?????
****
<br>6. Interrupts are locked (intLock)
<p>If there's anyone out there with some brilliant idea then I'd be grateful
to hear it.
<br>Regards
<p>Paul
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;</html>

- --------------F7E2879D9995E11CBE6E19B7--

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

Newsgroups: comp.os.vxworks
Subject: Re: taskLock() and logMsg()
Date: 11 Jul 2002 08:41:07 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207110741.3b9f61c9@posting.google.com>
References: <5c04bc56.0207101732.1f9203e2@posting.google.com> <479ba395.0207102242.e91b62d@posting.google.com>

Hello,

rajendra_krsingh@yahoo.com (rajendra) wrote in message news:<479ba395.0207102242.e91b62d@posting.google.com>...
> jjf@bcs.org.uk (J. J. Farrell) wrote in message news:<5c04bc56.0207101732.1f9203e2@posting.google.com>...
> > taskLock() is defined as
> > 
> >   This routine disables task context switching. The task that
> >   calls this routine will be the only task that is allowed to
> >   execute, unless the task explicitly gives up the CPU by
> >   making itself no longer ready.
> > 
> > What happens when the task next gets switched in after it becomes
> > ready again? Is it then in the taskLock()ed state? I had assumed
> > so, but I'm seeing behaviour that makes me wonder ...
>  No, It will not.

Actually, it will be. When the task resumes execution the task lock
will be back in place. The lock is held in a counter in the TCB, so it
will be in place all the time the task is running. Also, since it is a
count, you will need the same number of calls to taskUnlock() as were
made to taskLock() to remove it.

As for the original problem, I suspect Rajendra's summary is correct,
and the interrupt is in fact coming during a phase when the 'locked'
task is blocked by its own actions. Which architecture are we talking
about here?

HTH,

John...

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

Newsgroups: comp.os.vxworks
Subject: Re: the same FD of open two file?
Date: Thu, 11 Jul 2002 16:17:17 GMT
From: "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM>
Organization: Verio
Message-ID: <newscache$0oh3zg$r09$1@lnews.actcom.co.il>
References: <8446174.0207110433.7e26a806@posting.google.com>

Two tasks can use the same FD (file descriptor), and use it
for reading and writing concurrently, but the same FD will  allways
point to the same file (or device). Never will two distinct files or
devices yield the same file descriptor value, with the exception
of FD values of 0, 1 and 2, which every task can redirect to a different
device or file using ioTaskStdSet(). open() will never return FD value
of 0, 1 or 2 (STD_IN, STD_OUT, STD_ERR).

If you provide more details of your problem, I might be able to
offer more relevant advise.

"yang" <shyang@netease.com> wrote in message
news:8446174.0207110433.7e26a806@posting.google.com...
> I create two task and one is to open a file to write ,another is to
> open dev to read data . But I find two tasks have the same handle of
> file.and next my program can't run . I want to know if two task can
> have the same handle of open file.and if it can't how can I avoid it.

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

Newsgroups: comp.os.vxworks
Subject: Re: serial driver i8250 FIOPROTOHOOK options
Date: Thu, 11 Jul 2002 16:19:01 GMT
From: "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM>
Organization: Verio
Message-ID: <newscache$yqh3zg$s09$1@lnews.actcom.co.il>
References: <3D2D5AA7.E0413CE2@grenoble.sema.slb.com>

If you want the Hook to work for every character,
you need to put the serial line into RAW mode,
i.e. disable all tyLib character processing.

Also, I would recommend you use the SIO API rather
than tty, it is much more effecient.

"ftr" <ftorras@grenoble.sema.slb.com> wrote in message
news:3D2D5AA7.E0413CE2@grenoble.sema.slb.com...
> hi all,
>
> In my application, i'm using FIOPROTOHOOK and FIOPROTOARG ioctl options
> (tyLib) to create a handler on serial port. This one should "wake up"
> when a character comes. But it doesn't work!
> perhaps there is another option or configuration of the driver that i
> have forgotten.
>
> if someone got an idea !!!
>
> thanks in advance
>
> Frederic
>

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

Newsgroups: comp.os.vxworks
Subject: how can i produce .COFF. OUT . ELF format
Date: 11 Jul 2002 09:43:48 -0700
From: dengjinsheng@sina.com (dragonheart)
Organization: http://groups.google.com/
Message-ID: <238a6ea8.0207110843.7c573d64@posting.google.com>

I want to use VISIONPROBEII to debug my BSP, but the symbol and
download program must be .ab and .BDX. TO convert those types must
need .COFF .OUT .X or .ELF .ELFHow can I produce the these formats in
tornado 2 for PowerPC850.
Best Regart

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

Newsgroups: comp.os.vxworks
Subject: Re: the same FD of open two file?
Date: 11 Jul 2002 13:50:23 -0700
From: vloscomp@yahoo.com (Vinh)
Organization: http://groups.google.com/
Message-ID: <c129947c.0207111250.3ea0c211@posting.google.com>
References: <8446174.0207110433.7e26a806@posting.google.com>

Hi,
  I think you will have to be a bit more specific as to what kind of 'file'.

Vinh Lam
shyang@netease.com (yang) wrote in message news:<8446174.0207110433.7e26a806@posting.google.com>...
> I create two task and one is to open a file to write ,another is to
> open dev to read data . But I find two tasks have the same handle of
> file.and next my program can't run . I want to know if two task can
> have the same handle of open file.and if it can't how can I avoid it.

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

Newsgroups: comp.os.vxworks
Subject: debugging using serial communication
Date: Thu, 11 Jul 2002 14:35:48 -0700
From: harih <harih@cisco.com>
Organization: Cisco Systems Inc.
Message-ID: <3D2DFA33.45768ADD@cisco.com>

Hi,

I am trying to to use a serial connection between my host and the
VxWorks target for debug purposes.

The host workstation is a sparc20 workstation running SunOS. I am trying
to use '/dev/ttya' serial port with baud rate as 9600. The serial link
itself is fine and has been tested using 'tip' tool.  I am using Tornado
version 2.0-FCS2. The target is running Vxworks 5.4 (Kernel: WIND
version 2.5)
and the CPU target architecture is R5k (MIPS). The target's
WDB_COMM_TYPE is WDB_COMM_SERIAL, WDB_TTY_CHANNEL is 1, WDB_MODE is
WDB_MODE_TASK and the baud rate is set to 9600.

When I try to connect to the target from the Tornado Launcher I get the
following error.

Connecting to target agent...
    Error: rpccore backend client RPC: Timed out
failed.
    Connecting to target agent...
    Error: rpccore backend client RPC: Timed out
failed.
    Connecting to target agent...     Error: clnttty_rcv: read timed
out    Error: clnttty_rcv: read timed out    Error: clnttty_rcv: no end
of frame in input
    Error: clnttty_rcv: no end of frame in input
    Error: clnttty_rcv: no end of frame in input
    Error: clnttty_rcv: no end of frame in input

Does anyone know that the host tool is expecting?. What does the
'clnttty_rcv: no end of frame in input' mean?. Has anyone seem similar
problems?

When I try to connect to the target via 'tip' when the Launcher is
trying to connect, I see the following output where 'PROMPT' is the
local prompt configured. I am not sure why or how this prompt gets in
the way of the communication.

PROMPT > i60hN@hN@hN@hOhO@hO@hP@pverhS@hS@hZ@@EC!v8uUUUU.
PROMPT > i50hN@hN@hN@hOhO@hO@hP@pverhS@hZ@@EC!v9uUUUU.
PROMPT > i50dspverh[@@EC!v:uUUUU.
PROMPT > i50hN@hN@hN@hOhO@hO@hP@hQ@dspverh[@@EC!v;uUUUU.
PROMPT > i40hN@hN@hN@hOhO@hO@hP@hQ@rh[@@EC!v<uUUUU.
PROMPT > i40hN@hN@hN@hOhO@hO@hP@h\@@EC!v=uUUUU.

Any help or pointers would be appreciated.

Thanks,
Hari.

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

Newsgroups: comp.os.vxworks
Subject: Re: dosFS2 and Tornado 2.0.2 Patch
Date: Thu, 11 Jul 2002 22:00:10 GMT
From: "G Loucks" <gloucks@hotmail.com>
Organization: Shaw Residential Internet
Message-ID: <KdnX8.12102$pi1.287353@news2.calgary.shaw.ca>
References: <hckW8.28760$Xs6.1252605@news2.calgary.shaw.ca> <newscache$a25yyg$gn1$1@lnews.actcom.co.il> <nimW8.29409$Xs6.1315665@news2.calgary.shaw.ca> <2yuW8.286626$R61.171062@rwcrnsc52.ops.asp.att.net>

"drdiags" <drdiags@attbi.com> wrote in message
news:2yuW8.286626$R61.171062@rwcrnsc52.ops.asp.att.net...
> Hello Greg,
>
>    Under Tech Tips, you can find the following link:
>
>
http://web1.windriver.com/cgi-bin/windsurf/techtips/public/viewSum.cgi?id=65
> 9
>
> I have cut and pasted the script, HTH. (UNIX and Windows)
>
> [deleted scripts]

Thanks. That seems to do the trick. Unfortunately, I've been cut off from
the techtips (thought i was up to date on the maintenance, oops).

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

Newsgroups: comp.os.vxworks
Subject: Re: how can i produce .COFF. OUT . ELF format
Date: 11 Jul 2002 15:04:59 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207111404.17f3c5a7@posting.google.com>
References: <238a6ea8.0207110843.7c573d64@posting.google.com>

Hello,

PowerPC files are in ELF already, so they will convert OK. The file's
extension should not matter for the conversion tool - it can determine
the format from the content of the file.

HTH,

John...

dengjinsheng@sina.com (dragonheart) wrote in message news:<238a6ea8.0207110843.7c573d64@posting.google.com>...
> I want to use VISIONPROBEII to debug my BSP, but the symbol and
> download program must be .ab and .BDX. TO convert those types must
> need .COFF .OUT .X or .ELF .ELFHow can I produce the these formats in
> tornado 2 for PowerPC850.
> Best Regart

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

Newsgroups: comp.os.vxworks
Subject: missing target shell prompt
Date: Thu, 11 Jul 2002 22:10:09 GMT
From: "Charles Krinke" <someone@pacbell.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <5nnX8.16843$4j3.338746395@newssvr21.news.prodigy.com>

Guys, this is a simple question, but one that I never came to grips with at
my last job. Basically, when I startup a subroutine at boot time, say with
INCLUDE_USER_APPL and then do a printf ("something\n"), I dont see the "->"
prompt come back until I issue a carriage return from my terminal to the
target shell. There must be some simple thing going on that I dont
understand. Can someone please tell me why the prompt disappears after a
printf from a subroutine started from boot time so I can make it appear
again. Basically, its not a big deal, it just causes my heart to flutter
every time my system boots when there is no prompt, and I find myself
pressing return incessantly every time I boot my target.

Charles

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

Newsgroups: comp.os.vxworks
Subject: Re: missing target shell prompt
Date: Thu, 11 Jul 2002 17:53:40 -0700
From: "Michael R. Kesti" <mkesti@gv.net>
Organization: MK Associates
Message-ID: <3D2E2894.F88B5106@gv.net>
References: <5nnX8.16843$4j3.338746395@newssvr21.news.prodigy.com>
Reply-To: mkesti@gv.net

Charles Krinke wrote:

>Guys, this is a simple question, but one that I never came to grips with at
>my last job. Basically, when I startup a subroutine at boot time, say with
>INCLUDE_USER_APPL and then do a printf ("something\n"), I dont see the "->"
>prompt come back until I issue a carriage return from my terminal to the
>target shell. There must be some simple thing going on that I dont
>understand. Can someone please tell me why the prompt disappears after a
>printf from a subroutine started from boot time so I can make it appear
>again. Basically, its not a big deal, it just causes my heart to flutter
>every time my system boots when there is no prompt, and I find myself
>pressing return incessantly every time I boot my target.

This happens when the target shell and the target's stdout device are
the same, which is typical.  I've never tried it, but I suppose you
could redirect stdout to another tty (if there is one available) and
use two terminals.

- -- 
========================================================================
          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: Re: Newbie: How to learn VXworks ?
Date: Thu, 11 Jul 2002 18:03:12 -0700
From: "Michael R. Kesti" <mkesti@gv.net>
Organization: MK Associates
Message-ID: <3D2E2AD0.6E4E8268@gv.net>
References: <wAtV8.1431$lj4.157786311@newssvr14.news.prodigy.com> <3D271381.39C4AC09@gv.net> <3D2A09F4.77C6A3D2@jpl.nasa.gov>
Reply-To: mkesti@gv.net

M Lang wrote:

>I always wonder why there is no 3rd party books
>on programming vxWorks? There are books on
>every other subjects but none for vxWorks.
>Did Wind River have anything to do with the
>absence of 3rd party materials?

I hoped somebody who actually knows something about this would reply,
but I suppose I'll submit conjecture, instead.  ;-)

Wind River is a company that seems to play its intellectual property
rights game very close to the vest.  I wouldn't be too surprised to
learn that they have actively discouraged such works using copyright
and trademark law.

- -- 
========================================================================
          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: Re: using D-link network adapter for network booting
Date: Fri, 12 Jul 2002 02:22:28 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <E3rX8.6247$uw.2603@rwcrnsc51.ops.asp.att.net>
References: <a92e61fe.0207090345.65a7da72@posting.google.com> <Xns9246B19435AB1borkhuisagerecom@192.19.193.66> <a92e61fe.0207092010.232db98e@posting.google.com> <Xns92475E441AD71borkhuisagerecom@192.19.193.66> <a92e61fe.0207102255.511d30bf@posting.google.com>

Ashok,

    If you contact RealTek and sign a NDA, they will provide you with a END
driver for this chipset. I think there is a WRS service one that you can
purchase.
HTH....

"Ashok" <ash_kumarv@yahoo.com> wrote in message
news:a92e61fe.0207102255.511d30bf@posting.google.com...
> Johan Borkhuis <borkhuis@agere.com> wrote in message
news:<Xns92475E441AD71borkhuisagerecom@192.19.193.66>...
> > ash_kumarv@yahoo.com (Ashok) wrote:
> >
> > > i have a D-Link DFE-538TX PCI Ethernet Adapter
> > >
> > > is this sufficient information?
> >
> > No, we need the type of ethernet controller chip that is used on the
card.
> > The driver is not specific for a card, but for a chip.
> >
> > Groeten,
> >         Johan
>
>
>
> The chip is
>
> Realtek RTL8139
>
> thnx for the help..
> can u help me out further
>
> Ashok

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

Newsgroups: comp.os.vxworks
Subject: Re: the same FD of open two file?
Date: 11 Jul 2002 19:42:25 -0700
From: shyang@netease.com (yang)
Organization: http://groups.google.com/
Message-ID: <8446174.0207111842.4c5bbb9e@posting.google.com>
References: <8446174.0207110433.7e26a806@posting.google.com> <newscache$0oh3zg$r09$1@lnews.actcom.co.il>

In my program I have two task. one is to open a device to get data for
write file. and it is opened:
if((davcFD = open("/davc/0", O_RDONLY,0644)) == ERROR) 
{	
	perror("Open DAVC device");
	return;		
}
and another task is to open a file to write these datas.and it is
opened:
if((localfd = open("/ata/1.txt",O_CREAT | O_RDWR,0)) == ERROR)
{					
        return;
}
 
now I always find davcFD equal localfd. And I asked dealer they told
me the file descriptor shoule sole.and davcFD is first created .These
task don't occur

competition.

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

Newsgroups: comp.os.vxworks
Subject: Re: debugging using serial communication
Date: 11 Jul 2002 22:57:55 -0700
From: rajendra_krsingh@yahoo.com (rajendra)
Organization: http://groups.google.com/
Message-ID: <479ba395.0207112157.57809fd3@posting.google.com>
References: <3D2DFA33.45768ADD@cisco.com>

Everything seems fine to me except I doubt you are using wdbrpc
backend. You should use wdbserial if your target has been compiled
with WDB_COMM_SERIAL.
 I think you need to specify wdbserial backend before trying to
connect.

- -rajendra

harih <harih@cisco.com> wrote in message news:<3D2DFA33.45768ADD@cisco.com>...
> Hi,
> 
> I am trying to to use a serial connection between my host and the
> VxWorks target for debug purposes.
> 
> The host workstation is a sparc20 workstation running SunOS. I am trying
> to use '/dev/ttya' serial port with baud rate as 9600. The serial link
> itself is fine and has been tested using 'tip' tool.  I am using Tornado
> version 2.0-FCS2. The target is running Vxworks 5.4 (Kernel: WIND
> version 2.5)
> and the CPU target architecture is R5k (MIPS). The target's
> WDB_COMM_TYPE is WDB_COMM_SERIAL, WDB_TTY_CHANNEL is 1, WDB_MODE is
> WDB_MODE_TASK and the baud rate is set to 9600.
> 
> When I try to connect to the target from the Tornado Launcher I get the
> following error.
> 
> Connecting to target agent...
>     Error: rpccore backend client RPC: Timed out
> failed.
>     Connecting to target agent...
>     Error: rpccore backend client RPC: Timed out
> failed.
>     Connecting to target agent...     Error: clnttty_rcv: read timed
> out    Error: clnttty_rcv: read timed out    Error: clnttty_rcv: no end
> of frame in input
>     Error: clnttty_rcv: no end of frame in input
>     Error: clnttty_rcv: no end of frame in input
>     Error: clnttty_rcv: no end of frame in input
> 
> 
> Does anyone know that the host tool is expecting?. What does the
> 'clnttty_rcv: no end of frame in input' mean?. Has anyone seem similar
> problems?
> 
> When I try to connect to the target via 'tip' when the Launcher is
> trying to connect, I see the following output where 'PROMPT' is the
> local prompt configured. I am not sure why or how this prompt gets in
> the way of the communication.
> 
> PROMPT > i60hN@hN@hN@hOhO@hO@hP@pverhS@hS@hZ@@EC!v8uUUUU.
> PROMPT > i50hN@hN@hN@hOhO@hO@hP@pverhS@hZ@@EC!v9uUUUU.
> PROMPT > i50dspverh[@@EC!v:uUUUU.
> PROMPT > i50hN@hN@hN@hOhO@hO@hP@hQ@dspverh[@@EC!v;uUUUU.
> PROMPT > i40hN@hN@hN@hOhO@hO@hP@hQ@rh[@@EC!v<uUUUU.
> PROMPT > i40hN@hN@hN@hOhO@hO@hP@h\@@EC!v=uUUUU.
> 
> 
> Any help or pointers would be appreciated.
> 
> Thanks,
> Hari.

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

Newsgroups: comp.os.vxworks
Subject: Re: the same FD of open two file?
Date: 11 Jul 2002 23:15:23 -0700
From: rajendra_krsingh@yahoo.com (rajendra)
Organization: http://groups.google.com/
Message-ID: <479ba395.0207112215.600e463e@posting.google.com>
References: <8446174.0207110433.7e26a806@posting.google.com> <newscache$0oh3zg$r09$1@lnews.actcom.co.il> <8446174.0207111842.4c5bbb9e@posting.google.com>

I am damn sure that It can't happen. What I doubt is, somehow devcFD
is getting closed (may be some error is occuring after opening).
 You can try opening file first and then device. It should work.
 And if it is not working then try opening two files and see if fd is
same.
It should not.

- -rajendra

shyang@netease.com (yang) wrote in message news:<8446174.0207111842.4c5bbb9e@posting.google.com>...
> In my program I have two task. one is to open a device to get data for
> write file. and it is opened:
> if((davcFD = open("/davc/0", O_RDONLY,0644)) == ERROR) 
> {	
> 	perror("Open DAVC device");
> 	return;		
> }
> and another task is to open a file to write these datas.and it is
> opened:
> if((localfd = open("/ata/1.txt",O_CREAT | O_RDWR,0)) == ERROR)
> {					
>         return;
> }
>  
> now I always find davcFD equal localfd. And I asked dealer they told
> me the file descriptor shoule sole.and davcFD is first created .These
> task don't occur
> 
> competition.

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

Newsgroups: comp.os.vxworks
Subject: How to use the endEtherPacketDataGet
Date: 12 Jul 2002 01:48:54 -0700
From: laisl@hotmail.com (laisl)
Organization: http://groups.google.com/
Message-ID: <f453ab44.0207120048.723398fe@posting.google.com>

I would like to use the endEtherPacketDataGet function
to receive the ethernet packet

any guideline or example on how to do it

Thanks
laisl

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

Newsgroups: comp.os.vxworks
Subject: DHCP Servers' relay agent functionality
Date: 12 Jul 2002 03:13:38 -0700
From: hekumar@hss.hns.com (Hemant Kumar)
Organization: http://groups.google.com/
Message-ID: <a26a7b31.0207120213.54937bdb@posting.google.com>

hi
i have configured dhcp server1 to relay requests to another vxworks
dhcp server-server2 through usrDhcpsNetCfg.c.
Default routing entries have been added to both servers to route to
their gateways. (Both servers are on different subnets)
Now i run ipconfig/renew on a dhcp client on server1's subnet for
getting a lease for the client. the configuration info of client is
with server2 and not with server1. server1 is correctly able to relay
the request to server2 but server2 is unable to grant a lease to the
client.
I am using Tornado 2
Could u let me know what is wrong.
Thanks a lot
Hemant

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

Newsgroups: comp.os.vxworks
Subject: Re: taskLock() and logMsg()
Date: 12 Jul 2002 03:15:51 -0700
From: jjf@bcs.org.uk (J. J. Farrell)
Organization: http://groups.google.com/
Message-ID: <5c04bc56.0207120215.7d9c0944@posting.google.com>
References: <5c04bc56.0207101732.1f9203e2@posting.google.com> <479ba395.0207102242.e91b62d@posting.google.com>

rajendra_krsingh@yahoo.com (rajendra) wrote in message news:<479ba395.0207102242.e91b62d@posting.google.com>...
> jjf@bcs.org.uk (J. J. Farrell) wrote in message news:<5c04bc56.0207101732.1f9203e2@posting.google.com>...
> > 
> > I'm running a driver that is using logMsg() from its interrupt
> > routine. It looks like logMsg()'s logging task is subsequently
> > getting switched in even though my task that was running at the
> > time of the interrupt had called taskLock() some time earlier
> > (and perhaps given up the processor voluntarily since).
>
>  How can you say that your task is running when interrupt comes. You
> can be only sure when after calling taskLock you are doing some
> computation in infinite loop. But I am sure that you are not doing
> that.

Sorry, I expressed myself poorly - the bit about my task running
is a red herring. The only way I can see at the moment for the
system to get into this strange state is if an interrupt has been
taken while I believe I am protected by both taskLock() and
intLock(). It is possible that my task has voluntarily given up
the CPU since it last called taskLock(). It struck me that I had
made an assumption about the behaviour of taskLock() in this case,
and the possible alternative behaviour would explain my problem.
If my task were no longer taskLock()ed, it could have been switched
out which would have re-enabled interrupts. An interrupt arriving
before it was switched back in would explain the situation - the
behaviour would be "as if" my task were running at the time, without
interrupts blocked.

>  So what I suspect is, after calling taskLock your task leaves the CPU
> before the interrupt comes. If you are doing logMsg in interrupt
> handler then logMsg assumes task running on CPU before interrupt as
> calling task.

I don't believe the situation I'm seeing can arise if it gets switched
out at any of the expected possible rescheduling points.

Thanks for your input.

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

Newsgroups: comp.os.vxworks
Subject: Re: taskLock() and logMsg()
Date: 12 Jul 2002 03:26:19 -0700
From: jjf@bcs.org.uk (J. J. Farrell)
Organization: http://groups.google.com/
Message-ID: <5c04bc56.0207120226.5b988c6@posting.google.com>
References: <5c04bc56.0207101732.1f9203e2@posting.google.com> <479ba395.0207102242.e91b62d@posting.google.com> <488e459a.0207110741.3b9f61c9@posting.google.com>

john_94501@yahoo.com (John) wrote in message news:<488e459a.0207110741.3b9f61c9@posting.google.com>...
> rajendra_krsingh@yahoo.com (rajendra) wrote in message news:<479ba395.0207102242.e91b62d@posting.google.com>...
> > jjf@bcs.org.uk (J. J. Farrell) wrote in message news:<5c04bc56.0207101732.1f9203e2@posting.google.com>...
> > > 
> > > What happens when the task next gets switched in after it becomes
> > > ready again? Is it then in the taskLock()ed state? I had assumed
> > > so, but I'm seeing behaviour that makes me wonder ...
> >
> >  No, It will not.
> 
> Actually, it will be. When the task resumes execution the task lock
> will be back in place. The lock is held in a counter in the TCB, so it
> will be in place all the time the task is running. Also, since it is a
> count, you will need the same number of calls to taskUnlock() as were
> made to taskLock() to remove it.

Thanks John. Rajendra's answer would explain my problem, but I must
admit that yours describes what I would expect to happen. I'm fairly
new to VxWorks - is there any reasonable way to hack my code to look
at the current state of taskLock() and intLock() for diagnostic
purposes? How do I get a pointer to the TCB, and is its layout
documented anywhere - or can anyone tell me whereabouts in it to
find the taskLock() state? And the same for intLock()?

> As for the original problem, I suspect Rajendra's summary is correct,
> and the interrupt is in fact coming during a phase when the 'locked'
> task is blocked by its own actions.

As explained in answer to Rajendra, that wouldn't explain the problem.
Sorry for my poor description that led everyone down this path.

> Which architecture are we talking about here?

MIPS.

Thanks for your help.

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

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

From vxwexplo-errs@csg.lbl.gov  Sat Jul 13 04:03:10 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sat Jul 13 04:03:12 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Sat Jul 13 04:03:07 PDT 2002

        Subject: Re: FTP probelm
        Subject: Re: Downloading files to target using windsh -s
        Subject: Re: about taskDelay and execution time of a task
        Subject: Query related to Timeout and UDP
        Subject: Re: Downloading files to target using windsh -s
        Subject: Re: new to vxworks need advice about working
        Subject: Re: taskLock() and logMsg()
        Subject: Application initialization.
        Subject: Re: Application initialization.
        Subject: Re: Ethernet END Setup (continued) 
        Subject: WindNet NAT performance?
        Subject: Re: how to trace incoming and outgoing data packets on a target machin
        Subject: Executing shell scripts inside a program.
        Subject: Re: Application initialization.

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

Newsgroups: comp.os.vxworks,comp.os.qnx
Subject: Re: FTP probelm
Date: Fri, 12 Jul 2002 12:03:35 +0000 (UTC)
From: "Ganesh Anand" <ganeshtp@myw.ltindia.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <33a82c0f2d66346702ed874342afc4e9.98538@mygate.mailgate.org>
References: <f8bb70a1a25a601ee7eca0f3f5ae3764.98538@mygate.mailgate.org> <363d071b.0207061417.4841b4c3@posting.google.com>

 hi guys,

     now i could transfer data thro FTP but i couldn't do that above
1024 bytes
connection goes after transferrring 1024 bytes. i tried to find that 
ftpdWindowSize global variable but i cudn't find it since it had been
set
in Lib files.

    how to solve this probelm? any one cud help me

  with rgds,
  ganesh

- -- 
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: Re: Downloading files to target using windsh -s
Date: 12 Jul 2002 05:42:37 -0700
From: mbendtsen@sjm.com (Mikael Bendtsen)
Organization: http://groups.google.com/
Message-ID: <4a8311d7.0207120442.5d82b3b4@posting.google.com>
References: <4a8311d7.0207102335.3de9525f@posting.google.com> <u65zm5ogd.fsf@sympatico.ca>

Bill Pringlemeir <spam_account@sympatico.ca> wrote in message news:<u65zm5ogd.fsf@sympatico.ca>...
> >>>>> "Mikael" == Mikael Bendtsen <mbendtsen@sjm.com> writes:
> 
> [snip]
> 
>  Mikael> My problem is that output from the application (error
>  Mikael> messages, printf's etc) doesn't appear in the shell window
>  Mikael> invoked from Tcl (with the -s option). Also, the prompt
>  Mikael> doesn't appear after the script has finished but it seems
>  Mikael> that the shell process is still alive because issuing
>  Mikael> commands like 'i' to show task information gives
>  Mikael> output. There is no echoing of characters being typed in the
>  Mikael> window either.
> 
> Sounds like some good stuff.  I assume that you know what the
> difference between commands executed on the host and target are.  You
> can use the function "iosFdShow".  It will list something like this,
> 
>    -> iosFdShow
>     fd name                 drv
>      3 /tyCo/0                1 in out err
>      4 (socket)               4
>      5 (socket)               4
>      6 /customKbd/0           8
>      7 /random                7
>      8 /customPtr/0           9
>      9 /random                7
>     10 (socket)               4
>     11 /customPtr/0           9
>     12 i18n.znc               3
>     13 F:/Menu.znc            3
>     14 F:/Apps/MicroBrowser/AppBrowser.znc   3
>     16 (socket)               4
>     17 (socket)               4
>     18 (socket)               4
>    value = 32 = 0x20 = ' '
> 
> The important piece of info is the "in out err" part.  You can
> redirect the "tShell" tasks I/O by using the functions,
> 
>    ioGlobalStdSet()-set the file descriptor for global stdin/stdout/stderr
>    ioGlobalStdGet()-get the file descriptor for global stdin/stdout/stderr
>    ioTaskStdSet() - set the file descriptor for task stdin/stdout/stderr
>    ioTaskStdGet() - get the file descriptor for task stdin/stdout/stderr
> 
> So what is the shells value?  The iosFdShow above was from a target
> shell.  Starting a host shell (same as windsh) gives,
> 
>    -> @iosFdShow
>     fd name                 drv
>      3 /tyCo/0                1   
>      4 (socket)               4   
>      5 (socket)               4   
>      6 /customKbd/0           8   
>      7 /random                7   
>      8 /customPtr/0           9   
>      9 /random                7   
>     10 (socket)               4   
>     11 /customPtr/0           9   
>     12 i18n.znc               3   
>     13 F:/Menu.znc            3   
>     14 F:/Apps/MicroBrowser/AppBrowser.znc   3   
>     15 /vio/0                 5 in out err
>     16 (socket)               4   
>     17 (socket)               4   
>     18 (socket)               4   
>     19 /vio/1                 5   
>    value = 32 = 0x20 = ' '
> 
> Now the global output has been redirected to fd #15 or "/vio/0".  This
> is the target server window.  If I type "ll" my output goes there. I
> can change this to be 19 and all the stuff will go to the windsh
> console.  Where ever it is spawned (NT console, Tornado MDI window, or
> Emacs frame).
> 
> I think that should help.
> 
> Regards,
> Bill Pringlemeir.

Bill,

Thanks for the informative answer. Actually stdout and stderr are
redirected to /vio/0. These lines are included in the script:

vf0=open("/vio/0",2,0)
ioGlobalStdGet(0,vf0)
ioGlobalStdSet(1,vf0)
ioGlobalStdSet(2,vf0)

This is the result of a @iosFdShow after the script has loaded and the
main task has been spawned:

  3 /tyCo/2                3 in  
  4 (socket)              10   
  5 (socket)              10   
  6 (socket)              10   
  7 (socket)              10   
  8 (socket)              10   
  9 /tyPanel               2   
 10 /vio/1                14   
 11 /ipr                   4   
 12 /upipe/pipe0          16   
 13 /upipe/pipe0          16   
 14 /tyKBD                19   
 15 /tyPB                 20   
 16 /tyPD                 18   
 17 /hdIDE0/aps3/prtspool.dir/spool.fil   6   
 18 /vio/0                14  out err
 19 /tyDTM                 2   
 20 (socket)              10   
 21 /tyCo/0                2   

(stdout and stdout redirected to target server window, right?)

The same redirections are set if I start a shell manually and invoke
the script using the < redirection operator. But in that case, the
missing printouts appear. I have noticed that there is no prompt in
the shell launched with shellLaunch (using the -s option to windsh).
Also, there is no echoing of characters being typed. However, if I
issue any command that prints something in the window (like 'i' for
task info or 'iosFdShow'), it seems that my lost printouts from the
application appears as well. Has this something to do with buffering
of printouts? Can I turn the prompt back on and make the characters I
type appear somehow?

Best regards,

Mikael

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

Newsgroups: comp.os.vxworks
Subject: Re: about taskDelay and execution time of a task
Date: Fri, 12 Jul 2002 13:44:51 +0100
From: "Martin Dowie" <martin.dowie@nospam.baesystems.com>
Message-ID: <3d2ecf1a$1@pull.gecm.com>
References: <f14c07cb.0207042210.6c3994b1@posting.google.com> <3D25CCE5.FC407AA3@gv.net> <f14c07cb.0207060049.498bf68e@posting.google.com>

"Anand" <forvxworks@rediffmail.com> wrote in message
news:f14c07cb.0207060049.498bf68e@posting.google.com...

By calculating 'time_consumed' your algorithm will start to
drift, especially if between the calculation of this and the
calculation of the nanosleep parameter the task is interrupted.

Instead you could try:

> task()
> {
> /* declarations */
    declare Schedule_Point;
>
> /* give appropriate sysClkRateSet */

    Schedule_Point = clock_gettime();

> while(1)
> {
>
> /* start of task code */
> ------------
> -----------
> -----------
> -------------
> -------------
> /* end of task code */

  /* loop */
  /*    Schedule_Point = Schedule_Point + Iteration_Period */
  /*    exit when Schedule_Point > clock_gettime() */
  /* end loop */

  /* nanosleep() until Schedule_Point */

> } // end of while
>
> } // end of task

This scheme will miss cycles if you happen to 'overrun' your
time allocated. But then you will be timing your worst case,
won't you? ;-)

Cost of looping version
=======================
3 * calls to function clock_gettime
1 * ">"
1 * addition
1 * subtraction

If you can prove you will never overrun, the loop can be
omitted and the update of Schedule_Point left out on its
own.

Cost without loop
=================
2 * calls to function clock_gettime
1 * addition
1 * subtraction

as opposed to your original scheme (I think) of:

Cost of original
================
3 * calls to function clock_gettime
2 * subtraction

(I've left out the calculation of the nanosleep parameter value
as I think it is the same for all 3 cases).

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

Newsgroups: comp.os.vxworks
Subject: Query related to Timeout and UDP
Date: Fri, 12 Jul 2002 14:24:16 +0000 (UTC)
From: "hi_sunsyahoo.com" <hi_suns@yahoo.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <c8f127d2dbf10ed36ddce7b199655c07.102337@mygate.mailgate.org>

Hi,

I would like U 2 throw some light on these 2 questions. 

1. If my entire code is based on TCP, Can I add the Broadcasting part
alone in UDP. ( I mean, can I write partial code with my UDP and
remaining with TCP. If yes, could you please explain the same.  Is there
any disadvantage?.

2. In my Application code how will I reduce the pinging time?. 
Even after reducing the timeout period and ping interval in pingLib.h
file, I could not find any change.
When I make a self ping it works very faster but when I ping for boards
which are not present, it gives me same 5 sec delay regardless of the
changes in pingLib.h file?

- -- 
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: Re: Downloading files to target using windsh -s
Date: 12 Jul 2002 12:42:59 -0400
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Factory of the mind
Message-ID: <u7kk0523w.fsf@sympatico.ca>
References: <4a8311d7.0207102335.3de9525f@posting.google.com> <u65zm5ogd.fsf@sympatico.ca> <4a8311d7.0207120442.5d82b3b4@posting.google.com>
Sender: bpringlemeir@DeadDuck

 Mikael> Thanks for the informative answer. Actually stdout and stderr
 Mikael> are redirected to /vio/0. These lines are included in the
 Mikael> script:

 Mikael> vf0=open("/vio/0",2,0)
 Mikael> ioGlobalStdGet(0,vf0)
 Mikael> ioGlobalStdSet(1,vf0)
 Mikael> ioGlobalStdSet(2,vf0)

 Mikael> This is the result of a @iosFdShow after the script has
 Mikael> loaded and the main task has been spawned:

 Mikael>   3 /tyCo/2                3 in  
[snip]
 Mikael>  18 /vio/0                14  out err
[snip]

 Mikael> (stdout and stdout redirected to target server window,
 Mikael> right?)

That is correct.  Input is on the second serial port.  So one of the
statements didn't happen.  "/vio/0" might not have been created or
there is some trouble opening and attaching it?

 Mikael> The same redirections are set if I start a shell manually and
 Mikael> invoke the script using the < redirection operator. But in
 Mikael> that case, the missing printouts appear. I have noticed that
 Mikael> there is no prompt in the shell launched with shellLaunch
 Mikael> (using the -s option to windsh).  Also, there is no echoing
 Mikael> of characters being typed. However, if I issue any command
 Mikael> that prints something in the window (like 'i' for task info
 Mikael> or 'iosFdShow'), it seems that my lost printouts from the
 Mikael> application appears as well. Has this something to do with
 Mikael> buffering of printouts? Can I turn the prompt back on and
 Mikael> make the characters I type appear somehow?

A lot depends on the setting of the target server.  What is the
command line to the tgtsrv program?  For instance the options under
"Console and Redirection" will have a big impact on what happens here.
The options from the GUI are "Redirect Target I/O", "Create Console
Windows" and "Redirect Target Shell".  You might wish to play with
these options.  They are "-redirectIO", "-C", "-redirectShell"
[respectively] on the command line.  You might have the best luck
turning them all off.

I have much better luck by using ioTaskStdSet() functions [*1].
Although it seems like you wish to redirect everything (so the
ioGlobalStdSet is nice).  One thing that can hose things up is if the
application messes up some FDs.  I had this happen before.  If your
"@iosFdShow" fails (it must execute on the target), the fdTable might
be corrupted by an over-write.  The symbol fdTable is available and
the structure of the array is defined in some private vxWorks files,
so you can write some debug code to dump the structures.  I am not
sure where the global file descriptor data is stored... but the per
tasks are in the task blocks [these are in private headers too].

If your code is generic, you might consider sending a copy to Johan.
See the FAQ URL below.

hth,
Bill Pringlemeir.

[*1] I did my stuff on the target, to emulate `tw' which is only
implemented in TCL.  I posted this on c.o.v a while ago.

- -- 
You might want to consider making love.  Your sister will need to be
rewired tomorrow.  Your programs will start reading mail.  Stealing a
tetrodotoxin should not be done while wearing a girdle.  You'll
sometimes be broke.  Your lucky numbers are 20, 30, and 40.
 
vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

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

Newsgroups: comp.os.vxworks
Subject: Re: new to vxworks need advice about working
Date: 12 Jul 2002 11:29:10 -0700
From: vxworks@india.com (V R R Raju)
Organization: http://groups.google.com/
Message-ID: <d6e2de0a.0207121029.592e5908@posting.google.com>
References: <f81c4277.0207022158.cc3faa2@posting.google.com>

Hi, 

First you have to make changes in your make file. To include your
application along with the vxworks image you have to add the name of
your root task name in makefile placed under the BSP you are using
/target/config/BSP/. Find out MACH_EXTRA in your make file and add
this to it MACH_EXTRA =  your root task name.o (Object file). Then you
make vxWorks image and mkboot a: vxworks image you want. And when you
start your target enter the name of the root function and it will run.
I am using Tornado 2 so there may be few changes. Just tell me if it
works fine.

Bye

Rajneesh

vxnerd@rediffmail.com (subbarayan) wrote in message news:<f81c4277.0207022158.cc3faa2@posting.google.com>...
> hi, 
> I am new to vxworks and now currently working on tornado1.0 target
> version.I have just now started learning about the environment and abt
> vxworks.I have certain doubts for which i need all ur help to make me
> learn better.
> I made a boot.sys file by making the bootrom_uncmp option.then i made
> vxworks.st file also.
> I booted the target.I want to make it as a stand alone target which is
> a standard pc architecture.I copied the boot.sys file and .st file in
> a floppy and booted it.
> Now here are my following doubts:
> 1.My target is able to boot and my shell also starts in target.
> Now how to make my object file of my source to get downloaded in the
> target once it boots and after the shell loads in it.what are the
> settings i should make in the configuration files like
> config.h,usrconfig.c and other kind of settings if any inorder to make
> my target boot from floppy and load the object file in the target?Is
> any change in BSP files req?if so what changes should be done?
> I copy the bootfile and made it using mkboot a: bootrom_uncmp and had
> boot file in floppy then i copied the .st file.now what should i do to
> make my object file of the source which is my application to get
> downloaded in the target with the help of floppy?Is it ok if i just
> make the bootrom_uncmp and .st file or need i do some thing in the
> host to make my target to linked with source file once it boots?incase
> is something has to be done what should be done in host machine where
> i develop my code with tornado1.0?
> What commands should i use in the shell on target side to execute my
> appln?
> is it enough if i jus give the name of task i want to work?
> hows that done?
> 2.To make a network based host target environment what are the
> settings to be made to the usrconfig.c file and config.h file?what
> other files need to be modified and what settings should i give in
> these files incase it requires modification?Is any change in BSP files
> req?if so what changes should be done?
> 
>                     I will be thankful to the person helping me
> understand these questions.As i have no one to help me now around i am
> fully dependening on this forum for my help.
> Kindly tell me where can i find info abt making a floppy based
> bootable target with vxworks?
> Anyone with a soln can mail me the answer to:vxnerd@rediffmail.com

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

Newsgroups: comp.os.vxworks
Subject: Re: taskLock() and logMsg()
Date: 12 Jul 2002 11:30:41 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207121030.67626234@posting.google.com>
References: <5c04bc56.0207101732.1f9203e2@posting.google.com> <479ba395.0207102242.e91b62d@posting.google.com> <488e459a.0207110741.3b9f61c9@posting.google.com> <5c04bc56.0207120226.5b988c6@posting.google.com>

Hello,

> Thanks John. Rajendra's answer would explain my problem, but I must
> admit that yours describes what I would expect to happen. I'm fairly
> new to VxWorks - is there any reasonable way to hack my code to look
> at the current state of taskLock() and intLock() for diagnostic
> purposes? How do I get a pointer to the TCB, and is its layout
> documented anywhere - or can anyone tell me whereabouts in it to
> find the taskLock() state? And the same for intLock()?

For diagnostic purposes you can assume the following:

1) The task ID is the pointer to the TCB

2) The TCB structure is defined in taskLib.h (look for WIND_TCB)

3) The task lock counter is an element of the TCB called lockCnt.

As for the interrupt lock state, that is a little harder to determine
since it is arch specific. I don't know much about MIPS, but I believe
that the SR register holds this information. You can get to the SR
register through the TCB as well, but its value there could be stale
(especially since you are locked, so there should have been no need to
save the state into the TCB ;-). My guess is that you will need to
craft a small piece of assembler to check this for you.

Another thing to consider is that on some architectures making system
calls (e.g. semGive) with interrupts locked has the side effect of
re-enabling interrupts. This is probably a bug, but there is a
recommendation in the programmer's guide that system calls are not
made while interrupts are locked. I know this affects X86 based
systems; I do not know about MIPS ones. What calls are you making
while interrupts are locked?

HTH,

John...

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

Newsgroups: comp.os.vxworks
Subject: Application initialization.
Date: 12 Jul 2002 11:35:37 -0700
From: vxworks@india.com (V R R Raju)
Organization: http://groups.google.com/
Message-ID: <d6e2de0a.0207121035.587fbd08@posting.google.com>

Hi friends,

I am trying to make an application. I want my application to be
started as soon as the shell gets activated. That is it has to start
by itself rather than me giving the name at shell. For this which
configuration file did I have to change and where.

Thanks in advance.

With regards,

Rajneesh

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

Newsgroups: comp.os.vxworks
Subject: Re: Application initialization.
Date: Fri, 12 Jul 2002 20:51:16 GMT
From: "cfk" <cfk_alter_ego@pacbell.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <8jHX8.17399$793.368525494@newssvr21.news.prodigy.com>
References: <d6e2de0a.0207121035.587fbd08@posting.google.com>

Dear Rajneesh:
    Have a look at usrConfig.c. In that file is a routine called usrRoot.
The very last statement in that subroutine goes:

#ifdef INCLUDE_USER_APPL
    /*Startup the users application*/
USER_APPL_INIT /*must be a valid C statement of block */
#endif

This is the traditional place to put startup user code in a vxWorks image.
What I usually do is to define USER_APPL_INIT in config.h and either add a
subroutine call in place of USER_APPL_INIT in usrConfig.c or #define
USER_APPL_INIT to be a function pointer.

There are other ways, and some of them are more elegant with the GUI Tornado
interface and I am sure someone else will comment on that nuance.

Good Luck
Charles

"V R R Raju" <vxworks@india.com> wrote in message
news:d6e2de0a.0207121035.587fbd08@posting.google.com...
> Hi friends,
>
> I am trying to make an application. I want my application to be
> started as soon as the shell gets activated. That is it has to start
> by itself rather than me giving the name at shell. For this which
> configuration file did I have to change and where.
>
> Thanks in advance.
>
> With regards,
>
> Rajneesh

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

Newsgroups: comp.os.vxworks
Subject: Re: Ethernet END Setup (continued) 
Date: Fri, 12 Jul 2002 20:59:44 GMT
From: "cfk" <cfk_alter_ego@pacbell.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <3rHX8.17402$rb3.368659711@newssvr21.news.prodigy.com>
References: <3D2D9D88.C72C5215@baesystems.com>

This is a multi-part message in MIME format.

- ------=_NextPart_000_006A_01C229AC.15BF0870
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Dear Paul:
    I had a similar problem with the ln97xEnd driver a couple of years =
ago. At the end, I determined that before the driver could actually =
transmit or recieve through the network stack, that there needed to be =
statements such as routeAdd(), ipAttach() and others including setting =
of the subnet mask. Is it possible that you may have the mux running, =
but the rest of the connection that depends on the routing table is not =
yet there. I believe you can use arpShow and other show routines and =
study how other devices manipulate the arp table. I cant remember all of =
the syntax off the top of my head, but  if you havent done this part, =
that may be the next place to go.

Charles=20
  "Paul Caswell" <paul.caswell@baesystems.com> wrote in message =
news:3D2D9D88.C72C5215@baesystems.com...
  Hello vxworks world,=20
  Thanks to Dan Gold I seem to have at least something happening (wrt =
ethernet) on my bespoke board but as usual it's not quite working.  I'm =
clutching at straws here as this is quite low level but any suggestions =
would be welcome.  The story so far is as follows:=20
  Our board is an 860 based platform running (at present) a rom resident =
version of vxWorks 5.4.  Build environment is T2 with gnu compiler.  =
SCC1 is connected to ethernet via an MC68160 enhanced ethernet serial =
transciever (EEST) (Just like in the 860 users manual chapter 28.=20

  I've acquired the source code for the END driver thats supposed to =
work with the above config.  (Thanks Dan)  I also have the latest =
version from WindRiver.  I've built these into my image by including =
motCpmEnd.c in sysLib.c.  The parameter string for this driver lives in =
configNet.h and looks like this:=20

  /* this is the default load function for our END */=20
  #define CPM_LOAD_FUNC motCpmEndLoad=20

  /* This is the default initialization string */=20
  #define CPM_LOAD_STRING "0x01130000:0x3e:1:0x18:0x18:0x2a00:0x2b00:-1" =

  IMPORT END_OBJ* CPM_LOAD_FUNC(char*, void*);=20
   =20
  END_TBL_ENTRY endDevTbl [] =3D=20
  {=20
      { 0, CPM_LOAD_FUNC, CPM_LOAD_STRING, 1, NULL, FALSE},=20
      { 0, END_TBL_END, NULL, 0, NULL, FALSE},=20
  };=20

  As you can see IMMR is at 0x01130000, 24 transmit and receive buffer =
descriptors at 0x01132a00 and 0x01132b00 respectively.  I've double =
checked and this area of DPRAM is not being used by any other devices.  =
All's well so far.  I build and download an image using an ICE and the =
target runs calling motCpmEndLoad() and motCpmEndStart() happily.  All =
looks OK at this point in time.  The buffer descriptors are populated =
properly for both transmit and receive and in both cases the status =
fields do not have the ready bit set.=20

  Running the system freely I can see the receive buffer descriptors =
updating as expected and the command ifShow reports (from a serial WDB =
connection) that the cpm interface is receiving an increasing number of =
packets.  Now the crux of the problem - motCpmEndSend() when called does =
the following.........(all in the driver)=20

  1. A buffer is created in RAM with a call to netClusterGet() and this =
succeeds. (I can read with ICE)=20
  2. The data to be transmitted is copied from the M_BLK_ID pointer =
successfully and its length calculated.=20
  3. The transmit buffer descriptor data pointer is set to point at this =
memory location.  The transmit buffer descriptor length field is also =
set after the buffer is padded with 0x88.=20

  4. Interrupts are locked (intLock)=20
  5. The transmit buffer descriptor (txBD) status mode field is updated =
to set the READY bit.  I can see this also in the txBD and it's OK.=20
  **** At this point I expect the CPM to process this ready buffer and =
clear the ready bit.  This doesn't happen.  The SCC should assert TENA =
also when it sends data - this doesn't happen (with analyser).  I =
suppose the question is why would the CPM not process this buffer ????? =
****=20
  6. Interrupts are locked (intLock)=20

  If there's anyone out there with some brilliant idea then I'd be =
grateful to hear it.=20
  Regards=20

  Paul=20
   =20
   =20
   =20
   =20
   =20
   =20
   =20
   =20
   =20
   =20
   =20

- ------=_NextPart_000_006A_01C229AC.15BF0870
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.3315.2869" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial>Dear Paul:</FONT></DIV>
<DIV><FONT face=3DArial>&nbsp;&nbsp;&nbsp; I had a similar problem with =
the=20
ln97xEnd driver a couple of years ago. At the end, I determined that =
before the=20
driver could actually transmit or recieve through the network stack, =
that there=20
needed to be statements such as routeAdd(), ipAttach() and others =
including=20
setting of the subnet mask. Is it possible that you may have the mux =
running,=20
but the rest of the connection that depends on the routing table is not =
yet=20
there. I believe you can use arpShow and other show routines and study =
how other=20
devices manipulate the arp table. I cant remember all of the syntax off =
the top=20
of my head, but&nbsp; if you havent done this part, that may be the next =
place=20
to go.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial>Charles </FONT></DIV>
<BLOCKQUOTE=20
style=3D"BORDER-LEFT: #000000 2px solid; MARGIN-LEFT: 5px; MARGIN-RIGHT: =
0px; PADDING-LEFT: 5px; PADDING-RIGHT: 0px">
  <DIV>"Paul Caswell" &lt;<A=20
  =
href=3D"mailto:paul.caswell@baesystems.com">paul.caswell@baesystems.com</=
A>&gt;=20
  wrote in message <A=20
  =
href=3D"news:3D2D9D88.C72C5215@baesystems.com">news:3D2D9D88.C72C5215@bae=
systems.com</A>...</DIV>Hello=20
  vxworks world, <BR>Thanks to Dan Gold I seem to have at least =
something=20
  happening (wrt ethernet) on my bespoke board but as usual it's not =
quite=20
  working.&nbsp; I'm clutching at straws here as this is quite low level =
but any=20
  suggestions would be welcome.&nbsp; The story so far is as follows:=20
  <P>Our board is an 860 based platform running (at present) a rom =
resident=20
  version of vxWorks 5.4.&nbsp; Build environment is T2 with gnu =
compiler.&nbsp;=20
  SCC1 is connected to ethernet via an MC68160 enhanced ethernet serial=20
  transciever (EEST) (Just like in the 860 users manual chapter 28.=20
  <P>I've acquired the source code for the END driver thats supposed to =
work=20
  with the above config.&nbsp; (Thanks Dan)&nbsp; I also have the latest =
version=20
  from WindRiver.&nbsp; I've built these into my image by including =
motCpmEnd.c=20
  in sysLib.c.&nbsp; The parameter string for this driver lives in =
configNet.h=20
  and looks like this:=20
  <P><B><FONT size=3D-1>/* this is the default load function for our END =

  */</FONT></B> <BR><B><FONT size=3D-1>#define CPM_LOAD_FUNC=20
  motCpmEndLoad</FONT></B><B><FONT size=3D-1></FONT></B>=20
  <P><B><FONT size=3D-1>/* This is the default initialization string =
*/</FONT></B>=20
  <BR><B><FONT size=3D-1>#define CPM_LOAD_STRING=20
  "0x01130000:0x3e:1:0x18:0x18:0x2a00:0x2b00:-1"</FONT></B><B><FONT=20
  size=3D-1></FONT></B>=20
  <P><B><FONT size=3D-1>IMPORT END_OBJ* CPM_LOAD_FUNC(char*, =
void*);</FONT></B>=20
  <BR><B><FONT size=3D-1>&nbsp;</FONT></B> <BR><B><FONT =
size=3D-1>END_TBL_ENTRY=20
  endDevTbl [] =3D</FONT></B> <BR><B><FONT size=3D-1>{</FONT></B> =
<BR><B><FONT=20
  size=3D-1>&nbsp;&nbsp;&nbsp; { 0, CPM_LOAD_FUNC, CPM_LOAD_STRING, 1, =
NULL,=20
  FALSE},</FONT></B> <BR><B><FONT size=3D-1>&nbsp;&nbsp;&nbsp; { 0, =
END_TBL_END,=20
  NULL, 0, NULL, FALSE},</FONT></B> <BR><B><FONT size=3D-1>};</FONT></B> =

  <P>As you can see IMMR is at 0x01130000, 24 transmit and receive =
buffer=20
  descriptors at 0x01132a00 and 0x01132b00 respectively.&nbsp; I've =
double=20
  checked and this area of DPRAM is not being used by any other =
devices.&nbsp;=20
  All's well so far.&nbsp; I build and download an image using an ICE =
and the=20
  target runs calling motCpmEndLoad() and motCpmEndStart() =
happily.&nbsp; All=20
  looks OK at this point in time.&nbsp; The buffer descriptors are =
populated=20
  properly for both transmit and receive and in both cases the status =
fields do=20
  not have the ready bit set.=20
  <P>Running the system freely I can see the receive buffer descriptors =
updating=20
  as expected and the command <B>ifShow</B> reports (from a serial WDB=20
  connection) that the cpm interface is receiving an increasing number =
of=20
  packets.&nbsp; Now the crux of the problem - motCpmEndSend() when =
called does=20
  the following.........(all in the driver)=20
  <P>1. A buffer is created in RAM with a call to netClusterGet() and =
this=20
  succeeds. (I can read with ICE) <BR>2. The data to be transmitted is =
copied=20
  from the M_BLK_ID pointer successfully and its length calculated. =
<BR>3. The=20
  transmit buffer descriptor data pointer is set to point at this memory =

  location.&nbsp; The transmit buffer descriptor length field is also =
set after=20
  the buffer is padded with 0x88.=20
  <P>4. Interrupts are locked (intLock) <BR>5. The transmit buffer =
descriptor=20
  (txBD) status mode field is updated to set the READY bit.&nbsp; I can =
see this=20
  also in the txBD and it's OK. <BR>**** At this point I expect the CPM =
to=20
  process this ready buffer and clear the ready bit.&nbsp; <U>This =
doesn't=20
  happen</U>.&nbsp; The SCC should assert TENA also when it sends data - =
this=20
  doesn't happen (with analyser).&nbsp; I suppose the question is why =
would the=20
  CPM not process this buffer ????? **** <BR>6. Interrupts are locked =
(intLock)=20
  <P>If there's anyone out there with some brilliant idea then I'd be =
grateful=20
  to hear it. <BR>Regards=20
  <P>Paul <BR>&nbsp; <BR>&nbsp; <BR>&nbsp; <BR>&nbsp; <BR>&nbsp; =
<BR>&nbsp;=20
  <BR>&nbsp; <BR>&nbsp; <BR>&nbsp; <BR>&nbsp; <BR>&nbsp;=20
</P></BLOCKQUOTE></BODY></HTML>

- ------=_NextPart_000_006A_01C229AC.15BF0870--

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

Newsgroups: comp.os.vxworks
Subject: WindNet NAT performance?
Date: 12 Jul 2002 14:12:09 -0700
From: rprewitt@oni.com (Rob Prewitt)
Organization: http://groups.google.com/
Message-ID: <a0c56e00.0207121312.dfd7efa@posting.google.com>

Does anyone have information on the performance of the NAT module? How
much overhead is involved in performing the translation function? We
are using a MPC860 @ 50MHz if that helps.

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

Newsgroups: comp.os.vxworks
Subject: Re: how to trace incoming and outgoing data packets on a target machin
Date: Fri, 12 Jul 2002 21:43:25 GMT
From: "cfk" <cfk_alter_ego@pacbell.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <14IX8.17427$Ou3.369809659@newssvr21.news.prodigy.com>
References: <c7fa8db4.0207092328.68492a28@posting.google.com>

Dear Vikas:
    I have done this before by the technique of setting up windump on a
second interface on my host development system. This allows me to trace all
packets going to and from any or all interfaces on the local lan segment.
Originally, I considered putting a myriad of logMsg calls in the ethernet
driver, but I discounted that option when I considered the old saw about
heisenbergs microscope, so, I prefer to use a a method completely
independent of my vxWorks target. At least this is one option for you.

Charles

"vikas" <vikas_cs3@rediffmail.com> wrote in message
news:c7fa8db4.0207092328.68492a28@posting.google.com...
> hi,
> i want to trace all data packets which my vxworks target is taking and
> sending to other machine ( if its a vxworks relay agent ). Actually i
> am not able to get configuration parameters for my dhcp client from
> dhcp server on vxworks, so what i want to check is whether my vxworks
> dhcp relay agent is relaying data packets to vxworks dhcp server
> (which is on different subnet )or not. so for that outgoing data
> packets must have vxworks dhcp server ip as target server. waiting for
> the reply..
>
> thanks..
> - it's mee..

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

Newsgroups: comp.os.vxworks
Subject: Executing shell scripts inside a program.
Date: 12 Jul 2002 14:57:35 -0700
From: matts27@yahoo.com (M. Steidl)
Organization: http://groups.google.com/
Message-ID: <476013f7.0207121357.13a22a44@posting.google.com>

I have seen several questions related to executing a shell script from
within a program, but I don't think any of those postings have
received good answers.  Here is a function that will executing a
script:

void runScript(char *fileName) {
  char scriptName[255];
  /* The less than is the script execute command. */
  strcpy(scriptName, "<");
  strcat(scriptName, fileName);
  /* The execute command will run the script as if you had typed */
  /* <fileName into the shell.                                   */
  execute(scriptName);  
}

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

Newsgroups: comp.os.vxworks
Subject: Re: Application initialization.
Date: 12 Jul 2002 16:26:16 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207121526.19a35c69@posting.google.com>
References: <d6e2de0a.0207121035.587fbd08@posting.google.com>

Hello,

If you are using Tornado & projects, check out section 4.4 in the
Tornado User's Guide: Creating a Bootable Application. That describes
how to make the application run automatically at boot time from a
project.

For the command line/BSP oriented method, read this tech note:

http://www.windriver.com/windsurf/appnotes/ide/tornado/t2/APN43/WTN43.pdf

(you'll need a WindSurf account to access this information).

HTH,

John...

vxworks@india.com (V R R Raju) wrote in message news:<d6e2de0a.0207121035.587fbd08@posting.google.com>...
> Hi friends,
> 
> I am trying to make an application. I want my application to be
> started as soon as the shell gets activated. That is it has to start
> by itself rather than me giving the name at shell. For this which
> configuration file did I have to change and where.
> 
> Thanks in advance.
> 
> With regards,
> 
> Rajneesh

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

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

From vxwexplo-errs@csg.lbl.gov  Sun Jul 14 04:03:06 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sun Jul 14 04:03:08 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Sun Jul 14 04:03:04 PDT 2002

        Subject: Re: debugging using serial communication
        Subject: Re: Get the girl you always wanted without saying a word - Free Download  3950
        Subject: Re: taskLock() and logMsg()

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

Newsgroups: comp.os.vxworks
Subject: Re: debugging using serial communication
Date: Sat, 13 Jul 2002 18:33:25 -0700
From: harih <harih@cisco.com>
Organization: Cisco Systems Inc.
Message-ID: <3D30D4E5.D7D278AD@cisco.com>
References: <3D2DFA33.45768ADD@cisco.com> <479ba395.0207112157.57809fd3@posting.google.com>

It is the 'wdbserial' that is being used. In fact the moment '/dev/ttya' is
selected, the Tornado tool automatically selects wdbserial.

Thanks,
Hari.

rajendra wrote:

> Everything seems fine to me except I doubt you are using wdbrpc
> backend. You should use wdbserial if your target has been compiled
> with WDB_COMM_SERIAL.
>  I think you need to specify wdbserial backend before trying to
> connect.
>
> -rajendra
>
> harih <harih@cisco.com> wrote in message news:<3D2DFA33.45768ADD@cisco.com>...
> > Hi,
> >
> > I am trying to to use a serial connection between my host and the
> > VxWorks target for debug purposes.
> >
> > The host workstation is a sparc20 workstation running SunOS. I am trying
> > to use '/dev/ttya' serial port with baud rate as 9600. The serial link
> > itself is fine and has been tested using 'tip' tool.  I am using Tornado
> > version 2.0-FCS2. The target is running Vxworks 5.4 (Kernel: WIND
> > version 2.5)
> > and the CPU target architecture is R5k (MIPS). The target's
> > WDB_COMM_TYPE is WDB_COMM_SERIAL, WDB_TTY_CHANNEL is 1, WDB_MODE is
> > WDB_MODE_TASK and the baud rate is set to 9600.
> >
> > When I try to connect to the target from the Tornado Launcher I get the
> > following error.
> >
> > Connecting to target agent...
> >     Error: rpccore backend client RPC: Timed out
> > failed.
> >     Connecting to target agent...
> >     Error: rpccore backend client RPC: Timed out
> > failed.
> >     Connecting to target agent...     Error: clnttty_rcv: read timed
> > out    Error: clnttty_rcv: read timed out    Error: clnttty_rcv: no end
> > of frame in input
> >     Error: clnttty_rcv: no end of frame in input
> >     Error: clnttty_rcv: no end of frame in input
> >     Error: clnttty_rcv: no end of frame in input
> >
> >
> > Does anyone know that the host tool is expecting?. What does the
> > 'clnttty_rcv: no end of frame in input' mean?. Has anyone seem similar
> > problems?
> >
> > When I try to connect to the target via 'tip' when the Launcher is
> > trying to connect, I see the following output where 'PROMPT' is the
> > local prompt configured. I am not sure why or how this prompt gets in
> > the way of the communication.
> >
> > PROMPT > i60hN@hN@hN@hOhO@hO@hP@pverhS@hS@hZ@@EC!v8uUUUU.
> > PROMPT > i50hN@hN@hN@hOhO@hO@hP@pverhS@hZ@@EC!v9uUUUU.
> > PROMPT > i50dspverh[@@EC!v:uUUUU.
> > PROMPT > i50hN@hN@hN@hOhO@hO@hP@hQ@dspverh[@@EC!v;uUUUU.
> > PROMPT > i40hN@hN@hN@hOhO@hO@hP@hQ@rh[@@EC!v<uUUUU.
> > PROMPT > i40hN@hN@hN@hOhO@hO@hP@h\@@EC!v=uUUUU.
> >
> >
> > Any help or pointers would be appreciated.
> >
> > Thanks,
> > Hari.

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

Newsgroups: comp.os.vxworks
Subject: Re: Get the girl you always wanted without saying a word - Free Download  3950
Date: Sun, 14 Jul 2002 13:33:33 +0300
From: no@spam.wanted
Message-ID: <bpk2ju4ojag7u9c3v4tc83t2c5fkd3orbd@4ax.com>
References: <agoaai$mk6$4089@nobel.pacific.net.sg>

We program under Tornado.. getting the girl we want is child's play 
after that! :-)

xrmnkj@yahoo.com wrote:

>http://seduction.best2web.com
>
>
>
>
>
>MIND POWER SEDUCTION
>
>
>
>FREE DOWNLOAD AVAILABLE NOW. Click the above link to get it
>
>
>
>Get the girl you wanted with MIND POWER SEDUCTION
>

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

Newsgroups: comp.os.vxworks
Subject: Re: taskLock() and logMsg()
Date: 14 Jul 2002 04:00:58 -0700
From: jjf@bcs.org.uk (J. J. Farrell)
Organization: http://groups.google.com/
Message-ID: <5c04bc56.0207140300.694471b9@posting.google.com>
References: <5c04bc56.0207101732.1f9203e2@posting.google.com> <479ba395.0207102242.e91b62d@posting.google.com> <488e459a.0207110741.3b9f61c9@posting.google.com> <5c04bc56.0207120226.5b988c6@posting.google.com> <488e459a.0207121030.67626234@posting.google.com>

john_94501@yahoo.com (John) wrote in message news:<488e459a.0207121030.67626234@posting.google.com>...
> 
> For diagnostic purposes you can assume the following:
> 
> 1) The task ID is the pointer to the TCB
> 
> 2) The TCB structure is defined in taskLib.h (look for WIND_TCB)
> 
> 3) The task lock counter is an element of the TCB called lockCnt.
> 
> As for the interrupt lock state, that is a little harder to determine
> since it is arch specific. I don't know much about MIPS, but I believe
> that the SR register holds this information. You can get to the SR
> register through the TCB as well, but its value there could be stale
> (especially since you are locked, so there should have been no need to
> save the state into the TCB ;-). My guess is that you will need to
> craft a small piece of assembler to check this for you.
> 
> Another thing to consider is that on some architectures making system
> calls (e.g. semGive) with interrupts locked has the side effect of
> re-enabling interrupts. This is probably a bug, but there is a
> recommendation in the programmer's guide that system calls are not
> made while interrupts are locked. I know this affects X86 based
> systems; I do not know about MIPS ones. What calls are you making
> while interrupts are locked?

Thanks John - that's very likely to be it. I should have thought of
that, especially since I now remember reading that warning. I'm too
used to OSes that don't have this bug (sorry, feature). The current
rough port makes a lot of VxWorks calls with interrupts locked. It
looks like I'm going to have to do the more sophisticated version
sooner than I had expected ...

I'll use the other information you provided to check what's happening.
Thanks for your very helpful responses.

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

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

From vxwexplo-errs@csg.lbl.gov  Mon Jul 15 04:03:10 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Mon Jul 15 04:03:12 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Mon Jul 15 04:03:07 PDT 2002

        Subject: who can give me a example how to write a driver with select machanism?
        Subject: Re: who can give me a example how to write a driver with select 
        Subject: Re: Printing from an exception in an interrupt handler
        Subject: ld does not unload
        Subject: Re: ld does not unload
        Subject: Re: ld does not unload
        Subject: Re: ld does not unload
        Subject: POP3
        Subject: Help
        Subject: Check sum Error!------ Who can help me?
        Subject: how can i implement a super channel which bandswitch is over 2M?
        Subject: Re: ld does not unload
        Subject: Re: ld does not unload
        Subject: Re: Check sum Error!------ Who can help me?
        Subject: Re: ld does not unload

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

Newsgroups: comp.os.vxworks
Subject: who can give me a example how to write a driver with select machanism?
Date: 14 Jul 2002 05:43:25 -0700
From: shyang@netease.com (yang)
Organization: http://groups.google.com/
Message-ID: <8446174.0207140443.4a9b039e@posting.google.com>

I want to write a driver with select machanism , who can help me ?

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

Newsgroups: comp.os.vxworks
Subject: Re: who can give me a example how to write a driver with select 
 machanism?
Date: Sun, 14 Jul 2002 07:03:40 -0700
From: "Michael R. Kesti" <mkesti@gv.net>
Organization: MK Associates
Message-ID: <3D3184BC.A5B8FF80@gv.net>
References: <8446174.0207140443.4a9b039e@posting.google.com>
Reply-To: mkesti@gv.net

yang wrote:

>I want to write a driver with select machanism , who can help me ?

See Example 3-10 in section 3.9.3 of the vxWorks Programmers Guide.

- -- 
========================================================================
          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: Re: Printing from an exception in an interrupt handler
Date: Sun, 14 Jul 2002 18:12:05 +0200
From: "Stefan Zintgraf" <s.zintgraf@acontis.com>
Organization: T-Online
Message-ID: <ags7up$8lu$06$1@news.t-online.com>
References: <92d559ef.0207011226.d2eaad6@posting.google.com> <slrnai1ipf.8f5.denis_newsREMOVE-TO-REPLY@concorde.cs.ucla.edu>

What John says is correct, an exception which occurs in an interrupt will
lead to a system reboot.
The standard way is to use the technique he describes (sysExcMsg, ...).

But anyway, you ARE able to write to the serial device. You "only" have to
directly write to your serial hardware (polling of course!), you cannot use
the
VxWorks device driver (or the I/O system).
If you want to do that (sure, it is some work to do...) you should have a
look
at the serial driver included in VxWorks. It may run in both modes,
interrupt
mode or polling mode.

Stefan

"Denis Perelyubskiy" <denis_newsREMOVE-TO-REPLY@hotmail.com> schrieb im
Newsbeitrag
news:slrnai1ipf.8f5.denis_newsREMOVE-TO-REPLY@concorde.cs.ucla.edu...
> * Rob F <robf@rochester.rr.com> [07-Mon-02 13:26 -0700]:
>  >
>  > Using Tornado 2 on a PPC 603. Started using excHookAdd to
>  > attach a routine (which displays some debug info) to
>  > vxWorks exception handling framework.  When I crash in a
>  > thread I can print out the additional debug information
>  > fine from this hook. When I crash in an interrupt, the
>  > system just reboots, my hook is not called and a small
>  > informational message is printed (MSR, etc).
>   [...]
>  > Has anyone solved this problem? There is some pretty
>  > important info I'd like to display for all exceptions
>  > (whether they occur in interrupts or not)
>
> consider using VGA or syslog for debugging. You may need to
> write your own syslog routine, which operates on
> pre-allocated buffers/mbufs, but this should work.
>
> denis
>
> --
> if you want to reply by mail, please tweak my
> address in a reasonable way. sorry for the
> inconvenience.

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

Newsgroups: comp.os.vxworks
Subject: ld does not unload
Date: 14 Jul 2002 12:37:23 -0700
From: mikron30@hotmail.com (Miki Zilbershtein)
Organization: http://groups.google.com/
Message-ID: <b52e0856.0207141137.656cbbe3@posting.google.com>

Hello,

Why does the ld does not unload my modules?
I have a linked object I download to my target which included all my
source code. Then I want to change my code and dynamically load the
new objects. When I load the new objects I am getting two symbols for
the same function in the symbol table.

- -> lkup "startupMainSW"
startupMainSW             0x0003a670 text     (vxAppBIAS_VOY)
value = 0 = 0x0

- -> ld 0,1,"StartupPPC.out"
Loading /vobs/bias/src/appl/Startup/StartupPPC.out /
value = 13833784 = 0xd31638

- -> lkup "startupMainSW"
startupMainSW             0x017d2358 text     (StartupPPC.out)
startupMainSW             0x0003a670 text     (vxAppBIAS_VOY)
value = 0 = 0x0

The solution can save me a huge amount of development time !

Thanks,
Miki

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

Newsgroups: comp.os.vxworks
Subject: Re: ld does not unload
Date: Sun, 14 Jul 2002 19:59:56 GMT
From: nunya@damn.business.com (Bruce)
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <3d31d886.15414314@news.houston.sbcglobal.net>
References: <b52e0856.0207141137.656cbbe3@posting.google.com>

In comp.os.vxworks
mikron30@hotmail.com (Miki Zilbershtein) wrote:

>Why does the ld does not unload my modules?
>I have a linked object I download to my target which included all my
>source code. Then I want to change my code and dynamically load the
>new objects. When I load the new objects I am getting two symbols for
>the same function in the symbol table.
>
>-> lkup "startupMainSW"
>startupMainSW             0x0003a670 text     (vxAppBIAS_VOY)
>value = 0 = 0x0
>
>-> ld 0,1,"StartupPPC.out"
>Loading /vobs/bias/src/appl/Startup/StartupPPC.out /
>value = 13833784 = 0xd31638
>
>-> lkup "startupMainSW"
>startupMainSW             0x017d2358 text     (StartupPPC.out)
>startupMainSW             0x0003a670 text     (vxAppBIAS_VOY)
>value = 0 = 0x0
>
>The solution can save me a huge amount of development time !

I experienced this also.  I think it is a bug, but to fix it, do this:

ld < "StartupPPC.out"

instead of ld 0,1,"StartupPPC.out"

Bruce

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

Newsgroups: comp.os.vxworks
Subject: Re: ld does not unload
Date: 14 Jul 2002 20:17:11 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207141917.4967efba@posting.google.com>
References: <b52e0856.0207141137.656cbbe3@posting.google.com> <3d31d886.15414314@news.houston.sbcglobal.net>

Hello,

I think that you are misunderstanding these capabilities of the
dynamic loader functions. You cannot "replace" code that was in the
bootable object file using the dynamic loader (ld). If you wish to
unload and reload objects like this, you'll need to have the initial
version loaded with ld too. Once you've done that, reld() will allow
you to unload and reload a new version of a module (unld will let you
simply remove it from memory).

In 5.x, you can only do this (safely) with modules that only make
calls out to others, and do not provide services (functions or data)
for any other module. Unloading a module which is needed by other code
in the system will result in undefined behaviour (but almost certainly
not what you wanted).

In AE there is a new loader feature that adds support for loading and
unloading inter-dependent modules in any order.

HTH,

John...

> >Why does the ld does not unload my modules?
> >I have a linked object I download to my target which included all my
> >source code. Then I want to change my code and dynamically load the
> >new objects. When I load the new objects I am getting two symbols for
> >the same function in the symbol table.
> >
> >-> lkup "startupMainSW"
> >startupMainSW             0x0003a670 text     (vxAppBIAS_VOY)
> >value = 0 = 0x0
> >
> >-> ld 0,1,"StartupPPC.out"
> >Loading /vobs/bias/src/appl/Startup/StartupPPC.out /
> >value = 13833784 = 0xd31638
> >
> >-> lkup "startupMainSW"
> >startupMainSW             0x017d2358 text     (StartupPPC.out)
> >startupMainSW             0x0003a670 text     (vxAppBIAS_VOY)
> >value = 0 = 0x0
> >
> >The solution can save me a huge amount of development time !
> 
> I experienced this also.  I think it is a bug, but to fix it, do this:
> 
> ld < "StartupPPC.out"
> 
> instead of ld 0,1,"StartupPPC.out"
> 
> Bruce

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

Newsgroups: comp.os.vxworks
Subject: Re: ld does not unload
Date: Mon, 15 Jul 2002 04:08:18 GMT
From: nunya@damn.business.com (Bruce)
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <3d324ac8.44664323@news.houston.sbcglobal.net>
References: <b52e0856.0207141137.656cbbe3@posting.google.com> <3d31d886.15414314@news.houston.sbcglobal.net> <488e459a.0207141917.4967efba@posting.google.com>

In comp.os.vxworks
john_94501@yahoo.com (John) wrote:

>I think that you are misunderstanding these capabilities of the
>dynamic loader functions. You cannot "replace" code that was in the
>bootable object file using the dynamic loader (ld). If you wish to
>unload and reload objects like this, you'll need to have the initial
>version loaded with ld too. Once you've done that, reld() will allow
>you to unload and reload a new version of a module (unld will let you
>simply remove it from memory).

John,

I've checked the manuals and they don't mention it but I took the Tornado
training about 3 years ago and the trainers assured me that ld will unload
then reload.  I remember this because I had the exact same problem the
original poster had and the fix I posted remedied it.

Bruce

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

Newsgroups: comp.os.vxworks
Subject: POP3
Date: 14 Jul 2002 21:57:45 -0700
From: ravi368@yahoo.com (Ravi Uday)
Organization: http://groups.google.com/
Message-ID: <ecca3ca6.0207142057.167ae49@posting.google.com>

hi.. 
Anybody in here have a code that implements POP3 on VxWorks OS. Well i have
implemented SMTP on the same but for POP3 there is a time constraint.

Any kind of URGENT assistance or links for the same is appreciated.

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

Newsgroups: comp.os.vxworks
Subject: Help
Date: Mon, 15 Jul 2002 05:03:23 +0000 (UTC)
From: "hi_sunsyahoo.com" <hi_suns@yahoo.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <e23f81c857e84a79ff802ef5ae6072f2.102337@mygate.mailgate.org>

Hi Friends,

I have 2 questions.

1. Now my entire code is based on TCP .  Can I add the Broadcasting part
alone in UDP. ( I mean, can I write partial code with my UDP and
remaining with TCP. If yes, could you throw some light on that.  Is
there any disadvantage?.

2. In my Application code how will I reduce the pinging time?. 
Even after reducing the timeout period and ping interval in pingLib.h
file, I could not find any change.
When I make a self ping it works very faster but when I ping for boards
which are not present, it gives me same 5 sec delay regardless of the
changes in pingLib.h file?

Looking forward to your reply.

Regards
Suni

- -- 
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: Check sum Error!------ Who can help me?
Date: 14 Jul 2002 23:05:31 -0700
From: seasoblue2000@yahoo.com.cn (seasoblue)
Organization: http://groups.google.com/
Message-ID: <e82d8e83.0207142205.33a063a2@posting.google.com>

Hi,all
  A trouble always troubles me.My debug enviroment includes tornadoII,
and Samsung snds100 board which with a arm7tdmi kernel inside.

  I have finished connecting target board with my tornadoII,but afer I
start up my target server,I get warning messages:

    "TGTSVR (arm@seasoblue): Mon Jul 15 13:41:11 2002
    Wind River Systems Target Server: NT/Win95 version
    Connecting to target agent... succeeded.
    Attaching C++ interface... succeeded.
    Attaching coff OMF reader for ARM CPU family... succeeded.
    Warning: Target checksum: 0xdb3d (computed from 0x1000 to
0x81114).
             Host checksum: 0xe96a (computed from 0x69c970 to
0x71ca84).
    Warning: Core file checksums do not match."

oh,it tells me:checksums do not match! But my target and host do use
the SAME core file(vxwork image) in the SAME directory!
  Could  anybody give me a hint that how to configure my target server
to solve this problem?
  Please give an example in detail ,thanks a  lot !

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

Newsgroups: comp.os.vxworks
Subject: how can i implement a super channel which bandswitch is over 2M?
Date: 14 Jul 2002 23:27:10 -0700
From: lionjackyfish@sina.com.cn (JackyLiu)
Organization: http://groups.google.com/
Message-ID: <425faaf3.0207142227.58f98363@posting.google.com>

I use MPC8260ZU133A, (66/133/133).

I have implemented 8*2M in one MCC, use 8 TDM.
that is , my bandswitch can be 2M just in one super channel.

but i cann't implement bandswitch over 2.048M in one super channel.
(maybe 4*4M .or. 2*8M)

How can i  implement it ?

THANKS.

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

Newsgroups: comp.os.vxworks
Subject: Re: ld does not unload
Date: 14 Jul 2002 23:36:34 -0700
From: rajendra_krsingh@yahoo.com (rajendra)
Organization: http://groups.google.com/
Message-ID: <479ba395.0207142236.787daf3@posting.google.com>
References: <b52e0856.0207141137.656cbbe3@posting.google.com> <3d31d886.15414314@news.houston.sbcglobal.net>

In comp.os.vxworks
john_94501@yahoo.com (John) wrote:

>>I think that you are misunderstanding these capabilities of the
>>dynamic loader functions. You cannot "replace" code that was in the
>>bootable object file using the dynamic loader (ld). If you wish to
>>unload and reload objects like this, you'll need to have the initial
>>version loaded with ld too. Once you've done that, reld() will allow
>>you to unload and reload a new version of a module (unld will let
you
>>simply remove it from memory).

>>John,

>I've checked the manuals and they don't mention it but I took the
Tornado
>training about 3 years ago and the trainers assured me that ld will
unload
>then reload.  I remember this because I had the exact same problem
the
>original poster had and the fix I posted remedied it.

>Bruce

Bruce,
  I agree with John, You can't replace code which was in bootable
object using ld.
 I don't doubt that you have been told this by your trainers. But I
really doubt
that your trainers knew this.
 But I don't understand one thing, why vxworks doesn't give symbol
conflict while downloading module which has symbols which are already
present in the image. And which symbols it picks when I try to access
?

- -rajendra

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

Newsgroups: comp.os.vxworks
Subject: Re: ld does not unload
Date: 15 Jul 2002 01:33:48 -0700
From: mikron30@hotmail.com (Miki Zilbershtein)
Organization: http://groups.google.com/
Message-ID: <b52e0856.0207150033.3e8f7489@posting.google.com>
References: <b52e0856.0207141137.656cbbe3@posting.google.com> <3d31d886.15414314@news.houston.sbcglobal.net>

nunya@damn.business.com (Bruce) wrote in message news:<3d31d886.15414314@news.houston.sbcglobal.net>...
> In comp.os.vxworks
> mikron30@hotmail.com (Miki Zilbershtein) wrote:
> 
> >Why does the ld does not unload my modules?
> >I have a linked object I download to my target which included all my
> >source code. Then I want to change my code and dynamically load the
> >new objects. When I load the new objects I am getting two symbols for
> >the same function in the symbol table.
> >
> >-> lkup "startupMainSW"
> >startupMainSW             0x0003a670 text     (vxAppBIAS_VOY)
> >value = 0 = 0x0
> >
> >-> ld 0,1,"StartupPPC.out"
> >Loading /vobs/bias/src/appl/Startup/StartupPPC.out /
> >value = 13833784 = 0xd31638
> >
> >-> lkup "startupMainSW"
> >startupMainSW             0x017d2358 text     (StartupPPC.out)
> >startupMainSW             0x0003a670 text     (vxAppBIAS_VOY)
> >value = 0 = 0x0
> >
> >The solution can save me a huge amount of development time !
> 
> I experienced this also.  I think it is a bug, but to fix it, do this:
> 
> ld < "StartupPPC.out"
> 
> instead of ld 0,1,"StartupPPC.out"
> 
> Bruce

Unfortunately it does not worked for me. I tried 
ld < StartupPPC.out 
but got the same result. BTW ld < "StartupPPC.out" returned an error

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

Newsgroups: comp.os.vxworks
Subject: Re: Check sum Error!------ Who can help me?
Date: Mon, 15 Jul 2002 08:52:29 GMT
From: "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM>
Organization: Verio
Message-ID: <newscache$vrbazg$yfn$1@lnews.actcom.co.il>
References: <e82d8e83.0207142205.33a063a2@posting.google.com>

This cold be a BSP bug (I have experience this a long time ago on some i960
BSPs from WRS).

What may happen is that a variable (typically assembly, e.g. sysALib.s,
romInit.s) is put by mistake into the code segment, and gets modified in run
time, so its value in RAM would fiffer from its value in file.
This is relatively easily fixed by anyone with BSP experience, and even
easier by the person who wrote this particular BSP initially.

"seasoblue" <seasoblue2000@yahoo.com.cn> wrote in message
news:e82d8e83.0207142205.33a063a2@posting.google.com...
> Hi,all
>   A trouble always troubles me.My debug enviroment includes tornadoII,
> and Samsung snds100 board which with a arm7tdmi kernel inside.
>
>   I have finished connecting target board with my tornadoII,but afer I
> start up my target server,I get warning messages:
>
>     "TGTSVR (arm@seasoblue): Mon Jul 15 13:41:11 2002
>     Wind River Systems Target Server: NT/Win95 version
>     Connecting to target agent... succeeded.
>     Attaching C++ interface... succeeded.
>     Attaching coff OMF reader for ARM CPU family... succeeded.
>     Warning: Target checksum: 0xdb3d (computed from 0x1000 to
> 0x81114).
>              Host checksum: 0xe96a (computed from 0x69c970 to
> 0x71ca84).
>     Warning: Core file checksums do not match."
>
> oh,it tells me:checksums do not match! But my target and host do use
> the SAME core file(vxwork image) in the SAME directory!
>   Could  anybody give me a hint that how to configure my target server
> to solve this problem?
>   Please give an example in detail ,thanks a  lot !

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

Newsgroups: comp.os.vxworks
Subject: Re: ld does not unload
Date: Mon, 15 Jul 2002 12:17:37 +0200
From: "Michael Lawnick" <lawnick@bndlg.de>
Organization: Buergernetz Dillingen
Message-ID: <agu7fc$qlu$1@snoopy.bndlg.de>
References: <b52e0856.0207141137.656cbbe3@posting.google.com>
Sender: mlawnick@pd9e65758.dip.t-dialin.net

Hi Miki,

here my 2 cents:
load behaviour differs on host(=Wind) and target(=serial/telnet) shell (on
my current system: PPC405 Walnut). On host shell it automatically does an
unload before, on target shell not.
Remember: you can't unload the kernel, i.e. all modules linked statically to
it, but only modules loaded by calls to load and unload on host or target
shell at runtime.

HTH
Michael

"Miki Zilbershtein" <mikron30@hotmail.com> schrieb im Newsbeitrag
news:b52e0856.0207141137.656cbbe3@posting.google.com...
> Hello,
>
> Why does the ld does not unload my modules?
> I have a linked object I download to my target which included all my
> source code. Then I want to change my code and dynamically load the
> new objects. When I load the new objects I am getting two symbols for
> the same function in the symbol table.
>
> -> lkup "startupMainSW"
> startupMainSW             0x0003a670 text     (vxAppBIAS_VOY)
> value = 0 = 0x0
>
> -> ld 0,1,"StartupPPC.out"
> Loading /vobs/bias/src/appl/Startup/StartupPPC.out /
> value = 13833784 = 0xd31638
>
> -> lkup "startupMainSW"
> startupMainSW             0x017d2358 text     (StartupPPC.out)
> startupMainSW             0x0003a670 text     (vxAppBIAS_VOY)
> value = 0 = 0x0
>
> The solution can save me a huge amount of development time !
>
> Thanks,
> Miki

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

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

From vxwexplo-errs@csg.lbl.gov  Tue Jul 16 04:03:15 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Tue Jul 16 04:03:17 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Tue Jul 16 04:03:11 PDT 2002

        Subject: Re: ld does not unload
        Subject: Re: Check sum Error!------ Who can help me?
        Subject: Re: how to trace incoming and outgoing data packets on a target machin
        Subject: Re: Executing shell scripts inside a program.
        Subject: FTP client problem - 2
        Subject: preprocessor changes slash type in file path?
        Subject: preprocessor changes slash type in file path?
        Subject: Re: Executing shell scripts inside a program.
        Subject: Help: cannot find bounds of current function.
        Subject: Re: ld does not unload
        Subject: Re: Check sum Error!------ Who can help me?
        Subject: Re: Why the VxWorks is not downloadable from Wind River?
        Subject: Re: ld does not unload
        Subject: Re: preprocessor changes slash type in file path?
        Subject: Re: FTP client problem - 2
        Subject: Re: using D-link network adapter for network booting
        Subject: SDLC with Zilog
        Subject: Why vxWorks reboot error?
        Subject: IQ80321 BSP?
        Subject: WTX Error 0x10130 (API_INVALID_ARG) when using ld ()
        Subject: Re: preprocessor changes slash type in file path?
        Subject: PPC SYNC instruction

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

Newsgroups: comp.os.vxworks
Subject: Re: ld does not unload
Date: Mon, 15 Jul 2002 11:54:51 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns924C8D12850D4borkhuisagerecom@192.19.193.66>
References: <b52e0856.0207141137.656cbbe3@posting.google.com> <3d31d886.15414314@news.houston.sbcglobal.net> <488e459a.0207141917.4967efba@posting.google.com> <3d324ac8.44664323@news.houston.sbcglobal.net>

nunya@damn.business.com (Bruce) wrote:
> I've checked the manuals and they don't mention it but I took the
> Tornado training about 3 years ago and the trainers assured me that ld
> will unload then reload.  I remember this because I had the exact same
> problem the original poster had and the fix I posted remedied it.

Just some further explanation about this.

When you link an extra module into you image during compile time all 
dependencies are resolved. So if you call function X from within you 
application this symbol is replaced with the address of this function. 
When you download a new module (with a symbol X in it) using ld the 
symbol in the symboltable is replaced with the new X. Buth the places 
where X was called that were already resolved are not replaced again. If 
you load a new module that calls X this call will be to the new location.
Also it is not possible to unload the module, as the linking was done 
during compile time and not using the ld-module

So to make it a bit more clear:
You have 3 modules X, Y and Z. Function Y is called from X and Z. Module 
X and Y are intially loaded, module Z will be loaded later, after that Z 
will be unloaded, Y will be loaded again and Z will be loaded. The 
initially loaded Y will be called Y1, the seond one will be called Y2.

X calls Y: Y1 is executed.
Z loaded, and calls Y: Y1 is executed.
Z is unloaded, and Y is loaded again, and Z is loaded.
X calls Y: Y1 is executed.
Z calls Y: Y2 is executed.

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: Check sum Error!------ Who can help me?
Date: Mon, 15 Jul 2002 11:57:06 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns924C8D744742Cborkhuisagerecom@192.19.193.66>
References: <e82d8e83.0207142205.33a063a2@posting.google.com>

seasoblue2000@yahoo.com.cn (seasoblue) wrote:

> Hi,all
>   A trouble always troubles me.My debug enviroment includes tornadoII,
> and Samsung snds100 board which with a arm7tdmi kernel inside.
> 
>   I have finished connecting target board with my tornadoII,but afer I
> start up my target server,I get warning messages:
> 
>     "TGTSVR (arm@seasoblue): Mon Jul 15 13:41:11 2002
>     Wind River Systems Target Server: NT/Win95 version
>     Connecting to target agent... succeeded.
>     Attaching C++ interface... succeeded.
>     Attaching coff OMF reader for ARM CPU family... succeeded.
>     Warning: Target checksum: 0xdb3d (computed from 0x1000 to
> 0x81114).
>              Host checksum: 0xe96a (computed from 0x69c970 to
> 0x71ca84).
>     Warning: Core file checksums do not match."
> 
> oh,it tells me:checksums do not match! But my target and host do use
> the SAME core file(vxwork image) in the SAME directory!
>   Could  anybody give me a hint that how to configure my target server
> to solve this problem?
>   Please give an example in detail ,thanks a  lot !

This means that your target server is pointing to a different image than 
that is loaded on the target. Check thee configuration of the target 
server and check the boot parameters of your target.

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: how to trace incoming and outgoing data packets on a target machin
Date: Mon, 15 Jul 2002 07:55:47 -0700
From: Joe Durusau <joseph.a.durusau@lmco.com>
Organization: Lockheed Martin Corporation
Message-ID: <3D32E273.600D6381@lmco.com>
References: <c7fa8db4.0207092328.68492a28@posting.google.com> <14IX8.17427$Ou3.369809659@newssvr21.news.prodigy.com>

To the O.P: If you have a unix host on the network, they typically
have an application called snoop that will allow you th watch what goes
on
in the network.  It sould be used with caution, as it can reveal things
best left hidden.

Speaking only for myself,

Joe Durusau

cfk wrote:
> 
> Dear Vikas:
>     I have done this before by the technique of setting up windump on a
> second interface on my host development system. This allows me to trace all
> packets going to and from any or all interfaces on the local lan segment.
> Originally, I considered putting a myriad of logMsg calls in the ethernet
> driver, but I discounted that option when I considered the old saw about
> heisenbergs microscope, so, I prefer to use a a method completely
> independent of my vxWorks target. At least this is one option for you.
> 
> Charles
> 
> "vikas" <vikas_cs3@rediffmail.com> wrote in message
> news:c7fa8db4.0207092328.68492a28@posting.google.com...
> > hi,
> > i want to trace all data packets which my vxworks target is taking and
> > sending to other machine ( if its a vxworks relay agent ). Actually i
> > am not able to get configuration parameters for my dhcp client from
> > dhcp server on vxworks, so what i want to check is whether my vxworks
> > dhcp relay agent is relaying data packets to vxworks dhcp server
> > (which is on different subnet )or not. so for that outgoing data
> > packets must have vxworks dhcp server ip as target server. waiting for
> > the reply..
> >
> > thanks..
> > - it's mee..

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

Newsgroups: comp.os.vxworks
Subject: Re: Executing shell scripts inside a program.
Date: 15 Jul 2002 07:08:10 -0700
From: kannan@comneti.com (kannan)
Organization: http://groups.google.com/
Message-ID: <2ede7703.0207150608.21a9abfc@posting.google.com>
References: <476013f7.0207121357.13a22a44@posting.google.com>

Hi,

I just tried your program.It just hangs up,It doesn't works for me.

But I was able to run a shell script from my shell.
It just gives me the output as follows:
 
- -> < C:/kk.txt
i
  NAME        ENTRY       TID    PRI   STATUS      PC       SP     ERRNO  DELAY
- ---------- ------------ -------- --- ---------- -------- -------- ------- -----
tExcTask   _excTask      4bc90a0   0 PEND         44b6c6  4bc8fbc   30065     0
tLogTask   _logTask      4bc4688   0 PEND         44b6c6  4bc45a0   30065     0
tShell     _shell        4b45ff0   1 PEND         44b6c6  4b45c58   30065     0
tTelnetd   _telnetd      4b51d30   2 PEND         44b6c6  4b51bf0       0     0
tWdbTask   0x41eb88      4b4a730   3 READY        44b6c6  4b4a614      16     0
tNetTask   _netTask      4b8d190  50 READY        44b6c6  4b8d008      16     0
tRipTimerTa_ripTimer     4b37768  99 PEND         44b6c6  4b3769c      16     0
tPortmapd  _portmapd     4b55d00 100 PEND         44b6c6  4b55b54      16     0
tRipTask   _ripTask      4b4e6d8 100 PEND         44b6c6  4b4e544      16     0
value = 0 = 0x0
w
  NAME       ENTRY      TID      STATUS   DELAY  OBJ_TYPE   OBJ_ID   OBJ_NAME
- ---------- ---------- -------- ---------- ----- ---------- -------- ------------
tExcTask   _excTask    4bc90a0 PEND           0 MSG_Q(R)    4bc9408 N/A       
tLogTask   _logTask    4bc4688 PEND           0 MSG_Q(R)    4bc49f0 N/A       
tShell     _shell      4b45ff0 PEND           0 SEM_B       4bc9b3c N/A       
tTelnetd   _telnetd    4b51d30 PEND           0 SEM_B       4b8de6c N/A       
tWdbTask   0x41eb88    4b4a730 READY          0                   0           
tNetTask   _netTask    4b8d190 READY          0                   0           
tRipTimerT _ripTimer   4b37768 PEND           0 SEM_B       4bcb938 N/A       
tPortmapd  _portmapd   4b55d00 PEND           0 SEM_B       4b55d90 N/A       
tRipTask   _ripTask    4b4e6d8 PEND           0 SEM_B       4b4e768 N/A       
value = 0 = 0x0
cd "c:\kk"
value = 0 = 0x0
ld < calling.o
Loading C:/kk/calling.o |
value = 3228808 = 0x314488
ld < fileopen.o
Loading C:/kk/fileopen.o |
value = 3229424 = 0x3146f0

I also execute "i" command through the execute function.
The output is as follows:
- -> execute "i"

  NAME        ENTRY       TID    PRI   STATUS      PC       SP     ERRNO  DELAY
- ---------- ------------ -------- --- ---------- -------- -------- ------- -----
tExcTask   _excTask      4bc90a0   0 PEND         44b6c6  4bc8fbc   30065     0
tLogTask   _logTask      4bc4688   0 PEND         44b6c6  4bc45a0   30065     0
tShell     _shell        4b45ff0   1 PEND         44b6c6  4b45c58   30065     0
tTelnetd   _telnetd      4b51d30   2 PEND         44b6c6  4b51bf0       0     0
tWdbTask   41eb88        4b4a730   3 PEND+T       44b6c6  4b4a614       0   180
t1         42cc6c        4b34cf0   4 READY        4314d0  4b33cf0       0     0
tNetTask   _netTask      4b8d190  50 READY        44b6c6  4b8d008       0     0
tRipTimerTa_ripTimer     4b37768  99 PEND         44b6c6  4b3769c      16     0
tPortmapd  _portmapd     4b55d00 100 PEND         44b6c6  4b55b54      16     0
tRipTask   _ripTask      4b4e6d8 100 PEND         44b6c6  4b4e544      16     0
value = 0 = 0x0
value = 0 = 0x0

But when I execute the shell script through the execute function
it just hangs.
- -> execute "< C:/kk.txt"
$%%*())It hangs....

It also hangs when I tried to execute it through the "C" code.

Can you please let me know where I was wrong.whether I have to add
any components to make the script to work through execute function.

Thanks,
Kanna

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

Newsgroups: comp.os.vxworks
Subject: FTP client problem - 2
Date: 15 Jul 2002 07:08:10 -0700
From: people@micro-web.co.kr (JinSoo Kim)
Organization: http://groups.google.com/
Message-ID: <edc45795.0207150608.649b5f0@posting.google.com>

Hi,

I have a ftp problem with my target.
The target spec is, CPU NET+ARM 40, VxWorks version 5.4.

I programmed ftp client using VxWorks ftpLib.
And the ftp server is on Linux machine.
My target continuously upload files every 30 seconds to
the ftp server. The file size is 10KB.

The problem is that the ftp upload sometimes stops for some reason.
The frequency depends on the network environment. It is 1 time per 2~3
days
in some network environment and 1 time per hour in other network
environment.
Once the uploading stops it never resumes again for itself.
The only method to resume ftp uploading is power off/on the target.

I attached the test code I used for experiment.
Is there a wrong usage of ftpLib in the code?
Would you please point it out if there is any?
Or is it a ftpLib bug in VxWorks.
Has anybody experienced similar problem?

Thanks in advance,
JinSoo Kim

================================================================================================

#include <vxWorks.h>
#include <stdio.h>
#include <string.h>
#include <ftpLib.h>
#include <tickLib.h>
#include <sysLib.h>
#include <taskLib.h>
#include <ioLib.h>

int ftp_transfer(void)
{
	int		ctrlSock = ERROR;
	int		dataSock = ERROR;
	char	ftp_directory[] = "ftp_dir";
	char	file_name[] = "test.txt";
	char	buff[10240];
	int		buffLen;

	buffLen = sizeof(buff);

	if ((ctrlSock = ftpHookup ("192.168.2.20")) == ERROR)
	{
		perror("ftpHookup");
		goto returnError;
	}
	taskDelay(1 * sysClkRateGet());

	if (ftpLogin (ctrlSock, "ftp_test", "1234", "") == ERROR)
	{
		perror("ftpLogin");
		goto returnError;
	}
	taskDelay(1 * sysClkRateGet());

    if (ftpCommand (ctrlSock, "TYPE I", 0, 0, 0, 0, 0, 0) !=
FTP_COMPLETE)
	{
		perror("ftpCommand TYPE I");
		goto returnError;
	}
	taskDelay(1 * sysClkRateGet());

    if (ftpCommand (ctrlSock, "CWD %s", (int) ftp_directory, 0, 0, 0,
0, 0) != FTP_COMPLETE)
	{
		perror("ftpCommand CWD");
		goto returnError;
	}
	taskDelay(1 * sysClkRateGet());

	if ((dataSock = ftpDataConnInit (ctrlSock)) == ERROR)
	{
		perror("\nftpDataConnInit");
		goto returnError;
	}
	taskDelay(1 * sysClkRateGet());

	if (ftpCommand (ctrlSock, "STOR %s", (int) file_name, 0, 0, 0, 0, 0)
!= FTP_PRELIM)
	{
		perror("\nftpCommand STOR");
		goto returnError;
	}
	taskDelay(1 * sysClkRateGet());

	if ((dataSock = ftpDataConnGet (dataSock)) == ERROR)
	{
		perror("\nftpDataConnGet");
		goto returnError;
	}
	taskDelay(1 * sysClkRateGet());

	if (write(dataSock, buff, buffLen) != (int) buffLen)
	{
		perror("\nwrite");
		goto returnError;
	}
	taskDelay(1 * sysClkRateGet());

	if (close (dataSock) == ERROR)
		perror("\nclose");

	if (ftpReplyGet (ctrlSock, TRUE) != FTP_COMPLETE)
	{
		perror("\nftpReplyGet");
		goto returnError;
	}
	taskDelay(1 * sysClkRateGet());

    if (ftpCommand (ctrlSock, "QUIT", 0, 0, 0, 0, 0, 0) !=
FTP_COMPLETE)
	{
		perror("ftpCommand QUIT");
		goto returnError;
	}
	taskDelay(1 * sysClkRateGet());

	if (close (ctrlSock) == ERROR)
		perror("close");

	return OK;

returnError:
	{
		if (ctrlSock == ERROR)
		{
			if (close (ctrlSock) == ERROR)
				perror("close");
		}
		if (dataSock == ERROR)
		{
			if (close (dataSock) == ERROR)
				perror("close");
		}
		return ERROR;
	}
}

void tFtpTransfer(void)
{
	while (1)
	{
		ftp_transfer();
		taskDelay(30 * sysClkRateGet());
	}
}

void spawn_ftp_test(void)
{	
	taskSpawn("tFtpTransfer", 100, 0, 50000, (FUNCPTR) tFtpTransfer,
0,0,0,0,0,0,0,0,0,0);
}

================================================================================================

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

Newsgroups: comp.os.vxworks
Subject: preprocessor changes slash type in file path?
Date: 15 Jul 2002 07:12:42 -0700
From: vijay.peshkar@wipro.com (Vijay Peshkar)
Organization: http://groups.google.com/
Message-ID: <bb8c75e1.0207150612.413a6db@posting.google.com>

Hi VxWorkers,

Am using filesystem on floppy booted target. Am able to operate on 
file "/vxA/text" opened with name hardcoded in the api. But when I
use a macro, the preprocessor translates 

#define MY_TEXT_FILE "/vxA/text" 

...
fopen( MY_TEXT_FILE, "w") ;
...

to 

...
fopen("\vxA\text","w");
...

Any suggestions on what's missing?.

Thanks and Regards,
Vijay

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

Newsgroups: comp.os.vxworks
Subject: preprocessor changes slash type in file path?
Date: 15 Jul 2002 07:19:38 -0700
From: vijay.peshkar@wipro.com (Vijay Peshkar)
Organization: http://groups.google.com/
Message-ID: <bb8c75e1.0207150619.74a05ed5@posting.google.com>

Hi VxWorkers,

Am using filesystem on floppy booted target. Am able to operate on 
file "/vxA/text" opened with name hardcoded in the api. But when I
use a macro, the preprocessor translates 

#define MY_TEXT_FILE "/vxA/text" 

...
fopen( MY_TEXT_FILE, "w") ;
...

to 

...
fopen("\vxA\text","w");
...

Any suggestions on what's missing?.

Thanks and Regards,
Vijay

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

Newsgroups: comp.os.vxworks
Subject: Re: Executing shell scripts inside a program.
Date: 15 Jul 2002 08:01:27 -0700
From: kannan@comneti.com (kannan)
Organization: http://groups.google.com/
Message-ID: <2ede7703.0207150701.7a13030c@posting.google.com>
References: <476013f7.0207121357.13a22a44@posting.google.com>

Hi,

I just tried your program.It just hangs up,It doesn't works for me.

But I was able to run a shell script from my shell.
It just gives me the output as follows:
 
- -> < C:/kk.txt
i
  NAME        ENTRY       TID    PRI   STATUS      PC       SP     ERRNO  DELAY
- ---------- ------------ -------- --- ---------- -------- -------- ------- -----
tExcTask   _excTask      4bc90a0   0 PEND         44b6c6  4bc8fbc   30065     0
tLogTask   _logTask      4bc4688   0 PEND         44b6c6  4bc45a0   30065     0
tShell     _shell        4b45ff0   1 PEND         44b6c6  4b45c58   30065     0
tTelnetd   _telnetd      4b51d30   2 PEND         44b6c6  4b51bf0       0     0
tWdbTask   0x41eb88      4b4a730   3 READY        44b6c6  4b4a614      16     0
tNetTask   _netTask      4b8d190  50 READY        44b6c6  4b8d008      16     0
tRipTimerTa_ripTimer     4b37768  99 PEND         44b6c6  4b3769c      16     0
tPortmapd  _portmapd     4b55d00 100 PEND         44b6c6  4b55b54      16     0
tRipTask   _ripTask      4b4e6d8 100 PEND         44b6c6  4b4e544      16     0
value = 0 = 0x0
w
  NAME       ENTRY      TID      STATUS   DELAY  OBJ_TYPE   OBJ_ID   OBJ_NAME
- ---------- ---------- -------- ---------- ----- ---------- -------- ------------
tExcTask   _excTask    4bc90a0 PEND           0 MSG_Q(R)    4bc9408 N/A       
tLogTask   _logTask    4bc4688 PEND           0 MSG_Q(R)    4bc49f0 N/A       
tShell     _shell      4b45ff0 PEND           0 SEM_B       4bc9b3c N/A       
tTelnetd   _telnetd    4b51d30 PEND           0 SEM_B       4b8de6c N/A       
tWdbTask   0x41eb88    4b4a730 READY          0                   0           
tNetTask   _netTask    4b8d190 READY          0                   0           
tRipTimerT _ripTimer   4b37768 PEND           0 SEM_B       4bcb938 N/A       
tPortmapd  _portmapd   4b55d00 PEND           0 SEM_B       4b55d90 N/A       
tRipTask   _ripTask    4b4e6d8 PEND           0 SEM_B       4b4e768 N/A       
value = 0 = 0x0
cd "c:\kk"
value = 0 = 0x0
ld < calling.o
Loading C:/kk/calling.o |
value = 3228808 = 0x314488
ld < fileopen.o
Loading C:/kk/fileopen.o |
value = 3229424 = 0x3146f0

I also execute "i" command through the execute function.
The output is as follows:
- -> execute "i"

  NAME        ENTRY       TID    PRI   STATUS      PC       SP     ERRNO  DELAY
- ---------- ------------ -------- --- ---------- -------- -------- ------- -----
tExcTask   _excTask      4bc90a0   0 PEND         44b6c6  4bc8fbc   30065     0
tLogTask   _logTask      4bc4688   0 PEND         44b6c6  4bc45a0   30065     0
tShell     _shell        4b45ff0   1 PEND         44b6c6  4b45c58   30065     0
tTelnetd   _telnetd      4b51d30   2 PEND         44b6c6  4b51bf0       0     0
tWdbTask   41eb88        4b4a730   3 PEND+T       44b6c6  4b4a614       0   180
t1         42cc6c        4b34cf0   4 READY        4314d0  4b33cf0       0     0
tNetTask   _netTask      4b8d190  50 READY        44b6c6  4b8d008       0     0
tRipTimerTa_ripTimer     4b37768  99 PEND         44b6c6  4b3769c      16     0
tPortmapd  _portmapd     4b55d00 100 PEND         44b6c6  4b55b54      16     0
tRipTask   _ripTask      4b4e6d8 100 PEND         44b6c6  4b4e544      16     0
value = 0 = 0x0
value = 0 = 0x0

I was also able to execute the load through the execute function.

execute  ld < kanRnew.o
Loading c:/kk/kanRnew.o |
value = 3267552 = 0x31dbe0

But when I execute the shell script through the execute function
it just hangs.
- -> execute "< C:/kk.txt"
$%%*())It hangs....

It also hangs when I tried to execute it through the "C" code.

Can you please let me know where I was wrong.whether I have to add
any components to make the script to work through execute function.

Thanks,
Kanna

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

Newsgroups: comp.os.vxworks
Subject: Help: cannot find bounds of current function.
Date: Mon, 15 Jul 2002 09:39:04 -0700
From: "Liang Yang" <Liang.Yang@asu.edu>
Organization: RTS-LAB
Message-ID: <agutmn$6ci$1@news.asu.edu>
Reply-To: "Liang Yang" <Liang.Yang@asu.edu>

Hi,
When I debug my program in Tornado, I encounter a error prompt
"cannot find bounds of current function".

What does this mean?

Thanks.

Liang

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

Newsgroups: comp.os.vxworks
Subject: Re: ld does not unload
Date: Mon, 15 Jul 2002 12:16:55 -0500
From: Jankesh Piparia <cjp054@email.mot.com>
Organization: iDEN Systems Division
Message-ID: <3D330387.7FBC7596@email.mot.com>
References: <b52e0856.0207141137.656cbbe3@posting.google.com>

Did you try "unld"

- -Jankesh

Miki Zilbershtein wrote:

> Hello,
>
> Why does the ld does not unload my modules?
> I have a linked object I download to my target which included all my
> source code. Then I want to change my code and dynamically load the
> new objects. When I load the new objects I am getting two symbols for
> the same function in the symbol table.
>
> -> lkup "startupMainSW"
> startupMainSW             0x0003a670 text     (vxAppBIAS_VOY)
> value = 0 = 0x0
>
> -> ld 0,1,"StartupPPC.out"
> Loading /vobs/bias/src/appl/Startup/StartupPPC.out /
> value = 13833784 = 0xd31638
>
> -> lkup "startupMainSW"
> startupMainSW             0x017d2358 text     (StartupPPC.out)
> startupMainSW             0x0003a670 text     (vxAppBIAS_VOY)
> value = 0 = 0x0
>
> The solution can save me a huge amount of development time !
>
> Thanks,
> Miki

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

Newsgroups: comp.os.vxworks
Subject: Re: Check sum Error!------ Who can help me?
Date: Mon, 15 Jul 2002 12:21:24 -0500
From: Jankesh Piparia <cjp054@email.mot.com>
Organization: iDEN Systems Division
Message-ID: <3D330494.18036B84@email.mot.com>
References: <e82d8e83.0207142205.33a063a2@posting.google.com>

This could happen if you are using a rommable version of
the vxWorks. (vxWorks_rom or vxWorks_romCompress)

Are you using this ?

- -Jankesh

seasoblue wrote:

> Hi,all
>   A trouble always troubles me.My debug enviroment includes tornadoII,
> and Samsung snds100 board which with a arm7tdmi kernel inside.
>
>   I have finished connecting target board with my tornadoII,but afer I
> start up my target server,I get warning messages:
>
>     "TGTSVR (arm@seasoblue): Mon Jul 15 13:41:11 2002
>     Wind River Systems Target Server: NT/Win95 version
>     Connecting to target agent... succeeded.
>     Attaching C++ interface... succeeded.
>     Attaching coff OMF reader for ARM CPU family... succeeded.
>     Warning: Target checksum: 0xdb3d (computed from 0x1000 to
> 0x81114).
>              Host checksum: 0xe96a (computed from 0x69c970 to
> 0x71ca84).
>     Warning: Core file checksums do not match."
>
> oh,it tells me:checksums do not match! But my target and host do use
> the SAME core file(vxwork image) in the SAME directory!
>   Could  anybody give me a hint that how to configure my target server
> to solve this problem?
>   Please give an example in detail ,thanks a  lot !

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

Newsgroups: comp.os.vxworks
Subject: Re: Why the VxWorks is not downloadable from Wind River?
Date: Mon, 15 Jul 2002 18:25:45 GMT
From: David Cooper <dcooper000@adelphia.net>
Organization: none
Message-ID: <MPG.179cdd98521bd18d989690@news1.news.adelphia.net>
References: <agen1i$iv0$1@news.mch.sbs.de> <Xns9246B1D606415borkhuisagerecom@192.19.193.66>

Prototyper is no longer available (at least I do not see it on Wind 
River's download site).

...david

- -- 
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
   Genealogy Utilities & Family Research
Researching: ALLEN,BERZONER,COHEN,COOPER,KUPFERZMIDT,
POSNER (POIZNER), PRITIKIN, STARKMAN
Dachau Camp Entry List, Genealogy Utilities
http://home.adelphia.net/~dcooper000

In article <Xns9246B1D606415borkhuisagerecom@192.19.193.66>, 
borkhuis@agere.com says...
> "Wojciech Mirski" <wojciech.mirski@siemens.pl> wrote:
> 
> > Salute Fellows!
> > 
> > For some time I have been noticed that VxWorks and Tornado haven't been
> > downloadable for free.
> > Does anybody know something about this?
> > How can I get VxWorks/Tornado to learn?
> 
> As far as I know Tornado Prototyper can be downloaded for free.
> 
> Groeten,
>         Johan
> 
> 

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

Newsgroups: comp.os.vxworks
Subject: Re: ld does not unload
Date: 15 Jul 2002 12:30:37 -0700
From: mikron30@hotmail.com (Miki Zilbershtein)
Organization: http://groups.google.com/
Message-ID: <b52e0856.0207151130.2e8f756@posting.google.com>
References: <b52e0856.0207141137.656cbbe3@posting.google.com> <agu7fc$qlu$1@snoopy.bndlg.de>

Hello,

OK.
Now I understand my problem. But still needs a solution. I do need to
replace the static link portion of my application. One option I think
of is to link my parts of the huge application code as dynamic (-B
dynamic?) or maybe to use some utility to replace the static function
with stub function that calls the new loaded modules. Did someone do
something like this before?

Thanks,
Miki

"Michael Lawnick" <lawnick@bndlg.de> wrote in message news:<agu7fc$qlu$1@snoopy.bndlg.de>...
> Hi Miki,
> 
> here my 2 cents:
> load behaviour differs on host(=Wind) and target(=serial/telnet) shell (on
> my current system: PPC405 Walnut). On host shell it automatically does an
> unload before, on target shell not.
> Remember: you can't unload the kernel, i.e. all modules linked statically to
> it, but only modules loaded by calls to load and unload on host or target
> shell at runtime.
> 
> HTH
> Michael
> 
> "Miki Zilbershtein" <mikron30@hotmail.com> schrieb im Newsbeitrag
> news:b52e0856.0207141137.656cbbe3@posting.google.com...
> > Hello,
> >
> > Why does the ld does not unload my modules?
> > I have a linked object I download to my target which included all my
> > source code. Then I want to change my code and dynamically load the
> > new objects. When I load the new objects I am getting two symbols for
> > the same function in the symbol table.
> >
> > -> lkup "startupMainSW"
> > startupMainSW             0x0003a670 text     (vxAppBIAS_VOY)
> > value = 0 = 0x0
> >
> > -> ld 0,1,"StartupPPC.out"
> > Loading /vobs/bias/src/appl/Startup/StartupPPC.out /
> > value = 13833784 = 0xd31638
> >
> > -> lkup "startupMainSW"
> > startupMainSW             0x017d2358 text     (StartupPPC.out)
> > startupMainSW             0x0003a670 text     (vxAppBIAS_VOY)
> > value = 0 = 0x0
> >
> > The solution can save me a huge amount of development time !
> >
> > Thanks,
> > Miki

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

Newsgroups: comp.os.vxworks
Subject: Re: preprocessor changes slash type in file path?
Date: 15 Jul 2002 23:36:50 GMT
From: Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com>
Message-ID: <slrnaj6n4i.87d.denis_newsREMOVE-TO-REPLY@concorde.cs.ucla.edu>
References: <bb8c75e1.0207150619.74a05ed5@posting.google.com>

 * Vijay Peshkar <vijay.peshkar@wipro.com> [07-Mon-02 07:19
 * -0700]:
 >
 > Hi VxWorkers,

 > Am using filesystem on floppy booted target. Am able to
 > operate on file "/vxA/text" opened with name hardcoded in
 > the api. But when I use a macro, the preprocessor
 > translates 

 > #define MY_TEXT_FILE "/vxA/text" 
 > ...
 > fopen( MY_TEXT_FILE, "w") ;
 > ...
 > to 
 > ...
 > fopen("\vxA\text","w");
 > ...

how did you determine that this is in fact what's going on?
is this what happens when you dump output with -E (if you're
using gcc that is)?

denis

- -- 
if you want to reply by mail, please tweak my
address in a reasonable way. sorry for the 
inconvenience.

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

Newsgroups: comp.os.vxworks
Subject: Re: FTP client problem - 2
Date: 15 Jul 2002 17:03:09 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207151603.14d08b@posting.google.com>
References: <edc45795.0207150608.649b5f0@posting.google.com>

Hello,

You've already asked this question, and been given a number of answers
in the past, but here's some more ideas.

1) Check that your driver has enough receive & transmit buffers
allocated (usually done in a string in your BSP's configNet.h file,
but since you did not specify which driver you are using, I can't give
you more than that).

2) Check that the network stack itself is configured with enough
buffers. There are some app notes on WindSurf that deal with this
issue. One can be found here:

http://web2.windriver.com/windsurf/appnotes/netprods/windwebsvr/APN53/WTN53.pdf

3) Check that the ftp server you are connecting to is supported (some
of the ftp servers send additional responses that can confuse the
VxWorks client). Which host/ftp server are you using? If you're using
different ones, does the choice of server make a difference?

If you need more, I suspect that you will need to tell us more about
what is going on when it fails. In particular, what kind of network
traffic is present when it fails faster (you say in some network
environments it fails in an hour, but you don't describe the
characteristics of that network). Also, the driver, and memory
statistics (look at the network show routine documentation for
information on getting memory usage stats for the network stack).

HTH,

John...

> I have a ftp problem with my target.
> The target spec is, CPU NET+ARM 40, VxWorks version 5.4.
> 
> I programmed ftp client using VxWorks ftpLib.
> And the ftp server is on Linux machine.
> My target continuously upload files every 30 seconds to
> the ftp server. The file size is 10KB.
> 
> The problem is that the ftp upload sometimes stops for some reason.
> The frequency depends on the network environment. It is 1 time per 2~3
> days
> in some network environment and 1 time per hour in other network
> environment.
> Once the uploading stops it never resumes again for itself.
> The only method to resume ftp uploading is power off/on the target.
> 
> I attached the test code I used for experiment.
> Is there a wrong usage of ftpLib in the code?
> Would you please point it out if there is any?
> Or is it a ftpLib bug in VxWorks.
> Has anybody experienced similar problem?
> 
> Thanks in advance,
> JinSoo Kim
> 
> ================================================================================================
> 
> #include <vxWorks.h>
> #include <stdio.h>
> #include <string.h>
> #include <ftpLib.h>
> #include <tickLib.h>
> #include <sysLib.h>
> #include <taskLib.h>
> #include <ioLib.h>
> 
> int ftp_transfer(void)
> {
> 	int		ctrlSock = ERROR;
> 	int		dataSock = ERROR;
> 	char	ftp_directory[] = "ftp_dir";
> 	char	file_name[] = "test.txt";
> 	char	buff[10240];
> 	int		buffLen;
> 
> 	buffLen = sizeof(buff);
> 
> 	if ((ctrlSock = ftpHookup ("192.168.2.20")) == ERROR)
> 	{
> 		perror("ftpHookup");
> 		goto returnError;
> 	}
> 	taskDelay(1 * sysClkRateGet());
> 
> 	if (ftpLogin (ctrlSock, "ftp_test", "1234", "") == ERROR)
> 	{
> 		perror("ftpLogin");
> 		goto returnError;
> 	}
> 	taskDelay(1 * sysClkRateGet());
> 
>     if (ftpCommand (ctrlSock, "TYPE I", 0, 0, 0, 0, 0, 0) !=
> FTP_COMPLETE)
> 	{
> 		perror("ftpCommand TYPE I");
> 		goto returnError;
> 	}
> 	taskDelay(1 * sysClkRateGet());
> 
>     if (ftpCommand (ctrlSock, "CWD %s", (int) ftp_directory, 0, 0, 0,
> 0, 0) != FTP_COMPLETE)
> 	{
> 		perror("ftpCommand CWD");
> 		goto returnError;
> 	}
> 	taskDelay(1 * sysClkRateGet());
> 
> 	if ((dataSock = ftpDataConnInit (ctrlSock)) == ERROR)
> 	{
> 		perror("\nftpDataConnInit");
> 		goto returnError;
> 	}
> 	taskDelay(1 * sysClkRateGet());
> 
> 	if (ftpCommand (ctrlSock, "STOR %s", (int) file_name, 0, 0, 0, 0, 0)
> != FTP_PRELIM)
> 	{
> 		perror("\nftpCommand STOR");
> 		goto returnError;
> 	}
> 	taskDelay(1 * sysClkRateGet());
> 
> 	if ((dataSock = ftpDataConnGet (dataSock)) == ERROR)
> 	{
> 		perror("\nftpDataConnGet");
> 		goto returnError;
> 	}
> 	taskDelay(1 * sysClkRateGet());
> 
> 	if (write(dataSock, buff, buffLen) != (int) buffLen)
> 	{
> 		perror("\nwrite");
> 		goto returnError;
> 	}
> 	taskDelay(1 * sysClkRateGet());
> 
> 	if (close (dataSock) == ERROR)
> 		perror("\nclose");
> 
> 	if (ftpReplyGet (ctrlSock, TRUE) != FTP_COMPLETE)
> 	{
> 		perror("\nftpReplyGet");
> 		goto returnError;
> 	}
> 	taskDelay(1 * sysClkRateGet());
> 
>     if (ftpCommand (ctrlSock, "QUIT", 0, 0, 0, 0, 0, 0) !=
> FTP_COMPLETE)
> 	{
> 		perror("ftpCommand QUIT");
> 		goto returnError;
> 	}
> 	taskDelay(1 * sysClkRateGet());
> 
> 	if (close (ctrlSock) == ERROR)
> 		perror("close");
> 
> 	return OK;
> 
> returnError:
> 	{
> 		if (ctrlSock == ERROR)
> 		{
> 			if (close (ctrlSock) == ERROR)
> 				perror("close");
> 		}
> 		if (dataSock == ERROR)
> 		{
> 			if (close (dataSock) == ERROR)
> 				perror("close");
> 		}
>  return ERROR;
> 	}
> }
> 
> void tFtpTransfer(void)
> {
> 	while (1)
> 	{
> 		ftp_transfer();
> 		taskDelay(30 * sysClkRateGet());
> 	}
> }
> 
> void spawn_ftp_test(void)
> {	
> 	taskSpawn("tFtpTransfer", 100, 0, 50000, (FUNCPTR) tFtpTransfer,
> 0,0,0,0,0,0,0,0,0,0);
> }
> 
> ================================================================================================

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

Newsgroups: comp.os.vxworks
Subject: Re: using D-link network adapter for network booting
Date: 15 Jul 2002 21:27:53 -0700
From: ash_kumarv@yahoo.com (Ashok)
Organization: http://groups.google.com/
Message-ID: <a92e61fe.0207152027.454bf88@posting.google.com>
References: <a92e61fe.0207090345.65a7da72@posting.google.com> <Xns9246B19435AB1borkhuisagerecom@192.19.193.66> <a92e61fe.0207092010.232db98e@posting.google.com> <Xns92475E441AD71borkhuisagerecom@192.19.193.66> <a92e61fe.0207102255.511d30bf@posting.google.com> <E3rX8.6247$uw.2603@rwcrnsc51.ops.asp.att.net>

I have a RealTek RTL 8129/8139 PCI NIC driver source written in c for
FreeBSD.
My question is can i use this c and header file and write my own
device driver for the chip for vxworks

or how do i alter this .c and .h file to my use with vxworks

ashok

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

Newsgroups: comp.os.vxworks
Subject: SDLC with Zilog
Date: 15 Jul 2002 23:09:26 -0700
From: senthilb@comneti.com (senthil)
Organization: http://groups.google.com/
Message-ID: <26ca8a8f.0207152209.3bbfa19f@posting.google.com>

Hi,
  At present iam into implementation of SDLC Synchronous serial
communication using Z85c30. Ive crossed few stages like intializations
and things
seems to work well. Since iam using Z85C30ESCC its has many feature
like automatic CRC preset,eom reset etc.,
  The zilog manual says we should take care of transmitting Address ,
Control  and Info fields. So does it mean we should maintain our own
state variables and use RR and RNR stuffs for acknowledging and
updating sequence numbers etc., as we do for LAPD & HDLC protocols.
 Intially what i tried was this. I didnt send any address or control.
I just send an info packet and recieved it at the other end. I
stripped off two CRC bytes and got the correct info packet.All
interrupt sequence was correct and end of frame came up at end of CRC
packets but there was a CRC error. If i add the address,control field
tx and address to various states of protocols will my driver be
complete.
  Please let me know whether my understanding is right ? If not please
explain me whats the basic way of implementing Synchnronous SDLC
serial communication and how to proceed?
thanks in advance
regards
senthil

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

Newsgroups: comp.os.vxworks
Subject: Why vxWorks reboot error?
Date: 15 Jul 2002 23:26:22 -0700
From: westwoods.l@163.net (westwoods)
Organization: http://groups.google.com/
Message-ID: <86bb1c72.0207152226.3b774c83@posting.google.com>

I am using CS8900 Ethernet controller in my board and building its
driver as csEND in my vxWorks.
  I have one problem: I build my vxWorks as bootrom and it seems that
the vxWorks image has been download through CS8900( from the console
print information, but the FTP information says that " ...got
unsuccessful"). At the end it seems that it reboot error. The
following as copied from my cosole:

"....
Loading... 765736
interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error

Starting at 0x100000...

0x1dcca0 (tBoot): csStop(): unit=muxDevLoad failed for device entry 0!
Could not find cs0
Attaching interface lo0...done
Error setting inet address of lo0 to 127.0.0.1, errno = 0x37
telnetInit: unable to spawn telnetd.
wdbConfig: error configuring WDB communication interface

 ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
 ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
 ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
      ]]]]]]]]]]]  ]]]]     ]]]]]]]]]]       ]]              ]]]]     
   (R)
 ]     ]]]]]]]]]  ]]]]]]     ]]]]]]]]       ]]               ]]]]     
      0x
1ffdf8  (]]tRootTask

ment System0x
1ffdf 8]]]]]]]]]]]]]]]]]] (]]]]]]]]]]tRootTas
k ): ]]]]]]]]]]]]]]csInitRxBuff: Unit=]0]]]]]]]]]]]]        Memory
unavailable.V
xWorks version  mem5.4align() Failed!

0x 1ffdf8]]]]]]]]]]] (]]]]]]]]]]]]]]]   tRootTask    KERNEL:): 
csEndLoad: CS_EN
WIND version 2.5D_DE
VICE  0]]]]]]]]]]]] Can not allocate re]]]]]]]]]]]]]       ceive
buffers
Copyri0xght Wind River Sys1ffdf8tems, Inc., 19 (84-1999tRootTask
)
:                  csEndLoad(): Returni              ng CS8CPU: 900
Device NameE
ST Corp. estMdpBasi string...
c823/850 0x-- Mini PowerPC1ff.  Processor #df80 (.
tRootTask         ):                  csParser(): IOAddr=0    XMemory
Size: 0x30
0200000, IntLevel=.0X  BSP version 1.26/3.
, IntVect=0X   6                   ,
           Mem       WDB: Base=0XA1000gent configurati, MediaType=on
faile3d, Co
nfigFlag=0X.
8010
0x1ffdf8 (): task deadcsInitRxBuff: Unit=0 Memory unavailable.
memalign() Failed
!
0x1ffdf8 (): task deadcsEndLoad: CS_END_DEVICE 0 Can not allocate
receive buffer
s
0x1ffdf8 (): task deadmuxLoad failed!

...."

from the above information, I think the vxWorks Error, is it right?
any one can help me? thanks a lot.

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

Newsgroups: comp.os.vxworks
Subject: IQ80321 BSP?
Date: Tue, 16 Jul 2002 10:33:49 +0300
From: almonious@hotmail.com
Message-ID: <tvi7ju096it5vutv5r0q3i9vp95gjjrcme@4ax.com>

Hi,
Has anyone been able to get the BSP for this board? Where from?

Thanks,
AR

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

Newsgroups: comp.os.vxworks
Subject: WTX Error 0x10130 (API_INVALID_ARG) when using ld ()
Date: 16 Jul 2002 02:05:36 -0700
From: mbendtsen@sjm.com (Mikael Bendtsen)
Organization: http://groups.google.com/
Message-ID: <4a8311d7.0207160105.41f3c0f8@posting.google.com>

Hi,

Does anyone know why the error below occurs when linking a file into
the target's memory using the following syntax:

ld < dll_name.dll

Loading dll_name.dll -

WTX Error 0x10130 (API_INVALID_ARG)
value = -1 = 0xffffffff

The strange thing is that it works on a second attempt, all the time.

Best regards,

Mikael

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

Newsgroups: comp.os.vxworks
Subject: Re: preprocessor changes slash type in file path?
Date: 16 Jul 2002 02:57:00 -0700
From: vijay.peshkar@wipro.com (Vijay Peshkar)
Organization: http://groups.google.com/
Message-ID: <bb8c75e1.0207160157.4692242c@posting.google.com>
References: <bb8c75e1.0207150619.74a05ed5@posting.google.com> <slrnaj6n4i.87d.denis_newsREMOVE-TO-REPLY@concorde.cs.ucla.edu>

Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com> wrote in message news:<slrnaj6n4i.87d.denis_newsREMOVE-TO-REPLY@concorde.cs.ucla.edu>...
> * Vijay Peshkar <vijay.peshkar@wipro.com> [07-Mon-02 07:19
>  * -0700]:
>  >
>  > Hi VxWorkers,
>  
>  > Am using filesystem on floppy booted target. Am able to
>  > operate on file "/vxA/text" opened with name hardcoded in
>  > the api. But when I use a macro, the preprocessor
>  > translates 
>  
>  > #define MY_TEXT_FILE "/vxA/text" 
>  > ...
>  > fopen( MY_TEXT_FILE, "w") ;
>  > ...
>  > to 
>  > ...
>  > fopen("\vxA\text","w");
>  > ...
> 
> how did you determine that this is in fact what's going on?
> is this what happens when you dump output with -E (if you're
> using gcc that is)?
> 
> denis

Hello,

Yes. 
Some more interesting points:
1.If I am to do a strcpy(filename, "/vxA/text") and watch the value of
filename over debugger, its \vxA\text. But a printf in the next line
gives a correct output. So as a workaround, did a sprintf to filename
and it was OK ;)
2.Including C++ components thru include/exclude options in workspace
(though I do not have any c++ code), seems to correct the problem. But
how are the two related?. Also, on including c++ components, am unable
to launch. The tgtsvr is exiting with checksum error. Any clues?.

Thanks and Regards,
Vijay

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

Newsgroups: comp.os.vxworks
Subject: PPC SYNC instruction
Date: Tue, 16 Jul 2002 11:22:03 +0100
From: "Trevor" <trevor.bracey@uk.thalesgroup.com>
Organization: Thales
Message-ID: <ah0s37$412$1@rdel.co.uk>

When a processor executes a SYNC instruction, a SYNC address-only tenure is
broadcast on the 60x bus to notify the system that a software-placed barrier
is present. How do you get the processor to execute a SYNC instruction?

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

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

From vxwexplo-errs@csg.lbl.gov  Tue Jul 16 05:06:55 2002
From: arvind.mishra@philips.com
Date: Tue Jul 16 05:06:57 PDT 2002
Subject: Need help to integrate dos file system with SCSI Storage device Drivers in

Hi,

I am new to Vxworks. I need your help me to integrate dos file system with my SCSI storage device drivers.
I am unable to figure out how  dosfsMKfs() is interacting with SCSI.lib functions.
My kind request  you to please give me a details with one example as "write a file on the SCSI disk"

Thanks in advance,

Arvind Kumar Mishra
_______________________________________
Philips Innovation Campus
#1, Murphy Road,  Near Ulsoor Lake
Bangalore 560008,  India
Phone : 91-80-5579000 Extn : 4037
E-Mail : arvind.mishra@philips.com
________________________________________

From vxwexplo-errs@csg.lbl.gov  Wed Jul 17 02:58:46 2002
From: arvind.mishra@philips.com
Date: Wed Jul 17 02:58:48 PDT 2002
Subject: Interface between dos file system with my SCSI Storage device Drivers in

Hi,

I am new to Vxworks. I am not clear how filesystem_open(file descriptor) interacts  with
SCSI driver functions. Basically, I don't understand the interface layer or bridge between dos file system and SCSI device drivers for certain application(like write file on SCSI floppy disk).

I am trying to explain my question. Please let me know if I have not understood
things clearly.

Example ::Suppose I want to write a particular file on SCSI disc.

1. Application function.write(file name, other descriptor)
2. Then it will interact with I/O system.
3. Then it will invoke certain routine at file system level
4. then file system operation must send certain commands to SCSI drivers to do
certain operation to write a file on SCSI disc at particular location of certain
buffer size.

Actually, I am unable to figure out step-4 that  how file system operation
invokes SCSI operation to be done.

Please respond to me if you know these.

Thanks in advance,

Arvind Kumar Mishra
_______________________________________
Philips Innovation Campus
#1, Murphy Road,  Near Ulsoor Lake
Bangalore 560008,  India
Phone : 91-80-5579000 Extn : 4037
E-Mail : arvind.mishra@philips.com
________________________________________

From vxwexplo-errs@csg.lbl.gov  Wed Jul 17 04:03:14 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Wed Jul 17 04:03:17 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Wed Jul 17 04:03:11 PDT 2002

        Subject: Re: MMU in VxWorks
        Subject: Re: PPC SYNC instruction
        Subject: VME interrupts/slave processor reboot /master processor lockup
        Subject: Can VxWorks support a harddisk larger than 2G?
        Subject: MPC7400, L2 Cache, Copy back Data and instruction enable.
        Subject: Re: using D-link network adapter for network booting
        Subject: DP 83815 driver source - dp83815End.c
        Subject: Re: PPC SYNC instruction
        Subject: Re: GCC for PowerPC bug
        Subject: Re: Why vxWorks reboot error?
        Subject: Ethernet packet Tran/recv
        Subject: Re: MPC7400, L2 Cache, Copy back Data and instruction enable.
        Subject: tcp latency
        Subject: Re: Why vxWorks reboot error?
        Subject: Re: GCC for PowerPC bug
        Subject: usrLoadSym changes
        Subject: use java on vxWorks 5.4
        Subject: Re: usrLoadSym changes
        Subject: Re: use java on vxWorks 5.4
        Subject: Without suitable L2/3 hardware,How can I debug stp?
        Subject: Re: Check sum Error!------ Who can help me?
        Subject: Memory fragmention
        Subject: Re: tcp latency
        Subject: is msgQSend in Vxworks an atomic function ??
        Subject: Re: Check sum Error!------ Who can help me?
        Subject: Re: is msgQSend in Vxworks an atomic function ??
        Subject: Help ! tNetTask Debug Problem

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

Newsgroups: comp.os.vxworks
Subject: Re: MMU in VxWorks
Date: 16 Jul 2002 04:17:34 -0700
From: hotJacky@163.net (Bryan)
Organization: http://groups.google.com/
Message-ID: <8f77d4a.0207160317.25114329@posting.google.com>
References: <354f4c04.0206242124.7178cc77@posting.google.com>

bharath.c@smartm.com (Bharath) wrote in message news:<354f4c04.0206242124.7178cc77@posting.google.com>...
> VxWorkers,
> 
> For PowerPC architecture, does the VxWorks kernel turn OFF the MMU
> (bits MSR[IR] and MSR[DR]) at any time?
> 
> For an application that I am designing, I am assuming that MMU is
> never turned off by VxWorks (except during an exception).
> 
> On boot (after power on), MMU is OFF and is turned ON somewhere in
> usrRoot(). After that I am assuming that MMU is always ON (except when
> an exception is taken). Is this a valid assumption?
> 
> When an exception is taken, MMU is turned off (by the CPU) and turned
> ON by the OS in the exception handler.
> 
> Does anyone here have any idea if VxWorks kernel is turning OFF MMU
> for any reason? If so, what is the reason for turning off MMU?
> 
> Thank you,
> Bharath

MMU is turned on by VxWorks in initialization.You can see it by arosing a exception.

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

Newsgroups: comp.os.vxworks
Subject: Re: PPC SYNC instruction
Date: Tue, 16 Jul 2002 13:18:45 +0200
From: "Rene Straub" <_remove_rene.straub@yetnet.ch>
Organization: Swisscom IP+ (post doesn't reflect views of Swisscom)
Message-ID: <ah0ved$n5t$1@rex.ip-plus.net>
References: <ah0s37$412$1@rdel.co.uk>

"Trevor" <trevor.bracey@uk.thalesgroup.com> wrote in message
news:ah0s37$412$1@rdel.co.uk...
> When a processor executes a SYNC instruction, a SYNC address-only tenure
is
> broadcast on the 60x bus to notify the system that a software-placed
barrier
> is present. How do you get the processor to execute a SYNC instruction?
>

Hey Trevor,

you could use some inline assembly (GNU notation).

void sync(void)
{
  asm volatile ( "sync" )
}

Yours
- - Rene

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

Newsgroups: comp.arch.bus.vmebus,comp.os.vxworks
Subject: VME interrupts/slave processor reboot /master processor lockup
Date: 16 Jul 2002 04:25:35 -0700
From: cnw@zoom.co.uk (Chris Winstanley)
Organization: http://groups.google.com/
Message-ID: <3b4d40d1.0207160325.5c840e59@posting.google.com>

We have a VME rack consisting of three Radstone PPC4A processors
running vxWorks and four Acromag VME carrier boards holding various IO
devices. The Radstone boards are equiped with the Tundra Universe II
chip.

We have a requirement to be able to reboot a single processor
individually (not the system controller) without affecting any of the
other processors in the system.

The system controller writes data to the local memory of the two other
processors via the VME bus in A32 address space (this is performed at
task level).

The system controller accesses some of the various IO devices via the
VME bus in A16 address space at task level.

The system controller accesses some of the various IO devices via the
VME bus in A16 address space at interrupt level when the IO devices in
question generate VME interrupts (via the carrier board on which they
reside).

With no VME interrupts being generated I can meet the requirement
(using a DMA engine to deal with bus errors that occur when attempting
to write data to the processor that is rebooting (A32) - accesses to
the A16 devices are unaffected).

With VME interrupts being generated the system controller processor
locks up - I'm guessing an exception has occured at interrupt level
but I'm not sure.

Can anybody tell me why this occurs and if I can prevent it from
happening?

Thanks,
Chris Winstanley

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

Newsgroups: comp.os.vxworks
Subject: Can VxWorks support a harddisk larger than 2G?
Date: 16 Jul 2002 04:29:06 -0700
From: hotJacky@163.net (Bryan)
Organization: http://groups.google.com/
Message-ID: <8f77d4a.0207160329.fa9f7d1@posting.google.com>

I find the dosFs in VxWorks  can only support fat16,that means dosFs
can manager a harddisk less than 2G.How can support a harddisk larger
than 2G?Thanks for the help.

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

Newsgroups: comp.arch.embedded,comp.os.linux.powerpc,comp.os.vxworks,comp.sys.powerpc.tech
Subject: MPC7400, L2 Cache, Copy back Data and instruction enable.
Date: Tue, 16 Jul 2002 14:48:32 +0200
From: "Rami Gideoni" <rgideoni@rugged.com>
Organization: Internet Gold, ISRAEL
Message-ID: <ah114v$mg5$1@news.inter.net.il>

Hi,

I'm attempting for some time know to activate the MPC7400 L2 cache in copy
back mode. (both instruction and data enabled)

Currently L2 cache set to write through mode works just fine -- but the
performance ....

(I know that because we have parallel design which is different only in the
core -- IBM PPC750 500 MHz and switching from write through to copy back
made wonders from the performance aspect)

I did some investigation and figure out that Motorola computer group
MVME5100, which also uses MPC7400 set L2 cache to write through mode

and Galileo do the same.

Our board use's MPC106 PCI bridge and system controller (legacy design).

Any ideas what copy back mode does not work will be thanked.

Thanks in advance

RamiG

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

Newsgroups: comp.os.vxworks
Subject: Re: using D-link network adapter for network booting
Date: Tue, 16 Jul 2002 08:43:27 -0400
From: Varndell Engineering <gvarndell@hotmail.com>
Organization: Posted Via Newsfeeds.com = SPEED+RETENTION+COMPLETION = http://www.newsfeeds.com
Message-ID: <3D3414EF.3CAEC2AF@hotmail.com>
References: <a92e61fe.0207090345.65a7da72@posting.google.com> <Xns9246B19435AB1borkhuisagerecom@192.19.193.66> <a92e61fe.0207092010.232db98e@posting.google.com> <Xns92475E441AD71borkhuisagerecom@192.19.193.66> <a92e61fe.0207102255.511d30bf@posting.google.com> <E3rX8.6247$uw.2603@rwcrnsc51.ops.asp.att.net> <a92e61fe.0207152027.454bf88@posting.google.com>

Ashok wrote:
> 
> I have a RealTek RTL 8129/8139 PCI NIC driver source written in c for
> FreeBSD.
> My question is can i use this c and header file and write my own
> device driver for the chip for vxworks
> 
> or how do i alter this .c and .h file to my use with vxworks

Get the latest driver source directly from Realtek. By using bits from
the RealTek driver and other bits from the BSD driver, you should be
able to come up with a driver that works.
To my knowledge, there is no cook-book for turning a FreeBSD driver
into a END driver.

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: DP 83815 driver source - dp83815End.c
Date: 16 Jul 2002 07:13:30 -0700
From: michaelsander@yahoo.com (Michael Sander)
Organization: http://groups.google.com/
Message-ID: <f3e309ab.0207160613.1ec1561@posting.google.com>

I am implementing a ethernet END driver for the SiS630E/SiS900 chipset
on a PC board.

There does not appear to be an VxWorks ethernet driver for the SiS900,
although there are Linux and FreeBSD drivers available. (Note: The
SiS900 datasheet is available at
http://www.sis.com/support/databook.htm
if anybody has a SiS630E datasheet, I'd love a copy)

The SiS900 is very similar to the Dp83815, (and not as similar to the
NE2000 as previous posts have said, as best I can tell.) There is an
driver for the Dp83815 available from National Semiconductors.
( http://www.national.com/appinfo/networks/ )

National provides 386 and 486 object code for the driver, but the
readme refers to the source code, like maybe they used to distribute
the source.  Does anybody have a copy of the missing file dp83815End.c
?

Thanks, Michael

Michael <dot> Sander <at> EmhartGlass <dot> com

And hey, if anybody has a SiS630/SiS900 VxWorks ethernet driver they
would like to trade for love, money or pizza, please contact me.

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

Newsgroups: comp.os.vxworks
Subject: Re: PPC SYNC instruction
Date: 16 Jul 2002 07:18:36 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207160618.1302773f@posting.google.com>
References: <ah0s37$412$1@rdel.co.uk>

Hello,

"Trevor" <trevor.bracey@uk.thalesgroup.com> wrote in message news:<ah0s37$412$1@rdel.co.uk>...
> When a processor executes a SYNC instruction, a SYNC address-only tenure is
> broadcast on the 60x bus to notify the system that a software-placed barrier
> is present. How do you get the processor to execute a SYNC instruction?

In C source (as long as you're using the GNU compiler):

   __asm__ ("sync");

In assembler source:

   sync

HTH,

John...

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

Newsgroups: comp.os.vxworks
Subject: Re: GCC for PowerPC bug
Date: 16 Jul 2002 17:27:03 -0500
From: Damien Kick <dkick1@email.mot.com>
Organization: OneIT Directory Services News Site
Message-ID: <u1mz9umg.fsf@email.mot.com>
References: <3D119749.C0F892F8@sepro-robotique.com> <20020622220547405+0100@clarity.daystar.local>
Sender: DKICK1@IL27-5850

Alastair J. Houghton <ajhoughton@lineone.net> writes:

> In <3D119749.C0F892F8@sepro-robotique.com> Emmanuel Herbreteau
> wrote: 
> > ( gcc driver version cygnus-2.7.2-960126 egcs-971225 tornado 2.0
> > executing gcc version cygnus-2.7.2-960126 )

I am a vxWorks newbie just starting work on a project using the same
version of Tornado/GCC.  Before starting work on the current vxWorks
project, I was working on another project targeted for LynxOS, using a
version of the gcc-2.7.x line, as well as for Solaris, using
gcc-2.8.1.  We experienced problems with gcc-2.7.x and gcc-2.8.1 on
these platforms.  In particular, one problem that caused us quite a
bit of heartburn was related to using an 'ofstream' in a
multi-threaded application
<http://gcc.gnu.org/ml/libstdc++/2001-10/msg00065.html>.

> Your best bet is to upgrade to Tornado 2.1, which uses a much newer
> version of GCC (based on version 2.95.3) that has fewer bugs as well
> as a better optimiser (and support for Altivec if you want it);
> [...]

Now, from what I understand of GCC as relased by <http://gcc.gnu.org>,
the C++ Standard Library shipped with 2.95.3 is "buggy as freak"
<http://gcc.gnu.org/ml/libstdc++/2001-11/msg00074.html>.  Again,
AFAIK, the problem I observed in 'libstdc++-2.8.1'
<http://gcc.gnu.org/ml/libstdc++/2001-11/msg00074.html> remained
unfixed in 2.95.3, as I was not the only person to report this problem
<http://gcc.gnu.org/ml/libstdc++/2001-11/msg00071.html>, and that
thread-safety has not been properly addressed in 'libstdc++' until the
'gcc-3.x' timeframe.  Now, I'm assuming that what is true with regard
to 'gcc-2.95.3' <http://gcc.gnu.org/gcc-2.95/> is also true with
regard to Tornado 2.1.  Am I mistaken is this assumption and, if I am,
then how can I learn what patches have been applied to the GCC variant
shipped with a particular version of Tornado so that I know what to
expect from the compiler?

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

Newsgroups: comp.os.vxworks
Subject: Re: Why vxWorks reboot error?
Date: 16 Jul 2002 19:04:48 -0700
From: westwoods.l@163.net (westwoods)
Organization: http://groups.google.com/
Message-ID: <86bb1c72.0207161804.83ea0ed@posting.google.com>
References: <86bb1c72.0207152226.3b774c83@posting.google.com>

hello, vxWorks world! I am sorry that I could not express my problem
clear to you yesterday, now I post it again here, and sincerely
waiting for your help!

    My board is an 850 based platform running (at present) a bootrom
version of vxWorks 5.4. Build environment is T2 with gnu compiler. In
my board, besides SCC2 is connected to ethernet via LXT905, I extend
two ethernet interface with CS8900 ethernet controller. Now the SCC2
runs OK, However when only one CS8900 is included in the system  of
course it is used as netWork boot interface.

   Judged from the information in the console and the FTP window, I
think that the bootrom is ok and the vxWorks image has been downloaded
into my board successfully. But when the vxWorks "reboot", it notices
me that "muxDevLoad failed..", My problem is why my END can
"muxDevLoad" and runs ok in the bootrom, but "muxDevLoad" failed when
the vxWorks "reboot" in my RAM?
  
   The following is my console information, I hope it will make you
clear my problem. Thanks a lot.

              VxWorks System Boot

Copyright 1984-1998  Wind River Systems, Inc.

CPU: 850 -- Mini PowerPC
Version: 5.4
BSP version: 1.2/3
Creation date: Jul 16 2002, 18:05:47

Press any key to stop auto-boot...
 0
auto-booting...

boot device          : cs
unit number          : 0
processor number     : 0
host name            : westwoods
file name            : vxWorks
inet on ethernet (e) : 192.168.0.76
host inet (h)        : 192.168.0.27
gateway inet (g)     : 192.168.0.100
user (u)             : user
ftp password (pw)    : user
flags (f)            : 0x8
target name (tn)     : test8900

0x3dcca0 (tBoot): csStart: unit=0, Initializing interface
0x3dcca0 (tBoot): csConfig() Setting promiscuous mode off!
0x3dcca0 (tBoot): csConfig() Setting promiscuous mode off!
Attached TCP/IP interface to cs0.
0x3dcca0 (tBoot): csMCastAdd(): Add Ethernet Multicast Address:
ff.ff.ff.ff.ff.ff
0x3dcca0 (tBoot): csConfig() Setting promiscuous mode off!
Attaching network interface lo0... done.
Loading... 765896

interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error

Starting at 0x100038...

0x3dcca0 (tBoot): csStop(): unit=0, The CS8900 device has been
stopped.
muxDevLoad failed for device entry 0!
Could not find cs0
Attaching interface lo0...done
Error setting inet address of lo0 to 127.0.0.1, errno = 0x37
telnetInit: unable to spawn telnetd.
wdbConfig: error configuring WDB communication interface

 ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
 ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
 ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
 ]]]]]]]]]]]  ]]]]     ]]]]]]]]]]       ]]              ]]]]        
(R)
 ]     ]]]]]]]]]  ]]]]]]     ]]]]]]]]       

0x1ffdf8  (tRootTask): 	    panic: no memory clusters
0x1ffdf8  (tRootTask):      panic: mbinit  
0x1ffdf8  (tRootTask):      panic: rn_init

]] ]]]]] ]]]]]] ]] ]]]]]]] ]]]] ]]   ]]]]]]]]]     ]  ]]]]     ]]]]]
]]]]]]  ]    ]]]   ]]]]]] ]]]]]]]] ]]]]    
]]]]]]]]]]]]  ]]]]]  ]]]    ]]]]]]] ]  ]]]

0x1ffdf8(tRootTask):   csEndLoad() : Returning CS8900 Device Name
string...
0x1ffdf8(tRootTask):   csParser()  : IOAddr=0X300, IntLevel=0X6 ,
IntVect=0X6 ,
				 MemBase=0X1000 , MediaType=3, ConfigFlag=0X8010
0x1ffdf8(tRootTask):   csInitRxBuff: Unit=0 Memory unavailable.
memalign() Failed!
0x1ffdf8(tRootTask):   csEndLoad   : CS_END_DEVICE  0 Can not allocate
receive buffers

]]]]  ]]]]    ]]]]  ]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]
]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
       
Development System VxWorks version5.4
KERNEL: WIND version 2.5 Copyright Wind River Systems, Inc., 1984-1999
cCPU:823/850 -- Mini PowerPC.  Processor #0.BSP version 1.2/3. .
MemorySize: 0X200000 
WDB: Agent configuration failed.

]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]] 

0x1ffdf8(tRootTask):      csEndLoad(): Returning CS8900 Device Name
string...
0x1ffdf8(tRootTask): 	  csParser() : IOAddr=0x300 , IntLevel=0X6,
IntVect=0X6,
					MemBase=0X1000 , MediaType=3, ConfigFlag=0X8010

0x1ffdf8 (): task deadcsInitRxBuff: Unit=0 Memory unavailable.
memalign() Failed!
0x1ffdf8 (): task deadcsEndLoad: CS_END_DEVICE 0 Can not allocate
receive buffers
0x1ffdf8 (): task deadmuxLoad failed!

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

Newsgroups: comp.os.vxworks
Subject: Ethernet packet Tran/recv
Date: 16 Jul 2002 20:18:43 -0700
From: ward@fhn.com.cn (ward)
Organization: http://groups.google.com/
Message-ID: <2f604c7e.0207161918.477ef70c@posting.google.com>

Hello all,
I am trying to improve the performance of our stack which is based on
the Vxworks 5.4 and PPC860t. We have 2 interfaces,one is cpm of 10M
and the other is motfec of 100M.

I use the etherInputHookAdd()to receive all the ethernet frame from
vxworks and return TRUE. After processing the packet by our stack, it
is sent by calling the etherOutput().

In normal load, everything is ok. But when the load is heavy, problems
occurs with the motfec interface. It can receive packets from outside
to our router but we can't receive packets sent from the 100M
interface. And the etherOutput()doesn't return error. At the same time
cpm interface is ok for tran/recv.

So I just can test the router with smartbits in this direction as
below:

packet in   |----------|    packet out
- ----------->|100M---10M|------>
            |----------|

On the other hand, the driver and BSP is the same as  I used to test
the VxWorks stack. Everything is ok in any load!

Did anyone have the same experience with it? If so, please give me
some advices to solve the problem.

Thanks in advance!

Best regards,
ward

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

Newsgroups: comp.arch.embedded,comp.os.linux.powerpc,comp.os.vxworks,comp.sys.powerpc.tech
Subject: Re: MPC7400, L2 Cache, Copy back Data and instruction enable.
Date: Wed, 17 Jul 2002 03:30:03 GMT
From: "Gary Milliorn" <gmilliorn@austin.rr.com>
Organization: Road Runner - Texas
Message-ID: <%w5Z8.25195$88.565571@twister.austin.rr.com>
References: <ah114v$mg5$1@news.inter.net.il>

"Rami Gideoni" <rgideoni@rugged.com> wrote in message
news:ah114v$mg5$1@news.inter.net.il...
> Hi,
>
> I'm attempting for some time know to activate the MPC7400 L2 cache in copy
> back mode. (both instruction and data enabled)

  Unless you set L2_IO or L2_DO (instruction only or data only,
respectively),
it is inherently enabled for both.

> Currently L2 cache set to write through mode works just fine -- but the
> performance ....

  Don't set the L2WT bit.  That's all there is to it.

  Are your BATs or page tables set to WT (WIMG=1xxx)?  If so, you're
probably facing a coherency issue not resolved by your hardware and/or
software setup.  If the MMU has to be in WT mode, you need to address
that first.  If not, changing the L2 to CB should be no problem.

> (I know that because we have parallel design which is different only in
the
> core -- IBM PPC750 500 MHz and switching from write through to copy back
> made wonders from the performance aspect)
>
> I did some investigation and figure out that Motorola computer group
> MVME5100, which also uses MPC7400 set L2 cache to write through mode
>
> and Galileo do the same.
>
> Our board use's MPC106 PCI bridge and system controller (legacy design).

  External hardware is pretty much irrelevant to the L2 WT/CB mode, except
as noted above.  MPC106, MPC107, GT or Hawk, they need to snoop and
broadcast, unless you plan to manage it yourself, somehow (feh).

Gary Milliorn

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

Newsgroups: comp.os.vxworks
Subject: tcp latency
Date: 16 Jul 2002 20:54:26 -0700
From: lin_mu@hotmail.com (Forest)
Organization: http://groups.google.com/
Message-ID: <f92014ed.0207161954.2a145f10@posting.google.com>

Hi, All:

I have two PPC603 running Vxworks 5.3.1, they both connect to a
solaris host using fast ether net (100 BASE-T), the cable is leen than
20 feet.

The two PPCs run the same code, each has a task to poll a tcp socket
and the host sends packets to them simultaneously ( less than 0.01
sec) from time to time. The packets are very small, usually 4 bytes.
However, the PPCs receive the packet at a time difference larger than
0.5 sec.
The clock of PPCs are synchronized by a sync card.

I don't expect the tcp latency be so large, any suggestion will be
appreciated.

Regards

LM

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

Newsgroups: comp.os.vxworks
Subject: Re: Why vxWorks reboot error?
Date: Wed, 17 Jul 2002 04:20:17 GMT
From: "H. E. Taylor" <het@despam.autobahn.mb.ca>
Organization: MTS Internet
Message-ID: <3D350AFB.1444@despam.autobahn.mb.ca>
References: <86bb1c72.0207152226.3b774c83@posting.google.com> <86bb1c72.0207161804.83ea0ed@posting.google.com>

In article <86bb1c72.0207161804.83ea0ed@posting.google.com>,
<westwoods.l@163.net> westwoods wrote:
>[...] 
> But when the vxWorks "reboot", it notices
> me that "muxDevLoad failed..", My problem is why my END can
> "muxDevLoad" and runs ok in the bootrom, but "muxDevLoad" failed when
> the vxWorks "reboot" in my RAM?
>

	I do not have the immediate solution to your problem,
	but I wanted to point out that you have the source for
	this reboot code.  It is idiosyncratic and does stuff like
	jumping to labels you have to figure out, but when I had
	similar sorts of problems on a different board, I found that
	adding some ifdeffed debug statements which printed the
	errno helped. 

>[...] 
>

<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: GCC for PowerPC bug
Date: Wed, 17 Jul 2002 04:56:10 GMT
From: bill@qswtools.com
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <KN6Z8.26128$A43.2597417@newsread2.prod.itd.earthlink.net>
References: <3D119749.C0F892F8@sepro-robotique.com>
    <20020622220547405+0100@clarity.daystar.local>
    <u1mz9umg.fsf@email.mot.com>
Sender: bill@woola.qswtools.com

In article <u1mz9umg.fsf@email.mot.com>,
	Damien Kick <dkick1@email.mot.com> writes:
> Alastair J. Houghton <ajhoughton@lineone.net> writes:
> 
I *definitely* don't recommend using that old a GNU toolchain
for C++ work, especially work involving IOstreams or templates.
I recommend either the "Tornado 2.1 for Altivec" tools or the
soon-to-be-released Tornado 2.2 for PPC tools.  At least two
major thread-safety problems like the one you cite below have
been fixed in the 2.2 release.  Unfortunately, I am at home and
can't quote you the problem report numbers...

>> In <3D119749.C0F892F8@sepro-robotique.com> Emmanuel Herbreteau
>> wrote: 
>> > ( gcc driver version cygnus-2.7.2-960126 egcs-971225 tornado 2.0
>> > executing gcc version cygnus-2.7.2-960126 )
> 
> I am a vxWorks newbie just starting work on a project using the same
> version of Tornado/GCC.  Before starting work on the current vxWorks
> project, I was working on another project targeted for LynxOS, using a
> version of the gcc-2.7.x line, as well as for Solaris, using
> gcc-2.8.1.  We experienced problems with gcc-2.7.x and gcc-2.8.1 on
> these platforms.  In particular, one problem that caused us quite a
> bit of heartburn was related to using an 'ofstream' in a
> multi-threaded application
> <http://gcc.gnu.org/ml/libstdc++/2001-10/msg00065.html>.
> 
>> Your best bet is to upgrade to Tornado 2.1, which uses a much newer
>> version of GCC (based on version 2.95.3) that has fewer bugs as well
>> as a better optimiser (and support for Altivec if you want it);
>> [...]
> 
> Now, from what I understand of GCC as relased by <http://gcc.gnu.org>,
> the C++ Standard Library shipped with 2.95.3 is "buggy as freak"
> <http://gcc.gnu.org/ml/libstdc++/2001-11/msg00074.html>.  Again,
> AFAIK, the problem I observed in 'libstdc++-2.8.1'
> <http://gcc.gnu.org/ml/libstdc++/2001-11/msg00074.html> remained
> unfixed in 2.95.3, as I was not the only person to report this problem
> <http://gcc.gnu.org/ml/libstdc++/2001-11/msg00071.html>, and that
> thread-safety has not been properly addressed in 'libstdc++' until the
> 'gcc-3.x' timeframe.  Now, I'm assuming that what is true with regard
> to 'gcc-2.95.3' <http://gcc.gnu.org/gcc-2.95/> is also true with
> regard to Tornado 2.1.  Am I mistaken is this assumption and, if I am,
> then how can I learn what patches have been applied to the GCC variant
> shipped with a particular version of Tornado so that I know what to
> expect from the compiler?

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

Newsgroups: comp.os.vxworks
Subject: usrLoadSym changes
Date: Wed, 17 Jul 2002 05:04:59 GMT
From: Jeff Vickers <jeffvickers@cfl.rr.deletethis.com>
Organization: RoadRunner - Central Florida
Message-ID: <%V6Z8.62672$XH.1447016@twister.tampabay.rr.com>

I'm having trouble changing usrLoadSym.c.  I've added a new boot device and 
am trying to change the path that vxWorks looks for the symbol table. 
However, it seems that no changes I make to usrLoadSym.c are getting built 
into the kernal.
 
Even if I make a trivial change, such as changing the "Loading tymbol 
table" text , it doesn't affect the vxWorks boot.  I know that the code is 
getting compiled because I can insert errors and the compiler catches them.
 
There are two copies of usrLoadSym.c under my Tornado directory.  I'm 
pretty sure that I'm making changes to the right one, however, I've made 
changes to both and it still doesn't work.
 
The only file on my entire drive that contains the words "Loading symbol
table" is usrLoadSym.c.  Why are my changes not working?
 
Any ideas?
 
 
Thanks,
     Jeff Vickers

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

Newsgroups: comp.os.vxworks
Subject: use java on vxWorks 5.4
Date: 16 Jul 2002 22:28:13 -0700
From: shengb@ssrc.ac.cn (guobao shen)
Organization: http://groups.google.com/
Message-ID: <e56229a1.0207162128.6eacfa5b@posting.google.com>

Hello, everyone,
I want to use java on vxWorks5.4.
Host is SUN Ultra10/Solaris2.7 SPARC,target is PC pentium.
I have downloaded j2me_cdc-1_0-fcs-src-ar-22_Jan_2001.zip,
and compile as ~/doc/guide/build.html, after make 
download_image, I download the vxWorks image to target.

and then I download the ~/build/vxworks/target/PC-boot/cvm.o
to target, but there are two errors:
undefined symbol: ___divdi3
undefined symbol: ___moddi3

Does any body give me any advise?

Thanks and Regards,
guobao shen

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

Newsgroups: comp.os.vxworks
Subject: Re: usrLoadSym changes
Date: Wed, 17 Jul 2002 05:48:39 GMT
From: "John Kevin Fabiani" <nospam@nospam.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <Xy7Z8.1602$9J3.43721849@newssvr15.news.prodigy.com>
References: <%V6Z8.62672$XH.1447016@twister.tampabay.rr.com>

For Tornado 2.0:

Images built from the BSP directory via the command line
will use $WIND_BASE/target/src/config/usrLoadSym.c

Images built from the project facility via the Tornado IDE
will use $WIND_BASE/target/config/comps/src/usrLoadSym.c

Could that be the issue?

- -j

"Jeff Vickers" <jeffvickers@cfl.rr.deletethis.com> wrote in message
news:%V6Z8.62672$XH.1447016@twister.tampabay.rr.com...
> I'm having trouble changing usrLoadSym.c.  I've added a new boot device
and
> am trying to change the path that vxWorks looks for the symbol table.
> However, it seems that no changes I make to usrLoadSym.c are getting built
> into the kernal.
>
> Even if I make a trivial change, such as changing the "Loading tymbol
> table" text , it doesn't affect the vxWorks boot.  I know that the code is
> getting compiled because I can insert errors and the compiler catches
them.
>
> There are two copies of usrLoadSym.c under my Tornado directory.  I'm
> pretty sure that I'm making changes to the right one, however, I've made
> changes to both and it still doesn't work.
>
> The only file on my entire drive that contains the words "Loading symbol
> table" is usrLoadSym.c.  Why are my changes not working?
>
> Any ideas?
>
>
> Thanks,
>      Jeff Vickers

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

Newsgroups: comp.os.vxworks
Subject: Re: use java on vxWorks 5.4
Date: Wed, 17 Jul 2002 05:50:14 GMT
From: "John Kevin Fabiani" <nospam@nospam.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <qA7Z8.1603$Mz3.43223575@newssvr15.news.prodigy.com>
References: <e56229a1.0207162128.6eacfa5b@posting.google.com>

Those are GNU 64 bit functions.
Add libgcc.a for your arch to the link line.

"guobao shen" <shengb@ssrc.ac.cn> wrote in message
news:e56229a1.0207162128.6eacfa5b@posting.google.com...
> Hello, everyone,
> I want to use java on vxWorks5.4.
> Host is SUN Ultra10/Solaris2.7 SPARC,target is PC pentium.
> I have downloaded j2me_cdc-1_0-fcs-src-ar-22_Jan_2001.zip,
> and compile as ~/doc/guide/build.html, after make
> download_image, I download the vxWorks image to target.
>
> and then I download the ~/build/vxworks/target/PC-boot/cvm.o
> to target, but there are two errors:
> undefined symbol: ___divdi3
> undefined symbol: ___moddi3
>
> Does any body give me any advise?
>
> Thanks and Regards,
> guobao shen
>

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

Newsgroups: comp.os.vxworks
Subject: Without suitable L2/3 hardware,How can I debug stp?
Date: 16 Jul 2002 23:58:22 -0700
From: carmenlly@163.net (hf)
Organization: http://groups.google.com/
Message-ID: <ac57d154.0207162258.56f98c3@posting.google.com>

hello,Vxworks World.I have a question about debug.I have source code
of stp(tms),but our L2/3 board will be made in next month. Now we only
have a board with a CPU,how can i debug stp?

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

Newsgroups: comp.os.vxworks
Subject: Re: Check sum Error!------ Who can help me?
Date: Wed, 17 Jul 2002 14:57:50 +0800
From: "degang" <wdg@bjhhl.sina.net>
Organization: Bentium Ltd. (CN99)
Message-ID: <ah34kc$1c6u$1@mail.cn99.com>
References: <e82d8e83.0207142205.33a063a2@posting.google.com>

i have the same problem; i don't know how either

"seasoblue" <seasoblue2000@yahoo.com.cn>
??????:e82d8e83.0207142205.33a063a2@posting.google.com...
> Hi,all
>   A trouble always troubles me.My debug enviroment includes tornadoII,
> and Samsung snds100 board which with a arm7tdmi kernel inside.
>
>   I have finished connecting target board with my tornadoII,but afer I
> start up my target server,I get warning messages:
>
>     "TGTSVR (arm@seasoblue): Mon Jul 15 13:41:11 2002
>     Wind River Systems Target Server: NT/Win95 version
>     Connecting to target agent... succeeded.
>     Attaching C++ interface... succeeded.
>     Attaching coff OMF reader for ARM CPU family... succeeded.
>     Warning: Target checksum: 0xdb3d (computed from 0x1000 to
> 0x81114).
>              Host checksum: 0xe96a (computed from 0x69c970 to
> 0x71ca84).
>     Warning: Core file checksums do not match."
>
> oh,it tells me:checksums do not match! But my target and host do use
> the SAME core file(vxwork image) in the SAME directory!
>   Could  anybody give me a hint that how to configure my target server
> to solve this problem?
>   Please give an example in detail ,thanks a  lot !

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

Newsgroups: comp.os.vxworks
Subject: Memory fragmention
Date: 17 Jul 2002 00:39:55 -0700
From: hotJacky@163.net (Bryan)
Organization: http://groups.google.com/
Message-ID: <8f77d4a.0207162339.59ab7f6d@posting.google.com>

There have been a lot of discussion about memory fragmention.I have
some question:
1&#12289;Who can give me a really example about memory fragmention?I
don't need the theoretic example.
2&#12289;It seems that memory fragmention is unavoidable if we use
malloc/free provided by VxWorks(first-fit),doesn't it?
3&#12289;There may be a good way to avoid memory fragmention.We
allocate a big block memory,then subdivide the block with several
queue,each queue composes of same size memory bit.When allocate a
memory,we find the most appropriate queue,then obtain the head of the
queue to give the applicant.This way avoids use malloc/free
function,so meet the demand of the realtime and avoids memory
fragmention.

Best regards
Bryan

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

Newsgroups: comp.os.vxworks
Subject: Re: tcp latency
Date: Wed, 17 Jul 2002 09:49:25 +0100
From: molochai <molochai@cybermuppet.co.uk>
Organization: Griffin Internet - http://www.griffin.net.uk
Message-ID: <l2b3ha.c2i.ln@gonzo.cybermuppet.co.uk>
References: <f92014ed.0207161954.2a145f10@posting.google.com>

Forest wrote:

> Hi, All:
> 
> I have two PPC603 running Vxworks 5.3.1, they both connect to a
> solaris host using fast ether net (100 BASE-T), the cable is leen than
> 20 feet.
> 
> The two PPCs run the same code, each has a task to poll a tcp socket

Are you really polling the sockets or using blocking socket calls?

> and the host sends packets to them simultaneously ( less than 0.01
> sec) from time to time. The packets are very small, usually 4 bytes.
> However, the PPCs receive the packet at a time difference larger than
> 0.5 sec.
> The clock of PPCs are synchronized by a sync card.

I'd have a look at task priorities on the systems - in particular tNetTask 
and your communications tasks.

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

Newsgroups: comp.os.vxworks
Subject: is msgQSend in Vxworks an atomic function ??
Date: 17 Jul 2002 02:54:12 -0700
From: godha_rohit@yahoo.com (Rohit)
Organization: http://groups.google.com/
Message-ID: <33cac97f.0207170154.1b76608a@posting.google.com>

Hi all,

 Can i use Vxworks msgQSend function in a reentrant routine? 

Thanks in advance for all the help.

Regards,
Rohit.

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

Newsgroups: comp.os.vxworks
Subject: Re: Check sum Error!------ Who can help me?
Date: 17 Jul 2002 03:01:27 -0700
From: seasoblue2000@yahoo.com.cn (seasoblue)
Organization: http://groups.google.com/
Message-ID: <e82d8e83.0207170201.49dd6680@posting.google.com>
References: <e82d8e83.0207142205.33a063a2@posting.google.com> <3D330494.18036B84@email.mot.com>

Jankesh, 
I just use "vxworks" image,not "vxworks_rom" or"vxworks_romCompress". 

Johan,
I config the core file in target
server:"D:\Tornado\target\config\santai\vxWorks",and symbols:"Global
symbols".In config.h file,I config the default line like this
:"#define DEFAULT_BOOT_LINE \
  "secEnd(0,0)aman:/tornado/target/config/santai/vxWorks
h=192.168.0.110 e=192.168.0.221 u=hugh pw=0000 tn=snds100",
  there is only a tornado install directory in my PC,so the core file
in target and host is same.
 
 Maybe What Leonid Rosenboim said is right.But would you give me and
other newbie a detail explain?
Best Regards,
     seasoblue

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

Newsgroups: comp.os.vxworks
Subject: Re: is msgQSend in Vxworks an atomic function ??
Date: Wed, 17 Jul 2002 12:51:22 +0200
From: "Michael Lawnick" <lawnick@bndlg.de>
Organization: Buergernetz Dillingen
Message-ID: <ah3i6i$cud$1@snoopy.bndlg.de>
References: <33cac97f.0207170154.1b76608a@posting.google.com>
Sender: mlawnick@p5088f499.dip.t-dialin.net

"Rohit" <godha_rohit@yahoo.com> schrieb im Newsbeitrag
news:33cac97f.0207170154.1b76608a@posting.google.com...
> Hi all,
>
>  Can i use Vxworks msgQSend function in a reentrant routine?
>
> Thanks in advance for all the help.
>
> Regards,
> Rohit.

Yes

Regards,.
Michael

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

Newsgroups: comp.os.vxworks
Subject: Help ! tNetTask Debug Problem
Date: 17 Jul 2002 03:57:05 -0700
From: chwin@china.com (Adom)
Organization: http://groups.google.com/
Message-ID: <92dbccc1.0207170257.68046e06@posting.google.com>

Hi,

  i use serial port to debug net task on pentium platform,

  i canceled the net task unbreakable property
  but when i beging to debug and attach tNetTask, after stepping 
  serval times, the message ,"WARNING:Program received Page Fault" ,
 jumped in Tornado. And the debug session stoped

 I reinstall Tornado but it is also.

 Can anyone help me?
 Thanks!

                          Adom
                          leadit@hotmail.com

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

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

From vxwexplo-errs@csg.lbl.gov  Wed Jul 17 05:59:30 2002
From: Wu@mosaid.com
Date: Wed Jul 17 05:59:32 PDT 2002
Subject: burst mode write for Intel pentium II/III

vxWorks/Tornado,

I have a device connected to a standard PC platform memory controller. I
want to enable burst mode write for this device. I guess in this case CACHE
has to be enabled, but I'm not quite sure the command to enable the burst
mode write. WBINVD could be the one but I'm not sure. Does anyone has
experience with it? The OS could be windows or vxWorks.

Thank you

Huang

From vxwexplo-errs@csg.lbl.gov  Wed Jul 17 06:01:14 2002
From: Wu@mosaid.com
Date: Wed Jul 17 06:01:16 PDT 2002
Subject: Burst mode write enable in Intel pentium II/III

vxWorks/Tornado,

I have a device connected to a standard PC platform memory controller. I
want to enable burst mode write for this device. I guess in this case CACHE
has to be enabled, but I'm not quite sure the command to enable the burst
mode write. WBINVD could be the one but I'm not sure. Does anyone has
experience with it? The OS could be windows or vxWorks.

Thank you

Huang

From vxwexplo-errs@csg.lbl.gov  Wed Jul 17 10:49:42 2002
From: Doug Owens <owens2@llnl.gov>
Date: Wed Jul 17 10:49:44 PDT 2002
Subject: MVME 5110 Memory Size

I am trying to get VxWorks (5.4) started on an MVME 5110 with 512M of RAM.
I have managed to boot the board but I can't use ld to load any 
applications because
it complains about offsets larger than can be covered in 24 bits.  What's the
best way around this?

Thanks,
Doug Owens
owens2@llnl.gov

From vxwexplo-errs@csg.lbl.gov  Wed Jul 17 15:09:14 2002
From: Kevin Tsubota <ktsubota@keck.hawaii.edu>
Date: Wed Jul 17 15:09:16 PDT 2002
Subject: block memory transfers

Hi,

Can anyone point me to the right documentation for implementing / using
block transfers
from an external memory card into local memory for processing.  Is it even
possible? 
So far I've been unsuccessful in finding this information.

We're running VxWorks 5.3.1 on and MVME-2304 processor and need to transfer
~8MB of data.

Thanks in advance.

Kevin Tsubota
W.M. Keck Observatory
(808)885-7887

From vxwexplo-errs@csg.lbl.gov  Thu Jul 18 04:03:17 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Thu Jul 18 04:03:20 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Thu Jul 18 04:03:13 PDT 2002

        Subject: Re: Memory fragmention
        Subject: FEI Drivers and 82559 Chip
        Subject: Re: Memory fragmention
        Subject: Re: Help ! tNetTask Debug Problem
        Subject: Re: GCC for PowerPC bug
        Subject: Re: Why vxWorks reboot error?
        Subject: Re: Help ! tNetTask Debug Problem
        Subject: tffsDevCreate() problems
        Subject: Re: Tornado 2 On Windows XP
        Subject: DHCP binding
        Subject: Re: tffsDevCreate() problems
        Subject: Re: tcp latency
        Subject: How to setup SNTP
        Subject: Re: Help ! tNetTask Debug Problem
        Subject: Re: FEI Drivers and 82559 Chip
        Subject: Re: POP3
        Subject: Re: use java on vxWorks 5.4
        Subject: use java on vxWorks 5.4
        Subject: Re: Application initialization.
        Subject: Debug Info
        Subject: Re: use java on vxWorks 5.4
        Subject: Re: Untangling Includes
        Subject: Re: Debug Info
        Subject: Re: Why vxWorks reboot error?
        Subject: Re: Executing shell scripts inside a program.
        Subject: Re: Check sum Error!------ Who can help me?
        Subject: VxWorks file system performances
        Subject: Re: Check sum Error!------ Who can help me?
        Subject: Re: DHCP binding
        Subject: Re: Why vxWorks reboot error?
        Subject: Re: Untangling Includes
        Subject: Windview uninstallation
        Subject: Re: wind semaphores

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

Newsgroups: comp.os.vxworks
Subject: Re: Memory fragmention
Date: Wed, 17 Jul 2002 11:26:41 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3D3554E3.9020708@spamm.me.l8s.co.uk>
References: <8f77d4a.0207162339.59ab7f6d@posting.google.com>

I presume you mean 'excessive' fragmentation....

> 1&#12289;Who can give me a really example about memory fragmention?I
> don't need the theoretic example.

Try getting pjava running - even WRS used a different allocator
for their stormpad(?) 'product'.

Do a memShow(1) on a vxworks target and see how many relatively
small free blocks there are.
Replace memPartAlignedAlloc() with a version that does 'best fit',
get the system into the same state run memShow(1) again and notice
how much shorter the free list is.

> 2&#12289;It seems that memory fragmention is unavoidable if we use
> malloc/free provided by VxWorks(first-fit),doesn't it?

If your application is 'big' enough that allocater is designed
to fragment memory.

> 3&#12289;There may be a good way to avoid memory fragmention.We
> allocate a big block memory,then subdivide the block with several
> queue,each queue composes of same size memory bit.When allocate a
> memory,we find the most appropriate queue,then obtain the head of the
> queue to give the applicant.This way avoids use malloc/free
> function,so meet the demand of the realtime and avoids memory
> fragmention.

That avoids some of the fragmentation issues, but is nothing like
as memory efficient.  On a finite sized system you have to worry
about releasing 'pages' back to the system.  It also suffers from
having one allocated block left in an otherwise empty page a
fragmentation problem of a slightly different type.

	David

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

Newsgroups: comp.os.vxworks
Subject: FEI Drivers and 82559 Chip
Date: 17 Jul 2002 04:39:17 -0700
From: andy_kirby@instron.com (Andrew Kirby)
Organization: http://groups.google.com/
Message-ID: <6c46b6cc.0207170339.11cfc361@posting.google.com>

My System has an 82559 built in to the system board. Trying to use the
(patched) FEI END Driver from Windriver results in failure - when the
chip is detected on the PCI Bus the driver does a checksum, which
fails, and the driver bombs out.

I got the Intel eeV End driver from their website and found that it
works to a point, but causes tNetTask to crash periodically with Page
Faults and occasionally the screen gets garbled - even if the box is
sat doing nothing. If I unplug the network cable, it seems to run
indefinately, but some network traffic must be stuffing the driver.

So... Where do I go from here... Windriver and Intel are not being
helpful about this. Does anyone have a fix for the checksum problem
with Windriver's driver or a fix for the page faulting Intel Driver?

Many Thanks

Andy

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

Newsgroups: comp.os.vxworks
Subject: Re: Memory fragmention
Date: Wed, 17 Jul 2002 09:19:17 -0400
From: Keith Arner <karner@pit.comms.marconi.com>
Organization: Marconi
Message-ID: <Pine.GSO.4.42.0207170910580.29133-100000@zimbra>
References: <8f77d4a.0207162339.59ab7f6d@posting.google.com>
Reply-To: Keith Arner <keith.arner@marconi.com>

On 17 Jul 2002, Bryan wrote:

> There have been a lot of discussion about memory fragmention.I have
> some question:
> 1&#12289;Who can give me a really example about memory fragmention?I
> don't need the theoretic example.
> 2&#12289;It seems that memory fragmention is unavoidable if we use
> malloc/free provided by VxWorks(first-fit),doesn't it?

I will take that statement one step further: memory fragmentation is
unavoidable.  Reguardless of your allocation strategy, you will always end
up with some amount of fragmentation (except in extreemly specific, and
probably unrealistic applications).  The real question is whether your
allocation strategy is appropriate for your application.

> 3&#12289;There may be a good way to avoid memory fragmention.We
> allocate a big block memory,then subdivide the block with several
> queue,each queue composes of same size memory bit.When allocate a
> memory,we find the most appropriate queue,then obtain the head of the
> queue to give the applicant.This way avoids use malloc/free
> function,so meet the demand of the realtime and avoids memory
> fragmention.

Let's consider a concrete example of this.  You have a queue for objects
of size 4 and another queue for objects of size 8.  At some point, you
have 10 elements in the "size 4" list, and 10 elements in the "size 8"
list.  Allocate 10 objects of size 8.  If you attempt to allocate another
object of size 8, the allocation will fail, despite the fact that you have
40 bytes of memory available.  You've just run into memory fragmentation.

Keith

- -- 
mv ~karner /loony/bin

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

Newsgroups: comp.os.vxworks
Subject: Re: Help ! tNetTask Debug Problem
Date: 17 Jul 2002 06:41:45 -0700
From: vijay.peshkar@wipro.com (Vijay Peshkar)
Organization: http://groups.google.com/
Message-ID: <bb8c75e1.0207170541.3b595637@posting.google.com>
References: <92dbccc1.0207170257.68046e06@posting.google.com>

Hi,

Do removing unbreakable option and debugging from target shell.

Regards,
Vijay

chwin@china.com (Adom) wrote in message news:<92dbccc1.0207170257.68046e06@posting.google.com>...
> Hi,
> 
>   i use serial port to debug net task on pentium platform,
> 
>   i canceled the net task unbreakable property
>   but when i beging to debug and attach tNetTask, after stepping 
>   serval times, the message ,"WARNING:Program received Page Fault" ,
>  jumped in Tornado. And the debug session stoped
> 
>  I reinstall Tornado but it is also.
> 
>  Can anyone help me?
>  Thanks!
> 
>                           Adom
>                           leadit@hotmail.com

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

Newsgroups: comp.os.vxworks
Subject: Re: GCC for PowerPC bug
Date: 17 Jul 2002 10:58:00 -0500
From: Damien Kick <dkick1@email.mot.com>
Organization: OneIT Directory Services News Site
Message-ID: <ptxm9wjb.fsf@email.mot.com>
References: <3D119749.C0F892F8@sepro-robotique.com> <20020622220547405+0100@clarity.daystar.local> <u1mz9umg.fsf@email.mot.com> <KN6Z8.26128$A43.2597417@newsread2.prod.itd.earthlink.net>
Sender: DKICK1@IL27-5850

bill@qswtools.com writes:

> At least two major thread-safety problems like the one you cite
> below have been fixed in the 2.2 release.  Unfortunately, I am at
> home and can't quote you the problem report numbers...

If you would be able to send information on the problem report
numbers, I would be extremely grateful.

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

Newsgroups: comp.os.vxworks
Subject: Re: Why vxWorks reboot error?
Date: 17 Jul 2002 09:47:27 -0700
From: vloscomp@yahoo.com (Vinh)
Organization: http://groups.google.com/
Message-ID: <c129947c.0207170847.16a9024a@posting.google.com>
References: <86bb1c72.0207152226.3b774c83@posting.google.com> <86bb1c72.0207161804.83ea0ed@posting.google.com>

westwoods.l@163.net (westwoods) wrote in message news:<86bb1c72.0207161804.83ea0ed@posting.google.com>...
> hello, vxWorks world! I am sorry that I could not express my problem
> clear to you yesterday, now I post it again here, and sincerely
> waiting for your help!
> 
>     My board is an 850 based platform running (at present) a bootrom
> version of vxWorks 5.4. Build environment is T2 with gnu compiler. In
> my board, besides SCC2 is connected to ethernet via LXT905, I extend
> two ethernet interface with CS8900 ethernet controller. Now the SCC2
> runs OK, However when only one CS8900 is included in the system &#8212;&#8212; of
> course it is used as netWork boot interface.
> 
>    Judged from the information in the console and the FTP window, I
> think that the bootrom is ok and the vxWorks image has been downloaded
> into my board successfully. But when the vxWorks "reboot", it notices
> me that "muxDevLoad failed..", My problem is why my END can
> "muxDevLoad" and runs ok in the bootrom, but "muxDevLoad" failed when
> the vxWorks "reboot" in my RAM?
>   
>    The following is my console information, I hope it will make you
> clear my problem. Thanks a lot.
> 
>               VxWorks System Boot
> 
> 
> Copyright 1984-1998  Wind River Systems, Inc.
> 
> CPU: 850 -- Mini PowerPC
> Version: 5.4
> BSP version: 1.2/3
> Creation date: Jul 16 2002, 18:05:47
> 
> Press any key to stop auto-boot...
>  0
> auto-booting...
> 
> boot device          : cs
> unit number          : 0
> processor number     : 0
> host name            : westwoods
> file name            : vxWorks
> inet on ethernet (e) : 192.168.0.76
> host inet (h)        : 192.168.0.27
> gateway inet (g)     : 192.168.0.100
> user (u)             : user
> ftp password (pw)    : user
> flags (f)            : 0x8
> target name (tn)     : test8900
> 
> 0x3dcca0 (tBoot): csStart: unit=0, Initializing interface
> 0x3dcca0 (tBoot): csConfig() Setting promiscuous mode off!
> 0x3dcca0 (tBoot): csConfig() Setting promiscuous mode off!
> Attached TCP/IP interface to cs0.
> 0x3dcca0 (tBoot): csMCastAdd(): Add Ethernet Multicast Address:
> ff.ff.ff.ff.ff.ff
> 0x3dcca0 (tBoot): csConfig() Setting promiscuous mode off!
> Attaching network interface lo0... done.
> Loading... 765896
> 
> interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
> interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
> interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
> interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
> interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
> interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
> interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
> 
> Starting at 0x100038...

   FTP has completed transfering the binary images.
> 
> 0x3dcca0 (tBoot): csStop(): unit=0, The CS8900 device has been
> stopped.
> muxDevLoad failed for device entry 0!
> Could not find cs0

   I think you have a problem re-initializing the device driver.
   The only suggestion i have here is look into 'bootCmdLoop' function 
   and track down what happen. 'tBoot' task is 'bootCmdLoop' function.
   I believed you are still in the boot-rom code.

> Attaching interface lo0...done
> Error setting inet address of lo0 to 127.0.0.1, errno = 0x37

   VxWorks tried to load another device and failed. 

> telnetInit: unable to spawn telnetd.
> wdbConfig: error configuring WDB communication interface
> 
> 
>  ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
>  ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
>  ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
>  ]]]]]]]]]]]  ]]]]     ]]]]]]]]]]       ]]              ]]]]        
> (R)
>  ]     ]]]]]]]]]  ]]]]]]     ]]]]]]]]       
> 
> 0x1ffdf8  (tRootTask): 	    panic: no memory clusters
> 0x1ffdf8  (tRootTask):      panic: mbinit  
> 0x1ffdf8  (tRootTask):      panic: rn_init
> 
> ]] ]]]]] ]]]]]] ]] ]]]]]]] ]]]] ]]   ]]]]]]]]]     ]  ]]]]     ]]]]]
> ]]]]]]  ]    ]]]   ]]]]]] ]]]]]]]] ]]]]    
> ]]]]]]]]]]]]  ]]]]]  ]]]    ]]]]]]] ]  ]]]
> 
> 0x1ffdf8(tRootTask):   csEndLoad() : Returning CS8900 Device Name
> string...
> 0x1ffdf8(tRootTask):   csParser()  : IOAddr=0X300, IntLevel=0X6 ,
> IntVect=0X6 ,
> 				 MemBase=0X1000 , MediaType=3, ConfigFlag=0X8010
> 0x1ffdf8(tRootTask):   csInitRxBuff: Unit=0 Memory unavailable.
> memalign() Failed!
> 0x1ffdf8(tRootTask):   csEndLoad   : CS_END_DEVICE  0 Can not allocate
> receive buffers
> 
> ]]]]  ]]]]    ]]]]  ]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]
> ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
>        
> Development System VxWorks version5.4
> KERNEL: WIND version 2.5 Copyright Wind River Systems, Inc., 1984-1999
> cCPU:823/850 -- Mini PowerPC.  Processor #0.BSP version 1.2/3. .
> MemorySize: 0X200000 
> WDB: Agent configuration failed.
> 
> ]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
> ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]] 
> 
> 0x1ffdf8(tRootTask):      csEndLoad(): Returning CS8900 Device Name
> string...
> 0x1ffdf8(tRootTask): 	  csParser() : IOAddr=0x300 , IntLevel=0X6,
> IntVect=0X6,
> 					MemBase=0X1000 , MediaType=3, ConfigFlag=0X8010
> 
> 0x1ffdf8 (): task deadcsInitRxBuff: Unit=0 Memory unavailable.
> memalign() Failed!
> 0x1ffdf8 (): task deadcsEndLoad: CS_END_DEVICE 0 Can not allocate
> receive buffers
> 0x1ffdf8 (): task deadmuxLoad failed!

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

Newsgroups: comp.os.vxworks
Subject: Re: Help ! tNetTask Debug Problem
Date: Wed, 17 Jul 2002 19:27:09 +0200
From: "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM>
Organization: Verio
Message-ID: <newscache$73pezg$4k7$1@lnews.actcom.co.il>
References: <92dbccc1.0207170257.68046e06@posting.google.com>

Adom (means Red (the collor red) in Hebrew ;-) )

You have cut the branch you where sitting on.

I asusme your host -to- target connection is Ethernet, by stopping tNetTask,
you essentially disabled your target communications, so the host can not
communicate with teh target after tNetTask was attached to the debugger, and
thence suspended.

The easiest thing to do, is either use a Serial target connection instead
(see Tornado manual), or set the debug mode to "SYSTEM" or "EXTERNAL" debug
mode, this can be done from debugger by duing

  attach system

then tNetTask will not be playing a role in your debig connection, althogh
it will still use the same Ethernet hardware and driver.

"Adom" <chwin@china.com> wrote in message
news:92dbccc1.0207170257.68046e06@posting.google.com...
> Hi,
>
>   i use serial port to debug net task on pentium platform,
>
>   i canceled the net task unbreakable property
>   but when i beging to debug and attach tNetTask, after stepping
>   serval times, the message ,"WARNING:Program received Page Fault" ,
>  jumped in Tornado. And the debug session stoped
>
>  I reinstall Tornado but it is also.
>
>  Can anyone help me?
>  Thanks!
>
>                           Adom
>                           leadit@hotmail.com

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

Newsgroups: comp.os.vxworks
Subject: tffsDevCreate() problems
Date: Wed, 17 Jul 2002 17:41:25 GMT
From: "Chad" <ckrueger@NOSPAM.thomsontechnology.com>
Organization: Shaw Residential Internet
Message-ID: <9%hZ8.227$v53.62500@news3.calgary.shaw.ca>

I'm trying to boot my application from flash but have been unable to call a
tffsDevCreate() successfully.  I am able to properly mount the device if I
boot from network, but only if I move the usrTffsConfig() call to later than
I thought it should be.

In the network boot case I am calling in this order when it works:
*********
usrConfig.c->usrRoot()
*********
...
#ifdef INCLUDE_DOSFS
    hashLibInit ();   /* initialize hash table package */
    dosFsInit (NUM_DOSFS_FILES);  /* init dosFs filesystem */
#endif /* INCLUDE_DOSFS */
...
#ifdef INCLUDE_TFFS
tffsDrv()
#endif
...

********
usrAppInit.c->usrAppInit()
********
...
 if (usrTffsConfig (0, 0, "/flash") == ERROR)
 {
        printErr ("usrTffsConfig failed.\n");
 }
  else
 {
  printErr("Flash File System Mounted\n");
 }

********
usrTffs.c->usrTffsConfig()
********

STATUS usrTffsConfig
    (
    int     drive, /* drive number of TFFS */
    int     removable, /* 0 - nonremovable flash media */
    char *  fileName /* mount point */
    )
    {
    BLK_DEV * pBootDev;
    char bootDir [BOOT_FILE_LEN];
    CBIO_DEV_ID cbio_dev = 0;
    STATUS status = -1;

    printErr("Mounting TFFS device at: %s\n",fileName);

 if ((UINT)drive >= noOfDrives)
 {
 printErr ("drive is out of range (0-%d).\n", noOfDrives - 1);
 return (ERROR);
 }

    /* create a block device spanning entire disk (non-distructive!) */

    if ((pBootDev = tffsDevCreate (drive, removable)) == NULL)
 {
        printErr ("tffsDevCreate(%d,%d) failed.\n",drive,removable);
        return (ERROR);
 }
 else
 {
        printErr ("tffsDevCreate(%d,%d) successful.\n",drive,removable);
 }
 cbio_dev = cbioDevVerify(pBootDev, 0);
 if (cbio_dev == 0)
 {
  printf("can't create cbio wrapper: %x\n", errno);
  return (ERROR);
 }

    /* split off boot device from boot file */

    devSplit (fileName, bootDir);

    /* initialize the boot block device as a dosFs device named <bootDir> */

#if 0
    if (dosFsDevInit (bootDir, pBootDev, NULL) == NULL)
 {
        printErr ("dosFsDevInit failed.\n");
        return (ERROR);
 }
#endif
 status = dosFsDevCreate(fileName, cbio_dev, 32, DOS_CHK_REPAIR |
DOS_CHK_VERB_2);
 if (status != 0)
 {
  printf("can't create dosFS device: %x\n", errno);
  return (ERROR);
 }
 else
 {
  printf("dosFS device created.\n", errno);
 }

 return (status);

 .
 .

************

That seems to work fine.. All intended output shows up, the device is
mounted etc.

                 VxWorks

Copyright 1984-1998  Wind River Systems, Inc.

        VxWorks: 5.4.2
    BSP version: 1.2/26
  Creation date: Jul 17 2002
            WDB: Ready.

Mounting TFFS device at: /flash
tffsDevCreate(0,0) successful.
dosFS device created.
Flash File System Mounted
- -> devs
drv name
  0 /null
  1 /tyCo/0
  1 /tyCo/1
  1 /tyCo/2
  5 rnd:
  6 /vio
  7 /tgtsvr
  3 /flash
value = 0 = 0x0

 the wierd thing in the network boot case is that when I call
usrTffsConfig() from usrRoot just after tffsDrv() it does not appear to
work.  In that case it boots up but I have no /flash device nor any output
from any of the code.

- -> devs
drv name
  0 /null
  1 /tyCo/0
  1 /tyCo/1
  1 /tyCo/2
  5 rnd:
  6 /vio
  7 /tgtsvr
value = 0 = 0x0

Can anybody enlighten me as to why I must wait till (much?) after the
tffsDrv() call in usrRoot().   I think this is probably something
fundamental I am missing.

The real problem I have is that when I set my boot device to tffs,
tffsDevCreate() fails.  My boot image is currently 490k and I'm on a powerPC
platform (I believe some people had similar problems with >640k bootroms in
x86)

In the boot from flash case I am calling:

********
bootConfig.c->autoboot()
********
...
 if (bootLoad (BOOT_LINE_ADRS, &entry) == OK)
     go (entry);    /* ... and never return */
 else
     {
     printf ("Can't load boot file!!\n");
     taskDelay (sysClkRateGet ()); /* pause a second */
     reboot (BOOT_NO_AUTOBOOT);  /* something is awry */
     }
 }
...
********
bootConfig.c->bootLoad()
********
...
#ifdef  INCLUDE_TFFS
    if (strncmp (params.bootDev, "tffs", 4) == 0)
 {
 int drive = 0;
 int removable = 0;

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

 /* tffsLoad () should be after pcmciaInit () */

 if (tffsLoad (drive, removable, params.bootFile, pEntry) != OK)
     {
     printErr ("\nError loading file: errno = 0x%x.\n", errno);
     return (ERROR);
     }
...
********
bootConfig.c->tffsLoad()
********
...
 hashLibInit ();   /* initialize hash table package */
                         /* crk - added this because it was called with
dosFsInit() in usrRoot */
                         /*       - failed without this call also */
 dosFsInit (NUM_DOSFS_FILES);        /* initialize DOS-FS */

 if (tffsDrv () != OK)
 {
 printErr ("Could not initialize.\n");
 return (ERROR);
 }
 else
 {
 printErr ("Tffs initialized...\n");
 }

    printf ("Attaching to TFFS... \n");

    if (usrTffsConfig (drive, removable, fileName) == ERROR)
 {
        printErr ("usrTffsConfig(%d,%d,%s)
failed.\n",drive,removable,fileName);
        return (ERROR);
 }
 else
 {
        printErr ("usrTffsConfig(%d,%d,%s)
succeeded.\n",drive,removable,fileName);
 }

    printErr ("done.\n");

    /* load the boot file */

    printErr ("Loading %s...", fileName);

    if ((fd = open (fileName, O_RDONLY, 0)) == ERROR)
 {
        printErr ("\nCannot open \"%s\".\n", fileName);
        return (ERROR);
 }
...

******************

My result is this:

**
boot device          : tffs=0,0
unit number          : 0
processor number     : 0
host name            : rnd
file name            : /flash/vxWorks
inet on ethernet (e) : 192.0.1.90
host inet (h)        : 192.0.1.58
flags (f)            : 0x8
other (o)            : cpm

Tffs initialized...
Attaching to TFFS...
Mounting TFFS device at: /flash/vxWorks
tffsDevCreate(0,0) failed.
usrTffsConfig(0,0,/flash/vxWorks) failed.

Error loading file: errno = 0x0.
**

Has anybody had similar problems and resolved them?

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

Newsgroups: comp.os.vxworks
Subject: Re: Tornado 2 On Windows XP
Date: Wed, 17 Jul 2002 21:41:25 +0200
From: noah <noah@nospam.home>
Organization: Altopia Corp. - Usenet Access - http://www.altopia.com
Message-ID: <c0ibjussm9m43t7ll0o5dgo6k5drmp3ige@4ax.com>
References: <_GYW8.5653$H67.29583@tor-nn1.netcom.ca>

hi john, 

i fear you have to work with win2k or nt, unless you will update to
tornado 2.2, which will be released next month (according to wr).

tornado 2.2 will support windows xp as i've read in an early beta
release.

best regards,
noah

On Wed, 10 Jul 2002 11:47:43 -0400, "John Schreuders"
<john_schreuders@mitel.com> wrote:

>Hey there;
>
>Has anyone ever tried intalling Tornado 2 on a Windows XP machine? Did it
>work?? I tried and got a crazy "Unhandled Exception" message.
>
>I am getting the sinking feeling I am SOL and need to go back to my trusty
>old Windows 2000 setup.
>
>Thanks in advance
>
>John
>

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

Newsgroups: comp.os.vxworks
Subject: DHCP binding
Date: 17 Jul 2002 14:43:09 -0700
From: agraham@openglobe.net (Aaron Graham)
Organization: http://groups.google.com/
Message-ID: <95ebbe31.0207171343.2fbd8a98@posting.google.com>

I'm trying to do asynchronous DHCP binding.  I can do synchronous
binding; everything works fine.  But that's not what I want.  I had
noticed that dhcpcBind takes a parameter that allows the call to be
asynchronous.  I also noticed callback setup functions
dhcpcEventHookAdd() and dhcpcEventHookDelete().

So I set it up.

Unfortunately, when the callback rountines get called, and I try to do
a dhcpcParamsGet(), it tells me that the DHCP is not bound. 
?!@#$!@!?!?

1) How are these callback functions useful, other than to tell you
that a lease is new or invalidated?  I would have liked to use the
callback to get vital networking information for my application,
according to the parameters given to me by the DHCP server.

2) How have other people implemented DHCP network configuration?  The
only thing I can think of is to have the DHCP callback set up a timer
(for, say, 1 second) that calls yet another callback function which
gets the DHCP parameters for the application.  (GAWD!!)

Any help is appreciated.
Aaron

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

Newsgroups: comp.os.vxworks
Subject: Re: tffsDevCreate() problems
Date: Wed, 17 Jul 2002 22:17:33 GMT
From: Andray Kaganovsky <andraykNOSPAM@primus.ca>
Organization: Primus Canada
Message-ID: <Xns924EB9EBC2968andrayk@216.254.136.26>
References: <9%hZ8.227$v53.62500@news3.calgary.shaw.ca>

"Chad" <ckrueger@NOSPAM.thomsontechnology.com> wrote in news:9%hZ8.227
$v53.62500@news3.calgary.shaw.ca:

> I'm trying to boot my application from flash but have been unable to call 
a
> tffsDevCreate() successfully.  I am able to properly mount the device if 
I
> boot from network, but only if I move the usrTffsConfig() call to later 
than
> I thought it should be.
> 
> In the network boot case I am calling in this order when it works:
> *********
> usrConfig.c->usrRoot()
> *********
> ...
> #ifdef INCLUDE_DOSFS
>     hashLibInit ();   /* initialize hash table package */
>     dosFsInit (NUM_DOSFS_FILES);  /* init dosFs filesystem */
> #endif /* INCLUDE_DOSFS */
> ...
> #ifdef INCLUDE_TFFS
> tffsDrv()
> #endif
> ...
> 
> ********
> usrAppInit.c->usrAppInit()
> ********
> ...
>  if (usrTffsConfig (0, 0, "/flash") == ERROR)
>  {
>         printErr ("usrTffsConfig failed.\n");
>  }
>   else
>  {
>   printErr("Flash File System Mounted\n");
>  }
> 
> ********
> usrTffs.c->usrTffsConfig()
> ********
> 
> STATUS usrTffsConfig
>     (
>     int     drive, /* drive number of TFFS */
>     int     removable, /* 0 - nonremovable flash media */
>     char *  fileName /* mount point */
>     )
>     {
>     BLK_DEV * pBootDev;
>     char bootDir [BOOT_FILE_LEN];
>     CBIO_DEV_ID cbio_dev = 0;
>     STATUS status = -1;
> 
>     printErr("Mounting TFFS device at: %s\n",fileName);
> 
>  if ((UINT)drive >= noOfDrives)
>  {
>  printErr ("drive is out of range (0-%d).\n", noOfDrives - 1);
>  return (ERROR);
>  }
> 
>     /* create a block device spanning entire disk (non-distructive!) */
> 
>     if ((pBootDev = tffsDevCreate (drive, removable)) == NULL)
>  {
>         printErr ("tffsDevCreate(%d,%d) failed.\n",drive,removable);
>         return (ERROR);
>  }
>  else
>  {
>         printErr ("tffsDevCreate(%d,%d) successful.\n",drive,removable);
>  }
>  cbio_dev = cbioDevVerify(pBootDev, 0);
>  if (cbio_dev == 0)
>  {
>   printf("can't create cbio wrapper: %x\n", errno);
>   return (ERROR);
>  }
> 
>     /* split off boot device from boot file */
> 
>     devSplit (fileName, bootDir);
> 
>     /* initialize the boot block device as a dosFs device named <bootDir> 
*/
> 
> #if 0
>     if (dosFsDevInit (bootDir, pBootDev, NULL) == NULL)
>  {
>         printErr ("dosFsDevInit failed.\n");
>         return (ERROR);
>  }
> #endif
>  status = dosFsDevCreate(fileName, cbio_dev, 32, DOS_CHK_REPAIR |
> DOS_CHK_VERB_2);
>  if (status != 0)
>  {
>   printf("can't create dosFS device: %x\n", errno);
>   return (ERROR);
>  }
>  else
>  {
>   printf("dosFS device created.\n", errno);
>  }
> 
>  return (status);
> 
> .
> .
> 
> ************
> 
> That seems to work fine.. All intended output shows up, the device is
> mounted etc.
> 
>                  VxWorks
> 
> Copyright 1984-1998  Wind River Systems, Inc.
> 
>         VxWorks: 5.4.2
>     BSP version: 1.2/26
>   Creation date: Jul 17 2002
>             WDB: Ready.
> 
> Mounting TFFS device at: /flash
> tffsDevCreate(0,0) successful.
> dosFS device created.
> Flash File System Mounted
> -> devs
> drv name
>   0 /null
>   1 /tyCo/0
>   1 /tyCo/1
>   1 /tyCo/2
>   5 rnd:
>   6 /vio
>   7 /tgtsvr
>   3 /flash
> value = 0 = 0x0
> 
>  the wierd thing in the network boot case is that when I call
> usrTffsConfig() from usrRoot just after tffsDrv() it does not appear to
> work.  In that case it boots up but I have no /flash device nor any 
output
> from any of the code.
> 
> -> devs
> drv name
>   0 /null
>   1 /tyCo/0
>   1 /tyCo/1
>   1 /tyCo/2
>   5 rnd:
>   6 /vio
>   7 /tgtsvr
> value = 0 = 0x0
> 
> 
> Can anybody enlighten me as to why I must wait till (much?) after the
> tffsDrv() call in usrRoot().   I think this is probably something
> fundamental I am missing.
> 
> The real problem I have is that when I set my boot device to tffs,
> tffsDevCreate() fails.  My boot image is currently 490k and I'm on a 
powerPC
> platform (I believe some people had similar problems with >640k bootroms 
in
> x86)
> 
> In the boot from flash case I am calling:
> 
> ********
> bootConfig.c->autoboot()
> ********
> ...
>  if (bootLoad (BOOT_LINE_ADRS, &entry) == OK)
>      go (entry);    /* ... and never return */
>  else
>      {
>      printf ("Can't load boot file!!\n");
>      taskDelay (sysClkRateGet ()); /* pause a second */
>      reboot (BOOT_NO_AUTOBOOT);  /* something is awry */
>      }
>  }
> ...
> ********
> bootConfig.c->bootLoad()
> ********
> ...
> #ifdef  INCLUDE_TFFS
>     if (strncmp (params.bootDev, "tffs", 4) == 0)
>  {
>  int drive = 0;
>  int removable = 0;
> 
>  if (strlen (params.bootDev) == 4)
>      return (ERROR);
>  else
>      sscanf (params.bootDev, "%*4s%*c%d%*c%d", &drive, &removable);
> 
>  /* tffsLoad () should be after pcmciaInit () */
> 
>  if (tffsLoad (drive, removable, params.bootFile, pEntry) != OK)
>      {
>      printErr ("\nError loading file: errno = 0x%x.\n", errno);
>      return (ERROR);
>      }
> ...
> ********
> bootConfig.c->tffsLoad()
> ********
> ...
>  hashLibInit ();   /* initialize hash table package */
>                          /* crk - added this because it was called with
> dosFsInit() in usrRoot */
>                          /*       - failed without this call also */
>  dosFsInit (NUM_DOSFS_FILES);        /* initialize DOS-FS */
> 
>  if (tffsDrv () != OK)
>  {
>  printErr ("Could not initialize.\n");
>  return (ERROR);
>  }
>  else
>  {
>  printErr ("Tffs initialized...\n");
>  }
> 
>     printf ("Attaching to TFFS... \n");
> 
>     if (usrTffsConfig (drive, removable, fileName) == ERROR)
>  {
>         printErr ("usrTffsConfig(%d,%d,%s)
> failed.\n",drive,removable,fileName);
>         return (ERROR);
>  }
>  else
>  {
>         printErr ("usrTffsConfig(%d,%d,%s)
> succeeded.\n",drive,removable,fileName);
>  }
> 
>     printErr ("done.\n");
> 
>     /* load the boot file */
> 
>     printErr ("Loading %s...", fileName);
> 
>     if ((fd = open (fileName, O_RDONLY, 0)) == ERROR)
>  {
>         printErr ("\nCannot open \"%s\".\n", fileName);
>         return (ERROR);
>  }
> ...
> 
> ******************
> 
> My result is this:
> 
> **
> boot device          : tffs=0,0
> unit number          : 0
> processor number     : 0
> host name            : rnd
> file name            : /flash/vxWorks
> inet on ethernet (e) : 192.0.1.90
> host inet (h)        : 192.0.1.58
> flags (f)            : 0x8
> other (o)            : cpm
> 
> Tffs initialized...
> Attaching to TFFS...
> Mounting TFFS device at: /flash/vxWorks
> tffsDevCreate(0,0) failed.
> usrTffsConfig(0,0,/flash/vxWorks) failed.
> 
> Error loading file: errno = 0x0.
> **
> 
> Has anybody had similar problems and resolved them?
> 

[AndrayK]. I would insert printErr() calls into flash
identification and 'read' routines in MTD, and check what
addresses are passed to MTD's 'read' routine, and what data
is read from flash, in both boot cases. 

I would also check that basic things are allright, i.e 
malloc() works, BSS is cleared, stack space is sufficient etc.

Andray  
 

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

Newsgroups: comp.os.vxworks
Subject: Re: tcp latency
Date: Wed, 17 Jul 2002 23:14:27 GMT
From: "Jeffrey Creem" <jeff@thecreems.com>
Organization: AT&T Broadband
Message-ID: <nTmZ8.569574$cQ3.52880@sccrnsc01>
References: <f92014ed.0207161954.2a145f10@posting.google.com>

You need to disable the nageling algorithm with the TCP_NO_DELAY socket
option.

"Forest" <lin_mu@hotmail.com> wrote in message
news:f92014ed.0207161954.2a145f10@posting.google.com...
> Hi, All:
>
> I have two PPC603 running Vxworks 5.3.1, they both connect to a
> solaris host using fast ether net (100 BASE-T), the cable is leen than
> 20 feet.
>
> The two PPCs run the same code, each has a task to poll a tcp socket
> and the host sends packets to them simultaneously ( less than 0.01
> sec) from time to time. The packets are very small, usually 4 bytes.
> However, the PPCs receive the packet at a time difference larger than
> 0.5 sec.
> The clock of PPCs are synchronized by a sync card.
>
> I don't expect the tcp latency be so large, any suggestion will be
> appreciated.
>
> Regards
>
> LM

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

Newsgroups: comp.os.vxworks
Subject: How to setup SNTP
Date: 17 Jul 2002 18:23:33 -0700
From: ryeung@earthlink.net (Raymond Yeung)
Organization: http://groups.google.com/
Message-ID: <d83bb8e3.0207171723.7fa8fe31@posting.google.com>

I dug out an article from FAQ site on installing and using
SNTP client on VxWorks target.  But how do I set up the
SNTP server on Windows based host (connecting to target in a 
point-to-point IP configuration)?

Where can I get a free copy of SNTP server for Windows NT?
How do I make my implementation PC machine independent (i.e.
it doesn't matter if the host PC is an NT/95/98/2000/XP)?

Any pointer would be appreciated.

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

Newsgroups: comp.os.vxworks
Subject: Re: Help ! tNetTask Debug Problem
Date: 17 Jul 2002 18:35:57 -0700
From: chwin@china.com (Adom)
Organization: http://groups.google.com/
Message-ID: <92dbccc1.0207171735.4aa7c0af@posting.google.com>
References: <92dbccc1.0207170257.68046e06@posting.google.com> <newscache$73pezg$4k7$1@lnews.actcom.co.il>

Leonid, Is it? i am glad to know.
There are two serial port in my target .
One for target shell and the other for debug.
I have changed the WDB connection to WDB serial connection 
and select System Debug Mode.
All is ready and tgtsvr is running by COM port.
Now i begin to debug and set breakpoint at ip stack.

After attaching system , F5 to go.
Then i ping the target , system will stop on the breakpoint. 
But when i step over, there will display a Page Fault Exception 
at the bottom-left corner of Tornado IDE,and the debugger status
change from "systime host@adom:Running" to "systime
host@adom:Exception".

If i attach to tNetTask, i can trace several times .Then there will 
display a Page Fault Exception at the bottom-left corner of Tornado
IDE,
and the debugger status change from "tNetTask(0x7e0bbe4)
host@adom:Running" to "tNetTask(0x7e0bbe4)host@adom:Exception".

But when i use Debug->Run to debug a function, all is OK.

This has puzzled me for a long time.

"Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM> wrote in message news:<newscache$73pezg$4k7$1@lnews.actcom.co.il>...
> Adom (means Red (the collor red) in Hebrew ;-) )
> 
> You have cut the branch you where sitting on.
> 
> I asusme your host -to- target connection is Ethernet, by stopping tNetTask,
> you essentially disabled your target communications, so the host can not
> communicate with teh target after tNetTask was attached to the debugger, and
> thence suspended.
> 
> The easiest thing to do, is either use a Serial target connection instead
> (see Tornado manual), or set the debug mode to "SYSTEM" or "EXTERNAL" debug
> mode, this can be done from debugger by duing
> 
>   attach system
> 
> then tNetTask will not be playing a role in your debig connection, althogh
> it will still use the same Ethernet hardware and driver.
> 
>

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

Newsgroups: comp.os.vxworks
Subject: Re: FEI Drivers and 82559 Chip
Date: 17 Jul 2002 20:32:12 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207171932.2bccd34b@posting.google.com>
References: <6c46b6cc.0207170339.11cfc361@posting.google.com>

Hello Andy,

Are you sure that it is an 82559 and not an 82559ER part that is on
your board? Either way, you have the source to the routine that does
the checksum. It is in your BSP directory somewhere, and is part of
sys557Init().

This function will be in a source file in your BSP, often sysEnd.c but
I have seen other names. You can update this code, or enable the
diagnostics and see what is going on with your board.

HTH,

John...

andy_kirby@instron.com (Andrew Kirby) wrote in message news:<6c46b6cc.0207170339.11cfc361@posting.google.com>...
> My System has an 82559 built in to the system board. Trying to use the
> (patched) FEI END Driver from Windriver results in failure - when the
> chip is detected on the PCI Bus the driver does a checksum, which
> fails, and the driver bombs out.
> 
> I got the Intel eeV End driver from their website and found that it
> works to a point, but causes tNetTask to crash periodically with Page
> Faults and occasionally the screen gets garbled - even if the box is
> sat doing nothing. If I unplug the network cable, it seems to run
> indefinately, but some network traffic must be stuffing the driver.
> 
> So... Where do I go from here... Windriver and Intel are not being
> helpful about this. Does anyone have a fix for the checksum problem
> with Windriver's driver or a fix for the page faulting Intel Driver?
> 
> Many Thanks
> 
> Andy

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

Newsgroups: comp.os.vxworks
Subject: Re: POP3
Date: 17 Jul 2002 20:53:15 -0700
From: rajaismyname@yahoo.com (Raja Ganesan)
Organization: http://groups.google.com/
Message-ID: <1a047b5a.0207171953.72c22d@posting.google.com>
References: <ecca3ca6.0207142057.167ae49@posting.google.com>

Hi,

This seems fairly simple!

1. Download C source code for pop3 from the net. 
2.Since vxworks uses the same api as that of c functions for 
socket. you can implement it with minimal changes.
for example you will have to include sockLib.h header file instead of
standard header file for c.

3. or study the RFC of pop3 and then implement.

Regards,
Raja Ganesan G
Datec Systems (P) Ltd.

ravi368@yahoo.com (Ravi Uday) wrote in message news:<ecca3ca6.0207142057.167ae49@posting.google.com>...
> hi.. 
> Anybody in here have a code that implements POP3 on VxWorks OS. Well i have
> implemented SMTP on the same but for POP3 there is a time constraint.
> 
> Any kind of URGENT assistance or links for the same is appreciated.

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

Newsgroups: comp.os.vxworks
Subject: Re: use java on vxWorks 5.4
Date: Thu, 18 Jul 2002 03:58:24 GMT
From: "John Kevin Fabiani" <nospam@nospam.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <A1rZ8.2147$YU5.50744566@newssvr15.news.prodigy.com>
References: <e56229a1.0207162128.6eacfa5b@posting.google.com>

- ----- Original Message -----
From: "guobao shen" <shengb@ssrc.ac.cn>
Newsgroups: comp.os.vxworks
Sent: Tuesday, July 16, 2002 10:28 PM
Subject: use java on vxWorks 5.4

> Hello, everyone,
> I want to use java on vxWorks5.4.
> Host is SUN Ultra10/Solaris2.7 SPARC,target is PC pentium.
> I have downloaded j2me_cdc-1_0-fcs-src-ar-22_Jan_2001.zip,
> and compile as ~/doc/guide/build.html, after make
> download_image, I download the vxWorks image to target.
>
> and then I download the ~/build/vxworks/target/PC-boot/cvm.o
> to target, but there are two errors:
> undefined symbol: ___divdi3
> undefined symbol: ___moddi3

You could alter your BSP to add libgcc.a to the link line and
then add cvm.o to MACH_EXTRA in your BSP Makefile and rebuild.
This would pull in the needed libs.  Else you could try the makefile below
which should extract the needed objects from libgcc.a and add them to
your lib<ARCH>gnuvx.a lib.  You'll still need to pull them into vxWorks
somehow.

- -j

> Does any body give me any advise?
>
> Thanks and Regards,
> guobao shen
>
###########################################################
# Makefile - makefile for target/src/fs/libgcc
#
# modification history
# --------------------
# 01a,23mar99,yp  derived from 01o target/src/cplus/libgcc/Makefile
#
# DESCRIPTION
# This file contains the makefile rules for grabbing what we
# need from "libgcc.a"
#*/

TGT_DIR=$(WIND_BASE)/target

LIBNAME=lib$(CPU)$(TOOL)vx.a
LIBDIRNAME=obj$(CPU)$(TOOL)vx

OBJS_INT64 =\
_ashldi3.o \
_ashrdi3.o \
_divdi3.o \
_muldi3.o \
_moddi3.o \
_cmpdi2.o

ifneq ($(CPU),SIMNT)
    OBJS=$(OBJS_BASIC) $(OBJS_INT64)
else
    OBJS=$(OBJS_BASIC) $(OBJS_INT64) \
frame.o
endif

include $(TGT_DIR)/h/make/rules.library

# The choice of which libgcc.a to use depends on CANONICAL_TARGET
# (defined below) and the compile flags used.
# Eventually the derivation of CANONICAL_TARGET should be moved
# to make.$CPU$TOOL where the definition is fixed by the context,
# but for now we do it here.

# The basic idea is to generate a subdirectory based on a subset
# of the compile flags (listed in MULTILIB_FILTER, defined below)
# In most cases the subdirectory and its corresponding flag have the
# same name. There are a few  exceptions in the case of msoft-float
# which is why we define MULTILIB_SFDIR. There are also
# a class of flags whose corresponding subdirectory does
# not contain the leading "m". These are dealt with one
# by one after the comment "# Some flags need to have the leading "m"
removed".
# These flags should be listed without the leading "m" in MULTILIB_FILTER.
# For some CPUs msoft-float is implied. We use MULTILIB_SFMATCHES
# to catch these.

# The source for MULTILIB information is
# $WIND_BASE/host/src/gnu/$WIND_HOST_TYPE/$CANONICAL_TARGET/gcc/Makefile
# (generated when you build the compiler)

MULTILIB_SFDIR=msoft-float
MULTILIB_SFMATCHES=

CYGNUS_VER=cygnus-2.7.2-960126

ifeq ($(strip $(VX_CPU_FAMILY)),386)
    CANONICAL_TARGET=i386-wrs-vxworks
    MULTILIB_FILTER=
endif

ifeq ($(strip $(VX_CPU_FAMILY)),960)
    CANONICAL_TARGET=i960-wrs-vxworks5.3
    MULTILIB_FILTER=msoft-float
    MULTILIB_SFDIR=float
    MULTILIB_SFMATCHES=mkb
endif

ifeq ($(strip $(VX_CPU_FAMILY)),68k)
    CANONICAL_TARGET=m68k-wrs-vxworks
    MULTILIB_FILTER=m68000 msoft-float
endif

ifeq ($(strip $(VX_CPU_FAMILY)),mips)
    CANONICAL_TARGET=mips-wrs-vxworks
    MULTILIB_FILTER=mips3 msingle-float msoft-float
endif

ifeq ($(strip $(VX_CPU_FAMILY)),PPC)
    CANONICAL_TARGET=powerpc-wrs-vxworks
    MULTILIB_FILTER=msoft-float
    MULTILIB_SFDIR=soft-float
    MULTILIB_SFMATCHES=mcpu=860 mcpu=403
endif

ifeq ($(strip $(VX_CPU_FAMILY)),simso)
    CANONICAL_TARGET=sparc-sun-solaris2.5.1
    MULTILIB_FILTER=
endif

ifeq ($(strip $(VX_CPU_FAMILY)),sparc)
    CANONICAL_TARGET=sparc-wrs-vxworks
    MULTILIB_FILTER=msoft-float mv8
    MULTILIB_SFDIR=soft
endif

ifeq ($(strip $(VX_CPU_FAMILY)),arm)
    CYGNUS_VER=2.7.9-970819
    CANONICAL_TARGET=arm-wrs-vxworks
    MULTILIB_FILTER=thumb
endif

ifeq ($(strip $(subst simhppa,hppa,$(VX_CPU_FAMILY))),hppa)
    CANONICAL_TARGET=hppa1.1-wrs-vxworks
    MULTILIB_FILTER=
endif

ifeq ($(strip $(VX_CPU_FAMILY)),SIMNT)
    CYGNUS_VER=egcs-2.90.29
    CANONICAL_TARGET=i386-pc-mingw32
    MULTILIB_FILTER=
endif

# Strip of leading -'s from CFLAGS
MULTIFLAGS1=$(patsubst -%,%,$(CFLAGS))

# Some flags go by more than one name
MULTIFLAGS2=$(MULTIFLAGS1:mc68000=m68000)

# Some flags need to have the leading "m" removed.
# The last iteration should result in a variable named MULTIFLAGS
MULTIFLAGS3=$(subst mthumb, thumb, $(MULTIFLAGS2))
MULTIFLAGS=$(subst mv8, v8, $(MULTIFLAGS3))

# Only select the options listed in MULTILIB_FILTER
MULTILIB_DIR1=$(strip $(filter $(MULTILIB_FILTER),$(MULTIFLAGS)))

# Does another flag imply msoft-float?
ifeq ($(filter $(MULTILIB_SFMATCHES),$(MULTIFLAGS)),)
    MULTILIB_EXTRA=
else
    MULTILIB_EXTRA=$(MULTILIB_SFDIR)
endif

# Replace msoft-float by the corresponding directory name
MULTILIB_DIR2=$(subst msoft-float,$(MULTILIB_SFDIR),$(MULTILIB_DIR1))

# See GNU Toolkit 2.7/8.1 for an explanation of this roundabout
# way of doing things ...
empty=
space=$(empty) $(empty)

# Mash the remaining flags into a directory name. Notice that
# we rely on a particular ordering of the flags in CFLAGS for this
# to work.
MULTILIB_DIR=$(subst $(space),/,$(strip
$(MULTILIB_DIR2)$(space)$(MULTILIB_EXTRA)))

# If there are no flags left we end up with a single /
ifeq ($(MULTILIB_DIR),/)
    MULTILIB_DIR=
endif

LIBGCC=
$(WIND_BASE)/host/$(WIND_HOST_TYPE)/lib/gcc-lib/$(CANONICAL_TARGET)/$(CYGNUS
_VER)/$(MULTILIB_DIR)/libgcc.a

# iostreams long double support requires pulling in some extra floating
# point libraries in some cases: long term this should probably be
# done elsewhere ...

EXTRA_OBJS=

ifeq ($(strip $(VX_CPU_FAMILY)),68k)
    EXTRA_OBJS=xfgnulib.o
endif

# rules.library only looks in the current directory for
# source files when it determines the objects we can build.
# In our case the objects have already been built in the
# GNU build tree (in libgcc.a) and we just want to pull them out.

LIBOBJS         = $(foreach file, $(OBJS) $(EXTRA_OBJS), $(LIBDIR)/$(file))

# On windows there needs to be a target called $(file)_clean for each file
# in $(LIBOBJS).
ifeq ($(WIND_HOST_TYPE),x86-win32)
clean: $(foreach file,$(subst /,$(DIRCHAR),$(LIBOBJS)
$(LOCAL_CLEAN)),$(file)_clean)
$(foreach file,$(subst /,$(DIRCHAR),$(LIBOBJS)
$(LOCAL_CLEAN)),$(file)_clean):
 $(RM) $(subst _clean,,$@)
endif

# Repeat the work of rules.library with the correct object list

objs : $(LIBOBJS) Makefile
$(subst /,$(DIRCHAR),$(TGT_DIR)/lib/$(LIBNAME)) : $(LIBOBJS)

ifeq ($(WIND_HOST_TYPE),x86-win32)
    SEMI=;
else
    SEMI=";"
endif

WRAPPER=$(LIBDIR)/_tmp_wrapper.c
TMP_OBJ=$(LIBDIR)/_tmp_obj.o

$(LIBOBJS) : $(LIBGCC) Makefile
 @echo Wrapping $@ ...
# This just adds a symbol __object_o to object.o. We chose
# to use a one-line C fragment rather than using the linker
# to directly add a symbol because this way we don't have
# to worry about whether or not the compiler prepends an underscore.
 echo char __$(notdir $*)_o = 0$(SEMI) > $(WRAPPER)
ifeq ($(WIND_HOST_TYPE),x86-win32)
 (cd $(LIBDIR) & $(AR) -x $(LIBGCC) $(notdir $@))
else
 (cd $(LIBDIR) ; $(AR) -x $(LIBGCC) $(notdir $@))
endif
 $(CC) -c $(CFLAGS) $(WRAPPER) -o $(TMP_OBJ)
 $(LD) $(LD_PARTIAL_FLAGS) -r $(TMP_OBJ) $@ -o $@_tmp
 $(CP) $(subst /,$(DIRCHAR),$@_tmp) $(subst /,$(DIRCHAR),$@)
 $(RM) $(WRAPPER) $(TMP_OBJ) $@_tmp

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

Newsgroups: comp.os.vxworks
Subject: Re: Application initialization.
Date: 17 Jul 2002 21:02:14 -0700
From: rajaismyname@yahoo.com (Raja Ganesan)
Organization: http://groups.google.com/
Message-ID: <1a047b5a.0207172002.668b1e09@posting.google.com>
References: <d6e2de0a.0207121035.587fbd08@posting.google.com> <488e459a.0207121526.19a35c69@posting.google.com>

Hi,

do the following
1. create a bootable application
2. include your main function (i.e the function name you will type in
shell) in the file usrAppInit.c like that of the following assuming
your application starts with the function main().

void usrAppInit (void)
    {
#ifdef	USER_APPL_INIT
	USER_APPL_INIT;		/* for backwards compatibility */
#endif

 main();   /* add application specific code here */
    }

then your app will be invoked automatically when ever you boot
vxworks.

with regards,
Raja Ganesan G
Datec Systems (P) Ltd.

john_94501@yahoo.com (John) wrote in message news:<488e459a.0207121526.19a35c69@posting.google.com>...
> Hello,
> 
> If you are using Tornado & projects, check out section 4.4 in the
> Tornado User's Guide: Creating a Bootable Application. That describes
> how to make the application run automatically at boot time from a
> project.
> 
> For the command line/BSP oriented method, read this tech note:
> 
> http://www.windriver.com/windsurf/appnotes/ide/tornado/t2/APN43/WTN43.pdf
> 
> (you'll need a WindSurf account to access this information).
> 
> HTH,
> 
> John...
> 
> 
> vxworks@india.com (V R R Raju) wrote in message news:<d6e2de0a.0207121035.587fbd08@posting.google.com>...
> > Hi friends,
> > 
> > I am trying to make an application. I want my application to be
> > started as soon as the shell gets activated. That is it has to start
> > by itself rather than me giving the name at shell. For this which
> > configuration file did I have to change and where.
> > 
> > Thanks in advance.
> > 
> > With regards,
> > 
> > Rajneesh

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

Newsgroups: comp.os.vxworks
Subject: Debug Info
Date: Thu, 18 Jul 2002 04:12:06 GMT
From: "weddick" <weddick@attbi.com>
Organization: AT&T Broadband
Message-ID: <qerZ8.571246$cQ3.54078@sccrnsc01>

We currently download our application into the target as one .O file.  When
we start the debug and attempt to debug a function, the debugger complains
that the function does not exist.  Yet from the shell you can run the
function with no problem.  Is there some path/switch setting that needs to
be configure first?  The object files are compiled with the debug option
set.

Thanks,
Joel

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

Newsgroups: comp.os.vxworks
Subject: Re: use java on vxWorks 5.4
Date: 17 Jul 2002 21:15:16 -0700
From: shengb@ssrc.ac.cn (guobao shen)
Organization: http://groups.google.com/
Message-ID: <e56229a1.0207172015.c5720c5@posting.google.com>
References: <e56229a1.0207162128.6eacfa5b@posting.google.com> <qA7Z8.1603$Mz3.43223575@newssvr15.news.prodigy.com>

Now I can succeed to downloading cvm.o.
But when I run the test program, there are some error.

- ->runJava "-Djava.path.class=../testclasses.zip HelloWorld"
Cannot start VM(shutdown method init failed)
Could not create JVM.

It seems that I should start the JVM at first.
How can I start the JVM?

Thanks,
"John Kevin Fabiani" <nospam@nospam.net> wrote in message news:<qA7Z8.1603$Mz3.43223575@newssvr15.news.prodigy.com>...
> Those are GNU 64 bit functions.
> Add libgcc.a for your arch to the link line.
> 
> 
> "guobao shen" <shengb@ssrc.ac.cn> wrote in message
> news:e56229a1.0207162128.6eacfa5b@posting.google.com...
> > Hello, everyone,
> > I want to use java on vxWorks5.4.
> > Host is SUN Ultra10/Solaris2.7 SPARC,target is PC pentium.
> > I have downloaded j2me_cdc-1_0-fcs-src-ar-22_Jan_2001.zip,
> > and compile as ~/doc/guide/build.html, after make
> > download_image, I download the vxWorks image to target.
> >
> > and then I download the ~/build/vxworks/target/PC-boot/cvm.o
> > to target, but there are two errors:
> > undefined symbol: ___divdi3
> > undefined symbol: ___moddi3
> >
> > Does any body give me any advise?
> >
> > Thanks and Regards,
> > guobao shen
> >

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

Newsgroups: comp.os.vxworks
Subject: Re: Untangling Includes
Date: Thu, 18 Jul 2002 04:48:11 GMT
From: "Tom Yee" <tomyee3@attbi.com>
Organization: AT&T Broadband
Message-ID: <fMrZ8.43876$Wt3.32769@rwcrnsc53>
References: <dx_V8.429488$352.57789@sccrnsc02> <Qu0W8.5706$A43.570647@newsread2.prod.itd.earthlink.net> <rjtW8.9056$A43.903585@newsread2.prod.itd.earthlink.net> <ageqod$ios$1@bcarh8ab.ca.nortel.com>

Thanks, everybody, for all your suggestions! The KLOCwork inSpect tool looks
like the best for the purpose.

A really ironic thing, Randy - I'm working at Nortel in Richardson, and
nobody that I talked with in Richardson was aware of this tool, even though
KLOCwork is a spinout from Nortel! On our internal web site, I see that it
has been used with great success by you guys in Canada!

(Sorry for the double response, Randy. I originally hit "Reply" rather than
"Reply Group.")

- -Tom

"Randy Macleod" <macleodr@nortel.ca> wrote in message
news:ageqod$ios$1@bcarh8ab.ca.nortel.com...
>   Hi,
>    You might try KLOCworks inSight (klocwork.com).
> I think it's kind of expensive...
> but it does everything on your list expect perhaps
> the forward class declaration vs .h file include suggestion.
>
> From their web page:
> ...code-analysis algorithms to extract software architecture,
> interactions, logic flow, and execution threads directly from
> the source code of both full and partialsystems. KLOCwork allows
> for architectural comprehension, automatic control, and management
> through its graphic visualization of software architecture,
> architectural rules setting, and automatic tracking capabilities.
> KLOCwork also includes an on-the-fly logical error finder for the
> early detection and removal of defects. With an intuitive,
> easy-to-use graphical interface ...
>
> Good luck,
> // Randy
> --
> // Randy MacLeod
>     Those that would give up a necessary freedom for temporary safety
>     deserve neither freedom nor safety. -- Ben Franklin

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

Newsgroups: comp.os.vxworks
Subject: Re: Debug Info
Date: Thu, 18 Jul 2002 06:15:12 GMT
From: "John Kevin Fabiani" <nospam@nospam.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <Q1tZ8.3567$xo.540064989@newssvr16.news.prodigy.com>
References: <qerZ8.571246$cQ3.54078@sccrnsc01>

What host-target-version of vxWorks-tools-etc?
Is this C or C++?  What shell are you using?
The target console shell which runs on the target,
or the windShell which runs on the host?
Is the function a global function?

On some versions/configurations you may wish to use
the -s option to the target server aka
"Syncronize Target/Host Symbol Tables".
Especially if you are downloading to the target shell,
the shell running on the target console, (not the windshell),
and using the crosswind debugger.

Also try using the debugger to download the object,
rather than the shell.  This is the "Download objects"
button in the tornado IDE.

- -j

"weddick" <weddick@attbi.com> wrote in message
news:qerZ8.571246$cQ3.54078@sccrnsc01...
> We currently download our application into the target as one .O file.
When
> we start the debug and attempt to debug a function, the debugger complains
> that the function does not exist.  Yet from the shell you can run the
> function with no problem.  Is there some path/switch setting that needs to
> be configure first?  The object files are compiled with the debug option
> set.
>
> Thanks,
> Joel
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Why vxWorks reboot error?
Date: Thu, 18 Jul 2002 06:27:01 GMT
From: "John Kevin Fabiani" <nospam@nospam.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <VctZ8.3595$Mr.540276887@newssvr16.news.prodigy.com>
References: <86bb1c72.0207152226.3b774c83@posting.google.com> <86bb1c72.0207161804.83ea0ed@posting.google.com>

"westwoods" <westwoods.l@163.net> wrote in message
news:86bb1c72.0207161804.83ea0ed@posting.google.com...
> hello, vxWorks world! I am sorry that I could not express my problem
> clear to you yesterday, now I post it again here, and sincerely
> waiting for your help!
>
>     My board is an 850 based platform running (at present) a bootrom
> version of vxWorks 5.4. Build environment is T2 with gnu compiler. In
> my board, besides SCC2 is connected to ethernet via LXT905, I extend
> two ethernet interface with CS8900 ethernet controller. Now the SCC2
> runs OK, However when only one CS8900 is included in the system -- of
> course it is used as netWork boot interface.
>
>    Judged from the information in the console and the FTP window, I
> think that the bootrom is ok and the vxWorks image has been downloaded
> into my board successfully. But when the vxWorks "reboot", it notices
> me that "muxDevLoad failed..", My problem is why my END can
> "muxDevLoad" and runs ok in the bootrom, but "muxDevLoad" failed when
> the vxWorks "reboot" in my RAM?

There can be many reasons.  Was the bootrom built
from the same sources as was the runtime image?

I notice you are using a gateway setting:
> inet on ethernet (e) : 192.168.0.76
> host inet (h)        : 192.168.0.27
> gateway inet (g)     : 192.168.0.100

Since the host is on the same subnet as the target, (192.168.0.xxx),
I do not believe you need specify a gateway.

>    The following is my console information, I hope it will make you
> clear my problem. Thanks a lot.
>
>               VxWorks System Boot
> Copyright 1984-1998  Wind River Systems, Inc.
> CPU: 850 -- Mini PowerPC
> Version: 5.4
> BSP version: 1.2/3
> Creation date: Jul 16 2002, 18:05:47
>
> Press any key to stop auto-boot...
>  0
> auto-booting...
>
> boot device          : cs
> unit number          : 0
> processor number     : 0
> host name            : westwoods
> file name            : vxWorks
> inet on ethernet (e) : 192.168.0.76
> host inet (h)        : 192.168.0.27
> gateway inet (g)     : 192.168.0.100
> user (u)             : user
> ftp password (pw)    : user
> flags (f)            : 0x8
> target name (tn)     : test8900
>
> 0x3dcca0 (tBoot): csStart: unit=0, Initializing interface
> 0x3dcca0 (tBoot): csConfig() Setting promiscuous mode off!
> 0x3dcca0 (tBoot): csConfig() Setting promiscuous mode off!
> Attached TCP/IP interface to cs0.
> 0x3dcca0 (tBoot): csMCastAdd(): Add Ethernet Multicast Address:
> ff.ff.ff.ff.ff.ff
> 0x3dcca0 (tBoot): csConfig() Setting promiscuous mode off!
> Attaching network interface lo0... done.
> Loading... 765896
>
> interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
> interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
> interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
> interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
> interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
> interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error
> interrupt: csReceiveEvent: CS_END_DEVICE 0, CRC Error

These CRC errors are a bit unsettling and make me perhaps
question the itegrity of the downloaded image, started below.
Is this on an isolated network?

> Starting at 0x100038...
>
> 0x3dcca0 (tBoot): csStop(): unit=0, The CS8900 device has been
> stopped.
> muxDevLoad failed for device entry 0!

Yes, this is the culprit.
Was this downloaded image built from the same source as was the bootrom?
- -j

> Could not find cs0
> Attaching interface lo0...done
> Error setting inet address of lo0 to 127.0.0.1, errno = 0x37
> telnetInit: unable to spawn telnetd.
> wdbConfig: error configuring WDB communication interface
>
>
>  ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
>  ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
>  ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
>  ]]]]]]]]]]]  ]]]]     ]]]]]]]]]]       ]]              ]]]]
> (R)
>  ]     ]]]]]]]]]  ]]]]]]     ]]]]]]]]
>
> 0x1ffdf8  (tRootTask):     panic: no memory clusters
> 0x1ffdf8  (tRootTask):      panic: mbinit
> 0x1ffdf8  (tRootTask):      panic: rn_init
>
> ]] ]]]]] ]]]]]] ]] ]]]]]]] ]]]] ]]   ]]]]]]]]]     ]  ]]]]     ]]]]]
> ]]]]]]  ]    ]]]   ]]]]]] ]]]]]]]] ]]]]
> ]]]]]]]]]]]]  ]]]]]  ]]]    ]]]]]]] ]  ]]]
>
> 0x1ffdf8(tRootTask):   csEndLoad() : Returning CS8900 Device Name
> string...
> 0x1ffdf8(tRootTask):   csParser()  : IOAddr=0X300, IntLevel=0X6 ,
> IntVect=0X6 ,
> MemBase=0X1000 , MediaType=3, ConfigFlag=0X8010
> 0x1ffdf8(tRootTask):   csInitRxBuff: Unit=0 Memory unavailable.
> memalign() Failed!
> 0x1ffdf8(tRootTask):   csEndLoad   : CS_END_DEVICE  0 Can not allocate
> receive buffers
>
> ]]]]  ]]]]    ]]]]  ]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]
> ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
>
> Development System VxWorks version5.4
> KERNEL: WIND version 2.5 Copyright Wind River Systems, Inc., 1984-1999
> cCPU:823/850 -- Mini PowerPC.  Processor #0.BSP version 1.2/3. .
> MemorySize: 0X200000
> WDB: Agent configuration failed.
>
> ]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
> ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]
>
> 0x1ffdf8(tRootTask):      csEndLoad(): Returning CS8900 Device Name
> string...
> 0x1ffdf8(tRootTask):   csParser() : IOAddr=0x300 , IntLevel=0X6,
> IntVect=0X6,
> MemBase=0X1000 , MediaType=3, ConfigFlag=0X8010
>
> 0x1ffdf8 (): task deadcsInitRxBuff: Unit=0 Memory unavailable.
> memalign() Failed!
> 0x1ffdf8 (): task deadcsEndLoad: CS_END_DEVICE 0 Can not allocate
> receive buffers
> 0x1ffdf8 (): task deadmuxLoad failed!

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

Newsgroups: comp.os.vxworks
Subject: Re: Executing shell scripts inside a program.
Date: Thu, 18 Jul 2002 06:31:46 GMT
From: "John Kevin Fabiani" <nospam@nospam.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <mhtZ8.3606$Hs.540337349@newssvr16.news.prodigy.com>
References: <476013f7.0207121357.13a22a44@posting.google.com> <2ede7703.0207150701.7a13030c@posting.google.com>

"kannan" <kannan@comneti.com> wrote in message
news:2ede7703.0207150701.7a13030c@posting.google.com...
> Hi,
>
> I just tried your program.It just hangs up,It doesn't works for me.
>
> But I was able to run a shell script from my shell.
> It just gives me the output as follows:
>
> -> < C:/kk.txt
> i
>   NAME        ENTRY       TID    PRI   STATUS      PC       SP     ERRNO
DELAY
> ---------- ------------ -------- --- ---------- -------- -------- ------- 
- -----
> tExcTask   _excTask      4bc90a0   0 PEND         44b6c6  4bc8fbc   30065
0
> tLogTask   _logTask      4bc4688   0 PEND         44b6c6  4bc45a0   30065
0
> tShell     _shell        4b45ff0   1 PEND         44b6c6  4b45c58   30065
0
> tTelnetd   _telnetd      4b51d30   2 PEND         44b6c6  4b51bf0       0
0
> tWdbTask   0x41eb88      4b4a730   3 READY        44b6c6  4b4a614      16
0
> tNetTask   _netTask      4b8d190  50 READY        44b6c6  4b8d008      16
0
> tRipTimerTa_ripTimer     4b37768  99 PEND         44b6c6  4b3769c      16
0
> tPortmapd  _portmapd     4b55d00 100 PEND         44b6c6  4b55b54      16
0
> tRipTask   _ripTask      4b4e6d8 100 PEND         44b6c6  4b4e544      16
0
> value = 0 = 0x0
> w
>   NAME       ENTRY      TID      STATUS   DELAY  OBJ_TYPE   OBJ_ID
OBJ_NAME
> ---------- ---------- -------- ---------- ----- ---------- -------- ------
- ------
> tExcTask   _excTask    4bc90a0 PEND           0 MSG_Q(R)    4bc9408 N/A
> tLogTask   _logTask    4bc4688 PEND           0 MSG_Q(R)    4bc49f0 N/A
> tShell     _shell      4b45ff0 PEND           0 SEM_B       4bc9b3c N/A
> tTelnetd   _telnetd    4b51d30 PEND           0 SEM_B       4b8de6c N/A
> tWdbTask   0x41eb88    4b4a730 READY          0                   0
> tNetTask   _netTask    4b8d190 READY          0                   0
> tRipTimerT _ripTimer   4b37768 PEND           0 SEM_B       4bcb938 N/A
> tPortmapd  _portmapd   4b55d00 PEND           0 SEM_B       4b55d90 N/A
> tRipTask   _ripTask    4b4e6d8 PEND           0 SEM_B       4b4e768 N/A
> value = 0 = 0x0
> cd "c:\kk"
> value = 0 = 0x0
> ld < calling.o
> Loading C:/kk/calling.o |
> value = 3228808 = 0x314488
> ld < fileopen.o
> Loading C:/kk/fileopen.o |
> value = 3229424 = 0x3146f0
>
>
> I also execute "i" command through the execute function.
> The output is as follows:
> -> execute "i"
>
>   NAME        ENTRY       TID    PRI   STATUS      PC       SP     ERRNO
DELAY
> ---------- ------------ -------- --- ---------- -------- -------- ------- 
- -----
> tExcTask   _excTask      4bc90a0   0 PEND         44b6c6  4bc8fbc   30065
0
> tLogTask   _logTask      4bc4688   0 PEND         44b6c6  4bc45a0   30065
0
> tShell     _shell        4b45ff0   1 PEND         44b6c6  4b45c58   30065
0
> tTelnetd   _telnetd      4b51d30   2 PEND         44b6c6  4b51bf0       0
0
> tWdbTask   41eb88        4b4a730   3 PEND+T       44b6c6  4b4a614       0
180
> t1         42cc6c        4b34cf0   4 READY        4314d0  4b33cf0       0
0
> tNetTask   _netTask      4b8d190  50 READY        44b6c6  4b8d008       0
0
> tRipTimerTa_ripTimer     4b37768  99 PEND         44b6c6  4b3769c      16
0
> tPortmapd  _portmapd     4b55d00 100 PEND         44b6c6  4b55b54      16
0
> tRipTask   _ripTask      4b4e6d8 100 PEND         44b6c6  4b4e544      16
0
> value = 0 = 0x0
> value = 0 = 0x0
>
> I was also able to execute the load through the execute function.
>
> execute  ld < kanRnew.o
> Loading c:/kk/kanRnew.o |
> value = 3267552 = 0x31dbe0
>
> But when I execute the shell script through the execute function
> it just hangs.
> -> execute "< C:/kk.txt"
> $%%*())It hangs....
>
> It also hangs when I tried to execute it through the "C" code.

Try spawning execute:

- -> sp (execute, "< c:/kk.txt")

Or use the host shell (windShell) instead of the target shell (tShell).

The target shell is a task which runs at priority one,
all functions called directory from the shell (not spawned)
are run within the shell tasks context, with the same priority.

- -j

>
> Can you please let me know where I was wrong.whether I have to add
> any components to make the script to work through execute function.
>
> Thanks,
> Kanna

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

Newsgroups: comp.os.vxworks
Subject: Re: Check sum Error!------ Who can help me?
Date: Thu, 18 Jul 2002 06:36:49 GMT
From: "John Kevin Fabiani" <nospam@nospam.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <5mtZ8.3615$jD.541009956@newssvr16.news.prodigy.com>
References: <e82d8e83.0207142205.33a063a2@posting.google.com> <ah34kc$1c6u$1@mail.cn99.com>

"degang" <wdg@bjhhl.sina.net> wrote in message
news:ah34kc$1c6u$1@mail.cn99.com...
> i have the same problem; i don't know how either
>
> "seasoblue" <seasoblue2000@yahoo.com.cn>
> ??????:e82d8e83.0207142205.33a063a2@posting.google.com...
> > Hi,all
> >   A trouble always troubles me.My debug enviroment includes tornadoII,
> > and Samsung snds100 board which with a arm7tdmi kernel inside.
> >
> >   I have finished connecting target board with my tornadoII,but afer I
> > start up my target server,I get warning messages:
> >
> >     "TGTSVR (arm@seasoblue): Mon Jul 15 13:41:11 2002
> >     Wind River Systems Target Server: NT/Win95 version
> >     Connecting to target agent... succeeded.
> >     Attaching C++ interface... succeeded.
> >     Attaching coff OMF reader for ARM CPU family... succeeded.
> >     Warning: Target checksum: 0xdb3d (computed from 0x1000 to
> > 0x81114).
> >              Host checksum: 0xe96a (computed from 0x69c970 to
> > 0x71ca84).
> >     Warning: Core file checksums do not match."
> >
> > oh,it tells me:checksums do not match! But my target and host do use
> > the SAME core file(vxwork image) in the SAME directory!
> >   Could  anybody give me a hint that how to configure my target server
> > to solve this problem?
> >   Please give an example in detail ,thanks a  lot !
>
>

Pretty sure Leonid hit the nail on the head when he posted:

"What may happen is that a variable (typically assembly, e.g. sysALib.s,
romInit.s) is put by mistake into the code segment, and gets modified in run
time, so its value in RAM would fiffer from its value in file.
This is relatively easily fixed by anyone with BSP experience, and even
easier by the person who wrote this particular BSP initially."

> >     Warning: Target checksum: 0xdb3d (computed from 0x1000 to 0x81114).

0x80114

> >              Host checksum: 0xe96a (computed from 0x69c970 to
> > 0x71ca84).

0x80114.

I'd say Leonid is correct.

- -j

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

Newsgroups: comp.os.vxworks
Subject: VxWorks file system performances
Date: Thu, 18 Jul 2002 09:30:32 +0200
From: "Sani Rus" <rus@iskratel.si>
Message-ID: <ah5qqr$qo01g$1@ID-68549.news.dfncis.de>

Hello group!

Has anybody make any performance measurements running VxWorks file system on
various hard disc configurations. What are typical transfer rates (peak,
average, how much CPU is consumed). I am especially interested in results
obtain on PPC processors with SCSI and in IDE interfaces.

Best regards,

Sani

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

Newsgroups: comp.os.vxworks
Subject: Re: Check sum Error!------ Who can help me?
Date: Thu, 18 Jul 2002 08:43:28 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3D368027.10407@spamm.me.l8s.co.uk>
References: <e82d8e83.0207142205.33a063a2@posting.google.com> <ah34kc$1c6u$1@mail.cn99.com> <5mtZ8.3615$jD.541009956@newssvr16.news.prodigy.com>

> 
> Pretty sure Leonid hit the nail on the head when he posted:
> 
> "What may happen is that a variable (typically assembly, e.g. sysALib.s,
> romInit.s) is put by mistake into the code segment, and gets modified in run
> time, so its value in RAM would fiffer from its value in file.

Indeed - in my experience the checksum error doesn't matter.
Provided, that is, that the target server has the correct vxworks image.
(My system had always patched its own code by the time the target server
could attach...  I then removed the host tools support anyway - I wasn't
using it.)

If it has the wrong image you don't get very far!
(There are no HARD checks for a few items being at the correct
addresses, so the target server will just stomp all over the target
if you have the wrong file.)

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: DHCP binding
Date: Thu, 18 Jul 2002 08:49:19 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3D368185.4090405@spamm.me.l8s.co.uk>
References: <95ebbe31.0207171343.2fbd8a98@posting.google.com>

> 
> Unfortunately, when the callback rountines get called, and I try to do
> a dhcpcParamsGet(), it tells me that the DHCP is not bound. 
> ?!@#$!@!?!?

Yep - it sets that 'parameters valid' flag immediately after the
hook returns :-(

By the time I got that far I'd raised so many TSRs that WRS
had given be the source - so I set the flag before the hook is
called.

You could give a semaphore to a lower priortity task - and
assume that the DHCP code wont sleep before making the parameters
valid.

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: Why vxWorks reboot error?
Date: 18 Jul 2002 01:55:49 -0700
From: westwoods.l@163.net (westwoods)
Organization: http://groups.google.com/
Message-ID: <86bb1c72.0207180055.5babee11@posting.google.com>
References: <86bb1c72.0207152226.3b774c83@posting.google.com> <86bb1c72.0207161804.83ea0ed@posting.google.com> <c129947c.0207170847.16a9024a@posting.google.com>

Thank H.E. Taylor and Vinh!!

My problem has been solved by adding the following codes in 
PHYS_MEM_DESC sysPhysMemDesc[] in sysLib.c :

......
 { (void*) 0x02000000,
   (void*) 0x02000000,
   0x00008000,      /* CS8900 IO map */
   VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE |
VM_STATE_MASK_CACHEABLE,
        VM_STATE_VALID      | VM_STATE_WRITABLE      |
VM_STATE_CACHEABLE_NOT
 }

......
I tracked my code to 850 MMU initialization, and did the above work,
but I do not really know the reason though my csEND is ok now. Waiting
for your anser.
Thanks a lot!

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

Newsgroups: comp.os.vxworks
Subject: Re: Untangling Includes
Date: Thu, 18 Jul 2002 11:32:20 +0200
From: "Martin Raabe" <Martin.Raab@ATNOSPAMBaSystem.de>
Organization: 1&1 Internet AG
Message-ID: <ah61v3$m24$1@news.online.de>
References: <dx_V8.429488$352.57789@sccrnsc02> <Qu0W8.5706$A43.570647@newsread2.prod.itd.earthlink.net> <rjtW8.9056$A43.903585@newsread2.prod.itd.earthlink.net> <ageqod$ios$1@bcarh8ab.ca.nortel.com> <fMrZ8.43876$Wt3.32769@rwcrnsc53>

Hello Tom,
Nortel already uses SNiFF+.
Ask for that also at your site.

Ciao
- --
Martin Raabe
E: Martin.RaabeATNOSPAMBaSystem.de

"Tom Yee" <tomyee3@attbi.com> schrieb im Newsbeitrag
news:fMrZ8.43876$Wt3.32769@rwcrnsc53...
> Thanks, everybody, for all your suggestions! The KLOCwork inSpect tool
looks
> like the best for the purpose.
>
> A really ironic thing, Randy - I'm working at Nortel in Richardson, and
> nobody that I talked with in Richardson was aware of this tool, even
though
> KLOCwork is a spinout from Nortel! On our internal web site, I see that it
> has been used with great success by you guys in Canada!
>
> (Sorry for the double response, Randy. I originally hit "Reply" rather
than
> "Reply Group.")
>
> -Tom
>
> "Randy Macleod" <macleodr@nortel.ca> wrote in message
> news:ageqod$ios$1@bcarh8ab.ca.nortel.com...
> >   Hi,
> >    You might try KLOCworks inSight (klocwork.com).
> > I think it's kind of expensive...
> > but it does everything on your list expect perhaps
> > the forward class declaration vs .h file include suggestion.
> >
> > From their web page:
> > ...code-analysis algorithms to extract software architecture,
> > interactions, logic flow, and execution threads directly from
> > the source code of both full and partialsystems. KLOCwork allows
> > for architectural comprehension, automatic control, and management
> > through its graphic visualization of software architecture,
> > architectural rules setting, and automatic tracking capabilities.
> > KLOCwork also includes an on-the-fly logical error finder for the
> > early detection and removal of defects. With an intuitive,
> > easy-to-use graphical interface ...
> >
> > Good luck,
> > // Randy
> > --
> > // Randy MacLeod
> >     Those that would give up a necessary freedom for temporary safety
> >     deserve neither freedom nor safety. -- Ben Franklin
>
>

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

Newsgroups: comp.os.vxworks
Subject: Windview uninstallation
Date: 18 Jul 2002 03:11:28 -0700
From: be_gyus@yahoo.com (james)
Organization: http://groups.google.com/
Message-ID: <ff42611f.0207180211.38672c74@posting.google.com>

How can i uninstall only the windview tool from the tornado IDE... Is
it possible to do this? Where will i find this uninstall.exe .

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

Newsgroups: comp.os.vxworks
Subject: Re: wind semaphores
Date: Thu, 18 Jul 2002 10:36:16 GMT
From: "Tom Yee" <tomyee3@attbi.com>
Organization: AT&T Broadband
Message-ID: <ASwZ8.557496$352.97684@sccrnsc02>
References: <agfcfd$pjd$1@bcarh8ab.ca.nortel.com> <479ba395.0207092222.76d7d098@posting.google.com>

Couple of questions -
1) In the code I see at work, I see intLock used to protect fairly extensive
activities such as management of shared buffers, lists, etc. How big is "too
big" to use intLock and why?
2) If a task is "never" going to be deleted, why would you need taskSafe?
- -Tom

"rajendra" <rajendra_krsingh@yahoo.com> wrote in message
news:479ba395.0207092222.76d7d098@posting.google.com...
> If you want same functionality what mutex provides and want to be
> faster than that then you need to implement mutex.
>  Use taskSafe and intLock or bindary sem.
>  If your critical section is very small use intLock only (you don't
> need taskSafe in this case) but if critical section is not small then
> you can use
> binary sem.
>  Here is the skelton.
> mySem()
> {
>   taskPrioritySet(tashkIdSelf(), <constant>);
>   taskSafe();
>   if (taskIdSelf() == lastTaskId && mySemCount != 0) {mySemCount++ ;
> return;}
>    lastTaskId = taskIdSelf();
>    mySemCount = 1;
>    semTake(myBSemId, WAIT_FOREVER);
> }
>  Let me know the improvments.
>
> -rajendra
>
>
>
> "Mamoon Khan" <mamoonk@hotmail.com> wrote in message
news:<agfcfd$pjd$1@bcarh8ab.ca.nortel.com>...
> > Hey all you vx Workers out there,
> >
> > I am using Mutual Exclusion Semaphores in my code.  My performance
> > timing went up quiet significantly after adding the semaphore to my
code.
> >
> > Timing it found out that it takes about 4 microseconds to Take and Give
a
> > Semaphore.
> >
> > Is this finding correct and if it is, it seems to be very long for the
type
> > of work I need to do.
> > I need for it to be Priority Inversion safe and task delete safe.
> >
> > Can anyone suggest anything different for this type of operation so I
can
> > save at least 50% of
> > time here.
> >
> > TIA
> >
> > Mamoon

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

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

From vxwexplo-errs@csg.lbl.gov  Thu Jul 18 06:08:25 2002
From: "Joe Welfeld" <jwelfeld@paragon-networks.com>
Date: Thu Jul 18 06:08:27 PDT 2002
Subject: Vision Ice 

I am using a Vision Ice-II (jtag) to debug a PPC 8260 vxworks BSP.  The BSP
was written some time ago and does work. I would like to step through the
boot sequence using the ICE. The problem(s)   I am running into is that we
use a Hard Reset Word other then default,  and we change the IMMR once,  and
BR/OR registers a couple of times during the boot sequence because we are
playing games as to where the FLASH really exists during the boot.  Every
time I step through code,  Either the source cant be found because symbols
don't exist at executing address (flash exists at multiple address's during
the boot),  or if we change the br/or registers then I can no longer step.
The vision ice expects the internal registers to match the target registers,
so how do I continuously step through my boot code,  and view the correct
source code ?

Thanks

Joe Welfeld
jwelfeld@paragon-networks.com

From vxwexplo-errs@csg.lbl.gov  Fri Jul 19 04:03:17 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Fri Jul 19 04:03:20 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Fri Jul 19 04:03:13 PDT 2002

        Subject: Re: Untangling Includes
        Subject: VxSim Download problems
        Subject: Re: Debug Info
        Subject: Re: Memory fragmention
        Subject: Re: wind semaphores
        Subject: Re: wind semaphores
        Subject: problem with POST in WindRiver WebServer 2.0 on vxworks
        Subject: TCP/IP (RFC 2001 & 2018) Implementation for VxWorks
        Subject: Re: tcp latency
        Subject: Re: Why vxWorks reboot error?
        Subject: Re: DHCP binding
        Subject: vxWorks_rom versus vxWorks.st_rom
        Subject: Matlab/VxWorks/dSPACE real-time controller
        Subject: vxWorks USB Driver info requested
        Subject: Re: Check sum Error!------ Who can help me?
        Subject: Re: vxWorks_rom versus vxWorks.st_rom
        Subject: a strange problem with iamge file
        Subject: netClusterGet
        Subject: Re: use java on vxWorks 5.4
        Subject: Re: vxWorks_rom versus vxWorks.st_rom
        Subject: Tornado project file create error
        Subject: Tornado project file create error
        Subject: Re: TCP/IP (RFC 2001 & 2018) Implementation for VxWorks
        Subject: Re: vxWorks USB Driver info requested
        Subject: Re: a strange problem with iamge file
        Subject: Re: Tornado project file create error
        Subject: Re: a strange problem with iamge file
        Subject: Re: wind semaphores
        Subject: Re: wind semaphores
        Subject: Re: wind semaphores
        Subject: Re: wind semaphores
        Subject: Re: wind semaphores
        Subject: Re: wind semaphores
        Subject: Re: wind semaphores

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

Newsgroups: comp.os.vxworks
Subject: Re: Untangling Includes
Date: Thu, 18 Jul 2002 11:05:52 GMT
From: "Tom Yee" <tomyee3@attbi.com>
Organization: AT&T Broadband
Message-ID: <kixZ8.557809$352.98095@sccrnsc02>
References: <dx_V8.429488$352.57789@sccrnsc02> <Qu0W8.5706$A43.570647@newsread2.prod.itd.earthlink.net> <rjtW8.9056$A43.903585@newsread2.prod.itd.earthlink.net> <ageqod$ios$1@bcarh8ab.ca.nortel.com> <fMrZ8.43876$Wt3.32769@rwcrnsc53> <ah61v3$m24$1@news.online.de>

Hi, Martin,
The advantage of inSpect is that it gives highly specific recommendations on
how to optimize header file usage along with estimated savings, so that one
can focus one's efforts on the worst offenders. Sniff+ is a nice IDE - I
used it in a past life (two layoffs ago). But if one wants to reverse
engineer code, there are better tools specifically for that purpose. For
example, I am quite favorably impressed by Imagix www.imagix.com and by
Understand (www.scitools.com) . KLOCwork also provides a reverse engineering
tool (inSight) that I will be checking out on Monday.

Thanks!
- -Tom

"Martin Raabe" <Martin.Raab@ATNOSPAMBaSystem.de> wrote in message
news:ah61v3$m24$1@news.online.de...
> Hello Tom,
> Nortel already uses SNiFF+.
> Ask for that also at your site.
>
> Ciao
> --
> Martin Raabe
> E: Martin.RaabeATNOSPAMBaSystem.de
>
> "Tom Yee" <tomyee3@attbi.com> schrieb im Newsbeitrag
> news:fMrZ8.43876$Wt3.32769@rwcrnsc53...
> > Thanks, everybody, for all your suggestions! The KLOCwork inSpect tool
> looks
> > like the best for the purpose.
> >
> > A really ironic thing, Randy - I'm working at Nortel in Richardson, and
> > nobody that I talked with in Richardson was aware of this tool, even
> though
> > KLOCwork is a spinout from Nortel! On our internal web site, I see that
it
> > has been used with great success by you guys in Canada!
> >
> > (Sorry for the double response, Randy. I originally hit "Reply" rather
> than
> > "Reply Group.")
> >
> > -Tom
> >
> > "Randy Macleod" <macleodr@nortel.ca> wrote in message
> > news:ageqod$ios$1@bcarh8ab.ca.nortel.com...
> > >   Hi,
> > >    You might try KLOCworks inSight (klocwork.com).
> > > I think it's kind of expensive...
> > > but it does everything on your list expect perhaps
> > > the forward class declaration vs .h file include suggestion.
> > >
> > > From their web page:
> > > ...code-analysis algorithms to extract software architecture,
> > > interactions, logic flow, and execution threads directly from
> > > the source code of both full and partialsystems. KLOCwork allows
> > > for architectural comprehension, automatic control, and management
> > > through its graphic visualization of software architecture,
> > > architectural rules setting, and automatic tracking capabilities.
> > > KLOCwork also includes an on-the-fly logical error finder for the
> > > early detection and removal of defects. With an intuitive,
> > > easy-to-use graphical interface ...
> > >
> > > Good luck,
> > > // Randy
> > > --
> > > // Randy MacLeod
> > >     Those that would give up a necessary freedom for temporary safety
> > >     deserve neither freedom nor safety. -- Ben Franklin
> >
> >
>
>

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

Newsgroups: comp.os.vxworks
Subject: VxSim Download problems
Date: 18 Jul 2002 04:17:33 -0700
From: pizzaboy@earthling.net (Ingmar Sittl)
Organization: http://groups.google.com/
Message-ID: <c171af3.0207180317.249f59ec@posting.google.com>

Hi,

we compile our vxworks project within our own Make-Environment using
the switches defined in Tornados SIMNT Makefile. Everything works
fine, at the end of the Make process a .out file is created. When we
try to download this .out file into VxSim (Tornado 2.0), the target
server produces the following warnings:

tgtsvr (vxsim@ER00148P): Thu Jul 18 13:14:41 2002
    Warning: Ignored section 3 (.stab)
    Warning: Ignored section 4 (.stabstr)
    Warning: Unknown symbol type for symbol .stab
    Warning: Unknown symbol type for symbol .stabstr
    Warning: Unknown symbol type for symbol .stab
    Warning: Unknown symbol type for symbol .stabstr

and the download dialog hangs for about 3 minutes on progress 0%,
during which Tornado seems to do nothing. After those 3 minutes the
download dialog disappears and the download seems to have worked. With
a small test application, the download is finished after about 10
seconds, during which the download dialog is showing the correct
progress.

Has anyone any idea what goes wrong here ? I set the target server
cache on 20MB, so that is probably not the problem ...

Thanks,
Ingmar

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

Newsgroups: comp.os.vxworks
Subject: Re: Debug Info
Date: 18 Jul 2002 05:40:40 -0700
From: rajendra_krsingh@yahoo.com (rajendra)
Organization: http://groups.google.com/
Message-ID: <479ba395.0207180440.2f56d6df@posting.google.com>
References: <qerZ8.571246$cQ3.54078@sccrnsc01>

"weddick" <weddick@attbi.com> wrote in message news:<qerZ8.571246$cQ3.54078@sccrnsc01>...
> We currently download our application into the target as one .O file.  When
> we start the debug and attempt to debug a function, the debugger complains
> that the function does not exist.  Yet from the shell you can run the
> function with no problem.  Is there some path/switch setting that needs to
> be configure first?  The object files are compiled with the debug option
> set.
> 
> Thanks,
> Joel

Hi,
  I also faced the problem, Though I don't know the solution but here is what 
I did. Put a breakpoint at the entry routine and called that routine from shell
. After it hits Breakpoint attach it using debugger.
 Now it is just like as you started from debugger.

- -rajendra

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

Newsgroups: comp.os.vxworks
Subject: Re: Memory fragmention
Date: Thu, 18 Jul 2002 14:28:03 GMT
From: "Tom Yee" <tomyee3@attbi.com>
Organization: AT&T Broadband
Message-ID: <TfAZ8.559694$352.97990@sccrnsc02>
References: <8f77d4a.0207162339.59ab7f6d@posting.google.com> <Pine.GSO.4.42.0207170910580.29133-100000@zimbra>

"Keith Arner" <karner@pit.comms.marconi.com> wrote in message
news:Pine.GSO.4.42.0207170910580.29133-100000@zimbra...
> On 17 Jul 2002, Bryan wrote:
>
> > There have been a lot of discussion about memory fragmention.I have
> > some question:
> > 1&#12289;Who can give me a really example about memory fragmention?I
> > don't need the theoretic example.
> > 2&#12289;It seems that memory fragmention is unavoidable if we use
> > malloc/free provided by VxWorks(first-fit),doesn't it?
>
> I will take that statement one step further: memory fragmentation is
> unavoidable.  Reguardless of your allocation strategy, you will always end
> up with some amount of fragmentation (except in extreemly specific, and
> probably unrealistic applications).  The real question is whether your
> allocation strategy is appropriate for your application.
>
> > 3&#12289;There may be a good way to avoid memory fragmention.We
> > allocate a big block memory,then subdivide the block with several
> > queue,each queue composes of same size memory bit.When allocate a
> > memory,we find the most appropriate queue,then obtain the head of the
> > queue to give the applicant.This way avoids use malloc/free
> > function,so meet the demand of the realtime and avoids memory
> > fragmention.
>
> Let's consider a concrete example of this.  You have a queue for objects
> of size 4 and another queue for objects of size 8.  At some point, you
> have 10 elements in the "size 4" list, and 10 elements in the "size 8"
> list.  Allocate 10 objects of size 8.  If you attempt to allocate another
> object of size 8, the allocation will fail, despite the fact that you have
> 40 bytes of memory available.  You've just run into memory fragmentation.
>
> Keith
>
> --
> mv ~karner /loony/bin
>

How about a modification of the above? You have lists for objects of size 4,
8, 16 etc. up to the maximum size required. If a block is required of size 8
and it already exists, pass out a pointer to that block; else allocate a new
block of size 8 and pass out that pointer. When the block is no longer
required return it to the list. Each block would actually have 4 bytes of
dual purpose header which would serve as (a) a "next" pointer while the
block is free; (b) a pointer to the pointer to the head of the list while
the block is allocated. (An integer index to the appropriate list-head
pointer might be safer, since it would be possible to do a sanity check when
the block is being freed.) During initialization, the lists can be
preallocated, but during runtime, they will have the ability to increase
their size if the anticipated high water marks are exceeded. There ought to
be some clever algorithm to minimize the time required to calculate the
appropriate list from which to allocate a block.
- -Tom

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

Newsgroups: comp.os.vxworks
Subject: Re: wind semaphores
Date: Thu, 18 Jul 2002 16:42:25 +0200
From: "Michael Lawnick" <lawnick@bndlg.de>
Organization: Buergernetz Dillingen
Message-ID: <ah6k3o$pvj$1@snoopy.bndlg.de>
References: <agfcfd$pjd$1@bcarh8ab.ca.nortel.com> <479ba395.0207092222.76d7d098@posting.google.com> <ASwZ8.557496$352.97684@sccrnsc02>
Sender: mlawnick@p5088f4b1.dip.t-dialin.net

"Tom Yee" <tomyee3@attbi.com> schrieb im Newsbeitrag
news:ASwZ8.557496$352.97684@sccrnsc02...
> Couple of questions -
> 1) In the code I see at work, I see intLock used to protect fairly
extensive
> activities such as management of shared buffers, lists, etc. How big is
"too
> big" to use intLock and why?
Even
intLock();
intUnlock();
is too big, as it doesn't suround the manipulation of a H/W register that
may be altered by an ISR. That is the only situation that I know, where you
actualy need intLock(). All others may be handled by a high-priority task,
taskLock() or even better a mutex.

> 2) If a task is "never" going to be deleted, why would you need taskSafe?
If I would not know what I'm doing ;-)

HTH Michael

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

Newsgroups: comp.os.vxworks
Subject: Re: wind semaphores
Date: Thu, 18 Jul 2002 17:28:04 +0100
From: "David" <vonarburg.removethis@omnisec.ch>
Message-ID: <3d36de83$0$1381$4d4ef98e@read.news.ch.uu.net>
References: <agfcfd$pjd$1@bcarh8ab.ca.nortel.com> <479ba395.0207092222.76d7d098@posting.google.com> <ASwZ8.557496$352.97684@sccrnsc02> <newscache$40dgzg$gu9$1@lnews.actcom.co.il>

You say, that one should only have 3 lines of simple C Code in an int lock
region.
But if you single step the intLock itself you will see that there is much
more than
3 lines in intLock itself! Even 30 lines and more will not make any problems
in
normal environement.
Dave

"Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM> schrieb im Newsbeitrag
news:newscache$40dgzg$gu9$1@lnews.actcom.co.il...
> Tom,
>
> There are times when using intLock() is the only choise, for example, if
you
> have a pool of buffers, which are used by task(s) and ISR, then to protect
> from race condition between the task and ISR< the task must do intLock().
> Still, proper coding can make the code fragments protected with intLock()
> reasonable short, e.g. up to 3 lines simple "C", even if the buffer scheme
> is rather complex.
>
> If the critical code can not be made short, then ISR should not use this
> data structure.
>
> Regarding taskSafe, it has no other use than preventing the task from
being
> deleted by any other task, but it is otherwise harmless.
>
> "Tom Yee" <tomyee3@attbi.com> wrote in message
> news:ASwZ8.557496$352.97684@sccrnsc02...
> > Couple of questions -
> > 1) In the code I see at work, I see intLock used to protect fairly
> extensive
> > activities such as management of shared buffers, lists, etc. How big is
> "too
> > big" to use intLock and why?
> > 2) If a task is "never" going to be deleted, why would you need
taskSafe?
> > -Tom
>
>

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

Newsgroups: comp.os.vxworks
Subject: problem with POST in WindRiver WebServer 2.0 on vxworks
Date: 18 Jul 2002 08:58:44 -0700
From: xu_xiaoyi@yahoo.com (Xiaoyi Xu)
Organization: http://groups.google.com/
Message-ID: <3dbb2f04.0207180758.64928ac6@posting.google.com>

Hi,

We have run into a problem with WindRiver web server2.0 on vxworks
handling POST request from a browser(MSIE).

The problem happened when we tried to submit a long string (more than
2k
bytes in one field) from browser using POST since browser has a length
limit using GET. We found we can only read part of the string from
stdin, actually it is only first TCP packet of the string, since we
traced it down using a sniffer.

Also we have found using the same client machine, same browser, a
different machine with same web server sw, submitting the same POST
request, we could get the long string we want, but we print out the
env
variable REQUEST_METHOD, it is changed to GET already before we can do
anything to process the string. In the first case, the REQUEST_METHOD
received is POST.

We traced the http request sent out from browser in both above cases,
they are exactly the same request, broken at the same spot.

Is the problem on the browser side or on the webserver side? Is this a
known issue of IE browser? Is there any way to get around this?

Any help would be greatly appreciated.

Xiaoyi Xu

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

Newsgroups: comp.os.vxworks
Subject: TCP/IP (RFC 2001 & 2018) Implementation for VxWorks
Date: 18 Jul 2002 09:00:24 -0700
From: mike.marsicano@itt.com (Mike)
Organization: http://groups.google.com/
Message-ID: <f4284457.0207180800.3c7ea556@posting.google.com>

All:

Looking for any information on source(s) for a VxWorks compatitable
TCP/IP stack implementation of RFC 2001 (Fast Retransmit/Fast
Recovery) and RFC 2018 (Selective Acknowledgement). The only source
I've found is Mentat Inc.  Any experience (positive or negative) with
them would be helpful as well.

Thanks!!!

- -- Mike

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

Newsgroups: comp.os.vxworks
Subject: Re: tcp latency
Date: 18 Jul 2002 11:02:44 -0700
From: raycr@yahoo.com (Raymond Rawa)
Organization: http://groups.google.com/
Message-ID: <6062b16c.0207181002.5974a06@posting.google.com>
References: <f92014ed.0207161954.2a145f10@posting.google.com> <nTmZ8.569574$cQ3.52880@sccrnsc01>

> > I have two PPC603 running Vxworks 5.3.1, they both connect to a
> > solaris host using fast ether net (100 BASE-T), the cable is leen than
> > 20 feet.
> >
> > The two PPCs run the same code, each has a task to poll a tcp socket
> > and the host sends packets to them simultaneously ( less than 0.01
> > sec) from time to time. The packets are very small, usually 4 bytes.
> > However, the PPCs receive the packet at a time difference larger than
> > 0.5 sec.
> > The clock of PPCs are synchronized by a sync card.
> >
> > I don't expect the tcp latency be so large, any suggestion will be
> > appreciated.
> >
> > Regards
> >
> > LM
You might want to take a look at your network switch and your board
support package.  We had problems where the BSP was configured for
half-duplex 100 BASE-T (the default) but the network switch
autodetected a full-duplex 100 BASE-T connection because the card
hardware supported it.

Either change your BSP configuration or tell your network switch to
use half-duplex 100 BASE-T.

We were seeing spurrious latencies as large as 1.3 - 1.5 seconds until
we found and fixed the problem.

- -Ray

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

Newsgroups: comp.os.vxworks
Subject: Re: Why vxWorks reboot error?
Date: 18 Jul 2002 11:55:14 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207181055.2750b688@posting.google.com>
References: <86bb1c72.0207152226.3b774c83@posting.google.com> <86bb1c72.0207161804.83ea0ed@posting.google.com> <c129947c.0207170847.16a9024a@posting.google.com> <86bb1c72.0207180055.5babee11@posting.google.com>

Hello,

> My problem has been solved by adding the following codes in 
> PHYS_MEM_DESC sysPhysMemDesc[] in sysLib.c :
> 
> ......
>  { (void*) 0x02000000,
>    (void*) 0x02000000,
>    0x00008000,      /* CS8900 IO map */
>    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE |
> VM_STATE_MASK_CACHEABLE,
>         VM_STATE_VALID      | VM_STATE_WRITABLE      |
> VM_STATE_CACHEABLE_NOT
>  }
> 
> ......
> I tracked my code to 850 MMU initialization, and did the above work,
> but I do not really know the reason though my csEND is ok now. Waiting
> for your anser.

Without a description of where in memory the registers for your device
are, the MMU will not create a mapping for them. That means that when
you try to access the device you will get an exception (data access on
PPC) since there is no mapping. If you didn't see an exception it
could be because the driver is probing the location first to see if it
is mapped.

Adding the entry above tells VxWorks to provide a mapping of 0x8000
bytes (8 pages) for the CS8900 device at address 0x02000000 (physical
and virtual addresses are equal).

HTH,

John...

> Thanks a lot!

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

Newsgroups: comp.os.vxworks
Subject: Re: DHCP binding
Date: 18 Jul 2002 12:08:53 -0700
From: agraham@openglobe.net (Aaron Graham)
Organization: http://groups.google.com/
Message-ID: <95ebbe31.0207181108.3268633b@posting.google.com>
References: <95ebbe31.0207171343.2fbd8a98@posting.google.com> <3D368185.4090405@spamm.me.l8s.co.uk>

> You could give a semaphore to a lower priortity task - and
> assume that the DHCP code wont sleep before making the parameters
> valid.

I noticed one of your postings awhile ago talked about this same
thing.  So I just put the following line in the code before I do
dhcpcParamsGet()

((struct leaseData*)pCookie)->leaseGood = TRUE;

Ick!!!!  A hack, I know, but seems to work well.

Aaron

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

Newsgroups: comp.os.vxworks
Subject: vxWorks_rom versus vxWorks.st_rom
Date: Thu, 18 Jul 2002 16:21:02 -0400
From: "Granum, Allen [CAR:CF81:EXCH]" <agranum@americasm01.nt.com>
Organization: Nortel Networks
Message-ID: <3D37232E.9186655F@americasm01.nt.com>

Is the only difference between
these two targets the fact
that one is compressed
(vxWorks.st_rom) and the other
is not?

What about the "standalone"
attribute of vxWorks.st_rom?
is vxWorks_rom also considered
"standalone"???

Thanks,

- --
Allen Granum
Nortel Networks
Wireless Internet
BSP Development Team
Email:  agranum@nortelnetworks.com
Phone:  (613)763-4324

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

Newsgroups: comp.os.vxworks
Subject: Matlab/VxWorks/dSPACE real-time controller
Date: Thu, 18 Jul 2002 16:34:58 -0700
From: Jason <jsouder@vehicle.me.berkeley.edu>
Organization: University of California, Berkeley
Message-ID: <3D3750A2.2050102@vehicle.me.berkeley.edu>

I am new (as of today) to this group. I have a question regarding using 
Matlab as a real-time rapid-prototyping controller. I have used 
Simulink, Matlab, Stateflow extensively.

I need to build a real-time controller for a project. The most difficult 
part of the project seems to be generating engine spark and fuel pulses 
relative to a digital encoder signal. The generated pulses need to have 
very accurate (pulse-width and timing). We have done this in the past by 
programming counter-timer chips in C, but with some problems. I can 
provide more details as necessary...

I am looking at dSPACE as an option. I am also considering using RTWT or 
xPC target, but it looks like it has very limited support for doing the 
pulse generation. I also have a copy of VxWorks available. It seems to 
interface with real-time workshop but with limited I/O. We would like to 
code our controller in Simulink/Stateflow and generate code for the RTOS 
fairly quickly.

Any suggestions? All advice is appreciated.

Thanks,
Jason

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

Newsgroups: comp.os.vxworks
Subject: vxWorks USB Driver info requested
Date: Fri, 19 Jul 2002 00:07:32 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <7LIZ8.243215$Uu2.51864@sccrnsc03>

Hello all,

    I was asked by one of my colleagues to post a request for information on
the availability
of the following:

    vxWorks 5.4 Driver for the USB Slave Controller embedded in the
StrongARM1100
or PXA250 (Cotulla).

   Since I am not a USB man, I am sure there are more details required, but
if this peeks
your interest, you can either reply to me directly or post here on the
group, so that my
reluctant colleague can contact you directly. I think the main issue is that
the driver has
to exist right now and not be "in progress". Also, since I am sure there are
many dependencies
on this type of s/w, post any extra information you would need to know
before you would
take this serious. Thanks!

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

Newsgroups: comp.os.vxworks
Subject: Re: Check sum Error!------ Who can help me?
Date: 18 Jul 2002 18:34:39 -0700
From: seasoblue2000@yahoo.com.cn (seasoblue)
Organization: http://groups.google.com/
Message-ID: <e82d8e83.0207181734.4b34e5f5@posting.google.com>
References: <e82d8e83.0207142205.33a063a2@posting.google.com> <ah34kc$1c6u$1@mail.cn99.com> <5mtZ8.3615$jD.541009956@newssvr16.news.prodigy.com> <3D368027.10407@spamm.me.l8s.co.uk>

Thank all above kind man for your help!
I'll try to find what trouble me in the BSP..
btw, i don't know who is the BSP's author.:) 

Have a nice day!

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

Newsgroups: comp.os.vxworks
Subject: Re: vxWorks_rom versus vxWorks.st_rom
Date: Thu, 18 Jul 2002 22:07:40 -0400
From: "Le, Duc [CAR:2O41:EXCH]" <duclei@americasm01.nt.com>
Organization: Nortel Networks
Message-ID: <3D37746C.26854C9B@americasm01.nt.com>
References: <3D37232E.9186655F@americasm01.nt.com>

With vxWorks.st_rom, you can issue vxWorks commands on the console
directly.
With vxWorks_rom, you need to connect to a target server.

Regards,

Duc Le

"Granum, Allen [CAR:CF81:EXCH]" wrote:

> Is the only difference between
> these two targets the fact
> that one is compressed
> (vxWorks.st_rom) and the other
> is not?
>
> What about the "standalone"
> attribute of vxWorks.st_rom?
> is vxWorks_rom also considered
> "standalone"???
>
> Thanks,
>
> --
> Allen Granum
> Nortel Networks
> Wireless Internet
> BSP Development Team
> Email:  agranum@nortelnetworks.com
> Phone:  (613)763-4324

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

Newsgroups: comp.os.vxworks
Subject: a strange problem with iamge file
Date: 18 Jul 2002 19:26:47 -0700
From: zhouzhaohan@yahoo.com (Fred Zhou)
Organization: http://groups.google.com/
Message-ID: <bbaee578.0207181826.898eb5d@posting.google.com>

I am engaged in buiding an image file which will be handlered by a
bootloader(be copy to memory and jump to entry piont).
I am using tornado 2.0 GNU compiler.
after ld, a ELF format file is generated and also a memory mapping
file.
Then I use elftobin supplied by tornado to generate image.
When I compared memory mapping file  with iamge file, I found that
adrress of data in .data segment are not the same .Address  in memory
mapping file is 0x10000 less than address in image file(after adding 
start address).I used my own linker script.
Is it something wrong with elftobin or my linker script, or any other?
Thanks a lot!!!

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

Newsgroups: comp.os.vxworks
Subject: netClusterGet
Date: Fri, 19 Jul 2002 02:28:42 GMT
From: "cfk" <cfk_alter_ego@pacbell.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <uPKZ8.2173$4X5.145265716@newssvr13.news.prodigy.com>

Well, I have not made a network driver for a year and a half, so I am
officially rusty. What I am currently doing is taking templateEnd.c and
trying to build a driver for a new chip on an XScale development system. I
can find my device, write PCI BAR's no problem, but when I try to let the
mux load it, I can see that the load routine is called, and I can see that
the load routine calls the MemInit routine. But in the MemInit, the last
call fails. This is a call to netClusterGet. Both the pNetPool and pClPoolId
pointers are not-null as I can logMsg them. I dont know if they point to
valid objects as I dont know how to use the debugger at boot time with a
vxWorks image being ftped to the target. But the return from netClusterGet
is NULL. The fact that netPoolInit succeeded a few lines before makes me
think that thn the pNetPool member is initialized, but maybe that is a naive
statement. So, I guess I am asking a couple of questions:

1) Which really dumb mistake have I probably made in my zeal to cut to the
chase too quickly?

2) What things can affect getting the memInit routine in templateEnd.c to
run properly and what are the common mistakes that I can look for and see
where I went awry?

3) Is there any way to use the debugger from the Tornado GUI to trace
through a boot of a vxWorks image that is downloaded via the wftpd program
(or is there any way at all, regardless of the wftpd program)?

As always, I am indebted to the sage comments of those in this newsgroup
(and I even appreciate the wisecracks, mostly).

Charles Krinke

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

Newsgroups: comp.os.vxworks
Subject: Re: use java on vxWorks 5.4
Date: 18 Jul 2002 20:07:39 -0700
From: shengb@ssrc.ac.cn (guobao shen)
Organization: http://groups.google.com/
Message-ID: <e56229a1.0207181907.30b683bb@posting.google.com>
References: <e56229a1.0207162128.6eacfa5b@posting.google.com> <A1rZ8.2147$YU5.50744566@newssvr15.news.prodigy.com>

I have added the libgcc.a to the link line and added cvm.o to
MACH_EXTRA, then rebuilt the vxWorks image.
And I must run runJava in tShell using sp or spawn
- ->sp runJava "-Djava.path.class=../testclasses.zip HelloWorld"

On windSh, only need:
- ->runJava "-Djava.path.class=../testclasses.zip HelloWorld"

it runnes correctly.

Thanks,
"John Kevin Fabiani" <nospam@nospam.net> wrote in message news:<A1rZ8.2147$YU5.50744566@newssvr15.news.prodigy.com>...
> ----- Original Message -----
> From: "guobao shen" <shengb@ssrc.ac.cn>
> Newsgroups: comp.os.vxworks
> Sent: Tuesday, July 16, 2002 10:28 PM
> Subject: use java on vxWorks 5.4
> 
> 
> > Hello, everyone,
> > I want to use java on vxWorks5.4.
> > Host is SUN Ultra10/Solaris2.7 SPARC,target is PC pentium.
> > I have downloaded j2me_cdc-1_0-fcs-src-ar-22_Jan_2001.zip,
> > and compile as ~/doc/guide/build.html, after make
> > download_image, I download the vxWorks image to target.
> >
> > and then I download the ~/build/vxworks/target/PC-boot/cvm.o
> > to target, but there are two errors:
> > undefined symbol: ___divdi3
> > undefined symbol: ___moddi3
> 
> You could alter your BSP to add libgcc.a to the link line and
> then add cvm.o to MACH_EXTRA in your BSP Makefile and rebuild.
> This would pull in the needed libs.  Else you could try the makefile below
> which should extract the needed objects from libgcc.a and add them to
> your lib<ARCH>gnuvx.a lib.  You'll still need to pull them into vxWorks
> somehow.
> 
> -j
>

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

Newsgroups: comp.os.vxworks
Subject: Re: vxWorks_rom versus vxWorks.st_rom
Date: 18 Jul 2002 21:02:15 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207182002.6433effb@posting.google.com>
References: <3D37232E.9186655F@americasm01.nt.com>

Hello,

> Is the only difference between
> these two targets the fact
> that one is compressed
> (vxWorks.st_rom) and the other
> is not?
>
> What about the "standalone"
> attribute of vxWorks.st_rom?
> is vxWorks_rom also considered
> "standalone"???

The standalone attribute refers not to the image since both are very
much standalone wrt not needing a host machine to boot from; instead
it refers to the mechanism used to initialise the target-based symbol
table.

Typically, vxWorks_rom does not have the target tools (shell, loader
etc) so does not need a symbol table.

You can read more about this on WindSurf:

http://web2.windriver.com/cgi-bin/windsurf/techtips/public/viewSum.cgi?242

If the link doesn't work, try searching for a tech tip with the title
"vxWorks and bootrom images available" on WindSurf.

HTH,

John...

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

Newsgroups: comp.os.vxworks
Subject: Tornado project file create error
Date: 18 Jul 2002 22:37:02 -0700
From: shlee@aratel.co.kr (sun-hang Lee)
Organization: http://groups.google.com/
Message-ID: <501c84f.0207182137.4864abcd@posting.google.com>

When I am about to create new project in Tornado Tool, it is generated
error message.
That message is "list must have an even number of elements" 
I don't know what mean this message.
Would you help me.

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

Newsgroups: comp.os.vxworks
Subject: Tornado project file create error
Date: 18 Jul 2002 22:40:23 -0700
From: shlee@aratel.co.kr (sun-hang Lee)
Organization: http://groups.google.com/
Message-ID: <501c84f.0207182140.4fab403c@posting.google.com>

When I am about to create new project in Tornado Tool, it is generated
error message.
That message is "list must have an even number of elements" 
I don't know what mean this message.
Would you help me.

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

Newsgroups: comp.os.vxworks
Subject: Re: TCP/IP (RFC 2001 & 2018) Implementation for VxWorks
Date: 18 Jul 2002 22:40:23 -0700
From: rajendra_krsingh@yahoo.com (rajendra)
Organization: http://groups.google.com/
Message-ID: <479ba395.0207182140.b7e3429@posting.google.com>
References: <f4284457.0207180800.3c7ea556@posting.google.com>

Hey Mike,
  You may want to have a look at http://www.teamf1.com/netstack.htm.
They support RFC 2001 and RFC 2018. You can ask for techinical
details.

- -rajendra

mike.marsicano@itt.com (Mike) wrote in message news:<f4284457.0207180800.3c7ea556@posting.google.com>...
> All:
> 
> Looking for any information on source(s) for a VxWorks compatitable
> TCP/IP stack implementation of RFC 2001 (Fast Retransmit/Fast
> Recovery) and RFC 2018 (Selective Acknowledgement). The only source
> I've found is Mentat Inc.  Any experience (positive or negative) with
> them would be helpful as well.
> 
> Thanks!!!
> 
> -- Mike

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

Newsgroups: comp.os.vxworks
Subject: Re: vxWorks USB Driver info requested
Date: Fri, 19 Jul 2002 08:34:36 +0200
From: "Michael Lawnick" <lawnick@bndlg.de>
Organization: Buergernetz Dillingen
Message-ID: <ah8bt2$r95$1@snoopy.bndlg.de>
References: <7LIZ8.243215$Uu2.51864@sccrnsc03>
Sender: mlawnick@pd9524a28.dip.t-dialin.net

Hi drdiags,

ask your FAE for an Early Customer Release of Tornado2.2 It should contain
USB support (incl. Source Code).

HTH
Michael

"drdiags" <drdiags@attbi.com> schrieb im Newsbeitrag
news:7LIZ8.243215$Uu2.51864@sccrnsc03...
> Hello all,
>
>     I was asked by one of my colleagues to post a request for information
on
> the availability
> of the following:
>
>     vxWorks 5.4 Driver for the USB Slave Controller embedded in the
> StrongARM1100
> or PXA250 (Cotulla).
>
>    Since I am not a USB man, I am sure there are more details required,
but
> if this peeks
> your interest, you can either reply to me directly or post here on the
> group, so that my
> reluctant colleague can contact you directly. I think the main issue is
that
> the driver has
> to exist right now and not be "in progress". Also, since I am sure there
are
> many dependencies
> on this type of s/w, post any extra information you would need to know
> before you would
> take this serious. Thanks!
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: a strange problem with iamge file
Date: Fri, 19 Jul 2002 08:31:55 +0200
From: "Michael Lawnick" <lawnick@bndlg.de>
Organization: Buergernetz Dillingen
Message-ID: <ah8bo1$r3b$1@snoopy.bndlg.de>
References: <bbaee578.0207181826.898eb5d@posting.google.com>
Sender: mlawnick@pd9524a28.dip.t-dialin.net

Hi Fred,

as for all others too: Target-Arch, Host-OS, ... :-(

Looking at the starting address, I assume your target is PPC. The tool
elfToBin for PPC is buggy. It only works for bootrom. Ask WRS support for
the patched version for vxWorks-images.
HTH
Michael

"Fred Zhou" <zhouzhaohan@yahoo.com> schrieb im Newsbeitrag
news:bbaee578.0207181826.898eb5d@posting.google.com...
> I am engaged in buiding an image file which will be handlered by a
> bootloader(be copy to memory and jump to entry piont).
> I am using tornado 2.0 GNU compiler.
> after ld, a ELF format file is generated and also a memory mapping
> file.
> Then I use elftobin supplied by tornado to generate image.
> When I compared memory mapping file  with iamge file, I found that
> adrress of data in .data segment are not the same .Address  in memory
> mapping file is 0x10000 less than address in image file(after adding
> start address).I used my own linker script.
> Is it something wrong with elftobin or my linker script, or any other?
> Thanks a lot!!!

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

Newsgroups: comp.os.vxworks
Subject: Re: Tornado project file create error
Date: Fri, 19 Jul 2002 06:53:09 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns92505AFE8F49Eborkhuisagerecom@192.19.193.66>
References: <501c84f.0207182140.4fab403c@posting.google.com>

shlee@aratel.co.kr (sun-hang Lee) wrote:

> When I am about to create new project in Tornado Tool, it is generated
> error message.
> That message is "list must have an even number of elements" 
> I don't know what mean this message.
> Would you help me.

If you go to http://groups.google.com/groups?group=comp.os.vxworks and 
search for this phrase you will see a number of references to this problem.
Now check out the threads "please help" or "problem creating new project" 
for example.

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: a strange problem with iamge file
Date: 18 Jul 2002 23:54:40 -0700
From: be_gyus@yahoo.com (james)
Organization: http://groups.google.com/
Message-ID: <ff42611f.0207182254.4cf7ca0f@posting.google.com>
References: <bbaee578.0207181826.898eb5d@posting.google.com>

Try using objcopy command to generate the bin file

zhouzhaohan@yahoo.com (Fred Zhou) wrote in message news:<bbaee578.0207181826.898eb5d@posting.google.com>...
> I am engaged in buiding an image file which will be handlered by a
> bootloader(be copy to memory and jump to entry piont).
> I am using tornado 2.0 GNU compiler.
> after ld, a ELF format file is generated and also a memory mapping
> file.
> Then I use elftobin supplied by tornado to generate image.
> When I compared memory mapping file  with iamge file, I found that
> adrress of data in .data segment are not the same .Address  in memory
> mapping file is 0x10000 less than address in image file(after adding 
> start address).I used my own linker script.
> Is it something wrong with elftobin or my linker script, or any other?
> Thanks a lot!!!

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

Newsgroups: comp.os.vxworks
Subject: Re: wind semaphores
Date: Fri, 19 Jul 2002 08:42:41 +0200
From: "Michael Lawnick" <lawnick@bndlg.de>
Organization: Buergernetz Dillingen
Message-ID: <ah8cv0$sr4$1@snoopy.bndlg.de>
References: <agfcfd$pjd$1@bcarh8ab.ca.nortel.com> <479ba395.0207092222.76d7d098@posting.google.com> <ASwZ8.557496$352.97684@sccrnsc02> <newscache$40dgzg$gu9$1@lnews.actcom.co.il> <3d36de83$0$1381$4d4ef98e@read.news.ch.uu.net>
Sender: mlawnick@pd9524a28.dip.t-dialin.net

IMO:
It is not a matter of length, but of S/W-design: intLock should never be
used, if not unavoidable.
Any code containing intLock() has to be suspected of bad design until a
compelling proof shows that you can't do it with other means.

Michael

"David" <vonarburg.removethis@omnisec.ch> schrieb im Newsbeitrag
news:3d36de83$0$1381$4d4ef98e@read.news.ch.uu.net...
> You say, that one should only have 3 lines of simple C Code in an int lock
> region.
> But if you single step the intLock itself you will see that there is much
> more than
> 3 lines in intLock itself! Even 30 lines and more will not make any
problems
> in
> normal environement.
> Dave
>
> "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM> schrieb im Newsbeitrag
> news:newscache$40dgzg$gu9$1@lnews.actcom.co.il...
> > Tom,
> >
> > There are times when using intLock() is the only choise, for example, if
> you
> > have a pool of buffers, which are used by task(s) and ISR, then to
protect
> > from race condition between the task and ISR< the task must do
intLock().
> > Still, proper coding can make the code fragments protected with
intLock()
> > reasonable short, e.g. up to 3 lines simple "C", even if the buffer
scheme
> > is rather complex.
> >
> > If the critical code can not be made short, then ISR should not use this
> > data structure.
> >
> > Regarding taskSafe, it has no other use than preventing the task from
> being
> > deleted by any other task, but it is otherwise harmless.
> >
> > "Tom Yee" <tomyee3@attbi.com> wrote in message
> > news:ASwZ8.557496$352.97684@sccrnsc02...
> > > Couple of questions -
> > > 1) In the code I see at work, I see intLock used to protect fairly
> > extensive
> > > activities such as management of shared buffers, lists, etc. How big
is
> > "too
> > > big" to use intLock and why?
> > > 2) If a task is "never" going to be deleted, why would you need
> taskSafe?
> > > -Tom
> >
> >
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: wind semaphores
Date: Fri, 19 Jul 2002 08:13:36 +0100
From: "Martin Dowie" <martin.dowie@nospam.baesystems.com>
Message-ID: <3d37bbe6$1@pull.gecm.com>
References: <agfcfd$pjd$1@bcarh8ab.ca.nortel.com> <479ba395.0207092222.76d7d098@posting.google.com> <ASwZ8.557496$352.97684@sccrnsc02> <newscache$40dgzg$gu9$1@lnews.actcom.co.il> <3d36de83$0$1381$4d4ef98e@read.news.ch.uu.net> <ah8cv0$sr4$1@snoopy.bndlg.de>

"Michael Lawnick" <lawnick@bndlg.de> wrote in message
news:ah8cv0$sr4$1@snoopy.bndlg.de...
> IMO:
> It is not a matter of length, but of S/W-design: intLock should never be
> used, if not unavoidable.
> Any code containing intLock() has to be suspected of bad design until a
> compelling proof shows that you can't do it with other means.

Ok - I have to make 6 byte-wide reads, in a specific order, with no other
task or isr interrupting to force a device to do something. Is this a case
where "intLock()" is the only answer? Or have I missed something?..

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

Newsgroups: comp.os.vxworks
Subject: Re: wind semaphores
Date: Fri, 19 Jul 2002 07:54:06 GMT
From: "Tom Yee" <tomyee3@attbi.com>
Organization: AT&T Broadband
Message-ID: <yAPZ8.568136$352.111950@sccrnsc02>
References: <agfcfd$pjd$1@bcarh8ab.ca.nortel.com> <479ba395.0207092222.76d7d098@posting.google.com> <ASwZ8.557496$352.97684@sccrnsc02> <newscache$40dgzg$gu9$1@lnews.actcom.co.il>

"Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM> wrote in message
news:newscache$40dgzg$gu9$1@lnews.actcom.co.il...
> Tom,
>
> There are times when using intLock() is the only choise, for example, if
you
> have a pool of buffers, which are used by task(s) and ISR, then to protect
> from race condition between the task and ISR< the task must do intLock().

That is precisely the scenario that I have observed in our code.

> Still, proper coding can make the code fragments protected with intLock()
> reasonable short, e.g. up to 3 lines simple "C", even if the buffer scheme
> is rather complex.

I saw about ten times that in not-so-simple "C" (it had loops).

> If the critical code can not be made short, then ISR should not use this
> data structure.

What precisely can go wrong if an ISR spends lots of time in critical code?

> Regarding taskSafe, it has no other use than preventing the task from
being
> deleted by any other task, but it is otherwise harmless.

Actually, I now see that task deletion safety was a stated requirement by
the original poster on this thread (Mamoon Khan), i.e. my question about
taskSafe in rajendra's code skeleton was based on a careless reading of the
problem statement. Oops...  :-(
- -Tom

> "Tom Yee" <tomyee3@attbi.com> wrote in message
> news:ASwZ8.557496$352.97684@sccrnsc02...
> > Couple of questions -
> > 1) In the code I see at work, I see intLock used to protect fairly
> extensive
> > activities such as management of shared buffers, lists, etc. How big is
> "too
> > big" to use intLock and why?
> > 2) If a task is "never" going to be deleted, why would you need
taskSafe?
> > -Tom
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: wind semaphores
Date: Fri, 19 Jul 2002 08:05:29 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3D37C8C4.9000104@spamm.me.l8s.co.uk>
References: <agfcfd$pjd$1@bcarh8ab.ca.nortel.com> <479ba395.0207092222.76d7d098@posting.google.com> <ASwZ8.557496$352.97684@sccrnsc02> <newscache$40dgzg$gu9$1@lnews.actcom.co.il> <3d36de83$0$1381$4d4ef98e@read.news.ch.uu.net> <ah8cv0$sr4$1@snoopy.bndlg.de>

Michael Lawnick wrote:
> IMO:
> It is not a matter of length, but of S/W-design: intLock should never be
> used, if not unavoidable.

B*ll*cks.  It is all a matter of cost and benefit.  If you are doing
something quick that mustn't be interrupted you want the cheapest
function that will do the job.  Quite often this is intlock() after
all doing anything else WILL involve disabling interrupts for a short
time anyway.  Using some complex semaphore will just slow the system
down.

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: wind semaphores
Date: Fri, 19 Jul 2002 08:51:23 GMT
From: "Tom Yee" <tomyee3@attbi.com>
Organization: AT&T Broadband
Message-ID: <fqQZ8.586719$cQ3.76358@sccrnsc01>
References: <agfcfd$pjd$1@bcarh8ab.ca.nortel.com> <479ba395.0207092222.76d7d098@posting.google.com>

"rajendra" <rajendra_krsingh@yahoo.com> wrote in message
news:479ba395.0207092222.76d7d098@posting.google.com...
> If you want same functionality what mutex provides and want to be
> faster than that then you need to implement mutex.
>  Use taskSafe and intLock or bindary sem.
>  If your critical section is very small use intLock only (you don't
> need taskSafe in this case) but if critical section is not small then
> you can use
> binary sem.
>  Here is the skelton.
> mySem()
> {
>   taskPrioritySet(tashkIdSelf(), <constant>);
>   taskSafe();
>   if (taskIdSelf() == lastTaskId && mySemCount != 0) {mySemCount++ ;
> return;}
>    lastTaskId = taskIdSelf();
>    mySemCount = 1;
>    semTake(myBSemId, WAIT_FOREVER);
> }
>  Let me know the improvments.
>
> -rajendra

The above skeleton doesn't look right. I presume lastTaskId is a global
initially set to -1, and that mySemCount is initially 0.
1) Task 1 enters mySem(), has its priority reset, sets lastTaskId to 1, sets
mySemCount to 1, and takes the binary semaphore.
2) Task 2 enters mySem(), has its priority reset, sets lastTaskId to 2, sets
mySemCount to 1, and blocks
3) Task 1 enters mySem(), has its priority reset, sets lastTaskId to 1, sets
mySemCount to 1, and blocks???
And what is the semGive() code supposed to look like?
- -Tom

> "Mamoon Khan" <mamoonk@hotmail.com> wrote in message
news:<agfcfd$pjd$1@bcarh8ab.ca.nortel.com>...
> > Hey all you vx Workers out there,
> >
> > I am using Mutual Exclusion Semaphores in my code.  My performance
> > timing went up quiet significantly after adding the semaphore to my
code.
> >
> > Timing it found out that it takes about 4 microseconds to Take and Give
a
> > Semaphore.
> >
> > Is this finding correct and if it is, it seems to be very long for the
type
> > of work I need to do.
> > I need for it to be Priority Inversion safe and task delete safe.
> >
> > Can anyone suggest anything different for this type of operation so I
can
> > save at least 50% of
> > time here.
> >
> > TIA
> >
> > Mamoon

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

Newsgroups: comp.os.vxworks
Subject: Re: wind semaphores
Date: Fri, 19 Jul 2002 11:33:56 +0200
From: "Michael Lawnick" <lawnick@bndlg.de>
Organization: Buergernetz Dillingen
Message-ID: <ah8md8$dva$1@snoopy.bndlg.de>
References: <agfcfd$pjd$1@bcarh8ab.ca.nortel.com> <479ba395.0207092222.76d7d098@posting.google.com> <ASwZ8.557496$352.97684@sccrnsc02> <newscache$40dgzg$gu9$1@lnews.actcom.co.il> <3d36de83$0$1381$4d4ef98e@read.news.ch.uu.net> <ah8cv0$sr4$1@snoopy.bndlg.de> <3D37C8C4.9000104@spamm.me.l8s.co.uk>
Sender: mlawnick@pd9524a28.dip.t-dialin.net

So go and use *NIX, if interrupt latency is a don't care for you.
Michael

"David Laight" <david@spamm.me.l8s.co.uk> schrieb im Newsbeitrag
news:3D37C8C4.9000104@spamm.me.l8s.co.uk...
> Michael Lawnick wrote:
> > IMO:
> > It is not a matter of length, but of S/W-design: intLock should never be
> > used, if not unavoidable.
>
> B*ll*cks.  It is all a matter of cost and benefit.  If you are doing
> something quick that mustn't be interrupted you want the cheapest
> function that will do the job.  Quite often this is intlock() after
> all doing anything else WILL involve disabling interrupts for a short
> time anyway.  Using some complex semaphore will just slow the system
> down.
>
> David
>

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

Newsgroups: comp.os.vxworks
Subject: Re: wind semaphores
Date: Fri, 19 Jul 2002 11:46:09 +0200
From: "Michael Lawnick" <lawnick@bndlg.de>
Organization: Buergernetz Dillingen
Message-ID: <ah8n45$f79$1@snoopy.bndlg.de>
References: <agfcfd$pjd$1@bcarh8ab.ca.nortel.com> <479ba395.0207092222.76d7d098@posting.google.com> <ASwZ8.557496$352.97684@sccrnsc02> <newscache$40dgzg$gu9$1@lnews.actcom.co.il> <3d36de83$0$1381$4d4ef98e@read.news.ch.uu.net> <ah8cv0$sr4$1@snoopy.bndlg.de> <3d37bbe6$1@pull.gecm.com>
Sender: mlawnick@pd9524a28.dip.t-dialin.net

Hi Martin,

depends on the exact problem:
has the access to be done within minimal time or do you fear that other code
will destroy the access sequence?
The first part is OK, if even an interrupt might be too long when your
access routine works with taskLock().
In the second case, a mutex for device access will do to keep tasks away.
Your device's ISR can be kept out by disabling interupts on the device.
David Laight in his 'B*ll*cks' answer is right when he mentions the costs.
But using intLock() without thinking about easy ways to avoid is degrading
your work. When using intLock() you should be sure you can afford it and
there is no other affordable way.
Do not only think about your driver. There are others too. They may think
the same way - and voila, suddenly you have inacceptable interrupt latencies
and don't know how to manage :-((

Michael

"Martin Dowie" <martin.dowie@nospam.baesystems.com> schrieb im Newsbeitrag
news:3d37bbe6$1@pull.gecm.com...
> "Michael Lawnick" <lawnick@bndlg.de> wrote in message
> news:ah8cv0$sr4$1@snoopy.bndlg.de...
> > IMO:
> > It is not a matter of length, but of S/W-design: intLock should never be
> > used, if not unavoidable.
> > Any code containing intLock() has to be suspected of bad design until a
> > compelling proof shows that you can't do it with other means.
>
> Ok - I have to make 6 byte-wide reads, in a specific order, with no other
> task or isr interrupting to force a device to do something. Is this a case
> where "intLock()" is the only answer? Or have I missed something?..
>
>

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

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

From vxwexplo-errs@csg.lbl.gov  Fri Jul 19 08:00:21 2002
From: "carchitect2002" <carchitect2002@yahoo.com>
Date: Fri Jul 19 08:00:24 PDT 2002
Subject: hi all

hi all
i am very new to this field
can anybody guide me
i need some good site to download vxworks
can u pls help me
regards
kapil

From vxwexplo-errs@csg.lbl.gov  Sat Jul 20 04:03:14 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sat Jul 20 04:03:17 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Sat Jul 20 04:03:10 PDT 2002

        Subject: sysctl()-like operations in VxWorks 5.4??
        Subject: eNavigator code
        Subject: Re: wind semaphores
        Subject: Re: TCP/IP (RFC 2001 & 2018) Implementation for VxWorks
        Subject: Re: wind semaphores
        Subject: Re: wind semaphores
        Subject: Re: wind semaphores
        Subject: Re: wind semaphores
        Subject: VisionCLK cannot find Source Symbol at 0x100
        Subject: Re: Application initialization.
        Subject: attaching to a task
        Subject: Routing tables
        Subject: Re: Routing tables
        Subject: Re: Routing tables
        Subject: Re: wind semaphores
        Subject: Re: Application initialization.
        Subject: can not find the source code using debugger
        Subject: Re: can not find the source code using debugger
        Subject: Re: wind semaphores
        Subject: Re: wind semaphores
        Subject: Re: wind semaphores
        Subject: timeout of sockets in TCPS_ESTABLISHED state without SO_KEEPALIVE option
        Subject: Vxworks BSPs, also for Real-Time Worshop
        Subject: Re: a strange problem with image file
        Subject: how could i get ether address!

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

Newsgroups: comp.os.vxworks
Subject: sysctl()-like operations in VxWorks 5.4??
Date: 19 Jul 2002 11:31:33 GMT
From: <kenny@antslab.cs.nthu.edu.tw>
Organization: Dept. of Computer Science, Nat'l Tsing Hua Univ., Taiwan, R.O.C.
Message-ID: <ah8tal$obe$1@news.cs.nthu.edu.tw>

Hello All,

I am looking for some methods to retrieve all entries in rotuing table.
But VxWorks doesn't provide routing sockets - sysctl operations.

Does VxWroks provide sysctl-like operations?

Thanks.
Kenny

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

Newsgroups: comp.os.vxworks
Subject: eNavigator code
Date: 19 Jul 2002 04:59:43 -0700
From: Marcos.Baldin@br.bosch.com (Marcos)
Organization: http://groups.google.com/
Message-ID: <bd435fff.0207190359.7f71bc20@posting.google.com>

Hello folks!

I would like to know, How can I open a new window (full screen) with
eNavigator code.

Have you know some code for it?

Thanks a lot!

Marcos

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

Newsgroups: comp.os.vxworks
Subject: Re: wind semaphores
Date: Fri, 19 Jul 2002 12:01:54 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3D380013.5020900@spamm.me.l8s.co.uk>
References: <agfcfd$pjd$1@bcarh8ab.ca.nortel.com> <479ba395.0207092222.76d7d098@posting.google.com> <ASwZ8.557496$352.97684@sccrnsc02> <newscache$40dgzg$gu9$1@lnews.actcom.co.il> <3d36de83$0$1381$4d4ef98e@read.news.ch.uu.net> <ah8cv0$sr4$1@snoopy.bndlg.de> <3D37C8C4.9000104@spamm.me.l8s.co.uk> <ah8md8$dva$1@snoopy.bndlg.de>

> So go and use *NIX, if interrupt latency is a don't care for you.

I don't know where the longest piece of code in vxworks that runs
with interrupts disabled is.  I suspect it is at least a few hundred
instructions.  Disabling interrupts for a few lines of code won't
do any harm.

Interrupt latency is more likely to be extended by the execution
time of another ISR....

and yes, I do care about interrupt latency even when writing Unix
device drivers....

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: TCP/IP (RFC 2001 & 2018) Implementation for VxWorks
Date: 19 Jul 2002 06:10:47 -0700
From: mike.marsicano@itt.com (Mike)
Organization: http://groups.google.com/
Message-ID: <f4284457.0207190510.56ca90e5@posting.google.com>
References: <f4284457.0207180800.3c7ea556@posting.google.com>

All Again:

Thanks rajendra for your response.

I'm also interested in understand what VxWorks currently implments...
In documentation they say they implement (RFC 1323) - Are both Fast
Retransmit and Fast Recovery a part of this?  And, in source code it
shows some reference to Selective Acknowledgement but it's commented
w/ "EXPERIMENTAL"????? What exactly does this mean?  From reading RFC
1323 I understand SACK was suggested but it had some technical issues
to be worked out...

Thanks again to all who respond.

- -- Mike

mike.marsicano@itt.com (Mike) wrote in message news:<f4284457.0207180800.3c7ea556@posting.google.com>...
> All:
> 
> Looking for any information on source(s) for a VxWorks compatitable
> TCP/IP stack implementation of RFC 2001 (Fast Retransmit/Fast
> Recovery) and RFC 2018 (Selective Acknowledgement). The only source
> I've found is Mentat Inc.  Any experience (positive or negative) with
> them would be helpful as well.
> 
> Thanks!!!
> 
> -- Mike

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

Newsgroups: comp.os.vxworks
Subject: Re: wind semaphores
Date: Fri, 19 Jul 2002 09:47:19 -0400
From: "Mamoon Khan" <mamoonk@hotmail.com>
Organization: Nortel
Message-ID: <ah954i$a7v$1@bcarh8ab.ca.nortel.com>
References: <agfcfd$pjd$1@bcarh8ab.ca.nortel.com>

Bye the way this is great all this information in this thread.

So I guess it is safe to say that if your scope is very small and you
are absolutely certain that your code will not trap within the intLock()
and intUnlock() it is safe to disable the iterrrupts.

So I did some tests in my code and implemented intLock() and intUnlock()
and got the required results and cut my time by about 60% which is great but
still have to make sure that I don't create any adverse effects on the
system
by disabling the interrupts.

Some people might say that by disabling interrupts we are taking processing
away from more cruicial tasks as compared to using Semaphores.  But to me
its
quiet the contrary.

While it was taking 4 microseconds to acquire a Semaphore and releasing it.
It
now takes 60 % less time to do the same operation.  So actually we have
freed up
60% more time for the CPU to do the processing for other tasks. hmmmm!

Mamoon

"Mamoon Khan" <mamoonk@hotmail.com> wrote in message
news:agfcfd$pjd$1@bcarh8ab.ca.nortel.com...
> Hey all you vx Workers out there,
>
> I am using Mutual Exclusion Semaphores in my code.  My performance
> timing went up quiet significantly after adding the semaphore to my code.
>
> Timing it found out that it takes about 4 microseconds to Take and Give a
> Semaphore.
>
> Is this finding correct and if it is, it seems to be very long for the
type
> of work I need to do.
> I need for it to be Priority Inversion safe and task delete safe.
>
> Can anyone suggest anything different for this type of operation so I can
> save at least 50% of
> time here.
>
> TIA
>
> Mamoon
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: wind semaphores
Date: Fri, 19 Jul 2002 14:14:07 GMT
From: "Tom Yee" <tomyee3@attbi.com>
Organization: AT&T Broadband
Message-ID: <P8VZ8.589199$cQ3.88159@sccrnsc01>
References: <agfcfd$pjd$1@bcarh8ab.ca.nortel.com> <479ba395.0207092222.76d7d098@posting.google.com> <ASwZ8.557496$352.97684@sccrnsc02> <newscache$40dgzg$gu9$1@lnews.actcom.co.il> <yAPZ8.568136$352.111950@sccrnsc02> <newscache$owphzg$xpb$1@lnews.actcom.co.il>

"Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM> wrote in message
news:newscache$owphzg$xpb$1@lnews.actcom.co.il...

> Ultimately, it is the system designer who should decide if any particular
> use of intLock is acceptable for that particular application, which
requires
> a lot of experiense.

Thanks, everybody, for all of your explanations! You've all cleared up a lot
of questions that I had!

<off_topic>
I'm wondering, though, why various sources are so adamant about never having
more than a few simple lines of code protected by an intLock. The VxWorks
Training Workshop, for instance, states "Keep interrupt lock-out time short
(e.g., long enough to set a flag)!" Might there be a historical reason
behind these warnings? I'm speculating that in ancient hardware
architectures, maybe events could get lost or something if the lockout time
was too long?
</off_topic>

- -Tom

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

Newsgroups: comp.os.vxworks
Subject: Re: wind semaphores
Date: Fri, 19 Jul 2002 07:44:21 -0700
From: "Michael R. Kesti" <mkesti@gv.net>
Organization: MK Associates
Message-ID: <3D3825C5.BA0AB408@gv.net>
References: <agfcfd$pjd$1@bcarh8ab.ca.nortel.com> <479ba395.0207092222.76d7d098@posting.google.com> <ASwZ8.557496$352.97684@sccrnsc02> <newscache$40dgzg$gu9$1@lnews.actcom.co.il> <yAPZ8.568136$352.111950@sccrnsc02> <newscache$owphzg$xpb$1@lnews.actcom.co.il> <P8VZ8.589199$cQ3.88159@sccrnsc01>
Reply-To: mkesti@gv.net

Tom Yee wrote:

>Thanks, everybody, for all of your explanations! You've all cleared up a lot
>of questions that I had!
>
><off_topic>

Not really.

>I'm wondering, though, why various sources are so adamant about never having
>more than a few simple lines of code protected by an intLock. The VxWorks
>Training Workshop, for instance, states "Keep interrupt lock-out time short
>(e.g., long enough to set a flag)!"

It is important to remember that complex, difficult to understand engineering
questions always have simple, easy to understand, wrong answers!

>                                    Might there be a historical reason
>behind these warnings? I'm speculating that in ancient hardware
>architectures, maybe events could get lost or something if the lockout time
>was too long?

This and related issues are just as relevant with "modern" hardware.

How long one may disable interrupts in an interrupt driven environment
without causing problems depends on the frequency those interrupts occur
and the time it takes to process them.  Systems can operate without error
as long as there is sufficient interrupt-enabled time to respond to and
process pending interrupts before they again occur.

Simplistic guidelines (e.g., long enough to set a flag) provide criteria
that apply to most systems and result in their proper operation.  They
also serve to cloud the issue because they fail to provide insight into
the actual limitations.

></off_topic>
>
>-Tom

- -- 
========================================================================
          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: Re: wind semaphores
Date: 19 Jul 2002 10:52:50 -0400
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <m2ofd3srb1.fsf@sympatico.ca>
References: <agfcfd$pjd$1@bcarh8ab.ca.nortel.com> <479ba395.0207092222.76d7d098@posting.google.com> <ASwZ8.557496$352.97684@sccrnsc02> <newscache$40dgzg$gu9$1@lnews.actcom.co.il> <yAPZ8.568136$352.111950@sccrnsc02> <newscache$owphzg$xpb$1@lnews.actcom.co.il> <P8VZ8.589199$cQ3.88159@sccrnsc01>
Sender: bpringle@DeadDuck

 Tom> I'm wondering, though, why various sources are so adamant about
 Tom> never having more than a few simple lines of code protected by
 Tom> an intLock. The VxWorks Training Workshop, for instance, states
 Tom> "Keep interrupt lock-out time short (e.g., long enough to set a
 Tom> flag)!" Might there be a historical reason behind these
 Tom> warnings? I'm speculating that in ancient hardware
 Tom> architectures, maybe events could get lost or something if the
 Tom> lockout time was too long?

Have you ever had to track real-time bugs?  Have you ever had to debug
an interrupt routine?  Have you ever had a system missing interrupts,
causing your network stack to become painfully slow?  Have you ever
missed interrupts and caused the "Spurious interrupt" to activate?

The reason to limit intLocks/intUnlocks is that the interrupts are the
heart of any system.  The more complex your code, the more likely you
will exit without calling and inUnlock.  The more likely you will
enter a loop that never terminates.

Never use intLock/inUnlock on complex code.  Too much can go wrong.  I
recently had a discussion with an engineer on this problem.  The
typical vxWorks kernel/scheduler has an instruction that dumps all
registers and then reads all register to perform a task switch.  This
is typically 16 or 32 memory accesses on most RISC platforms.  It could
actually be larger on CISC as multiple instructions with execute.  The
point is that if the intLock/intUnlock code takes less time than this,
it is not going to harm anything as a larger latency always exists.

Actually any scheduler must save/restore registers.  This is done
atomically or a lot of weirdness can result.  The typical interrupt
can cause a re-schedule, so you always wish to have the task registers
in a known state...not half one task/half the other.  So it should
always be permitted to use locking for a brief duration.  If you were
using a loop, you could place intLock/intUnlock inside the loop [your
code is in question to begin with as another poster noted].  As you do
more and more intLocking, it becomes an abuse.  Just as spawning tasks
everywhere _CAN_ indicate bad design.

fwiw,
Bill Pringlemeir.

- -- 
Have you ever tried to make your telephone generate weird AT&T
scenarios?  Or thought it was costly to have six toilets to defend
against the piglet-haters?  Or had your telephone make you feel warm
and fuzzy while driving down the road at 120mph?  You will.  And the
company that will bring it to you: AT&T.

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

Newsgroups: comp.os.vxworks
Subject: VisionCLK cannot find Source Symbol at 0x100
Date: 19 Jul 2002 08:32:57 -0700
From: dengjinsheng@sina.com (dragonheart)
Organization: http://groups.google.com/
Message-ID: <238a6ea8.0207190732.29fa2e5c@posting.google.com>

when i download bootrom_ump.ab and bootrom_ump.BDX into Ram , one
error occurs that no source symbol at 0x100. And I can not see my
rominit.s in source windows. I use vxworks for ppc850. where can i
modify to solve this problem?
Thanks

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

Newsgroups: comp.os.vxworks
Subject: Re: Application initialization.
Date: Fri, 19 Jul 2002 11:26:47 -0500
From: Dinker Charak <dinker@fnal.gov>
Organization: Fermi National Accelerator Laboratory
Message-ID: <3D383DC7.D8EFD585@fnal.gov>
References: <d6e2de0a.0207121035.587fbd08@posting.google.com> <488e459a.0207121526.19a35c69@posting.google.com> <1a047b5a.0207172002.668b1e09@posting.google.com>

> void usrAppInit (void)
>     {
> #ifdef  USER_APPL_INIT
>         USER_APPL_INIT;         /* for backwards compatibility */
> #endif
> 
>  main();   /* add application specific code here */
>     }
> 

main() ...?

are you sure it will work? EABI prohibits main as a application function
name ...

dinker

Raja Ganesan wrote:
> 
> Hi,
> 
> do the following
> 1. create a bootable application
> 2. include your main function (i.e the function name you will type in
> shell) in the file usrAppInit.c like that of the following assuming
> your application starts with the function main().
> 
> void usrAppInit (void)
>     {
> #ifdef  USER_APPL_INIT
>         USER_APPL_INIT;         /* for backwards compatibility */
> #endif
> 
>  main();   /* add application specific code here */
>     }
> 
> then your app will be invoked automatically when ever you boot
> vxworks.
> 
> with regards,
> Raja Ganesan G
> Datec Systems (P) Ltd.
> 
> john_94501@yahoo.com (John) wrote in message news:<488e459a.0207121526.19a35c69@posting.google.com>...
> > Hello,
> >
> > If you are using Tornado & projects, check out section 4.4 in the
> > Tornado User's Guide: Creating a Bootable Application. That describes
> > how to make the application run automatically at boot time from a
> > project.
> >
> > For the command line/BSP oriented method, read this tech note:
> >
> > http://www.windriver.com/windsurf/appnotes/ide/tornado/t2/APN43/WTN43.pdf
> >
> > (you'll need a WindSurf account to access this information).
> >
> > HTH,
> >
> > John...
> >
> >
> > vxworks@india.com (V R R Raju) wrote in message news:<d6e2de0a.0207121035.587fbd08@posting.google.com>...
> > > Hi friends,
> > >
> > > I am trying to make an application. I want my application to be
> > > started as soon as the shell gets activated. That is it has to start
> > > by itself rather than me giving the name at shell. For this which
> > > configuration file did I have to change and where.
> > >
> > > Thanks in advance.
> > >
> > > With regards,
> > >
> > > Rajneesh

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

Newsgroups: comp.os.vxworks
Subject: attaching to a task
Date: Fri, 19 Jul 2002 16:46:52 GMT
From: "cfk" <cfk_alter_ego@pacbell.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <0oXZ8.2404$A32.160533707@newssvr13.news.prodigy.com>

I am trying to run the Tornado debugger after being away from it for a
couple of years so please pardon my naive questions. I wish to be able to
trace tasks with the debugger from as close to the running of a downloaded
vxWorks image as possible. I have configured my target so I can attach a
target server and run a host shell. I have also defined *most* of the WDB
includes and recompiled. When I then run the target, open a shell, run the
debugger and try to attach to a task that I can see is defined, such as
"usrRoot", for instance, the debugger tells me "Failed: invalid task
0xXXXXXXXX". Is there perhaps some configuration constant or some piece of
knowledge that I must be missing that will allow me to attach to a task and
single step through at least some of vxWorks. I know this can be done, as I
have done it in the past, I just cant quite seem to remember how to do it.

Charles

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

Newsgroups: comp.os.vxworks
Subject: Routing tables
Date: 19 Jul 2002 09:48:13 -0700
From: agraham@openglobe.net (Aaron Graham)
Organization: http://groups.google.com/
Message-ID: <95ebbe31.0207190848.bc5279f@posting.google.com>

Could someone enlighten me on how to modify the routing tables?  The
functions mRouteDelete, routeAdd, etc. are all great, but in order to
really be able to have control over the routing table, I need to know
its current state at all times.

There's routeShow function, but programatically, it's useless.  That
is, unless I want to write parsing routines (which I don't).

Not having complete control over the routing tables has been the cause
of countless problems over my last year of working with vxWorks, let
alone all the other networking bugs.

Appreciate the help.
Aaron

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

Newsgroups: comp.os.vxworks
Subject: Re: Routing tables
Date: Fri, 19 Jul 2002 17:21:22 GMT
From: "cfk" <cfk_alter_ego@pacbell.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <mUXZ8.2425$Og2.161367151@newssvr13.news.prodigy.com>
References: <95ebbe31.0207190848.bc5279f@posting.google.com>

Dear Aaron:
    One of the things you might do is read the "vxWorks Network Programmers
Guide", it is very useful. The other thing is you might study usrNetInit in
usrNetwork.c and see how vxWorks manipulates the routing table as it sets up
the network at boot time.

"Aaron Graham" <agraham@openglobe.net> wrote in message
news:95ebbe31.0207190848.bc5279f@posting.google.com...
> Could someone enlighten me on how to modify the routing tables?  The
> functions mRouteDelete, routeAdd, etc. are all great, but in order to
> really be able to have control over the routing table, I need to know
> its current state at all times.
>
> There's routeShow function, but programatically, it's useless.  That
> is, unless I want to write parsing routines (which I don't).
>
> Not having complete control over the routing tables has been the cause
> of countless problems over my last year of working with vxWorks, let
> alone all the other networking bugs.
>
> Appreciate the help.
> Aaron

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

Newsgroups: comp.os.vxworks
Subject: Re: Routing tables
Date: Fri, 19 Jul 2002 17:39:32 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3D384EB0.2050807@spamm.me.l8s.co.uk>
References: <95ebbe31.0207190848.bc5279f@posting.google.com>

Aaron Graham wrote:
> Could someone enlighten me on how to modify the routing tables?  The
> functions mRouteDelete, routeAdd, etc. are all great, but in order to
> really be able to have control over the routing table, I need to know
> its current state at all times.

You are slowly opening a large bag that has things in it you don't
want to touch!

IIRC routeAdd et al dive through acres of interface code and through
'routing sockets' (try following the code with the debugger).
The code that handles the tables was whipped out of a unix kernel
where it doesn't expect to be pre-empted - so does no locking of the
routing tables.  Unfortunately under vxworks it can get pre-empted
by code that tries to change the tables......  Choas ensues.

The static mRouteShow function gives the best dump of the table.
Also you might persuade your FAE to give you some sample code
that walks the route table tree.
(it is a far more complicated structure than an embedded system
is likely to want unless it is using the vxWorks IP stack to
be a router).

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: wind semaphores
Date: Fri, 19 Jul 2002 14:19:36 -0400
From: "Wrather, Ted [NC1:3Z50:EXCH]" <wrather@americasm01.nt.com>
Organization: Nortel Networks
Message-ID: <3D385838.457D79D2@hNoOtSmPaAiMl.com>
References: <agfcfd$pjd$1@bcarh8ab.ca.nortel.com> <ah954i$a7v$1@bcarh8ab.ca.nortel.com>

This is a multi-part message in MIME format.
- --------------D62FF47B403AE214211777EB
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Mamoon Khan wrote:
> 
> Bye the way this is great all this information in this thread.
> 
> So I guess it is safe to say that if your scope is very small and you
> are absolutely certain that your code will not trap within the intLock()
> and intUnlock() it is safe to disable the iterrrupts.
> 
> So I did some tests in my code and implemented intLock() and intUnlock()
> and got the required results and cut my time by about 60% which is great but
> still have to make sure that I don't create any adverse effects on the
> system
> by disabling the interrupts.
> 
> Some people might say that by disabling interrupts we are taking processing
> away from more cruicial tasks as compared to using Semaphores.  But to me
> its
> quiet the contrary.
> 
> While it was taking 4 microseconds to acquire a Semaphore and releasing it.
> It
> now takes 60 % less time to do the same operation.  So actually we have
> freed up
> 60% more time for the CPU to do the processing for other tasks. hmmmm!

Yes, using intLock/intUnlock makes "your" code run faster, but at the expense 
of the entire system.  The point that is missed is that you need to think 
about the rest of the code in the system.  While your code is running locked, 
it is effectively the highest priority code in the system.  Nothing else runs,
not even the handlers for interrupts with hard real time deadlines.
Can you always guarantee that this is OK, now and throughout the life of the 
product?  What if your code is in a library that can be used by any task 
of any priority?  What if your code is in a common code base used across 
multiple products?  Seems to me that this is a dangerous guarantee to make.

If you use calls that use the scheduling constructs of the OS (e.g. mutex, 
message queues, etc.), you let the OS take care of deciding what code should 
be running based on the priorities decided upon at system design time.

I guess you could study the code inside the VxWorks kernel to find the time 
that semTake/semGive locks interrupts when a reschedule is not required.  If
your lock region is smaller, then you could assert that you aren't making
things any worse.  But this is still a moving target if your OS version
changes, target hardware changes, etc.

There are situations where int locking is difficult to avoid (e.g. some ISR 
to task communication schemes).  But using intLock/intUnlock simply because
it is faster than using a mutex is taking a myopic view.  There's more to
consider than just speed.
- --------------D62FF47B403AE214211777EB
Content-Type: text/x-vcard; charset=us-ascii;
 name="wrather.vcf"
Content-Transfer-Encoding: 7bit
Content-Description: Card for Wrather, Ted [NC1:3Z50:EXCH]
Content-Disposition: attachment;
 filename="wrather.vcf"

begin:vcard 
n:Wrather;Ted
tel;fax:(919) 991-4053 / ESN 351-4053
tel;work:(919) 991-4856 / ESN 351-4856
x-mozilla-html:TRUE
org:Nortel Networks;Succession Software Development
version:2.1
email;internet:wrather@nortelnetworks.com
title:Senior Software Engineer
adr;quoted-printable:;;Nortel Networks=0D=0AMailcode D15/02/0B6=0D=0AP.O. Box 13010;RTP;NC;27709;USA
x-mozilla-cpt:;-15744
fn:Ted Wrather
end:vcard

- --------------D62FF47B403AE214211777EB--

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

Newsgroups: comp.os.vxworks
Subject: Re: Application initialization.
Date: Fri, 19 Jul 2002 15:30:15 -0400
From: david lindauer <dlindauer@notifier-is.net>
Message-ID: <3D3868C7.27470484@notifier-is.net>
References: <d6e2de0a.0207121035.587fbd08@posting.google.com> <488e459a.0207121526.19a35c69@posting.google.com> <1a047b5a.0207172002.668b1e09@posting.google.com> <3D383DC7.D8EFD585@fnal.gov>

Dinker Charak wrote:

> > void usrAppInit (void)
> >     {
> > #ifdef  USER_APPL_INIT
> >         USER_APPL_INIT;         /* for backwards compatibility */
> > #endif
> >
> >  main();   /* add application specific code here */
> >     }
> >
>
> main() ...?
>
> are you sure it will work? EABI prohibits main as a application function
> name ...
>

It will work if your main() function is inside a C language source file.  There may be problems if you put your
main() function inside a C++ source file (which is probably why it is prohibited).

David

>
> dinker
>
> Raja Ganesan wrote:
> >
> > Hi,
> >
> > do the following
> > 1. create a bootable application
> > 2. include your main function (i.e the function name you will type in
> > shell) in the file usrAppInit.c like that of the following assuming
> > your application starts with the function main().
> >
> > void usrAppInit (void)
> >     {
> > #ifdef  USER_APPL_INIT
> >         USER_APPL_INIT;         /* for backwards compatibility */
> > #endif
> >
> >  main();   /* add application specific code here */
> >     }
> >
> > then your app will be invoked automatically when ever you boot
> > vxworks.
> >
> > with regards,
> > Raja Ganesan G
> > Datec Systems (P) Ltd.
> >
> > john_94501@yahoo.com (John) wrote in message news:<488e459a.0207121526.19a35c69@posting.google.com>...
> > > Hello,
> > >
> > > If you are using Tornado & projects, check out section 4.4 in the
> > > Tornado User's Guide: Creating a Bootable Application. That describes
> > > how to make the application run automatically at boot time from a
> > > project.
> > >
> > > For the command line/BSP oriented method, read this tech note:
> > >
> > > http://www.windriver.com/windsurf/appnotes/ide/tornado/t2/APN43/WTN43.pdf
> > >
> > > (you'll need a WindSurf account to access this information).
> > >
> > > HTH,
> > >
> > > John...
> > >
> > >
> > > vxworks@india.com (V R R Raju) wrote in message news:<d6e2de0a.0207121035.587fbd08@posting.google.com>...
> > > > Hi friends,
> > > >
> > > > I am trying to make an application. I want my application to be
> > > > started as soon as the shell gets activated. That is it has to start
> > > > by itself rather than me giving the name at shell. For this which
> > > > configuration file did I have to change and where.
> > > >
> > > > Thanks in advance.
> > > >
> > > > With regards,
> > > >
> > > > Rajneesh

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

Newsgroups: comp.os.vxworks
Subject: can not find the source code using debugger
Date: 19 Jul 2002 13:05:56 -0700
From: dragonli@yahoo.com (June)
Organization: http://groups.google.com/
Message-ID: <d48fa963.0207191205.60a5ffed@posting.google.com>

I am experiencing a debugger problem. In Tornado II, after i
successfully started debugger,
1. debugger->run-> task entry: myProgram; Auguments: ...; break at
entry points
2. Tornado prompted a disassembly window (looks like it can not find
the source code. i didn't set the "search source path")
even if i set the "search source path" as the exact place where the
source codes are, it still shows the same thing.
I don't know why. Some time ago i used the same thing and i can debug
in my source code. But recently i reinstalled Tornado II, i don't know
if i missed something when i reinstalled it.
Anybody knows the reasons? Pls tell me. Thank you!

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

Newsgroups: comp.os.vxworks
Subject: Re: can not find the source code using debugger
Date: Fri, 19 Jul 2002 16:20:19 -0400
From: david lindauer <dlindauer@notifier-is.net>
Message-ID: <3D387483.EA9E712C@notifier-is.net>
References: <d48fa963.0207191205.60a5ffed@posting.google.com>

June wrote:

> I am experiencing a debugger problem. In Tornado II, after i
> successfully started debugger,
> 1. debugger->run-> task entry: myProgram; Auguments: ...; break at
> entry points
> 2. Tornado prompted a disassembly window (looks like it can not find
> the source code. i didn't set the "search source path")
> even if i set the "search source path" as the exact place where the
> source codes are, it still shows the same thing.
> I don't know why. Some time ago i used the same thing and i can debug
> in my source code. But recently i reinstalled Tornado II, i don't know
> if i missed something when i reinstalled it.
> Anybody knows the reasons? Pls tell me. Thank you!

did you go to builds window and select the default, then select c/C++
options and click on the 'debug symbols' check box?  If you do that you
will need to recompile everything however.

David

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

Newsgroups: comp.os.vxworks
Subject: Re: wind semaphores
Date: Fri, 19 Jul 2002 21:17:35 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3D388078.8010409@spamm.me.l8s.co.uk>
References: <agfcfd$pjd$1@bcarh8ab.ca.nortel.com> <ah954i$a7v$1@bcarh8ab.ca.nortel.com> <3D385838.457D79D2@hNoOtSmPaAiMl.com>

> 
> Yes, using intLock/intUnlock makes "your" code run faster, but at the expense 
> of the entire system.

I refer back the initial comment of my message from 9:05 this morning.

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: wind semaphores
Date: Fri, 19 Jul 2002 18:19:50 -0400
From: "Wrather, Ted [NC1:3Z50:EXCH]" <wrather@NhOoStPmAaMil.com>
Organization: Nortel
Message-ID: <3D389086.34CABBE1@NhOoStPmAaMil.com>
References: <agfcfd$pjd$1@bcarh8ab.ca.nortel.com> <479ba395.0207092222.76d7d098@posting.google.com> <ASwZ8.557496$352.97684@sccrnsc02> <newscache$40dgzg$gu9$1@lnews.actcom.co.il> <3d36de83$0$1381$4d4ef98e@read.news.ch.uu.net> <ah8cv0$sr4$1@snoopy.bndlg.de> <3D37C8C4.9000104@spamm.me.l8s.co.uk> <ah8md8$dva$1@snoopy.bndlg.de> <3D380013.5020900@spamm.me.l8s.co.uk>

David Laight wrote:
> 
> Interrupt latency is more likely to be extended by the execution
> time of another ISR....

In many systems the interrupts are prioritized such that a higher
priority interrupt can interrupt the lower priority interrupts.  This
keeps the the interrupts with hard real time requirements from being
delayed by interrupts with soft real time requirements (e.g. tty).

Unfortunately, intLock makes no such distinction.

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

Newsgroups: comp.os.vxworks
Subject: Re: wind semaphores
Date: Fri, 19 Jul 2002 18:25:50 -0400
From: "Wrather, Ted [NC1:3Z50:EXCH]" <wrather@NhOoStPmAaMil.com>
Organization: Nortel
Message-ID: <3D3891EE.74324510@NhOoStPmAaMil.com>
References: <agfcfd$pjd$1@bcarh8ab.ca.nortel.com> <ah954i$a7v$1@bcarh8ab.ca.nortel.com> <3D385838.457D79D2@hNoOtSmPaAiMl.com> <3D388078.8010409@spamm.me.l8s.co.uk>

David Laight wrote:

> I refer back the initial comment of my message from 9:05 this morning.

With such a terse reply, it is difficult to determine whether you 
agree or not. 

I agree there is a benefit if you can prove your intLock region is
smaller than the intLock region in the VxWorks mutex code.  However, you
have to keep in mind that this is a moving target as VxWorks changes, your
hardware changes, you change OS's etc.  I believe this is why people use
the rule of thumb that a few lines of C code in an intLock region is OK,
but don't try to do too much.

It all comes down to professional judgment, which is what I believe you were
getting at when you said "It is all a matter of cost and benefit."

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

Newsgroups: comp.os.vxworks,comp.unix.bsd.openbsd.misc
Subject: timeout of sockets in TCPS_ESTABLISHED state without SO_KEEPALIVE option
Date: 19 Jul 2002 15:54:05 -0700
From: vadiko@hotmail.com (Vadim)
Organization: http://groups.google.com/
Message-ID: <7995bbab.0207191454.7cf49dbe@posting.google.com>

It doesn't seem that sockets in TCPS_ESTABLISHED state without
SO_KEEPALIVE option timeout.  We are running a vxWorks stack (with
latest patches from WindRiver), which is based on 4.4BSD code.  After
some investigation I've tracked the problem down to tcp_timers()
function.  The code in question is very similar to Figure 25.16 (page
829) of Stevens' TCP/IP Illustrated Volume 2 (attached below).

    Some of our sockets do not have the SO_KEEPALIVE option.  This
causes the expression in the 'if' statement on line 229 to evaluate to
0.  Thus, the else statement on line 250 resets the TCPT_KEEP timer to
tcp_keepidle (which is 2 hours).

    I put some printfs in the code, which confirmed that sockets
without SO_KEEPALIVE option are never dropped and their TCTP_KEEP
timer is reset every two hours.

    Line 231 checks whether the session has expired; however, it is
not possible to run this code unless the SO_KEEPALIVE is set.

    I looked at the latest OpenBSD code.  It looks like it's been
restructured; however, the logic of tcp_timer_keep() function remained
the same as in 4.4BSD.

    Is there another mechanism that is supposed to drop these sockets?
 Has anyone experienced this problem as well?

225	case TCPT_KEEP:
226		tcpstat.tcps_keeptimeo++;
227		if (tp->t_state < TCPS_ESTABLISHED)
228			goto dropit;
229		if (tp->t_inpcb->inp_socket->so_options & SO_KEEPALIVE &&
230		    tp->t_state <= TCPS_CLOSE_WAIT) {
231		    	if (tp->t_idle >= tcp_keepidle + tcp_maxidle)
232				goto dropit;
233			/*
234			 * Send a packet designed to force a response
235			 * if the peer is up and reachable:
236			 * either an ACK if the connection is still alive,
237			 * or an RST if the peer has closed the connection
238			 * due to timeout or reboot.
239			 * Using sequence number tp->snd_una-1
240			 * causes the transmitted zero-length segment
241			 * to lie outside the receive window;
242			 * by the protocol spec, this requires the
243			 * correspondent TCP to respond.
244			 */
245			tcpstat.tcps_keepprobe++;
246			tcp_respond(tp, mtod(tp->t_template, struct tcpiphdr *), (struct
mbuf *)NULL,
247				    tp->rcv_nxt, tp->snd_una - 1, 0);
248			tp->t_timer[TCPT_KEEP] = tcp_keepintvl;
249		} else
250			tp->t_timer[TCPT_KEEP] = tcp_keepidle;
251		break;
252	dropit:
253		tcpstat.tcps_keepdrops++;
254		tp = tcp_drop(tp, ETIMEDOUT);
255		break;

Thanks,
Vadim

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

Newsgroups: comp.os.vxworks
Subject: Vxworks BSPs, also for Real-Time Worshop
Date: Fri, 19 Jul 2002 17:06:44 -0700
From: Jason <jsouder@vehicle.me.berkeley.edu>
Organization: University of California, Berkeley
Message-ID: <3D38A994.8010004@vehicle.me.berkeley.edu>

Does anyone know where I can find BSPs for counter-timer (PCI,ISA) 
boards for Vxworks? I also need D/A, A/D, PWM support.

Also, anyone used Matlab's RTW to generate Vxworks code? Just curious 
how good it works. I need to build this rapid-prototyping controller.

Thanks,
Jason

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

Newsgroups: comp.os.vxworks
Subject: Re: a strange problem with image file
Date: 19 Jul 2002 17:49:01 -0700
From: zhouzhaohan@yahoo.com (Fred Zhou)
Organization: http://groups.google.com/
Message-ID: <bbaee578.0207191649.7f03bf72@posting.google.com>
References: <bbaee578.0207181826.898eb5d@posting.google.com> <ah8bo1$r3b$1@snoopy.bndlg.de>

"Michael Lawnick" <lawnick@bndlg.de> wrote in message news:<ah8bo1$r3b$1@snoopy.bndlg.de>...
> Hi Fred,
> 
> as for all others too: Target-Arch, Host-OS, ... :-(
> 
> Looking at the starting address, I assume your target is PPC. The tool
> elfToBin for PPC is buggy. It only works for bootrom. Ask WRS support for
> the patched version for vxWorks-images.
> HTH
> Michael
> 
Thanks .But I am using mips tools. And in fact I have also make an
image file under Tornado GUI,and it really works(of course it also
uses elftobin).I reckon maybe I am using some tools in a wrong way,
and should alter some compile options, or linker script,but I do not
know where should I start.

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

Newsgroups: comp.os.vxworks
Subject: how could i get ether address!
Date: 20 Jul 2002 00:52:21 -0700
From: kevingh11@yahoo.com.cn (ghkevin)
Organization: http://groups.google.com/
Message-ID: <bf974224.0207192352.19c2a91a@posting.google.com>

look at these code :

struct ifnet* ifTarget = (struct ifnet*)ifunit("XXX");

//...
//then

memcpy( pEtherAddress, ((struct arpcom*)ifTarget)->ac_enaddr, ETHER_ADDR_LEN);

//...

and compiler 
dereferencing pointer to incomplete type

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

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

From vxwexplo-errs@csg.lbl.gov  Sun Jul 21 04:03:08 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sun Jul 21 04:03:10 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Sun Jul 21 04:03:05 PDT 2002

        Subject: Re: netClusterGet
        Subject: SMC baud rate question
        Subject: Re: about taskDelay and execution time of a task
        Subject: EIOC IOCTL's
        Subject: Re: EIOC IOCTL's
        Subject: Re: EIOC IOCTL's

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

Newsgroups: comp.os.vxworks
Subject: Re: netClusterGet
Date: Sat, 20 Jul 2002 15:44:06 GMT
From: "cfk" <cfk_alter_ego@pacbell.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <azf_8.2651$391.187415784@newssvr13.news.prodigy.com>
References: <uPKZ8.2173$4X5.145265716@newssvr13.news.prodigy.com>

I will answer my own question and pose another in hopes my work will help
others in a similar state. I got a little further along by using
gei82543End.c as my model instead of templateEnd.c. It turns out that I also
have an Intel 82544 gigabit ethernet chip on my target (its the Cyclone
PCI730 XScale, mostly based on the IQ80310 board that Cyclone made for
Intel, but with a dimunitive BSP). Now, I can get past netClusterGet and
return from the load routine with success. But heres the rub. Now, after
endload returns, I can see that a call further along in muxDevLoad is
causing an "Instruction prefetch abort", followed by an "Exception". I am
assuming that something in another structure is not quite right and the mux
has some pointer to a function that is pointing to the *wrong thing*.
Perhaps someone might have some suggestions for further research.

On the debugging bit, I found that I can go debug->run (not attach) and
expect to run some subroutines for which I have the source and are in my
project. Unfortunately, mux initialization is so intimately tied up with
target initialization, that I have to do this after the fact and it is slow
slugging with my inability to trace or single step from the beginning of
usrRoot. Oh Well, such is life.

Charles
"cfk" <cfk_alter_ego@pacbell.net> wrote in message
news:uPKZ8.2173$4X5.145265716@newssvr13.news.prodigy.com...
> Well, I have not made a network driver for a year and a half, so I am
> officially rusty. What I am currently doing is taking templateEnd.c and
> trying to build a driver for a new chip on an XScale development system. I
> can find my device, write PCI BAR's no problem, but when I try to let the
> mux load it, I can see that the load routine is called, and I can see that
> the load routine calls the MemInit routine. But in the MemInit, the last
> call fails. This is a call to netClusterGet. Both the pNetPool and
pClPoolId
> pointers are not-null as I can logMsg them. I dont know if they point to
> valid objects as I dont know how to use the debugger at boot time with a
> vxWorks image being ftped to the target. But the return from netClusterGet
> is NULL. The fact that netPoolInit succeeded a few lines before makes me
> think that thn the pNetPool member is initialized, but maybe that is a
naive
> statement. So, I guess I am asking a couple of questions:
>
> 1) Which really dumb mistake have I probably made in my zeal to cut to the
> chase too quickly?
>
> 2) What things can affect getting the memInit routine in templateEnd.c to
> run properly and what are the common mistakes that I can look for and see
> where I went awry?
>
> 3) Is there any way to use the debugger from the Tornado GUI to trace
> through a boot of a vxWorks image that is downloaded via the wftpd program
> (or is there any way at all, regardless of the wftpd program)?
>
> As always, I am indebted to the sage comments of those in this newsgroup
> (and I even appreciate the wisecracks, mostly).
>
> Charles Krinke
>
>

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

Newsgroups: comp.os.vxworks,comp.sys.powerpc.tech,comp.sys.powerpc.misc
Subject: SMC baud rate question
Date: 20 Jul 2002 11:58:40 -0700
From: ryeung@earthlink.net (Raymond Yeung)
Organization: http://groups.google.com/
Message-ID: <d83bb8e3.0207201058.7cb5ab6e@posting.google.com>

I'm using MPC8260.  Does SMC support autobaud?  It seems from
the manual only SCC supports it.

A separate question here:  If I have a need to run higher speed
data, would it be more CPM efficient to use SMC to implement a serial
link for that purpose at its highest baud rate?  Or would it be
better to implement 10BaseT on SCC?  I've the following requirements:

+ As far as speed is concerned, the highest serial link speed would 
  suffice; I don't really need 10Mbps.
+ I'm more concerned about CPM loading.  WHich implementation would be
  more demanding on CPM?

Thanks,
Raymond

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

Newsgroups: comp.os.vxworks
Subject: Re: about taskDelay and execution time of a task
Date: Sat, 20 Jul 2002 14:25:02 -0400
From: "Cedric Le Roux" <lerouxc@db.erau.edu>
Message-ID: <3d39ab0b$1_1@nopics.sjc>
References: <f14c07cb.0207042210.6c3994b1@posting.google.com> <3D25CCE5.FC407AA3@gv.net> <f14c07cb.0207060049.498bf68e@posting.google.com>

I have seen the time delta method you described in action.  Most
importantly, it is not a strict real-time method of implementing what you
need.  Secondly, as was already mentioned, there will be drift over time.

I have created a very simple real-time executive which requires only the use
of semaphores, and attaching an Interrupt Service Routine to the system
clock.  (using the intConnect() function)

(This code is off the top of my head)
int ClockISR()
{
    semGive(mySemaphore);
    tickAnnounce();
}

Every time the ISR function runs, the only thing it does is give a
semaphore.
Inside your while loop, you take the semaphore.  The result is that on every
clock tick, your loop goes through one iteration.  If you need to run
functions at different rates, simply choose a clock rate that has common
factors with all of your function rates.
For example, if I have 2 function, one at 30Hz and one at 2Hz, then i could
set the clock at 30Hz since the 2Hz function is a factor of 30.  I
presonally like to use 60Hz because you can get 12 different frequencies
into it.

int main()
{
    sysClockRateSet(60);
    intConnect(SYS_CLOCK, ClockISR());
    while(1)
    {
        semTake(mySemaphore);
        /* code here runs exactly 60 times per second */
    }
}

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

Newsgroups: comp.os.vxworks
Subject: EIOC IOCTL's
Date: Sat, 20 Jul 2002 22:57:28 GMT
From: "cfk" <cfk_alter_ego@pacbell.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <sVl_8.2862$Ke4.155417886@newssvr14.news.prodigy.com>
References: <f14c07cb.0207042210.6c3994b1@posting.google.com> <3D25CCE5.FC407AA3@gv.net> <f14c07cb.0207060049.498bf68e@posting.google.com> <3d39ab0b$1_1@nopics.sjc>

I would really appreciate it if someone could explain the notation in end.h
for the various EIOC commands for IOCTLS's. I am printing out the cmd in the
IOCTL subroutine that I am working on and of course, I get a hex number like
0x40046905, which I believe to be EIOCGFLAGS. The reason I believe this is I
can print out from within the template I am starting with and see that this
one corresponds to 0x40046905. What I dont understand is how one gets from:

#define EIOCSFLAGS _IOW('i', 4, int)  to 0x40046905.

There has got to be some macro expansion thing going on here that I dont
understand.

Charles
p.s. Got my driver to the stage where the mux loads it, I can now ipAttach
it and marvel at the IOCTL's flitting by.

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

Newsgroups: comp.os.vxworks
Subject: Re: EIOC IOCTL's
Date: Sun, 21 Jul 2002 00:55:43 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <jEn_8.607632$cQ3.98638@sccrnsc01>
References: <f14c07cb.0207042210.6c3994b1@posting.google.com> <3D25CCE5.FC407AA3@gv.net> <f14c07cb.0207060049.498bf68e@posting.google.com> <3d39ab0b$1_1@nopics.sjc> <sVl_8.2862$Ke4.155417886@newssvr14.news.prodigy.com>

Hello Charles,

  See inserted comments. I am no expert, just trying to help and I hope you
don't
have an aversion for fopen() (attempt at humor....)

"cfk" <cfk_alter_ego@pacbell.net> wrote in message
news:sVl_8.2862$Ke4.155417886@newssvr14.news.prodigy.com...
> I would really appreciate it if someone could explain the notation in
end.h
> for the various EIOC commands for IOCTLS's. I am printing out the cmd in
the
> IOCTL subroutine that I am working on and of course, I get a hex number
like
> 0x40046905, which I believe to be EIOCGFLAGS. The reason I believe this is
I
> can print out from within the template I am starting with and see that
this
> one corresponds to 0x40046905. What I dont understand is how one gets
from:
>
> #define EIOCSFLAGS _IOW('i', 4, int)  to 0x40046905.
>
> There has got to be some macro expansion thing going on here that I dont
> understand.

From target/h/sys/ioctl.h
================

/*
 * Ioctl's have the command encoded in the lower word,
 * and the size of any in or out parameters in the upper
 * word.  The high 2 bits of the upper word are used
 * to encode the in/out status of the parameter; for now
 * we restrict parameters to at most 128 bytes. */

#define IOCPARM_MASK 0x7f  /* parameters must be < 128 bytes */
#define IOC_VOID 0x20000000 /* no parameters */
#define IOC_OUT  0x40000000 /* copy out parameters */
#define IOC_IN  0x80000000 /* copy in parameters */

/* had to change macros from 'x' to (x) and had to pass in litterals as 'i'
 * rather than i, because ANSIc doesn't behave in the same manner as
 * the traditional c compilers
 */

#define _IOW(x,y,t) (IOC_IN|((sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|y)

So I can see 'i' == x == 0x69 shifted 8 == 0x6900
                    4 == y == 0x4                == 0x00000004
                    t == int

So now this is starting to break down unless I missed something.

sizeof(int) == 4 & 0x7f == 0x4 << 16 = 0x40000
IOC_IN == 0x80000000

So I get _IOW('i',4,int) == 0x80046904

I think 0x40046905 == _IOR('i',5,int) or

#define EIOCGFLAGS _IOR('i', 5, int) /* Get device flag */

>
> Charles
> p.s. Got my driver to the stage where the mux loads it, I can now ipAttach
> it and marvel at the IOCTL's flitting by.
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: EIOC IOCTL's
Date: Sun, 21 Jul 2002 04:11:49 GMT
From: "cfk" <cfk_alter_ego@pacbell.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <9wq_8.14$Gk6.1262799@newssvr21.news.prodigy.com>
References: <f14c07cb.0207042210.6c3994b1@posting.google.com> <3D25CCE5.FC407AA3@gv.net> <f14c07cb.0207060049.498bf68e@posting.google.com> <3d39ab0b$1_1@nopics.sjc> <sVl_8.2862$Ke4.155417886@newssvr14.news.prodigy.com> <jEn_8.607632$cQ3.98638@sccrnsc01>

Thanks for pointing that one out. I looked at the sys/ioctl.h earlier this
afternoon, but I should have studied it instead of just blowing it off on my
wild ride today. Thanks for the help. Charles

"drdiags" <drdiags@attbi.com> wrote in message
news:jEn_8.607632$cQ3.98638@sccrnsc01...> Hello Charles,
>
>   See inserted comments. I am no expert, just trying to help and I hope
you
> don't
> have an aversion for fopen() (attempt at humor....)
>

> >
> > #define EIOCSFLAGS _IOW('i', 4, int)  to 0x40046905.
> >
> > There has got to be some macro expansion thing going on here that I dont
> > understand.
>
>
> From target/h/sys/ioctl.h
> ================
>
> /*
>  * Ioctl's have the command encoded in the lower word,
>  * and the size of any in or out parameters in the upper
>  * word.  The high 2 bits of the upper word are used
>  * to encode the in/out status of the parameter; for now
>  * we restrict parameters to at most 128 bytes. */
>
> #define IOCPARM_MASK 0x7f  /* parameters must be < 128 bytes */
> #define IOC_VOID 0x20000000 /* no parameters */
> #define IOC_OUT  0x40000000 /* copy out parameters */
> #define IOC_IN  0x80000000 /* copy in parameters */
>
>
> /* had to change macros from 'x' to (x) and had to pass in litterals as
'i'
>  * rather than i, because ANSIc doesn't behave in the same manner as
>  * the traditional c compilers
>  */
>
> #define _IOW(x,y,t) (IOC_IN|((sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|y)
>
> So I can see 'i' == x == 0x69 shifted 8 == 0x6900
>                     4 == y == 0x4                == 0x00000004
>                     t == int
>
> So now this is starting to break down unless I missed something.
>
> sizeof(int) == 4 & 0x7f == 0x4 << 16 = 0x40000
> IOC_IN == 0x80000000
>
> So I get _IOW('i',4,int) == 0x80046904
>
> I think 0x40046905 == _IOR('i',5,int) or
>
> #define EIOCGFLAGS _IOR('i', 5, int) /* Get device flag */
>
> >

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

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

From vxwexplo-errs@csg.lbl.gov  Sun Jul 21 07:57:43 2002
From: "Rajesh Patwari" <rpatwari@ecs.umass.edu>
Date: Sun Jul 21 07:57:45 PDT 2002
Subject: VxWorks boot on mvme5100 in Psedo-PReP memory mode

This is a multi-part message in MIME format.

------=_NextPart_000_0008_01C230A5.E01B7C70
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi,

Here's some interesting question !

I'have a mvme5100 vme processor module configured for VxWorks as RTOS =
with WindRiver suppled BSP. I can download the programs and run the =
applications.
Recently we have this new Acromag Data Acquisition PMC730 module and I =
have installed it on the processor board. Acromag supplied driver files =
are suitable for mvme2600/2700 boards and I believe only changes I do in =
driver files is to change the terminologies per mv5100.h file in BSP and =
update the memory map as described in bsp documentation.

I am supposed to switch the memory map from Extended_VME to Pseudo-PReP =
memory map to ensure enough memory is assigned to PMC modules.
so I changed the #define EXTENDED_VME to #undef EXTENDED_VME in config.h =
and try to download the new boot kernel to the board....and found the =
board doesn't boot !!!...If  I undo this change, the board boots, i can =
download the program but the CPU refers to some wrong registers =
considering them as PMC I/O space and gives all crab data. Does anybody =
know whether ther are any additional changes I'm supposed to do to have =
the CPU board memory map for Pseudo-PReP mode in order to correctly =
access the PMC I/O registers.

Thanks for your time.

Rajesh Patwari
UMASS-Amherst
ECE Dept - Feedback Controls Lab

------=_NextPart_000_0008_01C230A5.E01B7C70
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.3315.2870" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Hi,</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Here's some interesting question =
!</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>I'have a mvme5100 vme processor module =
configured=20
for VxWorks as RTOS with WindRiver suppled BSP. I can download the =
programs and=20
run the applications.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Recently we have this new Acromag Data =
Acquisition=20
PMC730 module and I have installed it on the processor board. Acromag =
supplied=20
driver files are suitable for mvme2600/2700 boards and I believe only =
changes I=20
do in driver files is to change the terminologies per mv5100.h file in=20
BSP&nbsp;and update the memory map as described in bsp=20
documentation.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>I am supposed to switch the memory map =
from=20
Extended_VME to Pseudo-PReP memory map to ensure enough memory is =
assigned to=20
PMC modules.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>so I changed the #define EXTENDED_VME =
to #undef=20
EXTENDED_VME in config.h and try to download the new boot kernel to the=20
board....and found the board doesn't boot !!!...If&nbsp; I undo this =
change, the=20
board boots, i can download the program but the CPU refers to some wrong =

registers considering them as PMC I/O space and gives all crab data. =
Does=20
anybody know whether ther are any additional changes I'm supposed to do =
to have=20
the CPU board memory map for Pseudo-PReP mode in order to correctly =
access the=20
PMC I/O registers.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Thanks for your time.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Rajesh Patwari</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>UMASS-Amherst</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>ECE Dept - Feedback Controls=20
Lab</FONT></DIV></BODY></HTML>

------=_NextPart_000_0008_01C230A5.E01B7C70--

From vxwexplo-errs@csg.lbl.gov  Mon Jul 22 04:03:09 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Mon Jul 22 04:03:12 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Mon Jul 22 04:03:06 PDT 2002

        Subject: Re: VisionCLK cannot find Source Symbol at 0x100
        Subject: routing & forwarding
        Subject: Can vxworks transmit 2048 bytes within 5ms by TCP/IP?
        Subject: message signaled interrupts (PCI 2.2)
        Subject: search for RS232 Source Code
        Subject: Trouble when linking libraries into target memory using ld ()
        Subject: Re: message signaled interrupts (PCI 2.2)
        Subject: Re: Can vxworks transmit 2048 bytes within 5ms by TCP/IP?
        Subject: Re: Can vxworks transmit 2048 bytes within 5ms by TCP/IP?

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

Newsgroups: comp.os.vxworks
Subject: Re: VisionCLK cannot find Source Symbol at 0x100
Date: 21 Jul 2002 08:22:38 -0700
From: eyalk@radlan.com (Eyal)
Organization: http://groups.google.com/
Message-ID: <a362424b.0207210722.5e46169e@posting.google.com>
References: <238a6ea8.0207190732.29fa2e5c@posting.google.com>

dengjinsheng@sina.com (dragonheart) wrote in message news:<238a6ea8.0207190732.29fa2e5c@posting.google.com>...
> when i download bootrom_ump.ab and bootrom_ump.BDX into Ram , one
> error occurs that no source symbol at 0x100. And I can not see my
> rominit.s in source windows. I use vxworks for ppc850. where can i
> modify to solve this problem?
> Thanks

first, you have to ensure that you compiled the code with debug info.

If so, go to the Project/Load menu, there select the Load Options and
remove the mark from the Ignore Path Info In Symbol File option.

Eyal

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

Newsgroups: comp.os.vxworks
Subject: routing & forwarding
Date: Sun, 21 Jul 2002 19:16:31 GMT
From: "cfk" <cfk_alter_ego@pacbell.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <jMD_8.230$c%5.18052382@newssvr13.news.prodigy.com>

    OK, I have a network driver for my new chip able to do muxDevLoad,
muxDevStart and ipAttach and I have flags that indicate it is UP & RUNNING.
Now for the next twist, which is something I havent done before.

    I need to build my embedded device to act as a mini-router so that all
packets received on ethernet interface0 are sent out ethernet interface1 and
conversely, all packets received on interface1 are then routed out
interface0. Basically, what I am building is an embedded device to forward
packets received on a classic ethernet interface out a new wireless
interface and packets received on my new wireless interface to be sent back
out the classic ethernet interface.

    So, the question is, "How does one tell the network stack that packets
received on interface0 are to be immediately re-transmitted out
interface1?'. And of course the other direction for packets received on the
wireless interface (interface1), need to be retransmitted out interface0.

Charles

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

Newsgroups: comp.os.vxworks
Subject: Can vxworks transmit 2048 bytes within 5ms by TCP/IP?
Date: 21 Jul 2002 20:15:27 -0700
From: seasoblue2000@yahoo.com.cn (seasoblue)
Organization: http://groups.google.com/
Message-ID: <e82d8e83.0207211915.e50546d@posting.google.com>

Hi,all
  when you see the title of this article,maybe you will smile and tell
me:"of course!". But my target board tells me:"I can't!".
  A MCU named samsung's S3C4510B which has a ethernet controler and
two DMA channels,is on my board. I used a DMA channel to collect data
from external device,then transmit data to PC to store by TCP/IP. DMA
IRQ comes per 5.3ms,every times it collect 128 bytes data.per 16 times
DMA IRQ, a send task is actived to send the 2048 bytes.But several
times later, the board always stops sending data without any error
imformation to display ! if I stop DMA IRQ ater the first 16 DMA IRQ,
data can transmit to PC correctly. if I replace the send task with a
led display task ,it can works well. I have to ask: Can vxworks
transmit 2048 bytes within 5ms by TCP/IP? btw, MCU works with 50Mhz
systerm clock.
following is my source code, anyone can anysis it and tell me what
wrong with my code ,my board????
Best Regards
  seasoble

#define SERVER_PORT_NUM         5001   /* server's port number for
bind() */
#define SERVER_WORK_PRIORITY    150     /* priority of server's work
task */
#define SERVER_STACK_SIZE       20000  /* stack size of server's work
task */
#define SERVER_SEND_PRIORITY    151
#define SERVER_READ_PRIORITY    152

SEM_ID sendSemId;
UINT8 frameIndex = 0;
UINT8 readIndex = 0;
#define FRAME_BYTES 128
#define FRAME_NUMS 16
UINT8 frameBuf[FRAME_BYTES*64]; /*8192 bytes*/
UINT8 fifoSt[8192];

void arm7Dma0Irq(int arg)
{ 
	frameIndex++;    
	if((frameIndex%FRAME_NUMS) == 0) 		/*send per 1024 bytes */
	{
		readIndex = frameIndex/FRAME_NUMS;
		readIndex--;      			
		semGive(sendSemId);
	}

    frameIndex = frameIndex%64;
   	writeRegWord(SNDS_GDMASRC0,ExtIOBaseAddr);      /*init DMA
registers*/
    writeRegWord(SNDS_GDMADST0,(int)(&frameBuf[frameIndex*FRAME_BYTES]));
    writeRegWord(SNDS_GDMACNT0,FRAME_BYTES);

	*(volatile UINT32 *)SNDS_GDMACON0 |= 0x1;    /*start dma */
}

STATUS Dma0Init(void)
{

    if(intConnect(INT_LVL_GDMA0,(VOIDFUNCPTR)arm7Dma0Irq,0) == ERROR)
	{
		printf("intConnect failed!\n");
		return ERROR;
	}
    printf("GDMA intConnect successed!\n");

    writeRegWord(SNDS_GDMASRC0,ExtIOBaseAddr);  /*init DMA registers*/
    writeRegWord(SNDS_GDMADST0,(int)frameBuf);
    writeRegWord(SNDS_GDMACNT0,FRAME_BYTES);

	*(volatile UINT32 *)SNDS_IOPMOD &= 0xffffefff;
	*(volatile UINT32 *)SNDS_IOPMOD |= 0x00004000;
 	*(volatile UINT32 *)SNDS_IOPCON |= 0x08400000; /*dmaIrq0: 
enabled,filter off and active low*/
 	*(volatile UINT32 *)SNDS_IOPCON &= 0xfbcfffff;

	if(intEnable(INT_LVL_GDMA0) == ERROR)    /*enable DMA irq*/
    {
		printf("can't enable dma int!\n");
    	return ERROR;
	}
	*(volatile UINT32 *)SNDS_GDMACON0 =  0x0984; 
	*(volatile UINT32 *)SNDS_GDMACON0 |= 0x1;	  /*start dma */
	return OK;
}

STATUS tst(void)   /*main task*/
{
    UINT32 i=0;
    int val;
    int addr = ExtIOBaseAddr;
    UINT8 numMsg = 4;

 	sendSemId = semBCreate(SEM_Q_FIFO, SEM_EMPTY);
 	if(Dma0Init() == ERROR) 
	{
		printf("dmaInit error!\n");
		return ERROR;	
	}
	
	taskSpawn("serverSendTask",SERVER_SEND_PRIORITY,0,20000,(FUNCPTR)serverSendTask,0,0,0,0,0,0,0,0,0,0);
	taskSuspend(0);   
}

STATUS serverSendTask(void)
{
	struct sockaddr_in serverAddr;
	struct sockaddr_in clientAddr;
	int sockAddrSize;
	int sFd;
	int newFd;
	
	sockAddrSize = sizeof(struct sockaddr_in);
	bzero((char *)&serverAddr, sockAddrSize);
	serverAddr.sin_family = AF_INET;
	serverAddr.sin_port = htons(SERVER_PORT_NUM);
	serverAddr.sin_addr.s_addr = htonl(INADDR_ANY);
	if((sFd = socket(AF_INET, SOCK_STREAM, 0)) == ERROR)
	{
		printf("socket error!\n");
		return(ERROR);	
	}
	if(bind(sFd,(struct sockaddr *)&serverAddr, sockAddrSize) == ERROR)
	{
		printf("bind error!\n");
		close(sFd);
		return(ERROR);	
	}
	if(listen(sFd,SERVER_MAX_CONNECTIONS) == ERROR)
	{
		printf("listen error!\n");
		close(sFd);
		return(ERROR);	
	}
	printf("listening...\n");
		if((newFd = accept(sFd, (struct sockaddr
*)&clientAddr,&sockAddrSize)) == ERROR)
		{
			printf("accept error!\n");
			close(sFd);
			return(ERROR);
		}
        printf("accept!\n");
		if(taskSpawn(workName,SERVER_WORK_PRIORITY, 0, SERVER_STACK_SIZE,
(FUNCPTR)tcpServerWorkTask,newFd,
		   (int)inet_ntoa(clientAddr.sin_addr),ntohs(clientAddr.sin_port),0,0,0,0,0,0,0)
== ERROR)
		{
			printf("taskSpawn error!\n");
			close(newFd);	
		}
        printf("start dma!\n");
}

void  tcpServerWorkTask(int sFd, char *address, UINT16 port) /*send
data routine*/
{ 
    int  nRead;          /* number of bytes read */ 
    int  count=0;
    UINT8 led = 0;
    /*struct  readToServer  *data_transfer;*/
  
    int  inform=0;
    int  start;
   
     start=0;
    nRead= read(sFd,buffer,0xff);
    if(strncmp(buffer,"start",5) == 0)
    {
		start=1;
    }

    while(start)
    { 
            semTake(sendSemId, WAIT_FOREVER);
	if(send(sFd,&frameBuf[readIndex*FRAME_BYTES],FRAME_BYTES*FRAME_NUMS,0)
== ERROR){
			     printf("sending to client
ERROR!,size:%d\n",FRAME_BYTES*FRAME_NUMS);
	}       
    }
 
	if (start == 0)                 /* error from read() */
	{
	 	printf("Client requests to stop communication!Server will
terminate.\n");
	 }
	close (sFd);                       
}

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

Newsgroups: comp.os.vxworks
Subject: message signaled interrupts (PCI 2.2)
Date: Mon, 22 Jul 2002 09:50:31 +0200
From: "Michael Lawnick" <lawnick@bndlg.de>
Organization: Buergernetz Dillingen
Message-ID: <ahgdf9$vm$1@snoopy.bndlg.de>
Sender: mlawnick@pd9524cda.dip.t-dialin.net

Hi all,

has anybody already had a system that supports MSI, i.e. the new
PCI-interrupts dedicated to replace INTA-INTD ?
My next system wil be a 440GP that supports MSI. Ebony-BSP on T2.2 does not.
After reading the MSI-part of PCI 2.2 and the register description in user's
manual there remain some doubts about the mechanisms on the 440GP.
As it will still take some weeks until I get my eval-board, I decided to ask
the group.

For those who want to know more or are able to discuss about:
Along PCI2.2, a device may provide MSI capability. If the master-system
accepts, it sets up the device for MSI *instead* of INTA-D. On every event
where the device would normally send an interrupt, it now does a write
cycle. PCI-address and value of this cycle have to be set by the master.
The master itself provides a PCI-accessible register that is sensible for
the write access. Its almost the same as the mailbox-interrupt on VME. The
special thing is, that a device may claim several different interrupts and
the master may select a subset to support.
One benefit of this mechanism is that it allows routing of interrupts on
multi-processor PCI systems.

As far as I understood, the master will setup only one address and value per
device, even when allowing multiple messages. So I see only one way how it
could work:
The device is setup with value x, system allows 4 messages. So the device
will write x on first, x+1 on second, x+2, x+3, x, .... on the following
events. Is that correct ?
So if the system supports 12 MSI and has 3 devices supporting >=4 messages
each, it could setup the devices with the initial values 1,5 and 9 ? I don't
think that the value is binary bound, i.e. 2^1 ... 2^12. This would have
been mentioned in PCI2.2. Any thoughts or experiences ?

Regards,
Michael

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

Newsgroups: comp.os.vxworks
Subject: search for RS232 Source Code
Date: 22 Jul 2002 01:53:24 -0700
From: shengb@ssrc.ac.cn (guobao shen)
Organization: http://groups.google.com/
Message-ID: <e56229a1.0207220053.79b26e2@posting.google.com>

Hello, every one,
Where can I find the C source code of RS232 PC?

Thanks and Regards,
guobao shen

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

Newsgroups: comp.os.vxworks
Subject: Trouble when linking libraries into target memory using ld ()
Date: 22 Jul 2002 02:13:41 -0700
From: mbendtsen@sjm.com (Mikael Bendtsen)
Organization: http://groups.google.com/
Message-ID: <4a8311d7.0207220113.4f1810a7@posting.google.com>

Hi,

Does anyone know why the error below occurs when linking a file into
the target's memory using the following syntax:

ld < dll_name.dll

Loading dll_name.dll -

WTX Error 0x10130 (API_INVALID_ARG)
value = -1 = 0xffffffff

I am downloading to the target via standard 10 Mbit Ethernet.
Occasionally, it works on a second attempt. I have verified that it
has nothing to do with the file being downloaded, and not the target's
hardware either because it worked fine on the same hardware but from a
different host. It seems to be something with the host (standard
Pentium III based Dell PC) or something with the network in that
particular location, any suggestions?

API_INVALID_ARG means an invalid pointer value (for example NULL
pointers) but the only argument to ld (the filename) is indeed valid.
I suspect ld is using other functions that may return the error.

Best regards,

Mikael

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

Newsgroups: comp.os.vxworks
Subject: Re: message signaled interrupts (PCI 2.2)
Date: Mon, 22 Jul 2002 09:50:20 GMT
From: "J. J. Farrell" <jjf@bcs.org.uk>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <wzQ_8.10437$Qk6.10091@newsread1.prod.itd.earthlink.net>
References: <ahgdf9$vm$1@snoopy.bndlg.de>

"Michael Lawnick" <lawnick@bndlg.de> wrote in message
news:ahgdf9$vm$1@snoopy.bndlg.de...
> Hi all,
>
> has anybody already had a system that supports MSI, i.e. the new
> PCI-interrupts dedicated to replace INTA-INTD ?
> ...
>
> As far as I understood, the master will setup only one address and value
per
> device, even when allowing multiple messages. So I see only one way how it
> could work:
> The device is setup with value x, system allows 4 messages. So the device
> will write x on first, x+1 on second, x+2, x+3, x, .... on the following
> events. Is that correct ?
> So if the system supports 12 MSI and has 3 devices supporting >=4 messages
> each, it could setup the devices with the initial values 1,5 and 9 ? I
don't
> think that the value is binary bound, i.e. 2^1 ... 2^12. This would have
> been mentioned in PCI2.2. Any thoughts or experiences ?

I don't really understand the scheme you describe above,
but you seem to be making MSI more complicated than it is.
Unfortunately, the details of how it works depend entirely
on the system's interrupt controller implementation.

When using MSI, the system allocates each PCI device (or
function for a multi-function device) an address to which
to write to raise an interrupt, and a range of 1, 2, 4, or
8 contiguous values to write to that address. The device
indicates how many values it wants to be allocated, and
the system allocates that number or fewer.

To raise an interrupt the device writes one of its
allocated values to its allocated address. That's all there
is to it. It is up to the device to define when and how it
uses the different values it has been allocated.

How these addresses and values are used by the system
depends on the interrupt controller and the OS. They are
meant to enable efficient vectoring of interrupts. An
interrupt controller could have a set of interrupt-raising
registers at different addresses and allocate a different
one to every device, or it could have them all write to
the same address and distinguish interrupt sources by the
value written to the register.

The OS should provide some mechanism to let an interrupt
routine know which of the range of values was written by
the device. For example, it might allow registration of
a different ISR for each of the 1 to 8 values, or it might
pass the value written by the device into a single ISR.
The meaning of the different values is defined by the
device. For example, it might use one value for normal
data interrupts, and others to indicate particular
exception conditions.

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

Newsgroups: comp.os.vxworks
Subject: Re: Can vxworks transmit 2048 bytes within 5ms by TCP/IP?
Date: Mon, 22 Jul 2002 12:29:56 +0200
From: "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM>
Organization: Verio
Message-ID: <newscache$jxbnzg$nxd$1@lnews.actcom.co.il>
References: <e82d8e83.0207211915.e50546d@posting.google.com>

Maybe the problem is your PC, because until the PC
acknowledges it received the data, this data will remain in the
senders socket, and when the socket buffer is full, your transmit
task will wait.

2KBytes every 5 millisecond, i.e. 200 Hz = 400 KBytes/second = 3.2 Mbits/sec

This should work, but you can write a simple "simulated sender" on another
PC only to test that your received PC can withstand this speed.

Obviously I hope you increased the sender socket buffer to at least
64KBytes.

- - Leonid

"seasoblue" <seasoblue2000@yahoo.com.cn> wrote in message
news:e82d8e83.0207211915.e50546d@posting.google.com...
> Hi,all
>   when you see the title of this article,maybe you will smile and tell
> me:"of course!". But my target board tells me:"I can't!".
>   A MCU named samsung's S3C4510B which has a ethernet controler and
> two DMA channels,is on my board. I used a DMA channel to collect data
> from external device,then transmit data to PC to store by TCP/IP. DMA
> IRQ comes per 5.3ms,every times it collect 128 bytes data.per 16 times
> DMA IRQ, a send task is actived to send the 2048 bytes.But several
> times later, the board always stops sending data without any error
> imformation to display ! if I stop DMA IRQ ater the first 16 DMA IRQ,
> data can transmit to PC correctly. if I replace the send task with a
> led display task ,it can works well. I have to ask: Can vxworks
> transmit 2048 bytes within 5ms by TCP/IP? btw, MCU works with 50Mhz
> systerm clock.
> following is my source code, anyone can anysis it and tell me what
> wrong with my code ,my board????
> Best Regards
>   seasoble
>
> #define SERVER_PORT_NUM         5001   /* server's port number for
> bind() */
> #define SERVER_WORK_PRIORITY    150     /* priority of server's work
> task */
> #define SERVER_STACK_SIZE       20000  /* stack size of server's work
> task */
> #define SERVER_SEND_PRIORITY    151
> #define SERVER_READ_PRIORITY    152
>
> SEM_ID sendSemId;
> UINT8 frameIndex = 0;
> UINT8 readIndex = 0;
> #define FRAME_BYTES 128
> #define FRAME_NUMS 16
> UINT8 frameBuf[FRAME_BYTES*64]; /*8192 bytes*/
> UINT8 fifoSt[8192];
>
>
> void arm7Dma0Irq(int arg)
> {
> frameIndex++;
> if((frameIndex%FRAME_NUMS) == 0) /*send per 1024 bytes */
> {
> readIndex = frameIndex/FRAME_NUMS;
> readIndex--;
> semGive(sendSemId);
> }
>
>     frameIndex = frameIndex%64;
>    writeRegWord(SNDS_GDMASRC0,ExtIOBaseAddr);      /*init DMA
> registers*/
>     writeRegWord(SNDS_GDMADST0,(int)(&frameBuf[frameIndex*FRAME_BYTES]));
>     writeRegWord(SNDS_GDMACNT0,FRAME_BYTES);
>
> *(volatile UINT32 *)SNDS_GDMACON0 |= 0x1;    /*start dma */
> }
>
> STATUS Dma0Init(void)
> {
>
>     if(intConnect(INT_LVL_GDMA0,(VOIDFUNCPTR)arm7Dma0Irq,0) == ERROR)
> {
> printf("intConnect failed!\n");
> return ERROR;
> }
>     printf("GDMA intConnect successed!\n");
>
>     writeRegWord(SNDS_GDMASRC0,ExtIOBaseAddr);  /*init DMA registers*/
>     writeRegWord(SNDS_GDMADST0,(int)frameBuf);
>     writeRegWord(SNDS_GDMACNT0,FRAME_BYTES);
>
> *(volatile UINT32 *)SNDS_IOPMOD &= 0xffffefff;
> *(volatile UINT32 *)SNDS_IOPMOD |= 0x00004000;
>   *(volatile UINT32 *)SNDS_IOPCON |= 0x08400000; /*dmaIrq0:
> enabled,filter off and active low*/
>   *(volatile UINT32 *)SNDS_IOPCON &= 0xfbcfffff;
>
> if(intEnable(INT_LVL_GDMA0) == ERROR)    /*enable DMA irq*/
>     {
> printf("can't enable dma int!\n");
>     return ERROR;
> }
> *(volatile UINT32 *)SNDS_GDMACON0 =  0x0984;
> *(volatile UINT32 *)SNDS_GDMACON0 |= 0x1;   /*start dma */
> return OK;
> }
>
> STATUS tst(void)   /*main task*/
> {
>     UINT32 i=0;
>     int val;
>     int addr = ExtIOBaseAddr;
>     UINT8 numMsg = 4;
>
>   sendSemId = semBCreate(SEM_Q_FIFO, SEM_EMPTY);
>   if(Dma0Init() == ERROR)
> {
> printf("dmaInit error!\n");
> return ERROR;
> }
>
>
taskSpawn("serverSendTask",SERVER_SEND_PRIORITY,0,20000,(FUNCPTR)serverSendT
ask,0,0,0,0,0,0,0,0,0,0);
> taskSuspend(0);
> }
>
> STATUS serverSendTask(void)
> {
> struct sockaddr_in serverAddr;
> struct sockaddr_in clientAddr;
> int sockAddrSize;
> int sFd;
> int newFd;
>
> sockAddrSize = sizeof(struct sockaddr_in);
> bzero((char *)&serverAddr, sockAddrSize);
> serverAddr.sin_family = AF_INET;
> serverAddr.sin_port = htons(SERVER_PORT_NUM);
> serverAddr.sin_addr.s_addr = htonl(INADDR_ANY);
> if((sFd = socket(AF_INET, SOCK_STREAM, 0)) == ERROR)
> {
> printf("socket error!\n");
> return(ERROR);
> }
> if(bind(sFd,(struct sockaddr *)&serverAddr, sockAddrSize) == ERROR)
> {
> printf("bind error!\n");
> close(sFd);
> return(ERROR);
> }
> if(listen(sFd,SERVER_MAX_CONNECTIONS) == ERROR)
> {
> printf("listen error!\n");
> close(sFd);
> return(ERROR);
> }
> printf("listening...\n");
> if((newFd = accept(sFd, (struct sockaddr
> *)&clientAddr,&sockAddrSize)) == ERROR)
> {
> printf("accept error!\n");
> close(sFd);
> return(ERROR);
> }
>         printf("accept!\n");
> if(taskSpawn(workName,SERVER_WORK_PRIORITY, 0, SERVER_STACK_SIZE,
> (FUNCPTR)tcpServerWorkTask,newFd,
>
(int)inet_ntoa(clientAddr.sin_addr),ntohs(clientAddr.sin_port),0,0,0,0,0,0,0
)
> == ERROR)
> {
> printf("taskSpawn error!\n");
> close(newFd);
> }
>         printf("start dma!\n");
> }
>
> void  tcpServerWorkTask(int sFd, char *address, UINT16 port) /*send
> data routine*/
> {
>     int  nRead;          /* number of bytes read */
>     int  count=0;
>     UINT8 led = 0;
>     /*struct  readToServer  *data_transfer;*/
>
>     int  inform=0;
>     int  start;
>
>      start=0;
>     nRead= read(sFd,buffer,0xff);
>     if(strncmp(buffer,"start",5) == 0)
>     {
> start=1;
>     }
>
>     while(start)
>     {
>             semTake(sendSemId, WAIT_FOREVER);
> if(send(sFd,&frameBuf[readIndex*FRAME_BYTES],FRAME_BYTES*FRAME_NUMS,0)
> == ERROR){
>      printf("sending to client
> ERROR!,size:%d\n",FRAME_BYTES*FRAME_NUMS);
> }
>     }
>
> if (start == 0)                 /* error from read() */
> {
> printf("Client requests to stop communication!Server will
> terminate.\n");
> }
> close (sFd);
> }

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

Newsgroups: comp.os.vxworks
Subject: Re: Can vxworks transmit 2048 bytes within 5ms by TCP/IP?
Date: Mon, 22 Jul 2002 06:48:32 -0400
From: joe durusau <durusau@bellsouth.net>
Organization: WEBUSENET.com
Message-ID: <3D3BE300.6D1E1EFC@bellsouth.net>
References: <e82d8e83.0207211915.e50546d@posting.google.com> <newscache$jxbnzg$nxd$1@lnews.actcom.co.il>

    3.2 megabits per second is dmn near the theoretical limit for 10baseT
if there are other host on the net.  If you are in a quiest net, (i.e. two hosts

just wired together), it might work.  If you are using 100baseT you would
have a better chance or it working.  Of course, as the prev. poster remarked,
you need huge buffers to allow all that data to get around, and you need
some luck.  I would suspect that this would not work if you were running
WDB at the same time, just because of net traffic.

Speaking only for myself,

Joe Durusau

Leonid Rosenboim wrote:

> Maybe the problem is your PC, because until the PC
> acknowledges it received the data, this data will remain in the
> senders socket, and when the socket buffer is full, your transmit
> task will wait.
>
> 2KBytes every 5 millisecond, i.e. 200 Hz = 400 KBytes/second = 3.2 Mbits/sec
>
> This should work, but you can write a simple "simulated sender" on another
> PC only to test that your received PC can withstand this speed.
>
> Obviously I hope you increased the sender socket buffer to at least
> 64KBytes.
>
> - Leonid
>
> "seasoblue" <seasoblue2000@yahoo.com.cn> wrote in message
> news:e82d8e83.0207211915.e50546d@posting.google.com...
> > Hi,all
> >   when you see the title of this article,maybe you will smile and tell
> > me:"of course!". But my target board tells me:"I can't!".
> >   A MCU named samsung's S3C4510B which has a ethernet controler and
> > two DMA channels,is on my board. I used a DMA channel to collect data
> > from external device,then transmit data to PC to store by TCP/IP. DMA
> > IRQ comes per 5.3ms,every times it collect 128 bytes data.per 16 times
> > DMA IRQ, a send task is actived to send the 2048 bytes.But several
> > times later, the board always stops sending data without any error
> > imformation to display ! if I stop DMA IRQ ater the first 16 DMA IRQ,
> > data can transmit to PC correctly. if I replace the send task with a
> > led display task ,it can works well. I have to ask: Can vxworks
> > transmit 2048 bytes within 5ms by TCP/IP? btw, MCU works with 50Mhz
> > systerm clock.
> > following is my source code, anyone can anysis it and tell me what
> > wrong with my code ,my board????
> > Best Regards
> >   seasoble
> >
> > #define SERVER_PORT_NUM         5001   /* server's port number for
> > bind() */
> > #define SERVER_WORK_PRIORITY    150     /* priority of server's work
> > task */
> > #define SERVER_STACK_SIZE       20000  /* stack size of server's work
> > task */
> > #define SERVER_SEND_PRIORITY    151
> > #define SERVER_READ_PRIORITY    152
> >
> > SEM_ID sendSemId;
> > UINT8 frameIndex = 0;
> > UINT8 readIndex = 0;
> > #define FRAME_BYTES 128
> > #define FRAME_NUMS 16
> > UINT8 frameBuf[FRAME_BYTES*64]; /*8192 bytes*/
> > UINT8 fifoSt[8192];
> >
> >
> > void arm7Dma0Irq(int arg)
> > {
> > frameIndex++;
> > if((frameIndex%FRAME_NUMS) == 0) /*send per 1024 bytes */
> > {
> > readIndex = frameIndex/FRAME_NUMS;
> > readIndex--;
> > semGive(sendSemId);
> > }
> >
> >     frameIndex = frameIndex%64;
> >    writeRegWord(SNDS_GDMASRC0,ExtIOBaseAddr);      /*init DMA
> > registers*/
> >     writeRegWord(SNDS_GDMADST0,(int)(&frameBuf[frameIndex*FRAME_BYTES]));
> >     writeRegWord(SNDS_GDMACNT0,FRAME_BYTES);
> >
> > *(volatile UINT32 *)SNDS_GDMACON0 |= 0x1;    /*start dma */
> > }
> >
> > STATUS Dma0Init(void)
> > {
> >
> >     if(intConnect(INT_LVL_GDMA0,(VOIDFUNCPTR)arm7Dma0Irq,0) == ERROR)
> > {
> > printf("intConnect failed!\n");
> > return ERROR;
> > }
> >     printf("GDMA intConnect successed!\n");
> >
> >     writeRegWord(SNDS_GDMASRC0,ExtIOBaseAddr);  /*init DMA registers*/
> >     writeRegWord(SNDS_GDMADST0,(int)frameBuf);
> >     writeRegWord(SNDS_GDMACNT0,FRAME_BYTES);
> >
> > *(volatile UINT32 *)SNDS_IOPMOD &= 0xffffefff;
> > *(volatile UINT32 *)SNDS_IOPMOD |= 0x00004000;
> >   *(volatile UINT32 *)SNDS_IOPCON |= 0x08400000; /*dmaIrq0:
> > enabled,filter off and active low*/
> >   *(volatile UINT32 *)SNDS_IOPCON &= 0xfbcfffff;
> >
> > if(intEnable(INT_LVL_GDMA0) == ERROR)    /*enable DMA irq*/
> >     {
> > printf("can't enable dma int!\n");
> >     return ERROR;
> > }
> > *(volatile UINT32 *)SNDS_GDMACON0 =  0x0984;
> > *(volatile UINT32 *)SNDS_GDMACON0 |= 0x1;   /*start dma */
> > return OK;
> > }
> >
> > STATUS tst(void)   /*main task*/
> > {
> >     UINT32 i=0;
> >     int val;
> >     int addr = ExtIOBaseAddr;
> >     UINT8 numMsg = 4;
> >
> >   sendSemId = semBCreate(SEM_Q_FIFO, SEM_EMPTY);
> >   if(Dma0Init() == ERROR)
> > {
> > printf("dmaInit error!\n");
> > return ERROR;
> > }
> >
> >
> taskSpawn("serverSendTask",SERVER_SEND_PRIORITY,0,20000,(FUNCPTR)serverSendT
> ask,0,0,0,0,0,0,0,0,0,0);
> > taskSuspend(0);
> > }
> >
> > STATUS serverSendTask(void)
> > {
> > struct sockaddr_in serverAddr;
> > struct sockaddr_in clientAddr;
> > int sockAddrSize;
> > int sFd;
> > int newFd;
> >
> > sockAddrSize = sizeof(struct sockaddr_in);
> > bzero((char *)&serverAddr, sockAddrSize);
> > serverAddr.sin_family = AF_INET;
> > serverAddr.sin_port = htons(SERVER_PORT_NUM);
> > serverAddr.sin_addr.s_addr = htonl(INADDR_ANY);
> > if((sFd = socket(AF_INET, SOCK_STREAM, 0)) == ERROR)
> > {
> > printf("socket error!\n");
> > return(ERROR);
> > }
> > if(bind(sFd,(struct sockaddr *)&serverAddr, sockAddrSize) == ERROR)
> > {
> > printf("bind error!\n");
> > close(sFd);
> > return(ERROR);
> > }
> > if(listen(sFd,SERVER_MAX_CONNECTIONS) == ERROR)
> > {
> > printf("listen error!\n");
> > close(sFd);
> > return(ERROR);
> > }
> > printf("listening...\n");
> > if((newFd = accept(sFd, (struct sockaddr
> > *)&clientAddr,&sockAddrSize)) == ERROR)
> > {
> > printf("accept error!\n");
> > close(sFd);
> > return(ERROR);
> > }
> >         printf("accept!\n");
> > if(taskSpawn(workName,SERVER_WORK_PRIORITY, 0, SERVER_STACK_SIZE,
> > (FUNCPTR)tcpServerWorkTask,newFd,
> >
> (int)inet_ntoa(clientAddr.sin_addr),ntohs(clientAddr.sin_port),0,0,0,0,0,0,0
> )
> > == ERROR)
> > {
> > printf("taskSpawn error!\n");
> > close(newFd);
> > }
> >         printf("start dma!\n");
> > }
> >
> > void  tcpServerWorkTask(int sFd, char *address, UINT16 port) /*send
> > data routine*/
> > {
> >     int  nRead;          /* number of bytes read */
> >     int  count=0;
> >     UINT8 led = 0;
> >     /*struct  readToServer  *data_transfer;*/
> >
> >     int  inform=0;
> >     int  start;
> >
> >      start=0;
> >     nRead= read(sFd,buffer,0xff);
> >     if(strncmp(buffer,"start",5) == 0)
> >     {
> > start=1;
> >     }
> >
> >     while(start)
> >     {
> >             semTake(sendSemId, WAIT_FOREVER);
> > if(send(sFd,&frameBuf[readIndex*FRAME_BYTES],FRAME_BYTES*FRAME_NUMS,0)
> > == ERROR){
> >      printf("sending to client
> > ERROR!,size:%d\n",FRAME_BYTES*FRAME_NUMS);
> > }
> >     }
> >
> > if (start == 0)                 /* error from read() */
> > {
> > printf("Client requests to stop communication!Server will
> > terminate.\n");
> > }
> > close (sFd);
> > }

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

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

From vxwexplo-errs@csg.lbl.gov  Mon Jul 22 06:05:08 2002
From: Shiv <ShivS@optima-systems.com>
Date: Mon Jul 22 06:05:10 PDT 2002
Subject: Does the VxWorks kernel lock memory writes ?

(PowerPC 855T , VxWorks ,debugging with VisionClick)

I'm trying to see if a DREQ0 from a peripheral reaches the processor , so
I've added some test code into the kernel...firstly enabling the time-base
on the PLD that will assert the DRQ , i can enable the PLD timer just fine
through the visionclick command-line by writing to the required address for
the PLD's chip-select , but this doesn't work with the code running over the
kernel....( it doesnt' even talk to the PLD cos the chip-select doesn't
assert !)...I gather there is some bus/memory protection going on and I've
tried enabling Translation for both Data/Instructions (with the MSR
register) but that doesnt' seem to be the solution.

Pretty sure there's something standard that I've been missing...Appreciate
any help I could get in this direction !

Thanks,
Shiv

From vxwexplo-errs@csg.lbl.gov  Mon Jul 22 14:26:02 2002
From: "Joe Welfeld" <jwelfeld@paragon-networks.com>
Date: Mon Jul 22 14:26:04 PDT 2002
Subject: vxworks compiler options

Hello,

I cant seem to find the correct switch that cause the gnu c compiler to
output a listing with assembly language and c code ?  this is for  PPC.

thanks,

From vxwexplo-errs@csg.lbl.gov  Tue Jul 23 01:31:19 2002
From: =?GB2312?Q?=C1=F5=D1=A9=C1=C1?= <lxliang@mail.ustc.edu.cn>
Date: Tue Jul 23 01:31:22 PDT 2002
Subject: VxWorks memory 

hi,
In vxWorks,it uses OBJ_CORE and obj_class structure in memory management.
Do anybody know the aim of using them? What do they relate to blocks?
Is there a good method to get the default pools address of memory?
where can find the material about these?

Any suggestions are appreciated.

From vxwexplo-errs@csg.lbl.gov  Tue Jul 23 03:23:10 2002
From: Ilia Bosis <Ilia_Bosis@packetlight.com>
Date: Tue Jul 23 03:23:12 PDT 2002
Subject: Re: routing & forwarding

The short answer is:
*The routing table*.

The long answer is below.

As I understand what You want is the "access router" - a box that connects
some small local net to the "world" (or the Internet).
In that case there is 3 rules for routing:
-- The packets destined to the device' own address 
   must be forwarded up the stack, to the application;
   (that rule is applied always and implicitly)
-- The packets destined to the local net 
   must be sent to, say, the interface0;
-- The packets destined elsewhere (to the world) 
   must be sent to the interface1; 

The stack maintains the routing table that keeps that (and similar) rules.
When You type mRouteShow from a shell it will show You the routing table.
The "if" field defines the interface to where send the packets that's
destination match the "address" and "mask".

Match here means that   PacketDestAddress & mask == address & mask.

Narrower masks are checked first,
so the address:mask = 0.0.0.0:00000000 means 
"the address, that doesn't match anything else".
In IP lingo it's called the "default route".

The routing table is managed by the routeLib API that includes
mRouteAdd(), mRouteDelete(), and so on.
Look at the routeLib entry in the VxWorks Reference Manual for details.

I'd strongly recommend You to grab some good TCP/IP book for more info.
R. Stevens' "TCP/IP illustrated" is one of the best ones. 
Vol.1 of that book discuses (among others) the IP routing. 

Hope, this helps.
			Ilia.
 

"cfk" <cfk_alter_ego@pacbell.net> 
at Sun, 21 Jul 2002 19:16:31 GMT
wrote:

>     OK, I have a network driver for my new chip able to do muxDevLoad,
> muxDevStart and ipAttach and I have flags that indicate it is UP &
RUNNING.
> Now for the next twist, which is something I havent done before.
> 
>     I need to build my embedded device to act as a mini-router so that all
> packets received on ethernet interface0 are sent out ethernet interface1
and
> conversely, all packets received on interface1 are then routed out
> interface0. Basically, what I am building is an embedded device to forward
> packets received on a classic ethernet interface out a new wireless
> interface and packets received on my new wireless interface to be sent
back
> out the classic ethernet interface.
> 
>     So, the question is, "How does one tell the network stack that packets
> received on interface0 are to be immediately re-transmitted out
> interface1?'. And of course the other direction for packets received on
the
> wireless interface (interface1), need to be retransmitted out interface0.
> 
> Charles

--------------------------------------------
Ilia Bosis               
Software Engineer
PacketLight Networks
Tel:    +972-9-7644228
Fax:    +972-9-7645444
E-mail: Ilia_Bosis@packetlight.com
Web:    www.packetlight.com
 

From vxwexplo-errs@csg.lbl.gov  Tue Jul 23 04:03:17 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Tue Jul 23 04:03:19 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Tue Jul 23 04:03:13 PDT 2002

        Subject: Re: Downloading files to target using windsh -s
        Subject: Re: message signaled interrupts (PCI 2.2)
        Subject: Re: Downloading files to target using windsh -s
        Subject: Re: Downloading files to target using windsh -s
        Subject: mbx860 BSP / 82558 driver problem
        Subject: Help- urgent
        Subject: Re: POP3 ( IMAP4 )
        Subject: How to subscribe to mailing list.
        Subject: inet_makeaddr
        Subject: inet_makeaddr
        Subject: WTB: Force Sparc 5V/64MB Boards
        Subject: help me!!!!Tornado prototyper I can't recieve the setup key
        Subject: A newbie questions
        Subject: Re: Need reccommendations for good JTAG ICE for MIPS cpu
        Subject: Re: inet_makeaddr
        Subject: Re: help me!!!!Tornado prototyper I can't recieve the setup key
        Subject: Re: A newbie questions
        Subject: Re: Can vxworks transmit 2048 bytes within 5ms by TCP/IP?
        Subject: Re: Downloading files to target using windsh -s
        Subject: windSH questions.
        Subject: synchronous communication
        Subject: Re: windSH questions.
        Subject: Re: windSH questions.
        Subject: a problem about using "assert" under vxworks
        Subject: about tornado2.0 gnu tool chain-unknown pragmas warning
        Subject: Test
        Subject: Re: message signaled interrupts (PCI 2.2)
        Subject: Re: message signaled interrupts (PCI 2.2)
        Subject: about vxworks on pci64?
        Subject: Re: about tornado2.0 gnu tool chain-unknown pragmas warning

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

Newsgroups: comp.os.vxworks
Subject: Re: Downloading files to target using windsh -s
Date: 22 Jul 2002 04:27:14 -0700
From: mbendtsen@sjm.com (Mikael Bendtsen)
Organization: http://groups.google.com/
Message-ID: <4a8311d7.0207220327.6b4596a4@posting.google.com>
References: <4a8311d7.0207102335.3de9525f@posting.google.com> <u65zm5ogd.fsf@sympatico.ca> <4a8311d7.0207120442.5d82b3b4@posting.google.com> <u7kk0523w.fsf@sympatico.ca>

Bill Pringlemeir <spam_account@sympatico.ca> wrote in message news:<u7kk0523w.fsf@sympatico.ca>...
> Mikael> Thanks for the informative answer. Actually stdout and stderr
>  Mikael> are redirected to /vio/0. These lines are included in the
>  Mikael> script:
> 
>  Mikael> vf0=open("/vio/0",2,0)
>  Mikael> ioGlobalStdGet(0,vf0)
>  Mikael> ioGlobalStdSet(1,vf0)
>  Mikael> ioGlobalStdSet(2,vf0)
> 
>  Mikael> This is the result of a @iosFdShow after the script has
>  Mikael> loaded and the main task has been spawned:
> 
>  Mikael>   3 /tyCo/2                3 in  
> [snip]
>  Mikael>  18 /vio/0                14  out err
> [snip]
> 
>  Mikael> (stdout and stdout redirected to target server window,
>  Mikael> right?)
> 
> That is correct.  Input is on the second serial port.  So one of the
> statements didn't happen.  "/vio/0" might not have been created or
> there is some trouble opening and attaching it?
> 
>  Mikael> The same redirections are set if I start a shell manually and
>  Mikael> invoke the script using the < redirection operator. But in
>  Mikael> that case, the missing printouts appear. I have noticed that
>  Mikael> there is no prompt in the shell launched with shellLaunch
>  Mikael> (using the -s option to windsh).  Also, there is no echoing
>  Mikael> of characters being typed. However, if I issue any command
>  Mikael> that prints something in the window (like 'i' for task info
>  Mikael> or 'iosFdShow'), it seems that my lost printouts from the
>  Mikael> application appears as well. Has this something to do with
>  Mikael> buffering of printouts? Can I turn the prompt back on and
>  Mikael> make the characters I type appear somehow?
> 
> A lot depends on the setting of the target server.  What is the
> command line to the tgtsrv program?  For instance the options under
> "Console and Redirection" will have a big impact on what happens here.
> The options from the GUI are "Redirect Target I/O", "Create Console
> Windows" and "Redirect Target Shell".  You might wish to play with
> these options.  They are "-redirectIO", "-C", "-redirectShell"
> [respectively] on the command line.  You might have the best luck
> turning them all off.
> 
> I have much better luck by using ioTaskStdSet() functions [*1].
> Although it seems like you wish to redirect everything (so the
> ioGlobalStdSet is nice).  One thing that can hose things up is if the
> application messes up some FDs.  I had this happen before.  If your
> "@iosFdShow" fails (it must execute on the target), the fdTable might
> be corrupted by an over-write.  The symbol fdTable is available and
> the structure of the array is defined in some private vxWorks files,
> so you can write some debug code to dump the structures.  I am not
> sure where the global file descriptor data is stored... but the per
> tasks are in the task blocks [these are in private headers too].
> 
> If your code is generic, you might consider sending a copy to Johan.
> See the FAQ URL below.
> 
> hth,
> Bill Pringlemeir.
> 
> [*1] I did my stuff on the target, to emulate `tw' which is only
> implemented in TCL.  I posted this on c.o.v a while ago.

Hi again,

Thanks for all suggestions, but I am afraid I haven't found a solution
for my problem yet. You note that input is on the second serial port
and that probably one of the statements didn't happen. Actually, I
didn't write these scripts from the beginning but the line concering
stdin is actually ioGlobalStdGet(0,vf0) which would only GET the file
descriptor, not change (SET) it. Since the line is useless it can
probably be removed.

However, I can't manage to get anything out in the window launched
from Tcl no matter how I redirect stdin, stdout and stderr. If I open
a shell from the Tornado GUI (clicking the icon or selecting Shell
from the Tools-menu) the output from the target appears in that
window. However, if the only window open is the one launched from the
Tcl script, the output from the application running on the target
appears when a command is run that produces some output.

So, it seems that the buffering of output is handled differently
between the two windows.

Any suggestions appreciated!

Best regards,

Mikael

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

Newsgroups: comp.os.vxworks
Subject: Re: message signaled interrupts (PCI 2.2)
Date: Mon, 22 Jul 2002 13:32:32 +0200
From: "Michael Lawnick" <lawnick@bndlg.de>
Organization: Buergernetz Dillingen
Message-ID: <ahgqfe$pet$1@snoopy.bndlg.de>
References: <ahgdf9$vm$1@snoopy.bndlg.de> <wzQ_8.10437$Qk6.10091@newsread1.prod.itd.earthlink.net>
Sender: mlawnick@pd9524cda.dip.t-dialin.net

Hi J.J.

so I got you correct with following example ?
Number of messages allocated 4
Assigned value 5
The function will write the values 5,6,7 or 8, bound to internal rules.

Do you have experience with MSI or knowledge from paper/net ? If later,
which one ? And/or do you know a MSI-capable device with its behaviour well
documented ?

Regards,
Michael

"J. J. Farrell" <jjf@bcs.org.uk> schrieb im Newsbeitrag
news:wzQ_8.10437$Qk6.10091@newsread1.prod.itd.earthlink.net...
>
> "Michael Lawnick" <lawnick@bndlg.de> wrote in message
> news:ahgdf9$vm$1@snoopy.bndlg.de...
> > Hi all,
> >
> > has anybody already had a system that supports MSI, i.e. the new
> > PCI-interrupts dedicated to replace INTA-INTD ?
> > ...
> >
> > As far as I understood, the master will setup only one address and value
> per
> > device, even when allowing multiple messages. So I see only one way how
it
> > could work:
> > The device is setup with value x, system allows 4 messages. So the
device
> > will write x on first, x+1 on second, x+2, x+3, x, .... on the following
> > events. Is that correct ?
> > So if the system supports 12 MSI and has 3 devices supporting >=4
messages
> > each, it could setup the devices with the initial values 1,5 and 9 ? I
> don't
> > think that the value is binary bound, i.e. 2^1 ... 2^12. This would have
> > been mentioned in PCI2.2. Any thoughts or experiences ?
>
> I don't really understand the scheme you describe above,
> but you seem to be making MSI more complicated than it is.
> Unfortunately, the details of how it works depend entirely
> on the system's interrupt controller implementation.
>
> When using MSI, the system allocates each PCI device (or
> function for a multi-function device) an address to which
> to write to raise an interrupt, and a range of 1, 2, 4, or
> 8 contiguous values to write to that address. The device
> indicates how many values it wants to be allocated, and
> the system allocates that number or fewer.
>
> To raise an interrupt the device writes one of its
> allocated values to its allocated address. That's all there
> is to it. It is up to the device to define when and how it
> uses the different values it has been allocated.
>
> How these addresses and values are used by the system
> depends on the interrupt controller and the OS. They are
> meant to enable efficient vectoring of interrupts. An
> interrupt controller could have a set of interrupt-raising
> registers at different addresses and allocate a different
> one to every device, or it could have them all write to
> the same address and distinguish interrupt sources by the
> value written to the register.
>
> The OS should provide some mechanism to let an interrupt
> routine know which of the range of values was written by
> the device. For example, it might allow registration of
> a different ISR for each of the 1 to 8 values, or it might
> pass the value written by the device into a single ISR.
> The meaning of the different values is defined by the
> device. For example, it might use one value for normal
> data interrupts, and others to indicate particular
> exception conditions.
>
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Downloading files to target using windsh -s
Date: 22 Jul 2002 04:59:55 -0700
From: mbendtsen@sjm.com (Mikael Bendtsen)
Organization: http://groups.google.com/
Message-ID: <4a8311d7.0207220359.4acc9a57@posting.google.com>
References: <4a8311d7.0207102335.3de9525f@posting.google.com> <u65zm5ogd.fsf@sympatico.ca> <4a8311d7.0207120442.5d82b3b4@posting.google.com> <u7kk0523w.fsf@sympatico.ca>

Bill Pringlemeir <spam_account@sympatico.ca> wrote in message news:<u7kk0523w.fsf@sympatico.ca>...
> Mikael> Thanks for the informative answer. Actually stdout and stderr
>  Mikael> are redirected to /vio/0. These lines are included in the
>  Mikael> script:
> 
>  Mikael> vf0=open("/vio/0",2,0)
>  Mikael> ioGlobalStdGet(0,vf0)
>  Mikael> ioGlobalStdSet(1,vf0)
>  Mikael> ioGlobalStdSet(2,vf0)
> 
>  Mikael> This is the result of a @iosFdShow after the script has
>  Mikael> loaded and the main task has been spawned:
> 
>  Mikael>   3 /tyCo/2                3 in  
> [snip]
>  Mikael>  18 /vio/0                14  out err
> [snip]
> 
>  Mikael> (stdout and stdout redirected to target server window,
>  Mikael> right?)
> 
> That is correct.  Input is on the second serial port.  So one of the
> statements didn't happen.  "/vio/0" might not have been created or
> there is some trouble opening and attaching it?
> 
>  Mikael> The same redirections are set if I start a shell manually and
>  Mikael> invoke the script using the < redirection operator. But in
>  Mikael> that case, the missing printouts appear. I have noticed that
>  Mikael> there is no prompt in the shell launched with shellLaunch
>  Mikael> (using the -s option to windsh).  Also, there is no echoing
>  Mikael> of characters being typed. However, if I issue any command
>  Mikael> that prints something in the window (like 'i' for task info
>  Mikael> or 'iosFdShow'), it seems that my lost printouts from the
>  Mikael> application appears as well. Has this something to do with
>  Mikael> buffering of printouts? Can I turn the prompt back on and
>  Mikael> make the characters I type appear somehow?
> 
> A lot depends on the setting of the target server.  What is the
> command line to the tgtsrv program?  For instance the options under
> "Console and Redirection" will have a big impact on what happens here.
> The options from the GUI are "Redirect Target I/O", "Create Console
> Windows" and "Redirect Target Shell".  You might wish to play with
> these options.  They are "-redirectIO", "-C", "-redirectShell"
> [respectively] on the command line.  You might have the best luck
> turning them all off.
> 
> I have much better luck by using ioTaskStdSet() functions [*1].
> Although it seems like you wish to redirect everything (so the
> ioGlobalStdSet is nice).  One thing that can hose things up is if the
> application messes up some FDs.  I had this happen before.  If your
> "@iosFdShow" fails (it must execute on the target), the fdTable might
> be corrupted by an over-write.  The symbol fdTable is available and
> the structure of the array is defined in some private vxWorks files,
> so you can write some debug code to dump the structures.  I am not
> sure where the global file descriptor data is stored... but the per
> tasks are in the task blocks [these are in private headers too].
> 
> If your code is generic, you might consider sending a copy to Johan.
> See the FAQ URL below.
> 
> hth,
> Bill Pringlemeir.
> 
> [*1] I did my stuff on the target, to emulate `tw' which is only
> implemented in TCL.  I posted this on c.o.v a while ago.

Hi again,

Thanks for all suggestions, but I am afraid I haven't found a solution
for my problem yet. You note that input is on the second serial port
and that probably one of the statements didn't happen. I didn't write
these scripts from the beginning but the line concering stdin is
actually ioGlobalStdGet(0,vf0) which would only GET the file
descriptor, not change (SET) it. Since the line is useless it can
probably be removed.

However, I can't manage to get anything out in the window launched
from Tcl no matter how I redirect stdin, stdout and stderr. If I open
a shell from the Tornado GUI (clicking the icon or selecting Shell
from the Tools-menu) the output from the target appears in that
window. However, if the only window open is the one launched from the
Tcl script, the output from the application running on the target
appears when a command is run that produces some output.

So, it seems that the buffering of output is handled differently
between the two windows.

Any suggestions appreciated!

Best regards,

Mikael

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

Newsgroups: comp.os.vxworks
Subject: Re: Downloading files to target using windsh -s
Date: 22 Jul 2002 08:00:01 -0700
From: mbendtsen@sjm.com (Mikael Bendtsen)
Organization: http://groups.google.com/
Message-ID: <4a8311d7.0207220700.3708e737@posting.google.com>
References: <4a8311d7.0207102335.3de9525f@posting.google.com> <u65zm5ogd.fsf@sympatico.ca> <4a8311d7.0207120442.5d82b3b4@posting.google.com> <u7kk0523w.fsf@sympatico.ca>

Bill Pringlemeir <spam_account@sympatico.ca> wrote in message news:<u7kk0523w.fsf@sympatico.ca>...
> Mikael> Thanks for the informative answer. Actually stdout and stderr
>  Mikael> are redirected to /vio/0. These lines are included in the
>  Mikael> script:
> 
>  Mikael> vf0=open("/vio/0",2,0)
>  Mikael> ioGlobalStdGet(0,vf0)
>  Mikael> ioGlobalStdSet(1,vf0)
>  Mikael> ioGlobalStdSet(2,vf0)
> 
>  Mikael> This is the result of a @iosFdShow after the script has
>  Mikael> loaded and the main task has been spawned:
> 
>  Mikael>   3 /tyCo/2                3 in  
> [snip]
>  Mikael>  18 /vio/0                14  out err
> [snip]
> 
>  Mikael> (stdout and stdout redirected to target server window,
>  Mikael> right?)
> 
> That is correct.  Input is on the second serial port.  So one of the
> statements didn't happen.  "/vio/0" might not have been created or
> there is some trouble opening and attaching it?
> 
>  Mikael> The same redirections are set if I start a shell manually and
>  Mikael> invoke the script using the < redirection operator. But in
>  Mikael> that case, the missing printouts appear. I have noticed that
>  Mikael> there is no prompt in the shell launched with shellLaunch
>  Mikael> (using the -s option to windsh).  Also, there is no echoing
>  Mikael> of characters being typed. However, if I issue any command
>  Mikael> that prints something in the window (like 'i' for task info
>  Mikael> or 'iosFdShow'), it seems that my lost printouts from the
>  Mikael> application appears as well. Has this something to do with
>  Mikael> buffering of printouts? Can I turn the prompt back on and
>  Mikael> make the characters I type appear somehow?
> 
> A lot depends on the setting of the target server.  What is the
> command line to the tgtsrv program?  For instance the options under
> "Console and Redirection" will have a big impact on what happens here.
> The options from the GUI are "Redirect Target I/O", "Create Console
> Windows" and "Redirect Target Shell".  You might wish to play with
> these options.  They are "-redirectIO", "-C", "-redirectShell"
> [respectively] on the command line.  You might have the best luck
> turning them all off.
> 
> I have much better luck by using ioTaskStdSet() functions [*1].
> Although it seems like you wish to redirect everything (so the
> ioGlobalStdSet is nice).  One thing that can hose things up is if the
> application messes up some FDs.  I had this happen before.  If your
> "@iosFdShow" fails (it must execute on the target), the fdTable might
> be corrupted by an over-write.  The symbol fdTable is available and
> the structure of the array is defined in some private vxWorks files,
> so you can write some debug code to dump the structures.  I am not
> sure where the global file descriptor data is stored... but the per
> tasks are in the task blocks [these are in private headers too].
> 
> If your code is generic, you might consider sending a copy to Johan.
> See the FAQ URL below.
> 
> hth,
> Bill Pringlemeir.
> 
> [*1] I did my stuff on the target, to emulate `tw' which is only
> implemented in TCL.  I posted this on c.o.v a while ago.

Hi again,

Thanks for all suggestions, but I am afraid I haven't found a solution
for my problem yet. You note that input is on the second serial port
and that probably one of the statements didn't happen. I didn't write
these scripts from the beginning but the line concering stdin is
actually ioGlobalStdGet(0,vf0) which would only GET the file
descriptor, not change (SET) it. Since the line is useless it can
probably be removed.

However, I can't manage to get anything out in the window launched
from Tcl no matter how I redirect stdin, stdout and stderr. If I open
a shell from the Tornado GUI (clicking the icon or selecting Shell
from the Tools-menu) the output from the target appears in that
window. However, if the only window open is the one launched from the
Tcl script, the output from the application running on the target
appears when a command is run that produces some output.

So, it seems that the buffering of output is handled differently
between the two windows.

Any suggestions appreciated!

Best regards,

Mikael

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

Newsgroups: comp.os.vxworks
Subject: mbx860 BSP / 82558 driver problem
Date: 22 Jul 2002 08:35:39 -0700
From: david.meadows@roke.co.uk (David Meadows)
Organization: http://groups.google.com/
Message-ID: <6d3e990b.0207220735.31de5ea0@posting.google.com>

Hello everyone,

I'm having problems with a ethernet driver that I hope someone can
help me with.
The ethernet card in question is a 82558 if_fei driver compatible card
connected via PCI to a mbx860 board running the relevant BSP. It's my
understanding that the 82558 driver is source for an x86 platform so
there may be endian issues.
The mbx860 board uses a QSpan QBus/PCI bridge.

The BSP seems to start-up okay, finds the PCI card using
pciFindDevice, assigns the required base address values and enabled
memory space, io space and bus mastering.
I can see that the data returned using pciConfigInLong matches what I
write into the registers and I see the PCI status register return a
happy value when I read it.

However when I try to attach to the ethernet driver I find I receive a
data access exception on the first call to sysOutLong().

The data access register value is 0x8102000a which is an address
located within a region of memory that I mapped to be PCI IO space in
the sysPhysMemDesc table.
The machine status register comes back as 0x9032 but I can't see any
wrong.

The entry is shown below:

{
    (void *) PCI_MSTR_IO_LOCAL, /* 0x81000000 */
    (void *) PCI_MSTR_IO_LOCAL, 
    PCI_MSTR_IO_SIZE, /* 128 MB */
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE |
VM_STATE_MASK_CACHEABLE,
    VM_STATE_VALID      | VM_STATE_WRITABLE      |
VM_STATE_CACHEABLE_NOT
    },

I have tried varying the value used between 0x81000000 and 0x85000000
but with no success.

I have tried turning off caching by removing the following from
configAll.h:

INCLUDE_MMU_BASIC
INCLUDE_MMU_FULL
INCLUDE_PROTECT_TEXT
INCLUDE_PROTECT_VEC_TABLE

but this produces the same result.

I also thought that the problem may lie with endian conversion but my
understanding is that there is no difference for Long (32-bit)
accesses and the first sysOut call is a sysOutLong.

Is there something fundamental that I'm missing?

Any help would be much appreciated.

Regards,

David

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

Newsgroups: comp.os.vxworks
Subject: Help- urgent
Date: Mon, 22 Jul 2002 15:52:43 +0000 (UTC)
From: "Steffi " <gsteffi@rediffmail.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <51237a28807b5422935d6c26af4e1482.103688@mygate.mailgate.org>

Hi Friends,

Please help me in solving the below mentioned problem.

How should I make a vxworks target to receive the Broadcast packet.  For
unicast, my receive works fine but for broadcast, i have problems.

In sending side and receiving side, I had make the ifBroadcastSet.
All My Vxworks target are in same subnet mask. (class B).

In sending side, I had made SO_BROADCAST in the socketopt. 

I had put both receiving and sending part in 2 different task.

When my target address is 90.0.0.50 and 
If I send with serverAddr.sin_addr.s_addr = inet_addr("90.0.0.50");
and then call my sendto function, I am able to receive the UDP Packet.

But if I want to Broadcast it to all the systems in subnet, nothing
works out in receiver side.

Please help me soon.  Please make a copy to my personal id also:
gsteffi@rediffmail.com

Thanks in Advance.
Steffi.G

- -- 
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: Re: POP3 ( IMAP4 )
Date: 22 Jul 2002 09:05:38 -0700
From: ravi368@yahoo.com (Ravi Uday)
Organization: http://groups.google.com/
Message-ID: <ecca3ca6.0207220805.67c58bbd@posting.google.com>
References: <ecca3ca6.0207142057.167ae49@posting.google.com> <1a047b5a.0207171953.72c22d@posting.google.com>

rajaismyname@yahoo.com (Raja Ganesan) wrote in message news:<1a047b5a.0207171953.72c22d@posting.google.com>...
> Hi,
> 
> This seems fairly simple!
> 
> 1. Download C source code for pop3 from the net. 
> 2.Since vxworks uses the same api as that of c functions for 
> socket. you can implement it with minimal changes.
> for example you will have to include sockLib.h header file instead of
> standard header file for c.
> 
> 3. or study the RFC of pop3 and then implement.
> 
> Regards,
> Raja Ganesan G
> Datec Systems (P) Ltd.
> 
> 
Raja :
Thx for ur reply POP3 was easy though as the specification is simple (
well socket functionality is not a part of ANSI C !! ) but have u
tried implementing IMAP4 over Vx Works ?? There is a site where we get
a IMAP4 Client implementation but i am not getting the right libraries
( that site has got 60 n odd libraries )
Do u ( or anybody there )have the right libraries for the same just
basic Client implementation i meant..??

All kinds of assistance is appreciated

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

Newsgroups: comp.os.vxworks
Subject: How to subscribe to mailing list.
Date: 22 Jul 2002 09:30:41 -0700
From: vxworks@india.com (V R R Raju)
Organization: http://groups.google.com/
Message-ID: <d6e2de0a.0207220830.99340ac@posting.google.com>

Dear friends,

I want to subscribe to this groups mailing list. Whom should I contact
and to whom should send a request.

Thanks in advance.

with regards,

Rajneesh

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

Newsgroups: comp.os.vxworks
Subject: inet_makeaddr
Date: Mon, 22 Jul 2002 17:50:30 +0000 (UTC)
From: "Steffi Graph" <gsteffi@rediffmail.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <bed245389239ca64a306df452296a1ea.103688@mygate.mailgate.org>

Hi friends,

1.Even If I am not working with Unix, still can I use inet_makeaddr API.

2.How should I pass the value of pointer to structure (in_addr)   to
sendto API (........)  (I am  using inet_makeaddr_b(...)API.).

3. Can I give two taskSpawn the same priority.

Thanks in Advance.

Steffi

- -- 
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: inet_makeaddr
Date: Mon, 22 Jul 2002 17:51:28 +0000 (UTC)
From: "Steffi Graph" <gsteffi@rediffmail.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <1b13b1be71b262dfe16c8ee79bf5d987.103688@mygate.mailgate.org>

Hi friends,

1.Even If I am not working with Unix, still can I use inet_makeaddr API.

2.How should I pass the value of pointer to structure (in_addr)   to
sendto API (........)  (I am  using inet_makeaddr_b(...)API.).

3. Can I give two taskSpawn the same priority.

Please send a copy to gsteffi@rediffmail.com
Thanks in Advance.

Steffi

- -- 
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: WTB: Force Sparc 5V/64MB Boards
Date: 22 Jul 2002 12:37:38 -0700
From: dferreri@lhcomp.com (Don Ferreri)
Organization: http://groups.google.com/
Message-ID: <cd31bd65.0207221137.5aba6506@posting.google.com>

Looking to purchase a quantity (5-10) of Force Sparc 5V 64MB 110-2
boards. If you have any, even one, I would be interested in talking to
you.

Let me know,

Don Ferreri
L H Computer Services
(954)752-5805

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

Newsgroups: comp.os.vxworks
Subject: help me!!!!Tornado prototyper I can't recieve the setup key
Date: 22 Jul 2002 13:01:25 -0700
From: trigrass@163.com (trigrass)
Organization: http://groups.google.com/
Message-ID: <7b6391ec.0207221201.134de7c7@posting.google.com>

I download the Tornado prototyper from the web site:www.embed.com.cn,
but I can't recieve the Installation key,
somebody can help me? thanks!

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

Newsgroups: comp.os.vxworks
Subject: A newbie questions
Date: Mon, 22 Jul 2002 13:48:03 -0700
From: kaiduan xie <kaiduanx@yahoo.ca>
Organization: ITServices, University of British Columbia
Message-ID: <3D3C6F83.D8E5E1EF@yahoo.ca>

hi, experts,

I am a totally newbie on VxWorks although have been working on UNIX for
almost 5 years, here I have some basic questions, maybe stupdi :),

1. Where can I get a free VxWorks simulator to study the VxWorks on my
PC with RedHat Linux?

2. Which books are suitable for me to study the embedded software
design, a good tutorial or primer on the Internet is alos recommended.

Thanks for starting up.

kaiduan xie

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

Newsgroups: comp.sys.mips,comp.os.vxworks,comp.arch.embedded,comp.os.linux.embedded
Subject: Re: Need reccommendations for good JTAG ICE for MIPS cpu
Date: 22 Jul 2002 15:22:18 -0700
From: linuxisactuallyused@hotmail.com (nobody)
Organization: http://groups.google.com/
Message-ID: <a57030cd.0207221422.14de2765@posting.google.com>
References: <558a531.0206251940.607bafb2@posting.google.com> <afce9b$6qm$1@tilde.itg.ti.com> <3d1ada51$0$9442$4d4eb98e@read-nat.news.uk.uu.net> <afepcn$5ui$1@tilde.itg.ti.com> <3D1B72DC.4030409@lvl7.com>

FYI, the best EJTAG ICE debuggers
I've seen for MIPS are the MAJIC from EPI and
the XRAY debugger from Mentor Graphics. The XRAY
has a really nice "sync breakpoint" feature which
allows you to break one or more cpu cores based
on a breakpoint set for one of the cores. The EPI
box has integrated trace support while XRAY gets
trace support via 3rd party vendors. The visionICE
is great also but they currently don't have trace
or multi-core support. They also don't support MIPS
5k yet I think. Green Hills is not bad either but
you have to use their compiler. The others all support
GNU toolchain.

- -nobody

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

Newsgroups: comp.os.vxworks
Subject: Re: inet_makeaddr
Date: Mon, 22 Jul 2002 19:52:19 -0400
From: joe durusau <durusau@bellsouth.net>
Organization: WEBUSENET.com
Message-ID: <3D3C9AB2.9C2D7ECF@bellsouth.net>
References: <1b13b1be71b262dfe16c8ee79bf5d987.103688@mygate.mailgate.org>

Steffi Graph wrote:

> Hi friends,
>
> 1.Even If I am not working with Unix, still can I use inet_makeaddr API.
>

Never heard of that one.  Look at the reference manual.  If it's there,
you an use it.  If it's not there, you can't.

>
> 2.How should I pass the value of pointer to structure (in_addr)   to
> sendto API (........)  (I am  using inet_makeaddr_b(...)API.).
>

I don't have the documentation here, but it's on your system.
Try reading the manuals,  esp. the networking guide.

>
> 3. Can I give two taskSpawn the same priority.
>

Yes.  Whether one wil wait for the other task to block,
or they will ping back and forth depends on how you set scheduling
up.

>
> Please send a copy to gsteffi@rediffmail.com
> Thanks in Advance.
>
> Steffi
>
> --
> Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

Speaking only for myself,

Joe Durusau

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

Newsgroups: comp.os.vxworks
Subject: Re: help me!!!!Tornado prototyper I can't recieve the setup key
Date: Mon, 22 Jul 2002 19:53:39 -0400
From: joe durusau <durusau@bellsouth.net>
Organization: WEBUSENET.com
Message-ID: <3D3C9B03.93597D31@bellsouth.net>
References: <7b6391ec.0207221201.134de7c7@posting.google.com>

trigrass wrote:

> I download the Tornado prototyper from the web site:www.embed.com.cn,
> but I can't recieve the Installation key,
> somebody can help me? thanks!

Hmmm... I never heard that they were authorized to
distribute the prototyper, and in any case the free  download
has been discontinued.

Speaking only for myself,

Joe Durusau

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

Newsgroups: comp.os.vxworks
Subject: Re: A newbie questions
Date: Mon, 22 Jul 2002 19:55:22 -0400
From: joe durusau <durusau@bellsouth.net>
Organization: WEBUSENET.com
Message-ID: <3D3C9B6A.2F0575C2@bellsouth.net>
References: <3D3C6F83.D8E5E1EF@yahoo.ca>

kaiduan xie wrote:

> hi, experts,
>
> I am a totally newbie on VxWorks although have been working on UNIX for
> almost 5 years, here I have some basic questions, maybe stupdi :),
>
> 1. Where can I get a free VxWorks simulator to study the VxWorks on my
> PC with RedHat Linux?
>

You can't .  It has been discontinued.

>
> 2. Which books are suitable for me to study the embedded software
> design, a good tutorial or primer on the Internet is alos recommended.
>

Try your local book store.  Maybe a text for a college course,
if that's the kind of thing you want.

>
> Thanks for starting up.
>
> kaiduan xie

Speaking only for myself,

Joe Durusau

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

Newsgroups: comp.os.vxworks
Subject: Re: Can vxworks transmit 2048 bytes within 5ms by TCP/IP?
Date: 22 Jul 2002 18:25:10 -0700
From: seasoblue2000@yahoo.com.cn (seasoblue)
Organization: http://groups.google.com/
Message-ID: <e82d8e83.0207221725.604bf203@posting.google.com>
References: <e82d8e83.0207211915.e50546d@posting.google.com> <newscache$jxbnzg$nxd$1@lnews.actcom.co.il> <3D3BE300.6D1E1EFC@bellsouth.net>

Hi,joe and leonid
  Thank you for your reply. I found that the external device DMA
request ISR 18,700 times per second,not 200 times in yestoday night!!
Oh, my God! That's the trouble. Today, I have to research what's wrong
with my poor external device ,not my vxworks.:)
  Thanks a lot!

         seasoblue   

joe durusau <durusau@bellsouth.net> wrote in message news:<3D3BE300.6D1E1EFC@bellsouth.net>...
> 3.2 megabits per second is dmn near the theoretical limit for 10baseT
> if there are other host on the net.  If you are in a quiest net, (i.e. two hosts
> 
> just wired together), it might work.  If you are using 100baseT you would
> have a better chance or it working.  Of course, as the prev. poster remarked,
> you need huge buffers to allow all that data to get around, and you need
> some luck.  I would suspect that this would not work if you were running
> WDB at the same time, just because of net traffic.
> 
> Speaking only for myself,
> 
> Joe Durusau
> 
> 
> Leonid Rosenboim wrote:
> 
> > Maybe the problem is your PC, because until the PC
> > acknowledges it received the data, this data will remain in the
> > senders socket, and when the socket buffer is full, your transmit
> > task will wait.
> >
> > 2KBytes every 5 millisecond, i.e. 200 Hz = 400 KBytes/second = 3.2 Mbits/sec
> >
> > This should work, but you can write a simple "simulated sender" on another
> > PC only to test that your received PC can withstand this speed.
> >
> > Obviously I hope you increased the sender socket buffer to at least
> > 64KBytes.
> >

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

Newsgroups: comp.os.vxworks
Subject: Re: Downloading files to target using windsh -s
Date: 22 Jul 2002 21:14:21 -0400
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <m23cubb5zm.fsf@sympatico.ca>
References: <4a8311d7.0207102335.3de9525f@posting.google.com> <u65zm5ogd.fsf@sympatico.ca> <4a8311d7.0207120442.5d82b3b4@posting.google.com> <u7kk0523w.fsf@sympatico.ca> <4a8311d7.0207220327.6b4596a4@posting.google.com>
Sender: bpringle@DeadDuck

 Mikael> Thanks for all suggestions, but I am afraid I haven't found a
 Mikael> solution for my problem yet. You note that input is on the
 Mikael> second serial port and that probably one of the statements
 Mikael> didn't happen. Actually, I didn't write these scripts from
 Mikael> the beginning but the line concering stdin is actually
 Mikael> ioGlobalStdGet(0,vf0) which would only GET the file
 Mikael> descriptor, not change (SET) it. Since the line is useless it
 Mikael> can probably be removed.

[snip]

Did you try the ioTaskStdSet?  It should is far more dependable.  I also
noted that stderr doesn't seem to redirect to the second vio of the shell on
the target server.

>  Mikael> vf0=open("/vio/0",2,0)
>  Mikael> ioGlobalStdGet(0,vf0)
>  Mikael> ioGlobalStdSet(1,vf0)
>  Mikael> ioGlobalStdSet(2,vf0)

Did you try this,

 vf0=open("/vio/1",2,0)
 ioGlobalStdGet(0,vf0)
 ioGlobalStdSet(1,vf0)
 ioGlobalStdSet(2,vf0)

It should work much better.  The Tornado tools do something to `tee'
stdin/stdout to the "/vio/0" and "/vio/1".  "vio/0" is usually a
target shell server window and "/vio/1" is the NT console that has the
application open.  This stuff works within emacs, so I imagine that
you can get it to work with straight TCL.  ESPECIALLY try ioTaskStdSet
with the tShell id.

hth,
Bill Pringlemeir.

- -- 
TORPEDOED   BY   ENORMOUS   GNATS.   DEPTH  CHARGES.   ENGAGING   PLOT
DEVICE. U-595.

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

Newsgroups: comp.os.vxworks
Subject: windSH questions.
Date: Tue, 23 Jul 2002 09:14:47 +0800
From: "degang" <wdg@bjhhl.sina.net>
Organization: Bentium Ltd. (CN99)
Message-ID: <ahiegv$23jf$1@mail.cn99.com>

hi,guys
    when i use command 'd' in windSH for arm,if i type
"d 0x800"then "enter",the value from 00000800 to 000008ff will be sent to
the shell.if i type "d 0x00000000" after that.it displays 00000900 to
000009ff .why not 00000000 to 000000ff?

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

Newsgroups: comp.os.vxworks
Subject: synchronous communication
Date: 22 Jul 2002 21:42:33 -0700
From: senthilb@comneti.com (senthil)
Organization: http://groups.google.com/
Message-ID: <26ca8a8f.0207222042.ed7a927@posting.google.com>

Hi,
  At present iam into implementation of SDLC Synchronous serial
communication using Z85c30. Ive crossed few stages like intializations
and things
seems to work well. Since iam using Z85C30ESCC its has many feature
like automatic CRC preset,eom reset etc.,
  The zilog manual says we should take care of transmitting Address ,
Control  and Info fields. So does it mean we should maintain our own
state variables and use RR and RNR stuffs for acknowledging and
updating sequence numbers etc., as we do for LAPD & HDLC protocols.
 Intially what i tried was this. I didnt send any address or control.
I just send an info packet and recieved it at the other end. I
stripped off two CRC bytes and got the correct info packet.All
interrupt sequence was correct and end of frame came up at end of CRC
packets but there was a CRC error. If i add the address,control field
tx and address to various states of protocols will my driver be
complete.
  Please let me know whether my understanding is right ? If not please
explain me whats the basic way of implementing Synchnronous SDLC
serial communication and how to proceed?
thanks in advance
regards
senthil

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

Newsgroups: comp.os.vxworks
Subject: Re: windSH questions.
Date: Tue, 23 Jul 2002 06:45:36 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns925458AE32CD8borkhuisagerecom@192.19.193.66>
References: <ahiegv$23jf$1@mail.cn99.com>

"degang" <wdg@bjhhl.sina.net> wrote:

> hi,guys
>     when i use command 'd' in windSH for arm,if i type
> "d 0x800"then "enter",the value from 00000800 to 000008ff will be sent to
> the shell.if i type "d 0x00000000" after that.it displays 00000900 to
> 000009ff .why not 00000000 to 000000ff?

The command "d", when given to the shell without parameters, is executed as 
"d(0,0,0,0,0,0). This command is interpreted as "continue memoy dump". When 
youy give the command "d 0" it is exactely the same from the interpreters 
point of view.

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: windSH questions.
Date: Tue, 23 Jul 2002 08:34:51 +0200
From: "Michael Lawnick" <lawnick@bndlg.de>
Organization: Buergernetz Dillingen
Message-ID: <ahiu85$jb5$1@snoopy.bndlg.de>
References: <ahiegv$23jf$1@mail.cn99.com>
Sender: mlawnick@pd952407f.dip.t-dialin.net

Hi degang,

no mistery:
Shell function call is defined to set all un-given parameters to 0.
To make it easier for the user to repeatedly dump, 'd' has been implemented
to continue at the last position if the address is omitted. Now you have a
duplicate meaning: 'd' and 'd 0' are the same :-( You might meet that
problem on other commends too.
Your solution: type 'd 1'
HTH
Michael

"degang" <wdg@bjhhl.sina.net> schrieb im Newsbeitrag
news:ahiegv$23jf$1@mail.cn99.com...
> hi,guys
>     when i use command 'd' in windSH for arm,if i type
> "d 0x800"then "enter",the value from 00000800 to 000008ff will be sent to
> the shell.if i type "d 0x00000000" after that.it displays 00000900 to
> 000009ff .why not 00000000 to 000000ff?
>
>

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

Newsgroups: comp.os.vxworks
Subject: a problem about using "assert" under vxworks
Date: 23 Jul 2002 00:02:14 -0700
From: huangyongjd@21cn.com (hyper)
Organization: http://groups.google.com/
Message-ID: <38d66cc7.0207222302.255094f1@posting.google.com>

i am a newer in vxworks,today i meet a problem about assert.
here is my code :

#include <stdio.h>
#include <stdlib.h>
#include <assert.h> 
#undef NDEBUG
void tassert()
{
  int i=3;

  assert(i!=3);
}
void tt()
{
  tassert();
  printf("12334444");
}

but after i ran it ,i can't see anything about wrong message,and the
system is halt.please help me !sorry, my english is very poor,i wish
my friends could understand what i had said!

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

Newsgroups: comp.os.vxworks
Subject: about tornado2.0 gnu tool chain-unknown pragmas warning
Date: 23 Jul 2002 00:07:17 -0700
From: zhouzhaohan@yahoo.com (Fred Zhou)
Organization: http://groups.google.com/
Message-ID: <bbaee578.0207222307.518bfafc@posting.google.com>

I am using tornado 2.0 for mips.
The version of ccmips is "cygnus-2.7.2-960126 egcs-971225 tornado 2.0"
I want to get such option as emitting warning when compiler meet with
unknown pragmas.
However it seems that this is not available in current version of
compiler
which can be found in other document as an option "Wunknown-pragmas"
.--This
option is not documented in my compiler's GNU Toolkit User's Guide
while I
can easily find it in other documents.
Any graceful way to make this fixed?   Of course I do not want to
rebuild my
GNU tools on my own. And I hope updated tools will also be available
to my customers.
And also is this option both applicable for both c complier and
assembler?
Thanks a lot!

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

Newsgroups: comp.os.vxworks
Subject: Test
Date: Tue, 23 Jul 2002 09:22:24 +0200
From: Dejan =?iso-8859-1?Q?Poto=E8nik?= <d.potocnik@iskratel.si>
Message-ID: <3D3D0430.2B0799F9@iskratel.si>

Test

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

Newsgroups: comp.os.vxworks
Subject: Re: message signaled interrupts (PCI 2.2)
Date: Tue, 23 Jul 2002 07:50:46 GMT
From: "J. J. Farrell" <jjf@bcs.org.uk>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <qV7%8.13275$Qk6.12583@newsread1.prod.itd.earthlink.net>
References: <ahgdf9$vm$1@snoopy.bndlg.de> <wzQ_8.10437$Qk6.10091@newsread1.prod.itd.earthlink.net> <ahgqfe$pet$1@snoopy.bndlg.de>

"Michael Lawnick" <lawnick@bndlg.de> wrote in message
news:ahgqfe$pet$1@snoopy.bndlg.de...
>
> so I got you correct with following example ?
> Number of messages allocated 4
> Assigned value 5
> The function will write the values 5,6,7 or 8, bound to internal rules.

Nearly. The function may modify the low-order 0 to 3 bits. If it
gets allocated 4 messages (2 bits modifiable) and a value of 5,
its range of values would be 4 to 7. I'd expect the system normally
to assign it the value at the bottom of its range.

> Do you have experience with MSI or knowledge from paper/net ? If later,
> which one ?

Most of my "knowledge" is from the PCI 2.2 spec and from discussions
with various people. I've specified chipset features to integrate with
MSI and translate back and forth between MSI and other mechanisms, and
I've worked with some of Intel's mapping of IOAPIC messages into MSI-
like mechanisms. I've looked with amazement at how the HyperTransport
Consortium have turned PCI's elegant MSI back into an ugly special-
purpose message, and I'm currently working with a system controller
that implements HyperTransport's screwed-up MSI in a way that more or
less prevents its supporting general purpose MSI. Sorry to rant, but
I find it very frustrating how people keep screwing up this simple
and useful idea.

> And/or do you know a MSI-capable device with its behaviour well
> documented ?

I think most newer PCI devices support MSI. If I remember correctly,
it is compulsory for PCI-X devices. I'm working with a couple of
them at the moment, but I've never seen one with well documented
bahaviour! It seems common to say that it supports 4 or 8 messages
without giving any clue about what it does with them, or what it
does if it doesn't get allocated that many.

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

Newsgroups: comp.os.vxworks
Subject: Re: message signaled interrupts (PCI 2.2)
Date: Tue, 23 Jul 2002 10:12:18 +0200
From: "Michael Lawnick" <mlawnick@no_spam.bndlg.de>
Organization: Buergernetz Dillingen
Message-ID: <ahj33u$s8f$1@snoopy.bndlg.de>
References: <ahgdf9$vm$1@snoopy.bndlg.de> <wzQ_8.10437$Qk6.10091@newsread1.prod.itd.earthlink.net> <ahgqfe$pet$1@snoopy.bndlg.de> <qV7%8.13275$Qk6.12583@newsread1.prod.itd.earthlink.net>
Reply-To: "Michael Lawnick" <mlawnick@no_spam.bndlg.de>
Sender: mlawnick@pd952407f.dip.t-dialin.net

Hi J.J

thank you, I hope this cleared enough to keep cool until H/W comes.

Regards,
Michael

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

Newsgroups: comp.os.vxworks
Subject: about vxworks on pci64?
Date: 23 Jul 2002 02:38:04 -0700
From: wei__ling@sohu.com (william)
Organization: http://groups.google.com/
Message-ID: <4f6d9aeb.0207230138.7bdd4f84@posting.google.com>

Hi,I am a green hand.

I want to make vxworks run on a pci64bits-66Mhz,
but I don't know if there are any problem when do so?
My target is a x86 .

thanks in advance

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

Newsgroups: comp.os.vxworks
Subject: Re: about tornado2.0 gnu tool chain-unknown pragmas warning
Date: Tue, 23 Jul 2002 06:21:29 -0400
From: joe durusau <durusau@bellsouth.net>
Organization: WEBUSENET.com
Message-ID: <3D3D2E29.6CDAF413@bellsouth.net>
References: <bbaee578.0207222307.518bfafc@posting.google.com>

Fred Zhou wrote:

> I am using tornado 2.0 for mips.
> The version of ccmips is "cygnus-2.7.2-960126 egcs-971225 tornado 2.0"
> I want to get such option as emitting warning when compiler meet with
> unknown pragmas.
> However it seems that this is not available in current version of
> compiler
> which can be found in other document as an option "Wunknown-pragmas"
> .--This
> option is not documented in my compiler's GNU Toolkit User's Guide
> while I
> can easily find it in other documents.
> Any graceful way to make this fixed?   Of course I do not want to
> rebuild my
> GNU tools on my own. And I hope updated tools will also be available
> to my customers.
> And also is this option both applicable for both c complier and
> assembler?
> Thanks a lot!

If you just want to see whether the option works, just try it, and
see whether the  ocmpiler takes it.  It doubt that it will, because the
compiler WRS supplies is extremely old.  Some folks have updated
the compiler for ppc targets.  A google search should turn up a newer one.

Since WRS tries to sell other compilers, I doubt that they are going to
do much with the free one.

Speaking only for myself,

Joe Durusau

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

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

From vxwexplo-errs@csg.lbl.gov  Wed Jul 24 04:03:17 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Wed Jul 24 04:03:19 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Wed Jul 24 04:03:13 PDT 2002

        Subject: promiscious mode of operation of intel 82559 ethernet controller
        Subject: some simple questions for help!
        Subject: thank you,Vijay,but i want to ask a more ...
        Subject: Help! problem with the etherOutput()
        Subject: dosFs2.0: multiple readers
        Subject: Re: can not find the source code using debugger
        Subject: How to change Telnet login/password from the target shell
        Subject: ctors, dtors: Invoking static constructors if application and vxWorks are not linked together
        Subject: DosFs2, Help.
        Subject: clock jumps forward
        Subject: Re: about tornado2.0 gnu tool chain-unknown pragmas warning
        Subject: How to download the whole group messages?
        Subject: One simple question for help
        Subject: CDF's and installed components
        Subject: Re: ctors, dtors: Invoking static constructors if application and vxWorks are not linked together
        Subject: Re: thank you,Vijay,but i want to ask a more ...
        Subject: Re: Application initialization.
        Subject: Re: CDF's and installed components
        Subject: Re: clock jumps forward
        Subject: Re: CDF's and installed components
        Subject: Re: How to change Telnet login/password from the target shell
        Subject: Re: search for RS232 Source Code
        Subject: Re: mbx860 BSP / 82558 driver problem
        Subject: Re: about tornado2.0 gnu tool chain-unknown pragmas warning
        Subject: Re: CDF's and installed components
        Subject: Interrupt driven network I/O
        Subject: Re: CDF's and installed components
        Subject: Re: clock jumps forward
        Subject: Re: Interrupt driven network I/O
        Subject: Re: Ethernet END Setup (continued)

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

Newsgroups: comp.os.vxworks
Subject: promiscious mode of operation of intel 82559 ethernet controller
Date: 23 Jul 2002 04:51:54 -0700
From: pradeeppatel77@yahoo.com (pradeep)
Organization: http://groups.google.com/
Message-ID: <54575a52.0207230351.108ac2ed@posting.google.com>

Hi vxWorks Gurus!!!!!!!!!!!!!!
I am facing  problem in putting the ethernet controller in promiscious
mode.
even thought while reading the FAlg status by isFlagGet it give eigth
bit as 1 i.e 0x100(ignore other bits)but i am not able to reciev
packets other then for the same card.
IS wdb agent is the problem ???????

regards
pradeep

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

Newsgroups: comp.os.vxworks
Subject: some simple questions for help!
Date: 23 Jul 2002 05:23:38 -0700
From: wei__ling@sohu.com (william)
Organization: http://groups.google.com/
Message-ID: <4f6d9aeb.0207230423.77dd391e@posting.google.com>

Hi!I am a green hand .
I want to make vxworks running on a pci64 bus,is there any issue? 

Is it more available a target with a more RAM and a higher frequence for x86?

thanks in advance.

William

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

Newsgroups: comp.os.vxworks
Subject: thank you,Vijay,but i want to ask a more ...
Date: 23 Jul 2002 05:28:19 -0700
From: huangyongjd@21cn.com (hyper)
Organization: http://groups.google.com/
Message-ID: <38d66cc7.0207230428.4b152b44@posting.google.com>

thank you,Vijar.
but i want to ask a more problem,as you said,the "assert" is no debug
useness under vxworks,is that?and how about to use assert under
vxworks?wish you can understand what i said.

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

Newsgroups: comp.os.vxworks
Subject: Help! problem with the etherOutput()
Date: 23 Jul 2002 05:40:16 -0700
From: ward@fhn.com.cn (ward)
Organization: http://groups.google.com/
Message-ID: <2f604c7e.0207230440.5ec20bc9@posting.google.com>

Hello all,
I am trying to improve the performance of our stack which is based on
the Vxworks 5.4 and PPC860t. We have 2 interfaces,one is cpm of 10M
and the other is motfec of 100M.

I use the etherInputHookAdd()to receive all the ethernet frame from
vxworks and return TRUE. After processing the packet by our stack, it
is sent by calling the etherOutput().

In normal load, everything is ok. But when the load is heavy, problems
occurs with the motfec interface. It can receive packets from outside
to our router but we can't receive packets sent from the 100M
interface. And the etherOutput()doesn't return error. At the same time
cpm interface is ok for tran/recv.

So I just can test the router with smartbits in this direction as
below:

packet in   |----------|    packet out
- ----------->|100M---10M|------>
            |----------|

On the other hand, the driver and BSP is the same as  I used to test
the VxWorks stack. Everything is ok in any load!

Did anyone have the same experience with it? If so, please give me
some advices to solve the problem.

Thanks in advance!

Best regards,
ward

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

Newsgroups: comp.os.vxworks
Subject: dosFs2.0: multiple readers
Date: Tue, 23 Jul 2002 17:14:20 +0100
From: "Dimitrios Siganos" <nospam_dimitrios.siganos@newport-networks.com>
Organization: Newport Networks Ltd.
Message-ID: <1027440860.901531@azores.network-i.net>

Hi all,

does anyone know if dosFs2.0 allows for multiple tasks reading the same file
at the same time?

Dimitris

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

Newsgroups: comp.os.vxworks
Subject: Re: can not find the source code using debugger
Date: 23 Jul 2002 09:40:13 -0700
From: dragonli@yahoo.com (June)
Organization: http://groups.google.com/
Message-ID: <d48fa963.0207230840.625a0523@posting.google.com>
References: <d48fa963.0207191205.60a5ffed@posting.google.com> <3D387483.EA9E712C@notifier-is.net>

I checked the "include debug info" check box. And previously the
debugger can find the source codes. Now it just won't work again.

david lindauer <dlindauer@notifier-is.net> wrote in message news:<3D387483.EA9E712C@notifier-is.net>...

> did you go to builds window and select the default, then select c/C++
> options and click on the 'debug symbols' check box?  If you do that you
> will need to recompile everything however.
> 
> David

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

Newsgroups: comp.os.vxworks
Subject: How to change Telnet login/password from the target shell
Date: 23 Jul 2002 12:55:34 -0700
From: vkinger@hotmail.com (Kinger)
Organization: http://groups.google.com/
Message-ID: <f57b3351.0207231155.222fb0cf@posting.google.com>

Hi all,
I am having a problem in changing the username/password from the
target shell, I can telnet into the target server with my default
username/password(defined in the Tornado 2.0 project with encrypted
password). I tried using
- ->iam ("user","password")
It does show me the correct(new)username from the following   
- ->whoami
but once I am logged out and log back in, I can not get into the
target server with new username/password I created from "iam" command.
It still accepts the default username/password.
What I need is new set of username/password that overwrites the
default username/password.
Can someone help?

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

Newsgroups: comp.os.vxworks
Subject: ctors, dtors: Invoking static constructors if application and vxWorks are not linked together
Date: 23 Jul 2002 13:26:08 -0700
From: peter.koerner@us.transport.bombardier.com (Peter Koerner)
Organization: http://groups.google.com/
Message-ID: <4c791455.0207231226.712235c2@posting.google.com>

My application and my RTOS (vxWorks) are burned into different
segments in ROM. The application accesses vxWorks functions via an
indirect calling table.

The application consists of C++ code which was automatically generated
by Rhapsody (UML tool).

The problem I have to solve now is that the C++ code has static
constructors.

If the application would be linked together with the vxWorks I could
just call the cplusCtors() function to execute them, but it is not. It
does not help either that I can call the cplusCtor() function via my
indirect calling table since the function does not know where my
application ctor list is located.

Anybody out there with good ideas ?

Thanks
  Peter

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

Newsgroups: comp.os.vxworks
Subject: DosFs2, Help.
Date: 23 Jul 2002 13:52:24 -0700
From: vloscomp@yahoo.com (Vinh)
Organization: http://groups.google.com/
Message-ID: <c129947c.0207231252.1c05166f@posting.google.com>

Hi,
   I have a physical device layout as follow:
1. 8 bits( 1byte) addressable memory.
2. device is 16MB, and there are 2.
3. Total size is 32MB of cont adrs.
4. the device is 128KB block. (erase 128KB at a time)

   I have writen and debug the device driver for write, read, and erase operation.

   I would like to connect this device to DosFs2. The block driver is config: 
    512 bytePerSec
    256 Sec         -> the format takes 5hrs for 32MB
                       to completes the format,
                       so i reduce the Sec to 256.

   
   DosFs2 Init sequence:

- - cbioflsh = dcacheDevCreate( flsh, NULL, x400, "/buf" ); 

- - dosFsDevCreate( "/flsh", cbioflsh, 5,DOS_CHK_VERB_0 );

- - dosFsVolFormat( "/flsh",(DOS_OPT_FAT32 | DOS_OPT_BLANK), 0 );

   Question:

1. Does dcacheDevCreate has to be 2x the bytesPerSec?
   I had tried different size for bytesPerSec and 
   dcache, but the only combination that works is 
   dcache size 2X the bytesPerSec.

2. After the DosFs2 completes the formats it shows that
   byte free is 0 (see below). 

- -> dosFsShow "/flsh"

volume descriptor ptr (pVolDesc):       0x4dd8260
cache block I/O descriptor ptr (pCbio): 0x4dd8330
auto disk check on mount:               DOS_CHK_REPAIR | DOS_CHK_VERB_2
max # of simultaneously open files:     7
file descriptors in use:                0
# of different files in use:            0
# of descriptors for deleted files:     0
# of  obsolete descriptors:             0

current volume configuration:
 - volume label:        NO LABEL ; (in boot sector:     )
 - volume Id:           0x950000
 - total number of sectors:     256
 - bytes per sector:            512
 - # of sectors per cluster:    8
 - # of reserved sectors:       32
 - FAT entry size:              FAT32
 - # of sectors per FAT copy:   1
 - # of FAT table copies:       2
 - # of hidden sectors:         0
 - first cluster is in sector # 34
 - directory structure:         VFAT
 - root dir start cluster:      2

FAT handler information:
- ------------------------
 - allocation group size:       1 clusters
 - free space on volume:        0 bytes         <---- what does this means?

Thank you,
Vinh Lam

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

Newsgroups: comp.os.vxworks
Subject: clock jumps forward
Date: 23 Jul 2002 15:29:23 -0700
From: txue@ureach.com (Thomas Xue)
Organization: http://groups.google.com/
Message-ID: <3d64955d.0207231429.3254d1@posting.google.com>

Hi
I have a multi_task porgram which reads message from socket and serial
port and process accordingly. There are 4 tasks whose priorities are
the same, 200.

One task of the program looks like:

for (;;) {
printf("loop starts at %ld\n", tickGet());
.......
process_msg();
......
printf("loop ends at %ld\n", tickGet());
}

Many times I find clock jumps forward several hundred ticks. I even
find out after the loop prints out the last trace, the next printf
statement at the beginning of the loop prints a timestamp which is
several hundred ticks higher. That makes me confused 'cause there no
other statement in between.

I change tickGet() to vxTicks, vxAbsTicks and even use clock_gettime()
to print time. This problem still happens.

My guess is that there are 2 possibilities
1) The clock_gettime() and tickGet() have some bugs. Does anyone
experiecne any problem like this? Does clock_gettime() or tickGet()
use vxTicks(or vxAbsTicks) to retieve time?
2) Maybe other tasks block this task. But even I put the task into a
higher priority, I got the same problem.

I am using vxWorks 5.4 on a intel pentium chip.

Thanks.

- -Tom

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

Newsgroups: comp.os.vxworks
Subject: Re: about tornado2.0 gnu tool chain-unknown pragmas warning
Date: 23 Jul 2002 17:43:12 -0700
From: zhouzhaohan@yahoo.com (Fred Zhou)
Organization: http://groups.google.com/
Message-ID: <bbaee578.0207231643.428f4f2e@posting.google.com>
References: <bbaee578.0207222307.518bfafc@posting.google.com> <3D3D2E29.6CDAF413@bellsouth.net>

joe durusau <durusau@bellsouth.net> wrote in message news:<3D3D2E29.6CDAF413@bellsouth.net>...
> Fred Zhou wrote:
> 
> > I am using tornado 2.0 for mips.
> > The version of ccmips is "cygnus-2.7.2-960126 egcs-971225 tornado 2.0"
> > I want to get such option as emitting warning when compiler meet with
> > unknown pragmas.
> > However it seems that this is not available in current version of
> > compiler
> > which can be found in other document as an option "Wunknown-pragmas"
> > .--This
> > option is not documented in my compiler's GNU Toolkit User's Guide
> > while I
> > can easily find it in other documents.
> > Any graceful way to make this fixed?   Of course I do not want to
> > rebuild my
> > GNU tools on my own. And I hope updated tools will also be available
> > to my customers.
> > And also is this option both applicable for both c complier and
> > assembler?
> > Thanks a lot!
> 
> If you just want to see whether the option works, just try it, and
> see whether the  ocmpiler takes it.  It doubt that it will, because the
> compiler WRS supplies is extremely old.  Some folks have updated
> the compiler for ppc targets.  A google search should turn up a newer one.
> 
> Since WRS tries to sell other compilers, I doubt that they are going to
> do much with the free one.
> 
> Speaking only for myself,
> 
> Joe Durusau

Yes, I already tried and failed.
I wanna get some "official" way to solve this problem.
Any additional work should I do to make a cc to  cc for some specific
architectures e.g. ccmips?
Thanks!

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

Newsgroups: comp.os.vxworks
Subject: How to download the whole group messages?
Date: 23 Jul 2002 18:40:15 -0700
From: wangjf@wmc.ee.tsinghua.edu.cn (Jeff)
Organization: http://groups.google.com/
Message-ID: <a2ea71f4.0207231740.2bbcd05e@posting.google.com>

Hi all,

Does anyone know how to dowlnoad the whole group messages? Browsing
one by one is really boring!

Thanks in advance.

Jeff

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

Newsgroups: comp.os.vxworks
Subject: One simple question for help
Date: 23 Jul 2002 18:51:42 -0700
From: peng.liu@utstar.com (peng.liu)
Organization: http://groups.google.com/
Message-ID: <15cfb1ac.0207231751.6cb0a79@posting.google.com>

Hi, all,

I have one simple question for your help:

In vxwork, we can check the UDP state by the command udpstatShow(), as
below:

- ->udpstatShow
UDP:
        309260 total packets
        158392 input packets
        150868 output packets
        0 incomplete header
        0 bad data length field
        0 bad checksum
        960 broadcasts received with no ports
        53231 full sockets                 ????????
        157432 pcb cache lookups failed    ????????
        0 pcb hash lookup failed           ????????
value = 26 = 0x1a
 
but I don't know what the meaning is "full sockets", "pcb cache
lookups failed" and "pcb hash lookup failed", Who can tell me? thanks
very much!!!

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

Newsgroups: comp.os.vxworks
Subject: CDF's and installed components
Date: Tue, 23 Jul 2002 18:55:45 -0700
From: "Michael R. Kesti" <mkesti@gv.net>
Organization: MK Associates
Message-ID: <3D3E0921.EDCF5F10@gv.net>
Reply-To: mkesti@gv.net

Using Tornado 2 and vxWorks 5.4 under a Windows NT4 host, I have recently
written several device drivers.  After initial development by including and
testing them in usrAppInit, I have stored these drivers' source files in the
appropriate directories under $(WIND_BASE)\target\src\drv and their header
files in the appropriate directories under $(WIND_BASE)\target\h\drv.  I have
added definition of the appropriate macros in the $(BSP_DIR)\config.h files
and conditionally include the source files in the $(BSP_DIR)sysLib.c files.
Finally, I have written component definition files (CDF) that I have located
in the $(BSP_DIR)s.

I find that the components appear in the appropriate projects' folders based
on the BSPs and everything seems to work out very well except for two small,
perhaps related, details.  First, the components appear in the projects'
vxWorks tabs in italics, indicating that they are not installed.  Attempts
to include them by right-clicking on them and selecting the "Include"
submenu result in a dialog that says "Component 'component-synopsis' is not
installed.  You may need to purchase and/or install it."  I find, however,
that I can include the components by selecting them and using the menu items
Project->Add/Include->Component(s).

The second problem is that, when adding or deleting these components, the
dialogs that show the "Image size change" indicate that these components
have zero size text, data, and bss sections.

The CDF files are of this form:

Component INCLUDE_COMPONENT {
	NAME		component name
	SYNOPSIS	component synopsis
	MODULES		dir/component.o
	INIT_RTN	componentDrv ()
	HDR_FILES	drv/dir/component.h
	_CHILDREN	FOLDER_PERIPHERALS
	_INIT_ORDER	usrRoot
	INIT_BEFORE	INCLUDE_USER_APPL
}

The build defines -I paths to find the source and header files.

Researching these issues on the Google Usenet archive show that I am not
the first to experience them, but I can find no insight into what is
required for Tornado to consider these components installed.  Can someone
please tell me what it is that I am missing!

Might it be because I am not specifying an ARCHIVE field?  I can see how that
would allow T2 to determine the section sizes.  If this is the problem, how
are the libraries generated and where are they stored?

BTW, I have studied the BSP Developer's Kit manual and perused Johan
Borkhuis' fine web page regarding these matters.  I am also aware that
changes to CDF's are unseen by Tornado until the affected projects'
workspaces are reloaded.

Thanks!

- -- 
========================================================================
          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: Re: ctors, dtors: Invoking static constructors if application and vxWorks are not linked together
Date: Wed, 24 Jul 2002 05:20:11 GMT
From: "H. E. Taylor" <het@despam.autobahn.mb.ca>
Organization: MTS Internet
Message-ID: <3D3E537E.157@despam.autobahn.mb.ca>
References: <4c791455.0207231226.712235c2@posting.google.com>

In article <4c791455.0207231226.712235c2@posting.google.com>,
<peter.koerner@us.transport.bombardier.com> Peter Koerner wrote:
> 
> My application and my RTOS (vxWorks) are burned into different
> segments in ROM. The application accesses vxWorks functions via an
> indirect calling table.
> 
> The application consists of C++ code which was automatically generated
> by Rhapsody (UML tool).
> 
> The problem I have to solve now is that the C++ code has static
> constructors.
> 
> If the application would be linked together with the vxWorks I could
> just call the cplusCtors() function to execute them, but it is not. It
> does not help either that I can call the cplusCtor() function via my
> indirect calling table since the function does not know where my
> application ctor list is located.
> 
> Anybody out there with good ideas ?
>

	Create your own ctorlist, taking note of dependencies, and
	call it yourself during startup...

<curious>
- -het
 

- --
"progress in software has not followed Moore's law."  -John Holland 

Energy Alternatives: http://www.autobahn.mb.ca/~het/energy.html
H.E. Taylor  http://www.autobahn.mb.ca/~het/

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

Newsgroups: comp.os.vxworks
Subject: Re: thank you,Vijay,but i want to ask a more ...
Date: 23 Jul 2002 22:29:56 -0700
From: vijay.peshkar@wipro.com (Vijay Peshkar)
Organization: http://groups.google.com/
Message-ID: <bb8c75e1.0207232129.5d722f5f@posting.google.com>
References: <38d66cc7.0207230428.4b152b44@posting.google.com>

Hi,

The only explanation I can think of is that the code using assert() is
being called as a function from shell and hence it is suspending shell
task itself.
Try spawning a task with your code as its entry point. Then it should
suspend your task and the diagnostic info should be seen.

Regards,
Vijay

huangyongjd@21cn.com (hyper) wrote in message news:<38d66cc7.0207230428.4b152b44@posting.google.com>...
> thank you,Vijar.
> but i want to ask a more problem,as you said,the "assert" is no debug
> useness under vxworks,is that?and how about to use assert under
> vxworks?wish you can understand what i said.

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

Newsgroups: comp.os.vxworks
Subject: Re: Application initialization.
Date: 23 Jul 2002 23:31:55 -0700
From: rajaismyname@yahoo.com (Raja Ganesan)
Organization: http://groups.google.com/
Message-ID: <1a047b5a.0207232231.2b647a97@posting.google.com>
References: <d6e2de0a.0207121035.587fbd08@posting.google.com> <488e459a.0207121526.19a35c69@posting.google.com> <1a047b5a.0207172002.668b1e09@posting.google.com> <3D383DC7.D8EFD585@fnal.gov> <3D3868C7.27470484@notifier-is.net>

Hi,

I just showed that for example.

what ever is your function name you just enter within usrAppInit
routine and then compile.  like,
void usrAppInit (void)
     {
#ifdef  USER_APPL_INIT
         USER_APPL_INIT;         /* for backwards compatibility */
#endif

  function_name();   /* add application specific code here */
    }

Regards,
Raja Ganesan G
Datec Systems (P) Ltd.

david lindauer <dlindauer@notifier-is.net> wrote in message news:<3D3868C7.27470484@notifier-is.net>...
> Dinker Charak wrote:
> 
> > > void usrAppInit (void)
> > >     {
> > > #ifdef  USER_APPL_INIT
> > >         USER_APPL_INIT;         /* for backwards compatibility */
> > > #endif
> > >
> > >  main();   /* add application specific code here */
> > >     }
> > >
> >
> > main() ...?
> >
> > are you sure it will work? EABI prohibits main as a application function
> > name ...
> >
> 
> It will work if your main() function is inside a C language source file.  There may be problems if you put your
> main() function inside a C++ source file (which is probably why it is prohibited).
> 
> David
> 
> >
> > dinker
> >
> > Raja Ganesan wrote:
> > >
> > > Hi,
> > >
> > > do the following
> > > 1. create a bootable application
> > > 2. include your main function (i.e the function name you will type in
> > > shell) in the file usrAppInit.c like that of the following assuming
> > > your application starts with the function main().
> > >
> > > void usrAppInit (void)
> > >     {
> > > #ifdef  USER_APPL_INIT
> > >         USER_APPL_INIT;         /* for backwards compatibility */
> > > #endif
> > >
> > >  main();   /* add application specific code here */
> > >     }
> > >
> > > then your app will be invoked automatically when ever you boot
> > > vxworks.
> > >
> > > with regards,
> > > Raja Ganesan G
> > > Datec Systems (P) Ltd.
> > >
> > > john_94501@yahoo.com (John) wrote in message news:<488e459a.0207121526.19a35c69@posting.google.com>...
> > > > Hello,
> > > >
> > > > If you are using Tornado & projects, check out section 4.4 in the
> > > > Tornado User's Guide: Creating a Bootable Application. That describes
> > > > how to make the application run automatically at boot time from a
> > > > project.
> > > >
> > > > For the command line/BSP oriented method, read this tech note:
> > > >
> > > > http://www.windriver.com/windsurf/appnotes/ide/tornado/t2/APN43/WTN43.pdf
> > > >
> > > > (you'll need a WindSurf account to access this information).
> > > >
> > > > HTH,
> > > >
> > > > John...
> > > >
> > > >
> > > > vxworks@india.com (V R R Raju) wrote in message news:<d6e2de0a.0207121035.587fbd08@posting.google.com>...
> > > > > Hi friends,
> > > > >
> > > > > I am trying to make an application. I want my application to be
> > > > > started as soon as the shell gets activated. That is it has to start
> > > > > by itself rather than me giving the name at shell. For this which
> > > > > configuration file did I have to change and where.
> > > > >
> > > > > Thanks in advance.
> > > > >
> > > > > With regards,
> > > > >
> > > > > Rajneesh

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

Newsgroups: comp.os.vxworks
Subject: Re: CDF's and installed components
Date: Wed, 24 Jul 2002 08:33:45 +0200
From: "Michael Lawnick" <mlawnick@no_spam.bndlg.de>
Organization: Buergernetz Dillingen
Message-ID: <ahlhn5$amv$1@snoopy.bndlg.de>
References: <3D3E0921.EDCF5F10@gv.net>
Reply-To: "Michael Lawnick" <mlawnick@no_spam.bndlg.de>
Sender: mlawnick@pd9e656fe.dip.t-dialin.net

Hi Michael,

you need to add the object in the related archive
($(WIND_BASE)/target/lib/lib<arch>gnuvx.a. This will solve the 'italic'
problem as well as the size.

Michael.

"Michael R. Kesti" <mkesti@gv.net> schrieb im Newsbeitrag
news:3D3E0921.EDCF5F10@gv.net...
> Using Tornado 2 and vxWorks 5.4 under a Windows NT4 host, I have recently
> written several device drivers.  After initial development by including
and
> testing them in usrAppInit, I have stored these drivers' source files in
the
> appropriate directories under $(WIND_BASE)\target\src\drv and their header
> files in the appropriate directories under $(WIND_BASE)\target\h\drv.  I
have
> added definition of the appropriate macros in the $(BSP_DIR)\config.h
files
> and conditionally include the source files in the $(BSP_DIR)sysLib.c
files.
> Finally, I have written component definition files (CDF) that I have
located
> in the $(BSP_DIR)s.
>
> I find that the components appear in the appropriate projects' folders
based
> on the BSPs and everything seems to work out very well except for two
small,
> perhaps related, details.  First, the components appear in the projects'
> vxWorks tabs in italics, indicating that they are not installed.  Attempts
> to include them by right-clicking on them and selecting the "Include"
> submenu result in a dialog that says "Component 'component-synopsis' is
not
> installed.  You may need to purchase and/or install it."  I find, however,
> that I can include the components by selecting them and using the menu
items
> Project->Add/Include->Component(s).
>
> The second problem is that, when adding or deleting these components, the
> dialogs that show the "Image size change" indicate that these components
> have zero size text, data, and bss sections.
>
> The CDF files are of this form:
>
> Component INCLUDE_COMPONENT {
> NAME component name
> SYNOPSIS component synopsis
> MODULES dir/component.o
> INIT_RTN componentDrv ()
> HDR_FILES drv/dir/component.h
> _CHILDREN FOLDER_PERIPHERALS
> _INIT_ORDER usrRoot
> INIT_BEFORE INCLUDE_USER_APPL
> }
>
> The build defines -I paths to find the source and header files.
>
> Researching these issues on the Google Usenet archive show that I am not
> the first to experience them, but I can find no insight into what is
> required for Tornado to consider these components installed.  Can someone
> please tell me what it is that I am missing!
>
> Might it be because I am not specifying an ARCHIVE field?  I can see how
that
> would allow T2 to determine the section sizes.  If this is the problem,
how
> are the libraries generated and where are they stored?
>
> BTW, I have studied the BSP Developer's Kit manual and perused Johan
> Borkhuis' fine web page regarding these matters.  I am also aware that
> changes to CDF's are unseen by Tornado until the affected projects'
> workspaces are reloaded.
>
> Thanks!
>
> --
> ========================================================================
>           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: Re: clock jumps forward
Date: Wed, 24 Jul 2002 08:39:14 +0200
From: "Michael Lawnick" <mlawnick@no_spam.bndlg.de>
Organization: Buergernetz Dillingen
Message-ID: <ahli1h$b5d$1@snoopy.bndlg.de>
References: <3d64955d.0207231429.3254d1@posting.google.com>
Reply-To: "Michael Lawnick" <mlawnick@no_spam.bndlg.de>
Sender: mlawnick@pd9e656fe.dip.t-dialin.net

Hi Thomas,

check whether your output is split to serial. This will add some delay.
BTW: WindView is an excellent tool for such problems.

Michael

"Thomas Xue" <txue@ureach.com> schrieb im Newsbeitrag
news:3d64955d.0207231429.3254d1@posting.google.com...
> Hi
> I have a multi_task porgram which reads message from socket and serial
> port and process accordingly. There are 4 tasks whose priorities are
> the same, 200.
>
> One task of the program looks like:
>
> for (;;) {
> printf("loop starts at %ld\n", tickGet());
> .......
> process_msg();
> ......
> printf("loop ends at %ld\n", tickGet());
> }
>
> Many times I find clock jumps forward several hundred ticks. I even
> find out after the loop prints out the last trace, the next printf
> statement at the beginning of the loop prints a timestamp which is
> several hundred ticks higher. That makes me confused 'cause there no
> other statement in between.
>
> I change tickGet() to vxTicks, vxAbsTicks and even use clock_gettime()
> to print time. This problem still happens.
>
> My guess is that there are 2 possibilities
> 1) The clock_gettime() and tickGet() have some bugs. Does anyone
> experiecne any problem like this? Does clock_gettime() or tickGet()
> use vxTicks(or vxAbsTicks) to retieve time?
> 2) Maybe other tasks block this task. But even I put the task into a
> higher priority, I got the same problem.
>
> I am using vxWorks 5.4 on a intel pentium chip.
>
> Thanks.
>
> -Tom

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

Newsgroups: comp.os.vxworks
Subject: Re: CDF's and installed components
Date: Wed, 24 Jul 2002 06:54:27 GMT
From: "John Kevin Fabiani" <nospam@nospam.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <Das%8.1118$GD2.106114098@newssvr17.news.prodigy.com>
References: <3D3E0921.EDCF5F10@gv.net>

Hi
"Michael R. Kesti" <mkesti@gv.net> wrote in message
news:3D3E0921.EDCF5F10@gv.net...
> Using Tornado 2 and vxWorks 5.4 under a Windows NT4 host, I have recently
> written several device drivers.  After initial development by including
and
> testing them in usrAppInit, I have stored these drivers' source files in
the
> appropriate directories under $(WIND_BASE)\target\src\drv and their header
> files in the appropriate directories under $(WIND_BASE)\target\h\drv.  I
have
> added definition of the appropriate macros in the $(BSP_DIR)\config.h
files
> and conditionally include the source files in the $(BSP_DIR)sysLib.c
files.
> Finally, I have written component definition files (CDF) that I have
located
> in the $(BSP_DIR)s.
>
> I find that the components appear in the appropriate projects' folders
based
> on the BSPs and everything seems to work out very well except for two
small,
> perhaps related, details.  First, the components appear in the projects'
> vxWorks tabs in italics, indicating that they are not installed.  Attempts
> to include them by right-clicking on them and selecting the "Include"
> submenu result in a dialog that says "Component 'component-synopsis' is
not
> installed.  You may need to purchase and/or install it."  I find, however,
> that I can include the components by selecting them and using the menu
items
> Project->Add/Include->Component(s).
>
> The second problem is that, when adding or deleting these components, the
> dialogs that show the "Image size change" indicate that these components
> have zero size text, data, and bss sections.
>
> The CDF files are of this form:
>
> Component INCLUDE_COMPONENT {
> NAME component name
> SYNOPSIS component synopsis
> MODULES dir/component.o
> INIT_RTN componentDrv ()
> HDR_FILES drv/dir/component.h
> _CHILDREN FOLDER_PERIPHERALS
> _INIT_ORDER usrRoot
> INIT_BEFORE INCLUDE_USER_APPL
> }
>
> The build defines -I paths to find the source and header files.
>
> Researching these issues on the Google Usenet archive show that I am not
> the first to experience them, but I can find no insight into what is
> required for Tornado to consider these components installed.  Can someone
> please tell me what it is that I am missing!

Have you done the following:

1.) Built component.o and copy it into the
     $WIND_BASE/target/lib/objPENTIUMgnuvx/component.o

     (where PENTIUM is your CPU type...)

2.) add component.o to the library archive:
     ar386 -crus $WIND_BASE/target/lib/libPENTIUMgnuvx.a
$WIND_BASE/target/lib/objPENTIUMgnuvx/component.o

> Might it be because I am not specifying an ARCHIVE field?  I can see how
that
> would allow T2 to determine the section sizes.  If this is the problem,
how
> are the libraries generated and where are they stored?

The libraries are stored in $WIND_BASE/target/lib/*.a
and they are generated from the objects in
$WIND_BASE/target/lib/objPENTIUMgnuvx/*.o

Again, where PENTIUM is your CPU type.

Look at some of the WindRiver Makefiles in target/src/drv/*
They archive thier objects in the make rules.

- -j

> BTW, I have studied the BSP Developer's Kit manual and perused Johan
> Borkhuis' fine web page regarding these matters.  I am also aware that
> changes to CDF's are unseen by Tornado until the affected projects'
> workspaces are reloaded.
>
> Thanks!
>
> --
> ========================================================================
>           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: Re: How to change Telnet login/password from the target shell
Date: Wed, 24 Jul 2002 08:45:57 +0200
From: "Michael Lawnick" <mlawnick@no_spam.bndlg.de>
Organization: Buergernetz Dillingen
Message-ID: <ahlie0$bmo$1@snoopy.bndlg.de>
References: <f57b3351.0207231155.222fb0cf@posting.google.com>
Reply-To: "Michael Lawnick" <mlawnick@no_spam.bndlg.de>
Sender: mlawnick@pd9e656fe.dip.t-dialin.net

Hi Kinger,

you are riding the wrong trail!
iam() is for identification of target to haost that wants login (ftp,
nfs,...)
Look into help for loginLib to find the functions you need.

Michael

"Kinger" <vkinger@hotmail.com> schrieb im Newsbeitrag
news:f57b3351.0207231155.222fb0cf@posting.google.com...
> Hi all,
> I am having a problem in changing the username/password from the
> target shell, I can telnet into the target server with my default
> username/password(defined in the Tornado 2.0 project with encrypted
> password). I tried using
> ->iam ("user","password")
> It does show me the correct(new)username from the following
> ->whoami
> but once I am logged out and log back in, I can not get into the
> target server with new username/password I created from "iam" command.
> It still accepts the default username/password.
> What I need is new set of username/password that overwrites the
> default username/password.
> Can someone help?

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

Newsgroups: comp.os.vxworks
Subject: Re: search for RS232 Source Code
Date: Wed, 24 Jul 2002 07:07:47 GMT
From: "Gary M" <com.vertical@garym>
Organization: AT&T Broadband
Message-ID: <7ns%8.146038$uw.90229@rwcrnsc51.ops.asp.att.net>
References: <e56229a1.0207220053.79b26e2@posting.google.com>

RS232 is a physical wire transmission protocol. Surely you are looking for
source code for a UART driver. Which UART are you using?

"guobao shen" <shengb@ssrc.ac.cn> wrote in message
news:e56229a1.0207220053.79b26e2@posting.google.com...
> Hello, every one,
> Where can I find the C source code of RS232 PC?
>
> Thanks and Regards,
> guobao shen

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

Newsgroups: comp.os.vxworks
Subject: Re: mbx860 BSP / 82558 driver problem
Date: Wed, 24 Jul 2002 07:14:04 GMT
From: "Gary M" <com.vertical@garym>
Organization: AT&T Broadband
Message-ID: <0ts%8.111538$Wt3.98785@rwcrnsc53>
References: <6d3e990b.0207220735.31de5ea0@posting.google.com>

Have you properly initialized the QSpan image space (one of the QBus slave
image spaces) so that it responds to accesses in the 128MB range starting at
0x81000000, and then properly translates to the PCI address of the 82558?
One or the other is not responding to the access cycle, and times out.

"David Meadows" <david.meadows@roke.co.uk> wrote in message
news:6d3e990b.0207220735.31de5ea0@posting.google.com...
> Hello everyone,
>
> I'm having problems with a ethernet driver that I hope someone can
> help me with.
> The ethernet card in question is a 82558 if_fei driver compatible card
> connected via PCI to a mbx860 board running the relevant BSP. It's my
> understanding that the 82558 driver is source for an x86 platform so
> there may be endian issues.
> The mbx860 board uses a QSpan QBus/PCI bridge.
>
> The BSP seems to start-up okay, finds the PCI card using
> pciFindDevice, assigns the required base address values and enabled
> memory space, io space and bus mastering.
> I can see that the data returned using pciConfigInLong matches what I
> write into the registers and I see the PCI status register return a
> happy value when I read it.
>
> However when I try to attach to the ethernet driver I find I receive a
> data access exception on the first call to sysOutLong().
>
> The data access register value is 0x8102000a which is an address
> located within a region of memory that I mapped to be PCI IO space in
> the sysPhysMemDesc table.
> The machine status register comes back as 0x9032 but I can't see any
> wrong.
>
> The entry is shown below:
>
> {
>     (void *) PCI_MSTR_IO_LOCAL, /* 0x81000000 */
>     (void *) PCI_MSTR_IO_LOCAL,
>     PCI_MSTR_IO_SIZE, /* 128 MB */
>     VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE |
> VM_STATE_MASK_CACHEABLE,
>     VM_STATE_VALID      | VM_STATE_WRITABLE      |
> VM_STATE_CACHEABLE_NOT
>     },
>
> I have tried varying the value used between 0x81000000 and 0x85000000
> but with no success.
>
> I have tried turning off caching by removing the following from
> configAll.h:
>
> INCLUDE_MMU_BASIC
> INCLUDE_MMU_FULL
> INCLUDE_PROTECT_TEXT
> INCLUDE_PROTECT_VEC_TABLE
>
> but this produces the same result.
>
> I also thought that the problem may lie with endian conversion but my
> understanding is that there is no difference for Long (32-bit)
> accesses and the first sysOut call is a sysOutLong.
>
> Is there something fundamental that I'm missing?
>
> Any help would be much appreciated.
>
> Regards,
>
> David

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

Newsgroups: comp.os.vxworks
Subject: Re: about tornado2.0 gnu tool chain-unknown pragmas warning
Date: 24 Jul 2002 00:17:44 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207232317.135330c4@posting.google.com>
References: <bbaee578.0207222307.518bfafc@posting.google.com> <3D3D2E29.6CDAF413@bellsouth.net> <bbaee578.0207231643.428f4f2e@posting.google.com>

Hello,

Try getting a hold of one either a 2.1 release for MIPS, wait for the
2.2 release or upgrade to VxWorks AE. The last two of these for sure,
and I suspect the 2.1 release as well, include a newer version of the
GNU compiler (named 2.96 by Wind River).

I tried a simple test on the AE ARM compiler (I don't have MIPS):

ccarm -Wunknown-pragmas -c test.c

The compiler did not complain about any unknown options, so I assume
that it was accepted. Since I don't know what it is meant to do, I
can't tell you more than that (feel free to post a short example and
I'll try it for you though).

Rgds,

John...

zhouzhaohan@yahoo.com (Fred Zhou) wrote in message news:<bbaee578.0207231643.428f4f2e@posting.google.com>...
> joe durusau <durusau@bellsouth.net> wrote in message news:<3D3D2E29.6CDAF413@bellsouth.net>...
> > Fred Zhou wrote:
> > 
> > > I am using tornado 2.0 for mips.
> > > The version of ccmips is "cygnus-2.7.2-960126 egcs-971225 tornado 2.0"
> > > I want to get such option as emitting warning when compiler meet with
> > > unknown pragmas.
> > > However it seems that this is not available in current version of
> > > compiler
> > > which can be found in other document as an option "Wunknown-pragmas"
> > > .--This
> > > option is not documented in my compiler's GNU Toolkit User's Guide
> > > while I
> > > can easily find it in other documents.
> > > Any graceful way to make this fixed?   Of course I do not want to
> > > rebuild my
> > > GNU tools on my own. And I hope updated tools will also be available
> > > to my customers.
> > > And also is this option both applicable for both c complier and
> > > assembler?
> > > Thanks a lot!
> > 
> > If you just want to see whether the option works, just try it, and
> > see whether the  ocmpiler takes it.  It doubt that it will, because the
> > compiler WRS supplies is extremely old.  Some folks have updated
> > the compiler for ppc targets.  A google search should turn up a newer one.
> > 
> > Since WRS tries to sell other compilers, I doubt that they are going to
> > do much with the free one.
> > 
> > Speaking only for myself,
> > 
> > Joe Durusau
> 
> Yes, I already tried and failed.
> I wanna get some "official" way to solve this problem.
> Any additional work should I do to make a cc to  cc for some specific
> architectures e.g. ccmips?
> Thanks!

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

Newsgroups: comp.os.vxworks
Subject: Re: CDF's and installed components
Date: 24 Jul 2002 00:27:32 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207232327.461bbe97@posting.google.com>
References: <3D3E0921.EDCF5F10@gv.net>

Hello,

I should preface this by saying that I am not an expert with the T2
project facility, so read with that in mind.

I believe that for the installation check to work, the module must be
in one of the few places that the tool searches. The easiest for you
to use would be the VxWorks archive (target/lib/lib$(CPU)$(TOOL)vx.a)
since you have added the source code to the WRS source tree.

Make sure that you have a Makefile in target/src/drv/dir that looks
like the ones in the other drv subdirectories, except that it lists
your .o files in the OBJS list. Then type make CPU=XXXX TOOL=YYYY
(where XXXX is the name of your CPU, and YYYY is the name for the
compiler - usually gnu).

That will build your driver and add the module to the main VxWorks
archive. Your CDF file then simply needs to have the module name after
MODULES (i.e. no "dir/" prefix). Everything else you have looks OK.

HTH,

John...

"Michael R. Kesti" <mkesti@gv.net> wrote in message news:<3D3E0921.EDCF5F10@gv.net>...
> Using Tornado 2 and vxWorks 5.4 under a Windows NT4 host, I have recently
> written several device drivers.  After initial development by including and
> testing them in usrAppInit, I have stored these drivers' source files in the
> appropriate directories under $(WIND_BASE)\target\src\drv and their header
> files in the appropriate directories under $(WIND_BASE)\target\h\drv.  I have
> added definition of the appropriate macros in the $(BSP_DIR)\config.h files
> and conditionally include the source files in the $(BSP_DIR)sysLib.c files.
> Finally, I have written component definition files (CDF) that I have located
> in the $(BSP_DIR)s.
> 
> I find that the components appear in the appropriate projects' folders based
> on the BSPs and everything seems to work out very well except for two small,
> perhaps related, details.  First, the components appear in the projects'
> vxWorks tabs in italics, indicating that they are not installed.  Attempts
> to include them by right-clicking on them and selecting the "Include"
> submenu result in a dialog that says "Component 'component-synopsis' is not
> installed.  You may need to purchase and/or install it."  I find, however,
> that I can include the components by selecting them and using the menu items
> Project->Add/Include->Component(s).
> 
> The second problem is that, when adding or deleting these components, the
> dialogs that show the "Image size change" indicate that these components
> have zero size text, data, and bss sections.
> 
> The CDF files are of this form:
> 
> Component INCLUDE_COMPONENT {
> 	NAME		component name
> 	SYNOPSIS	component synopsis
> 	MODULES		dir/component.o
> 	INIT_RTN	componentDrv ()
> 	HDR_FILES	drv/dir/component.h
> 	_CHILDREN	FOLDER_PERIPHERALS
> 	_INIT_ORDER	usrRoot
> 	INIT_BEFORE	INCLUDE_USER_APPL
> }
> 
> The build defines -I paths to find the source and header files.
> 
> Researching these issues on the Google Usenet archive show that I am not
> the first to experience them, but I can find no insight into what is
> required for Tornado to consider these components installed.  Can someone
> please tell me what it is that I am missing!
> 
> Might it be because I am not specifying an ARCHIVE field?  I can see how that
> would allow T2 to determine the section sizes.  If this is the problem, how
> are the libraries generated and where are they stored?
> 
> BTW, I have studied the BSP Developer's Kit manual and perused Johan
> Borkhuis' fine web page regarding these matters.  I am also aware that
> changes to CDF's are unseen by Tornado until the affected projects'
> workspaces are reloaded.
> 
> Thanks!

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

Newsgroups: comp.os.vxworks
Subject: Interrupt driven network I/O
Date: 24 Jul 2002 00:54:58 -0700
From: muthulaxmis@yahoo.com (Muthulaxmi S)
Organization: http://groups.google.com/
Message-ID: <9663bf40.0207232354.6b89b886@posting.google.com>

Hello,

How can I register a callback function for a port so that the callback
is activated whenever there is data on the port? Where can I download the
VxWorks Network Programmer's Guide?

Regards,
muthu

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

Newsgroups: comp.os.vxworks
Subject: Re: CDF's and installed components
Date: 24 Jul 2002 01:34:49 -0700
From: trahn@macrosystem.de (Thomas Rahn)
Organization: http://groups.google.com/
Message-ID: <30c8bd8b.0207240034.6878f6fd@posting.google.com>
References: <3D3E0921.EDCF5F10@gv.net>

Hi Michael,

you guesssed right. The italics denote that the Tornado project
facility could not find your module.  The project facility searches 
the target/lib directory for the object module you specified.  

For a solution:
1) you might add the module into the Tornado tree (i didnt test that option)

2) you might create a library using the ar386 librarian and copy the
resulting archive to the Tornado target/lib directory. That's the way
I handle the modules for different builds.

You will have to 'pull-in' the archive into the project. See the excerpt
from one of my CDFs.

Bye
Thomas Rahn

/* 62MacroLibs.cdf - Macrosystem Libs component description file */

Folder FOLDER_MACROSYSTEM_LIBS {
    NAME      MS Libraries
    _CHILDREN FOLDER_ROOT
    CHILDREN  FOLDER_LIB_SYSTEM
}

Folder FOLDER_LIB_SYSTEM {
    NAME      System Libraries
    CHILDREN  MS_LIB_FTPSERVER  \
              INSTALL_MS_LIBRARIES_SYSTEM
    DEFAULTS  INSTALL_MS_LIBRARIES_SYSTEM
}

/* ---------------------------------------------------------- */

/* required only to pull archive into workspace */
Component INSTALL_MS_LIBRARIES_SYSTEM {
    NAME      [read MacroSystem libaries (system)]
    SYNOPSIS  Required to read MacroSystem libraries from libMacro*.a
    ARCHIVE   libMacroC11.a
}

/* ---------------------------------------------------------- */

Component MS_LIB_FTPSERVER {
    NAME        Enhanced FTP Server
    SYNOPSIS    Enhanced FTP Server
    HDR_FILES   msFtpdLib.h
    _INIT_ORDER usrNetAppInit
    INIT_RTN	msFtpdStart();
    REQUIRES	INCLUDE_TCP INCLUDE_BSD_SOCKET
/*    ARCHIVE     libMacroC11.a*/
}

/* ---------------------------------------------------------- */

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

Newsgroups: comp.os.vxworks
Subject: Re: clock jumps forward
Date: Wed, 24 Jul 2002 08:52:55 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns92556E455C9C3borkhuisagerecom@192.19.193.66>
References: <3d64955d.0207231429.3254d1@posting.google.com>

txue@ureach.com (Thomas Xue) wrote:

> Hi
> I have a multi_task porgram which reads message from socket and serial
> port and process accordingly. There are 4 tasks whose priorities are
> the same, 200.
> 
> One task of the program looks like:
> 
> for (;;) {
> printf("loop starts at %ld\n", tickGet());
> .......
> process_msg();
> ......
> printf("loop ends at %ld\n", tickGet());
> }
> 
> Many times I find clock jumps forward several hundred ticks. I even
> find out after the loop prints out the last trace, the next printf
> statement at the beginning of the loop prints a timestamp which is
> several hundred ticks higher. That makes me confused 'cause there no
> other statement in between.
> 
> I change tickGet() to vxTicks, vxAbsTicks and even use clock_gettime()
> to print time. This problem still happens.
> 
> My guess is that there are 2 possibilities
> 1) The clock_gettime() and tickGet() have some bugs. Does anyone
> experiecne any problem like this? Does clock_gettime() or tickGet()
> use vxTicks(or vxAbsTicks) to retieve time?
> 2) Maybe other tasks block this task. But even I put the task into a
> higher priority, I got the same problem.

Try the same, but now with logMsg instead of printf. Also you can try to 
give your tasks a higher priority than the log-task. Or create a large 
array and put the values of tickGet in that array.

Because you are printing directly from the task printf is executed in the 
context of your task. This includes waiting for the serial line to 
complete. Depending on the speed of your serial line (default = 9600 bps, 
about 1 msec per char) this can take some time. Also if all four tasks 
are printing this will delay all tasks even more.

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: Interrupt driven network I/O
Date: Wed, 24 Jul 2002 11:20:28 +0200
From: "Friedrich Ensslin" <friedrich.ensslin@am3.com>
Message-ID: <lku%8.9$qm6.1481@news.ecrc.de>
References: <9663bf40.0207232354.6b89b886@posting.google.com>

Hi,

"Muthulaxmi S" <muthulaxmis@yahoo.com> schrieb im Newsbeitrag
news:9663bf40.0207232354.6b89b886@posting.google.com...
> Hello,
>
> How can I register a callback function for a port so that the callback
> is activated whenever there is data on the port?

What do you mean by port ? A TCP/IP port ? an I/O port of your HW ?

> Where can I download the
> VxWorks Network Programmer's Guide?

Googling for "vxworks-network-programmer's-guide pdf" will show you the way.

HTH,

Fritz

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

Newsgroups: comp.os.vxworks
Subject: Re: Ethernet END Setup (continued)
Date: Wed, 24 Jul 2002 10:29:24 +0100
From: Paul Caswell <paul.caswell@baesystems.com>
Organization: Land & Sea Systems
Message-ID: <3D3E7374.F63816E@baesystems.com>
References: <3D2D9D88.C72C5215@baesystems.com> <3rHX8.17402$rb3.368659711@newssvr21.news.prodigy.com>

Thanks Charles,
It turned out to be a hardware fault.  The trasmit clock was not
connected to the SCC.  Thanks all the same.
Paul

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

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

From vxwexplo-errs@csg.lbl.gov  Wed Jul 24 07:16:50 2002
From: =?iso-8859-1?q?Ravi=20Bellavi?= <ravi_bellavi@yahoo.co.in>
Date: Wed Jul 24 07:16:53 PDT 2002
Subject: Re: udpstatShow() in vxworks

>- ->udpstatShow
>UDP:
>        309260 total packets
>        158392 input packets
>        150868 output packets
>        0 incomplete header
>        0 bad data length field
>        0 bad checksum
>        960 broadcasts received with no ports
>        53231 full sockets                 ????????
>        157432 pcb cache lookups failed    ????????
>        0 pcb hash lookup failed           ????????
>value = 26 = 0x1a
> 
>but I don't know what the meaning is "full sockets",
"pcb cache
>lookups failed" and "pcb hash lookup failed", Who can
tell me? thanks
>very much!!!

full Sockets is a Counter maintained by UDP. This
counter is incremented in the
following cases:

1. Whenever a UDP Packet is dropped because the
receiving socket's 
Receive Buffer is completely full and no packet can be
given to upper layer.

2. Or the Receive Buffer is OK but enough number of
mbufs were not available
to copy the data into the receive buffer.

I do not know about pcb cache lookup and pcb hash
lookup and I am keen to know 
about it. Can some one help ?

With Regards,
Ravi.

________________________________________________________________________
Want to sell your car? advertise on Yahoo Autos Classifieds. It's Free!!
       visit http://in.autos.yahoo.com

From vxwexplo-errs@csg.lbl.gov  Thu Jul 25 03:06:43 2002
From: "A Mohammed Arif" <arif@hyd.hellosoft.com>
Date: Thu Jul 25 03:06:46 PDT 2002
Subject: Accessing Memory from User to Kernel mode in MIPS 4Kc

Hi all,

   We are writing a pci device driver for an addon card on MIPS based board
in vxworks.

 In our device it has a 32-bit register  which expects driver deveploer to
set the value of memory address which can be used to transfer and receive
the data from the processor.
 The register has given only 20- bits to write the address for block of
memory of 4k. which seems ok as it will be page. Now things of concern.
 How to get a memory page start address, which will have lower 12 bits as 0
as it is for 4 k?
 For doing the data transfer it uses DMA what extra care has to be taken to
complete the opeartion ?
 The MIPS application program majorily works in user mode and driver access
is done in kernel. so actually the data will be transferred from k0 to k1
and viceversa?

and suggestion and help extended will be appreciated.
Thanks in advance

Arif

From vxwexplo-errs@csg.lbl.gov  Thu Jul 25 03:21:26 2002
From: "srilatha_am" <srilatha_am@indiatimes.com>
Date: Thu Jul 25 03:21:28 PDT 2002
Subject: problem while using windriver(for driver) with vxworks

--=_MAILER_ATTACH_BOUNDARY1_2002725415351572660336
Content-Type: text/plain; charset=us-ascii

Hi,

we r developing driver using Windriver's toolkit in vxworks mode.

We r facing problem while compiling the code generated automatically by toolkit in Tornado.

Its giving lots of errors.

If anybody had idea about this s/w pls explain :

-How to communicate between Windriver toolkit &amp; Tornado i.e how to compile the generated code in Tornado.

-Where to write our own code for enhancing the features.

Thank you.
Get Your Private, Free E-mail from Indiatimes at  http://email.indiatimes.com
Buy Music, Video, CD-ROM, Audio-Books and Music Accessories from http://www.planetm.co.in

--=_MAILER_ATTACH_BOUNDARY1_2002725415351572660336
Content-Type: text/html; charset=us-ascii

<P>Hi,</P>
<P>we r developing driver using Windriver's toolkit in vxworks mode.</P>
<P>We r facing problem while compiling the code generated automatically by toolkit in Tornado.</P>
<P>Its giving lots of errors.</P>
<P>If anybody had idea about this s/w pls explain :</P>
<P>-How to communicate between Windriver toolkit &amp; Tornado i.e how to compile the generated code in Tornado.</P>
<P>-Where to write our own code for enhancing the features.</P>
<P>Thank you.</P>
<hr><font face="Arial" size="2"><b>Get Your Private, Free E-mail from Indiatimes at  </font><a href="http://email.indiatimes.com"><font face="Arial" size="2">http://email.indiatimes.com</font></a></b><br>Buy Music, Video, CD-ROM, Audio-Books and Music Accessories from <A href="http://www.planetm.co.in">http://www.planetm.co.in</A>

--=_MAILER_ATTACH_BOUNDARY1_2002725415351572660336--

From vxwexplo-errs@csg.lbl.gov  Thu Jul 25 04:03:19 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Thu Jul 25 04:03:22 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Thu Jul 25 04:03:14 PDT 2002

        Subject: Multitask debug
        Subject: on-target text editor
        Subject: Re: about tornado2.0 gnu tool chain-unknown pragmas warning
        Subject: Motorola MBX860-001C Power Supply
        Subject: Re: Motorola MBX860-001C Power Supply
        Subject: triggering on select()
        Subject: Re: dosFs2.0: multiple readers
        Subject: muxload problem... Tornado 2
        Subject: Re: Motorola MBX860-001C Power Supply
        Subject: dosFs2.0: debug info
        Subject: Re: triggering on select()
        Subject: Script to run reboot test
        Subject: test2002z
        Subject: Diab link order?
        Subject: Re: muxload problem... Tornado 2
        Subject: Re: muxload problem... Tornado 2
        Subject: Re: Motorola MBX860-001C Power Supply
        Subject: Re: about tornado2.0 gnu tool chain-unknown pragmas warning
        Subject: VxWorks cross-development c compiler ccppc
        Subject: Re: about tornado2.0 gnu tool chain-unknown pragmas warning
        Subject: Re: CDF's and installed components
        Subject: about sendto()
        Subject: Re: VxWorks cross-development c compiler ccppc
        Subject: Re: dosFs2.0: debug info
        Subject: Re: it jumped, you wasted, yet Richard never inadvertently departed about the navel
        Subject: embeded web server on vxworks ?
        Subject: Re: Interrupt driven network I/O
        Subject: Re: about tornado2.0 gnu tool chain-unknown pragmas warning
        Subject: Re: VxWorks cross-development c compiler ccppc
        Subject: Re: VxWorks cross-development c compiler ccppc
        Subject: Re: Motorola MBX860-001C Power Supply
        Subject: Re: Interrupt driven network I/O
        Subject: Re: about sendto()
        Subject: Re: VxWorks cross-development c compiler ccppc
        Subject: Re: Interrupt driven network I/O
        Subject: Re: Help! problem with the etherOutput()
        Subject: Re: mbx860 BSP / 82558 driver problem
        Subject: Re: Interrupt driven network I/O

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

Newsgroups: comp.os.vxworks
Subject: Multitask debug
Date: 24 Jul 2002 04:32:09 -0700
From: yh86us@yahoo.com (chc)
Organization: http://groups.google.com/
Message-ID: <254be7e.0207240332.6f212f44@posting.google.com>

Hi,

Multitask debug in Tornado is such a pain. Although I've followed the
user guide to set up the END driver in the kernel image, I can only
debug multitask in some simple program. In the larger program, the
breakpoint in other threads can be stoped, but the source code did not
show, and there was no way to continue the debug. The Attach command
in the Debug menu was also not able to setup. Any adverce is much
appreciated. I am using Tornato 2.1 in PPC target, the debug was via
Ethernet.

Thank you.

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

Newsgroups: comp.os.vxworks
Subject: on-target text editor
Date: Wed, 24 Jul 2002 12:13:43 GMT
From: Ricky West <rwwest@nc.rr.com>
Organization: Road Runner - NC
Message-ID: <3D3E989A.403@nc.rr.com>

Has anybody ported a text editor to the vxWorks target platform.  My 
specific application would use serial interface or telnet into target 
for a PPC405 target with dosFs2.0 for the filesystem.  Tornado version 
is 2.0.2.

Ricky W. West

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

Newsgroups: comp.os.vxworks
Subject: Re: about tornado2.0 gnu tool chain-unknown pragmas warning
Date: 24 Jul 2002 05:23:17 -0700
From: zhouzhaohan@yahoo.com (Fred Zhou)
Organization: http://groups.google.com/
Message-ID: <bbaee578.0207240423.69c3bcd9@posting.google.com>
References: <bbaee578.0207222307.518bfafc@posting.google.com> <3D3D2E29.6CDAF413@bellsouth.net> <bbaee578.0207231643.428f4f2e@posting.google.com>

>Hello,

>Try getting a hold of one either a 2.1 release for MIPS, wait for the
>2.2 release or upgrade to VxWorks AE. The last two of these for sure,
>and I suspect the 2.1 release as well, include a newer version of the
>GNU compiler (named 2.96 by Wind River).

>I tried a simple test on the AE ARM compiler (I don't have MIPS):

>ccarm -Wunknown-pragmas -c test.c

>The compiler did not complain about any unknown options, so I assume
>that it was accepted. Since I don't know what it is meant to do, I
>can't tell you more than that (feel free to post a short example and
>I'll try it for you though).
I think just a command line as your wrote above can mean everything.
After such a command, a complaint of invalid option is emitted by
which I can judge that my compiler does not like that option.
I want to use this to force compiler to help me find out unknown
directives while I am porting source code from one other compiler to
GNU,and I also hope that it will work for finding out unknown
directives both in c and assembler.If it is only for C ,any similar
options for GASP?

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

Newsgroups: comp.arch.embedded,comp.os.vxworks,comp.realtime,comp.sys.powerpc.tech
Subject: Motorola MBX860-001C Power Supply
Date: Wed, 24 Jul 2002 14:17:58 +0100
From: "David J Edgar" <david@cd-yacht.demon.co.uk>
Organization: Cedaryacht Limited
Message-ID: <CDYC90783CAC1@cd-yacht.demon.co.uk>

Hi,

I'm trying to find a cheap way to power a Motorola MBX860-001C board.

This is the entry level version (4MB DRAM, 4MB Flash, no EIDE, no PCI etc).

Using a standard ATX PSU with the connector changed would seem an obvious
solution but I'm worried that the MBX860 would take so little current that
the +3.3V and +5.0V lines would not regulate correctly.

Has anybody got any other ideas or comments? What other solutions have been
used?

Thanks

Dave.

- --
David J Edgar
Cedaryacht Limited, Macclesfield, Cheshire, UK
E-mail: david@cd-yacht.demon.co.uk
Web: http://www.cedaryacht.co.uk

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

Newsgroups: comp.arch.embedded,comp.os.vxworks,comp.realtime,comp.sys.powerpc.tech
Subject: Re: Motorola MBX860-001C Power Supply
Date: Wed, 24 Jul 2002 09:23:51 -0400
From: "MarkD" <porkSpam@spam.com>
Organization: Bell Sympatico
Message-ID: <2Sx%8.10286$sb5.1001075@news20.bellglobal.com>
References: <CDYC90783CAC1@cd-yacht.demon.co.uk>

When I want to power up a board that draws very little power from a PC power
supply, I just attach a hard drive for a load.
It's always worked for me.

Mark

    http://www.dsylva-tech.ca
    BMW performance chips for 3.6l E34 M5 and M50 motors.

"David J Edgar" <david@cd-yacht.demon.co.uk> wrote in message
news:CDYC90783CAC1@cd-yacht.demon.co.uk...
> Hi,
>
> I'm trying to find a cheap way to power a Motorola MBX860-001C board.
>
> This is the entry level version (4MB DRAM, 4MB Flash, no EIDE, no PCI
etc).
>
> Using a standard ATX PSU with the connector changed would seem an obvious
> solution but I'm worried that the MBX860 would take so little current that
> the +3.3V and +5.0V lines would not regulate correctly.
>
> Has anybody got any other ideas or comments? What other solutions have
been
> used?
>
> Thanks
>
> Dave.
>
> --
> David J Edgar
> Cedaryacht Limited, Macclesfield, Cheshire, UK
> E-mail: david@cd-yacht.demon.co.uk
> Web: http://www.cedaryacht.co.uk
>
>
>

- ---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.375 / Virus Database: 210 - Release Date: 7/10/02

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

Newsgroups: comp.os.vxworks
Subject: triggering on select()
Date: Wed, 24 Jul 2002 14:16:34 +0000 (UTC)
From: "Jerry Atherton" <jerry@selin.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <ca86e678e7613b7192e0fb55400093d2.94403@mygate.mailgate.org>

I have a need to read from a pipe and a serial device. I want to improve
the efficiency of serial device interaction wherein the
data can be as large ad 8000 bytes in response coming back from the
serial device. I am planning to operate the serial
device at 115200 baud rate. I am using Tornado2.0/Vxworks5.4. 
The question is -  
1) do I have access to code where I can determine triggering on
select(). I want to trigger on select when sufficiently  sizeable data
is received from the serial device and put in the internal ring buffer
maintained by vxworks serial driver code.

jerry

- -- 
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: Re: dosFs2.0: multiple readers
Date: Wed, 24 Jul 2002 15:50:06 +0100
From: "Dimitrios Siganos" <nospam_dimitrios.siganos@newport-networks.com>
Organization: Newport Networks Ltd.
Message-ID: <1027522209.462008@azores.network-i.net>
References: <1027440860.901531@azores.network-i.net> <newscache$xtxqzg$paj$1@lnews.actcom.co.il>

Hi Leonid,

thank you for your reply. I just need a small clarification.

What happens when a writer and reader are accessing the same part of file.

Are the accesses atomic (i.e. when one starts it competely finishes before
anyone other access starts)?

or

is the result unpredictable (i.e. some of the write has happened and the
reader gets half fresh/half stale data) ?

Thanks again.

Dimitris

"Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM> wrote in message
news:newscache$xtxqzg$paj$1@lnews.actcom.co.il...
> Yes.
>
> Moreso, multiple tasks can read and write on the same file. However no
file
> region locking was implemented.
>
> "Dimitrios Siganos" <nospam_dimitrios.siganos@newport-networks.com> wrote
in
> message news:1027440860.901531@azores.network-i.net...
> > Hi all,
> >
> > does anyone know if dosFs2.0 allows for multiple tasks reading the same
> file
> > at the same time?
> >
> > Dimitris
> >
> >
> >
>
>

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

Newsgroups: comp.os.vxworks
Subject: muxload problem... Tornado 2
Date: Wed, 24 Jul 2002 14:31:24 -0800
From: "Emmanuel Vander Poorten" <evanderp@ip.media.kyoto-u.ac.jp>
Organization: Public NNTP Service, Kyoto University, JAPAN
Message-ID: <ahle6j$rie$1@ginger.media.kyoto-u.ac.jp>

Hello,
(first know, i am not a programmer, so i am pretty bad, but i have no choice
... so every help is VERY welcome... ) i have the following problem...
maybe there is a genious out there who can help...

I recently tried to switch from Tornado1 to 2 but failed.

My network card is of the type ELT,
the BSP is PentiumPro,

this is roughly what i did:
    i made the bootable vxworks image in Tornado 2,
    included the ELT-concerning directories, and compiled...
    i used a similar config.h file as in Tornado 1
    i generated a bootrom : pcPentiumpro > bootrom_uncmp.
    copied to bootdiskette...
    bootted the device....

this is what i get:

                                VxWorks System Boot
    Copyright 1984-1998  Wind River Systems, Inc.

    CPU: PC PENTIUMPRO
    Version: 5.4.2
    BSP version: 1.2/0
    Creation date: Jul 24 2002, 11:10:12

    Press any key to stop auto-boot...
     0
    auto-booting...

    boot device          : elt
    unit number          : 0
    processor number     : 0
    host name            : lizard
    file name            :
c:\Tornado_2_0_2\target\proj\ProjectK\default\vxworks
    inet on ethernet (e) : 192.168.1.71
    host inet (h)        : 192.168.1.70
    user (u)             : manu
    ftp password (pw)    : manu
    flags (f)            : 0x0
    target name (tn)     : caesar

    Attached TCP/IP interface to elt0.
    Attaching network interface lo0... done.
    Loading... 530456 + 15072 + 28248
    Starting at 0x108000...

    muxDevLoad failed for device entry 0!
    Attached TCP/IP interface to elt unit 0
    Attaching interface lo0...done
    wdbConfig: error configuring WDB communication interface

                     VxWorks

    Copyright 1984-1998  Wind River Systems, Inc.

                CPU: PC PENTIUMPRO
                VxWorks: 5.4.2
                BSP version: 1.2/0
                Creation date: Jul 23 2002
                WDB: Agent configuration failed.

    0x1fefee7c (tRootTask): muxLoad failed!

i keep on getting this muxLoad failed... but have no clue of what i am doing
wrong.
It seems the target server cannot attach to the agent. ?  If you want the
whole config.h
file... here it is,

thankx in advance,
Manu,

config.h:
- --------

/* pc386/config.h - PC [34]86/Pentium/Pentiumpro configuration header */
/* Copyright 1984-1999 Wind River Systems, Inc. */
/*
modification history
- --------------------
03b,15mar99,cn   corrected cross-dependencies between INCLUDE_PCI and
   INCLUDE_LN_97X_END, INCLUDE_EL_3C90X_END (SPR# 25680).
03a,12mar99,cn   added support for el3c90xEnd driver (SPR# 25327).
....
This module contains the configuration parameters for the
PC [34]86/Pentium/Pentiumpro.
*/

#ifndef INCconfigh
#define INCconfigh

#define INCLUDE_NETWORK   /* changed by manu, i got from some website, but
it didnt help. */
#define INCLUDE_BSD   /* changed by manu */
#define INCLUDE_BSD_BOOT  /* changed by manu */

/* BSP version/revision identification, before configAll.h */

#define BSP_VER_1_1 1 /* 1.2 is backward compatible with 1.1 */
#define BSP_VER_1_2 1
#define BSP_VERSION "1.2"
#define BSP_REV  "/0" /* 0 for first revision */

#include "configAll.h"
#include "pc.h"

#if (CPU == I80386)
#define DEFAULT_BOOT_LINE \
 "fd=0,0(0,0)host:/fd0/vxWorks.st h=90.0.0.3 e=90.0.0.50 u=target"
#elif (CPU == I80486)
#define DEFAULT_BOOT_LINE \
 "fd=0,0(0,0)host:/fd0/vxWorks.st h=90.0.0.3 e=90.0.0.50 u=target"
#elif (CPU_VARIANT == PENTIUM)
#define DEFAULT_BOOT_LINE \
 "fd=0,0(0,0)host:/fd0/vxWorks.st h=90.0.0.3 e=90.0.0.50 u=target"
#elif (CPU_VARIANT == PENTIUMPRO)
#define DEFAULT_BOOT_LINE \
 "elt(0,0)lizard:c:\\Tornado_2_0_2\\target\\proj\\ProjectK\\default\\vxworks
h=192.168.1.70 e=192.168.1.71 u=manu pw=manu tn=caesar"
#endif /* (CPU == I80386) */

/* Warm boot (reboot) devices and parameters */

#define SYS_WARM_BIOS   0  /* warm start from BIOS */
#define SYS_WARM_FD     1  /* warm start from FD */
#define SYS_WARM_ATA    2 /* warm start from ATA */
#define SYS_WARM_TFFS    3 /* warm start from DiskOnChip */

#define SYS_WARM_TYPE  SYS_WARM_FD /* warm start device */
#define SYS_WARM_FD_DRIVE       0       /* 0 = drive a:, 1 = b: */
#define SYS_WARM_FD_TYPE        0       /* 0 = 3.5" 2HD, 1 = 5.25" 2HD */
#define SYS_WARM_ATA_CTRL       0       /* controller 0 */
#define SYS_WARM_ATA_DRIVE      0       /* 0 = c:, 1 = d: */
#define SYS_WARM_TFFS_DRIVE     0       /* 0 = c: (DOC) */

/* IDT entry type options */

#define SYS_INT_TRAPGATE  0x0000ef00  /* trap gate */
#define SYS_INT_INTGATE   0x0000ee00  /* int gate */

/* driver and file system options */

#define INCLUDE_DOSFS  /* include dosFs file system */
#define INCLUDE_FD  /* include floppy disk driver */
#define INCLUDE_LPT  /* include parallel port driver */
#define INCLUDE_ATA  /* include IDE/EIDE(ATA) hard disk driver */
#undef INCLUDE_TIMESTAMP /* include TIMESTAMP timer for Wind View */
#undef INCLUDE_TFFS  /* include TrueFFS driver for Flash */
#undef INCLUDE_PCMCIA  /* include PCMCIA driver */

#ifdef INCLUDE_PCMCIA
#define INCLUDE_ATA  /* include ATA driver */
#define INCLUDE_SRAM  /* include SRAM driver */
#undef INCLUDE_TFFS  /* include TFFS driver */
#ifdef INCLUDE_NETWORK
#define INCLUDE_ELT  /* include 3COM EtherLink III driver */
#endif /* INCLUDE_NETWORK */
#endif /* INCLUDE_PCMCIA */

#ifdef INCLUDE_TFFS
#define INCLUDE_SHOW_ROUTINES
#endif /* INCLUDE_TFFS */

#if FALSE                   /* change FALSE to TRUE for SCSI interface */
#define INCLUDE_SCSI            /* include SCSI driver */
#define INCLUDE_AIC_7880        /* include AIC 7880 SCSI driver */
#define INCLUDE_SCSI_BOOT       /* include ability to boot from SCSI */
#undef  INCLUDE_CDROMFS         /* file system to be used */
#define INCLUDE_TAPEFS          /* file system to be used */
#endif
#define INCLUDE_SCSI2           /* select SCSI2 not SCSI1 */

/* Network driver options */

#define INCLUDE_END  /* Use Enhanced Network Drivers */

#undef INCLUDE_ULTRA  /* include SMC Elite16 Ultra interface */
#undef INCLUDE_ENE  /* include Eagle/Novell NE2000 interface */
#define INCLUDE_ELT  /* include 3COM EtherLink III interface */
#undef INCLUDE_ESMC  /* include SMC 91c9x Ethernet interface */
#undef INCLUDE_FEI  /* include Intel Ether Express PRO100B PCI */  /*changed
by manu*/
#undef INCLUDE_SLIP  /* include serial line interface */     /*changed by
manu*/
#undef SLIP_TTY 1 /* serial line IP channel COM2 */            /*changed by
manu*/
#undef INCLUDE_ELC  /* include SMC Elite16 interface */
#undef INCLUDE_EEX  /* include INTEL EtherExpress interface */
#undef INCLUDE_EEX32  /* include INTEL EtherExpress flash 32 */
#undef INCLUDE_EX  /* include Excelan Ethernet interface */
#undef INCLUDE_ENP  /* include CMC Ethernet interface*/
#undef INCLUDE_SM_NET  /* include backplane net interface */
#undef INCLUDE_SM_SEQ_ADDR /* shared memory network auto address setup */
#undef  INCLUDE_EL_3C90X_END    /* 3com fast etherLink XL PCI */
#undef  INCLUDE_LN_97X_END      /* AMD 79C972 END DRIVER */

/* verify network choices and dependencies */

#if defined(INCLUDE_EL_3C90X_END) || defined(INCLUDE_LN_97X_END)
#ifndef INCLUDE_END
#   define INCLUDE_END                  /* no netif support for these
devices */
#endif /* INCLUDE_END */
#endif /* INCLUDE_EL_3C90X_END || INCLUDE_LN_97X_END */

#ifdef INCLUDE_END
#   undef  WDB_COMM_TYPE
#   define WDB_COMM_TYPE WDB_COMM_END /* END is prefered choice */

#   ifdef INCLUDE_FEI
# undef INCLUDE_FEI /* don't use BSD driver */
# define INCLUDE_FEI_END /* Use END driver instead */
#   endif

#   ifdef INCLUDE_ELT
# undef INCLUDE_ELT /* don't use BSD driver */
# define INCLUDE_ELT_3C509_END /* Use END driver instead */
#   endif

#   ifdef INCLUDE_ULTRA
#       undef INCLUDE_ULTRA     /* don't use BSD driver */
#       define INCLUDE_ULTRA_END /* use END driver instead */
#   endif

#   ifdef INCLUDE_ENE
#       undef INCLUDE_ENE     /* don't use BSD driver */
#       define INCLUDE_ENE_END /* use END driver instead */
#   endif

#endif

#if defined(INCLUDE_FEI) || defined(INCLUDE_LN_97X_END) ||      \
defined (INCLUDE_EL_3C90X_END) || defined(INCLUDE_FEI_END)
#   define INCLUDE_PCI          /* they all are PCI based */
#endif

/* Misc. options */

#define INCLUDE_MMU_BASIC  /* bundled mmu support */
#undef VM_PAGE_SIZE
#define VM_PAGE_SIZE  PAGE_SIZE_4KB /* 4KB page */

#define VM_STATE_MASK_FOR_ALL \
 VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE
#define VM_STATE_FOR_IO \
 VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT
#define VM_STATE_FOR_MEM_OS \
 VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE
#define VM_STATE_FOR_MEM_APPLICATION \
 VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE
#define VM_STATE_FOR_PCI \
 VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT

/*
 * software floating point emulation support. DO NOT undefine hardware fp
 * support in configAll.h as it is required for software fp emulation.
 */

#define INCLUDE_SW_FP

#if (CPU_VARIANT == PENTIUM) /* Pentium specific macros */

#undef INCLUDE_SW_FP  /* Pentium has hardware FPP */
#undef USER_D_CACHE_MODE /* Pentium write-back data cache support */
#define USER_D_CACHE_MODE CACHE_COPYBACK
#define INCLUDE_MTRR_GET /* get MTRR to sysMtrr[] */
#define INCLUDE_PMC  /* include PMC */

#elif (CPU_VARIANT == PENTIUMPRO) /* PentiumPro specific macros */

#undef INCLUDE_SW_FP  /* PentiumPro has hardware FPP */
#undef USER_D_CACHE_MODE /* PentiumPro write-back data cache w MESI */
#define USER_D_CACHE_MODE (CACHE_COPYBACK | CACHE_SNOOP_ENABLE)
#define INCLUDE_MTRR_GET /* get MTRR to sysMtrr[] */
#define INCLUDE_PMC  /* include PMC */
#undef VIRTUAL_WIRE_MODE /* Interrupt Mode: Virtual Wire Mode */
#undef SYMMETRIC_IO_MODE /* Interrupt Mode: Symmetric IO Mode */

#if defined(VIRTUAL_WIRE_MODE) || defined(SYMMETRIC_IO_MODE)
#define INCLUDE_APIC_TIMER /* include Local APIC timer */
#define PIT0_FOR_AUX  /* use channel 0 as an Aux Timer */
#endif /* defined(VIRTUAL_WIRE_MODE) || defined(SYMMETRIC_IO_MODE) */

#define INCLUDE_TIMESTAMP_TSC /* include TSC for timestamp */
#define PENTIUMPRO_TSC_FREQ 0   /* auto detect TSC freq */
#if FALSE
#define PENTIUMPRO_TSC_FREQ 150000000 /* use specified TSC freq */
#endif /* FALSE */

#define INCLUDE_MMU_PENTIUMPRO /* include 32bit MMU for PentiumPro */
#ifdef INCLUDE_MMU_PENTIUMPRO

#undef VM_PAGE_SIZE  /* page size could be 4KB or 4MB */
#define VM_PAGE_SIZE  PAGE_SIZE_4KB /* 4KB page */
#if FALSE
#define VM_PAGE_SIZE  PAGE_SIZE_4MB /* 4MB page */
#endif /* FALSE */

#undef VM_STATE_MASK_FOR_ALL
#undef VM_STATE_FOR_IO
#undef VM_STATE_FOR_MEM_OS
#undef VM_STATE_FOR_MEM_APPLICATION
#undef VM_STATE_FOR_PCI
#define VM_STATE_MASK_FOR_ALL \
 VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | \
 VM_STATE_MASK_CACHEABLE | VM_STATE_MASK_WBACK | VM_STATE_MASK_GLOBAL
#define VM_STATE_FOR_IO \
 VM_STATE_VALID | VM_STATE_WRITABLE | \
 VM_STATE_CACHEABLE_NOT | VM_STATE_WBACK_NOT | VM_STATE_GLOBAL_NOT
#define VM_STATE_FOR_MEM_OS \
 VM_STATE_VALID | VM_STATE_WRITABLE | \
 VM_STATE_CACHEABLE | VM_STATE_WBACK | VM_STATE_GLOBAL_NOT
#define VM_STATE_FOR_MEM_APPLICATION \
 VM_STATE_VALID | VM_STATE_WRITABLE | \
 VM_STATE_CACHEABLE | VM_STATE_WBACK | VM_STATE_GLOBAL_NOT
#define VM_STATE_FOR_PCI \
 VM_STATE_VALID | VM_STATE_WRITABLE | \
 VM_STATE_CACHEABLE_NOT | VM_STATE_WBACK_NOT | VM_STATE_GLOBAL_NOT

#endif /* INCLUDE_MMU_PENTIUMPRO */
#endif /* (CPU_VARIANT == PENTIUM) */

#define IO_ADRS_ELC 0x240
#define INT_LVL_ELC 0x0b
#define MEM_ADRS_ELC 0xc8000
#define MEM_SIZE_ELC 0x4000
#define CONFIG_ELC 0 /* 0=EEPROM 1=RJ45+AUI 2=RJ45+BNC */

#define IO_ADRS_ULTRA 0x240
#define INT_LVL_ULTRA 0x0b
#define MEM_ADRS_ULTRA 0xc8000
#define MEM_SIZE_ULTRA 0x4000
#define CONFIG_ULTRA 0 /* 0=EEPROM 1=RJ45+AUI 2=RJ45+BNC */

#define IO_ADRS_EEX 0x240
#define INT_LVL_EEX 0x0b
#define NTFDS_EEX 0x00
#define CONFIG_EEX 0 /* 0=EEPROM  1=AUI  2=BNC  3=RJ45 */
    /* Auto-detect is not supported, so choose */
    /* the right one you're going to use */

#define IO_ADRS_ELT 0x240   /* changed by manu */
#define INT_LVL_ELT 0x0a
#define NRF_ELT  0x00    /* changed by manu */
#define CONFIG_ELT 3 /* 0=EEPROM 1=AUI  2=BNC  3=RJ45 */  /* changed by manu
*/

#define IO_ADRS_ENE 0x300
#define INT_LVL_ENE 0x05
    /* Hardware jumper is used to set */
    /* RJ45(Twisted Pair) AUI(Thick) BNC(Thin) */

#define IO_ADRS_ESMC 0x300
#define INT_LVL_ESMC 0x0b
#define CONFIG_ESMC 0 /* 0=EEPROM 1=AUI  2=BNC 3=RJ45 */
#define RX_MODE_ESMC 0 /* 0=interrupt level 1=task level */

#ifdef INCLUDE_EEX32
#define INCLUDE_EI  /* include 82596 driver */
#define INT_LVL_EI 0x0b
#define EI_SYSBUS 0x44 /* 82596 SYSBUS value */
#define EI_POOL_ADRS NONE /* memory allocated from system memory */
#endif /* INCLUDE_EEX32 */

#define FEI_POOL_ADRS NONE /* allocate pool space */

#ifdef  INCLUDE_SLIP
#define SLIP_TTY 1 /* serial line IP channel COM2 */
#define SLIP_BAUDRATE 19200 /* baudrate 19200 */
#endif  /* INCLUDE_SLIP */

/* vectors for PIC(i8259a) and APIC */

#ifdef SYMMETRIC_IO_MODE

/*
 * Vector number could be any number in between 0x20 to 0xff.
 * Interrupt priority is implied by its vector number, according to
 * the following relationship:
 *   priority = vectorNo / 16
 * The lowest priority is 1 and 15 is the highest.  To avoid losing
 * interrupts, software should allocate no more than 2 interrupt
 * vectors per priority.  Here is an example to get the vectorNo.
 *   vectorNo(IRQn) = (0xe0 - (n * 8))
 */
#define NUMBER_OF_IRQS  24
#undef PIT0_INT_LVL
#define PIT0_INT_LVL  0x2 /* interrupt level */
#define INT_NUM_IRQ0  0xe0 /* vector number for IRQ0 */
#define INT_VEC_GET(irq) (INT_NUM_IRQ0 - (irq * 8))
#define SPURIOUS_INT_VEC 0xff /* local interrupt */
#define TIMER_INT_VEC  0xf0 /* local interrupt */
#define ERROR_INT_VEC  0xef /* local interrupt */
#define PIT0_INT_VEC  (INT_VEC_GET (PIT0_INT_LVL))
#define COM1_INT_VEC  (INT_VEC_GET (COM1_INT_LVL))
#define COM2_INT_VEC  (INT_VEC_GET (COM2_INT_LVL))
#define RTC_INT_VEC  (INT_VEC_GET (RTC_INT_LVL))
#define FD_INT_VEC  (INT_VEC_GET (FD_INT_LVL))
#define ATA0_INT_VEC   (INT_VEC_GET (ATA0_INT_LVL))
#define ATA1_INT_VEC  (INT_VEC_GET (ATA1_INT_LVL))
#define PCIC_INT_VEC  (INT_VEC_GET (PCIC_INT_LVL))
#define TCIC_INT_VEC  (INT_VEC_GET (TCIC_INT_LVL))
#define ELT0_INT_VEC  (INT_VEC_GET (ELT0_INT_LVL))
#define ELT1_INT_VEC  (INT_VEC_GET (ELT1_INT_LVL))
#define LPT_INT_VEC  (INT_VEC_GET (LPT_INT_LVL))
#define FEI0_INT_VEC  (INT_VEC_GET (FEI0_INT_LVL))
#define FEI1_INT_VEC  (INT_VEC_GET (FEI1_INT_LVL))
#define FEI2_INT_VEC  (INT_VEC_GET (FEI2_INT_LVL))
#define FEI3_INT_VEC  (INT_VEC_GET (FEI3_INT_LVL))
#define KBD_INT_VEC  (INT_VEC_GET (KBD_INT_LVL))
#define INT_VEC_ELC  (INT_VEC_GET (INT_LVL_ELC))
#define INT_VEC_ULTRA  (INT_VEC_GET (INT_LVL_ULTRA))
#define INT_VEC_EEX  (INT_VEC_GET (INT_LVL_EEX))
#define INT_VEC_ELT  (INT_VEC_GET (INT_LVL_ELT))
#define INT_VEC_ENE  (INT_VEC_GET (INT_LVL_ENE))
#define INT_VEC_ESMC  (INT_VEC_GET (INT_LVL_ESMC))
#define INT_VEC_EI  (INT_VEC_GET (INT_LVL_EI))

#else /* SYMMETRIC_IO_MODE */

/*
 * Vector number is not flexable as APIC and obtained by:
 *   vectorNo(IRQn) = vectorNo(IRQ0) + n
 */
#define NUMBER_OF_IRQS  16
#define INT_NUM_IRQ0  0x20 /* vector number for IRQ0 */
#define INT_VEC_GET(irq) (INT_NUM_IRQ0 + irq)
#define SPURIOUS_INT_VEC 0xff /* local interrupt */
#define TIMER_INT_VEC  0xf0 /* local interrupt */
#define ERROR_INT_VEC  0xef /* local interrupt */
#define PIT0_INT_VEC  (INT_VEC_GET (PIT0_INT_LVL))
#define COM1_INT_VEC  (INT_VEC_GET (COM1_INT_LVL))
#define COM2_INT_VEC  (INT_VEC_GET (COM2_INT_LVL))
#define RTC_INT_VEC  (INT_VEC_GET (RTC_INT_LVL))
#define FD_INT_VEC  (INT_VEC_GET (FD_INT_LVL))
#define ATA0_INT_VEC   (INT_VEC_GET (ATA0_INT_LVL))
#define ATA1_INT_VEC  (INT_VEC_GET (ATA1_INT_LVL))
#define PCIC_INT_VEC  (INT_VEC_GET (PCIC_INT_LVL))
#define TCIC_INT_VEC  (INT_VEC_GET (TCIC_INT_LVL))
#define ELT0_INT_VEC  (INT_VEC_GET (ELT0_INT_LVL))
#define ELT1_INT_VEC  (INT_VEC_GET (ELT1_INT_LVL))
#define LPT_INT_VEC  (INT_VEC_GET (LPT_INT_LVL))
#define FEI0_INT_VEC  (INT_VEC_GET (FEI0_INT_LVL))
#define FEI1_INT_VEC  (INT_VEC_GET (FEI1_INT_LVL))
#define FEI2_INT_VEC  (INT_VEC_GET (FEI2_INT_LVL))
#define FEI3_INT_VEC  (INT_VEC_GET (FEI3_INT_LVL))
#define KBD_INT_VEC  (INT_VEC_GET (KBD_INT_LVL))
#define INT_VEC_ELC  (INT_VEC_GET (INT_LVL_ELC))
#define INT_VEC_ULTRA  (INT_VEC_GET (INT_LVL_ULTRA))
#define INT_VEC_EEX  (INT_VEC_GET (INT_LVL_EEX))
#define INT_VEC_ELT  (INT_VEC_GET (INT_LVL_ELT))
#define INT_VEC_ENE  (INT_VEC_GET (INT_LVL_ENE))
#define INT_VEC_ESMC  (INT_VEC_GET (INT_LVL_ESMC))
#define INT_VEC_EI  (INT_VEC_GET (INT_LVL_EI))

#endif /* SYMMETRIC_IO_MODE */

/* miscellaneous definitions */

#define NV_RAM_SIZE     NONE            /* no NVRAM */

/*
 * SYS_CLK_RATE_MAX depends upon a CPU power and a work load of an
application.
 * The value was chosen in order to pass the internal test suit,
 * but it could go up to PIT_CLOCK.
 */
#define SYS_CLK_RATE_MIN  19            /* minimum system clock rate */
#define SYS_CLK_RATE_MAX  (PIT_CLOCK/256) /* maximum system clock rate */
#define AUX_CLK_RATE_MIN  2             /* minimum auxiliary clock rate */
#define AUX_CLK_RATE_MAX  8192          /* maximum auxiliary clock rate */

/* pc console definitions  */

#if FALSE
#define INCLUDE_PC_CONSOLE   /*  KBD and VGA are included */
#endif  /* TRUE/FALSE */

#ifdef INCLUDE_PC_CONSOLE

#define PC_CONSOLE  0 /* console number */
#define N_VIRTUAL_CONSOLES 2 /* shell / application */

#endif /* INCLUDE_PC_CONSOLE */

#undef NUM_TTY
#define NUM_TTY   (N_UART_CHANNELS)

/* define a type of keyboard. The default is 101 KEY for PS/2 */

#define PC_KBD_TYPE  PC_PS2_101_KBD
#if FALSE
#define PC_KBD_TYPE  PC_XT_83_KBD
#endif /* FALSE */

/* memory addresses */

/* User reserved memory.  See sysMemTop(). */

#define USER_RESERVED_MEM 0

/*
 * Local-to-Bus memory address constants:
 * the local memory address always appears at 0 locally;
 * it is not dual ported.
 */

#define LOCAL_MEM_LOCAL_ADRS 0x00000000 /* fixed */
#define LOCAL_MEM_BUS_ADRS 0x00000000 /* fixed */
#define LOCAL_MEM_SIZE  0x00800000 /* 8MB w lower mem */

/*
 * Auto-sizing of memory is supported when this option is defined, in which
 * case LOCAL_MEM_SIZE is ignored.  See sysyPhysMemTop().
 */

#define LOCAL_MEM_AUTOSIZE

/*
 * The following parameters are defined here and in the Makefile.
 * The must be kept synchronized; effectively config.h depends on Makefile.
 * Any changes made here must be made in the Makefile and vice versa.
 */

#ifdef BOOTCODE_IN_RAM
#define ROM_BASE_ADRS  0x00008000 /* base address of ROM */
#define ROM_TEXT_ADRS  (ROM_BASE_ADRS) /* booting from A: or C: */
#define ROM_SIZE  0x00090000 /* size of ROM */
#else
#define ROM_BASE_ADRS  0xfff20000 /* base address of ROM */
#define ROM_TEXT_ADRS  (ROM_BASE_ADRS) /* booting from EPROM */
#define ROM_SIZE  0x0007fe00 /* size of ROM */
#endif

#define RAM_LOW_ADRS  0x00108000 /* VxWorks image entry point */
#define RAM_HIGH_ADRS  0x00008000 /* Boot image entry point */

/*
 * The macro INCLUDE_ADD_BOOTMEM enables sysHwInit2,sysLib.c code which
 * adds some upper memory (>1MB) to the bootrom image memory pool.
 * It should not be defined for x86 systems with limited memory,< 4MB.
 * The default value for ADDED_BOOTMEM_SIZE is 0x00200000 (2MB).
 * This value may be increased, but one must ensure that the pool
 * does not overlap with the downloaded vxWorks image.  If there is
 * an overlap, then loading the vxWorks runtime image will corrupt
 * the added memory pool.   The calculation is:
 * (RAM_LOW_ADRS + vxWorks image size) < (memTopPhys - ADDED_BOOTMEM_SIZE)
 * Where: RAM_LOW_ADRS == 0x00108000 and memTopPhys is from sysLib.c.
 * This corrects SPR#21338.
 */

#define INCLUDE_ADD_BOOTMEM  /* Add upper memory to low memory bootrom */
#define ADDED_BOOTMEM_SIZE   0x00200000   /* 2MB */

#endif /* INCconfigh */

#if defined(PRJ_BUILD)
#include "prjParams.h"
#endif

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

Newsgroups: comp.arch.embedded,comp.os.vxworks,comp.realtime,comp.sys.powerpc.tech
Subject: Re: Motorola MBX860-001C Power Supply
Date: Wed, 24 Jul 2002 17:01:55 GMT
From: Andre Yew <andrey@beach.silcom.com>
Organization: None
Message-ID: <74B%8.224$E5.7843@newsfeed.avtel.net>
References: <CDYC90783CAC1@cd-yacht.demon.co.uk>

In comp.arch.embedded David J Edgar <david@cd-yacht.demon.co.uk> wrote:
: Using a standard ATX PSU with the connector changed would seem an obvious
: solution but I'm worried that the MBX860 would take so little current that
: the +3.3V and +5.0V lines would not regulate correctly.

I agree with Mark --- use an old hard-drive to draw enough current 
from the power supply.  I have another eval board around here (an
IDT MIPS) that draws so little current that certain ATX power supplies
would not turn on.  I haven't seen that particular problem with MBX
boards however, and I've dealt with the whole gamut of them.

- --Andre

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

Newsgroups: comp.os.vxworks
Subject: dosFs2.0: debug info
Date: Wed, 24 Jul 2002 18:10:48 +0100
From: "Dimitrios Siganos" <nospam_dimitrios.siganos@newport-networks.com>
Organization: Newport Networks Ltd.
Keywords: dosFs2.0
Message-ID: <1027530649.593871@azores.network-i.net>

Hello all,

is there a way to get the dosFs2.0 to log/print all access to files?

I would like to find out how many times each file is accessed (and how big
those xfers were).

The reason for wanting this info is that I want to have a look at the way
higher level apps (e.g. NFS, my apps) use the disk and maybe use this info
to find possible bottlenecks. Also, i am just simply curious.

A variable exists called dosFsDebug and I have set it to both 1 and -1 but
nothing happens.

Regards,

Dimitris

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

Newsgroups: comp.os.vxworks
Subject: Re: triggering on select()
Date: Wed, 24 Jul 2002 13:16:16 -0400
From: david lindauer <dlindauer@notifier-is.net>
Message-ID: <3D3EE0E0.44D7790C@notifier-is.net>
References: <ca86e678e7613b7192e0fb55400093d2.94403@mygate.mailgate.org>

you've got the serial drivers... rewrite them as much as you want!

David

Jerry Atherton wrote:

> I have a need to read from a pipe and a serial device. I want to improve
> the efficiency of serial device interaction wherein the
> data can be as large ad 8000 bytes in response coming back from the
> serial device. I am planning to operate the serial
> device at 115200 baud rate. I am using Tornado2.0/Vxworks5.4.
> The question is -
> 1) do I have access to code where I can determine triggering on
> select(). I want to trigger on select when sufficiently  sizeable data
> is received from the serial device and put in the internal ring buffer
> maintained by vxworks serial driver code.
>
> jerry
>
> --
> Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: Script to run reboot test
Date: Wed, 24 Jul 2002 11:56:52 -0600
From: "John Zhu" <john@nortel.com>
Organization: Nortel
Message-ID: <ahmpfr$ie0$2@bcarh8ab.ca.nortel.com>

Hi here,
  Currently I am writing a test code which will reboot the target for couple
of times. I would like to have a script to automate the test procedure. The
script should repeat following processes:
    connect to the target;
    load the test module;
    start the test loop;
    catch the print out of the test;
    detect if the target is rebooting, if so, sleep for a while and repeat
from beginning.

But I got problem in how to detect if the target is rebooting. I used
following tcl script to detetc if a target server is valid:
    catch {wtxToolAttach __target_server__} err
    puts " \$err"
    catch {wtxTargetAttach} err
    puts " \$err"
    catch {wtxSymFind -exact -name tesfunc} err
    puts " \$err"

However, this script never return error, even the target is rebooting. I
guess it gets the cached information from the target server. Anyone out here
has a clue?

Thanks!

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

Newsgroups: comp.os.vxworks
Subject: test2002z
Date: Wed, 24 Jul 2002 16:59:03 -0400
From: "weiwei li" <wengeandweiwei@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <LxE%8.10509$sb5.1081605@news20.bellglobal.com>

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

Newsgroups: comp.os.vxworks
Subject: Diab link order?
Date: 24 Jul 2002 14:58:37 -0700
From: bbelemy69@hotmail.com (Ryan)
Organization: http://groups.google.com/
Message-ID: <2a8e4f24.0207241358.ec3a7c4@posting.google.com>

Hi, 

I've changed chario.c (Diab file) for my target but don't want to
build my changes into the Diab libraries. If I link chario.o when
building I get my chario.o in my image because the object file is
searched before any of the libraries. However, I built my chario.o
into my library and now when I link some object files with my library
and the Diab libraries I end up with the Diab version of chario.o...
Some how the Diab libraries are searched first even though:
1) I have my -l:mylib.lib before any of the Diab libraries 
2) I have a -L giving the path to mylib.lib (the -L is before the
- -l:mylib.lib)

Can anyone tell me how to get mylib.lib to be searched before the Diab
libraries? I'm using dplus as the command (not dld).

Thanks, 
Ryan

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

Newsgroups: comp.os.vxworks
Subject: Re: muxload problem... Tornado 2
Date: 24 Jul 2002 15:08:16 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207241408.33e31fe5@posting.google.com>
References: <ahle6j$rie$1@ginger.media.kyoto-u.ac.jp>

Hello,

The failure you are seeing is probably caused by the inability of the
network driver to find the network hardware. There are a couple of
possible reasons I can think of:

1) Check that the IRQ and base address settings for the card are
correct. They should be defined in the BSP directory, probably in
configNet.h.

2) Make sure that you have the correct driver. You didn't say what the
NIC actually was, just that it was ELT. Are you sure? Could it be a
3c90x card instead?

HTH,

John...

"Emmanuel Vander Poorten" <evanderp@ip.media.kyoto-u.ac.jp> wrote in message news:<ahle6j$rie$1@ginger.media.kyoto-u.ac.jp>...
> Hello,
> (first know, i am not a programmer, so i am pretty bad, but i have no choice
> ... so every help is VERY welcome... ) i have the following problem...
> maybe there is a genious out there who can help...
> 
> I recently tried to switch from Tornado1 to 2 but failed.
> 
> My network card is of the type ELT,
> the BSP is PentiumPro,
> 
> this is roughly what i did:
>     i made the bootable vxworks image in Tornado 2,
>     included the ELT-concerning directories, and compiled...
>     i used a similar config.h file as in Tornado 1
>     i generated a bootrom : pcPentiumpro > bootrom_uncmp.
>     copied to bootdiskette...
>     bootted the device....
> 
> this is what i get:
> 
> 
>                                 VxWorks System Boot
>     Copyright 1984-1998  Wind River Systems, Inc.
> 
>     CPU: PC PENTIUMPRO
>     Version: 5.4.2
>     BSP version: 1.2/0
>     Creation date: Jul 24 2002, 11:10:12
> 
>     Press any key to stop auto-boot...
>      0
>     auto-booting...
> 
>     boot device          : elt
>     unit number          : 0
>     processor number     : 0
>     host name            : lizard
>     file name            :
> c:\Tornado_2_0_2\target\proj\ProjectK\default\vxworks
>     inet on ethernet (e) : 192.168.1.71
>     host inet (h)        : 192.168.1.70
>     user (u)             : manu
>     ftp password (pw)    : manu
>     flags (f)            : 0x0
>     target name (tn)     : caesar
> 
>     Attached TCP/IP interface to elt0.
>     Attaching network interface lo0... done.
>     Loading... 530456 + 15072 + 28248
>     Starting at 0x108000...
> 
>     muxDevLoad failed for device entry 0!
>     Attached TCP/IP interface to elt unit 0
>     Attaching interface lo0...done
>     wdbConfig: error configuring WDB communication interface
> 
> 
>                      VxWorks
> 
>     Copyright 1984-1998  Wind River Systems, Inc.
> 
>                 CPU: PC PENTIUMPRO
>                 VxWorks: 5.4.2
>                 BSP version: 1.2/0
>                 Creation date: Jul 23 2002
>                 WDB: Agent configuration failed.
> 
>     0x1fefee7c (tRootTask): muxLoad failed!
> 
> 
> i keep on getting this muxLoad failed... but have no clue of what i am doing
> wrong.
> It seems the target server cannot attach to the agent. ?  If you want the
> whole config.h
> file... here it is,
> 
> thankx in advance,
> Manu,
> 
> 
> 
> 
> 
> 
> 
> config.h:
> --------
> 
> /* pc386/config.h - PC [34]86/Pentium/Pentiumpro configuration header */
> /* Copyright 1984-1999 Wind River Systems, Inc. */
> /*
> modification history
> --------------------
> 03b,15mar99,cn   corrected cross-dependencies between INCLUDE_PCI and
>    INCLUDE_LN_97X_END, INCLUDE_EL_3C90X_END (SPR# 25680).
> 03a,12mar99,cn   added support for el3c90xEnd driver (SPR# 25327).
> ....
> This module contains the configuration parameters for the
> PC [34]86/Pentium/Pentiumpro.
> */
> 
> #ifndef INCconfigh
> #define INCconfigh
> 
> #define INCLUDE_NETWORK   /* changed by manu, i got from some website, but
> it didnt help. */
> #define INCLUDE_BSD   /* changed by manu */
> #define INCLUDE_BSD_BOOT  /* changed by manu */
> 
> /* BSP version/revision identification, before configAll.h */
> 
> #define BSP_VER_1_1 1 /* 1.2 is backward compatible with 1.1 */
> #define BSP_VER_1_2 1
> #define BSP_VERSION "1.2"
> #define BSP_REV  "/0" /* 0 for first revision */
> 
> #include "configAll.h"
> #include "pc.h"
> 
> #if (CPU == I80386)
> #define DEFAULT_BOOT_LINE \
>  "fd=0,0(0,0)host:/fd0/vxWorks.st h=90.0.0.3 e=90.0.0.50 u=target"
> #elif (CPU == I80486)
> #define DEFAULT_BOOT_LINE \
>  "fd=0,0(0,0)host:/fd0/vxWorks.st h=90.0.0.3 e=90.0.0.50 u=target"
> #elif (CPU_VARIANT == PENTIUM)
> #define DEFAULT_BOOT_LINE \
>  "fd=0,0(0,0)host:/fd0/vxWorks.st h=90.0.0.3 e=90.0.0.50 u=target"
> #elif (CPU_VARIANT == PENTIUMPRO)
> #define DEFAULT_BOOT_LINE \
>  "elt(0,0)lizard:c:\\Tornado_2_0_2\\target\\proj\\ProjectK\\default\\vxworks
> h=192.168.1.70 e=192.168.1.71 u=manu pw=manu tn=caesar"
> #endif /* (CPU == I80386) */
> 
> /* Warm boot (reboot) devices and parameters */
> 
> #define SYS_WARM_BIOS   0  /* warm start from BIOS */
> #define SYS_WARM_FD     1  /* warm start from FD */
> #define SYS_WARM_ATA    2 /* warm start from ATA */
> #define SYS_WARM_TFFS    3 /* warm start from DiskOnChip */
> 
> #define SYS_WARM_TYPE  SYS_WARM_FD /* warm start device */
> #define SYS_WARM_FD_DRIVE       0       /* 0 = drive a:, 1 = b: */
> #define SYS_WARM_FD_TYPE        0       /* 0 = 3.5" 2HD, 1 = 5.25" 2HD */
> #define SYS_WARM_ATA_CTRL       0       /* controller 0 */
> #define SYS_WARM_ATA_DRIVE      0       /* 0 = c:, 1 = d: */
> #define SYS_WARM_TFFS_DRIVE     0       /* 0 = c: (DOC) */
> 
> /* IDT entry type options */
> 
> #define SYS_INT_TRAPGATE  0x0000ef00  /* trap gate */
> #define SYS_INT_INTGATE   0x0000ee00  /* int gate */
> 
> /* driver and file system options */
> 
> #define INCLUDE_DOSFS  /* include dosFs file system */
> #define INCLUDE_FD  /* include floppy disk driver */
> #define INCLUDE_LPT  /* include parallel port driver */
> #define INCLUDE_ATA  /* include IDE/EIDE(ATA) hard disk driver */
> #undef INCLUDE_TIMESTAMP /* include TIMESTAMP timer for Wind View */
> #undef INCLUDE_TFFS  /* include TrueFFS driver for Flash */
> #undef INCLUDE_PCMCIA  /* include PCMCIA driver */
> 
> #ifdef INCLUDE_PCMCIA
> #define INCLUDE_ATA  /* include ATA driver */
> #define INCLUDE_SRAM  /* include SRAM driver */
> #undef INCLUDE_TFFS  /* include TFFS driver */
> #ifdef INCLUDE_NETWORK
> #define INCLUDE_ELT  /* include 3COM EtherLink III driver */
> #endif /* INCLUDE_NETWORK */
> #endif /* INCLUDE_PCMCIA */
> 
> #ifdef INCLUDE_TFFS
> #define INCLUDE_SHOW_ROUTINES
> #endif /* INCLUDE_TFFS */
> 
> #if FALSE                   /* change FALSE to TRUE for SCSI interface */
> #define INCLUDE_SCSI            /* include SCSI driver */
> #define INCLUDE_AIC_7880        /* include AIC 7880 SCSI driver */
> #define INCLUDE_SCSI_BOOT       /* include ability to boot from SCSI */
> #undef  INCLUDE_CDROMFS         /* file system to be used */
> #define INCLUDE_TAPEFS          /* file system to be used */
> #endif
> #define INCLUDE_SCSI2           /* select SCSI2 not SCSI1 */
> 
> /* Network driver options */
> 
> #define INCLUDE_END  /* Use Enhanced Network Drivers */
> 
> #undef INCLUDE_ULTRA  /* include SMC Elite16 Ultra interface */
> #undef INCLUDE_ENE  /* include Eagle/Novell NE2000 interface */
> #define INCLUDE_ELT  /* include 3COM EtherLink III interface */
> #undef INCLUDE_ESMC  /* include SMC 91c9x Ethernet interface */
> #undef INCLUDE_FEI  /* include Intel Ether Express PRO100B PCI */  /*changed
> by manu*/
> #undef INCLUDE_SLIP  /* include serial line interface */     /*changed by
> manu*/
> #undef SLIP_TTY 1 /* serial line IP channel COM2 */            /*changed by
> manu*/
> #undef INCLUDE_ELC  /* include SMC Elite16 interface */
> #undef INCLUDE_EEX  /* include INTEL EtherExpress interface */
> #undef INCLUDE_EEX32  /* include INTEL EtherExpress flash 32 */
> #undef INCLUDE_EX  /* include Excelan Ethernet interface */
> #undef INCLUDE_ENP  /* include CMC Ethernet interface*/
> #undef INCLUDE_SM_NET  /* include backplane net interface */
> #undef INCLUDE_SM_SEQ_ADDR /* shared memory network auto address setup */
> #undef  INCLUDE_EL_3C90X_END    /* 3com fast etherLink XL PCI */
> #undef  INCLUDE_LN_97X_END      /* AMD 79C972 END DRIVER */
> 
> /* verify network choices and dependencies */
> 
> #if defined(INCLUDE_EL_3C90X_END) || defined(INCLUDE_LN_97X_END)
> #ifndef INCLUDE_END
> #   define INCLUDE_END                  /* no netif support for these
> devices */
> #endif /* INCLUDE_END */
> #endif /* INCLUDE_EL_3C90X_END || INCLUDE_LN_97X_END */
> 
> #ifdef INCLUDE_END
> #   undef  WDB_COMM_TYPE
> #   define WDB_COMM_TYPE WDB_COMM_END /* END is prefered choice */
> 
> #   ifdef INCLUDE_FEI
> # undef INCLUDE_FEI /* don't use BSD driver */
> # define INCLUDE_FEI_END /* Use END driver instead */
> #   endif
> 
> #   ifdef INCLUDE_ELT
> # undef INCLUDE_ELT /* don't use BSD driver */
> # define INCLUDE_ELT_3C509_END /* Use END driver instead */
> #   endif
> 
> #   ifdef INCLUDE_ULTRA
> #       undef INCLUDE_ULTRA     /* don't use BSD driver */
> #       define INCLUDE_ULTRA_END /* use END driver instead */
> #   endif
> 
> #   ifdef INCLUDE_ENE
> #       undef INCLUDE_ENE     /* don't use BSD driver */
> #       define INCLUDE_ENE_END /* use END driver instead */
> #   endif
> 
> #endif
> 
> #if defined(INCLUDE_FEI) || defined(INCLUDE_LN_97X_END) ||      \
> defined (INCLUDE_EL_3C90X_END) || defined(INCLUDE_FEI_END)
> #   define INCLUDE_PCI          /* they all are PCI based */
> #endif
> 
> 
> /* Misc. options */
> 
> #define INCLUDE_MMU_BASIC  /* bundled mmu support */
> #undef VM_PAGE_SIZE
> #define VM_PAGE_SIZE  PAGE_SIZE_4KB /* 4KB page */
> 
> #define VM_STATE_MASK_FOR_ALL \
>  VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE
> #define VM_STATE_FOR_IO \
>  VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT
> #define VM_STATE_FOR_MEM_OS \
>  VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE
> #define VM_STATE_FOR_MEM_APPLICATION \
>  VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE
> #define VM_STATE_FOR_PCI \
>  VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT
> 
> /*
>  * software floating point emulation support. DO NOT undefine hardware fp
>  * support in configAll.h as it is required for software fp emulation.
>  */
> 
> 
> #define INCLUDE_SW_FP
> 
> #if (CPU_VARIANT == PENTIUM) /* Pentium specific macros */
> 
> #undef INCLUDE_SW_FP  /* Pentium has hardware FPP */
> #undef USER_D_CACHE_MODE /* Pentium write-back data cache support */
> #define USER_D_CACHE_MODE CACHE_COPYBACK
> #define INCLUDE_MTRR_GET /* get MTRR to sysMtrr[] */
> #define INCLUDE_PMC  /* include PMC */
> 
> #elif (CPU_VARIANT == PENTIUMPRO) /* PentiumPro specific macros */
> 
> #undef INCLUDE_SW_FP  /* PentiumPro has hardware FPP */
> #undef USER_D_CACHE_MODE /* PentiumPro write-back data cache w MESI */
> #define USER_D_CACHE_MODE (CACHE_COPYBACK | CACHE_SNOOP_ENABLE)
> #define INCLUDE_MTRR_GET /* get MTRR to sysMtrr[] */
> #define INCLUDE_PMC  /* include PMC */
> #undef VIRTUAL_WIRE_MODE /* Interrupt Mode: Virtual Wire Mode */
> #undef SYMMETRIC_IO_MODE /* Interrupt Mode: Symmetric IO Mode */
> 
> #if defined(VIRTUAL_WIRE_MODE) || defined(SYMMETRIC_IO_MODE)
> #define INCLUDE_APIC_TIMER /* include Local APIC timer */
> #define PIT0_FOR_AUX  /* use channel 0 as an Aux Timer */
> #endif /* defined(VIRTUAL_WIRE_MODE) || defined(SYMMETRIC_IO_MODE) */
> 
> #define INCLUDE_TIMESTAMP_TSC /* include TSC for timestamp */
> #define PENTIUMPRO_TSC_FREQ 0   /* auto detect TSC freq */
> #if FALSE
> #define PENTIUMPRO_TSC_FREQ 150000000 /* use specified TSC freq */
> #endif /* FALSE */
> 
> #define INCLUDE_MMU_PENTIUMPRO /* include 32bit MMU for PentiumPro */
> #ifdef INCLUDE_MMU_PENTIUMPRO
> 
> #undef VM_PAGE_SIZE  /* page size could be 4KB or 4MB */
> #define VM_PAGE_SIZE  PAGE_SIZE_4KB /* 4KB page */
> #if FALSE
> #define VM_PAGE_SIZE  PAGE_SIZE_4MB /* 4MB page */
> #endif /* FALSE */
> 
> #undef VM_STATE_MASK_FOR_ALL
> #undef VM_STATE_FOR_IO
> #undef VM_STATE_FOR_MEM_OS
> #undef VM_STATE_FOR_MEM_APPLICATION
> #undef VM_STATE_FOR_PCI
> #define VM_STATE_MASK_FOR_ALL \
>  VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | \
>  VM_STATE_MASK_CACHEABLE | VM_STATE_MASK_WBACK | VM_STATE_MASK_GLOBAL
> #define VM_STATE_FOR_IO \
>  VM_STATE_VALID | VM_STATE_WRITABLE | \
>  VM_STATE_CACHEABLE_NOT | VM_STATE_WBACK_NOT | VM_STATE_GLOBAL_NOT
> #define VM_STATE_FOR_MEM_OS \
>  VM_STATE_VALID | VM_STATE_WRITABLE | \
>  VM_STATE_CACHEABLE | VM_STATE_WBACK | VM_STATE_GLOBAL_NOT
> #define VM_STATE_FOR_MEM_APPLICATION \
>  VM_STATE_VALID | VM_STATE_WRITABLE | \
>  VM_STATE_CACHEABLE | VM_STATE_WBACK | VM_STATE_GLOBAL_NOT
> #define VM_STATE_FOR_PCI \
>  VM_STATE_VALID | VM_STATE_WRITABLE | \
>  VM_STATE_CACHEABLE_NOT | VM_STATE_WBACK_NOT | VM_STATE_GLOBAL_NOT
> 
> #endif /* INCLUDE_MMU_PENTIUMPRO */
> #endif /* (CPU_VARIANT == PENTIUM) */
> 
> 
> #define IO_ADRS_ELC 0x240
> #define INT_LVL_ELC 0x0b
> #define MEM_ADRS_ELC 0xc8000
> #define MEM_SIZE_ELC 0x4000
> #define CONFIG_ELC 0 /* 0=EEPROM 1=RJ45+AUI 2=RJ45+BNC */
> 
> #define IO_ADRS_ULTRA 0x240
> #define INT_LVL_ULTRA 0x0b
> #define MEM_ADRS_ULTRA 0xc8000
> #define MEM_SIZE_ULTRA 0x4000
> #define CONFIG_ULTRA 0 /* 0=EEPROM 1=RJ45+AUI 2=RJ45+BNC */
> 
> #define IO_ADRS_EEX 0x240
> #define INT_LVL_EEX 0x0b
> #define NTFDS_EEX 0x00
> #define CONFIG_EEX 0 /* 0=EEPROM  1=AUI  2=BNC  3=RJ45 */
>     /* Auto-detect is not supported, so choose */
>     /* the right one you're going to use */
> 
> #define IO_ADRS_ELT 0x240   /* changed by manu */
> #define INT_LVL_ELT 0x0a
> #define NRF_ELT  0x00    /* changed by manu */
> #define CONFIG_ELT 3 /* 0=EEPROM 1=AUI  2=BNC  3=RJ45 */  /* changed by manu
> */
> 
> #define IO_ADRS_ENE 0x300
> #define INT_LVL_ENE 0x05
>     /* Hardware jumper is used to set */
>     /* RJ45(Twisted Pair) AUI(Thick) BNC(Thin) */
> 
> #define IO_ADRS_ESMC 0x300
> #define INT_LVL_ESMC 0x0b
> #define CONFIG_ESMC 0 /* 0=EEPROM 1=AUI  2=BNC 3=RJ45 */
> #define RX_MODE_ESMC 0 /* 0=interrupt level 1=task level */
> 
> #ifdef INCLUDE_EEX32
> #define INCLUDE_EI  /* include 82596 driver */
> #define INT_LVL_EI 0x0b
> #define EI_SYSBUS 0x44 /* 82596 SYSBUS value */
> #define EI_POOL_ADRS NONE /* memory allocated from system memory */
> #endif /* INCLUDE_EEX32 */
> 
> #define FEI_POOL_ADRS NONE /* allocate pool space */
> 
> #ifdef  INCLUDE_SLIP
> #define SLIP_TTY 1 /* serial line IP channel COM2 */
> #define SLIP_BAUDRATE 19200 /* baudrate 19200 */
> #endif  /* INCLUDE_SLIP */
> 
> /* vectors for PIC(i8259a) and APIC */
> 
> #ifdef SYMMETRIC_IO_MODE
> 
> /*
>  * Vector number could be any number in between 0x20 to 0xff.
>  * Interrupt priority is implied by its vector number, according to
>  * the following relationship:
>  *   priority = vectorNo / 16
>  * The lowest priority is 1 and 15 is the highest.  To avoid losing
>  * interrupts, software should allocate no more than 2 interrupt
>  * vectors per priority.  Here is an example to get the vectorNo.
>  *   vectorNo(IRQn) = (0xe0 - (n * 8))
>  */
> #define NUMBER_OF_IRQS  24
> #undef PIT0_INT_LVL
> #define PIT0_INT_LVL  0x2 /* interrupt level */
> #define INT_NUM_IRQ0  0xe0 /* vector number for IRQ0 */
> #define INT_VEC_GET(irq) (INT_NUM_IRQ0 - (irq * 8))
> #define SPURIOUS_INT_VEC 0xff /* local interrupt */
> #define TIMER_INT_VEC  0xf0 /* local interrupt */
> #define ERROR_INT_VEC  0xef /* local interrupt */
> #define PIT0_INT_VEC  (INT_VEC_GET (PIT0_INT_LVL))
> #define COM1_INT_VEC  (INT_VEC_GET (COM1_INT_LVL))
> #define COM2_INT_VEC  (INT_VEC_GET (COM2_INT_LVL))
> #define RTC_INT_VEC  (INT_VEC_GET (RTC_INT_LVL))
> #define FD_INT_VEC  (INT_VEC_GET (FD_INT_LVL))
> #define ATA0_INT_VEC   (INT_VEC_GET (ATA0_INT_LVL))
> #define ATA1_INT_VEC  (INT_VEC_GET (ATA1_INT_LVL))
> #define PCIC_INT_VEC  (INT_VEC_GET (PCIC_INT_LVL))
> #define TCIC_INT_VEC  (INT_VEC_GET (TCIC_INT_LVL))
> #define ELT0_INT_VEC  (INT_VEC_GET (ELT0_INT_LVL))
> #define ELT1_INT_VEC  (INT_VEC_GET (ELT1_INT_LVL))
> #define LPT_INT_VEC  (INT_VEC_GET (LPT_INT_LVL))
> #define FEI0_INT_VEC  (INT_VEC_GET (FEI0_INT_LVL))
> #define FEI1_INT_VEC  (INT_VEC_GET (FEI1_INT_LVL))
> #define FEI2_INT_VEC  (INT_VEC_GET (FEI2_INT_LVL))
> #define FEI3_INT_VEC  (INT_VEC_GET (FEI3_INT_LVL))
> #define KBD_INT_VEC  (INT_VEC_GET (KBD_INT_LVL))
> #define INT_VEC_ELC  (INT_VEC_GET (INT_LVL_ELC))
> #define INT_VEC_ULTRA  (INT_VEC_GET (INT_LVL_ULTRA))
> #define INT_VEC_EEX  (INT_VEC_GET (INT_LVL_EEX))
> #define INT_VEC_ELT  (INT_VEC_GET (INT_LVL_ELT))
> #define INT_VEC_ENE  (INT_VEC_GET (INT_LVL_ENE))
> #define INT_VEC_ESMC  (INT_VEC_GET (INT_LVL_ESMC))
> #define INT_VEC_EI  (INT_VEC_GET (INT_LVL_EI))
> 
> #else /* SYMMETRIC_IO_MODE */
> 
> /*
>  * Vector number is not flexable as APIC and obtained by:
>  *   vectorNo(IRQn) = vectorNo(IRQ0) + n
>  */
> #define NUMBER_OF_IRQS  16
> #define INT_NUM_IRQ0  0x20 /* vector number for IRQ0 */
> #define INT_VEC_GET(irq) (INT_NUM_IRQ0 + irq)
> #define SPURIOUS_INT_VEC 0xff /* local interrupt */
> #define TIMER_INT_VEC  0xf0 /* local interrupt */
> #define ERROR_INT_VEC  0xef /* local interrupt */
> #define PIT0_INT_VEC  (INT_VEC_GET (PIT0_INT_LVL))
> #define COM1_INT_VEC  (INT_VEC_GET (COM1_INT_LVL))
> #define COM2_INT_VEC  (INT_VEC_GET (COM2_INT_LVL))
> #define RTC_INT_VEC  (INT_VEC_GET (RTC_INT_LVL))
> #define FD_INT_VEC  (INT_VEC_GET (FD_INT_LVL))
> #define ATA0_INT_VEC   (INT_VEC_GET (ATA0_INT_LVL))
> #define ATA1_INT_VEC  (INT_VEC_GET (ATA1_INT_LVL))
> #define PCIC_INT_VEC  (INT_VEC_GET (PCIC_INT_LVL))
> #define TCIC_INT_VEC  (INT_VEC_GET (TCIC_INT_LVL))
> #define ELT0_INT_VEC  (INT_VEC_GET (ELT0_INT_LVL))
> #define ELT1_INT_VEC  (INT_VEC_GET (ELT1_INT_LVL))
> #define LPT_INT_VEC  (INT_VEC_GET (LPT_INT_LVL))
> #define FEI0_INT_VEC  (INT_VEC_GET (FEI0_INT_LVL))
> #define FEI1_INT_VEC  (INT_VEC_GET (FEI1_INT_LVL))
> #define FEI2_INT_VEC  (INT_VEC_GET (FEI2_INT_LVL))
> #define FEI3_INT_VEC  (INT_VEC_GET (FEI3_INT_LVL))
> #define KBD_INT_VEC  (INT_VEC_GET (KBD_INT_LVL))
> #define INT_VEC_ELC  (INT_VEC_GET (INT_LVL_ELC))
> #define INT_VEC_ULTRA  (INT_VEC_GET (INT_LVL_ULTRA))
> #define INT_VEC_EEX  (INT_VEC_GET (INT_LVL_EEX))
> #define INT_VEC_ELT  (INT_VEC_GET (INT_LVL_ELT))
> #define INT_VEC_ENE  (INT_VEC_GET (INT_LVL_ENE))
> #define INT_VEC_ESMC  (INT_VEC_GET (INT_LVL_ESMC))
> #define INT_VEC_EI  (INT_VEC_GET (INT_LVL_EI))
> 
> #endif /* SYMMETRIC_IO_MODE */
> 
> 
> /* miscellaneous definitions */
> 
> #define NV_RAM_SIZE     NONE            /* no NVRAM */
> 
> /*
>  * SYS_CLK_RATE_MAX depends upon a CPU power and a work load of an
> application.
>  * The value was chosen in order to pass the internal test suit,
>  * but it could go up to PIT_CLOCK.
>  */
> #define SYS_CLK_RATE_MIN  19            /* minimum system clock rate */
> #define SYS_CLK_RATE_MAX  (PIT_CLOCK/256) /* maximum system clock rate */
> #define AUX_CLK_RATE_MIN  2             /* minimum auxiliary clock rate */
> #define AUX_CLK_RATE_MAX  8192          /* maximum auxiliary clock rate */
> 
> 
> /* pc console definitions  */
> 
> #if FALSE
> #define INCLUDE_PC_CONSOLE   /*  KBD and VGA are included */
> #endif  /* TRUE/FALSE */
> 
> #ifdef INCLUDE_PC_CONSOLE
> 
> #define PC_CONSOLE  0 /* console number */
> #define N_VIRTUAL_CONSOLES 2 /* shell / application */
> 
> #endif /* INCLUDE_PC_CONSOLE */
> 
> #undef NUM_TTY
> #define NUM_TTY   (N_UART_CHANNELS)
> 
> /* define a type of keyboard. The default is 101 KEY for PS/2 */
> 
> #define PC_KBD_TYPE  PC_PS2_101_KBD
> #if FALSE
> #define PC_KBD_TYPE  PC_XT_83_KBD
> #endif /* FALSE */
> 
> 
> /* memory addresses */
> 
> /* User reserved memory.  See sysMemTop(). */
> 
> #define USER_RESERVED_MEM 0
> 
> /*
>  * Local-to-Bus memory address constants:
>  * the local memory address always appears at 0 locally;
>  * it is not dual ported.
>  */
> 
> #define LOCAL_MEM_LOCAL_ADRS 0x00000000 /* fixed */
> #define LOCAL_MEM_BUS_ADRS 0x00000000 /* fixed */
> #define LOCAL_MEM_SIZE  0x00800000 /* 8MB w lower mem */
> 
> /*
>  * Auto-sizing of memory is supported when this option is defined, in which
>  * case LOCAL_MEM_SIZE is ignored.  See sysyPhysMemTop().
>  */
> 
> #define LOCAL_MEM_AUTOSIZE
> 
> /*
>  * The following parameters are defined here and in the Makefile.
>  * The must be kept synchronized; effectively config.h depends on Makefile.
>  * Any changes made here must be made in the Makefile and vice versa.
>  */
> 
> #ifdef BOOTCODE_IN_RAM
> #define ROM_BASE_ADRS  0x00008000 /* base address of ROM */
> #define ROM_TEXT_ADRS  (ROM_BASE_ADRS) /* booting from A: or C: */
> #define ROM_SIZE  0x00090000 /* size of ROM */
> #else
> #define ROM_BASE_ADRS  0xfff20000 /* base address of ROM */
> #define ROM_TEXT_ADRS  (ROM_BASE_ADRS) /* booting from EPROM */
> #define ROM_SIZE  0x0007fe00 /* size of ROM */
> #endif
> 
> #define RAM_LOW_ADRS  0x00108000 /* VxWorks image entry point */
> #define RAM_HIGH_ADRS  0x00008000 /* Boot image entry point */
> 
> /*
>  * The macro INCLUDE_ADD_BOOTMEM enables sysHwInit2,sysLib.c code which
>  * adds some upper memory (>1MB) to the bootrom image memory pool.
>  * It should not be defined for x86 systems with limited memory,< 4MB.
>  * The default value for ADDED_BOOTMEM_SIZE is 0x00200000 (2MB).
>  * This value may be increased, but one must ensure that the pool
>  * does not overlap with the downloaded vxWorks image.  If there is
>  * an overlap, then loading the vxWorks runtime image will corrupt
>  * the added memory pool.   The calculation is:
>  * (RAM_LOW_ADRS + vxWorks image size) < (memTopPhys - ADDED_BOOTMEM_SIZE)
>  * Where: RAM_LOW_ADRS == 0x00108000 and memTopPhys is from sysLib.c.
>  * This corrects SPR#21338.
>  */
> 
> #define INCLUDE_ADD_BOOTMEM  /* Add upper memory to low memory bootrom */
> #define ADDED_BOOTMEM_SIZE   0x00200000   /* 2MB */
> 
> #endif /* INCconfigh */
> 
> #if defined(PRJ_BUILD)
> #include "prjParams.h"
> #endif

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

Newsgroups: comp.os.vxworks
Subject: Re: muxload problem... Tornado 2
Date: 24 Jul 2002 15:08:17 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207241408.6b690fe7@posting.google.com>
References: <ahle6j$rie$1@ginger.media.kyoto-u.ac.jp>

Hello,

The failure you are seeing is probably caused by the inability of the
network driver to find the network hardware. There are a couple of
possible reasons I can think of:

1) Check that the IRQ and base address settings for the card are
correct. They should be defined in the BSP directory, probably in
configNet.h.

2) Make sure that you have the correct driver. You didn't say what the
NIC actually was, just that it was ELT. Are you sure? Could it be a
3c90x card instead?

HTH,

John...

"Emmanuel Vander Poorten" <evanderp@ip.media.kyoto-u.ac.jp> wrote in message news:<ahle6j$rie$1@ginger.media.kyoto-u.ac.jp>...
> Hello,
> (first know, i am not a programmer, so i am pretty bad, but i have no choice
> ... so every help is VERY welcome... ) i have the following problem...
> maybe there is a genious out there who can help...
> 
> I recently tried to switch from Tornado1 to 2 but failed.
> 
> My network card is of the type ELT,
> the BSP is PentiumPro,
> 
> this is roughly what i did:
>     i made the bootable vxworks image in Tornado 2,
>     included the ELT-concerning directories, and compiled...
>     i used a similar config.h file as in Tornado 1
>     i generated a bootrom : pcPentiumpro > bootrom_uncmp.
>     copied to bootdiskette...
>     bootted the device....
> 
> this is what i get:
> 
> 
>                                 VxWorks System Boot
>     Copyright 1984-1998  Wind River Systems, Inc.
> 
>     CPU: PC PENTIUMPRO
>     Version: 5.4.2
>     BSP version: 1.2/0
>     Creation date: Jul 24 2002, 11:10:12
> 
>     Press any key to stop auto-boot...
>      0
>     auto-booting...
> 
>     boot device          : elt
>     unit number          : 0
>     processor number     : 0
>     host name            : lizard
>     file name            :
> c:\Tornado_2_0_2\target\proj\ProjectK\default\vxworks
>     inet on ethernet (e) : 192.168.1.71
>     host inet (h)        : 192.168.1.70
>     user (u)             : manu
>     ftp password (pw)    : manu
>     flags (f)            : 0x0
>     target name (tn)     : caesar
> 
>     Attached TCP/IP interface to elt0.
>     Attaching network interface lo0... done.
>     Loading... 530456 + 15072 + 28248
>     Starting at 0x108000...
> 
>     muxDevLoad failed for device entry 0!
>     Attached TCP/IP interface to elt unit 0
>     Attaching interface lo0...done
>     wdbConfig: error configuring WDB communication interface
> 
> 
>                      VxWorks
> 
>     Copyright 1984-1998  Wind River Systems, Inc.
> 
>                 CPU: PC PENTIUMPRO
>                 VxWorks: 5.4.2
>                 BSP version: 1.2/0
>                 Creation date: Jul 23 2002
>                 WDB: Agent configuration failed.
> 
>     0x1fefee7c (tRootTask): muxLoad failed!
> 
> 
> i keep on getting this muxLoad failed... but have no clue of what i am doing
> wrong.
> It seems the target server cannot attach to the agent. ?  If you want the
> whole config.h
> file... here it is,
> 
> thankx in advance,
> Manu,
> 
> 
> 
> 
> 
> 
> 
> config.h:
> --------
> 
> /* pc386/config.h - PC [34]86/Pentium/Pentiumpro configuration header */
> /* Copyright 1984-1999 Wind River Systems, Inc. */
> /*
> modification history
> --------------------
> 03b,15mar99,cn   corrected cross-dependencies between INCLUDE_PCI and
>    INCLUDE_LN_97X_END, INCLUDE_EL_3C90X_END (SPR# 25680).
> 03a,12mar99,cn   added support for el3c90xEnd driver (SPR# 25327).
> ....
> This module contains the configuration parameters for the
> PC [34]86/Pentium/Pentiumpro.
> */
> 
> #ifndef INCconfigh
> #define INCconfigh
> 
> #define INCLUDE_NETWORK   /* changed by manu, i got from some website, but
> it didnt help. */
> #define INCLUDE_BSD   /* changed by manu */
> #define INCLUDE_BSD_BOOT  /* changed by manu */
> 
> /* BSP version/revision identification, before configAll.h */
> 
> #define BSP_VER_1_1 1 /* 1.2 is backward compatible with 1.1 */
> #define BSP_VER_1_2 1
> #define BSP_VERSION "1.2"
> #define BSP_REV  "/0" /* 0 for first revision */
> 
> #include "configAll.h"
> #include "pc.h"
> 
> #if (CPU == I80386)
> #define DEFAULT_BOOT_LINE \
>  "fd=0,0(0,0)host:/fd0/vxWorks.st h=90.0.0.3 e=90.0.0.50 u=target"
> #elif (CPU == I80486)
> #define DEFAULT_BOOT_LINE \
>  "fd=0,0(0,0)host:/fd0/vxWorks.st h=90.0.0.3 e=90.0.0.50 u=target"
> #elif (CPU_VARIANT == PENTIUM)
> #define DEFAULT_BOOT_LINE \
>  "fd=0,0(0,0)host:/fd0/vxWorks.st h=90.0.0.3 e=90.0.0.50 u=target"
> #elif (CPU_VARIANT == PENTIUMPRO)
> #define DEFAULT_BOOT_LINE \
>  "elt(0,0)lizard:c:\\Tornado_2_0_2\\target\\proj\\ProjectK\\default\\vxworks
> h=192.168.1.70 e=192.168.1.71 u=manu pw=manu tn=caesar"
> #endif /* (CPU == I80386) */
> 
> /* Warm boot (reboot) devices and parameters */
> 
> #define SYS_WARM_BIOS   0  /* warm start from BIOS */
> #define SYS_WARM_FD     1  /* warm start from FD */
> #define SYS_WARM_ATA    2 /* warm start from ATA */
> #define SYS_WARM_TFFS    3 /* warm start from DiskOnChip */
> 
> #define SYS_WARM_TYPE  SYS_WARM_FD /* warm start device */
> #define SYS_WARM_FD_DRIVE       0       /* 0 = drive a:, 1 = b: */
> #define SYS_WARM_FD_TYPE        0       /* 0 = 3.5" 2HD, 1 = 5.25" 2HD */
> #define SYS_WARM_ATA_CTRL       0       /* controller 0 */
> #define SYS_WARM_ATA_DRIVE      0       /* 0 = c:, 1 = d: */
> #define SYS_WARM_TFFS_DRIVE     0       /* 0 = c: (DOC) */
> 
> /* IDT entry type options */
> 
> #define SYS_INT_TRAPGATE  0x0000ef00  /* trap gate */
> #define SYS_INT_INTGATE   0x0000ee00  /* int gate */
> 
> /* driver and file system options */
> 
> #define INCLUDE_DOSFS  /* include dosFs file system */
> #define INCLUDE_FD  /* include floppy disk driver */
> #define INCLUDE_LPT  /* include parallel port driver */
> #define INCLUDE_ATA  /* include IDE/EIDE(ATA) hard disk driver */
> #undef INCLUDE_TIMESTAMP /* include TIMESTAMP timer for Wind View */
> #undef INCLUDE_TFFS  /* include TrueFFS driver for Flash */
> #undef INCLUDE_PCMCIA  /* include PCMCIA driver */
> 
> #ifdef INCLUDE_PCMCIA
> #define INCLUDE_ATA  /* include ATA driver */
> #define INCLUDE_SRAM  /* include SRAM driver */
> #undef INCLUDE_TFFS  /* include TFFS driver */
> #ifdef INCLUDE_NETWORK
> #define INCLUDE_ELT  /* include 3COM EtherLink III driver */
> #endif /* INCLUDE_NETWORK */
> #endif /* INCLUDE_PCMCIA */
> 
> #ifdef INCLUDE_TFFS
> #define INCLUDE_SHOW_ROUTINES
> #endif /* INCLUDE_TFFS */
> 
> #if FALSE                   /* change FALSE to TRUE for SCSI interface */
> #define INCLUDE_SCSI            /* include SCSI driver */
> #define INCLUDE_AIC_7880        /* include AIC 7880 SCSI driver */
> #define INCLUDE_SCSI_BOOT       /* include ability to boot from SCSI */
> #undef  INCLUDE_CDROMFS         /* file system to be used */
> #define INCLUDE_TAPEFS          /* file system to be used */
> #endif
> #define INCLUDE_SCSI2           /* select SCSI2 not SCSI1 */
> 
> /* Network driver options */
> 
> #define INCLUDE_END  /* Use Enhanced Network Drivers */
> 
> #undef INCLUDE_ULTRA  /* include SMC Elite16 Ultra interface */
> #undef INCLUDE_ENE  /* include Eagle/Novell NE2000 interface */
> #define INCLUDE_ELT  /* include 3COM EtherLink III interface */
> #undef INCLUDE_ESMC  /* include SMC 91c9x Ethernet interface */
> #undef INCLUDE_FEI  /* include Intel Ether Express PRO100B PCI */  /*changed
> by manu*/
> #undef INCLUDE_SLIP  /* include serial line interface */     /*changed by
> manu*/
> #undef SLIP_TTY 1 /* serial line IP channel COM2 */            /*changed by
> manu*/
> #undef INCLUDE_ELC  /* include SMC Elite16 interface */
> #undef INCLUDE_EEX  /* include INTEL EtherExpress interface */
> #undef INCLUDE_EEX32  /* include INTEL EtherExpress flash 32 */
> #undef INCLUDE_EX  /* include Excelan Ethernet interface */
> #undef INCLUDE_ENP  /* include CMC Ethernet interface*/
> #undef INCLUDE_SM_NET  /* include backplane net interface */
> #undef INCLUDE_SM_SEQ_ADDR /* shared memory network auto address setup */
> #undef  INCLUDE_EL_3C90X_END    /* 3com fast etherLink XL PCI */
> #undef  INCLUDE_LN_97X_END      /* AMD 79C972 END DRIVER */
> 
> /* verify network choices and dependencies */
> 
> #if defined(INCLUDE_EL_3C90X_END) || defined(INCLUDE_LN_97X_END)
> #ifndef INCLUDE_END
> #   define INCLUDE_END                  /* no netif support for these
> devices */
> #endif /* INCLUDE_END */
> #endif /* INCLUDE_EL_3C90X_END || INCLUDE_LN_97X_END */
> 
> #ifdef INCLUDE_END
> #   undef  WDB_COMM_TYPE
> #   define WDB_COMM_TYPE WDB_COMM_END /* END is prefered choice */
> 
> #   ifdef INCLUDE_FEI
> # undef INCLUDE_FEI /* don't use BSD driver */
> # define INCLUDE_FEI_END /* Use END driver instead */
> #   endif
> 
> #   ifdef INCLUDE_ELT
> # undef INCLUDE_ELT /* don't use BSD driver */
> # define INCLUDE_ELT_3C509_END /* Use END driver instead */
> #   endif
> 
> #   ifdef INCLUDE_ULTRA
> #       undef INCLUDE_ULTRA     /* don't use BSD driver */
> #       define INCLUDE_ULTRA_END /* use END driver instead */
> #   endif
> 
> #   ifdef INCLUDE_ENE
> #       undef INCLUDE_ENE     /* don't use BSD driver */
> #       define INCLUDE_ENE_END /* use END driver instead */
> #   endif
> 
> #endif
> 
> #if defined(INCLUDE_FEI) || defined(INCLUDE_LN_97X_END) ||      \
> defined (INCLUDE_EL_3C90X_END) || defined(INCLUDE_FEI_END)
> #   define INCLUDE_PCI          /* they all are PCI based */
> #endif
> 
> 
> /* Misc. options */
> 
> #define INCLUDE_MMU_BASIC  /* bundled mmu support */
> #undef VM_PAGE_SIZE
> #define VM_PAGE_SIZE  PAGE_SIZE_4KB /* 4KB page */
> 
> #define VM_STATE_MASK_FOR_ALL \
>  VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE
> #define VM_STATE_FOR_IO \
>  VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT
> #define VM_STATE_FOR_MEM_OS \
>  VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE
> #define VM_STATE_FOR_MEM_APPLICATION \
>  VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE
> #define VM_STATE_FOR_PCI \
>  VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT
> 
> /*
>  * software floating point emulation support. DO NOT undefine hardware fp
>  * support in configAll.h as it is required for software fp emulation.
>  */
> 
> 
> #define INCLUDE_SW_FP
> 
> #if (CPU_VARIANT == PENTIUM) /* Pentium specific macros */
> 
> #undef INCLUDE_SW_FP  /* Pentium has hardware FPP */
> #undef USER_D_CACHE_MODE /* Pentium write-back data cache support */
> #define USER_D_CACHE_MODE CACHE_COPYBACK
> #define INCLUDE_MTRR_GET /* get MTRR to sysMtrr[] */
> #define INCLUDE_PMC  /* include PMC */
> 
> #elif (CPU_VARIANT == PENTIUMPRO) /* PentiumPro specific macros */
> 
> #undef INCLUDE_SW_FP  /* PentiumPro has hardware FPP */
> #undef USER_D_CACHE_MODE /* PentiumPro write-back data cache w MESI */
> #define USER_D_CACHE_MODE (CACHE_COPYBACK | CACHE_SNOOP_ENABLE)
> #define INCLUDE_MTRR_GET /* get MTRR to sysMtrr[] */
> #define INCLUDE_PMC  /* include PMC */
> #undef VIRTUAL_WIRE_MODE /* Interrupt Mode: Virtual Wire Mode */
> #undef SYMMETRIC_IO_MODE /* Interrupt Mode: Symmetric IO Mode */
> 
> #if defined(VIRTUAL_WIRE_MODE) || defined(SYMMETRIC_IO_MODE)
> #define INCLUDE_APIC_TIMER /* include Local APIC timer */
> #define PIT0_FOR_AUX  /* use channel 0 as an Aux Timer */
> #endif /* defined(VIRTUAL_WIRE_MODE) || defined(SYMMETRIC_IO_MODE) */
> 
> #define INCLUDE_TIMESTAMP_TSC /* include TSC for timestamp */
> #define PENTIUMPRO_TSC_FREQ 0   /* auto detect TSC freq */
> #if FALSE
> #define PENTIUMPRO_TSC_FREQ 150000000 /* use specified TSC freq */
> #endif /* FALSE */
> 
> #define INCLUDE_MMU_PENTIUMPRO /* include 32bit MMU for PentiumPro */
> #ifdef INCLUDE_MMU_PENTIUMPRO
> 
> #undef VM_PAGE_SIZE  /* page size could be 4KB or 4MB */
> #define VM_PAGE_SIZE  PAGE_SIZE_4KB /* 4KB page */
> #if FALSE
> #define VM_PAGE_SIZE  PAGE_SIZE_4MB /* 4MB page */
> #endif /* FALSE */
> 
> #undef VM_STATE_MASK_FOR_ALL
> #undef VM_STATE_FOR_IO
> #undef VM_STATE_FOR_MEM_OS
> #undef VM_STATE_FOR_MEM_APPLICATION
> #undef VM_STATE_FOR_PCI
> #define VM_STATE_MASK_FOR_ALL \
>  VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | \
>  VM_STATE_MASK_CACHEABLE | VM_STATE_MASK_WBACK | VM_STATE_MASK_GLOBAL
> #define VM_STATE_FOR_IO \
>  VM_STATE_VALID | VM_STATE_WRITABLE | \
>  VM_STATE_CACHEABLE_NOT | VM_STATE_WBACK_NOT | VM_STATE_GLOBAL_NOT
> #define VM_STATE_FOR_MEM_OS \
>  VM_STATE_VALID | VM_STATE_WRITABLE | \
>  VM_STATE_CACHEABLE | VM_STATE_WBACK | VM_STATE_GLOBAL_NOT
> #define VM_STATE_FOR_MEM_APPLICATION \
>  VM_STATE_VALID | VM_STATE_WRITABLE | \
>  VM_STATE_CACHEABLE | VM_STATE_WBACK | VM_STATE_GLOBAL_NOT
> #define VM_STATE_FOR_PCI \
>  VM_STATE_VALID | VM_STATE_WRITABLE | \
>  VM_STATE_CACHEABLE_NOT | VM_STATE_WBACK_NOT | VM_STATE_GLOBAL_NOT
> 
> #endif /* INCLUDE_MMU_PENTIUMPRO */
> #endif /* (CPU_VARIANT == PENTIUM) */
> 
> 
> #define IO_ADRS_ELC 0x240
> #define INT_LVL_ELC 0x0b
> #define MEM_ADRS_ELC 0xc8000
> #define MEM_SIZE_ELC 0x4000
> #define CONFIG_ELC 0 /* 0=EEPROM 1=RJ45+AUI 2=RJ45+BNC */
> 
> #define IO_ADRS_ULTRA 0x240
> #define INT_LVL_ULTRA 0x0b
> #define MEM_ADRS_ULTRA 0xc8000
> #define MEM_SIZE_ULTRA 0x4000
> #define CONFIG_ULTRA 0 /* 0=EEPROM 1=RJ45+AUI 2=RJ45+BNC */
> 
> #define IO_ADRS_EEX 0x240
> #define INT_LVL_EEX 0x0b
> #define NTFDS_EEX 0x00
> #define CONFIG_EEX 0 /* 0=EEPROM  1=AUI  2=BNC  3=RJ45 */
>     /* Auto-detect is not supported, so choose */
>     /* the right one you're going to use */
> 
> #define IO_ADRS_ELT 0x240   /* changed by manu */
> #define INT_LVL_ELT 0x0a
> #define NRF_ELT  0x00    /* changed by manu */
> #define CONFIG_ELT 3 /* 0=EEPROM 1=AUI  2=BNC  3=RJ45 */  /* changed by manu
> */
> 
> #define IO_ADRS_ENE 0x300
> #define INT_LVL_ENE 0x05
>     /* Hardware jumper is used to set */
>     /* RJ45(Twisted Pair) AUI(Thick) BNC(Thin) */
> 
> #define IO_ADRS_ESMC 0x300
> #define INT_LVL_ESMC 0x0b
> #define CONFIG_ESMC 0 /* 0=EEPROM 1=AUI  2=BNC 3=RJ45 */
> #define RX_MODE_ESMC 0 /* 0=interrupt level 1=task level */
> 
> #ifdef INCLUDE_EEX32
> #define INCLUDE_EI  /* include 82596 driver */
> #define INT_LVL_EI 0x0b
> #define EI_SYSBUS 0x44 /* 82596 SYSBUS value */
> #define EI_POOL_ADRS NONE /* memory allocated from system memory */
> #endif /* INCLUDE_EEX32 */
> 
> #define FEI_POOL_ADRS NONE /* allocate pool space */
> 
> #ifdef  INCLUDE_SLIP
> #define SLIP_TTY 1 /* serial line IP channel COM2 */
> #define SLIP_BAUDRATE 19200 /* baudrate 19200 */
> #endif  /* INCLUDE_SLIP */
> 
> /* vectors for PIC(i8259a) and APIC */
> 
> #ifdef SYMMETRIC_IO_MODE
> 
> /*
>  * Vector number could be any number in between 0x20 to 0xff.
>  * Interrupt priority is implied by its vector number, according to
>  * the following relationship:
>  *   priority = vectorNo / 16
>  * The lowest priority is 1 and 15 is the highest.  To avoid losing
>  * interrupts, software should allocate no more than 2 interrupt
>  * vectors per priority.  Here is an example to get the vectorNo.
>  *   vectorNo(IRQn) = (0xe0 - (n * 8))
>  */
> #define NUMBER_OF_IRQS  24
> #undef PIT0_INT_LVL
> #define PIT0_INT_LVL  0x2 /* interrupt level */
> #define INT_NUM_IRQ0  0xe0 /* vector number for IRQ0 */
> #define INT_VEC_GET(irq) (INT_NUM_IRQ0 - (irq * 8))
> #define SPURIOUS_INT_VEC 0xff /* local interrupt */
> #define TIMER_INT_VEC  0xf0 /* local interrupt */
> #define ERROR_INT_VEC  0xef /* local interrupt */
> #define PIT0_INT_VEC  (INT_VEC_GET (PIT0_INT_LVL))
> #define COM1_INT_VEC  (INT_VEC_GET (COM1_INT_LVL))
> #define COM2_INT_VEC  (INT_VEC_GET (COM2_INT_LVL))
> #define RTC_INT_VEC  (INT_VEC_GET (RTC_INT_LVL))
> #define FD_INT_VEC  (INT_VEC_GET (FD_INT_LVL))
> #define ATA0_INT_VEC   (INT_VEC_GET (ATA0_INT_LVL))
> #define ATA1_INT_VEC  (INT_VEC_GET (ATA1_INT_LVL))
> #define PCIC_INT_VEC  (INT_VEC_GET (PCIC_INT_LVL))
> #define TCIC_INT_VEC  (INT_VEC_GET (TCIC_INT_LVL))
> #define ELT0_INT_VEC  (INT_VEC_GET (ELT0_INT_LVL))
> #define ELT1_INT_VEC  (INT_VEC_GET (ELT1_INT_LVL))
> #define LPT_INT_VEC  (INT_VEC_GET (LPT_INT_LVL))
> #define FEI0_INT_VEC  (INT_VEC_GET (FEI0_INT_LVL))
> #define FEI1_INT_VEC  (INT_VEC_GET (FEI1_INT_LVL))
> #define FEI2_INT_VEC  (INT_VEC_GET (FEI2_INT_LVL))
> #define FEI3_INT_VEC  (INT_VEC_GET (FEI3_INT_LVL))
> #define KBD_INT_VEC  (INT_VEC_GET (KBD_INT_LVL))
> #define INT_VEC_ELC  (INT_VEC_GET (INT_LVL_ELC))
> #define INT_VEC_ULTRA  (INT_VEC_GET (INT_LVL_ULTRA))
> #define INT_VEC_EEX  (INT_VEC_GET (INT_LVL_EEX))
> #define INT_VEC_ELT  (INT_VEC_GET (INT_LVL_ELT))
> #define INT_VEC_ENE  (INT_VEC_GET (INT_LVL_ENE))
> #define INT_VEC_ESMC  (INT_VEC_GET (INT_LVL_ESMC))
> #define INT_VEC_EI  (INT_VEC_GET (INT_LVL_EI))
> 
> #else /* SYMMETRIC_IO_MODE */
> 
> /*
>  * Vector number is not flexable as APIC and obtained by:
>  *   vectorNo(IRQn) = vectorNo(IRQ0) + n
>  */
> #define NUMBER_OF_IRQS  16
> #define INT_NUM_IRQ0  0x20 /* vector number for IRQ0 */
> #define INT_VEC_GET(irq) (INT_NUM_IRQ0 + irq)
> #define SPURIOUS_INT_VEC 0xff /* local interrupt */
> #define TIMER_INT_VEC  0xf0 /* local interrupt */
> #define ERROR_INT_VEC  0xef /* local interrupt */
> #define PIT0_INT_VEC  (INT_VEC_GET (PIT0_INT_LVL))
> #define COM1_INT_VEC  (INT_VEC_GET (COM1_INT_LVL))
> #define COM2_INT_VEC  (INT_VEC_GET (COM2_INT_LVL))
> #define RTC_INT_VEC  (INT_VEC_GET (RTC_INT_LVL))
> #define FD_INT_VEC  (INT_VEC_GET (FD_INT_LVL))
> #define ATA0_INT_VEC   (INT_VEC_GET (ATA0_INT_LVL))
> #define ATA1_INT_VEC  (INT_VEC_GET (ATA1_INT_LVL))
> #define PCIC_INT_VEC  (INT_VEC_GET (PCIC_INT_LVL))
> #define TCIC_INT_VEC  (INT_VEC_GET (TCIC_INT_LVL))
> #define ELT0_INT_VEC  (INT_VEC_GET (ELT0_INT_LVL))
> #define ELT1_INT_VEC  (INT_VEC_GET (ELT1_INT_LVL))
> #define LPT_INT_VEC  (INT_VEC_GET (LPT_INT_LVL))
> #define FEI0_INT_VEC  (INT_VEC_GET (FEI0_INT_LVL))
> #define FEI1_INT_VEC  (INT_VEC_GET (FEI1_INT_LVL))
> #define FEI2_INT_VEC  (INT_VEC_GET (FEI2_INT_LVL))
> #define FEI3_INT_VEC  (INT_VEC_GET (FEI3_INT_LVL))
> #define KBD_INT_VEC  (INT_VEC_GET (KBD_INT_LVL))
> #define INT_VEC_ELC  (INT_VEC_GET (INT_LVL_ELC))
> #define INT_VEC_ULTRA  (INT_VEC_GET (INT_LVL_ULTRA))
> #define INT_VEC_EEX  (INT_VEC_GET (INT_LVL_EEX))
> #define INT_VEC_ELT  (INT_VEC_GET (INT_LVL_ELT))
> #define INT_VEC_ENE  (INT_VEC_GET (INT_LVL_ENE))
> #define INT_VEC_ESMC  (INT_VEC_GET (INT_LVL_ESMC))
> #define INT_VEC_EI  (INT_VEC_GET (INT_LVL_EI))
> 
> #endif /* SYMMETRIC_IO_MODE */
> 
> 
> /* miscellaneous definitions */
> 
> #define NV_RAM_SIZE     NONE            /* no NVRAM */
> 
> /*
>  * SYS_CLK_RATE_MAX depends upon a CPU power and a work load of an
> application.
>  * The value was chosen in order to pass the internal test suit,
>  * but it could go up to PIT_CLOCK.
>  */
> #define SYS_CLK_RATE_MIN  19            /* minimum system clock rate */
> #define SYS_CLK_RATE_MAX  (PIT_CLOCK/256) /* maximum system clock rate */
> #define AUX_CLK_RATE_MIN  2             /* minimum auxiliary clock rate */
> #define AUX_CLK_RATE_MAX  8192          /* maximum auxiliary clock rate */
> 
> 
> /* pc console definitions  */
> 
> #if FALSE
> #define INCLUDE_PC_CONSOLE   /*  KBD and VGA are included */
> #endif  /* TRUE/FALSE */
> 
> #ifdef INCLUDE_PC_CONSOLE
> 
> #define PC_CONSOLE  0 /* console number */
> #define N_VIRTUAL_CONSOLES 2 /* shell / application */
> 
> #endif /* INCLUDE_PC_CONSOLE */
> 
> #undef NUM_TTY
> #define NUM_TTY   (N_UART_CHANNELS)
> 
> /* define a type of keyboard. The default is 101 KEY for PS/2 */
> 
> #define PC_KBD_TYPE  PC_PS2_101_KBD
> #if FALSE
> #define PC_KBD_TYPE  PC_XT_83_KBD
> #endif /* FALSE */
> 
> 
> /* memory addresses */
> 
> /* User reserved memory.  See sysMemTop(). */
> 
> #define USER_RESERVED_MEM 0
> 
> /*
>  * Local-to-Bus memory address constants:
>  * the local memory address always appears at 0 locally;
>  * it is not dual ported.
>  */
> 
> #define LOCAL_MEM_LOCAL_ADRS 0x00000000 /* fixed */
> #define LOCAL_MEM_BUS_ADRS 0x00000000 /* fixed */
> #define LOCAL_MEM_SIZE  0x00800000 /* 8MB w lower mem */
> 
> /*
>  * Auto-sizing of memory is supported when this option is defined, in which
>  * case LOCAL_MEM_SIZE is ignored.  See sysyPhysMemTop().
>  */
> 
> #define LOCAL_MEM_AUTOSIZE
> 
> /*
>  * The following parameters are defined here and in the Makefile.
>  * The must be kept synchronized; effectively config.h depends on Makefile.
>  * Any changes made here must be made in the Makefile and vice versa.
>  */
> 
> #ifdef BOOTCODE_IN_RAM
> #define ROM_BASE_ADRS  0x00008000 /* base address of ROM */
> #define ROM_TEXT_ADRS  (ROM_BASE_ADRS) /* booting from A: or C: */
> #define ROM_SIZE  0x00090000 /* size of ROM */
> #else
> #define ROM_BASE_ADRS  0xfff20000 /* base address of ROM */
> #define ROM_TEXT_ADRS  (ROM_BASE_ADRS) /* booting from EPROM */
> #define ROM_SIZE  0x0007fe00 /* size of ROM */
> #endif
> 
> #define RAM_LOW_ADRS  0x00108000 /* VxWorks image entry point */
> #define RAM_HIGH_ADRS  0x00008000 /* Boot image entry point */
> 
> /*
>  * The macro INCLUDE_ADD_BOOTMEM enables sysHwInit2,sysLib.c code which
>  * adds some upper memory (>1MB) to the bootrom image memory pool.
>  * It should not be defined for x86 systems with limited memory,< 4MB.
>  * The default value for ADDED_BOOTMEM_SIZE is 0x00200000 (2MB).
>  * This value may be increased, but one must ensure that the pool
>  * does not overlap with the downloaded vxWorks image.  If there is
>  * an overlap, then loading the vxWorks runtime image will corrupt
>  * the added memory pool.   The calculation is:
>  * (RAM_LOW_ADRS + vxWorks image size) < (memTopPhys - ADDED_BOOTMEM_SIZE)
>  * Where: RAM_LOW_ADRS == 0x00108000 and memTopPhys is from sysLib.c.
>  * This corrects SPR#21338.
>  */
> 
> #define INCLUDE_ADD_BOOTMEM  /* Add upper memory to low memory bootrom */
> #define ADDED_BOOTMEM_SIZE   0x00200000   /* 2MB */
> 
> #endif /* INCconfigh */
> 
> #if defined(PRJ_BUILD)
> #include "prjParams.h"
> #endif

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

Newsgroups: comp.arch.embedded,comp.os.vxworks,comp.realtime,comp.sys.powerpc.tech
Subject: Re: Motorola MBX860-001C Power Supply
Date: Wed, 24 Jul 2002 21:31:01 GMT
From: Wolfgang Denk <wd@denx.muc.de>
Organization: DENX Software Engineering, Germany
Message-ID: <Gzrvrp.A6r.3.diddl.denx@denx.muc.de>
References: <CDYC90783CAC1@cd-yacht.demon.co.uk>
Sender: wd@denx.muc.de (wd)

"David J Edgar" <david@cd-yacht.demon.co.uk> writes:

>I'm trying to find a cheap way to power a Motorola MBX860-001C board.

Use a standard ATX PSU.

>Using a standard ATX PSU with the connector changed would seem an obvious
>solution but I'm worried that the MBX860 would take so little current that
>the +3.3V and +5.0V lines would not regulate correctly.

Try it out; usually we had no problems with  standard  (read:  cheap)
ATX  PSU's;in  one  case (different brand, more epxensive) it did not
work reliably, until we attached an old 5.25" floppy drive  as  dummy
load  to one of the connectores of the PSU. I guess you have some old
drives somewhere :-)

Wolfgang Denk

- -- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88   Web: www.denx.de
"There is nothing new under the sun, but there are lots of old things
we don't know yet."                                  - Ambrose Bierce

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

Newsgroups: comp.os.vxworks
Subject: Re: about tornado2.0 gnu tool chain-unknown pragmas warning
Date: 24 Jul 2002 16:12:16 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207241512.39166c2a@posting.google.com>
References: <bbaee578.0207222307.518bfafc@posting.google.com> <3D3D2E29.6CDAF413@bellsouth.net> <bbaee578.0207231643.428f4f2e@posting.google.com> <bbaee578.0207240423.69c3bcd9@posting.google.com>

Hello again,

I don't believe the assembler needs such a warning to be enabled; it
will simply reject any directives that it doesn't understand. I might
be wrong there, but it should be simple to test...

HTH,

John...

zhouzhaohan@yahoo.com (Fred Zhou) wrote in message news:<bbaee578.0207240423.69c3bcd9@posting.google.com>...
> >Hello,
>  
> >Try getting a hold of one either a 2.1 release for MIPS, wait for the
> >2.2 release or upgrade to VxWorks AE. The last two of these for sure,
> >and I suspect the 2.1 release as well, include a newer version of the
> >GNU compiler (named 2.96 by Wind River).
>  
> >I tried a simple test on the AE ARM compiler (I don't have MIPS):
>  
> >ccarm -Wunknown-pragmas -c test.c
>  
> >The compiler did not complain about any unknown options, so I assume
> >that it was accepted. Since I don't know what it is meant to do, I
> >can't tell you more than that (feel free to post a short example and
> >I'll try it for you though).
> I think just a command line as your wrote above can mean everything.
> After such a command, a complaint of invalid option is emitted by
> which I can judge that my compiler does not like that option.
> I want to use this to force compiler to help me find out unknown
> directives while I am porting source code from one other compiler to
> GNU,and I also hope that it will work for finding out unknown
> directives both in c and assembler.If it is only for C ,any similar
> options for GASP?

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

Newsgroups: comp.os.vxworks
Subject: VxWorks cross-development c compiler ccppc
Date: 24 Jul 2002 17:02:44 -0700
From: eric.harlow@mail.dfrc.nasa.gov (Eric)
Organization: http://groups.google.com/
Message-ID: <da956f63.0207241602.49b29b39@posting.google.com>

I would like to use a compiler option to allow C++ style comments in
my c code.
On a SGI I use -Xcpluscomm and on the SUN it is -xCC.  Where can I
find out how or what this option is when using the VxWorks
cross-development c compiler ccppc?  When I add -xCC to my cflags I
get the following error:
ccppc: language CC not recognized.  I get the same error when I try to
compile my code using gcc.

Thanks,

Eric Harlow

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

Newsgroups: comp.os.vxworks
Subject: Re: about tornado2.0 gnu tool chain-unknown pragmas warning
Date: 24 Jul 2002 17:50:52 -0700
From: zhouzhaohan@yahoo.com (Fred Zhou)
Organization: http://groups.google.com/
Message-ID: <bbaee578.0207241650.290f308d@posting.google.com>
References: <bbaee578.0207222307.518bfafc@posting.google.com> <3D3D2E29.6CDAF413@bellsouth.net> <bbaee578.0207231643.428f4f2e@posting.google.com> <bbaee578.0207240423.69c3bcd9@posting.google.com>

>Hello again,

>I don't believe the assembler needs such a warning to be enabled; it
>will simply reject any directives that it doesn't understand. I might
>be wrong there, but it should be simple to test...

>HTH,

>John...

Thanks a lot.I get one simple question.How can I reply to the group in
outlook express(do you use it) or some other way around? I now do this
in google thru web,and the google will refresh the messages with an
unbearable delay.So I have to read the message thru outlook and post
one thru google,but the most up-to-data one appearing on my outlook
may be probably unavailable in google,which make me rather
frustrated.Thanks again!

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

Newsgroups: comp.os.vxworks
Subject: Re: CDF's and installed components
Date: Wed, 24 Jul 2002 19:23:45 -0700
From: "Michael R. Kesti" <mkesti@gv.net>
Organization: MK Associates
Message-ID: <3D3F6131.CFCA98D8@gv.net>
References: <3D3E0921.EDCF5F10@gv.net> <488e459a.0207232327.461bbe97@posting.google.com>
Reply-To: mkesti@gv.net

John wrote:

>Hello,
>
>I should preface this by saying that I am not an expert with the T2
>project facility, so read with that in mind.
>
>I believe that for the installation check to work, the module must be
>in one of the few places that the tool searches. The easiest for you
>to use would be the VxWorks archive (target/lib/lib$(CPU)$(TOOL)vx.a)
>since you have added the source code to the WRS source tree.
>
>Make sure that you have a Makefile in target/src/drv/dir that looks
>like the ones in the other drv subdirectories, except that it lists
>your .o files in the OBJS list. Then type make CPU=XXXX TOOL=YYYY
>(where XXXX is the name of your CPU, and YYYY is the name for the
>compiler - usually gnu).
>
>That will build your driver and add the module to the main VxWorks
>archive. Your CDF file then simply needs to have the module name after
>MODULES (i.e. no "dir/" prefix). Everything else you have looks OK.

Bingo!  The above is exactly what I needed!  Does anybody know where
this is discussed in the docs?

Many thanks to all who answered.

- -- 
========================================================================
          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: about sendto()
Date: 24 Jul 2002 19:53:05 -0700
From: huangyongjd@21cn.com (hyper)
Organization: http://groups.google.com/
Message-ID: <38d66cc7.0207241853.6ee43be5@posting.google.com>

hi everyone,
    i met a problem about 'sendto',the rountine return 'ERROR',
i wonder its reason,please help me,thanks!

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

Newsgroups: comp.os.vxworks
Subject: Re: VxWorks cross-development c compiler ccppc
Date: Thu, 25 Jul 2002 03:20:18 GMT
From: "drdiags" <drdiags@attbi.com>
Organization: AT&T Broadband
Message-ID: <S7K%8.653418$cQ3.104616@sccrnsc01>
References: <da956f63.0207241602.49b29b39@posting.google.com>

Eric,

   You could try ccppc -x c++. This is from the GNU Toolkit User's Guide for
Tornado 2.0 pg 16. I thought there was another way to accomplish this, but
I cannot remember. HTH.

"Eric" <eric.harlow@mail.dfrc.nasa.gov> wrote in message
news:da956f63.0207241602.49b29b39@posting.google.com...
> I would like to use a compiler option to allow C++ style comments in
> my c code.
> On a SGI I use -Xcpluscomm and on the SUN it is -xCC.  Where can I
> find out how or what this option is when using the VxWorks
> cross-development c compiler ccppc?  When I add -xCC to my cflags I
> get the following error:
> ccppc: language CC not recognized.  I get the same error when I try to
> compile my code using gcc.
>
> Thanks,
>
> Eric Harlow

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

Newsgroups: comp.os.vxworks
Subject: Re: dosFs2.0: debug info
Date: Thu, 25 Jul 2002 05:15:05 GMT
From: "John Kevin Fabiani" <nospam@nospam.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <tPL%8.1068$LP4.137873480@newssvr15.news.prodigy.com>
References: <1027530649.593871@azores.network-i.net>

Hi,

"Dimitrios Siganos" <nospam_dimitrios.siganos@newport-networks.com> rote in
message news:1027530649.593871@azores.network-i.net...
> Hello all,
>
> is there a way to get the dosFs2.0 to log/print all access to files?

Not without hacking.  Funny, many complain that it prints too much data.

> I would like to find out how many times each file is accessed (and how big
> those xfers were).

You do not have the dosFs2 source code, else this would not be an issue.

> The reason for wanting this info is that I want to have a look at the way
> higher level apps (e.g. NFS, my apps) use the disk and maybe use this info
> to find possible bottlenecks. Also, i am just simply curious.

Without the source code, there is one way I can envision, but it will take
a bit of work.  Havent tried it myself...Hack in your own wrapper routines
into the IO system.

First, study the IO system chapter in the vxWorks programmers guide and
then study the man pages for iosLib, and iosDrvInstall().    That should
give
you most of what ye need know.

dosFs2 installs itself into the vxWorks IO system during a call to
dosFsLibInit()
(note: dosFsInit() calls dosFsLibInit()).  Thw call is made usually from the
usrRoot() function in usrConfig.c or prjConfig.c for runtime images or
bootConfig.c for bootrom images.  Some BSP call it in sysLib.c, to ensure
the dosFs facilities are ready early...check everywhere.

The function dosFsLibInit() calls iosDrvInstall().
dosFsLibInit most likely currently looks something like:

- -------------------------------------------
/* global */
int dosFs2DrvNum = ERROR;

/* dosFsLibInit */
STATUS dosFsLibInit (int ignored);
    {
    if( dosFs2DrvNum != ERROR )
     return OK;
    dosFs2DrvNum = iosDrvInstall ((FUNCPTR) dosFsCreate, (FUNCPTR)
dosFsDelete,
             (FUNCPTR) dosFsOpen, (FUNCPTR) dosFsClose, (FUNCPTR) dosFsRead,
             (FUNCPTR) dosFsWrite, (FUNCPTR) dosFsIoctl);
    return (dos2FsDrvNum == ERROR ? ERROR : OK);
    }
- -------------------------------------------

You would write your own wrapper functions around the
dosFsXXX functions and replace the dosFsLibInit() routine
with your own myDosFsLibInit() routine which would install
your wrapper functions.

- -------------------------------------------
int myDosFs2DrvNum = ERROR;
/* */
STATUS myDosFsLibInit (int ignored);
    {
    if( myDosFs2DrvNum != ERROR )
     return OK;
    myDosFs2DrvNum = iosDrvInstall (
          (FUNCPTR) myDosFsCreate,
          (FUNCPTR) myDosFsDelete,
             (FUNCPTR) myDosFsOpen,
             (FUNCPTR) myDosFsClose,
             (FUNCPTR) myDosFsRead,
             (FUNCPTR) myDosFsWrite,
             (FUNCPTR) myDosFsIoctl
           );
    return (myDosFs2DrvNum == ERROR ? ERROR : OK);
    }

Your wrapper functions "myDosFs[Open,Close,Read, etc.])
should first log the desired data, and then call the corresponding
dosFsXXX() routine
passing untainted arguments.

Declare your routines like:

STATUS myDosFsRead (DOS_FILE_DESC_ID pFd, char * pBuf, int maxBytes );
STATUS myDosFsIoctl (DOS_FILE_DESC_ID pFd, int function, int arg );
STATUS myDosFsClose  (DOS_FILE_DESC_ID pFd);
STATUS myDosFsDelete (DOS_VOLUME_DESC_ID pVolDesc, char * pPath);
DOS_FILE_DESC_ID myDosFsCreate   (DOS_VOLUME_DESC_ID pVolDesc, char *pName,
int flags)
DOS_FILE_DESC_ID myDosFsOpen (DOS_VOLUME_DESC * pVolDesc, char * pPath, int
flags, int mode );

You will need to avoid any call to the real dosFsLibInit() or dosFsInit()
(which calls dosFsLibInit) in your RTOS images which do the logging.
You will need to replace them with calls to myDosFsLibInit() in your code.
Replace any dosFsInit() or dosFsLibInit() call with your myDosFsLibInit
call.
Look at the component file 10dosfs2.cdf, look at prjConfig.c, look at
bootConfig.c,
look at usrConfig.c, sysLib.c, etc.

After myDosFsLibInit is called, it should be safe to start logging...
Good luck.

- -j

"Necessity is a measure of aim" - Fripp.

>
> Dimitris
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: it jumped, you wasted, yet Richard never inadvertently departed about the navel
Date: Thu, 25 Jul 2002 05:16:34 GMT
From: "John Kevin Fabiani" <nospam@nospam.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <SQL%8.1069$FQ4.137915520@newssvr15.news.prodigy.com>
References: <MPG.0db9a62fc0d6@news.eastlink.ca>

What kinda of terrorist tripe computer spam noise is this???

John

"LtCmdr E. da Silva" <ANOSGED@lokvyjid.mi.us> wrote in message
news:MPG.0db9a62fc0d6@news.eastlink.ca...
> tgos@spamcop.net
>
> m.hanauska@gmx.net
>
> admin@tgos.org
>
> gumbek
> hitse
>
> tech@tgos.org
>
> dom@tgos.org
>
> webmaster@tgos.org
>
> postmaster@tgos.org
>
> tgos@spamcop.net
>
> m.hanauska@gmx.net
>
> admin@tgos.org
>
>
> tgos@spamcop.net
>
> m.hanauska@gmx.net
>
> admin@tgos.org
>
>
> tgos@spamcop.net
>
> m.hanauska@gmx.net
>
> admin@tgos.org
>
> Ignatius's shopkeeper scolds to our carpenter after we mould
> under it.
>
> I am subtly stupid, so I irritate you.  Where did Ali behave
> towards all the butchers?  We can't burn units unless Abu will
> partially promise afterwards.  Generally, Edwina never grasps until
> Ibraheem sows the inner film finitely.  They are hating around the
> hall now, won't receive doses later.
>
> Both fearing now, Lisette and William filled the angry squares
> towards closed counter.
>
> Lakhdar, outside clouds blunt and clever, explains in it, recollecting
> cruelly.  For Hassan the jug's proud, in me it's lower, whereas
> inside you it's nibbling long.  Who doesn't Said play fully?  My
> rich ball won't climb before I join it.  Better laugh enigmas now or
> Patrice will wickedly kill them outside you.  While cases lazily
> creep stickers, the walnuts often dream through the urban pears.
> Brahimi, have a dull porter.  You won't expect it.  Some tapes
> crudely help the upper evening.
>
> Her exit was stale, cheap, and recommends through the highway.  The
> jar beneath the deep window is the tyrant that attacks tamely.  If you'll
> live Pauline's ocean with carrots, it'll globally pull the sauce.  It's
very
> dry today, I'll measure annually or Afif will arrive the wrinkles.  It
> tasted, you attempted, yet Excelsior never wanly jumped between the
> canyon.  It should depart nearly, unless Paulie dines cobblers
> beside Haji's coconut.  Don't try to love the dogs regularly,
> judge them bimonthly.  She should seek once, move loudly, then
> care on the teacher below the corner.
>
> It might hourly talk open and improves our poor, fat books without a
> arena.  We learn them, then we incredibly walk Debbie and Talal's
> lean tailor.  She will virtually call beneath Aziz when the thin
> games look on the dark station.  Every elbows will be bad pretty
> lemons.  Lots of sharp pitcher or swamp, and she'll eerily reject
everybody.
> She can wander blank twigs near the hollow elder forest, whilst
> Ismat absolutely kicks them too.  Hardly any distant farmers
> under the tired cave were cleaning behind the cold light.  Let's
> comb towards the hot winters, but don't open the ugly puddles.
> Pilar lifts, then Muhammad rigidly changes a humble pin under
> Yosri's spring.  Try pouring the earth's lost coffee and Hala will
> converse you!  Occasionally Cristof will smell the dryer, and if
> Abdel sneakily covers it too, the hen will like before the rude
> college.  If the lazy aches can shout simply, the handsome hat may
> waste more kiosks.  Who Ikram's easy envelope excuses, Clifford
> irrigates among good, pathetic showers.  The shallow candle rarely
> solves Roxanna, it teases Selma instead.
>
> Plenty of old eggs are empty and other younger pickles are sad, but will
> Usha order that?  Will you dye with the hallway, if Kirsten freely
> cooks the grocer?  These days, it answers a car too fresh alongside her
> rural road.  Where does Karim believe so partly, whenever Agha
> rejects the abysmal gardner very halfheartedly?  To be noisy or
> smart will lift strange onions to wrongly scold.  They are believing
> about new, beneath clean, around unique cards.
>
> We improve the sticky paper.  As happily as Ghassan changes, you can
> promise the floor much more strangely.  Hardly any strong quiet
> yogis believably cook as the bitter spoons taste.  Almost no
> think difficult forks will admiringly grasp the printers.  Why did
> Guido kick the disk towards the durable jacket?  Are you outer, I mean,
> combing beneath weak lentils?
>
> If you will sow Ayub's morning beneath buttons, it will inadvertently
> dream the tag.  No healthy light raindrop hates figs throughout
> Al's dirty cap.  Don't even try to irrigate badly while you're
> receiving over a full plate.  Who will we dine after Pervis loves the
> heavy camp's kettle?
>
> Founasse!  You'll attack shoes.  Little by little, I'll nibble the
> frog.  Who will you learn the filthy worthwhile cans before Haron does?
She wants to
> judge weird sauces towards Mohammad's shore.
>
> Get your steadily looking ointment outside my window.
>
> Until Vincent pours the cups monthly, Excelsior won't kill any
> sick fogs.  It can angrily climb at kind brave stables.  Other
> bizarre glad dusts will shout seemingly against painters.
>
> The smogs, cats, and bushs are all solid and sour.  You won't
> live me talking outside your short store.  Abu, still pulling,
> walks almost hatefully, as the ulcer opens towards their bucket.
>
> Some powders fill, mould, and depart.  Others generally solve.
> Occasionally, go excuse a code!  Tell Zakariya it's raw attempting
> throughout a potter.  Otherwise the shirt in Eve's pumpkin might
> waste some wide trees.  I was covering boats to active Satam, who's
> laughing throughout the pool's obelisk.  He might irritate wistfully if
> Kenny's bowl isn't sweet.  Generally, frames play to wet ventilators,
unless they're
> young.  Neal cleans the diet beneath hers and superbly burns.  Who
> explains truly, when Ibraheem seeks the cosmetic poultice above the
> river?  He may wander the polite barber and measure it among its
> moon.  He'll be recommending before cosmetic Susie until his
> desk helps unbelievably.
>
> Just creeping over a ticket before the desert is too outer for
> Shelly to join it.  They recollect rude oranges, do you call them?
> Try not to like a weaver!
>
> I was ordering to fear you some of my sour pens.  Plenty of younger
> bandages converse Simone, and they dully jump Alexis too.  She'd rather
> arrive quickly than expect with Osama's clean draper.  I eventually
> behave below tired worthwhile lakes.  We smell them, then we
> lovingly care Abdullah and Diane's hollow goldsmith.  She wants to
> answer cold frogs over Sayed's structure.  For Feyd the painter's
> healthy, with me it's dark, whereas through you it's dying unique.  They
are
> teasing over proud, for short, below thin shoes.  We move the
> dirty tag.
>
> What doesn't Candy cook furiously?  Are you kind, I mean, playing
> between angry hens?
>
> Other wide solid bushs will cover daily on teachers.  She'd rather
> comb deeply than fill with Harvey's lost can.
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: embeded web server on vxworks ?
Date: Thu, 25 Jul 2002 15:39:58 +1000
From: "M.C Wong" <wongmc@lucent.com>
Organization: Lucent Technologies, Columbus, Ohio
Message-ID: <aho2vk$cki@nntpb.cb.lucent.com>

Hi

Does anyone know if there is an online manual for windweb API on windriver
site ?
I searched around and couldn't find anything.

Thanks
MCW

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

Newsgroups: comp.os.vxworks
Subject: Re: Interrupt driven network I/O
Date: 24 Jul 2002 23:06:22 -0700
From: muthulaxmis@yahoo.com (Muthulaxmi S)
Organization: http://groups.google.com/
Message-ID: <9663bf40.0207242206.6198e9fc@posting.google.com>
References: <9663bf40.0207232354.6b89b886@posting.google.com> <lku%8.9$qm6.1481@news.ecrc.de>

"Friedrich Ensslin" <friedrich.ensslin@am3.com> wrote in message news:<lku%8.9$qm6.1481@news.ecrc.de>...
> Hi,
> 
> "Muthulaxmi S" <muthulaxmis@yahoo.com> schrieb im Newsbeitrag
> news:9663bf40.0207232354.6b89b886@posting.google.com...
> > Hello,
> >
> > How can I register a callback function for a port so that the callback
> > is activated whenever there is data on the port?
> 
> What do you mean by port ? A TCP/IP port ? an I/O port of your HW ?

A TCP/IP port. My application needs to be interrupted when data
arrives on a particular TCP/IP Port. Is it possible to do this
using VxWorks?

> 
> > Where can I download the
> > VxWorks Network Programmer's Guide?
> 
> Googling for "vxworks-network-programmer's-guide pdf" will show you the way.

Thanks a lot for this. I could locate the pdf file.

Regards,
muthu

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

Newsgroups: comp.os.vxworks
Subject: Re: about tornado2.0 gnu tool chain-unknown pragmas warning
Date: 24 Jul 2002 23:43:25 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207242243.7f357929@posting.google.com>
References: <bbaee578.0207222307.518bfafc@posting.google.com> <3D3D2E29.6CDAF413@bellsouth.net> <bbaee578.0207231643.428f4f2e@posting.google.com> <bbaee578.0207240423.69c3bcd9@posting.google.com> <bbaee578.0207241650.290f308d@posting.google.com>

Hello,

I just use google. The delay doesn't bother me often.

Rgds,

John...

zhouzhaohan@yahoo.com (Fred Zhou) wrote in message news:<bbaee578.0207241650.290f308d@posting.google.com>...
> >Hello again,
>  
> >I don't believe the assembler needs such a warning to be enabled; it
> >will simply reject any directives that it doesn't understand. I might
> >be wrong there, but it should be simple to test...
>  
> >HTH,
>  
> >John...
> 
> Thanks a lot.I get one simple question.How can I reply to the group in
> outlook express(do you use it) or some other way around? I now do this
> in google thru web,and the google will refresh the messages with an
> unbearable delay.So I have to read the message thru outlook and post
> one thru google,but the most up-to-data one appearing on my outlook
> may be probably unavailable in google,which make me rather
> frustrated.Thanks again!

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

Newsgroups: comp.os.vxworks
Subject: Re: VxWorks cross-development c compiler ccppc
Date: 24 Jul 2002 23:48:47 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207242248.67bdb6f2@posting.google.com>
References: <da956f63.0207241602.49b29b39@posting.google.com>

Hello,

With the VxWorks AE compiler (which should be the same as the T2.1 or
later one),  just make sure the -ansi option is not specified. That
will allow C++ style comments in C code.

HTH,

John...

eric.harlow@mail.dfrc.nasa.gov (Eric) wrote in message news:<da956f63.0207241602.49b29b39@posting.google.com>...
> I would like to use a compiler option to allow C++ style comments in
> my c code.
> On a SGI I use -Xcpluscomm and on the SUN it is -xCC.  Where can I
> find out how or what this option is when using the VxWorks
> cross-development c compiler ccppc?  When I add -xCC to my cflags I
> get the following error:
> ccppc: language CC not recognized.  I get the same error when I try to
> compile my code using gcc.
> 
> Thanks,
> 
> Eric Harlow

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

Newsgroups: comp.os.vxworks
Subject: Re: VxWorks cross-development c compiler ccppc
Date: 25 Jul 2002 00:30:56 -0700
From: zhouzhaohan@yahoo.com (Fred Zhou)
Organization: http://groups.google.com/
Message-ID: <bbaee578.0207242330.5878ffcc@posting.google.com>
References: <da956f63.0207241602.49b29b39@posting.google.com>

eric.harlow@mail.dfrc.nasa.gov (Eric) wrote in message news:<da956f63.0207241602.49b29b39@posting.google.com>...
> I would like to use a compiler option to allow C++ style comments in
> my c code.
> On a SGI I use -Xcpluscomm and on the SUN it is -xCC.  Where can I
> find out how or what this option is when using the VxWorks
> cross-development c compiler ccppc?  When I add -xCC to my cflags I
> get the following error:
> ccppc: language CC not recognized.  I get the same error when I try to
> compile my code using gcc.
> 
> Thanks,
> 
> Eric Harlow
Try -Wp,-lang-c it will pass an option -lang-c to preprocessor,and
should solve your problem.

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

Newsgroups: comp.arch.embedded,comp.os.vxworks,comp.realtime,comp.sys.powerpc.tech
Subject: Re: Motorola MBX860-001C Power Supply
Date: Thu, 25 Jul 2002 09:26:12 +0200
From: 42Bastian Schick <b.schick@enea.de>
Organization: ENEA OSE Engineering
Message-ID: <3D3FA814.ECF4CB17@enea.de>
References: <CDYC90783CAC1@cd-yacht.demon.co.uk>

> 
> I'm trying to find a cheap way to power a Motorola MBX860-001C board.
> 
> This is the entry level version (4MB DRAM, 4MB Flash, no EIDE, no PCI etc).
> 
> Using a standard ATX PSU with the connector changed would seem an obvious
> solution but I'm worried that the MBX860 would take so little current that
> the +3.3V and +5.0V lines would not regulate correctly.
> 
> Has anybody got any other ideas or comments? What other solutions have been
> used?

Maybe a numb question but, why don't you use a wall-plug power-supply
with 9V and  use some converter chips (7805 or something) to get your
voltages ?

- -- 
42Bastian
- -------------------------------
- -- ENEA OSE Engineering GmbH --
- -- b.schick@enea.de          --
- -------------------------------

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

Newsgroups: comp.os.vxworks
Subject: Re: Interrupt driven network I/O
Date: Thu, 25 Jul 2002 09:37:42 +0200
From: "Friedrich Ensslin" <friedrich.ensslin@am3.com>
Message-ID: <0WN%8.1$z%.891@news.ecrc.de>
References: <9663bf40.0207232354.6b89b886@posting.google.com> <lku%8.9$qm6.1481@news.ecrc.de> <9663bf40.0207242206.6198e9fc@posting.google.com>

Hi,

"Muthulaxmi S" <muthulaxmis@yahoo.com> schrieb im Newsbeitrag
news:9663bf40.0207242206.6198e9fc@posting.google.com...
> A TCP/IP port. My application needs to be interrupted when data
> arrives on a particular TCP/IP Port. Is it possible to do this
> using VxWorks?

I suppose, what you need is something like a TCP server task. It blocks, til
data arrive on a certain port. There's a pretty good example for exactly
that in the Programmer's Guide.

bye,

Fritz

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

Newsgroups: comp.os.vxworks
Subject: Re: about sendto()
Date: 25 Jul 2002 02:06:33 -0700
From: rajendra_krsingh@yahoo.com (rajendra)
Organization: http://groups.google.com/
Message-ID: <479ba395.0207250106.64dddc25@posting.google.com>
References: <38d66cc7.0207241853.6ee43be5@posting.google.com>

can you provide more inforemation on what you are doing ? what is
connection type(TCP/UDP) and what errno you are getting ? It will help
us to figure out your problem.

- -rajendra

huangyongjd@21cn.com (hyper) wrote in message news:<38d66cc7.0207241853.6ee43be5@posting.google.com>...
> hi everyone,
>     i met a problem about 'sendto',the rountine return 'ERROR',
> i wonder its reason,please help me,thanks!

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

Newsgroups: comp.os.vxworks
Subject: Re: VxWorks cross-development c compiler ccppc
Date: 25 Jul 2002 02:07:04 -0700
From: zhouzhaohan@yahoo.com (Fred Zhou)
Organization: http://groups.google.com/
Message-ID: <bbaee578.0207250107.7d3dc26f@posting.google.com>
References: <da956f63.0207241602.49b29b39@posting.google.com>

eric.harlow@mail.dfrc.nasa.gov (Eric) wrote in message news:<da956f63.0207241602.49b29b39@posting.google.com>...
> I would like to use a compiler option to allow C++ style comments in
> my c code.
> On a SGI I use -Xcpluscomm and on the SUN it is -xCC.  Where can I
> find out how or what this option is when using the VxWorks
> cross-development c compiler ccppc?  When I add -xCC to my cflags I
> get the following error:
> ccppc: language CC not recognized.  I get the same error when I try to
> compile my code using gcc.
> 
> Thanks,
> 
> Eric Harlow
- -Wp,-lang-c is just for your case, and force compiler to compile it as
c++ or close check for ANSI is not just as graceful I think.

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

Newsgroups: comp.os.vxworks
Subject: Re: Interrupt driven network I/O
Date: 25 Jul 2002 02:16:19 -0700
From: rajendra_krsingh@yahoo.com (rajendra)
Organization: http://groups.google.com/
Message-ID: <479ba395.0207250116.52b54d8c@posting.google.com>
References: <9663bf40.0207232354.6b89b886@posting.google.com>

muthulaxmis@yahoo.com (Muthulaxmi S) wrote in message news:<9663bf40.0207232354.6b89b886@posting.google.com>...
> Hello,
> 
> How can I register a callback function for a port so that the callback
> is activated whenever there is data on the port? Where can I download the
> VxWorks Network Programmer's Guide?
> 
> Regards,
> muthu

 create a separate task and does a select of socket descriptor. When
there is data this task will be notified and you do whatever you want
to do.

- -rajendra

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

Newsgroups: comp.os.vxworks
Subject: Re: Help! problem with the etherOutput()
Date: 25 Jul 2002 02:31:23 -0700
From: rajendra_krsingh@yahoo.com (rajendra)
Organization: http://groups.google.com/
Message-ID: <479ba395.0207250131.7f8f1b4@posting.google.com>
References: <2f604c7e.0207230440.5ec20bc9@posting.google.com>

Hi ward,
  I suspect the driver. In heavy load scenario, generally muxSend
fails due to network congestion in that case packet is not removed
from interface queue. Driver is supposed to call some registered
retransmit routine whenever it detects network is free. But some
drivers doesn't do that. in that case your inteface queue become full
and later packets are dropped in ip_output itself instead of failing
at muxSend.
  You can verify it by putting a break point on muxSend or muxTkSend
when you see this problem. and try ping if breakpoint is not hitting
that means that your interface queue is full. (also varify that
pinging was hitting the brackpoint before the problem).

- -rajendra

ward@fhn.com.cn (ward) wrote in message news:<2f604c7e.0207230440.5ec20bc9@posting.google.com>...
> Hello all,
> I am trying to improve the performance of our stack which is based on
> the Vxworks 5.4 and PPC860t. We have 2 interfaces,one is cpm of 10M
> and the other is motfec of 100M.
> 
> I use the etherInputHookAdd()to receive all the ethernet frame from
> vxworks and return TRUE. After processing the packet by our stack, it
> is sent by calling the etherOutput().
> 
> In normal load, everything is ok. But when the load is heavy, problems
> occurs with the motfec interface. It can receive packets from outside
> to our router but we can't receive packets sent from the 100M
> interface. And the etherOutput()doesn't return error. At the same time
> cpm interface is ok for tran/recv.
> 
> So I just can test the router with smartbits in this direction as
> below:
> 
> packet in   |----------|    packet out
> ----------->|100M---10M|------>
>             |----------|
> 
> On the other hand, the driver and BSP is the same as  I used to test
> the VxWorks stack. Everything is ok in any load!
> 
> Did anyone have the same experience with it? If so, please give me
> some advices to solve the problem.
> 
> Thanks in advance!
> 
> 
> Best regards,
> ward

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

Newsgroups: comp.os.vxworks
Subject: Re: mbx860 BSP / 82558 driver problem
Date: 25 Jul 2002 02:43:22 -0700
From: david.meadows@roke.co.uk (David Meadows)
Organization: http://groups.google.com/
Message-ID: <6d3e990b.0207250143.6addd1f@posting.google.com>
References: <6d3e990b.0207220735.31de5ea0@posting.google.com> <0ts%8.111538$Wt3.98785@rwcrnsc53>

Thanks for the response.
I believe your right, the QSpan register space is mapped to its own
region on the board 0xfa210000 onwards. I inspected the registers and
see the following:

tPIPS: (0xfa210000) Device/Vendor ID        : 0x86010e3
/* the QSpan aborts an access at some point, MA='1' */
tPIPS: (0xfa210004) Status/Comand Reg       : 0x22800007
tPIPS: (0xfa210008) Configuration Class Reg : 0x6800000
tPIPS: (0xfa21000c) Config Misc Reg 0       : 0x0
/* Not really sure what these registers are for */
/* They are left as BSP defaults */
tPIPS: (0xfa210010) BAR for Memory Register : 0x1000000
tPIPS: (0xfa210014) BAR for IO Register     : 0x1ffff001
tPIPS: (0xfa210018) BAR for Target 0        : 0x0
tPIPS: (0xfa21001c) BAR for Target 1        : 0x0
Read PCI Target Image 0:
/* Translate memory access from 0x80000000+ to 0x0+ */
tPIPS: (0xfa210100) T0 Control Register     : 0x8f000080
tPIPS: (0xfa210104) T0 Address Register     : 0x80000000
Read PCI Target Image 1:
/* Disabled */
tPIPS: (0xfa210110) T1 Control Register     : 0x40
tPIPS: (0xfa210114) T1 Address Register     : 0x0
Read Misc Control Reg:
tPIPS: (0xfa210800) Misc Control Register   : 0xc0003
Read EEPROM Control Reg:
tPIPS: (0xfa210804) EEPROM Control Register : 0x0
Read QBus Slave Image 0:
/* IO Space access, 512MB block size, enabled */
/* Translate address to 0x0+ */
tPIPS: (0xfa210f00) QBSI0 Control Register  : 0x1000000
tPIPS: (0xfa210f04) QBSI0 AT Register       : 0xd1
Read QBus Slave Image 1:
* Memory Space access, 512MB block size, enabled */
/* Translate address to 0x0+ */
tPIPS: (0xfa210f10) QBSI1 Control Register  : 0x0
tPIPS: (0xfa210f14) QBSI1 AT Register       : 0xd1

However I can't see an error in the configuration.
As far as I know the 557 has one memory space shared by memory and IO.
The 557 can access PowerPC DPRAM at 0x0+ by writing to 0x80000000+.
The PowerPC can do IO access for which the address is translated to
0x0+
it can also translate memory accesses to 0x0+.

I can't seem to find out where the source address for the translation
is located. Would these be the (0xfa210018) BAR for Target and
(0xfa21001c) BAR for Target 1 register in the QSpan config space?

Thanks for the help,

David

"Gary M" <com.vertical@garym> wrote in message news:<0ts%8.111538$Wt3.98785@rwcrnsc53>...
> Have you properly initialized the QSpan image space (one of the QBus slave
> image spaces) so that it responds to accesses in the 128MB range starting at
> 0x81000000, and then properly translates to the PCI address of the 82558?
> One or the other is not responding to the access cycle, and times out.
> 
> "David Meadows" <david.meadows@roke.co.uk> wrote in message
> news:6d3e990b.0207220735.31de5ea0@posting.google.com...
> > Hello everyone,
> >
> > I'm having problems with a ethernet driver that I hope someone can
> > help me with.
> > The ethernet card in question is a 82558 if_fei driver compatible card
> > connected via PCI to a mbx860 board running the relevant BSP. It's my
> > understanding that the 82558 driver is source for an x86 platform so
> > there may be endian issues.
> > The mbx860 board uses a QSpan QBus/PCI bridge.
> >
> > The BSP seems to start-up okay, finds the PCI card using
> > pciFindDevice, assigns the required base address values and enabled
> > memory space, io space and bus mastering.
> > I can see that the data returned using pciConfigInLong matches what I
> > write into the registers and I see the PCI status register return a
> > happy value when I read it.
> >
> > However when I try to attach to the ethernet driver I find I receive a
> > data access exception on the first call to sysOutLong().
> >
> > The data access register value is 0x8102000a which is an address
> > located within a region of memory that I mapped to be PCI IO space in
> > the sysPhysMemDesc table.
> > The machine status register comes back as 0x9032 but I can't see any
> > wrong.
> >
> > The entry is shown below:
> >
> > {
> >     (void *) PCI_MSTR_IO_LOCAL, /* 0x81000000 */
> >     (void *) PCI_MSTR_IO_LOCAL,
> >     PCI_MSTR_IO_SIZE, /* 128 MB */
> >     VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE |
> > VM_STATE_MASK_CACHEABLE,
> >     VM_STATE_VALID      | VM_STATE_WRITABLE      |
> > VM_STATE_CACHEABLE_NOT
> >     },
> >
> > I have tried varying the value used between 0x81000000 and 0x85000000
> > but with no success.
> >
> > I have tried turning off caching by removing the following from
> > configAll.h:
> >
> > INCLUDE_MMU_BASIC
> > INCLUDE_MMU_FULL
> > INCLUDE_PROTECT_TEXT
> > INCLUDE_PROTECT_VEC_TABLE
> >
> > but this produces the same result.
> >
> > I also thought that the problem may lie with endian conversion but my
> > understanding is that there is no difference for Long (32-bit)
> > accesses and the first sysOut call is a sysOutLong.
> >
> > Is there something fundamental that I'm missing?
> >
> > Any help would be much appreciated.
> >
> > Regards,
> >
> > David

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

Newsgroups: comp.os.vxworks
Subject: Re: Interrupt driven network I/O
Date: Thu, 25 Jul 2002 12:57:10 +0200
From: "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM>
Organization: Verio
Message-ID: <newscache$07xszg$a4n$1@lnews.actcom.co.il>
References: <9663bf40.0207232354.6b89b886@posting.google.com>

I dont know if this is appropriate for you to use it, but there is an
undocumented callback hook that is called every time any socket is receiving
data, or data is acknowledged thus removed from the socket send buffer.
If I remember correctly, it is _so_wakeupHook.
Look in the archives for a complete description of how this works, i.e.
parameters etc.

"Muthulaxmi S" <muthulaxmis@yahoo.com> wrote in message
news:9663bf40.0207232354.6b89b886@posting.google.com...
> Hello,
>
> How can I register a callback function for a port so that the callback
> is activated whenever there is data on the port? Where can I download the
> VxWorks Network Programmer's Guide?
>
> Regards,
> muthu

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

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

From vxwexplo-errs@csg.lbl.gov  Thu Jul 25 04:11:28 2002
From: A Mohammed Arif <mdarif@yahoo.com>
Date: Thu Jul 25 04:11:30 PDT 2002

Hi all,

   We are writing a pci device driver for an addon
card on MIPS based board
in vxworks.

 In our device it has a 32-bit register  which expects
driver deveploer to
set the value of memory address which can be used to
transfer and receive
the data from the processor.
 The register has given only 20- bits to write the
address for block of
memory of 4k. which seems ok as it will be page. Now
things of concern.
 How to get a memory page start address, which will
have lower 12 bits as 0
as it is for 4 k?
 For doing the data transfer it uses DMA what extra
care has to be taken to
complete the opeartion ?
 The MIPS application program majorily works in user
mode and driver access
is done in kernel. so actually the data will be
transferred from k0 to k1
and viceversa?

and suggestion and help extended will be appreciated.
Thanks in advance

Arif

__________________________________________________
Do You Yahoo!?
Yahoo! Health - Feel better, live better
http://health.yahoo.com

From vxwexplo-errs@csg.lbl.gov  Fri Jul 26 04:03:17 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Fri Jul 26 04:03:20 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Fri Jul 26 04:03:12 PDT 2002

        Subject: Problem starting windsh!
        Subject: Re: Motorola MBX860-001C Power Supply
        Subject: Re: Motorola MBX860-001C Power Supply
        Subject: Pci card driver and tornado1.0,bsp compatibility
        Subject: Re: Motorola MBX860-001C Power Supply
        Subject: Re: embeded web server on vxworks ?
        Subject: DosFs2 chkdsk error message
        Subject: Board Network Config
        Subject: geneee 4310 leds
        Subject: Re: DosFs2 chkdsk error message
        Subject: Re: embeded web server on vxworks ?
        Subject: burning app in flash without buying TFFS
        Subject: Re: burning app in flash without buying TFFS
        Subject: Re: dosFs2.0: debug info
        Subject: Re: search for RS232 Source Code
        Subject: Building emissary mibcomp on solaris
        Subject: Re: burning app in flash without buying TFFS
        Subject: Re: DosFs2 chkdsk error message
        Subject: Re: Pci card driver and tornado1.0,bsp compatibility
        Subject: Re: Pci card driver and tornado1.0,bsp compatibility
        Subject: Re: Pci card driver and tornado1.0,bsp compatibility
        Subject: snprintf?
        Subject: Re: burning app in flash without buying TFFS
        Subject: compatibility of files between tornado2.0 and tornado1.0
        Subject: Announcement : AdventNet Agent Tester Release 1.0 Beta
        Subject: Re: burning app in flash without buying TFFS
        Subject: How can I delay 1ms or 100us when system clock uses 100 ticks per second?
        Subject: signal handling
        Subject: Re: compatibility of files between tornado2.0 and tornado1.0
        Subject: Re: How can I delay 1ms or 100us when system clock uses 100 ticks per 

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

Newsgroups: comp.os.vxworks
Subject: Problem starting windsh!
Date: 25 Jul 2002 05:37:40 -0700
From: jacobuk@myrealbox.com (Jacob Uthupp Koshy)
Organization: http://groups.google.com/
Message-ID: <a3632109.0207250437.7ac1aa16@posting.google.com>

Hi,

 I get the message
 "bad option "-81787": must be -exact, -glob, -regexp, or --"

 when i run windsh.

 What could be the problem.

Thanks
Jacob

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

Newsgroups: comp.arch.embedded,comp.os.vxworks,comp.realtime,comp.sys.powerpc.tech
Subject: Re: Motorola MBX860-001C Power Supply
Date: Thu, 25 Jul 2002 13:59:52 +0100
From: "David J Edgar" <david@cd-yacht.demon.co.uk>
Organization: Cedaryacht Limited
Message-ID: <CDYC91013D603@cd-yacht.demon.co.uk>
References: <CDYC90783CAC1@cd-yacht.demon.co.uk> <3D3FA814.ECF4CB17@enea.de>

"42Bastian Schick" <b.schick@enea.de> wrote in message
news:3D3FA814.ECF4CB17@enea.de...
> >
> > I'm trying to find a cheap way to power a Motorola MBX860-001C board.
> >
> > This is the entry level version (4MB DRAM, 4MB Flash, no EIDE, no PCI
etc).
> >
> > Using a standard ATX PSU with the connector changed would seem an
obvious
> > solution but I'm worried that the MBX860 would take so little current
that
> > the +3.3V and +5.0V lines would not regulate correctly.
> >
> > Has anybody got any other ideas or comments? What other solutions have
been
> > used?
>
> Maybe a numb question but, why don't you use a wall-plug power-supply
> with 9V and  use some converter chips (7805 or something) to get your
> voltages ?
>
> --
> 42Bastian
> -------------------------------
> -- ENEA OSE Engineering GmbH --
> -- b.schick@enea.de          --
> -------------------------------

Yes, I could do that but it involves constructing a small PCB.

What I'm looking for is a solution that would be easy to use in a very
limited production run of about 6 units so using the ATX PSU seemed a good
place to start as it's got an IEC mains connector.

The idea of using a Hard Drive is a good solution for development but not
for the final units.

- --
David J Edgar
Cedaryacht Limited, Macclesfield, Cheshire, UK
E-mail: david@cd-yacht.demon.co.uk
Web: http://www.cedaryacht.co.uk

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

Newsgroups: comp.arch.embedded,comp.os.vxworks,comp.realtime,comp.sys.powerpc.tech
Subject: Re: Motorola MBX860-001C Power Supply
Date: Thu, 25 Jul 2002 15:10:39 +0200
From: 42Bastian Schick <b.schick@enea.de>
Organization: ENEA OSE Engineering
Message-ID: <3D3FF8CF.1745FCD3@enea.de>
References: <CDYC90783CAC1@cd-yacht.demon.co.uk> <3D3FA814.ECF4CB17@enea.de> <CDYC91013D603@cd-yacht.demon.co.uk>

> 
> The idea of using a Hard Drive is a good solution for development but not
> for the final units.

Evil idea: A shunt ?!

- -- 
42Bastian
- -------------------------------
- -- ENEA OSE Engineering GmbH --
- -- b.schick@enea.de          --
- -------------------------------

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

Newsgroups: comp.os.vxworks
Subject: Pci card driver and tornado1.0,bsp compatibility
Date: 25 Jul 2002 06:19:32 -0700
From: vxnerd@rediffmail.com (subbarayan)
Organization: http://groups.google.com/
Message-ID: <f81c4277.0207250519.52ced5d6@posting.google.com>

dear mentors,
I am a nerd vxworks programmer and jus now entering into real time
projects.My current project is to develop a driver for pci card
plx9052 using vxworks.I would like to know if any of u have any
experience in such type of project with tornado1.0?My application is
working with a target which is x86 processor and which has a standard
pc architecture and which has to be booted with a floppy to work as a
standalone target which gets booted up from floppy and works.
Also following are my doubts regarding my project:
1.Does tornado1.0 support pci cards?where will find the files which i
have to use inorder to develop my driver for pci cards and which are
those files?

2.Where can i find the pci driver files suppiled by vxworks by default
along with other configuration files for tornado1.0.I am asking this
becos we have some files like
pciconfiglib.c,pciconfiglib.h,pciconfigshow.c,pciconfigshow.h in
tornado2.0 version which are available by default for working with pci
cards and accessing and developing custom drivers for them.

3.Due to time constraints i am unable to develop the driver from
scratch.I tried to copy the above said files(pciconfig and show files)
from tornado2.0 and tried to make use of them in tornado1.0 by
compiling there .o file and linking them in my boot image.

But that produced a lot of error when i tried to make it.Mainly the
error showed it was unable to recognise any of functions mentioned in
these files.
First of all tell me whether its possible to use the above said files
of tornado2 in tornado1?
If possible then can anyone tell me how to use them so that i can
configure it to work for my project.As i am nerd i will be thankful if
anyone can tell me actual settings to be made in configuration files
if any to be made inorder to make them work.So any one can tell me abt
porting proceedure of tornado2.0 files with tornado1.0?I mean the
pciconfig and pcishowfiles.

4.Is there a possiblity of BSP supplied with tornado2 to work with
tornado1.0?
is there compatibleness b/n these things?
How to make bsp of tornado2 to work with tornado1 incase its
possible.I would like to know configuration settings if its possible
and any changes to be made in config settings.

5.Whats bundled and unbundled virtual memory support vxworks is
talking abt?In
my application i have to map the physical memory of card settings to
the virtual memory.Does basic vxworks be able to do that or i need to
procure the vxvmi package which has virtual memory support.When
exactly will i require that vxvmi(vitual memory support package of
vxworks) and what kind of applns require such a package and what kind
of applns can be developed using it?

thanks in advance to person replying me.
any one with a soln can contact me at:vxnerd@rediffmail.com with a
soln being mailed or jus reply me in this board itself.

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

Newsgroups: comp.arch.embedded,comp.os.vxworks,comp.realtime,comp.sys.powerpc.tech
Subject: Re: Motorola MBX860-001C Power Supply
Date: Thu, 25 Jul 2002 14:43:14 +0100
From: "David J Edgar" <david@cd-yacht.demon.co.uk>
Organization: Cedaryacht Limited
Message-ID: <CDYC91023D693@cd-yacht.demon.co.uk>
References: <CDYC90783CAC1@cd-yacht.demon.co.uk> <3D3FA814.ECF4CB17@enea.de> <CDYC91013D603@cd-yacht.demon.co.uk> <3D3FF8CF.1745FCD3@enea.de>

"42Bastian Schick" <b.schick@enea.de> wrote in message
news:3D3FF8CF.1745FCD3@enea.de...
> >
> > The idea of using a Hard Drive is a good solution for development but
not
> > for the final units.
>
> Evil idea: A shunt ?!
>
> --
> 42Bastian
> -------------------------------
> -- ENEA OSE Engineering GmbH --
> -- b.schick@enea.de          --
> -------------------------------

It's a valid solution - cheap and cheerful..!

- --
David J Edgar
Cedaryacht Limited, Macclesfield, Cheshire, UK
E-mail: david@cd-yacht.demon.co.uk
Web: http://www.cedaryacht.co.uk

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

Newsgroups: comp.os.vxworks
Subject: Re: embeded web server on vxworks ?
Date: Thu, 25 Jul 2002 11:04:10 -0400
From: david lindauer <dlindauer@notifier-is.net>
Message-ID: <3D40136A.47D2914F@notifier-is.net>
References: <aho2vk$cki@nntpb.cb.lucent.com>

AFAIK one gets installed on your harddrive (HTML files) when you install
windweb.  Might look around for it...  it is only slightly better than the
printed manual though, you may still have to run through header files and the
like to figure out what is really going on.

David

"M.C Wong" wrote:

> Hi
>
> Does anyone know if there is an online manual for windweb API on windriver
> site ?
> I searched around and couldn't find anything.
>
> Thanks
> MCW

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

Newsgroups: comp.os.vxworks
Subject: DosFs2 chkdsk error message
Date: 25 Jul 2002 08:01:20 -0700
From: dcooke@orthstar.com (Dan Cooke)
Organization: http://groups.google.com/
Message-ID: <4e264d23.0207250701.1abc362a@posting.google.com>

Background:
Using DosFs2 with all patches, (including SPR 78766 fixes regarding
S_ioLib_DISK_NOT_PRESENT errors in cbioLib).

I am using the 64 bit FIOSEEK64 command to seek into the file
prior to writing.
On trying to write to a file, my app returns the following error
message:
"error seeking to end ptr in LOG.BIN file, errno = 0xC0006 end ptr =
0x000000000000EECF

errno = 0xC0006 is the S_ioLib_DISK_NOT_PRESENT error.

chkdsk returns the following information:

/sc0/  - disk check in progress ...
"/sc0/log/LOG.BIN" file larger then its chain of clusters Entry will
be deleted.
/sc0/  - Errors detected. To correct disk structure, please start
check disk with a permission to repair.

	  total # of clusters:	1,110,241
	   # of free clusters:	377,795
	    # of bad clusters:	0
	     total free space:	2,951 Mb
     max contiguous free space:  3,094,470,656 bytes
		   # of files:	13
		 # of folders:	3
	 total bytes in files:	495,665
	     # of lost chains:	2
   total bytes in lost chains:  1,625 Mb

When the error occured, there were no error messages displayed 
regarding any of the cbioLib or dosFs routines.  

Any suggestions on where to go from here?

Dan

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

Newsgroups: comp.os.vxworks
Subject: Board Network Config
Date: Thu, 25 Jul 2002 16:11:42 +0100
From: Paul Caswell <paul.caswell@baesystems.com>
Organization: Land & Sea Systems
Message-ID: <3D40152E.B401FC86@baesystems.com>

Hello vxWorks world,
I'm confused as to how I can give our embedded board(s) a unique IP
address and MAC address.  Here's why:

1.  We have a romResident build in flash on our card and so the system
boots completely on power up - (we can't use the standard vxWorks build
downloaded from the host from a bootstrap as our ethernet connection
will not be connected in the final system)
2.  We don't have any NVRAM.
3.  The system still picks up it's own IP address from the
DEFAULT_BOOT_LINE specified in the T2 project facility.  I set the MAC
in sysLib and it is accesed by sysCpmEnetAddrGet(....).  Unfortunately
these are hardcoded values in the image itself.
4.  I don't want to have to rebuild the image for each specific card we
deploy.

Any ideas as to how I can easily assign each board a unique IP address
and MAC after the image has been stored in flash ?
TIA
Paul

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

Newsgroups: comp.os.vxworks,comp.arch.embedded,comp.realtime
Subject: geneee 4310 leds
Date: Thu, 25 Jul 2002 11:25:35 -0400
From: david lindauer <dlindauer@notifier-is.net>
Message-ID: <3D40186F.6191CC40@notifier-is.net>

We are using the Gene 4310 (geode processor) for some projects and want
to turn on and off the leds D7 and D8.  Does anyone know how?

Thanks,

David

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

Newsgroups: comp.os.vxworks
Subject: Re: DosFs2 chkdsk error message
Date: Thu, 25 Jul 2002 17:18:36 +0100
From: "Dimitrios Siganos" <nospam_dimitrios.siganos@newport-networks.com>
Organization: Newport Networks Ltd.
Message-ID: <1027613917.872841@azores.network-i.net>
References: <4e264d23.0207250701.1abc362a@posting.google.com>

I don't know about the DISK_NOT_PRESENT problem but I think the chkdsk
behaviour makes sense.

I assume that your file grows beyond the 2**32 limit.
If that is the case, then in the FAT table your file will be recorded as
2**32 bytes long, even though the real size is bigger - there is no
workaround for this. So, when chkdsk checks the number of clusters belonging
to the file against the size entry in the FAT table it will report the
inconsistency (and so it should).

I am not completely sure about the above - I am simply putting forward my
understanding of the situtaion.

Hope it helps.

Dimitris

"Dan Cooke" <dcooke@orthstar.com> wrote in message
news:4e264d23.0207250701.1abc362a@posting.google.com...
> Background:
> Using DosFs2 with all patches, (including SPR 78766 fixes regarding
> S_ioLib_DISK_NOT_PRESENT errors in cbioLib).
>
> I am using the 64 bit FIOSEEK64 command to seek into the file
> prior to writing.
> On trying to write to a file, my app returns the following error
> message:
> "error seeking to end ptr in LOG.BIN file, errno = 0xC0006 end ptr =
> 0x000000000000EECF
>
> errno = 0xC0006 is the S_ioLib_DISK_NOT_PRESENT error.
>
> chkdsk returns the following information:
>
> /sc0/  - disk check in progress ...
> "/sc0/log/LOG.BIN" file larger then its chain of clusters Entry will
> be deleted.
> /sc0/  - Errors detected. To correct disk structure, please start
> check disk with a permission to repair.
>
>   total # of clusters: 1,110,241
>    # of free clusters: 377,795
>     # of bad clusters: 0
>      total free space: 2,951 Mb
>      max contiguous free space:  3,094,470,656 bytes
>    # of files: 13
> # of folders: 3
> total bytes in files: 495,665
>      # of lost chains: 2
>    total bytes in lost chains:  1,625 Mb
>
> When the error occured, there were no error messages displayed
> regarding any of the cbioLib or dosFs routines.
>
> Any suggestions on where to go from here?
>
> Dan

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

Newsgroups: comp.os.vxworks
Subject: Re: embeded web server on vxworks ?
Date: 25 Jul 2002 09:20:03 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207250820.ba6b1a0@posting.google.com>
References: <aho2vk$cki@nntpb.cb.lucent.com>

Hello,

It is on WindSurf:

http://web2.windriver.com/windsurf/techpubs/netprods/windwebsvr/v2_0/

You'll need a WindSurf account & password to get to it though.

HTH,

John...

"M.C Wong" <wongmc@lucent.com> wrote in message news:<aho2vk$cki@nntpb.cb.lucent.com>...
> Hi
> 
> Does anyone know if there is an online manual for windweb API on windriver
> site ?
> I searched around and couldn't find anything.
> 
> Thanks
> MCW

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

Newsgroups: comp.os.vxworks
Subject: burning app in flash without buying TFFS
Date: Thu, 25 Jul 2002 12:34:28 -0400
From: Michael Reed <mreed@ll.mit.edu>
Message-ID: <3D402894.AD31CC41@ll.mit.edu>

Hello,
I'd like to burn my "bootable application" into flash, but I can't buy
TFFS to support a filesystem on the flash.  I'm assuming there's a way
to burn it into there just as a S-record file, but what do folks then do
about booting it and executing it:

1) Is the code copied to from FLASH to RAM upon booting?  How?

2) Can the standard vxworks bootloader support this?

THanks,
Mike R.

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

Newsgroups: comp.os.vxworks
Subject: Re: burning app in flash without buying TFFS
Date: Thu, 25 Jul 2002 19:08:52 +0200
From: "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM>
Organization: Verio
Message-ID: <newscache$neetzg$mpn$1@lnews.actcom.co.il>
References: <3D402894.AD31CC41@ll.mit.edu>

Mike,

The stuff you need to do is pretty standard, and there are quite a few ways
around this. Here are a few hints:

If your Flash is socketted, you can put it in an EPROM programmer, and burn
it from the S-Records file, just like and EPROM, except you can erase it in
the programmer, no need for UV.

If the Flash is soldered, then you would either need to connect a JIG, and
program the Flash while the board is offline, or add a few simple sofware
routines that will be able to reporgram the Flash on-board.

But now this is a chicken-and-egg problem, you need to somehow bootstrap the
board with initial (minimal) software that will be able to 1) get the
S-records from serial port, and 2) erase and program the Flash. You can do
this if you got an EPROM in addition to Flash.

Clarify your scenario.

"Michael Reed" <mreed@ll.mit.edu> wrote in message
news:3D402894.AD31CC41@ll.mit.edu...
> Hello,
> I'd like to burn my "bootable application" into flash, but I can't buy
> TFFS to support a filesystem on the flash.  I'm assuming there's a way
> to burn it into there just as a S-record file, but what do folks then do
> about booting it and executing it:
>
> 1) Is the code copied to from FLASH to RAM upon booting?  How?
>
> 2) Can the standard vxworks bootloader support this?
>
>
> THanks,
> Mike R.

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

Newsgroups: comp.os.vxworks
Subject: Re: dosFs2.0: debug info
Date: Thu, 25 Jul 2002 18:29:24 +0100
From: "Dimitrios Siganos" <nospam_dimitrios.siganos@newport-networks.com>
Organization: Newport Networks Ltd.
Message-ID: <1027618166.376249@azores.network-i.net>
References: <1027530649.593871@azores.network-i.net> <tPL%8.1068$LP4.137873480@newssvr15.news.prodigy.com>

Hi John,

A bit more complecated than I was hoping... but makes perfect sense.

I guess, to monitor internal dosFs activities I could do a similar trick at
the cbio layer...

Thanks for the detailed reply.

Dimitris

"John Kevin Fabiani" <nospam@nospam.net> wrote in message
news:tPL%8.1068$LP4.137873480@newssvr15.news.prodigy.com...
> Hi,
>
> "Dimitrios Siganos" <nospam_dimitrios.siganos@newport-networks.com> rote
in
> message news:1027530649.593871@azores.network-i.net...
> > Hello all,
> >
> > is there a way to get the dosFs2.0 to log/print all access to files?
>
> Not without hacking.  Funny, many complain that it prints too much data.
>
>
> > I would like to find out how many times each file is accessed (and how
big
> > those xfers were).
>
> You do not have the dosFs2 source code, else this would not be an issue.
>
>
> > The reason for wanting this info is that I want to have a look at the
way
> > higher level apps (e.g. NFS, my apps) use the disk and maybe use this
info
> > to find possible bottlenecks. Also, i am just simply curious.
>
> Without the source code, there is one way I can envision, but it will take
> a bit of work.  Havent tried it myself...Hack in your own wrapper routines
> into the IO system.
>
> First, study the IO system chapter in the vxWorks programmers guide and
> then study the man pages for iosLib, and iosDrvInstall().    That should
> give
> you most of what ye need know.
>
> dosFs2 installs itself into the vxWorks IO system during a call to
> dosFsLibInit()
> (note: dosFsInit() calls dosFsLibInit()).  Thw call is made usually from
the
> usrRoot() function in usrConfig.c or prjConfig.c for runtime images or
> bootConfig.c for bootrom images.  Some BSP call it in sysLib.c, to ensure
> the dosFs facilities are ready early...check everywhere.
>
> The function dosFsLibInit() calls iosDrvInstall().
> dosFsLibInit most likely currently looks something like:
>
> -------------------------------------------
> /* global */
> int dosFs2DrvNum = ERROR;
>
> /* dosFsLibInit */
> STATUS dosFsLibInit (int ignored);
>     {
>     if( dosFs2DrvNum != ERROR )
>      return OK;
>     dosFs2DrvNum = iosDrvInstall ((FUNCPTR) dosFsCreate, (FUNCPTR)
> dosFsDelete,
>              (FUNCPTR) dosFsOpen, (FUNCPTR) dosFsClose, (FUNCPTR)
dosFsRead,
>              (FUNCPTR) dosFsWrite, (FUNCPTR) dosFsIoctl);
>     return (dos2FsDrvNum == ERROR ? ERROR : OK);
>     }
> -------------------------------------------
>
> You would write your own wrapper functions around the
> dosFsXXX functions and replace the dosFsLibInit() routine
> with your own myDosFsLibInit() routine which would install
> your wrapper functions.
>
> -------------------------------------------
> int myDosFs2DrvNum = ERROR;
> /* */
> STATUS myDosFsLibInit (int ignored);
>     {
>     if( myDosFs2DrvNum != ERROR )
>      return OK;
>     myDosFs2DrvNum = iosDrvInstall (
>           (FUNCPTR) myDosFsCreate,
>           (FUNCPTR) myDosFsDelete,
>              (FUNCPTR) myDosFsOpen,
>              (FUNCPTR) myDosFsClose,
>              (FUNCPTR) myDosFsRead,
>              (FUNCPTR) myDosFsWrite,
>              (FUNCPTR) myDosFsIoctl
>            );
>     return (myDosFs2DrvNum == ERROR ? ERROR : OK);
>     }
>
> Your wrapper functions "myDosFs[Open,Close,Read, etc.])
> should first log the desired data, and then call the corresponding
> dosFsXXX() routine
> passing untainted arguments.
>
> Declare your routines like:
>
> STATUS myDosFsRead (DOS_FILE_DESC_ID pFd, char * pBuf, int maxBytes );
> STATUS myDosFsIoctl (DOS_FILE_DESC_ID pFd, int function, int arg );
> STATUS myDosFsClose  (DOS_FILE_DESC_ID pFd);
> STATUS myDosFsDelete (DOS_VOLUME_DESC_ID pVolDesc, char * pPath);
> DOS_FILE_DESC_ID myDosFsCreate   (DOS_VOLUME_DESC_ID pVolDesc, char
*pName,
> int flags)
> DOS_FILE_DESC_ID myDosFsOpen (DOS_VOLUME_DESC * pVolDesc, char * pPath,
int
> flags, int mode );
>
> You will need to avoid any call to the real dosFsLibInit() or dosFsInit()

> (which calls dosFsLibInit) in your RTOS images which do the logging.
> You will need to replace them with calls to myDosFsLibInit() in your code.
> Replace any dosFsInit() or dosFsLibInit() call with your myDosFsLibInit
> call.
> Look at the component file 10dosfs2.cdf, look at prjConfig.c, look at
> bootConfig.c,
> look at usrConfig.c, sysLib.c, etc.
>
> After myDosFsLibInit is called, it should be safe to start logging...
> Good luck.
>
> -j
>
> "Necessity is a measure of aim" - Fripp.
>
> >
> > Dimitris
> >
> >
> >
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: search for RS232 Source Code
Date: Thu, 25 Jul 2002 14:20:43 -0400
From: "Chris Lewis" <Christopher.F.Lewis.1@gsfc.nasa.gov>
Organization: NASA Goddard Space Flight Center (skates.gsfc.nasa.gov)
Message-ID: <ahpg2i$gp1$1@skates.gsfc.nasa.gov>
References: <e56229a1.0207220053.79b26e2@posting.google.com>

Even though PC's normally use 16x50 UARTs, the VxWorks code is written for
an earlier version called an 8250. 8250 code can be run on the 16x50 so
don't worry. Look for file i8250Serial.c or any file containing the string
8250. If you want a generic driver to port, I'd search the web for '16550'
I'm sure you'll find plenty. Good luck.

"guobao shen" <shengb@ssrc.ac.cn> wrote in message
news:e56229a1.0207220053.79b26e2@posting.google.com...
> Hello, every one,
> Where can I find the C source code of RS232 PC?
>
> Thanks and Regards,
> guobao shen

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

Newsgroups: comp.os.vxworks
Subject: Building emissary mibcomp on solaris
Date: 25 Jul 2002 12:17:16 -0700
From: fgleeson@gi.com (FrankG)
Organization: http://groups.google.com/
Message-ID: <acdb38ce.0207251117.73f94d19@posting.google.com>

Our project uses several deprecated output modes in the mib compiler.
Specifically -array -man and -man.h. The binary mibcomp that ships
with Envoy9.2 does not support these output modes.

I understand that if I want to compile these in I have to build it
myself. So I cd into the emissary subdirectory, edit config.cfg
specifying the following settings

;;; load system and compiler configurations 
loadconfig 'solaris' 
loadconfig 'solgcc' 

;;; set the top-level directory and the port directory SRCDIR
'/proj/hat/dns/mpsfw/fgwork/EpilougeInstalled/emissary'
equate SOFTPORT '$(SRCDIR)/port/solaris' 

Then at the shell I run makmak config.cfg this creates a makefile. If
I run make now it cannot find common/h/types.h.
If I assume it meant ../common/h/types.h and add a directory sym link
so that the types.h is found, it then complains about incompatible
from /usr/include/sys/types.h.
If I add the -nostdinc then other headers are not found. 

After spending half a day on this I am getting pretty fed up. Has
anyone out there successfully built this thing? Is there some key
information that I am missing?

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

Newsgroups: comp.os.vxworks
Subject: Re: burning app in flash without buying TFFS
Date: Thu, 25 Jul 2002 14:40:47 -0700
From: "Dan Gold" <gold@ensemble.com>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Message-ID: <ahprfg$3go$1@newsreader.mailgate.org>
References: <3D402894.AD31CC41@ll.mit.edu>
Sender: gold@ensemble.com

"Michael Reed" <mreed@ll.mit.edu> wrote in message
news:3D402894.AD31CC41@ll.mit.edu...
> Hello,
> I'd like to burn my "bootable application" into flash, but I can't buy
> TFFS to support a filesystem on the flash.

You don't have to have a file system on the flash to store your image.  Just
pick an address that your bootrom knows is the beginning of your flash
application.  I.e. if you have 4MB of flash at address 0xf0000000, just tell
your bootrom that the flash application starts at 0xf0000000.  When your
bootrom has to burn an image into flash, just tell it to start
erasing/programming/copying at the well-known address.

Some folks also pre-pend (or append) a header to the image that contains
information such as length, date, version, etc... So that your bootrom can
perform some validity checks on the flash image before loading and running
it.

>I'm assuming there's a way
> to burn it into there just as a S-record file, but what do folks then do
> about booting it and executing it:

You probably don't want to burn a real S-record file into flash, it will
take up too much space (since it's ascii) and cause you to process the
S-records every time you want to boot.  Most people have their bootrom
download the S-record file via serial or Ethernet port, process the
S-records into a binary image, and then burn the binary image into flash.
Or people generate a binary image on the host, compress it, and then
download it, and burn the compressed binary image into flash, to save space.

> 1) Is the code copied to from FLASH to RAM upon booting?  How?

Yes, it's done by the bootrom.  Look at target/config/all/bootConfig.c.
You'll have to make some changes.  Something (usually the boot line) tells
you to load an image from flash.  Then you know to copy from flash (at your
well-known address) into memory, and jump to RAM.  Your bootConfig.c should
also have a way of downloading the desired application (usually by serial or
network), processing it, and storing it in flash.  Your bootrom will
probably have some code in it like:
1. check the bootLine (after usrBootLineInit/Crack)
2. if boot line has the magic key in it (i.e. boot device is "flash" or
something like that)
3. copy from well-known address in flash to RAM (after validation of flash
image and uncompressing)
4. jump to RAM

> 2) Can the standard vxworks bootloader support this?

With a little help from you :-)   You'll need to add some functionality to
bootConfig.c.  I think they have an S-record processor function (along with
other formats such as compressed, intel-hex, etc...) you can call to process
them, but getting them down to the board is up to you.

  hth,
   Dan Gold   gold@ensemble.com

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

Newsgroups: comp.os.vxworks
Subject: Re: DosFs2 chkdsk error message
Date: Thu, 25 Jul 2002 22:22:37 GMT
From: "John Kevin Fabiani" <nospam@nospam.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <NS_%8.157$Vj.6946042@newssvr15.news.prodigy.com>
References: <4e264d23.0207250701.1abc362a@posting.google.com> <1027613917.872841@azores.network-i.net>

Not sure what your code does...

What arch are you on?  If it is T2.0.2 x86 or PPC
then upgrade to T2.2 (best choice), or get the uber
patch for SPR#79569 or 79795 from Windsurf.

There is a known problem that greater than 4GB
 FIOSEEK64 seeks will be truncated to 32bits,
so avoid that,. WindRiver has not patched it,
I forget the SPR.

Also, VxLongnames is the only directory entry type
that will support greater than 4gb files.  VFAT
supports up to 4GB files.

- -j
"Dimitrios Siganos" <nospam_dimitrios.siganos@newport-networks.com> wrote in
message news:1027613917.872841@azores.network-i.net...
> I don't know about the DISK_NOT_PRESENT problem but I think the chkdsk
> behaviour makes sense.
>
> I assume that your file grows beyond the 2**32 limit.
> If that is the case, then in the FAT table your file will be recorded as
> 2**32 bytes long, even though the real size is bigger - there is no
> workaround for this. So, when chkdsk checks the number of clusters
belonging
> to the file against the size entry in the FAT table it will report the
> inconsistency (and so it should).
>
> I am not completely sure about the above - I am simply putting forward my
> understanding of the situtaion.
>
> Hope it helps.
>
> Dimitris
>
> "Dan Cooke" <dcooke@orthstar.com> wrote in message
> news:4e264d23.0207250701.1abc362a@posting.google.com...
> > Background:
> > Using DosFs2 with all patches, (including SPR 78766 fixes regarding
> > S_ioLib_DISK_NOT_PRESENT errors in cbioLib).
> >
> > I am using the 64 bit FIOSEEK64 command to seek into the file
> > prior to writing.
> > On trying to write to a file, my app returns the following error
> > message:
> > "error seeking to end ptr in LOG.BIN file, errno = 0xC0006 end ptr =
> > 0x000000000000EECF
> >
> > errno = 0xC0006 is the S_ioLib_DISK_NOT_PRESENT error.
> >
> > chkdsk returns the following information:
> >
> > /sc0/  - disk check in progress ...
> > "/sc0/log/LOG.BIN" file larger then its chain of clusters Entry will
> > be deleted.
> > /sc0/  - Errors detected. To correct disk structure, please start
> > check disk with a permission to repair.
> >
> >   total # of clusters: 1,110,241
> >    # of free clusters: 377,795
> >     # of bad clusters: 0
> >      total free space: 2,951 Mb
> >      max contiguous free space:  3,094,470,656 bytes
> >    # of files: 13
> > # of folders: 3
> > total bytes in files: 495,665
> >      # of lost chains: 2
> >    total bytes in lost chains:  1,625 Mb
> >
> > When the error occured, there were no error messages displayed
> > regarding any of the cbioLib or dosFs routines.
> >
> > Any suggestions on where to go from here?
> >
> > Dan
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Pci card driver and tornado1.0,bsp compatibility
Date: Thu, 25 Jul 2002 22:32:31 GMT
From: "John Kevin Fabiani" <nospam@nospam.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <30%%8.161$cq.7319679@newssvr15.news.prodigy.com>
References: <f81c4277.0207250519.52ced5d6@posting.google.com>

"subbarayan" <vxnerd@rediffmail.com> wrote in message
news:f81c4277.0207250519.52ced5d6@posting.google.com...
> dear mentors,
> I am a nerd vxworks programmer and jus now entering into real time
> projects.My current project is to develop a driver for pci card
> plx9052 using vxworks.I would like to know if any of u have any
> experience in such type of project with tornado1.0?

Yes. I suggest you upgrade to Tornado 2.2.

> My application is
> working with a target which is x86 processor and which has a standard
> pc architecture and which has to be booted with a floppy to work as a
> standalone target which gets booted up from floppy and works.
> Also following are my doubts regarding my project:
> 1.Does tornado1.0 support pci cards?

You pc bios setups the PCI bus on a pc target.
VxWorks must honor the BIOS settings.
All these answers are contained within the BSP source code.

$WIND_BASE/target/config/pc386/*
$WIND_BASE/target/config/pc486/*
$WIND_BASE/target/config/pcPentium/*

Study the source.  Look at sysLib.c, sysHwInit(), sysHwInit2(),
and usrConfig.c, usrRoot().

> where will find the files which i
> have to use inorder to develop my driver for pci cards and which are
> those files?

You better read the BSP porting kits driver guidelines chapter,
perhaps consider a drivers class.

>
> 2.Where can i find the pci driver files suppiled by vxworks by default
> along with other configuration files for tornado1.0.

In the BSP and in target/src/drv/pci

> I am asking this
> becos we have some files like
> pciconfiglib.c,pciconfiglib.h,pciconfigshow.c,pciconfigshow.h in
> tornado2.0 version which are available by default for working with pci
> cards and accessing and developing custom drivers for them.

Right.  I think that the names maybe different int T1.

>
> 3.Due to time constraints i am unable to develop the driver from
> scratch.I tried to copy the above said files(pciconfig and show files)
> from tornado2.0 and tried to make use of them in tornado1.0 by
> compiling there .o file and linking them in my boot image.

Do you really need these new pci files to write a driver?  Is the
device a pci bridge chip?  Does the T1 bsp support any
existing pci devices that you could emulate that approach?

>
> But that produced a lot of error when i tried to make it.Mainly the
> error showed it was unable to recognise any of functions mentioned in
> these files.

That is unfortunate.  It must require back porting work then.

> First of all tell me whether its possible to use the above said files
> of tornado2 in tornado1?

Well, it should be possible.

- -j

> If possible then can anyone tell me how to use them so that i can
> configure it to work for my project.As i am nerd i will be thankful if
> anyone can tell me actual settings to be made in configuration files
> if any to be made inorder to make them work.So any one can tell me abt
> porting proceedure of tornado2.0 files with tornado1.0?I mean the
> pciconfig and pcishowfiles.
>
> 4.Is there a possiblity of BSP supplied with tornado2 to work with
> tornado1.0?
> is there compatibleness b/n these things?
> How to make bsp of tornado2 to work with tornado1 incase its
> possible.I would like to know configuration settings if its possible
> and any changes to be made in config settings.
>
> 5.Whats bundled and unbundled virtual memory support vxworks is
> talking abt?In
> my application i have to map the physical memory of card settings to
> the virtual memory.Does basic vxworks be able to do that or i need to
> procure the vxvmi package which has virtual memory support.When
> exactly will i require that vxvmi(vitual memory support package of
> vxworks) and what kind of applns require such a package and what kind
> of applns can be developed using it?
>
> thanks in advance to person replying me.
> any one with a soln can contact me at:vxnerd@rediffmail.com with a
> soln being mailed or jus reply me in this board itself.

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

Newsgroups: comp.os.vxworks
Subject: Re: Pci card driver and tornado1.0,bsp compatibility
Date: Thu, 25 Jul 2002 23:27:19 GMT
From: "John Kevin Fabiani" <nospam@nospam.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <rP%%8.134$9E7.6907032@newssvr16.news.prodigy.com>
References: <f81c4277.0207250519.52ced5d6@posting.google.com> <30%%8.161$cq.7319679@newssvr15.news.prodigy.com>

Opps, I missed thelast questions:

> > But that produced a lot of error when i tried to make it.Mainly the
> > error showed it was unable to recognise any of functions mentioned in
> > these files.

Its just c code, you should have the source...

> > If possible then can anyone tell me how to use them so that i can
> > configure it to work for my project.As i am nerd i will be thankful if
> > anyone can tell me actual settings to be made in configuration files
> > if any to be made inorder to make them work.So any one can tell me abt
> > porting proceedure of tornado2.0 files with tornado1.0?I mean the
> > pciconfig and pcishowfiles.

Mostly folk go from T1 to T2.  Better not to move back.
But I presume its possible with a bit of work.

> > 4.Is there a possiblity of BSP supplied with tornado2 to work with
> > tornado1.0?

Yes, but its uncommon, and would require back porting.

> > is there compatibleness b/n these things?
> > How to make bsp of tornado2 to work with tornado1 incase its
> > possible.I would like to know configuration settings if its possible
> > and any changes to be made in config settings.

There maybe information on Windsurf about porting a BSP from T1 to T2,
that may be useful in going the other direction.
> >
> > 5.Whats bundled and unbundled virtual memory support vxworks is
> > talking abt?In
> > my application i have to map the physical memory of card settings to
> > the virtual memory.Does basic vxworks be able to do that or i need to

I think vxWorks should be sufficent.  You need to look at sysPhysMemDesc[].

Cheers,
John

> > procure the vxvmi package which has virtual memory support.When
> > exactly will i require that vxvmi(vitual memory support package of
> > vxworks) and what kind of applns require such a package and what kind
> > of applns can be developed using it?
> >
> > thanks in advance to person replying me.
> > any one with a soln can contact me at:vxnerd@rediffmail.com with a
> > soln being mailed or jus reply me in this board itself.
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: Pci card driver and tornado1.0,bsp compatibility
Date: Thu, 25 Jul 2002 23:32:17 GMT
From: "John Kevin Fabiani" <nospam@nospam.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <5U%%8.139$CH7.7081015@newssvr16.news.prodigy.com>
References: <f81c4277.0207250519.52ced5d6@posting.google.com>

See below, this is old info that doesn't apply to T2.

- -j

"subbarayan" <vxnerd@rediffmail.com> wrote in message
news:f81c4277.0207250519.52ced5d6@posting.google.com...
> dear mentors,
> I am a nerd vxworks programmer and jus now entering into real time
> projects.My current project is to develop a driver for pci card
> plx9052 using vxworks.I would like to know if any of u have any
> experience in such type of project with tornado1.0?My application is
> working with a target which is x86 processor and which has a standard
> pc architecture and which has to be booted with a floppy to work as a
> standalone target which gets booted up from floppy and works.
> Also following are my doubts regarding my project:
> 1.Does tornado1.0 support pci cards?where will find the files which i
> have to use inorder to develop my driver for pci cards and which are
> those files?
>
> 2.Where can i find the pci driver files suppiled by vxworks by default
> along with other configuration files for tornado1.0.I am asking this
> becos we have some files like
> pciconfiglib.c,pciconfiglib.h,pciconfigshow.c,pciconfigshow.h in
> tornado2.0 version which are available by default for working with pci
> cards and accessing and developing custom drivers for them.
>
> 3.Due to time constraints i am unable to develop the driver from
> scratch.I tried to copy the above said files(pciconfig and show files)
> from tornado2.0 and tried to make use of them in tornado1.0 by
> compiling there .o file and linking them in my boot image.
>
> But that produced a lot of error when i tried to make it.Mainly the
> error showed it was unable to recognise any of functions mentioned in
> these files.
> First of all tell me whether its possible to use the above said files
> of tornado2 in tornado1?
> If possible then can anyone tell me how to use them so that i can
> configure it to work for my project.As i am nerd i will be thankful if
> anyone can tell me actual settings to be made in configuration files
> if any to be made inorder to make them work.So any one can tell me abt
> porting proceedure of tornado2.0 files with tornado1.0?I mean the
> pciconfig and pcishowfiles.
>
> 4.Is there a possiblity of BSP supplied with tornado2 to work with
> tornado1.0?
> is there compatibleness b/n these things?
> How to make bsp of tornado2 to work with tornado1 incase its
> possible.I would like to know configuration settings if its possible
> and any changes to be made in config settings.
>
> 5.Whats bundled and unbundled virtual memory support vxworks is
> talking abt?In
> my application i have to map the physical memory of card settings to
> the virtual memory.Does basic vxworks be able to do that or i need to
> procure the vxvmi package which has virtual memory support.When
> exactly will i require that vxvmi(vitual memory support package of
> vxworks) and what kind of applns require such a package and what kind
> of applns can be developed using it?
>
> thanks in advance to person replying me.
> any one with a soln can contact me at:vxnerd@rediffmail.com with a
> soln being mailed or jus reply me in this board itself.

TITLE: Integrating PCI device drivers into the pc386/pc486 BSP's.

                         SCOPE                   DISCOVERED ON
              HOST:  All
                     -------------------     -------------------
      ARCHITECTURE:  80x86
                     -------------------     -------------------
               BSP:  pc386, pc486 (1.1)
                     -------------------     -------------------
PRODUCT / REVISION:  Tornado 1.0.1 FCS / VxWorks 5.3.1 FCS
                     -------------------     -------------------

DESCRIPTION OF PROBLEM:

This summary describes a methodology for integrating PCI
device drivers into the pc386 and pc486 BSP's.  It covers
basic issues generic to integrating most PCI devices.

It is recommended that the reader be familiar with the PC-AT
Architecture and the PCI 2.1 Local Bus Specification (notably
Chapter six, "Configuration Space") before reading this summary.

RESOLUTION:

The pc486 and pc386 VxWorks BSP's provide a generic BSP for
PC-AT Style Intel 80386, 80486, and Pentium PC's.  This BSP
adheres to the PC-AT Architecture specification.

In such a system the PC's bootrom, ie the BIOS (Basic Input
Output System) POST (Power On Self Test) code will among its
many tasks, scan and configure (allocate resources) all the
devices on it's PCI bus.  This involves setting up the host
and legacy PCI bridges and PCI chipset, and assigning address
space and IRQ's to PCI devices, such that there are no PCI
conflicts.  This is done (per the PCI 2.1 spec) geographically
via PCI configuration space IO.

VxWorks boots after the BIOS has completed this (system
motherboard/BIOS specific) initialization.  Usually VxWorks
will boot from a floppy, hard disk, flash device, or a romCard.

The point to note is that the BIOS has already configured
and allocated resources to all devices on its PCI bus before
VxWorks is started.  Therefore it is reasonable and arguably
preferable that VxWorks device drivers respect the PC's BIOS
configuration settings, rather than using static or forced
settings or a conflict can and often will occur.

The sysFooPci.c example uses pci configuration space read
and write routines to determine the devices addressing and
IRQ assignments.  Then these values are used to correctly
configure the x86 MMU and connect the devices interrupts.

There are two important characteristics of PC-AT/x86 PCI devices
that make PCI device drivers different from traditional ISA BUS
PC-AT/x86 device drivers.

******************
* MEMORY MAPPING *
******************

The first characteristic is that PCI devices are relocatable
(i.e., not hardwired by device jumpers or eeprom settings)
in the system address space.

The BIOS (Basic Input/Output System) will locate each PCI
device (found geographically on the bus) and then each PCI
device is dynamically assigned address space by the system BIOS
code during the BIOS's POST (Power On Self Test) code.  This
happens before the PC boots an operating system.

PCI device drivers should use the mapping information stored
in the device's Configuration Space registers to determine
where the device was mapped by the system BIOS.

For x86 VxWorks, the developer need only be concerned with
mapping the devices 32 bit upper memory "memory mapped"
addresses into the MMU table, sysPhysMemDesc[], in sysLib.c.

In the example, included below, the code "seeds" the
sysPhysMemDesc[] with a "cookie" value defined for your device.
The cookie is FOO_PCI_BAR_COOKIE, and it is defined in pc.h
(see below additions to pc.h)

FOO_PCI_BAR_COOKIE is a place holder for the devices entry
in the MMU table.  This array placeholder is adjusted to the
real value read from PCI configuration space in the sysPhysMemTop()
routine, via a call to fooPciMmuFixup().  The fooPciMmuFixup()
routine will determine the memory mapped address range occupied
by the device by reading these values from PCI configuration
space, and then adjust the devices MMU entries appropriately.
This occurs (as it must) before the MMU is enabled (ie, before
any call to usrMmuInit())

The example maps in the first Base Address Register of one
device on the PCI bus, by searching for its PCI Vendor ID and
PCI Device ID, determining the BAR settings, and adjusting
the sysPhysMemDesc[] entry accordingly.   Study the comments
and code in the example.

Again, the basic method of mapping the MMU to enable access
to the area that the BIOS has assigned to the device involves:

1.) Seeding the sysPhysMemDesc[] (FOO_PCI_BAR_COOKIE)

2.) Calling fooPciMmuFixup() in sysPhysMemTop()

3.) fooPciMmuFixup() will determine the actual base address
    and the length requirement of the device via pci configuration
    space I/O.

4.) fooPciMmuFixup() will then adjust our entry in the
    system MMU table to ensure that the device is accessible
    after the MMU has started.

At this stage, fooPciMmuFixup() may write to the devices
command register to enable the device.

This functions well.  There are no conflicts provided that
there are not duplicate scans of devices.  All devices should
do this, using static mapping will lead to problems when the
image is used on another PC whose BIOS maps devices differently;
or when another PCI card is added to the system, chaning its mapping.
The behavior caused by bad mappings can be difficult to debug.
Developers should follow a similar method when implementing
their own devices, to help ensure a conflict free environment.

Support for multiple devices is possible and also for multiple
BAR's.  See the sysNetif.c BSP file in the pc386/pc486 BSP's
for an example of multiple device support and multiple BAR support.

Note: I/O Space addresses are already mapped into the MMU by default
in the pc386 and pc486 BSP's.  No I/O address need to be mapped.
No memory lower than 1MB need by mapped.

****************
** INTERRUPTS **
****************

The second important characteristic is that PCI interrupts
are sharable.

PCI device drivers should use the interrupt line (also
assigned during BIOS POST) assigned to the device by the BIOS.

PCI device drivers are required to support shared interrupts,
since it is very likely that a BIOS will connect more than
one device to a single interrupt line.

Still, the developer must decide if they want to support
shared interrupts.   I recommend that shared interrupts
be supported as often as possible, since many BIOS/Systems
will assign two PCI cards the same IRQ.

Below is an example of using both shared and not shared
interrupts.

Not Shared Interrupts
- ---------------------

This involved two steps:

1.) Reading the devices PCI configuration space to determine
    the IRQ assigned to the device by the BIOS.

2.) Doing an intConnect to that IRQ (added with a offset, see code.)

The routine sysFooPciIntSetup() provides an example of doing
just that, when USING_SHARED_INTS is undefined.  This is a problem
prone method, since the developer does not know that they will have
exclusive use of the PCI interrupt.   If another card is added
to the system, it will disable both devices if the BIOS assigns
it the same interrupt.

Using Shared Interrupts
- -----------------------

This involves three steps, and it presumes that every driver
in the system shall use an identical methodology to connect to
shared PCI interrupts.

Every driver using shared interrupts shall:

1.) Read the devices PCI configuration space to determine
    the IRQ assigned to the device by the BIOS.

2.) Make a call to sysSharedIrqConnect() (added to sysLib.c)
    passing the IRQ level.

3.) Make a call to pciIntConnect() passing their devices interrupt
    handler and 1 argument parameter.

The first item will obtain the IRQ assigned by the BIOS to the device.

The second item will connect a special linked list ISR handler
(pciInt) for the first driver calling the routine for a given
IRQ level, subsequent calls will detect that a connection to a
linked list handler has already been made for that IRQ level
and it will return.  This ensures every driver using a given
IRQ level will have one and only one linked list handler attach
to it.  All drivers should call this routine passing their level.

The third item will connect the device ISR to the linked list
of ISR's for that level.  Each interrupt handler must check
the device dependent interrupt status bit to determine the
source of the interrupt.  pciInt() simply executes all interrupt
handlers in the link list.  The first connected will be handled
first.  The handler should check the device to determine if it
generated the interrupt.  If so, it should handle the int and
return, if not it should exit allowing the next int on the list
a chance to run.

The below example provides an example of using this method.
The method is proven functional.  The delay of negotiating
the DLL is negligible in most systems.

Please refer to the code example below for further detail.

***********************************************************
**FILES: EXAMPLE sysFooPci.c and BSP files shown below:  **
***********************************************************

The sysPciInit.c file should reside in the BSP directory.
It is added via a "#include" in sysLib.c.  Study the example
sysLib.c below.   Also apply the changes to pc.h and config.h
shown below.

- -------- BEGIN: Example sysFooPci.c - Cut below this line -----
/* sysFooPci.c - example for adding pci driver support to pc486/pc386 */

/*
modification history
- --------------------
01a,20jan98,jkf  written.
*/

/*
 * This code is intended as a template example for
 * developers integrating PCI device drivers into the
 * VxWorks pc386 and pc486 BSP's.  For an implementation
 * example, please refer to the Intel EtherExpress Pro100B
 * PCI device driver (if_fei & sysNetif.c)
 *
 */

/* includes */

/*
 * No include here, since this is included via
 * "#include sysFooPci.c" in sysLib.c.
 *
 */

/* defines */

/*
 * The defines are in the BSP's pc.h
 */

/* typedefs */

/* static locals */

/* Globals */

/* Imports */

/* Forward Declarations */

LOCAL void sysFooPciMmuFixup /* This is called from sysPhysMemTop to */
    ( /* adjust the value of sysPhysMemDesc[] */
    void /* to the (BIOS assigned) values read */
    ); /* from PCI configuration space. */

LOCAL UINT32 pciBAR32SizeGet /* Get the size requested by a BAR */
    (
    int sysFooPciBus, /* PCI Bus number */
    int sysFooPciDevice, /* PCI Device number */
    int sysFooPciFunc, /* PCI Function number */
    short barOffset /* Which BAR to read */
    );

LOCAL void sysFooPciIntSetup /* Setup PCI Interrupt. */
    ( /*Support shared ints or not shared. */
    VOIDFUNCPTR fooPciIntHandler,
    int fooPciIntHandlerArg
    );

/***************************************************************************
**
*
* sysFooPciMmuFixup - get BAR and fixup MMU for assigned addresses.
*
* This routine will locate the PCI device in PCI configuration space
* by scanning every device, bus, and function for the specified
* vendor ID and device ID for the first matched instance
* and map its memory mapped addresses into the sysPhysMemDesc[]
* dynamically.  It is called from sysPhysMemTop(), sysLib.c
*
* This routine must be called before the device-dependent driver
* initialization is run.  This routine must be called before
* the to MMU initialization, usrMmuInit(), (usrConfig.c/boootConfig.c)
* in the sequence of vxWorks initialization.
*
* RETURNS: N/A
*
*/

LOCAL void sysFooPciMmuFixup /* This is called from sysPhysMemTop to */
    ( /* adjust the value of the sysPhysMemDesc */
    void /* to the (BIOS assigned) values read */
    ) /* from PCI configuration space. */

    {
    PHYS_MEM_DESC *pMmu; /* Pointer to the sysPhysMemDesc[] */

    int sysFooPciBus; /* for PCI Bus number */
    int sysFooPciDevice; /* for PCI Device number */
    int sysFooPciFunc; /* for PCI Function number */
    int ix;

    UINT32 sysFooPciBAR; /* for PCI BAR address */
    UINT32 sysFooPciBARSize; /* for PCI BAR size */

    /*
     * Locate our PCI device by searching configuration space
     * for the vendor ID and device ID defined for our device.
     * Note that the instance is set to the first instance
     * of the device.  This may be modified to support multiple
     * devices per the sysNetif.c implementation.  This is shown
     * for one device for simplicity.
     *
     */

    pciFindDevice (FOO_PCI_VENDOR_ID, FOO_PCI_DEVICE_ID,
FOO_PCI_DEVICE_INSTANCE,
                   &sysFooPciBus, &sysFooPciDevice, &sysFooPciFunc);

    /*
     * Determine our PCI devices Base Address Register
     * address setting from configuration space.
     * Adjust here for the BAR(s) you are interested
     * in reading and mapping.  Note that you should
     * not need to map any IO space BAR, nor should
     * a 64 bit bar be attempted.  Nor a lower memory BAR.
     * The lower memory and IO space are already mapped.
     * Only a 32bit range bar should be read here.
     * This call reads the devices first BAR at offset 0x10.
     * This may be adjusted, or duplicated for another BAR.
     * The read BAR values can also be held in a resource
     * structure and passed to the driver to be used as
     * a base offset.  This is true for all configuration
     * space assigned resources.  Again, see sysNetif.c
     *
     */

    pciConfigInLong (sysFooPciBus, sysFooPciDevice, sysFooPciFunc,
                 PCI_CFG_BASE_ADDRESS_0, &sysFooPciBAR);

    /*
     * Determine our PCI devices Base Address Register
     * size setting from configuration space.
     * This only works for a 32Bit range bar, else it
     * will return zero.
     *
     */

    sysFooPciBARSize = pciBAR32SizeGet (sysFooPciBus,
sysFooPciDevice,
sysFooPciFunc,
PCI_CFG_BASE_ADDRESS_0);

    /*
     * Mask off the lower bits, per the PCI 2.1 specification
     * for a Base Address Register.
     * The defines is from target/h/drv/pci/pciIomapLib.h
     *
     */

    sysFooPciBAR  &= PCI_MEMBASE_MASK;

    /*
     * Ensure that the BAR size or address is not zero.
     * If so, use BAILOUT values since things went south.
     * The BAILOUT values are used to prevent a MMU crash
     * if an error has occurred and we do not have valid
     * bar address and size parameters.  These should be
     * chosen for the least system obtrusive values.
     *
     */

    if ((sysFooPciBARSize == 0) || (sysFooPciBAR == 0))
{
sysFooPciBAR = FOO_PCI_BAR_BAILOUT_VALUE;
sysFooPciBARSize = FOO_PCI_BAR_SIZE_BAILOUT_VALUE;
}

    /*
     * Adjust the sysPhysMemDesc[].  This is really why
sysFooPciMmuFixup
     * must be called before usrMmuInit in the initialization sequence.
     * usrMmuInit is what uses the sysPhysMemDesc[] to configure the
MMU.
     *
     * We loop through the elements in the array, looking for our device
     * cookie, then alter the settings with what the BAR reported.  This
     * must not cause a bad MMU setting, or the system will become
unstable.
     * We rely on BIOS to give us an appropriate setting.
     *
     */

    for (ix = 0; ix < sysPhysMemDescNumEnt; ix++)
{

pMmu = &sysPhysMemDesc[ix];

if (pMmu->physicalAddr == (void *)FOO_PCI_BAR_COOKIE)
    {
    pMmu->physicalAddr = (void *)sysFooPciBAR;
    pMmu->virtualAddr  = (void *)sysFooPciBAR;
    pMmu->len  =  (UINT) sysFooPciBARSize;
    }
}

    /*
     * Finally, a typical command register and interrupt enable setting,
     * this is very device specific, so adjust to the supported settings
     * for your device and remove the #if FALSE.
     * The defines are in target/h/drv/pci/pciIomapLib.h
     */

#if FALSE
    sysFooPciIntSetup (fooPciIntHandler, 0); /* Setup int */

    pciConfigOutWord (sysFooPciBus, sysFooPciDevice, sysFooPciFunc,
PCI_CFG_COMMAND, PCI_CMD_IO_ENABLE |
PCI_CMD_MEM_ENABLE | PCI_CMD_MASTER_ENABLE);

#endif /* TRUE/FALSE */

    }

/***************************************************************************
*
*
* pciBAR32SizeGet - This routine safely reads a 32 bit BAR size
requirement.
*
* RETURNS: The size requirement of the BAR appropriate for the MMU,
*          or zero if the BAR is I/O, lower mem, or 64 bit.
*
*/

LOCAL UINT32 pciBAR32SizeGet
    (
    int sysFooPciBus, /* for PCI Bus number */
    int sysFooPciDevice, /* for PCI Device number */
    int sysFooPciFunc, /* for PCI Function number */
    short barOffset /* Which BAR to read */
    )
    {

    UINT32 origBAR; /* For original BAR address */
    UINT32 sizeBAR; /* For holding the size from the BAR */

    /*
     * Read Current BAR value and store it, in case sizing operation
     * corrupts the devices BAR.
     *
     */

    pciConfigInLong (sysFooPciBus, sysFooPciDevice, sysFooPciFunc,
     barOffset, &origBAR);

    /*
     * Ensure BAR is not I/O adrs. All IO is mapped by default.
     * Ensure the address is above 1MB, all lower memory is mapped
     * by default.   Ensure that we are not using a 64 bit BAR.
     * If any is true, return zero (invalid BAR size).
     * The defines are in target/h/drv/pci/pciIomapLib.h
     *
     */

    if (origBAR & (PCI_BASE_IO | PCI_BASE_BELOW_1M |
PCI_BASE_IN_64BITS))
{
return (0); /* Then invalid BAR */
}

    /* Write all ones (0xffffffff) to the BAR, so it will report size */

    pciConfigOutLong (sysFooPciBus, sysFooPciDevice, sysFooPciFunc,
      barOffset, 0xffffffff);

    /* Read BAR value immediately after writing all ones for size */

    pciConfigInLong (sysFooPciBus, sysFooPciDevice, sysFooPciFunc,
     barOffset, &sizeBAR);

    /* Restore the original BAR */

    pciConfigOutLong (sysFooPciBus, sysFooPciDevice, sysFooPciFunc,
      barOffset, origBAR);

    /*
     * sizeBAR will contain ones in the effective address bits.
     * This specifies the size requirement, and also ensures
     * alignment and power of 2.   This value needs to be masked
     * and then converted to UINT32 appropriate for MMU needs.
     *
     */

    sizeBAR = ~(sizeBAR & PCI_MEMBASE_MASK)+1;

    /* Return the BAR, ready for the MMU Length */
    return (sizeBAR);
    }

/***************************************************************************
**
*
* sysFooPciIntSetup - Example of connecting PCI device driver
*                     int handler to shared or not shared int's.
*
* This routine is an example of reading PCI configuration space
* to determine the IRQ assigned by the BIOS.  It should be called
* only once.
*
* The routine will scan the PCI for the vendor ID and device ID
* and get the IRQ level for the device.  Then if the developer
* is not using shared int's, it will perform intConnect on the
* irq level if the level is reasonable (0-15).   intConnect should
* only be called directly when not using shared ints.
*
* If the developer is using shared int's (#define USING_SHARED_INTS)
* Then this routine will first make a call to sysSharedIrqConnect(irq)
* passing it the IRQ level.  This will safely ensure a linked list of
* shared handlers exists for the IRQ level.   This function will then
* call pciIntConnect() to connect the int handler (passed to this
function)
* to the linked list of handlers for the IRQ level.  (Also passing one
* argument to the handler.)
*
* All devices wishing to share interrupts must perform a similar
* procedure.  sysSharedIrqConnect(irq) may be called as many times
* as needed for any level, but _only_ one call should be made to
* pciIntConnect per device.   If a driver wishes to unregister
* the handler, a call to pciIntDisconnect may be made to remove
* the handler from the linked list of handlers for the IRQ.
*
* pciIntConnect() adds the specified interrupt handler to a link
* list of handlers for that IRQ.  pciIntDisconnect() removes it from
* the link list.
*
* The Master interrupt handler (setup via sysSharedIrqConnect) is
pciInt().
* This executes the interrupt handlers in the link list for a PCI IRQ.
*
* Each interrupt handler must check the device dependent interrupt
status
* bit to determine the source of the interrupt, since pciInt simply
executes
* all interrupt handlers in the link list.  The first connected will be
* handled first.  The int should check the device to see if it generated
* the interrupt.  If so, it should handle the int and return, if not
* it should return allowing the next int on the list a chance.
*
* Again, the pciInt() is attached by intConnect() function via the
* sysSharedIrqConnect(irq) function, and in this way we are ensured
* only one IRQ DLL handler is attached to a IRQ.
*
* Developers will need to decide the style of interrupt handler
* (shared or not) that they need.   Also developer will need to
* supply the devices real interrupt handling routines to this function.
*
* Note that sysIntEnablePIC(irq) will enable an given IRQ (all shared)
* and sysIntDisablePIC(irq) will disable a given IRQ (all shared).
*
* One call needs to be made to sysIntEnablePIC(irq) per level
* when the devices are ready to handle int's.
*
* RETURNS: N/A
*/

LOCAL void sysFooPciIntSetup /* Setup PCI Interrupt.  Called from */
    ( /* sysHwInit2() Can support shared ints */
    VOIDFUNCPTR fooPciIntHandler,
    int fooPciIntHandlerArg
    )
    {

    char sysFooPciIrq; /* For PCI IRQ level in PIC */
    int sysFooPciBus; /* for PCI Bus number */
    int sysFooPciDevice; /* for PCI Device number */
    int sysFooPciFunc; /* for PCI Function number */

    /*
     * Locate our PCI device by searching configuration space
     * for the vendor ID and device ID defined for our device.
     * Note that the instance is set to the first instance
     * of the device.  This may be modified to support multiple
     * devices per the sysNetif.c implementation.  This is shown
     * for one device for simplicity.
     *
     */

    pciFindDevice (FOO_PCI_VENDOR_ID, FOO_PCI_DEVICE_ID,
FOO_PCI_DEVICE_INSTANCE,
                   &sysFooPciBus, &sysFooPciDevice, &sysFooPciFunc);

    /*
     * Determine our PCI devices IRQ level assigned to that BIOS.
     * from configuration space.
     *
     */

    pciConfigInByte (sysFooPciBus, sysFooPciDevice, sysFooPciFunc,
     PCI_CFG_DEV_INT_LINE, &sysFooPciIrq);

#ifndef USING_SHARED_INTS

    /*
     * Hard code the IRQ for the device.  Connect the handlers
     * we were passed.
     * No other device may share this IRQ using this method.
     *
     */

    if ((0 > sysFooPciIrq) || (sysFooPciIrq > 15))
{
return;  /* Don't connect bogus level */
}

    intConnect ((VOIDFUNCPTR *) INUM_TO_IVEC (sysFooPciIrq +
INT_NUM_IRQ0),
(VOIDFUNCPTR) fooPciIntHandler, fooPciIntHandlerArg);

#else /* #ifndef USING_SHARED_INTS */

    /*
     * Connect a shared int (linked list) handler for a IRQ level
     * All other devices that share this IRQ DLL handler must
     * via the same method.
     *
     * First make a call to sysSharedIrqConnect to ensure that
     * the dll of handlers has been installed.
     *
     */

    if (sysSharedIrqConnect(sysFooPciIrq) == ERROR)
return;

    /* Next, connect our handlers to the DLL of handlers for the IRQ */

    pciIntConnect ((VOIDFUNCPTR *)
(INUM_TO_IVEC (sysFooPciIrq + INT_NUM_IRQ0)),
                   fooPciIntHandler, (int) fooPciIntHandlerArg);

#endif /* #ifndef USING_SHARED_INTS */

    /*
     * That is all.  Note that someone needs
     * to call "sysIntEnablePIC (sysFooPciIrq);"
     * in order to enable the level.  This should be done
     * after all the handlers in the DLL have been connected.
     *
     */
    sysIntEnablePIC (sysFooPciIrq);
    }

#if FALSE  /* This routine should be added last in sysLib.c */
           /* It should not be here, but in sysLib.c */
           /* This is generic routine to support all shared ints */
           /* All driver sharing int's must call similar routine. */

/***************************************************************************
**
*
* sysSharedIrqConnect - connect a shared irq linked list hander.
*
* This routine is to help manage shared interrupts on the pc486 BSP.
*
* It is called by the developer before pciIntConnect() is called.
* It may called as many times as desired, but it will only connect
* (via intConnect) the link list handler (pciInt) for a given IRQ the
* first time it is called.  This ensures that only one linked list
handler
* per IRQ is installed.  Every developer should make a call to this
* routine before calling pciIntConnect.
*
* All devices needing to share an IRQ level, will first make a call
* to this routine passing their IRQ level.  (The IRQ level is read from
* pci configuration space, per sysFooPciIntSetup function.)

* Again, sysSharedIrqConnect will attach a linked list handler (pciInt)
* to the IRQ level the first time it is called, and simply return the
level
* on subsequent calls.  This ensures only one pciInt() linked list
handler
* is attached to the given IRQ level, and allows the developers to then
* safely call pciIntConnect's to attach their shared handler to the
linked
* list of handlers for the IRQ.
*
* The developer should only call sysSharedIrqConnect, and pciIntConnect.
* intConnect should never be called when using this shared mechanism.
* intConnect should only be called if you are not sharing interrupt.
*
* Shared PCI interrupts are supported by three functions from
* src/drv/pci/pciIomapLib.c: pciInt(), pciIntConnect(),
pciIntDisconnect().
*
* pciIntConnect() adds the specified interrupt handler to a link list of
* handlers for that IRQ.  pciIntDisconnect() removes it from the link
list.
*
* The Master interrupt handler, pciInt(), executes the interrupt
handlers
* in the link list for a PCI IRQ.    This routine installs and manages
the
* master handler.
*
* Each interrupt handler must check the device dependent interrupt
status
* bit to determine the source of the interrupt, since pciInt simply
executes
* all interrupt handlers in the link list.  The first connected will be
* handled first.  The int should check the device to see if it generated
* the interrupt.  If so, it should handle the int and return, if not
* it should return allowing the next int on the list a chance.
*
* This function may be moved to sysLib.c, since all devices that share
* the interrupt (ie: attach their handlers to the linked list via
* pciIntConnect) must call this routine first.
*
* Note that sysIntEnablePIC(irq) will enable an given IRQ (all shared)
* and sysIntDisablePIC(irq) will disable a given IRQ (all shared).
*
* RETURNS: IRQ connected or ERROR if out of range (0-15)
*
*/

char sysSharedIrqConnect /* Connect a IRQ linked list handler */
    ( /* This func should be moved to sysLib.c */
    char sysPciIrq /* IRQ level to connect to DLL of handlers */
    )
    {

    static int sysIrqBitfield;
    int key;

    /* if the passed IRQ number is not valid return -1*/

    if ((0 > sysPciIrq) || (sysPciIrq > 15))
{
return (ERROR);
}

    /*
     * I decided to protect this. Since sysIrqBitfield is exposed.
     * But most likely there will not be an issue since the driver
     * init calls will likely be serialized.
     *
     */

    taskLock ();
    key = intLock ();

    /* if the IRQ has been connected already, return IRQ) */

    if (sysIrqBitfield & (0x00000001 << sysPciIrq))
{
intUnlock (key);
taskUnlock ();
return (sysPciIrq);
}

    /*
     * Check the IRQ bitfield.
     * If the IRQ number has not been connected before,
     * connect the shared int handler and return IRQ.
     *
     */

    if (!(sysIrqBitfield & (0x00000001 << sysPciIrq)))
{
if (intConnect ((VOIDFUNCPTR *) INUM_TO_IVEC
(sysPciIrq + INT_NUM_IRQ0),
(VOIDFUNCPTR) pciInt,
(int) sysPciIrq) == ERROR)
    {
    intUnlock (key);
    taskUnlock ();
    return (ERROR);
    }

/* Set the IRQ in the static bitfield, only one connect per level */
        sysIrqBitfield = (sysIrqBitfield | (0x00000001 << sysPciIrq));
intUnlock (key);
taskUnlock ();
}

    return (sysPciIrq);
    }

#endif /* FALSE */

- -------- END: Example sysFooPci.c - Cut above this line -----

- ---- BEGIN: Example modified sysLib.c - Cut below this line --
/* sysLib.c - PC 386/486 system-dependent library */

/* Copyright 1984-1996 Wind River Systems, Inc. */
#include "copyright_wrs.h"

/*
modification history
- --------------------
02x,20jan98,jkf  Added sysSharedIrqConnect to support shared PCI ints.
                 and added defines for fooPciInit.c template example.
02w,10jul97,dds  added SCSI-2 support.
02v,24mar97,mas  added sysPhysMemTop(); removed NOMANUAL from
sysHwInit2();
                 parameterized the sysWarm* reboot variables (SPR 7806,
7850).
02u,03dec96,hdn  added sys557PciInit().
moved PCI initialization from sysHwInit2() to sysMemTop().
02t,22nov96,dat  added sysNetif.c, for all network support rtns.
(if_eex32.c
and if_i82557 were combined into sysNetif.c)
02s,20nov96,db   conditionally defined INCLUDE_EEX32 for man page(SPR
#6190).
02r,20nov96,hdn  added support for PRO100B.
02q,01nov96,hdn  added support for PCMCIA.
02p,21oct96,hdn  removed lptTimeout, added lptResources[].
02o,14oct96,dat  removed ref to i8253TimerTS.c, merged from windview102.
02n,24sep96,hdn  fixed by removing IMPORT ATA_RESOURCE ataResources[].
02m,03sep96,hdn  added the compression support.
changed constants to ROM_WARM_HIGH and ROM_WARM_LOW.
02l,09aug96,hdn  renamed INT_VEC_IRQ0 to INT_NUM_IRQ0.
02k,26jul96,hdn  shut off warning message: "implicit declaration of
function"
02j,18jul96,hdn  added support for INCLUDE_ATA.
02i,19jul96,wlf  doc: cleanup.
02h,25jun96,hdn  added support for TIMESTAMP timer.
02g,17jun96,hdn  initialized sysProcessor to NONE
02f,14jun96,hdn  added support for PCI bus.
02e,28may96,hdn  renamed PIT_INT_xxx to PIT0_INT_xxx.
02d,28sep95,dat  new BSP revision id
02c,27sep95,hdn  fixed a typo by changing IO_ADRS_ULTRA to IO_ADRS_ELC.
02b,14jun95,hdn  added a global variable sysCodeSelector.
added a local function sysIntVecSetEnt(), sysIntVecSetExit().
renamed pSysEndOfInt to intEOI.
moved global function declarations to sysLib.h.
02a,14jun95,myz  moved serial configuration to sysSerial.c
01z,07jan95,hdn  added an accurate memory size checking.
01y,31oct94,hdn  changed sysMemTop() to find out a memory size.
deleted sysGDT and used sysGdt in sysALib.s.
added the Intel EtherExpress32 driver.
deleted a conditional macro for INCLUDE_LPT.
swapped 1st and 2nd parameter of fdDevCreate().
imported globals to timeout IDE and LPT.
01x,12oct94,hdn  deleted sysBootType.
added a conditional macro for INCLUDE_LPT.
01w,29may94,hdn  moved sysCpuProbe() to cacheArchLib.c.
added open and read bootrom.dat in sysToMonitor().
01v,22apr94,hdn  moved sysVectorIRQ0 from i8259Pic.c.
made new globals sysFdBuf and sysFdBufSize.
supported the warm start from the EPROM.
01u,06apr94,hdn  added sysCpuProbe().
01t,17feb94,hdn  deleted memAddToPool() in sysHwInit2().
added a conditional statement in sysMemTop().
changed sysWarmType 0 to 1.
01s,03feb94,hdn  added MMU conditional macro for the limit in the GDT.
01r,29nov93,hdn  added sysBspRev () routine.
01q,22nov93,hdn  added xxdetach () routine for warm start.
01p,16nov93,hdn  added sysWarmType which controls warm start device.
01o,09nov93,hdn  added warm start (control X).
01n,08nov93,vin  added support pc console drivers.
01m,27oct93,hdn  added memAddToPool stuff to sysHwInit2().
01l,12oct93,hdn  changed PIT_INT_VEC_NUM to PIT_INT_VEC.
01k,05sep93,hdn  moved PIC related functions to intrCtl/i8259Pic.c.
added sysDelay ().
01j,12aug93,hdn  changed a global descriptor table sysGDT.
deleted sysGDTSet.
01i,11aug93,hdn  added a global sysVectorIRQ0.
01h,03aug93,hdn  changed a mapping IRQ to Vector Table.
01g,26jul93,hdn  added a memory descriptor table sysPhysMemDesc[].
01f,25jun93,hdn  changed sysToMonitor() to call sysReboot.
01e,24jun93,hdn  changed the initialization of PIC.
01d,17jun93,hdn  updated to 5.1.
01c,08apr93,jdi  doc cleanup.
01d,07apr93,hdn  renamed Compaq to PC.
01c,26mar93,hdn  added the global descriptor table, memAddToPool.
moved enabling A20 to romInit.s. added cacheClear for 486.
01b,18nov92,hdn  supported nested interrupt.
01a,15may92,hdn  written based on frc386 version.
*/

/*
DESCRIPTION
This library provides board-specific routines.  The chip drivers
included are:

    i8250Sio.c - Intel 8250 UART tty driver
    i8253Timer.c - Intel 8253 timer driver
    i8259Pic.c - Intel 8259 Programmable Interrupt Controller (PIC)
library
    nullNvRam.c - null NVRAM library
    nullVme.c - null VMEbus library
    if_eex32.c -
    pciTomapLib.c -
    pciTomapShow.c -

INCLUDE FILES: sysLib.h

SEE ALSO:
.pG "Configuration"
*/

/* includes */

#include "vxWorks.h"
#include "vme.h"
#include "memLib.h"
#include "sysLib.h"
#include "string.h"
#include "intLib.h"
#include "config.h"
#include "logLib.h"
#include "taskLib.h"
#include "vxLib.h"
#include "errnoLib.h"
#include "dosFsLib.h"
#include "stdio.h"
#include "cacheLib.h"
#include "private/vmLibP.h"
#include "arch/i86/mmuI86Lib.h"

/* To make man pages for network support routines */

#ifdef  DOC
#define INCLUDE_EEX32
#define INCLUDE_FEI
#endif

/* imports */

IMPORT char end;   /* end of system, created by ld */
IMPORT GDT sysGdt[];   /* the global descriptor table */
IMPORT VOIDFUNCPTR intEOI;   /* pointer to a function sysIntEOI() */
IMPORT VOIDFUNCPTR intVecSetEnt;  /* entry hook for intVecSet() */
IMPORT VOIDFUNCPTR intVecSetExit; /* exit  hook for intVecSet() */
IMPORT void elcdetach (int unit);
IMPORT void ultradetach (int unit);

/* forward declarations */

char *sysPhysMemTop (void);

/* globals */

PHYS_MEM_DESC sysPhysMemDesc [] =
    {
    /* adrs and length parameters must be page-aligned (multiples of
0x1000) */

    /* lower memory, 0-640K */
    {
    (void *) LOCAL_MEM_LOCAL_ADRS,
    (void *) LOCAL_MEM_LOCAL_ADRS,
    0xa0000,
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE |
VM_STATE_MASK_CACHEABLE,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE
    },

    /* All PC-AT I/O Space (640K-1024K) video ram, etc */
    {
    (void *) 0xa0000,
    (void *) 0xa0000,
    0x60000,
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE |
VM_STATE_MASK_CACHEABLE,
    VM_STATE_VALID      | VM_STATE_WRITABLE      |
VM_STATE_CACHEABLE_NOT
    },

    /* DRAM: Upper memory above 1 MB */
    {
    (void *) 0x100000,
    (void *) 0x100000,
    LOCAL_MEM_SIZE - 0x100000, /* This is changed in sysMemTop() */
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE |
VM_STATE_MASK_CACHEABLE,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE
    },

#ifdef  INCLUDE_PCI   /* If using the PCI BUS */

#ifdef  INCLUDE_FEI   /* If using the 82557 PCI driver */
    {
    (void *) FEI0_MEMBASE0,  /* Changed via sysMemTop/sysNetif.c */
    (void *) FEI0_MEMBASE0,
    FEI0_MEMSIZE0,
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE |
VM_STATE_MASK_CACHEABLE,
    VM_STATE_VALID      | VM_STATE_WRITABLE      |
VM_STATE_CACHEABLE_NOT
    },

    {
    (void *) FEI1_MEMBASE0,
    (void *) FEI1_MEMBASE0,
    FEI1_MEMSIZE0,
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE |
VM_STATE_MASK_CACHEABLE,
    VM_STATE_VALID      | VM_STATE_WRITABLE      |
VM_STATE_CACHEABLE_NOT
    },
    {
    (void *) FEI2_MEMBASE0,
    (void *) FEI2_MEMBASE0,
    FEI2_MEMSIZE0,
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE |
VM_STATE_MASK_CACHEABLE,
    VM_STATE_VALID      | VM_STATE_WRITABLE      |
VM_STATE_CACHEABLE_NOT
    },
    {
    (void *) FEI3_MEMBASE0,
    (void *) FEI3_MEMBASE0,
    FEI3_MEMSIZE0,
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE |
VM_STATE_MASK_CACHEABLE,
    VM_STATE_VALID      | VM_STATE_WRITABLE      |
VM_STATE_CACHEABLE_NOT
    },

#endif  /* INCLUDE_FEI */

#ifdef INCLUDE_FOO_PCI_DRIVER /* defined in config.h to include foo
driver */
    {
    (void *) FOO_PCI_BAR_COOKIE, /* placeholder cookie defined in pc.h
*/
    (void *) FOO_PCI_BAR_COOKIE, /* MUST BE CHANGED in sysMemTop,
fooPci.c */
    FOO_PCI_MEMSIZE,
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE |
VM_STATE_MASK_CACHEABLE,
    VM_STATE_VALID      | VM_STATE_WRITABLE      |
VM_STATE_CACHEABLE_NOT
    },
#endif /* INCLUDE_FOO_PCI_DRIVER */

#endif /* INCLUDE_PCI */

#if (DEBUG_NULL_ACCESS_OFFSET != 0x0)
    {
    (void *) LOCAL_MEM_LOCAL_ADRS - DEBUG_NULL_ACCESS_OFFSET,
    (void *) LOCAL_MEM_LOCAL_ADRS - DEBUG_NULL_ACCESS_OFFSET,
    DEBUG_NULL_ACCESS_OFFSET,
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE |
VM_STATE_MASK_CACHEABLE,
    VM_STATE_VALID_NOT  | VM_STATE_WRITABLE_NOT  |
VM_STATE_CACHEABLE_NOT
    },
#endif
    };

int sysPhysMemDescNumEnt = NELEMENTS (sysPhysMemDesc);

#ifdef INCLUDE_PC_CONSOLE

PC_CON_DEV pcConDv [N_VIRTUAL_CONSOLES] =
    {
    {{{{NULL}}}, FALSE, NULL, NULL},
    {{{{NULL}}}, FALSE, NULL, NULL}
    };

#endif /* INCLUDE_PC_CONSOLE */

#ifdef INCLUDE_FD

IMPORT STATUS usrFdConfig (int type, int drive, char *fileName);
FD_TYPE fdTypes[] =
    {
    {2880,18,2,80,2,0x1b,0x54,0x00,0x0c,0x0f,0x02,1,1,"1.44M"},
    {2400,15,2,80,2,0x24,0x50,0x00,0x0d,0x0f,0x02,1,1,"1.2M"},
    };
UINT    sysFdBuf     = FD_DMA_BUF_ADDR; /* floppy disk DMA buffer
address */
UINT    sysFdBufSize = FD_DMA_BUF_SIZE; /* floppy disk DMA buffer size
*/

#endif /* INCLUDE_FD */

#ifdef INCLUDE_IDE

IMPORT STATUS usrIdeConfig (int drive, char *fileName);
IDE_TYPE ideTypes[] =
    {
    {761, 8, 39, 512, 0xff}, /* drive 0 */
    {0,   0,  0,   0,    0} /* drive 1 */
    };

#endif /* INCLUDE_IDE */

#ifdef INCLUDE_ATA

IMPORT STATUS usrAtaConfig (int ctrl, int drive, char *fileName);
ATA_TYPE ataTypes[ATA_MAX_CTRLS][ATA_MAX_DRIVES] =
    {
    {{761, 8, 39, 512, 0xff}, /* ctrl 0 drive 0 */
     {761, 8, 39, 512, 0xff}}, /* ctrl 0 drive 1 */
    {{761, 8, 39, 512, 0xff}, /* ctrl 1 drive 0 */
     {761, 8, 39, 512, 0xff}}, /* ctrl 1 drive 1 */
    };

ATA_RESOURCE ataResources[ATA_MAX_CTRLS] =
    {
    {
     {
     5, 0,
     {ATA0_IO_START0, ATA0_IO_START1}, {ATA0_IO_STOP0, ATA0_IO_STOP1},
0,
     0, 0, 0, 0, 0
     },
     IDE_LOCAL, 2 /* Drives */, ATA0_INT_VEC, ATA0_INT_LVL, ATA0_CONFIG,
     ATA_SEM_TIMEOUT, ATA_WDG_TIMEOUT, 0, 0
    }, /* ctrl 0 */
    {
     {
     5, 0,
     {ATA1_IO_START0, ATA1_IO_START1}, {ATA1_IO_STOP0, ATA1_IO_STOP1},
0,
     0, 0, 0, 0, 0
     },
     IDE_LOCAL, 0 /* Drives */, ATA1_INT_VEC, ATA1_INT_LVL, ATA1_CONFIG,
     ATA_SEM_TIMEOUT, ATA_WDG_TIMEOUT, 0, 0
    } /* ctrl 1 */
    };

#endif /* INCLUDE_ATA */

#ifdef INCLUDE_LPT

LPT_RESOURCE lptResources[LPT_CHANNELS] =
    {
     {LPT0_BASE_ADRS, LPT_INT_VEC, LPT_INT_LVL, TRUE, 10000, 10000, 1,
1},
    };

#endif /* INCLUDE_LPT */

int sysBus = BUS; /* system bus type (VME_BUS, etc) */
int sysCpu = CPU; /* system cpu type (MC680x0) */
char *sysBootLine = BOOT_LINE_ADRS; /* address of boot line */
char *sysExcMsg = EXC_MSG_ADRS; /* catastrophic message area */
int sysProcNum; /* processor number of this cpu */
int sysFlags; /* boot flags */
char sysBootHost [BOOT_FIELD_LEN]; /* name of host from which we booted
*/
char sysBootFile [BOOT_FIELD_LEN]; /* name of file from which we booted
*/
UINT sysIntIdtType = 0x0000ef00; /* trap gate, 0x0000ee00=int gate */
UINT sysProcessor = NONE; /* 0=386, 1=486, 2=Pentium */
UINT sysCoprocessor = 0; /* 0=none, 1=387, 2=487 */
int sysWarmType = SYS_WARM_TYPE;      /* 0=BIOS, 1=Floppy, 2=Ata (Hd)
*/
int sysWarmFdDrive = SYS_WARM_FD_DRIVE;  /* 0 = drive a:, 1 = b: */
int sysWarmFdType = SYS_WARM_FD_TYPE;   /* 0 = 3.5" 2HD, 1 = 5.25" 2HD
*/
int sysWarmAtaCtrl = SYS_WARM_ATA_CTRL;  /* controller 0 or 1 */
int sysWarmAtaDrive = SYS_WARM_ATA_DRIVE; /* Hd drive 0 (c:), 1 (d:) */
UINT    sysVectorIRQ0 = INT_NUM_IRQ0; /* vector number for IRQ0 */
UINT sysStrayIntCount = 0; /* Stray interrupt count */
char *memTopPhys = NULL; /* top of memory */
GDT *pSysGdt = (GDT *)(LOCAL_MEM_LOCAL_ADRS + GDT_BASE_OFFSET);
int sysCodeSelector = CODE_SELECTOR;/* code selector for context switch
*/

/* locals */

LOCAL short *sysRomBase[] =
    {
    (short *)0xce000, (short *)0xce800, (short *)0xcf000, (short
*)0xcf800
    };
#define ROM_SIGNATURE_SIZE 16
LOCAL char sysRomSignature[ROM_SIGNATURE_SIZE] =
    {
    0x55,0xaa,0x01,0x90,0x90,0x90,0x90,0x90,
    0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90
    };

/* forward declarations */

LOCAL void sysStrayInt (void);
#if FALSE
LOCAL void sysIntVecSetEnt (FUNCPTR *vector, FUNCPTR function);
LOCAL void sysIntVecSetExit (FUNCPTR *vector, FUNCPTR function);
#endif /* FALSE */

#include "intrCtl/i8259Pic.c"
#include "mem/nullNvRam.c"
#include "vme/nullVme.c"
#include "sysSerial.c"

#include "timer/i8253Timer.c" /* includes timestamp driver */
#include "sysScsi.c"

#ifdef INCLUDE_PCI
#   include "pci/pciIomapLib.c"
#   ifdef INCLUDE_SHOW_ROUTINES
# include "pci/pciIomapShow.c"
#   endif /* INCLUDE_SHOW_ROUTINES */
#endif /* INCLUDE_PCI */

#ifdef INCLUDE_PCMCIA
#   include "pcmcia/pccardLib.c"
#   include "pcmcia/pccardShow.c"
#endif /* INCLUDE_PCMCIA */

#include "sysNetif.c" /* network driver support */

#ifdef INCLUDE_FOO_PCI_DRIVER /* fooPciInit.c example */
#include "sysFooPci.c"
#endif /* INCLUDE_FOO_PCI_DRIVER */

#ifdef INCLUDE_PCI
char sysSharedIrqConnect /* Connect a IRQ linked list handler */
    ( /* This func should be moved to sysLib.c */
    char sysPciIrq /* IRQ level to connect to DLL of handlers */
    );
#endif /* INCLUDE_PCI

/***************************************************************************
****
*
* sysModel - return the model name of the CPU board
*
* This routine returns the model name of the CPU board.
*
* RETURNS: A pointer to the string "PC 386" or "PC 486".
*/

char *sysModel (void)

    {
#if CPU==I80486
    return ("PC 486");
#else
    return ("PC 386");
#endif /* CPU==I80486 */
    }

/***************************************************************************
****
*
* sysBspRev - return the BSP version and revision number
*
* This routine returns a pointer to a BSP version and revision number,
for
* example, 1.1/0. BSP_REV is concatenated to BSP_VERSION and returned.
*
* RETURNS: A pointer to the BSP version/revision string.
*/

char * sysBspRev (void)
    {
    return (BSP_VERSION BSP_REV);
    }

/***************************************************************************
****
*
* sysHwInit - initialize the system hardware
*
* This routine initializes various features of the i386/i486 board.
* It is called from usrInit() in usrConfig.c.
*
* NOTE: This routine should not be called directly by the user
application.
*
* RETURNS: N/A
*/

void sysHwInit (void)

    {
#ifdef INCLUDE_IDE
    {
    IMPORT int ideWdSec;
    IMPORT int ideSemSec;

    ideWdSec = 5; /* 5 seconds to timeout initialize */
    ideSemSec = 5; /* 5 seconds to timeout each IDE command */
    }
#endif /* INCLUDE_IDE */

    /* initialize the PIC (Programmable Interrupt Controller) */

    sysIntInitPIC ();

    /* set the global function pointer to sysIntEOI() */

    intEOI = sysIntEOI;

#if FALSE
    intVecSetEnt = sysIntVecSetEnt;
    intVecSetExit = sysIntVecSetExit;
#endif /* FALSE */

    /* initializes the serial devices */

    sysSerialHwInit ();      /* initialize serial data structure */
    }
/***************************************************************************
****
*
* sysHwInit2 - additional system configuration and initialization
*
* This routine connects system interrupts and does any additional
* configuration necessary.
*
* RETURNS: N/A
*/

void sysHwInit2 (void)

    {

    /* connect sys clock interrupt and auxiliary clock interrupt*/

    (void)intConnect (INUM_TO_IVEC (PIT0_INT_VEC), sysClkInt, 0);
    (void)intConnect (INUM_TO_IVEC (RTC_INT_VEC), sysAuxClkInt, 0);

    /* connect serial interrupt */

    sysSerialHwInit2();

    /* connect stray interrupt XXX */

    (void)intConnect (INUM_TO_IVEC(LPT_INT_VEC), sysStrayInt, 0);

#ifdef INCLUDE_PC_CONSOLE

    /* connect keyboard Controller 8042 chip interrupt */

    (void) intConnect (INUM_TO_IVEC (KBD_INT_VEC), kbdIntr, 0);

#endif /* INCLUDE_PC_CONSOLE */

    }

/***************************************************************************
****
*
* sysPhysMemTop - get the address of the top of physical memory
*
* This routine returns the address of the first missing byte of memory,
* which indicates the top of physical memory.
*
* Memory probing begins at the end of BSS; at every 4K boundary a byte
* is read until it finds one that cannot be read, or 4MB have been
probed,
* whichever is first.
*
* RETURNS: The address of the top of physical memory.
*
* INTERNAL
* This routine is used by sysHwInit() to differentiate between models.
* It is highly questionable whether vxMemProbe() can be used during the
* initial stage of booting.
*/

char *sysPhysMemTop (void)
    {
#define TEST_PATTERN 0x12345678
#define SYS_PAGE_SIZE 0x10000
#define N_TIMES 3

    static char *memTop = NULL; /* top of memory */
    int delta = SYS_PAGE_SIZE;
    BOOL found = FALSE;
    PHYS_MEM_DESC *pMmu;
    int temp[N_TIMES];
    char gdtr[6];
    char *p;
    int ix;

    if (memTop != NULL)
return (memTop);

    /* if (&end) is in upper memory, we assume it is VxWorks image.
     * if not, it is Boot image */

    if ((int)&end > 0x100000)
        p = (char *)(((int)&end + (delta - 1)) & (~ (delta - 1)));
    else
p = (char *)0x100000;

    /* find out the actual size of the memory (max 1GB) */

    for (; (int)p < 0x40000000; p += delta)
{
for (ix=0; ix<N_TIMES; ix++) /* save and write */
    {
    temp[ix] = *((int *)p + ix);
    *((int *)p + ix) = TEST_PATTERN;
    }
cacheFlush (DATA_CACHE, p, 4 * sizeof(int)); /* for 486, Pentium */

if (*(int *)p != TEST_PATTERN) /* compare */
    {
    p -= delta;
    if (delta == VM_PAGE_SIZE)
{
                memTop = p;
        found = TRUE;
        break;
}
    delta = VM_PAGE_SIZE;
    }

for (ix=0; ix<N_TIMES; ix++) /* restore */
    *((int *)p + ix) = temp[ix];
}

    if (!found) /* we are fooled by write-back external cache */
        memTop = (char *)(LOCAL_MEM_LOCAL_ADRS + LOCAL_MEM_SIZE);

    /* copy the global descriptor table from RAM/ROM to RAM */

    bcopy ((char *)sysGdt, (char *)pSysGdt, GDT_ENTRIES * sizeof(GDT));
    *(short *)&gdtr[0] = GDT_ENTRIES * sizeof(GDT) - 1;
    *(int *)&gdtr[2] = (int)pSysGdt;

#ifdef INCLUDE_PCI
    pciIomapLibInit (PCI_MECHANISM_1, PCI_CONFIG_ADDR, PCI_CONFIG_DATA,
NONE);
#if FALSE
    pciIomapLibInit (PCI_MECHANISM_2, PCI_CONFIG_CSE,
PCI_CONFIG_FORWARD,
     PCI_CONFIG_BASE);
#endif /* FALSE */

    /* PCI-to-PCI bridge initialization should be done here, if it is.
     * It is not necessary for Intel 430HX PCISET, which splits
     * the extended memory area as follows:
     *   - Flash BIOS area from 4GByte to (4GB - 512KB)
     *   - DRAM memory from 1MB to a maximum of 512MB
     *   - PCI memory space from the top of DRAM to (4GB - 512KB)
     */

#ifdef INCLUDE_FEI
    sys557PciInit ();
#endif /* INCLUDE_FEI */

#ifdef INCLUDE_FOO_PCI_DRIVER
    sysFooPciMmuFixup();
#endif /* INCLUDE_FOO_PCI_DRIVER */

#else
    {
    GDT *pGdt = pSysGdt;
    int limit = (((int)memTop) / 0x1000 - 1);

    for (ix=1; ix < GDT_ENTRIES; ix++)
{
pGdt++;
pGdt->limit00 = limit & 0x0ffff;
pGdt->limit01 = ((limit & 0xf0000) >> 16) | (pGdt->limit01 & 0xf0);
}
    }
#endif /* INCLUDE_PCI */

    /* load the global descriptor table. set the MMU table */

    sysLoadGdt (gdtr);
    pMmu = &sysPhysMemDesc[2]; /* upper memory */
    pMmu->len = (UINT)memTop - (UINT)pMmu->physicalAddr;

    memTopPhys = memTop; /* set the real memory size */

    return (memTop);
    }

/***************************************************************************
****
*
* sysMemTop - get the address of the top of VxWorks memory
*
* This routine returns a pointer to the first byte of memory not
* controlled or used by VxWorks.
*
* The user can reserve memory space by defining the macro
USER_RESERVED_MEM
* in config.h.  This routine returns the address of the reserved memory
* area.  The value of USER_RESERVED_MEM is in bytes.
*
* RETURNS: The address of the top of VxWorks memory.
*/

char * sysMemTop (void)
    {
    static char * memTop = NULL;

    if (memTop == NULL)
        {
        memTop = sysPhysMemTop () - USER_RESERVED_MEM;

        if ((int)&end < 0x100000) /* this is for bootrom */
            memTop = (char *)0xa0000;
        }

    return memTop;
    }

/***************************************************************************
****
*
* sysToMonitor - transfer control to the ROM monitor
*
* This routine transfers control to the ROM monitor.  It is usually
called
* only by reboot() -- which services ^X -- and by bus errors at
interrupt
* level.  However, in some circumstances, the user may wish to introduce
a
* new <startType> to enable special boot ROM facilities.
*
* RETURNS: Does not return.
*/

STATUS sysToMonitor
    (
    int startType   /* passed to ROM to tell it how to boot */
    )
    {
    FUNCPTR pEntry;
    int ix;
    int iy;
    int iz;
    char buf[ROM_SIGNATURE_SIZE];
    short *pSrc;
    short *pDst;

    VM_ENABLE (FALSE); /* disbale MMU */

    /* decide a destination RAM address and the entry point */

    if ((int)&end > 0x100000)
{
pDst = (short *)RAM_HIGH_ADRS; /* copy it in lower mem */
pEntry = (FUNCPTR)(RAM_HIGH_ADRS + ROM_WARM_HIGH);
}
    else
{
pDst = (short *)RAM_LOW_ADRS; /* copy it in upper mem */
pEntry = (FUNCPTR)(RAM_LOW_ADRS + ROM_WARM_LOW);
}

    /* disable 16-bit memory access */

#ifdef  INCLUDE_ULTRA
    sysOutByte (IO_ADRS_ULTRA + 4, sysInByte (IO_ADRS_ULTRA + 4) |
0x80);
    sysOutByte (IO_ADRS_ULTRA + 5, sysInByte (IO_ADRS_ULTRA + 5) &
~0x80);
#endif  /* INCLUDE_ULTRA */

#ifdef  INCLUDE_ELC
    sysOutByte (IO_ADRS_ELC + 5, sysInByte (IO_ADRS_ELC + 5) & ~0x80);
#endif  /* INCLUDE_ELC */

    /* copy EPROM to RAM and jump, if there is a VxWorks EPROM */

    for (ix = 0; ix < NELEMENTS(sysRomBase); ix++)
{
bcopyBytes ((char *)sysRomBase[ix], buf, ROM_SIGNATURE_SIZE);
if (strncmp (sysRomSignature, buf, ROM_SIGNATURE_SIZE) == 0)
    {
    for (iy = 0; iy < 1024; iy++)
{
*sysRomBase[ix] = iy; /* map the moveable window */
pSrc = (short *)((int)sysRomBase[ix] + 0x200);
        for (iz = 0; iz < 256; iz++)
    *pDst++ = *pSrc++;
}
    (*pEntry) (startType);
    }
}

#ifdef INCLUDE_FD
    if (sysWarmType == 1)
{
IMPORT int dosFsDrvNum;

        fdDrv (FD_INT_VEC, FD_INT_LVL); /* initialize floppy disk */
if (dosFsDrvNum == ERROR)
        dosFsInit (NUM_DOSFS_FILES); /* initialize DOS-FS */

if (usrFdConfig (sysWarmFdDrive, sysWarmFdType, "/vxboot/") == ERROR)
    {
    printErr ("usrFdConfig failed.\n");
    return (ERROR);
    }
}
#endif /* INCLUDE_FD */

#ifdef INCLUDE_ATA
    if (sysWarmType == 2)
{
ATA_RESOURCE *pAtaResource  = &ataResources[sysWarmAtaCtrl];
IMPORT char *memTopPhys;
IMPORT int dosFsDrvNum;

        if (ataDrv (sysWarmAtaCtrl, pAtaResource->drives,
    pAtaResource->intVector, pAtaResource->intLevel,
    pAtaResource->configType, pAtaResource->semTimeout,
    pAtaResource->wdgTimeout) == ERROR) /* initialize ATA/IDE disk */
    {
    printErr ("Could not initialize.\n");
    return (ERROR);
    }
if (dosFsDrvNum == ERROR)
        dosFsInit (NUM_DOSFS_FILES);        /* initialize DOS-FS */

#if (CPU_FAMILY==I80X86)
#define ATA_MEM_DOSFS 0x200000
if ((int)&end < 0x100000)
    {
    if ((int)memTopPhys >= (0x200000 + ATA_MEM_DOSFS))
        memAddToPool ((char *)memTopPhys - ATA_MEM_DOSFS,
ATA_MEM_DOSFS);
    }
#endif /* (CPU_FAMILY==I80X86) */

if (usrAtaConfig (sysWarmAtaCtrl, sysWarmAtaDrive, "/vxboot/") ==
ERROR)
    {
    printErr ("usrAtaConfig failed.\n");
    return (ERROR);
    }
}
#endif /* INCLUDE_ATA */

#if (defined (INCLUDE_FD) || defined (INCLUDE_ATA))
    if ((sysWarmType == 1) || (sysWarmType == 2))
{
        int fd;

        if ((fd = open ("/vxboot/bootrom.sys", O_RDWR, 0644)) == ERROR)
    {
            if ((fd = open ("/vxboot/bootrom.dat", O_RDWR, 0644)) ==
ERROR)
{
                printErr ("Can't open \"%s\"\n", "bootrom.{sys,dat}");
        return (ERROR);
}
            if (read (fd, (char *)pDst, 0x20) == ERROR) /* a.out header
*/
        {
        printErr ("Error during read file: %x\n", errnoGet ());
        return (ERROR);
                }
    }

        /* read text and data, write them to the memory */

        if (read (fd, (char *)pDst, 0x98000) == ERROR)
    {
    printErr ("Error during read file: %x\n", errnoGet ());
    return (ERROR);
            }

        close (fd);

        (*pEntry) (startType);
}
#endif /* defined (INCLUDE_FD) || defined (INCLUDE_ATA) */

    intLock ();

#ifdef INCLUDE_ELC
    elcdetach (0);
#endif /* INCLUDE_ELC */

#ifdef INCLUDE_ULTRA
    ultradetach (0);
#endif /* INCLUDE_ULTRA */

    sysClkDisable ();

    sysWait ();
    sysOutByte (COMMAND_8042, 0xfe); /* assert SYSRESET */
    sysWait ();
    sysOutByte (COMMAND_8042, 0xff); /* NULL command */

    sysReboot (); /* crash the global descriptor table */

    return (OK); /* in case we ever continue from ROM monitor */
    }

/***************************************************************************
****
*
* sysIntDisable - disable a bus interrupt level
*
* This routine disables a specified bus interrupt level.
*
* RETURNS: ERROR, always.
*
* ARGSUSED0
*/

STATUS sysIntDisable
    (
    int intLevel /* interrupt level to disable */
    )
    {
    return (ERROR);
    }

/***************************************************************************
****
*
* sysIntEnable - enable a bus interrupt level
*
* This routine enables a specified bus interrupt level.
*
* RETURNS: ERROR, always.
*
* ARGSUSED0
*/

STATUS sysIntEnable
    (
    int intLevel /* interrupt level to enable */
    )
    {
    return (ERROR);
    }

/***************************************************************************
*
*
* sysProcNumGet - get the processor number
*
* This routine returns the processor number for the CPU board, which is
* set with sysProcNumSet().
*
* RETURNS: The processor number for the CPU board.
*
* SEE ALSO: sysProcNumSet()
*/

int sysProcNumGet (void)

    {
    return (sysProcNum);
    }

/***************************************************************************
*
*
* sysProcNumSet - set the processor number
*
* Set the processor number for the CPU board.  Processor numbers should
be
* unique on a single backplane.
*
* NOTE: By convention, only Processor 0 should dual-port its memory.
*
* RETURNS: N/A
*
* SEE ALSO: sysProcNumGet()
*/

void sysProcNumSet
    (
    int procNum /* processor number */
    )
    {
    sysProcNum = procNum;
    }

/***************************************************************************
****
*
* sysDelay - allow recovery time for port accesses
*
* This routine provides a brief delay used between accesses to the same
serial
* port chip.
*
* RETURNS: N/A
*/

void sysDelay (void)
    {
    char ix;

    ix = sysInByte (0x84); /* it takes 720ns */
    }

/***************************************************************************
****
*
* sysStrayInt - Do nothing for stray interrupts.
*
* Do nothing for stray interrupts.
*/

LOCAL void sysStrayInt (void)
    {
    sysStrayIntCount++;
    }

/***************************************************************************
**
*
* sysSharedIrqConnect - connect a shared irq linked list hander.
*
* This routine is to help manage shared interrupts on the pc486 BSP.
*
* It is called by the developer before pciIntConnect() is called.
* It may called as many times as desired, but it will only connect
* (via intConnect) the link list handler (pciInt) for a given IRQ the
* first time it is called.  This ensures that only one linked list
handler
* per IRQ is installed.  Every developer should make a call to this
* routine before calling pciIntConnect.
*
* All devices needing to share an IRQ level, will first make a call
* to this routine passing their IRQ level.  (The IRQ level is read from
* pci configuration space, per sysFooPciIntSetup function.)

* Again, sysSharedIrqConnect will attach a linked list handler (pciInt)
* to the IRQ level the first time it is called, and simply return the
level
* on subseqent calls.  This ensures only one pciInt() linked list
handler
* is attached to the given IRQ level, and allows the developers to then
* safely call pciIntConnect's to attach thier shared handler to the
linked
* list of handlers for the IRQ.
*
* The developer should only call sysSharedIrqConnect, and pciIntConnect.
* intConnect should never be called when using this shared mechanism.
* intConnect should only be called if you are not sharing interrupt.
*
* Shared PCI interrupts are supported by three functions from
* src/drv/pci/pciIomapLib.c: pciInt(), pciIntConnect(),
pciIntDisconnect().
*
* pciIntConnect() adds the specified interrupt handler to a link list of
* handlers for that IRQ.  pciIntDisconnect() removes it from the link
list.
*
* The Master interrupt handler, pciInt(), executes the interrupt
handlers
* in the link list for a PCI IRQ.    This routine installs and manages
the
* master handler.
*
* Each interrupt handler must check the device dependent interrupt
status
* bit to determine the source of the interrupt, since pciInt simply
executes
* all interrupt handlers in the link list.  The first connected will be
* handled first.  The int should check the device to see if it generated
* the interrupt.  If so, it should handle the int and return, if not
* it should return allowing the next int on the list a chance.
*
* This function may be moved to sysLib.c, since all devices that share
* the interrupt (ie: attach thier handlers to the linked list via
* pciIntConnect) must call this routine first.
*
* Note that sysIntEnablePIC(irq) will enable an given IRQ (all shared)
* and sysIntDisablePIC(irq) will disable a given IRQ (all shared).
*
* RETURNS: IRQ connected or ERROR if out of range (0-15)
*
*/

char sysSharedIrqConnect /* Connect a IRQ linked list handler */
    ( /* This func should be moved to sysLib.c */
    char sysPciIrq /* IRQ level to connect to DLL of handlers */
    )
    {

    static int sysIrqBitfield;
    int key;

    /* if the passed IRQ number is not valid return -1*/

    if ((0 > sysPciIrq) || (sysPciIrq > 15))
{
return (ERROR);
}

    /*
     * I decided to protect this. Since sysIrqBitfield is exposed.
     * But most likely there will not be an issue since the driver
     * init calls will likely be serialized.
     *
     */

    taskLock ();
    key = intLock ();

    /* if the IRQ has been connected already, return IRQ) */

    if (sysIrqBitfield & (0x00000001 << sysPciIrq))
{
intUnlock (key);
taskUnlock ();
return (sysPciIrq);
}

    /*
     * Check the IRQ bitfield.
     * If the IRQ number has not been connected before,
     * connect the shared int handler and return IRQ.
     *
     */

    if (!(sysIrqBitfield & (0x00000001 << sysPciIrq)))
{
if (intConnect ((VOIDFUNCPTR *) INUM_TO_IVEC
(sysPciIrq + INT_NUM_IRQ0),
(VOIDFUNCPTR) pciInt,
(int) sysPciIrq) == ERROR)
    {
    intUnlock (key);
    taskUnlock ();
    return (ERROR);
    }

/* Set the IRQ in the static bitfield to on */
        sysIrqBitfield = (sysIrqBitfield | (0x00000001 << sysPciIrq));
intUnlock (key);
taskUnlock ();
}

    return (sysPciIrq);
    }

#if FALSE

/***************************************************************************
****
*
* sysIntVecSetEnt - entry hook routine for intVecSet()
*
* This is an entry hook routine for intVecSet()
*
* RETURNS: N/A
*/

LOCAL void sysIntVecSetEnt
    (
    FUNCPTR *vector, /* vector offset       */
    FUNCPTR function /* address to place in vector */
    )

    {
    }

/***************************************************************************
****
*
* sysIntVecSetExit - exit hook routine for intVecSet()
*
* This is an exit hook routine for intVecSet()
*
* RETURNS: N/A
*/

LOCAL void sysIntVecSetExit
    (
    FUNCPTR *vector, /* vector offset       */
    FUNCPTR function /* address to place in vector */
    )

    {
    }

#endif /* FALSE */

- ---- END: Example modified sysLib.c - Cut above this line ----

- ------------ BEGIN: Add these line below to config.h ------------

#define INCLUDE_FOO_PCI_DRIVER  /* Example PCI device */

/*
 * These are for debugging accesses to NULL.  I left it in
 * here since it seems to be useful to driver writers.
 * It goes also with the sysLib.c from the same example.
 * Any access to NULL (uninitialised pointers)
 * will be trapped in a page fault when the define
 * DEBUG_NULL_ACCESS_OFFSET is set to VM_PAGE_SIZE
 * To turn this off, set DEBUG_NULL_ACCESS_OFFSET to 0x0
 * This should be used to debug only.
 */

/* set to VM_PAGE_SIZE for debugging NULL accesses */
#define DEBUG_NULL_ACCESS_OFFSET 0x0 /* For DEBUG, set to VM_PAGE_SIZE
*/
#define LOCAL_MEM_LOCAL_ADRS    (0x00000000 + DEBUG_NULL_ACCESS_OFFSET)
#define LOCAL_MEM_BUS_ADRS      0x00000000      /* fixed */
#define LOCAL_MEM_SIZE          0x00400000      /* 4MB w lower mem */

#if (DEBUG_NULL_ACCESS_OFFSET != 0x0)
#undef GDT_BASE_OFFSET
#undef SM_ANCHOR_OFFSET
#undef BOOT_LINE_OFFSET
#undef EXC_MSG_OFFSET
#define GDT_BASE_OFFSET         0x800 + DEBUG_NULL_ACCESS_OFFSET
#define SM_ANCHOR_OFFSET        0x1100 + DEBUG_NULL_ACCESS_OFFSET
#define BOOT_LINE_OFFSET        0x1200 + DEBUG_NULL_ACCESS_OFFSET
#define EXC_MSG_OFFSET          0x1300 + DEBUG_NULL_ACCESS_OFFSET
#endif

- ------------ END: Add these line above to config.h
- --------------------------

- ---- BEGIN: Add these lines below to pc.h ------

/* BEGIN Foo PCI example driver defines */
#define FOO_PCI_VENDOR_ID 0x8086 /* The PCI vendor ID, replace */
#define FOO_PCI_DEVICE_ID 0x1960 /* The PCI device ID, replace */
#define FOO_PCI_DEVICE_INSTANCE 0       /* Instance of device */
#define FOO_PCI_BAR_COOKIE ((FOO_PCI_VENDOR_ID << 16) |
FOO_PCI_DEVICE_ID)
#define FOO_PCI_MEMSIZE 0x00001000 /* 4KB for this device. */

#if FALSE  /* TRUE FOR SHARED INTS */
#define USING_SHARED_INTS
#endif /* FALSE */

/* In case things go south, use ok values for MMU */
#define FOO_PCI_BAR_BAILOUT_VALUE 0xfd000000 /* reasonable value */
#define FOO_PCI_BAR_SIZE_BAILOUT_VALUE 0x00001000 /* reasonable value */
/* END Foo PCI example driver defines */

- ---- END: Example add the above lines to pc.h ------

SPR / PATCH:

KEYWORDS:

Notes:

Related Documentation:

1.) "The PCI Local Bus Specification.  Revision 2.1"
    Available from:
    The PCI Special Interest Group
    PO BOX 14070, Portland OR, 97214
    (800) 433-5177 *US*
    (503) 797-4207 *International*
    (503) 234-6762 *Fax*

2.) "PCI Hardware & Software Architechure & Design"
    By:  Edward Solari & George Willse
    ISBN# 0-929392-32-9

3.) "The Indespensible PC Hardware Book" (3rd Ed.)
    By:  Hans-Peter Messmer
    ISBN# 0--201-87697-3

4.) The VxWorks porting guide.

5.) /target/src/drv/pci/pciIomapLib.c
    /target/h/drv/pci/pciIomapLib.h
    /target/config/pc486/sysNetif.c

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

Newsgroups: comp.os.vxworks
Subject: snprintf?
Date: 26 Jul 2002 00:25:59 GMT
From: Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com>
Message-ID: <slrnak15om.tbv.denis_newsREMOVE-TO-REPLY@concorde.cs.ucla.edu>

hello,

is anyone aware of snprintf() that works well on VxWorks?
(since it does not sound like the VxWorks library provides
this function)

thanks,

denis

- -- 
if you want to reply by mail, please tweak my
address in a reasonable way. sorry for the 
inconvenience.

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

Newsgroups: comp.os.vxworks
Subject: Re: burning app in flash without buying TFFS
Date: 25 Jul 2002 22:26:21 -0400
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <m2k7njfcmq.fsf@sympatico.ca>
References: <3D402894.AD31CC41@ll.mit.edu> <newscache$neetzg$mpn$1@lnews.actcom.co.il>
Sender: bpringle@DeadDuck

 Leonid> The stuff you need to do is pretty standard, and there are
 Leonid> quite a few ways around this. Here are a few hints:

 Leonid> If your Flash is socketted, you can put it in an EPROM
[snip]

 Leonid> If the Flash is soldered, then you would either need to
 Leonid> connect a JIG, and program the Flash while the board is
[snip]

Alternatively, you can use JTAG or BDM to put the processor in a debug
mode during production.  The boot sector can be used for "boot code".
This can allow the boot process to be interrupted to update the main
vxWorks code.

Some processors have special boot modes that allow you to download
code via a serial cable or other interface.  This can be used in the
same was as the JTAG and BDM.  This is sort of like the JIG solution
that Leonid mentioned.

A final solution is to provide some on-board circuits that will hold
the processor in reset and give you direct access to the flash, say
via a parallel port.  I doubt that anyone would have to do this now.
However, procedures like this were common circa 1994.

There was a seminar at the Embedded Systems Conference by someone at
Intel on this topic.  If you want you could google for it...

hth,
Bill Pringlemeir.

- -- 
Have you ever  wondered if it was possible to have  your car glow?  Or
seen your neighbor throw sparks at you two times in a row?  Or had six
telephones eat your fist?  You  will.  And the company that will bring
it to you: AT&T.

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

Newsgroups: comp.os.vxworks
Subject: compatibility of files between tornado2.0 and tornado1.0
Date: 25 Jul 2002 22:14:07 -0700
From: vxnerd@rediffmail.com (subbarayan)
Organization: http://groups.google.com/
Message-ID: <f81c4277.0207252114.45650@posting.google.com>

dear mentors,
1.Is it possible to make the configuration files of tornado2.0 to work
with tornado1.0?

2.I am particularly asking abt files like 
a) pciconfiglib.c,pciconfigshow.c,pciconfiglib.h,pciconfigshow.h and
other pci  oriented configuration files.
b)Incase its possible can any one tell me the complete proceedure of
how to make the above said files to work with tornado1.0.

3.Further what are equivalents of above said pci configuration files
of tornado2.0 in tornado1.0?

4.Where can I find the equivalent files i mean the location of files
in tornado1.0.

5.My application requires me develop a device driver for a pci card
and my target is standard pc architecture and x86 processor based and
the target has to be booted up with floppy.I have tornado1.0 only.

6.I tried to compile the above said pci files of tornado2 with my
tornado1.I was not able to make the files as it gives a lot of errors.

7.Is it due to incompatibility b/n versions or some problem with my
way of working?

8.Further main error is, its not able to recognise any of the
functions in above said pciconfiguration files of tornado2 in
tornado1.

9.Can any one point out where the error will be and a workaround for
removing it ?

10.Is the bsp downwards compatible?I mean using bsp of tornado2.0
inside tornado1.0?
if possible can any one tell the steps of it.How to make use of  bsp
of tornado2 to work  in tornado1?

Advanced thanks to the person replying me.
any one with a soln can mail me it to vxnerd@rediffmail.com or jus
reply in this board itself.

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

Newsgroups: comp.os.vxworks
Subject: Announcement : AdventNet Agent Tester Release 1.0 Beta
Date: 25 Jul 2002 23:18:40 -0700
From: valli@india.adventnet.com (Valli)
Organization: http://groups.google.com/
Message-ID: <9ebfdfff.0207252218.44f9932@posting.google.com>

Hi,

We would be pleased to introduce the availability of "AdventNet Agent
Tester Release 1.0 Beta" to you.

AdventNet Agent Tester is a software product designed to test the
Agents developed. Manually testing the Agents whether the
implementation is proper and whether it adheres to standards is time
consuming and would involve a lot of people in the process. This is
where the Agent Tester tool plays an important role. It automates the
testing process and completes the work within a short period of time!

SNMP Agent Tester in Agent Tester, is an automation tool designed to
test the implementations of Simple Network Management Protocol and
Management Information Base in an Agent. It is an easy-to-use
automated tool that can test the SNMP Agent Applications exhaustively.
 Testing can be done on all three versions of SNMP, namely SNMPv1,
SNMPv2c, and SNMPv3.

Some of the salient features supported by AdventNet Agent Tester are,

1. All versions of SNMP can be tested i.e., SNMPv1, SNMPv2c and
SNMPv3.
2. Since the product is developed in Java it is platform independent.
You can use the product in any Operating System. The product is also
bundled with JRE.
3. The tools packaged with the product are SNMP Agent Tester and Mib
Browser.
4. Various kinds of testing are supported by the tool namely :
Functionality, Behavior, Compliance, Trap, Stress, Performance and
Inopportune.
5. Agent Tester generates test cases for the MIB given as input. Test
cases are generated based on the nodes implemented in the MIB.
6. New test cases can be added by the user.
7. Functionality Testing includes all basic operations such as GET,
SET, GET-NEXT, GET-BULK.
8. Agent's Behavior can be recorded and tested.
9. Valid and Invalid Behavior of the Agent can also be tested.
10. Performance Metrics of the Agent can be availed within a short
period of time using SNMP Agent Tester.
11. Summary Reports are available after validation.
12. Validation Reports can be viewed from the UI itself.
13. HTML Report generation and Graphical Representation (Bar Chart and
Pie Chart) of Validation Reports are available.
14. Command line applications (Non-Graphical UI) are also available
for testing.

Thus Agent Tester product is intended for product developers and
product quality assurance engineers to improve the quality in their
product, as well as for end users to verify compliance prior to
deploying products on their network.

Kindly download the product from our website "www.adventnet.com" and
give it a try. Our products are free for evaluation and technical
support can be directly availed from the developers during the
evaluation period.

Thanks for Listening. 

Thanks and Regards,
Valli.
AdventNet Inc.,

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

Newsgroups: comp.os.vxworks
Subject: Re: burning app in flash without buying TFFS
Date: 26 Jul 2002 00:49:18 -0700
From: seasoblue2000@yahoo.com.cn (seasoblue)
Organization: http://groups.google.com/
Message-ID: <e82d8e83.0207252349.5039578b@posting.google.com>
References: <3D402894.AD31CC41@ll.mit.edu> <ahprfg$3go$1@newsreader.mailgate.org>

hi,
  I have done it by tftp through ethernet! you can do it very easily.
In bootConfig.c,after tftp condition is set up, and before it
downloads vxworks image, you can use tftpXfer() to login in ftp
server,then read the file which you want and just write it to the
flash memory .OK!
 Good luck!

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

Newsgroups: comp.os.vxworks
Subject: How can I delay 1ms or 100us when system clock uses 100 ticks per second?
Date: 26 Jul 2002 01:03:25 -0700
From: seasoblue2000@yahoo.com.cn (seasoblue)
Organization: http://groups.google.com/
Message-ID: <e82d8e83.0207260003.16c674d0@posting.google.com>

Hi,all
   My tasks ofen need to be delayed 1ms or 100us, but my system's
default tick is 100 per second(10ms/tick). I heard that the system
performance will reduces if I increase the ticks.  Is there a better
way to delay 1ms or 100us? I don't want to use the sentence: "for(i=0;
i<xxxxxx,i++);" to do that!

Best regards

 seasoblue

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

Newsgroups: comp.os.vxworks
Subject: signal handling
Date: 26 Jul 2002 02:20:41 -0700
From: anoop_nayak@sify.com (Anoop)
Organization: http://groups.google.com/
Message-ID: <18705aa8.0207260120.5cb9a15e@posting.google.com>

hi all,
        is there any problem in the SIGNAL faility in VxWorks ? coz it
is not working as it is said in manual. i am working on a simulator.
can anybody plz tell me whats going on....

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

Newsgroups: comp.os.vxworks
Subject: Re: compatibility of files between tornado2.0 and tornado1.0
Date: Fri, 26 Jul 2002 09:30:23 GMT
From: "John Kevin Fabiani" <nospam@nospam.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <PE809.401$S72.14999743@newssvr16.news.prodigy.com>
References: <f81c4277.0207252114.45650@posting.google.com>

"subbarayan" <vxnerd@rediffmail.com> wrote in message
news:f81c4277.0207252114.45650@posting.google.com...
> dear mentors,
> 1.Is it possible to make the configuration files of tornado2.0 to work
> with tornado1.0?

Yes.  It is possible, depending upon how you define configuration files.

> 2.I am particularly asking abt files like
> a) pciconfiglib.c,pciconfigshow.c,pciconfiglib.h,pciconfigshow.h and
> other pci  oriented configuration files.

In tornado 1.0, these are called:
/target/src/drv/pci/pciIomapLib.c
/target/h/drv/pci/pciIomapLib.h

In T2 pciConfigLib, replaced the T1 pciIomapLib.

> b)Incase its possible can any one tell me the complete proceedure of
> how to make the above said files to work with tornado1.0.

Scan through the files looking for the pciIomapLib API usage and
replace it with pciConfigLib API usage.

> 3.Further what are equivalents of above said pci configuration files
> of tornado2.0 in tornado1.0?

They are both provided in source.

> 4.Where can I find the equivalent files i mean the location of files
> in tornado1.0.

target/src/drv/pci
target/h/drv/pci
target/config/<bsptype>/*

>
> 5.My application requires me develop a device driver for a pci card
> and my target is standard pc architecture and x86 processor based and
> the target has to be booted up with floppy.I have tornado1.0 only.
>
> 6.I tried to compile the above said pci files of tornado2 with my
> tornado1.I was not able to make the files as it gives a lot of errors.

Likely, this would require porting the code.  Look at all the BSP code
for all the pciIomap* headers, source includes, and pciIomapLib routine
usage and replace it with the corresponding T2 pciConfigLib functionality.
This is some of the same work that WindRiver did when they released
Tornado2.

> 7.Is it due to incompatibility b/n versions or some problem with my
> way of working?
>
> 8.Further main error is, its not able to recognise any of the
> functions in above said pciconfiguration files of tornado2 in
> tornado1.

Right.  Better to paste the exact error and list the steps you have tried.

>
> 9.Can any one point out where the error will be and a workaround for
> removing it ?
>
> 10.Is the bsp downwards compatible?I mean using bsp of tornado2.0
> inside tornado1.0?

This is not windRivers intent.  The idea is to use T2 BSP's with T2.

> if possible can any one tell the steps of it.How to make use of  bsp
> of tornado2 to work  in tornado1?
>
> Advanced thanks to the person replying me.
> any one with a soln can mail me it to vxnerd@rediffmail.com or jus
> reply in this board itself.

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

Newsgroups: comp.os.vxworks
Subject: Re: How can I delay 1ms or 100us when system clock uses 100 ticks per 
 second?
Date: Fri, 26 Jul 2002 06:27:54 -0400
From: joe durusau <durusau@bellsouth.net>
Organization: WEBUSENET.com
Message-ID: <3D41242A.E27E5503@bellsouth.net>
References: <e82d8e83.0207260003.16c674d0@posting.google.com>

seasoblue wrote:

> Hi,all
>    My tasks ofen need to be delayed 1ms or 100us, but my system's
> default tick is 100 per second(10ms/tick). I heard that the system
> performance will reduces if I increase the ticks.  Is there a better
> way to delay 1ms or 100us? I don't want to use the sentence: "for(i=0;
> i<xxxxxx,i++);" to do that!
>
> Best regards
>
>  seasoblue

The most reliable is to use a hardware timer.  In some boards, there is
an auxilliary timer available.  You can approximate delays with loops in
code,
but htis is less reliable.  When you get down to 100 uS or so, you may
find
the exercise useless.  There are quite often delays caused by the OS that
can be that long.

Speaking only for myself,

Joe Durusau

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

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

From vxwexplo-errs@csg.lbl.gov  Fri Jul 26 06:41:25 2002
From: Vinay Vernekar <vinay.vernekar@wipro.com>
Date: Fri Jul 26 06:41:35 PDT 2002
Subject: VxWorks: Query on receiving multicast packets.

This is a multi-part message in MIME format.

------=_NextPartTM-000-91f0483c-d16a-4c41-aa6f-b396af20d030
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hi,
I have a VxWorks target booted with the ethernet card - NE2000. The
interface is identified as ene0. In a sample program I am able to join
the multicast group 224.0.0.2 over the interface, but I am not able to
receive multicast packets sent on the LAN.
I ran tcpdump on another machine connected to the same LAN and I am able
to receive the multicast packets, but not in my sample application.
Do I need to do something more? How can I capture all packets received
on my interface on VxWorks target?
Please help on the above.

Thanks in advance.
Regards
Vinay

------=_NextPartTM-000-91f0483c-d16a-4c41-aa6f-b396af20d030
Content-Type: text/plain;
	name="Wipro_Disclaimer.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="Wipro_Disclaimer.txt"

**************************Disclaimer************************************

Information contained in this E-MAIL being proprietary to Wipro Limited is 
'privileged' and 'confidential' and intended for use only by the individual
 or entity to which it is addressed. You are notified that any use, copying 
or dissemination of the information contained in the E-MAIL in any manner 
whatsoever is strictly prohibited.

***************************************************************************

------=_NextPartTM-000-91f0483c-d16a-4c41-aa6f-b396af20d030--

From vxwexplo-errs@csg.lbl.gov  Sat Jul 27 02:47:11 2002
From: "Pradeepa Venkatswamy" <pradeepa.venkatswamy@wipro.com>
Date: Sat Jul 27 02:47:14 PDT 2002
Subject: Codetest report and vxworks

This is a multi-part message in MIME format.

------=_NextPartTM-000-e748ebdb-9622-4725-b30f-aa5a56d78e45
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Hi,

	We are using codetest tool for detecting memory leaks in vxworks.We are
facing problem in identifying the leaks for 	common routines.ie Assume that
func() has malloc

		func(char *buf)//This function has been called from so many places.
		{
			if( buf != NULL )
			{
				buf = (char *)malloc(20);
			}
		}

	In my code the func has been called from so many places.The codetest report
is showing leak on the func().Since func() 	has been called from so many
places I couldn't able to identify where exactly the leak is.How to solve
this 	problem,does codetest has any options??

Regards,
V.Pradeepa.

------=_NextPartTM-000-e748ebdb-9622-4725-b30f-aa5a56d78e45
Content-Type: text/plain;
	name="Wipro_Disclaimer.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="Wipro_Disclaimer.txt"

**************************Disclaimer**************************************************    
 
 Information contained in this E-MAIL being proprietary to Wipro Limited is 'privileged' 
and 'confidential' and intended for use only by the individual or entity to which it is 
addressed. You are notified that any use, copying or dissemination of the information 
contained in the E-MAIL in any manner whatsoever is strictly prohibited.

****************************************************************************************

------=_NextPartTM-000-e748ebdb-9622-4725-b30f-aa5a56d78e45--

From vxwexplo-errs@csg.lbl.gov  Sat Jul 27 04:03:18 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sat Jul 27 04:03:21 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Sat Jul 27 04:03:14 PDT 2002

        Subject: Question about building boot ROM
        Subject: Re: SMC baud rate question
        Subject: Re: DosFs2 chkdsk error message
        Subject: Re: Pci card driver and tornado1.0,bsp compatibility
        Subject: MPC8265
        Subject: NTP for VxWorks
        Subject: Re: How can I delay 1ms or 100us when system clock uses 100 ticks per second?
        Subject: Re: burning app in flash without buying TFFS
        Subject: VxWorks Loader (target shell)
        Subject: Re: signal handling
        Subject: Re: NTP for VxWorks
        Subject: Re: NTP for VxWorks
        Subject: Re: NTP for VxWorks
        Subject: PPP and MS CHAP
        Subject: Re: NTP for VxWorks
        Subject: Re: NTP for VxWorks
        Subject: Re: How can I delay 1ms or 100us when system clock uses 100 ticks per second?
        Subject: OC vxWorks Users Group
        Subject: Re: Board Network Config
        Subject: Re: How can I delay 1ms or 100us when system clock uses 100 ticks per second?
        Subject: Zinc problems
        Subject: More questions about Zinc
        Subject: NE2000 driver
        Subject: the address issue of vxworks bsp for MPC 860
        Subject: Re: signal handling
        Subject: Re: compatibility of files between tornado2.0 and tornado1.0
        Subject: working with tornado1.0 and making driver for pcicard
        Subject: Compiling under Cygwin
        Subject: Re: compatibility of files between tornado2.0 and tornado1.0

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

Newsgroups: comp.os.vxworks
Subject: Question about building boot ROM
Date: 26 Jul 2002 04:19:03 -0700
From: lh_ghsz@hotmail.com (HuiLi)
Organization: http://groups.google.com/
Message-ID: <7592a342.0207260319.53f6873@posting.google.com>

When I build boot ROM by using Tornado 2.0.2, the error message emerge:
In file included from pc.h:60,
                 from config.h:103,
                 from E:\Tornado\target\config\all\bootInit.c:99:
E:\Tornado\target\h\drv\pci\pciConfigLib.h:55: pciClass.h: No such file or directory
make.exe: *** [bootInit.o] Error 0x1

I search the file "pciClass.h" in Tornado's directory,but there isn't this 
file.Why?

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

Newsgroups: comp.os.vxworks,comp.sys.powerpc.tech,comp.sys.powerpc.misc
Subject: Re: SMC baud rate question
Date: Fri, 26 Jul 2002 14:05:52 +0200
From: "Matevz Langus" <langus@iskratel.si>
Organization: ARNES
Message-ID: <ahrdv2$edf$1@planja.arnes.si>
References: <d83bb8e3.0207201058.7cb5ab6e@posting.google.com>

Hi!

SMC does not support autobaud in HW. You should do it with CPU, monitoring
RXDATA pin of RS232 i/f all the time. pretty time consuming job to do.

usually SMC requires more CPM power than SCC.

regards,
  Matevz Langus

"Raymond Yeung" <ryeung@earthlink.net> wrote in message
news:d83bb8e3.0207201058.7cb5ab6e@posting.google.com...
> I'm using MPC8260.  Does SMC support autobaud?  It seems from
> the manual only SCC supports it.
>
> A separate question here:  If I have a need to run higher speed
> data, would it be more CPM efficient to use SMC to implement a serial
> link for that purpose at its highest baud rate?  Or would it be
> better to implement 10BaseT on SCC?  I've the following requirements:
>
> + As far as speed is concerned, the highest serial link speed would
>   suffice; I don't really need 10Mbps.
> + I'm more concerned about CPM loading.  WHich implementation would be
>   more demanding on CPM?
>
> Thanks,
> Raymond

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

Newsgroups: comp.os.vxworks
Subject: Re: DosFs2 chkdsk error message
Date: 26 Jul 2002 05:42:34 -0700
From: dcooke@orthstar.com (Dan Cooke)
Organization: http://groups.google.com/
Message-ID: <4e264d23.0207260442.16b52975@posting.google.com>
References: <4e264d23.0207250701.1abc362a@posting.google.com> <1027613917.872841@azores.network-i.net> <NS_%8.157$Vj.6946042@newssvr15.news.prodigy.com>

> What arch are you on?  If it is T2.0.2 x86 or PPC
> then upgrade to T2.2 (best choice), or get the uber
> patch for SPR#79569 or 79795 from Windsurf.
PPC604 with T2.0.2.  

> 
> There is a known problem that greater than 4GB
>  FIOSEEK64 seeks will be truncated to 32bits,
> so avoid that,. WindRiver has not patched it,
> I forget the SPR.
I am not aware of this problem... anyone else know
more specifics?  The file I am writing to is a circular buffer
that can grow to 6GB before wrapping back to the beginning.

> 
> Also, VxLongnames is the only directory entry type
> that will support greater than 4gb files.  VFAT
> supports up to 4GB files.
Yes, I have setup DosFs with the VxLongnames option.

Dan

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

Newsgroups: comp.os.vxworks
Subject: Re: Pci card driver and tornado1.0,bsp compatibility
Date: 26 Jul 2002 05:53:36 -0700
From: vxnerd@rediffmail.com (subbarayan)
Organization: http://groups.google.com/
Message-ID: <f81c4277.0207260453.5b41704e@posting.google.com>
References: <f81c4277.0207250519.52ced5d6@posting.google.com> <5U%%8.139$CH7.7081015@newssvr16.news.prodigy.com>

dear Mr.Kevin,
Thanks for ur reply.Really happy and it was useful to me.But I am
unable to find the file called sysPciInit.c mentioned in ur sample
code u mentioned in my machine and kindly tell me where I can get that
file and plz send me the file if possible to me as attachment along
with any dependency files for that sysPciInit.c file to the following
emailid:
vxnerd@rediffmail.com
I will be really greatful if u could give me the above said file and
help me.
Regards,
s.subbarayan

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

Newsgroups: comp.os.vxworks
Subject: MPC8265
Date: Fri, 26 Jul 2002 15:15:36 +0200
From: "Matevz Langus" <langus@iskratel.si>
Organization: ARNES
Message-ID: <ahri1q$h7g$1@planja.arnes.si>

Hello!

Has anyone succeded to port VxWorks to Motorola MPC8265?

best regards,
  Matevz Langus

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

Newsgroups: comp.os.vxworks
Subject: NTP for VxWorks
Date: Fri, 26 Jul 2002 11:01:23 -0400
From: "Dan White" <dwhite@novonics.com>
Organization: MindSpring Enterprises
Message-ID: <ahro7s$3oq$1@slb2.atl.mindspring.net>

Does anyone know where to find a version of NTP ported to VxWorks?  Any info
appreciated.

Dan

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

Newsgroups: comp.os.vxworks
Subject: Re: How can I delay 1ms or 100us when system clock uses 100 ticks per second?
Date: Fri, 26 Jul 2002 17:53:04 +0200
From: "Rene Straub" <_remove_rene.straub@yetnet.ch>
Organization: Swisscom IP+ (post doesn't reflect views of Swisscom)
Message-ID: <ahrr8o$frn$1@rex.ip-plus.net>
References: <e82d8e83.0207260003.16c674d0@posting.google.com>

On PPC systems read the decrementer until the desired time has elapsed.
Of course this is a busy loop, but when it comes down to mS and uS thats
a reasonable way.
I found a function called sysDelay() which does this to delay 1mS (the
function is in sysLib.c on my target). I successfully used the same approach
for uS delays.

Yours
- - Rene

"seasoblue" <seasoblue2000@yahoo.com.cn> wrote in message
news:e82d8e83.0207260003.16c674d0@posting.google.com...
> Hi,all
>    My tasks ofen need to be delayed 1ms or 100us, but my system's
> default tick is 100 per second(10ms/tick). I heard that the system
> performance will reduces if I increase the ticks.  Is there a better
> way to delay 1ms or 100us? I don't want to use the sentence: "for(i=0;
> i<xxxxxx,i++);" to do that!
>
> Best regards
>
>  seasoblue

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

Newsgroups: comp.os.vxworks
Subject: Re: burning app in flash without buying TFFS
Date: Fri, 26 Jul 2002 08:49:05 -0700
From: "Michael R. Kesti" <mkesti@gv.net>
Organization: MK Associates
Message-ID: <3D416F71.68BC569F@gv.net>
References: <3D402894.AD31CC41@ll.mit.edu> <ahprfg$3go$1@newsreader.mailgate.org>
Reply-To: mkesti@gv.net

Dan Gold wrote:
 
>"Michael Reed" <mreed@ll.mit.edu> wrote in message
>news:3D402894.AD31CC41@ll.mit.edu...
>> Hello,
>> I'd like to burn my "bootable application" into flash, but I can't buy
>> TFFS to support a filesystem on the flash.
>
>You don't have to have a file system on the flash to store your image.

<snip>

It's true that you don't have to employ a file system to store and use a
bootable image, but there are advantages to doing so and it's not very
difficult.  One can create a flash file system by writing a library of
flash manipulation functions and using the RAM disk driver WRS supplies
as a model for a flash disk driver.  The resulting FFS is simplistic in
that it provides no wear leveling and typically provides a relatively
small number of relatively large sectors, but is very useful, none the
less.

Begin with the flash library which is probably the most difficult portion
of the project.  This library should provide functions to erase the entire
flash memory subsystem, erase specific sectors, and write aribtrary length
arrays of data to arbitrary locations.

Next make copies of ramDrv.* files renamed to ffsDrv.*.  Modify the
ffsDrv.c block write function to first erase the block(s) using your
flash library's sector erase function and replace the call to bcopy()
that writes sectors to instead call your flash libary's write function.
Also modify the ioctl function so that the FIODISKFORMAT function
uses your flash libary's erase-all function.

Finally, find all files under $(WIND_BASE)/target that contain references
to "tffs" and either add your neww ffs's functionality to them.  In the
case of usrTffs.c, make and modify a copy appropriately.

The result is a bootable file system that, while simplistic, costs you
only the time to develop.  Give it a try!

- -- 
========================================================================
          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: VxWorks Loader (target shell)
Date: Fri, 26 Jul 2002 18:04:00 +0200
From: "Rene Straub" <_remove_rene.straub@yetnet.ch>
Organization: Swisscom IP+ (post doesn't reflect views of Swisscom)
Message-ID: <ahrrt8$fuj$1@rex.ip-plus.net>

I am observing an interesting behaviour of the loader used
in Tornado (target shell). I wonder if anyone has an idea what's
going on here.

I added additional memory to a PPC system (more than 32 MB)
which (of course) lead to the infameous "24 bit relocation problem".
I worked around this in that I don't tell VxWorks about the
additional memory and later mount it in my application (I can't
use -mlongcall).

Now comes the strange thing. Another guy can load his application
without any problem to a PPC based board with 64 MB of RAM.
I can download his .out file on my system without a problem.
Loading my out file in his system fails with the relocation problem.
So it seems as if there is something in the out file (ELF format)
that tells the loader to load the file to a memory address below
32 MB (so that normals PPC branches work). Unfortunately I haven't
found out what the difference in our out files is.

Does anyone know how one can create an out file that is loaded
to low memory addresses (<32 MB) ? Is the whole thing I am
observing here just pure accident ?

Yours
- - Rene

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

Newsgroups: comp.os.vxworks
Subject: Re: signal handling
Date: 26 Jul 2002 09:10:07 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207260810.2859f2b5@posting.google.com>
References: <18705aa8.0207260120.5cb9a15e@posting.google.com>

Hello,

At a guess, I'd say you're doing something wrong, but since you
declined to tell us anything at all about what it was you were doing I
don't see what help you expected to get from here.

Please remember that the people posting here are not paid to do so. Be
considerate of that and post as much information about your problem as
possible (even example code snippets where they are short). That way
we might be able to get you an answer.

HTH,

John...

anoop_nayak@sify.com (Anoop) wrote in message news:<18705aa8.0207260120.5cb9a15e@posting.google.com>...
> hi all,
>         is there any problem in the SIGNAL faility in VxWorks ? coz it
> is not working as it is said in manual. i am working on a simulator.
> can anybody plz tell me whats going on....

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

Newsgroups: comp.os.vxworks
Subject: Re: NTP for VxWorks
Date: Fri, 26 Jul 2002 09:46:33 -0700
From: "Behzad Abareshi" <abareshi@yahoo.com>
Organization: NOAO
Message-ID: <ahruld$2ug$1@noao.edu>
References: <ahro7s$3oq$1@slb2.atl.mindspring.net>

> Does anyone know where to find a version of NTP ported to VxWorks?

I had to do it myself; the original instructions that come with the NTP
source to do this didn't work for me, so here is what I did:
    http://chard/mpg/ntp/ntp.to.vxworks.html

Hope this helps; this was done quite a while ago, so you may wanna check the
new NTP source code first.

By the way, if you are using vxWorks 5.4 or newer, it comes with SNTP, which
is good enough.

Behzad.

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

Newsgroups: comp.os.vxworks
Subject: Re: NTP for VxWorks
Date: Fri, 26 Jul 2002 18:15:52 GMT
From: "H. E. Taylor" <het@despam.autobahn.mb.ca>
Organization: MTS Internet
Message-ID: <3D41AC4B.30BB@despam.autobahn.mb.ca>
References: <ahro7s$3oq$1@slb2.atl.mindspring.net> <ahruld$2ug$1@noao.edu>

In article <ahruld$2ug$1@noao.edu>,
<abareshi@yahoo.com> Behzad Abareshi wrote:
>[no attribution] 
>>
>> Does anyone know where to find a version of NTP ported to VxWorks?
> 
> I had to do it myself; the original instructions that come with the NTP
> source to do this didn't work for me, so here is what I did:
>     http://chard/mpg/ntp/ntp.to.vxworks.html
> 

	That's a 404.

- -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: NTP for VxWorks
Date: Fri, 26 Jul 2002 15:06:26 -0400
From: "Dan White" <dwhite@novonics.com>
Organization: MindSpring Enterprises
Message-ID: <ahs6j8$4u6$1@slb2.atl.mindspring.net>
References: <ahro7s$3oq$1@slb2.atl.mindspring.net> <ahruld$2ug$1@noao.edu>

Thank you very much for your reply.  I am looking forward to reviewing the
work you spoke of, but the link you supplied seems invalid (perhaps a typing
error).  If it is my mistake, I apologize.  But I cannot access
'http://chard/mpg/ntp/ntp.to.vxworks.html'.

Once again thank you very much,
Dan White

"Behzad Abareshi" <abareshi@yahoo.com> wrote in message
news:ahruld$2ug$1@noao.edu...
> > Does anyone know where to find a version of NTP ported to VxWorks?
>
> I had to do it myself; the original instructions that come with the NTP
> source to do this didn't work for me, so here is what I did:
>     http://chard/mpg/ntp/ntp.to.vxworks.html
>
> Hope this helps; this was done quite a while ago, so you may wanna check
the
> new NTP source code first.
>
> By the way, if you are using vxWorks 5.4 or newer, it comes with SNTP,
which
> is good enough.
>
> Behzad.
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: PPP and MS CHAP
Date: Fri, 26 Jul 2002 19:08:55 GMT
From: "Klas Englund" <klas@fekab.se>
Organization: Telia Internet
Message-ID: <b7h09.1073$HY3.293940@newsc.telia.net>

I want a box running an VxWorks application to be able to call a MS network
using PPP as transport and MS CHAP as authentication protocol. Also it must
be possible for a host on the network to call the VxWorks box and log into
it using the same protocols. However MS CHAP is not compatible to CHAP as
described by RFC.

Is there any one out there that have done this and that are willing to share
how to do it with me ?

Best regards,
Klas

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

Newsgroups: comp.os.vxworks
Subject: Re: NTP for VxWorks
Date: Fri, 26 Jul 2002 11:59:55 -0700
From: "Behzad Abareshi" <abareshi@yahoo.com>
Organization: NOAO
Message-ID: <ahs6ff$73d$1@noao.edu>
References: <ahro7s$3oq$1@slb2.atl.mindspring.net> <ahruld$2ug$1@noao.edu> <3D41AC4B.30BB@despam.autobahn.mb.ca>

> >     http://chard/mpg/ntp/ntp.to.vxworks.html

Sorry for assuming my computer name is resolved outside our intranet :-)

Try this:
    http://chard.tuc.noao.edu/mpg/ntp/ntp.to.vxworks.html

B.

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

Newsgroups: comp.os.vxworks
Subject: Re: NTP for VxWorks
Date: 26 Jul 2002 12:40:10 -0700
From: john_94501@yahoo.com (John)
Organization: http://groups.google.com/
Message-ID: <488e459a.0207261140.6f1f11a4@posting.google.com>
References: <ahro7s$3oq$1@slb2.atl.mindspring.net>

Hello,

Check out sntpcLib (client) and sntpsLib (server) - both part of the
standard VxWorks distributions.

Rgds,

John...

"Dan White" <dwhite@novonics.com> wrote in message news:<ahro7s$3oq$1@slb2.atl.mindspring.net>...
> Does anyone know where to find a version of NTP ported to VxWorks?  Any info
> appreciated.
> 
> Dan

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

Newsgroups: comp.os.vxworks
Subject: Re: How can I delay 1ms or 100us when system clock uses 100 ticks per second?
Date: Fri, 26 Jul 2002 20:03:59 GMT
From: David Cooper <dcooper000@adelphia.net>
Organization: none
Message-ID: <MPG.17ab753835ebb59d989693@news1.news.adelphia.net>
References: <e82d8e83.0207260003.16c674d0@posting.google.com> <ahrr8o$frn$1@rex.ip-plus.net>

Of course there are a couple of draw backs to busy loops in a 
multitasking systems:

1) The delaying task, since it is active, blocks lower priority tasks 
from running; thus, leading to poor system performance.
2) The delay loop will not be 100 percent accurate unless it is the 
highest priority task running or interrupts are entirely shut off (but, 
then see problem 1).

The best way to implement a timer is by using a hardware timer which can 
be tied to an interrupt (see Aux Timer driver).

...david

- -- 
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
   Genealogy Utilities & Family Research
Researching: ALLEN,BERZONER,COHEN,COOPER,KUPFERZMIDT,
POSNER (POIZNER), PRITIKIN, STARKMAN
Dachau Camp Entry List, Genealogy Utilities
http://home.adelphia.net/~dcooper000

In article <ahrr8o$frn$1@rex.ip-plus.net>, _remove_rene.straub@yetnet.ch 
says...
> On PPC systems read the decrementer until the desired time has elapsed.
> Of course this is a busy loop, but when it comes down to mS and uS thats
> a reasonable way.
> I found a function called sysDelay() which does this to delay 1mS (the
> function is in sysLib.c on my target). I successfully used the same approach
> for uS delays.
> 
> Yours
> - Rene
> 
> 
> "seasoblue" <seasoblue2000@yahoo.com.cn> wrote in message
> news:e82d8e83.0207260003.16c674d0@posting.google.com...
> > Hi,all
> >    My tasks ofen need to be delayed 1ms or 100us, but my system's
> > default tick is 100 per second(10ms/tick). I heard that the system
> > performance will reduces if I increase the ticks.  Is there a better
> > way to delay 1ms or 100us? I don't want to use the sentence: "for(i=0;
> > i<xxxxxx,i++);" to do that!
> >
> > Best regards
> >
> >  seasoblue
> 
> 
> 

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

Newsgroups: comp.os.vxworks
Subject: OC vxWorks Users Group
Date: Fri, 26 Jul 2002 20:19:32 GMT
From: "cfk" <cfk_alter_ego@pacbell.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <o9i09.17973$Yh2.124157068@newssvr13.news.prodigy.com>

There is a move afoot to form a vxWorks users group to meet on some sort of
regular basis in Orange County, CA. This is being done in cooperation with
the local Windriver office. It is beginning to look like the first meeting
will be a formation lunch  to discuss things like where the meeting should
be, monthly or bi-monthly, what programs should be presented, that sort of
thing. I would appreciate it if any folks in Orange County that are
interested could contact either myself, here or at (cfk@pacbell.net) or
Rich.Newman@windriver.com to get further information about participating in
the formation of this local group if you wish.

Charles Krinke
(949) 551-1838

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

Newsgroups: comp.os.vxworks
Subject: Re: Board Network Config
Date: Fri, 26 Jul 2002 20:47:13 GMT
From: "cfk" <cfk_alter_ego@pacbell.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <lzi09.17984$Ap2.124626198@newssvr13.news.prodigy.com>
References: <3D40152E.B401FC86@baesystems.com>

Dear Paul:
    There are a number of ways to accomplish this and most of them involve
some sort of unique part on each board. All of the ethernet boards we deal
with usually have a serial rom (commonly used is the 93C46) and virtually
all of the ethernet chips themselves read words automatically from these
serial roms on power up. Some devices use I2C roms which accomplish the same
thing.

    Usually a target device when it is booting knows its MAC address, but
not its IP address. Most boot sequences use ARP and send an ARP request with
a destination MAC address of FF:FF:FF:FF:FF:FF and the devices own unique
MAC address to manipulate the IP value in the received packet back from some
server.

    I would imagine it is not too tough to cause a device to TFTP a boot
program, which could contain IP and MAC information that allows each device
booting to change whatever is in their default settings (DEFAULT_BOOT_LINE)
and change it during the boot. I believe it will be essential for you to
either have some unique rommable information, or use some methed of booting
that allows a server somewhere to assign MAC addresses and IP addresses to
each of your target boards.

Charles

"Paul Caswell" <paul.caswell@baesystems.com> wrote in message
news:3D40152E.B401FC86@baesystems.com...
> Hello vxWorks world,
> I'm confused as to how I can give our embedded board(s) a unique IP
> address and MAC address.  Here's why:
>
> 1.  We have a romResident build in flash on our card and so the system
> boots completely on power up - (we can't use the standard vxWorks build
> downloaded from the host from a bootstrap as our ethernet connection
> will not be connected in the final system)
> 2.  We don't have any NVRAM.
> 3.  The system still picks up it's own IP address from the
> DEFAULT_BOOT_LINE specified in the T2 project facility.  I set the MAC
> in sysLib and it is accesed by sysCpmEnetAddrGet(....).  Unfortunately
> these are hardcoded values in the image itself.
> 4.  I don't want to have to rebuild the image for each specific card we
> deploy.
>
> Any ideas as to how I can easily assign each board a unique IP address
> and MAC after the image has been stored in flash ?
> TIA
> Paul
>
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: How can I delay 1ms or 100us when system clock uses 100 ticks per second?
Date: Fri, 26 Jul 2002 16:59:19 -0700
From: "Behzad Abareshi" <abareshi@yahoo.com>
Organization: NOAO
Message-ID: <ahso0s$gho$1@noao.edu>
References: <e82d8e83.0207260003.16c674d0@posting.google.com>

Hi,

I was wondering if select (0,0,0,0, &timeout) would work? However, if I
understand correctly, the difference between a wait (which is what, for
example, select does) and a "delay" in a task is that in a delay the task
relinquishes the CPU, but in a wait it doesn't. Unfortunately taskDelay()
relies on your tick resolution, so using select would be the next best
thing.

Behzad.

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

Newsgroups: comp.os.vxworks
Subject: Zinc problems
Date: 26 Jul 2002 20:19:45 -0700
From: andreas_lindell75@hotmail.com (Rikard)
Organization: http://groups.google.com/
Message-ID: <5947a04.0207261919.76fcaaea@posting.google.com>

Hello,

I have started working with Zinc GUI designer for VxWorks but its not
a easy tool to work with. I was wondering if anyone knows about some
additional books I can read, besides the ones from WR that doesnt say
anything, or a webpage specific for Zinc developer?

Thanks
Rikard

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

Newsgroups: comp.os.vxworks
Subject: More questions about Zinc
Date: 26 Jul 2002 20:31:11 -0700
From: andreas_lindell75@hotmail.com (Rikard)
Organization: http://groups.google.com/
Message-ID: <5947a04.0207261931.7e3bff0f@posting.google.com>

Hello,

I am posting regarding Zinc that I have started working on. I have
some questions regarding development with Zinc. I have previously
worked with VB and MFC so this is what I am comparing to and maybe
that is not a fair comparison but that&#8217;s what I have.

When creating a ZafWindow with two buttons in Zinc and then generating
the code for the GUI I only get 4 files, one *.cpp, one *.hpp, *.znc
and one *.inc file. The .cpp/.hpp file I get consists of a main and a
function that basically loads/displays the window:

windowManager->Add(new ZafWindow(ZAF_ITEXT("window"),
*objectPersistence));

I do not get any files/functions connected to the buttons like event
and classdraw. Neither any functions that allows me to manipulate that
ZafWindow &#8220;window&#8221;. This is the same for whatever windows
I create and for all the objects that I add into these windows, I only
get 4 files and that&#8217;s it? Am I missing something here? I want
to be able to get generated code for all the objects using the base
classes that I have &#8220;drawn/dragged/dropped&#8221; so that I can
capture events and so on. How do I proceed after constructing my GUI
with ex 5 windows and 20 buttons and generated the 4 files? Do I have
to write all the underlying C++ code by myself to get the ::Event and
::ClassDraw functions connected to the buttons and windows I have
created?

I know there is another way of doing it. I can use the extended object
editor and create classes that derives from the base classes like
ZafButton. This will allow me to generate code stubs containing event
and classdraw functions that I can use when a button is pressed down.
Is this the way Zinc is meant to work? Its ok when I only have 2
buttons but lets say I have 100 buttons, this means that all these
buttons must be extended objects named b1,..., b100 and I will need to
use generate code-> extended objects to choose the files I want to
have generated.

My conclusion of using the extended object method to get the code
stubs with draw/event is that ALL objects used in the application must
be extended objects, if so what is function of the base class itself
(except to derive from)? I this the way to do it, to have all objects
used defined as extended objects deriving from their base class?

Now for a more direct question, I have 4 extended objects:
1. MyApplication deriving from ZafWindow.
2. MyDrawWindow deriving from ZafWindow.
3. bStart deriving from ZafButton.
4. bStop deriving from ZafButton.

When generating code I get .cpp and .hpp files for all of the objects,
the cpp files for the buttons contains bStart::Event where I can
capture events(N_CURRENT). I use the MyDrawWindow:ClassDraw to draw a
sinus wave in the window and the sinus wave is there but my problem is
that the window is only updated when I move the window using the
mouse. I want the window to be update continuously when the sinus wave
is drawn. How can I do that, is there a refresh call that I can do?
I have also looked at the demos included and done a SetOSDraw(true);
in the MyDrawWindow constructor, and then created a new function named
DrawWindow::Draw(const ZafEventStruct &event, ZafEventType ccode)
instead of DrawWindow::classdraw but I cant get my MyDrawWindow to be
update continuously and that is a little disappointing:(:(

Hope anyone can answer my direct question and maybe at the same time
shed some light of the development procedure used in Zinc:

1.To design the GUI using base classes and then? Well this is the part
I do not understand because then Zinc only generates 4 files?

2.To have all objects in the application derive from their base class
in order to have the .cpp and .hpp files generated including the event
and ClassDraw function?

Hope anyone can help me.
Rikard

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

Newsgroups: comp.os.vxworks
Subject: NE2000 driver
Date: 26 Jul 2002 21:10:09 -0700
From: li.mingzheng@mail.zte.com.cn (Li Ming Zheng)
Organization: http://groups.google.com/
Message-ID: <15dcd3bc.0207262010.60af7c59@posting.google.com>

Hi, 

Anybody can help me and send the files of NE2000 BSD and END driver to
this address: li.mingzheng@mail.zte.com.cn

thanks in advance.

regards

m z li

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

Newsgroups: comp.os.vxworks
Subject: the address issue of vxworks bsp for MPC 860
Date: 26 Jul 2002 21:36:13 -0700
From: loveheart1999@263.net (loveheart)
Organization: http://groups.google.com/
Message-ID: <45709aba.0207262036.38f5ddd5@posting.google.com>

I just want to use the MPC 860 to make a stuff. when I trace the
code,I find something pullzes.

the MPC will jump to the 0x100 or 0xfff00100 when powerup, and the
vxwork boot rom
resides in
the rom which has been asigned a higher address than 0x100, then how
does the pc can jump to the location of the boot rom code and execute
the rominit() in it.

and what's more, in the first few lines of the rominit(), the control
was transfered to the start by such directions:
        "
        LOADPTR (r4, start)
	LOADPTR (r5, romInit)
	LOADPTR (r6, ROM_TEXT_ADRS)

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

	mtspr	LR, r4				/* save destination 

address*/
						/* into LR register */
	blr					/* jump to ROM */
			
start:
	/* set the MSR register to a known state */

	xor	r4, r4, r4		/* clear register R4 */
        "
      why not jump to the start directly, but take these steps?

  Thanks Gary Kato and Mark A. Odell to answer my question, but I
still have some puzzles.
they said that the CS0 will select the boot rom at the powerup. and
boot rom is now at the ox00000000, so the CPU will jump to the ox100
in the boot rom and excute the rominit().  An address translation will
occur at the later time so the starting address  of the boot rom will
change from the 0x00000000 to a higher address of 0xffff0000( of
course ,the oxffff0000 depends on the hardware design.)
However, in the code above which is the first lines of the rominit,
there 's code to excute the address translation, so the boot rom is
still at the ox00000000, then if the address of  start=
start-rominit+rom_text_address(the rom_text_address is 0xffff0000),
the cpu will jump to a high address in which there 's no rom. then,
how is the sthe code of start being fetched?

and when burn the binary booting code into the rom at location ox100,
the label start will be replaced by certain address of course. then
the start will be 0x00000014 which is the offset from hte rominit, or
ox00000100+ox00000014, or 0xffff00+ox00000014?
the last question is since we can read the code from the rom at
powerup, can the rom be accessed without initialization? why Dram
can't?

who can help me,thank you in advance!

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

Newsgroups: comp.os.vxworks
Subject: Re: signal handling
Date: 26 Jul 2002 22:32:25 -0700
From: rajendra_krsingh@yahoo.com (rajendra)
Organization: http://groups.google.com/
Message-ID: <479ba395.0207262132.3828ff9@posting.google.com>
References: <18705aa8.0207260120.5cb9a15e@posting.google.com>

Hi anoop,
  Yeah, signals in tornado 2.0 vxSim doesn't work properly. Its a
known bug and windriver has a fix for that. Apply tornado 2.02 patch
from windriver or you try you program on a target.

- -rajendra

anoop_nayak@sify.com (Anoop) wrote in message news:<18705aa8.0207260120.5cb9a15e@posting.google.com>...
> hi all,
>         is there any problem in the SIGNAL faility in VxWorks ? coz it
> is not working as it is said in manual. i am working on a simulator.
> can anybody plz tell me whats going on....

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

Newsgroups: comp.os.vxworks
Subject: Re: compatibility of files between tornado2.0 and tornado1.0
Date: 26 Jul 2002 23:25:36 -0700
From: vxnerd@rediffmail.com (subbarayan)
Organization: http://groups.google.com/
Message-ID: <f81c4277.0207262225.43560bac@posting.google.com>
References: <f81c4277.0207252114.45650@posting.google.com> <PE809.401$S72.14999743@newssvr16.news.prodigy.com>

dear Mr.JohnKevin,
I did the follwoing as per ur advice and got the following errors.
1)I jus checked for my pciIomapLib.c and .h files.
  Got them.then I included them in my source file using #include and
then gave a call to the functions pciIomapLibInit and pciFindClass
from my source file and then compiled it using tornadoI.
It gave me the following errors:
source file looks like this:
#include<pciIomapLib.h>
#include<pciIomapLib.c>
void pcitest()
{
 int status;
 int pciIomapLibInitstatus;
 int mechanism=2;	/* configuration mechanism: 1 or 2 */
 int addr0 =0x0cf8;		/* config-addr-reg / CSE-reg */
 int addr1=0x0cfc;		/* config-data-reg / Forward-reg */
 int addr2=NULL;
 int vendorId=0x10B5;
 int deviceId=0x9052;
 int index=0;	
int* pBusNo=0;
int* pDeviceNo=1;
int* pFuncNo=1;
pciIomapLibInitstatus=( pciIomapLibInit
    (
     mechanism,	/* configuration mechanism: 1 or 2 */
     addr0 ,		/* config-addr-reg / CSE-reg */
     addr1 ,		/* config-data-reg / Forward-reg */
     addr2		/* none            / Base-address */
    ));

printf("%d", pciIomapLibInitstatus);

status =(pciFindDevice
    (
     vendorId,	/* vendor ID */
     deviceId,	/* device ID */
    	index,		/* desired instance of device */
     * pBusNo,	/* bus number */
     * pDeviceNo,	/* device number */
     * pFuncNo	/* function number */
    ));

printf("%d", status);
}
errors:
cc386 -O -fvolatile -nostdlib -fno-builtin -fno-defer-pop -mno-486
- -Wall -I/h   -I. -IC:\T
ornado\target\config\all -IC:\Tornado\target/h
- -IC:\Tornado\target/src/config -IC:\Tornado
\target/src/drv -ansi -nostdinc -DCPU=I80386   -g  -c pcitest.c
In file included from ./pciIomapLib.h:21,
                 from pcitest.c:1:
C:\Tornado\target/h/dllLib.h:143: syntax error before `FUNCPTR'
C:\Tornado\target/h/dllLib.h:145: syntax error before `dllDelete'
C:\Tornado\target/h/dllLib.h:145: warning: data definition has no type
or storage class
C:\Tornado\target/h/dllLib.h:146: syntax error before `dllInit'
C:\Tornado\target/h/dllLib.h:146: warning: data definition has no type
or storage class
C:\Tornado\target/h/dllLib.h:147: syntax error before `dllTerminate'
C:\Tornado\target/h/dllLib.h:147: warning: data definition has no type
or storage class
In file included from pcitest.c:1:
./pciIomapLib.h:211: syntax error before `VOIDFUNCPTR'
./pciIomapLib.h:218: syntax error before `pciIomapLibInit'
./pciIomapLib.h:218: warning: data definition has no type or storage
class
./pciIomapLib.h:219: syntax error before `pciFindDevice'
./pciIomapLib.h:220: warning: data definition has no type or storage
class
./pciIomapLib.h:221: syntax error before `pciFindClass'
./pciIomapLib.h:222: warning: data definition has no type or storage
class
./pciIomapLib.h:223: syntax error before `pciConfigInByte'
./pciIomapLib.h:224: warning: data definition has no type or storage
class
./pciIomapLib.h:225: syntax error before `pciConfigInWord'
./pciIomapLib.h:226: warning: data definition has no type or storage
class
./pciIomapLib.h:227: syntax error before `pciConfigInLong'
./pciIomapLib.h:228: warning: data definition has no type or storage
class
./pciIomapLib.h:229: syntax error before `pciConfigOutByte'
./pciIomapLib.h:230: warning: data definition has no type or storage
class
./pciIomapLib.h:231: syntax error before `pciConfigOutWord'
./pciIomapLib.h:232: warning: data definition has no type or storage
class
./pciIomapLib.h:233: syntax error before `pciConfigOutLong'
./pciIomapLib.h:234: warning: data definition has no type or storage
class
./pciIomapLib.h:235: syntax error before `pciSpecialCycle'
./pciIomapLib.h:235: warning: data definition has no type or storage
class
./pciIomapLib.h:236: syntax error before `pciDeviceShow'
./pciIomapLib.h:236: warning: data definition has no type or storage
class
./pciIomapLib.h:237: syntax error before `pciHeaderShow'
./pciIomapLib.h:237: warning: data definition has no type or storage
class
./pciIomapLib.h:238: syntax error before `pciFindDeviceShow'
./pciIomapLib.h:238: warning: data definition has no type or storage
class
./pciIomapLib.h:239: syntax error before `pciFindClassShow'
./pciIomapLib.h:239: warning: data definition has no type or storage
class
./pciIomapLib.h:240: syntax error before `pciIntConnect'
./pciIomapLib.h:240: syntax error before `*'
./pciIomapLib.h:241: warning: data definition has no type or storage
class
./pciIomapLib.h:242: syntax error before `pciIntDisconnect'
./pciIomapLib.h:242: syntax error before `*'
./pciIomapLib.h:242: warning: data definition has no type or storage
class
./pciIomapLib.c: In function `pciConfigInByte':
In file included from pcitest.c:2:
./pciIomapLib.c:357: warning: implicit declaration of function
`sysOutLong'
./pciIomapLib.c:365: warning: implicit declaration of function
`sysInLong'
./pciIomapLib.c: In function `pciInt':
./pciIomapLib.c:730: structure has no member named `routine'
./pciIomapLib.c: In function `pciIntConnect':
./pciIomapLib.c:753: `INT_NUM_IRQ0' undeclared (first use this
function)
./pciIomapLib.c:753: (Each undeclared identifier is reported only once
./pciIomapLib.c:753: for each function it appears in.)
./pciIomapLib.c:764: structure has no member named `routine'
./pciIomapLib.c: In function `pciIntDisconnect':
./pciIomapLib.c:791: `INT_NUM_IRQ0' undeclared (first use this
function)
./pciIomapLib.c:801: structure has no member named `routine'
pcitest.c: In function `pcitest':
pcitest.c:15: warning: initialization makes pointer from integer
without a cast
pcitest.c:16: warning: initialization makes pointer from integer
without a cast
pcitest.c:35: warning: passing arg 4 of `pciFindDevice' makes pointer
from integer without
 a cast
pcitest.c:35: warning: passing arg 5 of `pciFindDevice' makes pointer
from integer without
 a cast
pcitest.c:35: warning: passing arg 6 of `pciFindDevice' makes pointer
from integer without
 a cast
make.exe: *** [pcitest.o] Error 0x1

Done.
Kindly let me know where exactly is the error and what to be done
either in configuration settings or coding methods to eradicate the
errors and complete my project successfully.The same error occurs if i
try to make use of pciConfig lib and show files of tornado2 in
tornado1.Further main error was its not unable to fine the reference
to sysoutlong and other sysout and sysin functions.
It says undefined refernce to sysoutlong and other sys oriented
functions.
Kindly plz help me and thankful to u if u could tell a workaround.

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

Newsgroups: comp.os.vxworks
Subject: working with tornado1.0 and making driver for pcicard
Date: 27 Jul 2002 00:05:00 -0700
From: vxnerd@rediffmail.com (subbarayan)
Organization: http://groups.google.com/
Message-ID: <f81c4277.0207262305.4c13dab3@posting.google.com>

dear mentors,
I use tornado1.0 and have a target which need to be booted with floppy
and target uses x86 processor with std pc architecture.
I want to know what sort of support tornado1.0.1 provides to develop
drivers for pci cards?
Further can any one plz tell me how to proceed with developing driver
for pci card using tornado1.0.1.Tornado 2 users have a folder
seperately dealing with pci which can be found at
target\source\drv\pci->pciconfiglib and pciconfig show files.Like that
r there any configuration files available for tornado1.0?where can i
find the configuration files for pci cards from tornado1?What should
be done in tornado1 to check and detect the pci card once i boot my
target?To my knowledge theres no file in my system for tornado1.0.1
which supports pci cards and allows pci access.
Hoping for a sure solution and I am totally helpless and depending on
u mentors for help.

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

Newsgroups: comp.os.vxworks
Subject: Compiling under Cygwin
Date: 27 Jul 2002 02:36:27 -0700
From: vividh@hotmail.com (rasayani)
Organization: http://groups.google.com/
Message-ID: <28809481.0207270136.110cf7b1@posting.google.com>

When I compile using ccppc -c -o test.o test.c under cygwin I receive
the following error:
cpp: -lang-c89: linker input file unsed since linking not done

Is any one aware of this problem?

thanks,
Steve

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

Newsgroups: comp.os.vxworks
Subject: Re: compatibility of files between tornado2.0 and tornado1.0
Date: Sat, 27 Jul 2002 10:13:13 GMT
From: "John Kevin Fabiani" <nospam@nospam.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <Zmu09.901$Tv.37108767@newssvr15.news.prodigy.com>
References: <f81c4277.0207252114.45650@posting.google.com> <PE809.401$S72.14999743@newssvr16.news.prodigy.com> <f81c4277.0207262225.43560bac@posting.google.com>

"subbarayan" <vxnerd@rediffmail.com> wrote in message
news:f81c4277.0207262225.43560bac@posting.google.com...
> dear Mr.JohnKevin,
> I did the follwoing as per ur advice and got the following errors.
> 1)I jus checked for my pciIomapLib.c and .h files.
>   Got them.then I included them in my source file using #include and
> then gave a call to the functions pciIomapLibInit and pciFindClass
> from my source file and then compiled it using tornadoI.
> It gave me the following errors:
> source file looks like this:

You will need to add more headers.

#include <vxWorks.h>

Should be at the top of every vxWorks file.

John

> #include<pciIomapLib.h>
> #include<pciIomapLib.c>
> void pcitest()
> {
>  int status;
>  int pciIomapLibInitstatus;
>  int mechanism=2; /* configuration mechanism: 1 or 2 */
>  int addr0 =0x0cf8; /* config-addr-reg / CSE-reg */
>  int addr1=0x0cfc; /* config-data-reg / Forward-reg */
>  int addr2=NULL;
>  int vendorId=0x10B5;
>  int deviceId=0x9052;
>  int index=0;
> int* pBusNo=0;
> int* pDeviceNo=1;
> int* pFuncNo=1;
> pciIomapLibInitstatus=( pciIomapLibInit
>     (
>      mechanism, /* configuration mechanism: 1 or 2 */
>      addr0 , /* config-addr-reg / CSE-reg */
>      addr1 , /* config-data-reg / Forward-reg */
>      addr2 /* none            / Base-address */
>     ));
>
> printf("%d", pciIomapLibInitstatus);
>
> status =(pciFindDevice
>     (
>      vendorId, /* vendor ID */
>      deviceId, /* device ID */
>     index, /* desired instance of device */
>      * pBusNo, /* bus number */
>      * pDeviceNo, /* device number */
>      * pFuncNo /* function number */
>     ));
>
> printf("%d", status);
> }
> errors:
> cc386 -O -fvolatile -nostdlib -fno-builtin -fno-defer-pop -mno-486
> -Wall -I/h   -I. -IC:\T
> ornado\target\config\all -IC:\Tornado\target/h
> -IC:\Tornado\target/src/config -IC:\Tornado
> \target/src/drv -ansi -nostdinc -DCPU=I80386   -g  -c pcitest.c
> In file included from ./pciIomapLib.h:21,
>                  from pcitest.c:1:
> C:\Tornado\target/h/dllLib.h:143: syntax error before `FUNCPTR'
> C:\Tornado\target/h/dllLib.h:145: syntax error before `dllDelete'
> C:\Tornado\target/h/dllLib.h:145: warning: data definition has no type
> or storage class
> C:\Tornado\target/h/dllLib.h:146: syntax error before `dllInit'
> C:\Tornado\target/h/dllLib.h:146: warning: data definition has no type
> or storage class
> C:\Tornado\target/h/dllLib.h:147: syntax error before `dllTerminate'
> C:\Tornado\target/h/dllLib.h:147: warning: data definition has no type
> or storage class
> In file included from pcitest.c:1:
> ./pciIomapLib.h:211: syntax error before `VOIDFUNCPTR'
> ./pciIomapLib.h:218: syntax error before `pciIomapLibInit'
> ./pciIomapLib.h:218: warning: data definition has no type or storage
> class
> ./pciIomapLib.h:219: syntax error before `pciFindDevice'
> ./pciIomapLib.h:220: warning: data definition has no type or storage
> class
> ./pciIomapLib.h:221: syntax error before `pciFindClass'
> ./pciIomapLib.h:222: warning: data definition has no type or storage
> class
> ./pciIomapLib.h:223: syntax error before `pciConfigInByte'
> ./pciIomapLib.h:224: warning: data definition has no type or storage
> class
> ./pciIomapLib.h:225: syntax error before `pciConfigInWord'
> ./pciIomapLib.h:226: warning: data definition has no type or storage
> class
> ./pciIomapLib.h:227: syntax error before `pciConfigInLong'
> ./pciIomapLib.h:228: warning: data definition has no type or storage
> class
> ./pciIomapLib.h:229: syntax error before `pciConfigOutByte'
> ./pciIomapLib.h:230: warning: data definition has no type or storage
> class
> ./pciIomapLib.h:231: syntax error before `pciConfigOutWord'
> ./pciIomapLib.h:232: warning: data definition has no type or storage
> class
> ./pciIomapLib.h:233: syntax error before `pciConfigOutLong'
> ./pciIomapLib.h:234: warning: data definition has no type or storage
> class
> ./pciIomapLib.h:235: syntax error before `pciSpecialCycle'
> ./pciIomapLib.h:235: warning: data definition has no type or storage
> class
> ./pciIomapLib.h:236: syntax error before `pciDeviceShow'
> ./pciIomapLib.h:236: warning: data definition has no type or storage
> class
> ./pciIomapLib.h:237: syntax error before `pciHeaderShow'
> ./pciIomapLib.h:237: warning: data definition has no type or storage
> class
> ./pciIomapLib.h:238: syntax error before `pciFindDeviceShow'
> ./pciIomapLib.h:238: warning: data definition has no type or storage
> class
> ./pciIomapLib.h:239: syntax error before `pciFindClassShow'
> ./pciIomapLib.h:239: warning: data definition has no type or storage
> class
> ./pciIomapLib.h:240: syntax error before `pciIntConnect'
> ./pciIomapLib.h:240: syntax error before `*'
> ./pciIomapLib.h:241: warning: data definition has no type or storage
> class
> ./pciIomapLib.h:242: syntax error before `pciIntDisconnect'
> ./pciIomapLib.h:242: syntax error before `*'
> ./pciIomapLib.h:242: warning: data definition has no type or storage
> class
> ./pciIomapLib.c: In function `pciConfigInByte':
> In file included from pcitest.c:2:
> ./pciIomapLib.c:357: warning: implicit declaration of function
> `sysOutLong'
> ./pciIomapLib.c:365: warning: implicit declaration of function
> `sysInLong'
> ./pciIomapLib.c: In function `pciInt':
> ./pciIomapLib.c:730: structure has no member named `routine'
> ./pciIomapLib.c: In function `pciIntConnect':
> ./pciIomapLib.c:753: `INT_NUM_IRQ0' undeclared (first use this
> function)
> ./pciIomapLib.c:753: (Each undeclared identifier is reported only once
> ./pciIomapLib.c:753: for each function it appears in.)
> ./pciIomapLib.c:764: structure has no member named `routine'
> ./pciIomapLib.c: In function `pciIntDisconnect':
> ./pciIomapLib.c:791: `INT_NUM_IRQ0' undeclared (first use this
> function)
> ./pciIomapLib.c:801: structure has no member named `routine'
> pcitest.c: In function `pcitest':
> pcitest.c:15: warning: initialization makes pointer from integer
> without a cast
> pcitest.c:16: warning: initialization makes pointer from integer
> without a cast
> pcitest.c:35: warning: passing arg 4 of `pciFindDevice' makes pointer
> from integer without
>  a cast
> pcitest.c:35: warning: passing arg 5 of `pciFindDevice' makes pointer
> from integer without
>  a cast
> pcitest.c:35: warning: passing arg 6 of `pciFindDevice' makes pointer
> from integer without
>  a cast
> make.exe: *** [pcitest.o] Error 0x1
>
> Done.
> Kindly let me know where exactly is the error and what to be done
> either in configuration settings or coding methods to eradicate the
> errors and complete my project successfully.The same error occurs if i
> try to make use of pciConfig lib and show files of tornado2 in
> tornado1.Further main error was its not unable to fine the reference
> to sysoutlong and other sysout and sysin functions.
> It says undefined refernce to sysoutlong and other sys oriented
> functions.
> Kindly plz help me and thankful to u if u could tell a workaround.

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

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

From vxwexplo-errs@csg.lbl.gov  Sun Jul 28 04:03:10 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Sun Jul 28 04:03:12 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Sun Jul 28 04:03:07 PDT 2002

        Subject: Re: Question about building boot ROM
        Subject: Re: Compiling under Cygwin
        Subject: Re: compatibility of files between tornado2.0 and tornado1.0
        Subject: Re: working with tornado1.0 and making driver for pcicard
        Subject: Cannot transfer large files
        Subject: Re: Cannot transfer large files
        Subject: Re: More questions about Zinc
        Subject: Re: Zinc problems
        Subject: VxWorks initialization
        Subject: Re: Cannot transfer large files

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

Newsgroups: comp.os.vxworks
Subject: Re: Question about building boot ROM
Date: Sat, 27 Jul 2002 09:25:34 -0400
From: joe durusau <durusau@bellsouth.net>
Organization: WEBUSENET.com
Message-ID: <3D429F4E.12D861ED@bellsouth.net>
References: <7592a342.0207260319.53f6873@posting.google.com>

HuiLi wrote:

> When I build boot ROM by using Tornado 2.0.2, the error message emerge:
> In file included from pc.h:60,
>                  from config.h:103,
>                  from E:\Tornado\target\config\all\bootInit.c:99:
> E:\Tornado\target\h\drv\pci\pciConfigLib.h:55: pciClass.h: No such file or directory
> make.exe: *** [bootInit.o] Error 0x1
>
> I search the file "pciClass.h" in Tornado's directory,but there isn't this
> file.Why?

Sounds like someting that should have come with the BSP.  What BSP
are you using?

Speaking only for myself,

Joe Durusau

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

Newsgroups: comp.os.vxworks
Subject: Re: Compiling under Cygwin
Date: Sat, 27 Jul 2002 09:28:45 -0400
From: joe durusau <durusau@bellsouth.net>
Organization: WEBUSENET.com
Message-ID: <3D42A00D.46F5319E@bellsouth.net>
References: <28809481.0207270136.110cf7b1@posting.google.com>

rasayani wrote:

> When I compile using ccppc -c -o test.o test.c under cygwin I receive
> the following error:
> cpp: -lang-c89: linker input file unsed since linking not done
>
> Is any one aware of this problem?
>
> thanks,
> Steve

1). You should not be trying to compile for vxWorks under cygwin.  You
need the compiler that came with vxWorks.
2). For some reason, -lang-c89 is being passed to the compler, which
should not be gcc and its cousins don't alow this syntax.

Speaking only for myself,

Joe Durusau

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

Newsgroups: comp.os.vxworks
Subject: Re: compatibility of files between tornado2.0 and tornado1.0
Date: Sat, 27 Jul 2002 15:58:43 GMT
From: "cfk" <cfk_alter_ego@pacbell.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <Tqz09.18191$Ny7.144074898@newssvr13.news.prodigy.com>
References: <f81c4277.0207252114.45650@posting.google.com> <PE809.401$S72.14999743@newssvr16.news.prodigy.com> <f81c4277.0207262225.43560bac@posting.google.com>

Dear Subbarayan:
    Generally, what happens is that when a manifest constant such as FUNCPTR
or VOIDFUNCPTR is found in a .C or H file and it is not defined at the time
the compiler processes it, you will get a syntax error. The normal thing to
do at that point is to search through the header files or the documentation
and find where such a manifest constant is defined. With one notable
exception, all of the vxWorks header files are designed to be included as
many times as you may have source files. This is done with an ifdef at the
beginning of each header file. The notable exception is vxWorks.h itself.

    In vxWorks.h, you will find a myriad of interesting #defines used
virtually everywhere thoughout vxWorks. These include such stars as NULL,
OK, ERROR, IMPORT, LOCAL. You will not find FUNCPTR or VOIDFUNCPTR in
vxWorks.h itself. But near the bottom of vxWorks.h is an innocent include of
"types/vxTypesOld.h". In there you will find familiar constantes such as
UCHAR, UINT, ULONG, STATUS and of course FUNCPTR & VOIDFUNCPTR.

    What you need to do is to study the use of these header files as you
work through the details of getting your Tornado 1 <-> > Tornado 2 issues
worked out.

Charles

>:\Tornado\target/h/dllLib.h:143: syntax error before `FUNCPTR'
> In file included from pcitest.c:1:
> ./pciIomapLib.h:211: syntax error before `VOIDFUNCPTR'

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

Newsgroups: comp.os.vxworks
Subject: Re: working with tornado1.0 and making driver for pcicard
Date: Sat, 27 Jul 2002 16:06:55 GMT
From: "cfk" <cfk_alter_ego@pacbell.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <zyz09.18192$NA7.144173313@newssvr13.news.prodigy.com>
References: <f81c4277.0207262305.4c13dab3@posting.google.com>

Dear Subbarayan:
    I believe last week someone else gave you a good suggestion to this
question, but I will try a suggestion from a slightly different direction.

    Try finding a driver for any PCI device using the tornado version you
have and make sure you can compile it, change it slightly, re-compile it and
therefore have for yourself a starting point. When one is unfamiliar with a
complicated subject such as PCI, it helps a great deal to have a working
example.

    In your BSP, you should have a sysLib.c that either contains PCI
initialization of devices on your hardware, or calls another routine that
initializes PCI devices on your hardware. There is no standard PC
architecture anymore. The concept of PCI was not even invented when the PC
was invented. As a consequence, each motherboard vendor has similar but
slightly different chipsets and peripherals. Some use PCI, some dont. Find
out what PCI devices are on your motherboard and how to manipulate them.
That is the first step.

    Once you determine how to read and write registers on the PCI devices in
your particular hardware platform, then and only then will you be ready to
go to the next step of trying to create a new PCI driver for some other
peripheral. There is a significant amount of homework that you have to do in
order to accomplish your mission.

    I believe your mentors here will support me in saying there is no
shortcut to doing the homework and studying the code and the documentation.
You have all of the relevant code at your fingertips, you need to study and
understand it in order to succeed.

Charles

"subbarayan" <vxnerd@rediffmail.com> wrote in message
news:f81c4277.0207262305.4c13dab3@posting.google.com...
> dear mentors,
> I use tornado1.0 and have a target which need to be booted with floppy
> and target uses x86 processor with std pc architecture.
> I want to know what sort of support tornado1.0.1 provides to develop
> drivers for pci cards?
> Further can any one plz tell me how to proceed with developing driver
> for pci card using tornado1.0.1.Tornado 2 users have a folder
> seperately dealing with pci which can be found at
> target\source\drv\pci->pciconfiglib and pciconfig show files.Like that
> r there any configuration files available for tornado1.0?where can i
> find the configuration files for pci cards from tornado1?What should
> be done in tornado1 to check and detect the pci card once i boot my
> target?To my knowledge theres no file in my system for tornado1.0.1
> which supports pci cards and allows pci access.
> Hoping for a sure solution and I am totally helpless and depending on
> u mentors for help.

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

Newsgroups: comp.os.vxworks
Subject: Cannot transfer large files
Date: Sat, 27 Jul 2002 18:24:31 GMT
From: "Don Peterson" <petersonde@adelphia.net>
Message-ID: <zzB09.7579$gU1.1807124@news1.news.adelphia.net>

I'm trying to transfer files between a to workstations.  The primay is
running Linux Red Hat 7.1 and other VxWorks.  For some reason, I can only
transfer files under 5.7mb.  Anything larger alway returns an block error.
Unfortunately, I'm running an older verson of VxWorks.  Is there anyway
around?

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

Newsgroups: comp.os.vxworks
Subject: Re: Cannot transfer large files
Date: Sat, 27 Jul 2002 19:30:03 GMT
From: "cfk" <cfk_alter_ego@pacbell.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <%wC09.34567$mz6.50826365@newssvr21.news.prodigy.com>
References: <zzB09.7579$gU1.1807124@news1.news.adelphia.net>

I'm guessing here a bit, so take this with a grain of salt, but I seem to
remember something about the number of blocks transferred wrapping because
of the size of one int in the structure defined for file transfer. Dont
remember if it is UINT16 or UINT32, but you may be up against some basic
file transfer structure definition. Perhaps this will trigger a memory with
someone else that can point out the particular structure (if thats it).

Charles

"Don Peterson" <petersonde@adelphia.net> wrote in message
news:zzB09.7579$gU1.1807124@news1.news.adelphia.net...
> I'm trying to transfer files between a to workstations.  The primay is
> running Linux Red Hat 7.1 and other VxWorks.  For some reason, I can only
> transfer files under 5.7mb.  Anything larger alway returns an block error.
> Unfortunately, I'm running an older verson of VxWorks.  Is there anyway
> around?
>
>

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

Newsgroups: comp.os.vxworks
Subject: Re: More questions about Zinc
Date: 27 Jul 2002 16:53:00 -0400
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <m2fzy428r7.fsf@sympatico.ca>
References: <5947a04.0207261931.7e3bff0f@posting.google.com>
Sender: bpringle@DeadDuck

 Rikard> I am posting regarding Zinc that I have started working on. I
 Rikard> have some questions regarding development with Zinc. I have
 Rikard> previously worked with VB and MFC so this is what I am
 Rikard> comparing to and maybe that is not a fair comparison but
 Rikard> that&#8217;s what I have.

 Rikard> When creating a ZafWindow with two buttons in Zinc and then
 Rikard> generating the code for the GUI I only get 4 files, one
 Rikard> *.cpp, one *.hpp, *.znc and one *.inc file. The .cpp/.hpp

[snip]

Despite your best wish Zinc is not Visual Basic or the Microsoft
Foundation classes.  Your questions are answered in the documentation
as well as the demo files.  Please look at the demo files and the
documentation that comes with Zinc.

hth,
Bill Pringlemeir.

- -- 
HELLO, little boys!  Gimme a MINT TULIP!!  Let's do the BOSSA NOVA!!

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

Newsgroups: comp.os.vxworks
Subject: Re: Zinc problems
Date: 27 Jul 2002 17:05:32 -0400
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <m2bs8s286b.fsf@sympatico.ca>
References: <5947a04.0207261919.76fcaaea@posting.google.com>
Sender: bpringle@DeadDuck

 Rikard> I have started working with Zinc GUI designer for VxWorks but
 Rikard> its not a easy tool to work with. I was wondering if anyone
 Rikard> knows about some additional books I can read, besides the
 Rikard> ones from WR that doesnt say anything, or a webpage specific
 Rikard> for Zinc developer?

There is a yahoo group that discusses Zinc issues.  There is also a
web sight called google (www.google.com) that lets you search for
things on the Internet.  Just typing "Zinc" doesn't work as this is a
common word with alternate meaning.  Searching on "Zinc GUI" or "Zinc
vxWorks" will be more fruitful.  These searches will show links to
Zinc related discussions in several different languages.  The Yahoo
group is called ZafUser.

hth,
Bill Pringlemeir.

- -- 
Nature intended me  for the tranquil pursuits of  Science by rendering
them my supreme delight. - Thomas Jefferson

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

Newsgroups: comp.os.vxworks
Subject: VxWorks initialization
Date: 28 Jul 2002 03:51:53 -0700
From: dannyc@harmonicinc.com (Danny Cohen)
Organization: http://groups.google.com/
Message-ID: <41c1fd2b.0207280251.60123c41@posting.google.com>

Hi I'm using VxWorks with PPC8260 as target.

I'm looking for a way to create application image that will use
VxWorks on different image. Is it possible?

Do you know a way that i can notify Application Linker about the
location of VxWorks routines?
 
regards
DannyC

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

Newsgroups: comp.os.vxworks
Subject: Re: Cannot transfer large files
Date: Sun, 28 Jul 2002 12:55:22 +0200
From: "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM>
Organization: Verio
Message-ID: <newscache$34hyzg$zf9$1@lnews.actcom.co.il>
References: <zzB09.7579$gU1.1807124@news1.news.adelphia.net>

Don,

Let me guess, your VxWorks target board has about 5.7 MBytes of free memory,
before you attempt the file transfer ? (verify with memShow)

If that is the case, you are using netDrv, a simplistic net file access
method that uses FTP or RSH (VxWorks as client) to access remote files. It
copies the entire file into VxWorks memory, and then lets you read and write
it in-memory, and if it has been written, it will send the whole file back
to the server. (this is an FAQ)

One easy way around this is to use NFS client instead.

If you have a local hard disk on the VxWorks target (I assume you "transfer"
means copying to local disk), you can use a lower level FTP client API to
read the file directly from the FTP data connection socket into the local
file system.

Hope this helps.
- - Leonid

P.S. Is Adelphia still alive ?! Do you work for Adelphia or just a poor
Adelphia client ?

"Don Peterson" <petersonde@adelphia.net> wrote in message
news:zzB09.7579$gU1.1807124@news1.news.adelphia.net...
> I'm trying to transfer files between a to workstations.  The primay is
> running Linux Red Hat 7.1 and other VxWorks.  For some reason, I can only
> transfer files under 5.7mb.  Anything larger alway returns an block error.
> Unfortunately, I'm running an older verson of VxWorks.  Is there anyway
> around?
>
>

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

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

From vxwexplo-errs@csg.lbl.gov  Mon Jul 29 04:03:12 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Mon Jul 29 04:03:15 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Mon Jul 29 04:03:09 PDT 2002

        Subject: where to start?
        Subject: Re: VxWorks initialization
        Subject: Re: where to start?
        Subject: Re: mbx860 BSP / 82558 driver problem
        Subject: Re: the address issue of vxworks bsp for MPC 860
        Subject: Re: routing & forwarding
        Subject: Re: Tornado 2 On Windows XP
        Subject: About TMS
        Subject: sizeof problem
        Subject: inter-boards communication between mpc750 and mpcn750s via direct bsp?
        Subject: Re: routing & forwarding
        Subject: Reboot error
        Subject: Re: sizeof problem
        Subject: Re: VxWorks Loader (target shell)
        Subject: a problem about develop fax over IP with ac48105
        Subject: Re: compatibility of files between tornado2.0 and tornado1.0
        Subject: Help me identify the error and rectify it plz very urgent help needed from u mentors
        Subject: Low Level Format under Tornado 1

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

Newsgroups: comp.os.vxworks
Subject: where to start?
Date: Sun, 28 Jul 2002 09:03:39 -0300
From: "dbelcourt" <d.belcourt@videotron.ca>
Message-ID: <A%R09.441$OK6.37366@wagner.videotron.net>

For the last few years I've been doing embedded C on TMS320 and 60360
tagets.  I've also done a few small Window dialogs using C++/MFC.

Anyway, at work I've asked about using VxWork and Rational, I was told it
wasn't worth the investment for our applications.

So I'd like to learn those nice things but I have to do it on my own time
with my own pocket money.

Things are slowing down at work and I think I might be looking for work
soon.  So I'd realy need some good advice on how to upgrade my skills.

Should I start with a book, course (I'm in Ottawa, Canada), any good URLs
that would help me.  Does WindRiver offer any free trial of the IDE pakage?
I've never even seen what it look like.  Keep in mind I'm on a very limited
budget (So my wife and 3 kids tell me).

Thanks!
Dave

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

Newsgroups: comp.os.vxworks
Subject: Re: VxWorks initialization
Date: Sun, 28 Jul 2002 13:28:17 GMT
From: David Cooper <dcooper000@adelphia.net>
Organization: none
Message-ID: <MPG.17adbb7ac0b52d68989694@news1.news.adelphia.net>
References: <41c1fd2b.0207280251.60123c41@posting.google.com>

I think what you are trying to do is taken care of by the Dynamic Loader 
(LD command from WinShell).  Are you trying to load the applications 
programmatically or manually (from WinShell) ?

...david

- -- 
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
   Genealogy Utilities & Family Research
Researching: ALLEN,BERZONER,COHEN,COOPER,KUPFERZMIDT,
POSNER (POIZNER), PRITIKIN, STARKMAN
Dachau Camp Entry List, Genealogy Utilities
http://home.adelphia.net/~dcooper000

In article <41c1fd2b.0207280251.60123c41@posting.google.com>, 
dannyc@harmonicinc.com says...
> Hi I'm using VxWorks with PPC8260 as target.
> 
> I'm looking for a way to create application image that will use
> VxWorks on different image. Is it possible?
> 
> Do you know a way that i can notify Application Linker about the
> location of VxWorks routines?
>  
> regards
> DannyC
> 

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

Newsgroups: comp.os.vxworks
Subject: Re: where to start?
Date: Sun, 28 Jul 2002 14:09:10 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns9259A3D3F8C26borkhuisagerecom@192.19.193.66>
References: <A%R09.441$OK6.37366@wagner.videotron.net>

"dbelcourt" <d.belcourt@videotron.ca> wrote:
> So I'd like to learn those nice things but I have to do it on my own
> time with my own pocket money.
> 
> Things are slowing down at work and I think I might be looking for
> work soon.  So I'd realy need some good advice on how to upgrade my
> skills. 
> 
> Should I start with a book, course (I'm in Ottawa, Canada), any good
> URLs that would help me.  Does WindRiver offer any free trial of the
> IDE pakage? I've never even seen what it look like.  Keep in mind I'm
> on a very limited budget (So my wife and 3 kids tell me).

They used to have a simulator, but they discontinued that. You could try 
contacting WindRiver and ask for an evaluation license or maybe a copy of 
the simulator (called Tornado Prototyper). Buying Tornado is not really 
an option, as it is very expensive.

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: mbx860 BSP / 82558 driver problem
Date: Sun, 28 Jul 2002 16:59:29 GMT
From: "Gary M" <com.vertical@garym>
Organization: AT&T Broadband
Message-ID: <RpV09.149280$_51.97129@rwcrnsc52.ops.asp.att.net>
References: <6d3e990b.0207220735.31de5ea0@posting.google.com> <0ts%8.111538$Wt3.98785@rwcrnsc53> <6d3e990b.0207250143.6addd1f@posting.google.com>

PCI target image is for transactions originating on the PCI bus, accessing
the QBus.

QBus slave image is for transactions originating on the QBus, targeting the
PCI bus. You need to initialize one of the sets of QBus slave registers
(QBSIn_CTL and QBSIn_AT).

You should also set the MA_BE_D bit in the MISC_CTL register if any
transaction originating from the QBus may result in a PCI Master Abort.

You didn't show what the contents of MISC_CTL2 are. This register must also
be properly configured.

Good luck

"David Meadows" <david.meadows@roke.co.uk> wrote in message
news:6d3e990b.0207250143.6addd1f@posting.google.com...
> Thanks for the response.
> I believe your right, the QSpan register space is mapped to its own
> region on the board 0xfa210000 onwards. I inspected the registers and
> see the following:
>
> tPIPS: (0xfa210000) Device/Vendor ID        : 0x86010e3
> /* the QSpan aborts an access at some point, MA='1' */
> tPIPS: (0xfa210004) Status/Comand Reg       : 0x22800007
> tPIPS: (0xfa210008) Configuration Class Reg : 0x6800000
> tPIPS: (0xfa21000c) Config Misc Reg 0       : 0x0
> /* Not really sure what these registers are for */
> /* They are left as BSP defaults */
> tPIPS: (0xfa210010) BAR for Memory Register : 0x1000000
> tPIPS: (0xfa210014) BAR for IO Register     : 0x1ffff001
> tPIPS: (0xfa210018) BAR for Target 0        : 0x0
> tPIPS: (0xfa21001c) BAR for Target 1        : 0x0
> Read PCI Target Image 0:
> /* Translate memory access from 0x80000000+ to 0x0+ */
> tPIPS: (0xfa210100) T0 Control Register     : 0x8f000080
> tPIPS: (0xfa210104) T0 Address Register     : 0x80000000
> Read PCI Target Image 1:
> /* Disabled */
> tPIPS: (0xfa210110) T1 Control Register     : 0x40
> tPIPS: (0xfa210114) T1 Address Register     : 0x0
> Read Misc Control Reg:
> tPIPS: (0xfa210800) Misc Control Register   : 0xc0003
> Read EEPROM Control Reg:
> tPIPS: (0xfa210804) EEPROM Control Register : 0x0
> Read QBus Slave Image 0:
> /* IO Space access, 512MB block size, enabled */
> /* Translate address to 0x0+ */
> tPIPS: (0xfa210f00) QBSI0 Control Register  : 0x1000000
> tPIPS: (0xfa210f04) QBSI0 AT Register       : 0xd1
> Read QBus Slave Image 1:
> * Memory Space access, 512MB block size, enabled */
> /* Translate address to 0x0+ */
> tPIPS: (0xfa210f10) QBSI1 Control Register  : 0x0
> tPIPS: (0xfa210f14) QBSI1 AT Register       : 0xd1
>
> However I can't see an error in the configuration.
> As far as I know the 557 has one memory space shared by memory and IO.
> The 557 can access PowerPC DPRAM at 0x0+ by writing to 0x80000000+.
> The PowerPC can do IO access for which the address is translated to
> 0x0+
> it can also translate memory accesses to 0x0+.
>
> I can't seem to find out where the source address for the translation
> is located. Would these be the (0xfa210018) BAR for Target and
> (0xfa21001c) BAR for Target 1 register in the QSpan config space?
>
> Thanks for the help,
>
> David
>
>
> "Gary M" <com.vertical@garym> wrote in message
news:<0ts%8.111538$Wt3.98785@rwcrnsc53>...
> > Have you properly initialized the QSpan image space (one of the QBus
slave
> > image spaces) so that it responds to accesses in the 128MB range
starting at
> > 0x81000000, and then properly translates to the PCI address of the
82558?
> > One or the other is not responding to the access cycle, and times out.
> >
> > "David Meadows" <david.meadows@roke.co.uk> wrote in message
> > news:6d3e990b.0207220735.31de5ea0@posting.google.com...
> > > Hello everyone,
> > >
> > > I'm having problems with a ethernet driver that I hope someone can
> > > help me with.
> > > The ethernet card in question is a 82558 if_fei driver compatible card
> > > connected via PCI to a mbx860 board running the relevant BSP. It's my
> > > understanding that the 82558 driver is source for an x86 platform so
> > > there may be endian issues.
> > > The mbx860 board uses a QSpan QBus/PCI bridge.
> > >
> > > The BSP seems to start-up okay, finds the PCI card using
> > > pciFindDevice, assigns the required base address values and enabled
> > > memory space, io space and bus mastering.
> > > I can see that the data returned using pciConfigInLong matches what I
> > > write into the registers and I see the PCI status register return a
> > > happy value when I read it.
> > >
> > > However when I try to attach to the ethernet driver I find I receive a
> > > data access exception on the first call to sysOutLong().
> > >
> > > The data access register value is 0x8102000a which is an address
> > > located within a region of memory that I mapped to be PCI IO space in
> > > the sysPhysMemDesc table.
> > > The machine status register comes back as 0x9032 but I can't see any
> > > wrong.
> > >
> > > The entry is shown below:
> > >
> > > {
> > >     (void *) PCI_MSTR_IO_LOCAL, /* 0x81000000 */
> > >     (void *) PCI_MSTR_IO_LOCAL,
> > >     PCI_MSTR_IO_SIZE, /* 128 MB */
> > >     VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE |
> > > VM_STATE_MASK_CACHEABLE,
> > >     VM_STATE_VALID      | VM_STATE_WRITABLE      |
> > > VM_STATE_CACHEABLE_NOT
> > >     },
> > >
> > > I have tried varying the value used between 0x81000000 and 0x85000000
> > > but with no success.
> > >
> > > I have tried turning off caching by removing the following from
> > > configAll.h:
> > >
> > > INCLUDE_MMU_BASIC
> > > INCLUDE_MMU_FULL
> > > INCLUDE_PROTECT_TEXT
> > > INCLUDE_PROTECT_VEC_TABLE
> > >
> > > but this produces the same result.
> > >
> > > I also thought that the problem may lie with endian conversion but my
> > > understanding is that there is no difference for Long (32-bit)
> > > accesses and the first sysOut call is a sysOutLong.
> > >
> > > Is there something fundamental that I'm missing?
> > >
> > > Any help would be much appreciated.
> > >
> > > Regards,
> > >
> > > David

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

Newsgroups: comp.os.vxworks
Subject: Re: the address issue of vxworks bsp for MPC 860
Date: Sun, 28 Jul 2002 17:17:25 GMT
From: "Gary M" <com.vertical@garym>
Organization: AT&T Broadband
Message-ID: <FGV09.149413$_51.97130@rwcrnsc52.ops.asp.att.net>
References: <45709aba.0207262036.38f5ddd5@posting.google.com>

On the MPC860, it is customary for the rom to be physically mapped starting
at address 0xfff00000. Since romInit is linked to offset 0x100 from the
start of the rom, this is how the MPC860 is able to jump to 0xfff00100 on
reset.

The reason for the address manipulation at the beginning of romInit is that
this code is actually linked to address RAM_LOW_ADRS, which is usually in
the upper range of RAM. This is so the flash can be copied into RAM so it
executes faster. A direct jump to romInit when code is already running out
of RAM requires some effort so that control actually gets transferred to run
out of the ROM again.

A little confusing, hope that helps.

"loveheart" <loveheart1999@263.net> wrote in message
news:45709aba.0207262036.38f5ddd5@posting.google.com...
> I just want to use the MPC 860 to make a stuff. when I trace the
> code,I find something pullzes.
>
> the MPC will jump to the 0x100 or 0xfff00100 when powerup, and the
> vxwork boot rom
> resides in
> the rom which has been asigned a higher address than 0x100, then how
> does the pc can jump to the location of the boot rom code and execute
> the rominit() in it.
>
> and what's more, in the first few lines of the rominit(), the control
> was transfered to the start by such directions:
>         "
>         LOADPTR (r4, start)
> LOADPTR (r5, romInit)
> LOADPTR (r6, ROM_TEXT_ADRS)
>
> sub r4, r4, r5 /*  */
> add r4, r4, r6
>
> mtspr LR, r4 /* save destination
>
> address*/
> /* into LR register */
> blr /* jump to ROM */
>
> start:
> /* set the MSR register to a known state */
>
> xor r4, r4, r4 /* clear register R4 */
>         "
>       why not jump to the start directly, but take these steps?
>
>   Thanks Gary Kato and Mark A. Odell to answer my question, but I
> still have some puzzles.
> they said that the CS0 will select the boot rom at the powerup. and
> boot rom is now at the ox00000000, so the CPU will jump to the ox100
> in the boot rom and excute the rominit().  An address translation will
> occur at the later time so the starting address  of the boot rom will
> change from the 0x00000000 to a higher address of 0xffff0000( of
> course ,the oxffff0000 depends on the hardware design.)
> However, in the code above which is the first lines of the rominit,
> there 's code to excute the address translation, so the boot rom is
> still at the ox00000000, then if the address of  start=
> start-rominit+rom_text_address(the rom_text_address is 0xffff0000),
> the cpu will jump to a high address in which there 's no rom. then,
> how is the sthe code of start being fetched?
>
> and when burn the binary booting code into the rom at location ox100,
> the label start will be replaced by certain address of course. then
> the start will be 0x00000014 which is the offset from hte rominit, or
> ox00000100+ox00000014, or 0xffff00+ox00000014?
> the last question is since we can read the code from the rom at
> powerup, can the rom be accessed without initialization? why Dram
> can't?
>
> who can help me,thank you in advance!

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

Newsgroups: comp.os.vxworks
Subject: Re: routing & forwarding
Date: Mon, 29 Jul 2002 09:36:36 +0930
From: Tim Shaw <Tim.Shaw@dsto.defence.gov.au>
Organization: Defence Science and Technology Organisation
Message-ID: <3D44870C.716C186D@dsto.defence.gov.au>
References: <jMD_8.230$c%5.18052382@newssvr13.news.prodigy.com>

Do you mean that your device will be the gateway between the two networks? Or
are you wanting all packets received on one interface to be re-sent on the other
side (or at least those that have addresses that make sense to do that)? If the
former, then the routing table can handle that (use mRouteAdd), but other
machines on one interface must know that your device is the gateway (immediate
destination) for packets sent to machines on the other interface.

cfk wrote:

>     OK, I have a network driver for my new chip able to do muxDevLoad,
> muxDevStart and ipAttach and I have flags that indicate it is UP & RUNNING.
> Now for the next twist, which is something I havent done before.
>
>     I need to build my embedded device to act as a mini-router so that all
> packets received on ethernet interface0 are sent out ethernet interface1 and
> conversely, all packets received on interface1 are then routed out
> interface0. Basically, what I am building is an embedded device to forward
> packets received on a classic ethernet interface out a new wireless
> interface and packets received on my new wireless interface to be sent back
> out the classic ethernet interface.
>
>     So, the question is, "How does one tell the network stack that packets
> received on interface0 are to be immediately re-transmitted out
> interface1?'. And of course the other direction for packets received on the
> wireless interface (interface1), need to be retransmitted out interface0.
>
> Charles

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

Newsgroups: comp.os.vxworks
Subject: Re: Tornado 2 On Windows XP
Date: Mon, 29 Jul 2002 01:38:06 GMT
From: Lori Fraleigh <lori@rti.com>
Organization: Real-Time Innovations
Message-ID: <3D449D1B.D6CE6880@rti.com>
References: <_GYW8.5653$H67.29583@tor-nn1.netcom.ca> <5947a04.0207101756.6e46279d@posting.google.com>

Actually, Wind River does not provide a JVM as part of their 
base Tornado 2.0 installation.

The various RTI ScopeTools, TraceScope in ScopePak and MemScope
and ProfileScope in PerformancePak, do ship with a JVM.  However,
there are no problems running RTI's java-based tools on Win XP
that we are aware of.  Sun's JVMs had problems on Pentium4-based
machines (regardless of OS) and Sun has released patches for
their JVM.  RTI has a copy of this patch on their website.

Tornado 2 itself can crash on Win2k regularly and probably also 
XP when using the ScopeTools due to a bug in Wind's wtxtcl libraries.
As Wind River has not released a patch for their WTX bug, RTI has 
provided work-arounds and upgrades to try to prevent these crashes.  
If you need more information, please feel free to contact support@rti.com.

Regards,
Lori

- -- 
Lori Fraleigh                                Director of Engineering
Real-Time Innovations, Inc.                  http://www.rti.com
Phone: 408-734-4200 x121                     Fax: 408-734-5009

Rikard wrote:
> 
> Hello John,
> 
> You can run Tornado 2 on a XP machine but its not recommended and not
> supported by WR. The problems is with some of the tools(Scopepak and
> so on) that uses Java. Microsoft and Sun are not the best pals so XP
> does not come with a JVM so when installing Tornado and Professional
> tools a JVM is provided by WR. How ever this JVM does not work well
> with XP and thus the "Unhandled Exception" message. I recommend that
> you run it on a NT/2000 machine.
> 
> Regards
> Rikard
> 
> "John Schreuders" <john_schreuders@mitel.com> wrote in message news:<_GYW8.5653$H67.29583@tor-nn1.netcom.ca>...
> > Hey there;
> >
> > Has anyone ever tried intalling Tornado 2 on a Windows XP machine? Did it
> > work?? I tried and got a crazy "Unhandled Exception" message.
> >
> > I am getting the sinking feeling I am SOL and need to go back to my trusty
> > old Windows 2000 setup.
> >
> > Thanks in advance
> >
> > John

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

Newsgroups: comp.os.vxworks
Subject: About TMS
Date: 28 Jul 2002 18:52:52 -0700
From: snower_tiger@hotmail.com (snower)
Organization: http://groups.google.com/
Message-ID: <3f60ed07.0207281752.5ff4aa56@posting.google.com>

Our corporation want use TMS to develop new product, I dont known if
the TMS work well and if it is simple to use, I have used Tornado II,
we want to develop the product in a short period, and we want to
develop 802.1q, 802.1d, rip, ospf etc 2/3 layer protocol, if someone
have opnion and suggention, please email me.  my email:
snower_tiger@hotmail.com    Thanks.

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

Newsgroups: comp.os.vxworks
Subject: sizeof problem
Date: Tue, 30 Jul 2002 11:16:27 +0800
From: "zhaoyandong" <zhaoyandong@sina.com.cn>
Organization: Bentium Ltd. (CN99)
Message-ID: <ai2c3n$16br$1@mail.cn99.com>

Hello, I have a struct like this:

struct mystruct
{
    char a;
    char b;
    char c;
    unsigned long d;
    unsigned int e;
    char f;
}
struct mystruct var1;

i  test the sizeof(var1) is 16 !;

then even I added this statement
#pragma pack(1)
the result is still 16 !

i don't what the matter is,

Thank you.

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

Newsgroups: comp.os.vxworks
Subject: inter-boards communication between mpc750 and mpcn750s via direct bsp?
Date: 28 Jul 2002 22:22:00 -0700
From: joge709@hotmail.com (joge)
Organization: http://groups.google.com/
Message-ID: <1d168114.0207282122.1c0fdc8@posting.google.com>

We have installed several mpc750 and mpcn750s in the cpx8216,
and undoubtedly the cpci bus is a good way for the inter_board communication.
But how can I fulfil it on the 750 bsp other than using the optional modul -- VxMP?

Thanks advanced.

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

Newsgroups: comp.os.vxworks
Subject: Re: routing & forwarding
Date: 28 Jul 2002 23:23:20 -0700
From: rajendra_krsingh@yahoo.com (rajendra)
Organization: http://groups.google.com/
Message-ID: <479ba395.0207282223.6131fee1@posting.google.com>
References: <jMD_8.230$c%5.18052382@newssvr13.news.prodigy.com>

"cfk" <cfk_alter_ego@pacbell.net> wrote in message news:<jMD_8.230$c%5.18052382@newssvr13.news.prodigy.com>...
> OK, I have a network driver for my new chip able to do muxDevLoad,
> muxDevStart and ipAttach and I have flags that indicate it is UP & RUNNING.
> Now for the next twist, which is something I havent done before.
> 
>     I need to build my embedded device to act as a mini-router so that all
> packets received on ethernet interface0 are sent out ethernet interface1 and
> conversely, all packets received on interface1 are then routed out
> interface0. Basically, what I am building is an embedded device to forward
> packets received on a classic ethernet interface out a new wireless
> interface and packets received on my new wireless interface to be sent back
> out the classic ethernet interface.
> 
>     So, the question is, "How does one tell the network stack that packets
> received on interface0 are to be immediately re-transmitted out
> interface1?'. And of course the other direction for packets received on the
> wireless interface (interface1), need to be retransmitted out interface0.
> 
> Charles

If I understand your problem, you need to enabled ip_fowrwarding (set it to 1)
and add a default route (using routeAdd) to the right interface.

- -rajendra

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

Newsgroups: comp.os.vxworks
Subject: Reboot error
Date: 28 Jul 2002 23:50:17 -0700
From: txue@ureach.com (Thomas Xue)
Organization: http://groups.google.com/
Message-ID: <3d64955d.0207282250.45d40d7c@posting.google.com>

Hi
I booted vxworks image (vxWorks 5.4) on my Intel board without any
problems. But when I use CTRL+x or reboot, the display is as follws:

   ->Found an image -size 636334

         General Protection Fault
          Program Counter:0x00000100
          status Register:0x00010446
            Error Code:0x0000fffc
          Task:0xff69134 "tExcTask"

Does anyone know what happens?

Thanks.

- -Tom

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

Newsgroups: comp.os.vxworks
Subject: Re: sizeof problem
Date: Mon, 29 Jul 2002 06:59:17 GMT
From: "J. J. Farrell" <jjf@bcs.org.uk>
Organization: EarthLink Inc. -- http://www.EarthLink.net
Message-ID: <9J519.2293$w45.225267@newsread2.prod.itd.earthlink.net>
References: <ai2c3n$16br$1@mail.cn99.com>

"zhaoyandong" <zhaoyandong@sina.com.cn> wrote in message
news:ai2c3n$16br$1@mail.cn99.com...
>
> Hello, I have a struct like this:
>
> struct mystruct
> {
>     char a;
>     char b;
>     char c;
>     unsigned long d;
>     unsigned int e;
>     char f;
> }
> struct mystruct var1;
>
> i  test the sizeof(var1) is 16 !;
>
> then even I added this statement
> #pragma pack(1)
> the result is still 16 !
>
> i don't what the matter is,

Nothing is the matter. C allows padding to be
added after fields in a structure if the compiler
wishes to do so. This is often a good idea to get
best speed of access. 16 is the size I would
expect for this structure with most compilers on
most 32-bit processors.

Some compilers allow you to control this with
parameters when you run them, or offer extensions
to C to let you control it in the code. I've no
idea what compiler you are using, but for gcc you
should look into the "packed" attribute.

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

Newsgroups: comp.os.vxworks
Subject: Re: VxWorks Loader (target shell)
Date: Mon, 29 Jul 2002 09:14:09 +0200
From: "Michael Lawnick" <mlawnick@no_spam.bndlg.de>
Organization: Buergernetz Dillingen
Message-ID: <ai2puj$r1m$1@snoopy.bndlg.de>
References: <ahrrt8$fuj$1@rex.ip-plus.net>
Reply-To: "Michael Lawnick" <mlawnick@no_spam.bndlg.de>
Sender: mlawnick@pd9524139.dip.t-dialin.net

Hi Rene,
> So it seems as if there is something in the out file (ELF format)
> that tells the loader to load the file to a memory address below
> 32 MB (so that normals PPC branches work). Unfortunately I haven't
> found out what the difference in our out files is.
More likely, there is no system call within the image, i.e. it needs no
includes, so no jump over 24bit occures. The other possibility is that your
collegue has set -mlongcall. Remember: this flag needs not to be set in
vxWorks, but in the application.

HTH
Michael

"Rene Straub" <_remove_rene.straub@yetnet.ch> schrieb im Newsbeitrag
news:ahrrt8$fuj$1@rex.ip-plus.net...
> I am observing an interesting behaviour of the loader used
> in Tornado (target shell). I wonder if anyone has an idea what's
> going on here.
>
> I added additional memory to a PPC system (more than 32 MB)
> which (of course) lead to the infameous "24 bit relocation problem".
> I worked around this in that I don't tell VxWorks about the
> additional memory and later mount it in my application (I can't
> use -mlongcall).
>
> Now comes the strange thing. Another guy can load his application
> without any problem to a PPC based board with 64 MB of RAM.
> I can download his .out file on my system without a problem.
> Loading my out file in his system fails with the relocation problem.
> So it seems as if there is something in the out file (ELF format)
> that tells the loader to load the file to a memory address below
> 32 MB (so that normals PPC branches work). Unfortunately I haven't
> found out what the difference in our out files is.
>
> Does anyone know how one can create an out file that is loaded
> to low memory addresses (<32 MB) ? Is the whole thing I am
> observing here just pure accident ?
>
> Yours
> - Rene
>
>
>
>
>
>

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

Newsgroups: comp.os.vxworks
Subject: a problem about develop fax over IP with ac48105
Date: 29 Jul 2002 00:42:05 -0700
From: huangyongjd@21cn.com (hyper)
Organization: http://groups.google.com/
Message-ID: <38d66cc7.0207282342.79c89c2b@posting.google.com>

hi,everyone,
   I Meet a problem about develp fax over IP with ac48105,i tried
"ByPass Mode",but i didn't successed,please help me!

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

Newsgroups: comp.os.vxworks
Subject: Re: compatibility of files between tornado2.0 and tornado1.0
Date: 29 Jul 2002 01:53:28 -0700
From: vxnerd@rediffmail.com (subbarayan)
Organization: http://groups.google.com/
Message-ID: <f81c4277.0207290053.65750ac9@posting.google.com>
References: <f81c4277.0207252114.45650@posting.google.com> <PE809.401$S72.14999743@newssvr16.news.prodigy.com> <f81c4277.0207262225.43560bac@posting.google.com> <Zmu09.901$Tv.37108767@newssvr15.news.prodigy.com>

dear Mr.John,
Thanks for ur help.As per ur advice I have included vxworks.h and got
the following errors:
this is a copy of my source:
#include "vxWorks.h"
#include<pciIomapLib.h>
#include<pciIomapLib.c>
void pcitest()
{
 int status;
 int pciIomapLibInitstatus;
 int mechanism=2;	/* configuration mechanism: 1 or 2 */
 int addr0 =0x0cf8;		/* config-addr-reg / CSE-reg */
 int addr1=0x0cfc;		/* config-data-reg / Forward-reg */
 int addr2=NULL;
 int vendorId=0x10B5;
 int deviceId=0x9052;
 int index=0;	
int* pBusNo=0;
int* pDeviceNo=1;
int* pFuncNo=1;
pciIomapLibInitstatus=( pciIomapLibInit
    (
     mechanism,	/* configuration mechanism: 1 or 2 */
     addr0 ,		/* config-addr-reg / CSE-reg */
     addr1 ,		/* config-data-reg / Forward-reg */
     addr2		/* none            / Base-address */
    ));

printf("%d", pciIomapLibInitstatus);

status =(pciFindDevice
    (
     vendorId,	/* vendor ID */
     deviceId,	/* device ID */
    	index,		/* desired instance of device */
     * pBusNo,	/* bus number */
     * pDeviceNo,	/* device number */
     * pFuncNo	/* function number */
    ));

printf("%d", status);
}
here is the log of my errors:
after compiling it says the following:
cc386 -O -fvolatile -nostdlib -fno-builtin -fno-defer-pop -mno-486
- -Wall -I/h   -I. -IC:\T
ornado\target\config\all -IC:\Tornado\target/h
- -IC:\Tornado\target/src/config -IC:\Tornado
\target/src/drv -ansi -nostdinc -DCPU=I80386   -g  -c pcitest.c
./pciIomapLib.c: In function `pciConfigInByte':
In file included from pcitest.c:3:
./pciIomapLib.c:363: warning: implicit declaration of function
`sysOutLong'
./pciIomapLib.c:371: warning: implicit declaration of function
`sysInLong'
pcitest.c: In function `pcitest':
pcitest.c:16: warning: initialization makes pointer from integer
without a cast
pcitest.c:17: warning: initialization makes pointer from integer
without a cast
pcitest.c:36: warning: passing arg 4 of `pciFindDevice' makes pointer
from integer without
 a cast
pcitest.c:36: warning: passing arg 5 of `pciFindDevice' makes pointer
from integer without
 a cast
pcitest.c:36: warning: passing arg 6 of `pciFindDevice' makes pointer
from integer without
 a cast

Done.
Then when either i try to make bootrom_uncmp from my tornado1.0 or
from dos prompt by accessing the make exe i get the following errors:
C:\Tornado\host\x86-win32\bin\makeversion > version.c
cc386 -c -O -fvolatile -nostdlib -fno-builtin -fno-defer-pop -mno-486
- -Wall -I/h   -I. -IC
:\Tornado\target\config\all -IC:\Tornado\target/h
- -IC:\Tornado\target/src/config -IC:\Torn
ado\target/src/drv -ansi -nostdinc -DCPU=I80386     version.c
ld386 -X -N  -e _romInit -Ttext 00008000	 \
    -o bootrom_uncmp romInit.o bootInit_uncmp.o version.o bootConfig.o
\
    sysALib.o sysLib.o pcitest.o   
C:\Tornado\target/lib/libI80386gnuvx.a
pcitest.o(.text+0x2a7): undefined reference to `sysOutLong'
pcitest.o(.text+0x30e): undefined reference to `sysInLong'
pcitest.o(.text+0x3bf): undefined reference to `sysOutLong'
pcitest.o(.text+0x426): undefined reference to `sysInLong'
pcitest.o(.text+0x4d7): undefined reference to `sysOutLong'
pcitest.o(.text+0x4e5): undefined reference to `sysInLong'
pcitest.o(.text+0x536): undefined reference to `sysInLong'
pcitest.o(.text+0x5e2): undefined reference to `sysOutLong'
pcitest.o(.text+0x648): undefined reference to `sysInLong'
pcitest.o(.text+0x685): undefined reference to `sysOutLong'
pcitest.o(.text+0x72a): undefined reference to `sysOutLong'
pcitest.o(.text+0x798): undefined reference to `sysInLong'
pcitest.o(.text+0x7d6): undefined reference to `sysOutLong'
pcitest.o(.text+0x871): undefined reference to `sysOutLong'
pcitest.o(.text+0x882): undefined reference to `sysOutLong'
pcitest.o(.text+0x8d0): undefined reference to `sysOutLong'
pcitest.o(.text+0x957): undefined reference to `sysOutLong'
pcitest.o(.text+0x966): more undefined references to `sysOutLong'
follow
make.exe: *** [bootrom_uncmp] Error 0x1

Done.
Kindly let me know the error source and a work around to rectify it.I
am reminding u again that I am currently using tornado1.0 to compile
my source.I am totally dependent on ur reply form my project.
expecting ur reply,
S.Subbarayan

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

Newsgroups: comp.os.vxworks
Subject: Help me identify the error and rectify it plz very urgent help needed from u mentors
Date: 29 Jul 2002 02:01:01 -0700
From: vxnerd@rediffmail.com (subbarayan)
Organization: http://groups.google.com/
Message-ID: <f81c4277.0207290101.3ffda433@posting.google.com>

dear mentors,
Currently I am using tornado1.0 version and working on a project for
developing device driver for pci card-Plx9052.My target must be able
to boot from floppy and its a stand alone machine having no connection
to my host and my target has x86 processor and standard pc
architecture.
I could not find any files in tornado1 which works for pci.So i copied
some files like pciconfig.c and .h and pciiomaplib.c and .h and
pciconfigshow files from tornado2 and pasted it in tornado1.0 and
tried to make an application and compiled these files.
The source code and my error logs are as follows:My source file name
is pcitest.
source code:
#include "vxWorks.h"
#include<pciIomapLib.h>
#include<pciIomapLib.c>
void pcitest()
{
 int status;
 int pciIomapLibInitstatus;
 int mechanism=2;	/* configuration mechanism: 1 or 2 */
 int addr0 =0x0cf8;		/* config-addr-reg / CSE-reg */
 int addr1=0x0cfc;		/* config-data-reg / Forward-reg */
 int addr2=NULL;
 int vendorId=0x10B5;
 int deviceId=0x9052;
 int index=0;	
int* pBusNo=0;
int* pDeviceNo=1;
int* pFuncNo=1;
pciIomapLibInitstatus=( pciIomapLibInit
    (
     mechanism,	/* configuration mechanism: 1 or 2 */
     addr0 ,		/* config-addr-reg / CSE-reg */
     addr1 ,		/* config-data-reg / Forward-reg */
     addr2		/* none            / Base-address */
    ));

printf("%d", pciIomapLibInitstatus);

status =(pciFindDevice
    (
     vendorId,	/* vendor ID */
     deviceId,	/* device ID */
    	index,		/* desired instance of device */
     * pBusNo,	/* bus number */
     * pDeviceNo,	/* device number */
     * pFuncNo	/* function number */
    ));

printf("%d", status);
}
here is the log of my errors:
after compiling it says the following:
cc386 -O -fvolatile -nostdlib -fno-builtin -fno-defer-pop -mno-486
- -Wall -I/h   -I. -IC:\T
ornado\target\config\all -IC:\Tornado\target/h
- -IC:\Tornado\target/src/config -IC:\Tornado
\target/src/drv -ansi -nostdinc -DCPU=I80386   -g  -c pcitest.c
./pciIomapLib.c: In function `pciConfigInByte':
In file included from pcitest.c:3:
./pciIomapLib.c:363: warning: implicit declaration of function
`sysOutLong'
./pciIomapLib.c:371: warning: implicit declaration of function
`sysInLong'
pcitest.c: In function `pcitest':
pcitest.c:16: warning: initialization makes pointer from integer
without a cast
pcitest.c:17: warning: initialization makes pointer from integer
without a cast
pcitest.c:36: warning: passing arg 4 of `pciFindDevice' makes pointer
from integer without
 a cast
pcitest.c:36: warning: passing arg 5 of `pciFindDevice' makes pointer
from integer without
 a cast
pcitest.c:36: warning: passing arg 6 of `pciFindDevice' makes pointer
from integer without
 a cast

Done.
Then when either i try to make bootrom_uncmp from my tornado1.0 or
from dos prompt by accessing the make exe i get the following errors:
C:\Tornado\host\x86-win32\bin\makeversion > version.c
cc386 -c -O -fvolatile -nostdlib -fno-builtin -fno-defer-pop -mno-486
- -Wall -I/h   -I. -IC
:\Tornado\target\config\all -IC:\Tornado\target/h
- -IC:\Tornado\target/src/config -IC:\Torn
ado\target/src/drv -ansi -nostdinc -DCPU=I80386     version.c
ld386 -X -N  -e _romInit -Ttext 00008000	 \
    -o bootrom_uncmp romInit.o bootInit_uncmp.o version.o bootConfig.o
\
    sysALib.o sysLib.o pcitest.o   
C:\Tornado\target/lib/libI80386gnuvx.a
pcitest.o(.text+0x2a7): undefined reference to `sysOutLong'
pcitest.o(.text+0x30e): undefined reference to `sysInLong'
pcitest.o(.text+0x3bf): undefined reference to `sysOutLong'
pcitest.o(.text+0x426): undefined reference to `sysInLong'
pcitest.o(.text+0x4d7): undefined reference to `sysOutLong'
pcitest.o(.text+0x4e5): undefined reference to `sysInLong'
pcitest.o(.text+0x536): undefined reference to `sysInLong'
pcitest.o(.text+0x5e2): undefined reference to `sysOutLong'
pcitest.o(.text+0x648): undefined reference to `sysInLong'
pcitest.o(.text+0x685): undefined reference to `sysOutLong'
pcitest.o(.text+0x72a): undefined reference to `sysOutLong'
pcitest.o(.text+0x798): undefined reference to `sysInLong'
pcitest.o(.text+0x7d6): undefined reference to `sysOutLong'
pcitest.o(.text+0x871): undefined reference to `sysOutLong'
pcitest.o(.text+0x882): undefined reference to `sysOutLong'
pcitest.o(.text+0x8d0): undefined reference to `sysOutLong'
pcitest.o(.text+0x957): undefined reference to `sysOutLong'
pcitest.o(.text+0x966): more undefined references to `sysOutLong'
follow
make.exe: *** [bootrom_uncmp] Error 0x1

Done.
Kindly let me know the error source and a work around to rectify it.I
am reminding u again that I am currently using tornado1.0 to compile
my source.I am totally dependent on ur reply form my project.
expecting ur reply,
S.Subbarayan

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

Newsgroups: comp.os.vxworks,comp.periphs.scsi
Subject: Low Level Format under Tornado 1
Date: 29 Jul 2002 02:34:49 -0700
From: gfissi@autostrade.it (Giovanni Fissi)
Organization: http://groups.google.com/
Message-ID: <d4ede678.0207290134.3d5c8c05@posting.google.com>

I have to manage with a custom architecture based on Motorola 68020 uP
and SCSI H.D (most of them are Quantum Fireball ST). Operating System
is vxWorks 5.3.1.

Quite often I need to perform a LLF to recover some HD: I've noticed
that the vxWorks scsiFormatUnit command leave data unchanged and the
only way to recover corrupted HD is to connect it to a PC with an
ADAPTEC board and perform a LLF by this one.
Does anyone know why the vxWorks command doesn't work?
I've read in the group that vxWorks file system doesn't manage bad
sectors in the FAT (or at least doesn't perform a surface test during
the format procedure). Is it confirmed?

I'm trying to develop a my own Low Level Format Utility under vxWorks
5.3.1.
Could anyone tell me the right step to follow ? (source code examples
are welcome).

Thanks in advance
Giovanni Fissi

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

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

From vxwexplo-errs@csg.lbl.gov  Mon Jul 29 07:38:12 2002
From: =?iso-8859-1?q?Ravi=20Bellavi?= <ravi_bellavi@yahoo.co.in>
Date: Mon Jul 29 07:38:14 PDT 2002
Subject: Re: Query on Receiving Multicast Pkts

>I have a VxWorks target booted with the ethernet card
- NE2000. The
>interface is identified as ene0. In a sample program
I am able to join
>the multicast group 224.0.0.2 over the interface, but
I am not able to
>receive multicast packets sent on the LAN.
>I ran tcpdump on another machine connected to the
same LAN and I am 
>able
>to receive the multicast packets, but not in my
sample application.

Can you verify whether the joining is successful by
checking the return value
of setsockopt ?. If the joining was not complete, then
the ipstatShow()'s
can'tforward counter can be used to see if the packet
is rejected.

________________________________________________________________________
Want to sell your car? advertise on Yahoo Autos Classifieds. It's Free!!
       visit http://in.autos.yahoo.com

From vxwexplo-errs@csg.lbl.gov  Mon Jul 29 09:09:37 2002
From: Rick Eis <reis@nuvasive.com>
Date: Mon Jul 29 09:09:39 PDT 2002
Subject: VxWorks work

Hi. I recently finished a project and am looking for a new opportunity
involving VxWorks. During the last 21/2 years I have worked extensively with
VxWorks; pc pentium bsp, wrote and installed  touchscreen drivers (ELO).
Integrated Personal JWorks 3.1,wrote all JNI routines for Java based GUI.
Integrated third party printer driver into 2d UGL graphics library. And of
course as you all well know, lots of other stuff. VxWorks 5.4, Tornado
2.0.2, WindML 2.0, Personal JWorks 3.1. I live in the San Diego area and I
can be reached att reis@san.rr.com  Thanks

Rick

From vxwexplo-errs@csg.lbl.gov  Mon Jul 29 09:21:36 2002
From: ChengHsin Hsu <chs@lucent.com>
Date: Mon Jul 29 09:21:38 PDT 2002
Subject: Text Based Widget library

Hi All,

    I'm looking into some old UI code running on vxWorks 5.4, which is 
based on vw_curses & a modified CDK library. Since the CDK seems to be 
designed for System V curses library, we removed lots of functionalities 
without any plan. Thus, the code looks really messy right now.
    I'm wondering whether there is any System V curses library on 
vxWorks? or I can find some basic widget library based on Bekerley curses?
    I have tried to compile ncurses, but it seems not so 
starightforward....:-(
    Thanks a lot!

Best Regards,
ChengHsin

From vxwexplo-errs@csg.lbl.gov  Tue Jul 30 04:03:15 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Tue Jul 30 04:03:17 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Tue Jul 30 04:03:11 PDT 2002

        Subject: TaskVarSet / TaskVarGet ?!
        Subject: Sourcecode for several vxWorks library functions
        Subject: Linux host for VxWorks howto
        Subject: Re: Reboot error
        Subject: Do I need a watchdog?
        Subject: Bootable application.
        Subject: help! Basic flow chat of communication between the devices on the CPCi bus???
        Subject: Dp83815 driver
        Subject: Re: Sourcecode for several vxWorks library functions
        Subject: Re: Sourcecode for several vxWorks library functions
        Subject: Re: Low Level Format under Tornado 1
        Subject: Re: sizeof problem
        Subject: Re: sizeof problem
        Subject: Re: sizeof problem
        Subject: Embedded Software Development
        Subject: windweb server question
        Subject: Re: help! Basic flow chat of communication between the devices on the CPCi bus???
        Subject: Re: Do I need a watchdog?
        Subject: Re: TaskVarSet / TaskVarGet ?!
        Subject: Re: vxWorks Rename bug in DosFs?
        Subject: about debug step by step under multitask environment
        Subject: Re: Multitask debug
        Subject: Re: Bootable application.
        Subject: Re: VxWorks Loader (target shell)
        Subject: why two compile options CPU=ARMARCH4 and CPU=ARM7TDMI?(null)
        Subject: Re: Bootable application.
        Subject: ioctl(fd,FIOCONTIG,0x83000)

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

Newsgroups: comp.os.vxworks
Subject: TaskVarSet / TaskVarGet ?!
Date: Mon, 29 Jul 2002 19:13:32 -0400
From: Elias Radi <eradi@copper.net>
Message-ID: <3D45CC1C.9000203@copper.net>

Hi.

    I have a question about those 2 functions, Can TaskVarSet/Get
work with the variables of a task other than the current task?!
i.e. Task A and Task B each having their Vars. Can Task A or Set or
Get the Vars from Task B?

Thanks

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

Newsgroups: comp.os.vxworks
Subject: Sourcecode for several vxWorks library functions
Date: 29 Jul 2002 10:22:36 -0700
From: peter.koerner@us.transport.bombardier.com (Peter Koerner)
Organization: http://groups.google.com/
Message-ID: <4c791455.0207290922.7dc3d5f3@posting.google.com>

I have a vxWorks 5.4 (Tornado 2.0) compiled library which I need to
run on a vxWorks 5.3.1 (Tornado 1.0.1) target.
For some reason compiling under the 2.0 environment induces several
function calls to functions which were not supported under 1.0.1

I need the sourcecode of the following functions:
- - ___rtti_si
- - ___sjthrow
- - ___rtti_user
- - ___get_eh_context
- - ___vn__FUiPv
- - ___terminate
so that I can compile and link them together with the rest of my
software to resolve the unresolved open references.

What do these functions do, are they C++ specific ?

/peter

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

Newsgroups: comp.os.vxworks
Subject: Linux host for VxWorks howto
Date: Mon, 29 Jul 2002 10:16:39 -0700
From: "Behzad Abareshi" <abareshi@yahoo.com>
Organization: NOAO
Message-ID: <ai3tht$pq6$1@noao.edu>

Hi,

I shared my webpage on how to port NTP to VxWorks earlier, and have seen a
lot of traffic, which I naively interpret as interest :-) So I thought I
would share with you my webpage on how to build a linux gcc cross compiler
for VxWorks:

http://chard.tuc.noao.edu/mpg/vxworks/linuxHostingVx.html

I did this quite a while ago out of frustration of using a Sparc 5 as my
VxWorks host, which took 10 minutes to do a clean build of my app; by
switching to a Red Hat 6.2 running on a Pentium II 500 the same build took
59 seconds! I now use Red Hat 7.3 on a AMD XP, and haven't bothered timing
the build; it feels like it's under 30 seconds :-)

The info on the webpage is a bit out of date, and platform specific (it was
meant as and internal doc), and now that I am older and know a bit more
about cross compilers, I would probably do things a bit differently, but the
solution presented here worked, and I hope it will be helpful to a few
people out there as is. By the way, to get things working in RedHat 7.3, I
just copied things over from my Red Hat 6.2 box, and it worked.

If you have comments and suggestions, I would be happy to hear from you, but
no irate complaints that the instructions didn't work... :-)

Behzad.

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

Newsgroups: comp.os.vxworks
Subject: Re: Reboot error
Date: Mon, 29 Jul 2002 18:04:47 GMT
From: "H. E. Taylor" <het@despam.autobahn.mb.ca>
Organization: MTS Internet
Message-ID: <3D459E33.40EF@despam.autobahn.mb.ca>
References: <3d64955d.0207282250.45d40d7c@posting.google.com>

In article <3d64955d.0207282250.45d40d7c@posting.google.com>,
<txue@ureach.com> Thomas Xue wrote:
>
> I booted vxworks image (vxWorks 5.4) on my Intel board without any
> problems. But when I use CTRL+x or reboot, the display is as follws:
> 
>    ->Found an image -size 636334
> 
>          General Protection Fault
>           Program Counter:0x00000100
>           status Register:0x00010446
>             Error Code:0x0000fffc
>           Task:0xff69134 "tExcTask"
> 
> Does anyone know what happens?
>

	My guess would be that some module is writing through a bad 
	pointer and corrupting the interrupt vector table.  I think
	that 0x00000100 cannot be a valid PC.  I would suggest attacking
	the problem by simplifying.  Remove all custom code from
	the image &/ loaded objects until you can reboot, then code
	inspect. 

<fwiw>
- -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: Do I need a watchdog?
Date: 29 Jul 2002 17:12:00 -0700
From: jchen@terayon.com (john)
Organization: http://groups.google.com/
Message-ID: <a7df1543.0207291612.ef2540a@posting.google.com>

Hi everyone!

I have a general question for vxWorks...  I have a system (A) that
responds to a "heart beat" signal that comes from another system (B). 
If system A stops responding to system B, then system B will reset
system A.

Messages from B to A are passed through FCC port running ethernet
interface on MPC8260.  They are in forms of packets....  the response
from system A to system B is a ran at a task level, packet based
"reply" packet that goes over the FCC port to system B.

My question is, so I need a watchdog on system A?  In vxWorks, are
there any possibilities that maybe some tasks are dead on system A but
other tasks aren't?  (like, if my main task is dead but my heart beat
response task is still alive?

just curious.  thanks!

john

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

Newsgroups: comp.os.vxworks
Subject: Bootable application.
Date: 29 Jul 2002 12:24:40 -0700
From: dannyc@harmonicinc.com (Danny Cohen)
Organization: http://groups.google.com/
Message-ID: <41c1fd2b.0207291124.41ad151e@posting.google.com>

I'm looking for the best way to create bootable application for
PPC8260.
As i understand there are several alternatives:

Option 1. 
1.3 exceute bootable image that link together bootrom & VxWorks &
Application

Option 2. 
1.1 exceute bootrom image (boorom, bootrom_compressed or bootrom_rom
resident)
1.2 bootrom jump to VxWorks image using startup script with "ld"
command
1.3 exceute bootable image that link together VxWorks and Application

Option 3. 
1.1 exceute bootrom image (boorom, bootrom_compressed or bootrom_rom
resident)
1.2 bootrom jump to VxWorks image using startup script with "ld"
command
1.3 exceute VxWorks Image that include BSP+VxWorks kernel
1.4 exceute Application image

My Questions are:
1. What are the pros and cons of each method? how do i decide which is
suitable to my application?
2. In option 3: How can i make VxWorks image jump to Application
image? can i use "ld" command run automatically from target shell? Is
it doing "incremental link"?

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

Newsgroups: comp.os.vxworks
Subject: help! Basic flow chat of communication between the devices on the CPCi bus???
Date: 29 Jul 2002 17:38:26 -0700
From: joge709@hotmail.com (joge)
Organization: http://groups.google.com/
Message-ID: <1d168114.0207291638.dad4aa9@posting.google.com>

hi all,
Does anyone has the experience on the cpci bus?
can any one tell me the process of the boards on the cpci bus?

best regards,
joge

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

Newsgroups: comp.os.vxworks
Subject: Dp83815 driver
Date: 29 Jul 2002 17:39:00 -0700
From: snower_tiger@hotmail.com (snower)
Organization: http://groups.google.com/
Message-ID: <3f60ed07.0207291639.47349714@posting.google.com>

If someone has Dp83815 end driver source code for vxworks,please send
to me,my email: snower_tiger@hotmail.com    Thanks a lot.

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

Newsgroups: comp.os.vxworks
Subject: Re: Sourcecode for several vxWorks library functions
Date: Mon, 29 Jul 2002 15:42:12 -0400
From: david lindauer <dlindauer@notifier-is.net>
Message-ID: <3D459A94.D1293DBE@notifier-is.net>
References: <4c791455.0207290922.7dc3d5f3@posting.google.com>

yeah they look like they are various C++ helper functions required by
the GNU compiler.  Probably the easiest thing is to downgrade to
whatever version of the GNU tools came with vxWorks 5.3.1.

David

Peter Koerner wrote:

> I have a vxWorks 5.4 (Tornado 2.0) compiled library which I need to
> run on a vxWorks 5.3.1 (Tornado 1.0.1) target.
> For some reason compiling under the 2.0 environment induces several
> function calls to functions which were not supported under 1.0.1
>
> I need the sourcecode of the following functions:
> - ___rtti_si
> - ___sjthrow
> - ___rtti_user
> - ___get_eh_context
> - ___vn__FUiPv
> - ___terminate
> so that I can compile and link them together with the rest of my
> software to resolve the unresolved open references.
>
> What do these functions do, are they C++ specific ?
>
> /peter

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

Newsgroups: comp.os.vxworks
Subject: Re: Sourcecode for several vxWorks library functions
Date: 29 Jul 2002 16:20:29 -0400
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <m2wureffqq.fsf@sympatico.ca>
References: <4c791455.0207290922.7dc3d5f3@posting.google.com> <3D459A94.D1293DBE@notifier-is.net>
Sender: bpringle@DeadDuck

Peter Koerner wrote:

> I have a vxWorks 5.4 (Tornado 2.0) compiled library which I need to
> run on a vxWorks 5.3.1 (Tornado 1.0.1) target.
> For some reason compiling under the 2.0 environment induces several
> function calls to functions which were not supported under 1.0.1
>
> I need the sourcecode of the following functions:
> - ___rtti_si
> - ___sjthrow
> - ___rtti_user
> - ___get_eh_context
> - ___vn__FUiPv
> - ___terminate
> so that I can compile and link them together with the rest of my
> software to resolve the unresolved open references.
>
> What do these functions do, are they C++ specific ?

rtti == run time type identification.
get_eh_context == get exception handling context.

vn__FUiPv is a function that can not be found.  The utility
c++filt$(ARCH) can be used to determine what the heck the mangled
names are referring to.  

   C:\Tornado\target\lib>c++filtarm __vn__FUiPv
   operator new [](unsigned int, void *)

Looks like "vector new" to me.  A rather weird signature.  Why void*?

You will need the T2.0 install to get anywhere.  The file in

  "$(WIND_BASE)/host/$(WIND_HOST_TYPE)/$(ARCH)-wrs-vxworks/lib"
  "$(WIND_BASE)/target/lib/lib$(ARCH)gnuvx.a"

Will have these functions somewhere.  The "ar$(ARCH)" (gnu archiver)
and the objdump$(ARCH) (gnu bin-util objdump) can be used to extract
and manipulate these objects.

These function might not be needed (or called) at all.  If you compile
with default flags, C++ code is generated that calls these functions.
If you can request a new build, the flags (-fno-exceptions and
- -fno-rtti) would get rid of these functions.  They are mainly bloat as
most C++ code doesn't use exceptions or RTTI, but every object must
pay for these features [1].  It might be the case that a re-compile of
the source by a 3rd party would solve your problems (and make their
code run more efficiently).

You really need the code/objects from the Tornado distribution that
compiled the 3rd party stuff as it contains the object code that is
tied to the compiler that generated it.  I dont' know if you will be
able to get rid of all of the fucntions by recompiling with
"-fno-exceptions -fno-rtti".  However, it will eliminate some of the
unresolved.  It has made my code [2] about 30% when compiling with these
options.

hth,
Bill Pringlemeir

[1] - _Inside the C++ object model, Stanley B. Lippman, 1996 Addison Wesley.
[2] - Not mine, but code I "tend" anyways.

- -- 
All  my best  thoughts were  stolen by  the ancients.   -  Ralph Waldo
Emerson

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

Newsgroups: comp.os.vxworks,comp.periphs.scsi
Subject: Re: Low Level Format under Tornado 1
Date: Tue, 30 Jul 2002 00:32:46 +0200
From: "Folkert Rienstra" <see_Reply-To@myweb.nl>
Message-ID: <ai4rek$v6o68$1@ID-79662.news.dfncis.de>
References: <d4ede678.0207290134.3d5c8c05@posting.google.com>
Reply-To: "Folkert Rienstra" <folkert@rienstra01.myweb.nl>

"Giovanni Fissi" <gfissi@autostrade.it> wrote in message news:d4ede678.0207290134.3d5c8c05@posting.google.com...
: I have to manage with a custom architecture based on Motorola 68020 uP
: and SCSI H.D (most of them are Quantum Fireball ST). Operating System
: is vxWorks 5.3.1.
: 
: Quite often I need to perform a LLF to recover some HD: I've noticed
: that the vxWorks scsiFormatUnit command leave data unchanged and the
: only way to recover corrupted HD is to connect it to a PC with an
: ADAPTEC board and perform a LLF by this one.

Sounds like the Quantum supports a 'pseudo' Format Unit.
Some old Quantums just did a NoOp.

: Does anyone know why the vxWorks command doesn't work?

After some head scratching I think it may be doing the Format Unit 
command without FormatData. That does the most basic LLF without 
defect list management and initialization pattern specification.

'most basic LLF' will probably be drive mfgr dependant (see last 
sentence):
"The FORMAT UNIT command (see table 109) formats the medium 
into initiator addressable logical blocks per the initiator defined 
options. In addition, the medium may be certified and control struc-
tures may be created for the management of the medium and defects. 
There is no guarantee that the medium has or has not been altered."

: I've read in the group that vxWorks file system doesn't manage bad
: sectors in the FAT (or at least doesn't perform a surface test during
: the format procedure). Is it confirmed?
: 
: I'm trying to develop a my own Low Level Format Utility under vxWorks
: 5.3.1.
: Could anyone tell me the right step to follow ? (source code examples
: are welcome).
: 
: Thanks in advance
: Giovanni Fissi

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

Newsgroups: comp.os.vxworks
Subject: Re: sizeof problem
Date: Wed, 31 Jul 2002 10:00:04 +0800
From: "zhaoyandong" <zhaoyandong@sina.com.cn>
Organization: Bentium Ltd. (CN99)
Message-ID: <ai4s7t$aag$1@mail.cn99.com>
References: <ai2c3n$16br$1@mail.cn99.com> <C_a19.209185$uw.110403@rwcrnsc51.ops.asp.att.net>

> Reorder your fields, largest to smallest, so that the compiler doesn't
need
> to add padding.
>
> struct mystruct
> {
>     unsigned long d;
>     unsigned int e;
>     char a;
>     char b;
>     char c;
>     char f;
> };
> -Tom

- -------------------------------------------------------------------
Thanks, I know this .
But, when I test my struct in VC6.0 , if i don't add #pragma pack(1), the
sizeof return 16; if I add #pragma pack(1) before the struct, the result is
12.

in VxWorks, Despite I add #pragma pack(1) or don't add them, the result is
always  16.

I'm wondering whether whether Vxworks don't support #pragma pack(1) well?

- --zhaoyandong

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

Newsgroups: comp.os.vxworks
Subject: Re: sizeof problem
Date: Tue, 30 Jul 2002 02:50:17 GMT
From: "Tom Yee" <tomyee3@attbi.com>
Organization: AT&T Broadband
Message-ID: <J9n19.179243$Wt3.134236@rwcrnsc53>
References: <ai2c3n$16br$1@mail.cn99.com> <C_a19.209185$uw.110403@rwcrnsc51.ops.asp.att.net> <ai4s7t$aag$1@mail.cn99.com>

"zhaoyandong" <zhaoyandong@sina.com.cn> wrote in message
news:ai4s7t$aag$1@mail.cn99.com...
> > Reorder your fields, largest to smallest, so that the compiler doesn't
> need
> > to add padding.
> >
> > struct mystruct
> > {
> >     unsigned long d;
> >     unsigned int e;
> >     char a;
> >     char b;
> >     char c;
> >     char f;
> > };
> > -Tom
>
> -------------------------------------------------------------------
> Thanks, I know this .
> But, when I test my struct in VC6.0 , if i don't add #pragma pack(1), the
> sizeof return 16; if I add #pragma pack(1) before the struct, the result
is
> 12.
>
> in VxWorks, Despite I add #pragma pack(1) or don't add them, the result is
> always  16.
>
> I'm wondering whether whether Vxworks don't support #pragma pack(1) well?

It all depends on the architecture of  the underlying hardware.

For example, a 68K processor can access data of any size (byte, word,
longword) at even memory addresses. However, accessing word or longword at
an odd address will result in a bus error. Compilers for 68K add padding
bytes in data structures so that data is aligned on even addresses.

The PowerPC, on the other hand, can handle memory accesses at any address
without a bus error. However, extra bus cycles are required if words are not
word aligned (address divisible by 2) or if longwords are not longword
aligned (address divisible by four). These extra bus cycles result in a
performance hit. Thus, compilers for PowerPC will typically pad data
structures to optimize access to the data, but this default behavior can be
overridden with the appropriate pragma.

Other hardware architectures, like ARM or Intel, have still other behaviors.

- -Tom

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

Newsgroups: comp.os.vxworks
Subject: Re: sizeof problem
Date: Tue, 30 Jul 2002 05:16:22 GMT
From: Jerry Hudgins <jerry@e-farm.com>
Message-ID: <3D462121.4080101@e-farm.com>
References: <ai2c3n$16br$1@mail.cn99.com>
Reply-To:  jerry@e-farm.com

zhaoyandong wrote:
> 
> then even I added this statement
> #pragma pack(1)
> the result is still 16 !

This isn't really a VxWorks issue.  As noted by others, packing behavior 
depends on the target architecture, and also on the compiler.  I assume 
that you're using gcc - if so, try something like this:

   #define BYTE_PACKED    __attribute__ ((aligned(1), packed))
   #define EVEN_PACKED    __attribute__ ((aligned(2), packed))
   #define QUAD_PACKED    __attribute__ ((aligned(4), packed))

and add these to your structure member declarations as appropriate.  For 
example:

   struct foo {
     char a  BYTE_PACKED;
     char b  BYTE_PACKED;
   }

should pack down to two bytes.

- -jch

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

Newsgroups: comp.os.vxworks
Subject: Embedded Software Development
Date: 29 Jul 2002 23:17:34 -0700
From: andy_chenp@yahoo.com.cn (Andy Chan)
Organization: http://groups.google.com/
Message-ID: <4a24bc61.0207292217.7a8420b5@posting.google.com>

Embedded system design 
Embedded RTOS 
Software Design (C, C++, VC, Java...) 
Tcp/ip stack 
Electronic products

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

Newsgroups: comp.os.vxworks
Subject: windweb server question
Date: Tue, 30 Jul 2002 16:52:58 +1000
From: "M.C Wong" <wongmc@lucent.com>
Organization: Lucent Technologies, Columbus, Ohio
Message-ID: <ai5d4g$7ca@nntpb.cb.lucent.com>

Hi

Any windweb guru out here ? I've got a question regarding the SSI feature of
windweb.
I need to customise the web interface to get access to windweb on a vxworks
based device
and it uses many <WINDWEB> tags in the following manner:

<WINDWEB func = getInfo >
var1
var2
var3
...
varN
</WINDWEB>

to return values to var1, var2, ... varN when SSI function getInfo( ) is
executed by windweb.
For one time info that's fine, but for statistics retrieval, I need a way to
repeatedly call
getInfo( ) without having to use the following or equivalent to reload the
entire page
repeatedly:

<META HTTP-EQUIV="Refresh" CONTENT="5; URL=http://whatever">

Is it possible to just call the SSI function getInfo( ) directly via windweb
server and have
all the variables/parameters updated with new values ?

Thanks
MCW

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

Newsgroups: comp.os.vxworks
Subject: Re: help! Basic flow chat of communication between the devices on the CPCi bus???
Date: Mon, 29 Jul 2002 23:56:10 -0700
From: "Vivek Kumar" <_REMOVE_ME_.vivek@.employees.org>
Organization: usenet.com http://www.usenet.com 80,000+ UNCENSORED Newsgroups. The #1 Usenet Service on the Planet!
Message-ID: <3d463610$1@post.usenet.com>
References: <1d168114.0207291638.dad4aa9@posting.google.com>
Reply-To: "Vivek Kumar" <_REMOVE_ME_.vivek@.employees.org>

**** Post for FREE via your newsreader at post.usenet.com ****

Hi Joge,

from software point of view the cPci bus is exactly similar to PCI and you
can look at the standard PCi implementation to bring up your cards

- -vivek

"joge" <joge709@hotmail.com> wrote in message
news:1d168114.0207291638.dad4aa9@posting.google.com...
> hi all,
> Does anyone has the experience on the cpci bus?
> can any one tell me the process of the boards on the cpci bus?
>
> best regards,
> joge

- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 *** Usenet.com - The #1 Usenet Newsgroup Service on The Planet! ***
                      http://www.usenet.com
Unlimited Download - 19 Seperate Servers - 90,000 groups - Uncensored
- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

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

Newsgroups: comp.os.vxworks
Subject: Re: Do I need a watchdog?
Date: Tue, 30 Jul 2002 09:38:43 +0200
From: "Michael Lawnick" <mlawnick@no_spam.bndlg.de>
Organization: Buergernetz Dillingen
Message-ID: <ai5foj$kv6$1@snoopy.bndlg.de>
References: <a7df1543.0207291612.ef2540a@posting.google.com>
Reply-To: "Michael Lawnick" <mlawnick@no_spam.bndlg.de>
Sender: mlawnick@pd95249b0.dip.t-dialin.net

Hi John,
> My question is, so I need a watchdog on system A?  In vxWorks, are
> there any possibilities that maybe some tasks are dead on system A but
> other tasks aren't?
Sure, e.g. a task may crash on de-referencing a bad pointer, or a raise
condition may occure, or .... all you can and cannot imagine.
So even if your heart beat has lowest (255) priority and runs, it does not
mean at all that system is healthy.

Regards,
Michael

"john" <jchen@terayon.com> schrieb im Newsbeitrag
news:a7df1543.0207291612.ef2540a@posting.google.com...
> Hi everyone!
>
> I have a general question for vxWorks...  I have a system (A) that
> responds to a "heart beat" signal that comes from another system (B).
> If system A stops responding to system B, then system B will reset
> system A.
>
> Messages from B to A are passed through FCC port running ethernet
> interface on MPC8260.  They are in forms of packets....  the response
> from system A to system B is a ran at a task level, packet based
> "reply" packet that goes over the FCC port to system B.
>
> My question is, so I need a watchdog on system A?  In vxWorks, are
> there any possibilities that maybe some tasks are dead on system A but
> other tasks aren't?  (like, if my main task is dead but my heart beat
> response task is still alive?
>
> just curious.  thanks!
>
> john

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

Newsgroups: comp.os.vxworks
Subject: Re: TaskVarSet / TaskVarGet ?!
Date: Tue, 30 Jul 2002 09:40:31 +0200
From: "Michael Lawnick" <mlawnick@no_spam.bndlg.de>
Organization: Buergernetz Dillingen
Message-ID: <ai5fru$l4p$1@snoopy.bndlg.de>
References: <3D45CC1C.9000203@copper.net>
Reply-To: "Michael Lawnick" <mlawnick@no_spam.bndlg.de>
Sender: mlawnick@pd95249b0.dip.t-dialin.net

Hi Elias,

RTFM:
STATUS taskVarSet
    (
    int   tid,  /* ID of task whose task variable is to be set */
    int * pVar, /* pointer to task variable to be set for this task */
    int   value /* new value of task variable */
    )
"Elias Radi" <eradi@copper.net> schrieb im Newsbeitrag
news:3D45CC1C.9000203@copper.net...
> Hi.
>
>     I have a question about those 2 functions, Can TaskVarSet/Get
> work with the variables of a task other than the current task?!
> i.e. Task A and Task B each having their Vars. Can Task A or Set or
> Get the Vars from Task B?
>
> Thanks
>

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

Newsgroups: comp.os.vxworks
Subject: Re: vxWorks Rename bug in DosFs?
Date: 30 Jul 2002 00:40:36 -0700
From: zealous_swe@hotmail.com (Jonas)
Organization: http://groups.google.com/
Message-ID: <da76fb90.0207292340.64633cb7@posting.google.com>
References: <da76fb90.0207050210.56a360fa@posting.google.com> <newscache$yg1uyg$yh6$1@lnews.actcom.co.il> <da76fb90.0207290322.4cfa754@posting.google.com> <newscache$n5e00h$4kd$1@lnews.actcom.co.il>

I will make another attempt to explain my problem.
From the beginning I noticed that my modified FTP-server acted a bit
strange.
My server allways makes a temp file of a recived file until the whole
file is recived. When recived correctly the temp file is renamed to
the filename it's supposed to have. But this operation sometimes
failed.

I then discovered that the problem occured when I transfered whole
directory structurces from the PC to the vxWorks platform.
If the directory on vxWorks where named 'Nisse', but the directory on
the PC named 'nisse' the operation failed. In other words upper/lower
case made a diffrent. But it was not the upload operation that failed.
The file ended up in the right directory (in this case Nisse), but my
rename function failed.

I then made some tests and found out that even if my filesystem was
case insensitive the rename() function still was case sensitive. All
other operations like open(), cd()... is still case insensitive.

In my server i recive the filename from the PC that is to be stored on
Flashdisk on the vxWorks platform. (/hd0a:/Nisse/mytextfile.txt)

On the vxWorks side I allready have a directory named '/hd0a:/nisse/'.
I then use the Open(/hd0a:/Nisse/mytextfile.txt) function to check if
the file allready exists. Then the server saves the file in a temp.
file (/hd0a:/Nisse/F0001.tmp).

When the file is recived to 100% i rename the (/hd0a:/Nisse/F0001.tmp)
file to
(/hd0a:/Nisse/mytextfile.txt). This is not possible!! Since 'Nisse' is
not the same as 'nisse'.

The only explanation to this is that rename() is case sensitive. In my
first post i described how to repeat this without using my FTP-server.

I hope this makes more sense!

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

Newsgroups: comp.os.vxworks
Subject: about debug step by step under multitask environment
Date: 30 Jul 2002 00:44:50 -0700
From: huangyongjd@21cn.com (hyper)
Organization: http://groups.google.com/
Message-ID: <38d66cc7.0207292344.96fb8fe@posting.google.com>

hi,
  i have a problem,how to debug step by step under multitask environment,
though i have a very fool way:use sem,but i wish someone can give me a better 
one.

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

Newsgroups: comp.os.vxworks
Subject: Re: Multitask debug
Date: 30 Jul 2002 00:53:48 -0700
From: huangyongjd@21cn.com (hyper)
Organization: http://groups.google.com/
Message-ID: <38d66cc7.0207292353.15167ad4@posting.google.com>
References: <254be7e.0207240332.6f212f44@posting.google.com>

yh86us@yahoo.com (chc) wrote in message news:<254be7e.0207240332.6f212f44@posting.google.com>...
> Hi,
> 
> Multitask debug in Tornado is such a pain. Although I've followed the
> user guide to set up the END driver in the kernel image, I can only
> debug multitask in some simple program. In the larger program, the
> breakpoint in other threads can be stoped, but the source code did not
> show, and there was no way to continue the debug. The Attach command
> in the Debug menu was also not able to setup. Any adverce is much
> appreciated. I am using Tornato 2.1 in PPC target, the debug was via
> Ethernet.
> 
> Thank you.

you can try my foolish way:use sem to control the running of multitask

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

Newsgroups: comp.os.vxworks
Subject: Re: Bootable application.
Date: Tue, 30 Jul 2002 09:55:36 +0200
From: "Michael Lawnick" <mlawnick@no_spam.bndlg.de>
Organization: Buergernetz Dillingen
Message-ID: <ai5go7$n1g$1@snoopy.bndlg.de>
References: <41c1fd2b.0207291124.41ad151e@posting.google.com>
Reply-To: "Michael Lawnick" <mlawnick@no_spam.bndlg.de>
Sender: mlawnick@pd95249b0.dip.t-dialin.net

Hi Danny,

you got something wrong:

bootloader, aka bootrom, loads and runs the VxWorks-image given in
file-parameter of bootline.
After VxWorks is up and running, just before calling usrAppInit(), the file
referenced by startup-script parameter will be used as an input-stream for
target-console. When finished, usrAppInit() will be called.

So you have the 4 main options:
bootloader - VxWorks - application (startup-script loads and calls app)
VxWorks_rom - application (startup-script loads and calls app)
bootloader - VxWorks/application (usrAppInit() calls app)
VxWorks_rom/application (usrAppInit() calls app)

Which one you chooses depends on:
- - size of bootrom
- - probability of image change
- - whether a crash while download must be recoverable
- - amount of application objects, data files, availability of external
devices, ...........

Typically for small applications, if they fit in bootrom:
While development: bootloader - VxWorks - Application
Final either
bootloader - VxWorks/application (if remote updates or updates by minor
service has to be done)
or
VxWorks_rom/application (if no update is planned, typically standalone
embedded controller)

HTH
Michael

"Danny Cohen" <dannyc@harmonicinc.com> schrieb im Newsbeitrag
news:41c1fd2b.0207291124.41ad151e@posting.google.com...
> I'm looking for the best way to create bootable application for
> PPC8260.
> As i understand there are several alternatives:
>
> Option 1.
> 1.3 exceute bootable image that link together bootrom & VxWorks &
> Application
>
> Option 2.
> 1.1 exceute bootrom image (boorom, bootrom_compressed or bootrom_rom
> resident)
> 1.2 bootrom jump to VxWorks image using startup script with "ld"
> command
> 1.3 exceute bootable image that link together VxWorks and Application
>
>
> Option 3.
> 1.1 exceute bootrom image (boorom, bootrom_compressed or bootrom_rom
> resident)
> 1.2 bootrom jump to VxWorks image using startup script with "ld"
> command
> 1.3 exceute VxWorks Image that include BSP+VxWorks kernel
> 1.4 exceute Application image
>
> My Questions are:
> 1. What are the pros and cons of each method? how do i decide which is
> suitable to my application?
> 2. In option 3: How can i make VxWorks image jump to Application
> image? can i use "ld" command run automatically from target shell? Is
> it doing "incremental link"?

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

Newsgroups: comp.os.vxworks
Subject: Re: VxWorks Loader (target shell)
Date: Tue, 30 Jul 2002 10:15:53 +0200
From: "Michael Lawnick" <mlawnick@no_spam.bndlg.de>
Organization: Buergernetz Dillingen
Message-ID: <ai5hu8$p93$1@snoopy.bndlg.de>
References: <ahrrt8$fuj$1@rex.ip-plus.net> <ai2puj$r1m$1@snoopy.bndlg.de> <ai39a3$a5s$1@rex.ip-plus.net>
Reply-To: "Michael Lawnick" <mlawnick@no_spam.bndlg.de>
Sender: mlawnick@pd95249b0.dip.t-dialin.net

Hi Rene,
based on the descriptions, the only things I can imagine is:

you are downloading via host-tools, i.e. target-server.
Your collegue has increased his target-agent memory pool, so the image fits.
On your target the image does not fit, so target-agent allocates additional
memory from heap ....

Regards,
Michael

"Rene Straub" <_remove_rene.straub@yetnet.ch> schrieb im Newsbeitrag
news:ai39a3$a5s$1@rex.ip-plus.net...
> Hello Michael,
>
> I checked his build scripts for -mlongcall, but he does not use it.
> Actually my build scripts were derived from his settings.
> I checked his outfile for undefined symbols and found several
> vxWorks API (i.e. memPartInfoGet and the like). So there must
> be something else.
>
> - Rene
>
> "Michael Lawnick" <mlawnick@no_spam.bndlg.de> wrote in message
> news:ai2puj$r1m$1@snoopy.bndlg.de...
> > Hi Rene,
> > > So it seems as if there is something in the out file (ELF format)
> > > that tells the loader to load the file to a memory address below
> > > 32 MB (so that normals PPC branches work). Unfortunately I haven't
> > > found out what the difference in our out files is.
> > More likely, there is no system call within the image, i.e. it needs no
> > includes, so no jump over 24bit occures. The other possibility is that
> your
> > collegue has set -mlongcall. Remember: this flag needs not to be set in
> > vxWorks, but in the application.
> >
> > HTH
> > Michael
> >
> > "Rene Straub" <_remove_rene.straub@yetnet.ch> schrieb im Newsbeitrag
> > news:ahrrt8$fuj$1@rex.ip-plus.net...
> > > I am observing an interesting behaviour of the loader used
> > > in Tornado (target shell). I wonder if anyone has an idea what's
> > > going on here.
> > >
> > > I added additional memory to a PPC system (more than 32 MB)
> > > which (of course) lead to the infameous "24 bit relocation problem".
> > > I worked around this in that I don't tell VxWorks about the
> > > additional memory and later mount it in my application (I can't
> > > use -mlongcall).
> > >
> > > Now comes the strange thing. Another guy can load his application
> > > without any problem to a PPC based board with 64 MB of RAM.
> > > I can download his .out file on my system without a problem.
> > > Loading my out file in his system fails with the relocation problem.
> > > So it seems as if there is something in the out file (ELF format)
> > > that tells the loader to load the file to a memory address below
> > > 32 MB (so that normals PPC branches work). Unfortunately I haven't
> > > found out what the difference in our out files is.
> > >
> > > Does anyone know how one can create an out file that is loaded
> > > to low memory addresses (<32 MB) ? Is the whole thing I am
> > > observing here just pure accident ?
> > >
> > > Yours
> > > - Rene
> > >
> > >
> > >
> > >
> > >
> > >
> >
> >
>
>

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

Newsgroups: comp.os.vxworks
Subject: why two compile options CPU=ARMARCH4 and CPU=ARM7TDMI?(null)
Date: 30 Jul 2002 01:45:53 -0700
From: liuyangxin@163.net (sozn)
Organization: http://groups.google.com/
Message-ID: <e78931c1.0207300045.4416974f@posting.google.com>

I have two BSPs about ARM7, but they are different in the CPU Type declaration.
I don't know to use which one.

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

Newsgroups: comp.os.vxworks
Subject: Re: Bootable application.
Date: Tue, 30 Jul 2002 09:23:50 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns925B73761240Cborkhuisagerecom@192.19.193.66>
References: <41c1fd2b.0207291124.41ad151e@posting.google.com>

dannyc@harmonicinc.com (Danny Cohen) wrote:

> I'm looking for the best way to create bootable application for
> PPC8260.
> As i understand there are several alternatives:
> 
> Option 1. 
> 1.3 exceute bootable image that link together bootrom & VxWorks &
> Application
> 
> Option 2. 
> 1.1 exceute bootrom image (boorom, bootrom_compressed or bootrom_rom
> resident)
> 1.2 bootrom jump to VxWorks image using startup script with "ld"
> command
> 1.3 exceute bootable image that link together VxWorks and Application
> 
> 
> Option 3. 
> 1.1 exceute bootrom image (boorom, bootrom_compressed or bootrom_rom
> resident)
> 1.2 bootrom jump to VxWorks image using startup script with "ld"
> command
> 1.3 exceute VxWorks Image that include BSP+VxWorks kernel
> 1.4 exceute Application image
> 
> My Questions are:
> 1. What are the pros and cons of each method? how do i decide which is
> suitable to my application?

Option 1 is the least desirable, as you have to reprogram your bootloader 
every time you change your SW. Option 2 or 3 are not that different, but 
for option 2 you don't need a file system, while for option 3 it is much 
easier if you have a file system. The advantage of option 2 over option 3 
is that you do not have to worry about missing symbols, as all symbols 
will be included during linktime.

> 2. In option 3: How can i make VxWorks image jump to Application
> image? can i use "ld" command run automatically from target shell? Is
> it doing "incremental link"?

Yes, you can do an 'ld'. And if you have a file system on your target you 
can even have several applications that you put on there.

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: ioctl(fd,FIOCONTIG,0x83000)
Date: 30 Jul 2002 03:32:54 -0700
From: shyang@netease.com (yang)
Organization: http://groups.google.com/
Message-ID: <8446174.0207300232.7e8f23d2@posting.google.com>

I am using DosFs2.0 in tornado2.0 ,now I want to write a file with
contiues ,so I use ioctl(fd,FIOCONTIG,0x83000) after I creat a file.
next I open it and write it again. Because I can't write it the same
size like
0x83000,I 'd to open it and lseek(fd,size,SEEK_SET),I find when I
write it again the file can't be continues ? why?

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

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

From vxwexplo-errs@csg.lbl.gov  Tue Jul 30 06:26:04 2002
From: Michael.Mezheritsky@lightscapenet.com
Date: Tue Jul 30 06:26:06 PDT 2002
Subject: hook for output IP packet

Hello,
Would vxWorks has hook for output IP packet (not etherHook) as well as it
has for input (IpFilterHookAdd)
If not, how ultimately could I do it?

From vxwexplo-errs@csg.lbl.gov  Tue Jul 30 21:17:44 2002
From: Raghavan <ragavclv@intotoinc.com>
Date: Tue Jul 30 21:17:46 PDT 2002
Subject: Re: comp.os.vxworks newsdigest

Hi,
 I would like to know where I can find a source code for dp83815 END driver for VxWorks.

Thanking in advance,
Raghavan.

From vxwexplo-errs@csg.lbl.gov  Wed Jul 31 04:03:16 2002
From: Vxworks Exploder <vx_explo@csg.lbl.gov>
Date: Wed Jul 31 04:03:19 PDT 2002
Subject: comp.os.vxworks newsdigest

Comp.Os.Vxworks Daily Digest    Wed Jul 31 04:03:13 PDT 2002

        Subject: Re: ioctl(fd,FIOCONTIG,0x83000)
        Subject: Re: TaskVarSet / TaskVarGet ?!
        Subject: Re: compatibility of files between tornado2.0 and tornado1.0
        Subject: Re: Help me identify the error and rectify it plz very urgent help needed from u mentors
        Subject: Re: Help me identify the error and rectify it plz very urgent help needed from u mentors
        Subject: Re: Bootable application.
        Subject: Re: TaskVarSet / TaskVarGet ?!
        Subject: Re: about debug step by step under multitask environment
        Subject: Re: Bootable application.
        Subject: changes at BSP of 8260
        Subject: Re: windweb server question
        Subject: WindNet NAT performance?
        Subject: Re: changes at BSP of 8260
        Subject: Re: FTP probelm
        Subject: Re: DHCP Servers' relay agent functionality
        Subject: Building and Loading bootable image
        Subject: Re: Bootable application.
        Subject: taskSuspend()
        Subject: Re: Bootable application.
        Subject: Re: taskSuspend()
        Subject: Re: Multitask debug
        Subject: Re: about debug step by step under multitask environment
        Subject: fprintf() and fflush() problems
        Subject: Multithread
        Subject: ccppc compiler steps
        Subject: Re: vxWorks Rename bug in DosFs?
        Subject: Re: Reboot error
        Subject: Re: fprintf() and fflush() problems
        Subject: Re: taskSuspend()
        Subject: Re: snprintf?

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

Newsgroups: comp.os.vxworks
Subject: Re: ioctl(fd,FIOCONTIG,0x83000)
Date: Tue, 30 Jul 2002 13:54:38 +0200
From: "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM>
Organization: Verio
Message-ID: <newscache$y6920h$eag$1@lnews.actcom.co.il>
References: <8446174.0207300232.7e8f23d2@posting.google.com>

I strongly recommend you to read the DosFs 2.0 release manual,
there is a section specific to contigous files which will be very useful to
you.

Besides, I do not really undertsnad what is the problem you are having.

"yang" <shyang@netease.com> wrote in message
news:8446174.0207300232.7e8f23d2@posting.google.com...
> I am using DosFs2.0 in tornado2.0 ,now I want to write a file with
> contiues ,so I use ioctl(fd,FIOCONTIG,0x83000) after I creat a file.
> next I open it and write it again. Because I can't write it the same
> size like
> 0x83000,I 'd to open it and lseek(fd,size,SEEK_SET),I find when I
> write it again the file can't be continues ? why?

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

Newsgroups: comp.os.vxworks
Subject: Re: TaskVarSet / TaskVarGet ?!
Date: Tue, 30 Jul 2002 08:09:56 -0400
From: Elias Radi <eradi@copper.net>
Message-ID: <3D468214.7090000@copper.net>
References: <3D45CC1C.9000203@copper.net> <ai5fru$l4p$1@snoopy.bndlg.de>

Michael,

   I know that, but what is not clear or maybe its clear and I'm just 
not seeing it... If I'm running in the context of task A can I do a 
taskSetVar for task B or vice versa... Because I'm looking at home the 
equivalent pthreads (pthread_setspecific) works, and I don't think you 
can do that with pthreads...

Michael Lawnick wrote:
> Hi Elias,
> 
> RTFM:
> STATUS taskVarSet
>     (
>     int   tid,  /* ID of task whose task variable is to be set */
>     int * pVar, /* pointer to task variable to be set for this task */
>     int   value /* new value of task variable */
>     )
> "Elias Radi" <eradi@copper.net> schrieb im Newsbeitrag
> news:3D45CC1C.9000203@copper.net...
> 
>>Hi.
>>
>>    I have a question about those 2 functions, Can TaskVarSet/Get
>>work with the variables of a task other than the current task?!
>>i.e. Task A and Task B each having their Vars. Can Task A or Set or
>>Get the Vars from Task B?
>>
>>Thanks
>>
> 
> 
> 

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

Newsgroups: comp.os.vxworks
Subject: Re: compatibility of files between tornado2.0 and tornado1.0
Date: 30 Jul 2002 05:46:23 -0700
From: vxnerd@rediffmail.com (subbarayan)
Organization: http://groups.google.com/
Message-ID: <f81c4277.0207300446.22fcabc9@posting.google.com>
References: <f81c4277.0207252114.45650@posting.google.com> <PE809.401$S72.14999743@newssvr16.news.prodigy.com> <f81c4277.0207262225.43560bac@posting.google.com> <Zmu09.901$Tv.37108767@newssvr15.news.prodigy.com> <f81c4277.0207290053.65750ac9@posting.google.com> <G9b19.4828$Q24.67684510@newssvr17.news.prodigy.com>

dear Mr.John,
Thanks again for ur follow up for me and ur prompt reply.I would like
to inform u that my tornado1.0 does not contain any file which has
function definition for sysInLong and sysOutLong and I checked
thoroughly my whole system and even uninstalled and installed
tornado1.0 again.I jus tried to find it in my system using standard
windows find text in files tool but unable to find even a single file
which contains the defn for above said functions.Kindly let me know
where it will be available and any other alternatives for solving my
problem of writing device drivers for pci cards using tornado1.0
itself.
Advanced thanks for ur reply.
Regards,
s.subbarayan

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

Newsgroups: comp.os.vxworks
Subject: Re: Help me identify the error and rectify it plz very urgent help needed from u mentors
Date: 30 Jul 2002 05:54:14 -0700
From: vxnerd@rediffmail.com (subbarayan)
Organization: http://groups.google.com/
Message-ID: <f81c4277.0207300454.1d55f63a@posting.google.com>
References: <f81c4277.0207290101.3ffda433@posting.google.com> <MPG.17af00c18043ada4989696@news1.news.adelphia.net> <Jjb19.4829$C44.67795988@newssvr17.news.prodigy.com>

dear Mr.John,
Thanks for pointing out i need training thats a fact to be
accepted.Since i don't have an oppurtunity to go for training nor i
have financial support neither my company not willing to send me,I am
relying on mentors like u and thats why i ask u and jus help sort of
thing.
Then as mentioned in my previous post I did not mention clearly abt
the files i used.Actually as per ur advice i used the config and iomap
files seperately only and did not club them.I mean config files were
tested using a seperate source file appln and iomap files tested using
seperate appln.I did not club them as mentioned by u.
Then u said i need not include pciIomapLib.c file in my
application.Then kindly inform me how to use it and pass arguements to
the functions defined in it?
As I am new and unaware of these things i did it like that.
Kindly mention me how to use these files in my application so that I
will be successfully completing my project.
Regards,
s.subbarayan

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

Newsgroups: comp.os.vxworks
Subject: Re: Help me identify the error and rectify it plz very urgent help needed from u mentors
Date: 30 Jul 2002 09:38:22 -0400
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <m27kjdqqsx.fsf@sympatico.ca>
References: <f81c4277.0207290101.3ffda433@posting.google.com> <MPG.17af00c18043ada4989696@news1.news.adelphia.net> <Jjb19.4829$C44.67795988@newssvr17.news.prodigy.com> <f81c4277.0207300454.1d55f63a@posting.google.com>
Sender: bpringle@DeadDuck

"Sub" == subbarayan

 Sub> Thanks for pointing out i need training thats a fact to be
 Sub> accepted.Since i don't have an oppurtunity to go for training
 Sub> nor i have financial support neither my company not willing to
 Sub> send me,I am relying on mentors like u and thats why i ask u and
 Sub> jus help sort of thing.  

If this is the case, your company should investigate using either
ucLinux or another embedded Linux which is freely available on the
Internet.  There is also a wealth of information that this freely
available on this product.  The price your company pays is that you
should put some of your work back towards the Open Source community.

If your company is doing contract work and the OS is not negotiable,
they should quote a higher price for the contract.  How can we have
sympathy for you?  Your questions have been of an exceedingly simple
nature.  While questions on comp.os.vxworks are usually very simple
[with occasionally interesting topic], the ones you ask are starting
to make this group look like line noise.

fwiw,
Bill Pringlemeir.

- -- 
ANNOYED BY IRC SERVER. SINKING. U-806.

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

Newsgroups: comp.os.vxworks
Subject: Re: Bootable application.
Date: Tue, 30 Jul 2002 15:24:02 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3D46AE56.5040906@spamm.me.l8s.co.uk>
References: <41c1fd2b.0207291124.41ad151e@posting.google.com> <Xns925B73761240Cborkhuisagerecom@192.19.193.66>

>>
>>Option 1. 
>>1.3 exceute bootable image that link together bootrom & VxWorks &
>>Application

> 
> Option 1 is the least desirable, as you have to reprogram your bootloader 
> every time you change your SW.

Why?  Add code to your image to copy a file from the network into the
bootload area of your EPROMs.  Easy...
You do need to have a fallback method of booting though :-)

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: TaskVarSet / TaskVarGet ?!
Date: Tue, 30 Jul 2002 15:28:27 +0000 (UTC)
From: David Laight <david@spamm.me.l8s.co.uk>
Organization: BT Openworld
Message-ID: <3D46AF5E.7060308@spamm.me.l8s.co.uk>
References: <3D45CC1C.9000203@copper.net>

Elias Radi wrote:
> Hi.
> 
>    I have a question about those 2 functions, Can TaskVarSet/Get
> work with the variables of a task other than the current task?!
> i.e. Task A and Task B each having their Vars. Can Task A or Set or
> Get the Vars from Task B?

RTFM - these routines only exist to enable you to change a variable
of another task.
Indeed it is quite likely (given the implicated implementation) that
requests to change the variables of the current task will have no
(long lasting) effect.

	David

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

Newsgroups: comp.os.vxworks
Subject: Re: about debug step by step under multitask environment
Date: Tue, 30 Jul 2002 09:05:57 -0700
From: "Vivek Kumar" <_REMOVE_ME_.vivek@.employees.org>
Organization: usenet.com http://www.usenet.com 80,000+ UNCENSORED Newsgroups. The #1 Usenet Service on the Planet!
Message-ID: <3d46b6e4$1@post.usenet.com>
References: <38d66cc7.0207292344.96fb8fe@posting.google.com>
Reply-To: "Vivek Kumar" <_REMOVE_ME_.vivek@.employees.org>

**** Post for FREE via your newsreader at post.usenet.com ****

Use gdb it comes with tornado and works very well in multitasking
enviornemnts.

- -vivek
"hyper" <huangyongjd@21cn.com> wrote in message
news:38d66cc7.0207292344.96fb8fe@posting.google.com...
> hi,
>   i have a problem,how to debug step by step under multitask environment,
> though i have a very fool way:use sem,but i wish someone can give me a
better
> one.

- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 *** Usenet.com - The #1 Usenet Newsgroup Service on The Planet! ***
                      http://www.usenet.com
Unlimited Download - 19 Seperate Servers - 90,000 groups - Uncensored
- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

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

Newsgroups: comp.os.vxworks
Subject: Re: Bootable application.
Date: 30 Jul 2002 09:09:49 -0700
From: dannyc@harmonicinc.com (Danny Cohen)
Organization: http://groups.google.com/
Message-ID: <41c1fd2b.0207300809.61c0e3df@posting.google.com>
References: <41c1fd2b.0207291124.41ad151e@posting.google.com> <ai5go7$n1g$1@snoopy.bndlg.de>

Thank you very much Michael.

I think i'll go on option 2:
VxWorks_rom - application (startup-script loads and calls app)

Flash is very big (32 M). why?
1. I expect that changes at the VxWorks_rom will be very rare.
2. I expect that changes at the Application will be very frequently.
3. I also intend to have File-System on Flash.

Do you think my desicion is wise?
Is it means that i have to configure VxWorks_rom image to create FFS?
Can i make the application image as a standard Dos File?
How do i make VxWorks support "ld" command?
How do i make the startup script run the application file?
How can i program the flash with new VxWorks_rom image?

"Michael Lawnick" <mlawnick@no_spam.bndlg.de> wrote in message news:<ai5go7$n1g$1@snoopy.bndlg.de>...
> Hi Danny,
> 
> you got something wrong:
> 
> bootloader, aka bootrom, loads and runs the VxWorks-image given in
> file-parameter of bootline.
> After VxWorks is up and running, just before calling usrAppInit(), the file
> referenced by startup-script parameter will be used as an input-stream for
> target-console. When finished, usrAppInit() will be called.
> 
> So you have the 4 main options:
> bootloader - VxWorks - application (startup-script loads and calls app)
> VxWorks_rom - application (startup-script loads and calls app)
> bootloader - VxWorks/application (usrAppInit() calls app)
> VxWorks_rom/application (usrAppInit() calls app)
> 
> Which one you chooses depends on:
> - size of bootrom
> - probability of image change
> - whether a crash while download must be recoverable
> - amount of application objects, data files, availability of external
> devices, ...........
> 
> Typically for small applications, if they fit in bootrom:
> While development: bootloader - VxWorks - Application
> Final either
> bootloader - VxWorks/application (if remote updates or updates by minor
> service has to be done)
> or
> VxWorks_rom/application (if no update is planned, typically standalone
> embedded controller)
> 
> HTH
> Michael
> 
> "Danny Cohen" <dannyc@harmonicinc.com> schrieb im Newsbeitrag
> news:41c1fd2b.0207291124.41ad151e@posting.google.com...
> > I'm looking for the best way to create bootable application for
> > PPC8260.
> > As i understand there are several alternatives:
> >
> > Option 1.
> > 1.3 exceute bootable image that link together bootrom & VxWorks &
> > Application
> >
> > Option 2.
> > 1.1 exceute bootrom image (boorom, bootrom_compressed or bootrom_rom
> > resident)
> > 1.2 bootrom jump to VxWorks image using startup script with "ld"
> > command
> > 1.3 exceute bootable image that link together VxWorks and Application
> >
> >
> > Option 3.
> > 1.1 exceute bootrom image (boorom, bootrom_compressed or bootrom_rom
> > resident)
> > 1.2 bootrom jump to VxWorks image using startup script with "ld"
> > command
> > 1.3 exceute VxWorks Image that include BSP+VxWorks kernel
> > 1.4 exceute Application image
> >
> > My Questions are:
> > 1. What are the pros and cons of each method? how do i decide which is
> > suitable to my application?
> > 2. In option 3: How can i make VxWorks image jump to Application
> > image? can i use "ld" command run automatically from target shell? Is
> > it doing "incremental link"?

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

Newsgroups: comp.os.vxworks
Subject: changes at BSP of 8260
Date: 30 Jul 2002 09:16:09 -0700
From: dannyc@harmonicinc.com (Danny Cohen)
Organization: http://groups.google.com/
Message-ID: <41c1fd2b.0207300816.1fccef70@posting.google.com>

Is there a Cook-Book how to change the BSP of SBC8260 evaluation board
to the  BSP of my device? what files need to be changed?

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

Newsgroups: comp.os.vxworks
Subject: Re: windweb server question
Date: Tue, 30 Jul 2002 12:58:16 -0400
From: david lindauer <dlindauer@notifier-is.net>
Message-ID: <3D46C5A8.B1DE266E@notifier-is.net>
References: <ai5d4g$7ca@nntpb.cb.lucent.com>

the only way to retrieve info from a web page is to either display it (SSI gets
run to handle the display aspects) or submit it (SSI gets run to parse
variables).  OTher than that there is no syncronization between the server and
the browser, unless you want to use the java package they have which allows live
updates via a seperate TCP/IP connection (or write similar functionality).

David

"M.C Wong" wrote:

> Hi
>
> Any windweb guru out here ? I've got a question regarding the SSI feature of
> windweb.
> I need to customise the web interface to get access to windweb on a vxworks
> based device
> and it uses many <WINDWEB> tags in the following manner:
>
> <WINDWEB func = getInfo >
> var1
> var2
> var3
> ...
> varN
> </WINDWEB>
>
> to return values to var1, var2, ... varN when SSI function getInfo( ) is
> executed by windweb.
> For one time info that's fine, but for statistics retrieval, I need a way to
> repeatedly call
> getInfo( ) without having to use the following or equivalent to reload the
> entire page
> repeatedly:
>
> <META HTTP-EQUIV="Refresh" CONTENT="5; URL=http://whatever">
>
> Is it possible to just call the SSI function getInfo( ) directly via windweb
> server and have
> all the variables/parameters updated with new values ?
>
> Thanks
> MCW

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

Newsgroups: comp.os.vxworks
Subject: WindNet NAT performance?
Date: Sat, 13 Jul 2002 04:32:24 GMT
From: "Digital Man" <digital.man@remove-120p-this.vert.synchro.net>
Organization: Prodigy Internet http://www.prodigy.com
Message-ID: <3D2FBBF1.631.UVXWORKS@vert.synchro.net>
References: <3D2F6180.624.UVXWORKS@vert.synchro.net>

  To: rprewitt@oni.com (Rob Prewitt)
  Re: WindNet NAT performance?
  By: rprewitt@oni.com (Rob Prewitt) to comp.os.vxworks on Fri Jul 12 2002 02:12 pm

 > Does anyone have information on the performance of the NAT module? How
 > much overhead is involved in performing the translation function? We
 > are using a MPC860 @ 50MHz if that helps.

If you're talking about WindNet NAT, to my knowledge, that product has never
been instrumented by Wind River. The number of instructions required to
translate a specific packet will depend greatly on too many variables to come
up with a "typical" number of instructions anyway.

                                                 digital man
- --- Synchronet NewsLink v1.00 Beta
 *  Vertrauen - Fullerton, California - telnet://vert.synchro.net

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

Newsgroups: comp.os.vxworks
Subject: Re: changes at BSP of 8260
Date: Tue, 30 Jul 2002 12:35:29 -0700
From: "Michael R. Kesti" <mkesti@gv.net>
Organization: MK Associates
Message-ID: <3D46EA81.6D96158E@gv.net>
References: <41c1fd2b.0207300816.1fccef70@posting.google.com>
Reply-To: mkesti@gv.net

Danny Cohen wrote:

>Is there a Cook-Book how to change the BSP of SBC8260 evaluation board
>to the  BSP of my device?

I usually avoid saying that something doesn't exist but, in this case,
I think it's safe to say "No."

>                          what files need to be changed?

That almost entirely depends on how your board differs from the SBC8260.

- -- 
========================================================================
          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,comp.os.qnx
Subject: Re: FTP probelm
Date: Tue, 30 Jul 2002 19:49:15 GMT
From: "Ho-Kuo Chan" <hchan@wavesat.com>
Organization: GlobeTrotter
Message-ID: <%4C19.9843$gM.495947@charlie.risq.qc.ca>
References: <f8bb70a1a25a601ee7eca0f3f5ae3764.98538@mygate.mailgate.org> <363d071b.0207061417.4841b4c3@posting.google.com> <33a82c0f2d66346702ed874342afc4e9.98538@mygate.mailgate.org>

Have you tried sniffing the ftp transfer?

- --

Ho-Kuo Chan

"Ganesh Anand" <ganeshtp@myw.ltindia.com> wrote in message
news:33a82c0f2d66346702ed874342afc4e9.98538@mygate.mailgate.org...
> hi guys,
>
>      now i could transfer data thro FTP but i couldn't do that above
> 1024 bytes
> connection goes after transferrring 1024 bytes. i tried to find that
> ftpdWindowSize global variable but i cudn't find it since it had been
> set
> in Lib files.
>
>     how to solve this probelm? any one cud help me
>
>   with rgds,
>   ganesh
>
>
> --
> Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Newsgroups: comp.os.vxworks
Subject: Re: DHCP Servers' relay agent functionality
Date: Tue, 30 Jul 2002 20:01:03 GMT
From: "Ho-Kuo Chan" <hchan@wavesat.com>
Organization: GlobeTrotter
Message-ID: <3gC19.9848$gM.496454@charlie.risq.qc.ca>
References: <a26a7b31.0207120213.54937bdb@posting.google.com>

Hello Hermant,
    It would be helpful if you could be more clear about what type of
platform you are using. In any case, the DHCP Relay Agent in VxWorks has A
LOT of problems. I had to get several patches from Wind River before the
Relay Agent would work. In particular, the Relay agent would relay DHCP
packets to the Server, but would not return packets from the Server to the
client. I suggest you place a packet sniffer/network analyzer to verify
this.

- --

Ho-Kuo Chan

"Hemant Kumar" <hekumar@hss.hns.com> wrote in message
news:a26a7b31.0207120213.54937bdb@posting.google.com...
> hi
> i have configured dhcp server1 to relay requests to another vxworks
> dhcp server-server2 through usrDhcpsNetCfg.c.
> Default routing entries have been added to both servers to route to
> their gateways. (Both servers are on different subnets)
> Now i run ipconfig/renew on a dhcp client on server1's subnet for
> getting a lease for the client. the configuration info of client is
> with server2 and not with server1. server1 is correctly able to relay
> the request to server2 but server2 is unable to grant a lease to the
> client.
> I am using Tornado 2
> Could u let me know what is wrong.
> Thanks a lot
> Hemant

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

Newsgroups: comp.os.vxworks
Subject: Building and Loading bootable image
Date: 30 Jul 2002 13:26:43 -0700
From: ryeung@earthlink.net (Raymond Yeung)
Organization: http://groups.google.com/
Message-ID: <d83bb8e3.0207301226.204b5ba1@posting.google.com>

I've an MPC8260 based board, and am currently a user of
visionPROBE/visionCLICK.  I've been using visionPROBE
to program our flash with boot code and it has been working
fine.
 
We need to have a way to program the flash without
visionPROBE, so that we can do field upgrade.  In particular,
we are thinking of loading boot image with the target software.
I need some help on the following questions:
 
+ What's the format of the boot code we need to build (that
   we can download without visionPROBE, and can expect
   it to boot)?
   What Tornado's tool should I use (and what options, if
   any) to generate such boot code?
 
+ Once we generate the file, can we simply do an FTP
   of the file to target RAM, then straightly copy the binary content
   to the flash, starting at reset vector offset (for PPC, it's
   0xfff0_0100)?
 
+ Does it make sense for us to simply strip the few header
   words from bootrom_uncmp.bin generated by CONVERT
   utility, then copy directly the resulting binary to flash and
   expect it to work correctly?  Where can we find more info. 
   about the format of the *.bin file?
 
Thanks,
Raymond

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

Newsgroups: comp.os.vxworks
Subject: Re: Bootable application.
Date: Tue, 30 Jul 2002 21:05:59 +0000 (UTC)
From: Johan Borkhuis <borkhuis@agere.com>
Organization: Agere Systems
Message-ID: <Xns925BEA7F2B898borkhuisagerecom@192.19.193.66>
References: <41c1fd2b.0207291124.41ad151e@posting.google.com> <Xns925B73761240Cborkhuisagerecom@192.19.193.66> <3D46AE56.5040906@spamm.me.l8s.co.uk>

David Laight <david@spamm.me.l8s.co.uk> wrote:
>> Option 1 is the least desirable, as you have to reprogram your
>> bootloader every time you change your SW.
> 
> Why?  Add code to your image to copy a file from the network into the
> bootload area of your EPROMs.  Easy...
> You do need to have a fallback method of booting though :-)

Yep, you answered it :-)))

Groeten,
        Johan

- -- 
        o o o o o o o . . .   _____________________________
       o      _____           ||    Johan Borkhuis        |
     .][__n_n_|DD[  ====_____  |    borkhuis@agere.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: taskSuspend()
Date: 30 Jul 2002 14:07:09 -0700
From: jsanchor@cs5.dasd.honeywell.com (Jay)
Organization: http://groups.google.com/
Message-ID: <9e60ca47.0207301307.338e3043@posting.google.com>

I am working in a multi-tasking environment.
VxWorks5.4/Tornado2.0/PPC

I am having trouble suspending a task.

Does taskSuspend() only work when a task is NOT PENDING?

I can't imagine what could be preventing a task from suspending.
I also tried taskDelete() and taskDeleteForce().

For some reason these tasks just keep on going.

On reaching a condition in code, I want to suspend all tasks. In the
end I also want to delete the calling tasks.
Any help would be appreciated.

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

Newsgroups: comp.os.vxworks
Subject: Re: Bootable application.
Date: 30 Jul 2002 18:24:12 -0400
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <m2ofcosvlf.fsf@sympatico.ca>
References: <41c1fd2b.0207291124.41ad151e@posting.google.com> <ai5go7$n1g$1@snoopy.bndlg.de> <41c1fd2b.0207300809.61c0e3df@posting.google.com>
Sender: bpringle@DeadDuck

 Danny> Do you think my desicion is wise?

What do you mean by wise?  It will probably create less work in the
long run.

 Danny> Is it means that i have to configure VxWorks_rom image to
 Danny> create FFS?

Not really.  If you make the application linked to a final address and
use a loader file to stuff all the vxWorks symbols as addresses only,
then you manage to avoid all of this.

 Danny> Can i make the application image as a standard Dos File?

Yes.

 Danny> How do i make VxWorks support "ld" command?

I have posted on this topic before.  The "ld" command is very slow.
It is especially slow if you load several modules.  To build a
"standalone" image that can boot a seperate application, you must
include the vxWorks symbol table (like a standalone) in order to do
the loading.  This will increase the size of your image (by a lot).

 Danny> How do i make the startup script run the application file?

Define the USR_APP_INIT (or whatever it is called) and call a function
that loads you image.  Then you can call getSymByName (or something
like that) and execute the standard apps main function.  

 Danny> How can i program the flash with new VxWorks_rom image?

Hasn't this been addressed here in the last few weeks?

hth,
Bill Pringlemeir.

- -- 
IMF Glock eavesdropping Ft. Knox UNSCOM Noriega USCODE codes Marxist
SSL supercomputer Qaddafi IDEA cracking Uzi

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

Newsgroups: comp.os.vxworks
Subject: Re: taskSuspend()
Date: 30 Jul 2002 18:26:39 -0400
From: Bill Pringlemeir <spam_account@sympatico.ca>
Organization: Bell Sympatico
Message-ID: <m2k7ncsvhc.fsf@sympatico.ca>
References: <9e60ca47.0207301307.338e3043@posting.google.com>
Sender: bpringle@DeadDuck

 Jay> I am having trouble suspending a task.

[snip]

 Jay> On reaching a condition in code, I want to suspend all tasks. In
 Jay> the end I also want to delete the calling tasks.  Any help would
 Jay> be appreciated.

Look at the manual for taskSpawn().  There is an option to make task's
"UNBREAKABLE".  I will let you take it from there...

hth,
Bill Pringlemeir.

- -- 
The truth about television makes sense.

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

Newsgroups: comp.os.vxworks
Subject: Re: Multitask debug
Date: 30 Jul 2002 17:40:37 -0700
From: joge709@hotmail.com (joge)
Organization: http://groups.google.com/
Message-ID: <1d168114.0207301640.740be57a@posting.google.com>
References: <254be7e.0207240332.6f212f44@posting.google.com>

hi yh,

in fact, you can use attach/detach function to switch the tasks you
want to debug in the ide enviroment. and at first, you must set break
points in every task you want inspect.

good luck, 

joge

yh86us@yahoo.com (chc) wrote in message news:<254be7e.0207240332.6f212f44@posting.google.com>...
> Hi,
> 
> Multitask debug in Tornado is such a pain. Although I've followed the
> user guide to set up the END driver in the kernel image, I can only
> debug multitask in some simple program. In the larger program, the
> breakpoint in other threads can be stoped, but the source code did not
> show, and there was no way to continue the debug. The Attach command
> in the Debug menu was also not able to setup. Any adverce is much
> appreciated. I am using Tornato 2.1 in PPC target, the debug was via
> Ethernet.
> 
> Thank you.

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

Newsgroups: comp.os.vxworks
Subject: Re: about debug step by step under multitask environment
Date: 30 Jul 2002 17:42:46 -0700
From: joge709@hotmail.com (joge)
Organization: http://groups.google.com/
Message-ID: <1d168114.0207301642.485130ee@posting.google.com>
References: <38d66cc7.0207292344.96fb8fe@posting.google.com>

hi huang,

why not try the attach/detach function in the ide ?

good luck,

joge.

huangyongjd@21cn.com (hyper) wrote in message news:<38d66cc7.0207292344.96fb8fe@posting.google.com>...
> hi,
>   i have a problem,how to debug step by step under multitask environment,
> though i have a very fool way:use sem,but i wish someone can give me a better 
> one.

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

Newsgroups: comp.os.vxworks
Subject: fprintf() and fflush() problems
Date: 30 Jul 2002 23:16:25 -0700
From: YuriR@elop.co.il (Yuri Rafailsky)
Organization: http://groups.google.com/
Message-ID: <6ecd7e0.0207302216.866405@posting.google.com>

Hi,

I have remote PentiumII target, Windows2000 host, TornadoII and
VxWorks ver. 5.4.
I use fprintf() for logging to file on host. The problem is that I see
no file on host till I did fclose(). Calling to fflush() does not
help.
I know, fprintf() writes to buffers on target RAM and uses FTP to
transfer data to host. But I have no control on this process. I am
looking for a way to cause more frequent flushes without fclose()
fopen() sequence.

Thank you in advanced.
Yuri.

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

Newsgroups: comp.os.vxworks
Subject: Multithread
Date: Wed, 31 Jul 2002 14:35:59 +0800
From: "zxj" <carriazhong@163.com>
Organization: power
Message-ID: <ai80ah$4u7$1@mail.cn99.com>
Reply-To: "zxj" <carriazhong@163.com>

Hello,everyone,
during the system initializing,if i encapsualate a func(f1)
in a thread,and another function(f2) call the taskspaw to start
the thread, the function f2 is called by xxxEndLoad,and in Confignet.h,
we define HW_LOAD_FUNC=xxxEndLoad,and in
END_TBL_ENTRY endDevTbl [] =
{
....
 {   0, HW_LOAD_FUNC, HW_LOAD_STRING, HW_BUFF_LOAN, NULL, FALSE},
    {   1, HW_LOAD_FUNC, HW_LOAD_STRING, HW_BUFF_LOAN, NULL, FALSE},
    {   2, HW_LOAD_FUNC, HW_LOAD_STRING, HW_BUFF_LOAN, NULL, FALSE},
    {   3, HW_LOAD_FUNC, HW_LOAD_STRING, HW_BUFF_LOAN, NULL, FALSE},
    {   4, HW_LOAD_FUNC, HW_LOAD_STRING, HW_BUFF_LOAN, NULL, FALSE},
        ..
    {   26                            .....}
}
in the usrRoot() the xxxEndLoad is called for 26 times, then there are 26
threads contained f1,
in addition, f1 uses some global variables,then do the threads corrupt?
All vxworks tasks share the same text,data, code space,are there any
problems?

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

Newsgroups: comp.os.vxworks
Subject: ccppc compiler steps
Date: 31 Jul 2002 00:23:37 -0700
From: vividh@hotmail.com (rasayani)
Organization: http://groups.google.com/
Message-ID: <28809481.0207302323.7e0cded0@posting.google.com>

When I try compiling using ccppc provided by WRS under cygwin, I get a
error
cpp: -lang-c: linker input file unused since linking not done
gcc:  program 'cc1' not found
for some reason the ccppc is calling the gcc compiler and is unable to
get this compiled. Has anyonefaced this problems. I have the tornado
paths before the cygwin paths in my shell. any other hacks required?

vividh

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

Newsgroups: comp.os.vxworks
Subject: Re: vxWorks Rename bug in DosFs?
Date: 31 Jul 2002 00:27:13 -0700
From: zealous_swe@hotmail.com (Jonas)
Organization: http://groups.google.com/
Message-ID: <da76fb90.0207302327.1e3c3fe1@posting.google.com>
References: <da76fb90.0207050210.56a360fa@posting.google.com> <newscache$yg1uyg$yh6$1@lnews.actcom.co.il> <da76fb90.0207290322.4cfa754@posting.google.com> <newscache$n5e00h$4kd$1@lnews.actcom.co.il> <da76fb90.0207292340.64633cb7@posting.google.com> <newscache$yiy10h$9uf$1@lnews.actcom.co.il>

Thanks for your time Leonid!

I'm going to try the 1. workaround you suggested. I had a similar
idea, but yours a bit better. Nice to know that you are around here
with your expertise regarding dosFs. I have a few other possible buggs
that might be interessting :)

I might make a post later regarding this.

//Jonas

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

Newsgroups: comp.os.vxworks
Subject: Re: Reboot error
Date: 31 Jul 2002 01:03:32 -0700
From: chwin@china.com (Adom)
Organization: http://groups.google.com/
Message-ID: <92dbccc1.0207310003.4340070c@posting.google.com>
References: <3d64955d.0207282250.45d40d7c@posting.google.com>

Set the global variable sysWarmType to 0 
when system start up.
Just try.
                             Adom
                             chccc@263.net
> Hi
> I booted vxworks image (vxWorks 5.4) on my Intel board without any
> problems. But when I use CTRL+x or reboot, the display is as follws:
> 
>    ->Found an image -size 636334
> 
>          General Protection Fault
>           Program Counter:0x00000100
>           status Register:0x00010446
>             Error Code:0x0000fffc
>           Task:0xff69134 "tExcTask"
> 
> Does anyone know what happens?
> 
> Thanks.
> 
> -Tom

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

Newsgroups: comp.os.vxworks
Subject: Re: fprintf() and fflush() problems
Date: Wed, 31 Jul 2002 10:25:23 +0200
From: "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM>
Organization: Verio
Message-ID: <newscache$66u30h$28j$1@lnews.actcom.co.il>
References: <6ecd7e0.0207302216.866405@posting.google.com>

Yura,

You apparently use the netDrv, which is a simplistic remote file access
mechanism, that transfers a file from host with FTP or RSH on open(),
satisfies read and write requests in target memory, and on close, will
transfer the file back to host, if it has been modified. File size is
limited to available target memory.

This is obviously not at all appropriate for logging.

There are several things you could do for logging:

You could replace netDrv with NFS and keep using the fprintf() calls, but if
you are unfamiliar with NFS, this could be a long battle with WIn2k host.

I would recommend you to implement the Unix "syslog" protocol - write your
own function on VxWorks that would format a syslog message and send it over
UDP, and then you can use one of a few freely available syslog daemons for
Windoze on your host. You might be able to buy a syslog facility for
VxWorks, because syslog is a pretty standard contraption.

"Yuri Rafailsky" <YuriR@elop.co.il> wrote in message
news:6ecd7e0.0207302216.866405@posting.google.com...
> Hi,
>
> I have remote PentiumII target, Windows2000 host, TornadoII and
> VxWorks ver. 5.4.
> I use fprintf() for logging to file on host. The problem is that I see
> no file on host till I did fclose(). Calling to fflush() does not
> help.
> I know, fprintf() writes to buffers on target RAM and uses FTP to
> transfer data to host. But I have no control on this process. I am
> looking for a way to cause more frequent flushes without fclose()
> fopen() sequence.
>
> Thank you in advanced.
> Yuri.

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

Newsgroups: comp.os.vxworks
Subject: Re: taskSuspend()
Date: Wed, 31 Jul 2002 10:30:41 +0200
From: "Leonid Rosenboim" <MY_FIRST_NAME@CONSULTANT.COM>
Organization: Verio
Message-ID: <newscache$0fu30h$68j$1@lnews.actcom.co.il>
References: <9e60ca47.0207301307.338e3043@posting.google.com>

Jay,
I have a strong feeling that you are trying to use taskSuspend
for some purpose it was not intended for, and will face some
difficulties subsequently.

Suspending a task can sometimes cause the system to freeze,
for example, if you suspend a task in midst of malloc(), holding
the system partition mutex, it will not release that mutex, and
all memory routines subsequently will block.

If you define your goal at a higher level, I might be able to offer
an alternative mechanism to achieve it.

"Jay" <jsanchor@cs5.dasd.honeywell.com> wrote in message
news:9e60ca47.0207301307.338e3043@posting.google.com...
> I am working in a multi-tasking environment.
> VxWorks5.4/Tornado2.0/PPC
>
> I am having trouble suspending a task.
>
> Does taskSuspend() only work when a task is NOT PENDING?
>
> I can't imagine what could be preventing a task from suspending.
> I also tried taskDelete() and taskDeleteForce().
>
> For some reason these tasks just keep on going.
>
> On reaching a condition in code, I want to suspend all tasks. In the
> end I also want to delete the calling tasks.
> Any help would be appreciated.

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

Newsgroups: comp.os.vxworks
Subject: Re: snprintf?
Date: 31 Jul 2002 03:41:53 -0700
From: tyee@nortelnetworks.com (Tom Yee)
Organization: http://groups.google.com/
Message-ID: <4fc8fafd.0207310241.2893943@posting.google.com>
References: <slrnak15om.tbv.denis_newsREMOVE-TO-REPLY@concorde.cs.ucla.edu>

Denis Perelyubskiy <denis_newsREMOVE-TO-REPLY@hotmail.com> wrote in message news:<slrnak15om.tbv.denis_newsREMOVE-TO-REPLY@concorde.cs.ucla.edu>...
> hello,
> 
> is anyone aware of snprintf() that works well on VxWorks?
> (since it does not sound like the VxWorks library provides
> this function)

The following is untested:
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&threadm=yc9wwmhfip1.fsf%40goblin.caltech.edu&rnum=1&prev=/groups%3Fq%3Dsnprintf%2BVxWorks%26hl%3Den%26lr%3D%26ie%3DUTF-8%26start%3D0%26sa%3DN

Read this one for a chuckle...stupid, but oughta work...duh...
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&threadm=5d74rr%24kse%40hades.rz.uni-sb.de&rnum=6&prev=/groups%3Fhl%3Den%26lr%3D%26ie%3DISO-8859-1%26q%3Dsnprintf%2Bsource%26btnG%3DGoogle%2BSearch

The following looks well-tested, but was not written specifically for
VxWorks:
http://samba.anu.edu.au/rsync/doxygen/head/snprintf_8c-source.html

- -Tom

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

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

From vxwexplo-errs@csg.lbl.gov  Wed Jul 31 11:39:28 2002
From: "Joe Welfeld" <jwelfeld@paragon-networks.com>
Date: Wed Jul 31 11:39:30 PDT 2002
Subject: Lint

  Hello,

We are running Tornado 2.02 for PPC and are looking for a lint utility ? 

Thanks,

Joe Welfeld