From vxwexplo-errs@csg.lbl.gov Thu Nov 1 04:03:17 2001 From: Vxworks Exploder Date: Thu Nov 1 04:03:19 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Thu Nov 1 04:03:12 PST 2001 Subject: PPP & Simulator Subject: Re: new user. Subject: Re: Booting 2 processors with one vxWorks image Subject: Maximum timers in VxWorks Subject: S_memLib_BLOCK_ERROR Subject: Re: 860 SCC Driver Subject: ifAddrAdd Subject: Re: Measuring performance in VxWorks Subject: Re: modify LibPPC604gnuvx.a Subject: Re: MMU Question Subject: Re: MPC8260/860, cache and DMA (or cache coherency) question Subject: Re: Scalability of VxWorks watchdog timer (wdLib) implementation Subject: Help with interrupts Subject: Resources reclamation Subject: Re: Help with interrupts Subject: FTP to second END device in VxWorks. Subject: Re: Using dependencies in different dirrectories? Subject: Re: Help with interrupts Subject: New Site for StronaARM fans Subject: New Site Subject: Re: Real Time Quality of TCP/UDP/IP Stacks Subject: Re: Real Time Quality of TCP/UDP/IP Stacks Subject: SCSI problems in vxworks Subject: Re: Resources reclamation Subject: about the no time_slice schedule problems Subject: Re: Help with interrupts Subject: Re: Real Time Quality of TCP/UDP/IP Stacks Subject: Re: Real Time Quality of TCP/UDP/IP Stacks Subject: Re: about the no time_slice schedule problems Subject: Re: MMU Question ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: PPP & Simulator Date: 31 Oct 2001 04:28:15 -0800 From: mikron30@hotmail.com (Miki Zilbershtein) Organization: http://groups.google.com/ Message-ID: Dear Group members I have problem with Simulator and it seems like it is PPP problem. I have built a customized simulator on Solaris 5.8 with Tornado 2.0.2 VxWorks 5.4 including network stack. When I started the Simulator I am getting endless loop saying: sysToMonitor: restarting. s_fdint: u_ioctl TIOCSPGRP s_fdint: u_ioctl I_SETSIG - 0 sysToMonitor: restarting. s_fdint: u_ioctl TIOCSPGRP s_fdint: u_ioctl I_SETSIG - 0 My PPP configuration is ifconfig ipd0 plumb 177.29.1.13 127.0.1.0 up private netmask 0xffffff00 Can anyone help me? How can I check if my PPP is working correctly or not? Thanks in advanced, Miki --------------------------- Newsgroups: comp.os.vxworks Subject: Re: new user. Date: 31 Oct 2001 12:24:57 GMT From: Johan Borkhuis Organization: Agere Systems Message-ID: References: <9rol7j$q9d$1@news.netvision.net.il> "Barak Ofir" wrote: > Hello, > I’m interesting in learning the VxWorks OS. > Does any one know where I can get reading material on the web? You could start with downloading Tornado Prototyper, a VxWorks simulator. This includes all the documentation and manuals. 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: Booting 2 processors with one vxWorks image Date: 31 Oct 2001 05:28:32 -0800 From: polyester99@hotmail.com (Kelvin Lawson) Organization: http://groups.google.com/ Message-ID: <7fbcd71e.0110310528.70d7eeaf@posting.google.com> References: <996d421c4bd4bf081db69ed53499984e.8627@mygate.mailgate.org> > But here is obviously the problem. In the vxWorks Makefile, in config.h and in > sysAlib.s/romInit.s we set up the RAM address. So basically it is set up for > one processor (eg RAM at 0y00 0000). How is it possible to use the same flash > image to configure the RAM address for the second processor (eg RAM at 0z00 > 0000)? What CPU are you using ? If you are using two different PowerPCs you could read the PVR (Processor Version Register) in your boot code and branch to separate configuration code. Kelvin. --------------------------- Newsgroups: comp.os.vxworks Subject: Maximum timers in VxWorks Date: Wed, 31 Oct 2001 19:06:06 +0530 From: Jharna Organization: Lucent Technologies Message-ID: <3BDFFE46.D4851FFC@lucent.com> Is there any VxWorks manual or documentation that confirms that There is no fixed limit on the maximum number of watchdog timers in VxWorks. And that it is only limited by it just depends on the amount of memory and CPU time that is available. Regards, Jharna --------------------------- Newsgroups: comp.os.vxworks Subject: S_memLib_BLOCK_ERROR Date: 31 Oct 2001 05:59:54 -0800 From: monishabarooah@yahoo.com (Monisha Barooah) Organization: http://groups.google.com/ Message-ID: <68ef19de.0110310559.459d8096@posting.google.com> Hi, I have been getting the error S_memLib_BLOCK_ERROR with the tWdbTask. Can anyone suggest the cause of the error? and that too with this task. Regards, Monisha. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: 860 SCC Driver Date: Wed, 31 Oct 2001 14:42:14 GMT From: Diego Serafin Organization: http://www.newsranger.com Message-ID: References: <3BD9386E.B9F4771C@baesystems.com> <3BDD758C.94CABE1D@baesystems.com> In article <3BDD758C.94CABE1D@baesystems.com>, Paul Caswell says... > >Thanks Johan, >This looks useful so I'll look at in more depth. One point that is >immediately apparent that this example sets up the SCC in UART mode. >What I think I want to do is run the SCC in Transparent mode. Anyone >out there done this before ?? >Regards >Paul > Hi Paul, I developed a more or less complete library for transparent and HDLC communications on MPC860MH SCCs in QMC (QUICC Multi Channel) mode. Unfortunately I 'm not allowed to put sources in public domain. Anyway I started up from Motorola examples (QMC supplement to MPC860 User's Manual and netcomm examples on Motorola site). If you need help on SCC QMC feel free to ask: if I can give you some hints I'll be happy to do that. Regards, Ciao. Diego. --------------------------- Newsgroups: comp.os.vxworks Subject: ifAddrAdd Date: Wed, 31 Oct 2001 15:28:40 +0000 (UTC) From: "Indhu S" Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: <3b32483b233f6e1fac41bb4816361a3f.34031@mygate.mailgate.org> Hi I an add more than one IP address to an interface using the function 'ifAddrAdd'. But if I can't find a function to remove the same. Is there a function which will delete an address from the interface. Thanks Indhu - -- Posted from [66.7.6.122] via Mailgate.ORG Server - http://www.Mailgate.ORG --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Measuring performance in VxWorks Date: 31 Oct 2001 17:07:19 GMT From: merleebene@aol.com (MerleEbene) Organization: AOL http://www.aol.com Message-ID: <20011031120719.16324.00000912@mb-mo.aol.com> References: I agree WindView is a very good starting point. You could use the Browser as well. Good luck LB --------------------------- Newsgroups: comp.os.vxworks Subject: Re: modify LibPPC604gnuvx.a Date: 31 Oct 2001 17:28:29 GMT From: merleebene@aol.com (MerleEbene) Organization: AOL http://www.aol.com Message-ID: <20011031122829.16324.00000914@mb-mo.aol.com> References: The image which does not load may have a code segmentation problem (text and data segemts). I could be wrong. Just follow the other steps to get it to work. Pat yourself on the back; you deserve a soda can :-) LB --------------------------- Newsgroups: comp.os.vxworks Subject: Re: MMU Question Date: Wed, 31 Oct 2001 09:43:15 -0800 From: "Dan Gold" Message-ID: <3be03875$0$78867$e2e8da3@nntp.cts.com> References: <47244237.0110300326.46722d6d@posting.google.com> <1cb61f21.0110301826.7695a6c4@posting.google.com> "Mehul Patel" wrote in message news:1cb61f21.0110301826.7695a6c4@posting.google.com... > mragberger@embeddedknowledge.com (=?ISO-8859-1?Q?Mats_R=E5gberger?=) wrote in message news:<47244237.0110300326.46722d6d@posting.google.com>... > > Hi > > > > Has anyone tried to use the MMU support in VxWorks to have a translation > > other than 1:1 for the data and bss sections? > > > > Regards > > /Mats > > Would you please elaborate it ? We have used it for adding dynamic > MEMORY entry while bootup sequence. It would also help if you mentioned which architecture (i.e. PPC, x86, etc...) you were targeting. Dan Gold gold@ensemble.com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: MPC8260/860, cache and DMA (or cache coherency) question Date: Wed, 31 Oct 2001 10:29:05 -0800 From: "Dan Gold" Message-ID: <3be04333$0$51828$e2e8da3@nntp.cts.com> References: <488e459a.0110201346.4680ff5a@posting.google.com> <3bd599a3$0$1091$e2e8da3@nntp.cts.com> <3bd97fe4$1@news.si.com> "Rajam AP" wrote in message news:af08b74b.0110302246.6051836d@posting.google.com... > vanbaren@falcon.si.com (vanbaren_gerald) wrote in message news:<3bd97fe4$1@news.si.com>... > > Linh Dang writes: > > > > >"Dan Gold" writes: > > >> > > >> And also remember if you're on an 8260 and you use a DBAT for your vxWorks > > >> RAM, cacheDmaMalloc() won't work. You'd have to use another area of memory > > > > >If the driver does cacheInvalidate/cacheFlush explicitly, cacheDmaMalloc() should > > >work right? cacheDmaMalloc()'s purpose is to allocate a block of memory > > >which is cache-aligned regardless of the mapping mechanism (page for bat). > > >-- > > >Linh Dang > > > > Sorry, no. From the manual: > > > > This routine returns a pointer to a section of memory that will not > > experience any cache coherency problems. Function pointers in the > > CACHE_FUNCS structure provide access to DMA support routines. > > > > The routine disables the cache on the page(s) of memory allocated. > > The cache disable assumes page table mapping and will fail horribly if > > you are using BATs to map that memory area. At least it did for me... :-/ > > > > gvb I see Gerald and I have shared the same empirical experience :-) > What is the purpose of CACHE_FUNCS? CACHE_FUNCS is an array of function pointers to 'help' you in managing potential cache problems, and allows for the installation of different cache implementations in an architecture-independent manner. I.e. if your same code had to run on PPC, Pentium, MIPS, etc... you could write your driver using CACHE_FUNCS calls, and it wouldn't need to change. Even across the same processor family, architectures (i.e. PPC860 vs PPC750) may differ, so you can write your code the same. >Also when we do cacheDmaMalloc, is the memory page allocated marked as cache inhibited by VxWorks? Having looked at the source for cacheDmaMalloc() for the PPC, the answer is yes. It checks to see if the cache is enabled (via HID0). If no, it just calls malloc(). If yes, it allocates memory via memalign, then marks the pages as non-cacheable. hth, Dan Gold gold@ensemble.com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Scalability of VxWorks watchdog timer (wdLib) implementation Date: 31 Oct 2001 11:18:33 -0800 From: ryeung@earthlink.net (Raymond Yeung) Organization: http://groups.google.com/ Message-ID: References: <3BDD1406.C34C67E4@esk.fhg.de> <3BDFB52F.605684C4@esk.fhg.de> It may not be that bad to have the "burst" if you allow the job to be pre-empted by higher priority task. This is especially so if your application needing the 200 timers would suffer no grave consequence if they're delayed. In this case, your option #1 may be effective. At the minimum, you've now moved the work away from ISR to task level. So your timer interrupt would not lock out other lower priority interrupts and the high priority tasks for a "long" time. Do you know how high the priority of your timer interrupt? Walter Zimmer wrote in message news:<3BDFB52F.605684C4@esk.fhg.de>... > Hi! > > First, thanks to everyone for responding. I'm glad VxWorks implemented > the wdLib in the right way :) > > Raymond Yeung wrote: > > It may depend on your application's requirements. If your > > application doesn't require the resolution of a watchdog (one > > tick at about 16-17 msec, on the boards that I worked with this far), > > you may be better off setting up the timer at longer interval, and > > delagate the application timer processing to a high priority task. > That's what we're currently doing in the timer routine: Only insert > a message into a queue and exit. > > > E.g. if you've protocol timers of order of seconds, but you have > > something like DSP packetization occuring at 10-30 msecs intervals, > > and must be on time. In this application, using watchdog directly > > could open to burst of ISR work due to slight misalignment in timers. > > These bursts could affect schedules of other more time critical > > works. > I understand the point that it's not good if my 200 timers expire all at > once, but as the running time increases, synchronization issues will > lead to the point that they will produce bursts. > > Now, what is the alternative? > 1. > Using one timer and doing the work of all 200 routines at once is > worse in my oppinion since it _always_ produces burst, especially > for the task that gets the 200 messages. > > 2. > Use a task that suspends itself periodically instead of a timer > routine. This would be optimal from the load balancing view. Are > there any performance penalties or other disadvantages of this > approach? For a protocol timer which uses times in the orders > of seconds this could be a feasable alternative. > > 3. > Avoid self-synchonizing of the 200 timers. This would be the ultimate > solution, since it balances the load and consumes less resources > than task switching (like in 2.) > Any ideas? I don't have any clue how to accomplish this with the > current wdLib API. I'm not aware of any means to tell the API to > e.g. insert the timer routine at an expiration time 5 ticks away > from any other expiration time. > > Did someone experience this self synchronizing effect, or is it > extremely unlikely? Any links to papers? > > Thanks again, > Walter --------------------------- Newsgroups: comp.os.vxworks Subject: Help with interrupts Date: Wed, 31 Oct 2001 11:41:59 -0800 From: "BL" Organization: Jet Propulsion Laboratory - Pasadena CA Message-ID: <9rpk67$km1$1@nntp1.jpl.nasa.gov> Anyone out there with a Synergy VGM5 board that has gotten interrupts to work? Currently using BSP v1.2g with PowerPC604. Is there anything else I need to do except perform an intConnect() ? Some sample code would be helpful. It seems like I'm sending an interrupt ok but I am not receiving it. Is there a way to verify that it has actually gotten sent? Thanks, Bill --------------------------- Newsgroups: comp.os.vxworks Subject: Resources reclamation Date: Wed, 31 Oct 2001 11:44:11 -0500 From: droberge Organization: Universite du Quebec Message-ID: <3BE02A5B.1B171493@ele.etsmtl.ca> Hi, I have a question regarding resources reclamation in VxWorks AE. If a parent task spawn many sub-tasks, are the sub-tasks deleted when the parent task is deleted ? The programmer's guide say that the default owner of a task is the protection domain in which it is spawned. Am I right to say that if the parent task is not the owner of the sub-tasks, they should not be deleted when the parent task is deleted. Is there a mean to make the parent task the owner of the sub-tasks in order to automaticaly delete the sub-tasks when the parent task is deleted ? Thanks in advance, /David --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Help with interrupts Date: Wed, 31 Oct 2001 17:10:19 -0500 From: joe durusau Organization: BELLSOUTH.net Message-ID: <3BE076CB.4E5EB91F@bellsouth.net> References: <9rpk67$km1$1@nntp1.jpl.nasa.gov> I'm not familiar with your hardware, but you might check on whether sysIntEnable is in your BSP. Some have it, some don't. There should be some sample code in your bsp. If you have such, you could look at the int line in question with an oscilloscope. I suspect that if you were sending the int at all, you would be able to see it. Speaking only for myself, Joe Durusau BL wrote: > Anyone out there with a Synergy VGM5 board that has gotten interrupts to > work? Currently using BSP v1.2g with PowerPC604. Is there anything else I > need to do except perform an intConnect() ? Some sample code would be > helpful. It seems like I'm sending an interrupt ok but I am not receiving > it. Is there a way to verify that it has actually gotten sent? > > Thanks, > Bill --------------------------- Newsgroups: comp.os.vxworks Subject: FTP to second END device in VxWorks. Date: 31 Oct 2001 14:56:29 -0800 From: phuc.s.dinh@intel.com (Phil) Organization: http://groups.google.com/ Message-ID: Hi All, I have two END devices on my VxWorks system (PIII). I can ping both of them (ipAttach succeed). The system has FTP Server enabled. From an NT machine, I can ftp using the first END's IP address, but can't do that with the second END, ftp always timeout. Did I miss something here? Do I need to do anything special with the second END? Thanks in advance. Phil Dinh --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Using dependencies in different dirrectories? Date: Wed, 31 Oct 2001 18:38:21 -0500 From: David Message-ID: References: Pat, Thanks for the reply, and sorry I didn't get back to you sooner. I had used the include paths you mentioned (-Ipath/path) but it turns out I also needed to make changes to the MACROs in the project setting. I had to Create a VPATH variable and give it some parameters that I don't recall offhand. Anyway, thanks. David On Sat, 20 Oct 2001 02:54:27 GMT, "Patrick@Roadrunner" wrote: >The correct way to refer to dependant header files in different directories >is to include an Include Search path to those directories in the compiler >C/C++ options of the build spec. Use >the -Idependancy_path/dependancy_directory and rebuild the dependancies >before compiling the project. There used to be an issue where the >dependancies would not get created correctly in the makefile if the current >open_file path pointed to the directory that contained the source code or >header file. If you find that this is the case select file/open from the >Tornado application and open a file in a completely unrelated directory and >rebuild the dependancies again. > >Hope this helps, >Patrick > > >"David" wrote in message >news:v341ttss8ibrbt88vgoont48mujohrkaig@4ax.com... >> I originally posted this question via my corporate news server, but it >> didn't seem to make it out to the rest of the world. If there are two >> copies of this question on your server, I apologize. >> ------------------------------------------------------ >> >> Hello everybody. Heres a newbie Tornado question for you. >> >> I have a project in which I need to keep the files in separate >> directories. >> (ex c:\code\d1 and c:\code\d2 )However, there are cases where files >> in each >> directory are dependent on header files in the other. I have added >> all of >> the files from both directories to a project. Building the project >> returns >> make errors: >> >> make: *** No rule to make target `config.h', needed by `app1.o'. >> Stop. >> >> where config.h might be in d1 and app1.cpp might be in d2. >> >> I have tried to include the paths in the Build >> Specifications->Macros-> >> PRJ_LIBS setting, but that hasn't solved the problem, it did seem to >> work on >> individual cases: >> C:\code\d1\config.h >> but I couldn't set the the Macros to link all of the header files in >> both >> directories >> C:\code\d1\*.h, C:\code\d2\*.h or >> C:\code\d1\config.h, C:\code\d2\config_in_2.h >> >> Examining the dependencies of the files in question I can see the full >> path >> for dependencies in the same directory as the file, but dependencies >> outside >> the directory only show the dependency: >> >> C:\code\d2\config_in_2.h for files in the same directory >> vs >> config.h for files in the other directory >> >> In the past (pSOS) we used make files to solve this problem. Any >> recommendations on the best way to do it in Tornado. >> >> Thanks in advance, >> David >> >> >> PS. I am currently using the prototyper if this makes any difference. >> >> >> > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Help with interrupts Date: Wed, 31 Oct 2001 19:48:10 -0500 From: "BruceL" Message-ID: <9rq6d7$5qr$1@bob.news.rcn.net> References: <9rpk67$km1$1@nntp1.jpl.nasa.gov> I had experience getting a BSP running on a Sandpoint system with MPC 8245. It was necessary to learn the chips (I/O and interrupt controller) on the motherboard and to follow the interrupts into the processor and the EPIC controller. Code changes were needed in 3 separate modules including the NS8730 (?), Windbond, and EPIC drivers. It took about a week to figure it all out. Best of luck. Bruce BL wrote in message news:9rpk67$km1$1@nntp1.jpl.nasa.gov... > Anyone out there with a Synergy VGM5 board that has gotten interrupts to > work? Currently using BSP v1.2g with PowerPC604. Is there anything else I > need to do except perform an intConnect() ? Some sample code would be > helpful. It seems like I'm sending an interrupt ok but I am not receiving > it. Is there a way to verify that it has actually gotten sent? > > Thanks, > Bill > > > --------------------------- Newsgroups: comp.os.vxworks Subject: New Site for StronaARM fans Date: Thu, 01 Nov 2001 01:05:22 GMT From: "Lawrence Ricci" Organization: AT&T Worldnet Message-ID: We just added this site- http://www.appliedvxworks.net Application ready StrongARM systems- --------------------------- Newsgroups: comp.os.vxworks Subject: New Site Date: Thu, 01 Nov 2001 01:05:21 GMT From: "Lawrence Ricci" Organization: AT&T Worldnet Message-ID: Check it out! http://www.AppliedVxWorks.net We have beifed up our VxWorks staff and are looking to market into the space a little more strongly- Larry Ricci Applied Data Systems --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Real Time Quality of TCP/UDP/IP Stacks Date: Thu, 01 Nov 2001 01:16:28 GMT From: "Lawrence Ricci" Organization: AT&T Worldnet Message-ID: References: <9rdq0a$i3v$03$1@news.t-online.com> "Heinrich Munz (eMVP)" wrote in message news:9rdq0a$i3v$03$1@news.t-online.com... > While real time communication (with "real time" I mean deterministic, not > necessarily fast!) via Ethernet using 100Mbit full duplex switched Ethernet > getting more and more a topic in Industrial Automation and other appliances > Does anyone already have made any experiences regarding this topic, > especially on the RTOS of scope in this News Group? > Hi Heinrich! I have seen vxworks and other OS (CE, Linux, OS-9) run on the same hardware with 10bT TCP I/P- In no situation did 10bT prove to be a bottleneck- but then again, the TCP links were not for a deterministic application (e.g. HMI) Would this group find a side-by-side RT comparison interesting? There is an ISA standard test for determinism- I was going to run it using GPIO in and out of the CPU board- sort of a limit test on the OS. But would anyone worried about determinism want to use TCP/IP connected I/O???? Lawrence Ricci eMVP --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Real Time Quality of TCP/UDP/IP Stacks Date: Thu, 01 Nov 2001 02:42:28 GMT From: "Lawrence Ricci" Organization: AT&T Worldnet Message-ID: References: <9rdq0a$i3v$03$1@news.t-online.com> "Heinrich Munz (eMVP)" wrote in message news:9rdq0a$i3v$03$1@news.t-online.com... > While real time communication (with "real time" I mean deterministic, not > necessarily fast!) via Ethernet using 100Mbit full duplex switched Ethernet > getting more and more a topic in Industrial Automation and other appliances > (protocols/groups like Ethernet/IP from ODVA, ProfiNet from PNO, IDA packages to carry the real time protocols mentioned above. > > Does anyone already have made any experiences regarding this topic, > especially on the RTOS of scope in this News Group? > Hi Heinrich! I was planning to run some side-by side OS determination tests (various OS on the same Hardware) but I had planned to use GPIO direct to the board interrupts- sort of a limiting test on the OS. Would the group be interested in a RT determinism test over 10bT to Ethernet I/O? Lawrence Ricci eMVP > --------------------------- Newsgroups: comp.os.vxworks Subject: SCSI problems in vxworks Date: 31 Oct 2001 18:47:48 -0800 From: errant@263.net (Jerry Wong) Organization: http://groups.google.com/ Message-ID: The problems we have met when writing the vxWorks BSP: 1 sym895 scsi driver doesn't work,while 810 does. when I configurate the scsi device (a sym53c895a adapter) with sym895 driver,it doesn't work.error occurs every time when excute scsiPhysDevCreate() in sysScsiConfig(), and vxWorks initialization hung. But when I use ncr810 driver,the scsi device initialization can be done, although some other errors will occur which will be mentioned below. 2 scsi conflict with fcc. when my scsi task work for a time,the fcc will die.I put a scsi test task in usrAppInit which do nothing except keep reading data from scsi disk to sdram. At the beginning of the test, I can ping the fcc well. yet after several hundreds times scsiRdSecs() later,the fcc doesn't response and seem to be "dead". There is no intrrupt occur by fcc.thus all net functions calls would encouter errors.We test there is still data signals between the MII and FCC. When I disable the MMU surpport and Data cache, the conflict seems to disappear. my board arch: xpc8260-----+------------powerspan----------------scsi adapter----------scsi disk | 60x bus pci bus scsi bus sdram I report this to WRS but they don't response. Could any one give me a hand? --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Resources reclamation Date: 31 Oct 2001 21:45:51 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0110312145.66a7fd63@posting.google.com> References: <3BE02A5B.1B171493@ele.etsmtl.ca> Hello David, > If a parent task spawn many sub-tasks, are the sub-tasks deleted when > the parent task is deleted ? > > The programmer's guide say that the default owner of a task is the > protection domain in which it is spawned. Am I right to say that if the > parent task is not the owner of the sub-tasks, they should not be > deleted when the parent task is deleted. That is correct. In the default case, the "sub-tasks" would not be deleted until the domain was deleted... > Is there a mean to make the parent task the owner of the sub-tasks in > order to automaticaly delete the sub-tasks when the parent task is > deleted ? Yes, a couple of ways: 1) Simply spawn the main task with the VX_TASK_OBJ_OWNER option set. This will make it the owner of any objects it creates (including tasks, which are kernel objects). You can also set and clear this option dynamically using taskOptionsSet() if you like. 2) If you only want to own the tasks, use objOwnerSet() to explicitly set the owner of the sub-tasks when you spawn them. HTH, John... > Thanks in advance, > > /David --------------------------- Newsgroups: comp.os.vxworks Subject: about the no time_slice schedule problems Date: 31 Oct 2001 22:29:19 -0800 From: loveheart1999@263.net (loveheart) Organization: http://groups.google.com/ Message-ID: <45709aba.0110312229.5a04128a@posting.google.com> hello, advicers: I am now developing a software which contains several tasks of the same priority. I wish tasks could run one by one and not broken by each other. and also I have interrupt handlers. of course ,once the interrupt occurs, the running task will be interrupt. My question is : when the interrupt handler terminated, could any task other than the interrupted one get a change to run, or the interrupted task would continue to run until it finishs or pends? thank you in advance. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Help with interrupts Date: Thu, 01 Nov 2001 17:35:59 +1030 From: Tim Shaw Organization: Defence Science and Technology Organisation Message-ID: <3BE0F456.E56054D9@dsto.defence.gov.au> References: <9rpk67$km1$1@nntp1.jpl.nasa.gov> Bill, we have had interrupts working fine with the VGM5 and the PEX3 PMC carrier, and have generally found them very easy on the VGM5. We do an intConnect((VOIDFUNCPTR *)INUM_TO_IVEC(PCI_INT_VECTOR), (VOIDFUNCPTR)intHandler, (int)&intData) and then an intEnable(PCI_INT_LEVEL) The following code is used in a .h file, which is a bit of a kludgy way to get the int numbers and levels correct, but it works ... If you're not using the PEX3, then just use PCI_A_INT_VEC and PCI_A_INT_LEVEL. Let me know if you want more detail. Hope that helps #define PCI_INT_VECTOR ({\ int _busNum=-1, _devNum, _funcNum; \ pciFindDevice(0x10b5, 0x9080, 0,&_busNum,&_devNum,&_funcNum);\ (_busNum == 0 ? PCI_A_INT_VEC : (_devNum == 0 ? PCI_B_INT_VEC \ : (_devNum == 1 ? PCI_C_INT_VEC : (_devNum == 2 ? \ PCI_D_INT_VEC : -1)))); \ }) #define PCI_INT_LEVEL ({\ int _busNum=-1, _devNum, _funcNum; \ pciFindDevice(0x10b5, 0x9080, 0,&_busNum,&_devNum,&_funcNum);\ (_busNum == 0 ? PCI_A_INT_LEVEL : \ (_devNum == 0 ? PCI_B_INT_LEVEL : \ (_devNum == 1 ? PCI_C_INT_LEVEL : \ (_devNum == 2 ? PCI_D_INT_VEC : -1)))); \ }) BL wrote: > Anyone out there with a Synergy VGM5 board that has gotten interrupts to > work? Currently using BSP v1.2g with PowerPC604. Is there anything else I > need to do except perform an intConnect() ? Some sample code would be > helpful. It seems like I'm sending an interrupt ok but I am not receiving > it. Is there a way to verify that it has actually gotten sent? > > Thanks, > Bill --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Real Time Quality of TCP/UDP/IP Stacks Date: Thu, 1 Nov 2001 08:38:26 +0100 From: "Heinrich Munz \(eMVP\)" Organization: Munz Consulting Message-ID: <9rqu60$ft6$00$1@news.t-online.com> References: <9rdq0a$i3v$03$1@news.t-online.com> Reply-To: "Heinrich Munz \(eMVP\)" > HMI) Would this group find a side-by-side RT comparison interesting? I would... especially regarding the real time performance of UDP/IP connections. >But would > anyone worried about determinism want to use TCP/IP connected I/O???? No surely not TCP/IP connected I/O!!! However, UDP/IP connected I/O is the upcomming standard in industrial automation, going to replace the legacy field busses on controller level and pushing them back where tey belong to: the sensor/actuator level. There are already some protocols on top of UDP, which could provide hard real time and determinism if the underlaying stacks and RTOSs would also. Examples are: Modbus-TCP http://www.modicon.com/openmbus/ NDDS http://www.rti.com Ethernet/IP http://www.odva.org/10_2/03_events/03_ethernet-homepage.htm However, a chain is as weak as its weakest link. So on the top layer, these protocols are made for deterministic hard real time, on the lowest layers switched, full-duplex 100MBit Ethernet (or just a simple point to point coupling of two systems over a X-cable) with QoS features also is determinitic. No the question is, what about the middle layers, which are the responsibility of the RTOSs stacks. My fear is, that they are not. Regards - -- Heinrich Munz (eMVP) NoSpamHMunz@Munz-Consulting.de (remove the "NoSpam"-Filter) http://www.Munz-Consulting.de "Lawrence Ricci" schrieb im Newsbeitrag news:Mn1E7.91463$WW.5122321@bgtnsc05-news.ops.worldnet.att.net... > > "Heinrich Munz (eMVP)" wrote in message > news:9rdq0a$i3v$03$1@news.t-online.com... > > While real time communication (with "real time" I mean deterministic, not > > necessarily fast!) via Ethernet using 100Mbit full duplex switched > Ethernet > > getting more and more a topic in Industrial Automation and other > appliances > > > Does anyone already have made any experiences regarding this topic, > > especially on the RTOS of scope in this News Group? > > > Hi Heinrich! > > I have seen vxworks and other OS (CE, Linux, OS-9) run on the same hardware > with 10bT TCP I/P- In no situation did 10bT prove to be a bottleneck- but > then again, the TCP links were not for a deterministic application (e.g. > HMI) Would this group find a side-by-side RT comparison interesting? > > There is an ISA standard test for determinism- I was going to run it using > GPIO in and out of the CPU board- sort of a limit test on the OS. But would > anyone worried about determinism want to use TCP/IP connected I/O???? > > Lawrence Ricci > eMVP > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Real Time Quality of TCP/UDP/IP Stacks Date: Thu, 1 Nov 2001 08:58:11 +0100 From: "Heinrich Munz \(eMVP\)" Organization: Munz Consulting Message-ID: <9rqvb1$624$03$1@news.t-online.com> References: <9rdq0a$i3v$03$1@news.t-online.com> Reply-To: "Heinrich Munz \(eMVP\)" >Would the group be > interested in a RT determinism test over 10bT to Ethernet I/O? Yeah... this is exactly what I am looking for. However, the test should focus on the stacks of the RTOS including the (UDP-socket) interface to the real time application. To avoid disturbances from the Ethernet layer, a point to point connection between two systems with a X-cable would be best. One system should send a UDP messages, which the other is waiting for. Questions to be answered could be: How long are the times from sending the packet until it goes out on the wire (writing to the Ethernet controller) on the one system (best, average, worst case) How long are the times from receiving the packet (interrupt of the Ethernet controller) until the waiting task wakes up (best, average, worst case). The measurement should be made under conditions like: - - No other work load on the RTOSs - - Heavy tasking work load on the system, of course having the Ethernet application the highest priority - - other side effects, like i.e. 2 Ethernet Interfaces, one for the meassured real time stuff, the other just doing non real time stuff like HTTP, FTP or something else (this could show, that the stacks are not re-entrant, which I also fear) Regards - -- Heinrich Munz (eMVP) NoSpamHMunz@Munz-Consulting.de (remove the "NoSpam"-Filter) http://www.Munz-Consulting.de "Lawrence Ricci" schrieb im Newsbeitrag news:oE2E7.166883$W8.5050540@bgtnsc04-news.ops.worldnet.att.net... > > "Heinrich Munz (eMVP)" wrote in message > news:9rdq0a$i3v$03$1@news.t-online.com... > > While real time communication (with "real time" I mean deterministic, not > > necessarily fast!) via Ethernet using 100Mbit full duplex switched > Ethernet > > getting more and more a topic in Industrial Automation and other > appliances > > (protocols/groups like Ethernet/IP from ODVA, ProfiNet from PNO, IDA > packages to carry the real time protocols mentioned above. > > > > Does anyone already have made any experiences regarding this topic, > > especially on the RTOS of scope in this News Group? > > > Hi Heinrich! > > I was planning to run some side-by side OS determination tests (various OS > on the same Hardware) but I had planned to use GPIO direct to the board > interrupts- sort of a limiting test on the OS. Would the group be > interested in a RT determinism test over 10bT to Ethernet I/O? > > Lawrence Ricci > eMVP > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: about the no time_slice schedule problems Date: Thu, 1 Nov 2001 11:45:29 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <45709aba.0110312229.5a04128a@posting.google.com> Assuming you have not turned kernel time slicing on, every task will run until it pends or delays, and only then the controil will be passed to the next task of the same priority which is ready to run. You can even do a zero-delay (i.e. taskDelay(0)) and immediately yield the CPU to the next task of the same priority, if any is ready, or continue to run immediately if there is none. Interrupts do not change this behaviour. When you turn on time slicing, a clock interrupt can preempt one task, and run the next one of the same priority, if the one interrupted has used up its time slice. HTH, - Leonid "loveheart" wrote in message news:45709aba.0110312229.5a04128a@posting.google.com... > hello, advicers: > I am now developing a software which contains several tasks of the > same priority. I wish tasks could run one by one and not broken by > each other. > and also I have interrupt handlers. > of course ,once the interrupt occurs, the running task will be > interrupt. > My question is : when the interrupt handler terminated, could any > task other than the interrupted one get a change to run, or the > interrupted task would continue to run until it finishs or pends? > thank you in advance. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: MMU Question Date: 1 Nov 2001 01:05:40 -0800 From: mragberger@embeddedknowledge.com (=?ISO-8859-1?Q?Mats_R=E5gberger?=) Organization: http://groups.google.com/ Message-ID: <47244237.0111010105.6bf161ef@posting.google.com> References: <47244237.0110300326.46722d6d@posting.google.com> <1cb61f21.0110301826.7695a6c4@posting.google.com> <3be03875$0$78867$e2e8da3@nntp.cts.com> Hi We would like to remap the data and bss section to a translation other than 1:1. We would like to have the linker generating the data and bss sections starting at physical address 0x100000 in RAM but when the system goes up and at a certain point we would like to move the data and bss sections with the help of MMU to e.g. physical address 0x500000. The target is an MPC860 and we're using VxWorks 5.4.2 Has anyone tried to remap the data and bss sections for VxWorks? Is it possible to do this? Does VxWorks kernel operate on som of the data and bss variables with the MMU turned off. For example have I seen that the bss variable, vxIntStackBase, is used in intEnt when the MMU is turned off. Regards /Mats "Dan Gold" wrote in message news:<3be03875$0$78867$e2e8da3@nntp.cts.com>... > "Mehul Patel" wrote in message > news:1cb61f21.0110301826.7695a6c4@posting.google.com... > > mragberger@embeddedknowledge.com (=?ISO-8859-1?Q?Mats_R=E5gberger?=) wrote > in message news:<47244237.0110300326.46722d6d@posting.google.com>... > > > Hi > > > > > > Has anyone tried to use the MMU support in VxWorks to have a translation > > > other than 1:1 for the data and bss sections? > > > > > > Regards > > > /Mats > > > > Would you please elaborate it ? We have used it for adding dynamic > > MEMORY entry while bootup sequence. > > It would also help if you mentioned which architecture (i.e. PPC, x86, > etc...) you were targeting. > > Dan Gold gold@ensemble.com --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Fri Nov 2 04:03:17 2001 From: Vxworks Exploder Date: Fri Nov 2 04:03:20 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Fri Nov 2 04:03:13 PST 2001 Subject: Re: S_memLib_BLOCK_ERROR Subject: Re: 860 SCC Driver Subject: problems with printf() Subject: Re: MMU Question Subject: Re: Shared Memory Network on MVME2306 Subject: Installing RFC 1305 on Vxworks Subject: Shared Memory Network problems: Subject: Profiling tools for VxWorks? Subject: Re: Profiling tools for VxWorks? Subject: TFFS support for SIMM using Intel StartaFlash 28F640J3A chips Subject: Re: Profiling tools for VxWorks? Subject: symbolic cross-reference source browsing tool Subject: Re: TFFS support for SIMM using Intel StartaFlash 28F640J3A chips Subject: Re: symbolic cross-reference source browsing tool Subject: Design Subject: What is "VOIDFUNCPTR" ? Subject: Re: DHCP client problem Subject: 8260 END Driver multiple FCC interfaces glitch?? Subject: How to download a ASCII file to target when a target bootup? Subject: Re: Installing RFC 1305 on Vxworks Subject: Re: ifAddrAdd Subject: Re: What is "VOIDFUNCPTR" ? Subject: Re: How to download a ASCII file to target when a target bootup? Subject: Re: What is "VOIDFUNCPTR" ? Subject: alignment of sections on page size Subject: Re: TFFS support for SIMM using Intel StartaFlash 28F640J3A chips Subject: Re: Design Subject: Re: symbolic cross-reference source browsing tool Subject: ISR on the PPC (DY4 :SVME179) Subject: Re: Wind webserver, Subject: Re: TCP vs UDP ???? Subject: dosFsDevInit? Subject: from where to download Tornado prototyper Subject: Cannot select END components in Add/Remove component dialog box Subject: vxworks SMTP implementation ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: S_memLib_BLOCK_ERROR Date: Thu, 1 Nov 2001 11:31:07 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <68ef19de.0110310559.459d8096@posting.google.com> Monisha Barooah wrote in message <68ef19de.0110310559.459d8096@posting.google.com>... >Hi, > I have been getting the error S_memLib_BLOCK_ERROR with the >tWdbTask. Can anyone suggest the cause of the error? and that too with >this task. Some of your code is overwriting a buffer and trashing some memory belonging to tWdbTask ? DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: 860 SCC Driver Date: Thu, 01 Nov 2001 13:22:19 +0000 From: Paul Caswell Organization: Land & Sea Systems Message-ID: <3BE14C8B.64CADA1A@baesystems.com> References: <3BD9386E.B9F4771C@baesystems.com> <3BDD758C.94CABE1D@baesystems.com> Hi Diego, Thanks for the offer of help on the vxWorks newsgroup - its a shame you're not allowed to give away your efforts although I'm sure the same would apply to me. Perhaps you let me know if the following approach is sensible: The problem: We are building a communications card that will interface to a legacy comms network. The network operates at 16 Kbps for signalling and traffic (32 channels, 0 is framing, 1 is signalling). The low level 'physical' and 'level 2' interface is done in an FPGA in hardware. The FPGA provides the signalling (at a max of 16K) into one of the SCCs (probable SCC2). This signalling will be used to drive a stack for call state control etc. My Proposed solution. I was going to create a driver (based on ppc860Sio.c) for the SCC and then add it as a serial device to the system. I was going to setup the SCC params in sysSerial.c (similar to the standard serial interface setup using an SMC) The SCC is then added as a serial device by ttyDevCreate in usrSerial.c. This would give me a file descriptor to interface to the SCC from vxWorks. We will have two trunks on our board, the above method would allow my application to use select() to wait for data on either SCC. As the data rates are slow (and not continuous) I think this should work. What do you think ? Regards Paul Caswell --------------------------- Newsgroups: comp.os.vxworks Subject: problems with printf() Date: Thu, 01 Nov 2001 09:31:11 -0600 From: James Toland Organization: Raytheon Company Message-ID: <3BE16ABF.16B1EA8A@raytheon.com> Does anyone know why this happens?

I am using a Motorola MVME2700 with VxWorks 5.4.  My C delay routine is polling the Falcon ECC Memory Controller Chip Set CTR32 at address $FEF80100, which is a 32-bit free-running counter that increments once per microsecond, for high-resolution delays(< 1ms).  Everything works great until my routine polls the 32-bit counter for more than 3 seconds.

For example:

my_main()
{
  do_something();
  delay(3_seconds);
  do_something_else();
  printf("a message");
  do_something_else();
  printf("a message");
}

The printf statements after the delay routine do not appear at the output (for delays >3s), although all the other functions after the delay function are executed properly.  To temporarily resolve this problem I am using the VxWorks routine taskDelay() for delays over 2 seconds and the printf output is as expected, but I really need a delay function that does not relinquish the cpu until the delay is accomplished and has microsecond resolution.

Thanks.
 
  --------------------------- Newsgroups: comp.os.vxworks Subject: Re: MMU Question Date: 01 Nov 2001 11:33:43 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: <47244237.0110300326.46722d6d@posting.google.com> <1cb61f21.0110301826.7695a6c4@posting.google.com> <3be03875$0$78867$e2e8da3@nntp.cts.com> <47244237.0111010105.6bf161ef@posting.google.com> Sender: bpringlemeir@DeadDuck Mats> Hi We would like to remap the data and bss section to a Mats> translation other than 1:1. We would like to have the linker Mats> generating the data and bss sections starting at physical Mats> address 0x100000 in RAM but when the system goes up and at a Mats> certain point we would like to move the data and bss sections Mats> with the help of MMU to e.g. physical address 0x500000. The Mats> target is an MPC860 and we're using VxWorks 5.4.2 This should work. However, you should note that you must re-write the "physToVirt" and "VirtToPhys" functions to tell the kernel what the mapping is. Normally it will use the `virtual/translated' address and it will recode the physical address for DMA or whatever. I have re-mapped data on several different architectures, including the MPC860. It worked for me. You should be careful about DMA (internal and external). However, I think someone said the 860 snoops addresses. In this case it doesn't matter. hth, Bill Pringlemeir. - -- This month two other people put together will clean your apartment. Never pet piglet without becoming pregnant first. Americans will sleep today. You'll soon be happy. vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html" --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Shared Memory Network on MVME2306 Date: 1 Nov 2001 08:39:04 -0800 From: spurcell@apl.washington.edu (Steve) Organization: http://groups.google.com/ Message-ID: <3b9f1aed.0111010839.2adbedbe@posting.google.com> References: <3b9f1aed.0110261135.6df3e1b2@posting.google.com> Well I solved my own problem. Doh! I found the solution on the Windriver website, but it never dawned on me that the BDS drivers had to be on the boot rom. Double Doh! So in case anyone was waiting with bated (sp?) breath: All I had to do was put #define INCLUDE_BSD into config.h and rebuild the boot rom code. Still got promblems though so I'm going to scour the postings on this NG. Steve --------------------------- Newsgroups: comp.os.vxworks Subject: Installing RFC 1305 on Vxworks Date: Thu, 1 Nov 2001 17:42:34 GMT From: "Roy H. Pete" Organization: The Boeing Company Message-ID: <3BE1898A.6BAAD27A@boeing.com> Sender: nntp@news.boeing.com (Boeing NNTP News Access) I'm new to the NTP environment. I'm trying to install RFC 1305 on Vxworks. Downloaded the shareware S/W xntp3-5_93e_tar.gz. Do I need a public NTP server with RFC1305 protocal to provide the connection to the internet? Thanks, Roy --------------------------- Newsgroups: comp.os.vxworks Subject: Shared Memory Network problems: Date: 1 Nov 2001 10:12:51 -0800 From: spurcell@apl.washington.edu (Steve) Organization: http://groups.google.com/ Message-ID: <3b9f1aed.0111011012.267b5d90@posting.google.com> Hi again, I've got a SMN going on two MVME2306's. I have been able to ping the slave board from the Win2000 host. When I reset the slave after the master has booted this is what I see on the terminal: boot device : sm unit number : 0 processor number : 1 host name : pc-steve1 file name : SMNvxWorks\vxWorks inet on backplane (b): 161.27.0.2 host inet (h) : 128.95.76.197 gateway inet (g) : 161.27.0.1 user (u) : steve ftp password (pw) : popeye flags (f) : 0x0 target name (tn) : board1 Backplane anchor at 0x10004100... Attaching network interface sm0... done. Attaching network interface lo0... done. Loading... 716544 Starting at 0x100000... 0x1fffdf8 (tRootTask): miiPhyInit check cable connection Backplane anchor at 0x10004100... Failed to attach to device smAttaching network interface sm0... done. Attaching interface lo0...done 0x1fffdf8 (tRootTask): Can't attach unknown device sm (unit 0). VxWorks Copyright 1984-1998 Wind River Systems, Inc. CPU: Motorola MVME2300 - MPC 604e VxWorks: 5.4.2 BSP version: 1.2/0 Creation date: Oct 31 2001 WDB: Ready. The network seems to be at least partially functional despite these dire messages. What do they mean, and how can I get them to go away?? Thanks in advance Steve Purcell --------------------------- Newsgroups: comp.os.vxworks Subject: Profiling tools for VxWorks? Date: Thu, 1 Nov 2001 18:36:06 +0000 (UTC) From: "Stefano" Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: <15cb77741e85016b2ac28f2ebbfd54ae.8700@mygate.mailgate.org> Hi all, I am looking for a profiling tool for VxWorks OS: I am intereseted in profiling, check errors, memory leaks...etc. Does it exist something like the RTA (Real Time Analyses)furnished with pSOS+? Thank you in advance for your suggestions. Ciao Stefano - -- Posted from ppp-64-106.20-151.libero.it [151.20.106.64] via Mailgate.ORG Server - http://www.Mailgate.ORG --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Profiling tools for VxWorks? Date: Thu, 01 Nov 2001 12:44:03 -0600 From: Francisco Pataro Organization: Verio Message-ID: <3BE197F3.8EAD8C6C@dnaent.com> References: <15cb77741e85016b2ac28f2ebbfd54ae.8700@mygate.mailgate.org> This is a multi-part message in MIME format. - --------------E60A30B0236EA3045E0142D0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Stefano, check "www.rti.com" they have a set of tools that do what you need. They are a WindRiver partner and their tools work well with VxWorks. Regards, Francisco. Stefano wrote: > Hi all, > > I am looking for a profiling tool for VxWorks OS: I am intereseted in > profiling, check errors, memory leaks...etc. Does it exist something like the > RTA (Real Time Analyses)furnished with pSOS+? > Thank you in advance for your suggestions. > Ciao > Stefano > > -- > Posted from ppp-64-106.20-151.libero.it [151.20.106.64] > via Mailgate.ORG Server - http://www.Mailgate.ORG - --------------E60A30B0236EA3045E0142D0 Content-Type: text/x-vcard; charset=us-ascii; name="fpataro.vcf" Content-Transfer-Encoding: 7bit Content-Description: Card for Francisco Pataro Content-Disposition: attachment; filename="fpataro.vcf" begin:vcard n:Pataro;Francisco tel;fax:972 671 1581 tel;work:469 330 4910 x-mozilla-html:FALSE url:www.dnaent.com org:DNA Enterprises;Software Services adr:;;1240 E. Campbell Road;Richardson;Texas;75081;U.S.A. version:2.1 email;internet:fpataro@dnaent.com title:Project Lead x-mozilla-cpt:;-20768 fn:Francsico Pataro end:vcard - --------------E60A30B0236EA3045E0142D0-- --------------------------- Newsgroups: comp.os.vxworks Subject: TFFS support for SIMM using Intel StartaFlash 28F640J3A chips Date: 1 Nov 2001 12:26:01 -0800 From: chriss@redwavenet.com (Chris Satish) Organization: http://groups.google.com/ Message-ID: <6d6a076a.0111011226.84742a3@posting.google.com> Hi, We are using a flash SIMM with four(4) Intel StrataFlash 28F640J3A chips on a board using the Motorola 8260 processor. The physical configuration of the chips is as follows: Mode (fixed on the SIMM): 8-bit (for each chip) Size of each chip : 8 MBytes Number of chips : 4 Interleaving : 4 SIMM data width : 32 bits (8 bits per chip x 4 chips) Any writes to the SIMM have to be 32 bits wide due to the hardware mapping. I'm using the cfiscs.c MTD. PROBLEM - ------- When I call sysTffsFormat() to format the device, it eventually calls cfiscsLongWrite(), which is a version of cfiscsWordWrite() that I modified to write 32 bits at a time. I've also written cfiscsLongErase() in the same way, patterned after cfiscsWordErase(). The call sequence that eventually ends in a a write verify error is as follows. 1. cfiscsLongErase() is called and the erase happens successfully. 2. cfiscsLongWrite() is called to write 104 bytes at offset 0 (on the SIMM). This is always successful. 3. cfiscsLongWrite() is called a second time to write 2 bytes at offset 20. Now, I take care about the 2 byte write by making sure that the write requirements for interleaving are satisfied. BUT, why is TFFS trying to write to a location that it has already written to before? Due to this, the write verify fails. Can anybody help me out with some ideas as to what could be going wrong? Thanks Chris Satish Redwave Networks --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Profiling tools for VxWorks? Date: Thu, 1 Nov 2001 12:44:25 -0800 From: "Dan Gold" Message-ID: <3be1b475$0$59075$e2e8da3@nntp.cts.com> References: <15cb77741e85016b2ac28f2ebbfd54ae.8700@mygate.mailgate.org> <3BE197F3.8EAD8C6C@dnaent.com> Also check out CodeTEST from Applied Microsystems, www.amc.com. A great tool for profiling and system performance, and I think they also have a memory pkg that checks for leaks etc... hth, Dan Gold gold@ensemble.com "Francisco Pataro" wrote in message news:3BE197F3.8EAD8C6C@dnaent.com... > Stefano, > > check "www.rti.com" they have a set of tools that do what you need. > They are a WindRiver partner and their tools work well with VxWorks. > > Regards, > Francisco. > > Stefano wrote: > > > Hi all, > > > > I am looking for a profiling tool for VxWorks OS: I am intereseted in > > profiling, check errors, memory leaks...etc. Does it exist something like the > > RTA (Real Time Analyses)furnished with pSOS+? > > Thank you in advance for your suggestions. > > Ciao > > Stefano > > > > -- > > Posted from ppp-64-106.20-151.libero.it [151.20.106.64] > > via Mailgate.ORG Server - http://www.Mailgate.ORG > --------------------------- Newsgroups: comp.os.vxworks Subject: symbolic cross-reference source browsing tool Date: Thu, 1 Nov 2001 21:09:14 +0000 (UTC) From: "Tim Moeller" Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: <16054b70f24dd7b2860c5a3bfa28715f.38690@mygate.mailgate.org> Is there a convenient way to jump back and forth to/from reference(s) for a symbol while browsing source code visually in the Tornado environment? What I have in mind is something similar to the Microsoft Visual Studio and keys. - -- Posted from pat.niti.com [64.73.90.228] via Mailgate.ORG Server - http://www.Mailgate.ORG --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TFFS support for SIMM using Intel StartaFlash 28F640J3A chips Date: 01 Nov 2001 16:13:24 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: <6d6a076a.0111011226.84742a3@posting.google.com> Sender: bpringlemeir@DeadDuck >>>>> "Chris" == Chris Satish writes: [snip] Chris> satisfied. BUT, why is TFFS trying to write to a location that Chris> it has already written to before? Due to this, the write Chris> verify fails. You can write a value to flash that changes ones to zeros. If the previous write was something like ...header...inuse. And the inuse bits were set to all ones. Then a subsequent write to change inuse to zero would be sensible and desired. This technique can allow you to write values that are less than a sector size. There are many other stupid things about TFFS/DosFs that I am only starting to understand now. However, I think that this is probably smart things and you should be glad that someone else did the work. regards, Bill Pringlemeir. - -- Can you contact the Earth? vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html" --------------------------- Newsgroups: comp.os.vxworks Subject: Re: symbolic cross-reference source browsing tool Date: Thu, 1 Nov 2001 23:06:07 +0100 From: "Martin Raabe" Organization: T-Online Message-ID: <9rsgv3$eqk$06$1@news.t-online.com> References: <16054b70f24dd7b2860c5a3bfa28715f.38690@mygate.mailgate.org> Hello Tim, YES there is a Tool available from Wind River. It is called SNiFF+ and you can download it from the web for evaluation. This is an add-on for Tornado but you may also use it for Visual Studio or other development environments! Have success! Martin Raabe "Tim Moeller" schrieb im Newsbeitrag news:16054b70f24dd7b2860c5a3bfa28715f.38690@mygate.mailgate.org... > Is there a convenient way to jump back and forth to/from reference(s) for a > symbol while browsing source code visually in the Tornado environment? What I > have in mind is something similar to the Microsoft Visual Studio and > keys. > > > > > -- > Posted from pat.niti.com [64.73.90.228] > via Mailgate.ORG Server - http://www.Mailgate.ORG --------------------------- Newsgroups: comp.os.vxworks Subject: Design Date: 1 Nov 2001 15:19:12 -0800 From: vxworksproj@yahoo.com (vxWorks Group) Organization: http://groups.google.com/ Message-ID: <9144a3b0.0111011519.4b92d548@posting.google.com> Hi, I am new to VxWorks, but I am not new to programming! I am trying to write a small library for file compression, decompression for VxWorks. The main function I intend to write takes an input stream and generates an output stream for both compression and decompression .Now what I am not certain about is how I am going to take these streams as arguments from the user, I want something as general as possible such that I do not care about the source of data (disk, memory, network…). If this is not possible, and I decide to give the user different functions for different data sources, what is better as an argument for accessing files? Should I ask the user to pass file name or a file opened through fopen() or a file opened through open() ? I am trying to give the user as much control as possible on the data source. Any Help will be more than appreciated. Thanks in advance, Dan --------------------------- Newsgroups: comp.os.vxworks Subject: What is "VOIDFUNCPTR" ? Date: Fri, 02 Nov 2001 00:43:21 GMT From: Allen Huffman Organization: http://DisneyFans.com - http://AtTheFaire.com Message-ID: <3BE1EC2A.7F45AE1C@mac.com> Greets. I am migrating some code from VxWorks to a different OS, and I wondered if someone here could tell me what VOIDFUNCPTR is -- typdef? #define? As in: VOIDFUNCPTR * vctr; or VOIDFUNCPTR function; Thanks! Al - -- Before you click "forward" to any e-mail, check this site for the latest scams and hoaxes (including Terrorism hoaxes): http://www.snopes.com Old software never dies. It just gets ported. And ported. http://homepage.mac.com/jamiec/Invaders%2009/ --------------------------- Newsgroups: comp.os.vxworks Subject: Re: DHCP client problem Date: Fri, 2 Nov 2001 10:04:41 +0800 From: "5982" <5982851@ihw.com.cn> Organization: Bentium Ltd. (CN99) Message-ID: <9rsuve$lip$1@mail.cn99.com> References: <9r1hgv$h4m$1@news.netvision.net.il> <9r3d8j$f5q$1@plutonium.btinternet.com> <792e1071.0110230914.32dd9238@posting.google.com> <9r6hrc$4kc$1@plutonium.btinternet.com> yea,DHCP is very bad,i wrote a client by myself. --------------------------- Newsgroups: comp.os.vxworks Subject: 8260 END Driver multiple FCC interfaces glitch?? Date: Thu, 01 Nov 2001 20:28:01 -0500 From: Babu Yama Organization: Lucent Technologies Message-ID: <3BE1F6A1.D0E0B131@lucent.com> I am seeing a unexplainable behavior with vxWorks END interface with 8260 bsp/drivers (sbc8260/wrSbc8260 bsp ver 1.2.29/1.2.33) Basically, when we have multiple ethernet interfaces (endDevTbl shown below) on MPC8260 ( UNIT 0 on FCC1, UNIT 1 on FCC2 - NOTE: SCC is NOT being used), if UNIT0 interfaces is disconnected by unplugging the cable, UNIT1 interface becomes nonfunctional. However, if UNIT1 is disconnected, UNIT0 is fine. Is UNIT0 handled as a special case in the END/MUX layers? /* End Driver Table */ END_TBL_ENTRY endDevTbl [] = { /* UNIT = 0 */ { 0, MOT_FCC1_LOAD_FUNC, MOT_FCC_LOAD_STRING, 1, NULL, FALSE}, /* UNIT = 1 */ { 1, MOT_FCC3_LOAD_FUNC, MOT_FCC_LOAD_STRING, 1, NULL, FALSE}, { 0, END_TBL_END, NULL, 0, NULL, FALSE}, }; When both UNITS are connected by an ethernet cable - everything is fine. However, when UNIT0 goes down, UNIT1 goes down too. Any comments or suggestions as to what might be happening? Apprecaite your help, Babu --------------------------- Newsgroups: comp.os.vxworks Subject: How to download a ASCII file to target when a target bootup? Date: 1 Nov 2001 18:42:48 -0800 From: eagle2hawk@yahoo.com (eagle2hawk) Organization: http://groups.google.com/ Message-ID: Might I add some ASCII files(eg. .html) to the bootable image? Thanks --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Installing RFC 1305 on Vxworks Date: 1 Nov 2001 18:49:39 -0800 From: navin_a1@yahoo.com (Navin) Organization: http://groups.google.com/ Message-ID: <997467da.0111011849.4caa9d4a@posting.google.com> References: <3BE1898A.6BAAD27A@boeing.com> Hi Roy, Probably I could help you. I have implemented NTP on VxWorks. How do you want to use your NTP software? Can you be more clear on your question? Let me know. Regards, Navin "Roy H. Pete" wrote in message news:<3BE1898A.6BAAD27A@boeing.com>... > I'm new to the NTP environment. > > I'm trying to install RFC 1305 on Vxworks. > Downloaded the shareware S/W xntp3-5_93e_tar.gz. > Do I need a public NTP server with RFC1305 > protocal to provide the connection to the internet? > > Thanks, > Roy --------------------------- Newsgroups: comp.os.vxworks Subject: Re: ifAddrAdd Date: Fri, 02 Nov 2001 03:32:49 GMT From: Todd Sandor Organization: @home Message-ID: <3BE21919.341E397A@home.com> References: <3b32483b233f6e1fac41bb4816361a3f.34031@mygate.mailgate.org> Contact Wind River support - they will provide you with unsupported code that does the trick... Indhu S wrote: > Hi > > I an add more than one IP address to an interface using the function > 'ifAddrAdd'. > > But if I can't find a function to remove the same. > > Is there a function which will delete an address from the interface. > > Thanks > > Indhu > > -- > Posted from [66.7.6.122] > via Mailgate.ORG Server - http://www.Mailgate.ORG --------------------------- Newsgroups: comp.os.vxworks Subject: Re: What is "VOIDFUNCPTR" ? Date: Fri, 2 Nov 2001 11:34:43 +0800 From: "poplarbird" Organization: Changzhou Telecom Message-ID: <9rt4cu$2haa$1@news.cz.js.cn> References: <3BE1EC2A.7F45AE1C@mac.com> Reply-To: "poplarbird" typedef void (*VOIDFUNCPTR) (); /* ptr to function returning void */ "Allen Huffman" wrote in message news:3BE1EC2A.7F45AE1C@mac.com... > Greets. I am migrating some code from VxWorks to a different OS, and I > wondered if someone here could tell me what VOIDFUNCPTR is -- typdef? #define? > > As in: > > VOIDFUNCPTR * vctr; > or > VOIDFUNCPTR function; > > Thanks! > > Al > -- > Before you click "forward" to any e-mail, check this site for the latest > scams and hoaxes (including Terrorism hoaxes): http://www.snopes.com > > Old software never dies. It just gets ported. And ported. > http://homepage.mac.com/jamiec/Invaders%2009/ --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to download a ASCII file to target when a target bootup? Date: 1 Nov 2001 23:09:45 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111012309.2a902efb@posting.google.com> References: Hello, Yeah, checkout the memDrv manual page, and the memdrvbuild host utility. The latter will create a source file containing your files and some init code to actually install it into the I/O system. Once done, and assuming that you have memDrv in your kernel, you can call the init function and then access the file(s) as if they were files on a regular file system (read-only of course). HTH, John... eagle2hawk@yahoo.com (eagle2hawk) wrote in message news:... > Might I add some ASCII files(eg. .html) to the bootable image? > Thanks --------------------------- Newsgroups: comp.os.vxworks Subject: Re: What is "VOIDFUNCPTR" ? Date: Fri, 02 Nov 2001 07:38:05 GMT From: Allen Huffman Organization: http://DisneyFans.com - http://AtTheFaire.com Message-ID: <3BE24D5C.50AA01F3@mac.com> References: <3BE1EC2A.7F45AE1C@mac.com> <9rt4cu$2haa$1@news.cz.js.cn> Thanks much! - -- Before you click "forward" to any e-mail, check this site for the latest scams and hoaxes (including Terrorism hoaxes): http://www.snopes.com Old software never dies. It just gets ported. And ported. http://homepage.mac.com/jamiec/Invaders%2009/ --------------------------- Newsgroups: comp.os.vxworks Subject: alignment of sections on page size Date: Fri, 02 Nov 2001 09:08:04 +0100 From: "Fauris, Sebastien" Organization: Nortel Networks Message-ID: <3BE25463.778A6AAB@europem01.nt.com> Hi, I would like to write-protect some sections of my vxWorks.st. My target is a PowerPC750 (page size = 4096Kb). How can I force the compiler to align the sections (text, data, bss) on a 4096Kb boundary ? Sebastien. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TFFS support for SIMM using Intel StartaFlash 28F640J3A chips Date: Fri, 2 Nov 2001 11:42:32 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <6d6a076a.0111011226.84742a3@posting.google.com> Bill explains the issue well. It is the ESSENSE of a flash memory device, that you can change a "1" to "0" anytime, but not vice versa. To get "1", you get to erase an entire erase block. This is derived from EPROM technilogy, where a programmer can "turn off" bits, but only UV can turn them to "1". All above is true for NOR types of Flash (Intel AMD, ). With NAND flash it may be different. So the way for you to solve the issue is as follows: If the upper layer asks you to write a partial word, i.e. anything which is less then 32 bits (or a result of misalignment), you need to first read the current value of the entire 32-bit word, modify the bytes requested in memory, and finally write the entire 32-bit word back to the Flash devices. Bytes which have not changed in memory will remain unchanged in Flash too. You could also add a safety belt that checks that the new value of your RAM buffer differs from the previous one only in the way of "1" -> "0" and not the other way around. Hope this helps, - Leonid (the author of FlashLib and DosFs 2.0 amongst other things) "Bill Pringlemeir" wrote in message news:ug07yurd7.fsf@yahoo.com... > >>>>> "Chris" == Chris Satish writes: > [snip] > Chris> satisfied. BUT, why is TFFS trying to write to a location that > Chris> it has already written to before? Due to this, the write > Chris> verify fails. > > You can write a value to flash that changes ones to zeros. If the > previous write was something like ...header...inuse. And the inuse > bits were set to all ones. Then a subsequent write to change inuse to > zero would be sensible and desired. This technique can allow you to > write values that are less than a sector size. > > There are many other stupid things about TFFS/DosFs that I am only > starting to understand now. However, I think that this is probably > smart things and you should be glad that someone else did the work. > > regards, > Bill Pringlemeir. > -- > Can you contact the Earth? > vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html" --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Design Date: Fri, 2 Nov 2001 11:51:02 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <9144a3b0.0111011519.4b92d548@posting.google.com> There are two possibe approaches: A. Use standard input and output file descriptors (i.e. 0 and 1), which have private value in each task, so the caller can redirect these fd's to any file, pipe or socket they wish. I recommend you leave the close() call to the caller too. B. Use memory buffers, as in int dataZip( void * inBuf, size_t inBytes, void *outBuf, size_t outBufSIze), void * session_id); where the returned value will be the exact byte count of data written to outBuf, which must be less then or equal to outBufSize. Now, since compressed streams are typically not packetized, you need a session_id which is generated by a dataZipNewSession() sort of creator, and the session_id is in fact a pointer which holds the state information for this particular stream, e.g. dictionary, running checksum etc. Actually, we did something quite similar to (B) as part of the FlashLib product, which has been discontinued by WindRiver in 1998. FlashLib could transparently compress data written to Flash file system to conserve Flash space whenever possible, at the price of slower performance. The code used Deflate algorythm, and save over 50% of FLash space for typical uses. HTH, - Leonid "vxWorks Group" wrote in message news:9144a3b0.0111011519.4b92d548@posting.google.com... > Hi, > I am new to VxWorks, but I am not new to programming! > I am trying to write a small library for file compression, > decompression for VxWorks. > The main function I intend to write takes an input stream and > generates an output stream for both compression and decompression .Now > what I am not certain about is how I am going to take these streams as > arguments from the user, I want something as general as possible such > that I do not care about the source of data (disk, memory, network.). > > If this is not possible, and I decide to give the user different > functions for different data sources, what is better as an argument > for accessing files? Should I ask the user to pass file name or a file > opened through fopen() or a file opened through open() ? I am trying > to give the user as much control as possible on the data source. > > > Any Help will be more than appreciated. > > Thanks in advance, > Dan --------------------------- Newsgroups: comp.os.vxworks Subject: Re: symbolic cross-reference source browsing tool Date: 2 Nov 2001 09:14:42 GMT From: Denis Perelyubskiy Message-ID: References: <16054b70f24dd7b2860c5a3bfa28715f.38690@mygate.mailgate.org> * Tim Moeller [11-Thu-01 13:09 -0800]: > > Is there a convenient way to jump back and forth to/from > reference(s) for a symbol while browsing source code > visually in the Tornado environment? What I have in mind > is something similar to the Microsoft Visual Studio > and keys. do check out exuberant ctags: http://ctags.sourceforge.net/ depending on the editor you use, it will be more or less pain to configure. its free, supports 23 programming languages, and works great. personally, i use vim (www.vim.org or vim.sf.net) and i cant live without ctags. emacs users seem to like it as well; my coworker made it work with textpad at some point. hth, 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: ISR on the PPC (DY4 :SVME179) Date: Fri, 2 Nov 2001 09:19:31 +0000 (UTC) From: "Dieter Bahlmann" Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: <8e769c22565d6ab3db2687e716776c63.38592@mygate.mailgate.org> I need some tips on the following matter. I have a multi-function PCI device on the SVME179 PPC from DY4. Both INTA and INTB are physically connected. Both devices get assigned to IRQ15. Therefore IRQ15 will be the result of the PMC asserting interrupt regardless of setting INTA or INTB. Should I register only one ISR? Or, interrogate the PMC card to determine which device caused the interrupt? thanx - -- Posted from io.ccii.co.za [66.8.24.69] via Mailgate.ORG Server - http://www.Mailgate.ORG --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Wind webserver, Date: 2 Nov 2001 09:30:16 GMT From: Denis Perelyubskiy Message-ID: References: <17774c2b.0110220720.42898f7a@posting.google.com> * Madhu Kovalmudi [10-Mon-01 08:20 -0700]: [...] > Does the wind web server support, sending HTTP codes like > the code 302 dont know if 302 specifically can be sent (its the 'moved temporarily' one, isnt it?). in any case, i think you can display custom error pages and whatnot using wind webserver. make sure you check out the programmers guide, it may help.. 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: TCP vs UDP ???? Date: 2 Nov 2001 09:37:29 GMT From: Denis Perelyubskiy Message-ID: References: <3bc5995d$0$19755$272ea4a1@news.execpc.com> * PC User [10-Thu-01 05:59 -0700]: > > Sorry about the confusion. I knew that you do not use connect with > UDP. It > is just that I gave it a try and the connect did not fail. The failure > response that I get when I use the connect for TCP (SOCK_STREAM) is > e_CONNREFUSED. > Now does this really tell you anything. connection refused. now you have to go figure out why :) you *can* use connect() with UDP sockets actually. although, that probably does not do what you think it does. in any case, go check out some sockets book, like Unix Network Programming, by Stevens. 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: dosFsDevInit? Date: Fri, 2 Nov 2001 09:37:31 +0000 (UTC) From: "Dieter Bahlmann" Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: A driver I load on a x86 give me the following message: "dosFsDevInit failed" What is this? - -- Posted from io.ccii.co.za [66.8.24.69] via Mailgate.ORG Server - http://www.Mailgate.ORG --------------------------- Newsgroups: comp.os.vxworks Subject: from where to download Tornado prototyper Date: 2 Nov 2001 02:12:51 -0800 From: anubhavsaksena@yahoo.com (Anubhav Saksena) Organization: http://groups.google.com/ Message-ID: <9ee41a72.0111020212.562b92e0@posting.google.com> Hi Everyone, I registered for Wind River Systems for Tornado Prototyper. But, I did'nt get any userID and password. What should I do. Can I use anybody else user name and ID? Does any one has one? Please provide me. What URL is should go to download the Tornado Prototyper. thanks Anubhav --------------------------- Newsgroups: comp.os.vxworks Subject: Cannot select END components in Add/Remove component dialog box Date: 2 Nov 2001 02:34:46 -0800 From: shada@netplane.com (shad ansari) Organization: http://groups.google.com/ Message-ID: <15adeaa9.0111020234.720faeab@posting.google.com> hello all, I installed Tornado/VxWorks AE and created a bootApp for Pentium using the Boot App wizard. I now want to include the appropriate END driver(ELT3c509END) for my target using the Add/Remove Component Dialog Box. However none of the network drivers listed under hardware>peripherals>Enhanced Network Drivers (except for the template END driver) are selectable. All the END components listed in the ADD/Remove Component Dialog window have a cross in front of them instead of the box to select the component. This may or may not be related - Tornado installation gives the following warning during setup: "The Driver Object and VxWorks AE products that you have selected are not of the same architecture. This may result in the Tornado product not working properly. To proceed with installation, click "OK". Otherwise, click "Cancel" to re-select the products" My setup.log is as follows Following is my setup.log: 02-Nov-01.00:32 CD manufacturing time: Wed May 23 09:29:16 PDT 2001 02-Nov-01.00:32 TDK-13940-ZC-00 SETUP-3.1 D:\tornado_ae 02-Nov-01.00:32 Tornado 3.1/VxWorks AE 1.1 for Pentium 02-Nov-01.00:32 Microsoft Windows NT version 4.0 (Build 1381) Service Pack 5 02-Nov-01.00:32 100-21230-30 Driver Objects/Headers: pentium2 02-Nov-01.00:33 100-21215-30 Tornado Tools: WindowsNT 02-Nov-01.00:35 100-21244-30 VxWorks AE: pentium 02-Nov-01.00:37 100-21257-30 VxWorks BSP: pcPentium 02-Nov-01.00:37 licensed product: tornado 10 Any idea why this may be hapening? Thanks, Shad --------------------------- Newsgroups: comp.os.vxworks Subject: vxworks SMTP implementation Date: Fri, 02 Nov 2001 06:10:36 -0500 From: Lucas Organization: Bell Sympatico Message-ID: <3kv4utc1jcn4euh37nb38oaoda3ub3a7cg@4ax.com> Hi all, I would like toknow if it is possible to send mail under vxwork from one PC to another. If yes, where can I enable this feature within vxwork Thank's Lucas --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Sat Nov 3 04:03:14 2001 From: Vxworks Exploder Date: Sat Nov 3 04:03:16 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Sat Nov 3 04:03:10 PST 2001 Subject: Re: ISR on the PPC (DY4 :SVME179) Subject: Rebuilding Kernal to include Socket Support in Tornado 2.1 Subject: Re: vxworks SMTP implementation Subject: Re: ISR on the PPC (DY4 :SVME179) Subject: Walking the heap...... Subject: Re: alignment of sections on page size Subject: write protecting vector table Subject: Re: Rebuilding Kernal to include Socket Support in Tornado 2.1 Subject: Re: dosFsDevInit? Subject: Re: Installing RFC 1305 on Vxworks Subject: Re: TFFS support for SIMM using Intel StartaFlash 28F640J3A chips Subject: Re: alignment of sections on page size Subject: hmmmm , may need this Subject: Re: write protecting vector table Subject: Pre-empting tNetTask Subject: Re: write protecting vector table Subject: How to test timers in tornado II Subject: Re: TFFS support for SIMM using Intel StartaFlash 28F640J3A chips Subject: Re: Cannot select END components in Add/Remove component dialog box ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: ISR on the PPC (DY4 :SVME179) Date: 2 Nov 2001 12:17:33 GMT From: ac151@FreeNet.Carleton.CA (David Clarke) Organization: The National Capital FreeNet Message-ID: <9ru2st$pq4$1@freenet9.carleton.ca> References: <8e769c22565d6ab3db2687e716776c63.38592@mygate.mailgate.org> Reply-To: ac151@FreeNet.Carleton.CA (David Clarke) "Dieter Bahlmann" (velouria@ccii.co.za) writes: > I need some tips on the following matter. I have a multi-function PCI device on > the SVME179 PPC from DY4. Both INTA and INTB are physically connected. Both > devices get assigned to IRQ15. Therefore IRQ15 will be the result of the PMC > asserting interrupt regardless of setting INTA or INTB. Should I register only > one ISR? Or, interrogate the PMC card to determine which device caused the > interrupt? Personally, I would register two ISRs for the same vector. intConnect on the SVME-179 will automatically chain ISRs, so if you did: intConnect(INT_VEC_PMC1, ISR_for_func_A, ISRA_args); and intConnect(INT_VEC_PMC1, ISR_for_func_B, ISRB_args); then whenever INT_VEC_PMC1 occurred, ISR_for_func_A would run, and then (before returning back) ISR_for_func_B would run. Each ISR should be responsible to go out and query the PMC to see if the interrupt was for it (i.e., ISR_for_func_A should check to see if it was func_A that was interrupting ...) Having said that, it would also be OK to create one big ISR (to handle both func_A and func_B) and just do one intConnect. Either case should work fine. (Note: Having different functions/devices share the same interrupt is explicitly permitted in the PCI system architecture.) - -- - ------------------------------- /''' -------------------------------- David Clarke c-00 ac151@Freenet.carleton.ca > - ------------------------------- - -------------------------------- --------------------------- Newsgroups: comp.os.vxworks Subject: Rebuilding Kernal to include Socket Support in Tornado 2.1 Date: Fri, 2 Nov 2001 09:46:39 -0400 From: "Sean Webb" Organization: UUNET Canada News Reader Service Message-ID: Hi, I'm trying to rebuild the vxWorks kernel on a Solaris box (for the full version of the VxSim that we just bought) so that I can use PPP and sockets calls such as bind, connect, socket, etc. Here's what I've done so far: From the Tornado Launcher I click the Project button, click the New tab on the "Create Project..." dialog, select "Create a bootable VxWorks image (custom configured)", hit OK, and set up the project in my directory. Then in when the Workspace window appears I click on the VxWorks tab. Here I added the obvious options, such as "network components/network devices/PPP" and "network components/networking protocols/BSD Socket". But then when I updated the dependencies and rebuilt all, I got an error message saying "No rule to make target /net/usrConfigIf.c". I found that this file is referenced in the Definition tab of "network components/network devices/ULIP boot" (which is bolded and italicized in the Workspace tree view - what does that indicate?). So I have two questions: 1. Why am I getting that error message? I can't find the file usrConfigIf.c anywhere on our Solaris machine. 2. What options should I set in the VxWorks tab to get sockets and PPP included in my image? Thanks for your help, Sean - -- Sean Webb | Software Engineer swebb@iotek.NO_SPAM4ME.ns.ca | MDA Halifax --------------------------- Newsgroups: comp.os.vxworks Subject: Re: vxworks SMTP implementation Date: Fri, 2 Nov 2001 10:00:25 -0500 From: "RonnoBonno" Message-ID: <9ruccr$10c0cr$1@ID-68014.news.dfncis.de> References: <3kv4utc1jcn4euh37nb38oaoda3ub3a7cg@4ax.com> Lucas, If you search back in comp.os.vxworks, you will find that someone posted an SMTP client here in 1996. It looks pretty good, and I exchanged some e-mails with someone who used it successfully. I am going to try to use it. Here is the link back to the orginal posting by Lyor: http://groups.google.com/groups?q=SMTP+client&hl=en&group=comp.os.vxworks&rn um=1&selm=9609290819.AA05350%40Scorpio.Com Good Luck, Ron Lucas wrote in message <3kv4utc1jcn4euh37nb38oaoda3ub3a7cg@4ax.com>... >Hi all, > >I would like toknow if it is possible >to send mail under vxwork from one >PC to another. If yes, where can I enable >this feature within vxwork > >Thank's > >Lucas --------------------------- Newsgroups: comp.os.vxworks Subject: Re: ISR on the PPC (DY4 :SVME179) Date: 2 Nov 2001 07:25:10 -0800 From: spk@uswest.net (Scott Kamara) Organization: http://groups.google.com/ Message-ID: <73e78f4e.0111020725.53b763c0@posting.google.com> References: <8e769c22565d6ab3db2687e716776c63.38592@mygate.mailgate.org> I havent seen the 179 BSP yet (will soon). I would hope that the interrupt handling model for PCI the BSP authors used is similar to the Motorola PowerPC BSP model used by WRS where isr() routines are 'daisy-chained' for a given pci interrupt line. Under the Motorola BSP model, you would: intConnect(INUM_TO_IVEC(0x15), isrFuncOne, argOne); intConnect(INUM_TO_IVEC(0x15), isrFuncTwo, argTwo); intEnable(0x15) Internally, when interrupt 0x15 comes in, the BSP invokes each isr routine above in succession and it is up to the isr() routine to determine if the interrupt is meant for it. If not, return. - -Scott Kamara "Dieter Bahlmann" wrote in message news:<8e769c22565d6ab3db2687e716776c63.38592@mygate.mailgate.org>... > I need some tips on the following matter. I have a multi-function PCI device on > the SVME179 PPC from DY4. Both INTA and INTB are physically connected. Both > devices get assigned to IRQ15. Therefore IRQ15 will be the result of the PMC > asserting interrupt regardless of setting INTA or INTB. Should I register only > one ISR? Or, interrogate the PMC card to determine which device caused the > interrupt? > > thanx --------------------------- Newsgroups: comp.os.vxworks Subject: Walking the heap...... Date: 2 Nov 2001 07:27:29 -0800 From: leonardmatherson@hotmail.com (leonard matherson) Organization: http://groups.google.com/ Message-ID: Hello everyone, I have just had a nice memPartFree error message. This may mean that my block header has been corrupted. No Problem - I'll just go to the vxworks newsgroup and pick up a function that will walk the heap and check that the headers are OK. I can then put it into my code and after a few tries I can see which line is the culprit. But to my dismay not only did I start this sentence with "BUT", but I couldn't find any reference to the WalkMem function. Why is this not mentioned as a free piece of code - its so useful. Can anyone give me some "pointers" to finding the walker? Thanks in advance, Leonard Matherson --------------------------- Newsgroups: comp.os.vxworks Subject: Re: alignment of sections on page size Date: Fri, 02 Nov 2001 10:28:51 -0500 From: Emory Stagmer Message-ID: <3BE2BBB3.1C3FBAFC@yahoo.com> References: <3BE25463.778A6AAB@europem01.nt.com> Use a link script. Then any section can be aligned anywhere and the script language has options for Kilo and Mega boundry alignments. Emory Stagmer "Fauris, Sebastien" wrote: > > Hi, > > I would like to write-protect some sections of my vxWorks.st. > My target is a PowerPC750 (page size = 4096Kb). > How can I force the compiler to align the sections (text, data, > bss) on a 4096Kb boundary ? > > Sebastien. --------------------------- Newsgroups: comp.os.vxworks Subject: write protecting vector table Date: Fri, 02 Nov 2001 17:01:35 +0100 From: "Fauris, Sebastien" Organization: Nortel Networks Message-ID: <3BE2C35F.175A2BC2@europem01.nt.com> Hi, I would like to write protect the vector table on my PPC750 target (vxVMI not available). When I perform: begin = 0; size = 4096; /* page size = 4Kb, vectors are from 0x100 to 0x1000 */ vmBaseStateSet (0, begin, size, VM_STATE_MASK_WRITABLE, VM_STATE_WRITABLE_NOT); my windshell displays this forever: - -> i Target connection has been lost. Waiting for target server to attach to target (press CTRL+C to stop) - Restarting shell... Target connection has been lost. ... Does somebody understand what is going on ? Does the OS or the Windshell try to write to this write-protected page ? Thanks, Sebastien. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Rebuilding Kernal to include Socket Support in Tornado 2.1 Date: Fri, 02 Nov 2001 10:21:02 -0600 From: Dinker Charak Organization: Fermi National Accelerator Laboratory Message-ID: <3BE2C7EE.5DF3FBC9@fnal.gov> References: > devices/ULIP boot" (which is bolded and italicized in the Workspace tree > view - what does that indicate?). that this components is not installed or may not work fir the installation you have ... usually the italicised somponenets are one for which you pay extra to get the lib, etc. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: dosFsDevInit? Date: Fri, 2 Nov 2001 08:42:28 -0800 From: "Joseph Hansen" Organization: Posted via Supernews, http://www.supernews.com Message-ID: References: It's trying to initialize the DOS file system on a device, which has been configured into the system. Quite possibly, this device is not currently connected, or is powered down. And since VxWorks cannot initialize it, it is complaining. Joseph Hansen HansenJR@navair.navy.mil "Dieter Bahlmann" wrote in message news:a6d70eef22ebf471d0a1e529e7f24371.38592@mygate.mailgate.org... > A driver I load on a x86 give me the following message: "dosFsDevInit failed" > What is this? > > > -- > Posted from io.ccii.co.za [66.8.24.69] > via Mailgate.ORG Server - http://www.Mailgate.ORG --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Installing RFC 1305 on Vxworks Date: Fri, 2 Nov 2001 17:53:17 GMT From: "Roy H. Pete" Organization: The Boeing Company Message-ID: <3BE2DD8D.A57A34FD@boeing.com> References: <3BE1898A.6BAAD27A@boeing.com> <997467da.0111011849.4caa9d4a@posting.google.com> Sender: nntp@news.boeing.com (Boeing NNTP News Access) Navin, True, I'm not clear with my question. I'm new to NTP world. I'm are trying to port NTP 1305 to several Windows NT with Vxworks. We are planning to use an Internet standard-bases Time server to provides the services. Similiar, to RCC Time Server v1.1 for Windows NT, shown below, but RFC1305: http://www.rccinc.com/RCCTimeServer/RCCTimeServer.html My question, the Vxworks with the NTP 1305 installed, does it have all the information to sync the clocks? Did you implemented on several NTs on the network? I hope I provided enough information. Thanks, Roy Navin wrote: > Hi Roy, > > Probably I could help you. I have implemented NTP on VxWorks. > How do you want to use your NTP software? Can you be more > clear on your question? Let me know. > > Regards, > Navin > > "Roy H. Pete" wrote in message news:<3BE1898A.6BAAD27A@boeing.com>... > > I'm new to the NTP environment. > > > > I'm trying to install RFC 1305 on Vxworks. > > Downloaded the shareware S/W xntp3-5_93e_tar.gz. > > Do I need a public NTP server with RFC1305 > > protocal to provide the connection to the internet? > > > > Thanks, > > Roy --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TFFS support for SIMM using Intel StartaFlash 28F640J3A chips Date: 02 Nov 2001 12:48:40 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: <6d6a076a.0111011226.84742a3@posting.google.com> Sender: bpringlemeir@DeadDuck >>>>> "Leonid" == Leonid Rosenboim writes: Leonid> Bill explains the issue well. It is the ESSENSE of a flash [snip] Leonid> Flash too. You could also add a safety belt that checks that Leonid> the new value of your RAM buffer differs from the previous Leonid> one only in the way of "1" -> "0" and not the other way Leonid> around. /* Determine if an erase is actually needed... */ if(!(*pMem++ & ~*pFlash++)) /* erase?--- | mem=0| mem=1 */ /* flash=0 | no| yes */ /* flash=1 | no| no */ Excuse the Hungarian! Leonid> Hope this helps, - Leonid (the author of FlashLib and DosFs Leonid> 2.0 amongst other things) You shouldn't admit to such things in public! ;-) >> There are many other stupid things about TFFS/DosFs that I am only >> starting to understand now. However, I think that this is >> probably smart things and you should be glad that someone else did >> the work. Maybe stupid is harsh. I can't understand some things due to the fact that I don't have the source, or I will have to read it. Here are some questions I have, 1) What does the flPoll task do? (something with flash). 2) DosFs seems to issue writes to a CBIO, even when the applications has not called the write function of the DosFs driver. My guess is that this is something in FAT etc. This seems to occur when the application reads. Do you know what this is? Even with wear leveling, this isn't good. Reads are frequent on my system. I did have the source from M-systems a while ago. Why didn't I keep that. Oh ya, damn morality things... regards, Bill Pringlemeir. - -- Only a weakling like you would say that most Polish people have stupid computers. Don't you realise that you're source license-loving? vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html" --------------------------- Newsgroups: comp.os.vxworks Subject: Re: alignment of sections on page size Date: Fri, 2 Nov 2001 18:10:01 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9runb1$m1h$1@uranium.btinternet.com> References: <3BE25463.778A6AAB@europem01.nt.com> > I would like to write-protect some sections of my vxWorks.st. > My target is a PowerPC750 (page size = 4096Kb). > How can I force the compiler to align the sections (text, data, > bss) on a 4096Kb boundary ? I presume you mean 4k (4096 byte) not 4Mb... The text is (presumably) linked to RAM_LOW_ADDRS - no problem making that page aligned. The data area is a bit more tricky. It might be possible to do it with the linker script. It might even be possible to do it by making the variable at the start of your data segment have a massive alignment requirement (.align 12 in .s file might do), but it does rely on the object file format supporting the feature (the coff used for ARM builds doesn't). The other option is to link things twice. After the first build run nmxxx and grab the alignent of the (current) end of code. Make a source file with the required pad included and put into a subsequent link. (or just determine the error and resize the pad for the next build). (you could always use the WRS hack of including a 4k datasegpad area...) I've used the pad generated from the namelist to align parts of the java engine onto cache lines..... David --------------------------- Newsgroups: comp.os.vxworks Subject: hmmmm , may need this Date: Fri, 02 Nov 2001 16:39:31 -0500 From: James Strain Organization: Issanni Communications Message-ID: <3BE31292.F2A3541@issanni.com> - --------------ACA82E60AE43A19D4E13C025 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Patch Record Download Help SPR # 69385 Additional SPR # 69383,63430,63483,67237 Type Optional Patch Name Tornado 2.0.2 fei82557End.c update to the June driver release Created 10/11/2001 14:53 Synopsis This patch contains several fixes to fei82557End.c driver that was released in the Tornado 2.0.2 and June driver update. See the description for a list of defects corrected in this driver. Description The patch corrects several problems with the fei82557End driver release in the T2.0.2 and June driver update. In particular, it corrects a cluster pool allocation problem by setting correct cluster passed to netPoolInit(). The patch for SPR 69385 should be installed after the Tornado 2.0.2 update patch and after the June Drivers release. It contains FEI end driver for architectures supported in Tornado 2.0.2: 68000, 68010, 68020, 68040, 68060, 68LC040, CPU32 80386, 80486, PENTIUM R3000, R4000, R4650 PPC403, PPC603, PPC604, PPC860, PPCEC603 The following SPRs are corrected in this release: SPR# 69385 adjusted cluster pool allocation to accomodate CL_BUF_IDs; SPR# 69383 set number of clusters passed to netPoolInit() to correct value; SPR# 63430 set taskDelay()s to reference sysClkRateGet() which fixed the problem with FEI driver could not autonegotiate 100Mb/sec after system clock is set to 1000; SPR# 63483 removed suspended state test from fei82557Send() which fixed the problem with FEI driver delaying the send of packet because of unnecessary suspended state checking; SPR# 67237 set cluster size passed to netPoolInit() correctly. Products Affected NONE Docs Affected NONE Special Instructions Please kill Tornado registry and all other Tornado windows in the host side before installing this patch. Caveauts This patch works for all the architectures as listed in the description. It will replace the old FEI drivers in the archive. In addition, it will create several other obj$CPU$GNUvx directories in target/lib. These additional directories have no effect on the operation of Tornado/vxWorks. - -- ====================================== Jamie Strain jstrain@issanni.com Phone: (732) 380-9115 Issanni Communications Phone: (732) 380-9333 (formerly 3NO Systems) Fax: (732) 380-9330 www.issanni.com ====================================== - --------------ACA82E60AE43A19D4E13C025 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit

                                                                                     &
nbsp;   
  



                                                                                     &
nbsp;           
  
 Patch Record

           Download Help


         SPR #
               69385
    Additional
         SPR #
               69383,63430,63483,67237
          Type
               Optional
   Patch Name
               Tornado 2.0.2 fei82557End.c update to the June driver release
       Created
               10/11/2001 14:53
      Synopsis
               This patch contains several fixes to fei82557End.c driver that was released in the
               Tornado 2.0.2 and June driver update. See the description for a list of defects
               corrected in this driver.
   Description
               The patch corrects several problems with the fei82557End driver 
               release in the T2.0.2 and June driver update. In particular, it 
               corrects a cluster pool allocation problem by setting correct 
               cluster passed to netPoolInit().

               The patch for SPR 69385 should be installed after the Tornado 2.0.2 
               update patch and after the June Drivers release.  It contains FEI end 
               driver for architectures supported in Tornado 2.0.2:
                      68000, 68010, 68020, 68040, 68060, 68LC040, CPU32
                      80386, 80486, PENTIUM
                      R3000, R4000, R4650
                      PPC403, PPC603, PPC604, PPC860, PPCEC603

               The following SPRs are corrected in this release: 
               SPR# 69385   adjusted cluster pool allocation to accomodate CL_BUF_IDs;
               SPR# 69383   set number of clusters passed to netPoolInit() to correct value;
               SPR# 63430   set taskDelay()s to reference sysClkRateGet() which fixed 
               the problem with FEI driver could not autonegotiate 100Mb/sec after system 
               clock is set to 1000;
               SPR# 63483   removed suspended state test from fei82557Send() which fixed 
               the problem with FEI driver delaying the send of packet because of 
               unnecessary suspended state checking;
               SPR# 67237   set cluster size passed to netPoolInit() correctly.

      Products
      Affected
               NONE
         Docs
      Affected
               NONE
       Special
   Instructions
               Please kill Tornado registry and all other Tornado windows in the host 
               side before installing this patch.

     Caveauts
               This patch works for all the architectures as listed in the description. It will replace
               the old FEI drivers in the archive. In addition, it will create several other
               obj$CPU$GNUvx directories in target/lib. These additional directories have no
               effect on the operation of Tornado/vxWorks.





- -- 
======================================
Jamie Strain

jstrain@issanni.com
Phone:   (732) 380-9115

Issanni Communications   Phone:   (732) 380-9333
(formerly 3NO Systems)    Fax:    (732) 380-9330
www.issanni.com
======================================
  - --------------ACA82E60AE43A19D4E13C025-- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: write protecting vector table Date: Fri, 2 Nov 2001 15:01:59 -0800 From: "Dan Gold" Message-ID: <3be3263e$0$78867$e2e8da3@nntp.cts.com> References: <3BE2C35F.175A2BC2@europem01.nt.com> "Fauris, Sebastien" wrote in message news:3BE2C35F.175A2BC2@europem01.nt.com... > Hi, > > I would like to write protect the vector table on my PPC750 > target (vxVMI not available). > When I perform: > > begin = 0; > size = 4096; /* page size = 4Kb, vectors are from 0x100 to 0x1000 */ > vmBaseStateSet (0, begin, size, VM_STATE_MASK_WRITABLE, > VM_STATE_WRITABLE_NOT); > > my windshell displays this forever: > -> i > Target connection has been lost. > Waiting for target server to attach to target (press CTRL+C to stop) - > Restarting shell... > Target connection has been lost. > ... > Does somebody understand what is going on ? Yes, your board is hosed :-) But I'm sure you figured that out already... > Does the OS or the Windshell try to write to this write-protected page ? The OS writes the page all the time. Even more than you can imagine. Every time vxMemProbe() is called, the OS has to load the machine check, DSI, and alignment (0x200, 0x300, and 0x600) vectors with vxMemProbe specific ones, perform the test, and then restore the original ones. It happens every time you call 'i' and a host of other functions. And because it happens so often, even if you get it right I've heard the system is noticeably slower. Basically you have to make excVecSet() smarter so it can mark the page writeable before modifying it. If you don't have excArchLib.c, it can be difficult :-) I recall many moons ago finding some vxMemProbeHook stub of something. IIRC you could bypass the real vxMemProbeHook (and thus just return OK), but then you're defeating the purpose of the memProbe() function. If there's an easier/better solution, I'm sure the group would welcome it :-) hth, Dan Gold gold@ensemble.com --------------------------- Newsgroups: comp.os.vxworks Subject: Pre-empting tNetTask Date: 2 Nov 2001 15:50:41 -0800 From: satyam_k@hotmail.com (Satyam) Organization: http://groups.google.com/ Message-ID: Hi, I am not sure there was already a thread for this question. If so, please point it to me. When we continuously send traffic to the system, the tNetTask which handles the IP traffic takes so much time that other tasks are starving for the CPU time. This is what I observed under the default task scheduling in vxWorks. Could anybody point me to the way where we can make other tasks get some CPU time ? Thanks, Satyam --------------------------- Newsgroups: comp.os.vxworks Subject: Re: write protecting vector table Date: 02 Nov 2001 20:00:46 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: <3BE2C35F.175A2BC2@europem01.nt.com> <3be3263e$0$78867$e2e8da3@nntp.cts.com> Sender: bpringlemeir@DeadDuck >>>>> "Dan" == Dan Gold writes: [snip] Dan> Basically you have to make excVecSet() smarter so it can mark Dan> the page writeable before modifying it. If you don't have Dan> excArchLib.c, it can be difficult :-) I recall many moons ago Dan> finding some vxMemProbeHook stub of something. IIRC you could Dan> bypass the real vxMemProbeHook (and thus just return OK), but Dan> then you're defeating the purpose of the memProbe() function. Funny you should mention this. I just turned on my MMU on an ARM a little while ago. I have, /* substitute for default memProbe, determine if memory can be accessed. */ static STATUS spmvxMemProbeHook(void *adrs, int mode, int length, void *value) ... _func_vxMemProbeHook = spmvxMemProbeHook; ... This seems to work for me, but perhaps I am wrong. hth, Bill Pringlemeir. [spm is a module prefix for simple mmu] - -- Religion can teach us how to explode in fireworks. vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html" --------------------------- Newsgroups: comp.os.vxworks Subject: How to test timers in tornado II Date: 2 Nov 2001 17:30:39 -0800 From: loveheart1999@263.net (loveheart) Organization: http://groups.google.com/ Message-ID: <45709aba.0111021730.3d39939f@posting.google.com> hello, I am now developing a telecommunication application which needs several timers. once it sends out a frame, it will start a timer. if the timer expires but still no reply was received ,it will re-send out the same frame. my question is : how can I test my timers work properly? I am in tornado II enviroment, the target board based on PPC860,and I also get a ISDN interface card which serves as user size and an ISDN tester which serves as a network size.The tester can just show the msgs it transits and receives and it works in a real time mode. because the connection between the ISDN tester and my ISDN card is short and very reliable and no frame will lost because of the connection problem. Once the tester receives a frame, it will immediatly send its reply, so I can't make the time delay effect. If I cut off the connection between the tester and my card, I will not see the frame types from the card through the screen of the tester. finally, the card can send frames only in single step debug mode. How can I test the timers ???? I wish you could give me some wise suggestion!!! thank you!!! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TFFS support for SIMM using Intel StartaFlash 28F640J3A chips Date: 02 Nov 2001 20:51:37 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: <6d6a076a.0111011226.84742a3@posting.google.com> Sender: bpringlemeir@DeadDuck >>> There are many other stupid things about TFFS/DosFs that I am >>> only starting to understand now. However, I think that this is >>> probably smart things and you should be glad that someone else >>> did the work. [snip] Bill> 2) DosFs seems to issue writes to a CBIO, even when the Bill> applications has not called the write function of the DosFs Bill> driver. My guess is that this is something in FAT etc. This Bill> seems to occur when the application reads. Do you know what Bill> this is? Even with wear leveling, this isn't good. Reads are Bill> frequent on my system. For all those who don't know, DosFs will update the "Last accessed" entry every time you close a file. So the following cause flash writes, int fd = open("foo.bar",O_RD_ONLY); read(fd,data,20); close(fd); This is not good IMHO! You will get lots of flash writes even though your application is only using files in READ mode. This could be bad as applications often READ files and even wear leveling might not extend the life of the flash long enough. Twelve cycle happening every second will take product life below 10 years according to my calculations (2Mb flash, 512byte sectors with 100,000 cycle flash, empty disk). Depending on your free flash (and actual tffs wear leveling) it could actually be far less. regards, Bill Pringlemeir. - -- World Trade Center munitions smuggle Treasury Ft. Bragg bomb NSA AK-47 genetic Marxist SDI ammunition FSF [Hello to all my fans in domestic surveillance] Clinton vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html" --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Cannot select END components in Add/Remove component dialog box Date: 2 Nov 2001 23:29:18 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111022329.527da321@posting.google.com> References: <15adeaa9.0111020234.720faeab@posting.google.com> Hello, You need to reinstall the drivers for pentium, not pentium2. There are three supported pentium class architectures in AE: pentium, pentium2 and pentium3. You seem to have the BSP and main objects for the pentium architecture, but the drivers for pentium2. This will disable all the drivers in the IDE since it won't be able to find a matching binary for your system. If your key doesn't give you the pentium drivers, you should contact Wind River and get a key that gives you either all pentium products, or all pentium2 ones (depending on which variant you wanted). HTH, John... shada@netplane.com (shad ansari) wrote in message news:<15adeaa9.0111020234.720faeab@posting.google.com>... > hello all, > > I installed Tornado/VxWorks AE and created a bootApp for Pentium > using the Boot App wizard. I now want to include the appropriate END > driver(ELT3c509END) for my target using the Add/Remove Component > Dialog Box. However none of the network drivers listed under > hardware>peripherals>Enhanced Network Drivers (except for the > template END driver) are selectable. All the END components listed > in the ADD/Remove Component Dialog window have a cross in front > of them instead of the box to select the component. > > This may or may not be related - Tornado installation gives the > following > warning during setup: > > "The Driver Object and VxWorks AE products that you have selected are > not of the same architecture. This may result in the Tornado product > not working properly. To proceed with installation, click "OK". > Otherwise, click "Cancel" to re-select the products" > > My setup.log is as follows > Following is my setup.log: > 02-Nov-01.00:32 CD manufacturing time: Wed May 23 09:29:16 PDT 2001 > 02-Nov-01.00:32 TDK-13940-ZC-00 SETUP-3.1 D:\tornado_ae > 02-Nov-01.00:32 Tornado 3.1/VxWorks AE 1.1 for Pentium > 02-Nov-01.00:32 Microsoft Windows NT version 4.0 (Build 1381) Service > Pack 5 > 02-Nov-01.00:32 100-21230-30 Driver Objects/Headers: pentium2 > 02-Nov-01.00:33 100-21215-30 Tornado Tools: WindowsNT > 02-Nov-01.00:35 100-21244-30 VxWorks AE: pentium > 02-Nov-01.00:37 100-21257-30 VxWorks BSP: pcPentium > 02-Nov-01.00:37 licensed product: tornado 10 > > Any idea why this may be hapening? > > Thanks, > > Shad --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Mon Nov 5 09:39:20 2001 From: "Pradeepa Venkatswamy" Date: Mon Nov 5 09:39:24 PST 2001 Subject: file locking on VxWorks This is a multi-part message in MIME format. --------------InterScan_NT_MIME_Boundary Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Hi , We need to implement file locking on VxWorks....fcntl posix call which is used for file locking is not implemened on VxWorks. ioctl is also not supporting file locking.......how to achieve file locking??is there any calls available on vxworks?? fcntlcom.h in Vxworks defines F_SETLK,F_GETLK and struct flock..etc which is used fcntl call.If fcntl is not implemented on VxWorks why this has been defined??what purpose it's used for?? Thank you, V.Pradeepa --------------InterScan_NT_MIME_Boundary Content-Type: text/plain; name="InterScan_Disclaimer.txt" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="InterScan_Disclaimer.txt" ------------------------------------------------------------------------------------------------------------------------- Information transmitted by this E-MAIL is proprietary to Wipro and/or its Customers and is intended for use only by the individual or entity to which it is addressed, and may contain information that is privileged, confidential or exempt from disclosure under applicable law. If you are not the intended recipient or it appears that this mail has been forwarded to you without proper authority, you are notified that any use or dissemination of this information in any manner is strictly prohibited. In such cases, please notify us immediately at mailto:mailadmin@wipro.com and delete this mail from your records. ---------------------------------------------------------------------------------------------------------------------- --------------InterScan_NT_MIME_Boundary-- From vxwexplo-errs@csg.lbl.gov Mon Nov 5 09:40:05 2001 From: "David Laight" Date: Mon Nov 5 09:40:09 PST 2001 Subject: Re: Walking the heap > I have just had a nice memPartFree error message. This may mean that > my block header has been corrupted. No Problem - I'll just go to the > vxworks newsgroup and pick up a function that will walk the heap and > check that the headers are OK. I can then put it into my code and > after a few tries I can see which line is the culprit. Interestingly, this isn't actually completely possible! vxWorks doesn't hold the bounds of the areas allocated to the memory partition anywhere! So if you have used memPartAddToPool you have difficulty finding all the areas. Also you need an address to get started! The heap structure is remarkably simple - and not particularly memory efficient either... From memory: - the word BEFORE an allocated area contains the length of the area (inc red tape) in words shifted left 1 (ie the length in 2-byte units) the bottom bit indicates whether the item is free - the word AFTER an allocated area is the address of the header word Additionally a double linked list runs through the first 2 words of free items. The ends of the memory area are detectable - dump them out and have a look! You might be able to recognise the problem by dumping out memory around the address reported in the error message. The contents will probably be recognisable as some driver data area - especially if you often look at raw dumps of them! David From vxwexplo-errs@csg.lbl.gov Tue Nov 6 05:48:58 2001 From: kumaran senthur Date: Tue Nov 6 05:49:01 PST 2001 Subject: vxworks hi members any one of you can give me the answer for the question "What is the WIND KERNEL SIZE,IS IT GREATER THAN THE PSOS+ KERNEL" mail me to my id :qumaran@yahoo.com kumaran __________________________________________________ Do You Yahoo!? Find a job, post your resume. http://careers.yahoo.com From vxwexplo-errs@csg.lbl.gov Tue Nov 6 06:38:53 2001 From: "Mike Anderson" Date: Tue Nov 6 06:38:57 PST 2001 Subject: What do we mean when we say real-time? VxWorks Greetings! Just a quick note... If you happen to be in the Washington, DC area on Thursday, November 8th, please make sure you stop by the Real-Time & Embedded Computing Conference/ Embedded Linux Expo & Conference at the Sheraton Hotel in Reston, VA. Admission is free. Sheraton Reston Hotel 11810 Sunrise Valley Drive Reston, VA 20191 For those of you who have an interest, I will be speaking in the main hall at 10AM on the topic of just what do we mean when we say "real-time" and comparing that to embedded development. This will include both traditional RTOS environments as well as the embedded Linux environments. Hope to see you there... Regards, Mike Anderson -- ======================================================= T h e P T R G r o u p, I n c. ======================================================= Embedded, Real-Time Solutions and Training Mike Anderson mailto:mike@ThePTRGroup.com Chief Scientist http://www.ThePTRGroup.com V: (703) 585-9384 F: (703) 430-3748 ======================================================= "Software development is like making a baby... You can't make a baby in one month by impregnating nine women. Some things just take time." From vxwexplo-errs@csg.lbl.gov Tue Nov 6 06:38:52 2001 From: "Mike Anderson" Date: Tue Nov 6 06:38:57 PST 2001 Subject: RE: vxworks VxWorks Greetings! > Submitted-by: kumaran senthur > > hi members any one of you can give me the answer for > the question "What is the WIND KERNEL SIZE,IS IT > GREATER THAN THE PSOS+ KERNEL" > mail me to my id :qumaran@yahoo.com > The answer is... it depends. Are we talking about just the Wind kernel vs. the pSOS+ kernel or VxWorks vs. pSOS+? If we're talking just the kernels, I believe that pSOS+ may be slightly smaller, but not by much. If we're talking VxWorks vs. pSOS+, then it all depends on what features you have enabled in both OSes. There are too many variables to give you a definitive answer. That is, you'd have to be more specific in your request to provide a better answer. HTH, Mike Anderson -- ======================================================= T h e P T R G r o u p, I n c. ======================================================= Embedded, Real-Time Solutions and Training Mike Anderson mailto:mike@ThePTRGroup.com Chief Scientist http://www.ThePTRGroup.com V: (703) 585-9384 F: (703) 430-3748 ======================================================= "Software development is like making a baby... You can't make a baby in one month by impregnating nine women. Some things just take time." From vxwexplo-errs@csg.lbl.gov Tue Nov 6 08:01:52 2001 From: Barry Clark Date: Tue Nov 6 08:01:54 PST 2001 Subject: Competitor Our hardware guys are talking about embedding, deep within the guts of the machine, something called an EmbeddedCom EC-1, which is an 80186 running a RTOS called API. Anybody know anything about this stuff? Having lived with vxWorks for many years, I have fears of the unknown when leaving the familiar harbor. From vxwexplo-errs@csg.lbl.gov Tue Nov 6 11:09:20 2001 From: heller@core.com Date: Tue Nov 6 11:09:22 PST 2001 Subject: Booting MV5100 with Motorola PPCbug firmware? Hello all, Has anyone successfully used the PPCbug firmware to load and run the Vxworks boot rom on a Motorola MV5100? I noticed there is a #define in the config.h file for INCLUDE_MOT_BUG_ROM, but it doesn't look like it will work. The romInit.s code disables ram during the setup of the hawk chip, which would make it difficult to run the boot rom code from ram. I'm using Tornado 2.1 and the Wind River version of the MV5100 BSP. Thanks in advance -Mark From vxwexplo-errs@csg.lbl.gov Wed Nov 7 04:03:22 2001 From: Vxworks Exploder Date: Wed Nov 7 04:03:24 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Wed Nov 7 04:03:17 PST 2001 Subject: RIP v1, v2 Subject: Failed to execute from RAM_LOW_ADRS Subject: Exactly where on Wind Surf is vxld.bin? Subject: Max #of END objects connected to the MUX? Subject: How to estimate number of buffer descriptors needed Subject: Re: text,data,bss addresses and lengths Subject: Re: How to estimate number of buffer descriptors needed Subject: Re: DHCP client problem Subject: About loattach( ) Subject: Where to download the vxworks software Subject: Re: unable to delete files. Subject: Re: Exactly where on Wind Surf is vxld.bin? Subject: Re: Pre-empting tNetTask Subject: Re: Pre-empting tNetTask Subject: Re: Design Subject: Re: melvin, still changing, walks almost totally, as the cat wastes inside their twig Subject: WTX Error 0x10197 (EXCHANGE_TIMEOUT) Subject: Re: Where to download the vxworks software Subject: Re: How to download a ASCII file to target when a target bootup? Subject: Network, Atm and vxworks Subject: How to bind two or more IP addresses with one Ethernet port Subject: Tornado II under Win2k Subject: Re: How to estimate number of buffer descriptors needed Subject: Network stack test [was: Pre-empting tNetTask] Subject: 802.1d/p/q shims and IP_TOS bits Subject: Wind Web Server Subject: VxWorks AE Boot Image Subject: Ram device Subject: Re: Updating GNU C Compiler Subject: Errno = 0x550 Subject: loadModule and task error Subject: Re: loadModule and task error Subject: Re: Pre-empting tNetTask Subject: Re: How to bind two or more IP addresses with one Ethernet port Subject: Re: Tornado II under Win2k Subject: Re: Network, Atm and vxworks Subject: Re: VxWorks AE Boot Image Subject: Re: loadModule and task error Subject: Re: How to download a ASCII file to target when a target bootup? Subject: Re: from where to download Tornado prototyper Subject: Re: Network, Atm and vxworks Subject: Re: Tornado II under Win2k Subject: Re: WTX Error 0x10197 (EXCHANGE_TIMEOUT) ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: RIP v1, v2 Date: Mon, 05 Nov 2001 17:52:47 GMT From: "Thierry De Corte" Organization: GlobeTrotter Message-ID: Hi all, I'm trying to enable dynamic routing on a board running VxWorks. Static routing is working but I was not able to use dynamic routing. I'm kind of surprise that it doesn't work since dynamic RIP routing is part of the BSD implementation... So my question is: Does VxWorks support Dynamic routing for RIP? If yes how do you make it work? Thanks, Thierry De Corte --------------------------- Newsgroups: comp.os.vxworks Subject: Failed to execute from RAM_LOW_ADRS Date: 5 Nov 2001 10:30:36 -0800 From: tangovi@netscape.net (Ted Victor) Organization: http://groups.google.com/ Message-ID: Dear comp.os.vxworks, I'm new with VxWorks and currently debugging a product in production (CPU: MIPS BSP, VxWorks: 5.3.1, BSP version: 1.1). Some boards are failing to execute from DRAM (RAM_LOW_ADRS), but they did pass DRAM diagnotic and decompressed VxWorks to RAM OK (with inflateCksum = TRUE). Greatly appreciate a few hints on how to debug this; is there an output to serial port utility that can be used before printf is available? Thanks so much for your help. --------------------------- Newsgroups: comp.os.vxworks Subject: Exactly where on Wind Surf is vxld.bin? Date: 5 Nov 2001 11:39:03 -0800 From: hall_c_j@hotmail.com (Chris Hall) Organization: http://groups.google.com/ Message-ID: <888b2a5f.0111051139.6a63ef3b@posting.google.com> All, I am looking for vxld.bin, but apparently I am blind, because I can't find it. Would somebody please point me at the exact download path? I looked under the "Download" section, but only found AE images... Cheers Chris Hall Seaweed Systems --------------------------- Newsgroups: comp.os.vxworks Subject: Max #of END objects connected to the MUX? Date: 5 Nov 2001 14:12:02 -0800 From: jperron@cetaceannetworks.com (Jason Perron) Organization: http://groups.google.com/ Message-ID: Hello, I am wondering if anybody knows what the maximum number of END objects that can be attached to the MUX is? If there is a set limit, is there someplace where a user can change it? Thanks, Jason --------------------------- Newsgroups: comp.os.vxworks Subject: How to estimate number of buffer descriptors needed Date: 5 Nov 2001 15:55:21 -0800 From: ryeung@earthlink.net (Raymond Yeung) Organization: http://groups.google.com/ Message-ID: I'm trying to estimate the number of Rx BDs I need. One way is to use a "large" number of Rx BDs, and then experimentally determine the high water mark and then trim down the number. I'm wondering if there is any analytical way to estimate it. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: text,data,bss addresses and lengths Date: Mon, 5 Nov 2001 18:59:22 -0500 From: "BruceL" Message-ID: <9s79ba$lvm$1@bob.news.rcn.net> References: You may need to activate the symbol table load in the vxWorks tab of the project window. Bruce LeRoy Goering wrote in message news:REqF7.16363$D5.6379129@typhoon.san.rr.com... > Need absolute memory locations of text areas for runtime checksum testing. > Can't figure out how to do it. > > When I download my app to the pentium target with loadModule, cannot access > the symbols table. Can't execute the application programmatically or at the > shell. Browser doesn't see it either. Has anyone out there done this? Any > ideas? > > Thanks, > LW > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to estimate number of buffer descriptors needed Date: Mon, 5 Nov 2001 16:55:14 -0800 From: "Dan Gold" Message-ID: <3be73527$0$51828$e2e8da3@nntp.cts.com> References: "Raymond Yeung" wrote in message news:d83bb8e3.0111051555.27f8608a@posting.google.com... > I'm trying to estimate the number of Rx BDs I need. One way is to use > a "large" number of Rx BDs, and then experimentally determine the high > water mark and then trim down the number. I'm wondering if there is > any analytical way to estimate it. Based on the information provided, I think 6 should be enough. QED :-) You need to provide a little more information. Are these RxBDs for a 100Base-T Full Duplex interface, or a 9600 baud serial port on an SCC ? Is this for 64-byte or 1500 byte Ethernet packets ? Or some other interface with a different MTU ? Since previous posts revealed a penchant for the 8260, is this an ATM interface, Ethernet, MCC, etc... ? How many of these 'ports' are you running ? Are you in interrupt mode ? How long do you think it will take to service your ISR and pull packets off the ring ? And even if you can analyze a worst-case scenario for BDs, it's almost guarranteed that your first customer will find a way to break it :-) For Ethernet drivers, what I've seen done is you start with a 'reasonable' amount (16/32/64/128), and see how that does. You also make sure your 'out of buffers' code works to recover from the situation. For other (i.e. TDM) interfaces, you may be able to figure out a max amount based on buffer size, line rate, worst case task delay, etc... hth, Dan Gold gold@ensemble.com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: DHCP client problem Date: Tue, 06 Nov 2001 02:21:57 GMT From: nunya Organization: Nunya Business Message-ID: <3BE74944.38933F93@nunya.com> References: <9r1hgv$h4m$1@news.netvision.net.il> <9r3d8j$f5q$1@plutonium.btinternet.com> <792e1071.0110230914.32dd9238@posting.google.com> <9r6hrc$4kc$1@plutonium.btinternet.com> <9rsuve$lip$1@mail.cn99.com> Yeah, we ended up doing the same. 5982 wrote: > yea,DHCP is very bad,i wrote a client by myself. --------------------------- Newsgroups: comp.os.vxworks Subject: About loattach( ) Date: Tue, 6 Nov 2001 13:37:44 +0800 From: "vxworks" Organization: Bentium Ltd. (CN99) Message-ID: <9s7t11$8j$1@mail.cn99.com> Dears, Anyone can tell me that why my Ethernet Driver can't work? I find a strange that if I connect my board (PPC405GP) to the lan and power on,it will never return from loattach( )function. But if I take away the network cable, after loattach( ) attached OK, I plug in the cable, everything is OK. Why? I also find that when power on, my board send two ARP packages, one for it's own, another is the host (my PC). My PC reply his ARP, but then loattach( ) never return. So I think that maybe the reason is my board received my PC's ARP reply. But what's wrong? PC should reply the ARP for it. Thanks, --------------------------- Newsgroups: comp.os.vxworks Subject: Where to download the vxworks software Date: 5 Nov 2001 23:00:52 -0800 From: digipsyche@sify.com (DigiPsyche) Organization: http://groups.google.com/ Message-ID: <6c32a22b.0111052300.58ebd2e0@posting.google.com> I am a software engr, very new to vxworks OS. I dont know much about vxwork. Please help me in getting started with the vxworks. i want to know from where i can get the vxworks software and the instruction to operate it. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: unable to delete files. Date: Tue, 6 Nov 2001 09:21:43 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <9s657n$dj8$1@mango.singnet.com.sg> You are (probably) using the standard FTP server for VxWorks, which does not support wildcards. Look for the unsupported FTP server, where I have added some enhancemenets, including wildcard support. "Sam Ho Wai Yin" wrote in message news:9s657n$dj8$1@mango.singnet.com.sg... > My machine's OS is using VxWorks. > Whenever I FTP to the machine and try to delete some selected files in the > folder( ftp> mdelete *.log ), an error message will appeared, stated > ["C:\logs\test\*.log" not found or permission denied]. > is it due to access level problem or wrong command used? > any way to solve this problem? > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Exactly where on Wind Surf is vxld.bin? Date: 6 Nov 2001 00:01:46 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111060001.3ce9c31c@posting.google.com> References: <888b2a5f.0111051139.6a63ef3b@posting.google.com> Hello, You won't find vxld.bin on the web site. If you are trying to create VxWorks AE boot floppies for a Pentium target system on a Unix host (either Solaris or Linux), then go here to download binary images of the diskettes: http://www.wrs.com/csdocs/downloads/freeStuff/bootDiskettes/index.shtml That page contains links to the images (compressed using gzip, so remember to uncompress them before using them), and the instructions to create a floppy diskette from them on either Linux or Solaris. HTH, John... hall_c_j@hotmail.com (Chris Hall) wrote in message news:<888b2a5f.0111051139.6a63ef3b@posting.google.com>... > All, > I am looking for vxld.bin, but apparently I am blind, because I can't > find it. Would somebody please point me at the exact download path? I > looked under the "Download" section, but only found AE images... > > Cheers > Chris Hall > Seaweed Systems --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Pre-empting tNetTask Date: 6 Nov 2001 00:04:31 -0800 From: sudha@volcanomail.com (Sudha) Organization: http://groups.google.com/ Message-ID: <4acf3137.0111060004.7ec1a259@posting.google.com> References: Hi Satyam, Though you can increase the priority of other tasks to a higher value (<49), that isn't good programming and will end up in some problem elsewhere. Try to find out why there are somany packets, or why tNetTask eats up time. This may be because of your huge network. Try isolating your target and host and find out if the problem still persists. Also, roundrobin scheduling is preferred for tasks that the user creates and avoid that between system tasks. You may have to forgo your performance, which as a real-time programmer makes no sense. Sudha. > satyam_k@hotmail.com (Satyam) wrote in message news:... > > Hi, > > > > I am not sure there was already a thread for this question. If so, > > please point it to me. > > > > When we continuously send traffic to the system, the tNetTask which > > handles the IP traffic takes so much time that other tasks are > > starving for the CPU time. This is what I observed under the default > > task scheduling in vxWorks. Could anybody point me to the way where > > we can make other tasks get some CPU time ? > > > > Thanks, > > Satyam --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Pre-empting tNetTask Date: Tue, 6 Nov 2001 10:15:21 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: This is a classic issue (hint: should be in the FAQ): It is one of the oldest advantages of VxWorks, with respect to other RT and non-RT OSes, is that the TCP/IP protocol handling, which could be dangerous when deterministic R-T performance is needed, is assigned to a particular task. This allows the application designer to decide how "important" the network si relative to the other tasks within the system and assign the tNetTask priority accordingly. Most Unixc systems perform the stuff tNetTask does at interrupt level, which will allways preempt any application code. So the best thing to do, is to LOWER the priority of tNetTask, so it is lower then anything which is more important then the net. Or course, from you rdescription it seems there are situations where the CPU is siimply not powerful enough to handle it all. This lkeads me to recommend you to modify the Ethernet driver, to throttle the amount of incoming packets in order to avoid the CPU takeover by tNetTask. Anything beyond this strongly depends on the nature of your application, and the type of network you expect your target to be connected into. If you expect it to connect to a public network, keep in mind this is a harsh place and bad things are bound to happen... HTH, - Leonid "Satyam" wrote in message news:ede7a042.0111021550.440b73e1@posting.google.com... > Hi, > > I am not sure there was already a thread for this question. If so, > please point it to me. > > When we continuously send traffic to the system, the tNetTask which > handles the IP traffic takes so much time that other tasks are > starving for the CPU time. This is what I observed under the default > task scheduling in vxWorks. Could anybody point me to the way where > we can make other tasks get some CPU time ? > > Thanks, > Satyam --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Design Date: Tue, 6 Nov 2001 10:21:32 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <9144a3b0.0111011519.4b92d548@posting.google.com> <9144a3b0.0111050731.3f3ebb81@posting.google.com> I used VxSim on Solaris some time ago, and indeed it had a limitted memory per simulated target, which was set with a command line option when the vxSim process was invoked. However, limitting the memory of VxSim will not guarantee that your code will work on MIPS. First thing you should do is test your code for byte order and address alignment portability issues, VxSim on SPARC/Solaris proved to be an extremely useful tool for me in the past - it even catches all NULL pointer write references, as will as optimization dependency. After that, if you write clean code, I would not hesitate to fly over to the customer and make sure it works fine on their specific hardware. It easier (and faster) then buying some evaluation board. HTH, - Leonid "vxWorks Group" wrote in message news:9144a3b0.0111050731.3f3ebb81@posting.google.com... > Thanks Leonid, this is really what I am looking for. Actually we will > give our user both options and he can choose whatever suits him. > > I have one more question for you if you do not mind: > The customer says that he want to use MIPS and his memory is up to 20 > MB. I am currently using "VxSim for Windows" for my development. > My question is: Is there a way to configure this simulator in order to > make it's memory limited by 20MB and to make sure that the code I > write will run on MIPS? > If this Is not possible, what hardware should I get in order to test > my work? Is there a general board which I can get to do my testing? > > I really appreciate your help. > > Dan > > > "Leonid Rosenboim" wrote in message news:... > > There are two possibe approaches: > > > > A. Use standard input and output file descriptors (i.e. 0 and 1), which > > have private value in each task, so the caller can redirect these fd's > > to any file, pipe or socket they wish. I recommend you leave the close() > > call to the caller too. > > > > B. Use memory buffers, as in > > int dataZip( void * inBuf, size_t inBytes, void *outBuf, size_t > > outBufSIze), void * session_id); > > where the returned value will be the exact byte count of data written to > > outBuf, which > > must be less then or equal to outBufSize. > > Now, since compressed streams are typically not packetized, you need a > > session_id > > which is generated by a dataZipNewSession() sort of creator, and the > > session_id is in > > fact a pointer which holds the state information for this particular stream, > > e.g. dictionary, > > running checksum etc. > > > > Actually, we did something quite similar to (B) as part of the FlashLib > > product, which has > > been discontinued by WindRiver in 1998. FlashLib could transparently > > compress data > > written to Flash file system to conserve Flash space whenever possible, at > > the price > > of slower performance. The code used Deflate algorythm, and save over 50% of > > FLash > > space for typical uses. > > > > HTH, > > - Leonid > > > > "vxWorks Group" wrote in message > > news:9144a3b0.0111011519.4b92d548@posting.google.com... > > > Hi, > > > I am new to VxWorks, but I am not new to programming! > > > I am trying to write a small library for file compression, > > > decompression for VxWorks. > > > The main function I intend to write takes an input stream and > > > generates an output stream for both compression and decompression .Now > > > what I am not certain about is how I am going to take these streams as > > > arguments from the user, I want something as general as possible such > > > that I do not care about the source of data (disk, memory, network.). > > > > > > If this is not possible, and I decide to give the user different > > > functions for different data sources, what is better as an argument > > > for accessing files? Should I ask the user to pass file name or a file > > > opened through fopen() or a file opened through open() ? I am trying > > > to give the user as much control as possible on the data source. > > > > > > > > > Any Help will be more than appreciated. > > > > > > Thanks in advance, > > > Dan --------------------------- Newsgroups: comp.os.vxworks Subject: Re: melvin, still changing, walks almost totally, as the cat wastes inside their twig Date: 6 Nov 2001 09:13:23 GMT From: Johan Borkhuis Organization: Agere Systems Message-ID: References: <6P3waMBWt$Prvt.5401426@61.9.128.12> Sam wrote: > Hard Disk Auto Format > > Quick, pull the plug, you might save something! > > > --02535035502613201712020715157237552640026513516482 >Hard Disk Auto Format <<>> > > Attachment decoded: uxo.html > --02535035502613201712020715157237552640026513516482-- > > First reaction: do not post HTML code! Second reaction: Glad I don't use M$ tools to read news Third reaction: 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: WTX Error 0x10197 (EXCHANGE_TIMEOUT) Date: 6 Nov 2001 01:26:00 -0800 From: monishabarooah@yahoo.com (Monisha Barooah) Organization: http://groups.google.com/ Message-ID: <68ef19de.0111060126.4ea30ba1@posting.google.com> Hi, I am receiving this error after I execute my code for a specified interval. WTX Error 0x10197 (EXCHANGE_TIMEOUT) value = -1 = 0xffffffff Does this has anything to do with my code or is it just because of the connection timeout between the host and the target due to some other reason. Regards, Monisha. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Where to download the vxworks software Date: 6 Nov 2001 09:27:22 GMT From: Johan Borkhuis Organization: Agere Systems Message-ID: References: <6c32a22b.0111052300.58ebd2e0@posting.google.com> digipsyche@sify.com (DigiPsyche) wrote: > I am a software engr, very new to vxworks OS. I dont know much about > vxwork. Please help me in getting started with the vxworks. i want to > know from where i can get the vxworks software and the instruction to > operate it. Go to www.wrs.com, and follow the links to Tornado Prototyper. This is an evaluation program. You get the complete environment, but you can only build SW for use with the buildin simulator. 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 download a ASCII file to target when a target bootup? Date: 6 Nov 2001 01:54:54 -0800 From: eagle2hawk@yahoo.com (eagle2hawk) Organization: http://groups.google.com/ Message-ID: References: <488e459a.0111012309.2a902efb@posting.google.com> Thanks, John, Which component includes the functions of memDrv and memdrvbuild? When I run memDrv and memdrvbuild in windSh, it shows "undefined symbol". After check the kernel I built, all of utility components were included; all of kernel components (but shared memory objects) were included; all of IO system components (but dosdisk and RT11 filesystem) were included. The manual of memdrvbuild and memdrv does not mention their locations. Eagle john_94501@yahoo.com (John) wrote in message news:<488e459a.0111012309.2a902efb@posting.google.com>... > Hello, > > Yeah, checkout the memDrv manual page, and the memdrvbuild host > utility. The latter will create a source file containing your files > and some init code to actually install it into the I/O system. > > Once done, and assuming that you have memDrv in your kernel, you can > call the init function and then access the file(s) as if they were > files on a regular file system (read-only of course). > > HTH, > > John... > > eagle2hawk@yahoo.com (eagle2hawk) wrote in message news:... > > Might I add some ASCII files(eg. .html) to the bootable image? > > Thanks --------------------------- Newsgroups: comp.os.vxworks Subject: Network, Atm and vxworks Date: Tue, 6 Nov 2001 11:33:55 +0100 From: "Red Fenris" Organization: None Message-ID: <9s8e9j$6jt$1@wanadoo.fr> Reply-To: "Red Fenris" Hi a few questions : 1. Does anyone know about a port of Harp stack on VxWorks ? 2. Where could I find information on addDomain and addSockLib functions ? 3. Does anyone know how to expand the select mechanism so that I could have 1024 pendings sockets? TAD Fab - ----------------------------------------------------------------- Support third world debt cancellation - ----------------------------------------------------------------- --------------------------- Newsgroups: comp.os.vxworks Subject: How to bind two or more IP addresses with one Ethernet port Date: 6 Nov 2001 03:04:25 -0800 From: kevinatnj@yahoo.com.cn (kewin) Organization: http://groups.google.com/ Message-ID: <221caa76.0111060304.54b743a5@posting.google.com> Hi all I need your generous help.Does anybody have the experience to bind two IP addresses with one Ethernet port for PPC8260 FCC. Any advice will be welcome. --------------------------- Newsgroups: comp.os.vxworks Subject: Tornado II under Win2k Date: Tue, 6 Nov 2001 14:00:57 +0100 From: "Choumpili" Organization: Wanadoo, l'internet avec France Telecom Message-ID: <9s8n38$5cp$1@wanadoo.fr> After installing the 2 patches from WindRiver for Tornado II (spr62517, and sprT2CP3), I get an error "WTX Error 0x100de (AGENT_COMMUNICATION_ERROR) when downloading an application code, which fails and never completes I used to run exactly the same way under WinNT, Service pack 5: I had no issue, no error message But since the upgrade to Win2k, I face this problem Any idea? Choumpili --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to estimate number of buffer descriptors needed Date: Tue, 6 Nov 2001 11:37:25 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9s8hqk$ita$1@uranium.btinternet.com> References: <3be73527$0$51828$e2e8da3@nntp.cts.com> > > I'm trying to estimate the number of Rx BDs I need. One way is to use > > a "large" number of Rx BDs, and then experimentally determine the high > > water mark and then trim down the number. I'm wondering if there is > > any analytical way to estimate it. > > Based on the information provided, I think 6 should be enough. QED :-) 42 is a better answer..... Just find the question. You almost certainly, definitely, need more than 6. But 5 won't work at all! It really depends on the workload and whether any buffers are going to be left lurking anywhere. You need 6 to be able to assemble a single 8kb UDP datagram for NFS. However if a ethernet frame gets lost, or you are acting as an NFS server for a Unix system, you need to be able to assemble multple NFS datagrams. If you want to receive large IP frames from anywhere else you need the buffers to assemble the full length frame. For TCP rx buffers probably hold data while requesting retransmission of missing blocks. So the stack will get into a buffer crisis if you have less buffers available than the window size. The stack might recover from this one... I've only ever seen 2 mblks stolen from the rx pool for other purposes, rx packets are unlikely to be dup'ed, so you don't need extra mblk and cblk structures for your data buffers. I don't know whether vxWorks queues rx frames at sockets (waiting for a read) but a normal system will read any such data off moderately quickly. This was always a 'problem' area on unix for ttys - where you could end up with 1 byte of data in a 2k streams buffer being assembled by the line dicipline code (not quite as bad as trying to flow control 0 length messages). Once you've sorted rx buffers, try the tx ones - much harder :-) David --------------------------- Newsgroups: comp.os.vxworks Subject: Network stack test [was: Pre-empting tNetTask] Date: 06 Nov 2001 11:07:42 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: Sender: bpringlemeir@DeadDuck >>>>> "Leonid" == Leonid Rosenboim writes: [snip] Leonid> to be connected into. If you expect it to connect to a Leonid> public network, keep in mind this is a harsh place and bad Leonid> things are bound to happen... There use to be test that would send different TCP/UDP/IP packets at a box to test it for various bugs. I ran this on NT 3.?? and it reset the machine. I believe that we ran it against an older version of vxWorks. A denial attack stop the box for a while, but it came up eventually. Can anyone point me to these test? I don't know if it was Satan, angel, etc. Maybe there are others? Has anyone tried these on more recent versions of vxWorks? I suppose CPU/network drivers would also be wise to test against (as well as open ports). regards, Bill Pringlemeir. - -- Allowedness is the form of works of art. WHY? vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html" --------------------------- Newsgroups: comp.os.vxworks Subject: 802.1d/p/q shims and IP_TOS bits Date: 6 Nov 2001 16:49:35 GMT From: Troy Cauble Organization: Bell Labs, Holmdel, NJ, USA Message-ID: <9s94av$8un@nntpb.cb.lucent.com> Hi all, I have some prototype code that uses etherOutputHookAdd() to add a function that inserts 802.1d/p/q tag headers or sets the IP_TOS bits in certain outbound packets. There are several things I don't like about this approach. Also, I've read that the etherHook functionality is going away. Is there a better way to do these things in VxWorks (5.4)? What would it take to get setsockopt(IP_TOS) to work? Is there a standard interface (setsockopt?) for the 802.1d/p/q stuff? Thanks, - -troy --------------------------- Newsgroups: comp.os.vxworks Subject: Wind Web Server Date: 6 Nov 2001 09:56:36 -0800 From: m_kovalmudi@yahoo.com (Madhu Kovalmudi) Organization: http://groups.google.com/ Message-ID: <17774c2b.0111060956.227e2907@posting.google.com> Hi Anybody know , how the QUERY_STRING in the wind web srever is given to a parse function, In the sense that does it already replaces the escsaped characters? I am having a problem , with strings , which have alphanunmeric chracters & and =,(not the regular delimiters). I have excaped them with the appropriate %(HEX-VAL), yet when the QUERY_STRING is returned all the escaped characters are being replaced with the orginal characters confusing the parser. Any work around for this. Madhu --------------------------- Newsgroups: comp.os.vxworks Subject: VxWorks AE Boot Image Date: Tue, 6 Nov 2001 15:54:16 -0500 From: "David Masse" Organization: Universite du Quebec Message-ID: <9s9inu$gv7$1@Tropolix.UQSS.UQuebec.CA> Hi, I'm a new user of VxWorks AE and we are designing a board with a PowerPC MPC860. We use the first part of a flash memory as bootROM. Because it's a new board, I build my own BSP based on mdpmPro8xxT BSP. My question is what file exactly I need to load in flash memory in order to boot VxWorks. I just want a basic VxWorks image that will allow me to use the Tornado Host-Target tools to develop my application. I create a bootApp project (generated from my new BSP) to build bootApp_romCopy. This generate the bootApp_romCopy (with no extension) file. Does that file is the VxWorks image that I need to load in the flash memory. If yes, does it contains the boot objects that run in ROM and the VxWorks system image that will be loaded in RAM? The bootApp_romCopy is not supposed to be generated in .bin or .hex format? Finally, I want to know what is the difference between the ROM image created by a bootApp project and a system project. Thanks! - - David --------------------------- Newsgroups: comp.os.vxworks Subject: Ram device Date: 6 Nov 2001 13:04:15 -0800 From: adrianloca@yahoo.com (Adrian) Organization: http://groups.google.com/ Message-ID: Hello, After creating the ram device using the following commands, pBlkDev = ramDevCreate (0, 512, 500, 500, 0); pVolDesc = dosFsMkfs ("/ramDev", pBlkDev); ... What to do to delete this ram device? Got blocked here... Any suggestions? Thanks in advance. - -Adrian --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Updating GNU C Compiler Date: Tue, 6 Nov 2001 22:01:19 -0000 From: "martin brook" Organization: BT Internet Message-ID: <9s9mbf$i6b$1@uranium.btinternet.com> References: They don't miss a trick at WRS :) Johan Borkhuis wrote in message news:Xns9150723555487borkhuisagerecom@135.7.153.102... > Mark Durham wrote: > > > Hi, > > > > I've searched the WindSurf area at WRS and cannot find any details on > > how to upgrade the version of GCC that shipped with Tornado 2.0 > > > > Is it just a case of getting the latest NT binaries and libraries for > > GCC and installing them? > > What architecture are you looking for? There is the PPC version from Dave > Korn. > But WindRiver has just started shipping Tornado 2.1, and this includes a > newer version of the compiler, so you should ask your FAE or sales rep for > this. Not all architectures are available however. > > 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: Errno = 0x550 Date: 6 Nov 2001 15:50:12 -0800 From: quadmail@yahoo.com (Alex) Organization: http://groups.google.com/ Message-ID: <7b99c091.0111061550.732661d0@posting.google.com> How would one find out what the english translation for Errno = 0x550 is? Thanks, Alex --------------------------- Newsgroups: comp.os.vxworks Subject: loadModule and task error Date: Wed, 07 Nov 2001 00:00:17 GMT From: "Kelly Hornsby" Organization: Excite@Home - The Leader in Broadband http://home.com/faster Message-ID: Hello All Here's my situation: I've created a memDev in my flash area on my PPC750 board, and I've dumped an ELF image (that runs ok) into the flash area that the memDev covers. I can go to the command shell and do the following with no error: fd = open("/mem/flash/0", 0777,0777); status = loadModule(fd,1) And my ELF image in flash is loaded and ready to go, with all symbols present. However... when I dump those two lines into a routine, and compile the routine and download it, I get an illegal instruction error when I attempt to run the routine containing the two lines above. the routine fails on the loadModule call. Any ideas on this? Has anyone else done *large* image loads using loadModule programmatically? thx for any inputs --------------------------- Newsgroups: comp.os.vxworks Subject: Re: loadModule and task error Date: 06 Nov 2001 19:21:59 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: Sender: bpringlemeir@DeadDuck >>>>> "Kelly" == Kelly Hornsby writes: [snip] Kelly> However... when I dump those two lines into a routine, and Kelly> compile the routine and download it, I get an illegal Kelly> instruction error when I attempt to run the routine containing Kelly> the two lines above. the routine fails on the loadModule Kelly> call. Kelly> Any ideas on this? Has anyone else done *large* image loads Kelly> using loadModule programmatically? You must compile your image to include symbols. Do the following, - -> lkup "printf" - -> @lkup "printf" If both return identical values, then this is not your problem. If they do not, you must build an image with symbols include in order to use loadModule `programmatically'. I think this is probably it. hth, Bill Pringlemeir. - -- I fill MY industrial waste containers with old copies of the `WATCHTOWER' and then add HAWAIIAN PUNCH to the top.. They look NICE in the yard. vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html" --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Pre-empting tNetTask Date: 6 Nov 2001 17:02:36 -0800 From: satyam_k@hotmail.com (Satyam) Organization: http://groups.google.com/ Message-ID: References: Thank You Guys for the Response!!! I just thought of updating on this. 1. Without further going into details, I can say this much: I know the reason why IP stack is faced with handling so much traffic. But I don't have the option of avoiding the situation. That is beause of the SW architecture coupled with the HW design. So the answers like "don't overload the system" didn't help me (Anyway thanks for the guys who responded.) 2. Thanks for Sudha for advising me to be cautious about changing the priority of the tasks (Changing the pririoty actually helped to solve the problem - Stopping the traffic). But I am not really inclined for this solution. 3. So far the plausible solution came from Leonid (Thanks alot) which I need to try out yet. "Leonid Rosenboim" wrote in message news:... > This is a classic issue (hint: should be in the FAQ): > > It is one of the oldest advantages of VxWorks, with respect to other > RT and non-RT OSes, is that the TCP/IP protocol handling, which > could be dangerous when deterministic R-T performance is needed, > is assigned to a particular task. This allows the application designer > to decide how "important" the network si relative to the other tasks > within the system and assign the tNetTask priority accordingly. > Most Unixc systems perform the stuff tNetTask does at interrupt level, > which will allways preempt any application code. > > So the best thing to do, is to LOWER the priority of tNetTask, so it is > lower > then anything which is more important then the net. > > Or course, from you rdescription it seems there are situations where the CPU > is siimply not powerful enough to handle it all. This lkeads me to recommend > you > to modify the Ethernet driver, to throttle the amount of incoming packets in > order > to avoid the CPU takeover by tNetTask. > > Anything beyond this strongly depends on the nature of your application, > and the type of network you expect your target to be connected into. > If you expect it to connect to a public network, keep in mind this is a > harsh > place and bad things are bound to happen... > > HTH, > - Leonid > > "Satyam" wrote in message > news:ede7a042.0111021550.440b73e1@posting.google.com... > > Hi, > > > > I am not sure there was already a thread for this question. If so, > > please point it to me. > > > > When we continuously send traffic to the system, the tNetTask which > > handles the IP traffic takes so much time that other tasks are > > starving for the CPU time. This is what I observed under the default > > task scheduling in vxWorks. Could anybody point me to the way where > > we can make other tasks get some CPU time ? > > > > Thanks, > > Satyam --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to bind two or more IP addresses with one Ethernet port Date: 6 Nov 2001 17:05:45 -0800 From: satyam_k@hotmail.com (Satyam) Organization: http://groups.google.com/ Message-ID: References: <221caa76.0111060304.54b743a5@posting.google.com> I don't know about PPC8260, but in vxWorks, the call ifAddrAdd () (check the documentation for the syntax) will add another (secondary) IP address to the same port HTH /Satyam kevinatnj@yahoo.com.cn (kewin) wrote in message news:<221caa76.0111060304.54b743a5@posting.google.com>... > Hi all > > I need your generous help.Does anybody have the experience to bind > two IP addresses with one Ethernet port for PPC8260 FCC. > > Any advice will be welcome. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado II under Win2k Date: 6 Nov 2001 17:12:01 -0800 From: seado@21cn.com (Seado) Organization: http://groups.google.com/ Message-ID: References: <9s8n38$5cp$1@wanadoo.fr> "Choumpili" wrote in message news:<9s8n38$5cp$1@wanadoo.fr>... > After installing the 2 patches from WindRiver for Tornado II (spr62517, and > sprT2CP3), > I get an error > "WTX Error 0x100de (AGENT_COMMUNICATION_ERROR) > > when downloading an application code, which fails and never completes > > I used to run exactly the same way under WinNT, Service pack 5: I had no > issue, no error message > But since the upgrade to Win2k, I face this problem > > Any idea? > Choumpili Download Windriver's Win2k patch, or change your registry setting. Change 'WIND_REGISTRY' from 'localhost' to your machine's TCP/IP address. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Network, Atm and vxworks Date: Wed, 7 Nov 2001 01:15:13 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9sa1nu$fb8$1@neptunium.btinternet.com> References: <9s8e9j$6jt$1@wanadoo.fr> > 3. Does anyone know how to expand the select mechanism so that I could > have 1024 pendings sockets? Dunno - reverse engineer the whole lot? Actually we had trouble with a Unix SVR4 system because poll() (what select() is based on in that system) is actually o(n^2) in the number of FDs being looked at! So setting up a lot of connections was o(n^3). (In this case the limiting factor was the singly linked list of blocks of (about) 20 FDs on the 'u' area...) Maybe you need to rework things! vxWorks won't be as bad, but setting up connections will be o(n^2). David --------------------------- Newsgroups: comp.os.vxworks Subject: Re: VxWorks AE Boot Image Date: 6 Nov 2001 21:57:27 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111062157.5eb96e79@posting.google.com> References: <9s9inu$gv7$1@Tropolix.UQSS.UQuebec.CA> Hello, > I'm a new user of VxWorks AE and we are designing a board with a PowerPC > MPC860. We use the first part of a flash memory as bootROM. Because it's a > new board, I build my own BSP based on mdpmPro8xxT BSP. My question is what > file exactly I need to load in flash memory in order to boot VxWorks. > > I just want a basic VxWorks image that will allow me to use the Tornado > Host-Target tools to develop my application. I create a bootApp project > (generated from my new BSP) to build bootApp_romCopy. This generate the > bootApp_romCopy (with no extension) file. Does that file is the VxWorks > image that I need to load in the flash memory. If yes, does it contains the > boot objects that run in ROM and the VxWorks system image that will be > loaded in RAM? The bootApp_romCopy is not supposed to be generated in .bin > or .hex format? Well, you get that choice. The file without an extension is an ELF image which almost certainly won't work when programmed directly into flash, but might be supported by an onboard monitor on some development boards. In your case, I suspect that you are correct in believing that you'll need a .bin or .hex file. To generate the .bin or .hex files you have a number of choices... 1) You can explicitly request the format when using the command line to build the project: % make bootApp_romCopy.bin Execute that from within the project directory and it will build the .bin file (substitute .hex if that's what you need). 2) You can set the default in the BSP directory. This will then be used when you create a new bootApp project based on that BSP. To do this, add the following to your BSP's Makefile ROM_OUTPUT = .bin Again, substitute .hex if that's what you need. 3) Using the IDE, open the Build Settings for your bootApp project. In that dialog, you will see a box labelled "Will Build" - change the text there to be bootApp_romCopy.bin (or .hex), and the project will build that file for you instead of the BSP's default. For the system projects, the scheme is basically the same, but the specifications are a little longer since they involve a build type (e.g. debug or release). So, for example, your system build specification might look like this for network loading: PPC860gnu.debug. To create a ROM version of this, set the build specification to PPC860gnu.debug_romCopy (or _romCompressed if you want the compressed version). Then build the target sms_romCopy.bin (or sms_romCompressed.bin for the compressed one). ['sms' is the plural of sm, and .sm is the extension of the actual images built for each domain you boot. The sms_XXX file contains all the domains in your system.] > Finally, I want to know what is the difference between the ROM image created > by a bootApp project and a system project. You don't say if you are familiar with VxWorks 5.4, or earlier. If you are, the bootApp is the same as a bootrom in a 5.4 system. If not, a bootApp is basically a small program that allows you to bootstrap your development system over a network, or from a local file system. The advantage is that the bootApp probably doesn't need to change very often, if ever, but you can change the features in your main system kernel as often as you need during development (cuts the number of times you need to reprogram the flash dramatically). When you are finished, and your system is ready, you can simply build the ROM version of the system and replace the bootApp with it. That will result in your system starting up without the need to boot the main kernel from the remote location. If you are familiar with any unix systems, the bootApp is the VxWorks equivalent of the openboot ROM that starts a Sun box, or the lilo bootloaded often used with Linux systems. The windows dual boot menu is the Microsoft version of this. HTH, John... > Thanks! > > - David --------------------------- Newsgroups: comp.os.vxworks Subject: Re: loadModule and task error Date: 6 Nov 2001 22:03:09 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111062203.17330c0c@posting.google.com> References: Hello Kelly, > Here's my situation: I've created a memDev in my flash area on my PPC750 > board, and I've dumped an ELF image (that runs ok) into the flash area that > the memDev covers. I can go to the command shell and do the following with > no error: > fd = open("/mem/flash/0", 0777,0777); > status = loadModule(fd,1) > > And my ELF image in flash is loaded and ready to go, with all symbols > present. > > However... > when I dump those two lines into a routine, and compile the routine and > download it, I get an illegal instruction error when I attempt to run the > routine containing the two lines above. the routine fails on the loadModule > call. No answere, but I do have some questions... 1) Do you have the stack trace? Can you tell anything about the address that is being executed when the instruction occurs? 2) Does your module contain C++ static objects (i.e. will the loader need to execute any constructors as part of the load)? 3) Have you tried pointing the compiled version at a different file system, say over a network to your development host? 4) How much stack does your task that is executing the load have? Could it be running out? HTH, John... > Any ideas on this? Has anyone else done *large* image loads using > loadModule programmatically? > > thx for any inputs --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to download a ASCII file to target when a target bootup? Date: 6 Nov 2001 22:09:08 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111062209.1e2a9de5@posting.google.com> References: <488e459a.0111012309.2a902efb@posting.google.com> Hello, > Which component includes the functions of memDrv and memdrvbuild? When > I run memDrv and memdrvbuild in windSh, it shows "undefined symbol". > After check the kernel I built, all of utility components were > included; all of kernel components (but shared memory objects) were > included; all of IO system components (but dosdisk and RT11 > filesystem) were included. memDrv is included by INCLUDE_MEMDRV in my AE system; I suspect that it has the same name for 5.4. Check in the configAll.h file to see if you can see it in there. memdrvbuild is a host tool for creating the file systems. It should be in your host/sun4-solaris2/bin or host/x86-win32/bin directory (depending on your host type). HTH, John... > The manual of memdrvbuild and memdrv does not mention their locations. > > Eagle > > > john_94501@yahoo.com (John) wrote in message news:<488e459a.0111012309.2a902efb@posting.google.com>... > > Hello, > > > > Yeah, checkout the memDrv manual page, and the memdrvbuild host > > utility. The latter will create a source file containing your files > > and some init code to actually install it into the I/O system. > > > > Once done, and assuming that you have memDrv in your kernel, you can > > call the init function and then access the file(s) as if they were > > files on a regular file system (read-only of course). > > > > HTH, > > > > John... > > > > eagle2hawk@yahoo.com (eagle2hawk) wrote in message news:... > > > Might I add some ASCII files(eg. .html) to the bootable image? > > > Thanks --------------------------- Newsgroups: comp.os.vxworks Subject: Re: from where to download Tornado prototyper Date: 6 Nov 2001 23:38:20 -0800 From: anubhavsaksena@yahoo.com (Anubhav Saksena) Organization: http://groups.google.com/ Message-ID: <9ee41a72.0111062338.6680b89d@posting.google.com> References: <9ee41a72.0111020212.562b92e0@posting.google.com> thanks Rags but i found the solution. Anubhav b.a.raghavendra@delphiauto.com (Rags) wrote in message news:... > Hi, > When registring you might have entered an USERID and PASSWORD, that > will be your login information. I think you may not get any mail > regarding that. Make sure LOGIN and PASSWORD are case sensitive. > Also at Download center once you login you will find DEMO version of > tornado > > May I have helped you > > Rags --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Network, Atm and vxworks Date: Wed, 7 Nov 2001 08:35:51 +0100 From: "Michael Lawnick" Organization: Buergernetz Dillingen Message-ID: <9sao8o$r05$1@snoopy.bndlg.de> References: <9s8e9j$6jt$1@wanadoo.fr> Reply-To: "Michael Lawnick" Sender: mlawnick@pd95249d3.dip.t-dialin.net Hi Red, for 1. and 2. - sorry. For 3.: ask WRS for a recompiled selectLib.o. We did it for a project and have it now with 8192 channels in parallel. - -- Mit freundlichen Grüßen, Michael Lawnick ============================================== SOFTEC GmbH Tel +49-731-96600-0 Promenade 17 Fax +49-731-96600-23 D-89073 Ulm Michael Lawnick Germany lawnick@softec.de ============================================== "Red Fenris" schrieb im Newsbeitrag news:9s8e9j$6jt$1@wanadoo.fr... > Hi > > a few questions : > > 1. Does anyone know about a port of Harp stack on VxWorks ? > > 2. Where could I find information on addDomain and addSockLib functions ? > > 3. Does anyone know how to expand the select mechanism so that I could > have 1024 pendings sockets? > > TAD > Fab > > > ----------------------------------------------------------------- > Support third world debt cancellation > ----------------------------------------------------------------- > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado II under Win2k Date: Wed, 7 Nov 2001 09:16:39 +0100 From: "Choumpili" Organization: Wanadoo, l'internet avec France Telecom Message-ID: <9saqq7$sjr$1@wanadoo.fr> References: <9s8n38$5cp$1@wanadoo.fr> That's what I mentionned just before: I already downloaded the patch spr62517, and sprT2CP3 for Win2K I also tried with changing the registry value, with no success Anyother idea? Thanks Choumpili > > Download Windriver's Win2k patch, or change your registry setting. Change > 'WIND_REGISTRY' from 'localhost' to your machine's TCP/IP address. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: WTX Error 0x10197 (EXCHANGE_TIMEOUT) Date: 7 Nov 2001 00:58:24 -0800 From: sudha@volcanomail.com (Sudha) Organization: http://groups.google.com/ Message-ID: <4acf3137.0111070058.354abaeb@posting.google.com> References: <68ef19de.0111060126.4ea30ba1@posting.google.com> Hi Monisha, As you said, this is a typical error when the target server cannot know (or connect) where (to) the target agent is. Could be because of a break in your backend connection. Usually, the target server tries to re-connect, but incase if this too fails, then something went awry on the target side coz of your code. The target agent isn't able to respond to the target server. Try to ping, if the target is still alive... else you may need to re-boot the target and debug your code. Sudha. monishabarooah@yahoo.com (Monisha Barooah) wrote in message news:<68ef19de.0111060126.4ea30ba1@posting.google.com>... > Hi, > I am receiving this error after I execute my code for a specified > interval. > > WTX Error 0x10197 (EXCHANGE_TIMEOUT) > value = -1 = 0xffffffff > > Does this has anything to do with my code or is it just because of the > connection timeout between the host and the target due to some other > reason. > Regards, > Monisha. --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Wed Nov 7 05:41:16 2001 From: "Nanda" Date: Wed Nov 7 05:41:19 PST 2001 Subject: VxWorks booting using the END driver This is a multi-part message in MIME format. ------=_NextPart_000_0031_01C167BF.EBBFBAF0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, I am in the process of testing the GbE END driver integrating with my = BSP based on a QED MIPS R7000 processor. The driver is integrated with = the BSP and the VxWorks image built using the BSP is working fine. I am = booting this VxWorks image using another 100Base-T interface present in = my BSP. Once the VxWorks image comes up i am able to ping the GbE = interface (which is the second interface on my board) and is able to run = target server on this. Now when i make the bootrom and use this image in the FLASH and tries to = boot VxWorks image using the GbE interface it is crashing. So from the = crash dump we found that it is crashing at the muxDevLoad() while taking = a semaphore. We thought the muxLibInit() might not have called and we = called this function in bootConfig.c. Then everything is fine. Later we = traced the path of the muxLibInit() and found that it is getting called = only when the TSFS boot is enabled. I am having doubts on this. Anyone = has used the END driver to boot the VxWorks image and can give any = insights to the problem i am facing. Any clues will be a big help for = me. Regards, Nandan ------=_NextPart_000_0031_01C167BF.EBBFBAF0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi,
 
I am in the process of testing the = GbE END=20 driver integrating with my BSP based on  a QED MIPS R7000 = processor. The=20 driver is integrated with the BSP and the VxWorks image built using the = BSP is=20 working fine. I am booting this VxWorks image using another = 100Base-T=20 interface present in my BSP. Once the VxWorks image comes up i am = able to=20 ping the GbE interface (which is the second interface on my board) and = is able=20 to run target server on this.
 
Now when i make the bootrom and use = this image in=20 the FLASH and tries to boot VxWorks image using the GbE interface it is=20 crashing. So from the crash dump we found that it is crashing at the=20 muxDevLoad() while taking a semaphore. We thought the muxLibInit() might = not=20 have called and we called this function in bootConfig.c. Then everything = is=20 fine. Later we traced the path of the muxLibInit() and found that it is = getting=20 called only when the TSFS boot is enabled. I am having doubts on this. = Anyone=20 has used the END driver to boot the VxWorks image and can give any = insights to=20 the problem i am facing. Any clues will be a big help for = me.
 
Regards,
Nandan
------=_NextPart_000_0031_01C167BF.EBBFBAF0-- From vxwexplo-errs@csg.lbl.gov Wed Nov 7 13:43:53 2001 From: "Smith, Mike" Date: Wed Nov 7 13:43:55 PST 2001 Subject: Inconsistent Machine Check Exception Handling with VxWorks 1.01 o Hi Everyone, Has anyone experienced inconsistent "machine check" exception handling? I'm using VxWorks 1.01 on a DY-4 SVME179 target with a PowerPC 750 CPU. I've developed an exception handler in C that advances the exception-causing task to its next instruction instead of suspending the task as done by the default exception handler. I connect this handler to the machine check exception vector using excVecSet. I can easily generate machine check exceptions by reading an unpopulated VME address. Following successful handling of 2-7 consecutive machine checks, the host-to-target communication links (ethernet and serial) crash on the last exception and I lose all contact with the target. I think my exception handler is o.k., because my handler works fine for several machine check exceptions before crashing. However, maybe there's something flaky about recovering from machine check exceptions that you may know about. Other types of exceptions (i.e., data access and alignment) are consistently handled correctly by my handler. Thanks for your help in advance, Mike From vxwexplo-errs@csg.lbl.gov Wed Nov 7 15:51:49 2001 From: Jim Giles Date: Wed Nov 7 15:51:51 PST 2001 Subject: VxWorks file I/O for x86 target : ioLib vs stdio Hello: We've implemented file I/O on embedded PCs using stdio.h functions and ioLib.h functions. The stdio.h versions seemed to have problems when multiple tasks are writing to multiple hard disk files. Has anyone noted similar problems? Thanks, Jim From vxwexplo-errs@csg.lbl.gov Thu Nov 8 04:03:17 2001 From: Vxworks Exploder Date: Thu Nov 8 04:03:19 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Thu Nov 8 04:03:12 PST 2001 Subject: Re: RIP v1, v2 Subject: clock corruption Subject: rebootAddHook() ??? Subject: Re: 802.1d/p/q shims and IP_TOS bits Subject: undefined relocation Subject: Re: Errno = 0x550 Subject: END HDLC driver Subject: Re: clock corruption Subject: Linking all objects from an archive file Subject: Re: Updating GNU C Compiler Subject: Re: clock corruption Subject: Shared Memory Network Error (4e0009) Subject: Re: Using dependencies in different dirrectories? Subject: RPC server protocol switching? Subject: FAQ: Tundra Universe II interrupt example Subject: Re: rebootAddHook() ??? Subject: Re: write protecting vector table Subject: Re: Tornado II under Win2k Subject: how to delete a IP address Subject: Re: Max #of END objects connected to the MUX? Subject: Re: Linking all objects from an archive file Subject: Solaris shared memory error Subject: Re: 860 SCC Driver Subject: Re: Solaris shared memory error Subject: tornado and windows 2000 Subject: How to attach a signal to a pipe Subject: Re: write protecting vector table Subject: "tSnmpd" exception ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: RIP v1, v2 Date: Tue, 6 Nov 2001 22:30:24 -0500 From: "nraju" Organization: MindSpring Enterprises Message-ID: <9sbcc1$t6g$1@slb1.atl.mindspring.net> References: vxWorks does support RIP. Other dynamic protocols like OSPF need to be purchased separately. I think, you need to include #define INCLUDE_RIP oin the configdb.h file after undefing it.You should be able to see tRipTsk and RipTimerTask on the system. "Thierry De Corte" wrote in message news:PlAF7.23298$OE1.3404998@carnaval.risq.qc.ca... > Hi all, > > I'm trying to enable dynamic routing on a board running VxWorks. Static > routing is working but I was not able to use dynamic routing. I'm kind of > surprise that it doesn't work since dynamic RIP routing is part of the BSD > implementation... > > So my question is: Does VxWorks support Dynamic routing for RIP? If yes > how do you make it work? > > Thanks, > Thierry De Corte > > --------------------------- Newsgroups: comp.os.vxworks Subject: clock corruption Date: Wed, 07 Nov 2001 14:22:03 +0100 From: Ross Staton Organization: Siemens Inc. Message-ID: <3BE9357B.5C95906F@icn.siemens.de> We have 4 VxWorks targets all trying to download different files via FTP from the same VxWorks-based system controller at the same time during startup. The problem is that 2 out of every 3 attempts fail because the time on the system controller board gets corrupted and we don't know why. The tick counter continues to work correctly, incrementing at 100Hz, but at some point the clock jumps forward 2 hours, and must be reset to network time using ntpDate() before the FTP downloads will work. I notice that the function used to calculate current time is clock_gettime() and this function returns 0 when the clock is corrupt. Does anyone know exactly how this function calculates the current time based on the tick counter and what might cause this to go wrong?. thanks Ross --------------------------- Newsgroups: comp.os.vxworks Subject: rebootAddHook() ??? Date: 07 Nov 2001 08:37:30 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: Sender: bpringlemeir@DeadDuck Can anyone who has used this function, or anyone with the source tell me the context that the rebootHooks are called in? Task, interrupt, interrupts locked, any of the above including none? It would be nice if something was noted in the docs. tia, Bill Pringlemeir. - -- Every sick person is a fool, right? You make me sick. vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html" --------------------------- Newsgroups: comp.os.vxworks Subject: Re: 802.1d/p/q shims and IP_TOS bits Date: Wed, 7 Nov 2001 17:27:43 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <9s94av$8un@nntpb.cb.lucent.com> It's quite easy to set IP TOS with setsockoption(), find somewhere a Unix example and follow it to the letter. WIth 802.1Q however you are out of lack I'm afraid, either keep your etherHook, when its gone there will be a MUX based equivalent, which is already implemented, so you can switch to it right away - if my memory serves me well its called SNARF or something. "Troy Cauble" wrote in message news:9s94av$8un@nntpb.cb.lucent.com... > > Hi all, > > I have some prototype code that uses etherOutputHookAdd() > to add a function that inserts 802.1d/p/q tag headers > or sets the IP_TOS bits in certain outbound packets. > > There are several things I don't like about this approach. > Also, I've read that the etherHook functionality is going > away. > > Is there a better way to do these things in VxWorks (5.4)? > > What would it take to get setsockopt(IP_TOS) to work? > > Is there a standard interface (setsockopt?) for the 802.1d/p/q > stuff? > > Thanks, > -troy --------------------------- Newsgroups: comp.os.vxworks Subject: undefined relocation Date: Wed, 07 Nov 2001 10:59:04 -0600 From: Dinker Charak Organization: Fermi National Accelerator Laboratory Message-ID: <3BE96858.AEE45454@fnal.gov> hello, when doing - -> ld < myapp.o i get undefined relocation: 23 ... errors .... what is this? i get two three kind of error value besides 23. what is wrong? where can i find a doc telling me what this value means? regards, dinker --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Errno = 0x550 Date: Wed, 07 Nov 2001 11:13:44 -0600 From: Dinker Charak Organization: Fermi National Accelerator Laboratory Message-ID: <3BE96BC8.287D7A0C@fnal.gov> References: <7b99c091.0111061550.732661d0@posting.google.com> Hi, You may look into this file for a easy look up ... host/resource/tcl/errnoTbl.tcl though am not sure about 0x550 ... never seen it ... doubt if it is a standard vxworks error code ... hth, dinker --------------------------- Newsgroups: comp.os.vxworks Subject: END HDLC driver Date: Wed, 7 Nov 2001 12:25:10 -0500 From: "David Masse" Organization: Universite du Quebec Message-ID: <9sbqt1$536$1@Tropolix.UQSS.UQuebec.CA> Hi, Does anyone know if it exist an END driver for PowerPC MPC860 HDLC protocol over SCCx serial channel? Thanks! - - David --------------------------- Newsgroups: comp.os.vxworks Subject: Re: clock corruption Date: Wed, 7 Nov 2001 18:21:02 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9sbtrm$j1n$1@uranium.btinternet.com> References: <3BE9357B.5C95906F@icn.siemens.de> > The problem is that 2 out of every 3 attempts fail because the time on > the system controller board gets corrupted and we don't know why. > > The tick counter continues to work correctly, incrementing at 100Hz, but > at some point the clock jumps forward 2 hours, and must be reset to > network time using ntpDate() before the FTP downloads will work. Does the tick count jump? Or is the offset to real time getting stuffed? vxWorks uses a generic priority list for its timers, if you ask for a time that is beyond 2^32 ticks, the tick count is reset to zero. However nothing adjusts the RTC value to match. This usually happens if you call any of the timeout routines with a -ve tick count. (doesn't this one make the clock leap backwards though?) > > I notice that the function used to calculate current time is > clock_gettime() and this function returns 0 when the clock is corrupt. > Does anyone know exactly how this function calculates the current time > based on the tick counter and what might cause this to go wrong?. Dunno - routines like time() are horribly inefficient on vxWorks... David --------------------------- Newsgroups: comp.os.vxworks Subject: Linking all objects from an archive file Date: Wed, 07 Nov 2001 18:39:43 GMT From: Stephane Bellemare Message-ID: <3BE97F9C.A2C41CF6@lsil.com> Hi, Is there an easy way to link all objects from an archive file in a vxWorks image without having to have a reference call to each of these objects in the image project? Thanks, Stephane --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Updating GNU C Compiler Date: Wed, 7 Nov 2001 19:01:46 +0000 From: Mark Durham Message-ID: References: Thanks for the info. I'm in contact with our FAE and requesting v2.1 In article , Johan Borkhuis writes >Mark Durham wrote: > >> Hi, >> >> I've searched the WindSurf area at WRS and cannot find any details on >> how to upgrade the version of GCC that shipped with Tornado 2.0 >> >> Is it just a case of getting the latest NT binaries and libraries for >> GCC and installing them? > >What architecture are you looking for? There is the PPC version from Dave >Korn. >But WindRiver has just started shipping Tornado 2.1, and this includes a >newer version of the compiler, so you should ask your FAE or sales rep for >this. Not all architectures are available however. > >Groeten, > Johan > - -- Hummm. Looks complicated ..... might need a bigger hammer! Mark Durham (mark@rosedene.demon.co.uk) --------------------------- Newsgroups: comp.os.vxworks Subject: Re: clock corruption Date: Wed, 07 Nov 2001 19:28:16 GMT From: Ephraim Gadsby Organization: - minimal Message-ID: <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> References: <3BE9357B.5C95906F@icn.siemens.de> On Wed, 07 Nov 2001 14:22:03 +0100, Ross Staton wrote: > >We have 4 VxWorks targets all trying to download different files via FTP >from the same VxWorks-based system controller at the same time during >startup. > >The problem is that 2 out of every 3 attempts fail because the time on >the system controller board gets corrupted and we don't know why. > >The tick counter continues to work correctly, incrementing at 100Hz, but >at some point the clock jumps forward 2 hours, and must be reset to >network time using ntpDate() before the FTP downloads will work. > >I notice that the function used to calculate current time is >clock_gettime() and this function returns 0 when the clock is corrupt. clock_gettime() returns ERROR (-1) if you didn't give it a sensible set of parameters or OK (0) otherwise. It makes no integrity check on the time. >Does anyone know exactly how this function calculates the current time >based on the tick counter and what might cause this to go wrong?. > It just keeps a reference tick/timespec pair and converts ticks elapsed since the reference point into seconds/nanoseconds elapsed and thus into an absolute timespec (based on 1970). Its in clockLib.c. First, have you established that the tick-count itself doesn't jump? You may have some code that is manipulating vxTicks directly and corrupting it. If not then maybe something is setting the time. You could wrap the appropriate functions to see if anything is calling them (or use breakpoints). If all else fails you could write a function that detects the jump and put it into a context-switch callout. --------------------------- Newsgroups: comp.os.vxworks Subject: Shared Memory Network Error (4e0009) Date: 7 Nov 2001 11:32:35 -0800 From: bprettyman@soneticom.com (Bill Prettyman) Organization: http://groups.google.com/ Message-ID: <9b09b30e.0111071132.7cd367a1@posting.google.com> We are running an application on a MPC750 which uses TCP/IP to send Status Poll messages every 5 seconds to an Artesyn BajaSpan (MPC860) which responds with Status Poll Response messages. After a few hours of normal operation we see a few of the following error on the 750: SmIfStartOutput:smPktSend failed 0x4e0009 Not long after the 750 reports smPktFreeGet [4e0009] errors and eventually the poll messages are not received by the 860. It appears as though SMN has a bug which causes it to develop constipation - filling up its buffers for some unknown reason. Has anyone else encountered this situation? What causes the error 4e0009 (S_smPktLib_INCOMPLETE_BROADCAST)? Any help would be appreciated. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Using dependencies in different dirrectories? Date: 7 Nov 2001 11:44:51 -0800 From: dragonli@yahoo.com (June) Organization: http://groups.google.com/ Message-ID: References: Hi, David, why you change the MACROs? How did you change it? Can you tell me? For the situation you mentioned before, what i did is i include - -Ipath/path into the c/c++ compiler and also i will remove the files which contain the dependencies from the project and then add them back, finally rebuild the dependencies. It works well. But my problem is when i had a large amount of files, i have to remove them one by one first and add them back and then regenerate the dependencies. This is kind of wasting time. I guess you have a good idea? Thanks, June David wrote in message news:... > Pat, > > Thanks for the reply, and sorry I didn't get back to you sooner. > > I had used the include paths you mentioned (-Ipath/path) but it turns > out I also needed to make changes to the MACROs in the project > setting. I had to Create a VPATH variable and give it some parameters > that I don't recall offhand. > > Anyway, thanks. > > David --------------------------- Newsgroups: comp.os.vxworks Subject: RPC server protocol switching? Date: Wed, 7 Nov 2001 11:16:52 -0800 From: Andrew Spiehler Organization: Raytheon Company Message-ID: If I have an RPC server registered as a TCP service and a UDP service, will there be any performance loss incurred when service calls over different protocols are made, or would I get better performance by having two servers, one using UDP and one using TCP? Andrew --------------------------- Newsgroups: comp.os.vxworks Subject: FAQ: Tundra Universe II interrupt example Date: Wed, 07 Nov 2001 15:01:50 -0500 From: Piotr Adam Zolnierczuk Organization: University of Kentucky Message-ID: <3BE9932E.7080006@pa.uky.edu> Hi, does anybody have a working example on how to pass/handle interrupts from a VME device (it's a waveform digitizer) to a PPC running VxWorks? I am a bit frustrated with the Tundra manual. Piotr - -- ________________________________________________________________ Piotr Adam Zolnierczuk Dept. of Physics and Astronomy http://www.pa.uky.edu/~zolnie University of Kentucky phone: (859) 257-8740 Lexington, KY 40506, USA fax: (859) 323-2846 ________________________________________________________________ written on recycled electrons --------------------------- Newsgroups: comp.os.vxworks Subject: Re: rebootAddHook() ??? Date: Wed, 07 Nov 2001 20:05:30 GMT From: dbrya@yahoo.com Organization: http://www.newsranger.com Message-ID: References: In article , Bill Pringlemeir says... > > >Can anyone who has used this function, or anyone with the source tell >me the context that the rebootHooks are called in? Task, interrupt, >interrupts locked, any of the above including none? It would be nice >if something was noted in the docs. > Bill, Actually the reboot() entry reads: "This routine returns control to the boot ROMs after calling a series of preliminary shutdown routines that have been added via rebootHookAdd( ), including routines to reset all network devices. After calling the shutdown routines, interrupts are locked, all caches are cleared, and control is transferred to the boot ROMs. " So clearly interrupts will always be shut down immediately AFTER the hooks run. However, reboot() itself may be called from all contexts. If an exception occurs while in interrupt context, reboot() is run in an interrupt context and may have interrupts locked or have a specific level set. If I type "reboot" in the shell or explicitly call reboot() the routine will run in a task context. (I believe hitting ^X in the shell will call reboot() from the tyLib ISR therefore reboot() runs in interrupt context) So to answer your question: one, many, or all of the above. If you need to know for your hook, use intCount() or intContext() and taskIdSelf() to see if you are in interrupt context or which task you are executing in. Each arch is different, so you will probably have to read the CPU or interrupt controller registers to see if interrupts are locked. By the way, reboot calls happen in the following order: excHooks -> reboot ->rebootHooks-> - ->intLock & cache clear(Invalidate)->sysToMonitor If you want a consistent environment to run some cleanup code, you can always add code to sysToMonitor() in sysLib.c in your BSP. HTH Dave T h e P T R G r o u p, I n c. Embedded, Real-Time Solutions, and Training David Bryan Manager, Embedded Services www.ThePTRGroup.com Dave@ThePTRGroup.com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: write protecting vector table Date: Wed, 7 Nov 2001 18:24:01 -0600 From: "Leland Mills" Organization: Nortel Message-ID: <9scja2$bjc$1@bcarh8ab.ca.nortel.com> References: <3BE2C35F.175A2BC2@europem01.nt.com> <3be3263e$0$78867$e2e8da3@nntp.cts.com> Dan, I noticed your post below. Our product has the hooks in excVecSet that you mention for write protection of the interrupt vector. I've inherited a task right now and I was wondering if you could offer an opinion. Would it also be possible to modify excVecGet such that the vector table could also be read-protected? I don't immediately have the ability to change and recompile the OS code, so I'm not able to experiment readily and verify. As far as I can read, the interrupt processing procedures go to physical memory store 0x00000000 (or 0xFFF00000), and don't pay any attention to what the MMU says about whether a page is accessible. Are there any other gotcha's? Thanks, Leland Mills --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado II under Win2k Date: 7 Nov 2001 17:08:26 -0800 From: seado@21cn.com (Seado) Organization: http://groups.google.com/ Message-ID: References: <9s8n38$5cp$1@wanadoo.fr> <9saqq7$sjr$1@wanadoo.fr> "Choumpili" wrote in message news:<9saqq7$sjr$1@wanadoo.fr>... > That's what I mentionned just before: I already downloaded the patch > spr62517, and sprT2CP3 for Win2K > I also tried with changing the registry value, with no success > > Anyother idea? > Thanks > Choumpili > > > > > Download Windriver's Win2k patch, or change your registry setting. Change > > 'WIND_REGISTRY' from 'localhost' to your machine's TCP/IP address. Package sprT2CP3 should be installed first. I have a Win2K with SP2, installed sprT2CP3 and spr35949 (included in spr62517), everything is ok. --------------------------- Newsgroups: comp.os.vxworks Subject: how to delete a IP address Date: 7 Nov 2001 18:42:53 -0800 From: kevinatnj@yahoo.com.cn (kewin) Organization: http://groups.google.com/ Message-ID: <221caa76.0111071842.52f7f76a@posting.google.com> hi all I have used IfAddrAdd() to add the second IP adrress to one ethernet interface.But something is puzzling me,how can I delete the it.I mean delete the specific IP without affecting the other IP addresses. Any advice will be welcome kevin --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Max #of END objects connected to the MUX? Date: Thu, 8 Nov 2001 04:30:08 +0100 From: snacjj@sbell.com.cn Organization: Telefonica Transmision de Datos Message-ID: <3BE9FC40.000035.23568@nexusnet2.accio.com> References: Hi, you can change it in the file ConfigNet.h=0D =0D there are lines =0D #ifndef IP_MAX_UNITS=0D # define IP_MAX_UNITS (NELEMENTS (endDevTbl) - 1)=0D #endif=0D =0D change them as you need.=0D =0D >Hello,=0D >=0D >I am wondering if anybody knows what the maximum number of END objects=0D >that can be attached to the MUX is? If there is a set limit, is there=0D >someplace where a user can change it?=0D >=0D >Thanks,=0D >=0D >Jason=0D >=0D =0D <<<<>>>>=0D Mensaje publicado mediante http://noticias.ipbusiness.com,=0D las news a trav=E9s de web.=0D --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Linking all objects from an archive file Date: 7 Nov 2001 20:46:29 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111072046.2959a1d@posting.google.com> References: <3BE97F9C.A2C41CF6@lsil.com> Hello, If you really want to do this, and I am not sure that it is a wise idea, the solution is to link them into a single .o file and add that to your system. So, use ar x to extract all the .o files from the archive, then use ld -r -o allLibs.o *.o to link them all together. Finally, if you build from a BSP, use MACH_EXTRA to add the .o to your vxWorks build. If you use the IDE, I'm sure that there will be a way there to add a .o file to the system too. HTH, John... Stephane Bellemare wrote in message news:<3BE97F9C.A2C41CF6@lsil.com>... > Hi, > > Is there an easy way to link all objects from an archive file in a > vxWorks image without having to have a reference call to each of these > objects in the image project? > > > Thanks, > > Stephane --------------------------- Newsgroups: comp.os.vxworks Subject: Solaris shared memory error Date: Thu, 08 Nov 2001 15:54:18 +1000 From: Graham Crawford Organization: Distributed Systems Technology CRC Message-ID: <3BEA1E0A.F1A99FF9@dstc.qut.edu.au> Hi, I get the following error when I try and start certain Tornado applications on SPARC Solaris 2.8 gma_init_shm->shmget1: No space left on device In particular the MWColorMgr gives this as well as the Launcher Project application and the SETUP installer from the CDROM. This message seems to indicate that the shmmax kernel setting should be increased. Has anyone seen this or managed to correct the problem ? - --- Graham Crawford DSTC --------------------------- Newsgroups: comp.os.vxworks Subject: Re: 860 SCC Driver Date: Wed, 7 Nov 2001 23:19:12 -0800 From: "Greg FitzJohn" Message-ID: <3bea3208$0$9333$724ebb72@reader2.ash.ops.us.uu.net> References: <3BD9386E.B9F4771C@baesystems.com> <3BDD758C.94CABE1D@baesystems.com> <3BE14C8B.64CADA1A@baesystems.com> Hi guys, I just finished writing a QMC HDLC (TDM mode) driver for the MPC855T and now in the middle of debugging it. Can either of you explain what the CDP / CTSP / CDS / CTSS signals are needed for in non-NMSI (TDM) mode? I had to set these in the gsmr_h register to get data out of the chip onto our TDM bus. When using internal loopback everything is fine. Our h/w does not use these signals, I think they're just connected to pull-up resistors. I have the Port C PIO pins set as general I/O. Any help would be greatly appreciated. Thanks, Greg FitzJohn Vertical Networks 408-522-7106 Diego Serafin wrote in message news:BbwF7.13034$xS6.16386@www.newsranger.com... > In article <3BE14C8B.64CADA1A@baesystems.com>, Paul Caswell says... > > > >Hi Diego, > >Thanks for the offer of help on the vxWorks newsgroup - its a shame > >you're > >not allowed to give away your efforts although I'm sure the same would > >apply > >to me. Perhaps you let me know if the following approach is sensible: > > > >The problem: > >We are building a communications card that will interface to a legacy > >comms > >network. The network operates at 16 Kbps for signalling and traffic (32 > > > >channels, 0 is framing, 1 is signalling). The low level 'physical' and > >'level 2' interface is done in an FPGA in hardware. The FPGA provides > >the > >signalling (at a max of 16K) into one of the SCCs (probable SCC2). This > >signalling will be used to drive a stack for call state control etc. > > > >My Proposed solution. > >I was going to create a driver (based on ppc860Sio.c) for the SCC and > >then > >add it as a serial device to the system. I was going to setup the SCC > >params in sysSerial.c (similar to the standard serial interface setup > >using > >an SMC) The SCC is then added as a serial device by ttyDevCreate in > >usrSerial.c. This would give me a file descriptor to interface to the > >SCC > >from vxWorks. > > > >We will have two trunks on our board, the above method would allow my > >application to use select() to wait for data on either SCC. As the data > > > >rates are slow (and not continuous) I think this should work. What do > >you > >think ? > > > >Regards > > > >Paul Caswell > > > > I think it should work. The system I'm working on is quite different and I had > to use TDM and > QMC (QUICC Multi Channel) with many hi-speed channels producing a large amount > of > data. I could not use the "standard driver" approach for performance > constraints. > > I can only suggest you to pay attention to buffers and buffer descriptors > allocation: it's > better to put them in internal dual port RAM to reduce external bus cycles but > you have > to be careful not to "overlap" other buffer (I did ... with a DMA buffer > allocated in another > module). I used SCCs as UART (NMSI mode, non-TDM) for WDB and for a target shell > > connection to a dumb terminal. > In this case I put all buffer stuff in sysSerial.c (sysSerialHwInit) together > with I/O > ports setup and interrupt connection (sysSerialHwInit2). I left SCCMx, CIMR, > PSMRx, > DSRx, GSMR_Hx and GSMR_Lx setup to a specific SCCx setup function I call as > first when I enter sysSerialHwInit(...). It should run without problems in > TRANSPARENT > mode too, but I did not try it. > > HTH,Ciao, > Diego. > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Solaris shared memory error Date: Thu, 8 Nov 2001 09:38:09 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <3BEA1E0A.F1A99FF9@dstc.qut.edu.au> The problem is clearly pointing at the MainSoft's MainWin middleware, which emulates Win32 on Unix. Yes, parts of Tornado on Solaris are in fact Windoze apps which where compiled with this middleware. I searched MainSoft's web site but found no mention of either Solaris 2.8 or the Semaphore specific error you quote. Sorry, Leonid "Graham Crawford" wrote in message news:3BEA1E0A.F1A99FF9@dstc.qut.edu.au... > Hi, > > I get the following error when I try and start certain Tornado > applications on > SPARC Solaris 2.8 > > gma_init_shm->shmget1: No space left on device > > In particular the MWColorMgr gives this as well as the Launcher > Project application and the SETUP installer from the CDROM. This > message seems to indicate that the shmmax kernel setting should be > increased. > > Has anyone seen this or managed to correct the problem ? > > --- > Graham Crawford > DSTC --------------------------- Newsgroups: comp.os.vxworks Subject: tornado and windows 2000 Date: Thu, 8 Nov 2001 09:45:54 +0100 From: "Bertram Tenner" Message-ID: <3bea46b3$0$188$4d4ebb8e@read.news.de.uu.net> trying to install the Tornado 2.0 software under windows 2000 I get only the uninstall shortcut in the tornado program group. What can I do ? Thanks for help Bertram --------------------------- Newsgroups: comp.os.vxworks Subject: How to attach a signal to a pipe Date: 8 Nov 2001 00:48:01 -0800 From: levernb@thmulti.com (Bertrand Le Vern) Organization: http://groups.google.com/ Message-ID: <375108d6.0111080048.3addfbea@posting.google.com> I trying to find a way to attach a signal to a pipe. A process writes datas into a pipe and the process at the other end of the pipe, in a sleeping mode, is awaken by the signal. This behaviour is possible with 0S9 and Linux (using IOCTL), and i'm trying to find a similar behaviour with VxWorks, without using select() or poll() functions equivalencies. If you have any hints, i'm interrested in. Thanx in advance Bertrand --------------------------- Newsgroups: comp.os.vxworks Subject: Re: write protecting vector table Date: Thu, 08 Nov 2001 10:46:54 +0100 From: "Fauris, Sebastien" Organization: Nortel Networks Message-ID: <3BEA548E.259F74C6@europem01.nt.com> References: <3BE2C35F.175A2BC2@europem01.nt.com> <3be3263e$0$78867$e2e8da3@nntp.cts.com> <9scja2$bjc$1@bcarh8ab.ca.nortel.com> It is working fine now. I just needed to add a hook to all vxWorks routines performing a modification of the vector table; they are in the file excArchLib.c (routines excConnect, excIntConnect, excCrtConnect, excIntCrtConnect, excIntConnectTimer, excVecSet). The hook is set up to call my routine to write protect/unprotect the vector table on the fly. However, I notice that the system is sensibly slow down. For information, the vmBaseStateSet routine does not work on MPC860 but we got a patch from Wind River. Sebastien. --------------------------- Newsgroups: comp.os.vxworks Subject: "tSnmpd" exception Date: 8 Nov 2001 03:45:00 -0800 From: cwnam@korealink.ne.kr (changwoo) Organization: http://groups.google.com/ Message-ID: <3d64ee1a.0111080345.22801b4d@posting.google.com> To all related in developing system using tornado. while running tSnmpd in vxWorks, Exception was happened but I couldn't figure out what is the reason. the message is like this : Implementation Dependent Software Emulation Exception current instruction address : 0x00000000 Machine Status Register 0x00009002 Condition register : 0x22000028 task : 0x1ec07c8 "tSnmpd" Please help me out this problem. Any comment is appricieated --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Thu Nov 8 05:17:29 2001 From: "Baron, Ken" Date: Thu Nov 8 05:17:31 PST 2001 Subject: RE: Inconsistent Machine Check Exception Handling with VxWorks 1. 01 o If you look into the machine check exception on the PowerPC you will find that this exception may not be recoverable. There is no hardware interrupt stack on the PowerPC. When an interrupt or exception occurs, the machine state is saved in SRR0 and SRR1. If a machine check exception occurs near the beginning of another interrupt, before SRR0 and SRR1 are saved, then the machine check (which is unmaskable) causes SRR0 and SRR1 to be overwritten and thus you cannot recover. As far as I know, VxWorks does not distinguish between the recoverable and non-recoverable machine checks. I protect all my possibly-machine-check-causing code by disabling interrupts or using vxMemProbe. > Submitted-by vxwexplo-errs@csg.lbl.gov Wed Nov 7 13:43:53 2001 > Submitted-by: "Smith, Mike" > > Hi Everyone, > > Has anyone experienced inconsistent "machine check" exception handling? > I'm > using VxWorks 1.01 on a DY-4 SVME179 target with a PowerPC 750 CPU. I've > developed an exception handler in C that advances the exception-causing > task > to its next instruction instead of suspending the task as done by the > default exception handler. I connect this handler to the machine check > exception vector using excVecSet. I can easily generate machine check > exceptions by reading an unpopulated VME address. Following successful > handling of 2-7 consecutive machine checks, the host-to-target > communication > links (ethernet and serial) crash on the last exception and I lose all > contact with the target. I think my exception handler is o.k., because my > handler works fine for several machine check exceptions before crashing. > However, maybe there's something flaky about recovering from machine check > exceptions that you may know about. Other types of exceptions (i.e., data > access and alignment) are consistently handled correctly by my handler. > > Thanks for your help in advance, > Mike > From vxwexplo-errs@csg.lbl.gov Thu Nov 8 07:17:35 2001 From: "Smith, Mike" Date: Thu Nov 8 07:17:37 PST 2001 Subject: RE: Inconsistent Machine Check Exception Handling with VxWorks 1. Thanks Ken, I think you've hit the nail on the head. After closely examining VxMemProbe I've found that it does disable interrupts during the probe -- probably to avoid the very problem you mention. Unfortunately, I can't do that for a resident exception handler in a system that is using interrupts, so I'll have to rethink my design. Thanks again, Mike -----Original Message----- From: Baron, Ken [mailto:ken.baron@baesystems.com] Sent: Thursday, November 08, 2001 8:17 AM To: vxwexplo@lbl.gov Cc: Mike_Smith@littonas.com Subject: RE: Inconsistent Machine Check Exception Handling with VxWorks 1. 01 o If you look into the machine check exception on the PowerPC you will find that this exception may not be recoverable. There is no hardware interrupt stack on the PowerPC. When an interrupt or exception occurs, the machine state is saved in SRR0 and SRR1. If a machine check exception occurs near the beginning of another interrupt, before SRR0 and SRR1 are saved, then the machine check (which is unmaskable) causes SRR0 and SRR1 to be overwritten and thus you cannot recover. As far as I know, VxWorks does not distinguish between the recoverable and non-recoverable machine checks. I protect all my possibly-machine-check-causing code by disabling interrupts or using vxMemProbe. > Submitted-by vxwexplo-errs@csg.lbl.gov Wed Nov 7 13:43:53 2001 > Submitted-by: "Smith, Mike" > > Hi Everyone, > > Has anyone experienced inconsistent "machine check" exception handling? > I'm > using VxWorks 1.01 on a DY-4 SVME179 target with a PowerPC 750 CPU. I've > developed an exception handler in C that advances the exception-causing > task > to its next instruction instead of suspending the task as done by the > default exception handler. I connect this handler to the machine check > exception vector using excVecSet. I can easily generate machine check > exceptions by reading an unpopulated VME address. Following successful > handling of 2-7 consecutive machine checks, the host-to-target > communication > links (ethernet and serial) crash on the last exception and I lose all > contact with the target. I think my exception handler is o.k., because my > handler works fine for several machine check exceptions before crashing. > However, maybe there's something flaky about recovering from machine check > exceptions that you may know about. Other types of exceptions (i.e., data > access and alignment) are consistently handled correctly by my handler. > > Thanks for your help in advance, > Mike > From vxwexplo-errs@csg.lbl.gov Thu Nov 8 10:10:34 2001 From: Girish Desai Date: Thu Nov 8 10:10:36 PST 2001 Subject: good web sites or books Hello, I am working in embedded software for past six years with various microprocessor and controllers. But I never had exposure to VxWorks. I want to gain exposure in BSP and VxWorks device driver. I also want get some practical experience. Can anybody suggest me some good web site or books? Currently, I am going thro' VxWorks BSP manuals..But I feel, much more to learn. I would appreciate if you could provide some good source of these... Thanks, Girish ------------------------------------------- The Fastest Browser on Earth now for FREE!! Download Opera 5 for Windows now! Get it at http://www.opera.com/download/ ------------------------------------------- From vxwexplo-errs@csg.lbl.gov Thu Nov 8 10:12:43 2001 From: Girish Desai Date: Thu Nov 8 10:12:45 PST 2001 Subject: good web sites or books Hello, I am working in embedded software for past six years with various microprocessor and controllers. But I never had exposure to VxWorks. I want to gain exposure in BSP and VxWorks device driver. I also want get some practical experience. Can anybody suggest me some good web site or books? Currently, I am going thro' VxWorks BSP manuals..But I feel, much more to learn. I would appreciate if you could provide some good source of these... Thanks, Girish ------------------------------------------- The Fastest Browser on Earth now for FREE!! Download Opera 5 for Windows now! Get it at http://www.opera.com/download/ ------------------------------------------- From vxwexplo-errs@csg.lbl.gov Thu Nov 8 13:14:20 2001 From: "Ramkumar Sripathi" Date: Thu Nov 8 13:14:22 PST 2001 Subject: streams on vxworks Hi all, this is a specific question to users of streams on vxworks. We use streams code distributed by wrs on tornando 2 and vxworks 5.4. We have many task running over vxworks and a controlling host running some applications on a sun station. The application on hte sun communicate to the tasks on the vxworks thro an ethernet interface and streams fo message deivery to the the tasks. This is a little background. Everything works well if there is very minimal traffic between the two hosts. But if we keep the vxworks host busy with a lot of requests we see the task dying. The death seems to be in the streams area. After a lot of debugging we found that the the stream head pointer contained for that particular OSR structure is nulled out and hence the task dies du to a address load exception. This does not happen right out of the gate, it happens after hours (7-10 ) of operation. My questions to the group are 1. Have anyone of you seen this problem and is there a workaround or fix? (we've put in a number of fixes to handle a lot of error conditions but this still happens). Please don't question the streams implementation as this is some legacy code. thanks in advance for your replies. -Ramkumar _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp From vxwexplo-errs@csg.lbl.gov Thu Nov 8 14:13:03 2001 From: "Ramkumar Sripathi" Date: Thu Nov 8 14:13:05 PST 2001 Subject: streams on vxWorks Hi all, this is a specific question to users of streams on vxworks. We use streams code distributed by wrs on tornando 2 and vxworks 5.4. We have many task running over vxworks and a controlling host running some applications on a sun station. The application on hte sun communicate to the tasks on the vxworks thro an ethernet interface and streams fo message deivery to the the tasks. This is a little background. Everything works well if there is very minimal traffic between the two hosts. But if we keep the vxworks host busy with a lot of requests we see the task dying. The death seems to be in the streams area. After a lot of debugging we found that the the stream head pointer contained for that particular OSR structure is nulled out and hence the task dies du to a address load exception. This does not happen right out of the gate, it happens after hours (7-10 ) of operation. My questions to the group are 1. Have anyone of you seen this problem and is there a workaround or fix? (we've put in a number of fixes to handle a lot of error conditions but this still happens). Please don't question the streams implementation as this is some legacy code. thanks in advance for your replies. -Ramkumar _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp From vxwexplo-errs@csg.lbl.gov Thu Nov 8 14:31:25 2001 From: Ramkumar Sripathi Date: Thu Nov 8 14:31:28 PST 2001 Subject: streams on vxWorks] Ramkumar Sripathi wrote: > > Hi all, > > this is a specific question to users of streams on vxworks. We use streams > code distributed by wrs on tornando 2 and vxworks 5.4. > > We have many task running over vxworks and a controlling host running some > applications on a sun station. The application on hte sun communicate to the > tasks on the vxworks thro an ethernet interface and streams fo message > deivery to the the tasks. This is a little background. > > Everything works well if there is very minimal traffic between the two > hosts. But if we keep the vxworks host busy with a lot of requests we see > the task dying. The death seems to be in the streams area. After a lot of > debugging we found that the the stream head pointer contained for that > particular OSR structure is nulled out and hence the task dies du to a > address load exception. This does not happen right out of the gate, it > happens after hours (7-10 ) of operation. > > My questions to the group are > 1. Have anyone of you seen this problem and is there a workaround or fix? > (we've put in a number of fixes to handle a lot of error conditions but this > still happens). > > Please don't question the streams implementation as this is some legacy > code. > > thanks in advance for your replies. > > -Ramkumar > > _________________________________________________________________ > Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp From vxwexplo-errs@csg.lbl.gov Thu Nov 8 21:34:30 2001 From: Rashmi Topno Date: Thu Nov 8 21:34:33 PST 2001 Subject: Re: good web sites or books Hi Girish, Nice choice. Now a days as the embedded is also moving towards RTOS, it is a wise decision to know more about it. Well, you can download the prototype from web and along with that u get all the manuals. U can start looking into the facility that vxWorks provide. To gain practical knowledge, of course u need to work on that. Even BSPs, u cant generalize that. Suggestion will be, take the BSP for a particular board along with the board architecture manual. Regards Rashmi --- the vxWorks Users Group Exploder wrote: > Submitted-by vxwexplo-errs@csg.lbl.gov Thu Nov 8 > 10:12:43 2001 > Submitted-by: Girish Desai > > Hello, > > I am working in embedded software for past six years > with various > microprocessor and controllers. But I never had > exposure to VxWorks. I want to > gain exposure in BSP and VxWorks device driver. I > also want get some practical > experience. Can anybody suggest me some good web > site or books? Currently, I > am going thro' VxWorks BSP manuals..But I feel, much > more to learn. > > I would appreciate if you could provide some good > source of these... > > Thanks, > Girish > > ------------------------------------------- > The Fastest Browser on Earth now for FREE!! > Download Opera 5 for Windows now! Get it at > http://www.opera.com/download/ > ------------------------------------------- > > > ********** > > This is a user group mailing list for vxWorks > related topics > see http://www-vxw.lbl.gov/vxworks for posting > and subscription info __________________________________________________ Do You Yahoo!? Find a job, post your resume. http://careers.yahoo.com From vxwexplo-errs@csg.lbl.gov Thu Nov 8 21:40:46 2001 From: "hnzzzms" Date: Thu Nov 8 21:40:48 PST 2001 Subject: VxWorks Exploder This is a multi-part message in MIME format. ------=_NextPart_000_001C_01C16923.D38D28E0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 DQo= ------=_NextPart_000_001C_01C16923.D38D28E0 Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: base64 PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4NCjxIVE1MPjxIRUFEPg0KPE1FVEEgaHR0cC1lcXVpdj1Db250ZW50LVR5cGUgY29udGVu dD0idGV4dC9odG1sOyBjaGFyc2V0PWdiMjMxMiI+DQo8TUVUQSBjb250ZW50PSJNU0hUTUwgNi4w MC4yNjAwLjAiIG5hbWU9R0VORVJBVE9SPg0KPFNUWUxFPjwvU1RZTEU+DQo8L0hFQUQ+DQo8Qk9E WSBiZ0NvbG9yPSNmZmZmZmY+DQo8RElWPiZuYnNwOzwvRElWPjwvQk9EWT48L0hUTUw+DQo= ------=_NextPart_000_001C_01C16923.D38D28E0-- From vxwexplo-errs@csg.lbl.gov Fri Nov 9 04:03:18 2001 From: Vxworks Exploder Date: Fri Nov 9 04:03:21 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Fri Nov 9 04:03:14 PST 2001 Subject: Tornado C/C++ Compiler Properties Subject: Re: "tSnmpd" exception Subject: Booting MV5100 with Motorola PPCbug firmware? Subject: Missing license file for simulator (Tornado Prototyper evaluation) Subject: booting and subnet Subject: Re: TFFS support for SIMM using Intel StartaFlash 28F640J3A chips Subject: Re: PPP & Simulator Subject: Re: 802.1d/p/q shims and IP_TOS bits Subject: Re: Tornado C/C++ Compiler Properties Subject: Re: Solaris shared memory error Subject: Re: clock corruption Subject: Re: 860 SCC Driver Subject: Re: rpc timed out Subject: Re: Solaris shared memory error Subject: Compact Flash. Subject: Re: Booting MV5100 with Motorola PPCbug firmware? Subject: FIOFLUSH and dcacheCbio (DOSFS2] Subject: Re: problems with printf() Subject: Re: text,data,bss addresses and lengths Subject: Re: loadModule and task error Subject: Re: FIOFLUSH and dcacheCbio (DOSFS2] Subject: traceroute for vxworks Subject: Re: Updating GNU C Compiler Subject: Re: Tornado C/C++ Compiler Properties Subject: usb development Subject: Re: clock corruption Subject: Re: clock corruption Subject: CDF Files (Tornado 2.0) Subject: Re: Updating GNU C Compiler Subject: Re: Booting MV5100 with Motorola PPCbug firmware? Subject: target server and windows 2000 ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Tornado C/C++ Compiler Properties Date: Thu, 8 Nov 2001 13:30:01 +0100 From: "Reto Drack" Organization: Swisscom IP+ (post doesn't reflect views of Swisscom) Message-ID: <9sdtsq$drm$1@rex.ip-plus.net> Hello Tornado II: Is it possible to use a NT system variable within an inlude path in the C/C++ Compiler properties? something like this: -I$(PRG_BASE)/subdir, when PRG_BASE is a Windows NT system variable. Regards Reto --------------------------- Newsgroups: comp.os.vxworks Subject: Re: "tSnmpd" exception Date: Thu, 08 Nov 2001 14:22:48 +0100 From: "Sebastien Fauris [BOIS:0000:EXCH]" Organization: Nortel Networks Message-ID: <3BEA8728.DE25CB88@europem01.nt.com> References: <3d64ee1a.0111080345.22801b4d@posting.google.com> Reply-To: sfauris@europem01.nt.com changwoo wrote: > > To all related in developing system using tornado. > > while running tSnmpd in vxWorks, Exception was happened but I couldn't > figure out what is the reason. the message is like this : > > Implementation Dependent Software Emulation > Exception current instruction address : 0x00000000 > Machine Status Register 0x00009002 > Condition register : 0x22000028 > task : 0x1ec07c8 "tSnmpd" > > Please help me out this problem. Any comment is appricieated The 'Implementation Dependent Software Emulation' interrupt makes me think that you are trying to execute some PowerPC instructions not supported by your current processor (non-implemented register, non-implemented instruction, ...). This already happened to me while executing some PPC603 instructions not supported on a PPC860. Sebastien. --------------------------- Newsgroups: comp.os.vxworks Subject: Booting MV5100 with Motorola PPCbug firmware? Date: 8 Nov 2001 06:19:19 -0800 From: heller@core.com (Mark Heller) Organization: http://groups.google.com/ Message-ID: Hello all, Has anyone successfully used the PPCbug firmware to load and run the Vxworks boot rom on a Motorola MV5100? I noticed there is a #define in the config.h file for INCLUDE_MOT_BUG_ROM, but it doesn't look like it will work. The romInit.s code disables ram during the setup of the hawk chip, which would make it difficult to run the boot rom code from ram. I'm using Tornado 2.1 and the Wind River version of the MV5100 BSP. Thanks in advance - -Mark --------------------------- Newsgroups: comp.os.vxworks Subject: Missing license file for simulator (Tornado Prototyper evaluation) Date: Thu, 8 Nov 2001 15:41:47 +0100 From: "Werner Hülsmeier" Message-ID: <9se5k0$13cl1h$1@ID-92382.news.dfncis.de> Hi, I'm a newbie and downloaded the Tornado Prototyper evaluation. The setup went pretty well and also the first build as shown in the documentation. The problem came with the buildin simulator. The Log Console detected a missing license file. Does anybody have this problem as well? Greetings Werner --------------------------- Newsgroups: comp.os.vxworks Subject: booting and subnet Date: Thu, 08 Nov 2001 09:11:58 -0600 From: Dinker Charak Organization: Fermi National Accelerator Laboratory Message-ID: <3BEAA0BE.92C1C6AB@fnal.gov> Hello, When I give the IP of target (e) as xx.xx.xx.xx in boot parameters, the kernel loads and starts but kernel is unable to load the symbol table. i get 0x41 (S_errno_EHOSTUNREACH). but when I give the IP of target (e) as xx.xx.xx.xx:xxxxxxxx (with the subnet mask) it is able to boot and load the kernel too ... i am trying to understand why? in the first case it uses broadcast to get the hardware address and hence able to get the network address and load the kernel. this happens in bootConfig.c (search for icmpMaskGet and the if (netmask == 0) line above is where it does this). And when loading the symbol table, the kernel has started and if it does not find a subnet mask it hangs. as if a similar if (netmask == 0) { icmpMaskGet() } is missing in there. can anyone help me understand why it is failing like this? any comment, pointer or doc would be helpful ... regards, dinker - -- Computing Division/Online and Database Systems 630-840-8604 (office) Fermi National Accelerator Laboratory http://www.fnal.gov http://home.fnal.gov/~dinker --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TFFS support for SIMM using Intel StartaFlash 28F640J3A chips Date: Thu, 8 Nov 2001 17:19:57 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <6d6a076a.0111011226.84742a3@posting.google.com> > 2) DosFs seems to issue writes to a CBIO, even when the applications has > not called the write function of the DosFs driver. My guess is that > this is something in FAT etc. This seems to occur when the application > reads. Do you know what this is? Even with wear leveling, this isn't > good. Reads are frequent on my system. What you are seeing is probably updates to the file's "last accessed" time field in its directory entry. This may sound silly, but DosFs 2.0 does try to keep all file time fields as precise as it can. I remember that I had doubts about this particular one, specifically for Flash media, updating the access time may be less important then saving Flash life span, so there was an option to turn these file time updates off. Alas, I do not remember of the top off the top of my bold head how this option is turned. Let me know if this matters, I'll scratch my head for a while ... and perhaps it'll come back to me ;-) - - Leonid --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PPP & Simulator Date: Thu, 08 Nov 2001 11:30:21 -0500 From: "Macleod, Randy [CAR:CW31:EXCH]" Organization: Nortel Networks Message-ID: <3BEAB31D.AC30CDA0@americasm01.nt.com> References: This is a multi-part message in MIME format. - --------------327F0D356DDAC61B114E926C Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi, The endless loop maybe caused by incorrect permissions on the /tmp/.asppp.fifo special file. It needs to be rw by all. Add a few lines to your /etc/init.d/asppp script to reset the permissions whenever asppp is started/restarted. Note the version of asppp is different between Solaris 5.6 and 5.8. I've attached a slightly modified version of /etc/init.d/asppp - unsupported of course. ;-) // Randy MacLeod Miki Zilbershtein wrote: > > Dear Group members > > I have problem with Simulator and it seems like it is PPP problem. > I have built a customized simulator on > Solaris 5.8 with Tornado 2.0.2 VxWorks 5.4 including network stack. > When I started the Simulator I am getting endless loop saying: > > sysToMonitor: restarting. > s_fdint: u_ioctl TIOCSPGRP > s_fdint: u_ioctl I_SETSIG - 0 > sysToMonitor: restarting. > s_fdint: u_ioctl TIOCSPGRP > s_fdint: u_ioctl I_SETSIG - 0 > > My PPP configuration is > ifconfig ipd0 plumb 177.29.1.13 127.0.1.0 up private netmask > 0xffffff00 > > Can anyone help me? How can I check if my PPP is working correctly or not? > > Thanks in advanced, > Miki - -- - - - - - The axis of the universe is irony. - - - - - You are lost in a twisty maze of little standards, all different. - --------------327F0D356DDAC61B114E926C Content-Type: text/plain; charset=us-ascii; name="asppp-sol8" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="asppp-sol8" #!/sbin/sh # # Copyright (c) 1993, 1997 by Sun Microsystems, Inc. # All rights reserved. # #ident "@(#)asppp 1.18 98/01/28 SMI" PATH=/sbin:/usr/bin:/usr/sbin; export PATH case "$1" in 'start') if [ -f /etc/asppp.cf ]; then # If the configuration file is empty (consists of lines which # contain only blanks, or have a leading '#') then exit egrep -v '^[ ]*(#|$)' /etc/asppp.cf >/dev/null 2>&1 || exit 0 # Check for required files for file in /usr/sbin/aspppd /usr/sbin/aspppls; do [ -f $file ] && continue echo "$0: Asynchronous PPP has been installed but" echo "not configured correctly" echo "$0: $file not found" echo "$0: Please refer to the PPP documentation" exit 1 done # Execute the ifconfig lines nawk '/^[ \t]*ifconfig/ { system($0) }' < /etc/asppp.cf # Start the aspppd daemon /usr/sbin/aspppd -d 1 || \ echo "aspppd not started, see /var/adm/log/asppp.log" # Make the ppp pipe read/write by all chmod a+rw /tmp/.asppp.fifo # Start the asppp watchdog id=`ps -e | grep "aspppd$" | awk '{print $1}'` /usr/sbin/aspppd.watch $id & fi ;; 'restart') # Restart a dead aspppd if test -f /etc/asppp.cf then /usr/sbin/aspppd -d 1 if [ $? -ne 0 ]; then echo "aspppd not started, see /var/adm/log/asppp.log" fi # Make the ppp pipe read/write by all chmod a+rw /tmp/.asppp.fifo id=`ps -e | grep "aspppd$" | awk '{print $1}'` /usr/sbin/aspppd.watch $id & fi ;; 'stop') if [ -f /etc/asppp.cf ]; then # Stop the aspppd daemon if it's running /usr/bin/pkill -x -u 0 aspppd # Use ifconfig to make the interfaces down just in case nawk '/^[ \t]*ifconfig/ { \ system("ifconfig " $2 " down"); \ system("ifconfig " $2 " unplumb") }' < /etc/asppp.cf fi ;; *) echo "Usage: $0 { start | stop }" exit 1 ;; esac exit 0 - --------------327F0D356DDAC61B114E926C-- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: 802.1d/p/q shims and IP_TOS bits Date: 8 Nov 2001 17:07:59 GMT From: Troy Cauble Organization: Bell Labs, Holmdel, NJ, USA Message-ID: <9see5f$n8k@nntpb.cb.lucent.com> References: <9s94av$8un@nntpb.cb.lucent.com> Leonid Rosenboim wrote: : It's quite easy to set IP TOS with setsockoption(), find somewhere : a Unix example and follow it to the letter. I already had that code, but ifdef'd out for VxWorks. I was under the impression that setsockopt() was broken for IP_TOS. A quick test shows that that is wrong! Thanks, - -troy --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado C/C++ Compiler Properties Date: Thu, 8 Nov 2001 16:59:17 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <9sdtsq$drm$1@rex.ip-plus.net> Reto Drack wrote in message <9sdtsq$drm$1@rex.ip-plus.net>... >Hello > >Tornado II: Is it possible to use a NT system variable within an inlude path >in the C/C++ Compiler properties? >something like this: -I$(PRG_BASE)/subdir, when PRG_BASE is a Windows NT >system variable. > >Regards > >Reto Absolutely. We make great use of including $(USERNAME) in makefiles so that the executable gets sent to the network home directory of whoever happens to be doing the compile. Note that if you wanted to use them directly on a command line rather than in a makefile (which is where the properties set in the T2 gui end up) you might need to use %VARIABLE% instead of $(VARIABLE). Or $(VARIABLE) might work anyway: you'd have to try it and see. DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Solaris shared memory error Date: Thu, 8 Nov 2001 17:02:31 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <3BEA1E0A.F1A99FF9@dstc.qut.edu.au> Leonid Rosenboim wrote in message ... >The problem is clearly pointing at the MainSoft's MainWin >middleware, which emulates Win32 on Unix. >Yes, parts of Tornado on Solaris are in fact Windoze apps >which where compiled with this middleware. That's pretty damn funny considering that parts of Tornado on Windoze are in fact Unix apps which were compiled with the cygwin middleware. I wonder if we could run the windoze apps under the emulator under cygwin, so as to run Solaris tornado on a pc? DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: clock corruption Date: Thu, 8 Nov 2001 17:20:41 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> Ephraim Gadsby wrote in message <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com>... >On Wed, 07 Nov 2001 14:22:03 +0100, Ross Staton > wrote: > >> >>We have 4 VxWorks targets all trying to download different files via FTP >>from the same VxWorks-based system controller at the same time during >>startup. >> >>The problem is that 2 out of every 3 attempts fail because the time on >>the system controller board gets corrupted and we don't know why. >> >>The tick counter continues to work correctly, incrementing at 100Hz, but >>at some point the clock jumps forward 2 hours, and must be reset to >>network time using ntpDate() before the FTP downloads will work. Does it re-sync itself if you leave it for an amount of time approximately equal to (time when the posix clock was inited minus time when system was booted) ? If so, it's probably the OS bug that I describe below. >>I notice that the function used to calculate current time is >>clock_gettime() and this function returns 0 when the clock is corrupt. > >clock_gettime() returns ERROR (-1) if you didn't give it a sensible >set of parameters or OK (0) otherwise. It makes no integrity check on >the time. > > >>Does anyone know exactly how this function calculates the current time >>based on the tick counter and what might cause this to go wrong?. >> > >It just keeps a reference tick/timespec pair and converts ticks >elapsed since the reference point into seconds/nanoseconds elapsed and >thus into an absolute timespec (based on 1970). Its in clockLib.c. Yep, it records the system tick count at the time the clock is inited and uses that as the t=0 reference point. >First, have you established that the tick-count itself doesn't jump? It almost certainly does. >You may have some code that is manipulating vxTicks directly and >corrupting it. He does. It's called "The vxworks kernel". Anytime you set a delay - and this goes for timeouts too - that, when added to the vxTicks variable, would cause it to wrap round, the OS sets vxTicks back to zero and sets the delay timer to (zero plus delay length), rather than setting the delay timer to (current ticks + delay length) as it would otherwise do. So far so good, but it doesn't update the reference ticks in the posix clocks in clockLib, all of which are the value of vxTicks recorded when the clock was initialised. Hence vxTicks is less than the zero-reference time and the calculations go wrong. I observed this behaviour to occur any time I tried to do large (~ 1MB) reads or writes from a SCSI bus; presumably there is a timeout in the scsi library that was long enough to trigger this effect, and presumably there are other timeouts elsewhere in the kernel that can cause it too. The fix is to get WRS to give you the source code for clockLib and replace 'vxTicks' with 'vxAbsTicks' throughout. >If all else fails you could write a function that detects the jump and >put it into a context-switch callout. And if you happen to be using a ppc-based platform, check if your CPU implements the DABR, one of the single most useful registers ever placed in any cpu by any designer ever... DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: 860 SCC Driver Date: Thu, 08 Nov 2001 17:35:02 GMT From: Diego Serafin Organization: http://www.newsranger.com Message-ID: References: <3BD9386E.B9F4771C@baesystems.com> <3BDD758C.94CABE1D@baesystems.com> <3BE14C8B.64CADA1A@baesystems.com> <3bea3208$0$9333$724ebb72@reader2.ash.ops.us.uu.net> In article <3bea3208$0$9333$724ebb72@reader2.ash.ops.us.uu.net>, Greg FitzJohn says... > >Hi guys, I just finished writing a QMC HDLC (TDM mode) driver for the >MPC855T and now in the middle of debugging it. Can either of you explain >what the CDP / CTSP / CDS / CTSS signals are needed for in non-NMSI (TDM) >mode? I had to set these in the gsmr_h register to get data out of the chip >onto our TDM bus. When using internal loopback everything is fine. Our h/w >does not use these signals, I think they're just connected to pull-up >resistors. I have the Port C PIO pins set as general I/O. Any help would >be greatly appreciated. When you use TDM SCC are connected internally to Time Slot Assigner, so no external pin are required but the TDM_A or TDM_B ones. Those bits on GSMR_H reg are used to enable Inherent synchronization (see MPC860 User's Manual, page 29-6 section 29.4.2.2). This setup is needed when using SCC in QMC mode: CDP = 1 CTSP = 1 CDS = 1 CTSS = 1 (see QMC Supplement, page 6-4,6-5). Bye, Ciao! Diego. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: rpc timed out Date: Thu, 8 Nov 2001 17:29:58 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <8ca1072c.0110160745.4999256c@posting.google.com> <4acf3137.0110170507.557445ea@posting.google.com> <8ca1072c.0110180752.1531723c@posting.google.com> <8ca1072c.0110231007.51f0e9e3@posting.google.com> <8ca1072c.0110250612.53a9fc4b@posting.google.com> Todd Griffin wrote in message <8ca1072c.0110250612.53a9fc4b@posting.google.com>... >> >> I'm talking about in the Tornado GUI, in the project workspace window, on >> the tab that says 'VxWorks', where you enable or disable all the different >> parts of the kernel: which options do you have enabled under 'network >> components' ? > >I'm using Tornado v1.0.1. So I have a "Project" menu option, which has >a sub-menu option called "Configure BSP..." Choosing that takes me to >a screen that has two columns, "Included Options" and "Excluded Options." >Basically, you just move the different INCLUDE_xxx options around until >you have the configuration you want (there's nothing as specific as what >you mentioned below). Sounds like Tornado v2 would be nice, but does it >work with VxWorks 5.3.1? T2 is definitely a lot better for configuration management! I don't know if it works with 5.3.1 but I wouldn't be surprised; it certainly works with 5.4. You'd have to ask WRS to be sure. It's fairly similar in principle, although there are nicely labelled options to include or exclude rather than just a bunch of #defines, but the important thing is that T2 tracks all the dependencies for you, so when you add a module it'll also add any other modules that one requires to work, and it can also check over your configuration to find any unreferenced modules that you can exclude from the build if your app doesn't use them and you want to cut down on the size of your bsp/kernel/bootrom. DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Solaris shared memory error Date: 8 Nov 2001 17:54:40 GMT From: mam@Eng.Sun.COM (Mark A. Matthews) Organization: Sun Microsystems, Inc. Message-ID: <9segt0$6dn$1@engnews1.eng.sun.com> References: <3BEA1E0A.F1A99FF9@dstc.qut.edu.au> In article <3BEA1E0A.F1A99FF9@dstc.qut.edu.au>, Graham Crawford wrote: >I get the following error when I try and start certain Tornado >applications on >SPARC Solaris 2.8 > >gma_init_shm->shmget1: No space left on device > >In particular the MWColorMgr gives this as well as the Launcher >Project application and the SETUP installer from the CDROM. This >message seems to indicate that the shmmax kernel setting should be >increased. You're on the right track. Here's a document that discusses fiddling with shmmax - /usr/sbin/sysdef -i will list (with a lot of other stuff) your current shared memory segment size. You can tune this by adding a line to /etc/system and rebooting. Note that the size discussed in the article are oriented to big servers; on a workstation, the default shmmax is probably 1MB. I would try doubling it and see if that's enough. It will require a reboot. - -- - -Mark --------------------------- Newsgroups: comp.os.vxworks Subject: Compact Flash. Date: 8 Nov 2001 11:38:32 -0800 From: vloscomp@yahoo.com (Vinh) Organization: http://groups.google.com/ Message-ID: Hi, Support for booting from Compact Flash card: The PPC604 BSP has Winbond W83C553 chip (PCI IDE controller used on many PC motherboards) for which Windriver says they have no driver support. But Winbond says that this chip is register compatible with Intel's PCI IDE specifications and all IDE controllers used on PC motherboards use either ISA or PCI bus, so Windriver should have support for some other chip that is also compabile with Intel specs. I would like to know if there is any support (WindRiver or Third party) for Winbond W83C553 chip. Or if any help/tip is appreciated. Thank you Vinh Lam --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Booting MV5100 with Motorola PPCbug firmware? Date: Thu, 08 Nov 2001 13:48:47 -0600 From: Andrew Johnson Organization: APS, Argonne National Laboratory Message-ID: <3BEAE19F.F8A08915@aps.anl.gov> References: Mark Heller wrote: > > Has anyone successfully used the PPCbug firmware to load > and run the Vxworks boot rom on a Motorola MV5100? Not personally and I don't have access to a 5100, but... > I noticed there is a #define in the config.h file for > INCLUDE_MOT_BUG_ROM, but it doesn't look like it > will work. The romInit.s code disables ram during the > setup of the hawk chip, which would make it difficult > to run the boot rom code from ram. I'm using Tornado 2.1 > and the Wind River version of the MV5100 BSP. Why would the debug monitor copy the code into RAM? In earlier Motorola debug monitors on other systems it would just execute the code directly in its ROM location. Of course the 5100 monitor *might* copy it to RAM first, but I don't see why Motorola would have done that. - - Andrew - -- Perfection is reached, not when there is no longer anything to add, but when there is no longer anything to take away. - - Antoine de Saint-Exupery --------------------------- Newsgroups: comp.os.vxworks Subject: FIOFLUSH and dcacheCbio (DOSFS2] Date: 08 Nov 2001 14:26:58 -0800 From: Joe Chung Message-ID: Does anyone know if an ioctl FIOFLUSH will cause the cache to write through to a disk? (Btw, this is Dosfs2.0 on a 9GB scsi disk in a PPC750 system). I know I can set the cache's syncInterval to 0 so that all writes are essentially write-throughs, but am hoping that such a large hammer would not be necessary. Thanks! - -jc - -- (apply 'concat (reverse (list "com" (char-to-string 46) "yahoo" (char-to-string 64) "joechung"))) --------------------------- Newsgroups: comp.os.vxworks Subject: Re: problems with printf() Date: Thu, 08 Nov 2001 22:49:34 GMT From: "Dustan Hellwig" Organization: EarthLink Inc. -- http://www.EarthLink.net Message-ID: <2_DG7.26411$hZ.2420314@newsread2.prod.itd.earthlink.net> References: <3BE16ABF.16B1EA8A@raytheon.com> This is a multi-part message in MIME format. - ------=_NextPart_000_0019_01C1686C.6D965550 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable You are not putting line termination characters in your printf = statements and therefore the buffer is not getting flushed. Make your = printf statements look like printf ("a message\n"); instead... hope that helps... "James Toland" wrote in message = news:3BE16ABF.16B1EA8A@raytheon.com... Does anyone know why this happens?=20 I am using a Motorola MVME2700 with VxWorks 5.4. My C delay routine = is polling the Falcon ECC Memory Controller Chip Set CTR32 at address = $FEF80100, which is a 32-bit free-running counter that increments once = per microsecond, for high-resolution delays(< 1ms). Everything works = great until my routine polls the 32-bit counter for more than 3 seconds. = For example:=20 my_main()=20 {=20 do_something();=20 delay(3_seconds);=20 do_something_else();=20 printf("a message");=20 do_something_else();=20 printf("a message");=20 }=20 The printf statements after the delay routine do not appear at the = output (for delays >3s), although all the other functions after the = delay function are executed properly. To temporarily resolve this = problem I am using the VxWorks routine taskDelay() for delays over 2 = seconds and the printf output is as expected, but I really need a delay = function that does not relinquish the cpu until the delay is = accomplished and has microsecond resolution.=20 Thanks.=20 =20 =20 - ------=_NextPart_000_0019_01C1686C.6D965550 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
You are not putting line termination = characters in=20 your printf statements and therefore the buffer is not getting = flushed. =20 Make your printf statements look like
 
printf ("a message\n");
 
instead... hope that = helps...
 
"James Toland" <j-toland@raytheon.com> = wrote in=20 message news:3BE16ABF.16B1EA8A@rayth= eon.com...
Does=20 anyone know why this happens?=20

I am using a Motorola MVME2700 with VxWorks 5.4.  My C delay = routine=20 is polling the Falcon ECC Memory Controller Chip Set CTR32 at = address=20 $FEF80100, which is a 32-bit free-running counter that increments once = per=20 microsecond, for high-resolution delays(< 1ms).  Everything = works=20 great until my routine polls the 32-bit counter for more than 3 = seconds.=20

For example:=20

my_main()
{
  = do_something();=20
  delay(3_seconds);
  = do_something_else();=20
  printf("a message");
 =20 do_something_else();
  printf("a message");=20
}=20

The printf statements after the delay routine do not appear at the = output=20 (for delays >3s), although all the other functions after the delay = function=20 are executed properly.  To temporarily resolve this problem I am = using=20 the VxWorks routine taskDelay() for delays over 2 seconds and the = printf=20 output is as expected, but I really need a delay function that does = not=20 relinquish the cpu until the delay is accomplished and has microsecond = resolution.=20

Thanks.
 
 

- ------=_NextPart_000_0019_01C1686C.6D965550-- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: text,data,bss addresses and lengths Date: Thu, 08 Nov 2001 22:55:08 GMT From: "Dustan Hellwig" Organization: EarthLink Inc. -- http://www.EarthLink.net Message-ID: References: See the loadModuleAt man page using the pText, pCode, and pBss parameters to retrieve the address locations/sizes of each segment... "LeRoy Goering" wrote in message news:REqF7.16363$D5.6379129@typhoon.san.rr.com... > Need absolute memory locations of text areas for runtime checksum testing. > Can't figure out how to do it. > > When I download my app to the pentium target with loadModule, cannot access > the symbols table. Can't execute the application programmatically or at the > shell. Browser doesn't see it either. Has anyone out there done this? Any > ideas? > > Thanks, > LW > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: loadModule and task error Date: Thu, 08 Nov 2001 23:03:59 GMT From: "Dustan Hellwig" Organization: EarthLink Inc. -- http://www.EarthLink.net Message-ID: References: I have successfully loaded executables with a disk size over 40MB and an code segment over 20MB with no problem using loadModuleAt programmatically. I can only imagine your problem is that your compiled object is not linking correctly to the "open" and "loadModule" symbols (probably caused by the issues discussed in a previous post) Hope that helps... "Kelly Hornsby" wrote in message news:lQ_F7.61433$zG.5450792@news1.rdc1.ga.home.com... > Hello All > > Here's my situation: I've created a memDev in my flash area on my PPC750 > board, and I've dumped an ELF image (that runs ok) into the flash area that > the memDev covers. I can go to the command shell and do the following with > no error: > fd = open("/mem/flash/0", 0777,0777); > status = loadModule(fd,1) > > And my ELF image in flash is loaded and ready to go, with all symbols > present. > > However... > when I dump those two lines into a routine, and compile the routine and > download it, I get an illegal instruction error when I attempt to run the > routine containing the two lines above. the routine fails on the loadModule > call. > > Any ideas on this? Has anyone else done *large* image loads using > loadModule programmatically? > > thx for any inputs > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: FIOFLUSH and dcacheCbio (DOSFS2] Date: 08 Nov 2001 18:28:59 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: Sender: bpringlemeir@DeadDuck Joe> Does anyone know if an ioctl FIOFLUSH will cause the cache to Joe> write through to a disk? (Btw, this is Dosfs2.0 on a 9GB scsi Joe> disk in a PPC750 system). Yes, the dcacheCbio will flush to the lower layer (block device) when you do a FIOFLUSH. regards, Bill Pringlemeir. - -- Have you ever been jailed by my parent while being operated on for club foot? Or used a conference call to emote verbally with characters from Iron Chef? You will. And the company that will bring it to you: AT&T. vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html" --------------------------- Newsgroups: comp.os.vxworks Subject: traceroute for vxworks Date: Thu, 08 Nov 2001 18:39:29 -0500 From: Chandwani Organization: Lucent Technologies Message-ID: <3BEB17B1.1E3B6C22@ubbsrv3.ho.lucent.com> Hi ! Is there a traceroute ( or similar ) program available somewhere for vxworks ? Rakesh - ---- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Updating GNU C Compiler Date: Thu, 08 Nov 2001 21:55:39 +0000 From: molochai Message-ID: References: In message Johan Borkhuis wrote: > Mark Durham wrote: > > > Hi, > > > > I've searched the WindSurf area at WRS and cannot find any details on > > how to upgrade the version of GCC that shipped with Tornado 2.0 > > > > Is it just a case of getting the latest NT binaries and libraries for > > GCC and installing them? > > What architecture are you looking for? There is the PPC version from Dave > Korn. > But WindRiver has just started shipping Tornado 2.1, and this includes a > newer version of the compiler, so you should ask your FAE or sales rep for > this. Not all architectures are available however. Anyone know if PowerPC is one of those now shipping? M --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado C/C++ Compiler Properties Date: Fri, 9 Nov 2001 09:26:33 +0100 From: "Reto Drack" Organization: Swisscom IP+ (post doesn't reflect views of Swisscom) Message-ID: <9sg3vr$ms6$1@rex.ip-plus.net> References: <9sdtsq$drm$1@rex.ip-plus.net> "Dave Korn" wrote in message news:Y4zG7.82$vy6.88192@newsr2.u-net.net... > Reto Drack wrote in message <9sdtsq$drm$1@rex.ip-plus.net>... > >Hello > > > >Tornado II: Is it possible to use a NT system variable within an inlude > path > >in the C/C++ Compiler properties? > >something like this: -I$(PRG_BASE)/subdir, when PRG_BASE is a Windows NT > >system variable. > > > >Regards > > > >Reto > > Absolutely. We make great use of including $(USERNAME) in makefiles so > that the executable gets sent to the network home directory of whoever > happens to be doing the compile. > > Note that if you wanted to use them directly on a command line rather than > in a makefile (which is where the properties set in the T2 gui end up) you > might need to use %VARIABLE% instead of $(VARIABLE). Or $(VARIABLE) might > work anyway: you'd have to try it and see. > > DaveK > -- > Burn your ID card! http://www.optional-identity.org.uk/ > Help support the campaign, copy this into your .sig! > > Thanks for the answer Try to use %VARIABLE% or $VARIABLE in an inlude path in the T2 gui, it will not work for the regeneration of the project file dependencies. Reto --------------------------- Newsgroups: comp.os.vxworks Subject: usb development Date: Fri, 9 Nov 2001 16:53:08 +0800 From: "xmtan" Organization: Bentium Ltd. (CN99) Message-ID: <9sg5mr$sv0$1@mail.cn99.com> Reply-To: "xmtan" Is there any free referrences about developing USB device on vxworks ? --------------------------- Newsgroups: comp.os.vxworks Subject: Re: clock corruption Date: Fri, 09 Nov 2001 09:57:15 +0100 From: Ross Staton Organization: Siemens Inc. Message-ID: <3BEB9A6B.38D8059D@icn.siemens.de> References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> thanks for that info Dave. I had reached the stage of blaming the OS, but I was wondering if the function clock_gettime() might not be re-entrant? The reason I ask is that we have a lot of tasks polling the clock and there could easily be a conflict here if this code is not written for this. I know that in Linux for example, there are separate local clock functions for reentrant usage. Do you know if it is safe to call clock_gettime() from multiple tasks simultaneously? cheers Ross Ps. And it is a PPC platform - ------------------------------------------------------------ --------------------------- Newsgroups: comp.os.vxworks Subject: Re: clock corruption Date: Fri, 09 Nov 2001 10:35:14 +0100 From: Ross Staton Organization: Siemens Inc. Message-ID: <3BEBA352.9D414CFE@icn.siemens.de> References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> Dave, we ran a few more tests and our bug seems to match yours (see below): > > Does it re-sync itself if you leave it for an amount of time approximately > equal to (time when the posix clock was inited minus time when system was > booted) ? > yes it does > > He does. It's called "The vxworks kernel". Anytime you set a delay - and > this goes for timeouts too - that, when added to the vxTicks variable, would > cause it to wrap round, the OS sets vxTicks back to zero and sets the delay > timer to (zero plus delay length), rather than setting the delay timer to > (current ticks + delay length) as it would otherwise do. > the tick count vxTicks is being reset (or at least it returns a lower value) > I observed this behaviour to occur any time I tried to do large (~ 1MB) > reads or writes from a SCSI bus; presumably there is a timeout in the scsi > library that was long enough to trigger this effect, and presumably there > are other timeouts elsewhere in the kernel that can cause it too. > It happens to us when we are downloading large files over a Utopia bus using FTP. > The fix is to get WRS to give you the source code for clockLib and replace > 'vxTicks' with 'vxAbsTicks' throughout. Ok we can try this, but first we need to know have you raised a TSR with Windriver, and if so what is the status of this? If not, why not? If there is an SPR available for this bug we need the reference number. Hope to hear from you Ross Ps. The email address above doesn't work but you can email me at ross_staton@yahoo.com --------------------------- Newsgroups: comp.os.vxworks Subject: CDF Files (Tornado 2.0) Date: Fri, 09 Nov 2001 10:38:24 +0000 From: Paul Caswell Organization: Land & Sea Systems Message-ID: <3BEBB220.716DA6EE@baesystems.com> Hello world, I want to modify the default WDB selection from NETWORK to SERIAL. I'm fairly sure I need to use a cdf file to do this but when I create one in the bsp directory (named 50xyz.cdf) and override the SELECT_WDB_COMM_TYPE (as follows) it doesn't work. Any ideas ?? Selection SELECT_WDB_COMM_TYPE { NAME select WDB connection COUNT 1-1 CHILDREN INCLUDE_WDB_COMM_SERIAL \ INCLUDE_WDB_COMM_TYCODRV_5_2 \ INCLUDE_WDB_COMM_NETWORK \ INCLUDE_WDB_COMM_NETROM \ INCLUDE_WDB_COMM_END \ INCLUDE_WDB_COMM_CUSTOM DEFAULTS INCLUDE_WDB_COMM_SERIAL HELP tgtsvr WDB } Note DEFAULTS was originally set to INCLUDE_WDB_COMM_NETWORK Regards Paul --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Updating GNU C Compiler Date: 09 Nov 2001 11:04:59 +0000 (GMT) From: Martin Read Organization: Linux Unlimited Message-ID: References: In article , molochai wrote: >In message > Johan Borkhuis wrote: >> But WindRiver has just started shipping Tornado 2.1, and this includes a >> newer version of the compiler, so you should ask your FAE or sales rep for >> this. Not all architectures are available however. > >Anyone know if PowerPC is one of those now shipping? It appears to be, the shelf next to my desk certainly has a windriver gatefold thingy with a Tornado 2.1 installation CD in it. T2.1/PPC only supports 75x and 7400, though - in particular, anything with a 603 core is definitely not supported. m. - -- \_\/_/| Martin Read - my opinions are my own. share them if you wish. \ / | "in vielen hab ich dich im Schlaf gesucht / im vielen hab ich dich \/ | schlafend gesucht" - EN, "12305te Nacht" - ------+ --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Booting MV5100 with Motorola PPCbug firmware? Date: 9 Nov 2001 03:25:11 -0800 From: heller@core.com (Mark Heller) Organization: http://groups.google.com/ Message-ID: References: <3BEAE19F.F8A08915@aps.anl.gov> Andrew Johnson wrote in message news:<3BEAE19F.F8A08915@aps.anl.gov>... > Mark Heller wrote: > > > > Has anyone successfully used the PPCbug firmware to load > > and run the Vxworks boot rom on a Motorola MV5100? > > Not personally and I don't have access to a 5100, but... > > > I noticed there is a #define in the config.h file for > > INCLUDE_MOT_BUG_ROM, but it doesn't look like it > > will work. The romInit.s code disables ram during the > > setup of the hawk chip, which would make it difficult > > to run the boot rom code from ram. I'm using Tornado 2.1 > > and the Wind River version of the MV5100 BSP. > > Why would the debug monitor copy the code into RAM? In earlier Motorola > debug monitors on other systems it would just execute the code directly in > its ROM location. Of course the 5100 monitor *might* copy it to RAM > first, but I don't see why Motorola would have done that. > > - Andrew We are using the network boot option in the PPCbug firmware. It downloads an image of the bootrom (boot.bin) into ram and jumps to it. That way we never have to burn bootroms. If they change, we just put in the new file, and reboot the system. We are currently using this method on mv1300's, mv1600's, mv2300's, and mv2700's. Wind River has a few technical notes on how to do this for some of the older Motorola boards. - -Mark --------------------------- Newsgroups: comp.os.vxworks Subject: target server and windows 2000 Date: Fri, 9 Nov 2001 12:54:31 +0100 From: "Bertram Tenner" Message-ID: <3bebc469$0$187$4d4ebb8e@read.news.de.uu.net> Hello all, I have a problem activating a target server in tornado 2.0 running under windows 2000. The server seems to connect properly to the target machine, but when I try to activate it in the combobox it says me: target server "name" is not responding, this may be due to a slow network connection. But I know the network is ok. What can I do ? Thanks for help. Bertram --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Fri Nov 9 06:57:09 2001 From: "Mynampati, Venkata S." Date: Fri Nov 9 06:57:12 PST 2001 Subject: logMsg() side-effects Hi, Does logMsg() have any side-effects like unmasking of interrupts? Say, i am in ISR and i masked my interrupts , after that i did a logMsg(), now, when logMsg() returns, will it unMask the interrupts? What could be effects of calling logMsg() with local variables? TIA Venkat VXWORKS OR TORNADO From vxwexplo-errs@csg.lbl.gov Sat Nov 10 04:03:17 2001 From: Vxworks Exploder Date: Sat Nov 10 04:03:20 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Sat Nov 10 04:03:13 PST 2001 Subject: Memory loss with STL Subject: Re: tornado and windows 2000 Subject: Re: clock corruption Subject: Re: target server and windows 2000 Subject: Re: CDF Files (Tornado 2.0) Subject: Re: target server and windows 2000 Subject: ftpd, dosFs2.0 unsupported ftpd Subject: Re: Booting MV5100 with Motorola PPCbug firmware? Subject: Re: clock corruption Subject: Re: Network stack test [was: Pre-empting tNetTask] Subject: Re: clock corruption Subject: Re: ftpd, dosFs2.0 unsupported ftpd Subject: logMsg side-effects Subject: [AE] VxWorks AE memory access Subject: dosFs 2.0 unsupported but better ftpd does not describe how to install Subject: Re: Booting MV5100 with Motorola PPCbug firmware? Subject: Video streaming? Subject: VxWorks Envoy 9.2 SNMP Agent MIB Subject: Re: Memory loss with STL Subject: Re: Compact Flash. Subject: What does this mean: S_vmLib_NOT_PAGE_ALIGNED? Subject: Re: how to delete a IP address Subject: emergence how to delete a IP address Subject: ccppc for Vxworks again Subject: Re: 8260 DPRAM initialization Subject: Re: clock corruption Subject: Re: clock corruption Subject: Re: logMsg side-effects Subject: Re: [AE] VxWorks AE memory access Subject: Re: Updating GNU C Compiler ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Memory loss with STL Date: Fri, 9 Nov 2001 14:18:27 +0100 From: "Daniel Flück" Organization: Customers of Tiscali DataComm AG - http://www.tiscali.ch/ Message-ID: <3bebd79e$1_2@news.datacomm.ch> Hello our System: Tornado 2; gcc 2.7.2; VxWorks 5.4; STL Adapted SGI STL, 22. May 1997 from Moscow group or something. our Problem: It looks like that we are loosing memory, while we use STL-Containers. It just doesn't clean up anymore all the used memory space at the end. If we test our code under Windows NT, we can't find the same leaks. Has anyone had the same problems? Should we update to a new STL, and which one? Thanks in advance Daniel --------------------------- Newsgroups: comp.os.vxworks Subject: Re: tornado and windows 2000 Date: 9 Nov 2001 13:32:44 GMT From: Johan Borkhuis Organization: Agere Systems Message-ID: References: <3bea46b3$0$188$4d4ebb8e@read.news.de.uu.net> "Bertram Tenner" wrote: > trying to install the Tornado 2.0 software under windows 2000 I get > only the uninstall shortcut in the tornado > program group. What can I do ? Did you install the complete package? Can you start Tornado by hand (start tornado.exe in \host\x86-win32\bin)? 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: clock corruption Date: Fri, 9 Nov 2001 13:37:55 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9sgm0b$2sr$1@neptunium.btinternet.com> References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <3BEB9A6B.38D8059D@icn.siemens.de> > I had reached the stage of blaming the OS, but I was wondering if the function > clock_gettime() might not be re-entrant? The reason I ask is that we have a lot > of tasks polling the clock and there could easily be a conflict here if this > code is not written for this. I know that in Linux for example, there are > separate local clock functions for reentrant usage. > > Do you know if it is safe to call clock_gettime() from multiple tasks > simultaneously? There is nothing in the image I have (disassemble clock_gettime() yourself) that would indicate it isn't re-entrant. Mind you having looked at the code you might wonder whether it is the correct item to poll... Provided you never call tickSet(), use tickGet() for a 100Hz (in your case) counter that won't jump.... David --------------------------- Newsgroups: comp.os.vxworks Subject: Re: target server and windows 2000 Date: 9 Nov 2001 13:34:25 GMT From: Johan Borkhuis Organization: Agere Systems Message-ID: References: <3bebc469$0$187$4d4ebb8e@read.news.de.uu.net> "Bertram Tenner" wrote: > Hello all, > I have a problem activating a target server in tornado 2.0 running > under windows 2000. The server seems to connect properly to the target > machine, but when I try to activate it in the combobox it says me: > target server "name" is not responding, this may be due to a slow > network connection. But I know the network is ok. > What can I do ? Did you install all the Win2k patches from WindSurf? 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: CDF Files (Tornado 2.0) Date: 9 Nov 2001 08:59:18 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111090859.4b3dc166@posting.google.com> References: <3BEBB220.716DA6EE@baesystems.com> Hello Paul, Not sure about this one, but you could try this: Selection SELECT_WDB_COMM_TYPE { VALUE INCLUDE_WDB_COMM_SERIAL } I think that should do it for you; you don't need to include all the other lines (they are inherited from the original automatically). HTH, John... Paul Caswell wrote in message news:<3BEBB220.716DA6EE@baesystems.com>... > Hello world, > I want to modify the default WDB selection from NETWORK to SERIAL. I'm > fairly sure I need to use a cdf file to do this but when I create one in > the bsp directory (named 50xyz.cdf) and override the > SELECT_WDB_COMM_TYPE (as follows) it doesn't work. Any ideas ?? > > Selection SELECT_WDB_COMM_TYPE { > NAME select WDB connection > COUNT 1-1 > CHILDREN INCLUDE_WDB_COMM_SERIAL \ > INCLUDE_WDB_COMM_TYCODRV_5_2 \ > INCLUDE_WDB_COMM_NETWORK \ > INCLUDE_WDB_COMM_NETROM \ > INCLUDE_WDB_COMM_END \ > INCLUDE_WDB_COMM_CUSTOM > DEFAULTS INCLUDE_WDB_COMM_SERIAL > HELP tgtsvr WDB > } > > Note > DEFAULTS was originally set to INCLUDE_WDB_COMM_NETWORK > > Regards > Paul --------------------------- Newsgroups: comp.os.vxworks Subject: Re: target server and windows 2000 Date: 9 Nov 2001 09:02:34 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111090902.8b5cda1@posting.google.com> References: <3bebc469$0$187$4d4ebb8e@read.news.de.uu.net> Hello, Check that you have all the Win2K patches installed... you might also want to search the archives for this group - Win2K has been a source of problems for many people. You can search the archive at http://groups.google.com/ HTH, John... "Bertram Tenner" wrote in message news:<3bebc469$0$187$4d4ebb8e@read.news.de.uu.net>... > Hello all, > I have a problem activating a target server in tornado 2.0 running under > windows 2000. The server seems to connect properly to the target machine, > but when I try to activate it in the combobox it says me: target server > "name" is not responding, this may be due to a slow network connection. But > I know the network is ok. > What can I do ? > Thanks for help. > Bertram --------------------------- Newsgroups: comp.os.vxworks Subject: ftpd, dosFs2.0 unsupported ftpd Date: 9 Nov 2001 10:07:07 -0800 From: rsdavis@isrparc.org (Scott Davis) Organization: http://groups.google.com/ Message-ID: <197ea102.0111091007.26aef85e@posting.google.com> How do I install the unsupported ftpd that is distributed with dosFs 2.0. I am using Tornado 2.0, VxWorks 5.4 on a Solaris 2.8 host. More importantly should I install. I want to be able to create directories via ftp connection. Currently an attempt to perform mkdir {filename} errors out with 500 command not recognized which is what others observe. I have installed dosFs 2.0 and created a filesystem on a SCSI drive that is connected to my target PPC 750 board. PCC604 is the BSP nomenclature. Is this unsupported ftpd workable. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Booting MV5100 with Motorola PPCbug firmware? Date: Fri, 9 Nov 2001 17:02:52 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: <_ZUG7.14$4k.29463@newsr2.u-net.net> References: Mark Heller wrote in message ... >Hello all, >Has anyone successfully used the PPCbug firmware to load >and run the Vxworks boot rom on a Motorola MV5100? >I noticed there is a #define in the config.h file for >INCLUDE_MOT_BUG_ROM, but it doesn't look like it >will work. The romInit.s code disables ram during the >setup of the hawk chip, which would make it difficult >to run the boot rom code from ram. I'm using Tornado 2.1 >and the Wind River version of the MV5100 BSP. See WRS spr #30625: to summarize, "downloading vxworks from any version of PPC-bug is not supported by Wind River". I found it at http://www.wrs.com/csdocs/product/t2/problems-PowerPC.htm [warning: very *very* big page!] Now since the downloadable kernel takes over after the bootrom and thoroughly reinitialises the system, it should be possible and it should work ok, but you're gonna have to figure out how to do it yourself... DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: clock corruption Date: Fri, 9 Nov 2001 17:31:29 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: <_ZUG7.15$4k.29463@newsr2.u-net.net> References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <3BEB9A6B.38D8059D@icn.siemens.de> <9sgm0b$2sr$1@neptunium.btinternet.com> David Laight wrote in message <9sgm0b$2sr$1@neptunium.btinternet.com>... [Ross' attribution line lost] >> I had reached the stage of blaming the OS, but I was wondering if the >function >> clock_gettime() might not be re-entrant? The reason I ask is that we have >a lot >> of tasks polling the clock and there could easily be a conflict here if >this >> code is not written for this. I know that in Linux for example, there are >> separate local clock functions for reentrant usage. >> >> Do you know if it is safe to call clock_gettime() from multiple tasks >> simultaneously? > >There is nothing in the image I have (disassemble clock_gettime() yourself) >that would indicate it isn't re-entrant. However there IS (or perhaps was) a potential race condition in there. Here's the diagnosis I was sent by one of WRS' engineers when I first reported the clock corruption bug: - --- I found out that If clock_gettime() is interrupted between its two reads of the system clock, it can return an invalid value. A fix was suggested as follows: The problem is that vxTicks is passed as a parameter to the TV_CONVERT_TO_SEC macro, and that macro makes two separate reads of whatever the passed parameter is. Therefore, vxTicks is read two times, without any locking. If the task is pre- empted, the value will be inconsistent. The fix is to just create a local variable and read the timer value into it, and pass that to TV_CONVERT_TO_SEC instead. - --- (I then had to write back explaining that there was another bug and disassembling their object code for them to point it out). >Mind you having looked at the code you might wonder whether it is the >correct >item to poll... Provided you never call tickSet(), use tickGet() for a >100Hz (in your case) counter that won't jump.... Or just extern declare the ULONG global variable vxAbsTicks and read from it whenever you like... DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Network stack test [was: Pre-empting tNetTask] Date: Fri, 9 Nov 2001 18:01:47 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: <_ZUG7.16$4k.29463@newsr2.u-net.net> References: Bill Pringlemeir wrote in message ... >>>>>> "Leonid" == Leonid Rosenboim writes: >[snip] > Leonid> to be connected into. If you expect it to connect to a > Leonid> public network, keep in mind this is a harsh place and bad > Leonid> things are bound to happen... > >There use to be test that would send different TCP/UDP/IP packets at a >box to test it for various bugs. I ran this on NT 3.?? and it reset >the machine. I believe that we ran it against an older version of >vxWorks. A denial attack stop the box for a while, but it came up >eventually. > >Can anyone point me to these test? I don't know if it was Satan, >angel, etc. Maybe there are others? Has anyone tried these on more >recent versions of vxWorks? I suppose CPU/network drivers would also >be wise to test against (as well as open ports). > >regards, >Bill Pringlemeir. Plenty of vxworks stuff is probably insecure, in the sense of being bring-down-able by overflowing buffers or flooding it, but fortunately the lack of proper virtual memory space in vworks prior to AE makes it very difficult for anyone to attempt to exploit a buffer overflow to actually get some of their own code executed on the stack. DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: clock corruption Date: Fri, 9 Nov 2001 18:12:54 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: <_ZUG7.17$4k.29463@newsr2.u-net.net> References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <3BEBA352.9D414CFE@icn.siemens.de> Ross Staton wrote in message <3BEBA352.9D414CFE@icn.siemens.de>... > >Dave, we ran a few more tests and our bug seems to match yours (see below): [snip a few confirmatory details] >It happens to us when we are downloading large files over a Utopia bus using >FTP. Right; it could be either network timeouts *or* disk ones then I guess. >> The fix is to get WRS to give you the source code for clockLib and replace >> 'vxTicks' with 'vxAbsTicks' throughout. > >Ok we can try this, but first we need to know have you raised a TSR with >Windriver, and if so what is the status of this? If not, why not? >If there is an SPR available for this bug we need the reference number. It is/was TSR# 144712. When they sent us the clockLib source, they asked us if they could close it and we said OK because we were happy, so I have no idea if they ever made an SPR or patch from it. If they have any problems finding the details from the TSR, drop me a line and I'll give you some further info that might help them narrow it down. >Hope to hear from you >Ross > >Ps. The email address above doesn't work but you can email me at >ross_staton@yahoo.no.more.spambots.com Cc: sent! cheers, DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: ftpd, dosFs2.0 unsupported ftpd Date: Fri, 9 Nov 2001 20:26:19 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <197ea102.0111091007.26aef85e@posting.google.com> The unsupported FTP server is what you need, will let you make directories, use GUI FTP clients and much more. I made the enhancements, of which I am rather proud. The place in "unsupported" where the source is found should also contain a README on how to install and initialize it. - - Leonid "Scott Davis" wrote in message news:197ea102.0111091007.26aef85e@posting.google.com... > How do I install the unsupported ftpd that is distributed with dosFs > 2.0. I am using Tornado 2.0, VxWorks 5.4 on a Solaris 2.8 host. More > importantly should I install. I want to be able to create directories > via ftp connection. Currently an attempt to perform mkdir {filename} > errors out with 500 command not recognized which is what others > observe. I have installed dosFs 2.0 and created a filesystem on a > SCSI drive that is connected to my target PPC 750 board. PCC604 is > the BSP nomenclature. Is this unsupported ftpd workable. --------------------------- Newsgroups: comp.os.vxworks Subject: logMsg side-effects Date: 9 Nov 2001 10:37:09 -0800 From: mynamvs@nsc.network.com (Venkat Mynampati) Organization: http://groups.google.com/ Message-ID: <65b2abfc.0111091037.7e8ad439@posting.google.com> Hi, Does logMsg() have any side-effects like unmasking of interrupts? Say, i am in ISR and i masked my interrupts , after that i did a logMsg(), now, when logMsg() returns, will it unMask the interrupts? What could be effects of calling logMsg() with local variables? TIA Venkat --------------------------- Newsgroups: comp.os.vxworks Subject: [AE] VxWorks AE memory access Date: 9 Nov 2001 11:16:35 -0800 From: dmasse@ele.etsmtl.ca (David Masse) Organization: http://groups.google.com/ Message-ID: <14fc63a8.0111091116.69f08060@posting.google.com> Hi, I'm designing an application on PowerPC MPC860 that needs to access the Parallel I/O port B. The access to the port is done through a memory map register. I want to know if VxWorks AE allow me to access directly the memory map registers in the standard way: ex: int immrVal = vxImmrGet(); *PBDAT( immrVal ) = 0x00001000; Thank you. --------------------------- Newsgroups: comp.os.vxworks Subject: dosFs 2.0 unsupported but better ftpd does not describe how to install Date: 9 Nov 2001 11:26:03 -0800 From: rsdavis@isrparc.org (Scott Davis) Organization: http://groups.google.com/ Message-ID: <197ea102.0111091126.50bf1dc3@posting.google.com> I am looking for instructions to install the unsupported ftpdLib.c and header file that comes with dosFs 2.0. I am working with T2 on Solaris 2.8 with a PPC750 target, PPC604. I can access the SCSI drive with dosFs 2.0 filesystem on it. I want to take advantage of improved ftp server provided by dosFs 2.0 so I can get the additional ftp server commands like mkdir. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Booting MV5100 with Motorola PPCbug firmware? Date: Fri, 09 Nov 2001 13:43:40 -0600 From: Andrew Johnson Organization: APS, Argonne National Laboratory Message-ID: <3BEC31EC.3D87043@aps.anl.gov> References: <3BEAE19F.F8A08915@aps.anl.gov> Mark Heller wrote: > > We are using the network boot option in the PPCbug firmware. > It downloads an image of the bootrom (boot.bin) into ram and > jumps to it. That way we never have to burn bootroms. If they > change, we just put in the new file, and reboot the system. > We are currently using this method on mv1300's, mv1600's, mv2300's, > and mv2700's. Wind River has a few technical notes on how to do this > for some of the older Motorola boards. So your systems go PPCbug -> bootrom -> vxWorks image do they? You could probably manage without the middle step, although it may be harder with some BSPs. I used to boot MVME167 boards straight into the vxWorks image using network booting. We blow the Tornado bootroms into flash on most of our boards now (using PPCbug's niot and niop commands to fetch the bootrom image of course) and we also set the jumpers to avoid PPCbug completely in normal operational use. Presumably the MVME5100 doesn't have flash which is why you've developed your approach? The INCLUDE_MOT_BUG_ROM option will almost certainly generate a binary that you can program into flash or EPROM and be recognized properly by PPCbug as an bootable ROM, but doubt if it's intended for network bootable object code. Have you tried autobooting into the vxWorks image directly? - - Andrew - -- Perfection is reached, not when there is no longer anything to add, but when there is no longer anything to take away. - - Antoine de Saint-Exupery --------------------------- Newsgroups: comp.os.vxworks Subject: Video streaming? Date: Fri, 09 Nov 2001 15:16:44 -0600 From: Andrew Johnson Organization: APS, Argonne National Laboratory Message-ID: <3BEC47BC.BFA354F2@aps.anl.gov> Does anybody know of a streaming video server library available for vxWorks, (with frame grabber hardware iff it's PMC based)? Personally I believe the non-vxWorks solutions will be faster & cheaper to implement, but I agreed to ask... - - Andrew - -- Perfection is reached, not when there is no longer anything to add, but when there is no longer anything to take away. - - Antoine de Saint-Exupery --------------------------- Newsgroups: comp.os.vxworks Subject: VxWorks Envoy 9.2 SNMP Agent MIB Date: 9 Nov 2001 13:31:58 -0800 From: vkinger@hotmail.com (Kinger) Organization: http://groups.google.com/ Message-ID: I am having problem with my private MIBs, I don't see the object ids when I run snmpwalk from HP Openview manager, I do see the standard MIBs, but not the private MIBs that I have developed for my system. Can somebody provide me a lead here?? --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Memory loss with STL Date: Fri, 09 Nov 2001 18:12:26 -0500 From: Emory Stagmer Message-ID: <3BEC62DA.39040C37@yahoo.com> References: <3bebd79e$1_2@news.datacomm.ch> I apparently had the same problem using a queue, but since I was 'pushing' in an ISR and 'popping' from a task, I figured it was related to executing in the ISR, replaced the STL queue with a static array class that had the same semantics and never investigated further. My version numbers 'look' similar, but I don't have time to check at the moment... If you get more info, please post here! Emory Stagmer Northrup Grumman Space Systems Operation "Daniel Flück" wrote: > > Hello > > our System: Tornado 2; gcc 2.7.2; VxWorks 5.4; STL Adapted SGI STL, 22. May > 1997 from Moscow group or something. > > our Problem: It looks like that we are loosing memory, while we use > STL-Containers. It just doesn't clean up anymore all the used memory space > at the end. If we test our code under Windows NT, we can't find the same > leaks. > > Has anyone had the same problems? > Should we update to a new STL, and which one? > > Thanks in advance > > Daniel --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Compact Flash. Date: Fri, 09 Nov 2001 18:15:20 -0500 From: Emory Stagmer Message-ID: <3BEC6388.A8220099@yahoo.com> References: I'm using this on a PowerPC. Files are 'winbpic.h' and 'winbpic.c' from WindRiver. Here's the header from the .H file: - -==========================- /* winbPic.h - Winbond W83C553F System I/O Controller with PCI definitions */ /* Copyright 1984-1998 Wind River Systems, Inc. */ /* Copyright 1996-1998 Motorola, Inc. */ /* modification history - -------------------- 01g,11nov98,ms_ minor changes; code review feedback 01f,27oct98,ms_ modified to comply with WRS coding standards 01e,26Aug98,mo Implement MMU for Map A and B 01d,08Apr98,My Implemented auto-detect memory map. 01c,18Mar98,mo Add all the PCI, ISA, chrp, and prep space defines 01b,16Mar98,mo Change all occurances of IBC to PIC, change IBC_BYTE_IN and IBC_BYTE_OUT to more intuitive usage (and name to PIC_BYTE....) use global picBaseAdrs instead of RAVEN_BASE_ADRS 01a,12Mar98,mo created file */ - -============================- Emory Stagmer Northrup Grumman Space Systems Operation Vinh wrote: > > Hi, > Support for booting from Compact Flash card: > The PPC604 BSP has Winbond W83C553 chip (PCI IDE controller used on > many PC motherboards) for which Windriver says they > have no driver support. But Winbond says that this chip is > register compatible with Intel's PCI IDE specifications and > all IDE controllers used on PC motherboards use either > ISA or PCI bus, so Windriver should have support for some > other chip that is also compabile with Intel specs. > > I would like to know if there is any support (WindRiver or Third party) > for Winbond W83C553 chip. > > Or if any help/tip is appreciated. > > Thank you > Vinh Lam --------------------------- Newsgroups: comp.os.vxworks Subject: What does this mean: S_vmLib_NOT_PAGE_ALIGNED? Date: Fri, 9 Nov 2001 17:34:31 -0600 From: "Leland Mills" Organization: Nortel Message-ID: <9shp5e$fsp$1@bcarh8ab.ca.nortel.com> I'm trying to swap in and out the validity of a page in memory. I'd like for this page to be viewable sometimes and not other times. Here, from the command line, I'm just trying to invalidate it, and then validate it again. I can invalidate it fine, but them I get an error with an errno equal to S_vmLib_NOT_PAGE_ALIGNED when I try to validate the page again. What am I doing wrong? Card 0 -> vmBaseStateSet(0x0,0xe57a000,0x1000,0x3,0x0) Card 0 -> vmBaseStateSet(0x0,0xe57a000,0x1000,0x3,0x1) Card 0 -> d &errno,2 0026f4d0: 0002 0055 * U.........* --------------------------- Newsgroups: comp.os.vxworks Subject: Re: how to delete a IP address Date: 9 Nov 2001 16:01:51 -0800 From: satyam_k@hotmail.com (Satyam) Organization: http://groups.google.com/ Message-ID: References: <221caa76.0111071842.52f7f76a@posting.google.com> You can write a function like this: ifAddrDel (char *interfaceName, char *interfaceAddr) { return (ifIoctl (interfaceName, SIOCDIFADDR, interfaceAddr)) ; } kevinatnj@yahoo.com.cn (kewin) wrote in message news:<221caa76.0111071842.52f7f76a@posting.google.com>... > hi all > > I have used IfAddrAdd() to add the second IP adrress to one ethernet > interface.But something is puzzling me,how can I delete the it.I mean > delete the specific IP without affecting the other IP addresses. > > Any advice will be welcome > > kevin --------------------------- Newsgroups: comp.os.vxworks Subject: emergence how to delete a IP address Date: 9 Nov 2001 16:59:59 -0800 From: kevinatnj@yahoo.com.cn (kewin) Organization: http://groups.google.com/ Message-ID: <221caa76.0111091659.10979edc@posting.google.com> hi all I have used IfAddrAdd() to add the second IP adrress to one ethernet interface.But something is puzzling me,how can I delete the it.I mean delete the specific IP without affecting the other IP addresses. Any advice will be welcome kevin --------------------------- Newsgroups: comp.os.vxworks Subject: ccppc for Vxworks again Date: 9 Nov 2001 18:00:24 -0800 From: Gary.Zhang@kla-tencor.com (Gary Zhang) Organization: http://groups.google.com/ Message-ID: <8b05312a.0111091800.4f840f8b@posting.google.com> The default wrs ccppc (2.7.2-960126) supports STL, but it does not support namespace. I downloaded ccppc (2.95.4 -20010319) from DaveK's website http://www.lysergic.u-net.com/homepage.html. It supports namespace alright. but it has two problems when I use it as it is. 1) it is quiet. it does not generate errors. Why ? when it fails, it does so without generating .o file. 2) it stops supporting template ! It simply stops half way. here is output with -v option. Reading specs from e:/Tornado/host/x86-win32/lib/gcc-lib/powerpc-wrs-vxworks/2.95.4/specs gcc version 2.95.4 20010319 (prerelease-DaveK) e:/Tornado/host/x86-win32/lib/gcc-lib/powerpc-wrs-vxworks/2.95.4/cpp0.exe - -lang-c++ -v -Ie:/Tornado/target/h -iprefix e:/Tornado/host/x86-win32/lib/gcc-lib/powerpc-wrs-vxworks/2.95.4/ - -D__GNUC__=2 -D__GNUG__=2 -D__GNUC_MINOR__=95 -D__cplusplus - -D__vxworks -D__PPC__ -D__VXVARGS__ -D__vxworks -D__PPC__ - -D__VXVARGS__ -Asystem(vxworks) -Asystem(embedded) -Acpu(powerpc) - -Amachine(powerpc) -D__EXCEPTIONS -D__CHAR_UNSIGNED__ -Wall - -D_CALL_SYSV -D__BIG_ENDIAN__ -Amachine(bigendian) -D_ARCH_PPC - -DCPU=PPC604 -DNAMESPACE -DTEMPLATE junk9.cpp /cygdrive/c/TEMP/cc7FqFWE.ii e:/Tornado/host/x86-win32/lib/gcc-lib/powerpc-wrs-vxworks/2.95.4/cc1plus.exe /cygdrive/c/TEMP/cc7FqFWE.ii -quiet -dumpbase junk9.cc -Wall -version - -fdollars-in-identifiers -o /cygdrive/c/TEMP/ccaVwePp.s Any fix to the above problems ? Alternatively, what is the mostly compliant C++ compiler for Vxworks + PPC ? Thanks For your help. Gary --------------------------- Newsgroups: comp.os.vxworks Subject: Re: 8260 DPRAM initialization Date: Sat, 10 Nov 2001 04:26:36 GMT From: "Stephen B. Johnson" Organization: Excite@Home - The Leader in Broadband http://home.com/faster Message-ID: <002H7.132769$My2.76373844@news1.mntp1.il.home.com> References: Usually a BSP will not touch it...unless it sets up the SMC for serial console of the FCC for Ethernet... At least this has been my experience over the past 5 years with 860...and now 8260 BSPs. "Raymond Yeung" wrote in message news:d83bb8e3.0110301109.6918070@posting.google.com... > We got this SBC BSP from WindRiver. Based on their target.nr > file, I got one picture of the DPRAM Map. However, when I > dump the memory space, I found that certain regions that are > marked as unused actually contains non-zeros. > > My question are that: Does VxWorks zero DPRAM region? Is it > normal for an "unused" area (in DPRAM, of course) to have non-zero > values. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: clock corruption Date: Sat, 10 Nov 2001 04:44:57 GMT From: Ephraim Gadsby Organization: - minimal Message-ID: References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> On Thu, 8 Nov 2001 17:20:41 -0000, "Dave Korn" wrote: >Ephraim Gadsby wrote in message ><3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com>... >>On Wed, 07 Nov 2001 14:22:03 +0100, Ross Staton >> wrote: >>You may have some code that is manipulating vxTicks directly and >>corrupting it. > > He does. It's called "The vxworks kernel". Anytime you set a delay - and >this goes for timeouts too - that, when added to the vxTicks variable, would >cause it to wrap round, the OS sets vxTicks back to zero and sets the delay >timer to (zero plus delay length), rather than setting the delay timer to >(current ticks + delay length) as it would otherwise do. > With a 100Hz clock 2^32 ticks is well over a year, so the bug you describe would be virtually impossible to reproduce unless you have timeouts of over a year, or application code is giving a negative timout. In my opinion the latter would certainly count as an application bug - I would not expect a RT kernel to validate this for me. I haven't verfied this myself but someone from WRS told me that the timeout queue is setup so that the next timeout to go-off stores an offset from now, and all the others store an offset from the preceeding timeout. I can't see why they would need to reset vxTicks. Could you point out the kernel code that resets vxTicks? I'd like to have a look. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: clock corruption Date: Sat, 10 Nov 2001 04:46:07 GMT From: Ephraim Gadsby Organization: - minimal Message-ID: <9bcputs8rv0pmdf3fnrvj42ap32ivcv8nf@4ax.com> References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <3BEBA352.9D414CFE@icn.siemens.de> <_ZUG7.17$4k.29463@newsr2.u-net.net> On Fri, 9 Nov 2001 18:12:54 -0000, "Dave Korn" wrote: > > It is/was TSR# 144712. When they sent us the clockLib source, they asked >us if they could close it and we said OK because we were happy, so I have no >idea if they ever made an SPR or patch from it. Its in the 5.4 version we have. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: logMsg side-effects Date: 9 Nov 2001 21:58:04 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111092158.6d053829@posting.google.com> References: <65b2abfc.0111091037.7e8ad439@posting.google.com> Hello, If called from interrupt level, logMsg, which is basically just a called to msgQSend(), should not change the current interrupt settings. If called from task level, it could cause a context switch (likely since tLogTask has a pretty high priority), and that will usually enable interrupts (depending on how the CPU works, and the how they were disabled - check your docs for info). When the calling task resumes, they will revert to the locked state. As for local variables, they are OK, but watch out for pointers to transient data (e.g. passing the address of an automatic variable). You must make sure if you pass a pointer, that it points to something that won't change! HTH, John... mynamvs@nsc.network.com (Venkat Mynampati) wrote in message news:<65b2abfc.0111091037.7e8ad439@posting.google.com>... > Hi, > Does logMsg() have any side-effects like unmasking of interrupts? > Say, i am in ISR and i masked my interrupts , after that i did a logMsg(), > now, when logMsg() returns, will it unMask the interrupts? > > What could be effects of calling logMsg() with local variables? > > TIA > Venkat --------------------------- Newsgroups: comp.os.vxworks Subject: Re: [AE] VxWorks AE memory access Date: 9 Nov 2001 22:06:11 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111092206.89b49e7@posting.google.com> References: <14fc63a8.0111091116.69f08060@posting.google.com> Hello, > I'm designing an application on PowerPC MPC860 that needs to access > the Parallel I/O port B. The access to the port is done through a > memory map register. I want to know if VxWorks AE allow me to access > directly the memory map registers in the standard way: > > ex: > int immrVal = vxImmrGet(); > *PBDAT( immrVal ) = 0x00001000; This would work if the code was located in the kernel domain, but would not be allowed from a user level domain. Probably the simplest way of getting this to work from user level is to create a small function in your kernel that does this, make it an entry point and call it from your application... A more involved solution would involve mapping the appropriate part of the address space into either (a) all user spaces, or (b) just the user-level domain(s) that need it. You can read about these ideas in a tech note available on WindSurf. Here's a link to the relevant section of the tech note: http://www.wrs.com/csdocs/technotes/ide/tae/WTN74/sharedData.html#kernel You might also want to take a look at some of the others that are there if you're just starting with AE. The index can be found at: http://www.wrs.com/csdocs/product/tae/wtns.shtml HTH, John... --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Updating GNU C Compiler Date: Sat, 10 Nov 2001 09:00:50 +0000 From: Mark Durham Message-ID: References: <9s49g3$2oe$1@plutonium.btinternet.com> I've been advised by WRS that it would not be a good idea to upgrade the GCC compiler. WRS reckon that they test GCC before releasing it and that most of the bugs in GCC are spotted by the WRS people. WRS are visiting shortly and bringing a guru with them - I'll see what happens. In article <9s49g3$2oe$1@plutonium.btinternet.com>, martin brook writes >All you need to know > >http://www.lysergic.u-net.com/ > >Why you have to get this free from the web when WRS could charge money for >it I don't know. I hope WRS shareholders are listening :) > > >TTFN martin > > >Mark Durham wrote in message >news:ns8KRJAs7O57Ewb6@rosedene.demon.co.uk... >> Hi, >> >> I've searched the WindSurf area at WRS and cannot find any details on >> how to upgrade the version of GCC that shipped with Tornado 2.0 >> >> Is it just a case of getting the latest NT binaries and libraries for >> GCC and installing them? >> >> Thanks. >> -- >> Hummm. Looks complicated ..... might need a bigger hammer! >> Mark Durham (mark@rosedene.demon.co.uk) >> > > - -- Hummm. Looks complicated ..... might need a bigger hammer! Mark Durham (mark@rosedene.demon.co.uk) --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Sun Nov 11 04:03:09 2001 From: Vxworks Exploder Date: Sun Nov 11 04:03:11 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Sun Nov 11 04:03:05 PST 2001 Subject: Re: clock corruption Subject: Re: [AE] VxWorks AE memory access Subject: loadModule question Subject: Desperate for help: Between a rock and hard code... Subject: Re: Compact Flash. Subject: method address Subject: openssl on vxworks -- how to reduce the size of libcrypto and libssl? Subject: Re: Desperate for help: Between a rock and hard code... Subject: Re: method address Subject: DESCRIPTION clause and OBJECT IDENTIFIER ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: clock corruption Date: Sat, 10 Nov 2001 13:24:26 GMT From: Ephraim Gadsby Organization: - minimal Message-ID: <7iaqutgnmf5s9j39tfobmj8r0j9afa7heu@4ax.com> References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <3BEBA352.9D414CFE@icn.siemens.de> <_ZUG7.17$4k.29463@newsr2.u-net.net> <9bcputs8rv0pmdf3fnrvj42ap32ivcv8nf@4ax.com> On Sat, 10 Nov 2001 04:46:07 GMT, Ephraim Gadsby wrote: >On Fri, 9 Nov 2001 18:12:54 -0000, "Dave Korn" > wrote: > > >> >> It is/was TSR# 144712. When they sent us the clockLib source, they asked >>us if they could close it and we said OK because we were happy, so I have no >>idea if they ever made an SPR or patch from it. > >Its in the 5.4 version we have. Sorry I was mixing up messages, its the change that takes a copy of vxTicks that I have seen. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: [AE] VxWorks AE memory access Date: Sat, 10 Nov 2001 17:54:28 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <14fc63a8.0111091116.69f08060@posting.google.com> <488e459a.0111092206.89b49e7@posting.google.com> I think the first suggestion is better - add a simple finction to your BSP to handle all the custom hardware including this parallel port, so it is akin to other BSP functions with respect to protection domains. So your application will access the custom hardware via the customized BSP, which will make a lot of sense in terms of proper design, and will make it easier to adopt to hardware changes. Leonid "John" wrote in message news:488e459a.0111092206.89b49e7@posting.google.com... > Hello, > > > I'm designing an application on PowerPC MPC860 that needs to access > > the Parallel I/O port B. The access to the port is done through a > > memory map register. I want to know if VxWorks AE allow me to access > > directly the memory map registers in the standard way: > > > > ex: > > int immrVal = vxImmrGet(); > > *PBDAT( immrVal ) = 0x00001000; > > This would work if the code was located in the kernel domain, but > would not be allowed from a user level domain. Probably the simplest > way of getting this to work from user level is to create a small > function in your kernel that does this, make it an entry point and > call it from your application... > > A more involved solution would involve mapping the appropriate part of > the address space into either (a) all user spaces, or (b) just the > user-level domain(s) that need it. > > You can read about these ideas in a tech note available on WindSurf. > Here's a link to the relevant section of the tech note: > > http://www.wrs.com/csdocs/technotes/ide/tae/WTN74/sharedData.html#kernel > > You might also want to take a look at some of the others that are > there if you're just starting with AE. The index can be found at: > > http://www.wrs.com/csdocs/product/tae/wtns.shtml > > HTH, > > John... --------------------------- Newsgroups: comp.os.vxworks Subject: loadModule question Date: Sat, 10 Nov 2001 19:40:53 GMT From: "Kelly Hornsby" Organization: Excite@Home - The Leader in Broadband http://home.com/faster Message-ID: <9pfH7.68737$zG.6305167@news1.rdc1.ga.home.com> Hello All When I do a loadModule call to pull an ELF module from flash (via memDev), I cannot tell for sure if all the symbols are resolved. Will I get a NULL module id if there are unresolved symbols? Is there any way to tell for sure that everything resolved correctly? --------------------------- Newsgroups: comp.os.vxworks Subject: Desperate for help: Between a rock and hard code... Date: Sat, 10 Nov 2001 21:04:29 GMT From: Chris Whitehead Organization: Excite@Home - The Leader in Broadband http://home.com/faster Message-ID: <3BED96BA.418DF950@home.com> Hello, I have an unusual problem with a Vxworks system that we use within a PCB board manufacturing "pick and place" machine. The board's function is to run a specialized vision system for the machine, which runs under Vxworks and a PPC603e processor. One half of the board is custom ASICs and video system, but the other half seems to be a generic PowerPC configuration using SDRAM , PCI/Memory controller and two Intel Flashdrive chips. The problem is that one morning the system refused to run the application program saying that drive F: was no longer accessible. The boot PROM and rest of the processor system seems OK and I can get into Tornado and run the resident commands. Assuming that just one or both of the Flashdrive chips has failed and we can replace them, my problem is that I don't know the parameters for the functions to reinitialize the flash file system. I also don't know if the flash file system is part of a BSP or if it was written by the system designer. I have the original application software and can write it back into the system, but not until I can reformat the flash drive. My question is can anyone tell me if WRS ever supplied a stock driver for 28F016Jx Intel flashdrive and what the parameter structure would be for commands such as flashFsDevCreate, flashFsFormat, etc.. In case anyone is wondering why I'm not asking the vendor, they don't know how to fix it because the project was terminated 3 years ago and basically no one knows how it works anymore. The parties involved parted ways on a sour note and have only been replacing faulty boards (which go for 16K US at the moment) A new system costs even more. My only hope is to go through Vxworks channels directly myself Thanks VERY much for any help anyone has! Chris Whitehead --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Compact Flash. Date: 10 Nov 2001 17:58:03 -0800 From: vloscomp@yahoo.com (Vinh) Organization: http://groups.google.com/ Message-ID: References: <3BEC6388.A8220099@yahoo.com> Hi Emory, Thank you for pointing me to these files, i will ask the FAE for it. I would like to know if u are using dosFs 2.0 to access this device. If so can u give me some pointer to documentation or tips. Thank You, Vinh Lam Emory Stagmer wrote in message news:<3BEC6388.A8220099@yahoo.com>... > I'm using this on a PowerPC. Files > are 'winbpic.h' and 'winbpic.c' from > WindRiver. > > Here's the header from the .H file: > > -==========================- > > /* winbPic.h - Winbond W83C553F System I/O Controller with PCI > definitions */ > > /* Copyright 1984-1998 Wind River Systems, Inc. */ > > /* Copyright 1996-1998 Motorola, Inc. */ > > /* > modification history > -------------------- > 01g,11nov98,ms_ minor changes; code review feedback > 01f,27oct98,ms_ modified to comply with WRS coding standards > 01e,26Aug98,mo Implement MMU for Map A and B > 01d,08Apr98,My Implemented auto-detect memory map. > 01c,18Mar98,mo Add all the PCI, ISA, chrp, and prep space defines > 01b,16Mar98,mo Change all occurances of IBC to PIC, > change IBC_BYTE_IN and IBC_BYTE_OUT to more > intuitive usage (and name to PIC_BYTE....) > use global picBaseAdrs instead of RAVEN_BASE_ADRS > 01a,12Mar98,mo created file > */ > > -============================- > > Emory Stagmer > Northrup Grumman Space Systems Operation > > Vinh wrote: > > > > Hi, > > Support for booting from Compact Flash card: > > The PPC604 BSP has Winbond W83C553 chip (PCI IDE controller used on > > many PC motherboards) for which Windriver says they > > have no driver support. But Winbond says that this chip is > > register compatible with Intel's PCI IDE specifications and > > all IDE controllers used on PC motherboards use either > > ISA or PCI bus, so Windriver should have support for some > > other chip that is also compabile with Intel specs. > > > > I would like to know if there is any support (WindRiver or Third party) > > for Winbond W83C553 chip. > > > > Or if any help/tip is appreciated. > > > > Thank you > > Vinh Lam --------------------------- Newsgroups: comp.os.vxworks Subject: method address Date: Sun, 11 Nov 2001 02:29:52 GMT From: "koreiabip21" Organization: Excite@Home - The Leader in Broadband http://home.com/faster Message-ID: Is there a way to print out the address of a method? class A { public: void printMyAddress(); }; void go() { // somehow need to print the address of A::printMyAddress(). } From the VxWorks5.4 prompt, i want to invoke this method, so I need the address. Thanks. Beep. --------------------------- Newsgroups: comp.os.vxworks Subject: openssl on vxworks -- how to reduce the size of libcrypto and libssl? Date: Sun, 11 Nov 2001 05:16:37 GMT From: "June" Organization: Excite@Home - The Leader in Broadband http://home.com/faster Message-ID: Reply-To: "June" I've successfully built the libcrypto and libssl after i removed about 20 files (most of them are test programs, i think). But the lib files are too big. One is more than 12M, another is 5M. For me i only need X509, MD5, SHA. How can i reduce the size of the library with all the functions i need in it? Is there anybody has this experiences? Cound you pls help me? Thanks June --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Desperate for help: Between a rock and hard code... Date: Sun, 11 Nov 2001 09:18:00 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <3BED96BA.418DF950@home.com> Chris, today is your lucky day. The Flash file system on your board is FlashLib, from RST Software Industries Ltd (Israel), which I founded and managed and sold to WindRiver in January 1997. My conclusion is based on the function names you mentioned. I hope these function names are accurate. WindRiver has discontinued FlashLib some time in 1998 in favour of TrueFFS which it OEM'ed from M-Systems. But because FlashLib was shipped in full source code, there are some projects out there still using FlashLib with self-support. I will help you on this, by sending you the FlashLib manual in a separate message. Don't want to bloat the newsgroup. Cheers, - Leonid "Chris Whitehead" wrote in message news:3BED96BA.418DF950@home.com... > Hello, > > I have an unusual problem with a Vxworks system that we use within a PCB > board manufacturing "pick and place" machine. The board's function is to > run a specialized vision system for the machine, which runs under > Vxworks and a PPC603e processor. One half of the board is custom ASICs > and video system, but the other half seems to be a generic PowerPC > configuration using SDRAM , PCI/Memory controller and two Intel > Flashdrive chips. > > The problem is that one morning the system refused to run the > application program saying that drive F: was no longer accessible. The > boot PROM and rest of the processor system seems OK and I can get into > Tornado and run the resident commands. Assuming that just one or both of > the Flashdrive chips has failed and we can replace them, my problem is > that I don't know the parameters for the functions to reinitialize the > flash file system. I also don't know if the flash file system is part of > a BSP or if it was written by the system designer. I have the original > application software and can write it back into the system, but not > until I can reformat the flash drive. > > My question is can anyone tell me if WRS ever supplied a stock driver > for 28F016Jx Intel flashdrive and what the parameter structure would be > for commands such as flashFsDevCreate, flashFsFormat, etc.. > > In case anyone is wondering why I'm not asking the vendor, they don't > know how to fix it because the project was terminated 3 years ago and > basically no one knows how it works anymore. The parties involved parted > ways on a sour note and have only been replacing faulty boards (which go > for 16K US at the moment) A new system costs even more. My only hope is > to go through Vxworks channels directly myself > > > Thanks VERY much for any help anyone has! > > Chris Whitehead > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: method address Date: 11 Nov 2001 00:03:15 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111110003.269b546c@posting.google.com> References: Hello, You could just look it up by name; the name will be mangled, but the shell is able to demangle these so you'll be able to call the function. That is the good news; the bad news is that you can't just call a method like a normal function. Why? Well, because a method needs to be called on an instance of the class of which it is a member. Ths safest way to call member functions is to declare them as static members. These have all the privilege of a member, except one: there is no this pointer defined for a static member, so you cannot just access data members directly. Have a search through the archives for this group for info about calling C++ members from the shell (and also using them as entry points for VxWorks tasks). HTH, John... "koreiabip21" wrote in message news:... > Is there a way to print out the address of a method? > > class A > { > public: > void printMyAddress(); > }; > > void go() > { > // somehow need to print the address of A::printMyAddress(). > } > > From the VxWorks5.4 prompt, i want to invoke this method, so I need the > address. > > Thanks. > > Beep. --------------------------- Newsgroups: comp.protocols.snmp,comp.os.psos,comp.os.vxworks Subject: DESCRIPTION clause and OBJECT IDENTIFIER Date: Sun, 11 Nov 2001 10:09:03 +0200 From: Alex Vinokur Organization: Scopus Network Technologies Message-ID: <3BEE321F.D01482B9@bigfoot.com> Followup-To: comp.protocols.snmp ============================ pRISM+ for pSOSystem/PowerPC pRISM+ 1.2.3 . pSOSystem 2.2.2 Diab Data D-CC Optimizing C compiler Host : Windows98 Target : PowerPC (MPC860) - ---------------------------- SNMP Release 7.4 (SNMPv1) Epilogue Technology Emissary SNMP MIB Compiler, version 6.3 ============================ Here is a fragment of some mib tree. - -------------------------------------------- xxx OBJECT IDENTIFIER ::= { top 1 } yyy OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "This is yyy" ::= { xxx 1 } - -------------------------------------------- I would like to add DESCRIPTION clause for xxx as well. I tried to do it like : xxx OBJECT IDENTIFIER DESCRIPTION "This is xxx" ::= { top 1 } However it doesn't work : mibcompiler produces "expected ::=, got DESCRIPTION" . Is there any possibility to get what I want to? =========================== Alex Vinokur mailto:alexvn@bigfoot.com mailto:alexvn@dr.com http://up.to/alexvn http://go.to/alexv_math =========================== --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Mon Nov 12 01:46:07 2001 From: "Anja Krause" Date: Mon Nov 12 01:46:09 PST 2001 Subject: Why vxWorks memPartInfoGet is so slow Hi again, I designed a memory supervisioning process in our system and noticed that the memPartInfoGet needs lot of time to process. Does anyone one know anything about this function and what is done that needs such log to calculate. How can I retrieve otherwise the amount of free memory ?? Thanks in advance for any support Anja _________________________________________________________________ Downloaden Sie MSN Explorer kostenlos unter http://explorer.msn.de/intl.asp From vxwexplo-errs@csg.lbl.gov Mon Nov 12 02:42:21 2001 From: Jitendra kanitkar Date: Mon Nov 12 02:42:23 PST 2001 Subject: Dummy n/w interface.(TUN/TAP) vxWorks Greetings, I wanted to know, is there any s/w network interface available in vxWorks. Something like TUN/TAP in Linux. ( Instead of sending the packet on to h/w interface it gives it to user space program in Linux). What I want, is to have a dummy device which I may(/may not) start in runtime. If it is not directly available is there any way out for this? (We have vxworks 5.4) Thanks in advance, Jitendra. From vxwexplo-errs@csg.lbl.gov Mon Nov 12 04:03:10 2001 From: Vxworks Exploder Date: Mon Nov 12 04:03:13 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Mon Nov 12 04:03:06 PST 2001 Subject: Re: Max #of END objects connected to the MUX? Subject: Re: Updating GNU C Compiler Subject: Re: openssl on vxworks -- how to reduce the size of libcrypto and libssl? Subject: Intel ev386ex's bsp! Subject: MMU &&Shared memory Subject: VxWorks 3.2 (OSF) variable subnet routes Subject: Re: What does this mean: S_vmLib_NOT_PAGE_ALIGNED? Subject: Re: clock corruption Subject: Re: clock corruption Subject: Re: clock corruption Subject: Re: Memory loss with STL ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: Max #of END objects connected to the MUX? Date: 11 Nov 2001 11:30:23 -0800 From: jperron@cetaceannetworks.com (Jason Perron) Organization: http://groups.google.com/ Message-ID: References: <3BE9FC40.000035.23568@nexusnet2.accio.com> Thanks, but doesn't IP_MAX_UNITS control how many interfaces can be attached to the IP stack? What I am wondering is if there is a limit on the number of interfaces that the MUX can handle? Jason snacjj@sbell.com.cn wrote in message news:<3BE9FC40.000035.23568@nexusnet2.accio.com>... > Hi, you can change it in the file ConfigNet.h > > there are lines > #ifndef IP MAX UNITS > # define IP MAX UNITS (NELEMENTS (endDevTbl) - 1) > #endif > > change them as you need. > > >Hello, > > > >I am wondering if anybody knows what the maximum number of END objects > >that can be attached to the MUX is? If there is a set limit, is there > >someplace where a user can change it? > > > >Thanks, > > > >Jason > > > > <<<<>>>> > Mensaje publicado mediante http://noticias.ipbusiness.com, > las news a trav? de web. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Updating GNU C Compiler Date: Sun, 11 Nov 2001 20:54:07 -0000 From: "martin brook" Organization: BT Internet Message-ID: <9smo8d$h8m$1@plutonium.btinternet.com> References: <9s49g3$2oe$1@plutonium.btinternet.com> This is why we are still in the dark ages with out compilers from WRS then. Its a shame they can't put something back into GNU after selling GNU products to us. TTFN martin Mark Durham wrote in message news:vM1IJLACzO77EwIY@rosedene.demon.co.uk... > I've been advised by WRS that it would not be a good idea to upgrade the > GCC compiler. WRS reckon that they test GCC before releasing it and that > most of the bugs in GCC are spotted by the WRS people. > > WRS are visiting shortly and bringing a guru with them - I'll see what > happens. > > In article <9s49g3$2oe$1@plutonium.btinternet.com>, martin brook > writes > >All you need to know > > > >http://www.lysergic.u-net.com/ > > > >Why you have to get this free from the web when WRS could charge money for > >it I don't know. I hope WRS shareholders are listening :) > > > > > >TTFN martin > > > > > >Mark Durham wrote in message > >news:ns8KRJAs7O57Ewb6@rosedene.demon.co.uk... > >> Hi, > >> > >> I've searched the WindSurf area at WRS and cannot find any details on > >> how to upgrade the version of GCC that shipped with Tornado 2.0 > >> > >> Is it just a case of getting the latest NT binaries and libraries for > >> GCC and installing them? > >> > >> Thanks. > >> -- > >> Hummm. Looks complicated ..... might need a bigger hammer! > >> Mark Durham (mark@rosedene.demon.co.uk) > >> > > > > > > -- > Hummm. Looks complicated ..... might need a bigger hammer! > Mark Durham (mark@rosedene.demon.co.uk) > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: openssl on vxworks -- how to reduce the size of libcrypto and libssl? Date: 11 Nov 2001 20:17:10 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: Sender: bpringlemeir@DeadDuck June> I've successfully built the libcrypto and libssl after i June> removed about 20 files (most of them are test programs, i June> think). But the lib files are too big. One is more than 12M, June> another is 5M. For me i only need X509, MD5, SHA. How can i June> reduce the size of the library with all the functions i need in June> it? Is there anybody has this experiences? Cound you pls help June> me? Hint 1, libraries are not code. Link your code with libcrypto.a and libssl.a. If you have just server code or just client code, the image size will decrease a lot. Take a look at these defines, # Utility # -DNO_BIO=1 -DNO_BF=1 # Symmetric ciphers # -DNO_DES=1 -DNO_RC2=1 -DNO_RC4=1 -DNO_RC5=1 -DNO_CAST=1 -DNO_IDEA=1 # Asymmetric ciphers # -DNO_RSA=1 -DNO_DSA=1 -DNO_DH=1 # Digests # -DNO_MD2=1 -DNO_MD4=1 -DNO_MD5=1 -DNO_SHA=1 -DNO_RIPEMD=1 -DNO_MDC2=1 #ADDED_CFLAGS += -DNO_RC2=1 -DNO_RC5=1 -DNO_CAST=1 -DNO_IDEA=1 #ADDED_CFLAGS += -DNO_MD2=1 -DNO_MD4=1 -DNO_RIPEMD=1 I especially like the define `NO_IDEA' ;-). You need to compile libraries and app with the same flags. If you have compiled with the default vxWorks flags, I suggest that you use -fno-volatile. This will reduce the image size by a little. I also used these flags, ADDED_CFLAGS += -DVXWORKS=1 -DGETPID_IS_MEANINGLESS -DNO_CHMOD I would appreciate it if you email me with any other information that you get. I am also trying to do the same things... although I am writing a `/dev/random' type device first. regards, Bill Pringlemeir. - -- Have you ever been forced by your TV to eat brussel sprouts? Or tried to become one with a small midget while driving down the road at 120mph? You will. And the company that will bring it to you: AT&T. vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html" --------------------------- Newsgroups: comp.os.vxworks Subject: Intel ev386ex's bsp! Date: 11 Nov 2001 18:28:25 -0800 From: yongchen@online.sh.cn (chenyong) Organization: http://groups.google.com/ Message-ID: Hi, I am using the intel ev386ex board with no ethernet card,and porting the WindRiver's bsp on it ! The board has two serial ports,512k flash,4M Dram,etc. Now I have some problems about BSP! I want to use the serial port to connect target server, when I write the VxWorks_Rom(I have involve some banner information!),power on ,and no any words on HyperTerminal;but when I write bootrom_uncmp into flash,I can see the bootline on the HyperTerminal.I do not know how to use bootrom_cmp to download vxWorks image from this 512k space. I want to try other ways,anyone can tell me? Thanks! chen --------------------------- Newsgroups: comp.os.vxworks Subject: MMU &&Shared memory Date: 11 Nov 2001 23:15:44 -0800 From: ruchama@septier.com (Ruchama Goldshmidt) Organization: http://groups.google.com/ Message-ID: <5df340e0.0111112315.55186b3c@posting.google.com> Hi vxWorkers! I devlop a ppc8260 board. now,I try to enable the MMU and caches but when we test it on other boards it seemed that the BCR register must be configuerd to single bus mode (and not to the 60X compateble),but since we are booting from the shared memory device we have to conifigure the bcr to 60x 1.does anyone work with the shared memory and mmu together 2.what should be added to the bsp in order to enable the cache? TIA --------------------------- Newsgroups: comp.os.vxworks Subject: VxWorks 3.2 (OSF) variable subnet routes Date: 11 Nov 2001 23:31:12 -0800 From: robertas.simkeviciu@se.abb.com (Robertas Simkevicius) Organization: http://groups.google.com/ Message-ID: <8bc365aa.0111112331.21e4904b@posting.google.com> Hi, I have this old VxWorks box with two NIC's and need to setup static routes to other subnet's. So far I could not find a way to add route to subnet with different subnet then *.*.*.0. I thought this is not possible on this version of VxWorks, but it looks like VxWorks gets dynamically created routes with variable subnets from ICMP message that router sends. Now I wondering if have enough knowledge or maybe there way around to setup variable subnet routes in this version. Is there any other commands than addRoute("X.X.X.0", "gateway") to add route to network in this version? Rigth now I am ussing routes to hosts to get it working, but sometimes my VxWorks after local switch restart "forgets" to look into hosts routing table and I'm loosing one interface. I would appreciate any information on this topic. Thanks in advance, Robertas Simkevicius System Engineer --------------------------- Newsgroups: comp.os.vxworks Subject: Re: What does this mean: S_vmLib_NOT_PAGE_ALIGNED? Date: Mon, 12 Nov 2001 10:07:57 +0100 From: Sebastien Fauris Organization: Nortel Networks Message-ID: <3BEF916D.DC396050@europem01.nt.com> References: <9shp5e$fsp$1@bcarh8ab.ca.nortel.com> Reply-To: sfauris@europem01.nt.com Leland Mills wrote: > > I'm trying to swap in and out the validity of a page in memory. I'd like > for this page to be viewable sometimes and not other times. Here, from the > command line, I'm just trying to invalidate it, and then validate it again. > I can invalidate it fine, but them I get an error with an errno equal to > S_vmLib_NOT_PAGE_ALIGNED when I try to validate the page again. What am I > doing wrong? > > Card 0 -> vmBaseStateSet(0x0,0xe57a000,0x1000,0x3,0x0) > > > Card 0 -> vmBaseStateSet(0x0,0xe57a000,0x1000,0x3,0x1) > > > Card 0 -> d &errno,2 > > 0026f4d0: 0002 0055 * U.........* Hi, what is your targeted architecture ? PPC, x86 ? First, in a WindShell, do a vmBasePageSizeGet and check that your address (0xe57a000) is page aligned and the size (0x1000) is multiple of the page size. I have a such problem on PPC architecture but I get errno equal to S_mmuLib_NO_DESCRIPTOR when I try to revalidate a page I invalidated. It seems that the PTE of the invalidated page has been removed from the page table and for this reason can not be modified again using a vmBaseStateSet. A new PTE should be created again into the page table but I don't know how. This is just my two cents help, Sebastien. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: clock corruption Date: Mon, 12 Nov 2001 11:16:40 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9soara$k29$1@uranium.btinternet.com> References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <3BEBA352.9D414CFE@icn.siemens.de> <_ZUG7.17$4k.29463@newsr2.u-net.net> <9bcputs8rv0pmdf3fnrvj42ap32ivcv8nf@4ax.com> <7iaqutgnmf5s9j39tfobmj8r0j9afa7heu@4ax.com> > >> > >> It is/was TSR# 144712. When they sent us the clockLib source, they asked > >>us if they could close it and we said OK because we were happy, so I have no > >>idea if they ever made an SPR or patch from it. > > > >Its in the 5.4 version we have. > > Sorry I was mixing up messages, its the change that takes a copy of > vxTicks that I have seen. Nothing obviously wrong with eth clockLib objects I have (for ARM). (the other code that uses vxTicks is $%&*ed) David --------------------------- Newsgroups: comp.os.vxworks Subject: Re: clock corruption Date: Mon, 12 Nov 2001 11:51:44 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9soct3$2m1$1@neptunium.btinternet.com> References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> > > With a 100Hz clock 2^32 ticks is well over a year, so the bug you > describe would be virtually impossible to reproduce unless you have > timeouts of over a year, or application code is giving a negative > timout. No - just leave your system running for 16 months and try to schedule something at the same time each day. Not an unreasonable request for an embedded system. We've had unix servers up for those sorts of periods (without a UPS, so only go down when the power fails...) vxTicks can be zeroed by windWdStart, windReadyQRemove, windPendQPut or windDelay. I think they are all using the same macro - which is buggy for other reasons. windWdStart looks (something) like: now = vxTicks; /* this MAY just be the way the code has been optimised */ if ((unsigned)(timeout + now) < (unsigned)now) { qPriListCalibrate( &tickQhead, -now ); vxTicks = 0; } (timer->active ? qPriListResort : qPriListPut) ( &tickQhead, timer, vxTicks + timeout ); There are many bugs here..... For one thing interrupts are not disabled. I think we are inside the kernel lock - so an interrupt can cause a reshedule. However the timer interrupt can occur at any time - changing vxTicks. So: vxTicks = 0; should be intLock(); vxTicks -= now; intUnlock(); The value of 'vxTicks + timeout' used on the last line should be the one which was checked for wrap at the top (because vxTicks might have been incemented enough to cause it to wrap thge second time...) I'm not entirely sure that the code that schedules the timeout routines is disabled between the call to qPriListResort and vxTicks = 0. If nothing stops it running then all the times will expire if a timer interrupt occurs in that window. There is also the question of what happens if enough interrupt activity happens to vxTicks to have incremented past vxTicks + timeout by the time qPriListPut tries to add the item to the list? (this one could be that which causes the problems loading large files!) This is apart from all the problems caused by zeroing vxTicks itself.... David --------------------------- Newsgroups: comp.os.vxworks Subject: Re: clock corruption Date: Mon, 12 Nov 2001 11:53:01 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9socvu$2o3$1@neptunium.btinternet.com> References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> > I haven't verfied this myself but someone from WRS told me that the > timeout queue is setup so that the next timeout to go-off stores an > offset from now, and all the others store an offset from the > preceeding timeout. I can't see why they would need to reset vxTicks. I remember being told that - it must be in the course notes. However that isn't the way the code works. David --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Memory loss with STL Date: Mon, 12 Nov 2001 12:29:58 +0100 From: "Geurt Vos" Organization: Rohill Technologies BV Message-ID: References: <3bebd79e$1_2@news.datacomm.ch> > Hello > > our System: Tornado 2; gcc 2.7.2; VxWorks 5.4; STL Adapted SGI STL, 22. May > 1997 from Moscow group or something. > > our Problem: It looks like that we are loosing memory, while we use > STL-Containers. It just doesn't clean up anymore all the used memory space > at the end. If we test our code under Windows NT, we can't find the same > leaks. > > Has anyone had the same problems? > Should we update to a new STL, and which one? > During some stress-testing I ran into the same problem (of the 30Mb allocated only 10 or so Mb got released) and figured out why this happens, and it's a feature not a bug (well, in my case, using gcc 2.96, there's actually also a bug). I used several std::queues, which in turn by default use a std::deque. In the GCC implementation (2.96, not sure about 2.7.2), the default allocator used for std::deque doesn't release allocated memory. Instead for every type it keeps a list of 'free' memory. That is, every time you erase an object, instead of calling operator delete(), it adds the pointer to the now available memory to a list. Every time an object is inserted, the allocator first checks the 'free' list. If empty, only then operater new() is called. I guess the reason for doing this is to speed-up memory allocation/deallocation. If this is not what you want, I guess you have to provide your own 'default' allocator (which is quite simple to create), or maybe the default std::allocator can be used (I don't know if the default allocator used by std::deque _is_ the default std::allocator...). I don't know which other containers use the same allocator as std::deque... I think at least std::vector doesn't... Now to the bug: if I unload the module, the memory is not released, which in my case resulted in a _huge_ memory leak... HTH, Geurt --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Tue Nov 13 04:03:15 2001 From: Vxworks Exploder Date: Tue Nov 13 04:03:18 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Tue Nov 13 04:03:10 PST 2001 Subject: Re: What does this mean: S_vmLib_NOT_PAGE_ALIGNED? Subject: Problems with nfs Subject: Strange function behaviour Subject: Re: Strange function behaviour Subject: Re: Sending Broadcasts to 255.255.255.255 Subject: Re: logMsg side-effects Subject: Re: MMU &&Shared memory Subject: Re: logMsg side-effects Subject: Re: method address Subject: Re: clock corruption Subject: dosFS2, Mounting Disk Volume/Building FAT Subject: Re: Problems with nfs Subject: Re: logMsg side-effects Subject: Vx 5.2 and warnings from vxTypesOld.h Subject: Re: logMsg side-effects Subject: Re: dosFS2, Mounting Disk Volume/Building FAT Subject: Re: dosFS2, Mounting Disk Volume/Building FAT Subject: Re: Problems with nfs Subject: gratuitous arp Subject: Re: gratuitous arp Subject: Re: traceroute for vxworks Subject: tffsDevFormat() in cfiscs.c on Intel strataFlash 28f320J3A Subject: Re: gratuitous arp Subject: trapped into the failure of tffsDevFormat on intel 28f320J3A Subject: Re: Desperate for help: Between a rock and hard code... Subject: smc problem ppc8260 Subject: Re: method address Subject: Re: logMsg side-effects Subject: Re: Intel ev386ex's bsp! Subject: vxImmrGet ???????? ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: What does this mean: S_vmLib_NOT_PAGE_ALIGNED? Date: Mon, 12 Nov 2001 08:55:30 -0600 From: "Leland Mills" Organization: Nortel Message-ID: <9sonr9$78l$1@bcarh8ab.ca.nortel.com> References: <9shp5e$fsp$1@bcarh8ab.ca.nortel.com> <3BEF916D.DC396050@europem01.nt.com> Sorry, I cut-n-pasted the wrong error code. I am getting S_mmuLib_NO_DESCRIPTOR instead of the one I previously mentioned. Sebastien seems to have run into the same problem I have. Does anybody else know how to get invalidated pages back into circulation? Is this not the method for read-protecting pages? PS, Please hurry with an answer. I'm quickly running out of valid memory :-) --------------------------- Newsgroups: comp.os.vxworks Subject: Problems with nfs Date: Mon, 12 Nov 2001 16:07:05 +0100 From: Niklas Jonsson Organization: Ericsson Radio Systems Message-ID: <3BEFE599.2238CF31@era.ericsson.se> Hi, We got a small problem with nfs under vxworks, on one site we get huge differences between upstream and downstream data. VxWorks runs on a TSS (a machine simulatin cellphones calls) Anyway, the machine got a local disk, and when we transfer from nfs to the local disc we get around 4 megs. per second, if we do the opposite we only get 600k/s. The same happens with ftp. We have checked for packet losses and, isolated the network between the machines(this occurres on 4 TSS'es on that site, on our site we do not got this problem.) So are there any experienced problems with nfs being fast in one direction and slow in the other? We have also tried with different versions of VxWorks. Regards /Niklas --------------------------- Newsgroups: comp.os.vxworks Subject: Strange function behaviour Date: 12 Nov 2001 15:15:38 GMT From: pfk@c.zeiss.de (Frank Klemm) Organization: =?iso-8859-1?Q?a=B2+b=B2=3Dc=B2?= Message-ID: Reply-To: pfk@uni-jena.de The following function should wait for some microseconds. Compiler is cygnus-2.7.2-960126 egcs-971225 tornado 2.0, plattform is IA32. As long as "REPORT_TIME" is defined the program works. Otherwise the program hangs and nothing is printed, also no "Hallo". What's the problem? Also it is not possible to divide two 64 bit unsigned integers, a linker error occures. Missing symbols are ___udivdi3 and ___cmpdi2. - ----------------------------------------------------------------------------- #include #define CPU_CLOCK 233333333.333 /* CPU clock in Hz */ #define rdtscll(val) __asm__ __volatile__ ("rdtsc" : "=A" (val)) static unsigned long long ReadTimeStamp ( void ) { unsigned long long ts; rdtscll (ts); return ts; } void my_sleep ( double seconds ) { unsigned long long time; unsigned long long endtime; endtime = ReadTimeStamp (); endtime += (unsigned long long) (seconds * CPU_CLOCK); do { time = ReadTimeStamp (); #ifdef REPORT_TIME printf ( "%08lX%08lX %08lX%08lX\r", (long)(time >>32), (long)(time >> 0), (long)(endtime>>32), (long)(endtime>> 0) ); #endif } while ( time < endtime ); #ifdef REPORT_TIME printf ("\n"); #endif } int start ( int argc, char** argv ) { int i; printf ("Hallo\n"); fflush (stdout); my_sleep (1.); for ( i = 0; i <= 20; i++ ) { printf ( "Wait now %f sec\n", 0.02*i*i ); fflush (stdout); my_sleep (0.02*i*i); } return 0; } int main ( void ) { start ( 0, NULL); return 0; } - -------------------------------------------------------------------------------- Frank Klemm --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Strange function behaviour Date: Mon, 12 Nov 2001 16:59:08 +0100 From: "Werner Schiendl" Message-ID: <3beff29e$1@brateggebdc5.br-automation.co.at> References: Hi, For x86, the data type 'long long' is not 'officially' supported, IIRC. Therefore the missing symbols ___udivdi3, etc. I do not see an other obvious mistake, apart from the fact the you seem to have a main() function. You MUST NOT have a main function in any VxWorks project. You can name it whatever is to your desire, but never main(). This will usually cause linker errors... at least when you link everything into one image. hth Werner "Frank Klemm" wrote in message news:slrn9uvsaa.11l.pfk@c.zeiss.de... > The following function should wait for some microseconds. > Compiler is cygnus-2.7.2-960126 egcs-971225 tornado 2.0, plattform is IA32. > > As long as "REPORT_TIME" is defined the program works. > Otherwise the program hangs and nothing is printed, also no "Hallo". > What's the problem? > > Also it is not possible to divide two 64 bit unsigned integers, a linker > error occures. Missing symbols are ___udivdi3 and ___cmpdi2. > > -------------------------------------------------------------------------- - --- > #include > > #define CPU_CLOCK 233333333.333 /* CPU clock in Hz */ > #define rdtscll(val) __asm__ __volatile__ ("rdtsc" : "=A" (val)) > > static unsigned long long > ReadTimeStamp ( void ) > { > unsigned long long ts; > rdtscll (ts); > return ts; > } > > void > my_sleep ( double seconds ) > { > unsigned long long time; > unsigned long long endtime; > > endtime = ReadTimeStamp (); > endtime += (unsigned long long) (seconds * CPU_CLOCK); > > do { > time = ReadTimeStamp (); > #ifdef REPORT_TIME > printf ( "%08lX%08lX %08lX%08lX\r", > (long)(time >>32), > (long)(time >> 0), > (long)(endtime>>32), > (long)(endtime>> 0) ); > #endif > } while ( time < endtime ); > > #ifdef REPORT_TIME > printf ("\n"); > #endif > } > > int > start ( int argc, char** argv ) > { > int i; > > printf ("Hallo\n"); > fflush (stdout); > my_sleep (1.); > > for ( i = 0; i <= 20; i++ ) { > printf ( "Wait now %f sec\n", 0.02*i*i ); > fflush (stdout); > my_sleep (0.02*i*i); > } > > return 0; > } > > int > main ( void ) > { > start ( 0, NULL); > return 0; > } > > -------------------------------------------------------------------------- - ------ > > Frank Klemm --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Sending Broadcasts to 255.255.255.255 Date: Mon, 12 Nov 2001 17:27:47 +0100 From: "Horst Triebenbacher" Message-ID: <3beff945$1@brateggebdc5.br-automation.co.at> References: <3bb1bdfb$0$18120$6e365a64@newsreader02.highway.telekom.at> <3bc1c258$0$60726$6e365a64@newsreader02.highway.telekom.at> <3bcd277e$0$9460$6e365a64@newsreader02.highway.telekom.at> "Dave Korn" schrieb im Newsbeitrag news:Psez7.11$rQ4.132449@newsr2.u-net.net... > Horst Triebenbacher wrote in message > <3bcd277e$0$9460$6e365a64@newsreader02.highway.telekom.at>... > >This is the original code for my broadcast. I have tried to do this with > >udp-socket too -with same effects. I got the tip to add a default route to > >my ethernet interface before sending the broadcast - this works. > > Hmm, it's good that you've got it working, but it shouldn't have been > necessary to add a default route, should it? I mean a broadcast should be > sent through *all* the known network interfaces that are flagged as > broadcast-capable, shouldn't it? I think so, but it has no effects. > > > sock = socket(AF_INET,SOCK_RAW,IPPROTO_LNCP); > > Mind you, you didn't mention that you were using raw sockets before, and > that perhaps makes a lot of difference. Raw sockets are one of the > trickiest grey areas of network programming, since there's no clearly > defined standard for how they operate, there are many specifications that > have significantly different behaviour and semantics from each other, and > there are a lot of buggy, restricted and/or partial implementations out > there. > > In particular, the SO_BROADCAST option is specified as applying to UDP > sockets only, and so is probably ignored by your raw socket. That being the > case, it may also be that the raw socket protocol layer doesn't have a > concept of a broadcast address, and is attempting to route the packet as if > it were an ordinary packet; hence it sends it out the default interface > (dropping it if there is none). You could test this theory by adding a > specific route to 255.0.0.0:ff000000 rather than adding a default route; > then see if the packets still make it. > > However, it should have worked when you tried it with UDP. Is it perhaps > the case that in the course of development you first tried UDP, couldn't get > it working, then tried raw sockets, and only then added the SO_BROADCAST > option? My first approach was using UDP with SO_BROADCAST set. It doesn't work. Then I mention that what I need is raw packets. So the last step was to implement if fully as raw socket and make it work. BTW Now I have to specify the whole protocol and another group have to implent it. So if they have problems, I will support them. But now I know how to do it. > > > BOOL fHeader = TRUE; > > > err = setsockopt(sock,SOL_SOCKET,SO_BROADCAST,(char > >*)&fHeader,sizeof(BOOL)); > > Or is it possible that you are using a big-endian system on which BOOL is > not defined as a char, but is a short or int ? You absolutely *must* pass a > pointer to a real char to the setsockopt function here, not merely cast a > pointer to another type to char. The receiving socket control function deep > inside the network stack expects to receive a pointer to a single byte that > is 0 or 1, so if you pass it a pointer to a short that is 0 or 1 on a > big-endian system, it will look at the high byte of that short or int which > is always zero and you will never enable broadcasting! > > If this is the case, you may also be able to consider using normal UDP > packets instead of a custom protocol over raw sockets. Apart from the fact > that UDP sockets are more reliable to code for (since more standard and well > tested) it doesn't make any difference if your kit is only ever going to be > used on private LANs but if you want these packets to traverse the public > internet it would be very wrong indeed to start sending IP packets without a > standard IANA-allocated protocol number in them, you might well find that > they didn't route reliably or that they get specifically filtered at > backbone routers. > > DaveK > -- > Burn your ID card! http://www.optional-identity.org.uk/ > Help support the campaign, copy this into your .sig! > > thanks Horst --------------------------- Newsgroups: comp.os.vxworks Subject: Re: logMsg side-effects Date: 12 Nov 2001 09:35:01 -0800 From: mynamvs@nsc.network.com (Venkat Mynampati) Organization: http://groups.google.com/ Message-ID: <65b2abfc.0111120935.5d657c7f@posting.google.com> References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <488e459a.0111092158.6d053829@posting.google.com> > > If called from interrupt level, logMsg, which is basically just a > called to msgQSend(), should not change the current interrupt > settings. If called from task level, it could cause a context switch > (likely since tLogTask has a pretty high priority), and that will > usually enable interrupts (depending on how the CPU works, and the how > they were disabled - check your docs for info). When the calling task > resumes, they will revert to the locked state. > John, Thanks for replying. Does a context switch unlocks the interrupts? Where can i get more info on this? Also,if unlocking can happen on context-switch, then all the system tasks, like tNetTask or any task that has higher priority than my application task(which locked the ints, because it is a requirement) will unlock interrupts. Also, you said about doc's, could you pls give list of docs to read (which i will try to get hold of). my board is ebsa285. Thanks Venkat > > mynamvs@nsc.network.com (Venkat Mynampati) wrote in message news:<65b2abfc.0111091037.7e8ad439@posting.google.com>... > > Hi, > > Does logMsg() have any side-effects like unmasking of interrupts? > > Say, i am in ISR and i masked my interrupts , after that i did a logMsg(), > > now, when logMsg() returns, will it unMask the interrupts? > > > > What could be effects of calling logMsg() with local variables? > > > > TIA > > Venkat --------------------------- Newsgroups: comp.os.vxworks Subject: Re: MMU &&Shared memory Date: Mon, 12 Nov 2001 09:40:17 -0800 From: "Dan Gold" Message-ID: <3bf009f3$0$59075$e2e8da3@nntp.cts.com> References: <5df340e0.0111112315.55186b3c@posting.google.com> "Ruchama Goldshmidt" wrote in message news:5df340e0.0111112315.55186b3c@posting.google.com... > Hi vxWorkers! > > I devlop a ppc8260 board. > now,I try to enable the MMU and caches but when we test it on other > boards it seemed that the BCR register must be configuerd to single > bus mode (and not to the 60X compateble),but since we are booting from > the shared memory device we have to conifigure the bcr to 60x > 1.does anyone work with the shared memory and mmu together > 2.what should be added to the bsp in order to enable the cache? First, it sounds like you are trying to debug 2 problems here, the MMU and the caches. First concentrate on getting your board working without the caches, then enable the I-cache, then finally the D-cache. Can your board boot and run without the MMU or caches ? If it runs, then it's not a BCR problem. Since enabling the MMU requires software, it would be difficult to enable it if you can't boot :-) Can you boot from your shared memory ? Does the 8260 get it's HRCW from shared space or just try to get it's boot code ? What are the other devices (i.e. potential bus masters) sharing the memory ? Do you have pipelining turned off (bcr[pldp]=1). The 8260 does not support 60x pipelining unless all masters are 8260s. The first thing my bootcode does is turn off pipelining, since (IIRC) I think it comes up enabled. If you have non-8260 devices as bus masters accessing the shared memory, for sure you'll need 60x bus mode, so bcr[ebm]=1. I also have the extended transfer mode turned off (bcr[etm]=0), which means strict 60x bus mode. You say it doesn't work with the MMU ? What happens ? Machine check ? DSI ? Hang ? Are you sure you have all your areas setup in the MMU ? Are you using BATs or PTEs ? If you're using PTEs, have you initialized the BATs (since they come up in a random state) ? As far as enabling the cache, are you running a WRS supplied 8260 BSP ? If so, all the stuff to enable the caches should be there, just setting a few #defines should enable them. Making sure your software is written to behave properly (i.e. device drivers using cacheable or non-cacheable memory, correctly initializing rfcr/tfcr fields for the peripherals) with caches enabled is another story. hth, Dan Gold gold@ensemble.com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: logMsg side-effects Date: Mon, 12 Nov 2001 18:42:40 +0100 From: "Werner Schiendl" Message-ID: <3bf00ad3@brateggebdc5.br-automation.co.at> References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <488e459a.0111092158.6d053829@posting.google.com> <65b2abfc.0111120935.5d657c7f@posting.google.com> Hi, I'm not sure if the interrupts are really unlocked, but did not try it. A task lock (through functions taskLock/taskUnlock) will be temporarily disabled if your task blocks. As soon as it is running again, the lock is up again. In general, if you locked the interrupts (all ints), there is nothing besides your task that could cause a context switch. As long as you do not call some blocking OS function, I thing the Int lock will never be disabled. hth Werner "Venkat Mynampati" wrote in message news:65b2abfc.0111120935.5d657c7f@posting.google.com... > > > > If called from interrupt level, logMsg, which is basically just a > > called to msgQSend(), should not change the current interrupt > > settings. If called from task level, it could cause a context switch > > (likely since tLogTask has a pretty high priority), and that will > > usually enable interrupts (depending on how the CPU works, and the how > > they were disabled - check your docs for info). When the calling task > > resumes, they will revert to the locked state. > > > John, > Thanks for replying. Does a context switch unlocks the interrupts? > Where can i get more info on this? Also,if unlocking can happen on > context-switch, then all the system tasks, like tNetTask or any task > that has higher priority than my application task(which locked the ints, > because it is a requirement) will unlock interrupts. > Also, you said about doc's, could you pls give list of docs to read > (which i will try to get hold of). my board is ebsa285. > > Thanks > Venkat > > > > > > > > > mynamvs@nsc.network.com (Venkat Mynampati) wrote in message news:<65b2abfc.0111091037.7e8ad439@posting.google.com>... > > > Hi, > > > Does logMsg() have any side-effects like unmasking of interrupts? > > > Say, i am in ISR and i masked my interrupts , after that i did a logMsg(), > > > now, when logMsg() returns, will it unMask the interrupts? > > > > > > What could be effects of calling logMsg() with local variables? > > > > > > TIA > > > Venkat --------------------------- Newsgroups: comp.os.vxworks Subject: Re: method address Date: Mon, 12 Nov 2001 16:00:25 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <488e459a.0111110003.269b546c@posting.google.com> John wrote in message <488e459a.0111110003.269b546c@posting.google.com>... >Hello, > >You could just look it up by name; the name will be mangled, but the >shell is able to demangle these so you'll be able to call the >function. > >That is the good news; the bad news is that you can't just call a >method like a normal function. Why? Well, because a method needs to be >called on an instance of the class of which it is a member. Oh yes you can. Just pass the 'this' pointer are the first argument. Every C++ compiler I've ever used so far has implemented the this pointer by simply adding a hidden first argument to the member function. Although there's nothing to forbid compiler implementers from making it work some other way, in the context of VxWorks and the gcc compilers available from WRS, this is guaranteed to work, safely, reliably and correctly. I'd be very surprised if the Diab and Green Hills compilers did it any differently from gcc either, but can't speak from experience there. DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: clock corruption Date: Mon, 12 Nov 2001 17:58:49 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <3BEBA352.9D414CFE@icn.siemens.de> <_ZUG7.17$4k.29463@newsr2.u-net.net> <9bcputs8rv0pmdf3fnrvj42ap32ivcv8nf@4ax.com> <7iaqutgnmf5s9j39tfobmj8r0j9afa7heu@4ax.com> <9soara$k29$1@uranium.btinternet.com> David Laight wrote in message <9soara$k29$1@uranium.btinternet.com>... >> >> >> >> It is/was TSR# 144712. When they sent us the clockLib source, they >asked >> >>us if they could close it and we said OK because we were happy, so I >have no >> >>idea if they ever made an SPR or patch from it. >> > >> >Its in the 5.4 version we have. >> >> Sorry I was mixing up messages, its the change that takes a copy of >> vxTicks that I have seen. Yeh, that was their first effort at fixing our bug; we'd never seen it occur but it is a possibility and did need fixing. >Nothing obviously wrong with eth clockLib objects I have (for ARM). >(the other code that uses vxTicks is $%&*ed) > > David Just went and re-disassembled the object code on my box, just in case t2cp2 or 3 had patched it. Nope, it still uses vxTicks (ppc version). DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: dosFS2, Mounting Disk Volume/Building FAT Date: Mon, 12 Nov 2001 14:25:29 -0500 From: "John R." Message-ID: <3bf0221c$0$6473$4c41069e@reader0.ash.ops.us.uu.net> Once the file system is initialized and the device has been created the dick volume is not mounted until the first access to the disk. When mounting begins there is a long period of time (more then 2 minutes) that the FAT is getting built. The code sits in a tight loop building the FAT. I'm using a 6Gig disk so it takes a long time. Once the FAT is created it sits in cache it is not written to the disk until sometime later. If I reset the system (ctrl-x or hard reset) soon after the FAT is built before it gets flush to the disk, I loose the FAT and upon the next mounting of the disk I again have to wait for the FAT to be built (2+ more minutes). I would have expected the FAT to get flushed to the disk on a soft reboot. I've tried several ways of forcing the FAT to disk as soon as it is created but I have had no success. Has anyone experienced this or have a better understanding of these events and how I might resolve it? Regards, - -John --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Problems with nfs Date: Mon, 12 Nov 2001 13:25:09 -0600 From: Andrew Johnson Organization: APS, Argonne National Laboratory Message-ID: <3BF02215.E09A8631@aps.anl.gov> References: <3BEFE599.2238CF31@era.ericsson.se> Niklas Jonsson wrote: > > We got a small problem with nfs under vxworks, on one site we get huge > differences between upstream and downstream data. > > VxWorks runs on a TSS (a machine simulatin cellphones calls) > > Anyway, the machine got a local disk, and when we transfer from nfs to > the local disc we get around 4 megs. per second, if we do the opposite > we only get 600k/s. The same happens with ftp. We have checked for > packet losses and, isolated the network between the machines(this > occurres on 4 TSS'es on that site, on our site we do not got this > problem.) So are there any experienced problems with nfs being fast in > one direction and slow in the other? We have also tried with different > versions of VxWorks. NFS Version 2 is almost by definition (if implemented strictly) going to be slower to write than to read, because the server has to guarantee that write data has been successfully stored in non-volatile storage (usually meaning flushed to disk) before it returns an acknowledgement to the client, whereas it can use read-ahead cacheing for the other direction. Some servers will allow you to turn that write guarantee off, and NFS Version 3 also provides some alternative speedup. vxWorks only supports NFS Version 2 AFAIK. - - Andrew - -- Perfection is reached, not when there is no longer anything to add, but when there is no longer anything to take away. - - Antoine de Saint-Exupery --------------------------- Newsgroups: comp.os.vxworks Subject: Re: logMsg side-effects Date: 12 Nov 2001 11:34:06 -0800 From: mynamvs@nsc.network.com (Venkat Mynampati) Organization: http://groups.google.com/ Message-ID: <65b2abfc.0111121134.47253558@posting.google.com> References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <488e459a.0111092158.6d053829@posting.google.com> Hi, I understood why system calls should not be called with interrupts locked( intLock() ).It is stated in the VxWorks Ref Manual 5.4 page 2-281. Thanks to all for responding to my doubt. But... Why does the manual say: "Thus, if a task locks out interrupts and invokes kernel services that cause the task to block or that cause a higher priority task to be ready, the rescheduling occurs and interrupts are unlocked while other tasks run." Does this mean that, at every rescheduling event, interrupts are unlocked? or it is that 'the new task might unlock them' ? TIA Venkat john_94501@yahoo.com (John) wrote in message news:<488e459a.0111092158.6d053829@posting.google.com>... > Hello, > > If called from interrupt level, logMsg, which is basically just a > called to msgQSend(), should not change the current interrupt > settings. If called from task level, it could cause a context switch > (likely since tLogTask has a pretty high priority), and that will > usually enable interrupts (depending on how the CPU works, and the how > they were disabled - check your docs for info). When the calling task > resumes, they will revert to the locked state. > > As for local variables, they are OK, but watch out for pointers to > transient data (e.g. passing the address of an automatic variable). > You must make sure if you pass a pointer, that it points to something > that won't change! > > HTH, > > John... > > mynamvs@nsc.network.com (Venkat Mynampati) wrote in message news:<65b2abfc.0111091037.7e8ad439@posting.google.com>... > > Hi, > > Does logMsg() have any side-effects like unmasking of interrupts? > > Say, i am in ISR and i masked my interrupts , after that i did a logMsg(), > > now, when logMsg() returns, will it unMask the interrupts? > > > > What could be effects of calling logMsg() with local variables? > > > > TIA > > Venkat --------------------------- Newsgroups: comp.os.vxworks Subject: Vx 5.2 and warnings from vxTypesOld.h Date: Mon, 12 Nov 2001 14:52:57 -0500 From: Stephen Roderick Organization: University of Maryland College Park Message-ID: <3BF02891.69BFEB92@ssl.umd.edu> Hi all We're using VxWorks 5.2 on a MIPS board with gcc 2.5.8. Gcc is outputing two errors for every file we compile, that stem from vxTypesOld.h. I was wondering if anyone else sees the following two errors also, as our VxWorks source was potentially modified in the past (we do have -pedantic and -ansi on): /h/types/vxTypesOld.h:162: warning: `CHAR_FROM_CONST' defined but not used /h/types/vxTypesOld.h:164: warning: `VOID_FROM_CONST' defined but not used We also get /h/arch/mips/archMips.h:90: warning: ANSI C does not support 'long long' which I understand and accept. TIA - -- Stephen --------------------------- Newsgroups: comp.os.vxworks Subject: Re: logMsg side-effects Date: Mon, 12 Nov 2001 21:03:54 +0100 From: "Werner Schiendl" Message-ID: <3bf02bed$1@brateggebdc5.br-automation.co.at> References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <488e459a.0111092158.6d053829@posting.google.com> <65b2abfc.0111121134.47253558@posting.google.com> Hi, I think the interrupts are re-enabled with a task switch for at least 2 reasons 1) make the intLock the same state it was before you called the system service. So I guess they are not just unlocked, but set to the state the task being scheduled set them last. 2) If an other task would be scheduled to service your request, this task would probably never again give up the CPU. Since interrupts remain locken, which clock should ever preempt it? hth Werner "Venkat Mynampati" wrote in message news:65b2abfc.0111121134.47253558@posting.google.com... > Hi, > I understood why system calls should not be called with > interrupts locked( intLock() ).It is stated in the VxWorks > Ref Manual 5.4 page 2-281. > Thanks to all for responding to my doubt. But... > > Why does the manual say: > "Thus, if a task locks out interrupts and invokes > kernel services that cause the task to block or that > cause a higher priority task to be ready, the rescheduling > occurs and interrupts are unlocked while other tasks run." > > Does this mean that, at every rescheduling event, interrupts are > unlocked? or it is that 'the new task might unlock them' ? > > TIA > Venkat > > john_94501@yahoo.com (John) wrote in message news:<488e459a.0111092158.6d053829@posting.google.com>... > > Hello, > > > > If called from interrupt level, logMsg, which is basically just a > > called to msgQSend(), should not change the current interrupt > > settings. If called from task level, it could cause a context switch > > (likely since tLogTask has a pretty high priority), and that will > > usually enable interrupts (depending on how the CPU works, and the how > > they were disabled - check your docs for info). When the calling task > > resumes, they will revert to the locked state. > > > > As for local variables, they are OK, but watch out for pointers to > > transient data (e.g. passing the address of an automatic variable). > > You must make sure if you pass a pointer, that it points to something > > that won't change! > > > > HTH, > > > > John... > > > > mynamvs@nsc.network.com (Venkat Mynampati) wrote in message news:<65b2abfc.0111091037.7e8ad439@posting.google.com>... > > > Hi, > > > Does logMsg() have any side-effects like unmasking of interrupts? > > > Say, i am in ISR and i masked my interrupts , after that i did a logMsg(), > > > now, when logMsg() returns, will it unMask the interrupts? > > > > > > What could be effects of calling logMsg() with local variables? > > > > > > TIA > > > Venkat --------------------------- Newsgroups: comp.os.vxworks Subject: Re: dosFS2, Mounting Disk Volume/Building FAT Date: 12 Nov 2001 15:29:17 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: <3bf0221c$0$6473$4c41069e@reader0.ash.ops.us.uu.net> Sender: bpringlemeir@DeadDuck >>>>> "John" == John R writes: John> Once the file system is initialized and the device has been John> created the dick volume is not mounted until the first access ^^^^ That is something I have never encountered before! John> to the disk. When mounting begins there is a long period of John> time (more then 2 minutes) that the FAT is getting built. The John> code sits in a tight loop building the FAT. I'm using a 6Gig John> disk so it takes a long time. [snip] John> I've tried several ways of forcing the FAT to disk as soon as John> it is created but I have had no success. Has anyone experienced John> this or have a better understanding of these events and how I John> might resolve it? See my question from several days ago about "rebootHookAdd". You can add a flush of the disk. Alternatively you could modify the usrDosFs.c code so that a dcacheCbio wasn't created... but this would slow you down a lot! hth, Bill Pringlemeir. - -- Two other people put together will hit you this month. God will eventually reveal itself to be a friend. Paint. Your endothermic therapsid will need to be burped tomorrow. You'll someday be tired. Your lucky number today is 29842924728. Look for it everywhere. vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html" --------------------------- Newsgroups: comp.os.vxworks Subject: Re: dosFS2, Mounting Disk Volume/Building FAT Date: Tue, 13 Nov 2001 00:46:56 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <3bf0221c$0$6473$4c41069e@reader0.ash.ops.us.uu.net> You got this somewhat sideways: The reason the mount operation takes some time is due to consistency checking which takes place upon first access, like "fsck" on Unix and "chkdsk" on Windoz. If the system is restarted abnormally, the disk data structure must be checked to make sure all subsequent file accesses are consistent and depndable. The erason you see this as tight-loop (aka CPU bound) process, is probably because your disk driver does not use DMA, for example the vanilla IDE and ATA drivers from WRS use PIO mode which wastes CPU cycles for all disk transfers. With FAT32, the FAT can get quite large, hence DosFs 2.0 "chkdsk" module has two operating modes: when sufficient memory can be malloc'ed, the FAT is copied in RAM to expedite the "chkdsk" process. If however such memory is not found, the backup FAT copy on the disk is used for this purpose, which lows down "chkdsk" by an order of magnitude. Regarding rebootHook, you could tie a decent FLUSH operation into it if you can guarantee task level execution, keep in mind the disk (IDE SCSI) driver must be operational for this to succeed. But still you dont get the power fail case solved doing this. This "chkdsk" process does also get slowed by isufficiently large disk cache, and it also depends on the size of FAT and overall number of files on the volume. Having said this, I cna suggest the following: either get more memory (more disk cache and/or more heap space for "chkdsk") or reduce the size of the FAT. The later can be done by simply increasing the cluster size, hence less clusters per volume, hence less FAT space. If you desire MSFT compatibility, a cluster can not exceed 255 sectors, but with DosFs 2.0, you can format the volume with larger clusters, at the cost of MSFT-interchange and leftover unusabed space per file. Good luck, - Leonid "John R." wrote in message news:3bf0221c$0$6473$4c41069e@reader0.ash.ops.us.uu.net... > Once the file system is initialized and the device has been created the dick > volume is not mounted until the first access to the disk. When mounting > begins there is a long period of time (more then 2 minutes) that the FAT is > getting built. The code sits in a tight loop building the FAT. I'm using a > 6Gig disk so it takes a long time. > > Once the FAT is created it sits in cache it is not written to the disk until > sometime later. If I reset the system (ctrl-x or hard reset) soon after the > FAT is built before it gets flush to the disk, I loose the FAT and upon the > next mounting of the disk I again have to wait for the FAT to be built (2+ > more minutes). I would have expected the FAT to get flushed to the disk on a > soft reboot. > > I've tried several ways of forcing the FAT to disk as soon as it is created > but I have had no success. Has anyone experienced this or have a better > understanding of these events and how I might resolve it? > Regards, > -John > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Problems with nfs Date: Tue, 13 Nov 2001 01:04:39 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <3BEFE599.2238CF31@era.ericsson.se> <3BF02215.E09A8631@aps.anl.gov> I would agree with Andrew, except the original question stated that with FTP they get similar behaviour, and FTP does not do notin like that. Add to this that there is a SITE DEPENDENCY observed, which reinforces my suspicion of the network switches, which got difficulties when mitigating 10Mbps and 100Mbps Ethernet ports sans flow control. Here is a previous discussion of this fenomena: http://groups.google.com/groups?q=comp.os.vxworks+leonid+ethernet&hl=en&rnum =6&selm=newscache%24qum8jg%24zo3%241%40lnews.actcom.co.il Let me know if you find this useful! - - Leonid "Andrew Johnson" wrote in message news:3BF02215.E09A8631@aps.anl.gov... > Niklas Jonsson wrote: > > > > We got a small problem with nfs under vxworks, on one site we get huge > > differences between upstream and downstream data. > > > > VxWorks runs on a TSS (a machine simulatin cellphones calls) > > > > Anyway, the machine got a local disk, and when we transfer from nfs to > > the local disc we get around 4 megs. per second, if we do the opposite > > we only get 600k/s. The same happens with ftp. We have checked for > > packet losses and, isolated the network between the machines(this > > occurres on 4 TSS'es on that site, on our site we do not got this > > problem.) So are there any experienced problems with nfs being fast in > > one direction and slow in the other? We have also tried with different > > versions of VxWorks. > > NFS Version 2 is almost by definition (if implemented strictly) going to > be slower to write than to read, because the server has to guarantee that > write data has been successfully stored in non-volatile storage (usually > meaning flushed to disk) before it returns an acknowledgement to the > client, whereas it can use read-ahead cacheing for the other direction. > Some servers will allow you to turn that write guarantee off, and NFS > Version 3 also provides some alternative speedup. vxWorks only supports > NFS Version 2 AFAIK. > > - Andrew > -- > Perfection is reached, not when there is no longer anything to add, > but when there is no longer anything to take away. > - Antoine de Saint-Exupery --------------------------- Newsgroups: comp.os.vxworks Subject: gratuitous arp Date: 12 Nov 2001 15:28:49 -0800 From: james.fuhring@strixsys.com (sharky) Organization: http://groups.google.com/ Message-ID: <9f8341e1.0111121528.59564e6e@posting.google.com> If I update the arp table via an arpAdd(), does VxWorks perform the gratuitous arp or do I have to implement that functionality? --------------------------- Newsgroups: comp.os.vxworks Subject: Re: gratuitous arp Date: Tue, 13 Nov 2001 01:43:28 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <9f8341e1.0111121528.59564e6e@posting.google.com> I dont think the arpAdd should generate gratis-arp at all. Gratis-arp is generated when the interface is given an IP address - it xmits the gratis-arp to check for some other node on the same net using the same IP address, and generates a meeage if there is a dup. This is all it does, so adding some other node's IP to MAC address translation to the ARP table should not (and does not) generate any packets. It may however cause the system to proxy-arp, i.e. reply on behalf of some other node, if the arp entry has the PUBLIC flag raised. Hope this helps, - Leonid "sharky" wrote in message news:9f8341e1.0111121528.59564e6e@posting.google.com... > If I update the arp table via an arpAdd(), does VxWorks perform the > gratuitous arp or do I have to implement that functionality? --------------------------- Newsgroups: comp.os.vxworks Subject: Re: traceroute for vxworks Date: Tue, 13 Nov 2001 01:47:02 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <3BEB17B1.1E3B6C22@ubbsrv3.ho.lucent.com> Hmm, there is no known port of traceroute, although VxWorks RAW socket API is quire Unix-like. Probably the reason noone bothered to port it is because they did not finf this a necesary tools, but obviously you have a need for it. Coule you give some more detail about why is traceroute important on your vxworks target ? - - Leonid "Chandwani" wrote in message news:3BEB17B1.1E3B6C22@ubbsrv3.ho.lucent.com... > Hi ! > > Is there a traceroute ( or similar ) program available somewhere for vxworks ? > > Rakesh > ---- --------------------------- Newsgroups: comp.os.vxworks Subject: tffsDevFormat() in cfiscs.c on Intel strataFlash 28f320J3A Date: 12 Nov 2001 17:36:16 -0800 From: hsu_yuan@yahoo.com (Yuan Hsu) Organization: http://groups.google.com/ Message-ID: Hi, all, Currently I am trapped in tffsDevFormat() when using TFFS on our Intel flash. I've looked throught comp.os.vxworks, and did find several posts on this problem, ie, the failure of tffsDevFormat on Intel's flash. But it seems further info. on this problem is lack. Could anyone offer any help on this tricky problem? We are using Intel strataFlash 28f320J3A. When I trace into the funtion of tffsDevFormat(), I found it ultermately entered cfiscsByteIdentify() after calling several socket-level functions and cfiscsIdentify(),and it did recognize it as intel CFI flash, thought in a uncorrect 8-bit mode, whereas the hardware engineering told me the flash was set to 16-bit mode. That's the first stange point. Second came from cfiscsByteWrite() I added in the end of cfiscsByteIdentify() to test write capability, it failed. From the dump, I got the know the last function executed was flWriteProtected(). What's its meaning? Any help will be highly appreciated. Best Regards, Yuan --------------------------- Newsgroups: comp.os.vxworks Subject: Re: gratuitous arp Date: Mon, 12 Nov 2001 18:05:08 -0800 From: "Dan Gold" Message-ID: <3bf0800d$0$87021$e2e8da3@nntp.cts.com> References: <9f8341e1.0111121528.59564e6e@posting.google.com> "Leonid Rosenboim" wrote in message news:newscache$lmppmg$jdb$1@lnews.actcom.co.il... > I dont think the arpAdd should generate gratis-arp at all. > Gratis-arp is generated when the interface is given an IP address - > it xmits the gratis-arp to check for some other node on the same net > using the same IP address, and generates a meeage if there is a dup. > This is all it does, so adding some other node's IP to MAC address > translation > to the ARP table should not (and does not) generate any packets. My SENS sources confirm this :-) The gratuitous ARP is sent out when a SIOCIFADDR call is made, i.e. ifAddrSet(), which is what's called (as Leonid pointed out above) when an interface is given an IP address. hth, Dan Gold gold@ensemble.com --------------------------- Newsgroups: comp.os.vxworks Subject: trapped into the failure of tffsDevFormat on intel 28f320J3A Date: 12 Nov 2001 19:25:10 -0800 From: hsu_yuan@yahoo.com (Yuan Hsu) Organization: http://groups.google.com/ Message-ID: Hi, all Currently I am trapped into the failure of tffsDevFormat when adding TFFS support to our Intel strataFlash. We are using Intel strataFlash 28f320J3A. When I trace into the funtion of tffsDevFormat(), I found it ultermately entered cfiscsByteIdentify() after calling several socket-level functions and cfiscsIdentify(). It did recognize it as intel CFI flash, thought in a uncorrect 8-bit mode, whereas the hardware engineering told me the flash was set to 16-bit mode. That's the first stange point. Second came from cfiscsByteWrite() I specially added in the end of cfiscsByteIdentify() to test write capability, it failed and from the dump, I got the know the last function executed was flWriteProtected. So what's the meaning for it? Regards, Yuan Hsu --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Desperate for help: Between a rock and hard code... Date: Tue, 13 Nov 2001 03:27:25 GMT From: Chris Whitehead Organization: Excite@Home - The Leader in Broadband http://home.com/faster Message-ID: <3BF0937B.A19A6A39@home.com> References: <3BED96BA.418DF950@home.com> Thank you!! The best location to send the information is my business address, cwhitehead@consultronics.com I will let you know if I am able to reconstruct the file system. I suspect one chip has failed in at least one block. From flashFsBlkShow I get the response "nBlocks(120), nBadBlocks(1), nSpareBlocks(2), nQuBlocks(6), Unable to mount flash" The system has normally 128 blocks. Does this file system support marking of bad locations? Could I simply reinitialize the current chips, accepting the loss in capacity? This is a desirable method as it may be difficult to obtain new pin-compatible devices. Application code is only 4MB while the full capacity is 8MB. In your debt, Chris Whitehead Leonid Rosenboim wrote: > Chris, today is your lucky day. > The Flash file system on your board is FlashLib, from RST Software > Industries Ltd (Israel), > which I founded and managed and sold to WindRiver in January 1997. > My conclusion is based on the function names you mentioned. > I hope these function names are accurate. > > WindRiver has discontinued FlashLib some time in 1998 in favour of TrueFFS > which it OEM'ed from M-Systems. But because FlashLib was shipped in full > source code, there are some projects out there still using FlashLib with > self-support. > > I will help you on this, by sending you the FlashLib manual in a separate > message. > Don't want to bloat the newsgroup. > > Cheers, > - Leonid > > "Chris Whitehead" wrote in message > news:3BED96BA.418DF950@home.com... > > Hello, > > > > I have an unusual problem with a Vxworks system that we use within a PCB > > board manufacturing "pick and place" machine. The board's function is to > > run a specialized vision system for the machine, which runs under > > Vxworks and a PPC603e processor. One half of the board is custom ASICs > > and video system, but the other half seems to be a generic PowerPC > > configuration using SDRAM , PCI/Memory controller and two Intel > > Flashdrive chips. > > > > The problem is that one morning the system refused to run the > > application program saying that drive F: was no longer accessible. The > > boot PROM and rest of the processor system seems OK and I can get into > > Tornado and run the resident commands. Assuming that just one or both of > > the Flashdrive chips has failed and we can replace them, my problem is > > that I don't know the parameters for the functions to reinitialize the > > flash file system. I also don't know if the flash file system is part of > > a BSP or if it was written by the system designer. I have the original > > application software and can write it back into the system, but not > > until I can reformat the flash drive. > > > > My question is can anyone tell me if WRS ever supplied a stock driver > > for 28F016Jx Intel flashdrive and what the parameter structure would be > > for commands such as flashFsDevCreate, flashFsFormat, etc.. > > > > In case anyone is wondering why I'm not asking the vendor, they don't > > know how to fix it because the project was terminated 3 years ago and > > basically no one knows how it works anymore. The parties involved parted > > ways on a sour note and have only been replacing faulty boards (which go > > for 16K US at the moment) A new system costs even more. My only hope is > > to go through Vxworks channels directly myself > > > > > > Thanks VERY much for any help anyone has! > > > > Chris Whitehead > > --------------------------- Newsgroups: comp.os.vxworks Subject: smc problem ppc8260 Date: Tue, 13 Nov 2001 03:37:49 GMT From: jamure Organization: Optimum Online Message-ID: <3BF09578.CCC845E2@optonline.net> Reply-To: katmal@optonline.net Hi folks, I am using sbc8260 board from EST corp with vxworks as OS. The shipped cpu with the board is having spec - 133/66/33 Mhz, ie, core -133Mhz, cpm-66, crystal osc-33Mhz.With this board the serial debug port using SMC works fine, even changing the osc freq from 33 to 66MHz works fine for the highest core/cpm combination mode according to chapter 10 of 8260 user manual (modH_mod13 is equal to 0101_111 - Table 9.2). However, we are in the process of evaluating the newer derivatives of 8260, namely, 8260A (Hip4) with spec 266/200/66Mhz. The questions are - 1) Will replacing the 133/66/33Mhz cpu with the 8260A(Hip4) workon the est's sbc8260 board? I am not able to make the est's sbc8260 board operate the debug port, I see garbled characters on the terminal window. The SCCR is set to use div by 4 mode. Corresponding changes have been made in sysSerial.c file to compute the baud freq (sysBaudClkFreq()). All combinations of modH_mod13 (with the user dip switch matching configuration dip switch pins 6,78) have been tried for modH=0101,0110,0111 and mod13=000 to 111, but without success. Any pointers/solution will be appreciated to make it work. gururaj --------------------------- Newsgroups: comp.os.vxworks Subject: Re: method address Date: 12 Nov 2001 20:54:07 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111122054.59aea62c@posting.google.com> References: <488e459a.0111110003.269b546c@posting.google.com> "Dave Korn" wrote in message news:... > John wrote in message <488e459a.0111110003.269b546c@posting.google.com>... > >Hello, > > > >You could just look it up by name; the name will be mangled, but the > >shell is able to demangle these so you'll be able to call the > >function. > > > >That is the good news; the bad news is that you can't just call a > >method like a normal function. Why? Well, because a method needs to be > >called on an instance of the class of which it is a member. > > Oh yes you can. Just pass the 'this' pointer are the first argument. > Every C++ compiler I've ever used so far has implemented the this pointer by > simply adding a hidden first argument to the member function. True enough, but to pass a this pointer you have to have an instance of the object to point to, and that is not so easy to create from the shell directly. You could, of course, create a function that creates you an object, but then why not have that function invoke the method too... Regards, John... > Although > there's nothing to forbid compiler implementers from making it work some > other way, in the context of VxWorks and the gcc compilers available from > WRS, this is guaranteed to work, safely, reliably and correctly. I'd be > very surprised if the Diab and Green Hills compilers did it any differently > from gcc either, but can't speak from experience there. > > DaveK --------------------------- Newsgroups: comp.os.vxworks Subject: Re: logMsg side-effects Date: 12 Nov 2001 21:26:48 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111122126.373ae5d7@posting.google.com> References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <488e459a.0111092158.6d053829@posting.google.com> <65b2abfc.0111121134.47253558@posting.google.com> Hello, > Does this mean that, at every rescheduling event, interrupts are > unlocked? or it is that 'the new task might unlock them' ? Really it means that it might; it depends on which task is taking over the CPU (at least for most of the chips I've seen). Often, interrupts are enabled or disabled via a bit, or some bits, in the processor's status register. Since this register forms part of a task's context, switching tasks has the potential to enable (or disable) interrupts, depending on the state of the register when the task was switched out. As long as you never invoke any functions that could cause a context switch while interrupts are locked, you will never see this though. If you wish to perform actions that could cause a reschedule event, but are non-blocking for the caller (e.g. semGive()), then combine intLock() and taskLock(). So, for example, the following will make sure that both semaphores are given without anything else running in between, including ISRs: key = intLock(); taskLock(); semGive (mySem1); semGive (mySem2); taskUnlock(); intUnlock (key); If the taskLock() is not present, there is nothing to stop a higher priority task that is already pending on mySem1 from running between these two semGive() calls. Should that task run, interrupts will probably be re-enabled (assuming that task hadn't earlier called intLock() and then blocked itself). When this task regains control of the CPU, interrupts will once again be locked, until the intUnlock() call. Taking away the intLock() instead of the taskLock() would allow ISRs to run, but not allow any tasks they cause to become ready to actually run until the taskUnlock() call. In many cases, this is the desirable behaviour. HTH, John... > TIA > Venkat > > john_94501@yahoo.com (John) wrote in message news:<488e459a.0111092158.6d053829@posting.google.com>... > > Hello, > > > > If called from interrupt level, logMsg, which is basically just a > > called to msgQSend(), should not change the current interrupt > > settings. If called from task level, it could cause a context switch > > (likely since tLogTask has a pretty high priority), and that will > > usually enable interrupts (depending on how the CPU works, and the how > > they were disabled - check your docs for info). When the calling task > > resumes, they will revert to the locked state. > > > > As for local variables, they are OK, but watch out for pointers to > > transient data (e.g. passing the address of an automatic variable). > > You must make sure if you pass a pointer, that it points to something > > that won't change! > > > > HTH, > > > > John... > > > > mynamvs@nsc.network.com (Venkat Mynampati) wrote in message news:<65b2abfc.0111091037.7e8ad439@posting.google.com>... > > > Hi, > > > Does logMsg() have any side-effects like unmasking of interrupts? > > > Say, i am in ISR and i masked my interrupts , after that i did a logMsg(), > > > now, when logMsg() returns, will it unMask the interrupts? > > > > > > What could be effects of calling logMsg() with local variables? > > > > > > TIA > > > Venkat --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Intel ev386ex's bsp! Date: 13 Nov 2001 09:43:58 +0200 From: Reinhold Wirth Organization: WEB.DE Message-ID: <3bf0dd53@netnews.web.de> References: Hi chenyong, >I am using the intel ev386ex board with no ethernet card,and porting >the WindRiver's bsp on it ! >The board has two serial ports,512k flash,4M Dram,etc. >Now I have some problems about BSP! >I want to use the serial port to connect target server, when I write >the VxWorks_Rom(I have involve some banner information!),power on ,and >no any words on HyperTerminal;but when I write bootrom_uncmp into >flash,I can see the bootline on the HyperTerminal.I do not >know how to use bootrom_cmp to download vxWorks image from this 512k >space. >I want to try other ways,anyone can tell me? * serial output: Test your configuration: CONSOLE_TTY should be different from WDB_TTY_CHANNEL. * You want use 512k flash for the bootloader and for vxWorks? I think 512 k is not enough memory for both images. It is less for vxWorks. I see only 1 realy possibilitys: - - uses the flash for vxWorks (vxWorks_rom or vxWorks_romCompress). (A application may be loaded to vxWorks) It is possible to load vxWorks with the serial interface, but you need time. - -- __________________________________________________________ News suchen, lesen, schreiben mit http://newsgroups.web.de --------------------------- Newsgroups: comp.os.vxworks Subject: vxImmrGet ???????? Date: Tue, 13 Nov 2001 19:01:57 +0900 From: pch Organization: A poorly-installed InterNetNews site Message-ID: <3BF0EF95.1040309@sei.co.kr> hi. i dont know what vxImmrGet() do ? i cannot find about vxImmrGet at search engine... i want to konw what vxImmerGET() is.. thanks u.. --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Tue Nov 13 23:51:52 2001 From: Ilia Bosis Date: Tue Nov 13 23:51:54 PST 2001 Subject: WindNet OSPF experience ? Does anyone in the VxWorks land had worked with the WindNet OSPF package ? What can You tell about it's stability, RFC compliance, ease to integration, resource usage ? Can anyone recommend (or not recommend) it, suggest an alternatives, point to caveats, etc. ? Thanks in advance. Ilia. -------------------------------------------- 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 Wed Nov 14 04:03:17 2001 From: Vxworks Exploder Date: Wed Nov 14 04:03:19 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Wed Nov 14 04:03:11 PST 2001 Subject: Re: logMsg side-effects Subject: compile problem :does it rely on CPU type? Subject: Serial Wdb; LogMsg hangs system Subject: Re: clock corruption Subject: Re: vxImmrGet ???????? Subject: Re: Strange function behaviour Subject: Sending IP detagrams on a specific interface Subject: Socket problem on Vxworks Subject: Does anybody have an example NPT driver? Subject: RFC2131 Dhcp code [for ARM]. Subject: Re: FW: TSR #262641 Subject: Target Server Console freezes after hitting Properties menu Subject: muxDevUnload & muxDevLoad after system boot up Subject: Any way to set MTU for entire network interface? Subject: Re: openssl on vxworks -- how to reduce the size of libcrypto and libssl? Subject: remote shell daemon for vxWorks? Subject: bootpReply sometimes does not work on client Subject: Re: vxImmrGet ???????? Subject: Re: logMsg side-effects Subject: Tornado 2 setup on win2k hangs Subject: Re: Solaris shared memory error Subject: Tornado v.2.0.2 (180 days license)&networking&NT Subject: Re: clock corruption Subject: Re: undefined relocation Subject: Re: dosFS2, Mounting Disk Volume/Building FAT Subject: Re: Strange function behaviour Subject: Re: logMsg side-effects ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: logMsg side-effects Date: Tue, 13 Nov 2001 12:12:04 GMT From: "Barry Kelly" Organization: NBTel Internet Message-ID: References: <65b2abfc.0111091037.7e8ad439@posting.google.com> "Venkat Mynampati" wrote in message news:65b2abfc.0111091037.7e8ad439@posting.google.com... > Hi, > Does logMsg() have any side-effects like unmasking of interrupts? > Say, i am in ISR and i masked my interrupts , after that i did a logMsg(), > now, when logMsg() returns, will it unMask the interrupts? > > What could be effects of calling logMsg() with local variables? > > TIA > Venkat I think I have proof that logMsg() enables INT's. I still can't believe it! I've used logMsg() in very INT-sensitive areas! Here's my test code. Please tell me what I'm missing here: /* Debug macro */ #define DRV_LOG(FLG, X0, X1, X2, X3, X4, X5, X6) \ if (m5SerialDebug & FLG) \ logMsg(X0, X1, X2, X3, X4, X5, X6) #else #define DRV_LOG(FLG, X0, X1, X2, X3, X4, X5, X6) #endif /* Code snippet */ wvEvtLogStart(); oldlevel = intLock(); wvEvent( 2, NULL, 0); for(i=0;i<1500;i++) sysOutByte(0x160,0); /* Big delay to let serial (INT10) IRQ's pile up */ i = rngNBytes(((TY_DEV_ID)(pChan->getTxArg))->wrtBuf); /* Read buffer level */ qPushEntry( request, arg, i); /* Simple queue entry, no semaphores, just array manipulation */ wvEvent( 3, NULL, 0); DRV_LOG( M5_SERIAL_DEBUG_IOCTL,"IOCTL %d pend (%d + %d)\n", arg, i,pendQ.txCount,0,0,0); /* INT's happen immediately after this logMsg macro*/ wvEvent( 4, NULL, 0); intUnlock(oldlevel); wvEvtLogStop(); begin 666 wv1.bmp M0DTRR ```````'8````H````40,``%T#```!``0``@```+S'```3"P``$PL` M`! ````0``````````"$````_P``__\``$)"0@#6_WL`A(2$`/?WG ```/\` M:Z?N`/1M]@#.UM8`TO?_`-[__P#W__\`____```28+^[NP`+N[MD`/Z__K_^ MOQZ_``2[^PR[`!ADO[N[``N[NV2[N[ ````28+^[N[ +N[MD`/[[_OO^^R+[ M#+L`&&2_N[L`N[N[9+N[L ```!)@O[N[NPN[NV0`_K_^O_Z_'K\`!+O[#+L` M&&2_N[L+N[N[9+N[L ````1@OPR[`F3^^_[[_OLB^PR[``1DOPR[``ADN[NP M````!&"_#+L"9/Z__K_^OQZ_``2[^PR[``1DOPR[``ADN[NP````!&"_#/\" M9/[[_OO^^R#[#O\`!&2_#/\`"&2[N[ ```)@#KL"M/Z__K_^OQZ_$+L"M Z[ M``BTN[NP```"8&2[_@#^`.H```9$1$ ````"8&2[_@#^`.H```:V9F ````" M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H` M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````" M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H` M``:_NP`````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````" M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H` M``:___ ````"8&2[_@#^`.H```:[N[ ````"8&2[_@#^`.H```:_O[ ````" M8&2[_@#^`.H```9$1$ ````"8&2[_@#^`.H```:V9F ````"8&2[_@#^`.H` M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````" M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H` M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````" M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H` M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````" M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H` M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````" M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H` M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````" M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H` M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````" M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H` M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````" M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H` M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````" M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H` M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````" M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H` M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8 B[`!:P"[L```NP"[L```!& MN_X`_@#J```&O[NP`````F (NP`8L NP"[ +L NP"[ +1+O^`/X`Z@``!K^[ ML ````)@"+L`%+ +L NP"[ +L M(N_X`_@#J```&O[NP`````F (NP`4L NP M"[ +L NP"TB[_@#^`.H```:_N[ ````"8 B[`!BP"[ +L NP"[ ```M$N_X` M_@#J```&O[NP`````F (NP`8L NP"[ +L NP"[ +1+O^`/X`Z@``!K^[L `` M``)@"+L`%K +NP``"[ +NP```$:[_@#^`.H```:_N[ ````"8!"[``BP"[ + M3+O^`/X`Z@``!K^[L ````)@"+L`$+ +N[NP"[ +3+O^`/X`Z@``!K^[L `` M``)@"+L`$+ +N[NP"[ +3+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[ ML ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^ M`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[ ML ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^ M`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[ ML ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^ M`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[ ML ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^ M`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[ ML ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^ M`/X`Z@``!K^[L ````)@"KL`/@``"[ +L NP"[ +`+L`N[ `"[NP"[ +NP"[ M`+L`````'+O^`/X`Z@``!K^[L ````)@"+L`/+ +L NP"[ +L L`NP"[`+L` MNP"[L NP"[L`NP"[`""[_@#^`.H```:_N[ ````"8 B[`"BP"[ +L NP"[ ` M"[L`NP"[`+L`NP@```R[`+L`NP`@NQ(``@*P(@`B@@```! ````0( ```0`` M``(`EB(`!H(```"0(@`4* ```! ````@`I(B`#0H````$ ```! ````0```` M$@```! ``+^[L ```F (NP`^L NP"[ +L NP`+N[`+L`NP"[`+L`L L`NP"[ M`+NP"P`>NQ(``@*P(@`B@@```0$```$!( ``$! ``!(`EB(`!H(```"0(@`4 M* ```0$```$@`I(B`#0H```!`0```0$```$!```!`@```0$``+^[L ```F ( MNP`^L NP"[ +L NP``N[`+L`NP"[`+L`L L`NP"[`+N[```>NQ(``@*P(@`B M@A `$ `0`! `(0`!``$``0(`EB(`!H(0``"0(@`4*! `$ `0`! A`I(B`#0H M$ `0`! `$ `0`! `$ `0`A `$ `0`+^[L ```F (NP! L NP"[ +L NP"P"[ M`+L`NP"[`+ +L NP"P"[`+N[L L!=75U:#=JJH* MJ@``JJJJ`'@``"P%75U="E4```JJH**BJJH*````JJJJ? ``$M75U= %4 "J MJ@`4``(@"@``!K^[L ````)@9+L.```*"@H""@H`" `""@X``!"@H "@H `` MH'X``!H-755=754`"@``H `"``@``!H*"@(*"@H`"@H*``"@`'P``!H-755= M7=6J"J"@``"@`'P``"@%U=55U=4``* `"@*BJ@J@H ``H'X``!8*755=7550 M"@``H `2``(@"@``!K^[L ````)@9+L.```4H* "`*"@````"@P``!(*"@`` M"@H```H`?@``#*70`%6@U0@```:@``(`" ``&J"@`@"@H ``H*H```H`? `` M&J70`-6JW0"@J@H```H`? ``# U:`%4*70@``!2JH@(`H*H*```*?@``%J#5 M``70I5 ```"@`!(``B *```&O[NP`````F!DNPP``!@*"@`"``H*``JJJJ * M```4H* ```"@H ``H'H```X*#55555U=``@``"J@``(````*"@`""@H*``JJ MJJ ``* `> ``'@H-55U=W=T`"@J@H ``H !Z```JI=555575H ``"@JBH@`* M"J"J``"@`'H``!@*"E5555U=4 ```* 2``(@"@``!K^[L ````)@9+L,```6 MH* ``@``H* *``H`"@``! H*" ``"@H*```*`'H``"J@I5 `50#5H ```* ` M`@```*"@``(`"* `#@H`JJ ```H`> ``'J"E4*#="M6@`*"J"@``"@!X```L M"@U0`%4`70H``*"J`@(``*"J"@``"GH``!B@H%4`!5"ET ```* 2``(@"@`` M!K^[L ````)@9+L,```6"@```@``"@``H H`# `"H H```J@````H !X```$ M"@4(50`L70``"JH```(````*```""@`*``"@"@@``J!V```@"@55757570`` M"JJ@````H'@``J4*50`@H ``JJ"B`@``"@"@````H'@```0*``A5``I=4 `* MJ@`4``(@"@``!K^[L ````)@9+L2``(""@``! H*( `""GH```P%4 !5`%4( M```&H `"``P``@(*```$"@H(``(*> ``# 50`%4`51 ``@IX```,!5 `50!5 M" ``!@H"`@`0``(*? ``%%4`!5 %4 ```* 2``(@"@``!K^[L ````)@9+L2 M``(""@``! H*( `""GH``@4*50@```:@``(`# `"`@H```0*"@@``@IX``(% M"E40``(*> `"!0I5" ``!@H"`@`0``(*? `*50`*4 ```* `$@`"( H```:_ MN[ ````"8&2[$@`"`@P``JH<```&H `*`'H``!H%4 !5554`"@``H `"``P` M`@(,```,J@``H `*> ``'@50`%5550``H ```* `"@!X```:!5 `5555``"@ M``H"`@`,```&H `*`'P``!15``5555 *``"@$@`"( H```:_N[ ````"8&2[ M$@`"`@P``@H<```&"JJ@`'H```@%5555" ``"JJJ```"``P``@(,```,"@`` M"JJ@> ``" 55554(```."JH```JJH !X```(!55550@```H*JJ "`@`,```& M"JJ@`'P``!)55550````JJH`% `"( H```:_N[ ````"8&2[$@`"`JH```@% M5555$ `"`@P``@*0```(!55558X```@%5555#@``! ("C@``"%5555 >``(@ M"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP M`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[ M$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`" M`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX` M/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T M``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```& MO[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````" M8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@5+L`! `` M#+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!2NP`(L NP M"PJ[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@5KL`!+ + M"KL2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F *NP!:`+NP M"[NP"[N[L N[L N[NP"P````N[L```NP"[ +L NP"[ +NP``"[ +N[N[`!(` M`@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8 B[`%RP"[NP"[NP M"[N[L N[L N[L NP"[NP"[ +L NP"[ +L NP"[ +L NP"[ +N[N[$@`"`L(` M`@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@"+L`_K +N[ +N[ +N[L` M`+NP"[NP"[ +N[ +L NP"[ +L NP"P``L NP"[ +L N[N[L*``H`"@`*``H" M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H``/X`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@(*``H`"@`"``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H```#^"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H" M`@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@``3@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"B *``H`"K^[L ````)@"+L`_K +NP``NP``N[ +L NP"[NP"[ +N[ + ML NP"[ +L NP"P``L NP"[ +L N[N[NJH*J@JJ"JH*JBJJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*H``/Z@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ*J MH*J@JJ"BH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@``#^JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*JBHJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@J@``3J"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JB"JH*J@JK^[ ML ````)@"+L`_K +NP"PNPL`N[ +L NP````N[ +N[ +L NP"[ +L NP``NP M``NP"[ +L N[N[L*``H`"@`*``H""@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H``/X`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@(*``H`"@`"``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H```#^ M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H"`@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@``3@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"B *``H`"K^[L ````)@"+L`7+ + ML NP``NP"P"[NP"P"[NP"[ ```"[L NP"[ +L NP``NP``NP"[ +L "[N[L2 M``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F (NP`V``"P"[ ` M"[ +`+N[`+ +N[ +L N[L NP"[ +``@``!ZP`+N[``N[```+L `+N[L`$@`" M`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@"+L`$K +`+N[`+N[ M```(NP`4L N[L NP"[NP"PB[`!2P"[ +L "[NP`+$KL2``("P@`"`@P``@+^ M`#X```0"`K0``B *```&O[NP`````F (NP`2L L`N[L`N[L```B[`!2P"[NP M"[ +N[ +"+L`%+ +L NP"[N[L L2NQ(``@+"``("# `"`OX`/@``! ("M `" M( H```:_N[ ````"8 R[``X`N[L`N[L```B[`!*P````N[ `````#+L`$@"[ M`+ +N[NP"P`2NQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````" M8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``(" MP@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `" M`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$ M`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B * M```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ` M```"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2 M``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``(" M# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^ M```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0` M`B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_ MN[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@ M9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+" M``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``(" M_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0" M`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H` M``:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L `` M``)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(` M`@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8#J[``2P"R:[$@`" M`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@.KL`!+ +)KL2``(" MP@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F ZNP`$L LFNQ(``@+" M``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8 J[`$ `L N[N[NP``N[ M`+N[`+ +L NP"[L```NP``"[NP``"QJ[$@`"`L(``@(,``("_@`^```$`@*T M``(@"@``!K^[L ````)@"+L`0K +L N[N[L`NP"[`+NP"[ +L NP"[ +L NP M"[ +L NP"P`:NQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````" M8 B[`$*P"[ +N[N[`+L`NP"[L NP"[ +L NP"[ +L NP"[ +L L`&KL`_@H` M"@`*``H`"@(*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*`@H`"@`*``(`"@`*``H`"@`*``H``/X`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H```#P"@`*``H`"@`*``H` M"@`*``H`"@("``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*( H`"@`*O[NP```"8 B[`$*P"[ +N[N[`+L`NP"[L NP"[ + ML N[`+ +L NP"[ +L L`&KL`_JJ@JJ"JH*J@JJ*JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JHJJ@JJ"JH**@ MJJ"JH*J@JJ"JH*H``/Z@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@``#PJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ*BH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J(*J@JJ"JO[NP```"8 B[ M`$*P"[ ```"[`+L`NP"[L NP"[ +L N[L `+L NP"[ +L L`&KL`_@H`"@`* M``H`"@(*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*`@H`"@`*``(`"@`*``H`"@`*``H``/X`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H```#P"@`*``H`"@`*``H`"@`* M``H`"@("``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*( H`"@`*O[NP```"8 B[`$*P"[ +N[ +`+L`NP`+L NP"[ +L NP M"[ +L NP"[ +L L`&KL2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP M`````F (NP`6``"P"[NP"[ `"[L`" `"L @``!J[NP``N[ ``+N[```+`!J[ M$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@"+L`#K +L N[ ML L`#+L`!+ +(+L`!+ +&KL2``("P@`"`@P``@+^`#X```0"`K0``B *```& MO[NP`````F (NP`.L NP"[NP"P`,NP`$L L@NP`$L L:NQ(``@+"``("# `" M`OX`/@``! ("M `"( H```:_N[ ````"8 R[``BP````,KL`!+ +&KL2``(" MP@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `" M`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$ M`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B * M```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ` M```"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2 M``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``(" M# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^ M```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0` M`B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_ MN[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@ M9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+" M``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``(" M_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0" M`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H` M``:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L `` M``)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(` M`@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(, M``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X` M``0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `" M( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[ ML ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F * MNP`JL N[NP``NP"[`+L```"[NP"[N[ +`#"[$@`"`L(``@(,``("_@`^```$ M`@*T``(@"@``!K^[L ````)@"KL`*K +N[ +L L`NP"[`+NP"[L`N[NP"P`P MNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8 J[`"JP"[NP M"[N[`+L`NP"[NP"[`+N[````,+L2``("P@`"`@P``@+^`#X```0"`K0``B * M```&O[NP`````F *NP`LL N[L N[NP"[`+L`N[L`NP"[L NP"RZ[`/X*``H` M"@`*``H""@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@(*``H`"@`"``H`"@`*``H`"@`*``#^``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*````\ H`"@`*``H`"@`*``H` M"@`*``H"`@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"B *``H`"K^[L ```F *NP`LL N[L N[NP"[`+L`N[L`NP"[L NP M"RZ[`/ZJH*J@JJ"JH*JBJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ*JH*J@JJ"BH*J@JJ"JH*J@JJ"J``#^ MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH ``\*J@JJ"J MH*J@JJ"JH*J@JJ"JH*JBHJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JB"JH*J@JK^[L ```F *NP`LL N[L NP"P"[`+L` MN[L`NP`+`+N[`"Z[`/X*``H`"@`*``H""@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@(*``H`"@`"``H`"@`* M``H`"@`*``#^``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M````\ H`"@`*``H`"@`*``H`"@`*``H"`@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"B *``H`"K^[L ```F *NP`LL N[ MNP``NP``"[L`N[L`NP```+N[`"Z[$@`"`L(``@(,``("_@`^```$`@*T``(@ M"@``!K^[L ````)@"KL`!+ +"KL`$ "[N[L`N[L`/+L2``("P@`"`@P``@+^ M`#X```0"`K0``B *```&O[NP`````F *NP`$L L*NP`0`+N[NP"[L L\NQ(` M`@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8 B[" `(NP`.`+N[ MNP`````^NQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[ M$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`" M`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX` M/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T M``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```& MO[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````" M8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``(" MP@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `" M`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$ M`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B * M```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ` M```"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2 M``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``(" M# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^ M```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0` M`B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_ MN[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@ M9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+" M``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``(" M_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0" M`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H` M``:_N[ ````"8 J[`":P"[NP"[L```NP```+N[ +N[L``#2[$@`"`L(``@(, M``("_@`^```$`@*T``(@"@``!K^[L ````)@"KL`)K +N[ +L NP"[ +NP"[ ML N[NP``-+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F * MNP`H``"[L NP"[ +L N[L NP"[NP``LRNQ(``@+"``("# `"`OX`/@``! (" MM `"( H```:_N[ ````"8 J[`"@``+NP"[ +L NP"[NP"[ +NP"[`#*[`/X* M``H`"@`*``H""@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@(*``H`"@`"``H`"@`*``H`"@`*``#^``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*````\ H`"@`*``H`"@`* M``H`"@`*``H"`@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"B *``H`"K^[L ```F *NP`H"["[L NP"[ +L N[L NP"[L` MNP`RNP#^JJ"JH*J@JJ"JHJJ@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*JBJJ"JH*J@HJ"JH*J@JJ"JH*J@J@`` M_J"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ ``/"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JHJ*@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*H@JJ"JH*J_N[ ```)@"+L`++ +L NP"[ +L NP M"[NP"[ `L N[L LPNP#^"@`*``H`"@`*`@H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H""@`*``H``@`*``H` M"@`*``H`"@``_@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@```/ *``H`"@`*``H`"@`*``H`"@`*`@(`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H@"@`*``J_N[ ```)@"+L`++ + ML NP"[L```NP"[NP"[ ```N[L LPNQ(``@+"``("# `"`OX`/@``! ("M `" M( H```:_N[ ````"8 B[``BP"[ +"+L`#K +L N[L L`/KL2``("P@`"`@P` M`@+^`#X```0"`K0``B *```&O[NP`````F (NP`<`+N[`+ +N[NP"[ +NP! MNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8 B[`!P`N[L` ML N[N[ +L ``"T"[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L `` M``)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(` M`@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(, M``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X` M``0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `" M( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[ ML ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!D MNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(` M`@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^ M`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! (" MM `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@`` M!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP```` M`F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`" M`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P` M`@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@`` M! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@ M"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP M`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[ M$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@%KL"`!J[``2P M"RZ[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@%KL`!+ + M&KL"`"Z[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@&+L" M`!J[``2P"RR[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@ M"KL`/@"[```+N[L`N[L`NP"[`+NP``"[N[ +N[ +L N[````'+L2``("P@`" M`@P``@+^`#X```0"`K0``B *```&O[NP`````F (NP!"L NP"[L`N[ `"[L` MNP"[`+L`N[ +NP``N[ +L NP"[ +`!J[$@`"`L(``@(,``("_@`^```$`@*T M``(@"@``!K^[L ````)@"+L`/K +L N[`+NP``N[`+L`NP"[`+NP"[L``+NP M"[ +L L`'KL2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F ( MNP`^L N[N[L`NP"[`+L`NP"[`+N[N[ +L NP"[ +L NP"P`>NP#^"@`*``H` M"@`*`@H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H""@`*``H``@`*``H`"@`*``H`"@``_@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@```/ *``H`"@`*``H`"@`*``H` M"@`*`@(`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H@"@`*``J_N[ ```)@"+L`/K +N[L`"[L`NP"[`+L`NP"[N[ `N[ + ML NP"[ +L L`'KL`_JJ@JJ"JH*J@JJ*JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JHJJ@JJ"JH**@JJ"JH*J@ MJJ"JH*H``/Z@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ M``#PJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ*BH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J(*J@JJ"JO[NP```"8 B[`$*P"[L` M"[NP"[NP"P"[`+L`N[ `N[L`N[L`L NP"[ +L L`&KL`_@H`"@`*``H`"@(* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*`@H`"@`*``(`"@`*``H`"@`*``H``/X`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H```#P"@`*``H`"@`*``H`"@`*``H`"@(" M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M( H`"@`*O[NP```"8 B[`!8``+ +N[NP"[NP"P`(```B"[L`N[N[`+N[`+ ` M`+N[````'+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F ( MNP`,L NP"[L`%KL`" "[L LRNQ(``@+"``("# `"`OX`/@``! ("M `"( H` M``:_N[ ````"8 B[``RP"[ +NP`6NP`(`+NP"S*[$@`"`L(``@(,``("_@`^ M```$`@*T``(@"@``!K^[L ````)@#KL`!@``"P`6NP`&L ```#2[$@`"`L(` M`@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^ M`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@``! (" MM `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@`` M!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP```` M`F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`" M`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`"`@P` M`@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@`` M! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@ M"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```&O[NP M`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````"8&2[ M$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``("P@`" M`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX` M/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$`@*T M``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X```0"`K0``B *```& MO[NP`````F!DNQ(``@+"``("# `"`OX`/@``! ("M `"( H```:_N[ ````" M8&2[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@9+L2``(" MP@`"`@P``@+^`#X```0"`K0``B *```&O[NP`````F!DNQ(``@+"``("# `" M`OX`/@``! ("M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```$ M`@*T``(@"@``!K^[L ````)@"+L`!+ +6+L2``("P@`"`@P``@+^`#X```0" M`K0``B *```&O[NP`````F (NP`$L M8NQ(``@+"``("# `"`OX`/@``! (" MM `"( H```:_N[ ````"8 B[``2P"UB[$@`"`L(``@(,``("_@`^```$`@*T M``(@"@``!K^[L ````)@"+L`1K ``+N[```+NP``N[ `"[L`NP"[`+NP``"[ M`+L`NP``N[ +`!:[$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L `` M``)@"+L`1K +L NP"[ +L NP"P"[`+L`NP"[`+L`NP"[`+ +L NP"[ +`!:[ M$@`"`L(``@(,``("_@`^```$`@*T``(@"@``!K^[L ````)@"+L`1K +L NP M"[ +L N[NP"[N[L`L `+`+L`NP"[``"[L N[N[ +`!:[`/X#``,``P`#``," M`P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`# M``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,` M`P`#``,``P(#``,``P`"``,``P`#``,``P`#``#^``,``P`#``,``P`#``,` M`P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`# M``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,` M`P`#``,``P`#``,``P`#``,``P`#````\ ,``P`#``,``P`#``,````0```" M(C `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# ` M, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P M`" `, `P`+^[L ```F (NP!&L NP"[L`L NP"[N[`+N[NP"P``L`N[ +`+L` M"[NP"[N[L L`%KL`_@`P`# `, `P`#(`, `P`# `, `P`# `, `P`# `, `P M`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# ` M, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `,@`P`# `, (P`# `, `P M`# `, ```/XP`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P M`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# ` M, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P M``#P`# `, `P`# `, `P`````0$```(B`P`#``,``P`#``,``P`#``,``P`# M``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,` M`P`#``,``P`#``,``P`#``,``P`#``,`(P`#``,`O[NP```"8 B[`$:P"[ + MN[ `"[ +N[L```"[``"[``"[NP``NP``N[ ```NP"P`6NP#^``,``P`#``,` M`@`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`# M``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,` M`P`#``,``P`"``,``P`#`@,``P`#``,``P`#````_@,``P`#``,``P`#``,` M`P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`# M``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,` M`P`#``,``P`#``,``P`#``,``P`#``,``/ ``P`#``,``P`#``,`$ `0`! ` M$B `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# ` M, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P M`# @, `P`#"_N[ ```)@"+L`1K +L NP"[ +L NP"P"[`+L``+L``+L`NP"[ M`+ +L NP"[ ``!:[`/XP`# `, `P`# ", `P`# `, `P`# `, `P`# `, `P M`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# ` M, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, (P`# `, `R`# `, `P M`# `, `P``#^`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P M`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# ` M, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P M````\# `, `P`# `, `P`# !`0```0$"(P`#``,``P`#``,``P`#``,``P`# M``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,` M`P`#``,``P`#``,``P`#``,``P`#``,``R #``,``[^[L ```F (NP!(L `` MN[L``+N[``"[L `+NP`+N[ `N[ `"[L`NP"[``"[L `+%+L`_@,``P`#``,` M`P(#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`# M``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,` M`P`#``,``P`#`@,``P`#``(``P`#``,``P`#``,``/X``P`#``,``P`#``,` M`P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`# M``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,``P`#``,` M`P`#``,``P`#``,``P`#``,``P`#``,```#P`P`#``,``P`#``,``P`0```` M$ (@, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# ` M, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P`# `, `P M`# `( `P`# `O[NP```"8"B[``H`"[NP```*NP(`)KL2``("P@`"`@P``@+^ M`/8``B *```&O[NP`````F HNP`*`+N[NP``"KL"`":[$@`"`L(``@(,``(" M_@#V``(@"@``!K^[L ````)@*+L`"@"[N[L```J[`@`FNQ(``@+"``("# `" M`OX`]@`"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@#V``(@"@``!K^[ ML ````)@9+L2``("P@`"`@P``@+^`#X``G"V``(@"@``!K^[L ````)@9+L2 M``("P@`"`@P``@+^`#X``G>V``(@"@``!K^[L ````)@9+L2``("P@`"`@P` M`@+^`#X```1P<+0``B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`/@`` M!' 'M `"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@`^```&< !P`+(` M`B *```&O[NP`````F!DNQ(``@+"``("# `"`OX`. ``#'=W=W `![(``B * M```&O[NP`````F!DNQ(``@+"``("# `"`OX`. ``#G!P``<``' `L `"( H` M``:_N[ ````"8&2[$@`"`L(``@(,``("_@`X```.< <``' `!P"P``(@"@`` M!K^[L ````)@9+L2``("P@`"`@P``@+^`#@``!!P`' `!P``<*X``B *```& MO[NP`````F!DNQ(``@+"``("# `"`OX`. ``#G `!P``< <`L `"( H```:_ MN[ ````"8&2[$@`"`L(``@(,``("_@`X```.< ``< `'< "P``(@"@``!K^[ ML ````)@9+L2``("P@`"`@P``@+^`#@`"'<`! `'L@`"( H```:_N[ ````" M8&2[$@`"`L(``@(,``("_@`^```&<'!P`+(``B *```&O[NP`````F!DNQ(` M`@+"``("# `"`OX`/@``!' 'M `"( H```:_N[ ````"8&2[$@`"`L(``@(, M``("_@`^```$<'"T``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X` M`G>V``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`#X``G"V``(@"@`` M!K^[L ````)@9+L2``("P@`"`@P``@+^`/8``B *```&O[NP`````F!DNQ(` M`@+"``("# `"`OX`]@`"( H```:_N[ ````"8&2[$@`"`L(``@(,``("_@#V M``(@"@``!K^[L ````)@9+L2``("P@`"`@P``@+^`/8``B *```&O[NP```` M`F!DNQ(``@+"``("# `"`OX`]@`"( H```:_N[ ````"8&2[$@`"`L(``@(, M``("_@#V``(@"@``!K^[L ````)@"+L`++ +L NP"[ +NP``"[ ```N[L N[ MNP`PNQ(``@+"``("# `"`OX`]@`"( H```:_N[ ````"8 B[`"RP"[ +L NP M"[ +L NP"[L`N[ +N[L`,+L2``("P@`"`@P``@+^`/8``B *```&O[NP```` M`F (NP`NL L``+ +L NP"[ +L N[L NP"[NP``L`+KL2``("N ``&@$````! M`@```0``(H(`_@#>```J$ ```! ````0````( ``* ``O[NP`````F (NP`N ML L``+ +L NP"[ +L N[L NP"[L`NP``+KL`_@H`"@`*``H`"@(*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@```! 0```0 M$@``$! `(H*@`* `H "@`* `H ```/Z@`* `H "@`* `H "@`* `H "@`* ` MH "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@ M`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* ` MH "@`* `H "@`* `H "@``#P`* `H "@`* `H "@`* `H "@`* `H "@`* ` MH "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@ M`* `H "@`* `H "@`* `H "@`* `H "@```!`0```0$```$!```!(0``* H` MO[NP```"8 B[`"ZP``NP``NP"[ +L NP"[NP"[ +NP"[```NNP#^JJ"JH*J@ MJJ"JHJJ@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH0`!``$``0`"``$``0`BBJH*J@JJ"JH*J@JJ"@``_JH*J@JJ"JH*J@JJ M"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH* MJ@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ M"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH``/ *J@JJ"JH*J@JJ"JH*J@JJ M"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH* MJ@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH0`! `$ `0`! ` M$ `0`! @$ `HJJ"_N[ ```)@"+L`,+ `"[ `"[ +L NP"[ +N[ +L "P"[NP M"RR[`/X*``H`"@`*``H""@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`$! ``! 0``(0$ ``$"* H "@`* `H "@`* ```#^ MH "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@ M`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* ` MH "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H ``\ "@`* ` MH "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@ M`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* ` MH $!```!`0```0$```$!`" !`2@J`+^[L ```F (NP`PL "[NP`+L N[```+ ML N[L NP```+N[ +++L2``("M ``'@$````!```"`0````$B@ #^`-H``"X0 M````$ ```! ````0`" `$"@@`+^[L ````)@"+L`#+ `N[L`"PB[``ZP"[ + MN[ +`#J[$@`"`L(``@(*``(@_@#X```2( ``(" `O[NP`````F (NP`@L N[ MN[ +L N[N[ +L N[`#R[$@`"`L(``@(*``(@_@#X```2( ``(" `O[NP```` M`F (NP`@L N[N[ +L N[N[ +L ``"SR[$@`"`L(``@(*``(@_@#X```2( `` M(" `O[NP`````F!DNQ(``@+"``(""@``""5555#^`/(``!(@```E)56_N[ ` M```"8&2[$@`"`L(``@(*```(( ``4/X`\@``$B ``" @`+^[L ````)@9+L2 M``("P@``% (```!552554%#^`/(``!(@554E)5"_N[ ````"8&2[$@`"`L(` M`!0"````4 `@4 !0_@#R```2(% `(" `O[NP`````F!DNQ(``@+"```4`@`` M`%!5(%504/X`\@``$B!052 E4+^[L ````)@9+L2``("P@``% (```!0`"!0 M`%#^`/(``!(@4 `@( "_N[ ````"8&2[$@`"`L(``!0"````4%4@55!0_@#R M```2(%!5("50O[NP`````F!DNQ(``@+"```4`@```% `(% `4/X`\@``$B!0 M`" @`+^[L ````)@9+L2``("P@``% (```!052!54%#^`/(``!(@4%4@)5"_ MN[ ````"8&2[$@`"`L(``!0"````4 `@4 !0_@#R```2(% `(" `O[NP```` M`F!DNQ(``@+"```4`@```%!5(%554/X`\@``$B!052 E5;^[L ````)@9+L2 M``("P@``$ (```!0`"!0_@#V```2(% `(" `O[NP`````F!DNQ(``@+"```0 M`@```%55)5#^`/8``!(@554E( "_N[ ````"8&2[$@`"`L(``@(*``(@_@#X M```2( ``(" `O[NP`````F!DNQ(``@+"``(""@`"(/X`^ ``$B ``" @`+^[ ML ````)@9+L2``("P@`"`@H``B#^`/@``!(@```@( "_N[ ````"8&2[$@`" M`L(``@(*``(@_@#X```2( ``(" `O[NP`````F!DNQ(``@+"``(""@`"(/X` M^ ``$B ``" @`+^[L ````)@9+L2``("P@`"`@H``B#^`/@``!(@```@( "_ MN[ ````"8&2[$@`"`L(``@(*``(@_@#X```2( ``(" `O[NP`````F!DNQ(` M`@+"``(""@`"(/X`^ ``$B ``" @`+^[L ````)@9+L2``("P@`"`@H``B#^ M`/@``!(@```@( "_N[ ````"8&2[$@`"`L(``@(*``(@_@#X```2( ``(" ` MO[NP`````F!DNQ(``@+"``(""@`"(/X`^ ``$B ``" @`+^[L ````)@"+L` M+ "[NP"[```+NP``"[ ```N[L N[NP`PNQ(``@+"``(""@`"(/X`^ ``$B ` M`" @`+^[L ````)@"+L`+ "[NP"P"[ +L NP"[ +NP"[L N[NP`PNQ(``@+" M``(""@`"(/X`^ ``$B ``" @`+^[L ````)@"+L`+K ```NP"[ +L NP"[ + MN[ +L N[L `+`"Z[$@`"`L(``@(*``(@_@#X```2(! `("*(O[NP`````F ( MNP`NL NP"[ +L NP"[ +L N[L NP"[L`NP``+KL`_@H`"@`*``H`"@(*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*`@H`"@`*( H`"@`*``H`"@`*``H``/X`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H```#P"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@``(0$` M("* O[NP```"8 B[`"ZP"[ +L NP"[ +L NP"[NP"[ +NP"[```NNP#^JJ"J MH*J@JJ"JHJJ@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*JBJJ"JH*H@JJ"JH*J@JJ"JH*J@J@``_J"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ ``/"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"J$ `@`! @(H"_N[ ```)@"KL`+@NPN[ +L NP"[ +L N[L NP`+ + MN[ +`"R[`/X*``H`"@`*``H""@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@(*``H`"B *``H`"@`*``H`"@`* M``#^``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*````\ H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H!`2 ``2$B@+^[L ```F *NP`N``"[L NP"[L` M``NP"[NP"[ ```N[L L`++L2``("P@`"`@H``B#^`/8``!00( ``("*(O[NP M```"8 J[``0```Z[``ZP"[ +N[ +`#J[$@`"`L(``@(*``(@_@#X```2( `` M( ``O[NP`````F *NP`$L L.NP`,L NP"[L`/+L2``("P@`"`@H``B#^`/@` M`!(@```@``"_N[ ````"8 J[``2P"PZ[``RP"[ ```L\NQ(``@+"``(""@`" M(/X`^ ``$B ``" ``+^[L ````)@9+L2``("P@`"`@H``B#^`/@``!(@```@ M!56_N[ ````"8&2[$@`"`L(``@(*``(@_@#X```2( ``( 4`O[NP`````F!D MNQ(``@+"``(""@`"(/X`^ ``$B `!2555;^[L ````)@9+L2``("P@`"`@H` M`B#^`/@``!(@``4@``6_N[ ````"8&2[$@`"`L(``@(*``(@_@#X```2( `% M)54%O[NP`````F!DNQ(``@+"``(""@`"(/X`^ ``$B `!2 `!;^[L ````)@ M9+L2``("P@`"`@H``B#^`/@``!(@``4E506_N[ ````"8&2[$@`"`L(``@(* M``(@_@#X```2( `%( `%O[NP`````F!DNQ(``@+"``(""@`"(/X`^ ``$B ` M!255!;^[L ````)@9+L2``("P@`"`@H``B#^`/@``!(@``4@``6_N[ ````" M8&2[$@`"`L(``@(*``(@_@#X```2( `%)54%O[NP`````F!DNQ(``@+"``(" M"@`"(/X`^ ``$B `!2 `!;^[L ````)@9+L2``("P@`"`@H``B#^`/@``!(@ M``4E556_N[ ````"8&2[$@`"`L(``@(*``(@_@#X```2( ``( ``O[NP```` M`F!DNQ(``@+"``(""@`"(/X`^ ``$B ``" ``+^[L ````)@9+L2``("P@`" M`@H``B#^`/@``!(@```@``"_N[ ````"8&2[$@`"`L(``@(*``(@_@#X```2 M( ``( ``O[NP`````F!DNQ(``@+"``(""@`"(/X`^ ``$B ``" ``+^[L `` M``)@9+L2``("P@`"`@H``B#^`/@``!(@```@``"_N[ ````"8&2[$@`"`L(` M`@(*``(@_@#X```2( ``( ``O[NP`````F!DNQ(``@+"``(""@`"(/X`^ `` M$B ``" ``+^[L ````)@9+L2``("P@`"`@H``B#^`/@``!(@```@``"_N[ ` M```"8&2[$@`"`L(``@(*``(@_@#X```2( ``( ``O[NP`````F!DNQ(``@+" M``(""@`"(/X`^ ``$B ``" ``+^[L ````)@9+L2``("P@`"`@H``B#^`/@` M`!(@```@``"_N[ ````"8 J[`#P```NP"[ +L NP"P"[`+NP``N[L NP"[L` MNP"[NP`>NQ(``@+"``(""@`"(/X`^ ``$B ``" ``+^[L ````)@"+L`/K + ML NP"[ +L L`NP"[`+L`NP"[L NP"[L`NP"[NP``'KL2``("P@``#A(````B M(B `_@#H```B$ ```! ````B(B(@``"_N[ ````"8 B[`"BP"[ +L NP"[ ` M"[L`NP"[`+L`NP@```Z[`+L`N[L``!Z[$@`"`L ``/X!`@```2(B*@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H```#^"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@```0$`````' $!```!(B(B*@`*O[NP```"8 B[`#ZP M"[ +L NP"[ `N[L`NP"[`+L`NP"P"P"[`+L`N[L``!Z[$@`"`KP``/X0`! " M$ `0(B*JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@``#^JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J$ `0````(! `$ `0`! B(B*JH*J_ MN[ ```)@"+L`/K +L NP"[ +L `+NP"[`+L`NP"[`+ +`+L`NP"[NP``'KL2 M``("O ``_@$!``(!`0`B(@H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`` M`/X*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H!`0`````@`0$` M``$!`"(B(@H`"K^[L ```F (NP`^L NP"[ +L NP"P"[`+L`NP"[`+ +L NP M"P"[`+N[```>NQ(``@*^```0$ `"`! `(B+^`.8``"80````$ ```! `(B(B M````O[NP`````F (NP`^L NP"[ ``+NP"[ +```+N[ `"[ +N[NP"P``"[N[ M```>NQ(``@+^`/X`U@``!K^[L ````)@&+L`!+ +*+L"`!Z[$@`"`OX`_@#6 M```&O[NP`````F 8NP`$L LFNP`$```>NQ(``@+(```&"9F0`/X`^ ``!@F9 MF0`(```&O[NP`````F 8NP`$L LHNP(`'KL2``("R ``!@F9D #^`/@```8) MF9D`" ``!K^[L ````)@9+L2``("R ``!@F9D #^`/@```8)F9D`" ``!K^[ ML ````)@9+L2``("R ``!@F9D #^`/@```8)F9D`" ``!K^[L ````)@9+L2 M``("R ``!@F9D #^`/@```8)F9D`" ``!K^[L ````)@9+L2``("R ``!IF9 MD #^`/@```:9F9D`" ``!K^[L ````)@9+L2``("Q@``")F9F9#^`/8`")D( M```&O[NP`````F!DNQ(``@+$``B9`I#^`/0`"ID(```&O[NP`````F!DNQ(` M`@+"``J9`I#^`/(`#)D(```&O[NP`````F!DNQ(``@+ ``R9`I#^`/ `#ID( M```&O[NP`````F!DNQ(``@+"``J9`I#^`/(`#)D(```&O[NP`````F!DNQ(` M`@+$``B9`I#^`/0`"ID(```&O[NP`````F!DNQ(``@+&```(F9F9D/X`]@`( MF0@```:_N[ ````"8&2[$@`"`L@```:9F9 `_@#X```&F9F9``@```:_N[ ` M```"8&2[$@`"`LH```29D/X`^@``!)F9" ``!K^[L ````)@9+L2``("_@#^ M`-8```:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X` MU@``!K^[L ````)@9+L2``("_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6 M```&O[NP`````F!DNQ(``@+^`/X`U@``!K^[L ````)@9+L2``("_@#^`-8` M``:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X`U@`` M!K^[L ````)@9+L2``("_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6```& MO[NP`````F *NP`X`+ +N[ +NP``N[L`N[ +N[L```N[``"[L NP"R*[$@`" M`OX`_@#6```&O[NP`````F (NP`XL NP"[L`"[ +L NP"[NP"[NP"[ +L NP M"[ +`"2[`/X````0````$ `"`! ````0````$ ```! ````0````$ ```! ` M```0````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ `` M`! ````0````$ ```! ````0````$ ```! ````0````$ ```! ````0```` M``#^$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ```! ` M```0````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ `` M`! ````0````$ ```! ````0````$ ```! ````0````$ ```! `````\ `0 M````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ```! ` M```0````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ `` M`! ````0````$ ```! ````0````$ ```+^[L ```F (NP`XL NP"[ `"[ + MN[NP"[NP"[NP"[ +N[NP"[ `"R2[`/X```$!```!`0`"`0$```$!```!`0`` M`0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```! M`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$! M```!`0```0$```$!```!``#^`0```0$```$!```!`0```0$```$!```!`0`` M`0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```! M`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$! M```!`0```0$`````\ $!```!`0```0$```$!```!`0```0$```$!```!`0`` M`0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```! M`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```;^[L `` M`F (NP`VL NP"[ `"[ +N[NP"[NP"[N[`+ +NP``N[ ``":[`/X0`! `$ `0 M`! "$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! ` M$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0 M`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0``#^`! `$ `0`! `$ `0 M`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! ` M$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0 M`! `$ `0`! `$ `0`! `$ `0`! `$ `0````\! `$ `0`! `$ `0`! `$ `0 M`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! ` M$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0 M`! `$ `0`! `$+^[L ```F (NP`XL NP"P"P"[ ```NP"[NP"[N[L `+L N[ MN[ `"R2[`/X!`0```0$```$"```!`0```0$```$!```!`0```0$```$!```! M`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$! M```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$` M``#^``$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```! M`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$! M```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0``\ `` M`0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```! M`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$! M```!`0```0$```$!```!`0```0$```$!`+^[L ```F (NP`XL NP"P"P"[ + ML NP"[NP"[NP"[ +L NP"[ +`"2[`/X`$ ```! ````2````$ ```! ````0 M````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ```! ` M```0````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ `` M`! ````0````$ ```! ```#^```0````$ ```! ````0````$ ```! ````0 M````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ```! ` M```0````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ `` M`! ````0````$ ``\ ```! ````0````$ ```! ````0````$ ```! ````0 M````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ```! ` M```0````$ ```! ````0````$ ```! ````0````$ ```! ````0`+^[L `` M`F (NP`Z``"P``NP"[L``+L``+NP"[N[``"[NP``N[ +L L`(KL2``("_@#^ M`-8```:_N[ ````"8 B[``ZP"[ `"[ +``B[``JP"[NP"P`2NP`$L LFNQ(` M`@+^`/X`U@``!K^[L ````)@"+L`#K +L "[L L`"+L`"K +N[ +`!*[``2P M"R:[$@`"`OX`_@#6```&O[NP`````F ,NP`*L N[L L`#+L(`!"[``2P"R:[ M$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X`U@``!K^[L ````)@9+L2 M``("_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(` M`@+^`/X`U@``!K^[L ````)@9+L2``("_@#^`-8```:_N[ ````"8&2[$@`" M`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X`U@``!K^[L ````)@9+L2``(" M_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^ M`/X`U@``!K^[L ````)@9+L2``("_@#^`-8```:_N[ ````"8&2[$@`"`OX` M_@#6```&O[NP`````F!DNQ(``@+^`/X`U@``!K^[L ````)@9+L2``("_@#^ M`-8```:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X` MU@``!K^[L ````)@9+L2``("_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6 M```&O[NP`````F!DNQ(``@+^`/X`U@``!K^[L ````)@9+L2``("_@#^`-8` M``:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X`U@`` M!K^[L ````)@9+L2``("_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6```& MO[NP`````F *NP! `+NP"[NP"[N[```+L ``N[NP"[N[```+NP``N[ +L L: MNQ(``@+^`/X`U@``!K^[L ````)@"+L`0+ +N[ +N[ +N[ +L NP"[ +N[ + MN[ +L NP"[ +L L`'+L2``("_@#^`-8```:_N[ ````"8 B[`$"P"[NP"[NP M"[NP"[ +L NP"[NP"[NP"[ +N[NP"[ `"QR[`/X````0````$ `"`! ````0 M````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ```! ` M```0````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ `` M`! ````0````$ ```! ````0``````#^$ ```! ````0````$ ```! ````0 M````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ```! ` M```0````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ `` M`! ````0````$ ```! `````\ `0````$ ```! ````0````$ ```! ````0 M````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ```! ` M```0````$ ```! ````0````$ ```! ````0````$ ```! ````0````$ `` M`+^[L ```F (NP`^L N[``"[``"[L NP"[ +L N[L N[NP"P"[L``+NP```> MNP#^```!`0```0$``@$!```!`0```0$```$!```!`0```0$```$!```!`0`` M`0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```! M`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0``_@$` M``$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0`` M`0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```! M`0```0$```$!```!`0```0$```$!```!`0```0$```$!`````/ !`0```0$` M``$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0`` M`0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```! M`0```0$```$!```!`0```0$```&_N[ ```)@"+L`0+ +NP"PNPL`N[ +L NP M"[ +N[ +N[NP``NP"[N[L `+'+L`_A `$ `0`! `$ (0`! `$ `0`! `$ `0 M`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! ` M$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0 M`! `$ `0`! `$ `0`! ``/X`$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0 M`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! ` M$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0 M`! `$ `0`! ```#P$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0 M`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! ` M$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0`! `$ `0O[NP```" M8 B[`$"P"[ +L `+L NP"[ +L NP"[NP"[NP"[ +L NP"[ +`!R[`/X!`0`` M`0$```$"```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```! M`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$! M```!`0```0$```$!```!`0```0$```$!```!`0```0$```#^``$!```!`0`` M`0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```! M`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$! M```!`0```0$```$!```!`0```0$```$!```!`0``\ ```0$```$!```!`0`` M`0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$!```! M`0```0$```$!```!`0```0$```$!```!`0```0$```$!```!`0```0$```$! M```!`0```0$```$!`+^[L ```F (NP!"``"P"[ `"[ +NP``"[ ``+N[L N[ MNP``N[L``+NP"[ +`!J[`/X`$ ```! ````2````$ ```! ````0````$ `` M`! ````0````$ ```! ````0````$ ```! ````0````$ ```! ````0```` M$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ```! ````0 M````$ ```! ```#^```0````$ ```! ````0````$ ```! ````0````$ `` M`! ````0````$ ```! ````0````$ ```! ````0````$ ```! ````0```` M$ ```! ````0````$ ```! ````0````$ ```! ````0````$ ```! ````0 M````$ ``\ ```! ````0````$ ```! ````0````$ ```! ````0````$ `` M`! ````0````$ ```! ````0````$ ```! ````0````$ ```! ````0```` M$ ```! ````0````$ ```! ````0````$ ```! ````0`+^[L ```F (NP`H ML L`N[L`N[L`N[NP"[ +N[N[L L2NP`$L L>NQ(``@+^`/X`U@``!K^[L `` M``)@"+L`*+ +`+N[`+N[`+N[L NP"[N[N[ +$KL`!+ +'KL2``("_@#^`-8` M``:_N[ ````"8 R[`!X`N[L`N[L`N[NP"[ +N[L`" `0NP`$L L>NQ(``@+^ M`/X`U@``!K^[L ````)@9+L2``("_@#^`-8```:_N[ ````"8&2[$@`"`OX` M_@#6```&O[NP`````F!DNQ(``@+^`/X`U@``!K^[L ````)@9+L2``("_@#^ M`-8```:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X` MU@``!K^[L ````)@9+L2``("_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6 M```&O[NP`````F!DNQ(``@+^`/X`U@``!K^[L ````)@9+L2``("_@#^`-8` M``:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X`U@`` M!K^[L ````)@9+L2``("_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6```& MO[NP`````F!DNQ(``@+^`/X`U@``!K^[L ````)@9+L2``("_@#^`-8```:_ MN[ ````"8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X`U@``!K^[ ML ````)@9+L2``("_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP M`````F!DNQ(``@+^`/X`U@``!K^[L ````)@9+L2``("_@#^`-8```:_N[ ` M```"8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X`U@``!K^[L `` M``)@"KL`(@"[```+NP"[`+NP``N[`+L``#B[$@`"`OX`_@#6```&O[NP```` M`F (NP`DL NP"[L`NP"[`+L`NP"[`+L`.+L2``("_@#^`-8```:_N[ ````" M8 B[`"2P"[ +NP"[`+L`NP"[N[L`NP`XNQ(``@+^`/X`U@``!K^[L ````)@ M"+L`)+ +N[N[`+L`NP"[`+N[NP"[`#B[`/X*``H`"@`*``H""@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``#^``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*````\ H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"K^[ ML ```F (NP`DL N[NP`+NP"[`+L```"[`+L`.+L`_JJ@JJ"JH*J@JJ*JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*H``/Z@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@``#PJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JO[NP```"8 B[`"2P"[L`"[N[`+L`NP"[`+L`NP`XNP#^"@`*``H`"@`* M`@H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@``_@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@```/ *``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``J_N[ ```)@"+L`) ``L N[N[L```N[L `+NP"[`#B[$@`"`OX` M_@#6```&O[NP`````F (NP`0L NP"[L`NP`.NP`&`+L``#B[$@`"`OX`_@#6 M```&O[NP`````F (NP`0L NP"[L`NP`.NP`&`+L``#B[$@`"`OX`_@#6```& MO[NP`````F .NP`*```+NP``#KL`!@"[```XNQ(``@+^`/X`U@``!K^[L `` M``)@9+L2``("_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP```` M`F!DNQ(``@+^`/X`U@``!K^[L ````)@9+L2``("_@#^`-8```:_N[ ````" M8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X`U@``!K^[L ````)@ M9+L2``("_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP`````F!D MNQ(``@+^`/X`U@``!K^[L ````)@9+L2``("_@#^`-8```:_N[ ````"8&2[ M$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X`U@``!K^[L ````)@9+L2 M``("_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(` M`@+^`/X`U@``!K^[L ````)@9+L2``("_@#^`-8```:_N[ ````"8&2[$@`" M`OX`_@#6```&O[NP`````F!DNQ(``@+^`/X`U@``!K^[L ````)@9+L2``(" M_@#^`-8```:_N[ ````"8&2[$@`"`OX`_@#6```&O[NP`````F!DNQ(``@+^ M`/X`U@``!K^[L ````)@'KL`! ``0KL2``("_@#^`-8```:_N[ ````"8!R[ M``BP"[ +0+L2``("_@#^`-8```:_N[ ````"8""[``2P"T"[$@`"`OX`_@#6 M```&O[NP`````F *NP`Z`+ ```"[``"[NP``"[NP"[N[```+NP``N[ +L L` M(+L2``("_@#^`-8```:_N[ ````"8 B[`#JP"[ +N[NP"[ +L NP"[NP"[NP M"[ +L NP"[ +```BNQ(``@+^`/X`U@``!K^[L ````)@"+L`.K +L N[N[ + ML NP"[ +N[ +N[ +L N[N[ +L `+`"*["B(`"H(B(B*"`/X`_@#6```&O[NP M`````F (NP`XL NP"[N[L NP"[ +L N[L N[NP"P"[L``+NP`"2["B(`_H(B M(B*"H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* ` MH "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@ M`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H ```/Z@`* `H "@ M`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* ` MH "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@ M`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@``#F`* `H "@`* `H "@ M`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* ` MH "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@ M`* `H "@`* `H+^[L ````)@"+L`.K +L N[N[ +L NP"[ +N[ +N[NP``NP M"[N[L `+`"*["B(`_H(B(B**J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ M"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH* MJ@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ M"JH*J@H``/ZJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ M"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH* MJ@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ M``#F"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ M"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH* MJ@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*JK^[L ````)@"+L`.K +L N[N[ + ML NP"[ +N[ +N[ +L NP"[ +L L``"*["B(`_H(B(B* H "@`* `H "@`* ` MH "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@ M`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* ` MH "@`* `H "@`* `H "@`* `H ```/Z@`* `H "@`* `H "@`* `H "@`* ` MH "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@ M`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* ` MH "@`* `H "@`* `H "@``#F`* `H "@`* `H "@`* `H "@`* `H "@`* ` MH "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@ M`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H "@`* `H+^[L `` M``)@"+L`/ ``L N[N[L``+N[```+N[ +N[L``+N[``"[L NP"R"["B(`"H(B M(B* `/X`_@#6```&O[NP`````F (NP`(L NP"Q:[``2P"Q*[``2P"R2[_@#^ M`.H```:_N[ ````"8 B[``BP"[ +%KL`!+ +$KL`!+ +)+O^`/X`Z@``!K^[ ML ````)@#+L`!+ +%+L(`!"[``2P"R2[$IG^`/X`V ``!K^[L ````)@9+L` M"I[N[NZ>``CN``9555 `_@#^`-(```:_N[ ````"8&2[`!B>F9F>GIF9GND` M`%#^`/X`T@``!K^[L ````)@9+L2[@`&55!0`/X`_@#2```&O[NP`````F!D MNP`8F9Z>GIF>Z9Z94 !0_@#^`-(```:_N[ ````"8&2[`!CNGNZ>[I[N[NE5 M4%#^`/X`T@``!K^[L ````)@9+L`&)F>GIZ9GNF>F5 `4/X`_@#2```&O[NP M`````F!DNP`8[I[NGNZ>[N[I55!0_@#^`-(```:_N[ ````"8&2[`!B9GIZ> MF9[IGIE0`%#^`/X`T@``!K^[L ````)@9+L`&.Z>[I[NGN[NZ5504/X`_@#2 M```&O[NP`````F!DNP`8F9Z>GIF>Z9Z94 !0_@#^`-(```:_N[ ````"8&2[ M`!CNGN[N[I[N[NE555#^`/X`T@``!K^[L ````)@9+L`%)F>GIF9GNF9F5#^ M`/X`U@``!K^[L ````)@9+L`!N[NG@`,[@)0_@#^`-8```:_N[ ````"8&2[ M$IG^`/X`V ``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@`` M!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@ M9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@`` M!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@ M9+O^`/X`Z@``!K^[L ````)@"KL`.@"P````L N[L NP``N[L N[NP``"[L` M`+NP"[ +`""[_@#^`.H```:_N[ ````"8 B[`#JP"[ +N[N[`+L`NP"[`+NP M"[NP"[ +L NP"[ +```BN_X`_@#J```&O[NP`````F (NP`ZL NP"[N[N[ ` M"[L`N[N[L N[L NP"[N[L NP``L`(KO^`/X`Z@``!K^[L ````)@"+L`"+ + ML L(NP`H`+N[`+N[N[ +N[L`L N[``"[L `DNP#^"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@``_@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@```/ *``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``J_N[ ```)@"+L`.K +L N[N[NP``N[`+N[N[ +N[NP``NP"[N[L `+`"*[ M`/ZJH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J``#^H*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH ``\*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"J MH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@JJ"JH*J@ MJJ"JH*J@JJ"JH*J@JJ"JH*J@JK^[L ```F (NP`ZL NP```+NP"[`+L`NP"[ ML N[L NP"[ +L NP"P``(KL`_@H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H``/X`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H```#P"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H` M"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`* M``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*``H`"@`*O[NP```"8 B[ M`#P``+ +N[NP"[NP"[ `"[NP"[N[``"[NP``N[ +L L@N_X`_@#J```&O[NP M`````F (NP`(L NP"Q:[``2P"Q*[``2P"R2[_@#^`.H```:_N[ ````"8 B[ M``BP"[ +%KL`!+ +$KL`!+ +)+O^`/X`Z@``!K^[L ````)@#+L`"+ ````0 MNP@`$+L`!+ +)+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@ M9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@`` M!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@ M9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@`` M!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@ M9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@`` M!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@ M9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@`` M!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@ M9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@``!K^[L ````)@9+O^`/X`Z@`` M!K^[L ````)@"+L`'+ +L N[L N[L N[NP``0+O^`/X`Z@``!K^[L ````)@ M"+L`'K +L N[``N[L N[L NP"P`^N_X`_@#J```&O[NP`````F (NP`>L NP M"[ `"[NP"[NP"[ +`#Z[_@#^`!@``B(,``(BP@``!K^[L ````)@"+L`'K + ML NP``N[L N[L NP"P`^N_X`_@`8``(B# `"(L(```:_N[ ````"8 B[`!ZP M"[ +`+ +N[ +N[ +L L`/KO^`/X`& `"(@P``B+"```&O[NP`````F (NP`> ML NP"P"P"[NP"[NP"[ +`#Z[_@#^`!@``B(,``(BP@``!K^[L ````)@"+L` M'K +L `+L N[L N[L NP"P`^N_X`_@`8``(B# `"(L(```:_N[ ````"8 B[ M`!ZP"[ `"[ +N[ +N[ +L L`/KO^`/X`Z@``!K^[L ````)@"+L`'K +L "[ ML N[L N[L NP"P`^N_X`_@#J```&O[NP`````F (NP`.L NP"[NP"P`(```& MNP```$"[_@#^`!0```J[N\N[L `(``*PP@``!K^[L ````)@9+O^`/X`$@`` M%I +`) +`) ```L+`,(```:_N[ ````"8&2[_@#^`!(``!@)`+"0L D```"P M`+# ```&O[NP`````F!DN_X`_@`6```$"PL(```("P``"\ ```:_N[ ````" M8&2[_@#^``X``@D(```*L ````D`"+L"L+X```:_N[ ````"8&2[_@#^`! ` M`!*0````D ```) `R ``!K^[L ````)@9+O^`/X`& `"F= ```:_N[ ````" M8&2[_@#^`!@```29D,X```:_N[ ````"8&2[_@#^`!0`")G.```&O[NP```` M`F!DN_X`_@`4``B9`I#,```&O[NP`````F!DN_X`_@`.```&F9 ```J9``8` MF9 `Q@``!K^[L ````)@9+O^`/X`% `(F0*0S ``!K^[L ````)@9+O^`/X` M% `(FL NP"[ `"[NP"[N[N[ + M`#Z[_@#^`-@```0"(@X```:_N[ ````"8 B[`!ZP"[ +L `+N[ +N[N[L L` M/KO^`/X`V ``! (B#@``!K^[L ````)@"+L`'K +L L`L N[L N[L NP"P`^ MN_X`_@#8```$`B(.```&O[NP`````F (NP`L NP"[ `"[NP"[NP"[ +`#Z[Q@``!"(B# `"(/X`Y ``!"(B&@`" M`@P```:_N[ ````"8 B[`!ZP"[ +L `+N[ +N[ +L L`/KO&```$(B(,``(@ M_@#D```$(B(:``("# ``!K^[L ````)@"+L`'K +L L`L N[L N[L NP"P`^ MN\8```0B(@P``B#^`.0```0B(AH``@(,```&O[NP`````F (NP`L NP``NP"[NP"[NP"[ +`#Z[_@#^`.H```:_N[ ````"8 B[`!ZP"[ ` M"[ +N[ +N[ +L L`/KO^`/X`Z@``!K^[L ````)@"+L`'K +L "[L N[L N[ ML NP"P`^N_X`_@#J```&O[NP`````F (NP`.L NP"[NP"P`(```&NP```$"[ MP ``# N[O=W=50H``K#^`. ```J[O=W=U0`8``(+# ``!K^[L ````)@9+O" M```*L 55U54`" ``! L+_@#@```*"P55754`& ``!+"P"@``!K^[L ````)@ M9+O ```,!5U570!5" ``!K `L #^`-P```P%5=55L%46```&"P`+``H```:_ MN[ ````"8&2[P ``&@55U=5550````L```L`_@#<```,!55=7555%@``"+ ` M`+ (```&O[NP`````F!DN\ ``!(%4 M5`%4`````"+L"L/X`V@``# 50`-4` M510``@L(NP@```:_N[ ````"8&2[P `"!0I5_@#J``(%"E4F```&O[NP```` M`F!DN\ ```P%4 !5`%7^`.H```P%4 !5`%4F```&O[NP`````F!DN\ ``@4* M5?X`Z@`"!0I5)@``!K^[L ````)@9+O ```,!5 `50!5_@#J```,!5 `50!5 M)@``!K^[L ````)@9+O ``(%"E7^`.H``@4*528```:_N[ ````"8&2[P `` M# 50`%555?X`Z@``# 50`%55528```:_N[ ````"8&2[P ``" 55557^`.X` M``@%5555*@``!K^[L ````)@9+O ```(!5555?X`[@``" 55554J```&O[NP M`````F!DN_X`_@#J```&O[NP`````F!DN_X`_@#J```&O[NP`````F!DN_X` M_@#J```&O[NP`````F!DN_X`_@#J```&O[NP`````F!DN_X`_@#J```&O[NP M`````F!DN_X`_@#J```&O[NP`````F!DN_X`_@#J```&O[NP`````F!DN_X` M_@#J```&O[NP`````F!DN_X`_@#J```&O[NP`````F!DN_X`_@#J```&O[NP M`````F!DN_X`_@#J```&O[NP`````F!DN_X`_@#J```&O[NP`````F (NP`< ML NP"[NP"[NP"[N[``! N_X`_@#J```&O[NP`````F (NP`>L NP"[L`"[NP M"[NP"[ +`#Z[_@#^`.H```:_N[ ````"8 B[`!ZP"[ +L `+N[ +N[N[L L` M/KO^`/X`P@`"(!@``@(,```&O[NP`````F (NP`>L NP"[ `"[NP"[N[N[ + M`#Z[_@#^`,(``B 8``("# ``!K^[L ````)@"+L`'K +L L`L N[L N[NP`` M"P`^N_X`_@#"``(@& `"`@P```:_N[ ````"8 B[`!ZP"[ +`+ +N[ +N[ + ML L`/KO^`/X`P@`"(!@``@(,```&O[NP`````F (NP`>L NP``NP"[NP"[NP M"[ +`#Z[_@#^`,(``B 8``("# ``!K^[L ````)@"+L`'K +L `+L N[L N[ ML NP"P`^N_X`_@#J```&O[NP`````F (NP`>L NP`+NP"[NP"[NP"[ +`#Z[ M_@#^`.H```:_N[ ````"8 B[``ZP"[ +N[ +``@```:[````0+O^`/X`O `" M"PB[%@`""PP```:_N[ ````"8&2[_@#^`+X```BP``"P%@``!+"P"@``!K^[ ML ````)@9+O^`/X`O@``!@L`"P`6```&"P`+``H```:_N[ ````"8&2[_@#^ M`, ```2PL!8```BP``"P" ``!K^[L ````)@9+O^`/X`P `""Q8``@L(NP@` M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````" M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H` M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````" M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H` M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````" M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H` M``:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````" M8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H` M``:_N[ ````"8 B[`"2P"[ +N[ +N[ +N[NP"[N[```XN_X`_@#J```&O[NP M`````F (NP`FL NP"[L`"[NP"[N[L N[L NP"P`VN_X`_@#J```&O[NP```` M`F (NP`FL NP"[ `"[NP"[N[L N[L NP"P`VN\H`#"(`"" B(B*@```$(B*4 M``PB`B":``("%"(`!B `(@`,```&O[NP`````F (NP`FL NP"[ `"[NP"[N[ ML N[L NP"P`VN\H`#"(`"" B(B*@```$(B*4``PB`B":``("%"(`!B `(@`, M```&O[NP`````F (NP`FL NP"P"P"[NP"[N[L N[L NP"P`VN\H`#"(`"" B M(B*@```$(B*4``PB`B":``("%"(`!B `(@`,```&O[NP`````F (NP`FL NP M"P"P"[NP"[N[L N[L NP"P`VN\H`#"(`"" B(B*@```$(B*4``PB`B":``(" M%"(`!B `(@`,```&O[NP`````F (NP`FL NP``NP"[NP"[N[L N[L NP"P`V MN\H`#"(`"" B(B*@```$(B*4``PB`B":``("%"(`!B `(@`,```&O[NP```` M`F (NP`FL NP``NP"[NP"[N[L N[L NP"P`VN_X`_@#J```&O[NP`````F ( MNP`FL NP`+NP"[NP"[NP``N[L NP"P`VN_X`_@#J```&O[NP`````F (NP`. ML NP"[NP"P`(```.N[ +N[L````XN\0```P+N[N[O_L,NP`$L+"8``(+"+N0 M``Z[``2PL)8```H+N[N_^P`.NP`(L ``L P```:_N[ ````"8&2[Q@``'+!5 M5=[M555=755=75U5F ``#+ %5=754(P``!0+!55=555=75U0E@``'K!57O5= M5=5=5=5=555=6P`,```&O[NP`````F!DN\8```X+55U>Y=55``K5``15U9@` M``P+!5U575".```2M575U575U570`)8``" +55_E5=5=U=U5U555U5"P"@`` M!K^[L ````)@9+O$```>5575U5[E75U575U=555=`)8```X%5=754%70`(H` M`!8%55U=55U=75!56P"4```B5575WN5575W5W5U555U54 L`"@``!K^[L `` M``)@9+O$```.555=55[E50`0W0*PE ``#@557=W=W=L`B@``& 555=555=7= MW=W;L)(``"1555U>Y555U5U5U555W=W;N[ (```&O[NP`````F!DN\0```Y5 M5055[N50`!!5E@``#@55`%5055 `B@`"!0Y5``9055 `E ``"E55!>[E`!15 M`E ,```&O[NP`````F!DN\0```Q5557N[N42598``@4*50)0B@`"!1)5`E"4 M```*557N[N4`%%4"4 P```:_N[ ````"8&2[Q ``#E55GN[NY5 `$%66```. M!54`55!54 "*``(%#E4`!E!54 "4```*5>Z>[N4`%%4"4 P```:_N[ ````" M8&2[Q `"50CN`N42598``@4*50)0B@`"!1)5`E"4``CN`N4450)0# ``!K^[ ML ````)@9+O$```.[NZ>[N[E4 `0598```X%50!54%50`(H``@4.50`&4%50 M`)(```R9[NZ>[N4450)0# ``!K^[L ````)@9+O$``)5".X"Y1)5E@`"!0I5 M`E"*``(%$E4"4)0`".X"Y115`E ,```&O[NP`````F!DN\0```Y559[N[N50 M`!!5E@``#@55`%5555 `B@`"!1)5`E"4```*5>Z>[N4`%%4"4 P```:_N[ ` M```"8&2[Q ``#%555>[NY0Y5F@``"@555550`(X``@4.50)0F ``"E55[N[E M`!!5`E 0```&O[NP`````F!DN\0`"%4`!.[E#E6:```*!55555 `C@`"!0Y5 M`E"8```*5555[N4`$%4"4! ```:_N[ ````"8&2[S@`"D/X`] `"D"(```:_ MN[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[ M_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_ MN[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[ M_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_ MN[ ````"8 B[`":P"[ +N[ +N[ +N[NP"[N[N[ +`#:[_@#^`.H```:_N[ ` M```"8 B[`":P"[ +NP`+N[ +N[NP"[N[N[ +`#:[_@#^`.H```:_N[ ````" M8 B[`":P"[ +L `+N[ +N[NP"[NP```+`#:[_@#^`.H```:_N[ ````"8 B[ M`":P"[ +L `+N[ +N[NP"[NP"[ +`#:[_@#^`.H```:_N[ ````"8 B[`":P M"[ +`+ +N[ +N[NP"[N[`+ +`#:[_@#^`.H```:_N[ ````"8 B[`":P"[ + M`+ +N[ +N[NP"[N[`+ +`#:[_@#^`.H```:_N[ ````"8 B[`":P"[ `"[ + MN[ +N[NP"[N[L `+`#:[_@#^`.H```:_N[ ````"8 B[`":P"[ `"[ +N[ + MN[NP"[N[L `+`#:[_@#^`.H```:_N[ ````"8 B[`":P"[ `N[ +N[ +N[ ` M"[N[NP`+`#:[_@#^`.H```:_N[ ````"8 B[``ZP"[ +N[ +``@``!"[L N[ MN[NP"S:[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^ M`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ` M```"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^ M`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ` M```"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^ M`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ` M```"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^ M`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ` M```"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^ M`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ` M```"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^ M`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ````"8&2[_@#^`.H```:_N[ ` M```"8&:[`@L.NP*P#KL"L!"[`@L.NP(+#KL"L Z[`K 0NP(+#KL""PZ[`K 0 MNP(+#KL""PZ[`K .NP*P$+L""PZ[`@L.NP*P#KL"L!"[`@L.NP(+#KL"L Z[ M`K 0NP(+#KL""PZ[`K .NP*P$+L""PZ[`@L.NP*P#KL"L!"[`@L.NP(+#KL" ML!"[`@L.NP(+#KL"L Z[`K 0NP(+#KL""PZ[`K .NP*P$+L""PZ[`@L.NP*P M#KL"L R[``:_N[ ````"8&:[`@L.NP*P#KL"L!"[`@L.NP(+#KL"L Z[`K 0 MNP(+#KL""PZ[`K 0NP(+#KL""PZ[`K .NP*P$+L""PZ[`@L.NP*P#KL"L!"[ M`@L.NP(+#KL"L Z[`K 0NP(+#KL""PZ[`K .NP*P$+L""PZ[`@L.NP*P#KL" ML!"[`@L.NP(+#KL"L!"[`@L.NP(+#KL"L Z[`K 0NP(+#KL""PZ[`K .NP*P M$+L""PZ[`@L.NP*P#KL"L R[``:_N[ ````"8':[`K @NP(+'KL"L""[`@L> MNP*P(+L""QZ[`K @NP(+'KL"L""[`@L>NP*P(+L""QZ[`K @NP(+'KL"L""[ M`@L@NP(+'KL"L""[`@L>NP*P(+L""QZ[`K NP*P(+L""QZ[`K @NP(+'KL"L""[`@L>NP*P M(+L""QZ[`K @NP(+(+L""QZ[`K @NP(+'KL"L""[`@L>NP*P'+L`!K^[L `` M``)@F+L""T"[`@M NP(+0+L""T"[`@M NP(+0+L""T"[`@M NP*P0+L"L$"[ M`K NP`DL NP"[ +L NP M"[ +N[NP"[ +'KL`)+ +L NP"[ +L NP"[ +L NP"QZ[`"*P"[ +L NP"[ + ML NP"[NP"P`@NP`@L NP"[ +L NP"[ +L NP"R*[`"2P"[ +L NP"[ +L NP M"[ +L L>NP`DL NP"[ +L NP"[ +L N[N[ +'KL`)+ +L NP"[ +L NP"[ + ML NP"R"[`"(`NP"[`+L`NP"[`+L`NP"[```@NP`@`+L`NP"[`+L`NP"[`+NP M"R*[`"(`NP"[`+L`NP"[`+L`N[^[L ````)@F+L`"+ +L L(NP`4L NP"[N[ ML NP"QZ[``BP"[ +"+L`"+ +L L(NP`$L L>NP`(L NP"PB[`!2P"[N[L NP M"[ +'KL`"+ +L L(NP`2L N[N[ +N[ +`""[``BP"[ +"+L`$+ +N[NP"[ + M(KL`"+ +L L(NP`4L N[N[ +N[NP"QZ[``BP"[ +"+L`%+ +N[NP"[ ```L> MNP`(L NP"PB[`!2P"[N[L N[N[ +(+L`!@"[```*NP`2`+N[NP"[`+L``""[ M``8`NP``"KL`$ "[N[L`N[ +(KL`!@"[```*NP`2`+N[NP"[O[NP`````F"8 MNP`(L NP"PB[`!2P"[L`N[NP"[ +'KL`"+ +L L(NP`(L N[``B[``2P"QZ[ M``BP"[ +"+L`%+ +N[NP"[ +L L>NP`(L NP"PB[`!*P"[N[L N[L L`(+L` M"+ +L L(NP`0L N[N[ +NP`BNP`(L NP"PB[`!2P"[N[L N[N[ +'KL`"+ + ML L(NP`4L N[N[ +L NP"QZ[``BP"[ +"+L`%+ +N[NP"[N[L L@NP`&`+L` M``J[`!(`N[N[`+L`NP``(+L`!@"[```*NP`0`+N[NP"[NP`BNP`&`+L```J[ M`!(`N[N[`+N_NP`````"8)B[`"2P"[ +N[NP"[ +N[ +N[ +L L>NP`DL NP M"[N[L NP"[NP"[N[```+'KL`)+ +L N[N[ +L N[N[ +L NP"QZ[`"*P"[ + MN[NP"[ +N[NP"[NP"P`@NP`BL NP"[N[L NP"[N[L N[L L`(+L`)+ +L N[ MN[ +L N[N[ +N[NP"QZ[`"2P"[ +N[NP"[ +N[NP"[L`L L>NP`DL NP"[N[ ML NP"[N[L NP"[ +(+L`(@"[`+N[NP"[`+N[NP"[`+L``""[`" `NP"[N[L` MNP"[N[L`N[L`(KL`(@"[`+N[NP"[`+N[NP"[O[NP`````F"8NP`BL NP"[N[ ML ``N[N[`+N[````(+L`)+ +L N[N[ ``+N[NP"[L NP"QZ[`"2P"[ +N[NP M``"[N[ `N[ +L L>NP`BL NP"[N[L ``N[NP`+N[L L`(+L`(K +L N[N[ ` M`+N[L "[N[L``""[`"*P"[ +N[NP``"[N[ `N[NP```@NP`DL NP"[N[L `` MN[NP`+N[`+ +'KL`(K +L N[N[ ``+N[L "[L ```"*[`"(`NP"[N[L```N[ MNP`+NP``"P`@NP`@`+L`N[N[```+N[L`"[N[`"*[`"(`NP"[N[L```N[NP`+ MN[^[L ````)@F+L`$+ +L N[N[ +"+L`#+ +L NP"QZ[`!"P"[ +N[NP"PB[ M``RP"[ +L L>NP`0L NP"[N[L L(NP`,L NP"[ +'KL`$+ +L N[N[ +"+L` M"K +N[ +`""[`!"P"[ +N[NP"PB[``RP"[N[L L>NP`0L NP"[N[L L(NP`, ML N[N[ +'KL`$+ +L N[N[ +"+L`#+ +N[ `"QZ[`!"P"[ +N[NP"PB[``BP M"[ +)+L`#@"[`+N[NP``"KL`!@"[```DNP`.`+L`N[N[```*NP`*`+N[L L` M(+L`#@"[`+N[NP``"KL`"@"[O[NP`````F"8NP`DL NP"[N[L N[N[ +L NP M"[ +'KL`)+ +L N[N[ +N[NP"[ +L NP"QZ[`!"P"[ +N[NP"PB[``RP"[ + ML L>NP`0L NP"[N[L L(NP`*L N[L L`(+L`$+ +L N[N[ +"+L`#+ +L NP M"QZ[`!"P"[ +N[NP"PB[``RP"[N[L L>NP`0L NP"[N[L L(NP`,L N[L `+ M'KL`$+ +L N[N[ +"+L`"+ +L LDNP`.`+L`N[N[```*NP`&`+L``"2[``X` MNP"[N[L```J[``H`N[NP"P`@NP`.`+L`N[N[```*NP`*`+N_N[ ````"8)B[ M`"2P"[ +N[NP"[N[L NP"[ +L L>NP`DL NP"[N[L N[N[ +L NP"[ +'KL` M)+ +L N[N[ +N[NP"[ +L NP"QZ[`"*P"[ +N[NP"[N[L NP"[ `"P`@NP`D ML NP"[N[L N[N[ +L NP"[ +'KL`)+ +L N[N[ +N[NP"[ +L NP"QZ[`"2P M"[ +N[NP"[N[L NP"[N[``L>NP`@L NP"[N[L N[N[ +L NP"R2[`"(`NP"[ MN[L`N[N[`+L`NP"[```@NP`B`+L`N[N[`+N[NP"[`+N[NP``(+L`(@"[`+N[ MNP"[N[L`NP"[O[NP`````F":NP`@``"[N[NP```+NP``N[L``"*[`" ``+N[ MN[ ```N[``"[NP``(KL`( ``N[N[L ``"[L``+N[```BNP`@``"[N[NP```+ MNP``N[NP"R*[`" ``+N[N[ ```N[``"[NP``(KL`( ``N[N[L ``"[L``+N[ M```BNP`B``"[N[NP```+NP``N[N[L L`(+L`(@``N[N[L ``"[L``+NP```+ M`""[`"*P``N[N[L```"[L `+N[ `"P`@NP`BL `+N[N[````N[ `"[L````` M(+L`(K `"[N[NP```+NP``N[O[NP`````F#^N_Z[_KM0NP`&O[NP`````F#^ MN_Z[_KM0NP`&O__P`````F#^N_Z[_KM4NP*P```"8/Z[_KO^NU"[``8````` M```"8/Z[_KO^NU"[``:V9F ````"8/Z[_KO^NU"[``:_N[ ````"8/Z[_KO^ MNU"[``:_N[ ````"8/Z[_KO^NU"[``:_N[ ````"8/Z[_KO^NU"[``:___ ` H```"8/Z[_KO^NU2[`K ```)@_@#^`/X`5@```/YF_F;^9E9F`F ``0`` ` end --------------------------- Newsgroups: comp.os.vxworks Subject: compile problem :does it rely on CPU type? Date: 13 Nov 2001 04:38:44 -0800 From: mars_group@263.net (chenjun) Organization: http://groups.google.com/ Message-ID: <71984f3.0111130438.15f253d0@posting.google.com> I can't use compiler in tornado2.0 to compile a c file in my computer which CPU is AMD DURON 700, but everything is ok when I used it in INTEL PENTUM CPU,what about it?how can I solve this problem. --------------------------- Newsgroups: comp.os.vxworks Subject: Serial Wdb; LogMsg hangs system Date: Tue, 13 Nov 2001 13:41:56 +0000 From: Owain Phillips Organization: Siemens Inc. Message-ID: <3BF12324.858BFEBF@siemenscomms.co.uk> This is a multi-part message in MIME format. - --------------4BF2BBD4870C55CF39A240D9 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi, I'm running Wdb in serial mode to switch on a new Lan driver and have seen that my Vxworks hangs as soon as the lan driver does a logMsg. On starting the system (without Lan) I see the tLogTask is running. Printfs from the windShell land in the windshell. I try and call logMsg and the shell hangs. Any ideas? Regards, Owain - --------------4BF2BBD4870C55CF39A240D9 Content-Type: text/x-vcard; charset=us-ascii; name="owain.phillips.vcf" Content-Transfer-Encoding: 7bit Content-Description: Card for Owain Phillips Content-Disposition: attachment; filename="owain.phillips.vcf" begin:vcard n:Phillips;Owain tel;fax:+44 115 943 4969 tel;work:+44 115 943 2167 x-mozilla-html:TRUE url:http://www.siemenscomms.co.uk org:Siemens Comunications Ltd version:2.1 email;internet:owain.phillips@siemenscomms.co.uk title:Software Engineer adr;quoted-printable:;;Technology Drive=0D=0ABeeston;Nottingham;;NG9 1LA;United Kingdom fn:Owain Phillips end:vcard - --------------4BF2BBD4870C55CF39A240D9-- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: clock corruption Date: Tue, 13 Nov 2001 16:18:45 +0100 From: Martin Alle <m@hotmail.com> Organization: Siemens Inc. Message-ID: <3BF139D5.BDCEA769@hotmail.com> References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <3BEBA352.9D414CFE@icn.siemens.de> <_ZUG7.17$4k.29463@newsr2.u-net.net> <9bcputs8rv0pmdf3fnrvj42ap32ivcv8nf@4ax.com> <7iaqutgnmf5s9j39tfobmj8r0j9afa7heu@4ax.com> <9soara$k29$1@uranium.btinternet.com> We applied a small hack using the following script command: (short)*(clock_gettime+0x62)=(short)&vxAbsTicks which replaces vxTicks with vxAbsTicks in the downloaded vxWorks image. **** And this fixed our problem **** We shall be in touch with Windriver regarding the TSR. thanks for your help! Ross --------------------------- Newsgroups: comp.os.vxworks Subject: Re: vxImmrGet ???????? Date: Tue, 13 Nov 2001 16:16:16 GMT From: "dgold1" Organization: Road Runner Message-ID: References: <3BF0EF95.1040309@sei.co.kr> pch wrote in message <3BF0EF95.1040309@sei.co.kr>... >hi. >i dont know what vxImmrGet() do ? >i cannot find about vxImmrGet at search engine... > >i want to konw what vxImmerGET() is.. It gets the base address of the dual-port RAM on the Motorola PPC860 and 8260 network processors. It might even do it on the 68360, but that was too long ago for me to remember... hth, Dan Gold gold@ensemble.com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Strange function behaviour Date: 13 Nov 2001 18:30:21 GMT From: pfk@c.zeiss.de (Frank Klemm) Organization: =?iso-8859-1?Q?a=B2+b=B2=3Dc=B2?= Message-ID: References: <3beff29e$1@brateggebdc5.br-automation.co.at> Reply-To: pfk@uni-jena.de On Mon, 12 Nov 2001 16:59:08 +0100, Werner Schiendl wrote: >Hi, > >For x86, the data type 'long long' is not 'officially' supported, IIRC. >Therefore the missing symbols ___udivdi3, etc. > >I do not see an other obvious mistake, apart from the fact the you seem to >have a main() function. >You MUST NOT have a main function in any VxWorks project. > The main() function is for testing the same code unter NT, Linux, MS-DOS. - -- Frank Klemm --------------------------- Newsgroups: comp.os.vxworks Subject: Sending IP detagrams on a specific interface Date: Tue, 13 Nov 2001 19:05:15 +0000 (UTC) From: "Indhu Shetty" Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: <5ddcd6a7847f37df088ac9388844face.34031@mygate.mailgate.org> Hi, We have enabled multiple Ethernet ports on our board (PPC8260, running Tornado 2.0) I have to implement a protocol which that generates IP packets. These packets are not TCP/UDP. They use a separate IP protocol type. My box can be connected to another box through any of the Ethernet ports. Now my real problem is that my application needs to send IP packets out through specific Ethernet port to the peer. Similarly when I receive an IP packet, form the peer; I need to know which port it was received. Is there any why I can do this in Tornado? Any advice will be welcome. Thanks Indhu - -- Posted from [66.7.6.122] via Mailgate.ORG Server - http://www.Mailgate.ORG --------------------------- Newsgroups: comp.os.vxworks Subject: Socket problem on Vxworks Date: Tue, 13 Nov 2001 13:34:47 -0600 From: "Aaron Kolega" Organization: Nortel Message-ID: <9srsj4$ia6$1@bcarh8ab.ca.nortel.com> hi, I am having a socket disconnect from my server application on vxworks. The problem is I cannot find how to discover that the client has disconnected. I have tried to do a getsockopt(....) with the SO_ERROR option and it gives me error number 0. I have also tried writing to the socket to test if it is good or not. When I write to the disconnected socket, it returns that I have written a valid number of bytes to the socket. I would expect that it would return a -1. Does anyone know if there is a way to test a socket connection to see if it is still properly connected? Thanks, Aaron supakol1@hotmail.com --------------------------- Newsgroups: comp.os.vxworks Subject: Does anybody have an example NPT driver? Date: 13 Nov 2001 12:39:15 -0800 From: jperron@cetaceannetworks.com (Jason Perron) Organization: http://groups.google.com/ Message-ID: Hi Everybody, I have recently installed T2CP4, which incorporates the new NPT architecture into the OS. I was hoping that this release would have an example of an NPT-style driver, but it appears that the examples in the "target\src\drv\end" (ln7990End.c and templateEnd.c) are the old, END-style drivers. I have the latest version of the NPT programmer's guide (edition 4), but I'd really like to have a template or some example code that I could compile and try out. Does anything like this exist? Also, if anybody out there has built an NPT-style driver, could you comment on how stable the new NPT stuff is? Does it work as documented or did you have a bunch of undocumented "suprises" along the way? Thanks! Jason --------------------------- Newsgroups: comp.os.vxworks Subject: RFC2131 Dhcp code [for ARM]. Date: 13 Nov 2001 16:49:39 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: Sender: bpringlemeir@DeadDuck Would any care to share RFC2131 client code with me, or point me to one? Apparently, WRS is not supporting this for the ARM. I have several Linux DHCP clients. I am just trying to decide which is easier; to port the code or change the OS ;-) I guess March of 1997 is rather current. regards, Bill Pringlemeir. From: xxxxxxxxx Subject: Re: FW: TSR #262641 To: Bill Pringlemeir Date: Tue, 13 Nov 2001 13:31:47 -0600 Organization: Wind River Hi, Unfortunately, the version you have does not support RFC 2131 and WindRiver hasn't produced a version for ARM that does support it. If you have any questions, let me know. I'd recommend getting in touch with your field engineer, who might have a better alternative. Sincerely, xxxxxxxxxx - -- I can't believe how bloated you are. Furthermore, you racist, Napoleon is old. vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html" --------------------------- Newsgroups: comp.os.vxworks Subject: Target Server Console freezes after hitting Properties menu Date: Tue, 13 Nov 2001 13:50:44 -0800 From: "Mark Galecki" Message-ID: <3bf195bb$0$11563$724ebb72@reader2.ash.ops.us.uu.net> Hello, we have Tornado 2.0 installation on NT 4.0 host. I attach a Target Server to a target running VxWorks, and I make it show a console. Now, on console, which is a DOS CommandPrompt Window, I hit the Properties menu item (which is used to change the layout, colors and fonts). Upon this, the Properties Dialog freezes. I can shutdown the target server and then the console vanishes and I can restart the target server. The reason why I don't think this is DOS problem is because I can adjust Properties of any other DOS window without any problem. On the other hand, we have many NT workstations that use the same Tornado exec over the network. Some of them have this problem, some don't. So is this Tornado problem, and if so what is the solution, or is it not? Thank you, Mark Galecki SBS Technologies --------------------------- Newsgroups: comp.os.vxworks Subject: muxDevUnload & muxDevLoad after system boot up Date: 13 Nov 2001 14:37:53 -0800 From: czhao@hns.com (Charlie Zhao) Organization: http://groups.google.com/ Message-ID: <75b047bf.0111131437.6dc89950@posting.google.com> I tried to test muxDevLoad and muxDevUnload after system boot up. However, I got problem. It is a standalone board and boot from flash disk "/tffs0/". And "STANDALONE_NET" is defined in config.h. When bootup, the ethernet interface is OK. Ping, ftp, telnet are all working. However, I tried to use muxDevUnload to unload the ethernet driver. After unload, I use muxDevLoad, muxDevStart, endFindByName, muxIoctl, ipAttach, bootNetmaskExtract, usrNetifConfig to reload the ethernet driver. I check with muxShow and ifShow, everything seems OK. The mux driver is there and network interface is there. However, I CANNOT do ping, ftp and whatever network operation. Any expert know what I missed? Thanks a lot. Charlie --------------------------- Newsgroups: comp.os.vxworks Subject: Any way to set MTU for entire network interface? Date: Tue, 13 Nov 2001 22:10:36 GMT From: Craig Johnston Organization: The Boeing Company Message-ID: <3BF19A5C.8FBBB3F4@boeing.com> Sender: nntp@news.boeing.com (Boeing NNTP News Access) I'd like to be able to set the maximum Maximum Transfer Unit (MTU) for an entire ethernet interface (say ie0). I can set this on a per socket basis with an ioctl() call, but can't find a means to set it for the entire interface. The netShow() tool will show me the current MTU (1500 for my interface), so I suspect there should be a way to set this value. Any suggestions? - -- Craig Johnston Did you know you can't steer a boat that isn't moving? Just like a life. -- Paul Lutus --------------------------- Newsgroups: comp.os.vxworks Subject: Re: openssl on vxworks -- how to reduce the size of libcrypto and libssl? Date: 13 Nov 2001 14:56:06 -0800 From: dragonli@yahoo.com (June) Organization: http://groups.google.com/ Message-ID: References: Thanks for your help. Actually i am the person who sent you an email and asked for Makefile several days ago. You gave me a lot of help. I am going to try what you told me. Thanks again. Now i am testing the lib functions on my Intel IXP board (later i will do the optimization). Also i found there are some persons who are trying to reduce the size of the libraries on the news group for openssl users http://groups.google.com/groups?hl=en&group=mailing.openssl.users. have a nice day! June Bill Pringlemeir wrote in message news:... > June> I've successfully built the libcrypto and libssl after i > June> removed about 20 files (most of them are test programs, i > June> think). But the lib files are too big. One is more than 12M, > June> another is 5M. For me i only need X509, MD5, SHA. How can i > June> reduce the size of the library with all the functions i need in > June> it? Is there anybody has this experiences? Cound you pls help > June> me? > > Hint 1, libraries are not code. Link your code with libcrypto.a and > libssl.a. If you have just server code or just client code, the image > size will decrease a lot. Take a look at these defines, > > # Utility > # -DNO_BIO=1 -DNO_BF=1 > > # Symmetric ciphers > # -DNO_DES=1 -DNO_RC2=1 -DNO_RC4=1 -DNO_RC5=1 -DNO_CAST=1 -DNO_IDEA=1 > > # Asymmetric ciphers > # -DNO_RSA=1 -DNO_DSA=1 -DNO_DH=1 > > # Digests > # -DNO_MD2=1 -DNO_MD4=1 -DNO_MD5=1 -DNO_SHA=1 -DNO_RIPEMD=1 -DNO_MDC2=1 > > #ADDED_CFLAGS += -DNO_RC2=1 -DNO_RC5=1 -DNO_CAST=1 -DNO_IDEA=1 > #ADDED_CFLAGS += -DNO_MD2=1 -DNO_MD4=1 -DNO_RIPEMD=1 > > I especially like the define `NO_IDEA' ;-). You need to compile > libraries and app with the same flags. If you have compiled with the > default vxWorks flags, I suggest that you use -fno-volatile. This > will reduce the image size by a little. > > I also used these flags, > > ADDED_CFLAGS += -DVXWORKS=1 -DGETPID_IS_MEANINGLESS -DNO_CHMOD > > I would appreciate it if you email me with any other information that > you get. I am also trying to do the same things... although I am > writing a `/dev/random' type device first. > > regards, > Bill Pringlemeir. --------------------------- Newsgroups: comp.os.vxworks Subject: remote shell daemon for vxWorks? Date: 13 Nov 2001 15:11:55 -0800 From: pignorel@yahoo.com (sonia pignorel) Organization: http://groups.google.com/ Message-ID: <36b73c7d.0111131511.4db188c7@posting.google.com> Hi I am looking for a remote shell daemon for a vxworks platform. Indeed, I'd like to be able to run remote commands from one vxworks platform card onto another vxworks platform card. Thanks a lot, Sonia. --------------------------- Newsgroups: comp.os.vxworks Subject: bootpReply sometimes does not work on client Date: 13 Nov 2001 15:33:18 -0800 From: imohammed786@hotmail.com (fanzi) Organization: http://groups.google.com/ Message-ID: We are using vxWorks bootpParamsGet() on the target to request boot params. It works most of the time, but once in a while we get following message on the client: "Check file permission, world readable!" and displays server IP address. Since it is displaying server IP address, it means it is able to get reply from the server, but I could not determine why the above message is comming instead of bootp reply. We have tried this with Unix-Sun bootp server and also with WinNT bootp server. In both cases we got same problem. If anyone seen this problem before and have any thoughts on this please help me out. Thanks fanzi --------------------------- Newsgroups: comp.os.vxworks Subject: Re: vxImmrGet ???????? Date: Tue, 13 Nov 2001 17:16:37 -0800 From: "Gary M" Message-ID: <3bf1c642$0$4330$4c41069e@reader1.ash.ops.us.uu.net> References: <3BF0EF95.1040309@sei.co.kr> Reply-To: "Gary M" On the MPC860, vxImmrGet() returns a pointer to the base of the System Interface Unit, usually at 0xFF000000. See chapter 2 of the MPC860 User's Manual. The dual-port RAM starts at offset 0x2000 from this base. Just about anything you need to do to control the MPC860 and its integrated peripherals requires access to these registers, which must be included in your memory map in syslib.c, should be accessed with the width as defined for each register, and must have unmodified bits properly masked. Disobeying any of these rules is usually fatal. The documentation for this function should be included as part of the BSP package for PPC, but I find it isn't on mine. "dgold1" wrote in message news:kHbI7.35091$D5.12582127@typhoon.san.rr.com... > > pch wrote in message <3BF0EF95.1040309@sei.co.kr>... > >hi. > >i dont know what vxImmrGet() do ? > >i cannot find about vxImmrGet at search engine... > > > >i want to konw what vxImmerGET() is.. > > > > It gets the base address of the dual-port RAM on the Motorola PPC860 and > 8260 network processors. It might even do it on the 68360, but that was too > long ago for me to remember... > hth, > Dan Gold gold@ensemble.com > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: logMsg side-effects Date: Tue, 13 Nov 2001 17:29:56 -0800 From: "Gary M" Message-ID: <3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net> References: <65b2abfc.0111091037.7e8ad439@posting.google.com> Reply-To: "Gary M" From the VxWorks documentation for intLock(): "Do not call VxWorks system routines with interrupts locked. Violating this rule may re-enable interrupts unpredictably." Since logMsg() is implemented by sending a message to the LogTask, you have effectively violated that rule. "Barry Kelly" wrote in message news:o68I7.10757$R%6.1560531@news-nb00s0.nbnet.nb.ca... > > I think I have proof that logMsg() enables INT's. I still can't believe it! > I've used logMsg() in very INT-sensitive areas! > > Here's my test code. Please tell me what I'm missing here: --------------------------- Newsgroups: comp.os.vxworks Subject: Tornado 2 setup on win2k hangs Date: Wed, 14 Nov 2001 02:19:18 GMT From: "Mike Hanna" Organization: Road Runner - NC Message-ID: I'm trying to install T2 on a win2k w/ sp2 machine and it hangs at the point when it should be copying files. The status bar shows 100%, but has no text indicating what it is supposed to be copying. I've seen some similar posts, but no solutions. Anybody know whats going on? --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Solaris shared memory error Date: Wed, 14 Nov 2001 15:40:42 +1000 From: Graham Crawford Organization: Distributed Systems Technology CRC Message-ID: <3BF203DA.48BA34EE@dstc.qut.edu.au> References: <3BEA1E0A.F1A99FF9@dstc.qut.edu.au> Hi, Well I was using a knobbled Ultra 10 with 128Mb of memory. I think this was the problem - I transferred to SparcStation 5 with 64Mb of memory (but I had super-user) and increased the shared memory segment size - this basically corrected the problem I reported but then I see the following message. Cannot allocate Mainwin static colors. Another mwcolormanager or Mainwin application might be running I then transfered to an Ultra 10 with 256 Mb of memory and without doing anything to the shared memory things ran better. I still get awful colors on the launcher though ! - --- Graham Graham Crawford wrote: > I get the following error when I try and start certain Tornado > applications on > SPARC Solaris 2.8 > > gma_init_shm->shmget1: No space left on device > > In particular the MWColorMgr gives this as well as the Launcher > Project application and the SETUP installer from the CDROM. This > message seems to indicate that the shmmax kernel setting should be > increased. > > Has anyone seen this or managed to correct the problem ? --------------------------- Newsgroups: comp.os.vxworks Subject: Tornado v.2.0.2 (180 days license)&networking&NT Date: Wed, 14 Nov 2001 11:17:51 +0100 From: Wojciech Czujowski Organization: Internet Partners Message-ID: <3BF244CF.DF71C4FD@poland.com> Reply-To: czujowski@poland.com Hello, I want to build simulator for networking on NT. Network dirver is installed, component included (using find INCLUDE_NETWORK). When the linker tries to make the vxWorks.exe I get the following: (...) ldsimpc --subsystem=windows -e _WinMainCRTStartup C:\Tornado\host\x86-win32\i386-pc-mingw3 2\lib\crt1.o \ dataSegPad.o partialImage.o ctdt.o -o vxWorks C:\Tornado\host\x86-win32\i386-pc-mingw32\lib\crt1.o: In function `mingw32_init_mainargs': \homes\src\mingw-snapshots\mingw32-merge\init.c:63: undefined reference to `_CRT_glob' \homes\src\mingw-snapshots\mingw32-merge\init.c:63: undefined reference to `__GetMainArgs' C:\Tornado\host\x86-win32\i386-pc-mingw32\lib\crt1.o: In function `mainCRTStartup': \homes\src\mingw-snapshots\mingw32-merge\crt1.c:59: undefined reference to `SetUnhandledEx ceptionFilter@4' (...) make: *** [vxWorks] Error 0x1 Done. Any ideas? Thanks, Wojtek --------------------------- Newsgroups: comp.os.vxworks Subject: Re: clock corruption Date: Wed, 14 Nov 2001 10:01:04 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <3BEBA352.9D414CFE@icn.siemens.de> <_ZUG7.17$4k.29463@newsr2.u-net.net> <9bcputs8rv0pmdf3fnrvj42ap32ivcv8nf@4ax.com> <7iaqutgnmf5s9j39tfobmj8r0j9afa7heu@4ax.com> <9soara$k29$1@uranium.btinternet.com> <3BF139D5.BDCEA769@hotmail.com> Martin Alle <m@hotmail.com> wrote in message <3BF139D5.BDCEA769@hotmail.com>... Martin, is there really a control-c in your email address ?! >We applied a small hack using the following script command: > >(short)*(clock_gettime+0x62)=(short)&vxAbsTicks > > >which replaces vxTicks with vxAbsTicks in the downloaded vxWorks image. Whoaaa!! That's brutal. I *like* it! :-) I did pretty much the same to fix the cacheArchLib bug but I wanted to make it a little bit safe so I made it check that the opcodes were what it expected to find in the first place. >**** And this fixed our problem **** Excellent! >We shall be in touch with Windriver regarding the TSR. lol no comment! DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: undefined relocation Date: Wed, 14 Nov 2001 10:38:57 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <3BE96858.AEE45454@fnal.gov> Dinker Charak wrote in message <3BE96858.AEE45454@fnal.gov>... >hello, > >when doing > >-> ld < myapp.o > >i get > >undefined relocation: 23 >... > >errors .... what is this? i get two three kind of error value besides >23. what is wrong? where can i find a doc telling me what this value >means? It'll be in the ABI or object file format spec. I believe that you must be using ppc, since I think I recognize that code, so looking at the SysVr4 ppc abi (SVR4abippc.pdf, available somewhere on http://www.sun.com, and which is the basis from which the EABI spec evolved), in chapter 4 (Object files), page 4-17 (relocation types) we see - ----- R_PPC_LOCAL24PC 23 low24* see below - ----- and the note that it says to see below is - ----- R_PPC_LOCAL24PC This relocation type resembles R_PPC_REL24, except that it uses the value of the symbol within the object, not an interposed value, for S in its calculation. The symbol referenced in this relocation normal-ly is _GLOBAL_OFFSET_TABLE_, which additionally instructs the link editor to build the global offset table. - ----- Now, vxworks doesn't support the GOT (nor the SDA either), and you really shouldn't have such references or relocation types in your code. The GOT is described in chapter 5: - ----- Position-independent code cannot, in general, contain absolute virtual addresses. Global offset tables hold absolute addresses in private data, thus making the addresses available without compromising the position-independence and sharability of a program’s text. A program references its global offset table using position-independent addressing and extracts absolute values, thus redirecting position-independent references to absolute locations. - ----- So my diagnosis is that you've been trying to use the -fpic flag to generate position independent code. VxWorks simply doesn't support pic. Check the WRS gnu tools manual; somewhere in the first few pages you will see the list of gcc options that WRS officially support for use with VxWorks. It doesn't include -fpic. (It doesn't include quite a lot of things, you may be surprised if you haven't examined this list before). DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: dosFS2, Mounting Disk Volume/Building FAT Date: Wed, 14 Nov 2001 11:04:23 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <3bf0221c$0$6473$4c41069e@reader0.ash.ops.us.uu.net> Bill Pringlemeir wrote in message ... >>>>>> "John" == John R writes: > John> I've tried several ways of forcing the FAT to disk as soon as > John> it is created but I have had no success. Has anyone experienced > John> this or have a better understanding of these events and how I > John> might resolve it? > >See my question from several days ago about "rebootHookAdd". You can >add a flush of the disk. Alternatively you could modify the >usrDosFs.c code so that a dcacheCbio wasn't created... but this would >slow you down a lot! The rate at which dcacheCbio syncs the file system is controllable by one of the arguments passed to dcacheDevTune(), so it might be an idea to set it to 0 (immediate write through) at bootup time and then set it to a reasonable value for caching after the system's been running for however many minutes it takes to sort the FAT out. DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Strange function behaviour Date: Wed, 14 Nov 2001 10:59:10 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <3beff29e$1@brateggebdc5.br-automation.co.at> Frank Klemm wrote in message ... >On Mon, 12 Nov 2001 16:59:08 +0100, Werner Schiendl wrote: >>Hi, >> >>For x86, the data type 'long long' is not 'officially' supported, IIRC. >>Therefore the missing symbols ___udivdi3, etc. >> >>I do not see an other obvious mistake, apart from the fact the you seem to >>have a main() function. >>You MUST NOT have a main function in any VxWorks project. >> >The main() function is for testing the same code unter NT, Linux, MS-DOS. Does this mean that you don't *call* the "main" function under vxworks, but call directly into "start"? That should be fine then. But you shouldn't try and call the "main" function from vxworks, as compilers put secret compiler magic stuff into the beginning of functions called "main", and this stuff will not work correctly on vxworks. Also in regard to the strange behaviour of your system: are you testing this function from the command shell? That runs at the highest priority in the system, so as soon as it reaches that busy-wait loop, every other task will be locked out including the network! Does it work properly if you spawn it using the 'sp' command instead of executing the function name directly ? DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: logMsg side-effects Date: Wed, 14 Nov 2001 11:20:41 GMT From: "Barry Kelly" Organization: NBTel Internet Message-ID: References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net> I was aware of the documentation, however, I really didn't expect a msgQSend to manipulate the current state of interrupts and not put it back the way it was. "Gary M" wrote in message news:3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net... > From the VxWorks documentation for intLock(): > "Do not call VxWorks system routines with interrupts locked. Violating this > rule may re-enable interrupts unpredictably." > Since logMsg() is implemented by sending a message to the LogTask, you have > effectively violated that rule. > > "Barry Kelly" wrote in message > news:o68I7.10757$R%6.1560531@news-nb00s0.nbnet.nb.ca... > > > > I think I have proof that logMsg() enables INT's. I still can't believe > it! > > I've used logMsg() in very INT-sensitive areas! > > > > Here's my test code. Please tell me what I'm missing here: > > > --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Wed Nov 14 08:10:32 2001 From: "Garner, William F (N-SDC)" Date: Wed Nov 14 08:10:34 PST 2001 Subject: pcb cache lookup failed Hi VxWorks Land, Does anyone know why every UDP message passed to the Network Stack causes a "pcb cache lookup failed"? udpstatShow UDP: 678 total packets 336 input packets 342 output packets 0 incomplete header 0 bad data length field 0 bad checksum 0 broadcasts received with no ports 0 full socket 336 pcb cache lookups failed 0 pcb hash lookup failed value = 26 = 0x1a This happens for SNMP, TFTP and the Wind River Debugger. ICMP messages are ok. Thanks in advance. Bill From vxwexplo-errs@csg.lbl.gov Wed Nov 14 11:23:21 2001 From: Rick Eis Date: Wed Nov 14 11:23:23 PST 2001 Subject: VxWorks - Java We are running Personal JWorks 3.1 under Tornado 2.0.2 (WindML). (Pentium target) If we invoke the garbage collector from the Java side a page fault will occur (20% chance). If we invoke the garbage collector from the C side using JNI calls we have no absolutely no problem. If anybody is using Java with VxWorks I would be interested to hearing if you have experienced anything remotely similar to this situation. Or perhaps someone has an idea why this is happening. Thanks so much, Rick Eis From vxwexplo-errs@csg.lbl.gov Wed Nov 14 12:26:40 2001 From: "Mike Anderson" Date: Wed Nov 14 12:26:42 PST 2001 Subject: RE: WindNet OSPF experience ? VxWorks Greetings! > Submitted-by: Ilia Bosis > > Does anyone in the VxWorks land > had worked with the WindNet OSPF package ? > > What can You tell about > it's stability, RFC compliance, > ease to integration, resource usage ? > > Can anyone recommend (or not recommend) it, > suggest an alternatives, > point to caveats, etc. ? > > Hi Ilia, Yes, I've worked with OSPF V1.1 and V1.2. There are lots of issues with these pieces of software WRT their compatibility with SNMP. V1.1 is compatible with Envoy SNMP V8.0 -- not any of the 9.x flavors. V1.2 is compatible with Envoy SNMP 9.2, as long as you get the special installation instructions. V1.2 will also work with the RTM (routing table manager) in T2.02 provided that to enable features when building the code that are not mentioned in either the documentation or the Makefiles. However, V1.2 does work, once properly configured, and it's values will be reflected in the Envoy 9.2 SNMP MIB. However, the MIB values are only one way with V1.2. That is, you can display the values, but not modify them. That feature is supposed to be enabled in V2.0 which will be coming out soon. Once configured and running, OSPF is stable and doesn't appear to have any memory leaks that we can determine. It does seem to be compliant with the RFCs, although it does not have an M-OSPF facility. Plan on using BGP-4 or DVMRP with V 1.2. It doesn't appear to be a real resource pig as long as your links are fast (115K or faster). It's an interrupt issue based on the number of links, density of the network and the connection media. All of those LSAs going out can be an issue over slow, serial PPP links. Integration was a nightmare. However, I got a lot of help from WRS folks and by doing a lot of reading between the lines in the source, I got it working. Now, I can get it installed and working in a day or two. As for V2.0 of the OSPF code, it's difficult to say. I haven't seen it yet, but it's based on the V1.2 code. So, I would expect similar results. The bidirectional integration with SNMP is a key feature that would be worth the wait. To summarize, the product is good and reliable once it's installed and configured. However, installation and configuration is a bear the first time you do it. Plan on 3-4 weeks, if you want to figure it out yourself. Also, plan on buying Moy's OSPF books so you can figure out what the configuration options *really* mean. As for alternatives, I've found a couple of Indian companies who were willing to port an OSPF for me. But, they didn't have anything for VxWorks available off-the-shelf. And, I'd have to pay for the port as well as live with the development delays. Since, my customer had a short fuse on their implementation, WRS's solutions were the best route. If you have any other questions, please feel free to give me a shout. HTH, Mike Anderson -- ======================================================= T h e P T R G r o u p, I n c. ======================================================= Embedded, Real-Time Solutions and Training Mike Anderson mailto:mike@ThePTRGroup.com Chief Scientist http://www.ThePTRGroup.com V: (703) 585-9384 F: (703) 430-3748 ======================================================= "Software development is like making a baby... You can't make a baby in one month by impregnating nine women. Some things just take time." From vxwexplo-errs@csg.lbl.gov Wed Nov 14 15:34:48 2001 From: "Mike Anderson" Date: Wed Nov 14 15:34:50 PST 2001 Subject: Re: Strange function behaviour VxWorks Greetings! > From: pfk@c.zeiss.de (Frank Klemm) > > The following function should wait for some microseconds. > Compiler is cygnus-2.7.2-960126 egcs-971225 tornado 2.0, > plattform is IA32. > > As long as "REPORT_TIME" is defined the program works. > Otherwise the program hangs and nothing is printed, also no "Hallo". > What's the problem? > > Also it is not possible to divide two 64 bit unsigned integers, a linker > error occures. Missing symbols are ___udivdi3 and ___cmpdi2. > [snip] > > For x86, the data type 'long long' is not 'officially' supported, IIRC. > Therefore the missing symbols ___udivdi3, etc. > Yup, this is a 64-bit, unsigned integer divide. Get a hold of the upgraded GNU compiler (2.96) for VxWorks to fix this problem. > I do not see an other obvious mistake, apart from the fact the you seem to > have a main() function. > You MUST NOT have a main function in any VxWorks project. > > You can name it whatever is to your desire, but never main(). > This will usually cause linker errors... at least when you link everything > into one image. > This is why your code fails without the print statements: The "main()" causes some additional code to be linked into your object code that tinkers with the stack (the code that sets up the varargs). The printfs will offset that stack manipulation just enough to avoid the error. By renaming the "main()" the problem should go away. HTH, Mike -- ======================================================= T h e P T R G r o u p, I n c. ======================================================= Embedded, Real-Time Solutions and Training Mike Anderson mailto:mike@ThePTRGroup.com Chief Scientist http://www.ThePTRGroup.com V: (703) 585-9384 F: (703) 430-3748 ======================================================= "Software development is like making a baby... You can't make a baby in one month by impregnating nine women. Some things just take time." From vxwexplo-errs@csg.lbl.gov Wed Nov 14 15:45:05 2001 From: "Mike Anderson" Date: Wed Nov 14 15:45:08 PST 2001 Subject: Re: logMsg side-effects VxWorks Greetings! > > > > If called from interrupt level, logMsg, which is basically just a > > called to msgQSend(), should not change the current interrupt > > settings. If called from task level, it could cause a context switch > > (likely since tLogTask has a pretty high priority), and that will > > usually enable interrupts (depending on how the CPU works, and the how > > they were disabled - check your docs for info). When the calling task > > resumes, they will revert to the locked state. > > > John, > Thanks for replying. Does a context switch unlocks the interrupts? [snip] I believe that the problem you're encountering has nothing to do with a context switch and everything to do with serial interrupts. One of the features of a logMsg() call is to output the message to the system console port. This is typically one of the serial ports. Upon return from an ISR (e.g., the serial port ISR), you will always trap back to the kernel. The last thing that the kernel does before returning from the interrupt cleanup function will be to reenable interrupts. So, I believe that the interrupts being reenabled is a side effect of the serial ISR and what the kernel does upon returning from that ISR, not the side effect of a context switch. HTH, Mike -- ======================================================= T h e P T R G r o u p, I n c. ======================================================= Embedded, Real-Time Solutions and Training Mike Anderson mailto:mike@ThePTRGroup.com Chief Scientist http://www.ThePTRGroup.com V: (703) 585-9384 F: (703) 430-3748 ======================================================= "Software development is like making a baby... You can't make a baby in one month by impregnating nine women. Some things just take time." From vxwexplo-errs@csg.lbl.gov Wed Nov 14 15:55:27 2001 From: "Mike Anderson" Date: Wed Nov 14 15:55:30 PST 2001 Subject: RE: gratuitous ARP VxWorks Greetings! >"Leonid Rosenboim" wrote in message >news:newscache$lmppmg$jdb$1@lnews.actcom.co.il... >> I dont think the arpAdd should generate gratis-arp at all. >> Gratis-arp is generated when the interface is given an IP address - >> it xmits the gratis-arp to check for some other node on the same net >> using the same IP address, and generates a meeage if there is a dup. >> This is all it does, so adding some other node's IP to MAC address >> translation >> to the ARP table should not (and does not) generate any packets. > >My SENS sources confirm this :-) The gratuitous ARP is sent out when a >SIOCIFADDR call is made, i.e. ifAddrSet(), which is what's called (as Leonid >pointed out above) when an interface is given an IP address. Actually, this behavior is exactly what it should do. The gratuitous ARP is actually the interface ARPing itself to discover if there is another interface with the same IP address already on that network segment. If it finds one with the same address, you'll get a "Duplicate IP address found!" error message on the console. Otherwise, everything continues working where it left off. Therefore, the gratuitous ARP is not a bug, but a feature :-). HTH, Mike -- ======================================================= T h e P T R G r o u p, I n c. ======================================================= Embedded, Real-Time Solutions and Training Mike Anderson mailto:mike@ThePTRGroup.com Chief Scientist http://www.ThePTRGroup.com V: (703) 585-9384 F: (703) 430-3748 ======================================================= "Software development is like making a baby... You can't make a baby in one month by impregnating nine women. Some things just take time." From vxwexplo-errs@csg.lbl.gov Wed Nov 14 18:58:25 2001 From: "Mike Anderson" Date: Wed Nov 14 18:58:27 PST 2001 Subject: Re: Strange function behaviour > From: pfk@c.zeiss.de (Frank Klemm) > > Also it is not possible to divide two 64 bit unsigned integers, a linker > error occures. Missing symbols are ___udivdi3 and ___cmpdi2. > BTW, you can also pick these symbols up under gcc 2.7.2 by adding libgcc.a as an additional library to link with in your Tornado project. This library is located in: /tornado/host/x86-win32/lib/gcc-lib/i386-wrs-vxworks/cygnus-2.7.2-960126 HTH, Mike -- ======================================================= T h e P T R G r o u p, I n c. ======================================================= Embedded, Real-Time Solutions and Training Mike Anderson mailto:mike@ThePTRGroup.com Chief Scientist http://www.ThePTRGroup.com V: (703) 585-9384 F: (703) 430-3748 ======================================================= "Software development is like making a baby... You can't make a baby in one month by impregnating nine women. Some things just take time." From vxwexplo-errs@csg.lbl.gov Wed Nov 14 20:54:06 2001 From: Jitendra kanitkar Date: Wed Nov 14 20:54:08 PST 2001 Subject: Re: muxDevUnload & muxDevLoad after system boot up VxWorks greetings, If you can see the interface in muxShow() then do 1. ipAttach() 2. ifMaskSet() 3. ifAddrSet() Then you can do ping, ftp etc. Thanks, Jitendra. Newsgroups: comp.os.vxworks Subject: muxDevUnload & muxDevLoad after system boot up Date: 13 Nov 2001 14:37:53 -0800 From: czhao@hns.com (Charlie Zhao) Organization: http://groups.google.com/ Message-ID: <75b047bf.0111131437.6dc89950@posting.google.com> I tried to test muxDevLoad and muxDevUnload after system boot up. However, I got problem. It is a standalone board and boot from flash disk "/tffs0/". And "STANDALONE_NET" is defined in config.h. When bootup, the ethernet interface is OK. Ping, ftp, telnet are all working. However, I tried to use muxDevUnload to unload the ethernet driver. After unload, I use muxDevLoad, muxDevStart, endFindByName, muxIoctl, ipAttach, bootNetmaskExtract, usrNetifConfig to reload the ethernet driver. I check with muxShow and ifShow, everything seems OK. The mux driver is there and network interface is there. However, I CANNOT do ping, ftp and whatever network operation. Any expert know what I missed? Thanks a lot. Charlie From vxwexplo-errs@csg.lbl.gov Thu Nov 15 04:03:18 2001 From: Vxworks Exploder Date: Thu Nov 15 04:03:21 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Thu Nov 15 04:03:13 PST 2001 Subject: chkdsk deleting files Subject: Ready Queue and an ISR Subject: Re: Tornado 2 setup on win2k hangs Subject: non-stopping breakpoints Subject: Re: undefined relocation Subject: Re: Tornado 2 setup on win2k hangs Subject: Question Subject: Re: non-stopping breakpoints Subject: Speeding up PCI block transfer Subject: Re: trapped into the failure of tffsDevFormat on intel 28f320J3A Subject: Re: chkdsk deleting files Subject: Boot a target with my application Subject: Re: logMsg side-effects Subject: Re: Ready Queue and an ISR Subject: Re: Question Subject: Re: muxDevUnload & muxDevLoad after system boot up Subject: Re: changing MSR Subject: Re: Tornado 2 setup on win2k hangs Subject: Re: dosFs 2.0 unsupported but better ftpd does not describe how to install Subject: network problems past gateway Subject: TFFS 16 bit Flash MTD Subject: Re: Ready Queue and an ISR Subject: Re: remote shell daemon for vxWorks? Subject: Re: network problems past gateway Subject: Re: Ready Queue and an ISR Subject: Re: muxDevUnload & muxDevLoad after system boot up Subject: Doea TFFS have a size limit? Subject: Re: logMsg side-effects Subject: Re: muxDevUnload & muxDevLoad after system boot up Subject: Re: TFFS 16 bit Flash MTD Subject: Re: Doea TFFS have a size limit? Subject: Re: Tornado 2 setup on win2k hangs Subject: Re: trapped into the failure of tffsDevFormat on intel 28f320J3A Subject: Re: TFFS 16 bit Flash MTD Subject: Re: MMU &&Shared memory ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: chkdsk deleting files Date: Wed, 14 Nov 2001 07:16:21 -0500 From: Klein family Message-ID: <3BF26094.C0F865D3@erols.com> My application is writing data to 2GB files on a FAT32 disk as fast as possible using DosFs2. I have a loop of create a file, write to it and then close it. Each file create and close has a logMsg call telling me if it is successfull or not, and the file descriptor number. I have found that the same file descriptor is used and I am not receiving any errors. After the system reboots, chkdsk is run on the disk. Occasionally, chkdsk will determine that a file needs to be adjusted or deleted even though that file had been successfully closed (the proof being that the file descriptor was reused). For example, of a.dat, b.dat, c.dat, d.dat, e.dat, f.dat, and g.dat, chkdsk will have problems with c.dat and f.dat. Can anyone advise me about what to about losing data? Thank you. Scott Klein Northrop Grumman Baltimore, MD 410-765-0910 scott_b_klein@md.northgrum.com --------------------------- Newsgroups: comp.os.vxworks Subject: Ready Queue and an ISR Date: 14 Nov 2001 05:31:46 -0800 From: trosto@hotmail.com (Tal) Organization: http://groups.google.com/ Message-ID: <705c7b34.0111140531.210a3c6f@posting.google.com> Hi, I am facing this dilema: I have an ISR in which I am "giving" two semaphores in order to activate two tasks (each task is waiting on a semaphore). Both of the tasks have the same priority. Can I be sure that the order in which I am giving the semaphores is the order in which the tasks will run. In other words, Is it true that when I "give" the first semaphore (while I am in the ISR) the first task moves from the pending queue to the ready queue and then when I "give" the second semaphore (still inside the ISR) the second task moves to the ready queue. Then when I finish the ISR, since the ready queue in a FIFO queue the task which was waiting on the first semaphore will run before the other task. If you can also point me to the manual in which the VxWorks tasks queues are explained, cause in the basic manual those things are not dealt with. Thanks, Tal --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado 2 setup on win2k hangs Date: Wed, 14 Nov 2001 14:51:24 +0100 From: Maximilian Epple Organization: EPFL Message-ID: <3BF276DC.36A919CB@gmx.net> References: Mike Hanna wrote: > > I'm trying to install T2 on a win2k w/ sp2 machine and it hangs at the point > when it should be copying files. The status bar shows 100%, but has no text > indicating what it is supposed to be copying. I've seen some similar posts, > but no solutions. Anybody know whats going on? Hi Mike, I had the same problem when installing a patch (T2CP3 or T2CP4) on a Solaris host. I tried a lot of things and one day the problem was gone :) It seemed to depend from the location of the patch-directory in my directory tree. When it was in my $WIND_BASE directory, the setup was freezing at the point when it should be copying files. When I placed it in the home-directory of another user it worked. Pretty mysterious. Speaking only for myself Max --------------------------- Newsgroups: comp.os.vxworks Subject: non-stopping breakpoints Date: Wed, 14 Nov 2001 15:17:05 +0100 From: Sebastien Fauris Organization: Nortel Networks Message-ID: <3BF27CE1.C7CC52F3@europem01.nt.com> Reply-To: sfauris@europem01.nt.com Hi vxWorkers, for debug purposes I would like to be able to set non-stopping breakpoints. For example I set a breakpoint at an address (instruction or data) and when this instruction is executed or an access to this data is performed, I would like to print out a message. Is it possible to change the behavior of the vxWorks breakpoints to make them non-stopping and instead for example call a user hook routine ? This would be great ! Or do I have to redesign my own non-stopping breakpoint mechanism and this just to send a trace when the address is acceeded ? Sebastien. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: undefined relocation Date: Wed, 14 Nov 2001 08:37:49 -0600 From: Dinker Charak Organization: Fermi National Accelerator Laboratory Message-ID: <3BF281BD.A1802D99@fnal.gov> References: <3BE96858.AEE45454@fnal.gov> > So my diagnosis is that you've been trying to use the -fpic flag to > generate position independent code. VxWorks simply doesn't support pic. yes that was the exact problem ... thanx, dinker Dave Korn wrote: > > Dinker Charak wrote in message <3BE96858.AEE45454@fnal.gov>... > >hello, > > > >when doing > > > >-> ld < myapp.o > > > >i get > > > >undefined relocation: 23 > >... > > > >errors .... what is this? i get two three kind of error value besides > >23. what is wrong? where can i find a doc telling me what this value > >means? > > It'll be in the ABI or object file format spec. I believe that you must > be using ppc, since I think I recognize that code, so looking at the SysVr4 > ppc abi (SVR4abippc.pdf, available somewhere on http://www.sun.com, and > which is the basis from which the EABI spec evolved), in chapter 4 (Object > files), page 4-17 (relocation types) we see > > ----- > R_PPC_LOCAL24PC 23 low24* see below > ----- > > and the note that it says to see below is > > ----- > R_PPC_LOCAL24PC This relocation type resembles R_PPC_REL24, except that it > uses > the value of the symbol within the object, not an interposed value, for > S in its calculation. The symbol referenced in this relocation normal-ly > is _GLOBAL_OFFSET_TABLE_, which additionally instructs the > link editor to build the global offset table. > ----- > > Now, vxworks doesn't support the GOT (nor the SDA either), and you really > shouldn't have such references or relocation types in your code. The GOT is > described in chapter 5: > > ----- > Position-independent code cannot, in general, contain absolute virtual > addresses. Global offset > tables hold absolute addresses in private data, thus making the addresses > available without > compromising the position-independence and sharability of a program?s text. > A program > references its global offset table using position-independent addressing and > extracts absolute > values, thus redirecting position-independent references to absolute > locations. > ----- > > So my diagnosis is that you've been trying to use the -fpic flag to > generate position independent code. VxWorks simply doesn't support pic. > Check the WRS gnu tools manual; somewhere in the first few pages you will > see the list of gcc options that WRS officially support for use with > VxWorks. It doesn't include -fpic. (It doesn't include quite a lot of > things, you may be surprised if you haven't examined this list before). > > DaveK > -- > Burn your ID card! http://www.optional-identity.org.uk/ > Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado 2 setup on win2k hangs Date: Wed, 14 Nov 2001 08:41:27 -0600 From: Dinker Charak Organization: Fermi National Accelerator Laboratory Message-ID: <3BF28297.9AC01EFA@fnal.gov> References: hi, just a thought ... do you have ntfs? are access rights proerly defined? etc regards, dinker Mike Hanna wrote: > > I'm trying to install T2 on a win2k w/ sp2 machine and it hangs at the point > when it should be copying files. The status bar shows 100%, but has no text > indicating what it is supposed to be copying. I've seen some similar posts, > but no solutions. Anybody know whats going on? - -- Computing Division/Online and Database Systems 630-840-8604 (office) Fermi National Accelerator Laboratory http://www.fnal.gov http://home.fnal.gov/~dinker --------------------------- Newsgroups: comp.os.vxworks Subject: Question Date: Wed, 14 Nov 2001 14:54:44 GMT From: "rina4579" Organization: Prodigy Internet http://www.prodigy.com Message-ID: Does anyone have any success using the visionICE to program a target Flash with a rombootable vxWorks BSP image? If so, I would like to know how. Please help! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: non-stopping breakpoints Date: Wed, 14 Nov 2001 09:47:23 -0500 From: "Macleod, Randy [CAR:CW31:EXCH]" Organization: Nortel Networks Message-ID: <3BF283FB.240FB9E7@americasm01.nt.com> References: <3BF27CE1.C7CC52F3@europem01.nt.com> Hi, See "e" & "bh" below. For bh, write access, works the other modes may not... So for example: - -> lkup "ifShow" ifShow 0x001e6884 text (cesnetvx.pserv.o.sym) value = 0 = 0x0 - -> e 0x001e6884, 0, 0, puts, "Calling ifShow!!!!!!" value = 0 = 0x0 - -> ifShow Calling ifShow!!!!!! lnPci (unit number 0): Flags: (0x8863) UP BROADCAST MULTICAST ARP RUNNING Type: ETHERNET_CSMACD ... // Randy - -> dbgHelp dbgHelp Print this list dbgInit Install debug facilities b Display breakpoints and eventpoints b addr[,task[,count]] Set breakpoint e addr[,eventNo[,task[,func[,arg]]]]] Set eventpoint bd addr[,task] Delete breakpoint bdall [task] Delete all breakpoints and eventpoints c [task[,addr[,addr1]]] Continue from breakpoint cret [task] Continue to subroutine return s [task[,addr[,addr1]]] Single step so [task] Single step/step over subroutine l [adr[,nInst]] List disassembled memory tt [task] Do stack trace on task bh addr[,access[,task[,count[,quiet]]]] Set hardware breakpoint access: 0 - instruction 1 - read/write data 2 - read data 3 - write data Sebastien Fauris wrote: > > Hi vxWorkers, > > for debug purposes I would like to be able to set non-stopping > breakpoints. For example I set a breakpoint at an address (instruction > or data) and when this instruction is executed or an access > to this data is performed, I would like to print out a message. > Is it possible to change the behavior of the vxWorks > breakpoints to make them non-stopping and instead for example > call a user hook routine ? This would be great ! > Or do I have to redesign my own non-stopping breakpoint > mechanism and this just to send a trace when the address > is acceeded ? > > Sebastien. - -- - - - - - The axis of the universe is irony. - - - - - You are lost in a twisty maze of little standards, all different. --------------------------- Newsgroups: comp.os.vxworks Subject: Speeding up PCI block transfer Date: Wed, 14 Nov 2001 15:44:15 +0100 From: =?iso-8859-1?Q?Torbj=F6rn?= Frostemark Organization: FOI Message-ID: <3BF2833F.9E79DD83@foi.se> This is a multi-part message in MIME format. - --------------8AE199FEDC7B1C18F27EB86F Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi! I have a MVME5100 processorboard (Universe II) running with a PMC I/O-module with some DPRAM that is mapped into PCI memory space. It is very important to dump the data to local memory as fast as possible when needed. Today I just read data (with sysIn32() )from the module and store it in local RAM. This is too slow. I know that the Universe chip has lots of registers to play with, but it is not easy to find what to do. Any suggstions? DMA? How do I know I use block transfer (or not)? regards, Torbjorn - --------------8AE199FEDC7B1C18F27EB86F Content-Type: text/x-vcard; charset=us-ascii; name="torfr.vcf" Content-Transfer-Encoding: 7bit Content-Description: Card for Torbjörn Frostemark Content-Disposition: attachment; filename="torfr.vcf" begin:vcard n:Frostemark;Torbjörn tel;cell:+46-70-249 76 27 tel;fax:+46-(13-37 80 49 tel;work:+46-13-37 80 14 x-mozilla-html:TRUE org:FOI - Swedish Defence Research Agency;Electronic Warfare Systems adr:;;Box 1165;SE-581 11 Linköping;;;SWEDEN version:2.1 email;internet:torfr@foi.se title:Research Engineer fn:Torbjörn Frostemark end:vcard - --------------8AE199FEDC7B1C18F27EB86F-- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: trapped into the failure of tffsDevFormat on intel 28f320J3A Date: Wed, 14 Nov 2001 15:06:01 GMT From: "Thierry De Corte" Organization: GlobeTrotter Message-ID: References: Hi Yuan, We are currently having the same problems with 16 bits AMD, Toshiba and Intel flash. We have traced the problem to the fact that TFFS calculate 1 byte per address (byte mode) while he should calculate 2 bytes per address (word mode). The result is that if you try to format a 4 meg flash, the resulting address range will be 0x400000 while it should 0x2000000. So a format command will bust the valid range of addresses and a CPU exception will occur. So if you want to test your stuff right now, I suggest faking the size of your flash to half of its actual size. For example, if you have a 4 megs flash, initialize your driver with 2 megs for the flash size. You will loose 2 meg but you wont bust the address space anymore. This is of course a temporary solution. We are currently trying to get support from WindRiver on this problem. It's been a month but WindRiver is still unable to help us. So my suggestions are: - Complain about the crappy product to WindRiver. - Don't buy TFFS if your flash is not on their support list. - If you are stuck with TFFS and a 16 bits flash, ask your hardware engineer to go back to 8 bits mode. Good Luck Thierry De Corte "Yuan Hsu" wrote in message news:f41f83b1.0111121925.1d53f556@posting.google.com... > Hi, all > > Currently I am trapped into the failure of tffsDevFormat when adding > TFFS support to our Intel strataFlash. > > We are using Intel strataFlash 28f320J3A. When I trace into the > funtion of tffsDevFormat(), I found it ultermately entered > cfiscsByteIdentify() after calling several socket-level functions and > cfiscsIdentify(). It did recognize it as intel CFI flash, thought in a > uncorrect 8-bit mode, whereas the hardware engineering told me the > flash was set to 16-bit mode. That's the first stange point. > > Second came from cfiscsByteWrite() I specially added in the end of > cfiscsByteIdentify() to test write capability, it failed and from the > dump, I got the know the last function executed was flWriteProtected. > So what's the meaning for it? > > Regards, > > Yuan Hsu --------------------------- Newsgroups: comp.os.vxworks Subject: Re: chkdsk deleting files Date: 14 Nov 2001 10:17:47 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: <3BF26094.C0F865D3@erols.com> Sender: bpringlemeir@DeadDuck >>>>> "Klein" == Klein family writes: [snip] Klein> Can anyone advise me about what to about losing data? Thank Klein> you. Please see the thread "dosFS2, Mounting Disk Volume/Building FAT". It is actually related. The disk cache may not completely write out before you reset. The other behavior you descibed seems normal. vxWorks will reuse closed file descriptors. regards, Bill Pringlemeir. - -- I have nostalgia for the late Sixties! In 1969 I left my laundry with a hippie!! During an unauthorized Tupperware party it was chopped & diced! vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html" --------------------------- Newsgroups: comp.os.vxworks Subject: Boot a target with my application Date: Wed, 14 Nov 2001 16:43:16 +0100 From: THARAUD =?iso-8859-1?Q?Micka=EBl?= Organization: CS-SI Message-ID: <3BF29114.FE50DE4B@c-s.fr> Il s'agit d'un message multivolet au format MIME. - --------------7FB3AFBD0DAD22AF09AD34ED Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi, We currently develops a project whose characteristics are as follows: - - real-time monitor: VxWorks 5.4 with Tornado 2.0 - - target : PPC 604/PowerCore-6750 of the company forces Computer. - - chains of generation: PPC604gnu We currently have problems to generate, download in flashprom and to carry out an image integrating our application and the VxWorks core. We seek help in this field to resolve the situation. The points on which we need help concern: - adequate configuration of VxWorks and/or the BSP for a ROMable image, - the generation a ROMable image, - downloading in Flash of this image, - activation of downloaded image. Thanks in advance for your answers. Best regards, Mickael. - --------------7FB3AFBD0DAD22AF09AD34ED Content-Type: text/x-vcard; charset=us-ascii; name="mickael.tharaud.vcf" Content-Transfer-Encoding: 7bit Content-Description: Carte pour THARAUD Mickaël Content-Disposition: attachment; filename="mickael.tharaud.vcf" begin:vcard n:THARAUD;Mickaël tel;fax:05.56.47.94.81. tel;home:-- tel;work:05.56.34.77.70. x-mozilla-html:FALSE org:CS ;Système d'Information version:2.1 email;internet:mickael.tharaud@c-s.fr title:Ingénieur informatique adr;quoted-printable:;;Parc d'Activit=E9s Kennedy=0D=0AAvenue Becquerel B=E2timent I=0D=0ABP 19;MERIGNAC CEDEX;;33702;FRANCE fn:THARAUD Mickaël end:vcard - --------------7FB3AFBD0DAD22AF09AD34ED-- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: logMsg side-effects Date: Wed, 14 Nov 2001 08:36:15 -0800 From: "Gary M" Message-ID: <3bf29dc4$0$10206$4c41069e@reader1.ash.ops.us.uu.net> References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net> Reply-To: "Gary M" If the priority of your task is lower than LogTask, sending a message to LogTask will cause rescheduling to occur. That will certainly affect the interrupt system. Now, if you were to try running your task at a higher priority than LogTask, the results may be different. You could also try calling taskLock() in conjunction with intLock(), and that may maintain the interrupt state, but I still wouldn't consider that a guarantee of expected results. "Barry Kelly" wrote in message news:dssI7.11039$R%6.1591819@news-nb00s0.nbnet.nb.ca... > I was aware of the documentation, however, I really didn't expect a msgQSend > to manipulate the current state of interrupts and not put it back the way it > was. > > "Gary M" wrote in message > news:3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net... > > From the VxWorks documentation for intLock(): > > "Do not call VxWorks system routines with interrupts locked. Violating > this > > rule may re-enable interrupts unpredictably." > > Since logMsg() is implemented by sending a message to the LogTask, you > have > > effectively violated that rule. > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Ready Queue and an ISR Date: Wed, 14 Nov 2001 08:41:20 -0800 From: "Gary M" Message-ID: <3bf29ef4$0$10206$4c41069e@reader1.ash.ops.us.uu.net> References: <705c7b34.0111140531.210a3c6f@posting.google.com> Reply-To: "Gary M" This will probably work, but relying on assumptions of the scheduler's implementation of the task ready queue is not a recommended design practice. Given the tight ordering you require, why not have the first task signal (give) the semaphore which awakens the second task? "Tal" wrote in message news:705c7b34.0111140531.210a3c6f@posting.google.com... > Hi, > > I am facing this dilema: > I have an ISR in which I am "giving" two semaphores in order to > activate two tasks (each task is waiting on a semaphore). > Both of the tasks have the same priority. > Can I be sure that the order in which I am giving the semaphores is > the order in which the tasks will run. > In other words, Is it true that when I "give" the first semaphore > (while I am in the ISR) the first task moves from the pending queue to > the ready queue and then when I "give" the second semaphore (still > inside the ISR) the second task moves to the ready queue. Then when I > finish the ISR, since the ready queue in a FIFO queue the task which > was waiting on the first semaphore will run before the other task. > > If you can also point me to the manual in which the VxWorks tasks > queues are explained, cause in the basic manual those things are not > dealt with. > > Thanks, > > Tal --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Question Date: Wed, 14 Nov 2001 08:48:32 -0800 From: "Gary M" Message-ID: <3bf2a0a4$0$10204$4c41069e@reader1.ash.ops.us.uu.net> References: Reply-To: "Gary M" Sure. Let us know what your target is, and what isn't working (what errors do you get on the visionICE console and flash programming dialog?). You're running the VxWorks ROM image through the "convert" utility, right? "rina4579" wrote in message news:UAvI7.13071$qO6.1038986363@newssvr13.news.prodigy.com... > Does anyone have any success using the visionICE to program a target Flash > with a rombootable vxWorks BSP image? If so, I would like to know how. > Please help! > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: muxDevUnload & muxDevLoad after system boot up Date: 14 Nov 2001 09:19:30 -0800 From: czhao@hns.com (Charlie Zhao) Organization: http://groups.google.com/ Message-ID: <75b047bf.0111140919.b3ed78e@posting.google.com> References: <75b047bf.0111131437.6dc89950@posting.google.com> I checked the traffic with protocol analyser. My board just keeps sending ARP request for router IP address. The router did replied it, but it seems my boards cannot get the replies. I checked routeShow, I got some intersting result 1. before I did the muxDevUnload and reload, the show is: - ->routeShow ROUTE NET TABLE destination gateway flag Refcnt Use Interface - -------------------------------------------------------------- 0.0.0.0 192.168.128.200 3 0 0 ekh0 192.168.128.0 192.168.128.100 101 0 0 ekh0 2. But after I did did the muxDevUnload and reload, the show is: - ->routeShow ROUTE NET TABLE destination gateway flag Refcnt Use Interface - -------------------------------------------------------------- 0.0.0.0 192.168.128.200 3 0 0 ekh0 0.160.128.32 192.168.128.100 101 0 0 ekh0 192.168.128.0 192.168.128.100 101 0 0 ekh0 Can expert tell me why I got "0.160.128.32", is this the reason that my ethernet interface is no longer working after I did did the muxDevUnload and reload. Thanks a lot Charlie Zhao czhao@hns.com (Charlie Zhao) wrote in message news:<75b047bf.0111131437.6dc89950@posting.google.com>... > I tried to test muxDevLoad and muxDevUnload after system boot up. > However, I got problem. > > It is a standalone board and boot from flash disk "/tffs0/". And > "STANDALONE_NET" is defined in config.h. When bootup, the ethernet > interface is OK. Ping, ftp, telnet are all working. > > However, I tried to use muxDevUnload to unload the ethernet driver. > After unload, I use muxDevLoad, muxDevStart, endFindByName, muxIoctl, > ipAttach, bootNetmaskExtract, usrNetifConfig to reload the ethernet > driver. > > I check with muxShow and ifShow, everything seems OK. The mux driver > is there and network interface is there. However, I CANNOT do ping, > ftp and whatever network operation. > > Any expert know what I missed? > > Thanks a lot. > Charlie --------------------------- Newsgroups: comp.os.vxworks Subject: Re: changing MSR Date: Wed, 14 Nov 2001 15:59:24 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <3BDDF2E7.4DFDF1DE@fnal.gov> <67bf868f.0110300836.1c75a143@posting.google.com> <3BDEF7F6.DA93144B@fnal.gov> Dinker Charak wrote in message <3BDEF7F6.DA93144B@fnal.gov>... >Hi > >> Look at the regsPpc.h file in target/h/arch/ppc.... >> There's one MSR per task. It is saved and restored >> during task switch. > >so now am wondering when each task is spawned where does it pick the >default MSR values from? and if we want to change, do we add hooks to >task creations? and if yes, then what about task the kernel spawns like >shell? what do we do in that case? Task create hooks work fine, and are called for kernel functions the same as any other. The task create hook is called at a point after the TCB is setup, but before the task begins running, so is the perfect place to modify settings in the TCB. I provide one with my altivec compiler that has the job of making sure the initial SP for a task is aligned to 16 bytes rather than just 8, see http://www.lysergic.u-net.com/vxworks-altivec.txt for an example. DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado 2 setup on win2k hangs Date: Wed, 14 Nov 2001 18:56:25 GMT From: "Mike Hanna" Organization: Road Runner - NC Message-ID: References: <3BF28297.9AC01EFA@fnal.gov> It is an ntfs drive, but I believe the access rights are ok. The setup program does create a couple directories and puts a few files there, so I don't think thats it. I also tried logging in using the local administrator account and got the same results. Thanks, Mike "Dinker Charak" wrote in message news:3BF28297.9AC01EFA@fnal.gov... > hi, > > just a thought ... do you have ntfs? are access rights proerly defined? > etc > > regards, > dinker > > Mike Hanna wrote: > > > > I'm trying to install T2 on a win2k w/ sp2 machine and it hangs at the point > > when it should be copying files. The status bar shows 100%, but has no text > > indicating what it is supposed to be copying. I've seen some similar posts, > > but no solutions. Anybody know whats going on? > > -- > Computing Division/Online and Database Systems 630-840-8604 (office) > Fermi National Accelerator Laboratory http://www.fnal.gov > http://home.fnal.gov/~dinker --------------------------- Newsgroups: comp.os.vxworks Subject: Re: dosFs 2.0 unsupported but better ftpd does not describe how to install Date: 14 Nov 2001 19:55:25 GMT From: Johan Borkhuis Organization: Agere Systems Message-ID: References: <197ea102.0111091126.50bf1dc3@posting.google.com> rsdavis@isrparc.org (Scott Davis) wrote: > I am looking for instructions to install the unsupported ftpdLib.c and > header file that comes with dosFs 2.0. I am working with T2 on > Solaris 2.8 with a PPC750 target, PPC604. I can access the SCSI drive > with dosFs 2.0 filesystem on it. I want to take advantage of improved > ftp server provided by dosFs 2.0 so I can get the additional ftp > server commands like mkdir. Just compile it and download it and it should work. But you have to call the main routine. 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: network problems past gateway Date: 14 Nov 2001 12:39:14 -0800 From: agraham@openglobe.net (Aaron Graham) Organization: http://groups.google.com/ Message-ID: <95ebbe31.0111141239.64d37012@posting.google.com> I have problems accessing hosts that are not in my host table. If I ping explicit IP addresses, the pings are successful only occasionally, like 1%-5% of the time. If I add the host to the host table and ping, it works all the time. Why is it that I must add a host to the host table before vxWorks will receive packets from it? I can watch the packets come in through the ethernet driver, and somewhere between the mux and the application, the packet is just dropped. I have also noticed that hostGetByName() doesn't modify the host table. Every time I do a remote access to a new machine, I must add that host to the host table, even if I don't have a domain name for it. This makes things extremely inconvenient, since I must potentially do a hostAdd() at EVERY place in the application where a remote socket is opened. On top of that, the only way to keep track of the contents of the host table seem to be: [1] keep track of them myself (using yet another table in memory) or [2] redirect stdout, call hostShow(), and then parse the output whenever I want to get the contents of the table. Trying to keep track of the routing table brings up the same issues... Any insights? Aaron --------------------------- Newsgroups: comp.os.vxworks Subject: TFFS 16 bit Flash MTD Date: Wed, 14 Nov 2001 21:33:35 GMT From: "Ho-Kuo Chan" Organization: GlobeTrotter Message-ID: Hi, We are developing on a PPC405GP based board and are trying to write an MTD for a flash device that supports 16-bit mode. The device is 4 MB which results in an addressable range of 0x0 to 0x400000 in byte mode, but an addressable range of 0x0 to 0x200000 in word mode (0x200000 * 2 bytes = 4 MB). The trouble is that VxWorks tries to format the addresses in the byte mode range. Since we only have one chip @ 4MB, my identify routine sets up the follwing variables but with no success: noOfChips = 1; erasableBlockSize = 0x10000L; (64 kB) interleaving = 1; chipSize = 0x400000; (4 MB) Has anyone had any success in writing an MTD for 16 bit devices? Any help would be appreciated! - -- Ho-Kuo Chan Software Designer, Digital Division Wavesat Telecom (514) 956-6322 --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Ready Queue and an ISR Date: Wed, 14 Nov 2001 22:34:14 +0100 From: "Werner Schiendl" Message-ID: <3bf2e41a$1@brateggebdc5.br-automation.co.at> References: <705c7b34.0111140531.210a3c6f@posting.google.com> Hi, What is the reasons for the two tasks having the same priority? If the task that should run first has a higher priority, VxWorks' priority based scheduling should guarantee for what you want. Otherwise, I think it would be better to let the first task notify the second one - as Gary M points out in his post, since this does not rely on a particular implementation of the scheduler. hth Werner "Tal" wrote in message news:705c7b34.0111140531.210a3c6f@posting.google.com... > Hi, > > I am facing this dilema: > I have an ISR in which I am "giving" two semaphores in order to > activate two tasks (each task is waiting on a semaphore). > Both of the tasks have the same priority. > Can I be sure that the order in which I am giving the semaphores is > the order in which the tasks will run. > In other words, Is it true that when I "give" the first semaphore > (while I am in the ISR) the first task moves from the pending queue to > the ready queue and then when I "give" the second semaphore (still > inside the ISR) the second task moves to the ready queue. Then when I > finish the ISR, since the ready queue in a FIFO queue the task which > was waiting on the first semaphore will run before the other task. > > If you can also point me to the manual in which the VxWorks tasks > queues are explained, cause in the basic manual those things are not > dealt with. > > Thanks, > > Tal --------------------------- Newsgroups: comp.os.vxworks Subject: Re: remote shell daemon for vxWorks? Date: 14 Nov 2001 13:57:18 -0800 From: jeremywalters@hotmail.com (Jeremy Walters) Organization: http://groups.google.com/ Message-ID: <21fff711.0111141357.6874e87b@posting.google.com> References: <36b73c7d.0111131511.4db188c7@posting.google.com> Here is one you can try, ftp://ftp.cspi.com/incoming/CSUPPORT/rshd.tar - -Jeremy pignorel@yahoo.com (sonia pignorel) wrote in message news:<36b73c7d.0111131511.4db188c7@posting.google.com>... > Hi > I am looking for a remote shell daemon for a vxworks platform. > Indeed, I'd like to be able to run remote commands from one vxworks > platform card onto another vxworks platform card. > > Thanks a lot, > Sonia. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: network problems past gateway Date: Wed, 14 Nov 2001 22:51:11 +0100 From: "Werner Schiendl" Message-ID: <3bf2e813$1@brateggebdc5.br-automation.co.at> References: <95ebbe31.0111141239.64d37012@posting.google.com> Hi, May it be, that the ping just times out if it is not in the hostTable for some odd reason? You could try increase _pingTxTmo to a larger value, it defaults to 5 seconds. See the help entry for ping in the tornado online help. There is no need to add the host to the hostTable, whether for ping, nor for other (socket) communication. So you should not have a need to track the added hosts either. I do not understand, though, why hostGetByName() should modify the hostTable. Is this stated in the manual, that it should? At least you can add the resolveLib to lookup names from a DNS server, but I guess you know that anyway. hth Werner "Aaron Graham" wrote in message news:95ebbe31.0111141239.64d37012@posting.google.com... > I have problems accessing hosts that are not in my host table. If I > ping explicit IP addresses, the pings are successful only > occasionally, like 1%-5% of the time. If I add the host to the host > table and ping, it works all the time. > > Why is it that I must add a host to the host table before vxWorks will > receive packets from it? I can watch the packets come in through the > ethernet driver, and somewhere between the mux and the application, > the packet is just dropped. > > I have also noticed that hostGetByName() doesn't modify the host > table. Every time I do a remote access to a new machine, I must add > that host to the host table, even if I don't have a domain name for > it. This makes things extremely inconvenient, since I must > potentially do a hostAdd() at EVERY place in the application where a > remote socket is opened. > > On top of that, the only way to keep track of the contents of the host > table seem to be: [1] keep track of them myself (using yet another > table in memory) or [2] redirect stdout, call hostShow(), and then > parse the output whenever I want to get the contents of the table. > Trying to keep track of the routing table brings up the same issues... > > Any insights? > Aaron --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Ready Queue and an ISR Date: Wed, 14 Nov 2001 23:56:54 GMT From: dbrya@yahoo.com Organization: http://www.newsranger.com Message-ID: References: <705c7b34.0111140531.210a3c6f@posting.google.com> <3bf2e41a$1@brateggebdc5.br-automation.co.at> In article <3bf2e41a$1@brateggebdc5.br-automation.co.at>, Werner Schiendl says... > >Hi, > >What is the reasons for the two tasks having the same priority? >If the task that should run first has a higher priority, VxWorks' priority >based scheduling should guarantee for what you want. > >Otherwise, I think it would be better to let the first task notify the >second one - as Gary M points out in his post, since this does not rely on a >particular implementation of the scheduler. > >hth >Werner > >"Tal" wrote in message >news:705c7b34.0111140531.210a3c6f@posting.google.com... >> Hi, >> >> I am facing this dilema: >> I have an ISR in which I am "giving" two semaphores in order to >> activate two tasks (each task is waiting on a semaphore). >> Both of the tasks have the same priority. >> Can I be sure that the order in which I am giving the semaphores is >> the order in which the tasks will run. >> In other words, Is it true that when I "give" the first semaphore >> (while I am in the ISR) the first task moves from the pending queue to >> the ready queue and then when I "give" the second semaphore (still >> inside the ISR) the second task moves to the ready queue. Then when I >> finish the ISR, since the ready queue in a FIFO queue the task which >> was waiting on the first semaphore will run before the other task. >> >> If you can also point me to the manual in which the VxWorks tasks >> queues are explained, cause in the basic manual those things are not >> dealt with. >> >> Thanks, >> >> Tal > > I only mention this because Tal infers a different behavior in his original post. I think this is probably posted a number of times, but I'll continue anyway... VxWorks does not execute kernel calls (such as semGives) while in ISR context. These calls are placed on a kernel workQueue until all interrupt processing is complete. This has many advantages (and some disadvantages) but we won't get into that!!! What's important is that for the situation Tal describes, the two semGives are placed on the kernel workQueue. When his ISR is complete all kernel calls on the workQueue are handled (in a FIFO manner I belive) and the scheduler is run once. Dave T h e P T R G r o u p, I n c. Embedded, Real-Time Solutions, and Training David Bryan Manager, Embedded Services www.ThePTRGroup.com Dave@ThePTRGroup.com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: muxDevUnload & muxDevLoad after system boot up Date: 14 Nov 2001 17:37:37 -0800 From: czhao@hns.com (Charlie Zhao) Organization: http://groups.google.com/ Message-ID: <75b047bf.0111141737.79ed3669@posting.google.com> References: <75b047bf.0111131437.6dc89950@posting.google.com> <75b047bf.0111140919.b3ed78e@posting.google.com> Further information: It seems that the ISR of my ethernet driver (ne2000) never be called after I did the muxDevUnload, muxDevLoad, muxDevStart, ipAttach, ifMaskSet, ifAddrSet. Something wrong with my driver? czhao@hns.com (Charlie Zhao) wrote in message news:<75b047bf.0111140919.b3ed78e@posting.google.com>... > I checked the traffic with protocol analyser. My board just keeps > sending ARP request for router IP address. The router did replied it, > but it seems my boards cannot get the replies. > > I checked routeShow, I got some intersting result > > 1. before I did the muxDevUnload and reload, the show is: > ->routeShow > > ROUTE NET TABLE > destination gateway flag Refcnt Use Interface > -------------------------------------------------------------- > 0.0.0.0 192.168.128.200 3 0 0 ekh0 > 192.168.128.0 192.168.128.100 101 0 0 ekh0 > > 2. But after I did did the muxDevUnload and reload, the show is: > ->routeShow > > ROUTE NET TABLE > destination gateway flag Refcnt Use Interface > -------------------------------------------------------------- > 0.0.0.0 192.168.128.200 3 0 0 ekh0 > 0.160.128.32 192.168.128.100 101 0 0 ekh0 > 192.168.128.0 192.168.128.100 101 0 0 ekh0 > > > Can expert tell me why I got "0.160.128.32", is this the reason that > my ethernet interface is no longer working after I did did the > muxDevUnload and reload. > > Thanks a lot > Charlie Zhao > > > > czhao@hns.com (Charlie Zhao) wrote in message news:<75b047bf.0111131437.6dc89950@posting.google.com>... > > I tried to test muxDevLoad and muxDevUnload after system boot up. > > However, I got problem. > > > > It is a standalone board and boot from flash disk "/tffs0/". And > > "STANDALONE_NET" is defined in config.h. When bootup, the ethernet > > interface is OK. Ping, ftp, telnet are all working. > > > > However, I tried to use muxDevUnload to unload the ethernet driver. > > After unload, I use muxDevLoad, muxDevStart, endFindByName, muxIoctl, > > ipAttach, bootNetmaskExtract, usrNetifConfig to reload the ethernet > > driver. > > > > I check with muxShow and ifShow, everything seems OK. The mux driver > > is there and network interface is there. However, I CANNOT do ping, > > ftp and whatever network operation. > > > > Any expert know what I missed? > > > > Thanks a lot. > > Charlie --------------------------- Newsgroups: comp.os.vxworks Subject: Doea TFFS have a size limit? Date: 14 Nov 2001 21:37:37 -0800 From: Robin_ch@china.com (Robin Tcheng) Organization: http://groups.google.com/ Message-ID: <3b9cf6e4.0111142137.662cdcc6@posting.google.com> Hi, I'm working on creating TFFS on flash.The flash size is 8M.I call sysTffsFormat() to leave first 512K unformatted for boot ROM image, the rest is for TFFS.So the TFFS size should be 7.5M. But after I called usrTffsConfig() to attach /tffs/ and copied a file with the size 2M, it said write error after writing 1.5M of that file. A file which is less than 1.5M can be written correctly, but the total size that is usable is 1.5M still! My flash type is AMD29LV320. Any advice will be appreciated! Thanks! Robin --------------------------- Newsgroups: comp.os.vxworks Subject: Re: logMsg side-effects Date: Wed, 14 Nov 2001 18:30:28 -0800 From: "Gary M" Message-ID: <3bf3705e$0$24487$724ebb72@reader2.ash.ops.us.uu.net> References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <488e459a.0111092158.6d053829@posting.google.com> Reply-To: "Gary M" One additional observation... An engineer on my project has observed that given two tasks at the same priority, a call to logMsg() by the first task will cause the second task to be scheduled before control returns to the first. Surprising, but not entirely unexpected, since the first task will be preempted by the LogTask, resulting in the first task being placed at the end of the ready queue of tasks at that priority. > mynamvs@nsc.network.com (Venkat Mynampati) wrote in message news:<65b2abfc.0111091037.7e8ad439@posting.google.com>... > > Hi, > > Does logMsg() have any side-effects like unmasking of interrupts? > > Say, i am in ISR and i masked my interrupts , after that i did a logMsg(), > > now, when logMsg() returns, will it unMask the interrupts? > > > > What could be effects of calling logMsg() with local variables? > > > > TIA > > Venkat --------------------------- Newsgroups: comp.os.vxworks Subject: Re: muxDevUnload & muxDevLoad after system boot up Date: Thu, 15 Nov 2001 08:33:26 +0100 From: "Michael Lawnick" Organization: Buergernetz Dillingen Message-ID: <9svr5g$7v4$1@snoopy.bndlg.de> References: <75b047bf.0111131437.6dc89950@posting.google.com> <75b047bf.0111140919.b3ed78e@posting.google.com> <75b047bf.0111141737.79ed3669@posting.google.com> Reply-To: "Michael Lawnick" Sender: mlawnick@pd9e65b71.dip.t-dialin.net Hi Charlie, just an idea: you normally can't disconnect an interrupt. So: could it be that your ISR is connected twice after reinitialisation and the first connect handles all, but moves data into old Qs ? - -- Mit freundlichen Grüßen, Michael Lawnick ============================================== SOFTEC GmbH Tel +49-731-96600-0 Promenade 17 Fax +49-731-96600-23 D-89073 Ulm Michael Lawnick Germany lawnick@softec.de ============================================== "Charlie Zhao" schrieb im Newsbeitrag news:75b047bf.0111141737.79ed3669@posting.google.com... > Further information: > > It seems that the ISR of my ethernet driver (ne2000) never be called > after I did the muxDevUnload, muxDevLoad, muxDevStart, ipAttach, > ifMaskSet, ifAddrSet. > Something wrong with my driver? > > > > czhao@hns.com (Charlie Zhao) wrote in message news:<75b047bf.0111140919.b3ed78e@posting.google.com>... > > I checked the traffic with protocol analyser. My board just keeps > > sending ARP request for router IP address. The router did replied it, > > but it seems my boards cannot get the replies. > > > > I checked routeShow, I got some intersting result > > > > 1. before I did the muxDevUnload and reload, the show is: > > ->routeShow > > > > ROUTE NET TABLE > > destination gateway flag Refcnt Use Interface > > -------------------------------------------------------------- > > 0.0.0.0 192.168.128.200 3 0 0 ekh0 > > 192.168.128.0 192.168.128.100 101 0 0 ekh0 > > > > 2. But after I did did the muxDevUnload and reload, the show is: > > ->routeShow > > > > ROUTE NET TABLE > > destination gateway flag Refcnt Use Interface > > -------------------------------------------------------------- > > 0.0.0.0 192.168.128.200 3 0 0 ekh0 > > 0.160.128.32 192.168.128.100 101 0 0 ekh0 > > 192.168.128.0 192.168.128.100 101 0 0 ekh0 > > > > > > Can expert tell me why I got "0.160.128.32", is this the reason that > > my ethernet interface is no longer working after I did did the > > muxDevUnload and reload. > > > > Thanks a lot > > Charlie Zhao > > > > > > > > czhao@hns.com (Charlie Zhao) wrote in message news:<75b047bf.0111131437.6dc89950@posting.google.com>... > > > I tried to test muxDevLoad and muxDevUnload after system boot up. > > > However, I got problem. > > > > > > It is a standalone board and boot from flash disk "/tffs0/". And > > > "STANDALONE_NET" is defined in config.h. When bootup, the ethernet > > > interface is OK. Ping, ftp, telnet are all working. > > > > > > However, I tried to use muxDevUnload to unload the ethernet driver. > > > After unload, I use muxDevLoad, muxDevStart, endFindByName, muxIoctl, > > > ipAttach, bootNetmaskExtract, usrNetifConfig to reload the ethernet > > > driver. > > > > > > I check with muxShow and ifShow, everything seems OK. The mux driver > > > is there and network interface is there. However, I CANNOT do ping, > > > ftp and whatever network operation. > > > > > > Any expert know what I missed? > > > > > > Thanks a lot. > > > Charlie --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TFFS 16 bit Flash MTD Date: Thu, 15 Nov 2001 08:54:54 +0100 From: "Michael Lawnick" Organization: Buergernetz Dillingen Message-ID: <9svsci$87v$1@snoopy.bndlg.de> References: Reply-To: "Michael Lawnick" Sender: mlawnick@pd9e65b71.dip.t-dialin.net Hi, have you called flSetWindowBusWidth (vol.socket,16); ? - -- Mit freundlichen Grüßen, Michael Lawnick ============================================== SOFTEC GmbH Tel +49-731-96600-0 Promenade 17 Fax +49-731-96600-23 D-89073 Ulm Michael Lawnick Germany lawnick@softec.de ============================================== "Ho-Kuo Chan" schrieb im Newsbeitrag news:PqBI7.4678$p31.3547158@carnaval.risq.qc.ca... > Hi, > We are developing on a PPC405GP based board and are trying to write an > MTD for a flash device that supports 16-bit mode. The device is 4 MB which > results in an addressable range of 0x0 to 0x400000 in byte mode, but an > addressable range of 0x0 to 0x200000 in word mode (0x200000 * 2 bytes = 4 > MB). The trouble is that VxWorks tries to format the addresses in the byte > mode range. Since we only have one chip @ 4MB, my identify routine sets up > the follwing variables but with no success: > > noOfChips = 1; > erasableBlockSize = 0x10000L; (64 kB) > interleaving = 1; > chipSize = 0x400000; (4 MB) > > Has anyone had any success in writing an MTD for 16 bit devices? Any help > would be appreciated! > > -- > > Ho-Kuo Chan > Software Designer, Digital Division > Wavesat Telecom > (514) 956-6322 > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Doea TFFS have a size limit? Date: Thu, 15 Nov 2001 09:01:21 +0100 From: "Michael Lawnick" Organization: Buergernetz Dillingen Message-ID: <9svsoo$8db$1@snoopy.bndlg.de> References: <3b9cf6e4.0111142137.662cdcc6@posting.google.com> Reply-To: "Michael Lawnick" Sender: mlawnick@pd9e65b71.dip.t-dialin.net Hi Robin, should not be a size problem within TFFS. Size limit begins at 64MB, where you have to recompile the lib (if you have got the sources) with bigger cluster sizes. >128MB I haven't tried, but expect the next problems, after having read some comments in the source ;-) - -- Mit freundlichen Grüßen, Michael Lawnick ============================================== SOFTEC GmbH Tel +49-731-96600-0 Promenade 17 Fax +49-731-96600-23 D-89073 Ulm Michael Lawnick Germany lawnick@softec.de ============================================== "Robin Tcheng" schrieb im Newsbeitrag news:3b9cf6e4.0111142137.662cdcc6@posting.google.com... > Hi, > I'm working on creating TFFS on flash.The flash size is 8M.I call > sysTffsFormat() to leave first 512K unformatted for boot ROM image, > the rest is for TFFS.So the TFFS size should be 7.5M. But after I > called usrTffsConfig() to attach /tffs/ and copied a file with the > size 2M, it said write error after writing 1.5M of that file. A file > which is less than 1.5M can be written correctly, but the total size > that is usable is 1.5M still! > My flash type is AMD29LV320. > Any advice will be appreciated! > Thanks! > > Robin --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado 2 setup on win2k hangs Date: 15 Nov 2001 00:18:41 -0800 From: seado@21cn.com (Seado) Organization: http://groups.google.com/ Message-ID: References: <3BF28297.9AC01EFA@fnal.gov> Maybe your destination path contains spaces. Try to install to a path without spaces. "Mike Hanna" wrote in message news:... > It is an ntfs drive, but I believe the access rights are ok. The setup > program does create a couple directories and puts a few files there, so I --------------------------- Newsgroups: comp.os.vxworks Subject: Re: trapped into the failure of tffsDevFormat on intel 28f320J3A Date: 15 Nov 2001 00:28:41 -0800 From: hsu_yuan@yahoo.com (Yuan Hsu) Organization: http://groups.google.com/ Message-ID: References: Hi, Thierry, We now have some advance from the point where we were in the day I post the first article. We found that there are bugs in TFFS, which didn't take into account of two 16-bit flashes interleaved while we use two intel 28f320J3A to fit for 32-bit data bus width. In cfiscsIdentify() in "cfiscs.c", it first test for 16-bit mode by writing 0x98 to enter QUERY mode, but only in a umcomplete mode. It just think there should have no interleaving for 16-bit flashes. So in our case, it failed in testing 16-bit mode. Then cfiscsIdentify() go to test for 8-bit mode by jumping to cfiscsByteIdentify(). The code for testing 8-bit mode is much more comprehensive, taking into consideration interleaving. Since it fount 'Q, R, Y' in 40H, 44H, 48H, it think my flashes are 4 chips of 8-bit flashes interleaved. So I found now I should write our new 32-bit write and erase functions to accomodate the need. As to tffsDrvFormat(), it calles functions in Socket to dealing with raising voltage before writing(VppOn), or local address mapping(SetWindow), and calles the write and erase functions in MTD level to write header into in each Erase Unit. The header is 80 byte. ... But the problem now is, could anyone offer help on 32-bit write and erase templete code with our two 16-bit flashes? Any advice will be highly appreciated. Yuan Hsu "Thierry De Corte" wrote in message news:... > Hi Yuan, > > We are currently having the same problems with 16 bits AMD, Toshiba and > Intel flash. We have traced the problem to the fact that TFFS calculate 1 > byte per address (byte mode) while he should calculate 2 bytes per address > (word mode). The result is that if you try to format a 4 meg flash, the > resulting address range will be 0x400000 while it should 0x2000000. So a > format command will bust the valid range of addresses and a CPU exception > will occur. > > So if you want to test your stuff right now, I suggest faking the size of > your flash to half of its actual size. For example, if you have a 4 megs > flash, initialize your driver with 2 megs for the flash size. You will loose > 2 meg but you wont bust the address space anymore. > > This is of course a temporary solution. We are currently trying to get > support from WindRiver on this problem. It's been a month but WindRiver is > still unable to help us. > > So my suggestions are: > - Complain about the crappy product to WindRiver. > - Don't buy TFFS if your flash is not on their support list. > - If you are stuck with TFFS and a 16 bits flash, ask your hardware > engineer to go back to 8 bits mode. > > Good Luck > Thierry De Corte --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TFFS 16 bit Flash MTD Date: 15 Nov 2001 00:29:00 -0800 From: seado@21cn.com (Seado) Organization: http://groups.google.com/ Message-ID: References: "Ho-Kuo Chan" wrote in message news:... > Hi, > We are developing on a PPC405GP based board and are trying to write an > MTD for a flash device that supports 16-bit mode. The device is 4 MB which > results in an addressable range of 0x0 to 0x400000 in byte mode, but an > addressable range of 0x0 to 0x200000 in word mode (0x200000 * 2 bytes = 4 Do you mean that your flash is only addressable in 16 bit mode? And does the physical address line address only at 16 bit boundry? If that is the case, that's the responsiblity of your flash erase and write routine. You can just divide TFFS's address by 2 and use this value for output operations. Regards, Seado --------------------------- Newsgroups: comp.os.vxworks Subject: Re: MMU &&Shared memory Date: 15 Nov 2001 00:34:03 -0800 From: ruchama@septier.com (Ruchama Goldshmidt) Organization: http://groups.google.com/ Message-ID: <5df340e0.0111150034.58dcdb68@posting.google.com> References: <5df340e0.0111112315.55186b3c@posting.google.com> <3bf009f3$0$59075$e2e8da3@nntp.cts.com> "Dan Gold" wrote in message news:<3bf009f3$0$59075 Hello Dan! you wrote: > Can your board boot and run without the MMU or caches ? If it runs, then > it's not a BCR problem. Since enabling the MMU requires software, it would > be difficult to enable it if you can't boot :-) Can you boot from your > shared memory ? Yes, without the MMU everything is working great includeing the shared memory >Does the 8260 get it's HRCW from shared space or just try > to get it's boot code ? the HRCW comes from the flash > What are the other devices (i.e. potential bus > masters) sharing the memory ? the master on the bus is an Mcp750 board > Do you have pipelining turned off > (bcr[pldp]=1). yes > You say it doesn't work with the MMU ? What happens ? Machine check ? DSI > ? Hang ? When I eanable the MMU after running the vmBaseGlobalMapInit routine in usrMmuInit file the immr is clearing (I'm working with the powerTap ice...) and the RAM (from 10000- where I load the application) is all 0's. Are you sure you have all your areas setup in the MMU ? Are you > using BATs or PTEs ? I use BATs and I hope I configure them o.k the only area cacheable is the RAM and other areas are cache inhibited > correctly initializing rfcr/tfcr fields for the peripherals) with caches > enabled is another story. what should be the rfcr diffrent then in a case theat there is no cache? thanks for the answers! Ruchama --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Thu Nov 15 07:30:13 2001 From: "David Laight" Date: Thu Nov 15 07:30:15 PST 2001 Subject: Re: ping timing out if hostname unknown I suspect that the 'ping' response is fine, but the DNS name lookup is timing out. This can be detected because the timeout is about 80 seconds, whereas the vxWorks ping will give up after 5 seconds (it has horrid behavour). Adding the name to your local hosts table (I load that table from a local /etc/hosts file at boot time) stops the DNS timeout. Unfortunately there is no 'ping -n' equivalent. David From vxwexplo-errs@csg.lbl.gov Fri Nov 16 04:03:21 2001 From: Vxworks Exploder Date: Fri Nov 16 04:03:23 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Fri Nov 16 04:03:15 PST 2001 Subject: Re: logMsg side-effects Subject: Memory usage Subject: Building all projects in workspace Subject: Probrem with TCP/IP Subject: Re: Tornado 2 setup on win2k hangs Subject: Re: TFFS 16 bit Flash MTD Subject: Re: TFFS 16 bit Flash MTD Subject: Re: logMsg side-effects Subject: Help!Tornado start error. Subject: Re: Help!Tornado start error. Subject: Re: logMsg side-effects Subject: Re: Strange function behaviour Subject: Re: Probrem with TCP/IP Subject: Re: Doea TFFS have a size limit? Subject: Re: clock corruption Subject: Re: access greed? Subject: Re: MMU &&Shared memory Subject: Re: access greed? Subject: Problem using taskSpawn in C++ Subject: VxWorks Restart/Reboot???? Subject: Autoboot without allowing vxWorks to stop it Subject: Re: TFFS 16 bit Flash MTD Subject: Re: logMsg side-effects Subject: Re: Problem using taskSpawn in C++ Subject: Re: Autoboot without allowing vxWorks to stop it Subject: Re: Autoboot without allowing vxWorks to stop it Subject: Re: Autoboot without allowing vxWorks to stop it Subject: Target Server issues -- Cache size?? Subject: Re: Speeding up PCI block transfer Subject: Re: VxWorks Restart/Reboot???? Subject: Re: muxDevUnload & muxDevLoad after system boot up Subject: Re: Autoboot without allowing vxWorks to stop it Subject: Re: VxWorks Restart/Reboot???? Subject: Re: Problem using taskSpawn in C++ Subject: Re: Autoboot without allowing vxWorks to stop it Subject: compile assembly codes?? "unresolved expression that must be .." Subject: Re: Does TFFS have a size limit? Subject: Re: compile assembly codes?? "unresolved expression that must be .." Subject: Re: Problem using taskSpawn in C++ Subject: Re: Probrem with TCP/IP Subject: Re: arpresolve problem Subject: Re: logMsg side-effects Subject: Re: RFC2131 Dhcp code [for ARM]. Subject: Re: Tornado 2 setup on win2k hangs Subject: Re: Target Server Console freezes after hitting Properties menu ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: logMsg side-effects Date: Thu, 15 Nov 2001 10:13:16 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net> >Gary M wrote in message <3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net>... >"Barry Kelly" wrote in message >news:o68I7.10757$R%6.1560531@news-nb00s0.nbnet.nb.ca... >> >> I think I have proof that logMsg() enables INT's. I still can't believe >it! >> I've used logMsg() in very INT-sensitive areas! >> >> Here's my test code. Please tell me what I'm missing here: > >From the VxWorks documentation for intLock(): >"Do not call VxWorks system routines with interrupts locked. Violating this >rule may re-enable interrupts unpredictably." >Since logMsg() is implemented by sending a message to the LogTask, you have >effectively violated that rule. Surely this cannot apply to any of the functions on the list of ISR-safe functions, which after all are frequently called from ISRs during which interrupts are locked, and must not be unlocked ? DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Memory usage Date: Thu, 15 Nov 2001 14:45:56 +0100 From: Mickael THARAUD Organization: CS-Telecom [Groupe CS - Compagnie des Signaux] Message-ID: <3BF3C714.6359A200@c-s.fr> Hi, I work with a PPC604 target (powercore 750 from force computer card). When I use the memShow command, I just see 32Mo but I have much more in my target. Does anyone know how to increase the pool of memory used for my application ? Thanks in advance, MTH. --------------------------- Newsgroups: comp.os.vxworks Subject: Building all projects in workspace Date: Thu, 15 Nov 2001 15:06:44 +0100 From: "Gunter Ritter" Organization: Tenovis GmbH u. Co. KG Message-ID: <9t0i5d$ioe$1@proxy2.fe.internet.bosch.com> Hi, I have a workspace containing a bootable project and a lot of downloadable projects. Does anybody know a possibility to build all downloadable projects and the bootable project by clicking only one button? Thanks. Gunter --------------------------- Newsgroups: comp.os.vxworks Subject: Probrem with TCP/IP Date: Thu, 15 Nov 2001 17:18:02 +0300 From: "Shrike" Organization: MTU-Intel ISP Message-ID: <9t0iqn$h44$1@gavrilo.mtu.ru> We have the following problem. During data exchange over TCP/IP with *big* sockets (8192 bytes) we loose or miss some data, where as with *small* sockets (1024 bytes) all is OK. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado 2 setup on win2k hangs Date: Thu, 15 Nov 2001 14:27:52 GMT From: "Mike Hanna" Organization: Road Runner - NC Message-ID: References: <3BF28297.9AC01EFA@fnal.gov> There no spaces in the path. Thanks. Mike "Seado" wrote in message news:ba0cd0e3.0111150018.53c9cad1@posting.google.com... > Maybe your destination path contains spaces. Try to install to a path > without spaces. > > "Mike Hanna" wrote in message news:... > > It is an ntfs drive, but I believe the access rights are ok. The setup > > program does create a couple directories and puts a few files there, so I --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TFFS 16 bit Flash MTD Date: Thu, 15 Nov 2001 14:39:44 GMT From: "Ho-Kuo Chan" Organization: GlobeTrotter Message-ID: References: <9svsci$87v$1@snoopy.bndlg.de> Yes, the window bus width is also set as you describe below. "Michael Lawnick" wrote in message news:9svsci$87v$1@snoopy.bndlg.de... > Hi, > > have you called > flSetWindowBusWidth (vol.socket,16); > ? > > > -- > Mit freundlichen Grüßen, > Michael Lawnick > ============================================== > SOFTEC GmbH Tel +49-731-96600-0 > Promenade 17 Fax +49-731-96600-23 > D-89073 Ulm Michael Lawnick > Germany lawnick@softec.de > ============================================== > > "Ho-Kuo Chan" schrieb im Newsbeitrag > news:PqBI7.4678$p31.3547158@carnaval.risq.qc.ca... > > Hi, > > We are developing on a PPC405GP based board and are trying to write an > > MTD for a flash device that supports 16-bit mode. The device is 4 MB which > > results in an addressable range of 0x0 to 0x400000 in byte mode, but an > > addressable range of 0x0 to 0x200000 in word mode (0x200000 * 2 bytes = 4 > > MB). The trouble is that VxWorks tries to format the addresses in the byte > > mode range. Since we only have one chip @ 4MB, my identify routine sets up > > the follwing variables but with no success: > > > > noOfChips = 1; > > erasableBlockSize = 0x10000L; (64 kB) > > interleaving = 1; > > chipSize = 0x400000; (4 MB) > > > > Has anyone had any success in writing an MTD for 16 bit devices? Any help > > would be appreciated! > > > > -- > > > > Ho-Kuo Chan > > Software Designer, Digital Division > > Wavesat Telecom > > (514) 956-6322 > > > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TFFS 16 bit Flash MTD Date: Thu, 15 Nov 2001 14:45:08 GMT From: "Ho-Kuo Chan" Organization: GlobeTrotter Message-ID: References: Actually, I've tried dividing the address by 2 in my erase and write routines, but it causes other problems when trying to mount the filesystem (I beleive it fails in mountFTL). I'm no expert in Flash filesystems, but tracing the code seems to indicate a problem in the virtual to physical mapping of FTL. What exactly the problem is what I have difficulty understanding. This is why I was asking if anyone has had any sucess with 16-bit devices. Thanks for your input! - -- Ho-Kuo Chan Software Designer, Digital Division Wavesat Telecom (514) 956-6322 "Seado" wrote in message news:ba0cd0e3.0111150029.7a89c087@posting.google.com... > "Ho-Kuo Chan" wrote in message news:... > > Hi, > > We are developing on a PPC405GP based board and are trying to write an > > MTD for a flash device that supports 16-bit mode. The device is 4 MB which > > results in an addressable range of 0x0 to 0x400000 in byte mode, but an > > addressable range of 0x0 to 0x200000 in word mode (0x200000 * 2 bytes = 4 > > Do you mean that your flash is only addressable in 16 bit mode? And > does the physical address line address only at 16 bit boundry? If that > is the case, that's the responsiblity of your flash erase and write > routine. You can just divide TFFS's address by 2 and use this value > for output operations. > > Regards, > Seado --------------------------- Newsgroups: comp.os.vxworks Subject: Re: logMsg side-effects Date: Thu, 15 Nov 2001 15:33:57 +0100 From: "Werner Schiendl" Message-ID: <3bf3d319$1@brateggebdc5.br-automation.co.at> References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net> Hi, are you sure about this? Couldn't a function use intContext( ) Return TRUE if called from interrupt level. to check if it is running in interrupt context and process differently depending on that? regards Werner "Dave Korn" wrote in message news:JDPI7.23$c72.57263@newsr2.u-net.net... > >Gary M wrote in message > <3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net>... > >"Barry Kelly" wrote in message > >news:o68I7.10757$R%6.1560531@news-nb00s0.nbnet.nb.ca... > >> > >> I think I have proof that logMsg() enables INT's. I still can't believe > >it! > >> I've used logMsg() in very INT-sensitive areas! > >> > >> Here's my test code. Please tell me what I'm missing here: > > > >From the VxWorks documentation for intLock(): > >"Do not call VxWorks system routines with interrupts locked. Violating this > >rule may re-enable interrupts unpredictably." > >Since logMsg() is implemented by sending a message to the LogTask, you have > >effectively violated that rule. > > Surely this cannot apply to any of the functions on the list of ISR-safe > functions, which after all are frequently called from ISRs during which > interrupts are locked, and must not be unlocked ? > > DaveK > -- > Burn your ID card! http://www.optional-identity.org.uk/ > Help support the campaign, copy this into your .sig! > > --------------------------- Newsgroups: comp.os.vxworks Subject: Help!Tornado start error. Date: Thu, 15 Nov 2001 17:47:41 +0300 From: "Shrike" Organization: MTU-Intel ISP Message-ID: <9t0kia$in2$1@gavrilo.mtu.ru> When Tornado II starting it display message: Could'nt read file WindView.win32.tcl no such file or directory. But it's not true - This file is there. May be becouse of that RTI products frequently fails Tronado. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Help!Tornado start error. Date: Thu, 15 Nov 2001 16:09:09 +0100 From: "Werner Schiendl" Message-ID: <3bf3db59$1@brateggebdc5.br-automation.co.at> References: <9t0kia$in2$1@gavrilo.mtu.ru> Hi, do you run it on Windows 2000? The you probably need the Windows 2000 patch, otherwise WindView will not work. IIRC, it is included in Cumulative Patch 4, available at WindSurf. There was a separate patch for the issue as well there. hth Werner "Shrike" wrote in message news:9t0kia$in2$1@gavrilo.mtu.ru... > When Tornado II starting it display message: Could'nt read file > WindView.win32.tcl no such file or directory. But it's not true - This file > is there. May be becouse of that RTI products frequently fails Tronado. > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: logMsg side-effects Date: Thu, 15 Nov 2001 08:06:54 -0800 From: "Gary M" Message-ID: <3bf3e862$0$24244$4c41069e@reader0.ash.ops.us.uu.net> References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net> Reply-To: "Gary M" "Dave Korn" wrote in message news:JDPI7.23$c72.57263@newsr2.u-net.net... > >Gary M wrote in message > <3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net>... > >From the VxWorks documentation for intLock(): > >"Do not call VxWorks system routines with interrupts locked. Violating this > >rule may re-enable interrupts unpredictably." > >Since logMsg() is implemented by sending a message to the LogTask, you have > >effectively violated that rule. > > Surely this cannot apply to any of the functions on the list of ISR-safe > functions, which after all are frequently called from ISRs during which > interrupts are locked, and must not be unlocked ? > The important consideration is from what context the function calls are made. ISR-safe means that nothing unpredictable will happen if the function is called from within an ISR. The ISR can make the call knowing that it will regain control with the same machine context after the function call completes. ISR-safe doesn't apply if the function call occurs at task-level. By necessity, certain functions must invoke the scheduler so that a newly unblocked high priority task can run, which is the nature of an RTOS. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Strange function behaviour Date: 15 Nov 2001 16:30:41 GMT From: pfk@c.zeiss.de (Frank Klemm) Organization: =?iso-8859-1?Q?a=B2+b=B2=3Dc=B2?= Message-ID: References: <3beff29e$1@brateggebdc5.br-automation.co.at> Reply-To: pfk@uni-jena.de On Wed, 14 Nov 2001 10:59:10 -0000, Dave Korn wrote: >Frank Klemm wrote in message ... >>On Mon, 12 Nov 2001 16:59:08 +0100, Werner Schiendl wrote: >>>Hi, >>> >>>For x86, the data type 'long long' is not 'officially' supported, IIRC. >>>Therefore the missing symbols ___udivdi3, etc. >>> >>>I do not see an other obvious mistake, apart from the fact the you seem to >>>have a main() function. >>>You MUST NOT have a main function in any VxWorks project. >>> >>The main() function is for testing the same code unter NT, Linux, MS-DOS. > > Does this mean that you don't *call* the "main" function under vxworks, > but call directly into "start"? That should be fine then. > Yes. main() is only used under Windows/Linux. Under VxWorks I call: - -> start > But you shouldn't try and call the "main" function from vxworks, as > compilers put secret compiler magic stuff into the beginning of functions > called "main", and this stuff will not work correctly on vxworks. > What is that for stuff? First I know is that main() always uses C-Linking, never C++ linking. Seconds is that main() can align the stack. > Also in regard to the strange behaviour of your system: are you testing >this function from the command shell? That runs at the highest priority in >the system, so as soon as it reaches that busy-wait loop, every other task >will be locked out including the network! Does it work properly if you >spawn it using the 'sp' command instead of executing the function name >directly ? > Thank you for your help. The Network connection is very fragile. Doing more than 10 ms of busy loop drops all network connection forever. A taskPrioritySet ( 0, 51 ); solves the problem. - -- Frank Klemm --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Probrem with TCP/IP Date: Thu, 15 Nov 2001 16:52:06 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: <9kSI7.34$c72.73269@newsr2.u-net.net> References: <9t0iqn$h44$1@gavrilo.mtu.ru> Shrike wrote in message <9t0iqn$h44$1@gavrilo.mtu.ru>... > We have the following problem. During data exchange over TCP/IP with *big* >sockets (8192 bytes) we loose or miss some data, where as with *small* >sockets (1024 bytes) all is OK. First guess: you're losing the last packet or so when the socket is closed. You need to implement a graceful close rather than an abort. Check the shutdown() function, you'll need to use it prior to calling close at each end of the socket. DaveK -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Doea TFFS have a size limit? Date: Thu, 15 Nov 2001 09:21:47 -0800 From: "Dan Gold" Message-ID: <3bf3f9fc$0$71387$e2e8da3@nntp.cts.com> References: <3b9cf6e4.0111142137.662cdcc6@posting.google.com> <9svsoo$8db$1@snoopy.bndlg.de> With TFFS 1.0 I've gone up to 256MB, with TFFS 2.0 I've gone up to 992MB. Can't hit the magical 1GB due to TFFS limitations. I can't remember the layout of the LV320 but make sure all the sectors you're using for TFFS are the same size (64K I believe). What does dosFsConfigShow() say after you've formatted your flash ? hth, Dan Gold gold@ensemble.com "Michael Lawnick" wrote in message news:9svsoo$8db$1@snoopy.bndlg.de... > Hi Robin, > > should not be a size problem within TFFS. Size limit begins at 64MB, where > you have to recompile the lib (if you have got the sources) with bigger > cluster sizes. >128MB I haven't tried, but expect the next problems, after > having read some comments in the source ;-) > > -- > Mit freundlichen Grüßen, > Michael Lawnick > ============================================== > SOFTEC GmbH Tel +49-731-96600-0 > Promenade 17 Fax +49-731-96600-23 > D-89073 Ulm Michael Lawnick > Germany lawnick@softec.de > ============================================== > > "Robin Tcheng" schrieb im Newsbeitrag > news:3b9cf6e4.0111142137.662cdcc6@posting.google.com... > > Hi, > > I'm working on creating TFFS on flash.The flash size is 8M.I call > > sysTffsFormat() to leave first 512K unformatted for boot ROM image, > > the rest is for TFFS.So the TFFS size should be 7.5M. But after I > > called usrTffsConfig() to attach /tffs/ and copied a file with the > > size 2M, it said write error after writing 1.5M of that file. A file > > which is less than 1.5M can be written correctly, but the total size > > that is usable is 1.5M still! > > My flash type is AMD29LV320. > > Any advice will be appreciated! > > Thanks! > > > > Robin > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: clock corruption Date: Thu, 15 Nov 2001 17:26:02 GMT From: Ephraim Gadsby Organization: - minimal Message-ID: References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <3BEBA352.9D414CFE@icn.siemens.de> <_ZUG7.17$4k.29463@newsr2.u-net.net> <9bcputs8rv0pmdf3fnrvj42ap32ivcv8nf@4ax.com> <7iaqutgnmf5s9j39tfobmj8r0j9afa7heu@4ax.com> <9soara$k29$1@uranium.btinternet.com> <3BF139D5.BDCEA769@hotmail.com> On Tue, 13 Nov 2001 16:18:45 +0100, Martin Alle < m@hotmail.com> wrote: > >We applied a small hack using the following script command: > >(short)*(clock_gettime+0x62)=(short)&vxAbsTicks > > >which replaces vxTicks with vxAbsTicks in the downloaded vxWorks image. > > >**** And this fixed our problem **** Presumably though you still have some code giving an incorrect tick value to a vxWorks call. Otherwise vxTicks would only jump once after each 16 months of uptime. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: access greed? Date: Thu, 15 Nov 2001 17:00:14 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <94344945.dafc0346@nntp.salon.com> Beware the followups set on this post. For those who haven't met him before, this is an angry spammer who goes by the nick of hipcrime, and who is actually dumb enough to believe his own propaganda that there are millions of people out there who desparately want to receive and read mass floods of spam and are disappointed when it gets cancelled. Anyone who wants to know more could check out Message-ID: <3bf31b3a_1@nntp2.nac.net> (M$OE users, click here: news:<3bf31b3a_1@nntp2.nac.net> ) DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: MMU &&Shared memory Date: Thu, 15 Nov 2001 09:36:02 -0800 From: "Dan Gold" Message-ID: <3bf3fd53$0$23678$e2e8da3@nntp.cts.com> References: <5df340e0.0111112315.55186b3c@posting.google.com> <3bf009f3$0$59075$e2e8da3@nntp.cts.com> <5df340e0.0111150034.58dcdb68@posting.google.com> "Ruchama Goldshmidt" wrote in message news:5df340e0.0111150034.58dcdb68@posting.google.com... > "Dan Gold" wrote in message news:<3bf009f3$0$59075 > > you wrote: > > Can your board boot and run without the MMU or caches ? If it runs, then > > it's not a BCR problem. Since enabling the MMU requires software, it would > > be difficult to enable it if you can't boot :-) Can you boot from your > > shared memory ? > > Yes, without the MMU everything is working great includeing the shared > memory How about just the MMU and no caches ? That at least lets you know your MMU setup is ok. > > What are the other devices (i.e. potential bus > > masters) sharing the memory ? > > the master on the bus is an Mcp750 board > > > Do you have pipelining turned off > > (bcr[pldp]=1). > > yes > > > You say it doesn't work with the MMU ? What happens ? Machine check ? DSI > > ? Hang ? > > When I eanable the MMU after running the vmBaseGlobalMapInit routine > in usrMmuInit file the immr is clearing (I'm working with the powerTap > ice...) > and the RAM (from 10000- where I load the application) is all 0's. So it looks like something may be wrong in your MMU setup. > Are you sure you have all your areas setup in the MMU ? Are you > > using BATs or PTEs ? > > I use BATs and I hope I configure them o.k the only area cacheable is > the RAM and other areas are cache inhibited Normally vxWorks uses PTEs (in sysPhysMemDesc[]) to map in the RAM. If you're using BATs, did you disable the PTE mapping ? Are you sure you have the IBATs and DBATs setup properly ? Do you have all your memory areas (flash, RAM, 8260 DPRAM, etc...) covered in DBATs ? When you say the RAM, is that the RAM the 8260 core is executing, or memory that's shared between the 8260 and the master, or... Are you expecting the 750 master and the 8260 to use snooping to maintain coherency for the shared ram ? Did you set the M bit in the DBATs on the 8260, and siumcr[ese], if appropriate ? > what should be the rfcr diffrent then in a case theat there is no > cache? If there is caching, you want to set the rfcr[gbl] and tfcr[gbl]. If there's no caching, you probably don't want it set. Can your board run if the 8260 is executing and no one accesses the shared memory ? hth, Dan Gold gold@ensemble.com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: access greed? Date: 15 Nov 2001 13:12:59 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: <94344945.dafc0346@nntp.salon.com> Sender: bpringlemeir@DeadDuck >>>>> "Dave" == Dave Korn writes: [snip] Dave> Anyone who wants to know more could check out Dave> Message-ID: <3bf31b3a_1@nntp2.nac.net> Dave> (M$OE users, click here: news:<3bf31b3a_1@nntp2.nac.net> ) Works for Emacs Gnus users as well... and of course, you can cancel any post with followups set to "news.admin.net-abuse.usenet". Stupidly easy as far as I am concerned. regards, Bill Pringlemeir. - -- BOMBED BY IRC SERVER. UNABLE TO DIVE. SINKING. U-368. vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html" --------------------------- Newsgroups: comp.os.vxworks Subject: Problem using taskSpawn in C++ Date: 15 Nov 2001 10:15:13 -0800 From: jxd171@psu.edu (Jared Daniels) Organization: http://groups.google.com/ Message-ID: <9915878f.0111151015.7ef9b0ea@posting.google.com> The lines below are causing compile errors using Tornado 2.1. This same code gave warnings using Tornado 2.0, but worked correctly. if (taskSpawn("tSpTact",100,VX_FP_TASK,0x40000,spTact,44,0,0,0,0,0,0,0,0,0)==ERROR) {...} if (taskSpawn("tSp1",100,VX_FP_TASK,0x40000,spProc,1,(int)path,0,0,0,0,0,0,0,0)==ERROR) {...} if (taskSpawn ("tSp2",100,VX_FP_TASK,0x40000,spProc,2,(int)path,0,0,0,0,0,0,0,0)==ERROR) {...} The output from the compiler is listed below. Anyone have an idea of what I need to do to fix this? ccppc -mstrict-align -nostdinc -fvolatile -fno-builtin -ffor-scope - -fdollars-in-identifiers -DRW_MULTI_THREAD -D_REENTRANT -DVXWORKS - -D_GNU_TOOL -DSHAREABLE_OBJECTS -D_G4 - -I/pub/vxworks/tornado-2.1-00/target/h - -I/pub/vxworks/tornado-2.1-00/host/sun4-solaris2/include/g++-2/std - -I/pub/vxworks/tornado-2.1-00/host/sun4-solaris2/include/g++-2 - -I/pub/vxworks/tornado-2.1-00/host/sun4-solaris2/lib/gcc-lib/powerpc-wrs-vxworks/gcc-2.96/include - -I/pub/vxworks/tornado-2.1-00/host/sun4-solaris2/powerpc-wrs-vxworks/include - -I. -I../Includes -I../VSIPL -I../LFM -DCPU=PPC604 -c -o spMain.o ../Main/spMain.cpp ../Main/spMain.cpp:95: sorry, not implemented: `tree_list' not supported by dump_type ../Main/spMain.cpp: In function `void spMain(long unsigned int, int, int, int, char *)': ../Main/spMain.cpp:95: ANSI C++ prohibits conversion from `()' to `(...)' ../Main/spMain.cpp:98: sorry, not implemented: `tree_list' not supported by dump_type ../Main/spMain.cpp:98: ANSI C++ prohibits conversion from `()' to `(...)' ../Main/spMain.cpp:104: sorry, not implemented: `tree_list' not supported by dump_type ../Main/spMain.cpp:104: ANSI C++ prohibits conversion from `()' to `(...)' make: *** [spMain.o] Error 1 --------------------------- Newsgroups: comp.os.vxworks Subject: VxWorks Restart/Reboot???? Date: Thu, 15 Nov 2001 13:20:35 -0600 From: PC User Organization: ExecPC Internet - Milwaukee, WI Message-ID: <3bf417cf$0$43576$272ea4a1@news.execpc.com> Does anybody know how to initiate a restart/reboot through a user program? I would like to have the option in my application to reboot based on certain conditions. I would also like to be able to reinitialize my data immediately prior to reboot in order to allow application tasks to recover state information so that they may start from some point other than initialization. Thanks in advance. --------------------------- Newsgroups: comp.os.vxworks Subject: Autoboot without allowing vxWorks to stop it Date: Thu, 15 Nov 2001 11:28:20 -0800 From: Sridhar Ramanathan Organization: QUALCOMM Incorporated Message-ID: <3BF41754.6F5AFCDB@qualcomm.com> Hi, I need to reboot vxWorks without allowing vxWorks to stop the autoboot process with the message "Press any key to stop auto-boot". In effect the reboot should proceed without the countdown. Is it possible? Thanks for replies in advance - -Sridhar --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TFFS 16 bit Flash MTD Date: Thu, 15 Nov 2001 11:28:06 -0800 From: Stephane Tiriac Organization: Alcatel USA, Inc. Message-ID: <3BF41746.B210A499@alcatel.com> References: Ho-Kuo, 4MBytes is 0 to 0x40 0000 - doesn't matter if the chip is 8 or 16 bits wide. I think your chip is 2M x 16-Bit. In this case you have to work in word (2Bytes) mode. That means your write buffers have to be word alligned. Check also with the H/W people how they mapped the flash memory. Usually in such a case the first address line is not used - you cannot address only a byte. So you will have to left shift your write and erase opcodes. I have an operational MTD for the AMD 29LV64 which is a 4M x 16-bit. If you still have pbs send me a mail - I'll send you some code examples. Stephane. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: logMsg side-effects Date: 15 Nov 2001 11:38:09 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111151138.72d9207f@posting.google.com> References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net> <3bf3d319$1@brateggebdc5.br-automation.co.at> Hello, Indeed, Werner's comment is accurate. It is important to note the difference between calling a function from task level with interrupts locked, and calling the function from an ISR (with or without interrupts locked - makes no difference). As was noted elsewhere in this thread, when kernel functions, such as semGive() or logMsg(), are called from an ISR, some or all of the work they perform is actually deferred. This means that during an ISR the state of the interrupt lock will not change since the scheduler will not be invoked until after the ISR code finishes. If the same function is called from task level, the operation happens immediately, and the scheduler will be invoked. If that causes a change in the current highest priority ready task, then it is possible that interrupts will be unlocked (depending on the interrupt lock settings of the new 'current' task). Does that make sense? John... "Werner Schiendl" wrote in message news:<3bf3d319$1@brateggebdc5.br-automation.co.at>... > Hi, > > are you sure about this? > Couldn't a function use > > intContext( ) Return TRUE if called from interrupt level. > > > to check if it is running in interrupt context and process differently > depending on that? > > regards > Werner > > "Dave Korn" wrote in message > news:JDPI7.23$c72.57263@newsr2.u-net.net... > > >Gary M wrote in message > <3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net>... > > >"Barry Kelly" wrote in message > > >news:o68I7.10757$R%6.1560531@news-nb00s0.nbnet.nb.ca... > > >> > > >> I think I have proof that logMsg() enables INT's. I still can't believe > it! > > >> I've used logMsg() in very INT-sensitive areas! > > >> > > >> Here's my test code. Please tell me what I'm missing here: > > > > > >From the VxWorks documentation for intLock(): > > >"Do not call VxWorks system routines with interrupts locked. Violating > this > > >rule may re-enable interrupts unpredictably." > > >Since logMsg() is implemented by sending a message to the LogTask, you > have > > >effectively violated that rule. > > > > Surely this cannot apply to any of the functions on the list of ISR-safe > > functions, which after all are frequently called from ISRs during which > > interrupts are locked, and must not be unlocked ? > > > > DaveK > > -- > > Burn your ID card! http://www.optional-identity.org.uk/ > > Help support the campaign, copy this into your .sig! > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Problem using taskSpawn in C++ Date: Thu, 15 Nov 2001 20:28:52 +0000 From: molochai Message-ID: References: <9915878f.0111151015.7ef9b0ea@posting.google.com> In message <9915878f.0111151015.7ef9b0ea@posting.google.com> jxd171@psu.edu (Jared Daniels) wrote: > The lines below are causing compile errors using Tornado 2.1. This > same code gave warnings using Tornado 2.0, but worked correctly. > > if (taskSpawn("tSpTact",100,VX_FP_TASK,0x40000,spTact,44,0,0,0,0,0,0,0,0,0)==ERROR) > {...} > if (taskSpawn("tSp1",100,VX_FP_TASK,0x40000,spProc,1,(int)path,0,0,0,0,0,0,0,0)==ERROR) > {...} > if (taskSpawn ("tSp2",100,VX_FP_TASK,0x40000,spProc,2,(int)path,0,0,0,0,0,0,0,0)==ERROR) > {...} > [snip] > -I. -I../Includes -I../VSIPL -I../LFM -DCPU=PPC604 -c -o spMain.o > ../Main/spMain.cpp > ../Main/spMain.cpp:95: sorry, not implemented: `tree_list' not > supported by dump_type > ../Main/spMain.cpp: In function `void spMain(long unsigned int, int, > int, int, char *)': > ../Main/spMain.cpp:95: ANSI C++ prohibits conversion from `()' to > `(...)' > ../Main/spMain.cpp:98: sorry, not implemented: `tree_list' not > supported by dump_type > ../Main/spMain.cpp:98: ANSI C++ prohibits conversion from `()' to > `(...)' > ../Main/spMain.cpp:104: sorry, not implemented: `tree_list' not > supported by dump_type > ../Main/spMain.cpp:104: ANSI C++ prohibits conversion from `()' to > `(...)' > make: *** [spMain.o] Error 1 This is undoubtedly because ANSI C++ is much stricter about implicit casts - in this case those between the function pointers and FUNCPTR - than previous version of GCC (GCC 2.9.x which is included with T2.1 is practically fully ANSI complient) Use of the new(ish) C++ casting operators is well recommended. In this case you need reinterpret_cast<>() - this is the most dangerous of them, and allows casts of anything to anything else. what the first warning is about I have no idea though, M --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Autoboot without allowing vxWorks to stop it Date: Thu, 15 Nov 2001 20:31:40 GMT From: "Ho-Kuo Chan" Organization: GlobeTrotter Message-ID: References: <3BF41754.6F5AFCDB@qualcomm.com> Hi, In your bootConfig.c file in your $WIND_BASE/target/config/all directory, look for a function called bootCmdLoop. In this function is a call to autoboot. You can modify the timeout value and recompile a bootrom. You may wish to edit the autobbot function in the same file so that it doesn't print the "Press any ..." - -- Ho-Kuo Chan Software Designer, Digital Division Wavesat Telecom (514) 956-6322 "Sridhar Ramanathan" wrote in message news:3BF41754.6F5AFCDB@qualcomm.com... > Hi, > I need to reboot vxWorks without allowing vxWorks to stop the autoboot > process with the message "Press any key to stop auto-boot". In effect > the reboot should proceed without the countdown. Is it possible? > > Thanks for replies in advance > > -Sridhar > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Autoboot without allowing vxWorks to stop it Date: Thu, 15 Nov 2001 13:35:16 -0700 From: "Behzad Abareshi" Organization: NOAO Message-ID: <9t1911$2e59$1@noao.edu> References: <3BF41754.6F5AFCDB@qualcomm.com> The boot flag 0x08 is supposed to disable the countdown; on my system I still see it, but briefly, enough to hit any key to go to the boot menu if you are fast :-) I guess that's what you want. Behzad. "Sridhar Ramanathan" wrote in message news:3BF41754.6F5AFCDB@qualcomm.com... > Hi, > I need to reboot vxWorks without allowing vxWorks to stop the autoboot > process with the message "Press any key to stop auto-boot". In effect > the reboot should proceed without the countdown. Is it possible? > > Thanks for replies in advance > > -Sridhar > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Autoboot without allowing vxWorks to stop it Date: Thu, 15 Nov 2001 12:47:03 -0800 From: Sridhar Ramanathan Organization: QUALCOMM Incorporated Message-ID: <3BF429C7.1F1B28D0@qualcomm.com> References: <3BF41754.6F5AFCDB@qualcomm.com> <9t1911$2e59$1@noao.edu> Thanks for the answer. But where do I specify the boot flag? Behzad Abareshi wrote: > The boot flag 0x08 is supposed to disable the countdown; on my system I > still see it, but briefly, enough to hit any key to go to the boot menu if > you are fast :-) I guess that's what you want. > > Behzad. > > "Sridhar Ramanathan" wrote in message > news:3BF41754.6F5AFCDB@qualcomm.com... > > Hi, > > I need to reboot vxWorks without allowing vxWorks to stop the autoboot > > process with the message "Press any key to stop auto-boot". In effect > > the reboot should proceed without the countdown. Is it possible? > > > > Thanks for replies in advance > > > > -Sridhar > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Target Server issues -- Cache size?? Date: Thu, 15 Nov 2001 16:43:15 -0500 From: Jeremiah Frick Organization: Improv Systems, Inc. Message-ID: <3BF436F3.D5192CC9@improvsys.com> Hi all, Another fun problem in the world of VxWorks. I've been downloading my project to my vxWorks target over the past few weeks during the development stage. Up till today this has been working just fine for me. Today, however, I started getting the following error on my target when I attempt to download the object file: tgtsvr (malta@baldwin): Thu Nov 15 16:24:19 2001 Warning: Target server cache for agent memory is full. Use the '-m' option to increase the target server cache. I know the default size of cache for the server is 1k, so I upped it to 4k, thinking that I may have run over or something. No difference, though, even with that size increase it produced the same result. The following is the server log for the entire session up to that point. tgtsvr (malta@baldwin): Thu Nov 15 16:24:13 2001 Wind River Systems Target Server: NT/Win95 version Connecting to target agent... succeeded. Attaching C++ interface... succeeded. Attaching elf OMF reader for MIPS CPU family... succeeded. Warning: Unable to start synchronization on target tgtsvr (malta@baldwin): Thu Nov 15 16:24:19 2001 Warning: Target server cache for agent memory is full. Use the '-m' option to increase the target server cache. Any help is greatly appreciated. Thanks, Jeremy --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Speeding up PCI block transfer Date: Fri, 16 Nov 2001 08:36:51 +1030 From: Tim Shaw Organization: Defence Science and Technology Organisation Message-ID: <3BF43C7B.8EFA033@dsto.defence.gov.au> References: <3BF2833F.9E79DD83@foi.se> Maybe I missed something, but if data is to be transferred between a PMC and local memory, why is the Universe involved? The Universe is for the VME interface. If you need to transfer to 'local memory' that resides on the VME bus, then we have found a significant improvement by using VME DMA. To enable DMA for the 5100, you need to define INCLUDE_VME_DMA in config.h. If you local memory is 5100 memory, then try using whatever DMA support is available on the PMC PCI interface device (do you know what it is?). HTH Tim Torbjörn Frostemark wrote: > Hi! > > I have a MVME5100 processorboard (Universe II) running with a PMC > I/O-module with some DPRAM that is mapped into PCI memory space. It is > very important to dump the data to local memory as fast as possible when > needed. > > Today I just read data (with sysIn32() )from the module and store it in > local RAM. This is too slow. I know that the Universe chip has lots of > registers to play with, but it is not easy to find what to do. Any > suggstions? DMA? How do I know I use block transfer (or not)? > > regards, > > Torbjorn --------------------------- Newsgroups: comp.os.vxworks Subject: Re: VxWorks Restart/Reboot???? Date: Fri, 16 Nov 2001 08:49:08 +1030 From: Tim Shaw Organization: Defence Science and Technology Organisation Message-ID: <3BF43F5C.2C5319EE@dsto.defence.gov.au> References: <3bf417cf$0$43576$272ea4a1@news.execpc.com> PC User wrote: > Does anybody know how to initiate a restart/reboot through a user > program? I would like to have the option in my application to reboot > based on certain conditions. > Use reboot( ) in your code. > > I would also like to be able to reinitialize my data immediately prior > to reboot in order to allow application tasks to recover state > information so that they may start from some point other than > initialization. > > Thanks in advance. If you use the BOOT_NORMAL option (the default) memory is not cleared on a reboot. You can either use memory above sysMemTop( ) and below sysPhysMemTop( ), or memory that will not be overwritten by the boot sequence, or non volatile memory (see the sysNvRam entries in the reference manual). If the data to store is in a known location, you can always initialise it using a reboot hook (see rebootHookAdd). --------------------------- Newsgroups: comp.os.vxworks Subject: Re: muxDevUnload & muxDevLoad after system boot up Date: 15 Nov 2001 15:01:31 -0800 From: czhao@hns.com (Charlie Zhao) Organization: http://groups.google.com/ Message-ID: <75b047bf.0111151501.692298db@posting.google.com> References: <75b047bf.0111131437.6dc89950@posting.google.com> <75b047bf.0111140919.b3ed78e@posting.google.com> <75b047bf.0111141737.79ed3669@posting.google.com> <9svr5g$7v4$1@snoopy.bndlg.de> Michael, Thank you very much for response. Actually the ISR is connected in endStart(), and disconnected in endStop(). I called muxDevStop, ISR stop responding. then I call muxDevStart(). What supprised me is, the ISR is working again. I may do this many times without any problem. Now it is clear, once I call endUnload, then do endLoad, endStart, the ISR will not be called any more. So the conclusion is, I may only call endLoad only ONCE. Once I called endUnload, I will never get my ISR working any more. So something wrong in endLoad and/or endUnload. But these two functions are not dealing with ISR, that is what I do not understand. Thanks again for help. Charlie "Michael Lawnick" wrote in message news:<9svr5g$7v4$1@snoopy.bndlg.de>... > Hi Charlie, > > just an idea: > you normally can't disconnect an interrupt. So: could it be that your ISR is > connected twice after reinitialisation and the first connect handles all, > but moves data into old Qs ? > > -- > Mit freundlichen Grüßen, > Michael Lawnick > ============================================== > SOFTEC GmbH Tel +49-731-96600-0 > Promenade 17 Fax +49-731-96600-23 > D-89073 Ulm Michael Lawnick > Germany lawnick@softec.de > ============================================== > > "Charlie Zhao" schrieb im Newsbeitrag > news:75b047bf.0111141737.79ed3669@posting.google.com... > > Further information: > > > > It seems that the ISR of my ethernet driver (ne2000) never be called > > after I did the muxDevUnload, muxDevLoad, muxDevStart, ipAttach, > > ifMaskSet, ifAddrSet. > > Something wrong with my driver? > > > > > > > > czhao@hns.com (Charlie Zhao) wrote in message > news:<75b047bf.0111140919.b3ed78e@posting.google.com>... > > > I checked the traffic with protocol analyser. My board just keeps > > > sending ARP request for router IP address. The router did replied it, > > > but it seems my boards cannot get the replies. > > > > > > I checked routeShow, I got some intersting result > > > > > > 1. before I did the muxDevUnload and reload, the show is: > > > ->routeShow > > > > > > ROUTE NET TABLE > > > destination gateway flag Refcnt Use Interface > > > -------------------------------------------------------------- > > > 0.0.0.0 192.168.128.200 3 0 0 ekh0 > > > 192.168.128.0 192.168.128.100 101 0 0 ekh0 > > > > > > 2. But after I did did the muxDevUnload and reload, the show is: > > > ->routeShow > > > > > > ROUTE NET TABLE > > > destination gateway flag Refcnt Use Interface > > > -------------------------------------------------------------- > > > 0.0.0.0 192.168.128.200 3 0 0 ekh0 > > > 0.160.128.32 192.168.128.100 101 0 0 ekh0 > > > 192.168.128.0 192.168.128.100 101 0 0 ekh0 > > > > > > > > > Can expert tell me why I got "0.160.128.32", is this the reason that > > > my ethernet interface is no longer working after I did did the > > > muxDevUnload and reload. > > > > > > Thanks a lot > > > Charlie Zhao > > > > > > > > > > > > czhao@hns.com (Charlie Zhao) wrote in message > news:<75b047bf.0111131437.6dc89950@posting.google.com>... > > > > I tried to test muxDevLoad and muxDevUnload after system boot up. > > > > However, I got problem. > > > > > > > > It is a standalone board and boot from flash disk "/tffs0/". And > > > > "STANDALONE_NET" is defined in config.h. When bootup, the ethernet > > > > interface is OK. Ping, ftp, telnet are all working. > > > > > > > > However, I tried to use muxDevUnload to unload the ethernet driver. > > > > After unload, I use muxDevLoad, muxDevStart, endFindByName, muxIoctl, > > > > ipAttach, bootNetmaskExtract, usrNetifConfig to reload the ethernet > > > > driver. > > > > > > > > I check with muxShow and ifShow, everything seems OK. The mux driver > > > > is there and network interface is there. However, I CANNOT do ping, > > > > ftp and whatever network operation. > > > > > > > > Any expert know what I missed? > > > > > > > > Thanks a lot. > > > > Charlie --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Autoboot without allowing vxWorks to stop it Date: Thu, 15 Nov 2001 16:17:58 -0800 From: "Michael R. Kesti" Organization: MK Associates Message-ID: <3BF45B36.60DEF637@gv.net> References: <3BF41754.6F5AFCDB@qualcomm.com> <9t1911$2e59$1@noao.edu> <3BF429C7.1F1B28D0@qualcomm.com> Reply-To: mkesti@gv.net Sridhar Ramanathan wrote: >Thanks for the answer. But where do I specify the boot flag? It's one of the boot parameters that you can alter it by stopping the auto boot and entering the boot parameter editor. Or you can specify it on the default boot line that is defined in config.h. - -- ======================================================================== 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: VxWorks Restart/Reboot???? Date: 15 Nov 2001 16:33:36 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111151633.47b0665d@posting.google.com> References: <3bf417cf$0$43576$272ea4a1@news.execpc.com> Hello, You really need to read the manuals before posting such trivial questions ;-) There is a function called reboot() that will allow you to programmatically reboot the target. A simple look in the index of your reference guide would have found this function. As for the second part, you need to declare some memory as reserved (look for the USER_RESERVED_MEM macro in your BSP and in the manuals - there is also a tech note about this on WindSurf I believe). Store the state information in that memory prior to your reboot, and have the tasks read from there when they start up again. Make sure you rebuild and reprogram the bootrom on your board with a version built using the same user reserved memory settings too, otherwise the bootrom will zero it for you. HTH, John... PC User wrote in message news:<3bf417cf$0$43576$272ea4a1@news.execpc.com>... > Does anybody know how to initiate a restart/reboot through a user > program? I would like to have the option in my application to reboot > based on certain conditions. > > I would also like to be able to reinitialize my data immediately prior > to reboot in order to allow application tasks to recover state > information so that they may start from some point other than > initialization. > > Thanks in advance. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Problem using taskSpawn in C++ Date: 15 Nov 2001 16:36:31 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111151636.13b11f63@posting.google.com> References: <9915878f.0111151015.7ef9b0ea@posting.google.com> Hello, This is an odd one that occurs in AE too (same compiler). The solution is relatively simple. Just add (FUNCPTR) in front of the entry function names for your taskSpawn() call. It seems that the compiler generates that odd message, instead of a type mismatch error/warning, when you pass a function to taskSpawn that doesn't exactly match the prototype. The cast to FUNCPTR should fix it. HTH, John... jxd171@psu.edu (Jared Daniels) wrote in message news:<9915878f.0111151015.7ef9b0ea@posting.google.com>... > The lines below are causing compile errors using Tornado 2.1. This > same code gave warnings using Tornado 2.0, but worked correctly. > > if (taskSpawn("tSpTact",100,VX_FP_TASK,0x40000,spTact,44,0,0,0,0,0,0,0,0,0)==ERROR) > {...} > if (taskSpawn("tSp1",100,VX_FP_TASK,0x40000,spProc,1,(int)path,0,0,0,0,0,0,0,0)==ERROR) > {...} > if (taskSpawn ("tSp2",100,VX_FP_TASK,0x40000,spProc,2,(int)path,0,0,0,0,0,0,0,0)==ERROR) > {...} > > The output from the compiler is listed below. Anyone have an idea of > what I need to do to fix this? > > ccppc -mstrict-align -nostdinc -fvolatile -fno-builtin -ffor-scope > -fdollars-in-identifiers -DRW_MULTI_THREAD -D_REENTRANT -DVXWORKS > -D_GNU_TOOL -DSHAREABLE_OBJECTS -D_G4 > -I/pub/vxworks/tornado-2.1-00/target/h > -I/pub/vxworks/tornado-2.1-00/host/sun4-solaris2/include/g++-2/std > -I/pub/vxworks/tornado-2.1-00/host/sun4-solaris2/include/g++-2 > -I/pub/vxworks/tornado-2.1-00/host/sun4-solaris2/lib/gcc-lib/powerpc-wrs-vxworks/gcc-2.96/include > -I/pub/vxworks/tornado-2.1-00/host/sun4-solaris2/powerpc-wrs-vxworks/include > -I. -I../Includes -I../VSIPL -I../LFM -DCPU=PPC604 -c -o spMain.o > ../Main/spMain.cpp > ../Main/spMain.cpp:95: sorry, not implemented: `tree_list' not > supported by dump_type > ../Main/spMain.cpp: In function `void spMain(long unsigned int, int, > int, int, char *)': > ../Main/spMain.cpp:95: ANSI C++ prohibits conversion from `()' to > `(...)' > ../Main/spMain.cpp:98: sorry, not implemented: `tree_list' not > supported by dump_type > ../Main/spMain.cpp:98: ANSI C++ prohibits conversion from `()' to > `(...)' > ../Main/spMain.cpp:104: sorry, not implemented: `tree_list' not > supported by dump_type > ../Main/spMain.cpp:104: ANSI C++ prohibits conversion from `()' to > `(...)' > make: *** [spMain.o] Error 1 --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Autoboot without allowing vxWorks to stop it Date: 15 Nov 2001 17:45:32 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111151745.a058247@posting.google.com> References: <3BF41754.6F5AFCDB@qualcomm.com> Hello, Take a look in target/config/all/bootConfig.c - in there you will find a function called bootCmdLoop(). That function is the main command processing loop for the bootrom. You can change this as much as you like, including replacing all the command loop processing with just the code to load the image and start it. HTH, John... Sridhar Ramanathan wrote in message news:<3BF41754.6F5AFCDB@qualcomm.com>... > Hi, > I need to reboot vxWorks without allowing vxWorks to stop the autoboot > process with the message "Press any key to stop auto-boot". In effect > the reboot should proceed without the countdown. Is it possible? > > Thanks for replies in advance > > -Sridhar --------------------------- Newsgroups: comp.os.vxworks Subject: compile assembly codes?? "unresolved expression that must be .." Date: Thu, 15 Nov 2001 20:04:29 -0700 From: "Okehee Goh" Organization: Arizona State University Message-ID: <9t1vih$75m$1@news.asu.edu> Hello, This is Okehee Goh in ASU. I'd like to compile assembly codes for target machine, MBX860. This assembly codes will not be associated with VxWorks OS. As a compiler, I tried to use ccppc(gcc) compiler that comes with TornadoII targeting MBX860. But it complained with "Error: unresolved expression that must be resolved". I don't know how to solve this problem. The following is the command line to compile assembly code "ae3.s". The next one includes error message that ccppc generated. The third part is "ae3.s" I will appreciate your help. Thank you so much. 1. ccppc -g -mcpu=860 -ansi -nostdinc -fvolatile -fno-builtin -fno-for-scope -P -x assembler-with-cpp -I. -IC:/Tornado/target/h -DCPU=PPC860 -c ae3.s 2. C:\DOCUME~1\ogoh\LOCALS~1\Temp\cca02324.s: Assembler messages: C:\DOCUME~1\ogoh\LOCALS~1\Temp\cca02324.s:9: Error: unresolved expression that must be resolved C:\DOCUME~1\ogoh\LOCALS~1\Temp\cca02324.s:10: Error: unresolved expression that must be resolved ... 3. "ae3.s" .text .align 2 .globl main main: .long 0 .long 0 .long 0 lis r7,0x0180 addi r7,r7,0x1000 addi r8,r0,0 stw r8,0(r7) stw r8,0x1000(r7) stw r8,0x2000(r7) lis r5,0x0180 li r6,1 stw r6,0(r5) .L4: lwz r8,0(r7) addi r8,r8,1 stw r8,0(r7) lwz r8,0x1000(r7) addi r8,r8,1 stw r8,0x1000(r7) lwz r8,0x2000(r7) addi r8,r8,1 stw r8,0x2000(r7) b .L4 --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Does TFFS have a size limit? Date: 15 Nov 2001 20:00:49 -0800 From: robin_ch@china.com (Robin Tcheng) Organization: http://groups.google.com/ Message-ID: References: <3b9cf6e4.0111142137.662cdcc6@posting.google.com> <9svsoo$8db$1@snoopy.bndlg.de> <3bf3f9fc$0$71387$e2e8da3@nntp.cts.com> here is the relpy after calling dosFsConfigShow() - -> dosFsConfigShow "/tffs0/" device name: /tffs0/ total number of sectors: 2486 bytes per sector: 512 media byte: 0xf8 # of sectors per cluster: 4 # of reserved sectors: 1 # of FAT tables: 2 # of sectors per FAT: 2 max # of root dir entries: 192 # of hidden sectors: 1 removable medium: false disk change w/out warning: not enabled auto-sync mode: not enabled long file names: not enabled exportable file system: not enabled lowercase-only filenames: not enabled volume mode: O_RDWR (read/write) available space: 1263616 bytes max avail. contig space: 1263616 bytes value = 0 = 0x0 but the size of my flash is 8M, not 1263616 bytes. How to enlarge the available space to copy larger files in TFFS? --------------------------- Newsgroups: comp.os.vxworks Subject: Re: compile assembly codes?? "unresolved expression that must be .." Date: Thu, 15 Nov 2001 23:41:07 -0800 From: "Gary M" Message-ID: <3bf4c35a$0$178$4c41069e@reader0.ash.ops.us.uu.net> References: <9t1vih$75m$1@news.asu.edu> Reply-To: "Gary M" Try adding the following to the top of your source file: #define _ASMLANGUAGE #include "vxWorks.h" #include "asm.h" These define the translation rules used by the compiler for the assembly language opcodes. They won't cause extra code, data, or references to externals to be added to your object files. "Okehee Goh" wrote in message news:9t1vih$75m$1@news.asu.edu... > Hello, > > This is Okehee Goh in ASU. > > > I'd like to compile assembly codes for target machine, MBX860. > > This assembly codes will not be associated with VxWorks OS. > > As a compiler, I tried to use ccppc(gcc) compiler that comes with TornadoII > targeting MBX860. > > But it complained with "Error: unresolved expression that must be resolved". > > I don't know how to solve this problem. > > > The following is the command line to compile assembly code "ae3.s". > > The next one includes error message that ccppc generated. > > The third part is "ae3.s" > > I will appreciate your help. Thank you so much. > > 1. > > ccppc -g -mcpu=860 -ansi -nostdinc -fvolatile -fno-builtin -fno-for-scope -P > -x assembler-with-cpp -I. -IC:/Tornado/target/h -DCPU=PPC860 -c ae3.s > > 2. > > C:\DOCUME~1\ogoh\LOCALS~1\Temp\cca02324.s: Assembler messages: > > C:\DOCUME~1\ogoh\LOCALS~1\Temp\cca02324.s:9: Error: unresolved expression > that must be resolved > > C:\DOCUME~1\ogoh\LOCALS~1\Temp\cca02324.s:10: Error: unresolved expression > that must be resolved > > ... > > 3. "ae3.s" > > .text > > .align 2 > .globl main > main: > .long 0 > .long 0 > .long 0 > lis r7,0x0180 > addi r7,r7,0x1000 > addi r8,r0,0 > stw r8,0(r7) > stw r8,0x1000(r7) > stw r8,0x2000(r7) > > lis r5,0x0180 > li r6,1 > stw r6,0(r5) > > .L4: > lwz r8,0(r7) > addi r8,r8,1 > stw r8,0(r7) > > lwz r8,0x1000(r7) > addi r8,r8,1 > stw r8,0x1000(r7) > > lwz r8,0x2000(r7) > addi r8,r8,1 > stw r8,0x2000(r7) > > b .L4 > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Problem using taskSpawn in C++ Date: Fri, 16 Nov 2001 10:21:06 +0100 From: "Geurt Vos" Organization: Rohill Technologies BV Message-ID: <4ql2t9.b34.ln@svr004.rohill.nl> References: <9915878f.0111151015.7ef9b0ea@posting.google.com> > Use of the new(ish) C++ casting operators is well recommended. In this case > you need reinterpret_cast<>() - this is the most dangerous of them, and > allows casts of anything to anything else. > Almost. That is, with reinterpret_cast it is (at least) not allowed to to cast between pointers to functions and pointers to objects. GCC 2.7.2 did allow this, but now the newer one (2.9x) correctly coughs up an error... [ANSI C++ forbids casting between pointers to functions and objects] Example: void F() { } int main() { void *p = reinterpret_cast(F); } So if you have to call some function, where a pointer to function must be passed as pointer to objects (usually as void*), either change the API or use a C-style cast (unsure whether it should work, all I know is that it _does_ work): int main() { void *p = (void *)F; } Geurt --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Probrem with TCP/IP Date: Fri, 16 Nov 2001 12:57:30 +0300 From: "Shrike" Organization: MTU-Intel ISP Message-ID: <9t2nu7$2jdi$1@gavrilo.mtu.ru> References: <9t0iqn$h44$1@gavrilo.mtu.ru> <9kSI7.34$c72.73269@newsr2.u-net.net> Hi! We shutdown the connection before we finish tasks. So, we think that we loose data DURING the transfer. Another case is that the our program on the host can't process OnReceive notification messages in time or loose them (if it is possible). --------------------------- Newsgroups: comp.os.vxworks Subject: Re: arpresolve problem Date: Fri, 16 Nov 2001 10:29:17 GMT From: brede.thurmann@kongsberg-simrad.com (BT) Message-ID: <3bf4e9b0.18129348@news.eunet.no> References: <9r6tou$co5$1@news.storm.ca> <4f09bb68.0110300708.519dc187@posting.google.com> I do also get this ARP problem when I went from VxWorks 5.3.1 to 5.4. It seems to me, but I have not finnished investigating my problem yet that on 5.3.1 the system "automatic" alocated more mbufs if needed up to a maximum limit. On 5.4 I have to set up a fixed maximum mbuf configuration. Is this correct or does anyone have any more comments on this. BT On 30 Oct 2001 07:08:12 -0800, akarpov@my-deja.com (Alex) wrote: >According to WindRiver three common reasons for "arpresolve: can't >allocate llinfo" error message are: > >1. The default network stack system memory pool used for >routes,sockets...is too small. >2. The vxWorks target has a misconfigured route table. >3. Calling a function like etherAddrResolve to resolve non-local >addresses > >Hope this helps >Alex > >"Yi Qin" wrote in message news:<9r6tou$co5$1@news.storm.ca>... >> I have a system with which functions normally in a network. It >> handles the IP traffic pretty well except from time to time, it >> prints to the console >> >> "(tNetTask): arpresolve: can't allocate llinfo0x3d57e18" >> >> I can't tell if there are packets drop because of this, but my >> system continues to handle about 1000 messages per second. >> >> Any idea what causes the tNetTask to complain? Does this >> have to do with the pool sizes? >> >> TIA. >> >> Yi Qin --------------------------- Newsgroups: comp.os.vxworks Subject: Re: logMsg side-effects Date: 16 Nov 2001 11:01:58 GMT From: Johan Borkhuis Organization: Agere Systems Message-ID: References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <488e459a.0111092158.6d053829@posting.google.com> <65b2abfc.0111120935.5d657c7f@posting.google.com> mynamvs@nsc.network.com (Venkat Mynampati) wrote: > Thanks for replying. Does a context switch unlocks the interrupts? > Where can i get more info on this? Also,if unlocking can happen on > context-switch, then all the system tasks, like tNetTask or any task > that has higher priority than my application task(which locked the > ints, because it is a requirement) will unlock interrupts. > Also, you said about doc's, could you pls give list of docs to read > (which i will try to get hold of). my board is ebsa285. I know this happens for MIPS (IDT), where the status register is one of the registers that is stored in the TCB, and restored on every task switch. This caused the following problem: an interrupt was for some reason only enabled during tNetTask. So when this interrupt occured it had to wait until tNetTask started (even if the system was idle) and then it was 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: RFC2131 Dhcp code [for ARM]. Date: 16 Nov 2001 11:33:17 GMT From: Johan Borkhuis Organization: Agere Systems Message-ID: References: Bill Pringlemeir wrote: > Would any care to share RFC2131 client code with me, or point me to > one? Apparently, WRS is not supporting this for the ARM. I have > several Linux DHCP clients. I am just trying to decide which is > easier; to port the code or change the OS ;-) I guess March of 1997 is > rather current. You could try to get T2.1 (WRS code: TDK-14181-ZC-00 afaik), that includes the new DHCP code. Another possibility would be to ask your FAE to compile the new code for your distribution (T2.0.1 I guess). 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: Tornado 2 setup on win2k hangs Date: 16 Nov 2001 11:36:21 GMT From: Johan Borkhuis Organization: Agere Systems Message-ID: References: <3BF28297.9AC01EFA@fnal.gov> "Mike Hanna" wrote: > It is an ntfs drive, but I believe the access rights are ok. The setup > program does create a couple directories and puts a few files there, so > I don't think thats it. I also tried logging in using the local > administrator account and got the same results. Did you try to install it on a local disk? 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: Target Server Console freezes after hitting Properties menu Date: 16 Nov 2001 11:39:14 GMT From: Johan Borkhuis Organization: Agere Systems Message-ID: References: <3bf195bb$0$11563$724ebb72@reader2.ash.ops.us.uu.net> "Mark Galecki" wrote: > we have Tornado 2.0 installation on NT 4.0 host. I attach a Target > Server to a target running VxWorks, and I make it show a console. Now, > on console, which is a DOS CommandPrompt Window, I hit the Properties > menu item (which is used to change the layout, colors and fonts). > > Upon this, the Properties Dialog freezes. I can shutdown the target > server and then the console vanishes and I can restart the target > server. I could be a file-permissions problem. When you open the properties window I think Windows is trying to open a file, and from some stations it is allowed to, from others it is not. 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 Fri Nov 16 07:59:02 2001 From: "David Laight" Date: Fri Nov 16 07:59:04 PST 2001 Subject: Re: clock corruption > We applied a small hack using the following script command: > > (short)*(clock_gettime+0x62)=(short)&vxAbsTicks > > which replaces vxTicks with vxAbsTicks in the downloaded vxWorks image. You need to patch clock_settime as well..... Also do a better job of the patch! Check the old intruction (in case it all gets fixed), I suspect you have 32 bit addresses in the code (or the above wouldn't work at all) so overwrite all 32 bits - or it will fail when vxTicks and vxAbsTicks end up in different 64k blocks of data. The other 'problem' is that this 'fixes' the clock problem, it doesn't solve the underlying problem of why somwone is doing a timeout (etc) call that causes a recalibration of vxTicks. Try adding a breakpoint at qPriListCalibrate() and see who traps there. You may have to use the target debugger, you may have to use taskOptionsSet() to set tNetTask breakable.... Then you should find the real cause... I just tried it... -> ddd=wdCreate() -> sp wdStart,ddd,20,logMsg,"zzz\n" Will test a watchdog... -> vxAbsTicks-vxTicks value = 0 = 0x0 As expected... -> sp wdStart,ddd,-20,logMsg,"zzz\n" -> vxAbsTicks-vxTicks value = something non zero... My attempts to breakpoint qPriListCalibrate failed, however overwriting the code did work! (I think the breakpoints are removed because this is 'kernel' code) Find an undefined instruction - the one used for breakpoints will do! eg: -> l qPriListCalibrate,1 001e3a34 e1a0c00d MOV r12,r13 -> b qpriListCalibrate -> sp qpriListCalibrate,1 001e3a34 e7fddefe Illegal,,, -> bdall trash code..... -> *0x1e3a34=0xe7fddefe (you may have a one or 2 byte breakpoint instruction depending an the architecture. For i386 I's guess it is INT3 (0xcc).) Now -> sp wdStart,ddd,-20,logMsg,"zzz\n" generates an undefined instruction trap, 'tt' will give the traceback. In this case: vxTaskEntry + 28 : wdStart wdStart + d4 : windWdStart windWdStart + 60 : qPriListCalibrate So where is your (or vxWorks) real bug? David PS: I retyped all the above commands.... From vxwexplo-errs@csg.lbl.gov Fri Nov 16 21:10:18 2001 From: Lele Date: Fri Nov 16 21:10:20 PST 2001 Subject: hope to get useful material about VxWorks Dear Sir, Now I spend a lot of time studying VxWorks RTOS. I want to ask you for help to get some useful material including your discussing content. Best Regards! Lele shellyxu@svanetworks.com From vxwexplo-errs@csg.lbl.gov Sat Nov 17 04:03:16 2001 From: Vxworks Exploder Date: Sat Nov 17 04:03:18 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Sat Nov 17 04:03:11 PST 2001 Subject: Re: Target Server issues -- Cache size?? Subject: Re: Building all projects in workspace Subject: Re: Memory usage Subject: Re: Target Server issues -- Cache size?? Subject: Re: Target Server issues -- Cache size?? Subject: TFFS inclusion problem Subject: Re: Tornado 2 setup on win2k hangs Subject: Re: Building all projects in workspace Subject: Re: Target Server issues -- Cache size?? Subject: T2.1 for Mips MIPS32sfgnu - bootrom/copyLongs Subject: end drives & IP fragmentation Subject: Options for Assembler and Listings Subject: Re: Target Server issues -- Cache size?? Subject: Re: Options for Assembler and Listings Subject: Re: Options for Assembler and Listings Subject: Re: Building all projects in workspace Subject: Cygwin GDB Users ? Subject: Re: TFFS inclusion problem Subject: Re: RFC2131 Dhcp code [for ARM]. Subject: Re: Options for Assembler and Listings Subject: Speeding up compressed builds Subject: Re: Autoboot without allowing vxWorks to stop it Subject: Re: Tornado 2 setup on win2k hangs Subject: Re: arpresolve problem Subject: Re: Options for Assembler and Listings Subject: vxWorks Consulting Subject: Re: Tornado 2 setup on win2k hangs Subject: MPC 8260 DB discussion Subject: Re: Tornado 2 setup on win2k hangs Subject: Re: Does TFFS have a size limit? Subject: Tornado virtual console question Subject: a compilation of this main() function calls "__eabi." ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: Target Server issues -- Cache size?? Date: Fri, 16 Nov 2001 13:07:41 +0100 From: "Werner Schiendl" Message-ID: <3bf50251$1@brateggebdc5.br-automation.co.at> References: <3BF436F3.D5192CC9@improvsys.com> Hi, 1. the default for the memory cache size is 1M, not 1k, at least on my Windows 2000 install of Tornado 2. 2. however, you specify the size if kB in the - same - configuration dialog (this is a bit ugly, IMHO) 3. In the section command line, you can see what is passed as the -m option. This uses bytes as unit (so that it uses all units at least somewhere) A configuration of a target server of mine, with 8MB of memory cache size reads as follows in command line: tgtsvr.exe 10.43.80.177 -n pp100 -s -V -m 8388608 -B wdbrpc -c Q:\AP\AP_Library\Image\debug\vxWorks hth Werner "Jeremiah Frick" wrote in message news:3BF436F3.D5192CC9@improvsys.com... > Hi all, > > Another fun problem in the world of VxWorks. I've been downloading my > project to my vxWorks target over the past few weeks during the > development stage. Up till today this has been working just fine for > me. Today, however, I started getting the following error on my target > when I attempt to download the object file: > > tgtsvr (malta@baldwin): Thu Nov 15 16:24:19 2001 > Warning: Target server cache for agent memory is full. > Use the '-m' option to increase the target server cache. > > I know the default size of cache for the server is 1k, so I upped it to > 4k, thinking that I may have run over or something. No difference, > though, even with that size increase it produced the same result. The > following is the server log for the entire session up to that point. > > tgtsvr (malta@baldwin): Thu Nov 15 16:24:13 2001 > Wind River Systems Target Server: NT/Win95 version > Connecting to target agent... succeeded. > Attaching C++ interface... succeeded. > Attaching elf OMF reader for MIPS CPU family... succeeded. > Warning: Unable to start synchronization on target > tgtsvr (malta@baldwin): Thu Nov 15 16:24:19 2001 > Warning: Target server cache for agent memory is full. > Use the '-m' option to increase the target server cache. > > Any help is greatly appreciated. > > Thanks, > Jeremy > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Building all projects in workspace Date: 16 Nov 2001 12:15:12 GMT From: Johan Borkhuis Organization: Agere Systems Message-ID: References: <9t0i5d$ioe$1@proxy2.fe.internet.bosch.com> "Gunter Ritter" wrote: > Hi, > > I have a workspace containing a bootable project and a lot of > downloadable projects. > > Does anybody know a possibility to build all downloadable projects and > the bootable project by clicking only one button? Try this: http://www.xs4all.nl/~borkhuis/vxworks/project.html 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: Memory usage Date: 16 Nov 2001 12:13:44 GMT From: Johan Borkhuis Organization: Agere Systems Message-ID: References: <3BF3C714.6359A200@c-s.fr> Mickael THARAUD wrote: > Hi, > > I work with a PPC604 target (powercore 750 from force computer card). > When I use the memShow command, I just see 32Mo but I have much more in > my target. > > Does anyone know how to increase the pool of memory used for my > application ? Take a look at you config.h file. Here your memory configuration is defined, and it is probably fixed at 32Mb. I would suggest not to increase this, as this can give problems with the 24 bits (short) addressing. What you can do is to add the extra memory to the pool after initialising your system using memPartAddToPool. 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: Target Server issues -- Cache size?? Date: 16 Nov 2001 12:25:29 GMT From: Johan Borkhuis Organization: Agere Systems Message-ID: References: <3BF436F3.D5192CC9@improvsys.com> Jeremiah Frick wrote: > Hi all, > > Another fun problem in the world of VxWorks. I've been downloading my > project to my vxWorks target over the past few weeks during the > development stage. Up till today this has been working just fine for > me. Today, however, I started getting the following error on my target > when I attempt to download the object file: > > tgtsvr (malta@baldwin): Thu Nov 15 16:24:19 2001 > Warning: Target server cache for agent memory is full. > Use the '-m' option to increase the target server cache. Did you check the target server commandline in the config window? What is the value for the -m option? 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: Target Server issues -- Cache size?? Date: Fri, 16 Nov 2001 08:03:23 -0500 From: Jeremiah Frick Organization: Improv Systems, Inc. Message-ID: <3BF50E9B.2E6E7EFB@improvsys.com> References: <3BF436F3.D5192CC9@improvsys.com> Hi, It's currently using the default value, which is 1MB, not 1KB, sorry. I tried upping the value to 4MB and still had the same problem. There is no -m option right now, I'm assuming that indicates the default 1MB value is being used. Thanks, Jeremy Johan Borkhuis wrote: > Jeremiah Frick wrote: > > > Hi all, > > > > Another fun problem in the world of VxWorks. I've been downloading my > > project to my vxWorks target over the past few weeks during the > > development stage. Up till today this has been working just fine for > > me. Today, however, I started getting the following error on my target > > when I attempt to download the object file: > > > > tgtsvr (malta@baldwin): Thu Nov 15 16:24:19 2001 > > Warning: Target server cache for agent memory is full. > > Use the '-m' option to increase the target server cache. > > Did you check the target server commandline in the config window? What is > the value for the -m option? > > 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: TFFS inclusion problem Date: Fri, 16 Nov 2001 17:26:31 +0300 From: "Shrike" Organization: MTU-Intel ISP Message-ID: <9t37ml$31cs$1@gavrilo.mtu.ru> After we include TFFS support in Tornado's VxWorks workspace the program don't rebuild because of numerous "undefined reference to ..." errors. After *explicit* inclusion of sysTffs.c two errors remain and we failed to eliminate them. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado 2 setup on win2k hangs Date: Fri, 16 Nov 2001 14:26:57 GMT From: "Mike Hanna" Organization: Road Runner - NC Message-ID: References: <3BF28297.9AC01EFA@fnal.gov> Both the setup files and the target installation directory are on the local c drive (which is ntfs formatted). Mike "Johan Borkhuis" wrote in message news:Xns915B80709C675borkhuisagerecom@135.7.153.101... > "Mike Hanna" wrote: > > It is an ntfs drive, but I believe the access rights are ok. The setup > > program does create a couple directories and puts a few files there, so > > I don't think thats it. I also tried logging in using the local > > administrator account and got the same results. > > Did you try to install it on a local disk? > > 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: Building all projects in workspace Date: Fri, 16 Nov 2001 15:39:37 +0100 From: "Gunter Ritter" Organization: Tenovis GmbH u. Co. KG Message-ID: <9t38f1$lnv$1@proxy2.fe.internet.bosch.com> References: <9t0i5d$ioe$1@proxy2.fe.internet.bosch.com> "Johan Borkhuis" schrieb im Newsbeitrag news:Xns915B870699F46borkhuisagerecom@135.7.153.101... > "Gunter Ritter" wrote: > > > Hi, > > > > I have a workspace containing a bootable project and a lot of > > downloadable projects. > > > > Does anybody know a possibility to build all downloadable projects and > > the bootable project by clicking only one button? > > Try this: http://www.xs4all.nl/~borkhuis/vxworks/project.html > > 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 === > Hi, thanks for the link. This is what I´ve been searching for. But the example does only work, if the directory structure is as follows: ../project1 ../project2 ../project3 ../project4 ../superproject But we have ../project1 ../project2 ../sub1/project3 ../sub1/project4 ../sub2/project5 ../sub2project6 ../superproject I have tried to modify the example files, but I couldn´t do it right yet. Any hint. Thanks. Gunter --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Target Server issues -- Cache size?? Date: Fri, 16 Nov 2001 15:33:51 +0100 From: "Werner Schiendl" Message-ID: <3bf52493$1@brateggebdc5.br-automation.co.at> References: <3BF436F3.D5192CC9@improvsys.com> <3BF50E9B.2E6E7EFB@improvsys.com> Hi, "Jeremiah Frick" wrote in message news:3BF50E9B.2E6E7EFB@improvsys.com... > Hi, > > It's currently using the default value, which is 1MB, not 1KB, sorry. I > tried upping the value to 4MB and still had the same problem. There is no -m > option right now, I'm assuming that indicates the default 1MB value is being > used. Yes of course, if there is no -m value in your command line, you will use the default (1M). But what you describe would be an error in the Tornado UI. Are you changing the Memory Cache Size in the Target server configuration dialog of Tornado? And of course you also start it from there (and restart it after shutting down the old one when changing parameters)? But if specifying a memory cache size in this dialog does not yield a -m option, this would be an error in Tornado. Which host platform and version of Tornado are you using (and which backend)? As a workaround, you can start the target server from a command prompt and add the -m option manually. (it is specified in bytes here, as I already mentioned) hth Werner > > Thanks, > Jeremy > > Johan Borkhuis wrote: > > > Jeremiah Frick wrote: > > > > > Hi all, > > > > > > Another fun problem in the world of VxWorks. I've been downloading my > > > project to my vxWorks target over the past few weeks during the > > > development stage. Up till today this has been working just fine for > > > me. Today, however, I started getting the following error on my target > > > when I attempt to download the object file: > > > > > > tgtsvr (malta@baldwin): Thu Nov 15 16:24:19 2001 > > > Warning: Target server cache for agent memory is full. > > > Use the '-m' option to increase the target server cache. > > > > Did you check the target server commandline in the config window? What is > > the value for the -m option? > > > > 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: T2.1 for Mips MIPS32sfgnu - bootrom/copyLongs Date: Fri, 16 Nov 2001 15:48:41 +0000 From: Owain Phillips Organization: Siemens Inc. Message-ID: <3BF53559.35B72EFB@siemenscomms.co.uk> This is a multi-part message in MIME format. - --------------FED703F42BD40BB5468FAA90 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Seeing some funnies here in the bootroms I am generating... Our BSP orginally used T2.0 and was based on the standard templates and RC32364 BSPs. I have recently ported to T2.1 for Mips....but overlooked generating bootroms.... I come to try and generate new bootroms and have hit several problems.... romInit.s - The compiler generated wrong code for the relocation macro that is used to call romStart (Or you could say the earlier compiler generated extra instructions which allowed the macro to work; nop in branch delay slot).....got round this one.... Now in romInit just about to in the copyLongs - Code generated by the compiler wrong and performs jumps into hyperspace. I am compiling a "Standard" bootInit.c using the makefiles supplied by wrs and the compiler is spitting out junk... Z:\lp6200Platform\bsp>rm bootInit.o Z:\lp6200Platform\bsp>make bootInit.o ccmips -Be:\Tornado212/host/x86-win32/lib/gcc-lib/ -c -EB -mips2 - -mno-branch-lik ely -G 0 -fno-builtin -O0 -fvolatile -g -Wall -I/h -I. - -Ie:\Tornado212\target \config\all -Ie:\Tornado212\target/h -Ie:\Tornado212\target/src/config - -Ie:\Torn ado212\target/src/drv -DCPU=MIPS32 -DMIPSEB -DCPU_VAR=RC32364 - -msoft-float -DSO FT_FLOAT e:\Tornado212\target\config\all\bootInit.c e:\Tornado212\target\config\all\bootInit.c:379: warning: `fillLongs' defined but not used Anyone have any ideas? Can point me at known problems in this "new" Tornado distribution??? Thanks, Owain - --------------FED703F42BD40BB5468FAA90 Content-Type: text/x-vcard; charset=us-ascii; name="owain.phillips.vcf" Content-Transfer-Encoding: 7bit Content-Description: Card for Owain Phillips Content-Disposition: attachment; filename="owain.phillips.vcf" begin:vcard n:Phillips;Owain tel;fax:+44 115 943 4969 tel;work:+44 115 943 2167 x-mozilla-html:TRUE url:http://www.siemenscomms.co.uk org:Siemens Comunications Ltd version:2.1 email;internet:owain.phillips@siemenscomms.co.uk title:Software Engineer adr;quoted-printable:;;Technology Drive=0D=0ABeeston;Nottingham;;NG9 1LA;United Kingdom fn:Owain Phillips end:vcard - --------------FED703F42BD40BB5468FAA90-- --------------------------- Newsgroups: comp.os.vxworks Subject: end drives & IP fragmentation Date: 16 Nov 2001 15:50:13 +0000 From: Paul Flinders Organization: Fujitsu Telecommunications Europe Limited Message-ID: Can anyone explain the mblk structure that is passed to an END driver when the IP stack needs to fragment a packet which is larger than the MTU. Walking the mblk->mBlkHdr.mNext chain starts out plausibly, I get an mblk with M_PKTHDR set containing an IP header, followed by some mBlks with data, followed by another mBlks with M_PKTHDR set etc. However it then breaks down. I get an MBLK with just an IP header (20 bytes), followed by three mBlks which have zero length, followed by another mBlk with an MTU sized chunk, then a *lot* of zero length (i.e mblk->mBlkHdr.mLen is zero) mBlks. I haven't (after searching the web, newsgroups and the windsurf site) found anything wich discusses what happens when IP packets need to be fragmented. The template drivers don't shed any light on this, they just call netMblkToBufCopy which copies all of the IP fragments to a single buffer - I need to pass each fragment to the physical layer. --------------------------- Newsgroups: comp.os.vxworks Subject: Options for Assembler and Listings Date: Fri, 16 Nov 2001 15:52:36 +0000 From: Owain Phillips Organization: Siemens Inc. Message-ID: <3BF53644.DF23EA4C@siemenscomms.co.uk> This is a multi-part message in MIME format. - --------------26C2BDB797C0E50F15AF4EF4 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Does GCC have a option to generate a nice mixed 'C' and assembly listing that contains opcodes? - -S and -save-temps gets me assembler output, is this as good as it gets? Owain - --------------26C2BDB797C0E50F15AF4EF4 Content-Type: text/x-vcard; charset=us-ascii; name="owain.phillips.vcf" Content-Transfer-Encoding: 7bit Content-Description: Card for Owain Phillips Content-Disposition: attachment; filename="owain.phillips.vcf" begin:vcard n:Phillips;Owain tel;fax:+44 115 943 4969 tel;work:+44 115 943 2167 x-mozilla-html:TRUE url:http://www.siemenscomms.co.uk org:Siemens Comunications Ltd version:2.1 email;internet:owain.phillips@siemenscomms.co.uk title:Software Engineer adr;quoted-printable:;;Technology Drive=0D=0ABeeston;Nottingham;;NG9 1LA;United Kingdom fn:Owain Phillips end:vcard - --------------26C2BDB797C0E50F15AF4EF4-- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Target Server issues -- Cache size?? Date: Fri, 16 Nov 2001 10:53:34 -0500 From: Jeremiah Frick Organization: Improv Systems, Inc. Message-ID: <3BF5367E.5122C136@improvsys.com> References: <3BF436F3.D5192CC9@improvsys.com> <3BF50E9B.2E6E7EFB@improvsys.com> <3bf52493$1@brateggebdc5.br-automation.co.at> Adding the 4096 value in the UI added a -m option, so the UI is fine. I actually just bumped it up to 8MB and it seems to be working correctly now. Thanks everyone, Jeremy Werner Schiendl wrote: > Hi, > > "Jeremiah Frick" wrote in message > news:3BF50E9B.2E6E7EFB@improvsys.com... > > Hi, > > > > It's currently using the default value, which is 1MB, not 1KB, sorry. I > > tried upping the value to 4MB and still had the same problem. There is > no -m > > option right now, I'm assuming that indicates the default 1MB value is > being > > used. > > Yes of course, if there is no -m value in your command line, you will use > the default (1M). > But what you describe would be an error in the Tornado UI. > Are you changing the Memory Cache Size in the Target server configuration > dialog of Tornado? > And of course you also start it from there (and restart it after shutting > down the old one when changing parameters)? > > But if specifying a memory cache size in this dialog does not yield a -m > option, this would be an error in Tornado. > Which host platform and version of Tornado are you using (and which > backend)? > > As a workaround, you can start the target server from a command prompt and > add the -m option manually. > (it is specified in bytes here, as I already mentioned) > > hth > Werner > > > > > Thanks, > > Jeremy > > > > Johan Borkhuis wrote: > > > > > Jeremiah Frick wrote: > > > > > > > Hi all, > > > > > > > > Another fun problem in the world of VxWorks. I've been downloading my > > > > project to my vxWorks target over the past few weeks during the > > > > development stage. Up till today this has been working just fine for > > > > me. Today, however, I started getting the following error on my > target > > > > when I attempt to download the object file: > > > > > > > > tgtsvr (malta@baldwin): Thu Nov 15 16:24:19 2001 > > > > Warning: Target server cache for agent memory is full. > > > > Use the '-m' option to increase the target server cache. > > > > > > Did you check the target server commandline in the config window? What > is > > > the value for the -m option? > > > > > > 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: Options for Assembler and Listings Date: 16 Nov 2001 15:59:40 +0000 From: Paul Flinders Organization: Fujitsu Telecommunications Europe Limited Message-ID: References: <3BF53644.DF23EA4C@siemenscomms.co.uk> Owain Phillips writes: > Does GCC have a option to generate a nice mixed 'C' and assembly > listing that contains opcodes? > > -S and -save-temps gets me assembler output, is this as good as it > gets? That's all you can get from gcc However the gnu objdump utility can disassemble and include source (objdump -S) as long as the binary has debug symbols. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Options for Assembler and Listings Date: Fri, 16 Nov 2001 16:31:48 +0000 From: Owain Phillips Organization: Siemens Inc. Message-ID: <3BF53F74.9B3C0101@siemenscomms.co.uk> References: <3BF53644.DF23EA4C@siemenscomms.co.uk> This is a multi-part message in MIME format. - --------------327E25C2FADB04E4437AA9F1 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Paul Flinders wrote: > Owain Phillips writes: > > > Does GCC have a option to generate a nice mixed 'C' and assembly > > listing that contains opcodes? > > > > -S and -save-temps gets me assembler output, is this as good as it > > gets? > > That's all you can get from gcc > > However the gnu objdump utility can disassemble and include source > (objdump -S) as long as the binary has debug symbols. Sounded good tried it....it dissassembled the file but didn't give me a mixed listing. But anyway a nice little utility.....that I shall make use of. Thanks, Owain - --------------327E25C2FADB04E4437AA9F1 Content-Type: text/x-vcard; charset=us-ascii; name="owain.phillips.vcf" Content-Transfer-Encoding: 7bit Content-Description: Card for Owain Phillips Content-Disposition: attachment; filename="owain.phillips.vcf" begin:vcard n:Phillips;Owain tel;fax:+44 115 943 4969 tel;work:+44 115 943 2167 x-mozilla-html:TRUE url:http://www.siemenscomms.co.uk org:Siemens Comunications Ltd version:2.1 email;internet:owain.phillips@siemenscomms.co.uk title:Software Engineer adr;quoted-printable:;;Technology Drive=0D=0ABeeston;Nottingham;;NG9 1LA;United Kingdom fn:Owain Phillips end:vcard - --------------327E25C2FADB04E4437AA9F1-- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Building all projects in workspace Date: Fri, 16 Nov 2001 17:53:35 +0100 From: "Martin Raabe" Organization: T-Online Message-ID: <9t3gam$na$05$1@news.t-online.com> References: <9t0i5d$ioe$1@proxy2.fe.internet.bosch.com> <9t38f1$lnv$1@proxy2.fe.internet.bosch.com> Hello Gunter, if you like to link more complex structures and maybe also want to support this for a team, then you may take a look at SNiFF+, which is a Tornado PowerTool. Take a look at the eval. Version on www.windriver.com for further details! Have success! Martin Raabe "Gunter Ritter" schrieb im Newsbeitrag news:9t38f1$lnv$1@proxy2.fe.internet.bosch.com... > > "Johan Borkhuis" schrieb im Newsbeitrag > news:Xns915B870699F46borkhuisagerecom@135.7.153.101... > > "Gunter Ritter" wrote: > > > > > Hi, > > > > > > I have a workspace containing a bootable project and a lot of > > > downloadable projects. > > > > > > Does anybody know a possibility to build all downloadable projects and > > > the bootable project by clicking only one button? > > > > Try this: http://www.xs4all.nl/~borkhuis/vxworks/project.html > > > > 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 === > > > > > Hi, > > thanks for the link. This is what I´ve been searching for. > But the example does only work, if the directory structure is as follows: > ../project1 > ../project2 > ../project3 > ../project4 > ../superproject > > > But we have > > ../project1 > ../project2 > ../sub1/project3 > ../sub1/project4 > ../sub2/project5 > ../sub2project6 > ../superproject > > I have tried to modify the example files, but I couldn´t do it right yet. > Any hint. > > Thanks. > Gunter > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Cygwin GDB Users ? Date: 16 Nov 2001 10:23:57 -0800 From: dward@appiancom.com (David Ward) Organization: http://groups.google.com/ Message-ID: <679c25ff.0111161023.422de97c@posting.google.com> Now that I appear to have the source for the ancient WRS-hacked GDB (the one that uses WTX), I was thinking of trying to build it for Cygwin. Has anyone gone down this path ? Of course I'd rather use GDB 5 but there is no WTX there, and it's unclear if the old WDB/RPC interface is still supported in the vxworks target - - anyone know ? Thank you, Dave Ward --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TFFS inclusion problem Date: Fri, 16 Nov 2001 10:30:43 -0800 From: Stephane Tiriac Organization: Alcatel USA, Inc. Message-ID: <3BF55B53.A8E68790@alcatel.com> References: <9t37ml$31cs$1@gavrilo.mtu.ru> You have to check if your vxWorks system library contains the ftllite.o module. You get this one when you buy TFFS subsystem. Check every library in the $WIND_BASE/target/lib If you find it in a different lib than the one you are currently using you still can extract it and link explicitly with. stephane. Shrike wrote: > After we include TFFS support in Tornado's VxWorks workspace the program > don't rebuild because of numerous "undefined reference to ..." errors. After > *explicit* inclusion of sysTffs.c two errors remain and we failed to > eliminate them. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: RFC2131 Dhcp code [for ARM]. Date: Fri, 16 Nov 2001 18:37:53 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9t3m6e$r54$1@uranium.btinternet.com> References: It all depends how much of rfc2131 you need. I fixed the old code to interwork with rfc2131 servers several years ago. WRS support ought to be able to give it out!# Maybe I'll just find a home of the web for it...... David Johan Borkhuis wrote in message news:Xns915B7FEB26A22borkhuisagerecom@135.7.153.101... > Bill Pringlemeir wrote: > > Would any care to share RFC2131 client code with me, or point me to > > one? Apparently, WRS is not supporting this for the ARM. I have > > several Linux DHCP clients. I am just trying to decide which is > > easier; to port the code or change the OS ;-) I guess March of 1997 is > > rather current. > > You could try to get T2.1 (WRS code: TDK-14181-ZC-00 afaik), that includes > the new DHCP code. Another possibility would be to ask your FAE to compile > the new code for your distribution (T2.0.1 I guess). > > Groeten, > Johan --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Options for Assembler and Listings Date: Fri, 16 Nov 2001 19:35:29 +0100 From: "Werner Schiendl" Message-ID: <3bf55d34$1@brateggebdc5.br-automation.co.at> References: <3BF53644.DF23EA4C@siemenscomms.co.uk> Hi, no idea if this is supported, but maybe you can make GCC to include the C line numbers as comments into the assembly listing? Then a tool to mix the two files would be a nice primer task for Perl, Python or some other scripting language. hth Werner "Owain Phillips" wrote in message news:3BF53644.DF23EA4C@siemenscomms.co.uk... > Does GCC have a option to generate a nice mixed 'C' and assembly > listing that contains opcodes? > > -S and -save-temps gets me assembler output, is this as good as it > gets? > > Owain > --------------------------- Newsgroups: comp.os.vxworks Subject: Speeding up compressed builds Date: Fri, 16 Nov 2001 18:57:36 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9t3nbc$n1m$1@plutonium.btinternet.com> For a variety of reasons I've had to do a few build on a slow system. One bit that seemed exceptionally slow is the 'binToAsm' call (just after the 'deflate' generating vxWorks.Z.s) This is done by 'od -bv $infile | sed -e "s/^[0-9]*[ ]*//; s/ /, 0/g; /^[0-9a-fA-F][0-9a-fA-F]/s/^/ .byte 0/" (ie use od to generate a list of octal bytes, remove the offset, change the spaces to comma, add the directive - an extra 0 is added to each number to ensure they are octal). The above is terribly slow... Slightly faster (under solaris) is: od -An -v -tu1 $infile | tr ' ' ',' | sed -e 's/,00*\([0-9]\)/,\1/g;s/^,/ .byte /' However it is clear that a C program would be even faster... It was still sluggish using printf, so... char map[256][4]; for (count = 0; count <= 256; count++) sprintf( map[ count ], "%d", count ); for (;;) { count = read( input_fd, buf, BLK_SZ ); if (count <= 0) break; for (off = 0; off < count; off++) { if (off & 15) putchar( ',' ); else fputs( "\n .byte ", stdout ); fputs( map[ buf[ off ] ], stdout ); } } now the system is spending very little of its time doing this bit (it was a lot slower than the deflate!) If you are using gcc/gas you can pipe EXTRACT_BIN, COMPRESS, BINTOASM directly into AS - saving that massive intermediate file... Build (compiling one small object) just took 6m50 - was over 10 minutes before I played with binToAsm! Ages ago I sped up 'munch' - by grepping out most of the symbols it isn't interested in... nmarm vxWorks.tmp | tee vxWorks.nm | grep " __" | munch > ctdt.c (I use the symbol table from this stage for a variety of things...) David --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Autoboot without allowing vxWorks to stop it Date: Fri, 16 Nov 2001 11:18:47 -0800 From: Sridhar Ramanathan Organization: QUALCOMM Incorporated Message-ID: <3BF56697.4B2F4D5D@qualcomm.com> References: <3BF41754.6F5AFCDB@qualcomm.com> Thanks for the information. I ended up recompiling the bootrom and it worked like a charm. Thanks again - -Sridhar Ho-Kuo Chan wrote: > Hi, > In your bootConfig.c file in your $WIND_BASE/target/config/all > directory, look for a function called bootCmdLoop. In this function is a > call to autoboot. You can modify the timeout value and recompile a bootrom. > You may wish to edit the autobbot function in the same file so that it > doesn't print the "Press any ..." > > -- > > Ho-Kuo Chan > Software Designer, Digital Division > Wavesat Telecom > (514) 956-6322 > "Sridhar Ramanathan" wrote in message > news:3BF41754.6F5AFCDB@qualcomm.com... > > Hi, > > I need to reboot vxWorks without allowing vxWorks to stop the autoboot > > process with the message "Press any key to stop auto-boot". In effect > > the reboot should proceed without the countdown. Is it possible? > > > > Thanks for replies in advance > > > > -Sridhar > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado 2 setup on win2k hangs Date: Fri, 16 Nov 2001 13:25:01 -0600 From: Dinker Charak Organization: Fermi National Accelerator Laboratory Message-ID: <3BF5680D.5A07AC8C@fnal.gov> References: <3BF28297.9AC01EFA@fnal.gov> hi, i had similar problem once ... but on unix where it was umask related problem .. it could create only one depth sub-dir ... for sake of trying ... try to install it on a FAT fiel system ... you may also check the access information o fthe sub0dir it _was) able to create ... hth, dinker --------------------------- Newsgroups: comp.os.vxworks Subject: Re: arpresolve problem Date: Fri, 16 Nov 2001 13:24:37 -0600 From: Andrew Johnson Organization: APS, Argonne National Laboratory Message-ID: <3BF567F5.94C1250@aps.anl.gov> References: <9r6tou$co5$1@news.storm.ca> <4f09bb68.0110300708.519dc187@posting.google.com> <3bf4e9b0.18129348@news.eunet.no> BT wrote: > > It seems to me, but I have not finnished investigating my problem yet > that on 5.3.1 the system "automatic" alocated more mbufs if needed up > to a maximum limit. On 5.4 I have to set up a fixed maximum mbuf > configuration. Is this correct or does anyone have any more comments > on this. That is correct. Read section 4.6.3 of the VxWorks Network Programmer's Guide carefully, use netStackDataPoolShow() and netStackSysPoolShow() to help work out what your buffer usage is and adjust the pool sizes as needed. I do that by editing the tables in target/src/config/usrNetwork.c, but there may be a way of doing this from the GUI if that's how you build your projects (we just use make). - - Andrew - -- Perfection is reached, not when there is no longer anything to add, but when there is no longer anything to take away. - - Antoine de Saint-Exupery --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Options for Assembler and Listings Date: Fri, 16 Nov 2001 13:29:30 -0600 From: Andrew Johnson Organization: APS, Argonne National Laboratory Message-ID: <3BF5691A.3F102D34@aps.anl.gov> References: <3BF53644.DF23EA4C@siemenscomms.co.uk> <3BF53F74.9B3C0101@siemenscomms.co.uk> Owain Phillips wrote: > > Paul Flinders wrote: > > > Owain Phillips writes: > > > > However the gnu objdump utility can disassemble and include source > > (objdump -S) as long as the binary has debug symbols. > > Sounded good tried it....it dissassembled the file but didn't give me > a mixed listing. Are you sure you compiled the object file with -g? It's possible some CPU architectures don't support this, but it works for me. - - Andrew - -- Perfection is reached, not when there is no longer anything to add, but when there is no longer anything to take away. - - Antoine de Saint-Exupery --------------------------- Newsgroups: comp.os.vxworks Subject: vxWorks Consulting Date: Fri, 16 Nov 2001 19:36:38 GMT From: "cfk@pacbell.net" Organization: Prodigy Internet http://www.prodigy.com Message-ID: Please pardon my unabashed salesmanship. I am hoping that a request for consulting or contract work on vxWorks for an experienced Windriver Consultant will get to someone who needs driver or BSP work done, preferably in Orange County CA. My resume is at http://home.pacbell.net/cfk Charles Krinke --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado 2 setup on win2k hangs Date: Fri, 16 Nov 2001 21:13:45 GMT From: "Mike Hanna" Organization: Road Runner - NC Message-ID: References: <3BF28297.9AC01EFA@fnal.gov> <3BF5680D.5A07AC8C@fnal.gov> It creates three level of subdirs, must be a different problem. Mike --------------------------- Newsgroups: comp.os.vxworks,comp.sys.powerpc.tech Subject: MPC 8260 DB discussion Date: Fri, 16 Nov 2001 19:15:49 GMT From: u687591552@spawnkill.ip-mobilphone.net (BT) Message-ID: Sender: u687591552@spawnkill.ip-mobilphone.net I'm using MPC 8260. I'm write a driver for SCC. I am facing two choix in terms of pass packets to BD's data buffer. 1)simpler one, driver allocates a fixed number of data buffers, assign them to DBs. When serving driver's user, the driver copy packets from user data buffer to its own data buffers or vise versa. An extra copy here. 2)Assign directly user data buffer to SCC's BD. In this case most likely every time the driver has to free buffer for the user after using it and reallocate for RX. In this case software have to deal with the situation like allocate buffer fails. This encrease ISR complexity and decrease the performance. I wonder if anyone has such experience before and make some comments. - -- Sent by guangbutun from hotmail in area com This is a spam protected message. Please answer with reference header. Posted via http://www.usenet-replayer.com/cgi/content/new --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado 2 setup on win2k hangs Date: 16 Nov 2001 22:17:52 GMT From: Johan Borkhuis Organization: Agere Systems Message-ID: References: <3BF28297.9AC01EFA@fnal.gov> "Mike Hanna" wrote: > Both the setup files and the target installation directory are on the > local c drive (which is ntfs formatted). Sorry, I read "nfs" instead of ntfs. Using ntfs I never had any problems however. 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: Does TFFS have a size limit? Date: Sat, 17 Nov 2001 00:14:07 GMT From: Andray Kaganovsky Organization: @Home Message-ID: References: <3b9cf6e4.0111142137.662cdcc6@posting.google.com> <9svsoo$8db$1@snoopy.bndlg.de> <3bf3f9fc$0$71387$e2e8da3@nntp.cts.com> robin_ch@china.com (Robin Tcheng) wrote in news:cdd93ac4.0111152000.751c6ae7 @posting.google.com: > here is the relpy after calling dosFsConfigShow() > -> dosFsConfigShow "/tffs0/" > device name: /tffs0/ > total number of sectors: 2486 > bytes per sector: 512 > media byte: 0xf8 > # of sectors per cluster: 4 > # of reserved sectors: 1 > # of FAT tables: 2 > # of sectors per FAT: 2 > max # of root dir entries: 192 > # of hidden sectors: 1 > removable medium: false > disk change w/out warning: not enabled > auto-sync mode: not enabled > long file names: not enabled > exportable file system: not enabled > lowercase-only filenames: not enabled > volume mode: O_RDWR (read/write) > available space: 1263616 bytes > max avail. contig space: 1263616 bytes > value = 0 = 0x0 > > but the size of my flash is 8M, not 1263616 bytes. > How to enlarge the available space to copy larger files in TFFS? [AndrayK]. If you happen to have source code for the MTD, I suggest that you set a breakpoint at the end of the MTD's identification routine, and look at contents of struct FLFlash. Make sure that MTD reports flash parameters (number of flash blocks, block size etc.) correctly. - -Andray --------------------------- Newsgroups: comp.os.vxworks Subject: Tornado virtual console question Date: Fri, 16 Nov 2001 21:32:46 -0500 From: "Mike Gold" Organization: Bell Sympatico Message-ID: Configure Tornado TargetServer to select - Redirect target IO - Create Virtual Console - Redirect target shell then we have a Virtual Console comes out, so far so good. But, when we use it and type command "i", the board is triggered with a reboot; however, if we use Tornado host shell, it would be alright, the tasks info gets listed (a long list of 400 lines). What is the problem here? Thanks in advance! --------------------------- Newsgroups: comp.os.vxworks Subject: a compilation of this main() function calls "__eabi." Date: Fri, 16 Nov 2001 20:55:17 -0700 From: "Okehee Goh" Organization: Arizona State University Message-ID: <9t4mtt$cpo$1@news.asu.edu> Hello, This is Okehee Goh in ASU. Ihe application I'm developing will run on MBX860 without vxWorks. I want to use gcc compiler of Tornado for MBX860 trarget machine. I add main() function which is called from crt0.o. The assembly code which gcc compiler generated as a compilation of this main() function calls "__eabi." But, ldppc complains due to this. Even though I attempted to add "-mno-eabi" option to gcc, gcc didn't accept this option. My survey seems that codes for RS6000 system needs "__eabi." But I don't know why for MBX860. How can I go forward to next step for linking? Thank you so much for your any comments. Okehee --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Sun Nov 18 03:38:51 2001 From: Ilia Bosis Date: Sun Nov 18 03:38:54 PST 2001 Subject: RE: Problem with TCP/IP Hi Alexey ! This bells me the ring called "path MTU". The idea is as such: For each digital communication media (Ethernet, FrameRelay, PPP over modem, etc.) there is the maximum frame length limit. It's value depends on the properties of that media. In terms of IP that means that there is the upper limit on the IP datagram length, called Maximum Transfer Unit or MTU. The point is, because this limit is media-dependant, the protocol layers 3 & up (i.e. IP, TCP, UDP, and all the application-layer protocols) have _no_idea_ of what that limit is. To overcome the obstacle, the IP defines the fragmentation and reassembly procedure. However, that procedure introduces problems of it's own, so that it's widely recommended to avoid fragmentation as much, as possible. Maybe due to this, in many TCP/IP implementations the fragmentation and reassembly procedure is less debugged (read: bug-ridden) or even outright broken. I suspect, that You stuck into such a problem in the VxWorks' IP stack when You force it to fragment the big (8192 bytes size) packet and than reassemble it on the receive side. Note also that as being media-dependant, the fragmentation and reassembly requires cooperation from the device driver to do it right. If You use Your own driver, check if it supports the fragmentation/reassembly. Hope, this helps Ilia. -------------------------------------------- Ilia Bosis Software Engineer PacketLight Networks Tel: +972-9-7644228 Fax: +972-9-7645444 E-mail: Ilia_Bosis@packetlight.com Web: www.packetlight.com Newsgroups: comp.os.vxworks Subject: Probrem with TCP/IP Date: Thu, 15 Nov 2001 17:18:02 +0300 From: "Shrike" Organization: MTU-Intel ISP Message-ID: <9t0iqn$h44$1@gavrilo.mtu.ru> We have the following problem. During data exchange over TCP/IP with *big* sockets (8192 bytes) we loose or miss some data, where as with *small* sockets (1024 bytes) all is OK. From vxwexplo-errs@csg.lbl.gov Sun Nov 18 04:03:10 2001 From: Vxworks Exploder Date: Sun Nov 18 04:03:12 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Sun Nov 18 04:03:07 PST 2001 Subject: Re: a compilation of this main() function calls "__eabi." Subject: Re: Intel ev386ex's bsp! Subject: TCP/IP Send problem Subject: Re: a compilation of this main() function calls "__eabi." Subject: Re: a compilation of this main() function calls "__eabi." Subject: usage of __asm__ with register name ?? Subject: Re: Options for Assembler and Listings Subject: can someone explain the difference of vxWorks images Subject: semaphore question Subject: Re: usage of __asm__ with register name ?? Subject: Re: can someone explain the difference of vxWorks images Subject: Re: semaphore question ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: a compilation of this main() function calls "__eabi." Date: Sat, 17 Nov 2001 08:20:22 -0500 From: joe durusau Organization: BELLSOUTH.net Message-ID: <3BF66415.A2AA4BB6@bellsouth.net> References: <9t4mtt$cpo$1@news.asu.edu> Okehee Goh wrote: > Hello, > > This is Okehee Goh in ASU. > > Ihe application I'm developing will run on MBX860 without vxWorks. > I want to use gcc compiler of Tornado for MBX860 trarget machine. > I add main() function which is called from crt0.o. > The assembly code which gcc compiler generated as a compilation of this > main() function calls "__eabi." > But, ldppc complains due to this. > Even though I attempted to add "-mno-eabi" option to gcc, gcc didn't accept > this option. > My survey seems that codes for RS6000 system needs "__eabi." But I don't > know why for MBX860. > How can I go forward to next step for linking? > > Thank you so much for your any comments. > > Okehee You fundamental problem is that the compiler has made assumptions about the underlying OS that are (probably) not true. It sounds as if the compiler is operating under the assumption that the code will operate on the host operating system, whatever that is. If this is not true, you need to develop a cross-compiler for whatever OS you will use. Note for instance that crt0.o is specific for the OS the compiler is running on, and will not be likely to work on the MB860. Speaking only for myself, Joe Durusau --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Intel ev386ex's bsp! Date: 17 Nov 2001 05:24:46 -0800 From: yongchen@online.sh.cn (chenyong) Organization: http://groups.google.com/ Message-ID: References: <3bf0dd53@netnews.web.de> Reinhold Wirth wrote in message news:<3bf0dd53@netnews.web.de>... > Hi chenyong, > > > >I am using the intel ev386ex board with no ethernet card,and porting > >the WindRiver's bsp on it ! > >The board has two serial ports,512k flash,4M Dram,etc. > >Now I have some problems about BSP! > >I want to use the serial port to connect target server, when I write > >the VxWorks_Rom(I have involve some banner information!),power on ,and > >no any words on HyperTerminal;but when I write bootrom_uncmp into > >flash,I can see the bootline on the HyperTerminal.I do not > >know how to use bootrom_cmp to download vxWorks image from this 512k > >space. > >I want to try other ways,anyone can tell me? > > > * serial output: > Test your configuration: CONSOLE_TTY should be different from WDB_TTY_CHANNEL. > > > * You want use 512k flash for the bootloader and for vxWorks? > I think 512 k is not enough memory for both images. > It is less for vxWorks. > > > I see only 1 realy possibilitys: > - uses the flash for vxWorks (vxWorks_rom or > vxWorks_romCompress). > (A application may be loaded to vxWorks) > > > It is possible to load vxWorks with the serial interface, but you need time. Hi, Thanks a lot! I have solved the problem.The problem is that the vxWorks was not configured correctly under DOS envirment,but vxWorks_rom.bin could not be built using project tool!some step must be changed that are different from normal step,u must know how yo use GNU make! chenyong --------------------------- Newsgroups: comp.os.vxworks Subject: TCP/IP Send problem Date: 17 Nov 2001 07:18:13 -0800 From: paulgruet@hotmail.com (Paul Gruet) Organization: http://groups.google.com/ Message-ID: Background: Our system comprises a motorrola MVME2401 target which is networked to a number of PCs for various GUI functions. We have for the most part established reliable communications between these systems, however occasionally a call to send() blocks, hanging the task handling the transmission of messages. In order to get around this I have used a watchdog timer to timeout the call to send(). If it takes more than a few seconds, I shutdown and close the socket and taskDelete the blocked task. I then attempt to reconnect the socket using the same procedure originally used to connect it. In a nutshell this is: //obtain a socket sock = socket(AF_INET, SOCK_STREAM, 0) sockaddr_in serverAddr; sockaddr_in clientAddr; serverAddr.sin_family=AF_INET; serverAddr.sin_port= listenPort; //well known port (in this case 5000) on which to establish comms // bind the socket bind(sock, &serverAddr, sizeof(serverAddr)); listen(sock,2) accept(sock, &clientAddr, sizeof(clientAddr); This is mostly successful, however I often see the call to accept() fail with errno set to S_errno_ECONNABORTED. From this point nothing I do will re-establish communications. NB it is quite possible that the network hardware may be suffering outages or noise which is causing the call to send() to block. My problem is to make the software implementation robust enough to withstand these and reconnect gracefully Paul Gruet Varian Medical Systems --------------------------- Newsgroups: comp.os.vxworks Subject: Re: a compilation of this main() function calls "__eabi." Date: Sat, 17 Nov 2001 09:01:56 -0800 From: "Gary M" Message-ID: <3bf69851$0$7976$724ebb72@reader2.ash.ops.us.uu.net> References: <9t4mtt$cpo$1@news.asu.edu> Reply-To: "Gary M" Defining a function "main" causes some compilers to generate code to support the environment. I'm not that familiar with the GNU infrastructure for PPC, but it looks like the call to __eabi has something to do with extended relocations. If you change the name of "main" to anything else, the compiler won't generate this call. So, you can either rename main to something else (if you can change crt0), or, rename it and create a simple assembly language module that defines main and simply branch to your C entry point. "Okehee Goh" wrote in message news:9t4mtt$cpo$1@news.asu.edu... > Hello, > > This is Okehee Goh in ASU. > > Ihe application I'm developing will run on MBX860 without vxWorks. > I want to use gcc compiler of Tornado for MBX860 trarget machine. > I add main() function which is called from crt0.o. > The assembly code which gcc compiler generated as a compilation of this > main() function calls "__eabi." > But, ldppc complains due to this. > Even though I attempted to add "-mno-eabi" option to gcc, gcc didn't accept > this option. > My survey seems that codes for RS6000 system needs "__eabi." But I don't > know why for MBX860. > How can I go forward to next step for linking? > > Thank you so much for your any comments. > > Okehee > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: a compilation of this main() function calls "__eabi." Date: Sat, 17 Nov 2001 17:14:40 -0700 From: "Okehee Goh" Organization: Arizona State University Message-ID: <9t6ucd$hok$1@news.asu.edu> References: <9t4mtt$cpo$1@news.asu.edu> <3bf69851$0$7976$724ebb72@reader2.ash.ops.us.uu.net> Yes, I changed the function "main" to another and it worked out. Thank you so much. "Gary M" wrote in message news:3bf69851$0$7976$724ebb72@reader2.ash.ops.us.uu.net... > Defining a function "main" causes some compilers to generate code to support > the environment. I'm not that familiar with the GNU infrastructure for PPC, > but it looks like the call to __eabi has something to do with extended > relocations. > > If you change the name of "main" to anything else, the compiler won't > generate this call. So, you can either rename main to something else (if you > can change crt0), or, rename it and create a simple assembly language module > that defines main and simply branch to your C entry point. > > "Okehee Goh" wrote in message > news:9t4mtt$cpo$1@news.asu.edu... > > Hello, > > > > This is Okehee Goh in ASU. > > > > Ihe application I'm developing will run on MBX860 without vxWorks. > > I want to use gcc compiler of Tornado for MBX860 trarget machine. > > I add main() function which is called from crt0.o. > > The assembly code which gcc compiler generated as a compilation of this > > main() function calls "__eabi." > > But, ldppc complains due to this. > > Even though I attempted to add "-mno-eabi" option to gcc, gcc didn't > accept > > this option. > > My survey seems that codes for RS6000 system needs "__eabi." But I don't > > know why for MBX860. > > How can I go forward to next step for linking? > > > > Thank you so much for your any comments. > > > > Okehee > > > > > > > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: usage of __asm__ with register name ?? Date: Sat, 17 Nov 2001 17:55:38 -0700 From: "Okehee Goh" Organization: Arizona State University Message-ID: <9t70p7$hrj$1@news.asu.edu> I used __asm__ keyword for assembly code in C language source. The C language source includes all necessary header files which have the definition of registers. ( like toolPpc.h etc.) But Tornado's assembler gave "Unresolved expression that must be resolved." Is there any option or way to avoid this problem without replacing all registers into correspondent register number? The following code is what I used in C source and next one is the code that was translated into assembly file. __asm__(" mfmsr r5"); # in src.c => mfmsr r5 # in src.s Thank you so much. Okehee --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Options for Assembler and Listings Date: Sat, 17 Nov 2001 21:50:33 -0800 From: "drdiags" Organization: laserlink.net Message-ID: <9t7jhq$p73$1@newstest.laserlink.net> References: <3BF53644.DF23EA4C@siemenscomms.co.uk> Hello Owain, Did you use the -Wa,-ahls=file.lst type of syntax. The GNU Toolkit for T2 pg 311 mentions these flags. Did you have a problem using these? I know that T2.0 for PowerPC has a bug using this, so you have to use objdump, but for other architectures, this works. "Owain Phillips" wrote in message news:3BF53644.DF23EA4C@siemenscomms.co.uk... > Does GCC have a option to generate a nice mixed 'C' and assembly > listing that contains opcodes? > > -S and -save-temps gets me assembler output, is this as good as it > gets? > > Owain > --------------------------- Newsgroups: comp.os.vxworks Subject: can someone explain the difference of vxWorks images Date: 17 Nov 2001 22:55:58 -0800 From: joyce_sli@yahoo.com (Joyce) Organization: http://groups.google.com/ Message-ID: <3e255a7a.0111172255.73e8312c@posting.google.com> Can someone help me on these question? 1. What's the difference of "BootROM image" and "ROMed vxworks image"? what's "compressed", "uncompressed" and "ROM resident"? 2. In taskSpawn(), if I want to pass string(not integer) to the created task, how do I do? Thanks Joyce --------------------------- Newsgroups: comp.os.vxworks Subject: semaphore question Date: 18 Nov 2001 00:19:22 -0800 From: joyce_sli@yahoo.com (Joyce) Organization: http://groups.google.com/ Message-ID: <3e255a7a.0111180019.409b845c@posting.google.com> I have following two question about semaphore. 1. if task1 take the semaphore and forget semgive, after it finish. does vxWorks release the semaphore after the task1 exit? 2. The following program output unexpected result, please help. #include "vxWorks.h" #include "taskLib.h" #include "semLib.h" #include "stdio.h" #define REPEATION 5 void taskOne(void); void taskTwo(void); /* globals */ SEM_ID semBinary; int global = 0; void test(void) { int taskIdOne, taskIdTwo; /* create semaphore */ semBinary = semBCreate(SEM_Q_FIFO, SEM_FULL); /* create two tasks */ taskIdOne = taskSpawn("task1",100,0x100,2000,(FUNCPTR)taskOne,0,0,0,0,0,0,0,0,0,0); taskIdTwo = taskSpawn("task2",100,0x100,2000,(FUNCPTR)taskTwo,0,0,0,0,0,0,0,0,0,0); } void taskOne(void) { int i; for (i=0; i < REPEATION ; i++) { semTake(semBinary,WAIT_FOREVER); printf("taskOne and global = %d\n", ++global); semGive(semBinary); } } void taskTwo(void) { int i; for (i=0; i < REPEATION ; i++) { semTake(semBinary,WAIT_FOREVER); printf("taskTwo and global = %d\n", --global); semGive(semBinary); } } The output is: taskOne and global = 1 taskOne and global = 2 taskOne and global = 3 taskOne and global = 4 taskOne and global = 5 taskTwo and global = 4 taskTwo and global = 3 taskTwo and global = 2 taskTwo and global = 1 taskTwo and global = 0 If I want to get the following output, what should I do? taskOne and global = 1 taskTwo and global = 0 ...... --------------------------- Newsgroups: comp.os.vxworks Subject: Re: usage of __asm__ with register name ?? Date: Sun, 18 Nov 2001 02:13:04 -0800 From: "Gary M" Message-ID: <3bf78a16$0$11216$4c41069e@reader0.ash.ops.us.uu.net> References: <9t70p7$hrj$1@news.asu.edu> Reply-To: "Gary M" __asm__ passes everything literally to the assembler, so unless you build a custom filter step between the compiler and the assembler, you are stuck with replacing register names with numbers. Sorry. "Okehee Goh" wrote in message news:9t70p7$hrj$1@news.asu.edu... > I used __asm__ keyword for assembly code in C language source. > The C language source includes all necessary header files which have the > definition of registers. ( like toolPpc.h etc.) > But Tornado's assembler gave "Unresolved expression that must be resolved." > Is there any option or way to avoid this problem without replacing all > registers into correspondent register number? > The following code is what I used in C source and next one is the code that > was translated into assembly file. > __asm__(" mfmsr r5"); # in src.c => mfmsr r5 # in src.s > > Thank you so much. > > Okehee > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: can someone explain the difference of vxWorks images Date: Sun, 18 Nov 2001 02:25:58 -0800 From: "Gary M" Message-ID: <3bf78d1b$0$11217$4c41069e@reader0.ash.ops.us.uu.net> References: <3e255a7a.0111172255.73e8312c@posting.google.com> Reply-To: "Gary M" 1. BootROM image is intended to initialize the hardware and then bootstrap the application system from some source (network, disk, flash, etc.). BootROM does contain VxWorks, a version that is tuned primarily for supporting the bootstrap. A ROMed VxWorks image is your target VxWorks system image, massaged to be programmed into ROM. A "compressed" image contains a small loader and deflasher which is copied from ROM to RAM and executed from RAM, decompressing the VxWorks image into RAM before executing it. "Uncompressed" is the same as compressed, except no decompression is needed. Both of these run out of RAM. "ROM resident" runs directly (and slower) out of ROM. 2. You can pass a string pointer as an argument in taskSpawn(), casting it from int to char* in your code. Just make sure the string is in memory that will remain stable until the target task starts up and uses it. "Joyce" wrote in message news:3e255a7a.0111172255.73e8312c@posting.google.com... > Can someone help me on these question? > > 1. What's the difference of "BootROM image" and "ROMed vxworks image"? > what's "compressed", "uncompressed" and "ROM resident"? > > 2. In taskSpawn(), if I want to pass string(not integer) to the > created task, how do I do? > > Thanks > > Joyce --------------------------- Newsgroups: comp.os.vxworks Subject: Re: semaphore question Date: Sun, 18 Nov 2001 02:41:57 -0800 From: "Gary M" Message-ID: <3bf790db$0$11209$4c41069e@reader0.ash.ops.us.uu.net> References: <3e255a7a.0111180019.409b845c@posting.google.com> Reply-To: "Gary M" 1. No. That's your responsibility. Never assume that the OS will clean up your mess. 2. Actually, that is the expected output given a single semaphore synchronizing two tasks at the same priority. When task1 gives the semaphore, it will not cause task2 to run, and task1 will reenter the for-loop and reclaim the semaphore again. The correct implementation requires two binary semaphores, sem1 and sem2. sem1 would be created full, sem2 as empty. task1 would take sem1, do its work, and give sem2. task2 would take sem2, do its work, and give sem1. This method guarantees alternating execution of the tasks irregardless of their priorities. "Joyce" wrote in message news:3e255a7a.0111180019.409b845c@posting.google.com... > I have following two question about semaphore. > > 1. if task1 take the semaphore and forget semgive, after it finish. > does vxWorks release the semaphore after the task1 exit? > > 2. The following program output unexpected result, please help. > > #include "vxWorks.h" > #include "taskLib.h" > #include "semLib.h" > #include "stdio.h" > > #define REPEATION 5 > > void taskOne(void); > void taskTwo(void); > > /* globals */ > SEM_ID semBinary; > int global = 0; > > void test(void) > { > int taskIdOne, taskIdTwo; > > /* create semaphore */ > semBinary = semBCreate(SEM_Q_FIFO, SEM_FULL); > > /* create two tasks */ > taskIdOne = taskSpawn("task1",100,0x100,2000,(FUNCPTR)taskOne,0,0,0,0,0,0,0,0,0,0); > taskIdTwo = taskSpawn("task2",100,0x100,2000,(FUNCPTR)taskTwo,0,0,0,0,0,0,0,0,0,0); > } > > > void taskOne(void) > { > int i; > for (i=0; i < REPEATION ; i++) > { > semTake(semBinary,WAIT_FOREVER); > printf("taskOne and global = %d\n", ++global); > semGive(semBinary); } > } > > void taskTwo(void) > { > int i; > > for (i=0; i < REPEATION ; i++) > { > semTake(semBinary,WAIT_FOREVER); > printf("taskTwo and global = %d\n", --global); > semGive(semBinary); > } > } > > The output is: > > taskOne and global = 1 > taskOne and global = 2 > taskOne and global = 3 > taskOne and global = 4 > taskOne and global = 5 > taskTwo and global = 4 > taskTwo and global = 3 > taskTwo and global = 2 > taskTwo and global = 1 > taskTwo and global = 0 > > If I want to get the following output, what should I do? > > taskOne and global = 1 > taskTwo and global = 0 > ...... --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Sun Nov 18 21:25:29 2001 From: "Vijay K.Raichurkar" Date: Sun Nov 18 21:25:31 PST 2001 Subject: Tornado:where is Hashtable implemented Sample code available? Dear Readeres, I am implementing hashtable in bridge,using Tornado 2.0 under WinNT ope.sys(Ver 4.0) service pack 6. Will anybody guide me , where is "Hashtable" implemented sample code available? Is there any document,site name or code..etc. Thanks, Regards, Vijay.K.Raichurkar From vxwexplo-errs@csg.lbl.gov Mon Nov 19 04:03:09 2001 From: Vxworks Exploder Date: Mon Nov 19 04:03:11 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Mon Nov 19 04:03:06 PST 2001 Subject: Address Question Subject: Setting the tick clock rate Subject: what is the meaning of FOREVER? Subject: Re: semaphore question Subject: Re: what is the meaning of FOREVER? Subject: Re: Setting the tick clock rate Subject: [Q] wdb activating! Subject: Re: Options for Assembler and Listings Subject: Re: what is the meaning of FOREVER? Subject: Re: semaphore question ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Address Question Date: Mon, 19 Nov 2001 01:52:37 GMT From: "Young" Organization: Dacom Message-ID: I have to know the Address for Text, Data and Bss Region of VxWorks Image. moduleShow() Function just display those Regions, but I can't Use Those Values. Does Anyone Know the method to Get and Use the Address for Text, Data and Bss Region of VxWorks? --------------------------- Newsgroups: comp.os.vxworks Subject: Setting the tick clock rate Date: Mon, 19 Nov 2001 08:03:03 +0200 From: "Morne Hartman" Message-ID: <3bf8a08a$0$226@hades.is.co.za> Hi all, The default setting for my clock is 60 ticks/second. I would like to set this to 1000 ticks/second, which would give me a 1ms interval. I am using a Pentium III 600 processor, so the additional kernel interupts should not be an issue. However once the value is set, I loose all communication with the target. Can anyone explain this situation. Your sincerely Morne Hartman mhartman@grintek.com --------------------------- Newsgroups: comp.os.vxworks Subject: what is the meaning of FOREVER? Date: Mon, 19 Nov 2001 14:42:20 +0800 From: "zhaoyandong" Organization: Bentium Ltd. (CN99) Message-ID: <9ta9o5$4m2$1@mail.cn99.com> Hi, I see the following here:, what is the definition of FOREVER? FOREVER { for (nodeIdx = 0; nodeIdx < NUM_SAMPLE; nodeIdx++) { semTake (dataSemId, WAIT_FOREVER); /* Wait for datum */ if (runState == SCHLEP_STOP) { runState = CRUNCH_STOP; semGive (syncSemId); return; } nodeAdd (cosmicData, nodeIdx); } semGive (syncSemId); /* Wake up the cruncher! */ } --------------------------- Newsgroups: comp.os.vxworks Subject: Re: semaphore question Date: Mon, 19 Nov 2001 08:22:38 +0100 From: "Manuel van den Berg" Organization: Oce Nederland news service Message-ID: <3bf8b2ff$0$230$4d4ebb8e@oce.news.eu.uu.net> References: <3e255a7a.0111180019.409b845c@posting.google.com> <3bf790db$0$11209$4c41069e@reader0.ash.ops.us.uu.net> Hi, Ad 2. If you want the alternating behavior, why not put it in a single task ? No sem needed at all! Manuel "Gary M" wrote in message news:3bf790db$0$11209$4c41069e@reader0.ash.ops.us.uu.net... > 1. No. That's your responsibility. Never assume that the OS will clean up > your mess. > 2. Actually, that is the expected output given a single semaphore > synchronizing two tasks at the same priority. When task1 gives the > semaphore, it will not cause task2 to run, and task1 will reenter the > for-loop and reclaim the semaphore again. The correct implementation > requires two binary semaphores, sem1 and sem2. sem1 would be created full, > sem2 as empty. task1 would take sem1, do its work, and give sem2. task2 > would take sem2, do its work, and give sem1. This method guarantees > alternating execution of the tasks irregardless of their priorities. > > "Joyce" wrote in message > news:3e255a7a.0111180019.409b845c@posting.google.com... > > I have following two question about semaphore. > > > > 1. if task1 take the semaphore and forget semgive, after it finish. > > does vxWorks release the semaphore after the task1 exit? > > > > 2. The following program output unexpected result, please help. > > > > #include "vxWorks.h" > > #include "taskLib.h" > > #include "semLib.h" > > #include "stdio.h" > > > > #define REPEATION 5 > > > > void taskOne(void); > > void taskTwo(void); > > > > /* globals */ > > SEM_ID semBinary; > > int global = 0; > > > > void test(void) > > { > > int taskIdOne, taskIdTwo; > > > > /* create semaphore */ > > semBinary = semBCreate(SEM_Q_FIFO, SEM_FULL); > > > > /* create two tasks */ > > taskIdOne = > taskSpawn("task1",100,0x100,2000,(FUNCPTR)taskOne,0,0,0,0,0,0,0,0,0,0); > > taskIdTwo = > taskSpawn("task2",100,0x100,2000,(FUNCPTR)taskTwo,0,0,0,0,0,0,0,0,0,0); > > } > > > > > > void taskOne(void) > > { > > int i; > > for (i=0; i < REPEATION ; i++) > > { > > semTake(semBinary,WAIT_FOREVER); > > printf("taskOne and global = %d\n", ++global); > > semGive(semBinary); } > > } > > > > void taskTwo(void) > > { > > int i; > > > > for (i=0; i < REPEATION ; i++) > > { > > semTake(semBinary,WAIT_FOREVER); > > printf("taskTwo and global = %d\n", --global); > > semGive(semBinary); > > } > > } > > > > The output is: > > > > taskOne and global = 1 > > taskOne and global = 2 > > taskOne and global = 3 > > taskOne and global = 4 > > taskOne and global = 5 > > taskTwo and global = 4 > > taskTwo and global = 3 > > taskTwo and global = 2 > > taskTwo and global = 1 > > taskTwo and global = 0 > > > > If I want to get the following output, what should I do? > > > > taskOne and global = 1 > > taskTwo and global = 0 > > ...... > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: what is the meaning of FOREVER? Date: Mon, 19 Nov 2001 09:08:06 +0100 From: "Michael Lawnick" Organization: Buergernetz Dillingen Message-ID: <9taepc$fio$1@snoopy.bndlg.de> References: <9ta9o5$4m2$1@mail.cn99.com> Reply-To: "Michael Lawnick" Sender: mlawnick@pd9524b72.dip.t-dialin.net while(1) HTH - -- Mit freundlichen Grüßen, Michael Lawnick ============================================== SOFTEC GmbH Tel +49-731-96600-0 Promenade 17 Fax +49-731-96600-23 D-89073 Ulm Michael Lawnick Germany lawnick@softec.de ============================================== "zhaoyandong" schrieb im Newsbeitrag news:9ta9o5$4m2$1@mail.cn99.com... > Hi, I see the following here:, what is the definition of FOREVER? > > FOREVER > { > for (nodeIdx = 0; nodeIdx < NUM_SAMPLE; nodeIdx++) > { > semTake (dataSemId, WAIT_FOREVER); /* Wait for datum */ > if (runState == SCHLEP_STOP) > { > runState = CRUNCH_STOP; > semGive (syncSemId); > return; > } > nodeAdd (cosmicData, nodeIdx); > } > > semGive (syncSemId); /* Wake up the cruncher! */ > } > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Setting the tick clock rate Date: Mon, 19 Nov 2001 09:08:39 +0100 From: "Michael Lawnick" Organization: Buergernetz Dillingen Message-ID: <9taer9$gl9$1@snoopy.bndlg.de> References: <3bf8a08a$0$226@hades.is.co.za> Reply-To: "Michael Lawnick" Sender: mlawnick@pd9524b72.dip.t-dialin.net Did you use sysClkRateSet(1000) ? - -- Mit freundlichen Grüßen, Michael Lawnick ============================================== SOFTEC GmbH Tel +49-731-96600-0 Promenade 17 Fax +49-731-96600-23 D-89073 Ulm Michael Lawnick Germany lawnick@softec.de ============================================== "Morne Hartman" schrieb im Newsbeitrag news:3bf8a08a$0$226@hades.is.co.za... > Hi all, > > The default setting for my clock is 60 ticks/second. I would like to set > this to 1000 ticks/second, which would give me a 1ms interval. I am using a > Pentium III 600 processor, so the additional kernel interupts should not be > an issue. However once the value is set, I loose all communication with the > target. Can anyone explain this situation. > > Your sincerely > Morne Hartman > mhartman@grintek.com > > > --------------------------- Newsgroups: comp.os.vxworks Subject: [Q] wdb activating! Date: Mon, 19 Nov 2001 09:28:52 GMT From: "withWind" Organization: Dacom Message-ID: Hi, I've got the Tornado 2.0.2, but the BSP and sources that I received from friend made in Tornado 1.0.1 environment. And the structure of the BSP and sources is very different with Tornado 2.0. I don't care about Project facility. I just want to make the BSP and sources that I received work well. So I need wdb working. What can I do? I tried to include 'INCLUDE_WDB' in config.h. It doesn't work well. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Options for Assembler and Listings Date: 19 Nov 2001 09:36:32 +0000 From: Paul Flinders Organization: Fujitsu Telecommunications Europe Limited Message-ID: References: <3BF53644.DF23EA4C@siemenscomms.co.uk> <3bf55d34$1@brateggebdc5.br-automation.co.at> "Werner Schiendl" writes: > Hi, > > no idea if this is supported, but maybe you can make GCC to include the C > line numbers as comments into the assembly listing? > Then a tool to mix the two files would be a nice primer task for Perl, > Python or some other scripting language. > $ man objdump .... -l --line-numbers Label the display (using debugging information) with the filename and source line numbers corre­ sponding to the object code shown. Only useful with -d, -D, or -r. You will need to compile with debug output enabled (-g) for this to work --------------------------- Newsgroups: comp.os.vxworks Subject: Re: what is the meaning of FOREVER? Date: Mon, 19 Nov 2001 06:24:06 -0500 From: George Varndell Organization: Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net Message-ID: <3BF8EBD6.2F6586A8@varndellengineering.com> References: <9ta9o5$4m2$1@mail.cn99.com> zhaoyandong wrote: > > what is the definition of FOREVER? #define FOREVER while(1) or #define FOREVER for(;;) or #define FOREVER while(TRUE == TRUE) or #define FOREVER while(TRUE != FALSE) You get the idea. So what does this obscenity buy you? while(1) - semantics are only unclear if you don't know the language syntax is obviously correct FOREVER - semantics are questionable syntax needs to be verified I spend hours per week searching through '.h' files trying to find bugs that are directly or indirectly caused by such macro abuse. I wish people would learn the language rather than redefine it. Regards, George Varndell - -- PPC and XScale Expertise Varndell Engineering, LLC. GBIT END drivers available now. http://www.varndellengineering.com ______________________________________________________________________________ Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net --------------------------- Newsgroups: comp.os.vxworks Subject: Re: semaphore question Date: 19 Nov 2001 11:31:53 GMT From: Johan Borkhuis Organization: Agere Systems Message-ID: References: <3e255a7a.0111180019.409b845c@posting.google.com> <3bf790db$0$11209$4c41069e@reader0.ash.ops.us.uu.net> "Gary M" wrote: > 1. No. That's your responsibility. Never assume that the OS will clean > up your mess. > 2. Actually, that is the expected output given a single semaphore > synchronizing two tasks at the same priority. When task1 gives the > semaphore, it will not cause task2 to run, and task1 will reenter the > for-loop and reclaim the semaphore again. The correct implementation > requires two binary semaphores, sem1 and sem2. sem1 would be created > full, sem2 as empty. task1 would take sem1, do its work, and give sem2. > task2 would take sem2, do its work, and give sem1. This method > guarantees alternating execution of the tasks irregardless of their > priorities. There is another way to do this: add a taskDelay(0) after the semGive. This will force the current task at the end of the ready queue, and allows the other task to run. 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 Mon Nov 19 20:53:46 2001 From: Jitendra kanitkar Date: Mon Nov 19 20:53:48 PST 2001 Subject: Dummy n/w interface.(TUN/TAP) > vxWorks Greetings, > Sorry to put the question again on the list, but still I have not received anything in reply, if there is no complete answer then some directions also will do. > I wanted to know, is there any s/w network interface available in vxWorks. > Something like TUN/TAP in Linux. ( Instead of sending the packet on to h/w > interface TUN/TAP gives it to user space program in Linux). > What I want, is to have a dummy device which I may(/may not) start in > runtime. Can I creat a dummy ethernet interface in vxWorks? > If it is not directly available is there any way out for this? > (We have vxworks 5.4) > > Thanks in advance, > Jitendra. > From vxwexplo-errs@csg.lbl.gov Tue Nov 20 02:14:54 2001 From: "David P Hidalgo" Date: Tue Nov 20 02:14:56 PST 2001 Subject: vxMemProbe and cPCI bridge Hello, VxWorks people. Now, I would like to know if the vxMemProbe function works correctly in a cPCI environment. Is there another way to detect a bus error in a cPCI architecture? Also I´m looking for a cPCI-to-cPCI bridge that let me expand my eight slots rack. In my configuration there will be only a CPU, so I do not need any intelligence from the board, simply a connection. Does anybody know a board like that? ------------------------------------- -- David P. Hidalgo -- mailto:dphidalg@crisa.es -- Tfn: 918068713 -- CRISA - www.crisa.es ------------------------------------- From vxwexplo-errs@csg.lbl.gov Tue Nov 20 03:27:43 2001 From: Michael.Ben-Ari@celtro.com Date: Tue Nov 20 03:27:45 PST 2001 Subject: vxWorks, tNetTask, & Sniffers We have an inhouse "if" driver for internal IP communications, and we are looking for tools other the standard xxShow routines that can give us statistics of packets that are being forwarded via our "internal" interface. 1. Are there any statistics related to tNetTask that we have access to other then via various the xxShow routines? 2. Are there any sniffers that we can either upload captured data from the terminal or that we can use to attach to tNetTask to do sniffing from internal IP addresses that are NOT ethernet etc ? 3. Any other solutions? Thanks, -Mike ----------------------------------------------- Mike Ben-Ari Celtro - Cellular BU of NGTS ECI Telecom Ltd. Mail: mbenari@celtro.com Tel: +972-3-926-6794 Fax: +972-3-926-6460 ----------------------------------------------- From vxwexplo-errs@csg.lbl.gov Tue Nov 20 04:03:18 2001 From: Vxworks Exploder Date: Tue Nov 20 04:03:21 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Tue Nov 20 04:03:14 PST 2001 Subject: File creation in vxworks Subject: The network stack locks completely solid Subject: Help required to create dos file system on hard disk. Subject: Re: The network stack locks completely solid Subject: Re: test test Subject: Re: File creation in vxworks Subject: printf and task stack Subject: Re: Address Question Subject: VxWorks Dump format Subject: Re: Options for Assembler and Listings Subject: Re: Help required to create dos file system on hard disk. Subject: Re: The network stack locks completely solid Subject: DosFS Questions Subject: Re: clock corruption Subject: Re: logMsg side-effects Subject: Re: Strange function behaviour Subject: Re: Cygwin GDB Users ? Subject: Re: what is the meaning of FOREVER? Subject: Re: a compilation of this main() function calls "__eabi." Subject: Re: Problem using taskSpawn in C++ Subject: Re: what is the meaning of FOREVER? Subject: Re: Setting the tick clock rate Subject: intLock() question... Subject: Re: Help required to create dos file system on hard disk. Subject: Re: The network stack locks completely solid Subject: what's the real size of image Subject: Re: intLock() question... Subject: Re: Options for Assembler and Listings Subject: why flag can't gaurantee mutual exclusion? Subject: Re: intLock() question... Subject: Re: what's the real size of image Subject: Re: why flag can't gaurantee mutual exclusion? Subject: Re: Options for Assembler and Listings Subject: [Q] Interface information Subject: Re: intLock() question... Subject: PSO stack on IBM Walnut (PowerPC) Subject: Re: what's the real size of image Subject: Re: intLock() question... Subject: Re: why flag can't gaurantee mutual exclusion? Subject: Re: intLock() question... Subject: Re: intLock() question... Subject: Text, Bss & Data sizes ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: File creation in vxworks Date: 19 Nov 2001 04:53:53 -0800 From: veera_sangeetha@bla.satyam.com (sangeetha) Organization: http://groups.google.com/ Message-ID: Hi, I am unable to create a file using creat function in Vxworks. Can anybody please send me some sample program and the settings to do in VxWorks for file creation. Rgds, sangeetha --------------------------- Newsgroups: comp.os.vxworks Subject: The network stack locks completely solid Date: Mon, 19 Nov 2001 13:18:49 GMT From: "Chun tae young" Organization: Dacom Message-ID: Hello everyone.. We are facing a problem of network stack hangs. We have several server target boards (MVME162P-242E, MC68040) running in vxWorks5.4 using END(Enhanced Network Driver) and several Clients (workstation) on Networks. Both servers and clients are communicate using UDP/IP (Broadcast, unicast). After some days(3 ~ 7 days) , a target board don't send or receive any packet. At that situation, at Client, We send PING that target board but No Response. In particularly, on shell-task (vxWorks support) in that target board, we send PING other node but the shell task go dead-lock,so i can't any more. In the result, I push the reset switch on board. I don't Know why it is happend. Thanks, tae young --------------------------- Newsgroups: comp.os.vxworks Subject: Help required to create dos file system on hard disk. Date: 19 Nov 2001 05:30:08 -0800 From: kamala.kodi@wipro.com (Kamala) Organization: http://groups.google.com/ Message-ID: <27203e86.0111190530.1687ced1@posting.google.com> Hi, Iam trying to create DOS file system on PCPentium target hard disk( Seagate hard disk ST32122A, 2GB), which is already formated for dos file system. Iam including ATA hard disk driver (IDE driver not supported) & doing following steps. 1.Creating device for ATA disk using ataDevCreate() call. ataDevCreate(0, 0, 0, 0); 2.Initialize dosFs volume configuration structure using dosFsConfigInit() call. dosFsConfigInit(&pConfig,63,1,2,256,112,0,0); 3.Initialize dos FS system using dosFsDevInit(). DosFSInit = dosFsDevInit("/hd0/", HardDisk, &pConfig); after this when i give 'devs' command from shell prompt, /hd0/ is getting listed. But when i change the directory i.e cd "/hd0/", it's failing. Also if i try creat any file, it's not creating any file on hard disk. Pls. help me. thanks & regards, kamala --------------------------- Newsgroups: comp.os.vxworks Subject: Re: The network stack locks completely solid Date: Mon, 19 Nov 2001 09:12:20 -0500 From: George Varndell Organization: Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net Message-ID: <3BF91344.53A0224E@varndellengineering.com> References: Chun tae young wrote: > > Hello everyone.. > > We are facing a problem of network stack hangs. > We have several server target boards (MVME162P-242E, MC68040) running in > vxWorks5.4 using END(Enhanced Network Driver) and several Clients > (workstation) on Networks. > Both servers and clients are communicate using UDP/IP (Broadcast, unicast). > After some days(3 ~ 7 days) , a target board don't send or receive any > packet. > At that situation, at Client, We send PING that target board but No > Response. > In particularly, on shell-task (vxWorks support) in that target board, we > send PING other node but the shell task go dead-lock,so i can't any more. In > the result, I push the reset switch on board. Hi, I tried replying to your email address, but it bounced. You should first contact WindRiver to see if they have a newer version of the END driver for the 82596. If you cannot get satisfactory help from WindRiver, please contact us about providing you with a reliable, product-worthy, END driver. Regards, George Varndell - -- PPC and XScale Expertise Varndell Engineering, LLC. GBIT END drivers available now. http://www.varndellengineering.com ______________________________________________________________________________ Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net --------------------------- Newsgroups: comp.os.vxworks Subject: Re: test test Date: Mon, 19 Nov 2001 09:43:36 -0500 From: ted Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: <3BF91A98.ABFD025E@nthwave.com> References: <3BF91A75.30684700@nthwave.com> Sender: bhagu@optonline.net try somewhere else ted wrote: > test --------------------------- Newsgroups: comp.os.vxworks Subject: Re: File creation in vxworks Date: Mon, 19 Nov 2001 15:33:21 +0100 From: "Werner Schiendl" Message-ID: <3bf918f6@brateggebdc5.br-automation.co.at> References: Hi, what is your exact problem? Where do you want to create the file, which are the return values and error codes. I can use creat as in the following example even in WindSh (the Tornado shell) - -> fdw = creat("/ata0a/dummy", 1) /* 1 = O_WRONLY */ new symbol "fdw" added to symbol table. fdw = 0x9e9198: value = 10 = 0xa - -> fdprintf(fdw, "Hello, file!\n") value = 13 = 0xd - -> close(fdw) value = 0 = 0x0 - -> fdr=open("/ata0a/dummy", 0) /* 0 = O_RDONLY */ new symbol "fdr" added to symbol table. fdr = 0x9e9170: value = 10 = 0xa - -> bufx=malloc(100) new symbol "bufx" added to symbol table. bufx = 0x9e9168: value = 132679280 = 0x7e88670 - -> read(fdr,bufx,100) value = 13 = 0xd - -> printf bufx Hello, file! 5èvalue = 16 = 0x10 - -> d bufx 07e88670: 6548 6c6c 2c6f 6620 6c69 2165 350a 07e8 *Hello, file!.5..* 07e88680: 0000 0000 0000 0000 0000 0000 0009 0000 *................* 07e88690: 0009 0000 0002 0000 0000 0000 0000 0000 *................* 07e886a0: 0000 0000 0000 0000 0000 0000 0000 0000 *................* 07e886b0: 0000 0000 0000 0000 0000 0000 0000 0000 *................* 07e886c0: 0000 0000 0000 0000 0000 0000 0000 0000 *................* 07e886d0: 0000 0000 8668 07e8 000e 0000 da9c 001f *....h...........* 07e886e0: 86ec 07e8 9170 009e 0000 0709 6466 0072 *....p.......fdr.* 07e886f0: 86d4 07e8 000c 0000 612f 6174 6130 642f *......../ata0a/d* 07e88700: 6d75 796d 0000 0000 86f0 07e8 000e 0000 *ummy............* 07e88710: f8fc 001f 8720 07e8 9198 009e 0000 0009 *.... ...........* 07e88720: 6466 0077 8708 07e8 0044 8000 35bc 07e8 *fdw.....D....5..* 07e88730: 0000 0000 8724 07e8 001c 0000 0055 0000 *....$.......U...* 07e88740: 0000 0000 8724 07e8 8724 07e8 0032 0000 *....$...$...2...* 07e88750: 5334 0020 5334 0020 0000 0000 1eb4 0016 *4S .4S .........* 07e88760: 1e94 0016 8750 07e8 2de0 07e8 0000 0000 *....P....-......* value = 0 = 0x0 - -> The example creates a file named dummy on my harddrive, which has the device name /ata0a. To create files on NFS driver, you should probably use open with option O_CREAT, which allows you to pass chmod style access rights masks. hth Werner "sangeetha" wrote in message news:ceb8c35d.0111190453.5a3894de@posting.google.com... > Hi, > > I am unable to create a file using creat function in Vxworks. > Can anybody please send me some sample program and the settings > to do in VxWorks for file creation. > > Rgds, > sangeetha --------------------------- Newsgroups: comp.os.vxworks Subject: printf and task stack Date: Mon, 19 Nov 2001 09:50:37 -0500 From: ted Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: <3BF91C3D.388A2D21@nthwave.com> Sender: bhagu@optonline.net folks, According to section3.5.3 of vxworks programmer's guide - "using the current task's stack for message formatting takes up significant stack space". Does this statement imply using printf for standard output to console takes up significant stack space? I observe the target shell and telnet daemon crash when too may printfs (with taskDelay in between printfs) is used to dump output to console. Will redirecting the task output to a file with ioTaskStdSet/ioGlobalStdSet be more useful and efficient to dump debug printfs? Thank you for any help. ted. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Address Question Date: 19 Nov 2001 10:18:39 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: Sender: bpringlemeir@DeadDuck >>>>> "Young" == Young writes: Young> I have to know the Address for Text, Data and Bss Region of Young> VxWorks Image. moduleShow() Function just display those Young> Regions, but I can't Use Those Values. Young> Does Anyone Know the method to Get and Use the Address for Young> Text, Data and Bss Region of VxWorks? Please read your manual. Look under the vxWorks Reference manual. It is on your hard drive; something like, "file:///C|/Tornado/docs/vxworks/ref/moduleLib.html" The specific library you want to look at is moduleLib, which has a corresponding in the vxWorks directory. Amazing isn't it! hth, Bill Pringlemeir. - -- Ten-inchers are fun, right? Furthermore, you peasant, every unpleasant person is a DAF driver. vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html" --------------------------- Newsgroups: comp.os.vxworks Subject: VxWorks Dump format Date: Mon, 19 Nov 2001 16:59:54 +0100 From: Sylvain Goletto Organization: Air France Message-ID: <3bf92c91$0$32591$626a54ce@news.free.fr> Hello, Does any body knows where I can find the format used in the 'dump' command used to dump file system to an SCSI tape. All a know is that there is two partitions: partition 0 for the data files and partition 1 for the directory. The partition 0 is simple. But Partitions 1 is a file describing the directory and versions of files in partition 0. The reason for this question is that I need to read/write tapes for My WxWorks box on a Linux/Unix and/or NT workstation. In an Unix environement, I can easily read the tape made whith the 'dump' command but I can't write a tape readable by the VxWork box as I can't make this directory partition. So I would like to know if : - somebody knows about the directory format of partition 0, - there is the sources of the dump programm available some where - can I use some kind of tar instead of this dump/restore, - there is any other info/solution to help me Thanks --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Options for Assembler and Listings Date: 19 Nov 2001 08:08:25 -0800 From: cpotenza@onetel.net.uk (Claudio Potenza) Organization: http://groups.google.com/ Message-ID: <2025ac82.0111190808.6fa04b69@posting.google.com> References: <3BF53644.DF23EA4C@siemenscomms.co.uk> <3BF53F74.9B3C0101@siemenscomms.co.uk> > > However the gnu objdump utility can disassemble and include source > > (objdump -S) as long as the binary has debug symbols. > > Sounded good tried it....it dissassembled the file but didn't give me > a mixed listing. As others have said, first verify that you are compiling with -g. Then you must have the sources for the object you are "odump"-ing and they must be in the same position in the file system as they were when the object has been compiled. In fact the object itself does not contain the lines of "C". It just contains the path to the source file and the line number in it corresponding to the assembly. So "odump" needs the source to print the "C" line itself. Then, there could be a platform problem: I use the vxWorks GNU toolchain for PPC both for Unix and NT. When I compile in Unix, "objdumpppc -S " gives me the mixed listing without problems. But When I compile under NT, it seems that the compiler embeds incorrectly the path for the source file in the object so that "odump" cannot find it. BUT you can do: odump -l -S and you will get the info of which line number corresponds to the assembly (not as good as the "C" line itself but useable... --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Help required to create dos file system on hard disk. Date: Mon, 19 Nov 2001 17:16:38 +0100 From: "Michael Lawnick" Organization: Buergernetz Dillingen Message-ID: <9tbb97$4kt$1@snoopy.bndlg.de> References: <27203e86.0111190530.1687ced1@posting.google.com> Reply-To: "Michael Lawnick" Sender: mlawnick@pd9524b72.dip.t-dialin.net Hi, did you try from host-shell ? Do it from target shell (serial / local keyboard) or from host-shell use - ->@cd "/hd0" - ->@ls HTH - -- Mit freundlichen Grüßen, Michael Lawnick ============================================== SOFTEC GmbH Tel +49-731-96600-0 Promenade 17 Fax +49-731-96600-23 D-89073 Ulm Michael Lawnick Germany lawnick@softec.de ============================================== "Kamala" schrieb im Newsbeitrag news:27203e86.0111190530.1687ced1@posting.google.com... > Hi, > > Iam trying to create DOS file system on PCPentium target hard disk( > Seagate hard disk ST32122A, 2GB), which is already formated for dos > file system. > > Iam including ATA hard disk driver (IDE driver not supported) & doing > following steps. > > 1.Creating device for ATA disk using ataDevCreate() call. > ataDevCreate(0, 0, 0, 0); > > 2.Initialize dosFs volume configuration structure using > dosFsConfigInit() call. > dosFsConfigInit(&pConfig,63,1,2,256,112,0,0); > > 3.Initialize dos FS system using dosFsDevInit(). > DosFSInit = dosFsDevInit("/hd0/", HardDisk, &pConfig); > > after this when i give 'devs' command from shell prompt, /hd0/ is > getting listed. But when i change the directory i.e cd "/hd0/", it's > failing. > > Also if i try creat any file, it's not creating any file on hard disk. > > Pls. help me. > > thanks & regards, > kamala --------------------------- Newsgroups: comp.os.vxworks Subject: Re: The network stack locks completely solid Date: Mon, 19 Nov 2001 09:05:09 -0800 From: Lori Fraleigh Organization: Real-Time Innovations Message-ID: <3BF93BC5.A8FE355A@rti.com> References: If you run out of memory for your network driver, you can completely hang the stack. See SPR #27790 and ask your Wind River contact when they plan to have a fix. Regards, Lori Chun tae young wrote: > > Hello everyone.. > > We are facing a problem of network stack hangs. > We have several server target boards (MVME162P-242E, MC68040) running in > vxWorks5.4 using END(Enhanced Network Driver) and several Clients > (workstation) on Networks. > Both servers and clients are communicate using UDP/IP (Broadcast, unicast). > After some days(3 ~ 7 days) , a target board don't send or receive any > packet. > At that situation, at Client, We send PING that target board but No > Response. > In particularly, on shell-task (vxWorks support) in that target board, we > send PING other node but the shell task go dead-lock,so i can't any more. In > the result, I push the reset switch on board. > > I don't Know why it is happend. > > Thanks, > > tae young - -- Lori Fraleigh Director of Engineering Real-Time Innovations, Inc. http://www.rti.com Phone: 408-734-4200 x121 Fax: 408-734-5009 --------------------------- Newsgroups: comp.os.vxworks Subject: DosFS Questions Date: 19 Nov 2001 10:23:05 -0800 From: andy.moskoff@strixsys.com (Andy) Organization: http://groups.google.com/ Message-ID: Hi, 1. What exactly must I do in order to use the DosFS?? I understand that dosFsInit() must be called, but is there anything else??? I want to move and copy files. 2. Related to the first question, how does one copy and move files??? It seems as if I have to use open/read/write/close methodology instead of a simple "system" call. Is this true???? Andy --------------------------- Newsgroups: comp.os.vxworks Subject: Re: clock corruption Date: Mon, 19 Nov 2001 18:26:18 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: <6dcK7.14$kI3.6363@newsr2.u-net.net> References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <3BEBA352.9D414CFE@icn.siemens.de> <_ZUG7.17$4k.29463@newsr2.u-net.net> <9bcputs8rv0pmdf3fnrvj42ap32ivcv8nf@4ax.com> <7iaqutgnmf5s9j39tfobmj8r0j9afa7heu@4ax.com> <9soara$k29$1@uranium.btinternet.com> <3BF139D5.BDCEA769@hotmail.com> Ephraim Gadsby wrote in message ... >On Tue, 13 Nov 2001 16:18:45 +0100, Martin Alle < >m@hotmail.com> wrote: > >> >>We applied a small hack using the following script command: >> >>(short)*(clock_gettime+0x62)=(short)&vxAbsTicks >> >> >>which replaces vxTicks with vxAbsTicks in the downloaded vxWorks image. >> >> >>**** And this fixed our problem **** > > > >Presumably though you still have some code giving an incorrect tick >value to a vxWorks call. Otherwise vxTicks would only jump once after >each 16 months of uptime. Look, god only knows *why* the OS zeros vxTicks, but it does, and it does it a lot more often than every 16 months, and this is a real bug and this is the right solution for it and I'm sorry I just can't explain it any better than that, and if you still don't believe any of us who've seen this bug then set a low priority background task running that printf's vxTicks every second or so on a ppc board and then try doing some serious activity such as loading a meg in a single read from a SCSI disk and *see* *for* *yourself* that vxTicks gets set to zero. Really. It does. *I've* done this experiment and I'm speaking from empirical knowledge rather than any armchair reasoning about it. Honest! And if you want an even more convincing test, suspend the scsi task before your app issues that 1 meg read, then let your app run until it reaches the read command (it will pend), then suspend every other task in the system except the shell and network task, then suspend your app (it's pended but let's be sure, eh?), then check the value of vxTicks at the command shell, then unsuspend the scsi task, then re-check the value of vxTicks and see how it has been set back down to zero and started counting again. I've done that one too. And for a further experiment, make your background task print out both vxTicks and the value of clock_gettime, and see how once vxTicks gets back to the value it had when you init'ed the clock, the clock suddenly starts returning sensible values again. I've done that one *too*. And it was doing those three experiments that gave me the notion what was going on, and prompted me to disassemble the clock_gettime call and see how it worked, and you could do that one for yourself. You don't have to take anyone's word for it, you can verify that this happens for yourself. DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: logMsg side-effects Date: Mon, 19 Nov 2001 18:28:21 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: <7dcK7.15$kI3.6363@newsr2.u-net.net> References: <65b2abfc.0111091037.7e8ad439@posting.google.com> <3bf1c961$0$4330$4c41069e@reader1.ash.ops.us.uu.net> <3bf3d319$1@brateggebdc5.br-automation.co.at> <488e459a.0111151138.72d9207f@posting.google.com> >"Werner Schiendl" wrote in message news:<3bf3d319$1@brateggebdc5.br-automation.co.at>... >> Hi, >> >> are you sure about this? >> Couldn't a function use >> >> intContext( ) Return TRUE if called from interrupt level. John wrote in message <488e459a.0111151138.72d9207f@posting.google.com>... >Hello, > >Indeed, Werner's comment is accurate. It is important to note the Yeh, of course it could. How silly of me to not think of it :) DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Strange function behaviour Date: Mon, 19 Nov 2001 18:35:32 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: <7dcK7.16$kI3.6363@newsr2.u-net.net> References: <3beff29e$1@brateggebdc5.br-automation.co.at> Frank Klemm wrote in message ... >On Wed, 14 Nov 2001 10:59:10 -0000, Dave Korn wrote: >> But you shouldn't try and call the "main" function from vxworks, as >> compilers put secret compiler magic stuff into the beginning of functions >> called "main", and this stuff will not work correctly on vxworks. >> >What is that for stuff? First I know is that main() always uses C-Linking, >never C++ linking. Seconds is that main() can align the stack. Exception handling. Static constructor and destructor calls. For further info, refer to the compiler's source code (where available!) >> Also in regard to the strange behaviour of your system: are you testing >>this function from the command shell? That runs at the highest priority in >>the system, so as soon as it reaches that busy-wait loop, every other task >>will be locked out including the network! Does it work properly if you >>spawn it using the 'sp' command instead of executing the function name >>directly ? >> >Thank you for your help. The Network connection is very fragile. >Doing more than 10 ms of busy loop drops all network connection forever. >A > taskPrioritySet ( 0, 51 ); > >solves the problem. Yes, the shell is initialised to priority 1 by default, which is good in some ways - it means it can always get cpu time to respond to you no matter what goes on in the rest of the system - but is also a hazard, as your command lines can steal all cpu from everything else if they busy loop! Generally I think lowering the priority of the shell task is a good fix to keep you safe from this danger. DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Cygwin GDB Users ? Date: Mon, 19 Nov 2001 18:39:06 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <679c25ff.0111161023.422de97c@posting.google.com> David Ward wrote in message <679c25ff.0111161023.422de97c@posting.google.com>... >Now that I appear to have the source for the ancient WRS-hacked GDB >(the one that uses WTX), I was thinking of trying to build it for >Cygwin. Has anyone gone down this path ? > >Of course I'd rather use GDB 5 but there is no WTX there, and it's >unclear >if the old WDB/RPC interface is still supported in the vxworks target >- anyone know ? > >Thank you, >Dave Ward What a coincidence! I just finally managed to get my hands on that source as well. I know for an absolute fact that the WDB stuff is dead and buried, so my plan was to port over the module that interfaces the gdb internal monitor protocol to the targetserver API into the GDB5/insight combination. I don't however have any kind of idea when I might or might not have time to do it though. DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: what is the meaning of FOREVER? Date: Mon, 19 Nov 2001 18:40:14 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <9ta9o5$4m2$1@mail.cn99.com> <3BF8EBD6.2F6586A8@varndellengineering.com> George Varndell wrote in message <3BF8EBD6.2F6586A8@varndellengineering.com>... >zhaoyandong wrote: >> >> what is the definition of FOREVER? > >#define FOREVER while(1) > or >#define FOREVER for(;;) > or >#define FOREVER while(TRUE == TRUE) > or >#define FOREVER while(TRUE != FALSE) > >You get the idea. So what does this obscenity buy you? > >while(1) - semantics are only unclear if you don't know the language > syntax is obviously correct > >FOREVER - semantics are questionable > syntax needs to be verified > >I spend hours per week searching through '.h' files trying to find >bugs that are directly or indirectly caused by such macro abuse. >I wish people would learn the language rather than redefine it. If you liked that, you'll love #define BEGIN { #define END } ...and other classics of obfuscated programming, coming soon to a header file near you! DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: a compilation of this main() function calls "__eabi." Date: Mon, 19 Nov 2001 18:42:12 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <9t4mtt$cpo$1@news.asu.edu> <3bf69851$0$7976$724ebb72@reader2.ash.ops.us.uu.net> Gary M wrote in message <3bf69851$0$7976$724ebb72@reader2.ash.ops.us.uu.net>... >Defining a function "main" causes some compilers to generate code to support >the environment. I'm not that familiar with the GNU infrastructure for PPC, >but it looks like the call to __eabi has something to do with extended >relocations. Nope, static object constructors, just FYI. DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Problem using taskSpawn in C++ Date: Mon, 19 Nov 2001 18:46:55 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <9915878f.0111151015.7ef9b0ea@posting.google.com> <4ql2t9.b34.ln@svr004.rohill.nl> Geurt Vos wrote in message <4ql2t9.b34.ln@svr004.rohill.nl>... > >> Use of the new(ish) C++ casting operators is well recommended. In this >case >> you need reinterpret_cast<>() - this is the most dangerous of them, and >> allows casts of anything to anything else. >> > >Almost. That is, with reinterpret_cast it is (at least) not allowed to to >cast >between pointers to functions and pointers to objects. GCC 2.7.2 did >allow this, but now the newer one (2.9x) correctly coughs up an error... >[ANSI C++ forbids casting between pointers to functions and objects] > >Example: > >void F() { } > >int main() >{ > void *p = reinterpret_cast(F); >} > > >So if you have to call some function, where a pointer to function must >be passed as pointer to objects (usually as void*), either change the >API or use a C-style cast (unsure whether it should work, all I know >is that it _does_ work): I believe that should be fine. If you want to be really sure about it, just make sure that all the functions you need to spawn are extern "C". That defeats the C++ typechecking, because there's no mangled name for it to check the signature. Of course you have to take great care to give them the right args in that case... DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: what is the meaning of FOREVER? Date: Mon, 19 Nov 2001 11:34:59 -0800 From: Stephane Tiriac Organization: Alcatel USA, Inc. Message-ID: <3BF95EE3.B17F28FF@alcatel.com> References: <9ta9o5$4m2$1@mail.cn99.com> <3BF8EBD6.2F6586A8@varndellengineering.com> George Varndell wrote: > I spend hours per week searching through '.h' files trying to find > bugs that are directly or indirectly caused by such macro abuse. > I wish people would learn the language rather than redefine it. I agree 100% with George. There is an incredible source for frustration and time wasting. I even saw a guy spending hours trying to understand his own macros in his previously written programs! One pearl I found in flbase.h: #define vol (*pVol) allows you to write functions calls like: FLStatus flwAmdMTDIdentify (FLFlash vol) { ... vol.interleaving = 2; ... and gives you the illusion to work with values not references. The beauty is the symbolic debuggers are totaly lost with such a code. And what about the poor guy struggling to maintain. /stephane. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Setting the tick clock rate Date: Mon, 19 Nov 2001 19:53:41 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9tbnst$8l8$1@uranium.btinternet.com> References: <3bf8a08a$0$226@hades.is.co.za> <9taer9$gl9$1@snoopy.bndlg.de> > Did you use sysClkRateSet(1000) ? Followed by clock_setres( CLOCK_REALTIME, ... ). Check that your BSPs timer code supports other resolutions... There are also some vxWorks device drivers that assume the tick is about 60-100Hz. I ended up using: wdStart( x, sysClkRateGet()/64u + 1, ... ) to get a short delay which is reasonably clock rate independant - and cheap to calculate - when testing with fast clok rates. Also there are bugs lurking which stop high clock rates from working. The first I know of is in select() which breaks for rates above 2147 (when pTimeOut.tv_usec * sysClkRateGet() < 0, the signed multiply makes the effect of the overflow particularly horrid :-) David --------------------------- Newsgroups: comp.os.vxworks Subject: intLock() question... Date: Mon, 19 Nov 2001 14:50:02 -0600 From: PC User Organization: ExecPC Internet - Milwaukee, WI Message-ID: <3bf9721a$0$30970$272ea4a1@news.execpc.com> Hi Folks, I am having problems with locking interrupts. I am doing this on a power PC architecture. I created a watchdog timer to go off every 3 seconds. Then I wrote a code to lock task and then lock interrups. The task locking works fine, but the interrupt locking does not seem to work since the watchdog timer still goes off during a long print loop that takes more than 3 seconds. I even tested this with an external serial I/O interrupt and still does not work. Can you tell me what the trick is. Here is a copy of my code in case you wonder what I am doing. Thanks. #include "vxWorks.h" #include "taskLib.h" #include "semLib.h" #include "stdio.h" #include "stdlib.h" #include "wdlib.h" #include "time.h" /* Globals */ int taskId1; int taskId2; SEM_ID semCounting; SEM_ID semBinary; WDOG_ID wdID; /* Function Prototypes */ void taskNum1 ( void ); void taskNum2 ( void ); void wdISR ( void ); void Case_7 (void) { int taskCount = 0; int sts; /* Create a watchdog */ if ( ( wdID = wdCreate() ) == NULL) { printf ( "Error in creating watchdog\n" ); return; } /* Set the timer to go off after 10 seconds */ if ( wdStart ( wdID, sysClkRateGet() * 3, (FUNCPTR) wdISR, 0 ) == ERROR ) { printf ( "Error in starting the watchdog timer\n" ); return; } /* Create a binary semaphore with semaphore available and queue tasks on FIFO basis */ if ( ( semBinary = semBCreate ( SEM_Q_FIFO, SEM_FULL)) == NULL ) { printf ( "Error in Creating Binary Semaphore\n"); return; } else { printf ( "Success in Creating Binary Semaphore\n"); } /* Lock the semaphore for scheduling purposes */ semTake ( semBinary, WAIT_FOREVER ); /* spawn the 2 tasks starting with the highest priority task */ if ( taskId1 = taskSpawn ( "t1", 110, 0x100, 2000, (FUNCPTR) taskNum1,0,0,0,0,0,0,0,0,0,0 ) == ERROR ) { printf ( "Error in spawning taskNum1\n" ); return; } if ( taskId2 = taskSpawn ( "t2", 100, 0x100, 2000, (FUNCPTR) taskNum2,0,0,0,0,0,0,0,0,0,0 ) == ERROR ) { printf ( "Error in spawning taskNum2\n" ); return; } } void taskNum1 ( void ) { static int i = 0, j = 0, lock; for ( j = 0; j < 3; j++ ) { /* wait indefinitely for semaphore */ semTake ( semBinary, WAIT_FOREVER ); /* Adding a critical section that would prevent the higher priority task to run until the locking task leaves the critical region */ if ( taskLock () == OK ) { lock = intLock (); /* A premitive delay to cause the wd to time out */ /* A test to see if intLock() works. The ISR should not go off */ for ( i = 0; i < 100; i++) { printf ( "taskNum1 Running in critical region\n" ); } /* This delay would prove that no matter how long, VxWorks will not permit any other tasks to run until execution is out of this critical region. This is compared to the use of task delay in task two which VxWorks would automatically schedules task one to start running after a certain amount of delay. So for each task delay call in taskNum2, taskNum1 gets to run also based on VxWorks priority and internal schedulings. */ /*taskDelay ( 20 * sysClkRateGet()); */ intUnlock (lock); taskUnlock (); } /* give up semaphore so the next task can run */ semGive ( semBinary ); } } void taskNum2 ( void ) { static int i = 0, j = 0; semGive ( semBinary ); for ( j = 0; j < 3; j++ ) { /* wait indefinitely for semaphore */ semTake ( semBinary, WAIT_FOREVER ); for ( i = 0; i < 2; i++) { printf ( "taskNum2 Running\n" ); } /* A delay to exercise for the binary semaphore scheduling capability where without it, each task will run untill finished based on their priorities sequentially. */ taskDelay ( 2 * sysClkRateGet() ); /* give up semaphore so the other task can run */ semGive ( semBinary ); } } /* This routine goes off every 3 seconds */ void wdISR ( void ) { printf ( "The watchdog timer expired after 3 seconds\n" ); /* Re-start timer to go off after 10 seconds */ if ( wdStart ( wdID, sysClkRateGet() * 3, (FUNCPTR) wdISR, 0 ) == ERROR ) { printf ( "Error in starting the watchdog timer in wdISR\n" ); } } --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Help required to create dos file system on hard disk. Date: Mon, 19 Nov 2001 21:49:03 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9tbul7$odf$1@plutonium.btinternet.com> References: <27203e86.0111190530.1687ced1@posting.google.com> <9tbb97$4kt$1@snoopy.bndlg.de> > ->@cd "/hd0" > ->@ls or maybe even: - -> @cd "/hd0/." not sure about "cd" - 'tis hopeless since it isn't an inherited task property.... - but "ls" doesn't like being given the root name of a filesystem. Probably to do with a driver open() routine not treating the null pointer the same as the null string....... David --------------------------- Newsgroups: comp.os.vxworks Subject: Re: The network stack locks completely solid Date: Mon, 19 Nov 2001 21:55:24 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9tbv23$mbm$1@neptunium.btinternet.com> References: > We are facing a problem of network stack hangs. > We have several server target boards (MVME162P-242E, MC68040) running in > vxWorks5.4 using END(Enhanced Network Driver) and several Clients > (workstation) on Networks. > Both servers and clients are communicate using UDP/IP (Broadcast, unicast). > After some days(3 ~ 7 days) , a target board don't send or receive any > packet. > At that situation, at Client, We send PING that target board but No > Response. > In particularly, on shell-task (vxWorks support) in that target board, we > send PING other node but the shell task go dead-lock,so i can't any more. In > the result, I push the reset switch on board. 1) if you spawn 'ping' as a separate task you'll be able to do further diagnostics...... (-> sp ping,,5) 2) look at the buffer counts netStackDataPoolShow() and netStacksysPoolShow() and netPoolShow( ) (PS: can someone at WRS strip out the lines where the counts are 0 so these don't wrap off the screen) If you are out of buffers somewhere, look for the buffer loss bug... 3) look for a bug in your network driver...... 4) are these old AMD 'lance' parts? the NMOS lance ca go 'deaf' David --------------------------- Newsgroups: comp.os.vxworks Subject: what's the real size of image Date: 19 Nov 2001 17:27:10 -0800 From: kevinatnj@yahoo.com.cn (kewin) Organization: http://groups.google.com/ Message-ID: <221caa76.0111191727.38575389@posting.google.com> hi all When build my vxWorks image,the builder show like this: "vxWorks: 626396(t) + 30716(d) + 22704(b) = 679816 (1351800 unused)" .I think the "679816" means the size of this image.But in Windows Explorer the vxWorks image'size is 1.34M.Will anybody tell me what the differece is between them and the the real which is the real size of this image. thanks kevin --------------------------- Newsgroups: comp.os.vxworks Subject: Re: intLock() question... Date: Mon, 19 Nov 2001 17:38:44 -0800 From: "Gary M" Message-ID: <3bf9b42e$0$10751$4c41069e@reader1.ash.ops.us.uu.net> References: <3bf9721a$0$30970$272ea4a1@news.execpc.com> Reply-To: "Gary M" If you had carefully read the documentation for wdLib, the watchdog timer library, you would have seen the following: "Note that the timeout routine is invoked at interrupt level, rather than in the context of the task. Thus, there are restrictions on what the routine may do. Watchdog routines are constrained to the same rules as interrupt service routines. For example, they may not take semaphores, issue other calls that may block, or use I/O system routines like printf( )." "PC User" wrote in message news:3bf9721a$0$30970$272ea4a1@news.execpc.com... > Hi Folks, > > I am having problems with locking interrupts. I am doing this on a > power PC architecture. I created a watchdog timer to go off every 3 > seconds. Then I wrote a code to lock task and then lock interrups. The > task locking works fine, but the interrupt locking does not seem to work > since the watchdog timer still goes off during a long print loop that > takes more than 3 seconds. > > (snip) > > /* This routine goes off every 3 seconds */ > void wdISR ( void ) > { > printf ( "The watchdog timer expired after 3 seconds\n" ); > > /* Re-start timer to go off after 10 seconds */ > if ( wdStart ( wdID, sysClkRateGet() * 3, (FUNCPTR) wdISR, 0 ) == > ERROR ) > { > printf ( "Error in starting the watchdog timer in wdISR\n" ); > } > } > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Options for Assembler and Listings Date: Tue, 20 Nov 2001 04:00:30 GMT From: pkockritz@home.com (Pete Kockritz) Organization: Excite@Home - The Leader in Broadband http://home.com/faster Message-ID: References: <3BF53644.DF23EA4C@siemenscomms.co.uk> <3BF53F74.9B3C0101@siemenscomms.co.uk> <2025ac82.0111190808.6fa04b69@posting.google.com> In article <2025ac82.0111190808.6fa04b69@posting.google.com>, cpotenza@onetel.net.uk (Claudio Potenza) wrote: > But When I compile under NT, it seems that the compiler embeds > incorrectly the path for the source file in the object so that "odump" > cannot find it. Yes, what I do to get around this is I have a script that compiles the .c file then runs objdumpppc on it. To create the script, - compile the file under Tornado (lets call it myFile.c) - copy the build cmd line from the 'build' window and paste it into your favorite editor. Make sure you have the -g option on the cmd. - clean up the line breaks so the command is all on one line (or has escapes for the line breaks) - add the cmd 'objdumpppc -S myFile.o' at the end of the script So now you have a script that will compile the file, then reverse assemble it. Of course, you can modify the script to accept an argument so you can use it for any .c file. Make sure the compiler is in your PATH, and the WIND_BASE env var (and friends) are set properly so the compiler can find everything it needs. Also, you must be sure the script uses exactly the same compile options as the Tornado project, otherwise your assembly file may not reflect what's in your project. I'd post my script, but I'm at home and don't have it handy. If you want it, email me and I'll forward it to you. --------------------------- Newsgroups: comp.os.vxworks Subject: why flag can't gaurantee mutual exclusion? Date: 19 Nov 2001 23:50:48 -0800 From: joyce_sli@yahoo.com (Joyce) Organization: http://groups.google.com/ Message-ID: <3e255a7a.0111192350.77e95343@posting.google.com> I want to implement mutual exclusion to protect shared resouece. Originaly I want to use flag. When a process enters the critical region, the flag is set. When a process leaves the critical region, the flag is reset. Whenever a process wants to enter the critical region, it checks to see if the flag is set. If it is, it will simply wait until the flag is not set (i.e. while(flag);) why this does not gaurantee mutual exclusion. Also, is there any other problems with this solution. Thanks in advance - -joyce --------------------------- Newsgroups: comp.os.vxworks Subject: Re: intLock() question... Date: 20 Nov 2001 00:13:27 -0800 From: matthieu_sevestre@yahoo.fr (Matthieu Sevestre) Organization: http://groups.google.com/ Message-ID: References: <3bf9721a$0$30970$272ea4a1@news.execpc.com> Hi ! That's strange but yesterday I met the same problem on my PPC405 based board. intLock() call does not lock interrupts (in fact, MSR[EE] is not modified as it would have been). I also tried to write my own intLock using the wrteei opcode and it also fails modifying the MSR[EE] bit. I checked that the PPC is in Supervisor mode. Seems that we are two in the same case :-) I suggest that the first one of us that obtain information tell it to the other. Matt > I am having problems with locking interrupts. I am doing this on a > power PC architecture. I created a watchdog timer to go off every 3 > seconds. Then I wrote a code to lock task and then lock interrups. The > task locking works fine, but the interrupt locking does not seem to work > since the watchdog timer still goes off during a long print loop that > takes more than 3 seconds. > > I even tested this with an external serial I/O interrupt and still does > not work. Can you tell me what the trick is. Here is a copy of my code > in case you wonder what I am doing. > > Thanks. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: what's the real size of image Date: Tue, 20 Nov 2001 09:17:51 +0100 From: "Michael Lawnick" Organization: Buergernetz Dillingen Message-ID: <9td3jh$1vs$1@snoopy.bndlg.de> References: <221caa76.0111191727.38575389@posting.google.com> Reply-To: "Michael Lawnick" Sender: mlawnick@pd95248a7.dip.t-dialin.net Hi kevin, type objdump -h filename and you will see all the other informations, like symbol and debug. - -- Mit freundlichen Grüßen, Michael Lawnick ============================================== SOFTEC GmbH Tel +49-731-96600-0 Promenade 17 Fax +49-731-96600-23 D-89073 Ulm Michael Lawnick Germany lawnick@softec.de ============================================== "kewin" schrieb im Newsbeitrag news:221caa76.0111191727.38575389@posting.google.com... > hi all > When build my vxWorks image,the builder show like this: > "vxWorks: 626396(t) + 30716(d) + 22704(b) = 679816 (1351800 unused)" > .I think the "679816" means the size of this image.But in Windows > Explorer the vxWorks image'size is 1.34M.Will anybody tell me what the > differece is between them and the the real which is the real size of > this image. > > thanks > > kevin --------------------------- Newsgroups: comp.os.vxworks Subject: Re: why flag can't gaurantee mutual exclusion? Date: Tue, 20 Nov 2001 00:22:19 -0800 From: "Gary M" Message-ID: <3bfa12d8$0$22034$4c41069e@reader0.ash.ops.us.uu.net> References: <3e255a7a.0111192350.77e95343@posting.google.com> Reply-To: "Gary M" This is the sort of problem typically seen in concurrent programming classes, and rarely in the real world (unless you are building a muti-tasking system from scratch), and certainly not in a system running VxWorks. So I'm curious to know why you are asking. Since you already seem to know this does not guarantee mutual exclusion, you should be able to figure out why it doesn't. "Joyce" wrote in message news:3e255a7a.0111192350.77e95343@posting.google.com... > I want to implement mutual exclusion to protect shared resouece. > Originaly I want to use flag. > > When a process enters the critical region, the flag is set. When a > process leaves the critical region, the flag is reset. Whenever a > process wants to enter the critical region, it checks to see if the > flag is set. If it is, it will simply wait until the flag is not set > (i.e. while(flag);) > > why this does not gaurantee mutual exclusion. Also, is there any other > problems with this solution. > > Thanks in advance > > -joyce --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Options for Assembler and Listings Date: 20 Nov 2001 09:08:46 GMT From: Johan Borkhuis Organization: Agere Systems Message-ID: References: <3BF53644.DF23EA4C@siemenscomms.co.uk> Owain Phillips wrote: > Does GCC have a option to generate a nice mixed 'C' and assembly > listing that contains opcodes? > > -S and -save-temps gets me assembler output, is this as good as it > gets? Take a look at this: http://www.xs4all.nl/~borkhuis/vxworks/vxw_pt1.html#1.6-D 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: [Q] Interface information Date: Tue, 20 Nov 2001 18:07:15 +0900 From: "lemmy" Message-ID: Hi.. I was wondering if socket options IP_RECVIF are supported by VxWorks environment. If this option is not supported, is there any another way of knowing the interface information? Please help me!! Thanks and have a nice day~~ --------------------------- Newsgroups: comp.os.vxworks Subject: Re: intLock() question... Date: 20 Nov 2001 01:18:44 -0800 From: matthieu_sevestre@yahoo.fr (Matthieu Sevestre) Organization: http://groups.google.com/ Message-ID: References: <3bf9721a$0$30970$272ea4a1@news.execpc.com> Well, I have a beginning of answer for my case: - - intLock() executed from the target shell works fine, whereas... - - ...it does not work in the windsh, even with the @intLock call. FYI, vxMsrGet() returns the MSR value (the register modified by intLock()). So, on the target shell it works well: - -> vxMsrGet value = 168496 = 0x29230 = sysNvRamGet + 0x14c - -> intLock value = 168496 = 0x29230 = sysNvRamGet + 0x14c - -> vxMsrGet /* MSR well modified */ value = 4656 = 0x1230 - -> intUnlock 0x29230 value = 168496 = 0x29230 = sysNvRamGet + 0x14c When those same call are directly done in the wind shell, it does not work. The MSR value returned is always 0x29230. => Calls from the windsh does not affect the MSR register for an unknown reason for the moment and that's the reason why intLock() does not work when called from the windsh. So: do not call intLock() from the windsh directly (or do it through a C function). Hope that helps ! Matt --------------------------- Newsgroups: comp.os.vxworks Subject: PSO stack on IBM Walnut (PowerPC) Date: 20 Nov 2001 01:22:28 -0800 From: bhyravap@yahoo.com (Bhyrava Prasad) Organization: http://groups.google.com/ Message-ID: Hi, I would like to try the free PSO stack on an IBM Walnut PowerPC system. By default, the stack seems to include ARM, Sparc and x86 support. Has anyone tried getting it to work on PowerPC? Any help appreciated. If I pull in the required arch/powepc files from the NetBSD src, what do I need to look for/hack/rewrite? Also, is there any VxWorks magic to be done to use gdb as a debugger? Seems like it should compile out of the box and work. TIA Bhyrava Prasad --------------------------- Newsgroups: comp.os.vxworks Subject: Re: what's the real size of image Date: Tue, 20 Nov 2001 10:32:20 +0100 From: "Werner Schiendl" Message-ID: <3bfa23e9$1@brateggebdc5.br-automation.co.at> References: <221caa76.0111191727.38575389@posting.google.com> <9td3jh$1vs$1@snoopy.bndlg.de> Hi, alternatively you can right-click the file in Tornado 2's project facility and view its properties. There are also displays for text, data and bss sizes. The remainer of the file can for example be debug/symbol informations. hth Werner "Michael Lawnick" wrote in message news:9td3jh$1vs$1@snoopy.bndlg.de... > Hi kevin, > type > objdump -h filename > and you will see all the other informations, like symbol and debug. > > -- > Mit freundlichen Grüßen, > Michael Lawnick > ============================================== > SOFTEC GmbH Tel +49-731-96600-0 > Promenade 17 Fax +49-731-96600-23 > D-89073 Ulm Michael Lawnick > Germany lawnick@softec.de > ============================================== > > "kewin" schrieb im Newsbeitrag > news:221caa76.0111191727.38575389@posting.google.com... > > hi all > > When build my vxWorks image,the builder show like this: > > "vxWorks: 626396(t) + 30716(d) + 22704(b) = 679816 (1351800 unused)" > > .I think the "679816" means the size of this image.But in Windows > > Explorer the vxWorks image'size is 1.34M.Will anybody tell me what the > > differece is between them and the the real which is the real size of > > this image. > > > > thanks > > > > kevin > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: intLock() question... Date: Tue, 20 Nov 2001 10:30:27 +0100 From: "Werner Schiendl" Message-ID: <3bfa2378$1@brateggebdc5.br-automation.co.at> References: <3bf9721a$0$30970$272ea4a1@news.execpc.com> Hi, please see the comments between your code "PC User" wrote in message news:3bf9721a$0$30970$272ea4a1@news.execpc.com... > Hi Folks, > > I am having problems with locking interrupts. I am doing this on a > power PC architecture. I created a watchdog timer to go off every 3 > seconds. Then I wrote a code to lock task and then lock interrups. The > task locking works fine, but the interrupt locking does not seem to work > since the watchdog timer still goes off during a long print loop that > takes more than 3 seconds. > > I even tested this with an external serial I/O interrupt and still does > not work. Can you tell me what the trick is. Here is a copy of my code > in case you wonder what I am doing. > > Thanks. > > #include "vxWorks.h" > #include "taskLib.h" > #include "semLib.h" > #include "stdio.h" > #include "stdlib.h" > #include "wdlib.h" > #include "time.h" > > /* Globals */ > > int taskId1; > int taskId2; > > SEM_ID semCounting; > SEM_ID semBinary; > WDOG_ID wdID; > > /* Function Prototypes */ > void taskNum1 ( void ); > void taskNum2 ( void ); > void wdISR ( void ); > > void Case_7 (void) > { > int taskCount = 0; > int sts; > > /* Create a watchdog */ > if ( ( wdID = wdCreate() ) == NULL) > { > printf ( "Error in creating watchdog\n" ); > return; > } > > /* Set the timer to go off after 10 seconds */ > if ( wdStart ( wdID, sysClkRateGet() * 3, (FUNCPTR) wdISR, 0 ) == > ERROR ) > { > printf ( "Error in starting the watchdog timer\n" ); > return; > } > > /* Create a binary semaphore with semaphore available and queue tasks > on FIFO basis */ > if ( ( semBinary = semBCreate ( SEM_Q_FIFO, SEM_FULL)) == NULL ) > { > printf ( "Error in Creating Binary Semaphore\n"); > return; > } > else > { > printf ( "Success in Creating Binary Semaphore\n"); > } > > /* Lock the semaphore for scheduling purposes */ > semTake ( semBinary, WAIT_FOREVER ); Just curious, but why did you not create the semaphore with SEM_EMPTY instead of taking it manually? > > /* spawn the 2 tasks starting with the highest priority task */ You do it exactly the other way round than this comment states. Except you do not consider higher priority to be more priviledged (and a lower value). > if ( taskId1 = taskSpawn ( "t1", 110, 0x100, 2000, (FUNCPTR) > taskNum1,0,0,0,0,0,0,0,0,0,0 ) == ERROR ) > { > printf ( "Error in spawning taskNum1\n" ); > return; > } > > if ( taskId2 = taskSpawn ( "t2", 100, 0x100, 2000, (FUNCPTR) > taskNum2,0,0,0,0,0,0,0,0,0,0 ) == ERROR ) > { > printf ( "Error in spawning taskNum2\n" ); > return; > } > > } > > void taskNum1 ( void ) > { > static int i = 0, j = 0, lock; > > for ( j = 0; j < 3; j++ ) > { > /* wait indefinitely for semaphore */ > semTake ( semBinary, WAIT_FOREVER ); > > /* Adding a critical section that would prevent the higher priority > task to run until the locking task leaves the critical region */ > if ( taskLock () == OK ) > { > lock = intLock (); > > /* A premitive delay to cause the wd to time out */ > /* A test to see if intLock() works. The ISR should not go off */ > > for ( i = 0; i < 100; i++) > { > printf ( "taskNum1 Running in critical region\n" ); printf is very likely to cause a task switch if some other task does I/O as well or if you are using some kind of remote shell. (Tornado host shell, Telnet, or whatsoever). See the next comment for details. > } > > /* This delay would prove that no matter how long, VxWorks will > not permit any other tasks to run until execution is out of this > critical region. This is compared to the use of task delay in > task two which VxWorks would automatically schedules task one to > start running after a certain amount of delay. So for each task > delay call in taskNum2, taskNum1 gets to run also based on > VxWorks priority and internal schedulings. */ > /*taskDelay ( 20 * sysClkRateGet()); */ No, when your task blocks (e. g. on a timeout, like above), the scheduler will be invoked, too. Afterwards, the state of the interrupts of that very task will be restored, at least on platforms where this information is stored in the task control block (TCB). So you will end up running some other task, with interrupts re-enabled. Finally, read the documentation intLock() Here is the most important part - the warnings that come with intLock() WARNINGS Do not call VxWorks system routines with interrupts locked. Violating this rule may re-enable interrupts unpredictably. The routine intLock( ) can be called from either interrupt or task level. When called from a task context, the interrupt lock level is part of the task context. Locking out interrupts does not prevent rescheduling. Thus, if a task locks out interrupts and invokes kernel services that cause the task to block (e.g., taskSuspend( ) or taskDelay( )) or that cause a higher priority task to be ready (e.g., semGive( ) or taskResume( )), then rescheduling occurs and interrupts are unlocked while other tasks run. Rescheduling may be explicitly disabled with taskLock( ). Traps must be enabled when calling this routine. > > intUnlock (lock); > taskUnlock (); > } > > /* give up semaphore so the next task can run */ > semGive ( semBinary ); > } > } > > void taskNum2 ( void ) > { > static int i = 0, j = 0; > > semGive ( semBinary ); > > for ( j = 0; j < 3; j++ ) > { > /* wait indefinitely for semaphore */ > semTake ( semBinary, WAIT_FOREVER ); > > for ( i = 0; i < 2; i++) > { > printf ( "taskNum2 Running\n" ); > } > > /* A delay to exercise for the binary semaphore > scheduling capability where without it, each task > will run untill finished based on their priorities > sequentially. */ > taskDelay ( 2 * sysClkRateGet() ); > > /* give up semaphore so the other task can run */ > semGive ( semBinary ); > } > } > > /* This routine goes off every 3 seconds */ > void wdISR ( void ) > { > printf ( "The watchdog timer expired after 3 seconds\n" ); > > /* Re-start timer to go off after 10 seconds */ > if ( wdStart ( wdID, sysClkRateGet() * 3, (FUNCPTR) wdISR, 0 ) == > ERROR ) > { > printf ( "Error in starting the watchdog timer in wdISR\n" ); As Dave already stated, you must not call printf() from interrupt context. Unfortunately, this sometimes works. But your machine will freeze if you have simultaneous calls to printf from task and interrupt context. (This happens at least on pc486 platform) > } > } > > hth Werner --------------------------- Newsgroups: comp.os.vxworks Subject: Re: why flag can't gaurantee mutual exclusion? Date: Tue, 20 Nov 2001 10:37:31 +0100 From: "Werner Schiendl" Message-ID: <3bfa2520$1@brateggebdc5.br-automation.co.at> References: <3e255a7a.0111192350.77e95343@posting.google.com> Hi, you need to make sure that no task switch between you query your flag to be reset and the command actually setting it. Since in a normal C (or C++) program, these are distinct processor instructions. Therefore, a task switch _can_ occur between you query the flag to be reset and you are able to set it. Now imagine the newly running task does the same - trying to aquire your flag. You should be able to figure out what the problem is. For VxWorks it is highly recommended to use the builtin semaphore facilities for that task. There is a specialized semaphore for mutual exclusion, that prevents some other problems inherent to mutual exclusion. See the documentation for semMCreate for details. hth Werner "Joyce" wrote in message news:3e255a7a.0111192350.77e95343@posting.google.com... > I want to implement mutual exclusion to protect shared resouece. > Originaly I want to use flag. > > When a process enters the critical region, the flag is set. When a > process leaves the critical region, the flag is reset. Whenever a > process wants to enter the critical region, it checks to see if the > flag is set. If it is, it will simply wait until the flag is not set > (i.e. while(flag);) > > why this does not gaurantee mutual exclusion. Also, is there any other > problems with this solution. > > Thanks in advance > > -joyce --------------------------- Newsgroups: comp.os.vxworks Subject: Re: intLock() question... Date: Tue, 20 Nov 2001 11:29:39 +0100 From: "Werner Schiendl" Message-ID: <3bfa3158@brateggebdc5.br-automation.co.at> References: <3bf9721a$0$30970$272ea4a1@news.execpc.com> Hi, This is because you _must_ not call any operating system functions with interrupts locked. When invoking intLock() from windSh, how do you expect that command to reach the target? It will be some kind of network or serial connection depending on your target server configuration. And _of_course_ this communication involves calling a whole lot of OS functions in the target task / WDB agent. Read the intLock() documentation. It is designed to lock interrupts do something with your hardware, which must not be interrupted but do NOT call _any_ VxWorks provided function, especially anything I/O like unlock interrupts You should use intLock() carefully and rarely. Usually someting is wrong with the overall design, when you find yourself using intLock() too often. hth Werner "Matthieu Sevestre" wrote in message news:d428158b.0111200118.53b22d02@posting.google.com... > Well, > > I have a beginning of answer for my case: > - intLock() executed from the target shell works fine, whereas... > - ...it does not work in the windsh, even with the @intLock call. > > FYI, vxMsrGet() returns the MSR value (the register modified by > intLock()). > > So, on the target shell it works well: > -> vxMsrGet > value = 168496 = 0x29230 = sysNvRamGet + 0x14c > -> intLock > value = 168496 = 0x29230 = sysNvRamGet + 0x14c > -> vxMsrGet /* MSR well > modified */ > value = 4656 = 0x1230 > -> intUnlock 0x29230 > value = 168496 = 0x29230 = sysNvRamGet + 0x14c > > When those same call are directly done in the wind shell, it does not > work. The MSR value returned is always 0x29230. > > => Calls from the windsh does not affect the MSR register for an > unknown reason for the moment and that's the reason why intLock() does > not work when called from the windsh. > > So: do not call intLock() from the windsh directly (or do it through a > C function). > > Hope that helps ! > Matt --------------------------- Newsgroups: comp.os.vxworks Subject: Re: intLock() question... Date: 20 Nov 2001 11:42:40 +0200 From: Reinhold Wirth Organization: WEB.DE Message-ID: <3bfa33bc@netnews.web.de> References: <3bf9721a$0$30970$272ea4a1@news.execpc.com> matthieu_sevestre@yahoo.fr (Matthieu Sevestre) wrote: >Well, > >I have a beginning of answer for my case: >- intLock() executed from the target shell works fine, whereas... >- ...it does not work in the windsh, even with the @intLock call. > >FYI, vxMsrGet() returns the MSR value (the register modified by >intLock()). > >So, on the target shell it works well: >-> vxMsrGet >value = 168496 = 0x29230 = sysNvRamGet + 0x14c >-> intLock >value = 168496 = 0x29230 = sysNvRamGet + 0x14c >-> vxMsrGet /* MSR well >modified */ >value = 4656 = 0x1230 >-> intUnlock 0x29230 >value = 168496 = 0x29230 = sysNvRamGet + 0x14c´ intLock()in your test do not realy lock the interrupts. You MSR value shows the status of disabled interrupts. You are not able to use the target shell (serial interface)with realy locked interrupts. You should not call VxWorks system routines with interrupts locked (see documentation of intlock()). You do not know which function are called with your shell-call. test the call of: void test(void) { intLock(); for (;;) } You see, that your intLock() works with a call from both shells correct. > >When those same call are directly done in the wind shell, it does not >work. The MSR value returned is always 0x29230. > >=> Calls from the windsh does not affect the MSR register for an >unknown reason for the moment and that's the reason why intLock() does >not work when called from the windsh. > >So: do not call intLock() from the windsh directly (or do it through a >C function). > >Hope that helps ! >Matt - -- __________________________________________________________ News suchen, lesen, schreiben mit http://newsgroups.web.de --------------------------- Newsgroups: comp.os.vxworks Subject: Text, Bss & Data sizes Date: Tue, 20 Nov 2001 11:48:38 +0000 (UTC) From: "Raghunath Adhyapak" Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: Hi, I have a downloadable module & I need to load it with loadModuleAt() function. I require to provide the function with addresses for text, bss & data. Hence I need to know the sizes for text, bss & data. How can I find this? Please guide me. Regards, Raghunath (O) 91-832-783615 ext 505 (R) 91-832-423024 - -- Posted from hidden-user@dakiya.controlnet.co.in.116.54.202.in-addr.arpa [202.54.116.69] (may be forged) via Mailgate.ORG Server - http://www.Mailgate.ORG --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Tue Nov 20 04:12:05 2001 From: "Jignesh, Shah (IE10)" Date: Tue Nov 20 04:12:07 PST 2001 Subject: About Memory Management Hi, I have a typical problem here, please help me with some information. (1) Where can I find information on vxWorks memory management? (2) I want to configure the heap area that vxworks utilises, how can I do it? (3) In my application, the fiollowing is a requirement. I am utilising some structures. I want the memory location of the structures predefined. I need the compiler to know that the locations are occupied and so it can not allocate the same in runtime. So please give me a way out. Thanx in advance. Warm Regards, JIGNESH SHAH Senior Software Engineer Honeywell India Software Operation Pvt Ltd 151/1, Doraisanipalya, Bannerghatta Road Bangalore 560 076 Tel: # 91-80-6585751 Ext 2033 Email : jignesh.shah@honeywell.com From vxwexplo-errs@csg.lbl.gov Tue Nov 20 07:41:52 2001 From: "Mike Anderson" Date: Tue Nov 20 07:41:54 PST 2001 Subject: RE: About Memory Management VxWorks Greetings! > Submitted-by: "Jignesh, Shah (IE10)" > > Hi, > > I have a typical problem here, please help me with some information. > > (1) Where can I find information on vxWorks memory management? > (2) I want to configure the heap area that vxworks utilises, how can > I do it? > (3) In my application, the fiollowing is a requirement. > > I am utilising some structures. I want the memory location of the > structures predefined. I need the compiler to know that the locations are > occupied and so it can not allocate the same in runtime. So > please give me a > way out. > 1) The VxWorks Programmer's Guide goes into detail on how the memory manager operates. But, it is essentially, a first-fit memory manager with coallessed-chaining to recombine adjacent free memory blocks. No garbage collection is used. 2) The easiest way to do this is to malloc a block of memory that is large enough for your needs and manage it yourself. There are utilities in memPartLib that allow you to create your own memory partition and do memPartAllocs/memPartFrees directly, but this is usually more trouble than it's worth, unless you have a very specific application in mind such as a private block of SRAM that you're managing/using that is separate from the main RAM. 3) Use pointers. You don't mention your CPU architecture, but there are typically "holes" in the memory that are not managed by VxWorks, but have RAM in them none the less. An example would be the region between RAM_LOW_ADRS and the boot line in low memory. Alternatively, you can move RAM_LOW_ADRS up in memory (remember to move RAM_HIGH_ADRS as well!) if you need low memory. Or, you can set USER_RESERVED_MEM if you're looking for high memory. Once reserved, set the pointer to that memory area and simply use it. The memory will exist, but not be managed by VxWorks in the system memory pool. Sounds like you need to take one of PTR's training classes... ;-) HTH, Mike -- ======================================================= T h e P T R G r o u p, I n c. ======================================================= Embedded, Real-Time Solutions and Training Mike Anderson mailto:mike@ThePTRGroup.com Chief Scientist http://www.ThePTRGroup.com V: (703) 585-9384 F: (703) 430-3748 ======================================================= "Software development is like making a baby... You can't make a baby in one month by impregnating nine women. Some things just take time." From vxwexplo-errs@csg.lbl.gov Tue Nov 20 07:51:59 2001 From: "Mike Anderson" Date: Tue Nov 20 07:52:02 PST 2001 Subject: RE: vxWorks, tNetTask, & Sniffers VxWorks Greetings! > Submitted-by: Michael.Ben-Ari@celtro.com > > > We have an inhouse "if" driver for internal IP communications, and > we are looking for tools other the standard xxShow routines that can give > us statistics of packets that are being forwarded via our "internal" > interface. > > 1. Are there any statistics related to tNetTask that we have access to > other then > via various the xxShow routines? > It depends. Are you using the BSD interface or Wind's END/NPT interface? If it is an "if" driver, that indicates a BSD interface. tNetTask is really a very simple beast. It really just takes a function pointer and a set of parameters (that you pass via a netJobAdd) and invokes the function. Any instrumentation can be added in the function that's being called. You said that you wrote this driver, yes? If so, then add your statistics in the function being called by netJobAdd. > 2. Are there any sniffers that we can either upload captured > data from the > terminal > or that we can use to attach to tNetTask to do sniffing from internal IP > addresses > that are NOT ethernet etc ? The etherInputHook is really a bit of a misnomer. It's not Ethernet specific. If your interface driver uses the standard BSD/END calls, you should be able to use etherInputHook to grab packets. Otherwise, place your sniffing function into the chain of the netJobAdd call and then call the *real* function from your intercept function. This will slow packet processing down, so watch for it. > > 3. Any other solutions? > Lots of them. The answers all begin with "well, it depends..." :-) You've not provided enough information to be more specific. HTH, Mike -- ======================================================= T h e P T R G r o u p, I n c. ======================================================= Embedded, Real-Time Solutions and Training Mike Anderson mailto:mike@ThePTRGroup.com Chief Scientist http://www.ThePTRGroup.com V: (703) 585-9384 F: (703) 430-3748 ======================================================= "Software development is like making a baby... You can't make a baby in one month by impregnating nine women. Some things just take time." From vxwexplo-errs@csg.lbl.gov Tue Nov 20 07:57:52 2001 From: "Mike Anderson" Date: Tue Nov 20 07:57:55 PST 2001 Subject: RE: vxMemProbe and cPCI bridge VxWorks Greetings! > Submitted-by: "David P Hidalgo" > > Now, I would like to know if the vxMemProbe function works correctly in a > cPCI environment. Is there another way to detect a bus error in a cPCI > architecture? > It depends. Which CPU architecture are you using? I've seen bus errors work correctly with PPC & CPCI. I've not played with x86 on CPCI, so I can't comment on that one. As for other ways to detect a bus error, there are many. All of them are dependent on your H/W and how good a job you BSP developer did when thay implemented the CPCI interface. > Also I´m looking for a cPCI-to-cPCI bridge that let me expand my > eight slots > rack. In my configuration there will be only a CPU, so I do not need any > intelligence from the board, simply a connection. Does anybody > know a board > like that? > There are several of these. For example: http://www.comtel-online.com/bridging.htm http://www.kaparel.com/products/bridges/ps1130ds.htm But, you'll still have to set up the bridge chip for your cPCI address mapping. This will require a driver be developed to set your mapping up correctly. HTH, Mike -- ======================================================= T h e P T R G r o u p, I n c. ======================================================= Embedded, Real-Time Solutions and Training Mike Anderson mailto:mike@ThePTRGroup.com Chief Scientist http://www.ThePTRGroup.com V: (703) 585-9384 F: (703) 430-3748 ======================================================= "Software development is like making a baby... You can't make a baby in one month by impregnating nine women. Some things just take time." From vxwexplo-errs@csg.lbl.gov Tue Nov 20 07:57:54 2001 From: "Mike Anderson" Date: Tue Nov 20 07:57:58 PST 2001 Subject: RE: Dummy n/w interface.(TUN/TAP) VxWorks Greetings! > Submitted-by: Jitendra kanitkar > > > vxWorks Greetings, > > > Sorry to put the question again on the list, but still I have not received > anything in reply, if there is no complete answer then some > directions also > will do. > > > I wanted to know, is there any s/w network interface available > in vxWorks. > > Something like TUN/TAP in Linux. ( Instead of sending the > packet on to h/w > > interface TUN/TAP gives it to user space program in Linux). > > What I want, is to have a dummy device which I may(/may not) start in > > runtime. Can I creat a dummy ethernet interface in vxWorks? > > If it is not directly available is there any way out for this? > > (We have vxworks 5.4) > > Yes. There are several ways to do this. If you are using END/NPT, you can register a SNARFing protocol that will monitor all of the network traffic and allow to to pass it to your applications via a message queue or pipe or buffer interface or whatever... Remember that, usless you're using VxWorks AE, there is no distinction between user and system space in VxWorks. EtherInputHooks might also work for you depending on your interface. Alternatively, you can create an END loopback driver and use it as a software interface. The June Drivers patch included an almost-working example of this in src/drivers. HTH, Mike -- ======================================================= T h e P T R G r o u p, I n c. ======================================================= Embedded, Real-Time Solutions and Training Mike Anderson mailto:mike@ThePTRGroup.com Chief Scientist http://www.ThePTRGroup.com V: (703) 585-9384 F: (703) 430-3748 ======================================================= "Software development is like making a baby... You can't make a baby in one month by impregnating nine women. Some things just take time." From vxwexplo-errs@csg.lbl.gov Tue Nov 20 09:12:00 2001 From: Michael.Ben-Ari@celtro.com Date: Tue Nov 20 09:12:03 PST 2001 Subject: RE: vxWorks, tNetTask, & Sniffers > ... >instrumentation can be added in the function that's being called. You >said that you wrote this driver, yes? If so, then add your statistics >in the function being called by netJobAdd. For 1. Thanks... Adding extra data to the driver directly is an idea that I didn't think of. I gather then that other statistics standard to tNetTask don't exists. You guessed correctly, it is an not an END based driver but rather BSD. In the future we MAY upgrade the driver to an END conforming driver (not yet required). For 2. I was hoping if there are any third party sniffing tools (on a protocol level) that has open APIs; such that I can send it incoming/outgoing packets in its capture phase that may even be integrated (not req'd) into vxWorks. >> >> 3. Any other solutions? >> > >Lots of them. The answers all begin with "well, it depends..." :-) >You've not provided enough information to be more specific. I deserved that one :-) Rephrase that one... Any other Ideas debugging IP from within vxWorks automatically without tooo much effort? Thanks. -Mike ----------------------------------------------- Mike Ben-Ari Celtro - Cellular BU of NGTS ECI Telecom Ltd. Mail: mbenari@celtro.com Tel: +972-3-926-6794 Fax: +972-3-926-6460 ----------------------------------------------- From vxwexplo-errs@csg.lbl.gov Tue Nov 20 22:45:52 2001 From: Jitendra kanitkar Date: Tue Nov 20 22:45:54 PST 2001 Subject: RE: Dummy n/w interface.(TUN/TAP) > VxWorks Greetings, > Thanks for the replies. In our setup the situation is bit tricky. We have ethernet driver(which is not mux compatible) and vxworks image(prebuilt). We wanted to establish connection between the TCP/IP stack and the ethernet driver(which is not END driver). The solution we thought, is to have a s/w(dummy like TUN/TAP in Linux) interface and using vxworks filters and hooks alongwith some wrapper functions, connect driver to IP stack. I got a suggestion to use loopback device but it does not provide any hooks like normal END. So is there any standard way to work with non-END (device drivers) in vxWorks(5.4). Thanks in advance, Jitendra. > Submitted-by vxwexplo-errs@csg.lbl.gov Tue Nov 20 07:57:54 2001 > Submitted-by: "Mike Anderson" > > Yes. There are several ways to do this. If you are using END/NPT, you > can > register a SNARFing protocol that will monitor all of the network traffic > and allow to to pass it to your applications via a message queue or pipe > or > buffer interface or whatever... Remember that, usless you're using > VxWorks > AE, > there is no distinction between user and system space in VxWorks. > EtherInputHooks > might also work for you depending on your interface. > > Alternatively, you can create an END loopback driver and use it as a > software interface. The June Drivers patch included an almost-working > example of this in src/drivers. > > HTH, > > Mike > -- > ======================================================= > T h e P T R G r o u p, I n c. > ===================================================== From vxwexplo-errs@csg.lbl.gov Wed Nov 21 04:03:17 2001 From: Vxworks Exploder Date: Wed Nov 21 04:03:19 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Wed Nov 21 04:03:13 PST 2001 Subject: Re: gratuitous arp Subject: Re: why flag can't gaurantee mutual exclusion? Subject: Re: network problems past gateway Subject: Re: Text, Bss & Data sizes Subject: Porting GCC for Motorola MBX860 using MPC860? Subject: Arm Integrator 940 compiler options and linking question Subject: Problem trying to interface RS 422 PMC on Vmetro's Powermidas board over the VME backplane Subject: Re: intLock() question... Subject: DOSFS2 MOUNTING Subject: Does fstat() work incorrectly? Subject: Re: what's the real size of image Subject: Re: intLock() question... Subject: Re: intLock() question... Subject: Re: clock corruption Subject: Re: Boot a target with my application Subject: Re: DOSFS2 MOUNTING Subject: Re: The network stack locks completely solid Subject: using -mlongcall for SDRAM more than 32MB/powerpc Subject: Re: The network stack locks completely solid Subject: DNS SERVER ADDRESS Subject: yur6yu Subject: Re: what is the meaning of FOREVER? Subject: Why did the SCSI get a error type event? Subject: What is the difference between SIUMCR[GBL] and FCRx[GBL] in 8260? Subject: Can we do Raw socket programming ? Subject: Re: Cygwin GDB Users ? Subject: Re: Does fstat() work incorrectly? Subject: What is ? Subject: Source Code to detect Pointer bugs in C ode Subject: error message!!! [what's wrong?] ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: gratuitous arp Date: Tue, 20 Nov 2001 12:44:27 GMT From: "Don Dewar" Message-ID: References: <9f8341e1.0111121528.59564e6e@posting.google.com> <3bf0800d$0$87021$e2e8da3@nntp.cts.com> I thought this was true also, but never saw it work in practice. I sniffed the line and never saw a gratuitous arp go out. I ended up making a gratEtherAddrResolve that looks mostly like etherAddrResolve that calls a gratarpresolve that looks mostly like arpresolve, but always forces out the arp packet. Then when I want to issue a gratutitous arp the code calls gratEtherAddrResolve. "Dan Gold" wrote in message news:3bf0800d$0$87021$e2e8da3@nntp.cts.com... > "Leonid Rosenboim" wrote in message > news:newscache$lmppmg$jdb$1@lnews.actcom.co.il... > > I dont think the arpAdd should generate gratis-arp at all. > > Gratis-arp is generated when the interface is given an IP address - > > it xmits the gratis-arp to check for some other node on the same net > > using the same IP address, and generates a meeage if there is a dup. > > This is all it does, so adding some other node's IP to MAC address > > translation > > to the ARP table should not (and does not) generate any packets. > > My SENS sources confirm this :-) The gratuitous ARP is sent out when a > SIOCIFADDR call is made, i.e. ifAddrSet(), which is what's called (as Leonid > pointed out above) when an interface is given an IP address. > > hth, > Dan Gold gold@ensemble.com > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: why flag can't gaurantee mutual exclusion? Date: Tue, 20 Nov 2001 13:35:54 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9tdm4g$dpb$1@neptunium.btinternet.com> References: <3e255a7a.0111192350.77e95343@posting.google.com> > I want to implement mutual exclusion to protect shared resouece. > Originaly I want to use flag. > > When a process enters the critical region, the flag is set. When a > process leaves the critical region, the flag is reset. Whenever a > process wants to enter the critical region, it checks to see if the > flag is set. If it is, it will simply wait until the flag is not set > (i.e. while(flag);) > > why this does not gaurantee mutual exclusion. Also, is there any other > problems with this solution. It doesn't work for a variety of reasons: 1) the scheduler won't schedule the other process while one is doing 'while (flag);' So you have to do something like: 'while (flag) taskDelay(1);' to give the other process a chance. 2) you have to tie together the 'test' and 'set' actions on entry just in case the scheduler decides to run a different task half way through. on a single cpu system intLock() will do, so you have something like: s = intLock(); while (flag) { intUnlock(s); taskDelay(1); s = intLock(); } flag = 1; intUnlock(s); 3) the 'flag = 1' assignment will sit in the cpu 'store buffer' for a few instructions before making it out to the data cache. On a multi-cpu system you have to ensure that the write completes to stop a different cpu reading flag == 0 after you wrote it out (in this case intLock() isn't good enough - but neither is an atomic test and set or exchange instruction). 4) you don't really want to wait until the timer tick when the lock is released. So you need help from the scheduler.... By now you have re-invented semaphores! David --------------------------- Newsgroups: comp.os.vxworks Subject: Re: network problems past gateway Date: 20 Nov 2001 06:43:12 -0800 From: agraham@openglobe.net (Aaron Graham) Organization: http://groups.google.com/ Message-ID: <95ebbe31.0111200643.c386b78@posting.google.com> References: <95ebbe31.0111141239.64d37012@posting.google.com> <3bf2e813$1@brateggebdc5.br-automation.co.at> Increasing ping timeout has no effect, and the problem is not only with ping. A DNS lookup has the same behavior, sometimes taking several minutes to accomplish a lookup. Since both ICMP and TCP seem to have the problem over IP, I would assume this problem is independent of the protocol or application. (Once again, the packet is dropped somewhere between the mux and the application -- I can't figure out where because all of that code is compiled into the libraries.) I wouldn't expect hostGetByName() to modify the host table. However, the following paragraph in the documentation really makes me wonder why not: [From the hostAdd() section in the VxWorks Reference Manual] DESCRIPTION: This routine adds a hostname to the local host table. This must be called before sockets on the remote host are opened, or before files on the remote host are accessed via netDrv or nfsDrv. So what's going on here? Why are my packets dropped 95-99% of the time if my remote host is not in the host table (and are NEVER dropped if the host is in the table), despite the fact that the packets make it all the way up the stack? I can't believe nobody else is observing this behavior. Aaron "Werner Schiendl" wrote in message news:<3bf2e813$1@brateggebdc5.br-automation.co.at>... > Hi, > > May it be, that the ping just times out if it is not in the hostTable for > some odd reason? > > You could try increase _pingTxTmo to a larger value, it defaults to 5 > seconds. > See the help entry for ping in the tornado online help. > > There is no need to add the host to the hostTable, whether for ping, nor for > other (socket) communication. > So you should not have a need to track the added hosts either. > > I do not understand, though, why hostGetByName() should modify the > hostTable. > Is this stated in the manual, that it should? > > At least you can add the resolveLib to lookup names from a DNS server, but I > guess you know that anyway. > > hth > Werner > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Text, Bss & Data sizes Date: Tue, 20 Nov 2001 07:41:42 -0800 From: "Michael R. Kesti" Organization: MK Associates Message-ID: <3BFA79B6.F03404BA@gv.net> References: Reply-To: mkesti@gv.net Raghunath Adhyapak wrote: >I have a downloadable module & I need to load it with loadModuleAt() >function. >I require to provide the function with addresses for text, bss & data. >Hence I need to know the sizes for text, bss & data. How can I find this? >Please guide me. In most cases you don't need to provide loadModuleAt() with specific addresses. You may instead load the pointers to the text, bss, and data segments with the value LD_NO_ADDRESS. The OS will then figure out where to load the specified module for you. - -- ======================================================================== 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: Porting GCC for Motorola MBX860 using MPC860? Date: Tue, 20 Nov 2001 08:57:39 -0700 From: "Okehee Goh" Organization: Arizona State University Message-ID: <9tducu$3av$1@news.asu.edu> Hello, I tried to use TornadoII's GNU CC compiler with its stdio library except BSP supporting library but it seems to need to link libPPC860gnuvx.a, which I don't want to link. So, now I'd like to port GNU CC cross compiler for the target machine Motorola MBX860 using MPC860. Would it be enough to give "--target=powerpc-elf" or ""--target=powerpc-eabi" to generate GCC compiler for target PPC860? The GCC source's version is 2.9.3. Thank you so much. --------------------------- Newsgroups: comp.os.vxworks Subject: Arm Integrator 940 compiler options and linking question Date: Tue, 20 Nov 2001 11:20:06 -0500 From: Ben Kuhn Organization: Improv Systems, Inc. Message-ID: <3BFA82B6.CDD83F59@improvsys.com> Reply-To: benk@improvsys.com This is a multi-part message in MIME format. - --------------D783BB0ED1FFACB84763EAFC Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Linker problem: When generating the tmp.1 building a vxworks.st_rom.bin image, I end up with the text symbols for t:\tornado-arm940/target/lib/libARMARCH4gnuvx.a and all the object files defined and present, but the symbols for T:/Radvision/309_arm/WinTornado/lib/librtp.a and T:/Radvision/309_arm/WinTornado/lib/librvh323.a end up undefined. The compiler options for the librtp and librvh323 libraries (radvision) as well as our own code are shown below. Can anyone point out anything that would be incompatible that might cause the radvision symbols to not be included and not generate any warnings (I'm still a little new at this)? Ultimately the last link fails when it can't find the radvision symbols anywhere, when they should be defined in tmp.1. Please CC replies to benk@improvsys.com. Thanks all, Ben Kuhn # link line ccarm -nostdlib -r -Wl,-X -o tmp.1 dataSegPad.o sysALib.o sysLib.o \ usrConfig_st.o version.o t:\tornado-arm940/target/lib/libARMARCH4gnuvx.a t:\ tornado-arm940/host/x86-win32/lib/gcc-lib/arm-wrs-vxworks/2.7.9-970819/libgcc.a T:/Radvision/309_arm/WinTornado/lib/librtp.a T:/Radvision/309_arm/WinTornado/lib /librvh323.a VxVpsQueue.o queue.o msgUtils.o callerID.o vps_api.o vps_private.o vps_ringbuffer.o vps_target.o vps_tdm.o sstelcom.o RTP_VoIP.o RTCP.o RTP.o proto col.o SMLrtp.o SMLcallBack.o SMLcommands.o SMLjitter.o ADMcommands.o voipcfg.o v xjdrv.o cardinfo.o arm2k.o arm2k_dual.o fifoBuf.o vxVoipRadH323.o RadH323Events. o mainRadH323.o # The object files for our application were built with the following flags: - -g -mcpu=arm8 -mapcs-32 -ansi -nostdinc -mno-sched-prolog -fno-builtin - -fvolatile - -Wcomment -DCPU_940T -DARMMMU=ARMMMU_940T -DARMCACHE=ARMCACHE_940T - -DRW_MULTI_THREAD -D_REENTRANT -DVXWORKS -DCPU=ARMARCH4 -DPRJ_BUILD - -DARM940 -DRadH323 -DNOTHREADS -D__VXWORKS__ # The radvision objects were built with the following flags: - -mcpu=arm8 -mapcs-32 -mlittle-endian -ansi -nostdinc -O0 -Wall - -DCPU=ARMARCH4 - -DARMEL -DRMONVER_1 -DRMONVER_SA -DNOLOGSUPPORT -O2 -Wall -pedantic - -DTINY -DNOTHREADS -DNOTHREADS -D__VXWORKS__ -DNOFILESYSTEM - -- Ben Kuhn Improv Systems (716) 756-5411 x25 - --------------D783BB0ED1FFACB84763EAFC Content-Type: text/x-vcard; charset=us-ascii; name="benk.vcf" Content-Transfer-Encoding: 7bit Content-Description: Card for Ben Kuhn Content-Disposition: attachment; filename="benk.vcf" begin:vcard n:Kuhn;Benjamin tel;cell:716 739 2171 tel;work:(716) 756 - 5411 x25 x-mozilla-html:FALSE adr:;;;;;; version:2.1 email;internet:benk@improvsys.com fn:Benjamin Kuhn end:vcard - --------------D783BB0ED1FFACB84763EAFC-- --------------------------- Newsgroups: comp.os.vxworks Subject: Problem trying to interface RS 422 PMC on Vmetro's Powermidas board over the VME backplane Date: 20 Nov 2001 08:33:46 -0800 From: nischal.s.amin@boeing.com (Nischal Amin) Organization: http://groups.google.com/ Message-ID: <10cd0b8b.0111200833.5af4a0bd@posting.google.com> Hello everyone I am trying to interface RS 422 board from SBS on the Vmetro's Powermidas board over the VME backplane. I am using a Vxworks software for the development. I was able to flash my bootrom into the carrier board. The hyperterminal boots up fine - with Vxworks logo. It even detects the RS 422 PMC board on the Power Midas board. I just don't think that it initilizes the RS 422 driver. I am going through the steps that RS 422 people has send me. The first step says... "On Power Pc this configuration has to be done in the BSP> Typically it is done in sysHwInit(). Some BSPs provide pciAutoConfig mechanism, which will do the work. I am trying to configure BAR0 and interrupt line of the device." I just don't know where should I start - trying to configure the BAR 0? How would I know if there is Pciautoconfig? THANKS --------------------------- Newsgroups: comp.os.vxworks Subject: Re: intLock() question... Date: Tue, 20 Nov 2001 10:39:27 -0600 From: PC User Organization: ExecPC Internet - Milwaukee, WI Message-ID: <3bfa89b9$0$65158$272ea4a1@news.execpc.com> References: <3bf9721a$0$30970$272ea4a1@news.execpc.com> I appreciate every one for you help. By removing the printf() I was able to lock the interrupt being generated throught the watchdog expiration. I just was not sure that the printf() was also effected the call like other system calls as prohibited by the documentation. Thanks again. PC User wrote: > Hi Folks, > > I am having problems with locking interrupts. I am doing this on a > power PC architecture. I created a watchdog timer to go off every 3 > seconds. Then I wrote a code to lock task and then lock interrups. The > task locking works fine, but the interrupt locking does not seem to work > since the watchdog timer still goes off during a long print loop that > takes more than 3 seconds. > > I even tested this with an external serial I/O interrupt and still does > not work. Can you tell me what the trick is. Here is a copy of my code > in case you wonder what I am doing. > > Thanks. > > #include "vxWorks.h" > #include "taskLib.h" > #include "semLib.h" > #include "stdio.h" > #include "stdlib.h" > #include "wdlib.h" > #include "time.h" > > /* Globals */ > > int taskId1; > int taskId2; > > SEM_ID semCounting; > SEM_ID semBinary; > WDOG_ID wdID; > > /* Function Prototypes */ > void taskNum1 ( void ); > void taskNum2 ( void ); > void wdISR ( void ); > > void Case_7 (void) > { > int taskCount = 0; > int sts; > > /* Create a watchdog */ > if ( ( wdID = wdCreate() ) == NULL) > { > printf ( "Error in creating watchdog\n" ); > return; > } > > /* Set the timer to go off after 10 seconds */ > if ( wdStart ( wdID, sysClkRateGet() * 3, (FUNCPTR) wdISR, 0 ) == > ERROR ) > { > printf ( "Error in starting the watchdog timer\n" ); > return; > } > > /* Create a binary semaphore with semaphore available and queue tasks > on FIFO basis */ > if ( ( semBinary = semBCreate ( SEM_Q_FIFO, SEM_FULL)) == NULL ) > { > printf ( "Error in Creating Binary Semaphore\n"); > return; > } > else > { > printf ( "Success in Creating Binary Semaphore\n"); > } > > /* Lock the semaphore for scheduling purposes */ > semTake ( semBinary, WAIT_FOREVER ); > > /* spawn the 2 tasks starting with the highest priority task */ > if ( taskId1 = taskSpawn ( "t1", 110, 0x100, 2000, (FUNCPTR) > taskNum1,0,0,0,0,0,0,0,0,0,0 ) == ERROR ) > { > printf ( "Error in spawning taskNum1\n" ); > return; > } > > if ( taskId2 = taskSpawn ( "t2", 100, 0x100, 2000, (FUNCPTR) > taskNum2,0,0,0,0,0,0,0,0,0,0 ) == ERROR ) > { > printf ( "Error in spawning taskNum2\n" ); > return; > } > > } > > void taskNum1 ( void ) > { > static int i = 0, j = 0, lock; > > for ( j = 0; j < 3; j++ ) > { > /* wait indefinitely for semaphore */ > semTake ( semBinary, WAIT_FOREVER ); > > /* Adding a critical section that would prevent the higher priority > task to run until the locking task leaves the critical region */ > if ( taskLock () == OK ) > { > lock = intLock (); > > /* A premitive delay to cause the wd to time out */ > /* A test to see if intLock() works. The ISR should not go off */ > > for ( i = 0; i < 100; i++) > { > printf ( "taskNum1 Running in critical region\n" ); > } > > /* This delay would prove that no matter how long, VxWorks will > not permit any other tasks to run until execution is out of this > critical region. This is compared to the use of task delay in > task two which VxWorks would automatically schedules task one to > start running after a certain amount of delay. So for each task > delay call in taskNum2, taskNum1 gets to run also based on > VxWorks priority and internal schedulings. */ > /*taskDelay ( 20 * sysClkRateGet()); */ > > intUnlock (lock); > taskUnlock (); > } > > /* give up semaphore so the next task can run */ > semGive ( semBinary ); > } > } > > void taskNum2 ( void ) > { > static int i = 0, j = 0; > > semGive ( semBinary ); > > for ( j = 0; j < 3; j++ ) > { > /* wait indefinitely for semaphore */ > semTake ( semBinary, WAIT_FOREVER ); > > for ( i = 0; i < 2; i++) > { > printf ( "taskNum2 Running\n" ); > } > > /* A delay to exercise for the binary semaphore > scheduling capability where without it, each task > will run untill finished based on their priorities > sequentially. */ > taskDelay ( 2 * sysClkRateGet() ); > > /* give up semaphore so the other task can run */ > semGive ( semBinary ); > } > } > > /* This routine goes off every 3 seconds */ > void wdISR ( void ) > { > printf ( "The watchdog timer expired after 3 seconds\n" ); > > /* Re-start timer to go off after 10 seconds */ > if ( wdStart ( wdID, sysClkRateGet() * 3, (FUNCPTR) wdISR, 0 ) == > ERROR ) > { > printf ( "Error in starting the watchdog timer in wdISR\n" ); > } > } --------------------------- Newsgroups: comp.os.vxworks Subject: DOSFS2 MOUNTING Date: Tue, 20 Nov 2001 11:43:48 -0500 From: "John R." Message-ID: <3bfa8834$0$16476$4c41069e@reader1.ash.ops.us.uu.net> When the dos Volumne is mounted via the function fat16VolMount(), there is a call to fat16NFree (&fileDesc);. These two functions are located in dosfsfat.c. The fat16NFree() function takes 3+ minutes to compile the free space on the disk. It counts the free bytes on the disk. I use a six gig disk so I see why it takes so long.This free count is store...I'm not sure where. If I format/initialize the file system then mount the volumne (when I first access a file) I have to wait 3+ minutes for fat16NFree. Once the system is up and running for a while generating disk traffic, when I reboot, the next time I mount the volumne (without formating) the mount is virtually instant and does not require a 3 minute wait. I assume this data got stored in a structure on the disk. Now if I format/initialize, mount the volumne waiting 3 minutes for fat16NFree() and reboot shortly after the mount; the next time I mount the volumne(without formating) I have to wait the 3 minutes again. I don't quite understand what is happening here but I assume the free count data is being stored in disk cache and if I reboot prior to a cahe flush the data is lost. Could someone shed more light on this situation and tell me if and how I can assure the free count data is only gathered once post formatting. Thanks, - -John --------------------------- Newsgroups: comp.os.vxworks Subject: Does fstat() work incorrectly? Date: 20 Nov 2001 09:34:17 -0800 From: maciejm@s3group.com.pl (Maciej) Organization: http://groups.google.com/ Message-ID: <2483f34a.0111200934.1a67d6f2@posting.google.com> Hi, Does anybody know why fstat() function returns incorrect value for file size? For just created file it returns 1006276439 instead of 0 ? I use VxSim full simulator on Tornado Prototyper ver 2.0.2 (evaluation version) installed on my PC with Windows 2000. VxWorks version is 5.4.2. Network facilities are included. Thanks in advance for your help, Maciej - ---------------------------------------------------- Code is as follows: fd = open("the_file.txt", O_CREAT | O_RDWR, 0644); fstat(fd, &sb); printf("FILE SIZE = %lu\n", sb.st_size); --------------------------- Newsgroups: comp.os.vxworks Subject: Re: what's the real size of image Date: Tue, 20 Nov 2001 18:00:07 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9te5ju$o7t$1@uranium.btinternet.com> References: <221caa76.0111191727.38575389@posting.google.com> > When build my vxWorks image,the builder show like this: > "vxWorks: 626396(t) + 30716(d) + 22704(b) = 679816 (1351800 unused)" > .I think the "679816" means the size of this image.But in Windows > Explorer the vxWorks image'size is 1.34M.Will anybody tell me what the > differece is between them and the the real which is the real size of > this image. depends what you mean by 'real' The file size is 1.34Mb, however it contains loads of red tape around the code and data as well as the full symbol table information. the 680k is the amount of space that the image will take up when loaded into memory. the 1.3Mb unused is a random stab at the size the image can get before you get into trouble... but it probably isn't doing the correct check (certainly gives teh wrong figure for my builds) David --------------------------- Newsgroups: comp.os.vxworks Subject: Re: intLock() question... Date: Tue, 20 Nov 2001 18:11:59 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9te6a9$1j2$1@neptunium.btinternet.com> References: <3bf9721a$0$30970$272ea4a1@news.execpc.com> > I am having problems with locking interrupts. I am doing this on a > power PC architecture. I created a watchdog timer to go off every 3 > seconds. Then I wrote a code to lock task and then lock interrups. The > task locking works fine, but the interrupt locking does not seem to work > since the watchdog timer still goes off during a long print loop that > takes more than 3 seconds. This is what you expect.... rtfm.... printf() will block because the serial port output fifo becomes full. At this point you drop into the system idle loop - which will enable interrupts. The taskLock() will stop any other task being scheduled, but you are still in the idle loop. The serial port interrupt ISR has to run to re-enable your task. The timer interrupt has to run to count 3 seconds. If you want your system to lock up solid, use a polling output routine for the serial port. If it is a 16550: while (!(*(uart+5) & 0x40)); *uart=*msg++; if (*(uart+5) & 1) /* rx data - abort your infinite loop..... */ David --------------------------- Newsgroups: comp.os.vxworks Subject: Re: intLock() question... Date: Tue, 20 Nov 2001 18:11:59 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9te6d2$8te$1@plutonium.btinternet.com> References: <3bf9721a$0$30970$272ea4a1@news.execpc.com> > I am having problems with locking interrupts. I am doing this on a > power PC architecture. I created a watchdog timer to go off every 3 > seconds. Then I wrote a code to lock task and then lock interrups. The > task locking works fine, but the interrupt locking does not seem to work > since the watchdog timer still goes off during a long print loop that > takes more than 3 seconds. This is what you expect.... rtfm.... printf() will block because the serial port output fifo becomes full. At this point you drop into the system idle loop - which will enable interrupts. The taskLock() will stop any other task being scheduled, but you are still in the idle loop. The serial port interrupt ISR has to run to re-enable your task. The timer interrupt has to run to count 3 seconds. If you want your system to lock up solid, use a polling output routine for the serial port. If it is a 16550: while (!(*(uart+5) & 0x40)); *uart=*msg++; if (*(uart+5) & 1) /* rx data - abort your infinite loop..... */ David --------------------------- Newsgroups: comp.os.vxworks Subject: Re: clock corruption Date: Tue, 20 Nov 2001 18:16:19 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9te6i9$1tg$1@neptunium.btinternet.com> References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <3BEBA352.9D414CFE@icn.siemens.de> <_ZUG7.17$4k.29463@newsr2.u-net.net> <9bcputs8rv0pmdf3fnrvj42ap32ivcv8nf@4ax.com> <7iaqutgnmf5s9j39tfobmj8r0j9afa7heu@4ax.com> <9soara$k29$1@uranium.btinternet.com> <3BF139D5.BDCEA769@hotmail.com> <6dcK7.14$kI3.6363@newsr2.u-net.net> If you have a system that unexpectedly resets vxTicks, try the trick I suggested last week of 'damaging' the code at the top of qPriListCalibrate. Since the calibrate is done in the context of the code doing the -ve delay the system might stay up long enough.... But you almost certainly need the target shell... David --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Boot a target with my application Date: Tue, 20 Nov 2001 20:11:56 GMT From: "Mike Anderson" Organization: RoadRunner - Cox Message-ID: References: <3BF29114.FE50DE4B@c-s.fr> VxWorks Greetings! "THARAUD Mickaël" wrote in message news:3BF29114.FE50DE4B@c-s.fr... > Hi, > > [snip] > We seek help in this field to resolve the situation. The points on > which we need help concern: > - adequate configuration of VxWorks and/or the BSP for a ROMable image, > > - the generation a ROMable image, > - downloading in Flash of this image, > - activation of downloaded image. > This is a lot of stuff! The short answer is: 1) - adequate configuration of VxWorks and/or the BSP for a ROMable image, It depends. What are you building? Are you using Tornado or building from the command line? What host? 2) - the generation a ROMable image, make vxworks_rom (loads from ROM/FLASH but runs from RAM) make vxworks_rom_res (if you want it run from ROM) 3) - downloading in Flash of this image, It depends. What hardware are you using? Is there a manufacturer's ROM monitor? JTAG interface? Custom board? 4) - activation of downloaded image. It depend ;-). How did you add you app? As an object linked via MACH_EXTRA? A library? Source code? Typically, you'd call the entrypoint of your code in the usrAppInit() function. But it completely depends on the operational concept for how your app is supposed to work. You need to take one of our training classes ;-) HTH, Mike - -- ================================================== T h e P T R G r o u p, I n c. ================================================== Embedded, Real-Time Solutions and Training Mike Anderson mailto:mike@ThePTRGroup.com Chief Scientist http://www.ThePTRGroup.com C: (703) 585-9384 V: (703) 430-3748 ================================================== "Software development is like making a baby... You can't make a baby in one month by impregnating nine women. Some things just take time." --------------------------- Newsgroups: comp.os.vxworks Subject: Re: DOSFS2 MOUNTING Date: 20 Nov 2001 15:41:37 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: <3bfa8834$0$16476$4c41069e@reader1.ash.ops.us.uu.net> Sender: bpringlemeir@DeadDuck >>>>> "John" == John R writes: [snip] John> If I format/initialize the file system then mount the volumne John> (when I first access a file) I have to wait 3+ minutes for John> fat16NFree. Once the system is up and running for a while John> generating disk traffic, when I reboot, the next time I mount John> the volumne (without formating) the mount is virtually instant John> and does not require a 3 minute wait. I assume this data got John> stored in a structure on the disk. Look at the fat16NFree() function you reference. It has the statement "if(freeCount == 0xffffffff)". Inside the logic, it runs through the FAT counter every entry to see if it is free or not. If free count in the volume structure does not equal 0xfffffff, then this function will return almost instantly. Talking too much about dosFs source might be rude to those that don't have it... John> Now if I format/initialize, mount the volumne waiting 3 minutes John> for fat16NFree() and reboot shortly after the mount; the next John> time I mount the volumne(without formating) I have to wait the John> 3 minutes again. John> I don't quite understand what is happening here but I assume John> the free count data is being stored in disk cache and if I John> reboot prior to a cahe flush the data is lost. As was discussed before here, the dosFs system has a dcacheCbio. A CBIO is a block layer that DosFS uses to implement partitions, disk cache, ram disk, etc. Your disk is probably being cached during the format and you must wait for the disk information to leak out to the disk. Dave Korn[*] gave some hint on using dcacheDevTune(). You can use this function to change the disk cache so that it writes to disk almost instantaneously. You could also issue a FLUSH command to the disk device after you have finished formatting. I don't know which FLUSH command, but since you have the source you can find it. regards, Bill Pringlemeir. [* this could be Dave Laight. I get them mixed up because they are both named Dave and they both know what they are talking about. If only one of them was stupid...] - -- You have the right to remain silent -- so shut up! vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html" --------------------------- Newsgroups: comp.os.vxworks Subject: Re: The network stack locks completely solid Date: Tue, 20 Nov 2001 14:33:54 -0600 From: Andrew Johnson Organization: APS, Argonne National Laboratory Message-ID: <3BFABE32.544F3262@aps.anl.gov> References: Chun tae young wrote: > > We are facing a problem of network stack hangs. > We have several server target boards (MVME162P-242E, MC68040) running in > vxWorks5.4 using END(Enhanced Network Driver) and several Clients > (workstation) on Networks. > Both servers and clients are communicate using UDP/IP (Broadcast, unicast). > After some days(3 ~ 7 days) , a target board don't send or receive any > packet. This sounds like a known problem with MVME162P series boards for which you might not have the fix in your BSP - the Petra chip behaves slightly differently when interrupts are disabled than its predecessors did. The solution is to modify the sys596IntDisable routine in sysLib.c so that it sets the interrupt level to zero rather than clearing the interrupt enable bit. Our mv162 bsp uses this definition: void sys596IntDisable ( int unit /* ignored on MVME162 and MVME162LX */ ) { int level; /* The CPU interrupt level is raised prior to modifying the bit in the * MCC device. This is done to avoid a known hardware problem in the * MCC device that can cause spurious interrupts. The newer MVME162P * boards based on the Petra chip don't behave properly when disabled, * so we use Level 0 instead which has the same effect. */ level = intLock (); *MCC_LANC_IRQ_CR &= ~ABORT_IRQ_LEVEL; /*interrupt level 0 => no interrupt*/ intUnlock (level); } - - Andrew - -- Perfection is reached, not when there is no longer anything to add, but when there is no longer anything to take away. - - Antoine de Saint-Exupery --------------------------- Newsgroups: comp.os.vxworks Subject: using -mlongcall for SDRAM more than 32MB/powerpc Date: Tue, 20 Nov 2001 16:54:35 -0500 From: justin zobel Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: <3BFAD11B.77D0BE0B@nospam.com> Sender: bpatel@fwion.com hello, will the use of -mlongcall for compiling bootrom, vxworks.st and application code cause performance degradation due to use of "brlr instruction" instead of "bl instruction" in assembly. Does anyone use SDRAM more than 32MB for powerpc82xx boards, and what is the software performance benchmarks with the use of "-mlongcall" during compilation? justin --------------------------- Newsgroups: comp.os.vxworks Subject: Re: The network stack locks completely solid Date: Wed, 21 Nov 2001 00:33:23 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9tesl8$mg8$1@plutonium.btinternet.com> References: <3BF93BC5.A8FE355A@rti.com> > See SPR #27790 and ask your Wind River contact when they plan to have a fix but don't hold your breath........ --------------------------- Newsgroups: comp.os.vxworks Subject: DNS SERVER ADDRESS Date: Tue, 20 Nov 2001 16:37:29 -0800 From: Naveen Singh Message-ID: <3BFAF749.6DCCB858@tality.com> I am unable to get DNS Server Address though DHCP client. I get the IP address ,dhcp SERVER ADDRESS but I never get DNS Server address Can anybody tell me solution to this. Is there anyothe way to get dns address. thanx --------------------------- Newsgroups: comp.os.vxworks Subject: yur6yu Date: Tue, 20 Nov 2001 16:40:01 -0800 From: Naveen Singh Message-ID: <3BFAF7E1.6D256F98@tality.com> --------------------------- Newsgroups: comp.os.vxworks Subject: Re: what is the meaning of FOREVER? Date: Wed, 21 Nov 2001 00:46:19 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9tetdi$569$1@uranium.btinternet.com> References: <9ta9o5$4m2$1@mail.cn99.com> <3BF8EBD6.2F6586A8@varndellengineering.com> > #define BEGIN { > #define END } other 'useful' macros (from the netbsd source): #define ISSET(a,b) ((a)&(b)) #define SET(a,b) ((a)|=(b)) #define CLR(a,b) ((a)&=~(b)) I've also seen: #define ATOMIC_INC(x) (x++) which isn't quite as stupid - provided the architecture supports the request - - and the compiler generates the expected code! Hunting header files reminds me of checking that code can't exceed array bounds. You have (in C) #define MAX 10 char array[MAX]; for(i=0;i Hi,everyone I'm working on a board of 8260 and scsi(53c895a).Recently a problem puzzlem me .When I added the MMU and cache support,the scsi function returned error.the debug information like below.I don't know why this happen.What does the type of "99" mean? I'm using the ncr810lib. Could anyone give me a hint? ... 0x3df9ad8 (tScsiTask): scsiMgrCompleteReply: thread 0x03df86a8 (status: 0, errno : 0) 0x3d96c10 (scsitask2): scsiRdSecs: 0x3d96c10 (scsitask2): scsi2Transact: 0x3df9ad8 (tScsiTask): scsiMgrRequestProc: client request: 0 0x3df9ad8 (tScsiTask): scsiMgrActivateRequest: thread 0x03df8728 0x3df9ad8 (tScsiTask): ncr810ThreadActivate: thread 0x03df8728: activating 0x3df9ad8 (tScsiTask): ncr810XferParamsCvt: converted to: offset = 0, period = 0 xferParams = 0, clockDivide = 3 0x3df9ad8 (tScsiTask): ncr810ThreadStateSet: thread 0x03df8728: 1 -> 6 0x3df9ad8 (tScsiTask): ncr810Event: received event 99 (thread = 0x03df8728) 0x3df9ad8 (tScsiTask): ncr810ThreadEvent: thread 0x03df8728: received event 99 0x3df9ad8 (tScsiTask): ncr810InitEvent: invalid event type (99) 0x3df9ad8 (tScsiTask): ncr810ThreadEvent: failed to resume thread 0x3df9ad8 (tScsiTask): ncr810ThreadFail: thread 0x03df8728 failed (errno = 36045 01) 0x3df9ad8 (tScsiTask): ncr810ThreadStateSet: thread 0x03df8728: 6 -> 0 0x3df9ad8 (tScsiTask): scsiMgrThreadComplete: thread 0x03df8728 0x3df9ad8 (tScsiTask): scsiMgrReplyProc: client reply: 0 0x3df9ad8 (tScsiTask): scsiMgrCompleteReply: thread 0x03df8728 (status: -1, errn o: 3604501) 0x3d96c10 (scsitask2): scsiCommand: thread execution failed 0x3d96c10 (scsitask2): scsiTransact: scsiCommand ERROR. 0x3d96c10 (scsitask2): scsiRdSecs: 0x3d96c10 (scsitask2): scsi2Transact: 0x3df9ad8 (tScsiTask): scsiMgrRequestProc: client request: 0 0x3df9ad8 (tScsiTask): scsiMgrActivateRequest: thread 0x03df87a8 0x3df9ad8 (tScsiTask): scsiMgrTimeoutProc: thread 0x03df87a8 (state = 1) timed o ut 0x3df9ad8 (tScsiTask): scsiMgrThreadComplete: thread 0x03df87a8 0x3df9ad8 (tScsiTask): scsiMgrReplyProc: client reply: 0 0x3df9ad8 (tScsiTask): scsiMgrCompleteReply: thread 0x03df87a8 (status: -1, errn o: 3604498) 0x3d96c10 (scsitask2): scsiCommand: thread execution failed 0x3d96c10 (scsitask2): scsiTransact: scsiCommand ERROR. 0x3d96c10 (scsitask2): scsiRdSecs: 0x3d96c10 (scsitask2): scsi2Transact: 0x3df9ad8 (tScsiTask): scsiMgrRequestProc: client request: 0 0x3df9ad8 (tScsiTask): scsiMgrActivateRequest: thread 0x03df8828 0x3df9ad8 (tScsiTask): scsiMgrTimeoutProc: thread 0x03df8828 (state = 1) timed o ut 0x3df9ad8 (tScsiTask): scsiMgrThreadComplete: thread 0x03df8828 0x3df9ad8 (tScsiTask): scsiMgrReplyProc: client reply: 0 0x3df9ad8 (tScsiTask): scsiMgrCompleteReply: thread 0x03df8828 (status: -1, errn o: 3604498) 0x3d96c10 (scsitask2): scsiCommand: thread execution failed 0x3d96c10 (scsitask2): scsiTransact: scsiCommand ERROR. 0x3d96c10 (scsitask2): scsiRdSecs: 0x3d96c10 (scsitask2): scsi2Transact: 0x3df9ad8 (tScsiTask): scsiMgrRequestProc: client request: 0 0x3df9ad8 (tScsiTask): scsiMgrActivateRequest: thread 0x03df88a8 0x3df9ad8 (tScsiTask): scsiMgrTimeoutProc: thread 0x03df88a8 (state = 1) timed o ut 0x3df9ad8 (tScsiTask): scsiMgrThreadComplete: thread 0x03df88a8 0x3df9ad8 (tScsiTask): scsiMgrReplyProc: client reply: 0 0x3df9ad8 (tScsiTask): scsiMgrCompleteReply: thread 0x03df88a8 (status: -1, errn o: 3604498) 0x3d96c10 (scsitask2): scsiCommand: thread execution failed 0x3d96c10 (scsitask2): scsiTransact: scsiCommand ERROR. 0x3d96c10 (scsitask2): scsiRdSecs: 0x3d96c10 (scsitask2): scsi2Transact: 0x3df9ad8 (tScsiTask): scsiMgrRequestProc: client request: 0 0x3df9ad8 (tScsiTask): scsiMgrActivateRequest: thread 0x03df8928 0x3df9ad8 (tScsiTask): scsiMgrTimeoutProc: thread 0x03df8928 (state = 1) timed o ut 0x3df9ad8 (tScsiTask): scsiMgrThreadComplete: thread 0x03df8928 0x3df9ad8 (tScsiTask): scsiMgrReplyProc: client reply: 0 0x3df9ad8 (tScsiTask): scsiMgrCompleteReply: thread 0x03df8928 (status: -1, errn o: 3604498) 0x3d96c10 (scsitask2): scsiCommand: thread execution failed 0x3d96c10 (scsitask2): scsiTransact: scsiCommand ERROR. 0x3d96c10 (scsitask2): scsiRdSecs: 0x3d96c10 (scsitask2): scsi2Transact: 0x3df9ad8 (tScsiTask): scsiMgrRequestProc: client request: 0 0x3df9ad8 (tScsiTask): scsiMgrActivateRequest: thread 0x03df89a8 0x3df9ad8 (tScsiTask): scsiMgrTimeoutProc: thread 0x03df89a8 (state = 1) timed o ut 0x3df9ad8 (tScsiTask): scsiMgrThreadComplete: thread 0x03df89a8 0x3df9ad8 (tScsiTask): scsiMgrReplyProc: client reply: 0 0x3df9ad8 (tScsiTask): scsiMgrCompleteReply: thread 0x03df89a8 (status: -1, errn o: 3604498) 0x3d96c10 (scsitask2): scsiCommand: thread execution failed 0x3d96c10 (scsitask2): scsiTransact: scsiCommand ERROR. 0x3d96c10 (scsitask2): scsiRdSecs: 0x3d96c10 (scsitask2): scsi2Transact: 0x3df9ad8 (tScsiTask): scsiMgrRequestProc: client request: 0 0x3df9ad8 (tScsiTask): scsiMgrActivateRequest: thread 0x03df8228 0x3df9ad8 (tScsiTask): scsiMgrTimeoutProc: thread 0x03df8228 (state = 1) timed o ut 0x3df9ad8 (tScsiTask): scsiMgrThreadComplete: thread 0x03df8228 0x3df9ad8 (tScsiTask): scsiMgrReplyProc: client reply: 0 0x3df9ad8 (tScsiTask): scsiMgrCompleteReply: thread 0x03df8228 (status: -1, errn o: 3604498) 0x3d96c10 (scsitask2): scsiCommand: thread execution failed 0x3d96c10 (scsitask2): scsiTransact: scsiCommand ERROR. 0x3d96c10 (scsitask2): scsiRdSecs: 0x3d96c10 (scsitask2): scsi2Transact: 0x3df9ad8 (tScsiTask): scsiMgrRequestProc: client request: 0 0x3df9ad8 (tScsiTask): scsiMgrActivateRequest: thread 0x03df82a8 0x3df9ad8 (tScsiTask): scsiMgrTimeoutProc: thread 0x03df82a8 (state = 1) timed o ut 0x3df9ad8 (tScsiTask): scsiMgrThreadComplete: thread 0x03df82a8 0x3df9ad8 (tScsiTask): scsiMgrReplyProc: client reply: 0 0x3df9ad8 (tScsiTask): scsiMgrCompleteReply: thread 0x03df82a8 (status: -1, errn o: 3604498) 0x3d96c10 (scsitask2): scsiCommand: thread execution failed 0x3d96c10 (scsitask2): scsiTransact: scsiCommand ERROR. 0x3d96c10 (scsitask2): scsiRdSecs: 0x3d96c10 (scsitask2): scsi2Transact: 0x3df9ad8 (tScsiTask): scsiMgrRequestProc: client request: 0 0x3df9ad8 (tScsiTask): scsiMgrActivateRequest: thread 0x03df8328 0x3df9ad8 (tScsiTask): scsiMgrTimeoutProc: thread 0x03df8328 (state = 1) timed o ut 0x3df9ad8 (tScsiTask): scsiMgrThreadComplete: thread 0x03df8328 0x3df9ad8 (tScsiTask): scsiMgrReplyProc: client reply: 0 0x3df9ad8 (tScsiTask): scsiMgrCompleteReply: thread 0x03df8328 (status: -1, errn o: 3604498) ... --------------------------- Newsgroups: comp.os.vxworks Subject: What is the difference between SIUMCR[GBL] and FCRx[GBL] in 8260? Date: 20 Nov 2001 18:20:07 -0800 From: errant@263.net (Jerry Wong) Organization: http://groups.google.com/ Message-ID: Hi,everyone Who can tell me what is the meaning of the GBL in SIUMCR and in FCRx? According to the 8260 manual,when siumcr[ESE]is set, this pin is configurated as GBL and the External snoop is enable. while in FCC chapter,it also describes when the FCRx[GBL]is set,snooping is enabled.Then,what is the defference between the two GBL and snooping?Or wether the SIUMCR[GBL] is globle and the FCRx[GBL] is only affect FCC ? If we set SIUMCR[ESE]=0,and set FCRx[GBL]=1,what will happen?is snooping enable or not? Thanks in advance! --------------------------- Newsgroups: comp.os.vxworks Subject: Can we do Raw socket programming ? Date: Tue, 20 Nov 2001 19:24:05 -0600 From: "Shesha Bhushan" Organization: Arizona State University Message-ID: <9tf39s$5li$1@news.asu.edu> Hi, Can we do raw socket programming on VxWorks ? If Yes can any body give me the link for the meterial that aids in doing raw socket programming. Thanks in advance Shesha Bhushan Arizona State University Research Assistant. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Cygwin GDB Users ? Date: 20 Nov 2001 22:30:57 -0800 From: dward@appiancom.com (David Ward) Organization: http://groups.google.com/ Message-ID: <679c25ff.0111202230.22c7a5b6@posting.google.com> References: <679c25ff.0111161023.422de97c@posting.google.com> "Dave Korn" wrote in message news:... > David Ward wrote in message > <679c25ff.0111161023.422de97c@posting.google.com>... > >Now that I appear to have the source for the ancient WRS-hacked GDB > >(the one that uses WTX), I was thinking of trying to build it for > >Cygwin. Has anyone gone down this path ? > > > >Of course I'd rather use GDB 5 but there is no WTX there, and it's > >unclear > >if the old WDB/RPC interface is still supported in the vxworks target > >- anyone know ? > > > >Thank you, > >Dave Ward > > What a coincidence! I just finally managed to get my hands on that source > as well. I know for an absolute fact that the WDB stuff is dead and buried, > so my plan was to port over the module that interfaces the gdb internal > monitor protocol to the targetserver API into the GDB5/insight combination. > I don't however have any kind of idea when I might or might not have time to > do it though. > > DaveK Thanks Dave. Yes I believe it could take awhile, but GDB5 would be sweet. Too bad Wind River won't take the time to do it. After all the GNU code they took they really should give something *useful* back. Hmmm, no more WDB... so we are stuck with the target server. They didn't give me the source for that ! FYI - their old GDB source did build under Cygwin with a little cajoling. There were a few issues I had to run down. I used the GDB packaged with Cygwin to debug it. Anyway now with a true Xemacs under Cygwin, GUD is happy. Even the SIGINT works ! DaveW --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Does fstat() work incorrectly? Date: 21 Nov 2001 08:12:21 GMT From: Johan Borkhuis Organization: Agere Systems Message-ID: References: <2483f34a.0111200934.1a67d6f2@posting.google.com> maciejm@s3group.com.pl (Maciej) wrote: > Hi, > > Does anybody know why fstat() function returns incorrect value for file > size? For just created file it returns 1006276439 instead of 0 ? > > ---------------------------------------------------- > Code is as follows: > > fd = open("the_file.txt", O_CREAT | O_RDWR, 0644); > fstat(fd, &sb); > printf("FILE SIZE = %lu\n", sb.st_size); What is the return code of fstat? 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: What is ? Date: 21 Nov 2001 00:46:25 -0800 From: errant@263.net (Jerry Wong) Organization: http://groups.google.com/ Message-ID: Hi, everyone Excuse me to post SCSI problem again. I was rather upset by the SCSI configuration. In sysScsi.c, there are codes like below: #if (USER_D_CACHE_MODE & CACHE_SNOOP_ENABLE) scsiCacheSnoopEnable ((SCSI_CTRL *) pSysScsiCtrl); #else scsiCacheSnoopDisable ((SCSI_CTRL *) pSysScsiCtrl); #endif Does this mean if cache mode is COPY_BACK | SNOOP_ENABLE , the scsiCacheSnoop should be enable,and if the mode is WRITE_THROUGH,we should not enable the scsi cache snoop?But in my bsp,if I disable scsi snoop(cache mode WRITRE_THOUGH), the scsi configuration would hang at " scsiPhysDevCreate() ".the debug infomation showed it was stopped after issuing a "inquiry" command. 0x3fffdf8 (tRootTask): scsiReqSense: 0x3fffdf8 (tRootTask): scsi2Transact: 0x3df8488 (tScsiTask): scsiMgrRequestProc: client request: 0 0x3df8488 (tScsiTask): scsiMgrActivateRequest: thread 0x03df6bd8 0x3df8488 (tScsiTask): ncr810ThreadActivate: thread 0x03df6bd8: activating 0x3df8488 (tScsiTask): ncr810XferParamsCvt: converted to: offset = 0, period = 0 xferParams = 0, clockDivide = 3 interrupt: Uninitialized interrupt interrupt: ncr810EventTypeGet:Interrupt status istat = 0x01, SCSI status0 = 0x00 , SCSI status1 = 0x00DMA status = 0x84 logTask: 5 log messages lost. interrupt: ncr810EventTypeGet: script completed. interrupt: ncr810Intr: DSA = 0xb3df965c, DSP = 0xb01b16b8, type = 0. interrupt: ncr810Intr: state 1 -> 2 0x3df8488 (tScsiTask): ncr810ThreadStateSet: thread 0x03df6bd8: 1 -> 6 interrupt: Uninitialized interrupt interrupt: ncr810EventTypeGet:Interrupt status istat = 0x09, SCSI status0 = 0x00 , SCSI status1 = 0x00DMA status = 0x84 interrupt: ncr810EventTypeGet: script completed. interrupt: ncr810Intr: DSA = 0xb3df96a8, DSP = 0xb01b1798, type = 10. interrupt: ncr810Intr: state 2 -> 0 0x3df8488 (tScsiTask): ncr810Event: received event 10 (thread = 0x03df6bd8) 0x 3df8488data access ( tScsiTaskExceptio): n current instrucncr810ThreadEvent: ttion address: 0xhrea00d 0x19c5880 3df6bdMachine Status Regis8ter: 0x: received e0000vent 903010 Dat0xa Access Register:3df8488 0x (ffffff1atScsiTask ): ConditiWIDE DATA TRANSFER Ron Register: 0xEQUES44000040T message ou t xferWidth = D1ata storage interru where 0 => 8 bits 1pt Register: 0x => 1000 06... 90300x 3df8Task: 4880x (3fffdf8tScsiTask "): tRootTncr810Resume: threadask: 0x" 03df6bd8: state 0 -> 2 interrupt: Uninitialized interrupt interrupt: ncr810EventTypeGet:Interrupt status istat = 0x09, SCSI status0 = 0x00 , SCSI status1 = 0x00DMA status = 0x84 interrupt: ncr810EventTypeGet: script completed. interrupt: ncr810Intr: DSA = 0xb3df96a8, DSP = 0xb01b1948, type = 12. interrupt: ncr810Intr: state 2 -> 0 0x3df8488 (tScsiTask): ncr810Event: received event 12 (thread = 0x03df6bd8) 0x3df8488 (tScsiTask): ncr810ThreadEvent: thread 0x03df6bd8: received event 12 0x3df8488 (tScsiTask): ncr810Resume: thread: 0x03df6bd8: state 0 -> 2 interrupt: Uninitialized interrupt interrupt: ncr810EventTypeGet:Interrupt status istat = 0x09, SCSI status0 = 0x00 , SCSI status1 = 0x00DMA status = 0x84 interrupt: ncr810EventTypeGet: script completed. interrupt: ncr810Intr: DSA = 0xb3df96a8, DSP = 0xb01b1970, type = 11. interrupt: ncr810Intr: state 2 -> 0 0x3df8488 (tScsiTask): ncr810Event: received event 11 (thread = 0x03df6bd8) 0x3df8488 (tScsiTask): ncr810ThreadEvent: thread 0x03df6bd8: received event 11 0x3df8488 (tScsiTask): WIDE DATA TRANSFER REQUEST message in xferWidth = 1 where 0 => 8 bits 1 => 16... 0x3df8488 (tScsiTask): ncr810Resume: thread: 0x03df6bd8: state 0 -> 2 interrupt: Uninitialized interrupt interrupt: ncr810EventTypeGet:Interrupt status istat = 0x09, SCSI status0 = 0x10 , SCSI status1 = 0x00DMA status = 0x84 interrupt: ncr810EventTypeGet: script completed. interrupt: ncr810Intr: DSA = 0xb3df96a8, DSP = 0xb01b18e0, type = 21. interrupt: ncr810Intr: state 2 -> 1 interrupt: Uninitialized interrupt interrupt: ncr810EventTypeGet:Interrupt status istat = 0x09, SCSI status0 = 0x00 , SCSI status1 = 0x00DMA status = 0x84 interrupt: ncr810EventTypeGet: script completed. interrupt: ncr810Intr: DSA = 0xb3df965c, DSP = 0xb01b1618, type = 22. interrupt: ncr810Intr: state 1 -> 0 0x3df8488 (tScsiTask): ncr810Event: received event 21 (thread = 0x03df6bd8) 0x3df8488 (tScsiTask): ncr810ThreadEvent: thread 0x03df6bd8: received event 21 0x3df8488 (tScsiTask): DISCONNECT message in 0x3df8488 (tScsiTask): ncr810ThreadStateSet: thread 0x03df6bd8: 6 -> 2 0x3df8488 (tScsiTask): ncr810Event: received event 22 (thread = 0x00000000) 0x3df8488 (tScsiTask): ncr810ThreadEvent: thread 0x03df86c8: received event 22 0x3df8488 (tScsiTask): ncr810ThreadStateSet: thread 0x03df86c8: 0 -> 4 0x3df8488 (tScsiTask): ncr810ThreadReconnect: reconnecting thread 0x03df6bd8 0x3df8488 (tScsiTask): ncr810Resume: thread: 0x03df6bd8: state 0 -> 2 0x3df8488 (tScsiTask): ncr810ThreadStateSet: thread 0x03df6bd8: 2 -> 6 0x3df8488 (tScsiTask): ncr810ThreadStateSet: thread 0x03df86c8: 4 -> 0 0x3df8488 (tScsiTask): ncr810Event: received event 20 (thread = 0x03df6bd8) 0x3df8488 (tScsiTask): ncr810ThreadEvent: thread 0x03df6bd8: received event 20 0x3df8488 (tScsiTask): COMMAND COMPLETE message in 0x3df8488 (tScsiTask): ncr810ThreadComplete: thread 0x03df6bd8 completed 0x3df8488 (tScsiTask): ncr810ThreadStateSet: thread 0x03df6bd8: 6 -> 0 0x3df8488 (tScsiTask): scsiMgrThreadComplete: thread 0x03df6bd8 0x3df8488 (tScsiTask): scsiMgrReplyProc: client reply: 0 0x3df8488 (tScsiTask): scsiMgrCompleteReply: thread 0x03df6bd8 (status: 0, errno : 0) 0x3fffdf8 (tRootTask): scsiPhysDevCreate: reqSenseData[0] = 0 0x3fffdf8 (tRootTask): scsiInquiry: <- hang at this time Who can tell me what is the use of "scsiCacheSnoopEnable"? --------------------------- Newsgroups: comp.os.vxworks Subject: Source Code to detect Pointer bugs in C ode Date: 21 Nov 2001 01:52:40 -0800 From: monishabarooah@yahoo.com (Monisha Barooah) Organization: http://groups.google.com/ Message-ID: <68ef19de.0111210152.ac5f08e@posting.google.com> Hi, I wanted a tool or any source code which helps in detecting pointer bugs in C code. I would like if I can get any source code regarding it in any OS so that I can port to vxworks if required. Regards, Monisha. --------------------------- Newsgroups: comp.os.vxworks Subject: error message!!! [what's wrong?] Date: Wed, 21 Nov 2001 19:50:14 +0900 From: "it2xpert" Organization: ONSE Telecom Message-ID: <9tg0su$cs9$1@hiline.shinbiro.com> hi ... My company desinged a new mpc850sr board.. The brief specification is following. cpu:mpc850sr flash rom : 4M (ffc00000 ~ ffffffff) sdram:16M......(00000000 ~ 00ffffff) [ RAM_HIGH_ADRS = 00E00000 RAM_LOW_ADRS = 00100000 ] os : vxworks 5.4 I used the Vision ICE for debug tool. When i input the power in my board, the following error message is occurred. (in addition, i use the vision Click for the debug application) - ---------------------------------------------------------------------------- bootConfig.c -> usrInit() -> kernelInit ((FUNCPTR) usrRoot, ROOT_STACK_SIZE, #ifdef INCLUDE_WDB (char *) FREE_RAM_ADRS + WDB_POOL_SIZE, #else (char *) FREE_RAM_ADRS, #endif sysMemTop (), ISR_STACK_SIZE, INT_LOCK_LEVEL); /* start the kernel specifying usrRoot as the root task */ [in the BSP ] this funtion(kernelInit) is executed, error is occurred. the Vision Click application generate the following error messages.... - --------------------------------------------------------------------- !ERROR! - Unexpected Exception(s) Taken at 00000000 Exception(s) Reported are (ECR) : Software Emulation, Current Address Pointer (SRR0) : 00000000 Machine State Register (MSR) : 00001002 Data Address Register (DAR) : 00000000 Data Interrupt Register (DSISR) : 00000000 Break Address Register (BAR) : 00000000 Interrupt Cause Register (ICR) : 00004000 PPC Instruction at $00000000 : 0xFFFDFF00 : ??? DC.L 0xfffdff00 - ---------------------------------------------------------------------- then, i open the Funciton call windows in the Vision click. message is .... - ------------------------------------------------------------------------ +f{} bootConfig.c\usrInit() Line #943(0x00e0063c) - f{} (0x00e35edc) [kernellnit +0x144] - f{} (0x00e3a900) [taskActiveate + 0x10] - f{} (0x00e3b608) [taskResume +0x1c8] - f{} (0x00e3779c) [reschedule +0x2c] --f{} makebuf.c Line #281 (0x00000000) ##### <- error position - ---------------------------------------------------------------------------- i wonder that this problems is occurred by the hardware or software?? because this board is not confirmed. i wait the seniors advices . thanks for your interesting !! have a good day !! --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Wed Nov 21 05:20:07 2001 From: "Mohan Kumar S - CTD, Chennai." Date: Wed Nov 21 05:20:09 PST 2001 Subject: GDB Hi, Can anyone tell me how to invoke GDB in Vxworks? Thanks Mohan From vxwexplo-errs@csg.lbl.gov Wed Nov 21 14:05:24 2001 From: "Smith, Mike" Date: Wed Nov 21 14:05:26 PST 2001 Subject: Disabling Machine Checks on PPC750 (VxWorks) This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_000_01C172D8.974EA2A0 Content-Type: text/plain; charset="iso-8859-1" Hi, I'm trying to deal with a VME slave that crashes, but my target stays up. As part of my design I've been trying to disable machine check exceptions on a PowerPC 750 target by clearing the EMCP, DBP, EBA and EBD bits in the HID0 register using gethid0/sethid0 functions. Unfortunately, I'm still getting machine checks when I intentionally read from a bad vme address. I've also read the SRR1 register in my machine check exception handler and found that none of the HID0 maskable conditions seem to be causing the exception -- although I'm not sure I can fully trust this finding. Does anyone know of different/better way to disable machine checks? Once the checks are disabled I have an ISR for SYSFAIL to handle detection of the failed board -- although that's another story. Thanks in advance, Mike ------_=_NextPart_000_01C172D8.974EA2A0 Content-Type: image/jpeg; name="Notebook.jpg" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Notebook.jpg" Content-ID: <210455021@21112001-2c5b> /9j/4AAQSkZJRgABAgEASABIAAD/7QSyUGhvdG9zaG9wIDMuMAA4QklNA+kAAAAAAHgAAwAAAEgA SAAAAAADBgJS//f/9wMPAlsDRwUoA/wAAgAAAEgASAAAAAAC2AIoAAEAAABkAAAAAQADAwMAAAAB Jw8AAQABAAAAAAAAAAAAAAAAYAgAGQGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4 QklNA+0AAAAAABAASAAAAAEAAQBIAAAAAQABOEJJTQPzAAAAAAAIAAAAAAAAAAA4QklNBAoAAAAA AAEAADhCSU0nEAAAAAAACgABAAAAAAAAAAI4QklNA/UAAAAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEA L2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklN A/gAAAAAAHAAAP////////////////////////////8D6AAAAAD///////////////////////// ////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////// //8D6AAAOEJJTQQAAAAAAAACAAA4QklNBAIAAAAAAAIAADhCSU0ECAAAAAAAEAAAAAEAAAJAAAAC QAAAAAA4QklNBAkAAAAAAqIAAAABAAAAgAAAAAIAAAGAAAADAAAAAoYAGAAB/9j/4AAQSkZJRgAB AgEASABIAAD//gAnRmlsZSB3cml0dGVuIGJ5IEFkb2JlIFBob3Rvc2hvcKggNC4wAP/uAA5BZG9i ZQBkgAAAAAH/2wCEAAwICAgJCAwJCQwRCwoLERUPDAwPFRgTExUTExgRDAwMDAwMEQwMDAwMDAwM DAwMDAwMDAwMDAwMDAwMDAwMDAwBDQsLDQ4NEA4OEBQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwR DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/AABEIAAIAgAMBIgACEQEDEQH/3QAEAAj/xAE/ AAABBQEBAQEBAQAAAAAAAAADAAECBAUGBwgJCgsBAAEFAQEBAQEBAAAAAAAAAAEAAgMEBQYHCAkK CxAAAQQBAwIEAgUHBggFAwwzAQACEQMEIRIxBUFRYRMicYEyBhSRobFCIyQVUsFiMzRygtFDByWS U/Dh8WNzNRaisoMmRJNUZEXCo3Q2F9JV4mXys4TD03Xj80YnlKSFtJXE1OT0pbXF1eX1VmZ2hpam tsbW5vY3R1dnd4eXp7fH1+f3EQACAgECBAQDBAUGBwcGBTUBAAIRAyExEgRBUWFxIhMFMoGRFKGx QiPBUtHwMyRi4XKCkkNTFWNzNPElBhaisoMHJjXC0kSTVKMXZEVVNnRl4vKzhMPTdePzRpSkhbSV xNTk9KW1xdXl9VZmdoaWprbG1ub2JzdHV2d3h5ent8f/2gAMAwEAAhEDEQA/APROif0Kv6X81T9L j+ar/m/5K0F8rJJIfqlJfKySKn6pSXyskkp+qUl8rJJKfqlJfKySSn6pSXyskkp+qUl8rJJKfqlJ fKySSn//2ThCSU0EBgAAAAAABwABAAAAAQEA//4AJ0ZpbGUgd3JpdHRlbiBieSBBZG9iZSBQaG90 b3Nob3CoIDQuMAD/7gAOQWRvYmUAZIAAAAAB/9sAhAAMCAgNCQ0VDAwVGhQQFBogGxoaGyAiFxcX FxciEQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQ0NDREOERsRERsUDg4OFBQO Dg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAAYBaAD ASIAAhEBAxEB/90ABABa/8QBPwAAAQUBAQEBAQEAAAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEB AQAAAAAAAAABAAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYIBQMMMwEAAhEDBCESMQVBUWETInGBMgYU kaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkSTVGRFwqN0NhfSVeJl8rOEw9N14/NGJ5Sk hbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2N0dXZ3eHl6e3x9fn9xEAAgIBAgQEAwQFBgcHBgU1AQAC EQMhMRIEQVFhcSITBTKBkRShsUIjwVLR8DMkYuFygpJDUxVjczTxJQYWorKDByY1wtJEk1SjF2RF VTZ0ZeLys4TD03Xj80aUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9ic3R1dnd4eXp7fH/9oADAMB AAIRAxEAPwCv0T+n4/8AxrP+qavW15J0U/r+P/xrP+qavWg8eKElsWSHZfXWYe4A+ZUMjIFTJBE/ Fc1kXbg63mJP+amk0uesGqdc19Sup2ZrLmWGQxwLR4B35v8A0V0qKlJJJIqUkkkkpSSSSSlJJJJK UkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSS SSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJ KUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpS SSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJ JKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkp SSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJ JJKUkkkkpSSSSSn/0J9G6oKn04zKKXOdYA6x7d1kOP8Ag/3Hs/MXY/sOl/0hYfCT/wCQavnZJArQ /S1HTXVN21+weYa7/vqzcroeQ+Q3XcYOn/mbF89pIaJfpboXRK+k1uDQPUsILyONPotZ/JatRfKq SSX6qSXyqkip+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJ KfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp +qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6 qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqp JfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl 8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXy qkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKq SSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJ KfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp +qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6 qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn/2Q== ------_=_NextPart_000_01C172D8.974EA2A0-- From vxwexplo-errs@csg.lbl.gov Wed Nov 21 18:42:29 2001 From: Haruyuki Ohtani Date: Wed Nov 21 18:42:32 PST 2001 Subject: need a suggestion to adopt STL Hello, I'm pretty new to VxWorks. I'm using Tornado 2.1. I've heard the STL implemetation shipped with Tornado is not good. Is it true ? Should I avoid to use STL in VxWorks ? Regards, --- Haru (Haruyuki Ohtani) From vxwexplo-errs@csg.lbl.gov Wed Nov 21 19:32:36 2001 From: "Jignesh, Shah (IE10)" Date: Wed Nov 21 19:32:38 PST 2001 Subject: About archieve Hi, Please can you tell me how to make an archieve in Tornado? Where can i find the information regarding the same? Thanx in advance. Warm Regards, Jignesh JIGNESH SHAH Senior Software Engineer Honeywell India Software Operation Pvt Ltd 151/1, Doraisanipalya, Bannerghatta Road Bangalore 560 076 Tel: # 91-80-6585751 Ext 2033 Email : jignesh.shah@honeywell.com From vxwexplo-errs@csg.lbl.gov Thu Nov 22 04:03:16 2001 From: Vxworks Exploder Date: Thu Nov 22 04:03:19 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Thu Nov 22 04:03:12 PST 2001 Subject: Trying to reuse a port between two sockets Subject: Making a .lib file Subject: Re: Probrem with TCP/IP Subject: PING johan [Re: Speeding up compressed builds] Subject: Re: Can we do Raw socket programming ? Subject: Re: using -mlongcall for SDRAM more than 32MB/powerpc Subject: Re: Does fstat() work incorrectly? Subject: Re: clock corruption Subject: Re: Probrem with TCP/IP Subject: Re: ccppc for Vxworks again Subject: Re: Target Server Console freezes after hitting Properties menu Subject: Re: semaphore question Subject: Re: The network stack locks completely solid Subject: Re: Address Question Subject: Re: printf and task stack Subject: Re: The network stack locks completely solid Subject: Re: error message!!! [what's wrong?] Subject: Re: semaphore question Subject: Re: using -mlongcall for SDRAM more than 32MB/powerpc Subject: symFindByValue too slow! Alternatives? Subject: Re: What is ? Subject: Large symbol tables Subject: DNS Address through DHCP Subject: need help with shell I/O (scanf) Subject: PPP problem Subject: Re: using -mlongcall for SDRAM more than 32MB/powerpc Subject: Re: Large symbol tables Subject: Re: semaphore question ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Trying to reuse a port between two sockets Date: 21 Nov 2001 05:50:33 -0800 From: lee.glanville@gd-decisionsystems.com (Lee Glanville) Organization: http://groups.google.com/ Message-ID: We have two threads, one for recieving UDP messages and one for sending them. The the socket for the receive thread is bound to a specific port and we want to be able to bind the socket used in the transmit thread to the same port. Can this be done? We have tried using the SO_REUSEADDR option for both sockets. The code used looks like the following: int optVal = 1; int optlength; Error = setsockopt (pSocket -> Socket, SOL_SOCKET, SO_REUSEADDR, (char *) &optVal, sizeof(optVal)); if(Error != 0) { printf("Error setting socket options\n"); } optlength = sizeof(optVal); Error = getsockopt (pSocket -> Socket, SOL_SOCKET, SO_REUSEADDR, (char *)&optVal, &optlength); printf("The socket option is set to %i\n", optVal); if(Error != 0) { printf("Error getting socket options\n"); } There are no errors returned yet the getsockopt call returns a 4. Is this right? After the above code we bind the first socket successfully but the bind for the second socket fails. help. --------------------------- Newsgroups: comp.os.vxworks Subject: Making a .lib file Date: 21 Nov 2001 06:30:25 -0800 From: trosto@hotmail.com (Tal) Organization: http://groups.google.com/ Message-ID: <705c7b34.0111210630.7e8b496a@posting.google.com> Hi, I need your help with making a .lib file in Tornado IDE (with a GNU compiler). TIA, Tal --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Probrem with TCP/IP Date: Wed, 21 Nov 2001 14:26:21 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <9t0iqn$h44$1@gavrilo.mtu.ru> <9kSI7.34$c72.73269@newsr2.u-net.net> <9t2nu7$2jdi$1@gavrilo.mtu.ru> Shrike wrote in message <9t2nu7$2jdi$1@gavrilo.mtu.ru>... >Hi! > >We shutdown the connection before we finish tasks. So, we think that we >loose data DURING the transfer. Another case is that the our program on the >host can't process OnReceive notification messages in time or loose them (if >it is possible). Ok, so what kind of transfers are you doing ? TCP should not be possible to lose data during a transfer, not by the network stack, anyway: the rx end only sends ACKs up as far as it has successfully received, the tx end might carry on sending until the receiver's window fills, but after that if the rx end doesn't expand the window by ACKing some more at the trailing edge, the tx end won't send any new data and will try resending until the rx finally does ACK the missing data. IOW, there is no way a tcp connection can lose data in the middle of a send and carry on going as if nothing happened, since sooner rather than later the whole conversation will just lock up. I'd start to suspect a logic error in your application. DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: PING johan [Re: Speeding up compressed builds] Date: Wed, 21 Nov 2001 14:43:36 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <9t3nbc$n1m$1@plutonium.btinternet.com> David Laight wrote in message <9t3nbc$n1m$1@plutonium.btinternet.com>... >For a variety of reasons I've had to do a few build on a slow system. > >One bit that seemed exceptionally slow is the 'binToAsm' call (just >after the 'deflate' generating vxWorks.Z.s) >The above is terribly slow... Yeh, massive use of 'sed' is one of the reason gnu configure scripts take so long, it's a big overhead. >Ages ago I sped up 'munch' - by grepping out most of the symbols it >isn't interested in... > >nmarm vxWorks.tmp | tee vxWorks.nm | grep " __" | munch > ctdt.c > >(I use the symbol table from this stage for a variety of things...) AHA! Johan, when I wrote the post that you quoted in FAQ 1.1: >Q: When compiling I see the following output in the build-window: I did mention that it was a trick I remembered reading but didn't know who said it first. Seems like we found him, give Dave a credit too! BTW Dave, I think GLOBAL is a better discriminator for munching than "__", since a) it'll break for targets such as ppc that don't prefix an underscore to assembly symbols, and b) it'll match any function that begins with one or more underscores in C (on those platforms that do prefix the assembler label) or two or more (on those that don't). DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Can we do Raw socket programming ? Date: 21 Nov 2001 06:52:55 -0800 From: monishabarooah@yahoo.com (Monisha Barooah) Organization: http://groups.google.com/ Message-ID: <68ef19de.0111210652.66a94a93@posting.google.com> References: <9tf39s$5li$1@news.asu.edu> "Shesha Bhushan" wrote in message news:<9tf39s$5li$1@news.asu.edu>... > Hi, > Can we do raw socket programming on VxWorks ? > If Yes can any body give me the link for the meterial that aids in doing > raw socket programming. > > Thanks in advance > > Shesha Bhushan > Arizona State University > Research Assistant. Hi Shesha, Yes you can do Raw Socket Programming in Vxworks. The method is the same as you do in Linux. Except that you need to take the extra care of disabling the ICMP option in the bootable Vxworks image. Regards, Monisha. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: using -mlongcall for SDRAM more than 32MB/powerpc Date: Wed, 21 Nov 2001 15:02:37 GMT From: "Mike Anderson" Organization: RoadRunner - Cox Message-ID: References: <3BFAD11B.77D0BE0B@nospam.com> VxWorks Greetings! "justin zobel" wrote in message news:3BFAD11B.77D0BE0B@nospam.com... > hello, > > will the use of -mlongcall for compiling bootrom, vxworks.st and > application code cause performance degradation due to use of "brlr > instruction" instead of "bl instruction" in assembly. Does anyone use > SDRAM more than 32MB for powerpc82xx boards, and what is the software > performance benchmarks with the use of "-mlongcall" during compilation? > Typically, the bootrom and VxWorks itself will not have to be built with -mlongcall because they will not be making calls into code beyond the 32MB limit. The only place where this could be a problem for VxWorks is if you install any O/S hooks that point to your functions that are living beyond the 32MB boundary. The obvious answer to this is to load that code first before adding the next 32MB chunk to the system memory pool. Then all of the call backs will be within "bl" range. Your applications code can then be compiled with -mlongcalls to get access to the region beyond 32MB. HTH, Mike - -- - -- ======================================================= T h e P T R G r o u p, I n c. ======================================================= Embedded, Real-Time Solutions and Training Mike Anderson mailto:mike@ThePTRGroup.com Chief Scientist http://www.ThePTRGroup.com C: (703) 585-9384 V: (703) 430-3748 ======================================================= "Software development is like making a baby... You can't make a baby in one month by impregnating nine women. Some things just take time." --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Does fstat() work incorrectly? Date: 21 Nov 2001 07:18:56 -0800 From: maciejm@s3group.com.pl (Maciej) Organization: http://groups.google.com/ Message-ID: <2483f34a.0111210718.5969576f@posting.google.com> References: <2483f34a.0111200934.1a67d6f2@posting.google.com> Johan Borkhuis wrote in message news:... > > > Hi, > > > > Does anybody know why fstat() function returns incorrect value for file > > size? For just created file it returns 1006276439 instead of 0 ? > > > > ---------------------------------------------------- > > Code is as follows: > > > > fd = open("the_file.txt", O_CREAT | O_RDWR, 0644); > > fstat(fd, &sb); > > printf("FILE SIZE = %lu\n", sb.st_size); > > What is the return code of fstat? > > Groeten, > Johan Function fstat() returns 0 (OK). Thanks, Maciej --------------------------- Newsgroups: comp.os.vxworks Subject: Re: clock corruption Date: Wed, 21 Nov 2001 15:20:22 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <3BE9357B.5C95906F@icn.siemens.de> <3huiut8186a8enrk0iesrn3msqb097o95g@4ax.com> <3BEBA352.9D414CFE@icn.siemens.de> <_ZUG7.17$4k.29463@newsr2.u-net.net> <9bcputs8rv0pmdf3fnrvj42ap32ivcv8nf@4ax.com> <7iaqutgnmf5s9j39tfobmj8r0j9afa7heu@4ax.com> <9soara$k29$1@uranium.btinternet.com> <3BF139D5.BDCEA769@hotmail.com> <6dcK7.14$kI3.6363@newsr2.u-net.net> <9te6i9$1tg$1@neptunium.btintern David Laight wrote in message <9te6i9$1tg$1@neptunium.btinternet.com>... >If you have a system that unexpectedly resets vxTicks, try the trick >I suggested last week of 'damaging' the code at the top of >qPriListCalibrate. > >Since the calibrate is done in the context of the code doing the -ve >delay the system might stay up long enough.... > >But you almost certainly need the target shell... Do you mean Message-ID: <9soct3$2m1$1@neptunium.btinternet.com> ? I don't see anything there that I understand as 'damaging' it, though if you mean 'somehow make it crash if/when it gets there' I think I could manage that.... If you mean some other post, you'll have to post a reference for me. Completeness has picked up on my swerver lately but I think it still misses a few posts. DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Probrem with TCP/IP Date: Wed, 21 Nov 2001 16:22:27 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <9t0iqn$h44$1@gavrilo.mtu.ru> <9kSI7.34$c72.73269@newsr2.u-net.net> <9t2nu7$2jdi$1@gavrilo.mtu.ru> Shrike wrote in message <9t2nu7$2jdi$1@gavrilo.mtu.ru>... >Hi! > >We shutdown the connection before we finish tasks. So, we think that we >loose data DURING the transfer. Another case is that the our program on the >host can't process OnReceive notification messages in time or loose them (if >it is possible). Ah, I forgot something in my other post. As well as doing a graceful close with shutdown() you might need to use setsockopt() to set the SO_LINGER flag. DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: ccppc for Vxworks again Date: Wed, 21 Nov 2001 15:27:50 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <8b05312a.0111091800.4f840f8b@posting.google.com> Gary Zhang wrote in message <8b05312a.0111091800.4f840f8b@posting.google.com>... >The default wrs ccppc (2.7.2-960126) supports STL, but it >does not support namespace. > >I downloaded ccppc (2.95.4 -20010319) from DaveK's website >http://www.lysergic.u-net.com/homepage.html. > >It supports namespace alright. but it has two problems >when I use it as it is. >1) it is quiet. it does not generate errors. Why ? > when it fails, it does so without generating .o file. > >2) it stops supporting template ! > It simply stops half way. Hi Gary, Sorry for taking so long to reply; I did receive your mail but I have been very busy. I never used templates before myself, so I don't understand the issues about them, but I know it is complicated. Have you looked into the -frepo option? There is a document somewhere on windsurf about how to make templates work, if you haven't read it you should look for it - I didn't read it because I don't know about templates, so I don't know if it would solve your problem. Is it possible that your template code has not been instantiated into the .o module so there is simply nothing to output but no error either ? Can you post the example junk9.cpp ? >Alternatively, what is the mostly compliant C++ compiler for Vxworks + >PPC ? I did once come across an article on the web somewhere that compared various compilers and their STL implementations for compliance, Gcc wasn't bad but it wasn't the best; I'm afraid I don't remember where but you could probably find good information with a web search. DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Target Server Console freezes after hitting Properties menu Date: Wed, 21 Nov 2001 15:30:48 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <3bf195bb$0$11563$724ebb72@reader2.ash.ops.us.uu.net> Johan Borkhuis wrote in message ... >"Mark Galecki" wrote: >> we have Tornado 2.0 installation on NT 4.0 host. I attach a Target >> Server to a target running VxWorks, and I make it show a console. Now, >> on console, which is a DOS CommandPrompt Window, I hit the Properties >> menu item (which is used to change the layout, colors and fonts). >> >> Upon this, the Properties Dialog freezes. I can shutdown the target >> server and then the console vanishes and I can restart the target >> server. > >I could be a file-permissions problem. When you open the properties window >I think Windows is trying to open a file, and from some stations it is >allowed to, from others it is not. ...which you could diagnose by using the Filemon utility from www.sysinternals.com. Alternatively, you could just adopt the WDDTT solution. DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: semaphore question Date: Wed, 21 Nov 2001 16:34:07 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <3e255a7a.0111180019.409b845c@posting.google.com> <3bf790db$0$11209$4c41069e@reader0.ash.ops.us.uu.net> Johan Borkhuis wrote in message ... >"Gary M" wrote: > >> 1. No. That's your responsibility. Never assume that the OS will clean >> up your mess. >> 2. Actually, that is the expected output given a single semaphore >> synchronizing two tasks at the same priority. When task1 gives the >> semaphore, it will not cause task2 to run, and task1 will reenter the >> for-loop and reclaim the semaphore again. The correct implementation >> requires two binary semaphores, sem1 and sem2. sem1 would be created >> full, sem2 as empty. task1 would take sem1, do its work, and give sem2. >> task2 would take sem2, do its work, and give sem1. This method >> guarantees alternating execution of the tasks irregardless of their >> priorities. > >There is another way to do this: add a taskDelay(0) after the semGive. This >will force the current task at the end of the ready queue, and allows the >other task to run. Didn't we just have this discussion and decide that taskDelay(0) didn't work and the best you could do was taskDelay(1), which means the first task wouldn't get rescheduled until the next tick even if the second task completed really quick ? DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: The network stack locks completely solid Date: 21 Nov 2001 13:09:19 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: <3BF93BC5.A8FE355A@rti.com> <9tesl8$mg8$1@plutonium.btinternet.com> Sender: bpringlemeir@DeadDuck >> See SPR #27790 and ask your Wind River contact when they plan to I have encountered a problem where I have the network task hanging. On my target, I have "tyCo/0" and "tyCo/5" connecting to PPP sessions 0 and 1. The session 0 (tPPP0, tPPP0Wrt, etc) is invoked in passive mode a boot time and is connected to via RAS etc and used with the Tornado Tools. We have added an Ethernet chip and the PPP0 is generally unused. The PPP1 does an active connect (client) to an ISP. I made a custom image that disabled the PPP0 and put a shell on the /tyCo/O instead. I have configured vxWorks to have symbols in the target as well as the network code, WDB, etc running. We were getting the network to lock periodically. These factors seem to contribute to the locks. Having PPP0 in the passive mode, waiting for a connection. pppDelete 0 will delete this connection and lower the lock frequency. Having many interrupts in system. I am not sure if the interrupts must be networks related (ethernet/tty drivers). Having interrupts marked as pre-emptable. Turning on PPP debug statements and running WDB in network mode (as opposed to END). The only one that solves the problem is to turn of the PPP debug. The lock always occurs when PPP1 is connecting to a host. By using the custom image with the shell on `tyCo/0'. We connect with the debugger via ethernet. I set the shell I/O to an fd associated with `/tyCo/0' (using ioTaskStdSet?). The other I/O goes to a target server (vio) and is transfered over the network. Eventually I come to a state where, tWdbTask PEND wdbUdpSocketIfInit+1e8 (select call) tNetTask PEND printf, write, isoWrite+B4 tPPP1 PEND printf, write, isoWrite+B4 tPPP1Wrt PEND vxTaskEntry+28 AppTask PEND printf, write, isoWrite+B4 These are stack traces from an ARM 710A cpu. I have only included tasks that are pending. (UGL is also pending, put I can use it by issuing command from the shell). I think that there is some sort of dead-lock in a PPP connect/disconnect sequence. Unfortunately the built-in shell does not have `w' or taskWait... functions, so I can not see a definitive deadlock. I tried spelunking the TID structure. tWdbTask and AppTask had the same selectSem partition (show on TID+0x90). However, eventually I entered a wrong command and crashed the shell. I have also observed lockups on PPP0 when dosfs/tffs is formatting a flash device; this is locking interrupts for whatever reason on our device. I don't believe that PPP0 should have debug enabled. Also, if PPP0 is used to debug will the connection to PPP1 is happening, we experience the lock every time with pre-emptive interrupts. It does not happen as often with pre-emption turned off. Is it possible that this is related to the SPR shown? I am using an END driver in all cases. I would also be interested to know if anyone else has experienced network lockups during PPP connect/disconnect sequences. This information was difficult to come by. I hope it helps someone; making interrupts non-preemptable _ALMOST_ eliminates the problem. It only happens once in about 120 PPP connects/disconnects. With few interrupts on the system, the test code has run over a weekend executing a 600-700 times [the ISP really likes us]! regards, Bill Pringlemeir. - -- Don't you realise that whales are fun? You make me sick. vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html" --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Address Question Date: Wed, 21 Nov 2001 16:36:25 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: Bill Pringlemeir wrote in message ... >>>>>> "Young" == Young writes: > > Young> I have to know the Address for Text, Data and Bss Region of > Young> VxWorks Image. moduleShow() Function just display those > Young> Regions, but I can't Use Those Values. > > Young> Does Anyone Know the method to Get and Use the Address for > Young> Text, Data and Bss Region of VxWorks? > >Please read your manual. Look under the vxWorks Reference manual. >It is on your hard drive; something like, > > "file:///C|/Tornado/docs/vxworks/ref/moduleLib.html" Hey Bill, I tried your link but it's 404. Musta been shut down for spamming... DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: printf and task stack Date: Wed, 21 Nov 2001 16:52:26 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <3BF91C3D.388A2D21@nthwave.com> ted wrote in message <3BF91C3D.388A2D21@nthwave.com>... >folks, > >According to section3.5.3 of vxworks programmer's guide - "using the >current task's stack for message formatting takes up significant stack >space". Does this statement imply using printf for standard output to >console takes up significant stack space? I observe the target shell and >telnet daemon crash when too may printfs (with taskDelay in between >printfs) is used to dump output to console. It could add a couple of KB to your maximum stack usage, but I've never known either of those two to fail for that reason; what kind of crash is it? I regularly spew out megs and megs of printfs as fast as I can and nothing goes wrong. Any chance you might manage to get an exception handler to call checkStack() for you before the whole thing keels over ? > Will redirecting the task >output to a file with ioTaskStdSet/ioGlobalStdSet be more useful and >efficient to dump debug printfs? I suspect you have an underlying problem worthy of further investigation. I don't see that fprintf to a file would use less stack than printf to stdout, but logMsg is a fairly worthy substitute in extremis. DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: The network stack locks completely solid Date: Wed, 21 Nov 2001 16:44:29 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <3BF93BC5.A8FE355A@rti.com> <9tesl8$mg8$1@plutonium.btinternet.com> David Laight wrote in message <9tesl8$mg8$1@plutonium.btinternet.com>... >> See SPR #27790 and ask your Wind River contact when they plan to have a >fix > >but don't hold your breath........ > considering they are now up to SPR # 70048 and haven't fixed it yet... DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: error message!!! [what's wrong?] Date: Wed, 21 Nov 2001 12:59:52 -0800 From: "Gary M" Message-ID: <3bfc1644$0$22580$4c41069e@reader1.ash.ops.us.uu.net> References: <9tg0su$cs9$1@hiline.shinbiro.com> Reply-To: "Gary M" Actually, it looks like your board is working fairly well, since it seems to be surviving kernel initialization. The problem appears to occur when it invokes the usrRoot task. You might try setting a breakpoint on the usrRoot entry point to see if you get that far. If not, try breaking earlier in the initialization process. An address of 0x00000000 sometimes indicates either a bad stack frame or indirect jump pointer (containing 0x00000000). Good luck. "it2xpert" wrote in message news:9tg0su$cs9$1@hiline.shinbiro.com... > hi ... > My company desinged a new mpc850sr board.. > The brief specification is following. > cpu:mpc850sr > flash rom : 4M (ffc00000 ~ ffffffff) > sdram:16M......(00000000 ~ 00ffffff) > [ RAM_HIGH_ADRS = 00E00000 > RAM_LOW_ADRS = 00100000 ] > os : vxworks 5.4 > > I used the Vision ICE for debug tool. > > When i input the power in my board, the following error message is occurred. > (in addition, i use the vision Click for the debug application) > -------------------------------------------------------------------------- - -- > bootConfig.c -> usrInit() -> > kernelInit ((FUNCPTR) usrRoot, ROOT_STACK_SIZE, > #ifdef INCLUDE_WDB > (char *) FREE_RAM_ADRS + WDB_POOL_SIZE, > #else > (char *) FREE_RAM_ADRS, > #endif > sysMemTop (), ISR_STACK_SIZE, INT_LOCK_LEVEL); > /* start the kernel specifying usrRoot as the root task */ > [in the BSP ] > > this funtion(kernelInit) is executed, error is occurred. the Vision Click > application generate the following error messages.... > --------------------------------------------------------------------- > !ERROR! - Unexpected Exception(s) Taken at 00000000 > Exception(s) Reported are (ECR) : Software Emulation, > Current Address Pointer (SRR0) : 00000000 > Machine State Register (MSR) : 00001002 > Data Address Register (DAR) : 00000000 > Data Interrupt Register (DSISR) : 00000000 > Break Address Register (BAR) : 00000000 > Interrupt Cause Register (ICR) : 00004000 > PPC Instruction at $00000000 : 0xFFFDFF00 : ??? DC.L 0xfffdff00 > ---------------------------------------------------------------------- > > then, i open the Funciton call windows in the Vision click. message is .... > ------------------------------------------------------------------------ > +f{} bootConfig.c\usrInit() Line #943(0x00e0063c) > - f{} (0x00e35edc) [kernellnit +0x144] > - f{} (0x00e3a900) [taskActiveate + 0x10] > - f{} (0x00e3b608) [taskResume +0x1c8] > - f{} (0x00e3779c) [reschedule +0x2c] > --f{} makebuf.c Line #281 (0x00000000) ##### <- error position > -------------------------------------------------------------------------- - -- > > i wonder that this problems is occurred by the hardware or software?? > because this board is not confirmed. > > i wait the seniors advices . > > thanks for your interesting !! > > have a good day !! > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: semaphore question Date: Wed, 21 Nov 2001 13:05:05 -0800 From: "Gary M" Message-ID: <3bfc177f$0$22582$4c41069e@reader1.ash.ops.us.uu.net> References: <3e255a7a.0111180019.409b845c@posting.google.com> <3bf790db$0$11209$4c41069e@reader0.ash.ops.us.uu.net> Reply-To: "Gary M" "Dave Korn" wrote in message news:jDQK7.64$ZO3.91188@newsr2.u-net.net... > Johan Borkhuis wrote in message ... > > > >There is another way to do this: add a taskDelay(0) after the semGive. This > >will force the current task at the end of the ready queue, and allows the > >other task to run. > > Didn't we just have this discussion and decide that taskDelay(0) didn't work > and the best you could do was taskDelay(1), which means the first task > wouldn't get rescheduled until the next tick even if the second task > completed really quick ? > I'm not fond of taskDelay(1) approach, simply because it adds a timing dependency, whereas using two semaphores has no timing dependencies. After all, a tick can be a really "long" time (1/60 of a second), depending on the target. taskDelay(0) is implementation dependent, so it works on old VRTX systems but not on VxWorks. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: using -mlongcall for SDRAM more than 32MB/powerpc Date: Wed, 21 Nov 2001 21:59:48 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9th81j$pnt$1@uranium.btinternet.com> References: <3BFAD11B.77D0BE0B@nospam.com> > > > > will the use of -mlongcall for compiling bootrom, vxworks.st and > > application code cause performance degradation due to use of "brlr > > instruction" instead of "bl instruction" in assembly. Does anyone use > > SDRAM more than 32MB for powerpc82xx boards, and what is the software > > performance benchmarks with the use of "-mlongcall" during compilation? > > > > Typically, the bootrom and VxWorks itself will not have to be built > with -mlongcall because they will not be making calls into code beyond > the 32MB limit. true... > The only place where this could be a problem for VxWorks > is if you install any O/S hooks that point to your functions that are > living beyond the 32MB boundary. wrong - these are all indirect calls and don't (on any architecture I know of) have any restriction. It is a problem if you have to link and vxWorks library code with your application in order for it to load. > The obvious answer to this is to load > that code first before adding the next 32MB chunk to the system memory > pool. Then all of the call backs will be within "bl" range. Trouble is that fragments the memory pool - right in the middle! > Your applications code can then be compiled with -mlongcalls to get > access to the region beyond 32MB. When loaded beyond 32Mb it has to be compiled with -mlongcalls in order to call routines in the normal kernel. The vxWorks dynamic loader should generate the extra 'hook' code so that these modules will link - it's not actually too hard (unless you are loading something that is 64Mb) David --------------------------- Newsgroups: comp.os.vxworks Subject: symFindByValue too slow! Alternatives? Date: Wed, 21 Nov 2001 18:26:15 -0500 From: "Macleod, Randy [CAR:CW31:EXCH]" Organization: Nortel Networks Message-ID: <3BFC3817.E9D986F6@americasm01.nt.com> Hi, I'm generating stack traces using trcStack() and I want to convert from the function address to a function name using the symbol table. Typically, I'll call symFindByValue() 5-10 times. Each call takes >1000 us (since it just does a linear search). This is too long for my application. I could: 1. Collect the list of symbols and then use symEach() and check each of my symbols thereby reducing the number of passes. 2. Get the addresses with trcStack and convert to function names in a lower priority task. This is okay in some cases. 3. At load time, build a tree, skiplist, whatever on the list of symbols to do faster indexing by value. Anyone got a better idea? Is there something already in vxWorks that does the reverse lookup in ~50 us? Thanks in advance, // Randy - - - - - The axis of the universe is irony. - - - - - --------------------------- Newsgroups: comp.os.vxworks Subject: Re: What is ? Date: Thu, 22 Nov 2001 10:15:15 +1030 From: Tim Shaw Organization: Defence Science and Technology Organisation Message-ID: <3BFC3C8B.1AAB65B8@dsto.defence.gov.au> References: Jerry, Many SCSI devices use DMA for transferring data from memory to the scsi device. Depending on the chip set and configuration, cache snooping will automatically ensure that the DMA transfer from main memory will be consistent with data held in a cache (ie the cache will intervene when cached data is accessed). If your board does not support this in hardware, then the scsi driver must ensure consistency, so you use scsiCacheSnoopDisable. If the hardware supports snooping, then use scsiCacheSnoopEnable. Write through caches write data to main memory every time that data is written to cache, so main memory is (nearly) always consistent with cached data. Write-back (or copy back) only writes data to main memory if the cache line is to be replaced and one or more elements in the line has been modified. So data in main memory may be different to data in a cache, therefore, the cache line must be flushed (either with hardware or software) before the memory can be accessed with a DMA transfer. HTH Tim Jerry Wong wrote: > Hi, everyone > Excuse me to post SCSI problem again. I was rather upset by the > SCSI configuration. > In sysScsi.c, there are codes like below: > > #if (USER_D_CACHE_MODE & CACHE_SNOOP_ENABLE) > scsiCacheSnoopEnable ((SCSI_CTRL *) pSysScsiCtrl); > #else > scsiCacheSnoopDisable ((SCSI_CTRL *) pSysScsiCtrl); > #endif > > Does this mean if cache mode is COPY_BACK | SNOOP_ENABLE , the > scsiCacheSnoop should be enable,and if the mode is WRITE_THROUGH,we > should not enable the scsi cache snoop?But in my bsp,if I disable scsi > snoop(cache mode WRITRE_THOUGH), the scsi configuration would hang at > " scsiPhysDevCreate() ".the debug infomation showed it was stopped > after issuing a "inquiry" command. > > 0x3fffdf8 (tRootTask): scsiReqSense: > 0x3fffdf8 (tRootTask): scsi2Transact: > 0x3df8488 (tScsiTask): scsiMgrRequestProc: client request: 0 > 0x3df8488 (tScsiTask): scsiMgrActivateRequest: thread 0x03df6bd8 > 0x3df8488 (tScsiTask): ncr810ThreadActivate: thread 0x03df6bd8: > activating > 0x3df8488 (tScsiTask): ncr810XferParamsCvt: converted to: offset = > 0, period > = 0 > xferParams = 0, clockDivide = 3 > interrupt: Uninitialized interrupt > interrupt: ncr810EventTypeGet:Interrupt status istat = 0x01, SCSI > status0 = 0x00 > , SCSI status1 = 0x00DMA status = 0x84 > logTask: 5 log messages lost. > interrupt: ncr810EventTypeGet: script completed. > interrupt: ncr810Intr: DSA = 0xb3df965c, DSP = 0xb01b16b8, type = 0. > interrupt: ncr810Intr: state 1 -> 2 > 0x3df8488 (tScsiTask): ncr810ThreadStateSet: thread 0x03df6bd8: 1 -> 6 > interrupt: Uninitialized interrupt > interrupt: ncr810EventTypeGet:Interrupt status istat = 0x09, SCSI > status0 = 0x00 > , SCSI status1 = 0x00DMA status = 0x84 > interrupt: ncr810EventTypeGet: script completed. > interrupt: ncr810Intr: DSA = 0xb3df96a8, DSP = 0xb01b1798, type = 10. > interrupt: ncr810Intr: state 2 -> 0 > 0x3df8488 (tScsiTask): ncr810Event: received event 10 (thread = > 0x03df6bd8) > 0x > 3df8488data access ( > tScsiTaskExceptio): n current instrucncr810ThreadEvent: ttion address: > 0xhrea00d > 0x19c5880 > 3df6bdMachine Status Regis8ter: 0x: received e0000vent 903010 > > Dat0xa Access Register:3df8488 0x (ffffff1atScsiTask > ): ConditiWIDE DATA TRANSFER Ron Register: 0xEQUES44000040T message ou > t > xferWidth = D1ata storage interru where 0 => 8 bits 1pt Register: > 0x => 1000 > 06... > 90300x > 3df8Task: 4880x (3fffdf8tScsiTask "): tRootTncr810Resume: threadask: > 0x" > 03df6bd8: state 0 -> 2 > interrupt: Uninitialized interrupt > interrupt: ncr810EventTypeGet:Interrupt status istat = 0x09, SCSI > status0 = 0x00 > , SCSI status1 = 0x00DMA status = 0x84 > interrupt: ncr810EventTypeGet: script completed. > interrupt: ncr810Intr: DSA = 0xb3df96a8, DSP = 0xb01b1948, type = 12. > interrupt: ncr810Intr: state 2 -> 0 > 0x3df8488 (tScsiTask): ncr810Event: received event 12 (thread = > 0x03df6bd8) > 0x3df8488 (tScsiTask): ncr810ThreadEvent: thread 0x03df6bd8: received > event 12 > 0x3df8488 (tScsiTask): ncr810Resume: thread: 0x03df6bd8: state 0 -> 2 > interrupt: Uninitialized interrupt > interrupt: ncr810EventTypeGet:Interrupt status istat = 0x09, SCSI > status0 = 0x00 > , SCSI status1 = 0x00DMA status = 0x84 > interrupt: ncr810EventTypeGet: script completed. > interrupt: ncr810Intr: DSA = 0xb3df96a8, DSP = 0xb01b1970, type = 11. > interrupt: ncr810Intr: state 2 -> 0 > 0x3df8488 (tScsiTask): ncr810Event: received event 11 (thread = > 0x03df6bd8) > 0x3df8488 (tScsiTask): ncr810ThreadEvent: thread 0x03df6bd8: received > event 11 > 0x3df8488 (tScsiTask): WIDE DATA TRANSFER REQUEST message in > xferWidth = 1 where 0 => 8 bits 1 => 16... > 0x3df8488 (tScsiTask): ncr810Resume: thread: 0x03df6bd8: state 0 -> 2 > interrupt: Uninitialized interrupt > interrupt: ncr810EventTypeGet:Interrupt status istat = 0x09, SCSI > status0 = 0x10 > , SCSI status1 = 0x00DMA status = 0x84 > interrupt: ncr810EventTypeGet: script completed. > interrupt: ncr810Intr: DSA = 0xb3df96a8, DSP = 0xb01b18e0, type = 21. > interrupt: ncr810Intr: state 2 -> 1 > interrupt: Uninitialized interrupt > interrupt: ncr810EventTypeGet:Interrupt status istat = 0x09, SCSI > status0 = 0x00 > , SCSI status1 = 0x00DMA status = 0x84 > interrupt: ncr810EventTypeGet: script completed. > interrupt: ncr810Intr: DSA = 0xb3df965c, DSP = 0xb01b1618, type = 22. > interrupt: ncr810Intr: state 1 -> 0 > 0x3df8488 (tScsiTask): ncr810Event: received event 21 (thread = > 0x03df6bd8) > 0x3df8488 (tScsiTask): ncr810ThreadEvent: thread 0x03df6bd8: received > event 21 > 0x3df8488 (tScsiTask): DISCONNECT message in > 0x3df8488 (tScsiTask): ncr810ThreadStateSet: thread 0x03df6bd8: 6 -> 2 > 0x3df8488 (tScsiTask): ncr810Event: received event 22 (thread = > 0x00000000) > 0x3df8488 (tScsiTask): ncr810ThreadEvent: thread 0x03df86c8: received > event 22 > 0x3df8488 (tScsiTask): ncr810ThreadStateSet: thread 0x03df86c8: 0 -> 4 > 0x3df8488 (tScsiTask): ncr810ThreadReconnect: reconnecting thread > 0x03df6bd8 > 0x3df8488 (tScsiTask): ncr810Resume: thread: 0x03df6bd8: state 0 -> 2 > 0x3df8488 (tScsiTask): ncr810ThreadStateSet: thread 0x03df6bd8: 2 -> 6 > 0x3df8488 (tScsiTask): ncr810ThreadStateSet: thread 0x03df86c8: 4 -> 0 > 0x3df8488 (tScsiTask): ncr810Event: received event 20 (thread = > 0x03df6bd8) > 0x3df8488 (tScsiTask): ncr810ThreadEvent: thread 0x03df6bd8: received > event 20 > 0x3df8488 (tScsiTask): COMMAND COMPLETE message in > 0x3df8488 (tScsiTask): ncr810ThreadComplete: thread 0x03df6bd8 > completed > 0x3df8488 (tScsiTask): ncr810ThreadStateSet: thread 0x03df6bd8: 6 -> 0 > 0x3df8488 (tScsiTask): scsiMgrThreadComplete: thread 0x03df6bd8 > 0x3df8488 (tScsiTask): scsiMgrReplyProc: client reply: 0 > 0x3df8488 (tScsiTask): scsiMgrCompleteReply: thread 0x03df6bd8 > (status: 0, errno > : 0) > 0x3fffdf8 (tRootTask): scsiPhysDevCreate: reqSenseData[0] = 0 > 0x3fffdf8 (tRootTask): scsiInquiry: <- hang at this time > > Who can tell me what is the use of "scsiCacheSnoopEnable"? --------------------------- Newsgroups: comp.os.vxworks Subject: Large symbol tables Date: Wed, 21 Nov 2001 23:55:14 GMT From: "Don Dewar" Message-ID: Has anyone seen any problems with very large symbol tables corrupting memory or stacks. I am seeing a case where everytime I load a specific .out file that I often see global static variables either not initialized correctly or being overwritten with the same garbage data every time. The only thing that distinguishes this .out from any other is that it is very large and its symbol table is also very large. Any pointers would be appreciated. - -- Don --------------------------- Newsgroups: comp.os.vxworks Subject: DNS Address through DHCP Date: Wed, 21 Nov 2001 17:13:53 -0800 From: "naveen" Message-ID: <3bfc5142$1@news.cadence.com> Hi I am trying to configure network after system comes up via DHCP .My client gets the ip address and network is configured ,but when I try to look for DNS address it is some random value.Just wanted to know did anybody had this problem before.Is there any other way to get DNS server address. Thanx Naveen --------------------------- Newsgroups: comp.os.vxworks Subject: need help with shell I/O (scanf) Date: Wed, 21 Nov 2001 21:20:38 -0500 From: RBailey Organization: NASA LaRC Message-ID: <3BFC60F6.9ABED695@larc.nasa.gov> I am a VxWorks newbie. Using Tornado II on a WinNT host with MVME 2604 target. The project builds and downloads OK. I am developing a 'C' - based downloadable application and am having trouble with shells and I/O. I have been successful in changing the priority of "tshell" so that it is low enough that the host shell is no longer "eating" what is typed in. I spawn the task and it printf's a prompt for some user input, and then I try to use scanf to grab the user input. I see the prompt, and I see the response characters in the shell as I type them. However, when I hit nothing happens. I used the debugger to verify execution to that point. Any suggestions? Thanks for any help. R. Bailey NASA LaRC r.m.bailey@larc.nasa.gov --------------------------- Newsgroups: comp.os.vxworks Subject: PPP problem Date: Thu, 22 Nov 2001 11:13:54 +0100 From: Emmanuel Herbreteau Organization: SEPRO Robotique (BEP) Message-ID: <3BFCCFE2.A83CBCEF@sepro-robotique.com> Hi everyone, We are trying to connect our target (MPC823) to a PC using the network stack over a RS232 link (PPP). The PC establish (and close) the link with the target using the "network remote access" functions of Windows NT4. It works but when the PPP link is going up, we always get 11 CRC errors (the first PPP packets) and have to wait for 20". Then, the link works flawlessy, even for a very long time doing FTP, ping, etc... The PPP link on the PC side is configure to use : - - no software compression - - PPP LCP compression - - IP header compression - - fixed IP - - no gateway, no DNS The PPP link on the Target side is set as : pppOpt.flags=OPT_SILENT_MODE |OPT_PASSIVE_MODE |OPT_DEFAULTROUTE |OPT_NO_MRU |OPT_NO_IP |OPT_NO_PC |OPT_NO_PAP |OPT_NO_CHAP; pppOpt.netmask = "255.255.255.0"; pppInit(0,"/tyCo/0","192.168.254.254","192.168.254.1",38400,&pppOpt,NULL); Does anyone know why we get this eleven CRC errors at start-up ? What is the optimum settting to do PPP between a PC and a VxWorks Target ? Thanks a lot. Emmanuel --------------------------- Newsgroups: comp.os.vxworks Subject: Re: using -mlongcall for SDRAM more than 32MB/powerpc Date: Thu, 22 Nov 2001 11:31:22 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <3BFAD11B.77D0BE0B@nospam.com> <9th81j$pnt$1@uranium.btinternet.com> David Laight wrote in message <9th81j$pnt$1@uranium.btinternet.com>... >> The obvious answer to this is to load >> that code first before adding the next 32MB chunk to the system memory >> pool. Then all of the call backs will be within "bl" range. > >Trouble is that fragments the memory pool - right in the middle! In my case, I decided the obvious answer was just to use -mlongcall and not care. It only adds a tiny overhead to each function call - a couple of extra instructions to assemble the branch destination in a register; conceivably that'll affect register allocation and cause something to spill to the stack that otherwise wouldn't but if your function is so busy that there are *no* temporary regs available at all, then pretty much anything you do to it would cause that same problem. So the overhead amounts to no more than a few words and a few clock cycles per function call sequence, max. It's already dwarfed by the work involved in getting the args into the right places in registers and on the stack. The only way that kind of overhead would be a problem is if you're calling some function tens-to-hundreds of thousands of times a second. In which case you should probably inline it, or otherwise attack the design problem from a new angle. The compiler isn't stupid, either: the function pointer that it assembles is treated just like any other useful constant in your code, and it will keep it in a register for as long as possible rather than re-construct it each time if there's a register to keep it handy on (though this may depend on optimization level). DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Large symbol tables Date: Thu, 22 Nov 2001 11:45:04 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: Don Dewar wrote in message ... >Has anyone seen any problems with very large symbol tables corrupting memory >or stacks. I am seeing a case where everytime I load a specific .out file >that I often see global static variables either not initialized correctly or >being overwritten with the same garbage data every time. The only thing >that distinguishes this .out from any other is that it is very large and its >symbol table is also very large. Any pointers would be appreciated. > >-- Don How big is big ? I work with a project that has a 14 meg .out that grows to 95 meg when debug info is included; merely loading it has never caused any trouble (but see the last para of this post). Could you have a static class object whose constructor is being called but the code has a bug and trashes something or assumes something else might have been initialised first? To test this possibility (assuming you're using any c++ at all, that is!), call cplusXtorSet(0) before loading the .out to make sure the c-tors aren't called automatically. If your load then succeeds, but things go wrong when you call cplusCtors("modulename"), you'll know that is the trouble. Oh, another thing is if you're loading via the target server, you may be surprised at how enormous you need to make the target server cache before it'll all work right. With a 95 meg .out the targetserver cache had to be about 128 meg before it would download correctly. DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: semaphore question Date: Thu, 22 Nov 2001 11:22:11 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <3e255a7a.0111180019.409b845c@posting.google.com> <3bf790db$0$11209$4c41069e@reader0.ash.ops.us.uu.net> <3bfc177f$0$22582$4c41069e@reader1.ash.ops.us.uu.net> Gary M wrote in message <3bfc177f$0$22582$4c41069e@reader1.ash.ops.us.uu.net>... > >"Dave Korn" wrote in message >news:jDQK7.64$ZO3.91188@newsr2.u-net.net... >> Johan Borkhuis wrote in message ... >> > >> >There is another way to do this: add a taskDelay(0) after the semGive. >This >> >will force the current task at the end of the ready queue, and allows the >> >other task to run. >> >> Didn't we just have this discussion and decide that taskDelay(0) didn't >work >> and the best you could do was taskDelay(1), which means the first task >> wouldn't get rescheduled until the next tick even if the second task >> completed really quick ? >> > >I'm not fond of taskDelay(1) approach, simply because it adds a timing >dependency, whereas using two semaphores has no timing dependencies. After >all, a tick can be a really "long" time (1/60 of a second), depending on the >target. Oh, I absolutely agree that the correctest approach is to use mutually interlocking semaphores rather than using the scheduler's known behaviour to implement a crude approximation to the same! However, the basic principle of *relying* on the behaviour of the scheduler is reasonable: vxWorks is after all a deterministic RTOS. It may even be the case that the reason taskDelay (0) puts the current task back at the front rather than end of the ready list is because that's what it did in some original iteration and ever since the behaviour has been maintained for consistency's sake. >taskDelay(0) is implementation dependent, so it works on old VRTX systems >but not on VxWorks. Heh, VRTX, there's a blast from the past, I used to work on that in '95... DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Thu Nov 22 05:21:39 2001 From: "Partha" Date: Thu Nov 22 05:21:41 PST 2001 Subject: VxWorks CPU/Memory usage analysis This is a multi-part message in MIME format. ------=_NextPart_000_0007_01C17387.441CC580 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi all, This 's my first query to this group. Hope I'll get good ideas from = you. My job is to write an utility on VxWorks which will track the total = CPU & memory resources used. If possible, it'll list out the resource = usage by each task running on the system. Else, at least it should = inform when the resource usage crosses some threshold value. I wonder how reliable the utility could be & which algorithm could = be most efficient(right now, I 've no idea ). Also, does vxWorks export = any API for this purpose? I am using version 5.3.1 Pls send ur reply to my e-mail address partha@ionicmicro.com Thanks & Regards Partha =20 ------=_NextPart_000_0007_01C17387.441CC580 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi all,
    This 's my first = query to this=20 group. Hope I'll get good ideas from you.
    My job is to write = an utility on=20 VxWorks which will track the total CPU & memory resources used. If = possible,=20 it'll list out the resource usage by each task running on the system. = Else, at=20 least it should inform when the resource usage crosses some threshold=20 value.
    I wonder how = reliable the=20 utility could be & which algorithm could be most = efficient(right now, I=20 've no idea ). Also, does vxWorks export any API for this purpose? I am = using=20 version 5.3.1
    Pls send ur reply to = my e-mail=20 address partha@ionicmicro.com
 
Thanks & Regards
Partha
    =
------=_NextPart_000_0007_01C17387.441CC580-- From vxwexplo-errs@csg.lbl.gov Thu Nov 22 17:26:09 2001 From: lig Date: Thu Nov 22 17:26:11 PST 2001 Subject: Does the comp.os.vxworks group can be accessed as news group? From vxwexplo-errs@csg.lbl.gov Thu Nov 22 23:31:47 2001 From: "Avkash Chauhan" Date: Thu Nov 22 23:31:50 PST 2001 Subject: problem related with vxWorks and TCP/IP Hi all, Please see below for my problem related with vxWorks and TCP/IP. My Setup: ---------- I have Tornado prototyper 2.0.2 running in my w2k machine. I did set TCP/IP and WindRiver Loopback adaptor for my vxsim project. I set End attach interface support and End interface support along with PPP & PPP boot in my build. I am getting confirmation that both the tcp/ip and loopback initilization is success as below: ---- VxSim Output --------------------------- Attached TCP/IP interface to nt unit 0 Attaching interface lo0...done VxWorks ..... ... .. ------------ end of output -------------------- What if i do Ping ------------------- I did set my loopback adaptor setting to my current w2k host named Hawaii ip - 90.0.0.1) when i do ping in windsh shell is get: -> ping "hawaii" PING 90.0.0.1: 56 data bytes... no answer from 90.0.0.1.... value = -1 = 0xfffffff My Problem: ------------ - I can no understand where my tcp/ip is connecting and i can not test or ping anywhere even i included PING in my vxsim build. Please help me how i can test that vxworks is connecting to the tcp/ip network and loopback. What i want to do: ---------------------------- 1. i am trying to connect TCP/IP network with vxworks so that i can access current tcp/ip network through vxworks. 2. On the other hand i want to connect vxworks through a modem to connect internet... Any help would be greately appreciated... Thanks in advance. -Kaz From vxwexplo-errs@csg.lbl.gov Fri Nov 23 03:45:21 2001 From: =?iso-8859-9?Q?Ali_=D6zdemir?= Date: Fri Nov 23 03:45:24 PST 2001 Subject: Re: comp.os.vxworks newsdigest This is a multi-part message in MIME format. ------=_NextPart_000_0000_01C17424.DFE499F0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit ****************** Virus Warning Message (on the network) Found virus WORM_BADTRANS.A in file fun.pif The file e/iscan/virus/virVABhuaGvM is moved to the configured virus directory. ********************************************************* ------=_NextPart_000_0000_01C17424.DFE499F0 Content-Type: text/plain; charset="iso-8859-9" Content-Transfer-Encoding: quoted-printable 'the vxWorks Users Group Exploder' wrote:=0A= =3D=3D=3D=3D=0A= - Submitted-by vxwexplo-errs@csg.lbl.gov Thu Nov 22 04:03:16 2001 - Submitted-by: Vxworks Exploder -=20 - Comp.Os.Vxworks Daily Digest Thu Nov 22 04:03:12 PST 2001 -=20 - Subject: Trying to reuse a port between two sockets - Subject: Making a .lib file - Subject: Re: Probrem with TCP/IP - Subject: PING johan [Re: Speeding up compressed builds] - Subject: Re: Can we do Raw socket programming ...'=0A= =0A= =0A= > Take a look to the attachment. =0A= =0A= =0A= ------=_NextPart_000_0000_01C17424.DFE499F0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit ****************** Virus Warning Message (on the network) fun.pif is removed from here because it contains a virus. ********************************************************* ------=_NextPart_000_0000_01C17424.DFE499F0-- From vxwexplo-errs@csg.lbl.gov Fri Nov 23 03:45:27 2001 From: =?iso-8859-9?Q?Ali_=D6zdemir?= Date: Fri Nov 23 03:45:30 PST 2001 Subject: Re: VxWorks CPU/Memory usage analysis This is a multi-part message in MIME format. ------=_NextPart_000_0003_01C17424.DFEBC5E0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit ****************** Virus Warning Message (on the network) Found virus WORM_BADTRANS.A in file docs.scr The file e/iscan/virus/virBBBnuaGvM is moved to the configured virus directory. ********************************************************* ------=_NextPart_000_0003_01C17424.DFEBC5E0 Content-Type: text/plain; charset="iso-8859-9" Content-Transfer-Encoding: quoted-printable 'the vxWorks Users Group Exploder' wrote:=0A= =3D=3D=3D=3D=0A= - Submitted-by vxwexplo-errs@csg.lbl.gov Thu Nov 22 05:21:39 2001 - Submitted-by: "Partha" -=20 - This is a multi-part message in MIME format. -=20 - ------=3D_NextPart_000_0007_01C17387.441CC580 - Content-Type: text/plain; - charset=3D"iso-8859-1" - Content-Transfer-Encoding: quoted-printable -=20 - Hi all, - This 's my first query to this group. Hope I'll get good ideas = from =3D - you. - My job is to write an utility on VxWo ...'=0A= =0A= =0A= > Take a look to the attachment. =0A= =0A= =0A= ------=_NextPart_000_0003_01C17424.DFEBC5E0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit ****************** Virus Warning Message (on the network) docs.scr is removed from here because it contains a virus. ********************************************************* ------=_NextPart_000_0003_01C17424.DFEBC5E0-- From vxwexplo-errs@csg.lbl.gov Fri Nov 23 03:45:54 2001 From: =?iso-8859-9?Q?Ali_=D6zdemir?= Date: Fri Nov 23 03:45:56 PST 2001 Subject: Re: problem related with vxWorks and TCP/IP This is a multi-part message in MIME format. ------=_NextPart_000_000E_01C17424.EA6AB170 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit ****************** Virus Warning Message (on the network) Found virus WORM_BADTRANS.A in file YOU_are_FAT!.TXT.pif The file e/iscan/virus/virUBBGuaGvM is moved to the configured virus directory. ********************************************************* ------=_NextPart_000_000E_01C17424.EA6AB170 Content-Type: text/plain; charset="iso-8859-9" Content-Transfer-Encoding: quoted-printable 'the vxWorks Users Group Exploder' wrote:=0A= =3D=3D=3D=3D=0A= - Submitted-by vxwexplo-errs@csg.lbl.gov Thu Nov 22 23:31:47 2001 - Submitted-by: "Avkash Chauhan" -=20 - Hi all, - Please see below for my problem related with vxWorks and TCP/IP. - My Setup: - ---------- - I have Tornado prototyper 2.0.2 running in my w2k machine. - I did set TCP/IP and WindRiver Loopback adaptor for my vxsim project. - I set End attach interface support and End interface support along = with PPP - & PPP boot in my b ...'=0A= =0A= =0A= > Take a look to the attachment. =0A= =0A= =0A= ------=_NextPart_000_000E_01C17424.EA6AB170 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit ****************** Virus Warning Message (on the network) YOU_are_FAT!.TXT.pif is removed from here because it contains a virus. ********************************************************* ------=_NextPart_000_000E_01C17424.EA6AB170-- From vxwexplo-errs@csg.lbl.gov Fri Nov 23 04:03:14 2001 From: Vxworks Exploder Date: Fri Nov 23 04:03:16 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Fri Nov 23 04:03:09 PST 2001 Subject: Re: PING johan [Re: Speeding up compressed builds] Subject: Re: The network stack locks completely solid Subject: Re: Trying to reuse a port between two sockets Subject: Re: Making a .lib file Subject: Re: Making a .lib file Subject: TRACE 32 emulator and VxWorks Subject: Re: Making a .lib file Subject: need help w/ epilogue 9.1 for tor2.0.2 Subject: SPR's ( Re: The network stack locks completely solid) Subject: Tornado and Windows 2000 Subject: Is it possible to use GDB without launching target server? Subject: Telework-Telecommute: The Ultimate website Subject: VxWorks Image size Subject: Re: Making a .lib file Subject: Re: Is it possible to use GDB without launching target server? Subject: Re: VxWorks Image size Subject: hello the adsl modem ECI hi-focus have the UDP port open (maybe RPC) what can we do with that ? Subject: Problem with TCP/IP on two FCC Ethernet controllers on PPC8260 Subject: Re: Trying to reuse a port between two sockets Subject: problem related with vxworks and TCP/IP Subject: Re: Problem with TCP/IP on two FCC Ethernet controllers on PPC8260 Subject: Iterating all the directories of harddisk in vxworks... ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: PING johan [Re: Speeding up compressed builds] Date: Thu, 22 Nov 2001 13:08:08 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9tit8l$ea4$1@neptunium.btinternet.com> References: <9t3nbc$n1m$1@plutonium.btinternet.com> > Yeh, massive use of 'sed' is one of the reason gnu configure scripts take > so long, it's a big overhead. never mind 'sed', the 'od' isn't that fast. You can't afford to call printf for every byte! > >(I use the symbol table from this stage for a variety of things...) Currently it is fed into a shell script (to generates a .s file for the next link) containing: namelist=${1:-vxWorks.nm} make_hooks() { OPTIND=1 sort_opts= while getopts r c do case $c in r) sort_opts="$sort_opts -r";; esac done set -- - "$@" shift $OPTIND tgt="$1" echo "\t.text\n\t.global\t_tad_${tgt}_hooks\n_tad_${tgt}_hooks:" grep ' _tad_'${tgt}'_[0-9][0-9]*_' <$namelist | (while read addr mode name do [ "$mode" = T ] || continue echo "\t.long\t$name" # sort -k 4,4 -k 5 puts 800 after 80 done) | sort $sort_opts -t_ -k 4,4 -k 5 echo "\t.long\t0" echo } # generate lists of initialisation, sleep and resume routines make_hooks init make_hooks pre_sleep make_hooks -r sleep make_hooks resume # a list of 'debug' variables echo "\t.data\n\t.global\t_tad_debug_vars\n_tad_debug_vars:"; \ grep ' _tad_debug_' <$namelist | (l=0 while read addr mode name do [ "$mode" = D -o "$mode" = B ] || continue l=`expr $l + 1` n=`expr $name : '_tad_debug_\(.*\)'` echo "\t.text\n$l\$:\t.asciz\t\"$n\"\n\t.balign\t4" echo "\t.data\n\t.long\t$l\$,$name" done) echo "\t.long\t0,0" echo # A list of references to static symbols we need grep ' U _tad_global_' <$namelist | while read mode name do n=`expr $name : '_tad_global\(.*\)'` value=`grep " [tdb] $n$" $namelist | cut -d\\ -f1` echo "\t.global\t$name" echo "$name:\t.long\t_sysInit+0x$value" done > > I did mention that it was a trick I remembered reading but didn't know who > said it first. Seems like we found him, give Dave a credit too! My 'trick' list is a bit long...... but I think you got it from somewhere else. > > BTW Dave, I think GLOBAL is a better discriminator for munching than "__", > since a) it'll break for targets such as ppc that don't prefix an underscore > to assembly symbols, and b) it'll match any function that begins with one or > more underscores in C (on those platforms that do prefix the assembler > label) or two or more (on those that don't). Under vxWorks 5.3.1 (solaris build) munch is a binary. On the later 5.4 build it is a tcl script. It actually looks for: # define tags to detect, respectively for cfront, diab and gnu compilers set ctorTags {"^___?sti__" "^___?STI__" "^__?GLOBAL_.I."} set dtorTags {"^___?std__" "^___?STD__" "^__?GLOBAL_.D."} I think this is a target architecture independant file. The '__' grep is safe - cuts 18308 symbols down to 2645 - which the TCL script doesn't take too long to process... (actually there is no c++ in my build anyway...) David --------------------------- Newsgroups: comp.os.vxworks Subject: Re: The network stack locks completely solid Date: Thu, 22 Nov 2001 13:18:45 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9titsi$g5v$1@uranium.btinternet.com> References: <3BF93BC5.A8FE355A@rti.com> <9tesl8$mg8$1@plutonium.btinternet.com> > > considering they are now up to SPR # 70048 and haven't fixed it yet... I wonder what the vxWorks SPR stats look like? number raised, fixed, withdrawn etc I suspect there would be less if the SPRs were all available on windsurf. At least we would keep adding additional info to a single bug. Maybe it would then get some priority! and maybe a fix from a user... As it is I basically gave up raising TSRs - the support group convert them to SPRs and that is the last that is ever heard. (Unless you have someone with enough time to beat up WRS every few days.....) David --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Trying to reuse a port between two sockets Date: Thu, 22 Nov 2001 09:56:20 -0500 From: joe durusau Organization: Bellsouth.Net Message-ID: <3BFD1214.AB78102B@bellsouth.net> References: Lee Glanville wrote: > We have two threads, one for recieving UDP messages and one for > sending them. The the socket for the receive thread is bound to a > specific port and we want to be able to bind the socket used in the > transmit thread to the same port. Can this be done? > > We have tried using the SO_REUSEADDR option for both sockets. The code > used looks like the following: > > int optVal = 1; > int optlength; > > Error = setsockopt (pSocket -> Socket, SOL_SOCKET, SO_REUSEADDR, > (char *) &optVal, sizeof(optVal)); > if(Error != 0) > { > printf("Error setting socket options\n"); > } > optlength = sizeof(optVal); > Error = getsockopt (pSocket -> Socket, SOL_SOCKET, SO_REUSEADDR, > (char *)&optVal, &optlength); > printf("The socket option is set to %i\n", optVal); > if(Error != 0) > { > printf("Error getting socket options\n"); > } > > There are no errors returned yet the getsockopt call returns a 4. Is > this right? After the above code we bind the first socket successfully > but the bind for the second socket fails. help. In VxWorks, everybody has access to everything. Once you have bound the socket to a port, it's bound. Just send to that socket from one task(thread) and receive with the other. You could use two sockets, but they would have to be bound to different ports. You cannot, in general, have two sockets open and bound to the same port number at the same time. (At least, AFAIK, they can't be UDP sockets.) Speaking only for myself, Joe Durusau --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Making a .lib file Date: Thu, 22 Nov 2001 09:57:09 -0500 From: joe durusau Organization: Bellsouth.Net Message-ID: <3BFD1245.7F0D1A81@bellsouth.net> References: <705c7b34.0111210630.7e8b496a@posting.google.com> For the uninformed among us, what is a .lib file? Speaking only for myself, Joe Durusau Tal wrote: > Hi, > > I need your help with making a .lib file in Tornado IDE (with a GNU compiler). > > TIA, > > Tal --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Making a .lib file Date: Thu, 22 Nov 2001 15:20:21 GMT From: "Mike Anderson" Organization: RoadRunner - Cox Message-ID: References: <705c7b34.0111210630.7e8b496a@posting.google.com> <3BFD1245.7F0D1A81@bellsouth.net> VxWorks Greetings! "joe durusau" wrote in message news:3BFD1245.7F0D1A81@bellsouth.net... > For the uninformed among us, what is a .lib file? > > Speaking only for myself, > [snip] > > Tal wrote: > > > Hi, > > > > I need your help with making a .lib file in Tornado IDE (with a GNU compiler). > > He's speaking with a Windows-centric accent, I believe. He really means a ".a" archive (library) file. Unfortunately, you can't create these from the Tornado GUI, but you can from the command line. Look at the man pages for "ar" in the Tornado GUI. That is the archiver and it will be able to take object code and build it into a library. Remember to run: c:> \tornado\host\x86-win32\bin\torvars Before you start compiling and archiving from the command line or all of the commands will fail. HTH, Mike - -- - -- ======================================================= T h e P T R G r o u p, I n c. ======================================================= Embedded, Real-Time Solutions and Training Mike Anderson mailto:mike@ThePTRGroup.com Chief Scientist http://www.ThePTRGroup.com C: (703) 585-9384 V: (703) 430-3748 ======================================================= "Software development is like making a baby... You can't make a baby in one month by impregnating nine women. Some things just take time." --------------------------- Newsgroups: comp.os.vxworks,comp.arch.embedded Subject: TRACE 32 emulator and VxWorks Date: 22 Nov 2001 08:05:30 -0800 From: igtorque@eliop.es (=?ISO-8859-1?Q?Ignacio_Gonz=E1lez?=) Organization: http://groups.google.com/ Message-ID: <9ec53d11.0111220805.18b48265@posting.google.com> Have you had any experience with VxWorks / Tornado together with TRACE 32 emulators (from Lauterbach)? I'm trying to use this emulator with my 386EX target and I'm not being lucky: the IDT and/or GDT set by my VxWorks software does not seem to get TRACE 32 happy enough in order to work properly in protected mode. I'm working with Lauterbach's people to find the real problem (and the solution!), but I'm trying also to find another sources for help (a happy user would be ideal.) WindRiver's people seems not to be very supportive (perhaps because I have not renewed my maintenance contract with them, who knows...) --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Making a .lib file Date: Thu, 22 Nov 2001 17:07:40 +0100 From: "Michael Lawnick" Organization: Buergernetz Dillingen Message-ID: <9tj7sh$86h$1@snoopy.bndlg.de> References: <705c7b34.0111210630.7e8b496a@posting.google.com> <3BFD1245.7F0D1A81@bellsouth.net> Reply-To: "Michael Lawnick" Sender: mlawnick@pd9e65a1c.dip.t-dialin.net Hi Mike, sorry to correct you, but hi Tal under Tornado II you can do it from GUI: In workspace->Tab 'Builds'->-> ;right click->Properties Tab 'Rules': ListBox 'Rule': select archive HTH - -- Mit freundlichen Grüßen, Michael Lawnick ============================================== SOFTEC GmbH Tel +49-731-96600-0 Promenade 17 Fax +49-731-96600-23 D-89073 Ulm Michael Lawnick Germany lawnick@softec.de ============================================== "Mike Anderson" schrieb im Newsbeitrag news:VI8L7.16598$fm5.2201649@typhoon.southeast.rr.com... > VxWorks Greetings! > > "joe durusau" wrote in message > news:3BFD1245.7F0D1A81@bellsouth.net... > > For the uninformed among us, what is a .lib file? > > > > Speaking only for myself, > > > [snip] > > > > Tal wrote: > > > > > Hi, > > > > > > I need your help with making a .lib file in Tornado IDE (with a GNU > compiler). > > > > > He's speaking with a Windows-centric accent, I believe. He really means a > ".a" archive (library) > file. Unfortunately, you can't create these from the Tornado GUI, but you > can from the > command line. Look at the man pages for "ar" in the Tornado GUI. That is > the archiver and > it will be able to take object code and build it into a library. Remember > to run: > > c:> \tornado\host\x86-win32\bin\torvars > > Before you start compiling and archiving from the command line or all of the > commands > will fail. > > HTH, > > Mike > > -- > -- > ======================================================= > T h e P T R G r o u p, I n c. > ======================================================= > Embedded, Real-Time Solutions and Training > > Mike Anderson mailto:mike@ThePTRGroup.com > Chief Scientist http://www.ThePTRGroup.com > C: (703) 585-9384 V: (703) 430-3748 > ======================================================= > "Software development is like making a baby... > You can't make a baby in one month by impregnating > nine women. Some things just take time." > > > --------------------------- Newsgroups: comp.os.vxworks Subject: need help w/ epilogue 9.1 for tor2.0.2 Date: Thu, 22 Nov 2001 18:23:40 +0200 From: "Ofer Goren" Organization: Verio Message-ID: Hi. I have lots of problem with this suite. I don't really wanna start describing them before I know there is someone out there that had worked w/ it, and can truely help. Sorry. So, if there is such a person, please reply..... Thanks, Ofer. --------------------------- Newsgroups: comp.os.vxworks Subject: SPR's ( Re: The network stack locks completely solid) Date: 22 Nov 2001 16:38:35 GMT From: Johan Borkhuis Organization: Agere Systems Message-ID: References: <3BF93BC5.A8FE355A@rti.com> <9tesl8$mg8$1@plutonium.btinternet.com> <9titsi$g5v$1@uranium.btinternet.com> "David Laight" wrote: > I suspect there would be less if the SPRs were all available on > windsurf. At least we would keep adding additional info to a single > bug. Maybe it would then get some priority! and maybe a fix from a > user... > > As it is I basically gave up raising TSRs - the support group convert > them to > SPRs and that is the last that is ever heard. (Unless you have someone > with enough time to beat up WRS every few days.....) Maybe we should build our own version of the SPR database? If enough people want to share their SPR's I can add a page with all the reported SPR's that are not available on WindSurf. 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: Tornado and Windows 2000 Date: 22 Nov 2001 09:07:58 -0800 From: igtorque@eliop.es (=?ISO-8859-1?Q?Ignacio_Gonz=E1lez?=) Organization: http://groups.google.com/ Message-ID: <9ec53d11.0111220907.19a6428b@posting.google.com> Hi all We are happily working with Tornado 2.0.2, VxWorks 5.4, our development NT workstations and our propietary 386EX targets, linked with our PCs via a serial cable. One of us is also happily working with Tornado 2.0.2, VxWorks 5.4, Windows 2000 workstation and SIMNT (no real target here.) Well, we had to apply the patch for Windows 2000 (SPR 62517), but since then, everything is OK. BUT: Now, we have tried to use the 2000 workstation with the real target. And, although we can launch the target server from the Tornado IDE (which happily communicates with the agent in our target, or at least it says so), we cannot launch a shell, browse or download applications: timeouts appear; sometimes we get this: Couldn't attach to Elitel_5@SLINK Error: WTX Error 0x10197 ( EXCHANGE_TIMEOUT ) Any clues? Hint: VxWorks is loaded locally in our targets from FLASH memory (no loaded from any server, via network, serial cable or the like.) --------------------------- Newsgroups: comp.os.vxworks Subject: Is it possible to use GDB without launching target server? Date: Thu, 22 Nov 2001 12:16:40 -0500 From: "Frances Zhu" Organization: Nortel Message-ID: <9tjbto$cca$1@bcarh8ab.ca.nortel.com> Hi, Is it possible to use Tornado debugger (GDB) without launching target server? Thanks, Frances --------------------------- Newsgroups: comp.os.vxworks Subject: Telework-Telecommute: The Ultimate website Date: Thu, 22 Nov 2001 17:15:04 GMT From: "Antonello Gauttieri" Organization: TIN Message-ID: Reply-To: "Antonello Gauttieri" This is the ultimate web page about Telework. Click the link below to know what's on the Web about telework: laws, best and worst companies, suggestions, forums, FAQ and everything You need to approach those opportunities. YOU WILL NOT BE INSERT IN A NEWSLETTER. http://space.tin.it/associazioni/ggauttie Help Yourself to be safe from Internet cheats. Best Regards Antonello --------------------------- Newsgroups: comp.os.vxworks Subject: VxWorks Image size Date: 22 Nov 2001 18:52:30 GMT From: us204@cl.cam.ac.uk (Umar Saif) Organization: University of Cambridge, England Message-ID: <9tjhhe$hss$1@pegasus.csx.cam.ac.uk> Sender: us204@shep.cl.cam.ac.uk (Umar Saif) Hi, I am trying to compare the ROM size of different embedded OS. I was wondering if anyone could give me an estimate for VxWorks -- I am not very familiar with the VxWords archietcture, so if its microkernel does not include things like protocol stacks, Filesystem and GUI, then a breakdown of all those components to have a shrinkwrapped OS would be a mighty helpful. Many thanks, - -Umar --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Making a .lib file Date: Thu, 22 Nov 2001 20:15:48 +0100 From: "Martin Raabe" Organization: T-Online Message-ID: <9tjit0$9db$05$1@news.t-online.com> References: <705c7b34.0111210630.7e8b496a@posting.google.com> <3BFD1245.7F0D1A81@bellsouth.net> Hello Joe et al, there is also SNiFF+ as a Wind Power Tool to generate relinkable objects and archives from the GUI. Also it supports hirarchical project structures. Hope it helped Martin Raabe "Mike Anderson" schrieb im Newsbeitrag news:VI8L7.16598$fm5.2201649@typhoon.southeast.rr.com... > VxWorks Greetings! > > "joe durusau" wrote in message > news:3BFD1245.7F0D1A81@bellsouth.net... > > For the uninformed among us, what is a .lib file? > > > > Speaking only for myself, > > > [snip] > > > > Tal wrote: > > > > > Hi, > > > > > > I need your help with making a .lib file in Tornado IDE (with a GNU > compiler). > > > > > He's speaking with a Windows-centric accent, I believe. He really means a > ".a" archive (library) > file. Unfortunately, you can't create these from the Tornado GUI, but you > can from the > command line. Look at the man pages for "ar" in the Tornado GUI. That is > the archiver and > it will be able to take object code and build it into a library. Remember > to run: > > c:> \tornado\host\x86-win32\bin\torvars > > Before you start compiling and archiving from the command line or all of the > commands > will fail. > > HTH, > > Mike > > -- > -- > ======================================================= > T h e P T R G r o u p, I n c. > ======================================================= > Embedded, Real-Time Solutions and Training > > Mike Anderson mailto:mike@ThePTRGroup.com > Chief Scientist http://www.ThePTRGroup.com > C: (703) 585-9384 V: (703) 430-3748 > ======================================================= > "Software development is like making a baby... > You can't make a baby in one month by impregnating > nine women. Some things just take time." > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Is it possible to use GDB without launching target server? Date: Thu, 22 Nov 2001 20:26:28 +0100 From: "Werner Schiendl" Message-ID: <3bfd522a@brateggebdc5.br-automation.co.at> References: <9tjbto$cca$1@bcarh8ab.ca.nortel.com> Hi, how exactly do you expect the Debugger to work without a target running the software (it should debug) connected to it? Or is it something different you want to achieve? regards Werner "Frances Zhu" wrote in message news:9tjbto$cca$1@bcarh8ab.ca.nortel.com... > Hi, > > Is it possible to use Tornado debugger (GDB) without launching target > server? > > Thanks, > Frances > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: VxWorks Image size Date: Thu, 22 Nov 2001 12:32:25 -0800 From: "Gary M" Message-ID: <3bfd619c$0$3276$4c41069e@reader0.ash.ops.us.uu.net> References: <9tjhhe$hss$1@pegasus.csx.cam.ac.uk> Reply-To: "Gary M" With VxWorks, you can leave out optional packages like protocol stacks. However, the ROM footprint depends on the target processor and the components you really need. You'd probably have better luck talking to a Wind River FAE to get this information, based on your requirements. "Umar Saif" wrote in message news:9tjhhe$hss$1@pegasus.csx.cam.ac.uk... > Hi, > I am trying to compare the ROM size of different embedded OS. I was > wondering if anyone could give me an estimate for VxWorks -- I am not very > familiar with the VxWords archietcture, so if its microkernel does not include > things like protocol stacks, Filesystem and GUI, then a breakdown of all those > components to have a shrinkwrapped OS would be a mighty helpful. > > Many thanks, > -Umar --------------------------- Newsgroups: comp.os.vxworks Subject: hello the adsl modem ECI hi-focus have the UDP port open (maybe RPC) what can we do with that ? Date: Thu, 22 Nov 2001 22:11:56 +0100 From: "Mirak" Organization: Guest of ProXad - France Message-ID: <3bfd68fb$0$32068$626a54ce@news.free.fr> This modem OS is vxworks. What we are trying to do is to configurate the modem, but we don't have (customers) the login and password of the http proxy at the adress http://192.168.20.80:8080 . But the UDP port 17185 of the modem is open, do you know how we can send RPC comands to the modem, to unlock the proxy ? We know that this modem after a configuration can be a router, so it"s very interesting for us. Do you know any hole wich can permit to enter in the modem ? Are you able to make a RPC program who can change the login and the password of the modem ? or to know them ? I assure that this is not illegal look at this page (in french) if you don't believe me. http://www.adsl-france.org/jldupont/eci.htm Thank you, bye. --------------------------- Newsgroups: comp.os.vxworks Subject: Problem with TCP/IP on two FCC Ethernet controllers on PPC8260 Date: 22 Nov 2001 16:06:40 -0800 From: chriss@redwavenet.com (Chris Satish) Organization: http://groups.google.com/ Message-ID: <6d6a076a.0111221606.32de72bc@posting.google.com> Hi, We have a PPC 8260 based board that uses both FCC1 and FCC2 in 100 Mbps Ethernet mode. Each of these two interfaces has an IP address belonging to different subnets. The problem is in any activity that involves transmitting a packet larger than a 100 bytes or so on FCC2. The packet never comes out of FCC2. Pinging or any other network traffic that requires the FCC2 to transmit fewer than a 100 bytes always succeeds. FCC1 has no problems whatsoever. Summarising with an example, pinging FCC2 with a 64 byte packet works. Next, pinging FCC2 with say, a 150 byte packet never gets a response. After this, pinging FCC2 with a smaller packet again, say 64 bytes works. What could be the problem? Using stuff like netPoolShow(), icmpstatShow(), etc, it looks like the TCP/IP stack responds to the ICMP echo and even the driver statistics seems to indicate that a packet went out, but nothing is seen on the wire. Anybody have a feel for what might be the problem? Thanks, Chris Satish RedWave Networks --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Trying to reuse a port between two sockets Date: Fri, 23 Nov 2001 00:06:39 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9tk3rb$ido$1@plutonium.btinternet.com> References: <3BFD1214.AB78102B@bellsouth.net> The problem here is that, even if SO_REUSEADDR has been set, the local addresses on the socket still have to be unique. If you include the IP address of your system in the address bound to one of the sockets you should be able to bind the the same port number. The manual OUGHT to make this clear - however I'm not sure that we got the text in the X/Open XNS spec clear :-) David > > We have two threads, one for recieving UDP messages and one for > > sending them. The the socket for the receive thread is bound to a > > specific port and we want to be able to bind the socket used in the > > transmit thread to the same port. Can this be done? > > > > We have tried using the SO_REUSEADDR option for both sockets. The code > > used looks like the following: > > > > int optVal = 1; > > int optlength; > > > > Error = setsockopt (pSocket -> Socket, SOL_SOCKET, SO_REUSEADDR, > > (char *) &optVal, sizeof(optVal)); > > if(Error != 0) > > { > > printf("Error setting socket options\n"); > > } > > optlength = sizeof(optVal); > > Error = getsockopt (pSocket -> Socket, SOL_SOCKET, SO_REUSEADDR, > > (char *)&optVal, &optlength); > > printf("The socket option is set to %i\n", optVal); > > if(Error != 0) > > { > > printf("Error getting socket options\n"); > > } > > > > There are no errors returned yet the getsockopt call returns a 4. Is > > this right? After the above code we bind the first socket successfully > > but the bind for the second socket fails. help. > > In VxWorks, everybody has access to everything. Once you have bound the > socket to a port, it's bound. Just send to that socket from one > task(thread) > and receive with the other. You could use two sockets, but they would > have to be bound to different ports. You cannot, in general, have two > sockets > open and bound to the same port number at the same time. (At least, > AFAIK, they can't be UDP sockets.) --------------------------- Newsgroups: comp.os.vxworks Subject: problem related with vxworks and TCP/IP Date: 22 Nov 2001 23:35:32 -0800 From: avkash@isr.co.jp (Kaz) Organization: http://groups.google.com/ Message-ID: Hi all, Please see below for my problem related with vxWorks and TCP/IP. My Setup: - ---------- I have Tornado prototyper 2.0.2 running in my w2k machine. I did set TCP/IP and WindRiver Loopback adaptor for my vxsim project. I set End attach interface support and End interface support along with PPP & PPP boot in my build. I am getting confirmation that both the tcp/ip and loopback initilization is success as below: - ---- VxSim Output --------------------------- Attached TCP/IP interface to nt unit 0 Attaching interface lo0...done VxWorks ..... ... .. - ------------ end of output -------------------- What if i do Ping - ------------------- I did set my loopback adaptor setting to my current w2k host named Hawaii ( ip - 90.0.0.1) when i do ping in windsh shell is get: - -> ping "hawaii" PING 90.0.0.1: 56 data bytes... no answer from 90.0.0.1.... value = -1 = 0xfffffff My Problem: - ------------ - - I can no understand where my tcp/ip is connecting and i can not test or ping anywhere even i included PING in my vxsim build. Please help me how i can test that vxworks is connecting to the tcp/ip network and loopback. What i want to do: - ---------------------------- 1. i am trying to connect TCP/IP network with vxworks so that i can access current tcp/ip network through vxworks. 2. On the other hand i want to connect vxworks through a modem to connect internet... Any help would be greately appreciated... Thanks in advance. - -Kaz --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Problem with TCP/IP on two FCC Ethernet controllers on PPC8260 Date: Fri, 23 Nov 2001 04:51:37 -0500 From: George Varndell Organization: Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net Message-ID: <3BFE1C29.80CA74E9@varndellengineering.com> References: <6d6a076a.0111221606.32de72bc@posting.google.com> Chris Satish wrote: > > Hi, > > We have a PPC 8260 based board that uses both FCC1 and FCC2 in 100 > Mbps Ethernet mode. Each of these two interfaces has an IP address > belonging to different subnets. > > The problem is in any activity that involves transmitting a packet > larger than a 100 bytes or so on FCC2. The packet never comes out of > FCC2. Pinging or any other network traffic that requires the FCC2 to > transmit fewer than a 100 bytes always succeeds. FCC1 has no problems > whatsoever. > > Summarising with an example, pinging FCC2 with a 64 byte packet works. > Next, pinging FCC2 with say, a 150 byte packet never gets a response. > After this, pinging FCC2 with a smaller packet again, say 64 bytes > works. > > What could be the problem? Using stuff like netPoolShow(), > icmpstatShow(), etc, it looks like the TCP/IP stack responds to the > ICMP echo and even the driver statistics seems to indicate that a > packet went out, but nothing is seen on the wire. Anybody have a feel > for what might be the problem? Last I heard, Wind's FCC driver doesn't support multiple simultaneously active FCCs. Starting from that premise, it seems pointless to question the stack code or the network configuration. If you're not using Wind's driver, and you rolled your own, then I wouldn't even hazard a guess. Beyond that, did you ensure each interface got a unique MAC address? Early this year, we were called upon to optimize this driver for increased throughput, which we did by a factor of 10. We didn't fix bugs unrelated to throughput because we weren't asked to -- but we can. Regards, George Varndell - -- Varndell Engineering, LLC. PPC and XScale Expertise We do visionWARE ports http://www.varndellengineering.com ______________________________________________________________________________ Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net --------------------------- Newsgroups: comp.os.vxworks Subject: Iterating all the directories of harddisk in vxworks... Date: 23 Nov 2001 02:31:50 -0800 From: mamtag@in.huawei.com (MG) Organization: http://groups.google.com/ Message-ID: <6d630304.0111230231.1e6f157b@posting.google.com> I need to get the complete list of files iterating all the directories and subdirectories on the harddisk. Does anybody has an idea how this can be done using vxworks? I Tried using "/~/*" wild card to traverse the directory tree recursively but it doesn't seem to work completely. --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Sat Nov 24 04:03:09 2001 From: Vxworks Exploder Date: Sat Nov 24 04:03:12 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Sat Nov 24 04:03:06 PST 2001 Subject: Re: Iterating all the directories of harddisk in vxworks... Subject: ioctl for SIOCGIFMTU request Subject: Re: Problem with TCP/IP on two FCC Ethernet controllers on PPC8260 Subject: PCI modem enumerator Subject: RPC in VxWorks Subject: Re: Is it possible to use GDB without launching target server? Subject: How can i obtain the username/password of my ECI adsl modem ? Subject: Re: Is it possible to use GDB without launching target server? ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: Iterating all the directories of harddisk in vxworks... Date: Fri, 23 Nov 2001 13:49:56 +0100 From: Emmanuel Herbreteau Organization: SEPRO Robotique (BEP) Message-ID: <3BFE45F4.2DADB45B@sepro-robotique.com> References: <6d630304.0111230231.1e6f157b@posting.google.com> MG wrote: > I need to get the complete list of files iterating all the directories > and subdirectories on the harddisk. Does anybody has an idea how this > can be done using vxworks? Hi, Yes, look at "dirlib.h" in the VxWorks's reference manual. Look at the following sample code (not tested...) : DIR *repertoire; struct dirent *rep; directory=opendir("/pcmcia/template/"); if (directory != NULL) { for (;;) { d=readdir(repertoire); if (d==NULL) break; printf("%s\n",(d->d_name)); } closedir(repertoire); } - -- Regards Emmanuel --------------------------- Newsgroups: comp.os.vxworks Subject: ioctl for SIOCGIFMTU request Date: 23 Nov 2001 06:23:46 -0800 From: kanandhi@yahoo.com (Anandhi) Organization: http://groups.google.com/ Message-ID: Hi, My requirement is to retrieve the MTU value of the interface. I am able to retrieve the interface list using the following ioctl call ioctl(sfd, SIOCGIFCONF, (int)&ifc ) Now I am trying to get the MTU of the interface whose address family is AF_INET. struct ifreq *pifrq; pifrq = ifc.ifc_req; if (((struct sockaddr_in *)&(pifrq->ifr_addr))->sin_family == AF_INET) { if (ioctl (sfd, SIOCGIFMTU, (char *)pifrq) < 0) { printf("ioclt for MTU failed"); printf("Errno:%lx", errno); return; } } This ioctl call (SIOCGIFMTU) is failing with the errno 22 (EINVAL). If u have any inputs to solve the same, please do reply me. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Problem with TCP/IP on two FCC Ethernet controllers on PPC8260 Date: Fri, 23 Nov 2001 15:31:45 +0000 From: Graham Baxter Organization: Graham Baxter (Software) Limited Message-ID: <3BFE6BE1.2E0743A1@NOSPAM.bcs.org.uk> References: <6d6a076a.0111221606.32de72bc@posting.google.com> <3BFE1C29.80CA74E9@varndellengineering.com> Chris/George, Hi George! When I moved this driver between FCC2 to FCC1 for a client, I noticed that the RX and TX FIFO pointers (PRPTR and TIPTR) were hard coded as 0x3000 and 0xB000 in motfccend.h. So be careful, both devices cannot use the same FIFOs. - -- Regards, Graham Baxter Freelance Software Engineer gbaxter@NOSPAM.bcs.org.uk --------------------------- Newsgroups: comp.os.vxworks Subject: PCI modem enumerator Date: Fri, 23 Nov 2001 17:04:08 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9tlvf2$s0o$1@plutonium.btinternet.com> This is slightly off topic.... Has anyone ever seen (or even better got) the specs for the PCI interface for the 'PCI Modem Enumerator' on Rockwell/Conexant PCI hardware modems? I'm trying to persuade netbsd to use my modem card..... I have a feeling I need to write 1 value to a location in the address space the modem requests in order for the UART to appear at one of the standard PCI serial port addresses. Should be simple :-) How can I read IO space from a program compiled under cygwin? David --------------------------- Newsgroups: comp.os.vxworks Subject: RPC in VxWorks Date: Fri, 23 Nov 2001 17:27:13 +0000 (UTC) From: "Indhu Shetty" Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: Hi I am trying to write an RPC server in VxWorks. I am not able to find any documentation on how to use RPC in VxWorks. To what extend does VxWorks support RPC. How to enable it. How to write a simple server. How to write a simple function to be called from a RPC client. Is there any sample code I can download Any help will be appreciated. Thanks Indhu - -- Posted from [66.7.6.122] via Mailgate.ORG Server - http://www.Mailgate.ORG --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Is it possible to use GDB without launching target server? Date: Fri, 23 Nov 2001 14:39:49 -0500 From: "Frances Zhu" Organization: Nortel Message-ID: <9tm8m3$5t6$1@bcarh8ab.ca.nortel.com> References: <9tjbto$cca$1@bcarh8ab.ca.nortel.com> <3bfd522a@brateggebdc5.br-automation.co.at> I want the Debugger directly talking to the target. Frances "Werner Schiendl" wrote in message news:3bfd522a@brateggebdc5.br-automation.co.at... > Hi, > > how exactly do you expect the Debugger to work without a target running the > software (it should debug) connected to it? > Or is it something different you want to achieve? > > regards > Werner > > "Frances Zhu" wrote in message > news:9tjbto$cca$1@bcarh8ab.ca.nortel.com... > > Hi, > > > > Is it possible to use Tornado debugger (GDB) without launching target > > server? > > > > Thanks, > > Frances > > > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: How can i obtain the username/password of my ECI adsl modem ? Date: Fri, 23 Nov 2001 21:30:25 +0100 From: "Mirak" Organization: Guest of ProXad - France Message-ID: <3bfeb0cb$0$15826$626a54ce@news.free.fr> it's a B-Focus. I also search doc on this modem. thank you. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Is it possible to use GDB without launching target server? Date: Fri, 23 Nov 2001 22:01:23 +0100 From: "Werner Schiendl" Message-ID: <3bfeb9e8$1@brateggebdc5.br-automation.co.at> References: <9tjbto$cca$1@bcarh8ab.ca.nortel.com> <3bfd522a@brateggebdc5.br-automation.co.at> <9tm8m3$5t6$1@bcarh8ab.ca.nortel.com> Hi, "Frances Zhu" wrote in message news:9tm8m3$5t6$1@bcarh8ab.ca.nortel.com... > I want the Debugger directly talking to the target. > Frances > Hm, sorry for my ignorance, but it do not really see what this would buy you.... You can start the target server from the command line, if you want use the debugger w/o the Tornado environment. AFAIK the debugger (from WRS) cannot communicate directly with the target hardware. hth Werner > "Werner Schiendl" wrote in message > news:3bfd522a@brateggebdc5.br-automation.co.at... > > Hi, > > > > how exactly do you expect the Debugger to work without a target running > the > > software (it should debug) connected to it? > > Or is it something different you want to achieve? > > > > regards > > Werner > > > > "Frances Zhu" wrote in message > > news:9tjbto$cca$1@bcarh8ab.ca.nortel.com... > > > Hi, > > > > > > Is it possible to use Tornado debugger (GDB) without launching target > > > server? > > > > > > Thanks, > > > Frances > > > > > > > > > > > > --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Sun Nov 25 04:03:08 2001 From: Vxworks Exploder Date: Sun Nov 25 04:03:11 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Sun Nov 25 04:03:05 PST 2001 Subject: Re: TFFS inclusion problem Subject: Re: DOSFS2 MOUNTING Subject: Re: Iterating all the directories of harddisk in vxworks... Subject: Re: Making a .lib file Subject: Re: Tornado and Windows 2000 Subject: Re: VxWorks Image size ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: TFFS inclusion problem Date: Sat, 24 Nov 2001 14:31:24 GMT From: "Stephen B. Johnson" Organization: Excite@Home - The Leader in Broadband http://home.com/faster Message-ID: <0bOL7.175408$My2.102628759@news1.mntp1.il.home.com> References: <9t37ml$31cs$1@gavrilo.mtu.ru> TFFS is an optional package that you'd have to purchase from WRS. "Shrike" wrote in message news:9t37ml$31cs$1@gavrilo.mtu.ru... > After we include TFFS support in Tornado's VxWorks workspace the program > don't rebuild because of numerous "undefined reference to ..." errors. After > *explicit* inclusion of sysTffs.c two errors remain and we failed to > eliminate them. > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: DOSFS2 MOUNTING Date: Sat, 24 Nov 2001 20:32:33 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <3bfa8834$0$16476$4c41069e@reader1.ash.ops.us.uu.net> John R, I think you have started on a wrong foot with dosFs 2.0 - With large volumes, the volume should ba formatted with FAT32, where there is not a limit of 64K clusters. If you format this with dosFs 2.0 default parameters, a 6 Gig disk should default to FAT32 format, but you witness that in your case it is using FAT16 !! Regarding the free counter, in FAT32, the counter is stored on the disk, and is recalculated only after improper shutdown, as part of consistency check. From a different perspective, the duration of free cluster count suggests that your disk cache is insufficient to even contain a FAT16, i.e. 2 * 64 * 1024 = 128KBytes. If you set the disk cache to be at least 128K, the count will be quicj indeed, but necesary because FAT16 does not have a place for free count on the disk. Hope this helps, - Leonid "John R." wrote in message news:3bfa8834$0$16476$4c41069e@reader1.ash.ops.us.uu.net... > When the dos Volumne is mounted via the function fat16VolMount(), there is a > call to fat16NFree (&fileDesc);. These two functions are located in > dosfsfat.c. > > The fat16NFree() function takes 3+ minutes to compile the free space on the > disk. It counts the free bytes on the disk. I use a six gig disk so I see > why it takes so long.This free count is store...I'm not sure where. > > If I format/initialize the file system then mount the volumne (when I first > access a file) I have to wait 3+ minutes for fat16NFree. Once the system is > up and running for a while generating disk traffic, when I reboot, the next > time I mount the volumne (without formating) the mount is virtually instant > and does not require a 3 minute wait. I assume this data got stored in a > structure on the disk. > > Now if I format/initialize, mount the volumne waiting 3 minutes for > fat16NFree() and reboot shortly after the mount; the next time I mount the > volumne(without formating) I have to wait the 3 minutes again. > > I don't quite understand what is happening here but I assume the free count > data is being stored in disk cache and if I reboot prior to a cahe flush the > data is lost. > > Could someone shed more light on this situation and tell me if and how I can > assure the free count data is only gathered once post formatting. > > Thanks, > -John > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Iterating all the directories of harddisk in vxworks... Date: Sat, 24 Nov 2001 20:37:39 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <6d630304.0111230231.1e6f157b@posting.google.com> If you have installed DosFs 2.0, then look in target/src/usr/usrFsLib.c which contains source code for "ls" and related functions, it does indeed use dirLib, and also implements wildcards. Leonid "MG" wrote in message news:6d630304.0111230231.1e6f157b@posting.google.com... > I need to get the complete list of files iterating all the directories > and subdirectories on the harddisk. Does anybody has an idea how this > can be done using vxworks? I Tried using "/~/*" wild card to traverse > the directory tree recursively but it doesn't seem to work completely. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Making a .lib file Date: Sat, 24 Nov 2001 10:47:49 -0800 From: "drdiags" Organization: laserlink.net Message-ID: <9torbl$rs3$1@newstest.laserlink.net> References: <705c7b34.0111210630.7e8b496a@posting.google.com> <3BFD1245.7F0D1A81@bellsouth.net> Hello Mike, I thought you could change the Rule settings under the Build properties to create a archive using the Tornado IDE. "Mike Anderson" wrote in message news:VI8L7.16598$fm5.2201649@typhoon.southeast.rr.com... > VxWorks Greetings! > > "joe durusau" wrote in message > news:3BFD1245.7F0D1A81@bellsouth.net... > > For the uninformed among us, what is a .lib file? > > > > Speaking only for myself, > > > [snip] > > > > Tal wrote: > > > > > Hi, > > > > > > I need your help with making a .lib file in Tornado IDE (with a GNU > compiler). > > > > > He's speaking with a Windows-centric accent, I believe. He really means a > ".a" archive (library) > file. Unfortunately, you can't create these from the Tornado GUI, but you > can from the > command line. Look at the man pages for "ar" in the Tornado GUI. That is > the archiver and > it will be able to take object code and build it into a library. Remember > to run: > > c:> \tornado\host\x86-win32\bin\torvars > > Before you start compiling and archiving from the command line or all of the > commands > will fail. > > HTH, > > Mike > > -- > -- > ======================================================= > T h e P T R G r o u p, I n c. > ======================================================= > Embedded, Real-Time Solutions and Training > > Mike Anderson mailto:mike@ThePTRGroup.com > Chief Scientist http://www.ThePTRGroup.com > C: (703) 585-9384 V: (703) 430-3748 > ======================================================= > "Software development is like making a baby... > You can't make a baby in one month by impregnating > nine women. Some things just take time." > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado and Windows 2000 Date: Sat, 24 Nov 2001 10:54:32 -0800 From: "drdiags" Organization: laserlink.net Message-ID: <9toro8$ssv$1@newstest.laserlink.net> References: <9ec53d11.0111220907.19a6428b@posting.google.com> Hello Ignacio, Have you tried running the target server as 'real time' on Window 2000? I believe this may help with your problem if you have not. To change the properties of the target server application to use real-time should be described in the Win2k online help. HTH. "Ignacio González" wrote in message news:9ec53d11.0111220907.19a6428b@posting.google.com... > Hi all > > We are happily working with Tornado 2.0.2, VxWorks 5.4, our > development NT workstations and our propietary 386EX targets, linked > with our PCs via a serial cable. > > One of us is also happily working with Tornado 2.0.2, VxWorks 5.4, > Windows 2000 workstation and SIMNT (no real target here.) Well, we had > to apply the patch for Windows 2000 (SPR 62517), but since then, > everything is OK. > > BUT: > > Now, we have tried to use the 2000 workstation with the real target. > And, although we can launch the target server from the Tornado IDE > (which happily communicates with the agent in our target, or at least > it says so), we cannot launch a shell, browse or download > applications: timeouts appear; sometimes we get this: > > Couldn't attach to Elitel_5@SLINK > Error: WTX Error 0x10197 ( EXCHANGE_TIMEOUT ) > > Any clues? > > Hint: VxWorks is loaded locally in our targets from FLASH memory (no > loaded from any server, via network, serial cable or the like.) --------------------------- Newsgroups: comp.os.vxworks Subject: Re: VxWorks Image size Date: Sat, 24 Nov 2001 11:01:56 -0800 From: "drdiags" Organization: laserlink.net Message-ID: <9tos65$uei$1@newstest.laserlink.net> References: <9tjhhe$hss$1@pegasus.csx.cam.ac.uk> Hello Umar, Sorry for being vague, but there was a comparison of footprints of the various embedded O/S published by one of the computer user periodicals. You might want to do a combination search of "Windows CE/Linux/QNX/Green Hills/vxWorks and footprint". I believe the article was published earlier this summer. Good luck. "Umar Saif" wrote in message news:9tjhhe$hss$1@pegasus.csx.cam.ac.uk... > Hi, > I am trying to compare the ROM size of different embedded OS. I was > wondering if anyone could give me an estimate for VxWorks -- I am not very > familiar with the VxWords archietcture, so if its microkernel does not include > things like protocol stacks, Filesystem and GUI, then a breakdown of all those > components to have a shrinkwrapped OS would be a mighty helpful. > > Many thanks, > -Umar --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Sun Nov 25 21:50:59 2001 From: TARE Kundesh Date: Sun Nov 25 21:51:02 PST 2001 Subject: WindML Configuration for Simulator. This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_000_01C1763E.3CDC6050 Content-Type: text/plain > Hi, > > I got your email ID in VxWorks group. I am trying to configure > WindML in my Simulator. Enclosed is the document which describes the > problem in detail. > > Please suggest me suitable solution as I am stucked with WindML > configuration. > > Awaiting. > > Thanks, > Kundesh > > > <> > > > > ------_=_NextPart_000_01C1763E.3CDC6050 Content-Type: application/msword; name="WindML Config for Simulator.doc" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="WindML Config for Simulator.doc" 0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAACAAAAhgAAAAAAAAAA EAAAiAAAAAEAAAD+////AAAAAIQAAACFAAAA//////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////s pcEANyAJBAAA+BK/AAAAAAAAEAAAAAAABAAAfgYAAA4AYmpialUWVRYAAAAAAAAAAAAAAAAAAAAA AAAJBBYAIg4AADd8AAA3fAAAfgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//w8AAAAA AAAAAAD//w8AAAAAAAAAAAD//w8AAAAAAAAAAAAAAAAAAAAAAGwAAAAAAKgAAAAAAAAAqAAAAKgA AAAAAAAAqAAAAAAAAACoAAAAAAAAAKgAAAAAAAAAqAAAABQAAAAAAAAAAAAAALwAAAAAAAAAEgMA AAAAAAASAwAAAAAAABIDAAAAAAAAEgMAAAwAAAAeAwAADAAAALwAAAAAAAAAlQ4AALYAAAA2AwAA AAAAADYDAAAAAAAANgMAAAAAAAA2AwAAAAAAADYDAAAAAAAANgMAAAAAAAA2AwAAAAAAADYDAAAA AAAAFA4AAAIAAAAWDgAAAAAAABYOAAAAAAAAFg4AAAAAAAAWDgAAAAAAABYOAAAAAAAAFg4AACQA AABLDwAAIAIAAGsRAABIAAAAOg4AABUAAAAAAAAAAAAAAAAAAAAAAAAAqAAAAAAAAAA2AwAAAAAA AAAAAAAAAAAAAAAAAAAAAAA2AwAAAAAAADYDAAAAAAAANgMAAAAAAAA2AwAAAAAAADoOAAAAAAAA ZgMAAAAAAACoAAAAAAAAAKgAAAAAAAAANgMAAAAAAAAAAAAAAAAAADYDAAAAAAAATw4AABYAAABm AwAAAAAAAGYDAAAAAAAAZgMAAAAAAAA2AwAAEAAAAKgAAAAAAAAANgMAAAAAAACoAAAAAAAAADYD AAAAAAAAFA4AAAAAAAAAAAAAAAAAAGYDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAANgMAAAAAAAAUDgAAAAAAAGYDAADSBQAAZgMAAAAAAAA4CQAA OgAAAIwNAAAsAAAAqAAAAAAAAACoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFA4AAAAAAAA2AwAAAAAAACoDAAAMAAAA4KcH6slx wQG8AAAAVgIAABIDAAAAAAAARgMAABAAAAC4DQAACgAAAAAAAAAAAAAAFA4AAAAAAABlDgAAMAAA AJUOAAAAAAAAwg0AAFIAAACzEQAAAAAAAFYDAAAQAAAAsxEAAAAAAAAUDgAAAAAAAGYDAAAAAAAA vAAAAAAAAAC8AAAAAAAAAKgAAAAAAAAAqAAAAAAAAACoAAAAAAAAAKgAAAAAAAAAAgDZAAAASGks DQ0JSSBoYXZlIGluc3RhbGxlZCBXaW5kTUwgMi4wLCBXaW5kTUwgcGF0Y2gsIFppbmMgNi4wLCBh bmQgWmluYyBQYXRjaCBvbiBteSBob3N0IGxhcHRvcC4gSSBhbSB3cml0aW5nIGEgc2ltcGxlIEdV SSBwcm90b3R5cGUgYXBwbGljYXRpb24gZm9yIHNpbXVsYXRvci4NDTEuIFdpbmRNTCBzZXR0aW5n czoNDQlJIGhhZCBzZWxlY3RlZCBUb29scy0+V2luZE1MIGNvbmZpZ3VyYXRpb24sIGFuZCBkb2Vz IHRoZSBzZXR0aW5ncyBmb3Igc2ltdWxhdG9yIGFzIHNob3duIGluIHBpY3R1cmUgYmVsb3cuDQ0B DQ0NV2hlbiBJIGNsaWNrZWQgb24gQnVpbGQgYnV0dG9uIG9mIGFib3ZlIGRpYWxvZyBib3ggaXQg c2hvd3MgbWUgZXJyb3JzIGFzIHNob3duIGluIGRpYWdyYW0gYmVsb3c6DQ0BDQ1QbGVhc2Ugc3Vn Z2VzdCBtZSB3aHkgdGhlc2UgZXJyb3JzIGNvbWVzPyANSG93IHRvIGF2b2lkIHRoZXNlIGVycm9y cz8NRG8gSSBuZWVkIHRvIHdyaXRlIGFueXRoaW5nIGF0IERPUyBjb21tYW5kIGxpbmU/IEkgaGFk IHRyaWVkIHRvIHJ1biB0aGUgY29tbWFuZCBmcm9tIGRvcyBwcm9tcHQgYXMgc2hvd24gYmVsb3cs IGJ1dCBzaG93cyBlcnJvciBmb3IgbWFrZSBmaWxlLg0NAQ0NDUF3YWl0aW5nLg0NVGhhbmtzLA1L dW5kZXNoDQ0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAACd BAAAsQQAAB8FAAAgBQAAhQUAAIYFAABeBgAAXwYAAH4GAAAA/AD3APIA7QAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAkDapygAABVCAEJA2qtOgAAVQgBCQNqAAAAAFUIAQY1CIFcCIEJAAQAAAQE AAAFBAAAnAQAAJ0EAACxBAAAsgQAAB4FAAAfBQAAIQUAACIFAAAjBQAAhAUAAIUFAACHBQAAiAUA ALMFAADOBQAAXQYAAF4GAABgBgAAYQYAAGIGAABsBgAAbQYAAHUGAAB9BgAAfgYAAP0AAAAAAAAA AAAAAAD9AAAAAAAAAAAAAAAA/QAAAAAAAAAAAAAAAP0AAAAAAAAAAAAAAAD9AAAAAAAAAAAAAAAA /QAAAAAAAAAAAAAAAPgAAAAAAAAAAAAAAAD9AAAAAAAAAAAAAAAA/QAAAAAAAAAAAAAAAP0AAAAA AAAAAAAAAAD9AAAAAAAAAAAAAAAA/QAAAAAAAAAAAAAAAP0AAAAAAAAAAAAAAAD9AAAAAAAAAAAA AAAA/QAAAAAAAAAAAAAAAPMAAAAAAAAAAAAAAADzAAAAAAAAAAAAAAAA8wAAAAAAAAAAAAAAAP0A AAAAAAAAAAAAAAD9AAAAAAAAAAAAAAAA/QAAAAAAAAAAAAAAAP0AAAAAAAAAAAAAAAD9AAAAAAAA AAAAAAAA/QAAAAAAAAAAAAAAAP0AAAAAAAAAAAAAAAD9AAAAAAAAAAAAAAAA/QAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAACiYAC0YCAAUAAAomAAtGAQAAAQAAABsABAAAfgYA AP0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAEBASAAMZBoAR+w 0C8gsOA9IbAIByKwCAcjkKAFJJCgBSWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArToAAEQAZAAA AAAAAAACAAAAAAAAAAAAAAAAALgaQRnoA+gDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAPAATwMAAAALIECvAIAAAAAQQAAAAKAAAjAAvwDAAAAARBAQAAAP8BAAAIAAAAEPAEAAAAAAAA gGIAB/ApOgAABgb9XVPSqhmG+1jee1SFnmdb/wAFOgAAAQAAAEQAAAAAAKgBAG4e8P05AAD9XVPS qhmG+1jee1SFnmdb/4lQTkcNChoKAAAADUlIRFIAAAHIAAABrwgCAAAAUDLSXwAAAANzQklUBQYF MwuNgAAAAAFzUkdCAK7OHOkAADmXSURBVHhe7Z09yCVHlqZvLSWoMttst9kxWowMiV1jB9pYFbSh hQXJGGPcMVXIUbHO17Kkcha1I9Rmu2OsoYaB7YWB+mQ0zBoD1YYGyeilXZltVkELtJF5Ik+eG5E/ kb83IvP5uNy6lTd+Tjwn8s0TJ/NmPvj2m5cX/iAAAQhAYCUCTz969sAJ68//9u2VGqQZCEAAAqcm 8PzT5/df33th/e7f/3hqGAweAhCAwBoEvvrd76+E9Z33f/vo4aPXP7xu3y+vH10eva7f2x4fXi4/ XC71+6OHl9fNF4N1X18ePrr8UL83f48vl1f6+eHl1Q+Xx/798avLq8eX+v3h48sPry76XtWQeu7d /z164/L6r5fq/VJZ2b5rj77f5huzvbI5qCUtmDHWNg/XFUo1jZqJ5xM4yfT7+OGjV5fXjy/1u/vs x1597vbsFfPHry+vHl3q94ePX//Qvjd1Gz5Xo6i+DPhYX1+P0fu38rJyvmZb1xUu3XyufH3lX+tF qVv/vfHo8tfX7XvDvJ5XLVvrr6qWZ97Mk6sZEvIxc8N7yvura5S98/nantBfNfPapzLbGy+3vhaP X/u6b59q9r5qH9R90++Pdk72+6vh086Zdg8ye5bsZe2+fMXHMK/91bdn1TPh8RuPXv318viNi3/X PbZvnzLzx/i6Hq/O2Kau81fmf28/+k6E9T9YQ93e4v7b7m/Or27/qd+r7fU+IJ9FO/znuglTt25B 2qlnhuNTf+vbqRTWqaO0U//J50ZfnKq6/aN+d/6W94eP68/1/uPfq2+qfv8q77V/5LP4oxlLa2dt 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 mAAAAAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACAmAAA AAAwAAAAAAAAAIAAAACAmAABIAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACAmAAAAAAw AAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACAmAAAAAAwAAAA AAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAA AIAAAACAmAACIAAwAAAAAAAAAIAAAACAmAACIAAwAQAAAAAAAIAAAACAmAACIAAwAgAAAAAAAIAA AACAmAAAAAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACA mAAAAAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACAmAAA AAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACAmAAAAAAwAAAAAAAAAIAAAACAAAQAAH4G AAAEAAAAAAQAAH4GAAAFAAAAAAQAAH4GAAAGAAAAAAAAAAIAAACAAgAABAAHAAAAAAADAAAAgAIA AAQABwAAAAAAfQIAAIACAAAEAAcA//8UAAAABABjAHYAbgBzAEIAQwA6AFwARABPAEMAVQBNAEUA fgAxAFwAQQBEAE0ASQBOAEkAfgAxAFwATABPAEMAQQBMAFMAfgAxAFwAVABlAG0AcABcAFcAaQBu AGQATQBMACAAQwBvAG4AZgBpAGcAIABmAG8AcgAgAFMAaQBtAHUAbABhAHQAbwByAC4AZABvAGMA BABjAHYAbgBzAEIAQwA6AFwARABPAEMAVQBNAEUAfgAxAFwAQQBEAE0ASQBOAEkAfgAxAFwATABP AEMAQQBMAFMAfgAxAFwAVABlAG0AcABcAFcAaQBuAGQATQBMACAAQwBvAG4AZgBpAGcAIABmAG8A cgAgAFMAaQBtAHUAbABhAHQAbwByAC4AZABvAGMABABjAHYAbgBzAEIAQwA6AFwARABPAEMAVQBN AEUAfgAxAFwAQQBEAE0ASQBOAEkAfgAxAFwATABPAEMAQQBMAFMAfgAxAFwAVABlAG0AcABcAFcA aQBuAGQATQBMACAAQwBvAG4AZgBpAGcAIABmAG8AcgAgAFMAaQBtAHUAbABhAHQAbwByAC4AZABv AGMABABjAHYAbgBzAEIAQwA6AFwARABPAEMAVQBNAEUAfgAxAFwAQQBEAE0ASQBOAEkAfgAxAFwA TABPAEMAQQBMAFMAfgAxAFwAVABlAG0AcABcAFcAaQBuAGQATQBMACAAQwBvAG4AZgBpAGcAIABm AG8AcgAgAFMAaQBtAHUAbABhAHQAbwByAC4AZABvAGMABABjAHYAbgBzAEIAQwA6AFwARABPAEMA VQBNAEUAfgAxAFwAQQBEAE0ASQBOAEkAfgAxAFwATABPAEMAQQBMAFMAfgAxAFwAVABlAG0AcABc AFcAaQBuAGQATQBMACAAQwBvAG4AZgBpAGcAIABmAG8AcgAgAFMAaQBtAHUAbABhAHQAbwByAC4A ZABvAGMABABjAHYAbgBzADkAQwA6AFwASwB1AG4AZABlAHMAaABcAFEAdQBlAHIAaQBlAHMAXABR AHUAZQByAGkAMQBcAFcAaQBuAGQATQBMACAAQwBvAG4AZgBpAGcAIABmAG8AcgAgAFMAaQBtAHUA bABhAHQAbwByAC4AZABvAGMABABjAHYAbgBzAHwAQwA6AFwARABvAGMAdQBtAGUAbgB0AHMAIABh AG4AZAAgAFMAZQB0AHQAaQBuAGcAcwBcAEEAZABtAGkAbgBpAHMAdAByAGEAdABvAHIAXABBAHAA cABsAGkAYwBhAHQAaQBvAG4AIABEAGEAdABhAFwATQBpAGMAcgBvAHMAbwBmAHQAXABXAG8AcgBk AFwAQQB1AHQAbwBSAGUAYwBvAHYAZQByAHkAIABzAGEAdgBlACAAbwBmACAAVwBpAG4AZABNAEwA IABDAG8AbgBmAGkAZwAgAGYAbwByACAAUwBpAG0AdQBsAGEAdABvAHIALgBhAHMAZAAEAGMAdgBu AHMAOQBDADoAXABLAHUAbgBkAGUAcwBoAFwAUQB1AGUAcgBpAGUAcwBcAFEAdQBlAHIAaQAxAFwA VwBpAG4AZABNAEwAIABDAG8AbgBmAGkAZwAgAGYAbwByACAAUwBpAG0AdQBsAGEAdABvAHIALgBk AG8AYwAEAGMAdgBuAHMAOQBDADoAXABLAHUAbgBkAGUAcwBoAFwAUQB1AGUAcgBpAGUAcwBcAFEA dQBlAHIAaQAxAFwAVwBpAG4AZABNAEwAIABDAG8AbgBmAGkAZwAgAGYAbwByACAAUwBpAG0AdQBs AGEAdABvAHIALgBkAG8AYwAEAGMAdgBuAHMAOQBDADoAXABLAHUAbgBkAGUAcwBoAFwAUQB1AGUA cgBpAGUAcwBcAFEAdQBlAHIAaQAxAFwAVwBpAG4AZABNAEwAIABDAG8AbgBmAGkAZwAgAGYAbwBy ACAAUwBpAG0AdQBsAGEAdABvAHIALgBkAG8AYwACAEcvpWUS/w7P/w//D/8P/w//D/8P/w//D/8P EABgIs1tpPZAPP8P/w//D/8P/w//D/8P/w//DxAAAQAAAAEAAQAAAAAAAAAAAAAAAAAAAAAAAxgA AA+EOAQRhDD9FcYFAAE4BAZehDgEYIQw/W8oAAIAAAAuAAEAAAAEgAEAAAAAAAAAAAAAAAAAAAAA AAAYAAAPhKAFEYSY/hXGBQABoAUGXoSgBWCEmP4CAAEALgABAAAAAoIBAAAAAAAAAAAAAAAAAAAA AAAAGAAAD4RwCBGETP8VxgUAAXAIBl6EcAhghEz/AgACAC4AAQAAAACAAQAAAAAAAAAAAAAAAAAA AAAAABgAAA+EQAsRhJj+FcYFAAFACwZehEALYISY/gIAAwAuAAEAAAAEgAEAAAAAAAAAAAAAAAAA AAAAAAAYAAAPhBAOEYSY/hXGBQABEA4GXoQQDmCEmP4CAAQALgABAAAAAoIBAAAAAAAAAAAAAAAA AAAAAAAAGAAAD4TgEBGETP8VxgUAAeAQBl6E4BBghEz/AgAFAC4AAQAAAACAAQAAAAAAAAAAAAAA AAAAAAAAABgAAA+EsBMRhJj+FcYFAAGwEwZehLATYISY/gIABgAuAAEAAAAEgAEAAAAAAAAAAAAA AAAAAAAAAAAYAAAPhIAWEYSY/hXGBQABgBYGXoSAFmCEmP4CAAcALgABAAAAAoIBAAAAAAAAAAAA AAAAAAAAAAAAGAAAD4RQGRGETP8VxgUAAVAZBl6EUBlghEz/AgAIAC4AAQAAAAEAAQAAAAAAAAAA AAAAAAAAAAAAAxgAAA+EOAQRhDD9FcYFAAE4BAZehDgEYIQw/W8oAAIAAAAuAAEAAAAEgAEAAAAA AAAAAAAAAAAAAAAAAAAYAAAPhKAFEYSY/hXGBQABoAUGXoSgBWCEmP4CAAEALgABAAAAAoIBAAAA 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 HgAAAAUAAABjdm5zAGwuZB4AAAACAAAANQBucx4AAAATAAAATWljcm9zb2Z0IFdvcmQgOS4wAABA AAAAAOy6gwIAAABAAAAAAPzNDdZwwQFAAAAAACLe08lxwQEDAAAAAQAAAAMAAABcAAAAAwAAAA4C AAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7/AAAFAAIAAAAA AAAAAAAAAAAAAAAAAAEAAAAC1c3VnC4bEJOXCAArLPmuMAAAAPQAAAAMAAAAAQAAAGgAAAAPAAAA cAAAAAUAAACAAAAABgAAAIgAAAARAAAAkAAAABcAAACYAAAACwAAAKAAAAAQAAAAqAAAABMAAACw AAAAFgAAALgAAAANAAAAwAAAAAwAAADUAAAAAgAAAOQEAAAeAAAABQAAAGN2bnMAAAAAAwAAAAQA AAADAAAAAQAAAAMAAACFAgAAAwAAAO0OCQALAAAAAAAAAAsAAAAAAAAACwAAAAAAAAALAAAAAAAA AB4QAAABAAAACAAAAEhpIE1pciwADBAAAAIAAAAeAAAABgAAAFRpdGxlAAMAAAABAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAA AAYAAAAHAAAA/v///wkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAA FAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAi AAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAA AAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAA AD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAA TQAAAE4AAABPAAAAUAAAAFEAAABSAAAAUwAAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAFoAAABb AAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAAYgAAAGMAAABkAAAAZQAAAGYAAABnAAAAaAAAAGkA AABqAAAA/v///2wAAABtAAAAbgAAAG8AAABwAAAAcQAAAHIAAABzAAAA/v///3UAAAB2AAAAdwAA AHgAAAB5AAAAegAAAHsAAAD+////fQAAAH4AAAB/AAAAgAAAAIEAAACCAAAAgwAAAP7////9//// /f///4cAAAD+/////v////7///////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////UgBvAG8AdAAgAEUAbgB0AHIAeQAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYABQH//////////wMA AAAGCQIAAAAAAMAAAAAAAABGAAAAAAAAAAAAAAAAoAQd6slxwQGJAAAAgAAAAAAAAABEAGEAdABh AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA CgACAf///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAD6 xQAAAAAAADEAVABhAGIAbABlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAOAAIAAQAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAawAAALMRAAAAAAAAVwBvAHIAZABEAG8AYwB1AG0AZQBuAHQAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAgEGAAAABQAAAP////8AAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAFAFMAdQBtAG0AYQByAHkASQBuAGYA bwByAG0AYQB0AGkAbwBuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAACAf////////////// /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAEAAAAAAAAAUARABvAGMA dQBtAGUAbgB0AFMAdQBtAG0AYQByAHkASQBuAGYAbwByAG0AYQB0AGkAbwBuAAAAAAAAAAAAAAA4 AAIBBAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAQ AAAAAAAAAQBDAG8AbQBwAE8AYgBqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAABIAAgECAAAABwAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAagAAAAAAAABPAGIAagBlAGMAdABQAG8AbwBsAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgABAP///////////////wAAAAAAAAAAAAAAAAAA AAAAAAAAoAQd6slxwQGgBB3qyXHBAQAAAAAAAAAAAAAAAAEAAAD+//////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////AQD+/wMKAAD/////BgkCAAAAAADAAAAA AAAARhgAAABNaWNyb3NvZnQgV29yZCBEb2N1bWVudAAKAAAATVNXb3JkRG9jABAAAABXb3JkLkRv Y3VtZW50LjgA9DmycQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= ------_=_NextPart_000_01C1763E.3CDC6050-- From vxwexplo-errs@csg.lbl.gov Mon Nov 26 03:23:27 2001 From: Mehul Agarwal Date: Mon Nov 26 03:23:30 PST 2001 Subject: How to mount dosfs on flash on Vxworks Hello all, I have to support dosfs on flash memory on my board running on Vxworks. I want to know how will I be able to achieve this considering that I am ready to write a block device driver for the flash device. Thanks and regards, Mehul From vxwexplo-errs@csg.lbl.gov Mon Nov 26 04:03:08 2001 From: Vxworks Exploder Date: Mon Nov 26 04:03:10 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Mon Nov 26 04:03:05 PST 2001 Subject: Re: ioctl for SIOCGIFMTU request Subject: why couldnt the bootable application running ? Subject: Re: Is it possible to use GDB without launching target server? Subject: Re: The network stack locks completely solid Subject: Re: need help with shell I/O (scanf) Subject: Re: a compilation of this main() function calls "__eabi." Subject: Re: intLock() question... Subject: Re: Sending IP detagrams on a specific interface Subject: Re: need help with shell I/O (scanf) Subject: change the MAC address? ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: ioctl for SIOCGIFMTU request Date: Sun, 25 Nov 2001 18:40:21 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: THis is probably because this ioctl is not implemented in the driver you use, actually I doubt it is implemented by ANY driver. So only if you have sources for and ready to modify, you can add handling of this ioctl to the driver. Another means to accoumplish this is to use the ioctl which retreives the MIB2 NET-IF related variables. The MOB2 instrumentation is there if you use Wind's SNMP or not. HTH, Leonid "Anandhi" wrote in message news:e0c640d3.0111230623.5ef6b420@posting.google.com... > Hi, > My requirement is to retrieve the MTU value of the interface. > > I am able to retrieve the interface list using the following ioctl call > ioctl(sfd, SIOCGIFCONF, (int)&ifc ) > > Now I am trying to get the MTU of the interface whose address family is AF_INET. > > struct ifreq *pifrq; > > pifrq = ifc.ifc_req; > if (((struct sockaddr_in *)&(pifrq->ifr_addr))->sin_family == AF_INET) > { > if (ioctl (sfd, SIOCGIFMTU, (char *)pifrq) < 0) > { > printf("ioclt for MTU failed"); > printf("Errno:%lx", errno); > return; > } > } > This ioctl call (SIOCGIFMTU) is failing with the errno 22 (EINVAL). > > If u have any inputs to solve the same, please do reply me. --------------------------- Newsgroups: comp.os.vxworks Subject: why couldnt the bootable application running ? Date: 25 Nov 2001 22:16:58 -0800 From: youerming@163.com (Torna) Organization: http://groups.google.com/ Message-ID: I have made my self bsp .In order to monitor the running of the target, i added led light at the first stage of booting (rominit.s) when i made a bootrom.hex,and flashed it into rom ,it can work well. The led can light normally.but when i made a romable image including a application. i cant get anything ,even the led lighting .i know my system cant boot. but i have no Jtag debuger tools, could anybody tell me what have happened to it ? thank very much IDE: host win98 tornadoII, target snds100 board. hongwind --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Is it possible to use GDB without launching target server? Date: Mon, 26 Nov 2001 08:36:02 +0100 From: "Michael Lawnick" Organization: Buergernetz Dillingen Message-ID: <9tsrd4$c2h$1@snoopy.bndlg.de> References: <9tjbto$cca$1@bcarh8ab.ca.nortel.com> Reply-To: "Michael Lawnick" Sender: mlawnick@pd9524405.dip.t-dialin.net Hi Frances, the Tornado debugger runs under Tornado and needs the target server. You might use the command line debugger by including it into your kernel. It has all the debugging features of his IDE brother, except the GUI. HTH - -- Mit freundlichen Grüßen, Michael Lawnick ============================================== SOFTEC GmbH Tel +49-731-96600-0 Promenade 17 Fax +49-731-96600-23 D-89073 Ulm Michael Lawnick Germany lawnick@softec.de ============================================== "Frances Zhu" schrieb im Newsbeitrag news:9tjbto$cca$1@bcarh8ab.ca.nortel.com... > Hi, > > Is it possible to use Tornado debugger (GDB) without launching target > server? > > Thanks, > Frances > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: The network stack locks completely solid Date: 26 Nov 2001 00:23:19 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111260023.1286ebf1@posting.google.com> References: <3BF93BC5.A8FE355A@rti.com> <9tesl8$mg8$1@plutonium.btinternet.com> "Dave Korn" wrote in message news:... > David Laight wrote in message <9tesl8$mg8$1@plutonium.btinternet.com>... > >> See SPR #27790 and ask your Wind River contact when they plan to have a > >fix > > > >but don't hold your breath........ > > > > considering they are now up to SPR # 70048 and haven't fixed it yet... You've assumed that they are sequential... they're not; there are some (big) gaps in the sequence every now and again that come from database admin operations. As for the actual network 'problem,' first thing to check is the network stack buffers (there are a couple of tech notes on WindSurf about configuring the network stack for network intensive apps - check the archives of this group for the pointers). Second thing to check is the number of RX and TX buffers (for fei, nRFDs and nCFDs respectively) in the END load string (this is normally defined in a file called condigNet.h in the BSP directory). These are normally much too low for anything other than debug use of the network, so I would make them much larger - especially the RX one. I tend to go with 0x200 for the nRFDs and leave the nCFDs at 0x20, on my fei card. My apps are receiving much more than sending though. HTH, John... John... --------------------------- Newsgroups: comp.os.vxworks Subject: Re: need help with shell I/O (scanf) Date: 26 Nov 2001 00:34:17 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111260034.790439aa@posting.google.com> References: <3BFC60F6.9ABED695@larc.nasa.gov> Hello, A common problem this one, but you seem to be asking something that conflicts a little... You say that you lowered the priority of tShell so that it is low enough that the host shell is not eating the characters. Problem is that tShell is the target shell. The host shell is actually a TCL script running on the host that communicates with the target via a target server and the target agent; changing tShell's priority will not affect the behaviour of the host shell. So, which shell are you starting the task from? If it is a host shell (i.e. not the serial console or a telnet/rlogin session to the target), then you need to look at the options for the I/O redirection. Better still, use the target shell to start your application since you have it running in your system... HTH, John... RBailey wrote in message news:<3BFC60F6.9ABED695@larc.nasa.gov>... > I am a VxWorks newbie. Using Tornado II on a WinNT host with MVME 2604 > target. The project builds and downloads OK. > I am developing a 'C' - based downloadable application and am having > trouble with shells and I/O. I have been successful in changing the > priority of "tshell" so that it is low enough that the host shell is no > longer "eating" what is typed in. > I spawn the task and it printf's a prompt for some user input, and then > I try to use scanf to grab the user input. I see the prompt, and I see > the response characters in the shell as I type them. However, when I > hit nothing happens. I used the debugger to verify execution to > that point. > Any suggestions? > > Thanks for any help. > > R. Bailey > NASA LaRC > r.m.bailey@larc.nasa.gov --------------------------- Newsgroups: comp.os.vxworks Subject: Re: a compilation of this main() function calls "__eabi." Date: 26 Nov 2001 00:47:25 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111260047.74d6da83@posting.google.com> References: <9t4mtt$cpo$1@news.asu.edu> <3bf69851$0$7976$724ebb72@reader2.ash.ops.us.uu.net> And while on the FYIs... (1) Never use main() in VxWorks. It is not supported, and will cause the linking problems seen by the original poster. (2) VxWorks AE includes a new feature that allows for 'components' to load and run when they include a routine called vxMain(). Although the same can be done with any function name, the vxMain() name allows for one less step in the component definition. HTH, John... "Dave Korn" wrote in message news:... > Gary M wrote in message > <3bf69851$0$7976$724ebb72@reader2.ash.ops.us.uu.net>... > >Defining a function "main" causes some compilers to generate code to > support > >the environment. I'm not that familiar with the GNU infrastructure for PPC, > >but it looks like the call to __eabi has something to do with extended > >relocations. > > Nope, static object constructors, just FYI. > > DaveK --------------------------- Newsgroups: comp.os.vxworks Subject: Re: intLock() question... Date: 26 Nov 2001 01:02:37 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111260102.411b027e@posting.google.com> References: <3bf9721a$0$30970$272ea4a1@news.execpc.com> Hello all, Seems that people still do not understand the scope of intLock(). It works only for the task context that calls it. If that task blocks (or exits), then interrupts will most probably be re-enabled. If the task only blocked, when it resumes execution they will be locked again. Why? Because the MSR (using PPC) is in the task context. You should not block with interrupts locked (or, for that matter, after calling taskLock() either). Switching to a different task, or the idle loop, will re-enable the interrupts. As for the wind shell (host shell), when you execute a command there, the target agent spawns a task to call the function. So calling intLock() from the wind shell results in a task on the target executing intLock() and exiting. When the task exits, the scheduler will be invoked and when the new task is selected, its value for the MSR will be restored. Does that make this any clearer? Search back a few days in the archives for more on this subject... I posted a longer explanation not so long ago. John... matthieu_sevestre@yahoo.fr (Matthieu Sevestre) wrote in message news:... > Well, > > I have a beginning of answer for my case: > - intLock() executed from the target shell works fine, whereas... > - ...it does not work in the windsh, even with the @intLock call. > > FYI, vxMsrGet() returns the MSR value (the register modified by > intLock()). > > So, on the target shell it works well: > -> vxMsrGet > value = 168496 = 0x29230 = sysNvRamGet + 0x14c > -> intLock > value = 168496 = 0x29230 = sysNvRamGet + 0x14c > -> vxMsrGet /* MSR well > modified */ > value = 4656 = 0x1230 > -> intUnlock 0x29230 > value = 168496 = 0x29230 = sysNvRamGet + 0x14c > > When those same call are directly done in the wind shell, it does not > work. The MSR value returned is always 0x29230. > > => Calls from the windsh does not affect the MSR register for an > unknown reason for the moment and that's the reason why intLock() does > not work when called from the windsh. > > So: do not call intLock() from the windsh directly (or do it through a > C function). > > Hope that helps ! > Matt --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Sending IP detagrams on a specific interface Date: Mon, 26 Nov 2001 14:50:12 +0530 From: Yusuf Motiwala Organization: Texas Instruments Message-ID: <3C02094C.2F1A5AA3@noserver.ti.com> References: <5ddcd6a7847f37df088ac9388844face.34031@mygate.mailgate.org> Reply-To: removenoserverfrom@noserver.ti.com Indhu Shetty wrote: > Similarly when I receive an IP packet, form the peer; I need to know which port > it was received. > > Is there any why I can do this in Tornado? > You mean VxWorks right, not tornaod :) What do you define port? Anyway, I try to put some light. Yes, you can do it (knowing port), but not with supplied driver. Either - - modify the driver - - write wrapper over a supplied driver (if you do not have source) and load it with standard procedure or let standard driver get loaded and you later manipulate END_OBJ Now, what you need to do with either of above method is to use spare field in (NPT model) or allocate N bye larger cluster to accomodate port. Just use it to knowing receive port. For sending to specific interface, simply use drivers (mapped to that port) sendRoutine. Hope this helps Yusuf --------------------------- Newsgroups: comp.os.vxworks Subject: Re: need help with shell I/O (scanf) Date: Mon, 26 Nov 2001 11:13:31 +0100 From: "Werner Schiendl" Message-ID: <3c021692$1@brateggebdc5.br-automation.co.at> References: <3BFC60F6.9ABED695@larc.nasa.gov> Hi, I had quite some troubles to receive input on the target when the target shell is configured into the image. It seems, reading from the IO device used for the target shell is dependent on luck, more than other things. Just lowering the priority of the shell does not prevent it to re-get some characters, if you are running in a blocking condition in your task. I recommend removing the target shell from the image and using some _real_ IO device (target console, serial,...) rather the the shell redirection for your first test. This has worked very well for me so far. After you made sure your stuff works fine, you can try to use the fancier IO devices like shell redirection. hth Werner --------------------------- Newsgroups: comp.os.vxworks Subject: change the MAC address? Date: 26 Nov 2001 02:43:47 -0800 From: kevinatnj@yahoo.com.cn (kewin) Organization: http://groups.google.com/ Message-ID: <221caa76.0111260243.2eec719c@posting.google.com> hi all I use muxIoctl() to change one ethernet port's MAC address.It seemed that I had sucessed.But I can't ping this ethernet port any more.I check parameter RAM and END_OBJ,and the vaule I set existed.I used the commands ,arp -d and arp -a, to check if the new MAC address had worked.But in the arp list the old MAC address is still there and dynamic. Will anybody tell me how can i make it. thanks kevin --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Mon Nov 26 05:58:33 2001 From: "Boda, Hitesh T (MED)" Date: Mon Nov 26 05:58:35 PST 2001 Subject: Regarding to PCI device driver. Hello Friends I need some help in written device driver in Vxworks, Actually I main board have a MPC8240 controller and One Motion controller board will be connect on PCI Slot, I want to write PCI driver for Motion controller board. can you give any guide line from where I get information that how to write device driver for PCI device. more question in future. -- hitesh "THIS E-MAIL MESSAGE ALONG WITH ANY ATTACHMENTS IS INTENDED ONLY FOR THE ADDRESSEE and may contain confidential and privileged information. If the reader of this message is not the intended recipient, you are notified that any dissemination, distribution or copy of this communication is strictly Prohibited. If you have received this message by error, please notify us immediately, return the original mail to the sender and delete the message from your system." From vxwexplo-errs@csg.lbl.gov Mon Nov 26 06:09:08 2001 From: "Freeland, Mike" Date: Mon Nov 26 06:09:10 PST 2001 Subject: RE: Disabling Machine Checks on PPC750 (VxWorks) Have you cleared the ME bit in the MSR? Mike From vxwexplo-errs@csg.lbl.gov Mon Nov 26 23:10:32 2001 From: "Avkash Chauhan" Date: Mon Nov 26 23:10:34 PST 2001 Subject: problem in installing tornado prototyper 2.0 on WinNt 4.0 with SP6 hi, i can not install tornado prototyper 2.o in a clean build Nt4 SP6 Box. every time i try to run setup application with prototyper /wind/ files it stops installing... I successfully installed same on W2K box with same files. I checked and found i have TCP/IP installed in my machine. Do we need to install some application into our NT box before tornado installtion. Any help would be greatly appreciated. Thanks in advance. -kaz From vxwexplo-errs@csg.lbl.gov Tue Nov 27 00:39:58 2001 From: =?ks_c_5601-1987?B?sejFwsf8?= Date: Tue Nov 27 00:40:00 PST 2001 Subject: [VxWorks] Strange TCP behavior [VxWorks] Strange TCP behavior Hi. I have written a TCP/IP application based on tornado2 (vxWorks 5.4). and have done simple test. BTW, Something strange has occurred. And I want to know if this is from the bug of vxWorks 5.4 TCP/IP stack, or from the mistake of my experiment. The experiment is very simple. (All sources are attached at the bottom) A(linux-x86) B(VxWorks-x86) +--------------+ +--------------+ | | | | | | | | | | <-----------> | | | | | | +--------------+ +--------------+ A sends some fixed sized data to B. Then B reads it. The data which is sent by A, contains the size of data('D') which A wants from B. So B sends data back to A. At this time, if the size of data which A wants is over 8192 bytes, B fragments data into pieces. This simple process is repeated until A reads 8MB data from B. And I calculated the throughput at this size. (MBPS) And again, A sends some fixed sized data to B. But at this time, A requires larger sized data than previous size. A and B repeat this process from 'D' 512bytes to 'D' 256*512 bytes. One part of performance result is as follows. curBlkSize = 1 : 6(sec) 297160(usec) : MBPS = 1.27 curBlkSize = 2 : 4(sec) 43891(usec) : MBPS = 1.98 curBlkSize = 3 : 3(sec) 829219(usec) : MBPS = 2.09 curBlkSize = 4 : 3(sec) 115769(usec) : MBPS = 2.57 curBlkSize = 5 : 3(sec) 141261(usec) : MBPS = 2.55 curBlkSize = 6 : 2(sec) 882352(usec) : MBPS = 2.78 curBlkSize = 7 : 93(sec) 639502(usec) : MBPS = 0.09 curBlkSize = 8 : 81(sec) 919763(usec) : MBPS = 0.10 curBlkSize = 9 : 72(sec) 839805(usec) : MBPS = 0.11 curBlkSize = 10 : 2(sec) 6065(usec) : MBPS = 3.99 curBlkSize = 11 : 1(sec) 988978(usec) : MBPS = 4.02 curBlkSize = 12 : 1(sec) 975136(usec) : MBPS = 4.05 curBlkSize = 13 : 50(sec) 438493(usec) : MBPS = 0.16 curBlkSize = 14 : 46(sec) 839791(usec) : MBPS = 0.17 curBlkSize = 15 : 43(sec) 719797(usec) : MBPS = 0.18 curBlkSize = 16 : 1(sec) 606935(usec) : MBPS = 4.98 curBlkSize = 17 : 1(sec) 622761(usec) : MBPS = 4.93 curBlkSize = 18 : 1(sec) 624657(usec) : MBPS = 4.93 curBlkSize = 19 : 34(sec) 514324(usec) : MBPS = 0.23 curBlkSize = 20 : 32(sec) 799811(usec) : MBPS = 0.24 curBlkSize = 21 : 31(sec) 239823(usec) : MBPS = 0.26 curBlkSize = 22 : 1(sec) 563056(usec) : MBPS = 5.12 curBlkSize = 23 : 1(sec) 574747(usec) : MBPS = 5.08 curBlkSize = 24 : 27(sec) 321048(usec) : MBPS = 0.29 curBlkSize = 25 : 26(sec) 239810(usec) : MBPS = 0.31 curBlkSize = 26 : 25(sec) 239817(usec) : MBPS = 0.32 curBlkSize = 27 : 1(sec) 502081(usec) : MBPS = 5.33 curBlkSize = 28 : 1(sec) 514185(usec) : MBPS = 5.29 curBlkSize = 29 : 1(sec) 522846(usec) : MBPS = 5.25 curBlkSize = 30 : 21(sec) 879576(usec) : MBPS = 0.37 curBlkSize = 31 : 21(sec) 159826(usec) : MBPS = 0.38 curBlkSize = 32 : 20(sec) 479799(usec) : MBPS = 0.39 curBlkSize = 33 : 1(sec) 477656(usec) : MBPS = 5.42 curBlkSize = 34 : 1(sec) 487341(usec) : MBPS = 5.38 curBlkSize = 35 : 1(sec) 498385(usec) : MBPS = 5.35 As you can see, MBPSs are high at some special sizes. But MBPSs are terribly low at some special sizes. I repeated this experiment many times. But the results are same. Good size is always good, and bad size is always bad. But, strangely, when I changed the system B to Linux or Solaris, this strange result disappeared. This strange result appears only when the System B is VxWorks. I analyzed tcp packets by tcpdump and tcptrace. the system B waits for an ACK of some packet. And the System A gives that ACK after very long delay (30ms). When I analyzed this tcpdump, I thought that the reason is the odd behavior of linux TCP stack. But as mentioned above, if I change the system B to other OS, this odd behavior is disappeared. So, I have set TCP options of 3 systems (vxWorks, linux, solaris) to the same, and tested. But the result was same. So, I used vxworks 5.3 instead of 5.4. But the result was same. I want to know about this strange TCP behavior of VxWorks. Any comments are welcomed. <> #include "testProg.h" #include "fioLib.h" #include "netinet/tcp.h" #define PDU_UNIT 512 #define MAGIC_KEY 0xef #define HEADER_SIZE 50 #define HEADER_MAGIC_KEY 0xfe void workTask3(int sock, int pduLength) { unsigned char * buffer, * header; int blksLeft; int reqBlkNum; int bytes, sum; printf(">> Entering workTask3 : sock %d: pduLength %d\n", sock, pduLength); buffer = (unsigned char *) malloc (pduLength * PDU_UNIT); if (buffer == NULL) { perror(">> ERROR : cannot malloc for buffer (workTask3)\n"); exit(-1); } /* if */ bzero(buffer, pduLength * PDU_UNIT); header = (unsigned char *) malloc (HEADER_SIZE); if (header == NULL) { perror(">> ERROR : cannot malloc for header (workTask3)\n"); exit(-1); } /* if */ while ('1'=='1') { fioRead (sock, header, HEADER_SIZE); if (header[0] != HEADER_MAGIC_KEY) { printf(">> ERROR : invalid HEADER_MAGIC_KEY 0x%x\n", header[0]); printf(">> Header : \n"); printf(">> \t0x%x 0x%x 0x%x 0x%x\n",header[0], header[1], header[2], header[3]); exit(-1); } /* if */ reqBlkNum = header[1]; blksLeft = reqBlkNum; while (blksLeft > 0) { if (blksLeft >= pduLength) { sum = 0; while (sum < pduLength * PDU_UNIT) { bytes = write (sock, buffer, pduLength * PDU_UNIT - sum); sum += bytes; } if (sum != pduLength * PDU_UNIT) { perror(">> error 1\n"); exit(-1); } blksLeft -= pduLength; } /* if */ else { sum = 0; while (sum < blksLeft * PDU_UNIT) { bytes = write (sock, buffer, blksLeft * PDU_UNIT - sum); sum += bytes; } if (sum != blksLeft * PDU_UNIT) { perror(">> error 2\n"); exit(-1); } blksLeft = 0; } /* else */ } /* while */ } /* while */ } /* workTask3 */ void serverMain (int testNum, int readSize) { struct sockaddr_in serverAddr; struct sockaddr_in clientAddr; int serverSock, connSock, sFd, taskCount = 0; int sockAddrSize, taskId; int srBuffSize, optval; char taskName[20]; /* set up the local address */ sockAddrSize = sizeof (struct sockaddr_in); bzero ((char *) &serverAddr, sockAddrSize); serverAddr.sin_family = AF_INET; /* serverAddr.sa_len = (u_char) sockAddrSize; */ serverAddr.sin_port = htons (SERVER_PORT_NUM); serverAddr.sin_addr.s_addr = htonl (INADDR_ANY); /* create a TCP-based socket */ if ((sFd = socket (AF_INET, SOCK_STREAM, 0)) == ERROR) { perror (">> socket(): cannot execute socket()"); exit(-1); } /* bind socket to local address */ if (bind (sFd, (struct sockaddr *) &serverAddr, sockAddrSize) == ERROR) { perror (">> bind(): cannot bind"); close(sFd); exit(-1); } /* create queue for client connection requests */ if (listen (sFd, SERVER_MAX_CONNECTIONS) == ERROR) { perror(">> listen(): cannot listen"); close(sFd); exit(-1); } while (1==1) { logMsg(">> Listening Well-Known Ports...\n",0,0,0,0,0,0); if ((connSock = accept (sFd, (struct sockaddr *) &clientAddr, &sockAddrSize)) == ERROR) { perror (">> (iscsiServerTask) : cannot accept\n"); exit(-1); } sprintf (taskName, "server_%d", taskCount); switch (testNum) { case 3: taskSpawn (taskName, 2, 0, 10000, workTask3, connSock, readSize,0,0,0,0,0,0,0,0); break; case 4: printf(">> ERROR : test %d is not yet supported \n", testNum); default: } /* switch */ } /* while */ } /* serverMail */ <> #include #include #include #include #include #include #include #include #define __ORIGIN__ #define SERV_PORT 9877 #define TARGET_NAME_LENGTH 20 #define MAGIC_KEY 0xef #define HEADER_MAGIC_KEY 0xfe #define PDU_UNIT 512 #define BLK_SIZE 512 #define HEADER_SIZE 50 #define MAX_REQ_SIZE 256 #define BUFF_SIZE 1024 * 512 * 2 * 8 #define TOTAL_BLK_SIZE (1024*8*2) /* 8MB */ #define WORKLOAD_PER_SIZE 512 * 1024 #define TIME_STAMP(tp) \ if (gettimeofday((tp), NULL)) { \ printf(">> TIME_STAMP(): ERROR: gettimeofday()"); \ exit(-1); \ } /****************************************************************************** * TIME_ELAPSED : *****************************************************************************/ void TIME_ELAPSED (struct timeval * elapsed, struct timeval * before, struct timeval * after) { timersub(after, before, elapsed); } /* TIME_ELAPSED */ /****************************************************************************** * makeConnection: *****************************************************************************/ int makeConnection (void) { int sockfd, optval; struct sockaddr_in servaddr; char target[TARGET_NAME_LENGTH]; sockfd = socket(AF_INET, SOCK_STREAM, 0); sprintf(target, "192.168.1.2"); bzero (&servaddr, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_port = htons (SERV_PORT); inet_pton (AF_INET, target, &servaddr.sin_addr); connect (sockfd, (struct sockaddr_in *) &servaddr, sizeof(servaddr)); return sockfd; } /* makeConnection */ int main (int argc, char ** argv) { struct timeval before, after, elapsed; unsigned char * buffer, * header; int mysock, bytes, pduLength, xferedSum; int curBlkSize, blksLeft, sum; pduLength = atoi(argv[1]); printf(">> pduLength = %d\n",pduLength); printf(">> MAX DataPDU Length = %d\n", pduLength * BLK_SIZE); buffer = (unsigned char *) malloc (pduLength * PDU_UNIT); if (buffer == NULL) { perror (">> ERROR : cannot malloc for buffer\n"); exit(-1); } /* if */ bzero(buffer, pduLength * PDU_UNIT); header = (unsigned char *) malloc (HEADER_SIZE); if (header == NULL) { perror (">> ERROR : cannot malloc for header\n"); exit(-1); } /* if */ mysock = makeConnection(); #ifdef __ORIGIN__ for (curBlkSize = 1; curBlkSize < MAX_REQ_SIZE; curBlkSize++) { #else curBlkSize = 26; #endif xferedSum = 0; TIME_STAMP (&before); do { header[0] = HEADER_MAGIC_KEY; header[1] = curBlkSize; write (mysock, header, HEADER_SIZE); xferedSum += curBlkSize; blksLeft = curBlkSize; do { if (blksLeft > pduLength) { sum = 0; while (sum < pduLength * BLK_SIZE) { bytes = read (mysock, buffer, pduLength * BLK_SIZE - sum); sum += bytes; } if (sum != pduLength * BLK_SIZE) { perror (">> error1\n"); exit(-1); } blksLeft -= pduLength; } /* if */ else { sum = 0; while (sum < blksLeft * BLK_SIZE) { bytes = read (mysock, buffer, blksLeft * BLK_SIZE - sum); sum += bytes; } if (sum != blksLeft * BLK_SIZE) { perror (">> error2\n"); exit(-1); } blksLeft = 0; } /* else */ /* blksLeft -= (bytes / BLK_SIZE); */ } while (blksLeft != 0); /*printf(">> ------------------\n"); */ } while (xferedSum < TOTAL_BLK_SIZE); TIME_STAMP (&after); TIME_ELAPSED (&elapsed, &before, &after); printf(">> curBlkSize = %3d : %ld(sec) %ld(usec) : MBPS = %.2f \n", curBlkSize, elapsed.tv_sec, elapsed.tv_usec, (double)(xferedSum*1000000.0)/((double)(elapsed.tv_sec*1000000.0+elapsed.tv_usec*1.0)*1024.0*2.0)); #ifdef __ORIGIN__ } /* for */ #endif } /* main */ From vxwexplo-errs@csg.lbl.gov Tue Nov 27 03:31:26 2001 From: "Tan, Tat Kin" Date: Tue Nov 27 03:31:29 PST 2001 Subject: Error when ld Greetings VxWorks folks! Just wonder if someone can give me a hand on this error msg that i had. I tried to load an .out file into my embedded device and i have this error message. -> ld < c:\rcwHttp.out undefined symbol: _sem_wait undefined symbol: _sem_init undefined symbol: _SAMPLE_AuthLevel undefined symbol: _sem_post ld error: error reading file (errno = 0x1c0001). value = 0 = 0x0 Anyone has any idea what is this indicating? appreciate any form of help. Thanks in advance. With Warm Regards, Tat Kin Tan From vxwexplo-errs@csg.lbl.gov Tue Nov 27 04:03:16 2001 From: Vxworks Exploder Date: Tue Nov 27 04:03:19 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Tue Nov 27 04:03:13 PST 2001 Subject: Re: need help with shell I/O (scanf) Subject: MAP-CA processor and TCP/IP Subject: Re: need help with shell I/O (scanf) Subject: Re: need help with shell I/O (scanf) Subject: Monitoring CPU Utilization Subject: Re: The network stack locks completely solid Subject: Re: DosFS Questions Subject: handling PCI device Subject: Re: Monitoring CPU Utilization Subject: Re: Monitoring CPU Utilization Subject: Cross compiling problems!!! HELP!! Subject: Re: DosFS Questions Subject: Re: DOSFS2 MOUNTING Subject: Multicasting using VxWorks Subject: Re: DOSFS2 MOUNTING Subject: How to include a archive file Subject: structures pitfall Subject: Re: How to include a archive file Subject: Re: structures pitfall Subject: Re: Multicasting using VxWorks Subject: allow-single-precision Subject: Re: How to include a archive file Subject: Re: How to include a archive file Subject: which device caused PCI bus interrupt? Subject: vsnprintf Subject: Re: handling PCI device Subject: Re: Monitoring CPU Utilization Subject: Re: which device caused PCI bus interrupt? Subject: Welcome to new photogallery Subject: what's the difference standard simulator and full simulator? ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: need help with shell I/O (scanf) Date: 26 Nov 2001 12:05:27 GMT From: Johan Borkhuis Organization: Agere Systems Message-ID: References: <3BFC60F6.9ABED695@larc.nasa.gov> <3c021692$1@brateggebdc5.br-automation.co.at> "Werner Schiendl" wrote: > Hi, > > I had quite some troubles to receive input on the target when the > target shell is configured into the image. > It seems, reading from the IO device used for the target shell is > dependent on luck, more than other things. > > Just lowering the priority of the shell does not prevent it to re-get > some characters, if you are running in a blocking condition in your > task. I recommend removing the target shell from the image and using > some _real_ IO device (target console, serial,...) rather the the shell > redirection for your first test. > This has worked very well for me so far. > After you made sure your stuff works fine, you can try to use the > fancier IO devices like shell redirection. There is some example code here: http://www.xs4all.nl/~borkhuis/vxworks/vxw_pt1.html#1.9-G: shelltid = taskNameToId("tShell"); taskDelete(shelltid); for( ; ; ) { // read } shellInit(0,TRUE); 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: MAP-CA processor and TCP/IP Date: Mon, 26 Nov 2001 14:43:36 +0100 From: Cedric Nivois Organization: Swisscom IP+ (post doesn't reflect views of Swisscom) Message-ID: <3C024708.65D80A3D@gespac.ch> Hello, I want to put a TCP/IP stack on MAP-CA processor, but I don't know if this stack will not take to much processor ressource. Can someone give me information about VxWorks on MAP-CA? Thanks Cedric --------------------------- Newsgroups: comp.os.vxworks Subject: Re: need help with shell I/O (scanf) Date: Mon, 26 Nov 2001 15:16:24 +0100 From: "Werner Schiendl" Message-ID: <3c024f7e$1@brateggebdc5.br-automation.co.at> References: <3BFC60F6.9ABED695@larc.nasa.gov> <3c021692$1@brateggebdc5.br-automation.co.at> Hi "Johan Borkhuis" wrote in message news:Xns9165855746E85borkhuisagerecom@135.7.153.101... ... > > There is some example code here: > http://www.xs4all.nl/~borkhuis/vxworks/vxw_pt1.html#1.9-G: > > > shelltid = taskNameToId("tShell"); > > taskDelete(shelltid); > for( ; ; ) > { > // read > } > shellInit(0,TRUE); > > ... Is this code 'production quality' or does it bear the risk of leaking memory or some other unwanted behaviour? Just curios Werner --------------------------- Newsgroups: comp.os.vxworks Subject: Re: need help with shell I/O (scanf) Date: 26 Nov 2001 14:52:47 GMT From: Johan Borkhuis Organization: Agere Systems Message-ID: References: <3BFC60F6.9ABED695@larc.nasa.gov> <3c021692$1@brateggebdc5.br-automation.co.at> <3c024f7e$1@brateggebdc5.br-automation.co.at> "Werner Schiendl" wrote: > Is this code 'production quality' or does it bear the risk of leaking > memory or some other unwanted behaviour? I did not try this myself, but you could check the amount of free memory before and after you ran this code 10 times. 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: Monitoring CPU Utilization Date: Mon, 26 Nov 2001 10:06:01 -0500 From: Ben Kuhn Organization: Improv Systems, Inc. Message-ID: <3C025A59.C2EA92A9@improvsys.com> Reply-To: benk@improvsys.com This is a multi-part message in MIME format. - --------------142DD4183A7DCB27ADA257CB Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Is there any way to programmatically watch the CPU utilization by task under VxWorks 5.4? - -- Ben Kuhn Improv Systems (716) 756-5411 x25 - --------------142DD4183A7DCB27ADA257CB Content-Type: text/x-vcard; charset=us-ascii; name="benk.vcf" Content-Transfer-Encoding: 7bit Content-Description: Card for Ben Kuhn Content-Disposition: attachment; filename="benk.vcf" begin:vcard n:Kuhn;Benjamin tel;cell:716 739 2171 tel;work:(716) 756 - 5411 x25 x-mozilla-html:FALSE adr:;;;;;; version:2.1 email;internet:benk@improvsys.com fn:Benjamin Kuhn end:vcard - --------------142DD4183A7DCB27ADA257CB-- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: The network stack locks completely solid Date: 26 Nov 2001 11:38:20 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: <3BF93BC5.A8FE355A@rti.com> <9tesl8$mg8$1@plutonium.btinternet.com> Sender: bpringlemeir@DeadDuck [I posted a message on Nov 21st. It doesn't appear on my news server, put is found in google archives, so I assume it made it to the public] Bill> I have encountered a problem where I have the network task Bill> hanging. On my target, I have "tyCo/0" and "tyCo/5" connecting Bill> to PPP sessions 0 and 1. The session 0 (tPPP0, tPPP0Wrt, etc) Bill> is invoked in passive mode a boot time and is connected to via Bill> RAS etc and used with the Tornado Tools. We have added an Bill> Ethernet chip and the PPP0 is generally unused. The PPP1 does Bill> an active connect (client) to an ISP. [snip] Bill> Also, if PPP0 is used to debug will the connection to PPP1 is Bill> happening, we experience the lock every time with pre-emptive Bill> interrupts. It does not happen as often with pre-emption Bill> turned off. Bill> Is it possible that this is related to the SPR shown? I am Bill> using an END driver in all cases. I would also be interested Bill> to know if anyone else has experienced network lockups during Bill> PPP connect/disconnect sequences. Bill> This information was difficult to come by. I hope it helps Bill> someone; making interrupts non-preemptable _ALMOST_ eliminates Bill> the problem. It only happens once in about 120 PPP Bill> connects/disconnects. With few interrupts on the system, the Bill> test code has run over a weekend executing a 600-700 times [the Bill> ISP really likes us]! The problem was related to our connection code [at least according to out current understanding]. We had pppInit() code followed by an ifAddrGet() loop. The ifAddrGet() was being used to detect if the PPP link had come up. After observing a task stopped at this function, I looked at the WRS usrNetwork code and found that they use pppInfo() to detect the success of a PPP connection. I believe that some sort of deadlock can occur if you use different network functions, while connecting via PPP. By using pppInfoGet(), we no longer have any trouble connecting the PPP link. I don't think that this `limitation/process' is noted anywhere in WRS documentation on PPP, although they do recommend using pppInfoGet() to check the status of a link. Some of the other problem I mentioned in message "ug078ov1s.fsf@yahoo.com" are probably unrelated. fwiw, Bill Pringlemeir. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: DosFS Questions Date: Mon, 26 Nov 2001 18:49:59 +0200 From: "Anatoly Greenblatt" Organization: Internet Gold, ISRAEL Message-ID: <9ttrtu$ks1$1@news.inter.net.il> References: Hi Andy, There is an update, DOSFS2, which has comprehensive explanation of steps to create dosfs partition. Another reason you need dosfs2 is that dosfs is limited to 2gb (or 4gb, I'm not sure). Anatoly. "Andy" wrote in message news:e397b57.0111191023.4ee4f066@posting.google.com... > Hi, > > 1. What exactly must I do in order to use the DosFS?? I understand > that dosFsInit() must be called, but is there anything else??? I want > to move and copy files. > > 2. Related to the first question, how does one copy and move files??? > It seems as if I have to use open/read/write/close methodology instead > of a simple "system" call. Is this true???? > > Andy --------------------------- Newsgroups: comp.os.vxworks Subject: handling PCI device Date: Mon, 26 Nov 2001 18:56:47 +0200 From: "Anatoly Greenblatt" Organization: Internet Gold, ISRAEL Message-ID: <9ttsal$l3a$1@news.inter.net.il> Hi, I need to write a driver for PCI device. I'd appreciate if someone could answer following how-tos: - - enumerate pci device, including those on secondary bus - - get device resources; - - connect to device interrupt - - map device memory space to virtual space - - allocate memory in the driver and get its physical address - - allocate memory in application and get its physical address(or is it the same as previous) If there are any examples that could help me, please let me know. Thanks, Anatoly. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Monitoring CPU Utilization Date: Mon, 26 Nov 2001 09:29:34 -0800 From: "Gary M" Message-ID: <3c027c6b$0$27529$4c41069e@reader0.ash.ops.us.uu.net> References: <3C025A59.C2EA92A9@improvsys.com> Reply-To: "Gary M" You mean something other than Spy? (Tornado/docs/vxworks/ref/spyLib.html) "Ben Kuhn" wrote in message news:3C025A59.C2EA92A9@improvsys.com... > > Is there any way to programmatically watch the CPU utilization by task > under VxWorks 5.4? > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Monitoring CPU Utilization Date: Mon, 26 Nov 2001 19:17:13 GMT From: dbrya@yahoo.com Organization: http://www.newsranger.com Message-ID: References: <3C025A59.C2EA92A9@improvsys.com> In article <3C025A59.C2EA92A9@improvsys.com>, Ben Kuhn says... .. >Is there any way to programmatically watch the CPU utilization by task >under VxWorks 5.4? > .. Ben, While the spy utility will give you the information you are looking for, it will not do so programmatically. So the answer is NO there is nothing provided for programmatic CPU utilization. However, vxWorks has all the hooks you need to do your own CPU utilization measurements. Using taskSwitchHook routines, you can measure the amount of time spent in each task. You should use a high speed clock (or hardware timer) to measure the time in order to provide a high enough resolution to give meaningful results. While not optimal ( there is no measurement of interrupt or kernel time) this technique provides very accurate results with little overhead. In fact on a system which was running at over 90% CPU utilization, spy caused the board to crash, while the taskSwitch technique continued to report all the way up to 100% utilization. (BTW, it was a very poorly designed board written by NON-software types!!) If you have any questions or want more detail on this technique feel free to contact me HTH Dave T h e P T R G r o u p, I n c. Embedded, Real-Time Solutions, and Training David Bryan Manager, Embedded Services www.ThePTRGroup.com Dave@ThePTRGroup.com --------------------------- Newsgroups: comp.os.vxworks Subject: Cross compiling problems!!! HELP!! Date: 26 Nov 2001 11:44:13 -0800 From: vittalk@ieee.org (Vittal Krishnamurthy) Organization: http://groups.google.com/ Message-ID: <52e25f45.0111261144.6d40284c@posting.google.com> Hi I was trying to build a cross compiler for Vxworks(Tornado II) for MIPS (VR5400) target on linux (RH 7.1) host using GCC 3.02. I get a lot compiler errors... I used binutils 2.11.2. The commands were as follows: binutils: ./configure --target=/usr/mylocal --target=mips-wrs-vxworks make make install binutils works well gcc: ./configure --prefix=/usr/mylocal --enable-languages=c,c++ --target=mips-wrs-vxworks --with-gnu-as --with-gnu-ld --with-headers=/target/h --with-libs=/target/lib --enable-threads=vxworks make ------> keep getting lots of errors....eg libstdc++-v3/include/mips-wrs-vxworks/bits/taskLib.h:121, from eh_globals.cc:36: ../../../gcc/machmode.h:124: syntax error before `(' token ../../../gcc/machmode.h:130: syntax error before `(' token etc..... I have tried to fix some of them.. but I keep getting so many errors which make me beleive that there must be some fundamental problem some where. On the other hand, GCC 2.95.3 compiled with very few problems.!!! Any help in this matter is very much appreciated. Thanks - -Vittal --------------------------- Newsgroups: comp.os.vxworks Subject: Re: DosFS Questions Date: Mon, 26 Nov 2001 22:13:38 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <9ttrtu$ks1$1@news.inter.net.il> "Anatoly Greenblatt" wrote in message news:9ttrtu$ks1$1@news.inter.net.il... > Hi Andy, > > There is an update, DOSFS2, which has comprehensive explanation of steps to > create dosfs partition. Another reason you need dosfs2 is that dosfs is > limited to 2gb (or 4gb, I'm not sure). > > Anatoly. > Tolik, you are wrong, DosFs 2.0 works quite well (n practice) on a 150GByte and 300GByte volumes, and probably somewhere there could be even a larger volume which is supports, but I stick to facts I am aware of. DosFs2.0 with the FAT32 format, can really stretch into a huge volume if needed, for which there is of course a price to pay, but that is another story. There is a limitation of file size - 4.3GByte is the max size of any single file while using MSFT-compatible VFAT directory structure (default). With the proprietary VX_LONG directory structure, there are 40 bits for file size, and thus a single file theoretical limit is 1 TeraByte. During development, max file size was tested at 8Gbyte (which was the largest disk we could afford to buy), but I am not aware of anyone testing VX_LONG file size limit on anything larger. HTH, - - Leonid --------------------------- Newsgroups: comp.os.vxworks Subject: Re: DOSFS2 MOUNTING Date: Mon, 26 Nov 2001 16:30:53 -0500 From: "John R." Message-ID: <3c02b49b$0$26895$4c41069e@reader1.ash.ops.us.uu.net> References: <3bfa8834$0$16476$4c41069e@reader1.ash.ops.us.uu.net> Flushing/Invalidating cache does not resolve this problem, nor does modifying the cache tuning. This is a FAT issue. Is the FAT part of the disk cache? How might I flush the FAT to disk? --------------------------- Newsgroups: comp.os.vxworks Subject: Multicasting using VxWorks Date: 26 Nov 2001 13:39:38 -0800 From: ssaya@larscom.com (Saya) Organization: http://groups.google.com/ Message-ID: My company manufactures WAN/LAN connectivity equipment. Our requirement is that when a multicast address, if received on the Ethernet interface, must be accepted as a valid IP packet by the driver, passed to the IP stack, and examined to determine the configured egress route in the WAN. Likewise, if a multicast packet is received on any WAN interface, then the reverse of the above flow must occur. I have been trying to figure out what part of VxWorks code I will have to modify to achive the above. I have talk with WindRiver guys and they are no help. According to them VxWorks does not support Multicasting. Our product is not going to be a part of any multicast aware device, therefore we do not have any group concept. We just want to receive and send multicast packets from our box. We are using TMS 1.0 with END driver. WindRiver says that END driver does support multicasting, but packets are getting dropped somewhere. What I like to do is to treat multicast packets as broadcast and do not touch the MAC address. I do not know if this is the right thing to do. I would appreciate any comments from anyone regarding this. Thanks S. Saya ssaya@larscom.com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: DOSFS2 MOUNTING Date: 26 Nov 2001 17:03:02 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: <3bfa8834$0$16476$4c41069e@reader1.ash.ops.us.uu.net> <3c02b49b$0$26895$4c41069e@reader1.ash.ops.us.uu.net> Sender: bpringlemeir@DeadDuck >>>>> "John" == John R writes: [snip] John> How might I flush the FAT to disk? fd = open("/mydrive",O_RDWR,0); ioctl(fd, CBIO_CACHE_INVAL, -1); ioctl(fd, CBIO_CACHE_FLUSH, -1); hth, Bill Pringlemeir. - -- Source licenses are fun, right? Let me tell you something, you weakling, most Polish people have surfboards . vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html" --------------------------- Newsgroups: comp.os.vxworks Subject: How to include a archive file Date: 26 Nov 2001 15:46:10 -0800 From: arcv0@lycos.com (Roger) Organization: http://groups.google.com/ Message-ID: <45dd6f79.0111261546.62ec2369@posting.google.com> Hi, I am using the Tornado 2.0. I have a project(Project1) and I made it into an archive file(arch.a). I want to call the functions in the archive file in another new project. How to include this archive file into the new project.? I added the following line to the C/C++ compiler tab of the 'Build' properties. -I C:/Project1/arch.a But when I tried to build it , I get the warning C:\Project2\test.c:23: warning: implicit declaration of function `func'. 'func' is the function in the archive file. 'test.c' is the function in the new project . Any suggestions will be of great help. Thank You. --------------------------- Newsgroups: comp.os.vxworks Subject: structures pitfall Date: 26 Nov 2001 16:12:25 -0800 From: quadmail@yahoo.com (Alex) Organization: http://groups.google.com/ Message-ID: <7b99c091.0111261612.1d1e2794@posting.google.com> Hi All, I declare an array of 100 structures in an include file. Each structure contains names of modules and and their segment addresses: #include "moduleLib.h" struct module_inf { char* name; void* module_id; void* textSeg; /* address of text segment */ void* dataSeg; /* address of data segment */ void* bssSeg; }moduleInfo[100]; I then populate the structure in some code which works fine: /*Build a record of the information obtained for each module... */ moduleInfo[index_no].name = module_name; /*Rest of code*/ In some different code, I try to read the structure elements back according to the module name, i get garbage back WITH THE FOLLOWING PRINTF()...Does the memory block get erased when the first code block finishes with it?? Each code seg. belongs in a separate source file. printf("moduleInfo[%d].name is : %s \n\n",index_no,moduleInfo[index_no].name); Any ideas!!? Alex Quade --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to include a archive file Date: 27 Nov 2001 02:24:31 GMT From: Denis Perelyubskiy Message-ID: References: <45dd6f79.0111261546.62ec2369@posting.google.com> * Roger [11-Mon-01 15:46 -0800]: > I am using the Tornado 2.0. I have a project(Project1) and I made it > into an archive file(arch.a). I want to call the functions in the > archive file in another new project. How to include this archive file > into the new project.? > I added the following line to the C/C++ compiler tab of the 'Build' > properties. > -I C:/Project1/arch.a [...] I could be wrong, but I think -I is for 'include', and what you would like to do is to link against that .a file (NOT include it) good luck, 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: structures pitfall Date: 27 Nov 2001 02:36:43 GMT From: Denis Perelyubskiy Message-ID: References: <7b99c091.0111261612.1d1e2794@posting.google.com> * Alex [11-Mon-01 16:12 -0800]: > > I declare an array of 100 structures in an include file. Each [...] > Any ideas!!? Alex Quade i think this is where your problem lies. what happens, is that two different modules use a different structure, which has a file scope, which is limited to the translation unit. therefore, what happens is that you initialize one array of structures, but use the second one. instead, try this, but note that initialization must naturally come before usage: - --------- header.h ----------- struct module_inf { char* name; void* module_id; void* textSeg; /* address of text segment */ void* dataSeg; /* address of data segment */ void* bssSeg; }; /* moduleInfo[] could be moduleInfo[100], but I dont believe * it is necessary */ extern struct module_inf moduleInfo[]; - --------- file1.c ----------- #include "header.h" struct module_inf moduleInfo[100]; void my_init_function() { /* do your initialization bit here */ } - --------- file2.c ----------- #include "header.h" void my_other_function() { /* make sure the intialization step actually happenned */ /* do the printf() business */ } the above should give you an idea, and should probably work... hth, 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: Multicasting using VxWorks Date: 26 Nov 2001 20:46:51 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111262046.3da82a56@posting.google.com> References: Hello, Can't really give you advice about your specific problem, but I would suggest that when asking for help here you supply a little more information about your system... For example, the name of device driver you are using, and the CPU architecture would be a good idea. I would suggest a quick followup with some specifics, then somebody here might be able to help you out. Rgds, John... ssaya@larscom.com (Saya) wrote in message news:... > My company manufactures WAN/LAN connectivity equipment. Our > requirement is that when a multicast address, if received on the > Ethernet interface, must be accepted as a valid IP packet by the > driver, passed to the IP stack, and examined to determine the > configured egress route in the WAN. Likewise, if a multicast packet > is received on any WAN interface, then the reverse of the above flow > must occur. I have been trying to figure out what part of VxWorks > code I will have to modify to achive the above. I have talk with > WindRiver guys and they are no help. According to them VxWorks does > not support Multicasting. Our product is not going to be a part of > any multicast aware device, therefore we do not have any group > concept. We just want to receive and send multicast packets from our > box. > > We are using TMS 1.0 with END driver. WindRiver says that END driver > does support multicasting, but packets are getting dropped somewhere. > What I like to do is to treat multicast packets as broadcast and do > not touch the MAC address. I do not know if this is the right thing > to do. I would appreciate any comments from anyone regarding this. > > Thanks > S. Saya > ssaya@larscom.com --------------------------- Newsgroups: comp.os.vxworks Subject: allow-single-precision Date: Tue, 27 Nov 2001 05:54:02 GMT From: "kevin dodd" Organization: Excite@Home - The Leader in Broadband http://home.com/faster Message-ID: <_TFM7.49944$RG1.26584915@news1.rdc1.sfba.home.com> I need to know how to use this option, the description in the gnu compile for vxworks, makes it read like it cannot be done. Any ideas would be helpfull Kevin Dodd kdodd13@home.com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to include a archive file Date: Mon, 26 Nov 2001 22:26:33 -0800 From: "drdiags" Organization: laserlink.net Message-ID: <9tvcvs$eb3$1@newstest.laserlink.net> References: <45dd6f79.0111261546.62ec2369@posting.google.com> Hello Roger, You should be able to add your archive to the LIB macro in the Build Properties tab->right click to view the MACRO tab and add the full path of your archive in the "LIB" macro. Then click the 'Add/Set' button and 'Apply'. As far as the warning, of course you have a test.h file which prototypes your 'func' routine or you prototyped the function in your test.c file, didn't you? "Roger" wrote in message news:45dd6f79.0111261546.62ec2369@posting.google.com... > Hi, > I am using the Tornado 2.0. I have a project(Project1) and I made it > into an archive file(arch.a). I want to call the functions in the > archive file in another new project. How to include this archive file > into the new project.? > I added the following line to the C/C++ compiler tab of the 'Build' > properties. > -I C:/Project1/arch.a > > But when I tried to build it , I get the warning > > C:\Project2\test.c:23: warning: implicit declaration of function > `func'. > > 'func' is the function in the archive file. 'test.c' is the function > in the new project . > > Any suggestions will be of great help. > Thank You. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to include a archive file Date: Tue, 27 Nov 2001 09:37:04 +0200 From: "Ofer Goren" Organization: Verio Message-ID: References: <45dd6f79.0111261546.62ec2369@posting.google.com> The -I flag only specify the search path in which .h files should be looked for. You should add your .a file into the LIBS macro. However, this can be done only if your project is bootable. There is no LIBS macro in a downloadable project, and even if you add one, the linker will disregard it. HTH..... Ofer. "Roger" wrote in message news:45dd6f79.0111261546.62ec2369@posting.google.com... > Hi, > I am using the Tornado 2.0. I have a project(Project1) and I made it > into an archive file(arch.a). I want to call the functions in the > archive file in another new project. How to include this archive file > into the new project.? > I added the following line to the C/C++ compiler tab of the 'Build' > properties. > -I C:/Project1/arch.a > > But when I tried to build it , I get the warning > > C:\Project2\test.c:23: warning: implicit declaration of function > `func'. > > 'func' is the function in the archive file. 'test.c' is the function > in the new project . > > Any suggestions will be of great help. > Thank You. --------------------------- Newsgroups: comp.os.vxworks Subject: which device caused PCI bus interrupt? Date: 26 Nov 2001 23:49:34 -0800 From: ca_prashanth@mindtree.com (Prashanth) Organization: http://groups.google.com/ Message-ID: Hi ALL, How to determine which device caused PCI bus interrupt ? I am using pcPentium BSP. Thanks in advance. Prashanth --------------------------- Newsgroups: comp.os.vxworks Subject: vsnprintf Date: Tue, 27 Nov 2001 08:52:36 +0100 From: "Joerg Engel" Message-ID: <3c034638$0$186$4d4ebb8e@read.news.de.uu.net> I need an implementation of vsnprintf for VxWorks. Where can I find source code ? Thanks Joerg --------------------------- Newsgroups: comp.os.vxworks Subject: Re: handling PCI device Date: Tue, 27 Nov 2001 12:01:05 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <9ttsal$l3a$1@news.inter.net.il> Tolik, All the stuff you are asking for, is standard stuff, so the quickest way around would be to use some other PCi driver source as an example. Any PCI driver should do the trick for you, preferrably running on the same CPU architecture. Leonid "Anatoly Greenblatt" wrote in message news:9ttsal$l3a$1@news.inter.net.il... > Hi, > > I need to write a driver for PCI device. I'd appreciate if someone could > answer following how-tos: > - enumerate pci device, including those on secondary bus > - get device resources; > - connect to device interrupt > - map device memory space to virtual space > - allocate memory in the driver and get its physical address > - allocate memory in application and get its physical address(or is it the > same as previous) > > If there are any examples that could help me, please let me know. > > Thanks, > Anatoly. > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Monitoring CPU Utilization Date: Tue, 27 Nov 2001 12:06:00 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <3C025A59.C2EA92A9@improvsys.com> Benny, I think i know what you mean, because I did this some years ago. Here is the idea: you write a simple tight-loop which runs forever at the lowest possible priority, essentially being the sort-of idle task. But this ide loop also has got a counter, which it increments constantly, and it also watches vxTicks to see when a tick elapses. When a tick elapses, it take the counter value and stores it somewhere for the other clients to read. I actually did this in a progressive average manner to ignore spikes in activity. Keep im mind that entire ticks could go by without every running the idle task, so when it eventually runs, it should account for a few zero values. Of course this is a rougth description, as there is some spice to add to this recipie. Good luck, - Leonid "Ben Kuhn" wrote in message news:3C025A59.C2EA92A9@improvsys.com... > > Is there any way to programmatically watch the CPU utilization by task > under VxWorks 5.4? > > -- > > Ben Kuhn > Improv Systems > (716) 756-5411 x25 --------------------------- Newsgroups: comp.os.vxworks Subject: Re: which device caused PCI bus interrupt? Date: Tue, 27 Nov 2001 11:10:44 +0100 From: "Werner Schiendl" Message-ID: <3c036e9d@brateggebdc5.br-automation.co.at> References: Hi, you do not normally decide externally, which device caused the interrupt. It is specific for each PCI device, how this information can be read. Normally, you cascade the drivers so that all PCI drivers with devices on one IRQ are called, when the interrupt is triggered. Each driver then checks, whether 'its' device has caused an interrupt (e. g. data available) You can use the pciIntConnect function to connect the PCI device handlers to the interrupt. That way, you do not care yourself for calling the other interrupt handlers for the same IRQ in your application. hth Werner "Prashanth" wrote in message news:c206764f.0111262349.ff2875d@posting.google.com... > Hi ALL, > How to determine which device caused PCI bus interrupt ? I am using > pcPentium BSP. > > > Thanks in advance. > Prashanth --------------------------- Newsgroups: comp.os.vxworks Subject: Welcome to new photogallery Date: Tue, 27 Nov 2001 13:17:20 +0200 From: "Sight" Organization: sight Message-ID: <9tvt4n$fia$764@bn.utel.com.ua> Reply-To: sight@ukr.net Welcome to Sight photogallery http://www.sight.com.ua --------------------------- Newsgroups: comp.os.vxworks Subject: what's the difference standard simulator and full simulator? Date: Tue, 27 Nov 2001 19:50:30 +0800 From: "zhaoyandong" Organization: Bentium Ltd. (CN99) Message-ID: <9tvuql$67l$1@mail.cn99.com> How can I get full simulator? How much is it£¿ Thank you in advance --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Tue Nov 27 06:12:18 2001 From: "Christian Delez" Date: Tue Nov 27 06:12:20 PST 2001 Subject: RE: what's the difference standard simulator and full simulator? This is a multipart message in MIME format. --=_alternative 004E0533C1256B11_= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable The build in simulator (or VxSim lite) is without networking (either=20 localhost or network card), without multiprocessor support, without=20 WindFoundation Class (C++ wrapper on VxWorks task, semaphore,...). >How can I get full simulator? It's a WindRiver product. You must order it through WindRiver sales. >How much is it=A3=BF WindRiver Sales people will be please to make you an offer... @+, Christian. --=_alternative 004E0533C1256B11_= Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
The build in simulator (or VxSim lite) is without ne= tworking (either localhost or network card), without multiprocessor support= , without WindFoundation Class (C++ wrapper on VxWorks task, semaphore,...)= .


>How can I get full simulator?
It's a WindRiver product. You must order it through = WindRiver sales.

>How much is it=A3=BF

WindRiver Sales people will be please to make you an= offer...

@+, Christian. --=_alternative 004E0533C1256B11_=-- From vxwexplo-errs@csg.lbl.gov Tue Nov 27 06:15:19 2001 From: "Christian Delez" Date: Tue Nov 27 06:15:21 PST 2001 Subject: RE: Error when ld This is a multipart message in MIME format. --=_alternative 004E4BF7C1256B11_= Content-Type: text/plain; charset="us-ascii" >-> ld < c:\rcwHttp.out Your command is mistype. Try: -> ld 1,0,"c:\rcwHttp.out" you find the help on WindShell command syntax in : file:///C:/Programme/tor2ppc/docs/tornado/tools/windsh.html#top @+, Christian. --=_alternative 004E4BF7C1256B11_= Content-Type: text/html; charset="us-ascii"
>-> ld < c:\rcwHttp.out

Your command is mistype. Try:
-> ld 1,0,"c:\rcwHttp.out"

you find the help on WindShell command syntax in :
file:///C:/Programme/tor2ppc/docs/tornado/tools/windsh.html#top
@+, Christian. --=_alternative 004E4BF7C1256B11_=-- From vxwexplo-errs@csg.lbl.gov Tue Nov 27 08:47:55 2001 From: Shlomo Katz Date: Tue Nov 27 08:47:57 PST 2001 Subject: using drive way product and the tornado for vxworks configuration hi vxworks users we have bought a tool called drive way that generates a BSP code for a MPC680T CPU. my question is should i build a BSP that include vxworks configuration in it by the driveway application or should i build only a BSP for the CPU and configure vxworks with the tornado environment.? thanks and best regards. katz shlomi embedded team www.rit.co.il From vxwexplo-errs@csg.lbl.gov Tue Nov 27 08:56:39 2001 From: rcw@DynRes.com Date: Tue Nov 27 08:56:42 PST 2001 Subject: win2k, xp compatibility Has anyone noticed any issues running either Tornado 1 or 2 under either Windows 2000 or XP? Rather than wait for some to voice a problem that may or may not exist, I'd appreciate hearing from anyone using either 2K or XP that does not have serious issues. I heard a while ago about some problems connecting to the target server with Win2k. Anyone have similar experience? Ron begin 666 RONALD~1.VCF M0D5'24XZ5D-!4D0-"E9%4E-)3TXZ,BXQ#0I..E=A9VYE.C(P,#$P,3`U5#`Q,#,Q-UH-"D5.1#I60T%21`T* ` end From vxwexplo-errs@csg.lbl.gov Tue Nov 27 13:34:07 2001 From: "David Seltz" Date: Tue Nov 27 13:34:09 PST 2001 Subject: RE: win2k, xp compatibility Ron, Tornado 2 officially supports Windows 2K. I use it on my system. There were issues such as an "RPC" error that were resolved with the 2.0.2 release or a patch that is available on Windsurf. Windows XP is not supported (supposedly we're looking at it right now but I don't have any dates). Dave -----Original Message----- From: the vxWorks Users Group Exploder [mailto:vxwexplo@lbl.gov] Sent: Tuesday, November 27, 2001 12:12 PM To: vxworks_users@csg.lbl.gov Subject: win2k, xp compatibility Submitted-by vxwexplo-errs@csg.lbl.gov Tue Nov 27 08:56:39 2001 Submitted-by: rcw@DynRes.com Has anyone noticed any issues running either Tornado 1 or 2 under either Windows 2000 or XP? Rather than wait for some to voice a problem that may or may not exist, I'd appreciate hearing from anyone using either 2K or XP that does not have serious issues. I heard a while ago about some problems connecting to the target server with Win2k. Anyone have similar experience? Ron From vxwexplo-errs@csg.lbl.gov Tue Nov 27 22:22:02 2001 From: "umesh" Date: Tue Nov 27 22:22:04 PST 2001 Subject: Re: win2k, xp compatibility Actually licensed version of vxworks is running fine on Win NT. I installed tornado prototyper plus on Win2k. Itz working fine in single simulated target enviornment. But if i install windriver ULIP driver for communcating between two simulated targets, i face several problems. Machine won't bootup and displays 'physical memory dump' and error in tornado registry. I have to reboot with last known good configuration. Then Uninstall Windriver ULIP and remove ulip.sys file from tornado registry. Anyone there has better solution to communicate b/w simulated target environment on win2K. Umesh From vxwexplo-errs@csg.lbl.gov Tue Nov 27 22:24:58 2001 From: "umesh" Date: Tue Nov 27 22:25:00 PST 2001 Subject: Re: using drive way product and the tornado for vxworks configuration katz shlomi, I'm not aware of the features of this tool, Drive way. Usually one develops BSP for a specific controller board and configure the vxworks in tornado environment. Umesh From vxwexplo-errs@csg.lbl.gov Wed Nov 28 04:03:21 2001 From: Vxworks Exploder Date: Wed Nov 28 04:03:24 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Wed Nov 28 04:03:17 PST 2001 Subject: Re: Cross compiling problems!!! HELP!! Subject: TRUE definition Subject: TRUE definition - correction Subject: Re: what's the difference standard simulator and full simulator? Subject: Re: Need information on Zinc configuration Subject: Prolog for vxworks Subject: Telecommute: News from the Web Subject: Re: How to include a archive file Subject: multiple addresses on same interface Subject: Why is the IP stack ARPing my non-Ethernet interface? Subject: Re: How to include a archive file Subject: Re: vsnprintf Subject: VxWorks 5.4 and Pentium 4 motherboard Subject: Re: TRUE definition Subject: HELP!!! in DHCP Subject: Re: Monitoring CPU Utilization Subject: Re: Target Server Console freezes after hitting Properties menu Subject: Re: handling PCI device Subject: Re: Need information on Zinc configuration Subject: New to vxWorks 5.4 Subject: Re: which device caused PCI bus interrupt? Subject: Re: Need information on Zinc configuration Subject: WindML/Mesa Subject: VxSim license.dat file Subject: How to study Vxwork programming at home? Subject: Re: How to study Vxwork programming at home? Subject: Re: Cross compiling problems!!! HELP!! Subject: Relocation value does not fit 24 bits Subject: Writing END Driver--Crashing tNetTask (Corrupt clBlk?) Subject: Re: Relocation value does not fit 24 bits Subject: Re: VxSim license.dat file Subject: What happen ? anybody understand? Subject: how to change mac address? Subject: Re: Relocation value does not fit 24 bits Subject: Re: How to include a archive file Subject: pci i/o address confliction? Subject: Re: How to include a archive file Subject: Re: How to study Vxwork programming at home? Subject: Re: VxWorks 5.4 and Pentium 4 motherboard Subject: Re: What happen ? anybody understand? Subject: Re: What happen ? anybody understand? Subject: WindView task are listed several times Subject: 802.11 ethernet for vxworks ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: Cross compiling problems!!! HELP!! Date: Tue, 27 Nov 2001 10:03:12 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <52e25f45.0111261144.6d40284c@posting.google.com> Vittal Krishnamurthy wrote in message <52e25f45.0111261144.6d40284c@posting.google.com>... >Hi >I was trying to build a cross compiler for Vxworks(Tornado II) for >MIPS (VR5400) target on linux (RH 7.1) host using GCC 3.02. I get a >lot compiler errors... >I have tried to fix some of them.. but I keep getting so many errors >which make me beleive that there must be some fundamental problem some >where. >On the other hand, GCC 2.95.3 compiled with very few problems.!!! Gcc 3.x series won't work with tornado, full stop. Far too much dynamic linking of the ld.so type in there. Far too many changes to the C++ name mangling and internal layout of C++ objects and probably exception handling too. Plus 3.0.x hasn't really stabilized yet. Stick to 2.95.3 is my advice. Otherwise you'll have to do a lot of compiler-rewriting. DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: TRUE definition Date: Tue, 27 Nov 2001 15:36:55 +0200 From: "Ofer Goren" Organization: Verio Message-ID: Hi. I would like to change the definition of TRUE from 1 to -1. I was wonder if somebody knows if etherInputHookAdd() checks if (hookRtn result == TRUE), or does it check if (hookRtn result != FALSE) to see if the packet should go back to the OS or should be discarded. You see, if it checks for (== TRUE), I need to "convert" my definition of TRUE to the vxWorks' one. If it checks for (!= FALSE), I have nothing to do. Does anybody has the code, and could tell me? Thanks, Ofer. P.S. Please don't ask me "what do you need it for, just stick with the old TRUE", since basicly, it's not my decision...;) --------------------------- Newsgroups: comp.os.vxworks Subject: TRUE definition - correction Date: Tue, 27 Nov 2001 15:44:21 +0200 From: "Ofer Goren" Organization: Verio Message-ID: Oppps, sorry.... Of course, the function in question is *etherInputHookRtn(), and not etherInputHookAdd(). Thanks, "Ofer Goren" wrote in message news:... > Hi. > I would like to change the definition of TRUE from 1 to -1. I was wonder if > somebody knows if etherInputHookAdd() checks if (hookRtn result == TRUE), or > does it check if (hookRtn result != FALSE) to see if the packet should go > back to the OS or should be discarded. > You see, if it checks for (== TRUE), I need to "convert" my definition of > TRUE to the vxWorks' one. If it checks for (!= FALSE), I have nothing to do. > > Does anybody has the code, and could tell me? > > Thanks, > > Ofer. > > P.S. > Please don't ask me "what do you need it for, just stick with the old TRUE", > since basicly, it's not my decision...;) > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: what's the difference standard simulator and full simulator? Date: Tue, 27 Nov 2001 15:46:08 +0200 From: "Ofer Goren" Organization: Verio Message-ID: References: <9tvuql$67l$1@mail.cn99.com> call your windriver's vendor. It's a seperate product. You can't d/l it. You have to buy it. "zhaoyandong" wrote in message news:9tvuql$67l$1@mail.cn99.com... > How can I get full simulator? > How much is it£¿ > > Thank you in advance > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Need information on Zinc configuration Date: 27 Nov 2001 09:28:44 -0500 From: "Bill Pringlemeir" bpringlemeir@yahoo.com Organization: Bell Sympatico Message-ID: References: <442C562A1DD6D3118C6E0004AC4C175902ECFD82@bngex01> Sender: bpringle@DeadDuck >>>>> "BM" == BALASUBRAMANIAN Manivannan writes: BM> Hi, I got your email ID in VxWorks group. I am trying to BM> configure Zinc 6.0 in my Simulator. Enclosed is the document BM> which describes the problem in detail. BM> Please suggest me suitable solution as I am stucked with BM> WindML configuration. <> BM> Awaiting. Hello Mani and Kundesh, I am not an employee of WRS (Wind River System). I am just a user of vxWorks, Zinc and WindML. I would only help you out of the kindness of my heart. However, your request is big. It would take a lot of my time and I would get nothing. Just to read your document, I had to run a hex editor as I would be foolish to read unknown Word documents; They could be full of viruses or trojan programs. I don't use a virus scanner as it only finds older viruses. I am very busy now because of business and personal demands. If I answered your question on comp.os.vxworks, at least there would be a public archive of the message [something like you found]. This lets people using vxWorks find useful information. Also, you will reach a larger set of people than just myself. You should also contact your WRS FAE (field application engineer). We have done what you ask, from my current understanding, and have resolved several problems that were logged as SPRs/TSRs. I have posted your question to comp.os.vxworks [but NOT your Word document]. If you make your problem more specific, you might get better answers by posting there. Here is the vxWorks FAQ, "www.xs4all.nl/~borkhuis/vxworks/vxworks.html". Please refrain from sending any further unsolicited emails to my email address, ESPECIALLY BINARY FILES! regards, Bill Pringlemeir. [I get a request like this about once per month. Does anyone else on `c.o.v'? What is the best way to deal with it? I guess having an mangled email would prevent it. People asking me to do their work for them, p!?ses me off. I would really like it if WRS didn't include email addresses in there WindSurf search engine.] --------------------------- Newsgroups: comp.os.vxworks Subject: Prolog for vxworks Date: Tue, 27 Nov 2001 15:01:03 -0000 From: "Tony" Organization: Defence Evaluation & Research Agency Message-ID: <9u09mm$jiq$1@trog.dera.gov.uk> Hello all, Has anyone ever heard of a prolog compiler that will run under vxworks. I plan to use VME, PPC based cards. Alternatively, has anyone any opinions on what would be involved in a port of a compiler. Thanks in advance, Tony. --------------------------- Newsgroups: comp.os.vxworks Subject: Telecommute: News from the Web Date: Tue, 27 Nov 2001 15:06:20 GMT From: "Antonello Gauttieri" Organization: TIN Message-ID: Reply-To: "Antonello Gauttieri" This is the ultimate web page about Telework. Click the link below to know what's on the Web about telework: laws, best and worst companies, suggestions, forums, FAQ and everything You need to approach those opportunities. YOU WILL NOT BE INSERT IN A NEWSLETTER. http://space.tin.it/associazioni/ggauttie Help Yourself to be safe from Internet cheats. Best Regards Antonello --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to include a archive file Date: 27 Nov 2001 07:55:40 -0800 From: arcv0@lycos.com (Roger) Organization: http://groups.google.com/ Message-ID: <45dd6f79.0111270755.6faa9df8@posting.google.com> References: <45dd6f79.0111261546.62ec2369@posting.google.com> Thanks for the replies. I added the .a file in the PRJ_LIBS macro. But i still get the warning. And when I try to download the application, it says unresolved symbols encountered while downloading. My project is a downloadable application. What are other options I have for a downloadable application to call functions from other projects. Thank You. "Ofer Goren" wrote in message news:... > The -I flag only specify the search path in which .h files should be looked > for. > You should add your .a file into the LIBS macro. However, this can be done > only if your project is bootable. There is no LIBS macro in a downloadable > project, and even if you add one, the linker will disregard it. > > HTH..... > --------------------------- Newsgroups: comp.os.vxworks Subject: multiple addresses on same interface Date: Tue, 27 Nov 2001 10:54:12 -0500 From: Chandwani Organization: Lucent Technologies Message-ID: <3C03B724.B8831C89@ubbsrv3.ho.lucent.com> I have a a couple of questions regarding the multiple ip address provisioning on same IP port in vxworks IP stack. A port has a private class C IP address ( non broadcast ) provisioned on it. Now I go and add a public IP address on that port using function ifAddrAdd(). This works successfully. Question 1) If I do a ifAddrGet(), which IP address will I get of the two ? Question 2 ) If I want to change the public IP address on that port but maintain the private IP address, how do I achieve this ? Please help anyone. Thanks, Rakesh - ------- --------------------------- Newsgroups: comp.os.vxworks Subject: Why is the IP stack ARPing my non-Ethernet interface? Date: 27 Nov 2001 08:11:09 -0800 From: jperron@cetaceannetworks.com (Jason Perron) Organization: http://groups.google.com/ Message-ID: Hi Everybody, I am using vxWorks version 5.4 and I'm trying to get an END driver going for a non-ethernet interface. My problem is that the IP stack is sending me ARP packets even though I have created a non-Ethernet interface. I specify my interface type as "M2_ifType_other" in my END_MIB_INIT call. First I tried setting the "IFF_NOARP" flag for the interface and my driver still got Ethernet ARP packets. Next, I tried registering my own arp resolve function using muxAddrResFuncAdd with the idea that I'd just "fake out" the IP stack. That didn't work either, as my "fake" arp resolve function never gets called. Has anybody else come across this problem? If so, how did you get around it? If this is a vxWorks problem, does anybody know if this is fixed in the NPT stuff? TIA, Jason --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to include a archive file Date: Tue, 27 Nov 2001 18:20:48 +0200 From: "Ofer Goren" Organization: Verio Message-ID: References: <45dd6f79.0111261546.62ec2369@posting.google.com> <45dd6f79.0111270755.6faa9df8@posting.google.com> you can't. PRJ_LIBS is not your answer. You have to use the LIBS macro, and a bootable application. - -- Ofer Goren Iamba Technologies "Roger" wrote in message news:45dd6f79.0111270755.6faa9df8@posting.google.com... > Thanks for the replies. I added the .a file in the PRJ_LIBS macro. But > i still get the warning. And when I try to download the application, > it says unresolved symbols encountered while downloading. My project > is a downloadable application. What are other options I have for a > downloadable application to call functions from other projects. > Thank You. > > "Ofer Goren" wrote in message news:... > > The -I flag only specify the search path in which .h files should be looked > > for. > > You should add your .a file into the LIBS macro. However, this can be done > > only if your project is bootable. There is no LIBS macro in a downloadable > > project, and even if you add one, the linker will disregard it. > > > > HTH..... > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: vsnprintf Date: 27 Nov 2001 16:45:00 GMT From: Troy Cauble Organization: Bell Labs, Holmdel, NJ, USA Message-ID: <9u0fuc$922@nntpb.cb.lucent.com> References: <3c034638$0$186$4d4ebb8e@read.news.de.uu.net> Joerg Engel wrote: : I need an implementation of vsnprintf for VxWorks. Where can I find source : code ? http://groups.google.com/groups?hl=en&selm=yc9wwmhfip1.fsf%40goblin.caltech.edu - -troy --------------------------- Newsgroups: comp.os.vxworks Subject: VxWorks 5.4 and Pentium 4 motherboard Date: Tue, 27 Nov 2001 17:30:30 GMT From: "Dean Schulze" Organization: Excite@Home - The Leader in Broadband http://home.com/faster Message-ID: I'm trying to use VxWorks 5.4 on a Pentium 4 motherboard with a PCI 2.2 bus and the Intel 850 chipset. The P4 boots from a floppy properly and ftps the kernel from another machine on the network, so my network connectivity is working properly. But when I try to check which PCI devices exist on the bus I find 3 Intel devices but cannot find my network card or the bt878 based WinTV card. Could Plug and Play be a problem? The PnP must be working for my network card (3Com 905B) since it gets the kernel via ftp. Do I need to massage BIOS settings somehow? My code is attached below. Thanks. Dean Schulze if (pciConfigLibInit (PCI_MECHANISM_1, 0xCF8, 0xCFC, 0) != OK) { printf("\nPCI lib config error\n"); return (ERROR); } devices = 0x1f; printf("\n\nAll PCI devices:"); printf("\n busNo deviceNo vendorId deviceId classCode"); printf("\n--------------------------------------------"); for (deviceNo=0; deviceNo < devices; deviceNo++) { pciConfigInWord (busNo, deviceNo, 0, PCI_CFG_VENDOR_ID, &vendorId); pciConfigInWord (busNo, deviceNo, 0, PCI_CFG_DEVICE_ID, &deviceId); pciConfigInByte (busNo, deviceNo, 0, PCI_CFG_PROGRAMMING_IF, &u.array[3]); pciConfigInByte (busNo, deviceNo, 0, PCI_CFG_SUBCLASS, &u.array[2]); pciConfigInByte (busNo, deviceNo, 0, PCI_CFG_CLASS, &u.array[1]); u.array[0] = 0; printf ("\n%8x %8x %8x %8x %8x", busNo, deviceNo, vendorId, deviceId, u.classCode); } --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TRUE definition Date: Tue, 27 Nov 2001 17:45:22 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: Ofer Goren wrote in message ... >Hi. >I would like to change the definition of TRUE from 1 to -1 NO. Don't do that. The definition of TRUE is not something you can go changing, unless you're happy with expressions such as ((1 == 1) != TRUE) being true, and (1 == 1) == TRUE) being false. It is the compiler that determines what value TRUE has, because it is the compiler that generates code that returns 1 as the result of a comparison that succeeds and 0 for a comparison that fails. Furthermore, you'll have problems because the value of TRUE == 1 is coded into all the precompiled .o and .lib files, so different parts of your program will have to remember to compare against different values for true according to whether the value being compared was returned from one of your own routines or from one of the OS routines. > I was wonder if >somebody knows if etherInputHookAdd() checks if (hookRtn result == TRUE), or >does it check if (hookRtn result != FALSE) to see if the packet should go >back to the OS or should be discarded. >You see, if it checks for (== TRUE), I need to "convert" my definition of >TRUE to the vxWorks' one. If it checks for (!= FALSE), I have nothing to do. Of course none of this is correct at all. The code in your libraries is precompiled, it will not magically change when you alter the #define in a header file somewhere. So what the routine actually does is compare against 1 or 0, for equal or not equal (You didn't even consider the possibilities that the code might compare for != TRUE, or for == FALSE). Your code HAS to return the suitable value according to what the precompiled code expects to see. In order for you to know what value your code must return, that's why TRUE is defined in the header files. It's not the other way round and you can only get trouble by trying to outsmart the compiler and OS. DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: HELP!!! in DHCP Date: Tue, 27 Nov 2001 10:28:45 -0800 From: "naveen" Message-ID: <3c03db4c$1@news.cadence.com> Well I am also trying to configure DHCP client in Vxworks. The network is configured and target gets ip address. 1. I am unable to get DNS Server address . Secondly I am using the dhcpcBootInit dhcpcBootOptionSet dhcpcBootBind functions instead of lease = dhcpcInit( net_if, 1 ); dhcpcEventHookAdd( lease, ... ) dhcpcOptionSet( lease, ... ); dhcpcBind( lease, synchronous ); to configure the dhcp client. Because when I use the latter it fails in BIND. I will really appreciate if anybody can help in this. Thanx Naveen --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Monitoring CPU Utilization Date: Tue, 27 Nov 2001 13:50:10 -0500 From: "RonnoBonno" Message-ID: <9u0n7n$5g6je$1@ID-68014.news.dfncis.de> References: <3C025A59.C2EA92A9@improvsys.com> Based on a discussion about this subject that I read here a few weeks ago, I wrote this idle time monitor that I have been testing. It seems to work very well. You can add it to you build, then start it with nothing running -> startCPUIdleMonitor then spawn the task that prints the CPU Idle Time -> period 10, getCPUIdlefloat You will need to adjust the ZERO_LOAD_IDLE_COUNTER for your CPU. For my 50Mhz 860T it is around 377000 Good Luck, Ron //////////////////////////////////////////////////////////////////////////// /// #include #include #include #include #include #include #include #define ZERO_LOAD_IDLE_COUNTER 377993 /* Measured with 0 load on TFE CPU */ unsigned int maxIdleCount; unsigned int innerIDLE; unsigned int middleIDLE; unsigned int outerIDLE; unsigned int lastInnerIDLE; unsigned int lastMiddleIDLE; unsigned int lastOuterIDLE; SEM_ID CPUIdleSemId; int glblCPUIdleDebug=0; extern "C" void CPUIdleTime(void) { while (1) { while (innerIDLE <= UINT_MAX) { taskLock(); innerIDLE++; taskUnlock(); } } } // // // function clearIdleCounters(void) // resets the idle counters // to zero. // extern "C" void clearIdleCounters(void) { STATUS status = semTake( CPUIdleSemId, sysClkRateGet() ); lastInnerIDLE=innerIDLE; innerIDLE=0; lastMiddleIDLE=middleIDLE; middleIDLE=0; lastOuterIDLE=outerIDLE; outerIDLE=0; status = semGive( CPUIdleSemId ); } // // // function displayIdleCounters(void) // prints out the current idle counters // extern "C" void displayIdleCounters(void) { if (glblCPUIdleDebug==1) printf("The counters are: %d inner, %d middle, %d outer \n\n",innerIDLE, middleIDLE,outerIDLE); } // // // function displayIdleCounters(void) // prints out the current idle counters // extern "C" void measureCPUIdleTime(void) { while (1) { clearIdleCounters(); taskDelay(sysClkRateGet()); } } // // // function startCPUIdleMonitor(void) // // extern "C" void startCPUIdleMonitor(void) { int tid; clearIdleCounters(); maxIdleCount=ZERO_LOAD_IDLE_COUNTER; CPUIdleSemId = semBCreate( SEM_Q_PRIORITY, SEM_FULL ); if ((tid = taskSpawn ("tMonCPUIdle", 255, 0, 10000, (FUNCPTR)CPUIdleTime, 0,0,0,0,0,0,0,0,0,0)) == ERROR) { printf("Task creation error CPU IDLE Monitor Task 0x%x", errno); } if ((tid = taskSpawn ("tCPUIdlCapt", 1, 0, 10000, (FUNCPTR)measureCPUIdleTime, 0,0,0,0,0,0,0,0,0,0)) == ERROR) { printf("Task creation error measure CPU Idle Time Task 0x%x", errno); } taskDelay(sysClkRateGet()+10); maxIdleCount=lastInnerIDLE; taskDelay(sysClkRateGet()+10); if (lastInnerIDLE > maxIdleCount) maxIdleCount=lastInnerIDLE; taskDelay(sysClkRateGet()+10); if (lastInnerIDLE > maxIdleCount) maxIdleCount=lastInnerIDLE; taskDelay(sysClkRateGet()+10); if (lastInnerIDLE > maxIdleCount) maxIdleCount=lastInnerIDLE; } extern "C" float getCPUIdlefloat(void) { float idlePercent=0; STATUS status = semTake( CPUIdleSemId, sysClkRateGet() ); idlePercent = (float)( ((float)lastInnerIDLE / (float)maxIdleCount)* (float)100); status = semGive( CPUIdleSemId ); if (idlePercent > 100.0) { maxIdleCount +=1; idlePercent=100.0; } printf("The current CPU IDLE is %5.1f%\n",idlePercent); return (idlePercent); } // // getCPUIdleInt(void) returns CPU Idle Percent in tenths of a percent // e.g 50% returns 500 // extern "C" int getCPUIdleInt(void) { int idlePercent=0; STATUS status = semTake( CPUIdleSemId, sysClkRateGet() ); idlePercent = ((lastInnerIDLE *1000) / maxIdleCount); status = semGive( CPUIdleSemId ); if (idlePercent > 1000) { maxIdleCount +=1; idlePercent=1000; } printf("The current CPU IDLE is %d\n",idlePercent/10); return (idlePercent); } // Leonid Rosenboim wrote in message ... >Benny, I think i know what you mean, >because I did this some years ago. >Here is the idea: you write a simple tight-loop which >runs forever at the lowest possible priority, essentially being >the sort-of idle task. But this ide loop >also has got a counter, which it increments constantly, >and it also watches vxTicks to see when a tick elapses. >When a tick elapses, it take the counter value and stores it >somewhere for the other clients to read. I actually did this >in a progressive average manner to ignore spikes in activity. >Keep im mind that entire ticks could go by without every running >the idle task, so when it eventually runs, it should account for a few zero >values. > >Of course this is a rougth description, as there is some spice to add to >this recipie. > >Good luck, > - Leonid > >"Ben Kuhn" wrote in message >news:3C025A59.C2EA92A9@improvsys.com... >> >> Is there any way to programmatically watch the CPU utilization by task >> under VxWorks 5.4? >> >> -- >> >> Ben Kuhn >> Improv Systems >> (716) 756-5411 x25 > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Target Server Console freezes after hitting Properties menu Date: Tue, 27 Nov 2001 11:10:45 -0800 From: "Mark Galecki" Message-ID: <3c03e539$0$2424$4c41069e@reader0.ash.ops.us.uu.net> References: <3bf195bb$0$11563$724ebb72@reader2.ash.ops.us.uu.net> Well, I could not diagnose the problem itself, with the FileMon, but this software did reveal many interactions with the file system, which pointed me to a workaround. It is excellent software. Thank you for pointing it out. What does "WDDTT" stand for (I could not find this acronym anywhere... :) ) Mark "Dave Korn" wrote in message news:osQK7.62$ZO3.96878@newsr2.u-net.net... > ...which you could diagnose by using the Filemon utility from > www.sysinternals.com. > > Alternatively, you could just adopt the WDDTT solution. > > DaveK > -- > Burn your ID card! http://www.optional-identity.org.uk/ > Help support the campaign, copy this into your .sig! > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: handling PCI device Date: Tue, 27 Nov 2001 11:13:31 -0800 From: "naveen" Message-ID: <3c03e5ca$1@news.cadence.com> References: <9ttsal$l3a$1@news.inter.net.il> Firstly you should see that device shows on the pci bus. To check that you should include pci config show routines or just include pciConfigShow.c on the project. Then you can use the pciDeviceShow fuction to check that device is present on the pci bus or not. (This will only be possible if pci automatically configures all the devices). You can have a look at the network drivers as they are pci drivers .you will get the idea of how to write pci drivers. Naveen "Anatoly Greenblatt" wrote in message news:9ttsal$l3a$1@news.inter.net.il... > Hi, > > I need to write a driver for PCI device. I'd appreciate if someone could > answer following how-tos: > - enumerate pci device, including those on secondary bus > - get device resources; > - connect to device interrupt > - map device memory space to virtual space > - allocate memory in the driver and get its physical address > - allocate memory in application and get its physical address(or is it the > same as previous) > > If there are any examples that could help me, please let me know. > > Thanks, > Anatoly. > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Need information on Zinc configuration Date: 27 Nov 2001 11:23:27 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111271123.23730c61@posting.google.com> References: <442C562A1DD6D3118C6E0004AC4C175902ECFD82@bngex01> Hello Bill, > [I get a request like this about once per month. Does anyone else on > `c.o.v'? What is the best way to deal with it? I either ignore them, or send them an email suggesting that they post the question in the newsgroup. I even had somebody requesting that I add them to my Yahoo! IM list so that they could ask me questions 'live' as well!!! > I guess having an > mangled email would prevent it. People asking me to do their work for > them, p!?ses me off. I would really like it if WRS didn't include > email addresses in there WindSurf search engine.] I'm not sure that it would make much difference; I for one use google rather than WindSurf to search the archives. So, I'd stick to an email address dedicated to junk mail (the spam bots also read the news these days), and just delete everything you get in there every once in a while. Rgds, John... --------------------------- Newsgroups: comp.os.vxworks Subject: New to vxWorks 5.4 Date: Tue, 27 Nov 2001 19:37:25 +0000 (UTC) From: don@mars.dgrc.crc.ca (Donald McLachlan) Organization: The unconfigured xvnews people Message-ID: <9u0q1l$ll6$1@crc-news.crc.ca> Reply-To: don@mars.dgrc.crc.ca I've used vxWorks for ages by writing makefiles, editing the config files, typing make whatever. No probs. Recently got a new Tornado 2 for Solaris host/pc target and trying to learn my way around the gui tools. Ok, made a bootrom (floppy) with bootrom_uncmp and vxWorks.st from the pcPentium target dirctory. Works at treat on the P3 500 I found. I'd like to build a project based on that directory and start by re-making the bootrom_uncmp, and vxWorks.st prior do trying to add the if_elt driver. I was able to make an unbootable bootrom_uncmp by defining INCLUDE_ELT in the config.h file, :-) ... and to make a bootable one again by undefining it. How do I re-make a usable vxWorks.st? Is there a better set of step-by-step instructions for this other than those in the guide (the guide I was using is in the lab and I'm in my office now, but I think I was using the users guide. I know it was not the programmers guide as that is under my left elbow as I type. :-) What I'm hoping to do is to add the 3C905B card to the vxWorks image and get that running ... and hopefully add the same card to the bootrom_uncmp so I can load the vxWorks image across the network (so I won't have to keep copying it to the boot floppy every time I add more things to the vxWorks image; like usrTime). Thanks, Don - -- Donald McLachlan E-mail Donald.McLachlan@crc.ca Communications Research Centre / RNS Tel (613) 998-2845 3701 Carling Ave., Fax (613) 998-9648 Ottawa, Ontario K2H 8S2 Canada --------------------------- Newsgroups: comp.os.vxworks Subject: Re: which device caused PCI bus interrupt? Date: Tue, 27 Nov 2001 19:48:43 GMT From: "H. E. Taylor" Organization: MTS Internet Message-ID: <3C040947.6201@despam.autobahn.mb.ca> References: In article , Prashanth wrote: > > How to determine which device caused PCI bus interrupt ? I am using > pcPentium BSP. > There is a bit set in the configuration register set [see Interrupt Pin and Interrupt Line]. It is the responsibility of the interrupt handler to check these registers in its own device. - -het - -- "Understanding is a three edged sword. There is your side, the other persons' side and the truth." - Vorlon epithet Terror War News: http://www.autobahn.mb.ca/~het/twartn.html Terror War Links: http://www.autobahn.mb.ca/~het/twartl.html Terror War Archive: http://www.autobahn.mb.ca/~het/twartna.html H.E. Taylor http://www.autobahn.mb.ca/~het/ --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Need information on Zinc configuration Date: 27 Nov 2001 15:25:10 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: <442C562A1DD6D3118C6E0004AC4C175902ECFD82@bngex01> <488e459a.0111271123.23730c61@posting.google.com> Sender: bpringlemeir@DeadDuck >>>>> "John" == John writes: [snip] >> I guess having an mangled email would prevent it. People asking >> me to do their work for them, p!?ses me off. I would really like >> it if WRS didn't include email addresses in there WindSurf search >> engine.] John> I'm not sure that it would make much difference; I for one use John> google rather than WindSurf to search the archives. So, I'd John> stick to an email address dedicated to junk mail (the spam bots John> also read the news these days), and just delete everything you John> get in there every once in a while. I would mostly agree. However, I think that having my name come up on WindSurf seems to make some people think I work for WRS? Possibly this is some sort of ruse and they are pretending ignorance and subversively pestering me. These people were exceedingly annoying because the kept/keep reposting emails containing Word documents specifying what they had to do. Small emails are dealt with easily by a SPAM account. I will discount this as an anomaly. I imagine it could be much worse. Maybe you don't! ;-) regards, Bill Pringlemeir. - -- Your pal is not great. vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html" --------------------------- Newsgroups: comp.os.vxworks Subject: WindML/Mesa Date: Tue, 27 Nov 2001 21:42:33 +0100 From: "Stephane Raimbault" Organization: Guest of ProXad - France Message-ID: <3c03fa75$0$205$626a54ce@news.free.fr> Hi VxWorkers, I've written a layer between UGL/WindML and Mesa so now one can run OpenGL applications on VxWorks 5.4/UGL 2.0. This layer opens the doors of the embedded systems space to 3D graphics. I've been inspired by xmesa sources thus I've used a similar design I've also ported some demos to WindML from GLUT for testing. Wind River Systems gave his consent to release my work under MIT License. Thus many students and companies will be able to use Mesa on VxWorks. The code is available for download from: http://sourceforge.net/projects/mesa3d Best regards Stephane Raimbault --------------------------- Newsgroups: comp.os.vxworks Subject: VxSim license.dat file Date: Tue, 27 Nov 2001 17:35:25 -0500 From: "pedja" Organization: Golden Triangle On Line Inc. Message-ID: Please help. I installed Tornado2 under win2000, and I don't have a license.dat file under .wind directory. When I try to configure and launch target server gives me an error: tgtsvr (vxsim@grkovic): Tue Nov 27 17:30:58 2001 Checking License ...FAILED Cannot get a valid license. Failed to receive a Target Server license. Either your network or license server is down or your LM_LICENSE_FILE variable is not set to a valid license server. Cannot find license file The license files (or server network addresses) attempted are listed below. Use LM_LICENSE_FILE to use a different license file, or contact your software provider for a license file. Feature: tornado Filename: F:/Tornado\.wind\license License path: F:/Tornado\.wind\license FLEXlm error: -1,359. System Error: 2 "No such file or directory" For further information, refer to the FLEXlm End User Manual, available at "www.globetrotter.com". Target Server will exit Where should I look to obtain this file? Thanks everybody. Predrag --------------------------- Newsgroups: comp.os.vxworks Subject: How to study Vxwork programming at home? Date: Tue, 27 Nov 2001 22:44:38 GMT From: "tiejunyang" Message-ID: Who could give some suggestion about how to study Vxwork at home, including download which softwares? I do not have a chance to use any RTOS in my project. I have studied Linux and RTOS basic concepts about three months. I feel that "Basic OS" and "I/O System" in Vxwork and Linux look alike. Could I practice Vxwork programming at home without any target board? I would appreciate it if somebody could drop several line suggestion? Thanks tiejunyang email:tiejunyang@yahoo.com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to study Vxwork programming at home? Date: Tue, 27 Nov 2001 18:43:42 -0500 From: "BruceL" Message-ID: <9u18fu$7rk$1@bob.news.rcn.net> References: If you have the disks (or an eval copy, perhaps) they have a simulator (vxSim) that runs under Windows. You can build using their gnu tool chain and then simulate. Bruce "tiejunyang" wrote in message news:qHUM7.12267$12d.1003@news2.bloor.is... > Who could give some suggestion about how to study Vxwork at home, including > download which softwares? > I do not have a chance to use any RTOS in my project. I have studied Linux > and RTOS basic concepts about three months. I feel that "Basic OS" and "I/O > System" in Vxwork and Linux look alike. > Could I practice Vxwork programming at home without any target board? I > would appreciate it if somebody could drop several line suggestion? > Thanks > tiejunyang > email:tiejunyang@yahoo.com > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Cross compiling problems!!! HELP!! Date: 27 Nov 2001 15:58:59 -0800 From: vittalk@ieee.org (Vittal Krishnamurthy) Organization: http://groups.google.com/ Message-ID: <52e25f45.0111271558.332b0333@posting.google.com> References: <52e25f45.0111261144.6d40284c@posting.google.com> Thanks Dave, I have a small problem with the 2.95.3 GCC. For some reason, the gcc does not recognize line continuation char "\". It complains of parse errors. Do u have a solution other than going to each .h file and removing the '\' and joining lines??? Thanks - -Vittal "Dave Korn" wrote in message news:... > Vittal Krishnamurthy wrote in message > <52e25f45.0111261144.6d40284c@posting.google.com>... > >Hi > >I was trying to build a cross compiler for Vxworks(Tornado II) for > >MIPS (VR5400) target on linux (RH 7.1) host using GCC 3.02. I get a > >lot compiler errors... > >I have tried to fix some of them.. but I keep getting so many errors > >which make me beleive that there must be some fundamental problem some > >where. > >On the other hand, GCC 2.95.3 compiled with very few problems.!!! > > Gcc 3.x series won't work with tornado, full stop. Far too much dynamic > linking of the ld.so type in there. Far too many changes to the C++ name > mangling and internal layout of C++ objects and probably exception handling > too. Plus 3.0.x hasn't really stabilized yet. Stick to 2.95.3 is my > advice. Otherwise you'll have to do a lot of compiler-rewriting. > > DaveK --------------------------- Newsgroups: comp.os.vxworks Subject: Relocation value does not fit 24 bits Date: Wed, 28 Nov 2001 00:02:58 GMT From: slipson@attglobal.net Organization: Global Network Services - Remote Access Mail & News Services Message-ID: <3c042747.230902@news1.attglobal.net> Hello, when entering ld Message-ID: <3c043609$0$13427$39cecf19@nnrp1.twtelecom.net> Howdy. I'm crashing tNetTask when I call END_RCV_RTN_CALL(&pDrvCtrl->end, pMblk); The first clblk in the mblk looks correct. However it's next clblk pointer is garbage. My guess is that this is what is causing the problem. Yet, I can't find out why the clblk next pointer is garbage. Could the be a result of improperly setting up the net pool? Thanks. cjr --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Relocation value does not fit 24 bits Date: Wed, 28 Nov 2001 01:32:24 GMT From: "Jay Labhart" Organization: Excite@Home - The Leader in Broadband http://home.com/faster Message-ID: References: <3c042747.230902@news1.attglobal.net> Use - mlongcall. Look it up on the WindSurf website. wrote in message news:3c042747.230902@news1.attglobal.net... > Hello, > when entering ld occurs: > Relocation value does not fit 24 bits > ld error: error reading file (errno=0x3d0001) > > This error does not occur if the same module is loaded from the > Tornado WindShell. > > When the kernel was built, the Target shell was configured for module > loading and unloading. > > Why would the Target shell and WindShell behave different when loading > modules? > > Thanks, > ScottL --------------------------- Newsgroups: comp.os.vxworks Subject: Re: VxSim license.dat file Date: Wed, 28 Nov 2001 09:44:46 +0800 From: "zhaoyandong" Organization: Bentium Ltd. (CN99) Message-ID: <9u1fmv$4iv$1@mail.cn99.com> References: "pedja" wrote in message news:uBUM7.3032$FR5.46605413@radon.golden.net... > Please help. I installed Tornado2 under win2000, and I don't have a > license.dat file under .wind directory. When I try to configure and launch > target server gives me an error: > > tgtsvr (vxsim@grkovic): Tue Nov 27 17:30:58 2001 > Checking License ...FAILED > Cannot get a valid license. > Failed to receive a Target Server license. > Either your network or license server is down or your LM_LICENSE_FILE > variable is not set to a valid license server. > > Cannot find license file > The license files (or server network addresses) attempted are > listed below. Use LM_LICENSE_FILE to use a different license file, > or contact your software provider for a license file. > Feature: tornado > Filename: F:/Tornado\.wind\license > License path: F:/Tornado\.wind\license > FLEXlm error: -1,359. System Error: 2 "No such file or directory" > For further information, refer to the FLEXlm End User Manual, > available at "www.globetrotter.com". > > > Target Server will exit > > Where should I look to obtain this file? > Thanks everybody. > > Predrag > > Hi, I encounted the same problem before. Now I've solved it. You can go to www.wrs.com and request a license key according to the instructions. Now it's ok. zhaoyandong --------------------------- Newsgroups: comp.os.vxworks Subject: What happen ? anybody understand? Date: Wed, 28 Nov 2001 11:16:09 +0800 From: "¤õ¦v¤§¿ß" Organization: SEEDNet News Service Message-ID: <9u1kpa$af1$1@news.seed.net.tw> I use taskIdListGet() and taskShow() to display all tasks. This is the function contents: int Display_Task() { int idlist[30]; int maxid,currentid,i; maxid=sizeof(idlist); currentid=taskIdListGet(idlist,maxid); taskShow(0,2); printf("total %d tasks \n",currentid); return currentid; } I use two way to call this function. first direct call :Display_Task(); second taskSpawn("gLighting", 255, 0, 1024, flash_light, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); void usrAppInit (void) { char input_command[20]; char *line=input_command; int com1; int i; com1 = open("/tyCo/0",2,0); (void) ioctl (com1, FIOSETOPTIONS, OPT_TERMINAL); printf ("\n"); taskSpawn("gLighting", 255, 0, 1024, Display_Task_D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); while(1) { printf ("C:\\>"); read(com1,input_command,20); line=input_command; while(*line==' ')printf("%2.2X \n",*(line++)); switch (*(line)) { case 'P': case 'p':Display_Task(); break; }/*switch (input_command)*/ }/*while(1)*/ } void Display_Task_D() { while(1) { taskDelay(180); Display_Task(); } } This is the result. NAME ENTRY TID PRI STATUS PC SP ERRNO DELAY - ---------- ------------ -------- --- ---------- -------- -------- ------- -- - --- tRootTask 10d6c0 1fffdf8 0 READY 1aeb74 1fffcc0 3d0001 0 tExcTask 18bf94 1ffa1e0 0 PEND 1d0598 1ffa0f0 0 0 tLogTask 19224c 1ff7858 0 PEND 1d0598 1ff7778 0 0 tWdbTask 1a0be0 1fb5840 3 PEND 1a9ca8 1fb5678 0 0 tNetTask 185a14 1fb9910 50 PEND 1a9ca8 1fb9850 0 0 gLighting 109d98 1fb29c0 99 READY 1ae104 1fb2930 0 0 total 6 tasks NAME ENTRY TID PRI STATUS PC SP ERRNO DELAY - ---------- ------------ -------- --- ---------- -------- -------- ------- -- - --- tRootTask 10d6c0 1fffdf8 0 PEND 1a9ca8 1fffcc0 3d0001 0 tExcTask 18bf94 1ffa1e0 0 PEND 1d0598 1ffa0f0 0 0 tLogTask 19224c 1ff7858 0 PEND 1d0598 1ff7778 0 0 tWdbTask 1a0be0 1fb5840 3 PEND 1a9ca8 1fb5678 0 0 tNetTask 185a14 1fb9910 50 PEND 1a9ca8 1fb9850 0 0 ?? 109d98 1fb2fd8 99 READY 1aeb74 1fb2f48 0 0 total 6 tasks ~~~~~~~~~~~~~~ here is question Why I use taskSpawn() to call Display_Task() and the function name will disappear ? Then even I directly call Display_Task() ,the name still disappear. --------------------------- Newsgroups: comp.os.vxworks Subject: how to change mac address? Date: 27 Nov 2001 20:21:43 -0800 From: kevinatnj@yahoo.com.cn (kewin) Organization: http://groups.google.com/ Message-ID: <221caa76.0111272021.60864855@posting.google.com> hi all I use muxIoctl() to change one ethernet port's MAC address.It seemed that I had sucessed.But I can't ping this ethernet port any more.I check parameter RAM and END_OBJ,and the vaule I set existed.I used the commands ,arp -d and arp -a, to check if the new MAC address had worked.But in the arp list the old MAC address is still there and dynamic. Will anybody tell me how can i make it. thanks kevin --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Relocation value does not fit 24 bits Date: 27 Nov 2001 22:11:01 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111272211.2764404f@posting.google.com> References: <3c042747.230902@news1.attglobal.net> Hello, This is a VFAQ. You should check the archives for this news group and/or search WindSurf's tech help for the answer. In short, it result from the use of relative branch instructions for function calls which for most RISC chips are limited to +/- 32MB in range. The solutions? A couple of options: (1) configure your system for just 32MB at first, then once your modules are loaded use memPartAddToPool() to extend the memory to your full size; (2) compile your code using -mlongcall, forcing all function calls to full 32 bit addressing (at the expense of taking several instructions to make the call instead of one). Why does the host shell behave differently? Because it has reserved some memory near to the kernel. When you load from the host shell, assuming that there is space in this reserved pool, the code will be placed there. The target shell simply allocates memory, and that seems to come from the far end of the heap first. HTH, John... PS When posting questions you should at least do the following: 1) Search the archives (http://groups.google.com offers searching) before posting. 2) Include the CPU you are using, and the version of Tornado & VxWorks that you are using. slipson@attglobal.net wrote in message news:<3c042747.230902@news1.attglobal.net>... > Hello, > when entering ld occurs: > Relocation value does not fit 24 bits > ld error: error reading file (errno=0x3d0001) > > This error does not occur if the same module is loaded from the > Tornado WindShell. > > When the kernel was built, the Target shell was configured for module > loading and unloading. > > Why would the Target shell and WindShell behave different when loading > modules? > > Thanks, > ScottL --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to include a archive file Date: Tue, 27 Nov 2001 22:36:53 -0800 From: "drdiags" Organization: laserlink.net Message-ID: <9u21v6$2i9$1@newstest.laserlink.net> References: <45dd6f79.0111261546.62ec2369@posting.google.com> <45dd6f79.0111270755.6faa9df8@posting.google.com> Hello Roger, I am sorry I missed the part about the downloadble application. As you could guess, I was thinking of the bootable vxWorks Kernel build. Here is what the rules.vxApp file contains for the downloadable app build: $(LD_PARTIAL) $(PRJ_OBJS_FOR_LD_PARTIAL) $(PRJ_LIBS) -o partialImage.o $(NM) partialImage.o $(PRJ_OBJS_FOR_NM) | $(MUNCH) > ctdt.c $(COMPILE_TRADITIONAL) ctdt.c -o ctdt.o $(LD_PARTIAL) $(LD_PARTIAL_LAST_FLAGS) partialImage.o ctdt.o -o $@ # These are flags to pass to the linker the last time we do a # relocatable link. They never get used by a bootable project # and they only get used once by a downloadable project. LD_PARTIAL_LAST_FLAGS = So, you could try creating the LD_PARTIAL_LAST_FLAGS macro in your Project MACRO tab and put the full path of the *.o(s) in this MACRO. The problem is since it is a partial link, if you have references that are not part of the kernel nor in the extra objects, you will have the problem with the unresolved symbols. "Roger" wrote in message news:45dd6f79.0111270755.6faa9df8@posting.google.com... > Thanks for the replies. I added the .a file in the PRJ_LIBS macro. But > i still get the warning. And when I try to download the application, > it says unresolved symbols encountered while downloading. My project > is a downloadable application. What are other options I have for a > downloadable application to call functions from other projects. > Thank You. > > "Ofer Goren" wrote in message news:... > > The -I flag only specify the search path in which .h files should be looked > > for. > > You should add your .a file into the LIBS macro. However, this can be done > > only if your project is bootable. There is no LIBS macro in a downloadable > > project, and even if you add one, the linker will disregard it. > > > > HTH..... > > --------------------------- Newsgroups: comp.os.vxworks Subject: pci i/o address confliction? Date: 27 Nov 2001 23:06:20 -0800 From: lixijun@pub.xaonline.com (Lee) Organization: http://groups.google.com/ Message-ID: <82f462ab.0111272306.691dd6be@posting.google.com> Hi all I'm new in vxworks. I write a cpci driver with x86 processor board I can get pci config info as following: base address 0 = 0xfe6fdf00 base address 1 = 0x0000d801 base address 2 = 0xff1e0008 base address 3 = 0x0000df01 as my pci board manaul said, the BAR 3 is application registers, I can test it though write 0x01 to 0xdf22, the board led light one, write 0x02, light two, etc. The problem is the board do not respond after you did serveral operation. At this time, read from status register (0x0000df21)value is 0xff. I startup system in win2000, the device manager said there was address confict about 0xdf00~0xdf3f. But there is no other device use it. l.x.j --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to include a archive file Date: Tue, 27 Nov 2001 23:07:47 -0800 From: "drdiags" Organization: laserlink.net Message-ID: <9u23p4$92b$1@newstest.laserlink.net> References: <45dd6f79.0111261546.62ec2369@posting.google.com> <45dd6f79.0111270755.6faa9df8@posting.google.com> <9u21v6$2i9$1@newstest.laserlink.net> I have got to start reading the whole subject line......... NEVER MIND. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to study Vxwork programming at home? Date: Wed, 28 Nov 2001 08:22:31 +0100 From: "Martin Raabe" Organization: T-Online Message-ID: <9u23bh$kl6$04$1@news.t-online.com> References: Hello tiejunyang, there is a Tornado Prototyper to be downloaded from www.WindRiver.com. It comes with a complete VxWorks Development environment. The target is a Simulator. Hope it helped! Martin Raabe "tiejunyang" schrieb im Newsbeitrag news:qHUM7.12267$12d.1003@news2.bloor.is... > Who could give some suggestion about how to study Vxwork at home, including > download which softwares? > I do not have a chance to use any RTOS in my project. I have studied Linux > and RTOS basic concepts about three months. I feel that "Basic OS" and "I/O > System" in Vxwork and Linux look alike. > Could I practice Vxwork programming at home without any target board? I > would appreciate it if somebody could drop several line suggestion? > Thanks > tiejunyang > email:tiejunyang@yahoo.com > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: VxWorks 5.4 and Pentium 4 motherboard Date: Wed, 28 Nov 2001 08:42:00 +0100 From: "Michael Lawnick" Organization: Buergernetz Dillingen Message-ID: <9u24ga$etn$1@snoopy.bndlg.de> References: Reply-To: "Michael Lawnick" Sender: mlawnick@pd9524f2f.dip.t-dialin.net "Dean Schulze" schrieb im Newsbeitrag news:W4QM7.175977$IR4.64924904@news1.denver1.co.home.com... > I'm trying to use VxWorks 5.4 on a Pentium 4 motherboard with a PCI 2.2 > bus and the Intel 850 chipset. The P4 boots from a floppy properly and ftps > the kernel from another machine on the network, so my network connectivity > is working properly. But when I try to check which PCI devices exist on the > bus I find 3 Intel devices but cannot find my network card or the bt878 > based WinTV card. > > Could Plug and Play be a problem? The PnP must be working for my > network card (3Com 905B) since it gets the kernel via ftp. Do I need to > massage BIOS settings somehow? > > My code is attached below. > > Thanks. > > Dean Schulze > > > if (pciConfigLibInit (PCI_MECHANISM_1, 0xCF8, 0xCFC, 0) != OK) > { > printf("\nPCI lib config error\n"); > return (ERROR); > } > > devices = 0x1f; > > printf("\n\nAll PCI devices:"); > printf("\n busNo deviceNo vendorId deviceId classCode"); > printf("\n--------------------------------------------"); > > for (deviceNo=0; deviceNo < devices; deviceNo++) > { > pciConfigInWord (busNo, deviceNo, 0, PCI_CFG_VENDOR_ID, &vendorId); > pciConfigInWord (busNo, deviceNo, 0, PCI_CFG_DEVICE_ID, &deviceId); > pciConfigInByte (busNo, deviceNo, 0, PCI_CFG_PROGRAMMING_IF, > &u.array[3]); > pciConfigInByte (busNo, deviceNo, 0, PCI_CFG_SUBCLASS, &u.array[2]); > pciConfigInByte (busNo, deviceNo, 0, PCI_CFG_CLASS, &u.array[1]); > u.array[0] = 0; > > printf ("\n%8x %8x %8x %8x %8x", > busNo, deviceNo, vendorId, deviceId, u.classCode); > > > } > > Hi Dean, busNo is undefined in your code snippet, so what's its value ? Remember that your device could reside on busNo 0,1,2,.... Just use pciFindDevice() or pciFindDeviceShow() for searching for known device, it will (should) do all the job for you. HTH - -- Mit freundlichen Grüßen, Michael Lawnick ============================================== SOFTEC GmbH Tel +49-731-96600-0 Promenade 17 Fax +49-731-96600-23 D-89073 Ulm Michael Lawnick Germany lawnick@softec.de ============================================== --------------------------- Newsgroups: comp.os.vxworks Subject: Re: What happen ? anybody understand? Date: 28 Nov 2001 00:26:16 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111280026.b9aab76@posting.google.com> References: <9u1kpa$af1$1@news.seed.net.tw> Hello, Check your stack size. You can see the stack usage with the checkStack() routine, but losing the task name is normally an indication that you are running off the bottom of your stack (and you didn't give it very much stack after all). Also, as a word of advice, it is not a good idea to use usrAppInit functions that loop forever. You would be better to spawn your application task from this function. Why? Well, your usrAppInit() function is being executed in the context of the root task, at priority 0 and with a stack that you have little control over the size of. By spawning it as its own task, the kernel's init sequence completes, and you have control over the task's parameters. HTH, John... "?????? wrote in message news:<9u1kpa$af1$1@news.seed.net.tw>... > I use taskIdListGet() and taskShow() to display all tasks. > > This is the function contents: > int Display_Task() > { > int idlist[30]; > int maxid,currentid,i; > > maxid=sizeof(idlist); > currentid=taskIdListGet(idlist,maxid); > taskShow(0,2); > printf("total %d tasks \n",currentid); > return currentid; > } > > I use two way to call this function. > first direct call :Display_Task(); > second taskSpawn("gLighting", 255, 0, 1024, flash_light, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0); > > > void usrAppInit (void) > { > char input_command[20]; > char *line=input_command; > int com1; > int i; > > com1 = open("/tyCo/0",2,0); > (void) ioctl (com1, FIOSETOPTIONS, OPT_TERMINAL); > printf ("\n"); > > taskSpawn("gLighting", 255, 0, 1024, Display_Task_D, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0); > > while(1) > { > printf ("C:\\>"); > read(com1,input_command,20); > line=input_command; > while(*line==' ')printf("%2.2X \n",*(line++)); > switch (*(line)) > { > case 'P': > case 'p':Display_Task(); > break; > }/*switch (input_command)*/ > }/*while(1)*/ > } > void Display_Task_D() > { > while(1) > { > taskDelay(180); > Display_Task(); > } > } > > > This is the result. > > NAME ENTRY TID PRI STATUS PC SP ERRNO > DELAY > ---------- ------------ -------- --- ---------- -------- -------- ------- -- > --- > tRootTask 10d6c0 1fffdf8 0 READY 1aeb74 1fffcc0 3d0001 > 0 > tExcTask 18bf94 1ffa1e0 0 PEND 1d0598 1ffa0f0 0 > 0 > tLogTask 19224c 1ff7858 0 PEND 1d0598 1ff7778 0 > 0 > tWdbTask 1a0be0 1fb5840 3 PEND 1a9ca8 1fb5678 0 > 0 > tNetTask 185a14 1fb9910 50 PEND 1a9ca8 1fb9850 0 > 0 > gLighting 109d98 1fb29c0 99 READY 1ae104 1fb2930 0 > 0 > total 6 tasks > > > NAME ENTRY TID PRI STATUS PC SP ERRNO > DELAY > ---------- ------------ -------- --- ---------- -------- -------- ------- -- > --- > tRootTask 10d6c0 1fffdf8 0 PEND 1a9ca8 1fffcc0 3d0001 > 0 > tExcTask 18bf94 1ffa1e0 0 PEND 1d0598 1ffa0f0 0 > 0 > tLogTask 19224c 1ff7858 0 PEND 1d0598 1ff7778 0 > 0 > tWdbTask 1a0be0 1fb5840 3 PEND 1a9ca8 1fb5678 0 > 0 > tNetTask 185a14 1fb9910 50 PEND 1a9ca8 1fb9850 0 > 0 > ?? 109d98 1fb2fd8 99 READY 1aeb74 1fb2f48 0 0 > total 6 tasks > ~~~~~~~~~~~~~~ here is question > > Why I use taskSpawn() to call Display_Task() and the function name will > disappear ? > > Then even I directly call Display_Task() ,the name still disappear. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: What happen ? anybody understand? Date: Wed, 28 Nov 2001 17:10:01 +0800 From: "????" Organization: SEEDNet News Service Message-ID: <9u29hs$snk$1@news.seed.net.tw> References: <9u1kpa$af1$1@news.seed.net.tw> <488e459a.0111280026.b9aab76@posting.google.com> Thank you very much.John The problem solve. As for infinit loop ,I know. I must call function manually during testing.So.... Anyway Thank you very much. "John" ????? news:488e459a.0111280026.b9aab76@posting.google.com... > Hello, > > Check your stack size. You can see the stack usage with the > checkStack() routine, but losing the task name is normally an > indication that you are running off the bottom of your stack (and you > didn't give it very much stack after all). > > Also, as a word of advice, it is not a good idea to use usrAppInit > functions that loop forever. You would be better to spawn your > application task from this function. Why? Well, your usrAppInit() > function is being executed in the context of the root task, at > priority 0 and with a stack that you have little control over the size > of. By spawning it as its own task, the kernel's init sequence > completes, and you have control over the task's parameters. > > HTH, > > John... > --------------------------- Newsgroups: comp.os.vxworks Subject: WindView task are listed several times Date: Wed, 28 Nov 2001 11:15:12 GMT From: brede.thurmann@kongsberg-simrad.com (BT) Message-ID: <3c04c3e4.75294057@news.eunet.no> When I use WindView I get the same task listed more than once in the WindView View.It is not the same task's are listed twice each time I start WV. It is both VxWorks task's as tShell and my own task's. These double listed task's have both the same task name and task ID. Anyone seen this and can explain it? BT --------------------------- Newsgroups: comp.os.vxworks Subject: 802.11 ethernet for vxworks Date: Wed, 28 Nov 2001 11:16:33 GMT From: "Omead Amidi" Organization: Excite@Home - The Leader in Broadband http://home.com/faster Message-ID: I would like to know if anyone is using an 802.11 compatible wireless ethernet adapter under vxworks? Thanks. - -- Omead Amidi Research Faculty CMU Robotics Institute. --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Wed Nov 28 13:09:30 2001 From: Donald McLachlan Date: Wed Nov 28 13:09:32 PST 2001 Subject: vxworks.st for Solaris host / pcPentium target Hello, I have been able to make a boot floppy and with target/config/pcPentium/bootrom_uncmp target/config/pcPentium/vxWorks.st to it and boot it. I'm trying to: - use the gui tool - and base a project on target/config/pcPentium - to build a new copy of vxWorks.st in the project directory. Is it possible to build vxWorks.st from the gui (which is what I'm trying to learn how to do) or must I go into the target/config/pcPentium directory and make it from there? Also, workspace->properties->Rules lists the following options: - bootrom_high - romcard_bootrom_256.hex - romcard_bootrom_512.hex - romcard_vxWorks_st_512.hex - vxWorks - vxWork_low vxWorks_low.sym - vxWorks_rom - vxWorks_romCompress - vxWorks_romResident - vxWorks_rom_low None of these sound right to me. I did build and load: vxWorks: builds and loads. muxDevLoad filed for device enty 0! Attach interface lo0...done. ... wdbconfig: error configuring WDB communication interface. ... WDB: Agent Configuration failed. 0x3ffee7c (tRootTask) muxLoad failed. < hangs here > vxWorks_rom: builds and loads. muxDevLoad filed for device enty 0! Attach interface lo0...done. Thanks, Don From vxwexplo-errs@csg.lbl.gov Wed Nov 28 20:09:01 2001 From: "Kamala K N" Date: Wed Nov 28 20:09:03 PST 2001 Subject: Re: vxworks.st for Solaris host / pcPentium target This is a multi-part message in MIME format. ------=_NextPartTM-000-ac9a0218-e47a-11d5-a216-0000e22173f5 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi, If your building vxworks.st image, it's for standalone m/c. Vxwroks image is for separate host & target m/c's connected through n/w. For this you have to edit config.h file of particular BSP (you need to select n/w card type, host & target IP address etc.). Ref to Vxwroks programmer's guide chapter 8. for more info. kamala ------=_NextPartTM-000-ac9a0218-e47a-11d5-a216-0000e22173f5 Content-Type: text/plain; name="InterScan_Disclaimer.txt" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="InterScan_Disclaimer.txt" ------------------------------------------------------------------------------------------------------------------------- Information transmitted by this E-MAIL is proprietary to Wipro and/or its Customers and is intended for use only by the individual or entity to which it is addressed, and may contain information that is privileged, confidential or exempt from disclosure under applicable law. If you are not the intended recipient or it appears that this mail has been forwarded to you without proper authority, you are notified that any use or dissemination of this information in any manner is strictly prohibited. In such cases, please notify us immediately at mailto:mailadmin@wipro.com and delete this mail from your records. ---------------------------------------------------------------------------------------------------------------------- ------=_NextPartTM-000-ac9a0218-e47a-11d5-a216-0000e22173f5-- From vxwexplo-errs@csg.lbl.gov Thu Nov 29 04:03:27 2001 From: Vxworks Exploder Date: Thu Nov 29 04:03:30 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Thu Nov 29 04:03:22 PST 2001 Subject: makefile and linker problem Subject: Re: makefile and linker problem Subject: Re: TRUE definition Subject: Re: how to change mac address? Subject: Images larger than 1 Mb dowloaded on a Force PPC target Subject: Dynamic loading Subject: Re: TRUE definition Subject: External dependencies Subject: Re: TRUE definition Subject: Re: TRUE definition Subject: DHCP not getting DNS or gateway Subject: TFFS - flash file system Subject: Re: TRUE definition Subject: usrFsLib (shell commands) Subject: VxWorks AE - Support? Subject: multiple ip addresses on same IP port Subject: vxworks vs. hardened NT Subject: Re: TFFS - flash file system Subject: Re: Dynamic loading Subject: Re: vxworks vs. hardened NT Subject: VxWorks vulnerabilties ? Subject: Re: TFFS - flash file system Subject: IP address Subject: Re: TRUE definition Subject: gcc 2.95.3 does not like \ (line continuation char) Help!!! Pls!!! Subject: Re: Why is the IP stack ARPing my non-Ethernet interface? Subject: Re: IP address Subject: Re: TFFS - flash file system Subject: Re: TFFS - flash file system Subject: Re: TFFS - flash file system Subject: Re: IP address Subject: Is this Q so dumb that no one is answering Subject: Re: TFFS - flash file system Subject: Faster stat function? *OR* The stat implementation? (In a C/C++ program.) Subject: Re: Tornado 2.1 PowerPc Subject: how to delelte a IP address added by ifAddrAdd() Subject: Changing MAC address? Subject: Fw: VxSim license.dat file Subject: A stupid quetion. But I don't understand. Subject: license data file problems? Subject: The same prob " VxSim license.dat file" Subject: Re: TRUE definition Subject: Meet the same prob as "VxSim license.dat file " on Windows98 Subject: Re: DHCP not getting DNS or gateway Subject: Re: WindView task are listed several times Subject: Re: TRUE definition Subject: Re: TRUE definition Subject: Re: TRUE definition Subject: Re: Changing MAC address? Subject: Re: What happen ? anybody understand? Subject: Re: Need information on Zinc configuration Subject: Re: TRUE definition Subject: Re: TRUE definition Subject: Re: gcc 2.95.3 does not like \ (line continuation char) Help!!! Pls!!! Subject: Re: Faster stat function? *OR* The stat implementation? (In a C/C++ program.) Subject: Re: TFFS - flash file system Subject: Need to develop small dialog based GUI Subject: Re: TRUE definition Subject: Re: TRUE definition Subject: [OT] Re: TRUE definition Subject: Re: TFFS - flash file system Subject: what's the reason which will result in workQPanic? Subject: Re: Changing MAC address? ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: makefile and linker problem Date: 28 Nov 2001 04:16:33 -0800 From: trosto@hotmail.com (Tal) Organization: http://groups.google.com/ Message-ID: <705c7b34.0111280416.6bd18836@posting.google.com> Hi, I am using the Tornado with the GNU compiler. Sometimes, when I try to build my project I get an error message saying "no rule to make filename.o". It seems that the makefile dependencies do not know to find the h files which aren't in the project's folder but in other folder. In order to override the problem I delete the dependecies part of the makefile and build the project again. Did someone encountered this problem? Do you know how to define the path of the h files (for the linker) outside of the makefile? TIA, Tal --------------------------- Newsgroups: comp.os.vxworks Subject: Re: makefile and linker problem Date: Wed, 28 Nov 2001 15:51:46 +0200 From: "Ofer Goren" Organization: Verio Message-ID: References: <705c7b34.0111280416.6bd18836@posting.google.com> yup. All you have to do: 1. go to the workspace window, and press the 'builds' tab. Expand your project name entry, and double click on the triangle icon. Press the 'C/C++ compiler' tab, and add '-I' for each path you need to include .h files from. - -- Ofer Goren Iamba Technologies "Tal" wrote in message news:705c7b34.0111280416.6bd18836@posting.google.com... > Hi, > > I am using the Tornado with the GNU compiler. > Sometimes, when I try to build my project I get an error message > saying "no rule to make filename.o". > It seems that the makefile dependencies do not know to find the h > files which aren't in the project's folder but in other folder. > In order to override the problem I delete the dependecies part of the > makefile and build the project again. > Did someone encountered this problem? > Do you know how to define the path of the h files (for the linker) > outside of the makefile? > > TIA, > > Tal --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TRUE definition Date: Wed, 28 Nov 2001 14:01:14 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9u2qjq$smr$1@plutonium.btinternet.com> References: > >I would like to change the definition of TRUE from 1 to -1 > > NO. Don't do that. Agreed... Actually you would be better off removing 'TRUE' and 'FALSE' (and 'OK', 'ERROR' and 'NULL') from the entire source tree! The come into the same category as 'FOREVER' and (maybe) 'FUNCPTR', all they do is obfuscate bits of the language and force people to scan header files for definitions. David --------------------------- Newsgroups: comp.os.vxworks Subject: Re: how to change mac address? Date: Wed, 28 Nov 2001 14:12:27 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9u2r8s$i09$1@neptunium.btinternet.com> References: <221caa76.0111272021.60864855@posting.google.com> > I use muxIoctl() to change one ethernet port's MAC address.It seemed > that I had sucessed.But I can't ping this ethernet port any more.I > check parameter RAM and END_OBJ,and the vaule I set existed.I used the > commands ,arp -d and arp -a, to check if the new MAC address had > worked.But in the arp list the old MAC address is still there and > dynamic. Unfortunately the ioctl doesn't change the MAC address returned (to other systems) in an ARP response. Something like: static void set_arp_mac_addr( char *name, int unit, uint8 *new_mac ) { IP_DRV_CTRL *ip_info; int unit; extern int ipMaxUnits; for (unit = 0; unit < ipMaxUnits; unit++) { ip_info = ipDrvCtrl + unit; if (strcmp( name, ip_info->idr.ac_if.if_name )) continue; if (unit != ip_info->idr.ac_if.if_unit) continue; /* Check entry has correct old address */ bcopy( new_mac, ip_info->idr.ac_enaddr, 6 ); break; } } will update the correct field (if i've written the correct code). David --------------------------- Newsgroups: comp.os.vxworks Subject: Images larger than 1 Mb dowloaded on a Force PPC target Date: 28 Nov 2001 06:11:10 -0800 From: Santiago.Vazquez@casa.eads.net (santiago vazquez) Organization: http://groups.google.com/ Message-ID: Hello to everybody I have a problem downloading vxworks images on a PPC Force target when they are bigger than 1 Mb. Does anybody know how to do it? Do I have to burn a new ROM? Thanks in advance. --------------------------- Newsgroups: comp.os.vxworks Subject: Dynamic loading Date: Wed, 28 Nov 2001 16:04:13 +0200 From: "Martin Roth" Organization: Motorola Message-ID: <9u2qu0$dn9$1@newshost.mot.com> We are now in the definition stage of our new project which will probably based on one of MPC8xx PPC processors. During the developement purposes Vxwrks allows to dynamically link & load new modules and run them from the target shell. I would like to perfrm dynamic linking/loading on the final target (non development) sysem where I do not have the Tornado development tools and the WDB agent within the target. Did anybody see such (non development) system where application are linked and loaded dynamically. ? Thanks, Martin Roth --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TRUE definition Date: Wed, 28 Nov 2001 16:25:21 +0200 From: "Ofer Goren" Organization: Verio Message-ID: References: <9u2qjq$smr$1@plutonium.btinternet.com> well, as I said, this is not up to me. The fact is that I HAVE to change TRUE to -1. The only constant defined is C is 0 (zero) for FALSE. all other are compiler dependent. I truly hope that the developers of vxWorks know this (and compare boolean expressions with FALSE), or I will have to tell someone "I told you so".... ;) - -- Ofer Goren Iamba Technologies "David Laight" wrote in message news:9u2qjq$smr$1@plutonium.btinternet.com... > > > >I would like to change the definition of TRUE from 1 to -1 > > > > NO. Don't do that. > > Agreed... > > Actually you would be better off removing 'TRUE' and 'FALSE' (and 'OK', > 'ERROR' and 'NULL') from the entire source tree! > > The come into the same category as 'FOREVER' and (maybe) 'FUNCPTR', all > they do is obfuscate bits of the language and force people to scan header > files for definitions. > > David > > --------------------------- Newsgroups: comp.os.vxworks Subject: External dependencies Date: 28 Nov 2001 06:33:39 -0800 From: trosto@hotmail.com (Tal) Organization: http://groups.google.com/ Message-ID: <705c7b34.0111280633.6f6770bd@posting.google.com> Hi, I am using the Tornado with the GNU compiler. My question regards the External Dependencies folder. This folder doesn't always show me the external dependencies of my project, sometimes it does and sometimes it doesn't and I can't understand why! Do you know the reason? TIA, Tal --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TRUE definition Date: Wed, 28 Nov 2001 14:50:20 +0000 (UTC) From: don@mars.dgrc.crc.ca (Donald McLachlan) Organization: The unconfigured xvnews people Message-ID: <9u2tjc$ri2$1@crc-news.crc.ca> References: Reply-To: don@mars.dgrc.crc.ca In article , "Ofer Goren" writes: > well, as I said, this is not up to me. The fact is that I HAVE to change > TRUE to -1. The only constant defined is C is 0 (zero) for FALSE. all other > are compiler dependent. I truly hope that the developers of vxWorks know > this (and compare boolean expressions with FALSE), or I will have to tell > someone "I told you so".... ;) OK, so you know that a value of zero means false, and that anything else means true. So why not fix the broken code? Because the boss says so? Sure you can override it and check for if(x == -1), and you can even make it sybolic, but do not call it TRUE. Can you call it ASSERTED or CORRECT or OK or even MINUS_ONE or some such? Don - -- Donald McLachlan E-mail Donald.McLachlan@crc.ca Communications Research Centre / RNS Tel (613) 998-2845 3701 Carling Ave., Fax (613) 998-9648 Ottawa, Ontario K2H 8S2 Canada --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TRUE definition Date: Wed, 28 Nov 2001 17:07:35 +0200 From: "Ofer Goren" Organization: Verio Message-ID: References: <9u2tjc$ri2$1@crc-news.crc.ca> I have no problems with my code. The problem is in the interfaces to vxWorks' code, as I specified in the first post..... - -- Ofer Goren Iamba Technologies "Donald McLachlan" wrote in message news:9u2tjc$ri2$1@crc-news.crc.ca... > In article , "Ofer Goren" writes: > > well, as I said, this is not up to me. The fact is that I HAVE to change > > TRUE to -1. The only constant defined is C is 0 (zero) for FALSE. all other > > are compiler dependent. I truly hope that the developers of vxWorks know > > this (and compare boolean expressions with FALSE), or I will have to tell > > someone "I told you so".... ;) > > > OK, so you know that a value of zero means false, and that anything else means > true. > > So why not fix the broken code? Because the boss says so? Sure you can override it > and check for if(x == -1), and you can even make it sybolic, but do not call it > TRUE. > > Can you call it ASSERTED or CORRECT or OK or even MINUS_ONE or some such? > > Don > > > > -- > Donald McLachlan E-mail Donald.McLachlan@crc.ca > Communications Research Centre / RNS Tel (613) 998-2845 > 3701 Carling Ave., Fax (613) 998-9648 > Ottawa, Ontario > K2H 8S2 > Canada > > --------------------------- Newsgroups: comp.os.vxworks Subject: DHCP not getting DNS or gateway Date: 28 Nov 2001 07:25:31 -0800 From: agraham@openglobe.net (Aaron Graham) Organization: http://groups.google.com/ Message-ID: <95ebbe31.0111280725.53fda93b@posting.google.com> I've seen this same question asked on comp.os.vxworks several times, but it never has a follow up. I need to know if anyone has found a solution to this problem: When I perform a DHCP bind, I get a valid IP address, subnet mask, and it even returns the IP address of the DHCP server in the dhcp_param.s_addr field. However, it refuses to get a DNS server or a gateway. If I zero those fields out before I do a request, they're still zero after the request. Here's the code: struct dhcp_param params; // Need to zero out ALL values, as stated in the dhcpcParamsGet() // documentation in the reference manual. memset(¶ms, 0, sizeof(struct dhcp_param)); // Provide non-NULL pointers for fields of interest, as stated // in the dhcpcParamsGet() documentation in the reference manual. struct in_addrs dns_server_addrs; struct in_addr dns_addr[2]; params.dns_server = &dns_server_addrs; dns_server_addrs.num = 2; dns_server_addrs.addr = dns_addr; params.dns_server->addr[0].s_addr = 0; params.dns_server->addr[1].s_addr = 0; struct in_addr subnet_mask; params.subnet_mask = &subnet_mask; if (dhcpcParamsGet(m_cookieHandle, ¶ms) == ERROR) { printf("Couldn't get dhcp params\n"); return -1; } // Print parameter values... Believe it or not, it doesn't return a gateway address or a DNS server address, but everything else I need comes back from the DHCP server. If anyone has found a solution to this yet, please let me know. Aaron --------------------------- Newsgroups: comp.os.vxworks Subject: TFFS - flash file system Date: Wed, 28 Nov 2001 17:17:11 +0200 From: "Martin Roth" Organization: Motorola Message-ID: <9u2v6q$g3j$1@newshost.mot.com> I intend to use the TFFS - flash file system to log events to the flash disk. In average I will write one short message each 5 minutes. I know that flash memory has it's lifetime limitation and therefore I am asking the following questions: Assuming that I want my system to operate 10-15 years, is it a smart decision to use TFFS or any other flash disk software? Do you see any danger to the FLASH memory by using TFFS ? Thanks, Martin Roth --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TRUE definition Date: Wed, 28 Nov 2001 10:27:54 -0500 From: George Varndell Organization: Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net Message-ID: <3C05027A.364CE867@varndellengineering.com> References: <9u2qjq$smr$1@plutonium.btinternet.com> Ofer Goren wrote: > > well, as I said, this is not up to me. The fact is that I HAVE to change > TRUE to -1. The only constant defined is C is 0 (zero) for FALSE. all other > are compiler dependent. I truly hope that the developers of vxWorks know > this (and compare boolean expressions with FALSE), or I will have to tell > someone "I told you so".... ;) > Hi Ofer, I believe you want to know what values, returned by a etherInputHook function, will indicate to the network driver whether a packet should be pushed up to the stack or into the bit-bucket. The answer is there is may not a single answer. Below is a snippet of code taken from the templateNetif driver which shows how Wind would want network drivers to handle hook functions. if (etherInputHookRtn != NULL) { if ((* etherInputHookRtn) (&pDrvCtrl->idr, (char *)pEh, len)) { templateRfdReturn (pDrvCtrl, pRfd); /* free the RFD */ return (OK); } } .... continue processing.... As you can see, the numeric values of TRUE and FALSE don't even come into play, which is as it should be. In the code above, if the hook function returned 0, the packet will go up to the stack. If the hook function returns any other value, 1, -1, 0xdeadead, etc., the packet will be discarded, again as it should be. None of this means much though, since each driver may be coded differently with regard to handling of etherInputHook. Nothing prevents some bone headed code like this.... int x; if (etherInputHookRtn != NULL) { x = (* etherInputHookRtn) (&pDrvCtrl->idr, (char *)pEh, len); if(x == -3 || x == -1) { templateRfdReturn (pDrvCtrl, pRfd); /* free the RFD */ return (OK); } } .... continue processing.... You may need to get the net driver source code to find out for sure. You do not need to redefine TRUE. You should probably also buy Steve Summit's excellent book 'C Programming FAQs' and read chapter 9. By the way, 'if(etherInputHookRtn != NULL)' falls into the same category as testing for specific numeric values of TRUE and FALSE. It just should not be done. 'if(etherInputHookRtn)' is syntactically and semantically correct in every way. '!= NULL' adds nothing to the above code -- except the danger that NULL may have been improperly redefined in the driver. Regards, George Varndell - -- Varndell Engineering, LLC. PPC and XScale Expertise We do visionWARE ports http://www.varndellengineering.com ______________________________________________________________________________ Posted Via Binaries.net = SPEED+RETENTION+COMPLETION = http://www.binaries.net --------------------------- Newsgroups: comp.os.vxworks Subject: usrFsLib (shell commands) Date: Wed, 28 Nov 2001 15:40:39 -0000 From: "billangs" Organization: Siemens Inc. Message-ID: <9u30g3$6d6$1@news.mch.sbs.de> DESCRIPTION INCLUDE_DOSFS does not pull in shell commands i.e. ls etc. The usrFsLib routines are not linked in to the build. Does anybody know how to link the usrFsLib files into the DOSFS? Cheers Gurdeep --------------------------- Newsgroups: comp.os.vxworks Subject: VxWorks AE - Support? Date: 28 Nov 2001 07:55:29 -0800 From: difebrokerage@epost.de (dife) Organization: http://groups.google.com/ Message-ID: <29e69408.0111280755.4d3ce9c2@posting.google.com> I have heart that WRS will not support VxWorks/AE 'later'. Dit anyone know more about that? --------------------------- Newsgroups: comp.os.vxworks Subject: multiple ip addresses on same IP port Date: Wed, 28 Nov 2001 10:51:04 -0500 From: Chandwani Organization: Lucent Technologies Message-ID: <3C0507E8.23937840@ubbsrv3.ho.lucent.com> Hi all ! I have a a couple of questions regarding the multiple ip address provisioning on same IP port in vxworks IP stack. A port has a private class C IP address ( non broadcast ) provisioned on it. Now I go and add a public IP address on that port using function ifAddrAdd(). This works successfully. Question 1) If I do a ifAddrGet(), which IP address will I get of the two ? Question 2 ) If I want to change the public IP address on that port but maintain the private IP address, how do I achieve this ? Please help anyone. Thanks, Rakesh --------------------------- Newsgroups: comp.os.vxworks Subject: vxworks vs. hardened NT Date: Wed, 28 Nov 2001 16:34:31 -0000 From: "Raymond Bunton" Message-ID: <1006965253.4669.0.nnrp-14.3e31b912@news.demon.co.uk> Hi all, I work for a company in the UK that is attempting to develop an industrial controller using a 'real-time' operating system. I have been selected to decide on which software package is best suited to our needs. The choice is either a VxWorks or Hardened NT system. In addition I must also decide upon a PC/104 or CompactPCI platform. When deciding this I would need to bear in mind (among other things): - Cost - Availability (both current and future as regards upgradability and support) - Reliability - Portability I welcome all your comments and suggestions as to what you, in your experience, consider to be the better software package. Thanks a lot! Ray Bunton --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TFFS - flash file system Date: 28 Nov 2001 11:20:06 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111281120.765483ed@posting.google.com> References: <9u2v6q$g3j$1@newshost.mot.com> Hello, You need to do the calculations basically... before doing that, there are some things to think about: 1) Are you overwriting the message, or is this log file going to grow? If the latter, the size of the flash is probably more limiting than the lifetime of it ;-) 2) Are you using the file system for anything else, especially write operations? I believe that TFFS employs wear leveling code, so in theory at least, if you continually overwrite the file you should be able to work out the number of messages that will fit in the flash before an erase is necessary. Given that, and the number of erase cycles that your flash chips support, you should be able to determine whether a message every five minutes will be OK for the lifespan of the device. You might also want to "sacrifice" some flash devices and do your own accelerated testing to see if the calculations bear out in reality. With a normal operating frequency of one every 5 minutes, it should be very easy to perform an accelerated test... HTH, John... "Martin Roth" wrote in message news:<9u2v6q$g3j$1@newshost.mot.com>... > I intend to use the TFFS - flash file system to log events to the flash > disk. > In average I will write one short message each 5 minutes. I know that flash > memory has it's lifetime limitation and > therefore I am asking the following questions: > > Assuming that I want my system to operate 10-15 years, is it a smart > decision to use TFFS or any other flash disk software? > Do you see any danger to the FLASH memory by using TFFS ? > > Thanks, > Martin Roth --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Dynamic loading Date: 28 Nov 2001 11:25:12 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111281125.3331d452@posting.google.com> References: <9u2qu0$dn9$1@newshost.mot.com> <3c05001e@netnews.web.de> Hello all, Reinhold Wirth wrote in message news:<3c05001e@netnews.web.de>... > "Martin Roth" wrote: > >We are now in the definition stage of our new project which will probably > >based on one of MPC8xx PPC processors. During the developement purposes > >Vxwrks allows to dynamically link & load new modules and run them from the > >target shell. I would like to perfrm dynamic linking/loading on the final > >target (non development) sysem where I do not have the Tornado development > >tools and the WDB agent within the target. Did anybody see such (non > >development) system where application are linked and loaded dynamically. ? > > > Hi Martin, > > > you do not need Tornado or WDB to load and start a applikation. > It is possible to load and start it from the target shell. You can also load modules directly from application code: check out the loadLib manual entries. That will avoid (a) the need for the target shell if you don't want it, and (b) any messing around with scripts. To get the NT box to perform the calculation should also be possible, but you'd need to find an rsh daemon for NT that was compatible with VxWorks (for some reason, most Windows rsh daemons seem to be different to Unix ones and that causes some problems for the VxWorks rcmd() function). I believe that there is an open source rsh for Windows though, so you should be able to modify it to work. That way you could issue the commands for the compilation from VxWorks, capture the output (to check for errors), and then use loadModule() to download the resulting .o file. HTH, John... > You only have to type the commands. > The Startup-Script is a possibility for the input this commands from a device > (like the autoexec.bat). > (you have to define INCLUDE_STARTUP_SCRIPT in VxWorks) > > > One other possibility may be: > load and start your application in usrAppInit.c --------------------------- Newsgroups: comp.os.vxworks Subject: Re: vxworks vs. hardened NT Date: Wed, 28 Nov 2001 21:51:32 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <1006965253.4669.0.nnrp-14.3e31b912@news.demon.co.uk> "Raymond Bunton" wrote in message news:1006965253.4669.0.nnrp-14.3e31b912@news.demon.co.uk... [snip] > - Cost With your business type, involving low volume, VxWorks might look expensive, but in comparison to the entire Bill Of Materials, this OS cost should be very small. > - Availability (both current and future as regards upgradability and > support) Keep in mind that Microsoft routinely discontinue their OS versions practically forcing clients to upgrade, WindRiver on the other hand still supports VxWorks 5.4 which was released in 1998, and I know they also provide support for older versions (for an higher fee). WindRiver support may not be what it used to be a few years back, (which causes quite a lot of people to complain), it probably is still a lot better the Microsoft's. > - Reliability Realibility is probably mainly consisting of Code Stability and Testability. VxWorks code base is quite old, and well proven in many thousands of applications. VxWorks also is A LOT smaller then any version of NT, and you can even buy tools to result with test code coverage statistics for both your application code and the basic OS code too. > - Portability > I am not sure what you mean, but it is beyond my doubt that VxWorks supports many mor eCPU architectures then NT, but your meaning of portability may depend on the CPU architectures you consider interesting for your type of application. I am pretty sure you'll stick to x86, maybe PowerPC, so you can buy COTS processor boards etc. Hope this helps, - Leonid --------------------------- Newsgroups: comp.os.vxworks Subject: VxWorks vulnerabilties ? Date: Wed, 28 Nov 2001 21:28:50 +0100 From: "Sidney" Organization: Guest of ProXad - France Message-ID: <3c054904$0$197$626a54ce@news.free.fr> Hello I am searching for an updated list of know vulnerabilities of VxWorks 5.4 and especially concerning the network stack. Thank you --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TFFS - flash file system Date: Wed, 28 Nov 2001 20:42:13 GMT From: Andray Kaganovsky Organization: @Home Message-ID: References: <9u2v6q$g3j$1@newshost.mot.com> <488e459a.0111281120.765483ed@posting.google.com> john_94501@yahoo.com (John) wrote in news:488e459a.0111281120.765483ed@posting.google.com: > Hello, > > You need to do the calculations basically... before doing that, there > are some things to think about: > > 1) Are you overwriting the message, or is this log file going to grow? > If the latter, the size of the flash is probably more limiting than > the lifetime of it ;-) > > 2) Are you using the file system for anything else, especially write > operations? > > I believe that TFFS employs wear leveling code, so in theory at least, > if you continually overwrite the file you should be able to work out > the number of messages that will fit in the flash before an erase is > necessary. Given that, and the number of erase cycles that your flash > chips support, you should be able to determine whether a message every > five minutes will be OK for the lifespan of the device. > > You might also want to "sacrifice" some flash devices and do your own > accelerated testing to see if the calculations bear out in reality. > With a normal operating frequency of one every 5 minutes, it should be > very easy to perform an accelerated test... > > HTH, > > John... > > "Martin Roth" wrote in message news:<9u2v6q$g3j$1 @newshost.mot.com>... >> I intend to use the TFFS - flash file system to log events to the flash >> disk. In average I will write one short message each 5 minutes. I know that >> flash memory has it's lifetime limitation and >> therefore I am asking the following questions: >> >> Assuming that I want my system to operate 10-15 years, is it a smart >> decision to use TFFS or any other flash disk software? >> Do you see any danger to the FLASH memory by using TFFS ? >> >> Thanks, >> Martin Roth > [AndrayK]. As John correctly pointed out, TrueFFS employs wear levelling algorithms which spread 'write' and 'erase' operations evenly over the length of the entire flash array. To verify that this is inded the case, you can set breakpoint in MTD's 'write' and 'erase' routines, and check the 'address' parameter that they receive from the upper TrueFFS layers. Run the test of constanly overwriting contents of a small file, make sure file system cache is turned off, and watch the above mentioned 'address' parameters. If they appear to be constantly changing and spread all over the flash array, they you shouldn't worry about wearing down the flash. Andray --------------------------- Newsgroups: comp.os.vxworks Subject: IP address Date: Wed, 28 Nov 2001 15:03:40 -0600 From: "Tim Moeller" Organization: Nicolet Technologies Message-ID: <9u3j5t$1ov$1@newsreader.mailgate.org> Reply-To: "Tim Moeller" Sender: moeller@niti.com Sorry, I know this is a dumb question, but I can't seem to find the answer in my documentation. How do you programmatically determine the IP address being used on the target processor? The IP address is entered and stored in NVRAM by the BOOT ROM setup on my board (Walnut PPC 405GP, if that makes a difference.) Isn't there some kernel function that returns My IP Address? Be kind. :-) Thanks, -- Tim --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TRUE definition Date: Wed, 28 Nov 2001 21:02:24 GMT From: hoh@invalid.invalid (Goran Larsson) Organization: [1] + 5934 done /bin/rm -rf ~/ & Message-ID: References: <9u2qjq$smr$1@plutonium.btinternet.com> In article , Ofer Goren wrote: > well, as I said, this is not up to me. The fact is that I HAVE to change > TRUE to -1. You have said so a couple of times, but you still haven't explained why. > The only constant defined is C is 0 (zero) for FALSE. all other > are compiler dependent. What are you trying to say here? Are you saying that the true value is compiler dependent in C? This not so. The C standard clearly states that the result of an true boolean operation should be the value 1 (ONE) of type int. Any operation receiving a boolean value should accept any non-zero value of type int as a true value. > I truly hope that the developers of vxWorks know > this (and compare boolean expressions with FALSE), or I will have to tell > someone "I told you so".... ;) If you redefine TRUE to be -1 we will have to tell you "We told you so". - -- Göran Larsson hoh AT approve DOT se --------------------------- Newsgroups: comp.os.vxworks Subject: gcc 2.95.3 does not like \ (line continuation char) Help!!! Pls!!! Date: 28 Nov 2001 13:15:59 -0800 From: vittalk@ieee.org (Vittal Krishnamurthy) Organization: http://groups.google.com/ Message-ID: <52e25f45.0111281315.4a70be66@posting.google.com> Hi VxWorks gurus, I have recently built cross I have a small problem with the 2.95.3 GCC cross compiler that I built for vxWorks on RH 7.1 host and MIPS target. For some reason, the gcc does not like line continuation char "\". It complains of parse errors. Did I do anything wrong with my cross compilation. Do u have a solution other removing the '\' and joining lines??? Is there some switch I need to enable during cross compiler building ??? Pls Help thanks - -Vittal --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Why is the IP stack ARPing my non-Ethernet interface? Date: 28 Nov 2001 13:41:19 -0800 From: rwilliams@pivotech.com (Rich Williams) Organization: http://groups.google.com/ Message-ID: <4fdebc19.0111281341.133e9b16@posting.google.com> References: A long time ago, when I was first developing an END driver, I looked through the MUX code. This was shortly after the END code was available, so things may have changed ???? I was having trouble getting my non-Ethernet driver to work. I thought that if I set the "M2" type to something like "M2_ifType_other", then the MUX would treat my driver differently from the Ethernet driver. Wrong! Inside the MUX was code like this: switch( M2_type ) { case M2_Ethernet: default: blah, blah, blah; break; } The MUX code treats all drivers the same. The solution was to put an ARP packet simulator in my END driver. When vxWorks sends out the ARP request, you must send back the ARP response to make the stack happy. Rich --------------------------- Newsgroups: comp.os.vxworks Subject: Re: IP address Date: Wed, 28 Nov 2001 14:07:27 -0800 From: Stephane Tiriac Organization: Alcatel USA, Inc. Message-ID: <3C05601F.24BEBE17@alcatel.com> References: <9u3j5t$1ov$1@newsreader.mailgate.org> Tim, Take a look to the ifLib. It contains a function ifAddrGet ( ... It is a great idea to add to your browser the: $WIND_BASE/docs/books.html in order to have all the Tornado and vxWorks doc online. stephane. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TFFS - flash file system Date: Wed, 28 Nov 2001 22:10:35 +0000 From: molochai Message-ID: References: <9u2v6q$g3j$1@newshost.mot.com> <488e459a.0111281120.765483ed@posting.google.com> In message <488e459a.0111281120.765483ed@posting.google.com> john_94501@yahoo.com (John) wrote: > > "Martin Roth" wrote in message > news:<9u2v6q$g3j$1@newshost.mot.com>... > > I intend to use the TFFS - flash file system to log events to the flash > > disk. In average I will write one short message each 5 minutes. I know > > that flash memory has it's lifetime limitation and therefore I am asking > > the following questions: > > > > Assuming that I want my system to operate 10-15 years, is it a smart > > decision to use TFFS or any other flash disk software? Do you see any > > danger to the FLASH memory by using TFFS ? > > > > Thanks, > > Martin Roth > Hello, > > You need to do the calculations basically... before doing that, there > are some things to think about: > > 1) Are you overwriting the message, or is this log file going to grow? If > the latter, the size of the flash is probably more limiting than the > lifetime of it ;-) > > 2) Are you using the file system for anything else, especially write > operations? > > I believe that TFFS employs wear leveling code, so in theory at least, if > you continually overwrite the file you should be able to work out the > number of messages that will fit in the flash before an erase is necessary. > Given that, and the number of erase cycles that your flash chips support, > you should be able to determine whether a message every five minutes will > be OK for the lifespan of the device. This isn't necessarily the case. Remember that TFFS is a block device and handles entire blocks at a time. I suspect that in your application, you'd want to ensure that there was no buffering in order that each message was written immediately to non-volatile storage. This effectively means that you'll be writing at least one block to the flash every time a message is written, even if it's length is only a few bytes. Once in a while there'll be a block write for a FAT update too. On this basis, you'll be rquiring about 2.7 million block writes over the device lifetime. On an Intel Strataflash for instance, you get 100,000 erase cycles per erase units, of which there are 32 on a 32MB part in 8 bit bus-mode (= 3.2 Million erase cycles for the entire device). TFFS [1] will get slightly fewer than 256 blocks per erase unit. This is perhaps 600Million block writes assuming TFFS is 75% efficient in recycling erase units. I'd say getting some emperical evidence would be the best idea here. [1] If possible use a cluster size of 1 when formatting under dosFs. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TFFS - flash file system Date: 28 Nov 2001 17:14:35 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: <9u2v6q$g3j$1@newshost.mot.com> <488e459a.0111281120.765483ed@posting.google.com> Sender: bpringlemeir@DeadDuck >> "Martin Roth" wrote in message [snip] >>> Assuming that I want my system to operate 10-15 years, is it a >>> smart decision to use TFFS or any other flash disk software? Do >>> you see any danger to the FLASH memory by using TFFS ? >> john_94501@yahoo.com (John) wrote [snip] >> I believe that TFFS employs wear leveling code, so in theory at >> least, if you continually overwrite the file you should be able to >> work out the number of messages that will fit in the flash before Andray> As John correctly pointed out, TrueFFS employs wear levelling Andray> algorithms which spread 'write' and 'erase' operations evenly Andray> over the length of the entire flash array. To verify that [snip] Andray> watch the above mentioned 'address' parameters. If they Andray> appear to be constantly changing and spread all over the Andray> flash array, they you shouldn't worry about wearing down the Andray> flash. Several notes, 1) The effects of wear leveling will depend on the amount of free space. If you have a lot of program code that occupies disk space, I don't believe that the TFFS wear leveling will move this `static file' to a `hot region' of flash. So when you do the calculation, you must utilize the amount of free space on the disk. At least this is my understanding; and I could definitely be wrong. 2) DosFs will constantly update the directory structure not just on a file write, but whenever an application does an "open, read, close" sequence. This is mandated by Dos's "last accessed" field. If you have the DosFs source, you can remove this. 3) A typical NOR flash has 100,000 to 1,000,000 cycles. To calculate the duration you would need to multiply by the (free space/write size). For example, a 2MB disk with 128k free space and 512 byte writes (minimum DosFs write size) give 25.6 million for the worst case. This is 25.6/(60*60*24) = 296 days for a write of once a second[*]. For five minutes, this gives 243 years. Generally for five minute writes, you don't even have to worry if you have wear leveling or not. Wear levelling will extend the life of the system if you are in the <30 second range [assuming most products are about 10 years]. However as Andray suggest, you would be wise to instrument the flash write code to see what the _REAL WRITES_ are. You might be surprised! hth, Bill Pringlemeir. [*] increases to 4738 days (for a write per second) if TFFS does wear leveling which moves active blocks. - -- ATTACKED BY DESTROYER. ENGAGING PLOT DEVICE. U-312. vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html" --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TFFS - flash file system Date: 28 Nov 2001 17:46:16 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: <9u2v6q$g3j$1@newshost.mot.com> <488e459a.0111281120.765483ed@posting.google.com> Sender: bpringlemeir@DeadDuck >>>>> "molochai" == molochai writes: [snip] molochai> On this basis, you'll be rquiring about 2.7 million block molochai> writes over the device lifetime. On an Intel Strataflash molochai> for instance, you get 100,000 erase cycles per erase units, molochai> of which there are 32 on a 32MB part in 8 bit bus-mode (= molochai> 3.2 Million erase cycles for the entire device). molochai> TFFS [1] will get slightly fewer than 256 blocks per erase molochai> unit. This is perhaps 600Million block writes assuming TFFS molochai> is 75% efficient in recycling erase units. I have instrumented the flash writes and the cluster size doesn't matter. One only has to see the effects of layering the software to see why. App:Write(fd,"new test",8) DosFs: update sector 1 in cluster 534 TFFS: re-write 512 bytes of flash. Since DosFs already has the sector in the file mapping, the FAT is only update when the file extends beyond the cluster size and a new cluster has to be added to the file (and FAT updated). TFFS maintains a mapping of sectors to flash memory. It may have to write to the TFFS structures in the flash to note the active flash area for that cluster. I think that this deals with the flash in a better way so that it I am surprised that the 32MB StrataFlash has 1MB flash sectors! Most flash I have worked with is 32 or 64Kb. The sector size may not matter that much, _DEPENDING_ on the algorithm[*]. Unfortunately, it says that TFFS implements wear leveling... just like vxWorks implements memory allocation. There are certainly better memory allocation algorithms that what vxWorks uses. [*] If you have a `static file' in a sector, then that static file will continually be re-written unless the file is moved. I think that TFFS must move the files to prevent this type of fragmentation. Whether it moves this `static data' around to wear level things is the other question that I have. Maybe Lenoid could answer this. Maybe this is what is meant by wear leveling? How did you arrive at 75%? Opps! I am a dumb ass. I looked at the TFFS user guide and it does do this. [Section 1.2.2 of TFFS user guide]. So I don't think that this is an issue at all. Most flash is greater than 2MB, divided by 512 gives about 2000 disk sectors. With the low end 100,000 that is about 24000 days at once a second, which is 63 years. The maximum possible time is a sector reprogram of about 1ms (6us byte write, 2second sector erase). If all your code does is write flash, I think DosFS would last about 24 days [assuming an infinite CPU speed ;-]. regards, Bill Pringlemeir. - -- vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html" --------------------------- Newsgroups: comp.os.vxworks Subject: Re: IP address Date: Wed, 28 Nov 2001 18:00:35 -0500 From: Chandwani Organization: Lucent Technologies Message-ID: <3C056C93.B9D7340@ubbsrv3.ho.lucent.com> References: <9u3j5t$1ov$1@newsreader.mailgate.org> ifAddrGet() It requires interface name and unit. The interface name must be known to u as it is hardcoded in driver eg. motfcc0, motec0 etc. See the vxworks library docs from windriver. Rakesh - ---- Tim Moeller wrote: > > Sorry, I know this is a dumb question, but I can't seem to find the answer > in my documentation. > > How do you programmatically determine the IP address being used on the > target processor? > > The IP address is entered and stored in NVRAM by the BOOT ROM setup on my > board (Walnut PPC 405GP, if that makes a difference.) Isn't there some > kernel function that returns My IP Address? > > Be kind. :-) > > Thanks, > -- Tim --------------------------- Newsgroups: comp.os.vxworks Subject: Is this Q so dumb that no one is answering Date: Wed, 28 Nov 2001 18:03:35 -0500 From: Chandwani Organization: Lucent Technologies Message-ID: <3C056D47.BA4D920A@ubbsrv3.ho.lucent.com> > Hi all ! > > I have a a couple of questions regarding the multiple ip address provisioning on > same IP port in vxworks IP stack. > > A port has a private class C IP address ( non broadcast ) provisioned on it. Now > I go and add a public IP address on that port using function ifAddrAdd(). This > works successfully. > > Question 1) If I do a ifAddrGet(), which IP address will I get of the two ? > Question 2 ) If I want to change the public IP address on that port but maintain > the private IP address, how do I achieve this ? > > Please help anyone. > > Thanks, > Rakesh ( maybe no one knows the answer ;-). If I don't get it here, I will go and test this on a single board computer and enlighten you folks ) --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TFFS - flash file system Date: Wed, 28 Nov 2001 23:32:06 +0000 From: molochai Message-ID: <4bb6bae04a%molochai@vapour-trail.demon.co.uk> References: <9u2v6q$g3j$1@newshost.mot.com> <488e459a.0111281120.765483ed@posting.google.com> In message Bill Pringlemeir wrote: > >>>>> "molochai" == molochai writes: > [snip] > molochai> On this basis, you'll be rquiring about 2.7 million block > molochai> writes over the device lifetime. On an Intel Strataflash > molochai> for instance, you get 100,000 erase cycles per erase units, > molochai> of which there are 32 on a 32MB part in 8 bit bus-mode (= > molochai> 3.2 Million erase cycles for the entire device). > > molochai> TFFS [1] will get slightly fewer than 256 blocks per erase > molochai> unit. This is perhaps 600Million block writes assuming TFFS > molochai> is 75% efficient in recycling erase units. > > I have instrumented the flash writes and the cluster size doesn't > matter. One only has to see the effects of layering the software to > see why. > > App:Write(fd,"new test",8) > > DosFs: update sector 1 in cluster 534 > > TFFS: re-write 512 bytes of flash. when is the directory entry updated to reflect the new file size? Perhaps dosFs2 is smart enough to perform smaller-than-cluster operations. I will check. > > Since DosFs already has the sector in the file mapping, the FAT is > only update when the file extends beyond the cluster size and a new > cluster has to be added to the file (and FAT updated). TFFS maintains > a mapping of sectors to flash memory. It may have to write to the > TFFS structures in the flash to note the active flash area for that > cluster. Almost certainly. You can get this down to clearing a few bits though, and one mapping value. > I think that this deals with the flash in a better way so that > it > > I am surprised that the 32MB StrataFlash 32MB == Mega *bit* == 4 Mbyte. Note the capitalisation. The erase units are still *huge* at 128Kb each. > has 1MB flash sectors! Most > flash I have worked with is 32 or 64Kb. The sector size may not > matter that much, _DEPENDING_ on the algorithm[*]. Unfortunately, it > says that TFFS implements wear leveling... just like vxWorks > implements memory allocation. There are certainly better memory > allocation algorithms that what vxWorks uses. It's a totally different type of problem to be honest. The allocation scheme that dosFs2 uses is a much more pertinent issue. > > [*] If you have a `static file' in a sector, then that static file > will continually be re-written unless the file is moved. I think that > TFFS must move the files to prevent this type of fragmentation. Yes. That is precisely what it needs to do. When writing such a block management layer (and I have) you find yourself having to do move blocks that otherwise would be optimally positioned, otherwise you can very easily get into a situation whereby two erase units ping-pong. > Whether it moves this `static data' around to wear level things is the > other question that I have. See above. It has to. TFFS does however claim to only do approximate wear levelling, and this may well curb the worst excesses. > Maybe Lenoid could answer this. Maybe this > is what is meant by wear leveling? How did you arrive at 75%? > > Opps! I am a dumb ass. I looked at the TFFS user guide and it does > do this. [Section 1.2.2 of TFFS user guide]. So I don't think that > this is an issue at all. Most flash is greater than 2MB, divided by > 512 gives about 2000 disk sectors. With the low end 100,000 that is > about 24000 days at once a second, which is 63 years. The maximum > possible time is a sector reprogram of about 1ms (6us byte write, > 2second sector erase). If all your code does is write flash, I think > DosFS would last about 24 days [assuming an infinite CPU speed ;-]. > You're maybe misunderstanding the timings. However, if the flash component drivers are using taskDelay() in their delay loops, the performance is going to suck, as some of the writes take considerably less than a kernel tick. --------------------------- Newsgroups: comp.os.vxworks Subject: Faster stat function? *OR* The stat implementation? (In a C/C++ program.) Date: 28 Nov 2001 15:40:22 -0800 From: vitopirelli@hotmail.com (Vito Pirelli) Organization: http://groups.google.com/ Message-ID: <9220e2a6.0111281540.61cf3f0b@posting.google.com> Hello, I will need to determine the dates on thousands of files, the only way of doing that that I can find is using the stat command. The problem is that stat fills in a struct with a lot stuff that I don't need. This grately slows down my program. For this reason I'm looking for a better way or reading the date of the file or the implemenation of the stat command so that I can remove the code that doesn't pertain to the retrival of the date from the file. Thanks in advance, VP. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Tornado 2.1 PowerPc Date: 28 Nov 2001 16:11:36 -0800 From: Robert Gove Organization: Newsguy News Service [http://newsguy.com] Message-ID: <9u3ufo021ea@drn.newsguy.com> References: <9s5ua8$o3p$1@rex.ip-plus.net> I believe Tornado 2.1 is available now for AltiVec (74xx) and 750 based PowerPC processors. I'd talk to your local WRS rep. - -- Robert Gove In article <9s5ua8$o3p$1@rex.ip-plus.net>, "Serge says... > >Did somebody has a time frame for Tornado 2.1 PowerPc? > >Serge Wenger > > --------------------------- Newsgroups: comp.os.vxworks Subject: how to delelte a IP address added by ifAddrAdd() Date: 28 Nov 2001 16:48:13 -0800 From: kevinatnj@yahoo.com.cn (kewin) Organization: http://groups.google.com/ Message-ID: <221caa76.0111281648.5655ff24@posting.google.com> hi all I have added a new IP address to a ethernet interface.But now I want to remove it.But I didn't find the *remove* or *delete* function to be this function.Is there any other way to delete the IP address without affectiong other ethernet interface. thanks kevin --------------------------- Newsgroups: comp.os.vxworks Subject: Changing MAC address? Date: 28 Nov 2001 19:30:44 -0800 From: umeshs@myw.ltindia.com (Umesh Satyanarayana) Organization: http://groups.google.com/ Message-ID: MAC address is unique to each ethernet card. Is it advisable to change the MAC address? I have an application which calls for dynamically changing the MAC address? I would like to know repercussions of doing so? if not why? Umesh --------------------------- Newsgroups: comp.os.vxworks Subject: Fw: VxSim license.dat file Date: Thu, 29 Nov 2001 11:38:42 +0800 From: "zhaoyandong" Organization: Bentium Ltd. (CN99) Message-ID: <9u4aog$peh$1@mail.cn99.com> References: <9u1fmv$4iv$1@mail.cn99.com> I just forwarded another question of pedja. Thank you for the suggestion. But now I have a problem with my virtual WindRiver ULIP NIC. It was installed fine, but nobody from the list in target server configuration cannot talk with the "card". I tried changing IP address but did not help. Please try to give me a direction what to do. Thanks, again Predrag Thanks everybody "zhaoyandong" wrote in message news:9u1fmv$4iv$1@mail.cn99.com... > > "pedja" wrote in message > news:uBUM7.3032$FR5.46605413@radon.golden.net... > > Please help. I installed Tornado2 under win2000, and I don't have a > > license.dat file under .wind directory. When I try to configure and launch > > target server gives me an error: > > > > tgtsvr (vxsim@grkovic): Tue Nov 27 17:30:58 2001 > > Checking License ...FAILED > > Cannot get a valid license. > > Failed to receive a Target Server license. > > Either your network or license server is down or your LM_LICENSE_FILE > > variable is not set to a valid license server. > > > > Cannot find license file > > The license files (or server network addresses) attempted are > > listed below. Use LM_LICENSE_FILE to use a different license file, > > or contact your software provider for a license file. > > Feature: tornado > > Filename: F:/Tornado\.wind\license > > License path: F:/Tornado\.wind\license > > FLEXlm error: -1,359. System Error: 2 "No such file or directory" > > For further information, refer to the FLEXlm End User Manual, > > available at "www.globetrotter.com". > > > > > > Target Server will exit > > > > Where should I look to obtain this file? > > Thanks everybody. > > > > Predrag > > > > > > > Hi, I encounted the same problem before. Now I've solved it. > You can go to www.wrs.com and request a license key according to the > instructions. Now it's ok. > > zhaoyandong > > --------------------------- Newsgroups: comp.os.vxworks Subject: A stupid quetion. But I don't understand. Date: Thu, 29 Nov 2001 12:13:15 +0800 From: "Howchin" Organization: SEEDNet News Service Message-ID: <9u4cg3$l10$1@news.seed.net.tw> This is the main function. I key a or A to test function. #include "stdioLib.h" #include "ioLib.h" void usrAppInit (void) { char input_command[20]; char *line=input_command; int com1; int i=0,j=0; com1 = open("/tyCo/0",2,0); (void) ioctl (com1, FIOSETOPTIONS, OPT_TERMINAL); printf ("\n"); while(1) { printf ("C:\\>"); read(com1,input_command,20); line=input_command; while(*line==' ')printf("%2.2X \n",*(line++)); switch (*(line)) { case 'H': case 'h':Print_Help(); break; case 'D': case 'd':Display_Memory(++line); break; case 0x0a: case 0x00: break; default:printf("Bad command or file name.\nType 'H' for help.\n"); break; case 'A': case 'a': i++;j+=2; printfr("i=%d,j=%d\n",i,j); break; }/*switch (input_command)*/ }/*while(1)*/ } This is a simple function call. I want to print error message with color. #include "ioLib.h" #include "ansi.h" #include "stdarg.h" #define ANSI_RED "1;31m" #define ANSI_GREEN "1;32m" #define ANSI_YELLOW "1;33m" #define ANSI_BLUE "1;5;34m" #define ANSI_PURPLE "1;5;35m" #define ANSI_WATER "1;5;36m" #define ANSI_DEFAULT "0m" #define ansi(i) printf("\x1b[%s",(i)); void printfr(const char *format, ...) { va_list ap; ansi(ANSI_RED); va_start(ap,format); vprintf(format,ap); va_end(ap); ansi(ANSI_DEFAULT); } This is the question. Why #include "stdarg.h" #include "ioLib.h" will cause function unexpectedly. And #include "ioLib.h" #include "stdarg.h" will work correctly. What does #include "ioLib.h" do? Thank you very much ^_^.. --------------------------- Newsgroups: comp.os.vxworks Subject: license data file problems? Date: Thu, 29 Nov 2001 04:34:59 GMT From: "tiejunyang" Message-ID: I install prototyper plus on Windows98 . According to "Tornado Prototyper Getting Started Guide 2.0.", "3.6 Download the Project to the VxWorks Target Simulator", I do gizmo File ->download 'gizmo.out' -> ......, then generate the following problems: Log Console License path: C:/TORNADO\.wind\license FLEXlm error: -1,359. System Error: 2 "No such file or directory" For further information, refer to the FLEXlm End User Manual, available at "http://www.globetrotter.com. Target Server will exit Do you know what is the problems? Thanks --------------------------- Newsgroups: comp.os.vxworks Subject: The same prob " VxSim license.dat file" Date: Thu, 29 Nov 2001 04:37:46 GMT From: "tiejunyang" Message-ID: References: pedja wrote in message news:uBUM7.3032$FR5.46605413@radon.golden.net... > Please help. I installed Tornado2 under win2000, and I don't have a > license.dat file under .wind directory. When I try to configure and launch > target server gives me an error: > > tgtsvr (vxsim@grkovic): Tue Nov 27 17:30:58 2001 > Checking License ...FAILED > Cannot get a valid license. > Failed to receive a Target Server license. > Either your network or license server is down or your LM_LICENSE_FILE > variable is not set to a valid license server. > > Cannot find license file > The license files (or server network addresses) attempted are > listed below. Use LM_LICENSE_FILE to use a different license file, > or contact your software provider for a license file. > Feature: tornado > Filename: F:/Tornado\.wind\license > License path: F:/Tornado\.wind\license > FLEXlm error: -1,359. System Error: 2 "No such file or directory" > For further information, refer to the FLEXlm End User Manual, > available at "www.globetrotter.com". > > > Target Server will exit > > Where should I look to obtain this file? > Thanks everybody. > > Predrag > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TRUE definition Date: Wed, 28 Nov 2001 20:45:06 -0800 From: "drdiags" Organization: laserlink.net Message-ID: <9u4fpj$lbe$1@newstest.laserlink.net> References: Hello Ofer, From everything I see, the etherInputHookRtn is checked for (etherInputHookRtn == NULL) which is what is was initialized to before the etherInputHookAdd() call was performed. HTH. "Ofer Goren" wrote in message news:newscache$2npgng$loc$1@lnews.actcom.co.il... > Hi. > I would like to change the definition of TRUE from 1 to -1. I was wonder if > somebody knows if etherInputHookAdd() checks if (hookRtn result == TRUE), or > does it check if (hookRtn result != FALSE) to see if the packet should go > back to the OS or should be discarded. > You see, if it checks for (== TRUE), I need to "convert" my definition of > TRUE to the vxWorks' one. If it checks for (!= FALSE), I have nothing to do. > > Does anybody has the code, and could tell me? > > Thanks, > > Ofer. > > P.S. > Please don't ask me "what do you need it for, just stick with the old TRUE", > since basicly, it's not my decision...;) > > --------------------------- Newsgroups: comp.os.vxworks Subject: Meet the same prob as "VxSim license.dat file " on Windows98 Date: Thu, 29 Nov 2001 04:54:40 GMT From: "tiejunyang" Message-ID: References: pedja wrote in message news:uBUM7.3032$FR5.46605413@radon.golden.net... > Please help. I installed Tornado2 under win2000, and I don't have a > license.dat file under .wind directory. When I try to configure and launch > target server gives me an error: > > tgtsvr (vxsim@grkovic): Tue Nov 27 17:30:58 2001 > Checking License ...FAILED > Cannot get a valid license. > Failed to receive a Target Server license. > Either your network or license server is down or your LM_LICENSE_FILE > variable is not set to a valid license server. > > Cannot find license file > The license files (or server network addresses) attempted are > listed below. Use LM_LICENSE_FILE to use a different license file, > or contact your software provider for a license file. > Feature: tornado > Filename: F:/Tornado\.wind\license > License path: F:/Tornado\.wind\license > FLEXlm error: -1,359. System Error: 2 "No such file or directory" > For further information, refer to the FLEXlm End User Manual, > available at "www.globetrotter.com". > > > Target Server will exit > > Where should I look to obtain this file? > Thanks everybody. > > Predrag > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: DHCP not getting DNS or gateway Date: Wed, 28 Nov 2001 21:13:02 -0800 From: "drdiags" Organization: laserlink.net Message-ID: <9u4hdv$qus$1@newstest.laserlink.net> References: <95ebbe31.0111280725.53fda93b@posting.google.com> Hello Aaron, For vxWorks 5.4/Tornado 2.0, the following worked for me. if (dhcpcOptionSet(pCookie, _DHCP_DNS_SERVER_TAG, 0, 0, NULL) == ERROR) logMsg("Set DHCP_DNS_SERVER_TAG failed. %x \n", errno,0,0,0,0,0); I have a simple DHCP Client example which I can send you if you want. Maybe I will send it to Johan to see if it has merit. "Aaron Graham" wrote in message news:95ebbe31.0111280725.53fda93b@posting.google.com... > I've seen this same question asked on comp.os.vxworks several times, > but it never has a follow up. I need to know if anyone has found a > solution to this problem: > > When I perform a DHCP bind, I get a valid IP address, subnet mask, and > it even returns the IP address of the DHCP server in the > dhcp_param.s_addr field. However, it refuses to get a DNS server or a > gateway. If I zero those fields out before I do a request, they're > still zero after the request. Here's the code: > struct dhcp_param params; > // Need to zero out ALL values, as stated in the dhcpcParamsGet() > // documentation in the reference manual. > memset(¶ms, 0, sizeof(struct dhcp_param)); > > // Provide non-NULL pointers for fields of interest, as stated > // in the dhcpcParamsGet() documentation in the reference manual. > struct in_addrs dns_server_addrs; > struct in_addr dns_addr[2]; > params.dns_server = &dns_server_addrs; > dns_server_addrs.num = 2; > dns_server_addrs.addr = dns_addr; > params.dns_server->addr[0].s_addr = 0; > params.dns_server->addr[1].s_addr = 0; > > struct in_addr subnet_mask; > params.subnet_mask = &subnet_mask; > > if (dhcpcParamsGet(m_cookieHandle, ¶ms) == ERROR) > { > printf("Couldn't get dhcp params\n"); > return -1; > } > > // Print parameter values... > > Believe it or not, it doesn't return a gateway address or a DNS server > address, but everything else I need comes back from the DHCP server. > > If anyone has found a solution to this yet, please let me know. > > Aaron --------------------------- Newsgroups: comp.os.vxworks Subject: Re: WindView task are listed several times Date: Thu, 29 Nov 2001 15:41:35 +1030 From: Tim Shaw Organization: Defence Science and Technology Organisation Message-ID: <3C05C387.3D2ECCE0@dsto.defence.gov.au> References: <3c04c3e4.75294057@news.eunet.no> This is a known problem if you're using post mortem mode, and the buffer is uploaded before it has filled and started cycling. The 'workaround' we were told from WRS is to right click on every second item and hide it. Tim BT wrote: > When I use WindView I get the same task listed more than once in the > WindView View.It is not the same task's are listed twice each time I > start WV. It is both VxWorks task's as tShell and my own task's. > These double listed task's have both the same task name and task ID. > > Anyone seen this and can explain it? > > BT --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TRUE definition Date: Thu, 29 Nov 2001 08:48:14 +0100 From: "Manuel van den Berg" Organization: Oce Nederland news service Message-ID: <3c05e7fd$0$225$4d4ebb8e@oce.news.eu.uu.net> References: <9u2qjq$smr$1@plutonium.btinternet.com> "David Laight" wrote in message news:9u2qjq$smr$1@plutonium.btinternet.com... > > > >I would like to change the definition of TRUE from 1 to -1 > > > > NO. Don't do that. > > Agreed... > > Actually you would be better off removing 'TRUE' and 'FALSE' (and 'OK', > 'ERROR' and 'NULL') from the entire source tree! > > The come into the same category as 'FOREVER' and (maybe) 'FUNCPTR', all > they do is obfuscate bits of the language and force people to scan header > files for definitions. Yup, I'd suggest not to use structs, typedef's, defines, functions, etc ... hey wait maybe we shouldn't be using any header files at all ;-) Any clue of the meaning of 'abstraction' or 'encapsulation' ? Manuel > > David > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TRUE definition Date: Thu, 29 Nov 2001 09:17:53 +0100 From: "Manuel van den Berg" Organization: Oce Nederland news service Message-ID: <3c05eeed$0$230$4d4ebb8e@oce.news.eu.uu.net> References: <9u2qjq$smr$1@plutonium.btinternet.com> Prepare to say 'I told you so' :-) The C language does not require an implementation to provide a define for 'FALSE'. What IS defined is the result of conditional expressions. The only useful definition of TRUE and FALSE is one that matches the results of conditional expression. In the most portable form this is: #define FALSE (1==0) #define TRUE (1==1) You suggest that in conditional expression involving booleans, one should always explicitly compare with FALSE only, not TRUE. If I have a boolean, say b, I can simply say ' if (b) {} else {} '. It makes no sense to explicitly compare with TRUE or FALSE; the 'if' expects a truth value and b already IS a truth value. Two final questions: If you expect that VxWorks doesn't care about the actual values of TRUE or FALSE, why does your software? If someone instructs you to jump off a plane without a parachute, would you do so? (And yes, the plane IS flying at 2km height of course.) Regards, Manuel "Ofer Goren" wrote in message news:newscache$kjming$8gf$1@lnews.actcom.co.il... > well, as I said, this is not up to me. The fact is that I HAVE to change > TRUE to -1. The only constant defined is C is 0 (zero) for FALSE. all other > are compiler dependent. I truly hope that the developers of vxWorks know > this (and compare boolean expressions with FALSE), or I will have to tell > someone "I told you so".... ;) > > > > -- > Ofer Goren > Iamba Technologies > "David Laight" wrote in message > news:9u2qjq$smr$1@plutonium.btinternet.com... > > > > > >I would like to change the definition of TRUE from 1 to -1 > > > > > > NO. Don't do that. > > > > Agreed... > > > > Actually you would be better off removing 'TRUE' and 'FALSE' (and 'OK', > > 'ERROR' and 'NULL') from the entire source tree! > > > > The come into the same category as 'FOREVER' and (maybe) 'FUNCPTR', all > > they do is obfuscate bits of the language and force people to scan header > > files for definitions. > > > > David > > > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TRUE definition Date: Thu, 29 Nov 2001 10:18:17 +0200 From: "Ofer Goren" Organization: Verio Message-ID: References: <9u2qjq$smr$1@plutonium.btinternet.com> see my answer embedded "Goran Larsson" wrote in message news:... > In article , > Ofer Goren wrote: > > > well, as I said, this is not up to me. The fact is that I HAVE to change > > TRUE to -1. > > You have said so a couple of times, but you still haven't explained why. Well, yes, my Boss told me so. And he has some points on making it so: 1. When you look @ the memory, you will see 0xffffffff for -1. So when dumping a memory, it is real clear when looking at TRUE as -1, and FALSE as all zeros. 2. If someone accidently used bitwise or (~) instead of (!) on a TRUE (-1) value, they will both do the same (~-1 = 0x00000000, !-1 = 0x00000000), while when dealing with TRUE as 1, both will have different results (~1 = 0xfffffffe, !1 = 0). He claims that for true TRUE values, both bit wise and logical 'not' should give the same result. 3. As you said: "Any operation receiving a boolean value should accept any non-zero value of type int as a true value.". So, it can get -1, 7, or 0x456fed as a non-false result. And yes, I do claim that the ture's value is compiler and architecture dependent. 4. He also qoute some kinf of a rule, that you should never ever ever compare boolean expressions to nothing but FALSE. You shouldn't use TRUE values, only as a return values or such. So there.... 5. he will fire me if I wont do it.... he he he. And you know the status of the hi-tech industry today..... and I have a kid to raise, and a wife to support.......:(( :(( ... > What are you trying to say here? Are you saying that the true value is > compiler dependent in C? > > > I truly hope that the developers of vxWorks know > > this (and compare boolean expressions with FALSE), or I will have to tell > > someone "I told you so".... ;) > > If you redefine TRUE to be -1 we will have to tell you "We told you so". Hey, I'm with you here guys. I will be really glad to tell him "I told you so" after strange things will happened, and we won't be able to understand why until we will get real into assembler. I will be gloating as hell....;-) > > -- > Göran Larsson hoh AT approve DOT se --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Changing MAC address? Date: 29 Nov 2001 00:20:59 -0800 From: haisada@yahoo.com (peram) Organization: http://groups.google.com/ Message-ID: <1ec48eae.0111290020.1c0cb039@posting.google.com> References: The repercussions depends on your network configuration and what your application is trying to do. In a typical network configuration this problem is resolved.When you change the MAC address of your station all other stations in the network will not have instant knowledge of it unless the application sends an ARP broadcast message.But usually this is solved when ARP tables are refreshed. It can also have effect on your IP address depending on how your DHCP server is configured. umeshs@myw.ltindia.com (Umesh Satyanarayana) wrote in message news:... > MAC address is unique to each ethernet card. Is it advisable to change > the MAC address? I have an application which calls for dynamically > changing the MAC address? I would like to know repercussions of doing > so? > if not why? > > Umesh --------------------------- Newsgroups: comp.os.vxworks Subject: Re: What happen ? anybody understand? Date: Thu, 29 Nov 2001 09:25:20 +0100 From: "Manuel van den Berg" Organization: Oce Nederland news service Message-ID: <3c05f0af$0$224$4d4ebb8e@oce.news.eu.uu.net> References: <9u1kpa$af1$1@news.seed.net.tw> Another hint: There is a potential problem that will result in a page fault if you have more than 30 tasks in your system. The 'maxid=sizeof(idlist)' returns you the size of the array -- in bytes!! If you change this to: 'maxid = sizeof(idlist)/sizeof(idlist[0])', the problem is solved. Or even better use a #define: #define arraylength(a) (sizeof(a)/sizeof((a)[0])) Regards, Manuel "¤õ¦v¤§¿ß" wrote in message news:9u1kpa$af1$1@news.seed.net.tw... > I use taskIdListGet() and taskShow() to display all tasks. > > This is the function contents: > int Display_Task() > { > int idlist[30]; > int maxid,currentid,i; > > maxid=sizeof(idlist); > currentid=taskIdListGet(idlist,maxid); > taskShow(0,2); > printf("total %d tasks \n",currentid); > return currentid; > } > > I use two way to call this function. > first direct call :Display_Task(); > second taskSpawn("gLighting", 255, 0, 1024, flash_light, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0); > > > void usrAppInit (void) > { > char input_command[20]; > char *line=input_command; > int com1; > int i; > > com1 = open("/tyCo/0",2,0); > (void) ioctl (com1, FIOSETOPTIONS, OPT_TERMINAL); > printf ("\n"); > > taskSpawn("gLighting", 255, 0, 1024, Display_Task_D, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0); > > while(1) > { > printf ("C:\\>"); > read(com1,input_command,20); > line=input_command; > while(*line==' ')printf("%2.2X \n",*(line++)); > switch (*(line)) > { > case 'P': > case 'p':Display_Task(); > break; > }/*switch (input_command)*/ > }/*while(1)*/ > } > void Display_Task_D() > { > while(1) > { > taskDelay(180); > Display_Task(); > } > } > > > This is the result. > > NAME ENTRY TID PRI STATUS PC SP ERRNO > DELAY > ---------- ------------ -------- --- ---------- -------- -------- ------- - -- > --- > tRootTask 10d6c0 1fffdf8 0 READY 1aeb74 1fffcc0 3d0001 > 0 > tExcTask 18bf94 1ffa1e0 0 PEND 1d0598 1ffa0f0 0 > 0 > tLogTask 19224c 1ff7858 0 PEND 1d0598 1ff7778 0 > 0 > tWdbTask 1a0be0 1fb5840 3 PEND 1a9ca8 1fb5678 0 > 0 > tNetTask 185a14 1fb9910 50 PEND 1a9ca8 1fb9850 0 > 0 > gLighting 109d98 1fb29c0 99 READY 1ae104 1fb2930 0 > 0 > total 6 tasks > > > NAME ENTRY TID PRI STATUS PC SP ERRNO > DELAY > ---------- ------------ -------- --- ---------- -------- -------- ------- - -- > --- > tRootTask 10d6c0 1fffdf8 0 PEND 1a9ca8 1fffcc0 3d0001 > 0 > tExcTask 18bf94 1ffa1e0 0 PEND 1d0598 1ffa0f0 0 > 0 > tLogTask 19224c 1ff7858 0 PEND 1d0598 1ff7778 0 > 0 > tWdbTask 1a0be0 1fb5840 3 PEND 1a9ca8 1fb5678 0 > 0 > tNetTask 185a14 1fb9910 50 PEND 1a9ca8 1fb9850 0 > 0 > ?? 109d98 1fb2fd8 99 READY 1aeb74 1fb2f48 0 0 > total 6 tasks > ~~~~~~~~~~~~~~ here is question > > Why I use taskSpawn() to call Display_Task() and the function name will > disappear ? > > Then even I directly call Display_Task() ,the name still disappear. > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Need information on Zinc configuration Date: 29 Nov 2001 00:25:29 -0800 From: manibala@covansys.com (B.Manivannan) Organization: http://groups.google.com/ Message-ID: <23de5426.0111290025.421c3a95@posting.google.com> References: <442C562A1DD6D3118C6E0004AC4C175902ECFD82@bngex01> HI, Please try to post ONLY the queries and answers. Thanks Mr.John for your reference. With Thanks and Regards, B.Manivannan. "Bill Pringlemeir" bpringlemeir@yahoo.com wrote in message news:... > >>>>> "BM" == BALASUBRAMANIAN Manivannan writes: > > BM> Hi, I got your email ID in VxWorks group. I am trying to > BM> configure Zinc 6.0 in my Simulator. Enclosed is the document > BM> which describes the problem in detail. > > BM> Please suggest me suitable solution as I am stucked with > BM> WindML configuration. <> > BM> Awaiting. > > Hello Mani and Kundesh, > > I am not an employee of WRS (Wind River System). I am just a user of > vxWorks, Zinc and WindML. I would only help you out of the kindness > of my heart. However, your request is big. It would take a lot of my > time and I would get nothing. Just to read your document, I had to > run a hex editor as I would be foolish to read unknown Word documents; > They could be full of viruses or trojan programs. I don't use a virus > scanner as it only finds older viruses. I am very busy now because of > business and personal demands. > > If I answered your question on comp.os.vxworks, at least there would > be a public archive of the message [something like you found]. This > lets people using vxWorks find useful information. Also, you will > reach a larger set of people than just myself. You should also > contact your WRS FAE (field application engineer). We have done what > you ask, from my current understanding, and have resolved several > problems that were logged as SPRs/TSRs. I have posted your question > to comp.os.vxworks [but NOT your Word document]. If you make your > problem more specific, you might get better answers by posting there. > > Here is the vxWorks FAQ, "www.xs4all.nl/~borkhuis/vxworks/vxworks.html". > > Please refrain from sending any further unsolicited emails to my email > address, ESPECIALLY BINARY FILES! > > regards, > Bill Pringlemeir. > > [I get a request like this about once per month. Does anyone else on > `c.o.v'? What is the best way to deal with it? I guess having an > mangled email would prevent it. People asking me to do their work for > them, p!?ses me off. I would really like it if WRS didn't include > email addresses in there WindSurf search engine.] --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TRUE definition Date: Thu, 29 Nov 2001 09:26:52 +0100 From: Emmanuel Herbreteau Organization: SEPRO Robotique (BEP) Message-ID: <3C05F14C.A5884FA5@sepro-robotique.com> References: <9u2qjq$smr$1@plutonium.btinternet.com> David Laight wrote: > Actually you would be better off removing 'TRUE' and 'FALSE' (and 'OK', > 'ERROR' and 'NULL') from the entire source tree! > > The come into the same category as 'FOREVER' and (maybe) 'FUNCPTR', all Hi, I don't agree with you : a function (without source code, ie : most part of VxWorks) which returns OK or ERROR is much more user friendly (and much less confusing) than a function which returns 0 or 1. What does it mean "0 or 1" ? Is "0" for "job done" ? Or "0" for "nothing done" ? An other example : I use to write #ifdef DEBUG ...debug code... #endif But someone else in the staff like to write : #ifndef NODEBUG ...debug code... #endif It works the same, but in a very different way of thinking. And no, "FOREVER" is not in the same category as "TRUE" and "FALSE". FOREVER and FUNCPTR are really stupid define because there is only one way to do FOREVER (for(;;) or while(1)) and FUNCPTR (void*). No need to use "define" to avoid confusion in those cases. Regards Emmanuel - -- Que vous soyez paranoiaque ne signifie pas qu'ils n'en aient pas après vous... --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TRUE definition Date: Thu, 29 Nov 2001 10:30:22 +0200 From: "Ofer Goren" Organization: Verio Message-ID: References: <9u2qjq$smr$1@plutonium.btinternet.com> <3c05eeed$0$230$4d4ebb8e@oce.news.eu.uu.net> answer embedded: - -- Ofer Goren Iamba Technologies "Manuel van den Berg" wrote in message news:3c05eeed$0$230$4d4ebb8e@oce.news.eu.uu.net... > Prepare to say 'I told you so' :-) > > The C language does not require an implementation to provide a define for > 'FALSE'. What IS defined is the result of conditional expressions. The only > useful definition of TRUE and FALSE is one that matches the results of > conditional expression. In the most portable form this is: > #define FALSE (1==0) > #define TRUE (1==1) > > You suggest that in conditional expression involving booleans, one should > always explicitly compare with FALSE only, not TRUE. > If I have a boolean, say b, I can simply say ' if (b) {} else {} '. > It makes no sense to explicitly compare with TRUE or FALSE; the 'if' > expects a truth value and b already IS a truth value. Sorry, but from point of "code-reading convineint" I disagree. The case of TRUE and FALSE are maybe easy, but what if you have a definition of FINE as 1, and a version later you wish to changed it to 0 (I've seen this happened). The easiest and more understanable way to do this is specificly write "if (a == FINE)", and not to expect the code reviewer/reader to understand. And it is much easier to change the value of "FINE" to something else in a later revisions. > > Two final questions: > > If you expect that VxWorks doesn't care about the actual values of TRUE > or FALSE, why does your software? I don't. All I want to make sure is that the vxWorks code uses FALSE as comparison and not "TRUE". So, I wish it was like "if (*hookRtnRetVal != FALSE){do something}" and not "if (*hookRtnRetVal == TRUE) {do something}", since as I said, the only real constant in C, is zero for FALSE expression. > > If someone instructs you to jump off a plane without a parachute, would > you do so? (And yes, the plane IS flying at 2km height of course.) Hey, don't get into personal issues here. It's nothing like that. If you jump off a plnae, you won't have the ability to tell the one who pushed you "I told you so". However, in this case, after long nights of debugging, I WILL have the ability.....:) > > Regards, > > Manuel > > > "Ofer Goren" wrote in message > news:newscache$kjming$8gf$1@lnews.actcom.co.il... > > well, as I said, this is not up to me. The fact is that I HAVE to change > > TRUE to -1. The only constant defined is C is 0 (zero) for FALSE. all > other > > are compiler dependent. I truly hope that the developers of vxWorks know > > this (and compare boolean expressions with FALSE), or I will have to tell > > someone "I told you so".... ;) > > > > > > > > -- > > Ofer Goren > > Iamba Technologies > > "David Laight" wrote in message > > news:9u2qjq$smr$1@plutonium.btinternet.com... > > > > > > > >I would like to change the definition of TRUE from 1 to -1 > > > > > > > > NO. Don't do that. > > > > > > Agreed... > > > > > > Actually you would be better off removing 'TRUE' and 'FALSE' (and 'OK', > > > 'ERROR' and 'NULL') from the entire source tree! > > > > > > The come into the same category as 'FOREVER' and (maybe) 'FUNCPTR', all > > > they do is obfuscate bits of the language and force people to scan > header > > > files for definitions. > > > > > > David > > > > > > > > > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: gcc 2.95.3 does not like \ (line continuation char) Help!!! Pls!!! Date: Thu, 29 Nov 2001 09:35:42 +0100 From: "Manuel van den Berg" Organization: Oce Nederland news service Message-ID: <3c05f31b$0$228$4d4ebb8e@oce.news.eu.uu.net> References: <52e25f45.0111281315.4a70be66@posting.google.com> Are you sure there are no characters after the '\'? I noticed that the gnu compiler has difficulties compiling files that contain both '\n' terminated and '\r\n' terminated lines. HTH Manuel "Vittal Krishnamurthy" wrote in message news:52e25f45.0111281315.4a70be66@posting.google.com... > Hi VxWorks gurus, > I have recently built cross > > I have a small problem with the 2.95.3 GCC cross compiler that I built > for vxWorks on RH 7.1 host and MIPS target. For some reason, the gcc > does not like line continuation char "\". It complains of parse > errors. Did I do anything wrong with my cross compilation. Do u have a > solution other removing the '\' and joining lines??? Is there some > switch I need to enable during cross compiler building ??? > Pls Help > > thanks > -Vittal --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Faster stat function? *OR* The stat implementation? (In a C/C++ program.) Date: Thu, 29 Nov 2001 10:58:04 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <9220e2a6.0111281540.61cf3f0b@posting.google.com> I doubt there can be any other way of determining a file's modification (or creation and access) date and time other then using fstat() or stat() functions. These functions could be a little slow, but this is not because much processing is needed, but because these functions need to access the hard disk to get the required information. In other words, to stat() a file takes tens of milliseconds, much like opening a file. HTH, - Leonid "Vito Pirelli" wrote in message news:9220e2a6.0111281540.61cf3f0b@posting.google.com... > Hello, > > I will need to determine the dates on thousands of files, the only way > of doing that that I can find is using the stat command. The problem > is that stat fills in a struct with a lot stuff that I don't need. > This grately slows down my program. > > > For this reason I'm looking for a better way or reading the date of > the file or the implemenation of the stat command so that I can remove > the code that doesn't pertain to the retrival of the date from the > file. > > Thanks in advance, > VP. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TFFS - flash file system Date: Thu, 29 Nov 2001 11:20:05 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <9u2v6q$g3j$1@newshost.mot.com> <488e459a.0111281120.765483ed@posting.google.com> <4bb6bae04a%molochai@vapour-trail.demon.co.uk> "molochai" wrote in message news:4bb6bae04a%molochai@vapour-trail.demon.co.uk... [snip] > > TFFS: re-write 512 bytes of flash. > > when is the directory entry updated to reflect the new file size? Perhaps > dosFs2 is smart enough to perform smaller-than-cluster operations. I will > check. > DosFs2 will allocate space in "cluster" or "Cluster groups" (see "Nearly Contigous allocation") but the I/O is done in sectors. Actually dosFs itself does I/O in bytes, but when that boils down to a Block driver, then the I/O is allways done at sector level, because that is the basic I/O unit of a block device. right? [snip] > > has 1MB flash sectors! Most > > flash I have worked with is 32 or 64Kb. The sector size may not > > matter that much, _DEPENDING_ on the algorithm[*]. Unfortunately, it > > says that TFFS implements wear leveling... just like vxWorks > > implements memory allocation. There are certainly better memory > > allocation algorithms that what vxWorks uses. > > It's a totally different type of problem to be honest. The allocation scheme > that dosFs2 uses is a much more pertinent issue. > Please do not confuse between DosFs2 space allocation and TFFS, which does its own space allocation - it can put a logical sector anywhere in the Flash, so it can do wear leveling. Where does a certain logical sector get placed is TFFS's own allocation scheme. [snip] Bill, I really dont remember much about TFFS, so I am not sure if I can help much here. I can say however that in FlashLib we did move "static" files around so that each erase block "erase counter" would not deviate from the average erase count by more then 10 erase cycles. Moving "static" data around does not only extend the life of the Flash in terms of erase cycles - it also makes rue that all data remains usable. Remember, the way Flash (like EPROM) keep a bit's value is by locking a charged cell in a layer of isolators. There are current leaks and external radiation which can (and do) cause these charges to gradually weaken in time. In othwe words, if you program a Flash and just keep it in a drawer, after a couple of years (or months if you are close to some kind of nuke) some of dta data will become corrupt. So to avoid loosing data files to leak currents and particles, we had the static files move around the Flash, whenever there was some write activity, keep erase count even, and refresh old data just in case it will be used again. Being on the subject, I actually know a compnay which had a similar "weak bits" problem causing loss of static files on a magnetic disk. They made a digital image recording machine for X-Ray rooms (much ambient radiation), so after a few years, the software image would become unreadbale, because it was not refreshed and the magnetic field had gradually degraded. Martin, I strongly recommend you sacrifice one board and to the end-of-life test that John has recommended. - - Leonid --------------------------- Newsgroups: comp.os.vxworks Subject: Need to develop small dialog based GUI Date: 29 Nov 2001 01:21:43 -0800 From: manibala@covansys.com (B.Manivannan) Organization: http://groups.google.com/ Message-ID: <23de5426.0111290121.594902cf@posting.google.com> Good Day To Every one, I need to develop the small GUI in Tornado IDE under VxWorks through Zinc 6.0.(Initially it is for Simulator, SIMNT) I downloaded the setup file and WindML 2.0, Zinc 6.0 Graphics library from the following URL: http://www.wrs.com/csdocs/partner/download/protowindml/. Even it was not giving WindML and Zinc menu under Tools in Tornado IDE. After one of our friend's suggestion, i installed Cumulative patch files from www.wrs.com. Then Tornado IDE gave Tools->WindML and Tools->Zinc. I was happy and ready to configure WindML and Zinc. I got error while configure the WindML. The Error was "No targets specifies and No make file found". After setting the following path in System environment, set WIND_BASE=N:\Tornado2 set WIND_HOST_TYPE=x86-win32 set PATH=%WIND_BASE%\host\%WIND_HOST_TYPE%\bin;%PATH% WindML builds successfully. But still the error occurs for Zinc. The Zinc error is "No rule to Make target,'configToolAppLibsClean'.stop" coming. How can i configure the zinc 6.0 successfully???? Once i design the GUI in Zinc Designer and generated the code. The Zinc designer generates the .cpp, .hpp, .inc files..i included .cpp file to the Tornado workspace. It automatically includes the .inc, .hpp files in the external library.Then i started compiling. If i create a downloadable application, it gives compiles successfully and gives download error while downloading to simulator.(Note: I have not set any path for the target server). If i create bootable image application, it gives compilation error. Can any one of you guide this problem????? With Thanks and Regards, B.Manivannan. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TRUE definition Date: Thu, 29 Nov 2001 10:26:56 +0100 From: patrick@hotmail.com Organization: Siemens Inc. Message-ID: References: <9u2qjq$smr$1@plutonium.btinternet.com> <3c05eeed$0$230$4d4ebb8e@oce.news.eu.uu.net> Reply-To: patrick@hotmail.com On Thu, 29 Nov 2001, Ofer Goren wrote: > Sorry, but from point of "code-reading convineint" I disagree. The case of > TRUE and FALSE are maybe easy, but what if you have a definition of FINE as > 1, and a version later you wish to changed it to 0 (I've seen this > happened). The easiest and more understanable way to do this is specificly > write "if (a == FINE)", and not to expect the code reviewer/reader to > understand. And it is much easier to change the value of "FINE" to something > else in a later revisions. You have this completely the wrong way round. If you write something like "if (a == FINE)", then you are expecting the code reviewer/reader to understand a whole lot more. If I read this I need to know firstly what the value of "a" is and secondly what the value of "FINE" is and if it is likely to change I need to stay current with the its definition. And hope that it has not been redefined by someone else. If I read something like "if (a)", I immediately know what this means. regards, Patrick --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TRUE definition Date: Thu, 29 Nov 2001 11:19:35 +0100 From: "Manuel van den Berg" Organization: Oce Nederland news service Message-ID: <3c060b72$0$228$4d4ebb8e@oce.news.eu.uu.net> References: <9u2qjq$smr$1@plutonium.btinternet.com> <3c05eeed$0$230$4d4ebb8e@oce.news.eu.uu.net> Hi Ofer, *snip* > > > > You suggest that in conditional expression involving booleans, one should > > always explicitly compare with FALSE only, not TRUE. > > If I have a boolean, say b, I can simply say ' if (b) {} else {} '. > > It makes no sense to explicitly compare with TRUE or FALSE; the 'if' > > expects a truth value and b already IS a truth value. > > Sorry, but from point of "code-reading convineint" I disagree. The case of > TRUE and FALSE are maybe easy, but what if you have a definition of FINE as > 1, and a version later you wish to changed it to 0 (I've seen this > happened). The easiest and more understanable way to do this is specificly > write "if (a == FINE)", and not to expect the code reviewer/reader to > understand. And it is much easier to change the value of "FINE" to something > else in a later revisions. I think it is a matter of taste. Any which way, it will work as the C compiler does almost no type checking. When I develop a program, I attempt to do it as 'type-safe' as possible. So besides the defines TRUE and FALSE, I also use a type BOOL or bool_t, that represents truth values. An 'if' expects a truth value, and bool_t is a truth value, so there is no need for a comparison. If you have a type (eg, status) with values FINE, COOL and CRAPPY, I would use a comparison before using it as a truth value. C does not prescribe it as it is only weakly typed, any typesafe language would require you to do this. But of course, that is only _my_ way of working, and everyone is allowed to have its own. > > If you expect that VxWorks doesn't care about the actual values of TRUE > > or FALSE, why does your software? > I don't. All I want to make sure is that the vxWorks code uses FALSE as > comparison and not "TRUE". So, I wish it was like "if (*hookRtnRetVal != > FALSE){do something}" and not "if (*hookRtnRetVal == TRUE) {do something}", > since as I said, the only real constant in C, is zero for FALSE expression. You cannot safely make this assumption. If you want to be sure, you can of course disassemble the VxWorks code that does this check and find out what comparison it performs, but you cannot rely on that: with a new patch, WindRiver might, in their almighty wisdom, decide to change the implementation such that your TRUE==-1 solution does not work anymore. So from a maintainability point of view, this is a very poor solution. > > If someone instructs you to jump off a plane without a parachute, would > > you do so? (And yes, the plane IS flying at 2km height of course.) > Hey, don't get into personal issues here. It's nothing like that. If you > jump off a plnae, you won't have the ability to tell the one who pushed you > "I told you so". However, in this case, after long nights of debugging, I > WILL have the ability.....:) Please don't jump off that plane. Your boss would still have his problem, and it gives a terrible mess when you come down ;-) I did not mean to offend you. The point I wanted to make is that there is always a 'no' - how difficult it might be. When faced with a stupid idea, I think it is our duty as software engineer to make clear that it _is_ indeed stupid - even if the idea is from your boss. I think a lot of arguments have already been given in this thread that you can use. Success, Manuel --------------------------- Newsgroups: comp.os.vxworks Subject: [OT] Re: TRUE definition Date: Thu, 29 Nov 2001 11:39:59 +0100 From: "Manuel van den Berg" Organization: Oce Nederland news service Message-ID: <3c06103a$0$218$4d4ebb8e@oce.news.eu.uu.net> References: <9u2qjq$smr$1@plutonium.btinternet.com> <3c05e7fd$0$225$4d4ebb8e@oce.news.eu.uu.net> <3C0609AF.9D9A9053@varndellengineering.com> *snip* > As such, there is no > ambiguity about whether or not 'if(0)printf("hello");' will print > "hello". > It will not. I disagree. Add the following define just before the if: #define if(a) if(!(a)) Insane? Yes. As is the redefinition of TRUE and FALSE. Manuel PS. I think the define would be nice for the obfuscated C code contest. Lemme think about a nice application :-) *snip* --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TFFS - flash file system Date: Thu, 29 Nov 2001 12:26:13 +0200 From: "Aharon Sheer" Organization: Motorola Message-ID: <9u52ga$mfu$1@newshost.mot.com> References: <9u2v6q$g3j$1@newshost.mot.com> <488e459a.0111281120.765483ed@posting.google.com> <4bb6bae04a%molochai@vapour-trail.demon.co.uk> Leonid - 1) Suppose the flash is written once. It is in a running system and its contents are copied to RAM for use. So the flash may be only read once every few years. Is there a chance that bits will be corrupted? 2) Suppose the flash is only written once, but it is read all the time. Is there a chance that bits will be corrupted over a period of years? Our systems must run untouched for 10 to 15 years. Aharon "Leonid Rosenboim" wrote in message news:newscache$w43kng$ioh$1@lnews.actcom.co.il... > > I can say however that in FlashLib we did move "static" files around so that > each erase > block "erase counter" would not deviate from the average erase count by more > then 10 > erase cycles. > Moving "static" data around does not only extend the life of the Flash in > terms of erase > cycles - it also makes rue that all data remains usable. Remember, the way > Flash (like EPROM) > keep a bit's value is by locking a charged cell in a layer of isolators. > There are current leaks > and external radiation which can (and do) cause these charges to gradually > weaken in time. > In othwe words, if you program a Flash and just keep it in a drawer, after a > couple of years > (or months if you are close to some kind of nuke) some of dta data will > become corrupt. > So to avoid loosing data files to leak currents and particles, we had the > static files move > around the Flash, whenever there was some write activity, keep erase count > even, and refresh > old data just in case it will be used again. > > Being on the subject, I actually know a compnay which had a similar "weak > bits" problem > causing loss of static files on a magnetic disk. They made a digital image > recording machine > for X-Ray rooms (much ambient radiation), so after a few years, the software > image would become > unreadbale, because it was not refreshed and the magnetic field had > gradually degraded. > > Martin, I strongly recommend you sacrifice one board and to the end-of-life > test that John has recommended. > > - Leonid > > --------------------------- Newsgroups: comp.os.vxworks Subject: what's the reason which will result in workQPanic? Date: 29 Nov 2001 03:29:16 -0800 From: kevinatnj@yahoo.com.cn (kewin) Organization: http://groups.google.com/ Message-ID: <221caa76.0111290329.12f02cb2@posting.google.com> Hi when i can debug ARM7TDMI bsp a problem met with me.My ethernet port driver process packet by the way of POLL. When I hook my board to our company local LAN,I got the following trouble,"workQPanic kernel work queue overflow".I don't know what the reasons will result in this kind of problem. Any advice will be welcome thanks kevin --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Changing MAC address? Date: Thu, 29 Nov 2001 11:48:43 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9u579m$b6n$1@neptunium.btinternet.com> References: > MAC address is unique to each ethernet card. Is it advisable to change > the MAC address? I have an application which calls for dynamically > changing the MAC address? I would like to know repercussions of doing > so? > if not why? According to 802.3 mac addresses that have the 02:00:00:00:00:00 bit set are 'locally administered' - so could be allocated to your system by your local network guys. In practise some ethernet card manufacturers use these addresses! Even so changing the MAC address after a system has been running for a while is (usually) not a good idea. I worked out how to persuade vxworks to return a modified MAC address to ARP requests in order to use the MAC address associated with the pcmcia card that had just been plugged in (far too hard to unplumb the interface when it is taken out - just marked 'down'). The only protocol I know that REQUIRES locally administered addresses is DECnet. If you are running ISO transport (without the ISO network layer) then packets are sent to the systems MAC address. If a board fails the replacement board has to use the same MAC address (or you have a lot of reconfiguring to do). If the MAC address PROM is socketed you may be able to transfer it (but don't bend its legs), otherwise you need to hide the 'dead' card and use it's address on the new card. There are also some trick that can be done with 'high availabity' dual servers where running them both with the same MAC address may help! David --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Thu Nov 29 06:52:09 2001 From: =?iso-8859-9?Q?Ali_=D6zdemir?= Date: Thu Nov 29 06:52:11 PST 2001 Subject: =?iso-8859-9?Q?VxWorks_=DDmage?= This is a multi-part message in MIME format. ------=_NextPart_000_00FF_01C178F5.F966F780 Content-Type: text/plain; charset="iso-8859-9" Content-Transfer-Encoding: quoted-printable Hello ; I want to boot a PC with VxWorks bootRom disket. And then I want to = continue to boot the PC with a VxWorks image in the hard disk. When I creating a VxWorks image for the first booting , I tried to = add IDE Harddisk driver (which is in VxWorks Tab = Hardware/peripherals/hard disks/ IDE hard drive )to the image but an = error arises and the added property becomes red color. It can be = included but results in a cotradiction. By the way I am using Tornado 2 = and VxWoks 5.4. Does anybody knows what causes this contradicition? Thanks Ali; ------=_NextPart_000_00FF_01C178F5.F966F780 Content-Type: text/html; charset="iso-8859-9" Content-Transfer-Encoding: quoted-printable
Hello ;
    I want to boot a PC = with VxWorks=20 bootRom disket. And then I want to continue to boot the PC with a = VxWorks image=20 in the hard disk.
    When I creating a = VxWorks image=20 for the first booting , I tried to add IDE Harddisk driver (which is in = VxWorks=20 Tab  Hardware/peripherals/hard disks/ IDE hard drive )to the image = but an=20 error arises and the added property becomes red color. It can be = included but=20 results in a cotradiction. By the way I am using Tornado 2 and VxWoks = 5.4. Does=20 anybody knows what causes this contradicition?
 
Thanks
 Ali;
------=_NextPart_000_00FF_01C178F5.F966F780-- From vxwexplo-errs@csg.lbl.gov Thu Nov 29 18:02:51 2001 From: lig Date: Thu Nov 29 18:02:54 PST 2001 Subject: How to add an ATM driver (follow the MUX interface standard) hello, i use Vxworks but it didn't has ATM drivers, i need to write an ATM driver follows the MUX standard,i want to know what shall i do to add an ATM driver to the vxworks system, which files i need to modified so that the system can "know" and "use" my ATM driver? if it's needed to modify the MIB2 related files? how? BR! ¡¡lig ¡¡lig@catt.ac.cn ¡¡¡¡¡¡2001-11-30 ¡¡¡¡¡¡¡¡ From vxwexplo-errs@csg.lbl.gov Thu Nov 29 19:28:23 2001 From: "Kamala K N" Date: Thu Nov 29 19:28:25 PST 2001 Subject: Re: VxWorks =?iso-8859-1?Q?=DDmage?= This is a multi-part message in MIME format. ------=_NextPartTM-000-f070e188-e509-11d5-a216-0000e22173f5 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi, Tornado 2.0 supports ATA harddisk, IDE harddisk is not supported. kamala ------=_NextPartTM-000-f070e188-e509-11d5-a216-0000e22173f5 Content-Type: text/plain; name="InterScan_Disclaimer.txt" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="InterScan_Disclaimer.txt" ------------------------------------------------------------------------------------------------------------------------- Information transmitted by this E-MAIL is proprietary to Wipro and/or its Customers and is intended for use only by the individual or entity to which it is addressed, and may contain information that is privileged, confidential or exempt from disclosure under applicable law. If you are not the intended recipient or it appears that this mail has been forwarded to you without proper authority, you are notified that any use or dissemination of this information in any manner is strictly prohibited. In such cases, please notify us immediately at mailto:mailadmin@wipro.com and delete this mail from your records. ---------------------------------------------------------------------------------------------------------------------- ------=_NextPartTM-000-f070e188-e509-11d5-a216-0000e22173f5-- From vxwexplo-errs@csg.lbl.gov Fri Nov 30 04:03:17 2001 From: Vxworks Exploder Date: Fri Nov 30 04:03:19 PST 2001 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Fri Nov 30 04:03:12 PST 2001 Subject: Re: TFFS - flash file system Subject: Re: how to delelte a IP address added by ifAddrAdd() Subject: Re: TRUE definition Subject: Re: makefile and linker problem Subject: END driver ethernet packet Subject: vxworks Subject: Re: VxWorks vulnerabilties ? Subject: Re: TRUE definition Subject: Converting from "file pointer" (fp) to "file description" (fd) Subject: Re: TFFS - flash file system Subject: Re: TFFS - flash file system Subject: Re: TRUE definition Subject: memory leak in ISR due to taskVarAdd() ?? Subject: Re: gcc 2.95.3 does not like \ (line continuation char) Help!!! Pls!!! Subject: Re: Target Server Console freezes after hitting Properties menu Subject: Re: Converting from "file pointer" (fp) to "file description" (fd) Subject: __get_eh_context called from ISR ?? Subject: Re: __get_eh_context called from ISR ?? Subject: Re: TRUE definition Subject: Tornado 2, PPC Cumulative Patch 4 Subject: Re: TRUE definition Subject: Re: TRUE definition Subject: GUI display on top of VxWorks ? Subject: Re: TRUE definition Subject: Thanks all of you Subject: Re: GUI display on top of VxWorks ? Subject: Re: Why is the IP stack ARPing my non-Ethernet interface? Subject: Could you tell me why it always restart the simulator? Subject: Re: Could you tell me why it always restart the simulator? Subject: Re: pci i/o address confliction? Subject: Re: TRUE definition ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: TFFS - flash file system Date: Thu, 29 Nov 2001 13:50:17 -0000 From: "David Laight" Organization: BT Internet Message-ID: <9u5ec5$i7t$1@neptunium.btinternet.com> References: <9u2v6q$g3j$1@newshost.mot.com> <488e459a.0111281120.765483ed@posting.google.com> <4bb6bae04a%molochai@vapour-trail.demon.co.uk> > when is the directory entry updated to reflect the new file size? Perhaps > dosFs2 is smart enough to perform smaller-than-cluster operations. I will > check. Does the TFFS layer check whether you are writing unchanged data, or whether (if appropriate for the flash chips) only converting 1's to 0's - in which case the existing sector can be updated. > > Almost certainly. You can get this down to clearing a few bits though, and > one mapping value. Most changes in sector mapping will (I guess) be done my changing the next entry in the map area from ffff:ffff to :. It may zero the old map for that sector. Only when the map is full does the map need to be erased and re-written (probably worth having 2 map areas...) > 32MB == Mega *bit* == 4 Mbyte. Note the capitalisation. The erase units are > still *huge* at 128Kb each. The fact that each erase probably takes half a second kills performance if you don't do something other than 128k read/modify/write cycles for a sector write. How many 128k erase units are you willing to hold buffered in main memory? [big snip] > > > If all your code does is write flash, I think > > DosFS would last about 24 days [assuming an infinite CPU speed ;-]. I remember reading a AMD serial EEPROM data sheet which quoted 10 years retention and 10^6 write cycles. It did point out that you probably didn't need 10 years retention on the cells you wrote 10^6 times - so in fact you could get away with many more erases - or a longer retention time. > > > You're maybe misunderstanding the timings. However, if the flash component > drivers are using taskDelay() in their delay loops, the performance is going > to suck, as some of the writes take considerably less than a kernel tick. > You could probably improve the performance of any flash based files system - - with or without a translation layer - by a few tweaks to the filesystem code. For instance (on a dos like fs): 1) treat direcetory entries that are all 0xff as unused. If a directory entry has to updated, overwrite one of the 'ff' entries and zero out the old one. 2) similarly for FAT entries - maybe ffff = unused, 7fff = end of chain. 3) add an 'erase' call along with 'read' and 'write' to the block driver interface. IF your system updates the existing sector when a write only changes a '1' to a '0', then you can make your log file only require a small number of erases... David --------------------------- Newsgroups: comp.os.vxworks Subject: Re: how to delelte a IP address added by ifAddrAdd() Date: Thu, 29 Nov 2001 14:11:44 GMT From: Victor Sperry Organization: Paradyne Message-ID: <3C06421F.2F7FB394@paradyne.com> References: <221caa76.0111281648.5655ff24@posting.google.com> kewin wrote: > > hi all > > I have added a new IP address to a ethernet interface.But now I > want to remove it.But I didn't find the *remove* or *delete* function > to be this function.Is there any other way to delete the IP address > without affectiong other ethernet interface. > > thanks > > kevin The vxWorks routing API sucks because it is buggy. I have had myriad problems with the mRoute* functions, so I refuse to use them anymore. ifAddrAdd works OK as long as you don't have any special needs. If you need to add an address to a point-to-point interface, for example, ifAddrAdd doesn't work. However, the underlying Berkeley API works just fine and is flexible and powerful. It's less user-friendly, but that's a small price to pay for gaining the advantage of having code that actually works. Here is an example of using the underlying API to implement the function that you need. And, yes, it is appalling that WRS did not supply a function that is orthogonal to ifAddrAdd. STATUS ifAddrDel(char *pDevName, char *pIfAddr) { int sockFd; int err; struct ifreq ifr; u_long ifAddr; /* * Convert string to int */ ifAddr = inet_addr(pIfAddr); bzero ( (char *)&ifr, sizeof( struct ifreq ) ); strcpy(ifr.ifr_name, pDevName); /* the interface address to delete is ifAddr */ ifr.ifr_addr.sa_len = sizeof( struct sockaddr_in ); ((struct sockaddr_in *)&ifr.ifr_addr)->sin_family = AF_INET; ((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr.s_addr = ifAddr; if( (sockFd = socket( AF_INET, SOCK_RAW, 0 )) == NULL ){ /* 2, 3, 0 */ printf("ifAddrDel: couldn't open socket\n"); return( ERROR ); } /* * SIOCDIFADDR can be found in sys/ioctl.h. This is: * Socket IOControl Delete InterFace ADDress * * ioctl returns 0 on success, error code on failure */ err = ioctl( sockFd, SIOCDIFADDR, (int)&ifr ); close( sockFd ); if( err ){ printf("ifAddrDel: ioctl failed with error %d\n", err); return( ERROR ); } return( OK ); } --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TRUE definition Date: Thu, 29 Nov 2001 14:20:23 +0000 (UTC) From: don@mars.dgrc.crc.ca (Donald McLachlan) Organization: The unconfigured xvnews people Message-ID: <9u5g77$e37$1@crc-news.crc.ca> References: Reply-To: don@mars.dgrc.crc.ca Interesting to see the reasons behind this. I've embedded some comments. In article , "Ofer Goren" writes: > > Well, yes, my Boss told me so. And he has some points on making it so: > > 1. When you look @ the memory, you will see 0xffffffff for -1. So when > dumping a memory, it is real clear when looking at TRUE as -1, and FALSE as > all zeros. 0 = false. Anything else = true. This is just a clear, IMHO, maybe even more so. If you were scrolling though pages of memory dumps, would you notice a single 0xfffffeff in the middle? Sidebar. My concern with explicit tests agains TRUE or FALSE is that you have created an indeterminate logic state. Independent of the value of TRUE or FALSE (as long as neither = 7), think of what can happen the following: a = 7; if (a == TRUE) printf("true,\n"); else if (a == FALSE) printf("false,\n"); else printf("unknown.\n"); If you stick to the following one can never get unknown (assuming a in not volatile) a = 7; if(a) printf("true,\n"); else if (!a) printf("false,\n"); else printf("unknown.\n"); > 2. If someone accidently used bitwise or (~) instead of (!) on a TRUE (-1) > value, they will both do the same (~-1 = 0x00000000, !-1 = 0x00000000), > while when dealing with TRUE as 1, both will have different results (~1 = > 0xfffffffe, !1 = 0). He claims that for true TRUE values, both bit wise and > logical 'not' should give the same result. OK, there is some reasonable rational to this. But the long and the short of it is your boss wants you to write code to protect a programmer who does not know the difference between ! and ~ from shooting himself in the foot. I'd tell the programmer to learn the syntax of the language. (Ya, I've been known to piss off my boss :-) > 4. He also qoute some kinf of a rule, that you should never ever ever > compare boolean expressions to nothing but FALSE. You shouldn't use TRUE > values, only as a return values or such. So there.... Others have said this is a matter of (personal) style ... maybe they are right. > 5. he will fire me if I wont do it.... he he he. And you know the status of > the hi-tech industry today..... and I have a kid to raise, and a wife to > support.......:(( :(( Do you get to fire him if/when it all breaks because of his silly decission? :-) - -- Donald McLachlan E-mail Donald.McLachlan@crc.ca Communications Research Centre / RNS Tel (613) 998-2845 3701 Carling Ave., Fax (613) 998-9648 Ottawa, Ontario K2H 8S2 Canada --------------------------- Newsgroups: comp.os.vxworks Subject: Re: makefile and linker problem Date: 29 Nov 2001 06:58:17 -0800 From: trosto@hotmail.com (Tal) Organization: http://groups.google.com/ Message-ID: <705c7b34.0111290658.1ee9af7a@posting.google.com> References: <705c7b34.0111280416.6bd18836@posting.google.com> Ofer, First, thanks. Second, I knew about the -I option but this doesn't solve the problem. I managed to find the solution myself, you have to add the variable VPATH in the macros tab and include all of your h files directories. Tal "Ofer Goren" wrote in message news:... > yup. > All you have to do: > 1. go to the workspace window, and press the 'builds' tab. Expand your > project name entry, and double click on the triangle icon. Press the 'C/C++ > compiler' tab, and add '-I' for each path you need to include .h files > from. > > > > -- > Ofer Goren > Iamba Technologies > > "Tal" wrote in message > news:705c7b34.0111280416.6bd18836@posting.google.com... > > Hi, > > > > I am using the Tornado with the GNU compiler. > > Sometimes, when I try to build my project I get an error message > > saying "no rule to make filename.o". > > It seems that the makefile dependencies do not know to find the h > > files which aren't in the project's folder but in other folder. > > In order to override the problem I delete the dependecies part of the > > makefile and build the project again. > > Did someone encountered this problem? > > Do you know how to define the path of the h files (for the linker) > > outside of the makefile? > > > > TIA, > > > > Tal --------------------------- Newsgroups: comp.os.vxworks Subject: END driver ethernet packet Date: 29 Nov 2001 07:01:57 -0800 From: aditi_kapoor@yahoo.com (aditi) Organization: http://groups.google.com/ Message-ID: <9ddca52f.0111290701.1d81e0f5@posting.google.com> Hello! I am working with an END driver, and I see that the packet I receive is the ethernet (and not ieee802.3) packet. 1. Is there any manner I can change the default settings to receive ieee 802.3 packets instead of ethernet packets. 2. I have not been able to understand what the following functions do: endEtherAddressForm endEtherPacketDataGet endEtherPacketAddrGet Please let me know what and when are these functions used. 3. As i understand the END driver is at the LLC level, because, MUX is above the Data link layer. Where then in the END driver are we adding teh 802.2 headers or the ethernet headers. Are they being added at the END driver level or above. I shall be grateful for any links on the same. Thanx Aditi --------------------------- Newsgroups: comp.os.vxworks Subject: vxworks Date: 29 Nov 2001 07:04:40 -0800 From: aditi_kapoor@yahoo.com (aditi) Organization: http://groups.google.com/ Message-ID: <9ddca52f.0111290704.590bab02@posting.google.com> Hello! I am working with an END driver, and I see that the packet I receive is the ethernet (and not ieee802.3) packet. 1. Is there any manner I can change the default settings to receive ieee 802.3 packets instead of ethernet packets. 2. I have not been able to understand what the following functions do: endEtherAddressForm endEtherPacketDataGet endEtherPacketAddrGet Please let me know what and when are these functions used. 3. As i understand the END driver is at the LLC level, because, MUX is above the Data link layer. Where then in the END driver are we adding teh 802.2 headers or the ethernet headers. Are they being added at the END driver level or above. I shall be grateful for any links on the same. Thanx Aditi --------------------------- Newsgroups: comp.os.vxworks Subject: Re: VxWorks vulnerabilties ? Date: Thu, 29 Nov 2001 16:00:05 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <3c054904$0$197$626a54ce@news.free.fr> Sidney wrote in message <3c054904$0$197$626a54ce@news.free.fr>... >Hello > >I am searching for an updated list of know vulnerabilities of VxWorks 5.4 >and especially concerning the network stack. > >Thank you It rather depends what CPU type you want to know about, doesn't it. Also, owing to the lack of memory protection - all tasks run in one memory space - you can't easily predict where their stacks will be or where the buffers you'd want to overflow might end up located in memory. Having said that, it's not the most stable of stacks and should keel over nicely under pretty much any kind of DoS / packet flood attack... DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TRUE definition Date: Thu, 29 Nov 2001 18:18:32 +0200 From: "Ofer Goren" Organization: Verio Message-ID: References: <9u5g77$e37$1@crc-news.crc.ca> anyway, I've opened a long and interesting discussion. Thanks all for your replies. When our product will be deleyed, at least I'll have my boss to blame....;) Thanks. - -- Ofer Goren Iamba Technologies "Donald McLachlan" wrote in message news:9u5g77$e37$1@crc-news.crc.ca... > > Interesting to see the reasons behind this. I've embedded some comments. > > > In article , "Ofer Goren" writes: > > > > Well, yes, my Boss told me so. And he has some points on making it so: > > > > 1. When you look @ the memory, you will see 0xffffffff for -1. So when > > dumping a memory, it is real clear when looking at TRUE as -1, and FALSE as > > all zeros. > > 0 = false. Anything else = true. This is just a clear, IMHO, maybe even more so. > If you were scrolling though pages of memory dumps, would you notice a single > 0xfffffeff in the middle? > > Sidebar. My concern with explicit tests agains TRUE or FALSE is that you have > created an indeterminate logic state. Independent of the value of TRUE or FALSE > (as long as neither = 7), think of what can happen the following: > > a = 7; > if (a == TRUE) > printf("true,\n"); > else if (a == FALSE) > printf("false,\n"); > else > printf("unknown.\n"); > > If you stick to the following one can never get unknown (assuming a in not volatile) > > a = 7; > if(a) > printf("true,\n"); > else if (!a) > printf("false,\n"); > else > printf("unknown.\n"); > > > > 2. If someone accidently used bitwise or (~) instead of (!) on a TRUE (-1) > > value, they will both do the same (~-1 = 0x00000000, !-1 = 0x00000000), > > while when dealing with TRUE as 1, both will have different results (~1 = > > 0xfffffffe, !1 = 0). He claims that for true TRUE values, both bit wise and > > logical 'not' should give the same result. > > OK, there is some reasonable rational to this. But the long and the short > of it is your boss wants you to write code to protect a programmer who does > not know the difference between ! and ~ from shooting himself in the foot. > I'd tell the programmer to learn the syntax of the language. (Ya, I've been > known to piss off my boss :-) > > > > > 4. He also qoute some kinf of a rule, that you should never ever ever > > compare boolean expressions to nothing but FALSE. You shouldn't use TRUE > > values, only as a return values or such. So there.... > > Others have said this is a matter of (personal) style ... maybe they are right. > > > > > 5. he will fire me if I wont do it.... he he he. And you know the status of > > the hi-tech industry today..... and I have a kid to raise, and a wife to > > support.......:(( :(( > > Do you get to fire him if/when it all breaks because of his silly decission? :-) > > > -- > Donald McLachlan E-mail Donald.McLachlan@crc.ca > Communications Research Centre / RNS Tel (613) 998-2845 > 3701 Carling Ave., Fax (613) 998-9648 > Ottawa, Ontario > K2H 8S2 > Canada > > --------------------------- Newsgroups: comp.os.vxworks Subject: Converting from "file pointer" (fp) to "file description" (fd) Date: 29 Nov 2001 08:35:55 -0800 From: slinshits@hotmail.co.il (Sagi Linshits) Organization: http://groups.google.com/ Message-ID: <4b460db0.0111290835.3455810d@posting.google.com> Hello all! I need a help how to convert from "file pointer" that usable for fseek function to "file descriptor" that usable for ioctl function. Thank you. Sagi. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TFFS - flash file system Date: Thu, 29 Nov 2001 17:59:37 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <9u2v6q$g3j$1@newshost.mot.com> <488e459a.0111281120.765483ed@posting.google.com> <4bb6bae04a%molochai@vapour-trail.demon.co.uk> <9u52ga$mfu$1@newshost.mot.com> "Aharon Sheer" wrote in message news:9u52ga$mfu$1@newshost.mot.com... > Leonid - > > 1) Suppose the flash is written once. It is in a running system and its > contents are copied to RAM for use. So the flash may be only read once > every few years. Is there a chance that bits will be corrupted? Yes, I beleive the charge will gradually leak, depending on ambient radiation levels, as well as other electromagnetic field. It could take from a few years to a few decades. I have seen a good description of this in an academic article about EPROMs. Flash use the same principle, but have a much thinner insulation layer. > 2) Suppose the flash is only written once, but it is read all the time. > Is there a chance that bits will be corrupted over a period of years? I do not see that there is a difference if the Flash is accessed for reading or not at all, In both cases the gate charge remains untouched, so the leakage process is not being reversed. > Our systems must run untouched for 10 to 15 years. To be on the safe side, I'd use PROMs (not OTP ROM), but depending on the environment, enclosure etc. this may work. You can pursue this by trying to get some guarantee from the manufacturer of the device and/or doing some accelerated testing yourself. In an accelerated test you should have an order of magnitude higher ambient radiation and EM, but you do need a true physisist to assit you calculating the actual amount of acceleration you are actually getting. Perhaps you could also try to cross post this on a semiconductor related newsgroup. Keep me posted on this, this is a very interesting subject to me. - - Leonid --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TFFS - flash file system Date: Thu, 29 Nov 2001 18:35:04 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <9u2v6q$g3j$1@newshost.mot.com> <488e459a.0111281120.765483ed@posting.google.com> <4bb6bae04a%molochai@vapour-trail.demon.co.uk> <9u5ec5$i7t$1@neptunium.btinternet.com> "David Laight" wrote in message news:9u5ec5$i7t$1@neptunium.btinternet.com... > > when is the directory entry updated to reflect the new file size? Perhaps > > dosFs2 is smart enough to perform smaller-than-cluster operations. I will > > check. > > Does the TFFS layer check whether you are writing unchanged data, or whether > (if appropriate for the flash chips) only converting 1's to 0's - in which > case the existing sector can be updated. This is most probably done in the MTD, assuming some chips can change an arbitrary bit from "1" to "0", others (theoretically) can't. Hence the upper layer has to leave this to the MTD to decide. I dont't remember TFFS source code well enough to say, but with breakpoints this is easy to verify even without the source. I'd say this is a "must have" feature. > > > > Almost certainly. You can get this down to clearing a few bits though, and > > one mapping value. > > Most changes in sector mapping will (I guess) be done my changing the next > entry in the map area from ffff:ffff to :. > It may zero the old map for that sector. Only when the map is full does the > map need to be erased and re-written (probably worth having 2 map areas...) > Actually, there is a map area in each erase block (EB), which pertains to the sectors within that erase block. When a sector is modified such that some bits change from "0" to "1", it is written to some other place on the Flash, which is all 0xFF, and the previous location gets invalidated by writing a 000 into the map cell. When all map cells in an EB are 000, then the is erased. If there are "some" sectors in an EB which are still valid, but there are not enough clean EBs (which are all FF), the still valid sectors, although unmodified, are moved elsewhere and the EB is erased. Some pre-defined amount of EBs will allways be clear, these are defined as "spare blocks" and not be used for data. > > 32MB == Mega *bit* == 4 Mbyte. Note the capitalisation. The erase units > are > > still *huge* at 128Kb each. > > The fact that each erase probably takes half a second kills performance > if you don't do something other than 128k read/modify/write cycles for > a sector write. How many 128k erase units are you willing to hold buffered > in main memory? You don't have EBs buffered in memory. Large EBs are bad news, because they mean more space will be left unused to maintain some "spare blocks". Erase time is indeed slow, 100-300milliseconds, but a good FFS will try to erase blocks in backkground so that writes can go ahead with no delay. Except of course if one modifies data continously, which is very slow. > > [big snip] > > > > > If all your code does is write flash, I think > > > DosFS would last about 24 days [assuming an infinite CPU speed ;-]. > > I remember reading a AMD serial EEPROM data sheet which quoted 10 years > retention and 10^6 write cycles. It did point out that you probably didn't > need 10 years retention on the cells you wrote 10^6 times - so in fact > you could get away with many more erases - or a longer retention time. This gets more interesting if you tru to dig deeper. Under which condition does the cell retain data for 10 years ? (in terms of erase count and environmental conditions) What happens to a cell which has been erased 10^6 times ? I had a hard time digging around for more info, and my best theory is that the retention time, which does depend on ambient environment, is reverse proportional to the current erase count of a cell. I.e. if a cell is erased many times, leak currents increased because the insulation layer deteriorates with every erase, and retention is reduced. > > > > > > You're maybe misunderstanding the timings. However, if the flash > component > > drivers are using taskDelay() in their delay loops, the performance is > going > > to suck, as some of the writes take considerably less than a kernel tick. > > > > You could probably improve the performance of any flash based files system > - with or without a translation layer - by a few tweaks to the filesystem > code. For instance (on a dos like fs): > 1) treat direcetory entries that are all 0xff as unused. If a directory > entry has to updated, overwrite one of the 'ff' entries and zero out > the old one. > 2) similarly for FAT entries - maybe ffff = unused, 7fff = end of chain. > 3) add an 'erase' call along with 'read' and 'write' to the block driver > interface. > TFFS is indeed aware of the FAT and DIR strictures of the file system above itself, but this is far from implementing all of these ideas. Also this awareness must be turned off if the file system diviates from the standard, e.g. when using VX_LONG file names. When a Flash-specific file system is designed, like the now discontinued FlashLib, it used all these ideas and much more. Here are some xamples: Flash memory can be accessed and modified at any granularity, hence there is really no need for sectors, why use 512 bytes for a 33 byte file ? The CPU can compress and decompress data much faster then the Flash write speed, even without erase, so if data is deflated before being written to Flash, write speed is increased. There is much more ... > IF your system updates the existing sector when a write only changes a '1' > to a '0', then you can make your log file only require a small number of > erases... > Actually you can FORCE the TFFS code to do this: you can pre-allocate the log files by writing a predetermined number of 0xFF bytes, and then write the data by modifying the file. - - Leonid --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TRUE definition Date: 29 Nov 2001 11:46:27 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: <9u2qjq$smr$1@plutonium.btinternet.com> Sender: bpringlemeir@DeadDuck >>>>> "Ofer" == Ofer Goren writes: Ofer> Well, yes, my Boss told me so. And he has some points on making Ofer> it so: Ofer> 1. When you look @ the memory, you will see 0xffffffff for Ofer> -1. So when dumping a memory, it is real clear when looking at Ofer> TRUE as -1, and FALSE as all zeros. TRUE Ofer> 2. If someone accidently used bitwise or (~) instead of (!) on Ofer> a TRUE (-1) value, they will both do the same (~-1 = Ofer> 0x00000000, !-1 = 0x00000000), while when dealing with TRUE as Ofer> 1, both will have different results (~1 = 0xfffffffe, !1 = Ofer> 0). He claims that for true TRUE values, both bit wise and Ofer> logical 'not' should give the same result. TRUE, but FALSE Ofer> 3. As you said: "Any operation receiving a boolean value should Ofer> accept any non-zero value of type int as a true value.". So, it Ofer> can get -1, 7, or 0x456fed as a non-false result. And yes, I do Ofer> claim that the ture's value is compiler and architecture Ofer> dependent. FALSE Ofer> 4. He also qoute some kinf of a rule, that you should never Ofer> ever ever compare boolean expressions to nothing but FALSE. You Ofer> shouldn't use TRUE values, only as a return values or such. So Ofer> there.... TRUE (see 3) Ofer> 5. he will fire me if I wont do it.... he he he. And you know Ofer> the status of the hi-tech industry today..... and I have a kid Ofer> to raise, and a wife to support.......:(( :(( VERY TRUE! This is an attempt at humour, and a very blatant waste of Usenet bandwidth. It can also serve as an example of excessive quoting and a somewhat atypical `me too' post. ciao, Bill Pringlemeir. - -- Semtex Panama Waco, Texas genetic FBI domestic disruption SEAL Team 6 Serbian Cocaine Albanian NORAD quiche Delta Force colonel ammunition vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html" --------------------------- Newsgroups: comp.os.vxworks Subject: memory leak in ISR due to taskVarAdd() ?? Date: 29 Nov 2001 09:20:09 -0800 From: sanjay.bhandari@cportcorp.com (Sanjay) Organization: http://groups.google.com/ Message-ID: Hi all Some help with this issue please. We are seeing some bizzare behavior throuh memScope where it shows that memory is continuously allocated each time a ISR is called. The stack is as follows: sysMpicIntHandler->dcpISR->__get_eh_context->eh_context_specific - ->taskVarAdd->malloc->memPartAlloc and sysMpicIntHandler->dcpISR->__get_eh_context->eh_context_specific - ->new_eh_context->malloc->memPartAlloc Any ideas? Thanks. Sanjay --------------------------- Newsgroups: comp.os.vxworks Subject: Re: gcc 2.95.3 does not like \ (line continuation char) Help!!! Pls!!! Date: Thu, 29 Nov 2001 16:40:59 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <52e25f45.0111281315.4a70be66@posting.google.com> Vittal Krishnamurthy wrote in message <52e25f45.0111281315.4a70be66@posting.google.com>... >Hi VxWorks gurus, >I have recently built cross > >I have a small problem with the 2.95.3 GCC cross compiler that I built >for vxWorks on RH 7.1 host and MIPS target. For some reason, the gcc >does not like line continuation char "\". It complains of parse >errors. Did I do anything wrong with my cross compilation. Do u have a >solution other removing the '\' and joining lines??? Is there some >switch I need to enable during cross compiler building ??? >Pls Help You must use Unix-style LF line ends on Linux systems. Your files must have the wrong kind of line ends, DOS-style CRLF. Put these two command lines into a text file called "dos2unix" in your /usr/bin directory: #!/bin/sh mv $1 $1.bak && tr -d '\015' <$1.bak >$1 && rm $1.bak (don't forget to chmod it executable) and then you can run it on a batch of .c files in your current directory like this: find . -name \*.c -exec dos2unix \{ \} \; DaveK - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Target Server Console freezes after hitting Properties menu Date: Thu, 29 Nov 2001 16:15:22 -0000 From: "Dave Korn" Organization: Lumber Cartel (tinlc) Members #2234-2237 (owing to browser refresh) Message-ID: References: <3bf195bb$0$11563$724ebb72@reader2.ash.ops.us.uu.net> <3c03e539$0$2424$4c41069e@reader0.ash.ops.us.uu.net> Mark Galecki wrote in message <3c03e539$0$2424$4c41069e@reader0.ash.ops.us.uu.net>... >Well, I could not diagnose the problem itself, with the FileMon, but this >software did reveal many interactions with the file system, which pointed me >to a workaround. It is excellent software. sysinternals are GODS! All the stuff on their site is absolutely excellent. > Thank you for pointing it out. > >What does "WDDTT" stand for (I could not find this acronym anywhere... ) ) > >Mark A man goes to the doctor. "Doctor", he says, "I suffer from this terrible pain in my arm." "Let's see," says the doctor, "what seems to be the cause of the pain?" "I'm not really sure," says the man, "but it hurts like hell whenever I do *this*". And he demonstrates by stretching and twisting his arm up behind his back in at an extremely awkward and uncomfortable angle. "Well," says the doctor, "Don't Do That Then." Next! DaveK [It's a traditional old joke. For more specimens, see http://www.google.com/search?hl=en&q=%22well+don%27t+do+that+then%22+doctor ] - -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Converting from "file pointer" (fp) to "file description" (fd) Date: Thu, 29 Nov 2001 17:56:43 +0000 (UTC) From: don@mars.dgrc.crc.ca (Donald McLachlan) Organization: The unconfigured xvnews people Message-ID: <9u5ssr$kti$1@crc-news.crc.ca> References: <4b460db0.0111290835.3455810d@posting.google.com> Reply-To: don@mars.dgrc.crc.ca fd = fileno(fp); - -- Donald McLachlan E-mail Donald.McLachlan@crc.ca Communications Research Centre / RNS Tel (613) 998-2845 3701 Carling Ave., Fax (613) 998-9648 Ottawa, Ontario K2H 8S2 Canada --------------------------- Newsgroups: comp.os.vxworks Subject: __get_eh_context called from ISR ?? Date: 29 Nov 2001 10:54:17 -0800 From: sanjay.bhandari@cportcorp.com (Sanjay) Organization: http://groups.google.com/ Message-ID: Hi all We are experiencing a memory leak in our system and memScope reveals that "__get_eh_context" is being called from the ISR which in turn calls taskVarAdd() repeatedly. This is the cause of the memory leak. Can anyone shed some light on what "__get_eh_context" is and why it gets called from the ISR? And why is there this problem with the memory leak? Thanks. Sanjay --------------------------- Newsgroups: comp.os.vxworks Subject: Re: __get_eh_context called from ISR ?? Date: 29 Nov 2001 15:11:34 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: Sender: bpringlemeir@DeadDuck >>>>> "Sanjay" == Sanjay writes: [snip] Sanjay> Can anyone shed some light on what "__get_eh_context" is and Sanjay> why it gets called from the ISR? And why is there this Sanjay> problem with the memory leak? "__get_eh_context" is an abbreviation for "get exception handler context". This will be called if you have C++ code, you are executing in an objects context and you have exception handling enabled. The code uses the `this' pointer and can setup RTTI (run time type identification) and other C++ facilities. You could use only Embedded C++ constructs and you will probably be ok. Alternatively, don't allocate any objects, even on the stack in your ISR. Object construction can call malloc and other routines that you shouldn't use. It will definitely setup an exception context so that if an exception is thrown, the object can be deleted. hth, Bill Pringlemeir. - -- Can Einstein exist? vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html" --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TRUE definition Date: Thu, 29 Nov 2001 13:01:02 -0800 From: Stephane Tiriac Organization: Alcatel USA, Inc. Message-ID: <3C06A20E.9BD66480@alcatel.com> References: <9u5g77$e37$1@crc-news.crc.ca> You're right ;o) the discussion is quite long for this tiny issue. According to the Boolean Algebra definition: Boolean algebra is a system of algebra (named after the mathematician who studied it, George Boole) based on only two numbers, 0 and 1, commonly thought of as ``false'' and ``true.'' it is impossible to affect -1 to true. The C language doesn't have the "bool" built-in type hence nor the true and false. Folks who used to program in other languages which have this type (Pascal, Ada, C++,...) like to define their own "bool" type and consequently the true and false constants. Anyway in C you can live just fine without. I think in your case is a bad idea to change the WindRiver's definition. But, no one can stop you. The C is great and permissible, is for that we all love it, and allows you to do daily almost everything you dreamt nightly. My humble advice is think twice before and read carefully the next very interesting white paper. http://mindprod.com/unmain.html Have fun, /stephane. --------------------------- Newsgroups: comp.os.vxworks Subject: Tornado 2, PPC Cumulative Patch 4 Date: Thu, 29 Nov 2001 21:59:52 GMT From: nunya Organization: Nunya Business Message-ID: <3C06AFD7.CB2C9D7A@nunya.com> Hi All: We've run into a problem with this patch. We have our own networking protocol stack that registers with the mux as Promiscuos (because of the well-known failures with Snarfing. ) Up to cumulative patch 2, this was working fine. With cumulative patch 4, however, our receive routine is never called. This makes it very difficult for our protocol stack to function efficiently. :-) Has anyone else run into this problem? Thanks! jlm@nospampeerless.com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TRUE definition Date: Thu, 29 Nov 2001 22:02:56 GMT From: hoh@invalid.invalid (Goran Larsson) Organization: [1] + 5934 done /bin/rm -rf ~/ & Message-ID: References: <9u5g77$e37$1@crc-news.crc.ca> <3C06A20E.9BD66480@alcatel.com> In article <3C06A20E.9BD66480@alcatel.com>, Stephane Tiriac wrote: > The C language doesn't have the "bool" built-in type hence nor the > true and false. Yes it does. The current C standard (ISO/IEC 9899:1999) says that the C language has a builtin type _Bool. The type _Bool is large enough to store the values 0 and 1. When any scalar value is converted to _Bool, the result is 0 if the value compares equal to 0; otherwise, the result is 1. The header defines a macro bool that expands to _Bool, a macro true that expands to 1, and a macro false that expands to 0. If anyone intends to use TRUE and FALSE-type macros they should probably think about using a stdbool.h header file with their own definition of bool, true, and false unless their compiler has been upgraded to the ISO/IEC 9899:1999 standard. - -- Göran Larsson hoh AT approve DOT se --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TRUE definition Date: Thu, 29 Nov 2001 15:16:26 -0800 From: Stephane Tiriac Organization: Alcatel USA, Inc. Message-ID: <3C06C1C9.D6C5A3E9@alcatel.com> References: <9u5g77$e37$1@crc-news.crc.ca> <3C06A20E.9BD66480@alcatel.com> Goran Larsson wrote: > Yes it does. > > The current C standard (ISO/IEC 9899:1999) says that the C language has > a builtin type _Bool. The type _Bool is large enough to store the > values 0 and 1. When any scalar value is converted to _Bool, the result > is 0 if the value compares equal to 0; otherwise, the result is 1. The > header defines a macro bool that expands to _Bool, a macro > true that expands to 1, and a macro false that expands to 0. Thanks pal. I missed this one. By the way could you, please remove the doubt. It is a real built-in or you have to include a header which defines a macro? Truly speaking I'm still at Kernighan & Ritchie age. I don't know how but this one refuses to get old. I think it'll bury me... ;o) /st --------------------------- Newsgroups: comp.os.vxworks Subject: GUI display on top of VxWorks ? Date: 29 Nov 2001 23:55:57 GMT From: Chris Smith Organization: Concentric Internet Services Message-ID: Hello, I'm wondering if someone can tell me of some products out there that would let me easily build a GUI frontend on top of VxWorks application. I'm developing on a PPC board and want to plot and display some program variables as the program is running. I've come across Tilcon which looks like what I'm looking for. Are there any other similar products out there to consider. TIA --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TRUE definition Date: Fri, 30 Nov 2001 03:39:24 GMT From: pkockritz@home.com (Pete Kockritz) Organization: Excite@Home - The Leader in Broadband http://home.com/faster Message-ID: References: <9u2qjq$smr$1@plutonium.btinternet.com> In article , "Ofer Goren" wrote: > 2. If someone accidently used bitwise or (~) instead of (!) on a TRUE (-1) > value, they will both do the same (~-1 = 0x00000000, !-1 = 0x00000000), > while when dealing with TRUE as 1, both will have different results (~1 = > 0xfffffffe, !1 = 0). He claims that for true TRUE values, both bit wise and > logical 'not' should give the same result. So, if folks can't use the correct operator, you'll end up with: complementMask = ! ( 1 << bitNumber ); of course, that ! should be a ~. Perhaps you can help with these macros: #define LOGICAL_NOT ! #define BITWISE_NOT ~ Of course, that assumes that everyone can remember what LOGICAL and BITWISE mean ;-) What about those pesky comparison operators, folks are always forgetting those: #define NE != #define EQ == #define LT < #define GT > (just kidding) Seriously, the most effective way to catch those kinds of errors is through code reviews. --------------------------- Newsgroups: comp.os.vxworks Subject: Thanks all of you Date: 29 Nov 2001 20:48:41 -0800 From: kevinatnj@yahoo.com.cn (kewin) Organization: http://groups.google.com/ Message-ID: <221caa76.0111292048.e80269b@posting.google.com> Hi all Thanks all of you for generous and hearted help that make me overtake so much difficulty. Thanks from the bottom of my heart. kevin --------------------------- Newsgroups: comp.os.vxworks Subject: Re: GUI display on top of VxWorks ? Date: 29 Nov 2001 21:30:34 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0111292130.108a0850@posting.google.com> References: Hello, Depends on what level of complexity you need... Wind offers WindML, Zinc and PJWorks (Java). There are others out there that could be ported to VxWorks easily (Qt/Embedded from http://www.trolltech.com springs to mind instantly). For more complex solutions, or just more portable ones, there is also an X server in the partner list, but I can't remember the company name (check in the TradeWinds book, or online). HTH, John... Chris Smith wrote in message news:... > Hello, > > I'm wondering if someone can tell me of some products out there that > would let me easily build a GUI frontend on top of VxWorks application. > I'm developing on a PPC board and want to plot and display some program > variables as the program is running. I've come across Tilcon which > looks like what I'm looking for. Are there any other similar products > out there to consider. > > TIA --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Why is the IP stack ARPing my non-Ethernet interface? Date: Fri, 30 Nov 2001 06:00:55 GMT From: Todd Sandor Organization: @home Message-ID: <3C0726B4.4DE481A1@rogers.com> References: With the newer vxWorks releases what matters is if the interface flag specifies broadcast or pointtopoint - you set this in your MUX driver. We're using Tornado 2.02 [NPT is integrated with T2.02] with patch 68322 [I believe that is the number - its the stack jumbo patch for the T2.02 release] and we developed a pointtopoint END driver that does not perform arps nor do we need a resolution function [there is nothing to resolve with a point to point interface/link]. What is important is whether your using a broadcast media and if a layer 2 address needs to be resolved - - if no layer 2 address needs to be resolved you could use a NPT type NPT driver - take another look at the NPT documentation is sections related to address resolution. VxWork release prior to 2.02 do, as Rich Williams specified, used the interface type, not the flags, to determine how to handle the device. Hope this helps... Jason Perron wrote: > Hi Everybody, > > I am using vxWorks version 5.4 and I'm trying to get an END driver > going for a non-ethernet interface. My problem is that the IP stack > is sending me ARP packets even though I have created a non-Ethernet > interface. > > I specify my interface type as "M2_ifType_other" in my END_MIB_INIT > call. > > First I tried setting the "IFF_NOARP" flag for the interface and my > driver still got Ethernet ARP packets. Next, I tried registering my > own arp resolve function using muxAddrResFuncAdd with the idea that > I'd just "fake out" the IP stack. That didn't work either, as my > "fake" arp resolve function never gets called. > > Has anybody else come across this problem? If so, how did you get > around it? If this is a vxWorks problem, does anybody know if this is > fixed in the NPT stuff? > > TIA, > > Jason --------------------------- Newsgroups: comp.os.vxworks Subject: Could you tell me why it always restart the simulator? Date: Fri, 30 Nov 2001 15:31:03 +0800 From: "zhaoyandong" Organization: Bentium Ltd. (CN99) Message-ID: <9u7dei$bqs$1@mail.cn99.com> Hi, I tested the following program, but when it runs, it always restart the simulator. Can anyone tell me why? Any suggestion is welcomed. Thanks yandong zhao #include "vxWorks.h" #include "stdio.h" #include "taskLib.h" #include "wdLib.h" void int1(); void int2(); void int3(); void int4(); void taskmain(); int task1,task2,task3,task4; void progstart() { task1=taskSpawn("ttask",200,VX_FP_TASK,10000,(FUNCPTR)int1,0,0,0,0,0,0,0,0,0 ,0); task2=taskSpawn("ttask",200,VX_FP_TASK,10000,(FUNCPTR)int2,0,0,0,0,0,0,0,0,0 ,0); task3=taskSpawn("ttask",200,VX_FP_TASK,10000,(FUNCPTR)int3,0,0,0,0,0,0,0,0,0 ,0); task4=taskSpawn("ttask",200,VX_FP_TASK,10000,(FUNCPTR)int4,0,0,0,0,0,0,0,0,0 ,0); } void int1() {WDOG_ID wid1; wid1=wdCreate(); wdStart(wid1,30,(FUNCPTR)taskmain,0); } void int2() { WDOG_ID wid2; wid2=wdCreate(); wdStart(wid2,30,(FUNCPTR)taskmain,0); } void int3() { WDOG_ID wid3; wid3=wdCreate(); wdStart(wid3,30,(FUNCPTR)taskmain,0); } void int4() { WDOG_ID wid4; wid4=wdCreate(); wdStart(wid4,30,(FUNCPTR)taskmain,0); } void taskmain() {int i; for(i=0;i<200;i++) printf("i am happy"); } --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Could you tell me why it always restart the simulator? Date: Fri, 30 Nov 2001 08:01:03 +0000 From: Hugh Duggan Organization: Lucent Technologies Message-ID: <3C073CBF.F49CD0DA@lucent.com> References: <9u7dei$bqs$1@mail.cn99.com> Probably because you are calling printf() in an interrupt handler [taskmain() calls printf(), and taskmain() is invoked from a watchdog timer callback function]. There are very few functions that can be called safely from an interrupt handler and printf() isn't one of them. Hugh - ----------------------------------------------------------------- - ----------------------------------------------------------------- - ----------------------------------------------------------------- - ----------------------------------------------------------------- - ----------------------------------------------------------------- zhaoyandong wrote: > > Hi, I tested the following program, but when it runs, it always restart the > simulator. Can anyone tell me why? Any suggestion is welcomed. > Thanks > > yandong zhao > void int1() > {WDOG_ID wid1; > wid1=wdCreate(); > wdStart(wid1,30,(FUNCPTR)taskmain,0); > } > void taskmain() > {int i; > for(i=0;i<200;i++) > printf("i am happy"); > } --------------------------- Newsgroups: comp.os.vxworks Subject: Re: pci i/o address confliction? Date: Fri, 30 Nov 2001 10:23:44 +0100 From: "Werner Schiendl" Message-ID: <3c0750e7$1@brateggebdc5.br-automation.co.at> References: <82f462ab.0111272306.691dd6be@posting.google.com> Hi, "Lee" wrote in message news:82f462ab.0111272306.691dd6be@posting.google.com... > Hi all > I'm new in vxworks. I write a cpci driver with x86 processor board > I can get pci config info as following: > base address 0 = 0xfe6fdf00 > base address 1 = 0x0000d801 > base address 2 = 0xff1e0008 > base address 3 = 0x0000df01 > as my pci board manaul said, the BAR 3 is application registers, > I can test it though write 0x01 to 0xdf22, the board led light one, > write 0x02, light two, etc. The problem is the board do not respond > after you did serveral operation. At this time, read from status register > (0x0000df21)value is 0xff. > I startup system in win2000, the device manager said there was address > confict about 0xdf00~0xdf3f. But there is no other device use it. Did you consider that some old style ISA devices need only decode 10 bit IO addresses? This makes your addressed effectively conflict with such devices on IO 0x300 - 0x33f. (The plug and play data of the devices contain information on whether they are decoded 10 or 16 bit, so Windows 2K is probably right with its assumption). hth Werner --------------------------- Newsgroups: comp.os.vxworks Subject: Re: TRUE definition Date: Fri, 30 Nov 2001 11:59:35 GMT From: hoh@invalid.invalid (Goran Larsson) Organization: [1] + 5934 done /bin/rm -rf ~/ & Message-ID: References: <3C06A20E.9BD66480@alcatel.com> <3C06C1C9.D6C5A3E9@alcatel.com> In article <3C06C1C9.D6C5A3E9@alcatel.com>, Stephane Tiriac wrote: > By the way could you, please remove the doubt. It is a real built-in or you > have to include a header which defines a macro? The type _Bool is a builtin. It is in the implementors namespace (the _) and could be added to the language without breaking any conforming program. The more "visually pleasing" bool, true, and false could not be added to the language without breaking conforming programs, so if you do want to use them you have to include the header . This header does not contain any magic, just a couple of macros like this: #ifndef __bool_true_false_are_defined #define bool _Bool #define true 1 #define false 0 #define __bool_true_false_are_defined 1 #endif All four defines are required by the standard. To start using while waiting for new compilers you only have to use something like this: #ifndef __bool_true_false_are_defined #define bool _Bool #define true 1 #define false 0 #define __bool_true_false_are_defined 1 typedef unsigned int _Bool; #endif You will not get the automatic store of 1 for all non-zero values to variables of the _Bool type, but it should be good enough until updated compilers are available. > Truly speaking I'm still at Kernighan & Ritchie age. I don't know how but > this one refuses to get old. I think it'll bury me... ;o) The C standard has changed quite a lot since K&R. You can buy the latest C standard for USD 18 in PDF format from the ANSI online bookstore. - -- Göran Larsson hoh AT approve DOT se --------------------------- End of New-News digest **********************