From vxwexplo-errs@csg.lbl.gov Mon Jul 1 04:03:15 2002 From: Vxworks Exploder 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" Organization: Bell Sympatico Message-ID: References: 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" 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" Organization: AT&T Broadband Message-ID: 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" Organization: AT&T Broadband Message-ID: References: Hello Kinger, "Kinger" 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" Organization: Bentium Ltd. (CN99) Message-ID: 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: References: In article , "degang" 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: 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: 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: 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 #include #if !defined(_VXWORKS_) #include #include #include #include #include #else #include "sockLib.h" #include "inetLib.h" #include "net/if_dl.h" #endif #include #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 \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" Organization: Verio Message-ID: References: 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" 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" Organization: Verio Message-ID: - ------------------------ 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" Organization: Buergernetz Dillingen Message-ID: References: <3D1C4956.92AB8DE1@rochester.rr.com> <3D1D4966.D2B7610A@rochester.rr.com> Reply-To: "Michael Lawnick" 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" 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" 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: 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" wrote in message news:... > 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" 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 > > " 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 Organization: Agere Systems Message-ID: References: <1025278839.163913@azores.network-i.net> David Cooper 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 Organization: Agere Systems Message-ID: References: "Leonid Rosenboim" 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 Organization: Agere Systems Message-ID: References: "Ofer Goren" 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" Organization: Bentium Ltd. (CN99) Message-ID: 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 Organization: Agere Systems Message-ID: 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" Organization: Buergernetz Dillingen Message-ID: References: Reply-To: "Michael Lawnick" 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" 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" wrote in message news:... > > 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" 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 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 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" Organization: AT&T Broadband Message-ID: References: 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" 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 Organization: Agere Systems Message-ID: 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 Message-ID: <3D2070F9.B0FCCDB9@notifier-is.net> References: 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 Message-ID: <3D207237.7BF51F3D@notifier-is.net> References: 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 > ] > ppp0:rcvd[LCP confReq id=0x1 0x186896> <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 <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 0x186896> > ppp0:sent[LCP ConfReq id=0x22 0x186896> > ppp0:sent[LCP ConfReq id=0xbe>] > ppp0:rcvd[LCP ConfReq id=0xbe>] > ppp0:sent[IPCP ConfReq id=0x3 ] > 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。 > 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“FlowControl_Soft”。 > 12-03-1998 10:01:15.06 - initializing Modem.12-03-1998 10:01:15.06 - > send: > 12-03-1998 10:01:15.06 - waiting call。 > 12-03-1998 10:01:51.59 - recieved: ~ > 12-03-1998 10:01:51.59 - recieved: > 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: > 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。 > 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: > 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 Organization: Agere Systems Message-ID: References: Johan Borkhuis 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" Organization: Verio Message-ID: References: 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" 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" 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 Organization: ETHOME InterNetNews site Message-ID: References: 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" 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" Organization: RTS-LAB Message-ID: Reply-To: "Liang Yang" 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 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: 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 Organization: none Message-ID: 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 Message-ID: References: Hello, * frees [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 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 Message-ID: References: <92d559ef.0207011226.d2eaad6@posting.google.com> * Rob F [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" Organization: University of Oregon Message-ID: 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> 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 wrote in message news:... > 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: References:  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: References: 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" Organization: AT&T Broadband Message-ID: References: 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" 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" Organization: AT&T Broadband Message-ID: 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" 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" Organization: Buergernetz Dillingen Message-ID: References: Reply-To: "Michael Lawnick" 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" 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: References: 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" wrote in message news:... > 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" Organization: Buergernetz Dillingen Message-ID: References: Reply-To: "Michael Lawnick" 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" 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" Organization: Buergernetz Dillingen Message-ID: References: Reply-To: "Michael Lawnick" 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" 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: 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 Organization: Agere Systems Message-ID: References: "Michael Lawnick" 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" Organization: Bentium Ltd. (CN99) Message-ID: 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 Organization: Agere Systems Message-ID: References: seasoblue2000@yahoo.com.cn (seasoblue) wrote: >  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> <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 Rόsing > 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 wrote in message news:... > > 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 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

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-- From vxwexplo-errs@csg.lbl.gov Tue Jul 2 08:26:18 2002 From: Mike McCullough 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 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" Organization: Buergernetz Dillingen Message-ID: References: Reply-To: "Michael Lawnick" Sender: mlawnick@p5088eeb2.dip.t-dialin.net "subbarayan" 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" Organization: Buergernetz Dillingen Message-ID: References: Reply-To: "Michael Lawnick" 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" schrieb im Newsbeitrag news:Xns923F617E5C9E7borkhuisagerecom@192.19.193.66... > "Michael Lawnick" 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" Organization: AT&T Broadband Message-ID: References: Johan, What is the END driver? If it is a WRS one, what about the latest comp-drv update released last month? "Johan Borkhuis" wrote in message news:Xns923F617E5C9E7borkhuisagerecom@192.19.193.66... > "Michael Lawnick" 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> "drdiags" wrote in message news:... > 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" 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" Organization: EarthLink Inc. -- http://www.EarthLink.net Message-ID: 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_Message_Queue_Factor y::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 Organization: Agere Systems Message-ID: References: "drdiags" 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 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 Organization: none Message-ID: 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 Organization: Factory of the mind Message-ID: References: Sender: bpringlemeir@DeadDuck >>>>> "xiaomingtang" == xiaomingtang 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" Organization: EarthLink Inc. -- http://www.EarthLink.net Message-ID: 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" 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 Organization: Factory of the mind Message-ID: References: Sender: bpringlemeir@DeadDuck >>>> "drdiags" 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 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 Organization: Agere Systems Message-ID: References: Bill Pringlemeir 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: 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 Organization: Marconi Message-ID: References: <80562a1b.0207020119.7db129e6@posting.google.com> Reply-To: Keith Arner 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" 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" 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 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: References: In article , "Kevin Lay" 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: 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: 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: 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: 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" Message-ID: References: Hi, "Michael Lawnick" 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" Organization: Buergernetz Dillingen Message-ID: References: Reply-To: "Michael Lawnick" 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" schrieb im Newsbeitrag news:AOyU8.3$9L3.1568@news.ecrc.de... > Hi, > > "Michael Lawnick" 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 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 Organization: SEPRO Robotique (BEP) Message-ID: <3D22E67C.31784F70@sepro-robotique.com> References: 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 Organization: Agere Systems Message-ID: References: <3D22E67C.31784F70@sepro-robotique.com> Emmanuel Herbreteau 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" Organization: AT&T Broadband Message-ID: References: Hello Desmond, "Desmond Liu" 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) 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" Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: 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" Organization: Motorola Message-ID: 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 Organization: Jet Propulsion Laboratory - Pasadena CA Message-ID: <3D232870.CECE6161@jpl.nasa.gov> References: 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) 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> <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 Rόsing > > > 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 wrote in message news:... > > > 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" Organization: RTS-LAB Message-ID: Reply-To: "Liang Yang" 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 Message-ID: <3D235560.F7F7FE8C@notifier-is.net> References: 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: References: 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: References: hi, these two space are not useful,you can del them. But these two "\" are useful because it means going to next line. "degang" wrote in message news:... > 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" Organization: AT&T Broadband Message-ID: <%jPU8.232434$nZ3.107542@rwcrnsc53> References: Desmond, "Desmond Liu" 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" Organization: Bentium Ltd. (CN99) Message-ID: 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" Organization: AT&T Broadband Message-ID: References: <3D232870.CECE6161@jpl.nasa.gov> Desmond, "Desmond Liu" 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: References: 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 Organization: Siemens Inc. Message-ID: 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 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 Organization: Agere Systems Message-ID: References: Johan Borkhuis 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" Organization: Deutsche Telekom AG Message-ID: 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" Organization: AT&T Broadband Message-ID: <2M_U8.237510$R61.87656@rwcrnsc52.ops.asp.att.net> References: Hello Davide, "Davide Viti" 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" Organization: AT&T Broadband Message-ID: <%Y_U8.238106$nZ3.109910@rwcrnsc53> References: Hello Andreas, "Andreas Bachmeier" 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: 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" Organization: MK Associates Message-ID: <3D247FE9.EA5F15A2@gv.net> References: 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" Organization: AT&T Broadband Message-ID: References: <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" Organization: Bell Sympatico Message-ID: 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 Organization: Message-ID: <20020704212252524+0100@clarity.daystar.local> References: In 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 Organization: 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" Organization: MindSpring Enterprises Message-ID: References: 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" 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" Organization: MK Associates Message-ID: <3D24B687.2EA1111D@gv.net> References: 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" 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" 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" Organization: EarthLink Inc. -- http://www.EarthLink.net Message-ID: References: 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 wrote in message news:JstU8.2050$2k5.1624@newsread1.prod.itd.earthlink.net... > In article , > "Kevin Lay" 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: "ΐΜ½½" Organization: Dacom Message-ID: 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: 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: 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 { > 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 { > 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: 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" Organization: AT&T Broadband Message-ID: <8cbV8.289280$6m5.260335@rwcrnsc51.ops.asp.att.net> References: 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" 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> <3D18463D.12401E99@baesystems.com> 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" wrote in message news:... > "Paul Caswell" 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" Organization: Deutsche Telekom AG Message-ID: References: <%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: 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: - ----- Original Message ----- From: "Anand" 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: 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 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 = 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 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: 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" Message-ID: <3d258c04$1@brateggebdc5.br-automation.co.at> References: <%Y_U8.238106$nZ3.109910@rwcrnsc53> 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" 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" 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" wrote in message news:92d559ef.0207041305.2adc7b92@posting.google.com... > "William Dennen" 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" 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" Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: 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 Organization: WEBUSENET.com Message-ID: <3D25981D.4C6A7A86@bellsouth.net> References: "ΐΜ½½" 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 Organization: WEBUSENET.com Message-ID: <3D259956.6CA9ED22@bellsouth.net> References: 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: 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 Organization: WEB.DE Message-ID: <3d25a6ec$1@netnews.web.de> References: 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" Organization: The University of Western Ontario, London, Ont. Canada Message-ID: References: <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" wrote in message news:479ba395.0207050219.66ebcf5b@posting.google.com... > ----- Original Message ----- > From: "Anand" > 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" Organization: EarthLink Inc. -- http://www.EarthLink.net Message-ID: References: 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" 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 = makefile bug Date: Fri, 05 Jul 2002 16:37:02 GMT From: "Kevin Lay" Organization: EarthLink Inc. -- http://www.EarthLink.net Message-ID: 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 = 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" Organization: MK Associates Message-ID: <3D25CCE5.FC407AA3@gv.net> References: 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" Organization: Bell Sympatico Message-ID: 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 Message-ID: References: <97b1f722.0207040712.3ac1dee6@posting.google.com> * kannan [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: References: <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 wrote in message news:<20020704212252524+0100@clarity.daystar.local>... > In 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" 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" Organization: AT&T Broadband Message-ID: References: <%Y_U8.238106$nZ3.109910@rwcrnsc53> 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" 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 Organization: Primus Canada Message-ID: 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: 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" Organization: Dacom Message-ID: References: <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" 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: 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: References: In article , "Kevin Lay" 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 > > wrote in message > news:JstU8.2050$2k5.1624@newsread1.prod.itd.earthlink.net... >> In article , >> "Kevin Lay" 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: "Andreas Bachmeier" wrote in message news:... > 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: 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" wrote in message news:... > 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: 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: References: <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: References: <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" 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 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 Organization: WEBUSENET.com Message-ID: <3D26F0B5.356A9CE@bellsouth.net> References: <3D25981D.4C6A7A86@bellsouth.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" 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" Organization: Verio Message-ID: References: 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" 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" Organization: Verio Message-ID: References: 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" 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" Organization: MK Associates Message-ID: <3D271381.39C4AC09@gv.net> References: 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" Organization: MK Associates Message-ID: <3D2720A7.89C3D242@gv.net> References: <3D25CCE5.FC407AA3@gv.net> 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: 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: References: > 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: References: jx_ch@yahoo.com (JinxiangChen) wrote in message news:... > 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’ll be colllapsed when it is dirrectly informed by another task. Without the Zinc,the asynchrounous action won’t be a problem. But my application has been written in Zinc,I can’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’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: 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:... > > 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 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 Organization: Posted Via Newsfeeds.com = SPEED+RETENTION+COMPLETION = http://www.newsfeeds.com Message-ID: <3D283AFC.818480B2@hotmail.com> References: 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" Organization: Verio Message-ID: 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" 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" Organization: AT&T Broadband Message-ID: 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" Organization: EarthLink Inc. -- http://www.EarthLink.net Message-ID: References: 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" 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" Organization: EarthLink Inc. -- http://www.EarthLink.net Message-ID: 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" 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" Organization: Bentium Ltd. (CN99) Message-ID: 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: 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:... > 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> 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" Message-ID: References: In addition to Michael's recommendation, I strongly recommend to download the "prototyper" from WRS site to get started with. Enjoy ! Jamil, Ottawa. "venu" 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: 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 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" Organization: Buergernetz Dillingen Message-ID: References: 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" 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" Organization: Deutsche Telekom AG Message-ID: References: <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" 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" 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" 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 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" 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: 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 not found or failed to install signal . 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 Organization: Agere Systems Message-ID: References: "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? 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 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 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 Organization: Factory of the mind Message-ID: References: Sender: bpringlemeir@DeadDuck >>>>> "JC" == JinxiangChen 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’ll be colllapsed when it is dirrectly informed by JC> another task. Without the Zinc,the asynchrounous action JC> won’t be a problem. But my application has been written in JC> Zinc,I can’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’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" Message-ID: References: <752ff0a262d931ab5583878f7714e363.98538@mygate.mailgate.org> "Ganesh Anand" 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: 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 Organization: Marconi Message-ID: References: <78a5d372.0207040341.3289c0c1@posting.google.com> Reply-To: Keith Arner 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 Message-ID: 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" Organization: MTS Internet Message-ID: <3D2A02D4.7013@despam.autobahn.mb.ca> References: In article , 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? - -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 Organization: Lockheed Martin Corporation Message-ID: <3D29E079.31D7015@lmco.com> References: <752ff0a262d931ab5583878f7714e363.98538@mygate.mailgate.org> Mario Charest wrote: > > "Ganesh Anand" 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 Organization: Agere Systems Message-ID: 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 Organization: Factory of the mind Message-ID: References: Sender: bpringlemeir@DeadDuck >>>>> "JB" == Johan Borkhuis 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 Organization: Jet Propulsion Laboratory - Pasadena CA Message-ID: <3D2A09F4.77C6A3D2@jpl.nasa.gov> References: <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: References: Sender: bill@woola.qswtools.com In article , "Kevin Lay" 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" 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 Organization: info access Message-ID: <3D2A62D1.70DC3451@riname.com> References: <3D1C4956.92AB8DE1@rochester.rr.com> <3D1D4966.D2B7610A@rochester.rr.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" 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" 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" Organization: AT&T Broadband Message-ID: <2yuW8.286626$R61.171062@rwcrnsc52.ops.asp.att.net> References: 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" 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" 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" 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" Organization: Buergernetz Dillingen Message-ID: References: <3D1C4956.92AB8DE1@rochester.rr.com> <3D1D4966.D2B7610A@rochester.rr.com> <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" 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" 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" 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 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: 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 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: 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" Message-ID: 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: 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" Organization: Siemens Inc. Message-ID: 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: References: 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" Organization: Worldpath Internet Services (worldpath.net) Message-ID: References: wrote: > "Kevin Lay" 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" 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 Organization: Agere Systems Message-ID: References: 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 Organization: Agere Systems Message-ID: References: "Wojciech Mirski" 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" Organization: Verio Message-ID: References: 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" 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: > > (variable)> > > 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 Organization: Lucent Technologies, Columbus, Ohio Message-ID: References: "Brian St. Pierre" 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: References: 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" wrote in message news:... > 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" 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" 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: References: <3D24B687.2EA1111D@gv.net> "Michael R. Kesti" 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: References: 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" wrote in message news:... > 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: References: Hi, I like the simple stuff. Try 'vi' and 'ctags'. Vinh Lam "Kevin Lay" wrote in message news:... > 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" 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 Message-ID: References: <3D2A02D4.7013@despam.autobahn.mb.ca> * H. E. Taylor [07-Mon-02 12:30 -0700]: > > In article , > 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? 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: References: <20020704212252524+0100@clarity.daystar.local> 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:... > 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 wrote in message news:<20020704212252524+0100@clarity.daystar.local>... > > In 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" Organization: EarthLink Inc. -- http://www.EarthLink.net Message-ID: References: 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" 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" 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: > > > > > (variable)> > > > > 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: 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" Organization: Nortel Message-ID: 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" Message-ID: References: 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" 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" 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" 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: > > > > > > > > (variable)> > > > > > > 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" 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: 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 Organization: Factory of the mind Message-ID: References: <3e5110c6.0206181202.42c96afc@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 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: References: <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 .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 ] ppp0: rcvd [LCP ConfReq id=0x0 ] ppp0: sent [LCP ConfRej id=0x0 ] ppp0: rcvd [LCP ConfAck id=0x43 ] ppp0: rcvd [LCP TermReq id=0x1 00 00 02 dc] ppp0: sent [LCP TermAck id=0x1] ppp0: sent [LCP ConfReq id=0xff ] ppp0: sent [LCP ConfReq id=0xff ] ppp0: sent [LCP ConfReq id=0xff ] ppp0: sent [LCP ConfReq id=0xff ] ppp0: sent [LCP ConfReq id=0xff ] 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: References: 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" Organization: Verio Message-ID: References: I beleive the TCP_NODELAY should be set on the new file descriptor returned by accept(), in order to take effect. "Joel Hannah" 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" 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" 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" 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: > > > > > > > > > > > (variable)> > > > > > > > > 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" 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 Organization: SEPRO Robotique (BEP) Message-ID: <3D2BD1C1.D12A32FC@sepro-robotique.com> References: 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: 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(), ); taskSafe(); if (taskIdSelf() == lastTaskId && mySemCount != 0) {mySemCount++ ; return;} lastTaskId = taskIdSelf(); mySemCount = 1; semTake(myBSemId, WAIT_FOREVER); } Let me know the improvments. - -rajendra "Mamoon Khan" wrote in message news:... > 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: 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" Organization: Buergernetz Dillingen Message-ID: References: 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" schrieb im Newsbeitrag news:Xns9246B1D606415borkhuisagerecom@192.19.193.66... > "Wojciech Mirski" 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 Organization: Agere Systems Message-ID: References: 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 Organization: Lucent Technologies, Columbus, Ohio Message-ID: References: "Leonid Rosenboim" 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" Message-ID: 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: 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 Organization: Agere Systems Message-ID: References: "Michael Lawnick" 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: 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" Organization: Bentium Ltd. (CN99) Message-ID: 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: Johan Borkhuis wrote in message news:... > "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? > > 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: References: Bill Pringlemeir wrote in message news:... > 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: References: Bill Pringlemeir wrote in message news:... > 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" Organization: Verio Message-ID: References: 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" 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" Organization: Verio Message-ID: 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" 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" Organization: Verio Message-ID: References: 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" 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 > 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 Organization: BT Openworld Message-ID: <3D2C0FB8.6010605@spamm.me.l8s.co.uk> References: <3e5110c6.0206181202.42c96afc@posting.google.com> > > 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 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" Organization: Buergernetz Dillingen Message-ID: References: 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" 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 Organization: Agere Systems Message-ID: References: <6851b342.0207100026.673973d0@posting.google.com> magiccp@sina.com (ping chen) wrote: > Johan Borkhuis wrote in message > news:... >> 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" Organization: Verio Message-ID: References: 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" Organization: Siemens Inc. Message-ID: References: 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" 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: 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 Organization: Agere Systems Message-ID: References: "Wojciech Mirski" 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" Organization: Shaw Residential Internet Message-ID: 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" 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: 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:... > 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: 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 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" Organization: Verio Message-ID: References: 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" 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 Message-ID: <3D2C6F08.9050809@xs4all.nl> References: 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" Organization: Shaw Residential Internet Message-ID: References: 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" 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" 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: 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 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" Organization: AT&T Broadband Message-ID: 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" 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" Organization: Bentium Ltd. (CN99) Message-ID: References: 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" Π΄ΘλΟϋΟ’ΠΒΞΕ :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: > > (variable)> > > 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" 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: References: Johan Borkhuis wrote in message news:... > 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: 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 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 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 Organization: Marconi Message-ID: References: <5c04bc56.0207101732.1f9203e2@posting.google.com> Reply-To: Keith Arner 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 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 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: 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:... > 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 Organization: Factory of the mind Message-ID: References: <4a8311d7.0207102335.3de9525f@posting.google.com> Sender: bpringlemeir@DeadDuck >>>>> "Mikael" == Mikael Bendtsen 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: 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 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 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-- --------------------------- 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" Organization: Verio Message-ID: 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" 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" Organization: Verio Message-ID: 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" 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: 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 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 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" Organization: Shaw Residential Internet Message-ID: References: <2yuW8.286626$R61.171062@rwcrnsc52.ops.asp.att.net> "drdiags" 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" 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" 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" Organization: MK Associates Message-ID: <3D2E2AD0.6E4E8268@gv.net> References: <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" Organization: AT&T Broadband Message-ID: References: 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" wrote in message news:a92e61fe.0207102255.511d30bf@posting.google.com... > Johan Borkhuis wrote in message news:... > > 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> 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 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 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> <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: 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: 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 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" Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: <33a82c0f2d66346702ed874342afc4e9.98538@mygate.mailgate.org> References: <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> Bill Pringlemeir wrote in message news:... > >>>>> "Mikael" == Mikael Bendtsen 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" Message-ID: <3d2ecf1a$1@pull.gecm.com> References: <3D25CCE5.FC407AA3@gv.net> "Anand" 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" Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: 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 Organization: Factory of the mind Message-ID: References: <4a8311d7.0207102335.3de9525f@posting.google.com> <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: References: 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:... > 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: 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: <8jHX8.17399$793.368525494@newssvr21.news.prodigy.com> References: 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" 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" 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" 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

Dear Paul:
    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  if you havent done this part, that may be the next = place=20 to go.
 
Charles
"Paul Caswell" <paul.caswell@baesystems.com>=20 wrote in message news:3D2D9D88.C72C5215@bae= systems.com...
Hello=20 vxworks world,
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.  I'm clutching at straws here as this is quite low level = but any=20 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=20 version of vxWorks 5.4.  Build environment is T2 with gnu = compiler. =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

I've acquired the source code for the END driver thats supposed to = work=20 with the above config.  (Thanks Dan)  I also have the latest = version=20 from WindRiver.  I've built these into my image by including = motCpmEnd.c=20 in sysLib.c.  The parameter string for this driver lives in = configNet.h=20 and looks like this:=20

/* this is the default load function for our END = */
#define CPM_LOAD_FUNC=20 motCpmEndLoad=20

/* This is the default initialization string = */=20
#define CPM_LOAD_STRING=20 "0x01130000:0x3e:1:0x18:0x18:0x2a00:0x2b00:-1"=20

IMPORT END_OBJ* CPM_LOAD_FUNC(char*, = void*);=20
 
END_TBL_ENTRY=20 endDevTbl [] =3D
{ =
    { 0, CPM_LOAD_FUNC, CPM_LOAD_STRING, 1, = NULL,=20 FALSE},
    { 0, = END_TBL_END,=20 NULL, 0, NULL, FALSE},
}; =

As you can see IMMR is at 0x01130000, 24 transmit and receive = buffer=20 descriptors at 0x01132a00 and 0x01132b00 respectively.  I've = double=20 checked and this area of DPRAM is not being used by any other = devices. =20 All's well so far.  I build and download an image using an ICE = and the=20 target runs calling motCpmEndLoad() and motCpmEndStart() = happily.  All=20 looks OK at this point in time.  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

Running the system freely I can see the receive buffer descriptors = updating=20 as expected and the command ifShow reports (from a serial WDB=20 connection) that the cpm interface is receiving an increasing number = of=20 packets.  Now the crux of the problem - motCpmEndSend() when = called does=20 the following.........(all in the driver)=20

1. A buffer is created in RAM with a call to netClusterGet() and = this=20 succeeds. (I can read with ICE)
2. The data to be transmitted is = copied=20 from the M_BLK_ID pointer successfully and its length calculated. =
3. The=20 transmit buffer descriptor data pointer is set to point at this memory = location.  The transmit buffer descriptor length field is also = set after=20 the buffer is padded with 0x88.=20

4. Interrupts are locked (intLock)
5. The transmit buffer = descriptor=20 (txBD) status mode field is updated to set the READY bit.  I can = see this=20 also in the txBD and it's OK.
**** At this point I expect the CPM = to=20 process this ready buffer and clear the ready bit.  This = doesn't=20 happen.  The SCC should assert TENA also when it sends data - = this=20 doesn't happen (with analyser).  I suppose the question is why = would the=20 CPM not process this buffer ????? ****
6. Interrupts are locked = (intLock)=20

If there's anyone out there with some brilliant idea then I'd be = grateful=20 to hear it.
Regards=20

Paul
 
 
 
 
  =
 =20
 
 
 
 
 =20

- ------=_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: 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: <14IX8.17427$Ou3.369809659@newssvr21.news.prodigy.com> References: 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" 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 */ /* References: 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:... > 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 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 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 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 > 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: References: 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 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" 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" Organization: T-Online Message-ID: References: <92d559ef.0207011226.d2eaad6@posting.google.com> 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" schrieb im Newsbeitrag news:slrnai1ipf.8f5.denis_newsREMOVE-TO-REPLY@concorde.cs.ucla.edu... > * Rob F [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: 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: 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: <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: <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: 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" Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: 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: 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: <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: References: <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" Organization: Verio Message-ID: References: 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" 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" Organization: Buergernetz Dillingen Message-ID: References: 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" 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 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 Organization: Agere Systems Message-ID: References: <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 Organization: Agere Systems Message-ID: References: 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 Organization: Lockheed Martin Corporation Message-ID: <3D32E273.600D6381@lmco.com> References: <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" 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: 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 #include #include #include #include #include #include #include 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: 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: 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" Organization: RTS-LAB Message-ID: Reply-To: "Liang Yang" 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 Organization: iDEN Systems Division Message-ID: <3D330387.7FBC7596@email.mot.com> References: 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 Organization: iDEN Systems Division Message-ID: <3D330494.18036B84@email.mot.com> References: 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 Organization: none Message-ID: References: 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 , borkhuis@agere.com says... > "Wojciech Mirski" 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: References: 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" wrote in message news:... > 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" 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 Message-ID: References: * Vijay Peshkar [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: 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 > #include > #include > #include > #include > #include > #include > #include > > 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: References: 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: 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: References: Denis Perelyubskiy wrote in message news:... > * Vijay Peshkar [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" Organization: Thales Message-ID: 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 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: References: "Trevor" 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" Organization: Internet Gold, ISRAEL Message-ID: 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 Organization: Posted Via Newsfeeds.com = SPEED+RETENTION+COMPLETION = http://www.newsfeeds.com Message-ID: <3D3414EF.3CAEC2AF@hotmail.com> References: 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: 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 Sander EmhartGlass 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: Hello, "Trevor" wrote in message news:... > 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 Organization: OneIT Directory Services News Site Message-ID: References: <3D119749.C0F892F8@sepro-robotique.com> <20020622220547405+0100@clarity.daystar.local> Sender: DKICK1@IL27-5850 Alastair J. Houghton 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 . > 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 , the C++ Standard Library shipped with 2.95.3 is "buggy as freak" . Again, AFAIK, the problem I observed in 'libstdc++-2.8.1' remained unfixed in 2.95.3, as I was not the only person to report this problem , 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' 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" Organization: Road Runner - Texas Message-ID: <%w5Z8.25195$88.565571@twister.austin.rr.com> References: "Rami Gideoni" 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: 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" 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 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. >[...] > - -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: References: <3D119749.C0F892F8@sepro-robotique.com> <20020622220547405+0100@clarity.daystar.local> Sender: bill@woola.qswtools.com In article , Damien Kick writes: > Alastair J. Houghton 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 > . > >> 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 , > the C++ Standard Library shipped with 2.95.3 is "buggy as freak" > . Again, > AFAIK, the problem I observed in 'libstdc++-2.8.1' > remained > unfixed in 2.95.3, as I was not the only person to report this problem > , 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' 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 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: 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: 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" 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: References: Those are GNU 64 bit functions. Add libgcc.a for your arch to the link line. "guobao shen" 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: 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" Organization: Bentium Ltd. (CN99) Message-ID: References: i have the same problem; i don't know how either "seasoblue" ??????: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、Who can give me a really example about memory fragmention?I don't need the theoretic example. 2、It seems that memory fragmention is unavoidable if we use malloc/free provided by VxWorks(first-fit),doesn't it? 3、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 Organization: Griffin Internet - http://www.griffin.net.uk Message-ID: References: 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: References: <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" Organization: Buergernetz Dillingen Message-ID: References: <33cac97f.0207170154.1b76608a@posting.google.com> Sender: mlawnick@p5088f499.dip.t-dialin.net "Rohit" 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 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 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 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 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、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、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、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 Organization: Marconi Message-ID: References: <8f77d4a.0207162339.59ab7f6d@posting.google.com> Reply-To: Keith Arner On 17 Jul 2002, Bryan wrote: > There have been a lot of discussion about memory fragmention.I have > some question: > 1、Who can give me a really example about memory fragmention?I > don't need the theoretic example. > 2、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、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: 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 Organization: OneIT Directory Services News Site Message-ID: References: <3D119749.C0F892F8@sepro-robotique.com> <20020622220547405+0100@clarity.daystar.local> 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: 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 —— 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" Organization: Verio Message-ID: 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" 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" 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 */ #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 Organization: Altopia Corp. - Usenet Access - http://www.altopia.com Message-ID: 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" 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 Organization: Primus Canada Message-ID: References: <9%hZ8.227$v53.62500@news3.calgary.shaw.ca> "Chad" 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 */ > > #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" Organization: AT&T Broadband Message-ID: References: You need to disable the nageling algorithm with the TCP_NO_DELAY socket option. "Forest" 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: 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> 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" wrote in message news:... > 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: 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:... > 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: References: - ----- Original Message ----- From: "guobao shen" 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 libgnuvx.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: <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:... > > 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" Organization: AT&T Broadband Message-ID: 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: References: 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" wrote in message news:... > Those are GNU 64 bit functions. > Add libgcc.a for your arch to the link line. > > > "guobao shen" 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" Organization: AT&T Broadband Message-ID: References: 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" 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: References: 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" 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: References: <86bb1c72.0207152226.3b774c83@posting.google.com> <86bb1c72.0207161804.83ea0ed@posting.google.com> "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 -- 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: References: <476013f7.0207121357.13a22a44@posting.google.com> <2ede7703.0207150701.7a13030c@posting.google.com> "kannan" 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: <5mtZ8.3615$jD.541009956@newssvr16.news.prodigy.com> References: "degang" wrote in message news:ah34kc$1c6u$1@mail.cn99.com... > i have the same problem; i don't know how either > > "seasoblue" > ??????: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" Message-ID: 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 Organization: BT Openworld Message-ID: <3D368027.10407@spamm.me.l8s.co.uk> References: <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 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> 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" Organization: 1&1 Internet AG Message-ID: References: Hello Tom, Nortel already uses SNiFF+. Ask for that also at your site. Ciao - -- Martin Raabe E: Martin.RaabeATNOSPAMBaSystem.de "Tom Yee" 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" 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: 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" Organization: AT&T Broadband Message-ID: References: <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" 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(), ); > taskSafe(); > if (taskIdSelf() == lastTaskId && mySemCount != 0) {mySemCount++ ; > return;} > lastTaskId = taskIdSelf(); > mySemCount = 1; > semTake(myBSemId, WAIT_FOREVER); > } > Let me know the improvments. > > -rajendra > > > > "Mamoon Khan" wrote in message news:... > > 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" 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 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" Organization: AT&T Broadband Message-ID: References: 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" 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" 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" 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: Hi, we compile our vxworks project within our own Make-Environment using the switches defined in Tornado΄s 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: "weddick" wrote in message news:... > 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" Organization: AT&T Broadband Message-ID: References: <8f77d4a.0207162339.59ab7f6d@posting.google.com> "Keith Arner" 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、Who can give me a really example about memory fragmention?I > > don't need the theoretic example. > > 2、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、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" Organization: Buergernetz Dillingen Message-ID: References: <479ba395.0207092222.76d7d098@posting.google.com> Sender: mlawnick@p5088f4b1.dip.t-dialin.net "Tom Yee" 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" Message-ID: <3d36de83$0$1381$4d4ef98e@read.news.ch.uu.net> References: <479ba395.0207092222.76d7d098@posting.google.com> 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" 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" 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: 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: > > 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> <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]" 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 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" 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: References: <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]" 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: 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: 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: References: 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" wrote in message news:... > ----- Original Message ----- > From: "guobao shen" > 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 libgnuvx.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: 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:... > 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" Organization: Buergernetz Dillingen Message-ID: 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" 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" Organization: Buergernetz Dillingen Message-ID: References: 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" 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 Organization: Agere Systems Message-ID: 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: References: Try using objcopy command to generate the bin file zhouzhaohan@yahoo.com (Fred Zhou) wrote in message news:... > 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" Organization: Buergernetz Dillingen Message-ID: References: <479ba395.0207092222.76d7d098@posting.google.com> <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" 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" 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" 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" Message-ID: <3d37bbe6$1@pull.gecm.com> References: <479ba395.0207092222.76d7d098@posting.google.com> <3d36de83$0$1381$4d4ef98e@read.news.ch.uu.net> "Michael Lawnick" 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" Organization: AT&T Broadband Message-ID: References: <479ba395.0207092222.76d7d098@posting.google.com> "Leonid Rosenboim" 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" 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 Organization: BT Openworld Message-ID: <3D37C8C4.9000104@spamm.me.l8s.co.uk> References: <479ba395.0207092222.76d7d098@posting.google.com> <3d36de83$0$1381$4d4ef98e@read.news.ch.uu.net> 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" Organization: AT&T Broadband Message-ID: References: <479ba395.0207092222.76d7d098@posting.google.com> "rajendra" 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(), ); > 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" wrote in message news:... > > 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" Organization: Buergernetz Dillingen Message-ID: References: <479ba395.0207092222.76d7d098@posting.google.com> <3d36de83$0$1381$4d4ef98e@read.news.ch.uu.net> <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" 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" Organization: Buergernetz Dillingen Message-ID: References: <479ba395.0207092222.76d7d098@posting.google.com> <3d36de83$0$1381$4d4ef98e@read.news.ch.uu.net> <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" schrieb im Newsbeitrag news:3d37bbe6$1@pull.gecm.com... > "Michael Lawnick" 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" 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 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: Organization: Dept. of Computer Science, Nat'l Tsing Hua Univ., Taiwan, R.O.C. Message-ID: 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: 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 Organization: BT Openworld Message-ID: <3D380013.5020900@spamm.me.l8s.co.uk> References: <479ba395.0207092222.76d7d098@posting.google.com> <3d36de83$0$1381$4d4ef98e@read.news.ch.uu.net> <3D37C8C4.9000104@spamm.me.l8s.co.uk> > 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: References: 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:... > 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" Organization: Nortel Message-ID: References: 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" 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" Organization: AT&T Broadband Message-ID: References: <479ba395.0207092222.76d7d098@posting.google.com> "Leonid Rosenboim" 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! 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? - -Tom --------------------------- Newsgroups: comp.os.vxworks Subject: Re: wind semaphores Date: Fri, 19 Jul 2002 07:44:21 -0700 From: "Michael R. Kesti" Organization: MK Associates Message-ID: <3D3825C5.BA0AB408@gv.net> References: <479ba395.0207092222.76d7d098@posting.google.com> 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! > > 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. > > >-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 Organization: Bell Sympatico Message-ID: References: <479ba395.0207092222.76d7d098@posting.google.com> 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 Organization: Fermi National Accelerator Laboratory Message-ID: <3D383DC7.D8EFD585@fnal.gov> References: <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:... > > > 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" 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: 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" 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 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]" Organization: Nortel Networks Message-ID: <3D385838.457D79D2@hNoOtSmPaAiMl.com> References: 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 Message-ID: <3D3868C7.27470484@notifier-is.net> References: <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:... > > > > 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: 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 Message-ID: <3D387483.EA9E712C@notifier-is.net> References: 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 Organization: BT Openworld Message-ID: <3D388078.8010409@spamm.me.l8s.co.uk> References: <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]" Organization: Nortel Message-ID: <3D389086.34CABBE1@NhOoStPmAaMil.com> References: <479ba395.0207092222.76d7d098@posting.google.com> <3d36de83$0$1381$4d4ef98e@read.news.ch.uu.net> <3D37C8C4.9000104@spamm.me.l8s.co.uk> <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]" Organization: Nortel Message-ID: <3D3891EE.74324510@NhOoStPmAaMil.com> References: <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 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: References: "Michael Lawnick" wrote in message news:... > 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: 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 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: References: 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" 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: 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" Message-ID: <3d39ab0b$1_1@nopics.sjc> References: <3D25CCE5.FC407AA3@gv.net> 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: References: <3D25CCE5.FC407AA3@gv.net> <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" Organization: AT&T Broadband Message-ID: References: <3D25CCE5.FC407AA3@gv.net> <3d39ab0b$1_1@nopics.sjc> 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" 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: <9wq_8.14$Gk6.1262799@newssvr21.news.prodigy.com> References: <3D25CCE5.FC407AA3@gv.net> <3d39ab0b$1_1@nopics.sjc> 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" 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" 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
Hi,
 
Here's some interesting question = !
 
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.
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 and update the memory map as described in bsp=20 documentation.
 
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.
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  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.
 
Thanks for your time.
 
Rajesh Patwari
UMASS-Amherst
ECE Dept - Feedback Controls=20 Lab
------=_NextPart_000_0008_01C230A5.E01B7C70-- From vxwexplo-errs@csg.lbl.gov Mon Jul 22 04:03:09 2002 From: Vxworks Exploder 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: 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: 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: 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" Organization: Buergernetz Dillingen Message-ID: 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: 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" Organization: EarthLink Inc. -- http://www.EarthLink.net Message-ID: References: "Michael Lawnick" 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" Organization: Verio Message-ID: References: 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" 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 Organization: WEBUSENET.com Message-ID: <3D3BE300.6D1E1EFC@bellsouth.net> References: 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" 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 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" 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?= 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 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" 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 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> <4a8311d7.0207120442.5d82b3b4@posting.google.com> Bill Pringlemeir wrote in message news:... > 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" Organization: Buergernetz Dillingen Message-ID: References: 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" schrieb im Newsbeitrag news:wzQ_8.10437$Qk6.10091@newsread1.prod.itd.earthlink.net... > > "Michael Lawnick" 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> <4a8311d7.0207120442.5d82b3b4@posting.google.com> Bill Pringlemeir wrote in message news:... > 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> <4a8311d7.0207120442.5d82b3b4@posting.google.com> Bill Pringlemeir wrote in message news:... > 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 " 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: References: <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: 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" Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: 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" 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: 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 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: References: <558a531.0206251940.607bafb2@posting.google.com> <3d1ada51$0$9442$4d4eb98e@read-nat.news.uk.uu.net> <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 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 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 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: References: <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 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 Organization: Bell Sympatico Message-ID: References: <4a8311d7.0207102335.3de9525f@posting.google.com> <4a8311d7.0207120442.5d82b3b4@posting.google.com> <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" Organization: Bentium Ltd. (CN99) Message-ID: 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 Organization: Agere Systems Message-ID: References: "degang" 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" Organization: Buergernetz Dillingen Message-ID: References: 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" 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 #include #include #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: 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?= 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" Organization: EarthLink Inc. -- http://www.EarthLink.net Message-ID: References: "Michael Lawnick" 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" Organization: Buergernetz Dillingen Message-ID: References: Reply-To: "Michael Lawnick" 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 Organization: WEBUSENET.com Message-ID: <3D3D2E29.6CDAF413@bellsouth.net> References: 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 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" 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: References: <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 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: 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: 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: References: <3D3D2E29.6CDAF413@bellsouth.net> joe durusau 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: 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" 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" 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 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... - -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: 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: <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 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:... > > > > > 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" Organization: Buergernetz Dillingen Message-ID: References: <3D3E0921.EDCF5F10@gv.net> Reply-To: "Michael Lawnick" Sender: mlawnick@pd9e656fe.dip.t-dialin.net Hi Michael, you need to add the object in the related archive ($(WIND_BASE)/target/lib/libgnuvx.a. This will solve the 'italic' problem as well as the size. Michael. "Michael R. Kesti" 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" Organization: Buergernetz Dillingen Message-ID: References: <3d64955d.0207231429.3254d1@posting.google.com> Reply-To: "Michael Lawnick" 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" 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: References: <3D3E0921.EDCF5F10@gv.net> Hi "Michael R. Kesti" 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" Organization: Buergernetz Dillingen Message-ID: References: Reply-To: "Michael Lawnick" 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" 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" Organization: AT&T Broadband Message-ID: <7ns%8.146038$uw.90229@rwcrnsc51.ops.asp.att.net> References: 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" 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" 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" 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: <3D3D2E29.6CDAF413@bellsouth.net> 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:... > joe durusau 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" 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 Organization: Agere Systems Message-ID: 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" Message-ID: References: <9663bf40.0207232354.6b89b886@posting.google.com> Hi, "Muthulaxmi S" 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 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?= 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" 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" 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 & 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

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 & 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-- From vxwexplo-errs@csg.lbl.gov Thu Jul 25 04:03:19 2002 From: Vxworks Exploder 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 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: References: <3D3D2E29.6CDAF413@bellsouth.net> >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" Organization: Cedaryacht Limited Message-ID: 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" Organization: Bell Sympatico Message-ID: <2Sx%8.10286$sb5.1001075@news20.bellglobal.com> References: 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" 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" Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: 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" Organization: Newport Networks Ltd. Message-ID: <1027522209.462008@azores.network-i.net> References: <1027440860.901531@azores.network-i.net> 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" 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" 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" Organization: Public NNTP Service, Kyoto University, JAPAN Message-ID: 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 Organization: None Message-ID: <74B%8.224$E5.7843@newsfeed.avtel.net> References: In comp.arch.embedded David J Edgar 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" 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 Message-ID: <3D3EE0E0.44D7790C@notifier-is.net> References: 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" Organization: Nortel Message-ID: 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" Organization: Bell Sympatico Message-ID: --------------------------- 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: 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" wrote in message news:... > 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: 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" wrote in message news:... > 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 Organization: DENX Software Engineering, Germany Message-ID: References: Sender: wd@denx.muc.de (wd) "David J Edgar" 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: <3D3D2E29.6CDAF413@bellsouth.net> 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:... > >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: 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: References: <3D3D2E29.6CDAF413@bellsouth.net> >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" 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" Organization: AT&T Broadband Message-ID: References: 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" 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: References: <1027530649.593871@azores.network-i.net> Hi, "Dimitrios Siganos" 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: References: What kinda of terrorist tripe computer spam noise is this??? John "LtCmdr E. da Silva" 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" Organization: Lucent Technologies, Columbus, Ohio Message-ID: 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> "Friedrich Ensslin" wrote in message news:... > Hi, > > "Muthulaxmi S" 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: <3D3D2E29.6CDAF413@bellsouth.net> Hello, I just use google. The delay doesn't bother me often. Rgds, John... zhouzhaohan@yahoo.com (Fred Zhou) wrote in message news:... > >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: 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:... > 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: References: eric.harlow@mail.dfrc.nasa.gov (Eric) wrote in message news:... > 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 Organization: ENEA OSE Engineering Message-ID: <3D3FA814.ECF4CB17@enea.de> References: > > 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" Message-ID: <0WN%8.1$z%.891@news.ecrc.de> References: <9663bf40.0207232354.6b89b886@posting.google.com> <9663bf40.0207242206.6198e9fc@posting.google.com> Hi, "Muthulaxmi S" 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: References: eric.harlow@mail.dfrc.nasa.gov (Eric) wrote in message news:... > 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" 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" 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" Organization: Verio Message-ID: 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" 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 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 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: 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" Organization: Cedaryacht Limited Message-ID: References: <3D3FA814.ECF4CB17@enea.de> "42Bastian Schick" 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 Organization: ENEA OSE Engineering Message-ID: <3D3FF8CF.1745FCD3@enea.de> References: <3D3FA814.ECF4CB17@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 -- - ------------------------------- --------------------------- 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: 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" Organization: Cedaryacht Limited Message-ID: References: <3D3FA814.ECF4CB17@enea.de> <3D3FF8CF.1745FCD3@enea.de> "42Bastian Schick" 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 Message-ID: <3D40136A.47D2914F@notifier-is.net> References: 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 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 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" 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" 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: 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" wrote in message news:... > 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 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" Organization: Verio Message-ID: 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" 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" Organization: Newport Networks Ltd. Message-ID: <1027618166.376249@azores.network-i.net> References: <1027530649.593871@azores.network-i.net> 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" wrote in message news:tPL%8.1068$LP4.137873480@newssvr15.news.prodigy.com... > Hi, > > "Dimitrios Siganos" 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" Organization: NASA Goddard Space Flight Center (skates.gsfc.nasa.gov) Message-ID: References: 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" 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: 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" Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: References: <3D402894.AD31CC41@ll.mit.edu> Sender: gold@ensemble.com "Michael Reed" 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: 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" 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" 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: <30%%8.161$cq.7319679@newssvr15.news.prodigy.com> References: "subbarayan" 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: References: <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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: <5U%%8.139$CH7.7081015@newssvr16.news.prodigy.com> References: See below, this is old info that doesn't apply to T2. - -j "subbarayan" 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; ixlimit00 = 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 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 Message-ID: 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 Organization: Bell Sympatico Message-ID: References: <3D402894.AD31CC41@ll.mit.edu> 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: 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: References: <3D402894.AD31CC41@ll.mit.edu> 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: 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 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: References: "subbarayan" 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//* > > 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 Organization: WEBUSENET.com Message-ID: <3D41242A.E27E5503@bellsouth.net> References: 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 > 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 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" 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 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" Organization: ARNES Message-ID: References: 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" 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> > 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: References: <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" Organization: ARNES Message-ID: 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" Organization: MindSpring Enterprises Message-ID: 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: References: 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" 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 > 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" Organization: MK Associates Message-ID: <3D416F71.68BC569F@gv.net> References: <3D402894.AD31CC41@ll.mit.edu> Reply-To: mkesti@gv.net Dan Gold wrote: >"Michael Reed" 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. 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: 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" Organization: NOAO Message-ID: References: > 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" Organization: MTS Internet Message-ID: <3D41AC4B.30BB@despam.autobahn.mb.ca> References: In article , 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" Organization: MindSpring Enterprises Message-ID: References: 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" 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" Organization: Telia Internet Message-ID: 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" Organization: NOAO Message-ID: References: <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: Hello, Check out sntpcLib (client) and sntpsLib (server) - both part of the standard VxWorks distributions. Rgds, John... "Dan White" wrote in message news:... > 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 Organization: none Message-ID: References: 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 , _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" 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 > > > Best regards > > > > seasoblue > > > --------------------------- Newsgroups: comp.os.vxworks Subject: OC vxWorks Users Group Date: Fri, 26 Jul 2002 20:19:32 GMT From: "cfk" Organization: Prodigy Internet http://www.prodigy.com Message-ID: 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: 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" 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" Organization: NOAO Message-ID: References: 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’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 “window”. 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’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 “drawn/dragged/dropped” 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: References: 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 #include 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: 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: References: "subbarayan" 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 Should be at the top of every vxWorks file. John > #include > #include > 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 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 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 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: References: 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: References: 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" 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" Message-ID: 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" Organization: Prodigy Internet http://www.prodigy.com Message-ID: <%wC09.34567$mz6.50826365@newssvr21.news.prodigy.com> References: 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" 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 Organization: Bell Sympatico Message-ID: 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’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 Organization: Bell Sympatico Message-ID: 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" Organization: Verio Message-ID: References: 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" 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 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" Message-ID: 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 Organization: none Message-ID: 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 Organization: Agere Systems Message-ID: References: "dbelcourt" 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" Organization: AT&T Broadband Message-ID: 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" 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" 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" 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" Organization: AT&T Broadband Message-ID: 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" 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 Organization: Defence Science and Technology Organisation Message-ID: <3D44870C.716C186D@dsto.defence.gov.au> References: 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 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" 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" Organization: Bentium Ltd. (CN99) Message-ID: 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: "cfk" wrote in message news:... > 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" Organization: EarthLink Inc. -- http://www.EarthLink.net Message-ID: <9J519.2293$w45.225267@newsread2.prod.itd.earthlink.net> References: "zhaoyandong" 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" Organization: Buergernetz Dillingen Message-ID: References: Reply-To: "Michael Lawnick" 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: References: 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 #include 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: 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 #include 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: 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?= 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 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 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 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 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" Organization: NOAO Message-ID: 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" 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>, 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. - -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: 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 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 Organization: Bell Sympatico Message-ID: 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" Message-ID: References: Reply-To: "Folkert Rienstra" "Giovanni Fissi" 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" Organization: Bentium Ltd. (CN99) Message-ID: References: > 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" Organization: AT&T Broadband Message-ID: References: "zhaoyandong" 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 Message-ID: <3D462121.4080101@e-farm.com> References: 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" Organization: Lucent Technologies, Columbus, Ohio Message-ID: 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 tags in the following manner: var1 var2 var3 ... varN 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: 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" 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" Organization: Buergernetz Dillingen Message-ID: References: Reply-To: "Michael Lawnick" 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" 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" Organization: Buergernetz Dillingen Message-ID: References: <3D45CC1C.9000203@copper.net> Reply-To: "Michael Lawnick" 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" 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: References: 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" Organization: Buergernetz Dillingen Message-ID: References: <41c1fd2b.0207291124.41ad151e@posting.google.com> Reply-To: "Michael Lawnick" 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" 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" Organization: Buergernetz Dillingen Message-ID: References: Reply-To: "Michael Lawnick" 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" 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: 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 Organization: Agere Systems Message-ID: 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 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 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" Organization: Verio Message-ID: 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" 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 Message-ID: <3D468214.7090000@copper.net> References: <3D45CC1C.9000203@copper.net> 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" 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: References: 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: References: 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 Organization: Bell Sympatico Message-ID: References: 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 Organization: BT Openworld Message-ID: <3D46AE56.5040906@spamm.me.l8s.co.uk> References: <41c1fd2b.0207291124.41ad151e@posting.google.com> >> >>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 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" 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> 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" wrote in message news:... > 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" 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 Message-ID: <3D46C5A8.B1DE266E@notifier-is.net> References: 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 tags in the following manner: > > > var1 > var2 > var3 > ... > varN > > > 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: > > > > 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" 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" 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" Organization: GlobeTrotter Message-ID: <%4C19.9843$gM.495947@charlie.risq.qc.ca> References: <363d071b.0207061417.4841b4c3@posting.google.com> <33a82c0f2d66346702ed874342afc4e9.98538@mygate.mailgate.org> Have you tried sniffing the ftp transfer? - -- Ho-Kuo Chan "Ganesh Anand" 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" Organization: GlobeTrotter Message-ID: <3gC19.9848$gM.496454@charlie.risq.qc.ca> References: 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" 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: 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 Organization: Agere Systems Message-ID: References: <41c1fd2b.0207291124.41ad151e@posting.google.com> <3D46AE56.5040906@spamm.me.l8s.co.uk> David Laight 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 Organization: Bell Sympatico Message-ID: References: <41c1fd2b.0207291124.41ad151e@posting.google.com> <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 Organization: Bell Sympatico Message-ID: 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" Organization: power Message-ID: Reply-To: "zxj" 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: References: 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" Organization: Verio Message-ID: 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" 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" Organization: Verio Message-ID: 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" 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: Denis Perelyubskiy wrote in message news:... > 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" 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