From vxwexplo-errs@csg.lbl.gov Wed Jan 1 04:03:11 2003 From: Vxworks Exploder Date: Wed Jan 1 04:03:13 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Wed Jan 1 04:03:09 PST 2003 Subject: Zinc Status Bar and Menu Bar Subject: Re: Zinc Status Bar and Menu Bar Subject: Re: where i can find the wind technical notes ? Subject: Re: timer_create and ERRNO = EMTIMERS Subject: [*HELP*] need windnet 802.11b's DDK header file Subject: Testing for VxWorks 860. I want to know real test process. Subject: Gigabit Ethernet on Motorola 5110 Subject: Re: where i can find the wind technical notes ? Subject: Fail to start device motfec0 Subject: serial communication on vxworks ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Zinc Status Bar and Menu Bar Date: 31 Dec 2002 04:01:39 -0800 From: technokiran@yahoo.com (Kiran Kumar) Organization: http://groups.google.com/ Message-ID: <552e79d.0212310401.7b509af5@posting.google.com> I am a newbie to zinc. Can anybody tell me how to capture events from the status bar. i.e. I would like to capture mouse clicks on the status bar and respond according to the position of the mouse click. Another problem is how to process user defined events sent from menu bar items? --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Zinc Status Bar and Menu Bar Date: 31 Dec 2002 11:51:18 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: <552e79d.0212310401.7b509af5@posting.google.com> Sender: bpringle@DeadDuck Kiran> Can anybody tell me how to capture events from the status Kiran> bar. i.e. I would like to capture mouse clicks on the status Kiran> bar and respond according to the position of the mouse click. Read the Zinc User's guide. Pay special attention to chapter 7, "Advanced customization of look and feel". The manual should be on your hard drive as $(WIND_BASE)/docs/pdf/Zinc/guide.pdf... WIND_BASE is usually "C:/Tornado" on Windows hosts. Kiran> Another problem is how to process user defined events sent Kiran> from menu bar items? See above. The section "object behavior" is especially relevant. hth, Bill Pringlemeir. - -- ATTACKED BY NETSCAPE. UNABLE TO USE RADIO. LEAVE BOAT. U-981. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: where i can find the wind technical notes ? Date: 29 Dec 2002 21:30:10 -0800 From: david_wilhardt@hotmail.com Organization: Newsguy News Service [http://newsguy.com] Message-ID: References: What are the details of your query? I can't seem to find any "technical notes" on Wind Surf (at least not by number). We should have better luck with a description of your problem/question. - -Dave In article , "Aaron says... > >You can get all the application notes and tech tips by logging into the >Online Support page (formerly Windsurf). > >"minskey73" wrote in message >news:aughif$8gv$1@mail.cn99.com... >> I need the wind technical note 126, where i can get it ? >> thanks a lot >> >> >> > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: timer_create and ERRNO = EMTIMERS Date: Mon, 30 Dec 2002 07:37:46 +0100 From: "Renee Teunissen" Organization: Wirehub! Internet, The Netherlands Message-ID: <1041230555.151946@newsreader2.wirehub.nl> References: <3E0777D4.40307@arcor.de> The amount of timers depend on the amount of watchdogs you can define. I never tried amounts upto 1000 timers, but we use about 100 - I think - on a intel platform. The compagny that hires me has the source of timerlib and I cant see any reasons why it should not work. Thou you should have enough memory to store all timer and watchdog info, which is about 100 bytes per timer, see struct TIMER in private/timerLibP.h for more info. You could do the same for private/wdogP.h (or something similar). As far as I can see - dont have the source of the watchdog code - I dont think VxWorks implemented the watchdogs with static arrays. As long as your timer_created does not return a NULL-pointer things should be OK - I guess. As you might found out, the timer and watchdog ID are the memory addresses their system structure is located. Therefore see the private/xxxP.h files for more info, thoses structres are mapped on thoses addresses. And you can access the members of that structure if you like. We did that some time ago to fix some timer issues :) Watchdogs are placed in a sorted queue, with the one with the smallest expired time (in ticks) on top. Every tick this queue is checked for expired timers. So I dont think timers will do you much harm. But take there time in CPU cycles if they expire. Remember that timers run in the context of the task that created them. If you delete or suspend this task, you can forget the timers created in it. The 100ms accurcy is depending on your sysClkRate, we like more accuracy and therefore use a clockrate of 1000. This gives us timers on a 1ms resolution with about 0.5 ms jitter. But one has to take into account that if a lot of timers expire at the (about) same moment, they will handled sequently. Haveing a clockRate of 1000 has mayor concequences for the possible uptime of your system. I have heart VxWorks might not like overruns of the tick timer. Have no proof of that and never tried to find it. By a clockrate of 1000 our system can run for about 25 days - which is far within our design criteria. Hope this helps you, Renee. "Ralf Hoppe" wrote in message news:3E0777D4.40307@arcor.de... > Hi, > > does anybody know how many timers i can create on a PPC system using the > function create_timer()? > Does VxWorks maintain a dynamic allocated timer list or holds the OS > only a static array (which consists of a free list and a list of > currently used timers)? How many timers make sense with respect to a > degrading system performance? > Is it possible to create 1000-2000 timers with a resolution of 100ms? > > Hope anyone can help me. The answer would be fundamental with respect to > the application design! > > And happy Christmas for all ... > > Bye, Ralf > --------------------------- Newsgroups: comp.os.vxworks Subject: [*HELP*] need windnet 802.11b's DDK header file Date: 29 Dec 2002 22:48:45 -0800 From: cc_zh@263.net (cc_zh) Organization: http://groups.google.com/ Message-ID: i need windnet 802.11b's DDK header file "wrn/wlan/wlanEnd.h" for building 802.1x, pls send to my email: cc_zh@263.net, thx and happy new year! --------------------------- Newsgroups: comp.os.vxworks Subject: Testing for VxWorks 860. I want to know real test process. Date: 29 Dec 2002 23:24:20 -0800 From: ywkwon@humantel.com (Kwon,YongWook) Organization: http://groups.google.com/ Message-ID: <76b199d8.0212292324.37db2314@posting.google.com> Thank you for your good answers. I asked VxWorks images to you a few days ago. But I don't know exactly what can I do for testing 860-VxWorks. I want to put rommable application into FLASH. I've got known VxWorks is different to pSOS environment. I did make every files.(bootrom, vxWorks, vxWorks_rom, etc.) Then How can I test with this files? I really want to know but I have no idea. I want to know what can I do after making bootable files from the beginning to end . I use mpc860, BDM(VisionClick). My board is ok for pSOS. No hardware errors are in it. My board has FLASH 8M SDRAM 32M NVRAM Serial Ethernet etc. I prepared my own board folders and all folders and modified source for my board specific. I already saw databook for vxWorks. But I can't catch good hint. I know this is not very difficult but I'm beginner so I'm confusing. --------------------------- Newsgroups: comp.os.vxworks Subject: Gigabit Ethernet on Motorola 5110 Date: Mon, 30 Dec 2002 08:54:33 GMT From: Randy Message-ID: If anybody is using a Gigabit ethernet on a Motorola 5110 (or similar style card) with good results (sustaining 60mb or better, actually has instructions on how to install and mod BSP, etc.), please post the card you using. Thanks Randy http://www.nova-sol.com Company is looking to hire people live or want to live in Hawaii --------------------------- Newsgroups: comp.os.vxworks Subject: Re: where i can find the wind technical notes ? Date: 30 Dec 2002 11:45:41 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: Sender: bpringle@DeadDuck >> "minskey73" wrote... >> I need the wind technical note 126, where i can get it? > In article , "Aaron says... > You can get all the application notes and tech tips by logging into the > Online Support page (formerly Windsurf). Dave> What are the details of your query? I can't seem to find any Dave> "technical notes" on Wind Surf (at least not by number). We Dave> should have better luck with a description of your Dave> problem/question. I have an "appnote126.pdf" that is entitled "PCI Configuration For BSP Developers". However, I would not want to give this to anyone as I don't think the terms of the WindSurf agreement allow for this. minskey73 should get his company to pay for WindSurf support or ask his feild engineer if he/she would be kind enough to supply the document. fwiw, Bill Pringlemeir. - -- Let me tell you something, you coward, all black dudes should get sexist jokes . You make me sick. --------------------------- Newsgroups: comp.os.vxworks Subject: Fail to start device motfec0 Date: 31 Dec 2002 01:37:03 -0800 From: eddie_chou@comxion.com.tw (Eddie Chou) Organization: http://groups.google.com/ Message-ID: I am trying to use MPC857T fast ethernet port. And my BSP is ADS860. When i boot from rom-based vxworks. But i always got "Fail to start device motfec0". I have tried to modify FEC_LOAD_STRING. But it still have the same problem. Someone can help me? The second. motCpmAddr in vxworks reference manual is known as the "dual ported RAM base address". But FEC parameter RAM offset in MPC857T is 0xE00 from IMMR. Which address is correct? Thanks Eddie --------------------------- Newsgroups: comp.os.vxworks Subject: serial communication on vxworks Date: 31 Dec 2002 22:42:00 -0800 From: forvxworks@rediffmail.com (Anand) Organization: http://groups.google.com/ Message-ID: Hi All, HAPPY NEW YEAR TO ALL. About my problem, i want to do serial communication using the COM port of the computer. i am able to write a program to open the com port as "/tyCo/0" and also write a character and also recieve the same at the other end (program for serial communication running on DOS on another PC). now my problems are... 1). i want to send float/double/int data on this com port under vxworks. how do i do it?? 2). i want to read the contents of the various registers like LSR(line status register), MCR (modem control register), etc. how do i do it?? under DOS i used to do port_address+x , where 'x' determined what register i read. how is it done under vxworks?? 3). i have a program running under DOS which recieves the data (float/double/character) from another computer running on vxworks. but when i send any data , the data ready interrupt is not generated at the reciever end under DOS. what is the problem?? how do i do it?? Thanks in advance, Anand. --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Fri Jan 3 04:03:26 2003 From: Vxworks Exploder Date: Fri Jan 3 04:03:28 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Fri Jan 3 04:03:23 PST 2003 Subject: Re: Looking for training/reference material for VxWorks Subject: Re: serial communication on vxworks Subject: Re: Fail to start device motfec0 Subject: SingleStep with VisionProbeII Subject: Re: where i can find the wind technical notes ? Subject: Streaming pipes? Subject: Sales People needed - Embedded Software Subject: Re: where i can find the wind technical notes ? Subject: Trying to use _func_logMsg send debug message to serial port Subject: Re: How to remove a "stuck" directory. Subject: Re: How to remove a "stuck" directory. Subject: Re: How to remove a "stuck" directory. Subject: Re: Trying to use _func_logMsg send debug message to serial port Subject: Re: How to remove a "stuck" directory. Subject: Re: How to remove a "stuck" directory. Subject: nfsMount and Solaris 8 Subject: Re: Copying multiple files in VxWorks Subject: 860 init code Subject: Re: DHCP Subject: Is this a bug about ccppc? Subject: Re: Is this a bug about ccppc? ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: Looking for training/reference material for VxWorks Date: Wed, 01 Jan 2003 14:27:07 -0600 From: Joe Durusau Organization: WEBUSENET.com Message-ID: <3E134F1B.5060707@bellsouth.net> References: ¿Got Jazz? wrote: > Are there any good books / reference material / websites that I can get to > train myself on or familiarize myself with VxWorks? I can't afford the > classes right now ... > > Also, any training software would be great! > > Thanks! > > Jazz > > You might try the FAQ, but for really elaborate documenttion, you have to buy a copy of vxWorks/Tornado. It comes with documentation. If a big order is pending, you might get a trial versio from your local rep. Speaking only for myself, Joe Durusau --------------------------- Newsgroups: comp.os.vxworks Subject: Re: serial communication on vxworks Date: Wed, 01 Jan 2003 14:32:50 -0600 From: Joe Durusau Organization: WEBUSENET.com Message-ID: <3E135072.3040003@bellsouth.net> References: Anand wrote: > Hi All, > HAPPY NEW YEAR TO ALL. > > About my problem, i want to do serial communication using the > COM port of the computer. i am able to write a program to open the com > port as "/tyCo/0" and also write a character and also recieve the same > at the other end (program for serial communication running on DOS on > another PC). now my problems are... > > 1). i want to send float/double/int data on this com port under > vxworks. how do i do it?? > The genrally reccommended way is to convert to a string, send, convert back ont he other end. Anything else gets really nasty as soon as something changes on either end. > 2). i want to read the contents of the various registers like LSR(line > status register), MCR (modem control register), etc. how do i do it?? > under DOS i used to do port_address+x , where 'x' determined what > register i read. how is it done under vxworks?? > Look at the serial driver, it might be under some sort of IOCTL, or you might need to add it to the driver. Driver code is normally included in the BSP. > 3). i have a program running under DOS which recieves the data > (float/double/character) from another computer running on vxworks. but > when i send any data , the data ready interrupt is not generated at > the reciever end under DOS. what is the problem?? how do i do it?? > The problem is on the DOS end. You will need DOS programming info to solve. > Thanks in advance, > Anand. Speaking only for myself, Joe Durusau --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Fail to start device motfec0 Date: 1 Jan 2003 11:52:11 -0800 From: ryeung@earthlink.net (Raymond Yeung) Organization: http://groups.google.com/ Message-ID: References: eddie_chou@comxion.com.tw (Eddie Chou) wrote in message news:... > I am trying to use MPC857T fast ethernet port. And my BSP is ADS860. > When i boot from rom-based vxworks. But i always got "Fail to start > device motfec0". I have tried to modify FEC_LOAD_STRING. But it still > have the same problem. Someone can help me? > The two WRS ethernet drivers I worked with both have debug traces sprinkled all over the code. See if your driver have the same in about beginning of the C file. Turn it on to help you. The initialization may have failed either at the load or the start (more likely this latter one) routine. Get the source if you don't already have it. If you've an emulator, you may also set break points at both load/start routines and step through the execution. > The second. motCpmAddr in vxworks reference manual is known as the > "dual ported RAM base address". But FEC parameter RAM offset in > MPC857T is 0xE00 from IMMR. Which address is correct? Each MPC860 peripheral has a base address for its parameter RAM (I take it that ADS860 is an MPC860 board, and MPC857T is the PHY). If motCpmAddr is a variable, you may do lkup at the shell to get its value. > > Thanks > Eddie --------------------------- Newsgroups: comp.os.vxworks Subject: SingleStep with VisionProbeII Date: Thu, 02 Jan 2003 00:50:10 GMT From: "rob" Message-ID: <61MQ9.14490$vd6.3129024@news3.news.adelphia.net> Hello, I have a brand new set SingleStep with VisionProbe II emulator for sale, please drop me a mail if interested. Thanks. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: where i can find the wind technical notes ? Date: 1 Jan 2003 17:55:33 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0301011755.64ef1ed@posting.google.com> References: "minskey73" wrote in message news:... > I need the wind technical note 126, where i can get it ? > thanks a lot Download it here, as long as you have a WindSurf/Online Support account. If not, you'll have to talk to your local sales and field support folks to see if they can get it for you (or set you up with an account). http://www.windriver.com/windsurf/appnotes/ide/tornado/t2/APN126/appnote126.pdf HTH, John... --------------------------- Newsgroups: comp.os.vxworks Subject: Streaming pipes? Date: 01 Jan 2003 21:01:57 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: Sender: bpringle@DeadDuck There is a thread from June 2001 on comp.os.vxworks that is entitled "Redirecting stdout problems". One tactic discussed is to use memDrv and memory files to redirect the I/O to a file. Another method that David Laight suggest was to use a pipe. I was already trying this method, and I ran up against the message based vxWorks pipes. Does anyone know if there is a steamed based pipe driver implementation available anywhere? I think that this would be useful. It would also provide an example of a vxWorks device driver (ala Rubini's skull/scull in "Linux Device Drivers"). tia, Bill Pringlemeir. - -- A stranger will kiss you this week. Your efforts at using a Torx #9 wrench turn out to be futile. Your child will eventually reveal itself to be the mailman. You'll someday be broke. --------------------------- Newsgroups: comp.os.vxworks Subject: Sales People needed - Embedded Software Date: Thu, 2 Jan 2003 00:46:57 -0500 From: "ESR" Organization: MindSpring Enterprises Message-ID: Reply-To: "ESR" EmRep is a unique REP firm specializing in selling ONLY "embedded software products". These Got-to-have solutions are critical in getting OEM's to market in a cost effective and timely manner. Since these positions are 100% commission, we are searching for senior sales people interested in being paid for their sweat equity. We GUARANTEE that our commission plan is the largest in the industry. If you value your time, have a desire to be independent (be your own boss), and want to be paid based on your performance, please contact us immediately. Visit us at : www.emrep.com. Send your resume (MS Word format) to : hr@emrep.com. We currently have openings in : Southern CA, Northern CA, Colorado, Pacific NW, and the Southeast (though we will consider other locations based upon the quality of the candidate). Traditional Sales jobs are a dime a dozen, the opportunity to improve your quality of life, while generating incredible amounts of personal income are rare. Take advantage of this unique situation and contact us today!! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: where i can find the wind technical notes ? Date: Thu, 2 Jan 2003 17:35:44 +0800 From: "minskey73" Organization: Bentium Ltd. (CN99) Message-ID: References: <488e459a.0301011755.64ef1ed@posting.google.com> Thank you all, I just programming a BSP for MPC860. On the mainboard, there 's a QspanII , two am79c976(ethernet mac) and a PCI slot. I write the drivers for QspanII and am79c976. As you kown , the QspanII has only two target-image to enable mpc860 acess PCI space.So I initialize the one to let the mpc860 acess the PCI I/O space and the other to PCI memory space. Oh, the following is a piece of code in the function sysPciAutoConfig( ) : /*32-bit Non-prefetchable Memory Space*/ sysParams.pciMemIo32 = (PCI_MSTR_IO_LOCAL);//0x40000000 sysParams.pciMemIo32Size = PCI_MSTR_IO_SIZE; //128M /* 32-bit Prefetchable Memory Space */ sysParams.pciMem32 = PCI_MSTR_MEM_LOCAL; //0xc0000000 sysParams.pciMem32Size = PCI_MSTR_MEM_SIZE; //128M /* 32-bit PCI I/O Space */ sysParams.pciIo32 = PCI_MSTR_IO_LOCAL; //0x40000000 sysParams.pciIo32Size = PCI_MSTR_IO_SIZE; //128M As above, I allocate the same address space for "32-bit PCI I/O Space" and "32-bit Non-prefetchable Memory Space". It sames to work well. But when I insert a VoIP card(PCI ) into the PCI slot, the system allocate the 0x40000000 for the memory base address. I know the PCI memory space of am79c976 is prefetchable, and that of the Voip card is non-prefetchable,But what should do ? I look up all article in the news group, and know the WTN 49 and 126 maybe useful . Just so. thank you all, ChaohongGuo "John" ??????:488e459a.0301011755.64ef1ed@posting.google.com... > "minskey73" wrote in message news:... > > I need the wind technical note 126, where i can get it ? > > thanks a lot > > Download it here, as long as you have a WindSurf/Online Support > account. If not, you'll have to talk to your local sales and field > support folks to see if they can get it for you (or set you up with an > account). > > http://www.windriver.com/windsurf/appnotes/ide/tornado/t2/APN126/appnote126. pdf > > HTH, > > John... --------------------------- Newsgroups: comp.os.vxworks Subject: Trying to use _func_logMsg send debug message to serial port Date: 2 Jan 2003 09:27:39 -0800 From: eddie_chou@comxion.com.tw (Eddie Chou) Organization: http://groups.google.com/ Message-ID: Hi! Happy new year! I am porting Fast ethernet on MPC857T now. And i have checked motFecEnd.c. There are some code like #define MOT_FEC_LOG(FLG, X0, X1, X2, X3, X4, X5, X6) \ { \ if (motFecEndDbg & FLG) \ if (_func_logMsg != NULL) \ _func_logMsg (X0, X1, X2, X3, X4, X5, X6); \ } MOT_FEC_LOG (MOT_FEC_DBG_LOAD, ("motFecUnload... Done\n"), 1, 2, 3, 4, 5, 6); How can i turn it on this function and send all the message to serial port? My serial port connection is OK. Thanks very much eddie --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to remove a "stuck" directory. Date: 02 Jan 2003 13:01:34 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: Sender: bpringle@DeadDuck >>>>> "Gary" == bubbawho2002 writes: Gary> We have a phone system with VxWorks 5.3.1 on in and it is Gary> reporting some IO errors on a particular directory. When I Gary> try an delete it I get the following: -> rm "lwoodfor" value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f -> Gary> I don't have a heck of a lot of experience with VxWorks and Gary> the company that made this is long out of business so any help Gary> on how we could remove this file would be helpful. You should be able to type "ioHelp" for some information on the file system. Are you certain that you are in the directory where the file is located? Try the command "pwd", "ll", and "chkdsk". Depending on the version of the file system, the case of the file name might be important. hth, Bill Pringlemeir. - -- Hello, POLICE? I"ve got ABBOTT & COSTELLO here on suspicion of HIGHWAY ROBBERY!! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to remove a "stuck" directory. Date: 02 Jan 2003 13:11:25 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: Sender: bpringle@DeadDuck >>>>> "Gary" == bubbawho2002 writes: Gary> We have a phone system with VxWorks 5.3.1 on in and it is Gary> reporting some IO errors on a particular directory. When I Gary> try an delete it I get the following: -> rm "lwoodfor" value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f -> Gary> I don't have a heck of a lot of experience with VxWorks and Gary> the company that made this is long out of business so any help Gary> on how we could remove this file would be helpful. Bill> You should be able to type "ioHelp" for some information on the Bill> file system. Are you certain that you are in the directory Bill> where the file is located? Try the command "pwd", "ll", and Bill> "chkdsk". Bill> Depending on the version of the file system, the case of the Bill> file name might be important. Opps! I missed the title. If everything else is right, you need "rmdir" and not "rm". I think that this is standard *nix. Interesting that "ioHelp" didn't mention "rmdir", "mkdir", etc on my kernel. hth, Bill Pringlemeir. - -- Send your questions to ``ASK ZIPPY'', Box 40474, San Francisco, CA 94140, USA --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to remove a "stuck" directory. Date: 02 Jan 2003 14:39:08 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: Sender: bpringle@DeadDuck Gary> Thanks for the tip. We are definately at the right location Gary> for this (did a pwd to check). Tried rmdir and got this out: -> rmdir "lwoodfor" value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f Gary> Any other ideas we can try ? What does ll "lwoodfor" do when typed at the same place? Can you show the details on the file, like size, date, etc. You can try running "chkdsk 0,0" to see if the file system has any errors. You could also try, -> mkdir "myTest" -> ll -> pwd -> rmdir "myTest" and post the output. Try the same thing in a directory other than "lwoodfor"... these things will alter your disk (whatever it might be). It could be that the directory that "lwoodfor" is in has some sort of directory corruption, etc. The DosFs file system that comes with vxWorks is based on DOS FAT. Typing "devs" and posting that output might also be useful. If you have a hard disk, it could be removed and fixed on a PC. If you have flash (tffs), that would be worth knowing... as well as your CPU details. hth, Bill Pringlemeir. - -- Food is in the air. As Mercury moves into Leo, be careful of your relationship with your coworker. Don't let a wallflower eat worms with your abode. You will meet two other people put together this week. You'll soon be a Borg. Don't forget, it's only 366 days at most until Christmas. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Trying to use _func_logMsg send debug message to serial port Date: Thu, 02 Jan 2003 20:00:04 GMT From: "drdiags" Organization: AT&T Broadband Message-ID: <8T0R9.415469$GR5.132493@rwcrnsc51.ops.asp.att.net> References: Happy New Year Eddie, You could try changing the mocFecEndDbg value to one of several values that are set in the modFecEnd.h. Check to see what FLG is defined to in either the xxx.c or xxx.h file and the last item is to make sure the _func_logMsg pointer is set to logMsg. You shouldn't have to recompile, but may want to in case error messages are being printed before you can overtly change the above values to the ones you want during system startup. HTH. "Eddie Chou" wrote in message news:be349724.0301020927.49cf6569@posting.google.com... > Hi! Happy new year! > > I am porting Fast ethernet on MPC857T now. And i have checked motFecEnd.c. > There are some code like > > #define MOT_FEC_LOG(FLG, X0, X1, X2, X3, X4, X5, X6) \ > { \ > if (motFecEndDbg & FLG) \ > if (_func_logMsg != NULL) \ > _func_logMsg (X0, X1, X2, X3, X4, X5, X6); \ > } > > MOT_FEC_LOG (MOT_FEC_DBG_LOAD, ("motFecUnload... Done\n"), > 1, 2, 3, 4, 5, 6); > > > How can i turn it on this function and send all the message to serial port? > My serial port connection is OK. > > Thanks very much > eddie --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to remove a "stuck" directory. Date: 02 Jan 2003 14:50:27 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: Sender: bpringle@DeadDuck Gary> Thanks for the tip. We are definately at the right location Gary> for this (did a pwd to check). Tried rmdir and got this out: -> rmdir "lwoodfor" value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f Gary> Any other ideas we can try ? Bill> What does ll "lwoodfor" do when typed at the same place? Can Bill> you show the details on the file, like size, date, etc. You [snip] Now for something simple... If you have file in the directory you can not remove it. You have to use, -> cd "lwoodfor" -> xdelete "*.*" -> ll -> cd ".." -> rmdir "lwoodfor" The directory must be empty. This will destroy all of the files. You can use the command `copy "file"' to diplay a file. You can also make another directory and copy the files there for backup before deleting them. hth, Bill Pringlemeir. - -- BLU-97 A/B plutonium cypherpunk tempest class struggle secure Perl-RSA keyhole sweep militia MD2 IMF Leitrim freedom spies --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to remove a "stuck" directory. Date: Thu, 2 Jan 2003 17:49:21 -0500 From: "bubbawho2002" Organization: Posted via Supernews, http://www.supernews.com Message-ID: References: Reply-To: "bubbawho2002" Bill, I tried adding and removing a directory no problem there, I also tried the following : - -> pwd /hd0/shasta/usr/home value = 21 = 0x15 - -> ll "lwoodfor" Can't open "lwoodfor". value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f - -> cd "lwoodfor" value = 0 = 0x0 - -> ls Can't open ".". value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f - -> ll Can't open ".". value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f - -> Does VxWorks have a file repair utility such as Checkdsk ? I'd really like to avoid rebuilding this machine for a couple of bad files. Thanks, Gary "Bill Pringlemeir" wrote in message news:m2vg17ib5o.fsf@sympatico.ca... > > Gary> Thanks for the tip. We are definately at the right location > Gary> for this (did a pwd to check). Tried rmdir and got this out: > > -> rmdir "lwoodfor" > value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f > > Gary> Any other ideas we can try ? > > Bill> What does ll "lwoodfor" do when typed at the same place? Can > Bill> you show the details on the file, like size, date, etc. You > [snip] > > Now for something simple... If you have file in the directory you can > not remove it. You have to use, > > -> cd "lwoodfor" > -> xdelete "*.*" > -> ll > -> cd ".." > -> rmdir "lwoodfor" > > The directory must be empty. This will destroy all of the files. You > can use the command `copy "file"' to diplay a file. You can also make > another directory and copy the files there for backup before deleting > them. > > hth, > Bill Pringlemeir. > > -- > BLU-97 A/B plutonium cypherpunk tempest class struggle secure Perl-RSA > keyhole sweep militia MD2 IMF Leitrim freedom spies --------------------------- Newsgroups: comp.os.vxworks Subject: nfsMount and Solaris 8 Date: 2 Jan 2003 15:48:05 -0800 From: mynamvs@nsc.network.com (Venkat Mynampati) Organization: http://groups.google.com/ Message-ID: <65b2abfc.0301021548.233843d5@posting.google.com> Hi, I have a Solaris 8 box and i am trying to perform nfsMount("mySolarisHost","nfs_exported_filesystem","localFS_onvxworks") from my vxworks application. This call times out with RPC_lib timed out error. This only happens with Solaris 8 but is ok with Solaris 2.6/2.5. However, if i manually mount from vxWorks, the mount works. I am trying to find what's happening with this Solaris8 box. Could you help me out here with your ideas,suggestions etc. Regards, Venkat --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Copying multiple files in VxWorks Date: 2 Jan 2003 17:37:14 -0800 From: vdalal@hotmail.com (Vasu Dalal) Organization: http://groups.google.com/ Message-ID: <363d071b.0301021737.175b5c92@posting.google.com> References: <3E036AFD.7030505@yahoo.com> Hello Gregory : > Is there a shell command to copy multiple files from one location to > another similar to "copy *.* internal:" so all files in a directory are > copied to the internal device? We can only get the copy command to copy > one file at a time. We wrote this code for DOS 1.0. Ofcourse, it does NOT support wild-cards. It can ONLY do blind dir to dir copy. U can make the necessary defines to get it to compile. It works fine. Similarly, we have dirDelete() and some others. hth, vasu PS: [snip] int isFile (char* fileName) { struct stat fileStat; if (stat(fileName, &fileStat)!=ERROR) { if ((fileStat.st_mode & S_IFMT) == S_IFREG) return OK; else return ERROR; } else return ERROR; } int isDirectory (char* fileName) { struct stat fileStat; if (stat(fileName, &fileStat)!=ERROR) { if (S_ISDIR (fileStat.st_mode)) return OK; else return ERROR; } else return ERROR; } STATUS fileCopy (char* srcFileName, char* destFileName) { int writeFd = -1; int readFd = -1; int rv = ERROR; int bytes_read = 0; UINT32 nBytes = 0; int bytes_written = 0; char dataBuffer[MAX_DATA_BUF_SIZE]; if ((readFd = open(srcFileName, O_RDONLY, 0)) < 0) { printErr("Couldn't open source file = %s. errno = 0x%x\n",srcFileName,errnoGet()); goto done; } writeFd = creat(destFileName, O_RDWR); if ( ERROR == writeFd ) { printErr("Couldn't open destination file = %s. errno = 0x%x\n",destFileName,errnoGet()); goto done; } bytes_read = 0; nBytes = 0; printf("Copying %s -> %s\n",srcFileName,destFileName); while ( (bytes_read = read (readFd, dataBuffer, sizeof (dataBuffer)) ) > 0 ) { nBytes += bytes_read; bytes_written = write(writeFd, dataBuffer, bytes_read); if ( bytes_written < bytes_read ) { printErr("fileCopy() :: bytes_read = %d, ",bytes_read); printErr("fileCopy() :: bytes_written = %d\n",bytes_written); printErr("fileCopy() :: Bad write. errno = 0x%x\n",errnoGet()); goto done; } } printf("Number of bytes copied = %d.\n",nBytes); printErr("\n"); rv = nBytes; done: if (readFd > 0) close(readFd); if (writeFd > 0) close(writeFd); return rv; } /* end of fileCopy() */ STATUS dirCopy ( char* srcDirName_, char* destDirName_) { char srcDirName[DIRNAME_LENGTH+1]; char destDirName[DIRNAME_LENGTH+1]; char srcFileName[DIRNAME_LENGTH+FILENAME_LENGTH+1]; char destFileName[DIRNAME_LENGTH+FILENAME_LENGTH+1]; DIR *srcDirPtr = NULL; DIR *destDirPtr = NULL; struct dirent *srcDirEntry = NULL; int retVal = ERROR; printf("Entering dirCopy...\n\n"); printf("Opening src dir %s for reading...\n", srcDirName_); strncpy(srcDirName, srcDirName_, DIRNAME_LENGTH); srcDirName[DIRNAME_LENGTH] = '\0'; strncpy(destDirName, destDirName_, DIRNAME_LENGTH); destDirName[DIRNAME_LENGTH] = '\0'; if((srcDirPtr = opendir(srcDirName)) != NULL) { printf("Opening dest dir %s for reading...\n", destDirName); if((destDirPtr = opendir(destDirName)) != NULL) { while((srcDirEntry = readdir(srcDirPtr)) != NULL) { sprintf(srcFileName,"%s/%s",srcDirName,srcDirEntry->d_name); sprintf(destFileName,"%s/%s",destDirName,srcDirEntry->d_name); if ( 0 == isFile(srcFileName) ) { if ( ERROR == fileCopy(srcFileName,destFileName) ) { printf("ERROR :: Error copying src filename = %s to dest filename = %s\n",srcFileName,destFileName); goto done; } else { printf("Copying srcFile = %s to destFile = %s\n",srcFileName, destFileName); } } } /* end of while() */ } else { printf("ERROR :: dirCopy() :: opendir() failed! Dir name =%s.\n",destDirName); goto done; } } else { printf("ERROR :: dirCopy() :: opendir() failed! Dir name = %s.\n",srcDirName); goto done; } retVal = OK; done: closedir(srcDirPtr); closedir(destDirPtr); return retVal; } [snip] --------------------------- Newsgroups: comp.os.vxworks Subject: 860 init code Date: 2 Jan 2003 02:03:23 -0800 From: ywkwon@humantel.com (Kwon,YongWook) Organization: http://groups.google.com/ Message-ID: <76b199d8.0301020203.63eb925a@posting.google.com> Hello there. I do 860 board with vxWorks. my board works well for pSOS. I think my rominit.s code has some problem. can you check and tell me? Here is my psos init.s code and vxworks rominit.s code ############################################################################### psos init.s ############################################################################### #* @(#) pSOSystem PowerPC/V2.5.0: bsps/hics32/src/init.s 99/11/25 * #************************************************************************ # * # MODULE: bsps/hics/src/init.s * # DATE: 99/11/25 * # PURPOSE: Processor specific initialization module * # * #-----------------------------------------------------------------------* # * # COPYRIGHT 1991 - 1998, INTEGRATED SYSTEMS, INC. * # ALL RIGHTS RESERVED * # * # PERMISSION IS HEREBY GRANTED TO LICENSEES OF INTEGRATED SYSTEMS, * # INC. PRODUCTS TO USE OR ABSTRACT THIS COMPUTER PROGRAM FOR THE * # SOLE PURPOSE OF IMPLEMENTING A PRODUCT BASED ON INTEGRATED * # SYSTEMS, INC. PRODUCTS. NO OTHER RIGHTS TO REPRODUCE, USE, * # OR DISSEMINATE THIS COMPUTER PROGRAM, WHETHER IN PART OR IN * # WHOLE, ARE GRANTED. * # * # INTEGRATED SYSTEMS, INC. MAKES NO REPRESENTATION OR WARRANTIES * # WITH RESPECT TO THE PERFORMANCE OF THIS COMPUTER PROGRAM, AND * # SPECIFICALLY DISCLAIMS ANY RESPONSIBILITY FOR ANY DAMAGES, * # SPECIAL OR CONSEQUENTIAL, CONNECTED WITH THE USE OF THIS PROGRAM. * # * #-----------------------------------------------------------------------* # * # Revision History * # 1999/11/25 - Created by bugmaker (derived from HICS-8P) * # 2000/01/11 - SDRAM Initialization Routine Added (hics32) * # * #************************************************************************ .include "macros.ia" .include "powerpc/cpuarch.ia" .include "board.ia" #************************************************************************ # External function & variable definitions #************************************************************************ .extern ppcDECwr .extern Initial_Sp # Set Up Stack Area (ASM) .extern InitBoard # Initialize Board (C) .extern SysIcacheInhibit # Cache .extern SysDcacheInhibit .extern StartBss, FreeMemStart # Memory Region .extern _CpyDstBeg,_CpyDstEnd,_CpySrcBeg, BspBcopy #************************************************************************ # HdwInit: Do startup initialization that can't be done in C. * # * # SYNTAX: void HdwInit(void); * # NOTE: Called from "begin.s", Doesn't return. * # * #************************************************************************ # .text .section BOOT,,c .align 2 .globl HdwInit HdwInit: li r0, 0x0000 # R0 used 0-value operation #************************************************************************ # Set the MSR - machine check, privileged mode, disable interrupts * # disable address translation * #************************************************************************ LA r3, 0x00001002 # bl ppcMSRwr mtmsr r3 # MSR isync #************************************************************************ # Set the decrementer to a very high value * #************************************************************************ LA r3, DEC_MAX_COUNT # bl ppcDECwr .if MPC860_DCACHE_BUG mfspr r4, 568 andis. r4,r4,0x8000 # is DEN set beq 1f mfmsr r5 # get orginal MSR rlwinm r6,r5,0,17,15 # clear EE bit (bit 16) mtmsr r6 # disable external intr. li r4,0x2c00 stw r4,-4(sp) lwz r4,-4(sp) mtdec r3 mtmsr r5 # restore orginal MSR b next002 .endif 1: mtdec r3 next002: #************************************************************************ # Inhibit Instruction and Data caches, we'll enable it later if needed * #************************************************************************ # Disable Data Cache # bl SysDcacheInhibit1 # D cache inhibit mfspr r3, DC_CST LA r4, DC_CST_DEN and r4, r3, r4 # Is not Enabled cmpwi r4, 0x00 # beq done0 # #------------------------------------------------------------------------ # Load the cache with the data from the memory 0 to 4096 #------------------------------------------------------------------------ li r5, 0x00000000 # Load base address li r4, DCACHE_821 # 4 Kb data cache on 821 lbl00: lwz r3, 0(r5) # load data at address sync # complete the load addi r5, r5, 0x10 # add 16 to r5 cmplw r5, r4 # ble lbl00 # loop around until cache size isync # #------------------------------------------------------------------------ # Flush the cache for the memory 0 to 4096 #------------------------------------------------------------------------ li r5, 0x00000000 # Load base address lbl01: dcbf r0, r5 # flush the cache line addi r5, r5, 0x10 # add 16 to r5 cmplw r5, r4 # ble lbl01 # loop around until cache size isync # #------------------------------------------------------------------------ # Now, there are no dirty lines in the cache and we can disable the cache. #------------------------------------------------------------------------ mfspr r3, DC_CST # read DC_CST LA r4, DC_CST_DIS # Diable Cache or r4, r3, r4 sync mtspr DC_CST, r4 # Update DC_CST isync done0: #Disable Instruction Cache # bl SysIcacheInhibit1 # I cache inhibit mfspr r3, IC_CST LA r4, IC_CST_IEN and r4, r3, r4 cmpwi r4, 0x00 # Is it already OFF beq done10 # branch to done LA r4, IC_CST_DIS # Disable Cache or r4, r3, r4 mtspr IC_CST, r4 LA r4, IC_CST_IALL # Invalidate All or r4, r3, r4 mtspr IC_CST, r4 done10: #************************************************************************ # Initialize Core registers #************************************************************************ #************************************************************************ # MACHINE STATUS REGISTER (MSR): # - Machine Check Enable # - Recoverable Interrupt #************************************************************************ LA r3, MSR_VAL # in board.h mtmsr r3 mtspr SRR1, r3 #************************************************************************ # INSTRUCTION SUPPORT CONTROL REGISTER (ICTRL): # - Set Serialized Mode and No Show Cycle to work around some # CPU hardware bugs. In InitBoard() or bspcfg.c, set it to the # desired value # # Note this register is not writeable (write ignored) if the # BDM is used. #------------------------------------------------------------------------ li r3, 0x0003 # ICTRL = 0x0000 0003 mtspr ICTRL, r3 #------------------------------------------------------------------------ # DEBUG ENABLE REGISTER (DER): # - All debug interrupts are disabled # Note this register is not writeable (write ignored) if the # BDM is in use. #------------------------------------------------------------------------ addi r3, r0, 0 # DER = 0 mtspr DER, r3 #************************************************************************ # INTERRUPT CAUSE REGISTER (ICR): #************************************************************************ mfspr r3, ICR # Read ICR to clear it #------------------------------------------------------------------------ # This delay loop is used to wait all characters in serial port to be # sent out to avoid some garbage characters when we reset CPM. #------------------------------------------------------------------------ lis r3, 0x2 delay0: subi r3, r3, 1 cmpwi r3, 0 bne delay0 #************************************************************************ # INTERNAL MEMORY MAP REGISTER (IMMR): # - Upper 16bits of base address of the internal memory map. #************************************************************************ LA r3, S_REGISTER_BASE # in board.h (0xFF000000) mtspr IMMR, r3 # set IMMR or r4, r3, r0 # R4 = Content of IMMR = Memory Base #************************************************************************ # System Interface Unit (SIU) Module Configuration Register (SIUMCR) # # 0 000 xxxx 0 11 00 x 1 1 # EARB EARP DSHW DBGC DBPC FRC DLK # 0 0 1 0 10 0 1 0 0 0 0 xxxx # OPAR PNCS DPC MPRE MLRC AEME SEME BSC GB5E B2DD B3DD # #************************************************************************ lwz r3, SIUMCR(r4) # SIUMCR = The old value bitwize oris r3, r3, 0x0063 # ored with 0x00632100 ori r3, r3, 0x2100 stw r3, SIUMCR(r4) #************************************************************************ # System Protection Control Register (SYPCR) # # 0000000000000000 - SWTC # 00000000 0 xxx 0 0 0 0 # BMT BME SWF SWE SWRI SWP # #************************************************************************ LA r3, SYPCR_VAL # 0xFFFFFF00 stw r3, SYPCR(r4) #************************************************************************ # Unlock and Clear the Reset Status Register (RSR) #************************************************************************ LA r3, 0x55ccaa33 # Key to gain access to RSR stw r3, RSKR(r4) # Write key the Reset Status Key reg LA r3, 0x40000000 stw r3, RSR(r4) # Clear "External Soft Reset" bit #************************************************************************ # Enable Decrementer #************************************************************************ li r3, 0x0001 # TBSCR = 0x00c2 (16bit register) sth r3, TBSCR(r4) LA r3, 0x55ccaa33 # Unlock RTCSC stw r3, RTCSCK(r4) # RTCSCK = 0x55ccaa33 (32bit register) li r3, 0x0102 # RTCSC = 0x01c2 (16bit register) sth r3, RTCSC(r4) li r3, 0x0002 # PISCR = 0x0082 (16bit register) sth r3, PISCR(r4) li r3, 0x0000 # Clear SIMASK stw r3, SIMASK(r4) #************************************************************************ # Initialize Chip Select (BRx, ORx) # CS0 : Flash Memory (4M) # CS1 : SDRAM (16M) # CS2 : AC48104s (6 EA, each chip selection via XILINX) # CS3 : PM4351 COMET # CS4 : T8100A # CS5 : Control Register (XILINX) # CS6 : NV-RAM # CS7 : #************************************************************************ #------------------------------------------------------------------------ # Initialize Chip Select 0 for Flash Memory (4M bytes, GPCM) # Base Addr : 0x02800000 Port Size : 32 bit # Wait State : 3 ws /TA : Internal #------------------------------------------------------------------------ LA r3, BR0_VAL # in board.h stw r3, BR0(r4) LA r3, OR0_VAL # in board.h stw r3, OR0(r4) #------------------------------------------------------------------------ # Initialize Chip Select 2 for AC48104s (6 EA, Max 30ch) # Base Addr : 0x20000000 Port Size : 8 bit # Wait State : N/A /TA : External #------------------------------------------------------------------------ LA r3, BR2_VAL # in board.h stw r3, BR2(r4) LA r3, OR2_VAL # in board.h stw r3, OR2(r4) #------------------------------------------------------------------------ # Initialize Chip Select 3 for PM4351 (COMET) # Base Addr : 0x30000000 Port Size : 8 bit # Wait State : 3 ws /TA : Internal #------------------------------------------------------------------------ LA r3, BR3_VAL # in board.h stw r3, BR3(r4) LA r3, OR3_VAL # in board.h stw r3, OR3(r4) #------------------------------------------------------------------------ # Initialize Chip Select 4 for T8100A (H.100/110) # Base Addr : 0x40000000 Port Size : 8 bit # Wait State : N/A /TA : External #------------------------------------------------------------------------ LA r3, BR4_VAL # in board.h stw r3, BR4(r4) LA r3, OR4_VAL # in board.h stw r3, OR4(r4) #------------------------------------------------------------------------ # Initialize Chip Select 5 for Control Register (XILINX) # Base Addr : 0x50000000 Port Size : 8 bit # Wait State : 3 ws /TA : Internal #------------------------------------------------------------------------ LA r3, BR5_VAL # in board.h stw r3, BR5(r4) LA r3, OR5_VAL # in board.h stw r3, OR5(r4) #------------------------------------------------------------------------ # Initialize Chip Select 6 for NV-RAM # Base Addr : 0x60000000 Port Size : 8 bit # Wait State : 3 ws /TA : Internal #------------------------------------------------------------------------ LA r3, BR6_VAL # in board.h stw r3, BR6(r4) LA r3, OR6_VAL # in board.h stw r3, OR6(r4) #------------------------------------------------------------------------ # Initialize Chip Select 7 # Base Addr : 0x70000000 Port Size : 32 bit # Wait State : N/A /TA : #------------------------------------------------------------------------ LA r3, BR7_VAL # in board.h stw r3, BR7(r4) LA r3, OR7_VAL # in board.h stw r3, OR7(r4) #------------------------------------------------------------------------ # If we are not executing from the FLASH, skip Mem Controller RAM init #------------------------------------------------------------------------ bl locn00 # LR: current IP locn00: mflr r3 # r3: current IP rlwinm r3, r3, 8, 24, 31 # rotate left & mask 31-24 cmpwi r3, 0x02 # if 9 MSB = 0x02 -> Flash region bne skip_ram # if not flash, skip SDRAM Init. #------------------------------------------------------------------------ # Initialize SDRAM (16 MBytes, UPMB) - added by bugmaker (2000/01/11) # modified by bugmaker (2000/09/25) #------------------------------------------------------------------------ #----------------------------------------------------------------------------- # Set up the User Programmable Machine B, CS1, SDRAM #----------------------------------------------------------------------------- lis r5,UPMTable@ha ori r5,r5,UPMTable@l #----------------------------------------------------------------------------- # User Programmable Machine B - RAM Array writing #----------------------------------------------------------------------------- lis r6, 0x0080 ori r6, r6, 0x0100 # Write, UPMB, Addr 0 lis r7, 0x0080 ori r7, r7, 0x0140 # END of array address UPMB_write: lwz r3, 0(r5) # read data stw r3, MDR(r4) # store data at MD register stw r6, MCR(r4) # issue the command addi r5, r5, 4 # next entry in the table, bit-32 wide addi r6, r6, 1 # next MAD address cmp r6, r7 # finished yet? blt UPMB_write # branch if not #----------------------------------------------------------------------------- # User Programmable Machine Registers #----------------------------------------------------------------------------- addi r3, 0, 0x0400 sth r3, MPTPR(r4) # Memory Periodic timer prescaler register lis r3, 0xd090 # Machine A Mode Register ori r3, r3, 0x4114 # LA r3, 0xD0904114 stw r3, MBMR(r4) LA r3, OR1_VAL # in board.h stw r3, OR1(r4) LA r3, BR1_VAL # in board.h stw r3, BR1(r4) #----------------------------------------------------------------------------- # Initialization of SDRAM Mode Register after power-up #----------------------------------------------------------------------------- # lis r3, 0x8080 # Precharge the SDRAM # ori r3, r3, 0x2105 LA r3, 0x80802105 stw r3, MCR(r4) lis r3, 0x8080 # Refresh the SDRAM twice ori r3, r3, 0x2830 # LA r3, 0x80802830 stw r3, MCR(r4) lis r3, 0x2 delay2: subi r3, r3, 1 cmpwi r3, 0 bne delay2 lis r3, 0x0000 # load SDRAM Mode Register value into MAR ori r3, r3, 0x0088 # LA r3, 0x00000088 stw r3, MAR(r4) # lis r3, 0x8080 # Setting up SDRAM mode register # ori r3, r3, 0x2106 LA r3, 0x80802106 stw r3, MCR(r4) skip_ram: #------------------------------------------------------------------------ # Set the input clock multiplication factor #------------------------------------------------------------------------ lis r3, DEF_PLL_MULT # default PLL multiplication factor stw r3, PLPRCR(r4) # set the PLL register lis r3, 0x2 delay1: subi r3, r3, 1 cmpwi r3, 0 bne delay1 #-----------------------------------------------------------------------* # Copy DATA section from FLASH to RAM. * #-----------------------------------------------------------------------* LA r3, _CpySrcBeg # Address of Data section in FLASH LA r4, _CpyDstBeg # Address of Data Section in RAM LA r5, _CpyDstEnd subf r5, r4, r5 # r5: # bytes to copy ########################### # mflr r17 # Save Link register # bl BspBcopy # Copy Data section to RAM cmpwi r5, 0 # if length == 0 : All done beq done lbz r6, 0(r3) # Load first byte stb r6, 0(r4) # Store first byte aa00: addi r5, r5, -1 cmpwi r5, 0 # if length == 0 : All done beq done lbzu r6, 1(r3) # Load a byte with increment stbu r6, 1(r4) # Store a byte with increment b aa00 # while len != 0 Loop done: sync # mtlr r17 # Restore Link Register ########################### LA r3, StartBss # r3: address LA r4, FreeMemStart # r4: first address *not* to be cleared sub r4, r4, r3 # r4: length li r5, 0 # r5: value to store (0) ########################### # bl BspBfill # CLear Bss area cmpwi r4, 0 # if length == 0 : All done beq don stb r5, 0(r3) # Store first byte aa1: addi r4, r4, -1 cmpwi r4, 0 # if length == 0 : All done beq don stbu r5, 1(r3) # Store a byte with increment b aa1 # while len != 0 Loop don: sync ########################### LA r1, Initial_Sp # Set stack pointer subi r1, r1, 16 # need reserving 8 bytes for C mfmsr r3 ori r3, r3, 0x1000 mtmsr r3 # Enable machine-check exceptions bla InitBoard # Remainder of hardware init # b InitBoard # Remainder of hardware init blr # Never executed !!!! #----------------------------------------------------------------------- # UPM RAM Array Table "SDRAM in 50MHz Clock" #----------------------------------------------------------------------- UPMTable: # Single read. (offset 0) .long 0x1F07FC04, 0xEEAEFC04, 0x11ADFC04, 0xEFBBBC00, 0x1FF77C47 # Precharge Command (offset 0x05, use unused area) .long 0x1FF77C35 # MRS Command (offset 0x06, use unused area) .long 0xEFEABC34, 0x1FB57C35 # Burst read. (Offset 8) .long 0x1F07FC04, 0xEEAEFC04, 0x10ADFC04, 0xF0AFFC00 .long 0xF0AFFC00, 0xF1AFFC00, 0xEFBBBC00, 0x1FF77C47 .long 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF .long 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF # Single write. (Offset 0x18) .long 0x1F27FC04, 0xEEAEBC00, 0x01B93C04, 0x1FF77C47 .long 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF # Burst write. (Offset 0x20) .long 0x1F07FC04, 0xEEAEBC00, 0x10AD7C00, 0xF0AFFC00 .long 0xF0AFFC00, 0xE1BBBC04, 0x1FF77C47, 0xFFFFFFFF .long 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF .long 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF # Refresh cycle (offset 0x30) .long 0x1FF5FC84, 0xFFFFFC04, 0xFFFFFC04, 0xFFFFFC04 .long 0xFFFFFC84, 0xFFFFFC07, 0xFFFFFFFF, 0xFFFFFFFF .long 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF # Exception (offset 0x3C) */ .long 0x7FFFFC07, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF # End oF table indicator */ .long 0x00000000 ############################################################################### vxworks rominit.s ############################################################################### /* romInit.s - Motorola 860ads ROM initialization module */ /* Copyright 1984-1996 Wind River Systems, Inc. */ .data .globl copyright_wind_river .long copyright_wind_river /* modification history - -------------------- 01m,26jan99,cn added support for SDRAM (SPR# 24337). Also removed checks to BCSR2_DRAM_NO_EDO_L and BCSR2_DRAM_EDO_L as this bit is not actually implemented. 01l,09nov98,cn added support for FADS860T boards. 01k,30jul98,gls fixed to initialize CS0/CS1 earlier to allow access to BCSR3 01j,18feb98,gls added support for PPC823FADS 01i,23jun97,map fixed MAMR init for 16/32 DRAM [SPR# 8753] 01h,17dec96,tpr fixed MAMR init. bug with 16 and 32 Mbytes dram (SPR #7661) 01g,10nov96,tpr updated UPM table. removed RTCSC initialization. 01f,08nov96,tpr modified UPM table for EDO Dram @ 50 Mhz. 01e,06nov96,tpr replaced PLPRCR_MF_SFT by PLPRCR_MF_SHIFT. 01d,06nov96,tpr Clean up the code (SPR #7336). added DRAM speed selection (SPR #7335). 01c,24jun96,tpr Reworked all initialization code. 01b,04jun96,cah Add mem controller minimal init sequence 01a,19apr96,tpr written. */ /* DESCRIPTION This module contains the entry code for the VxWorks bootrom. The entry point romInit, is the first code executed on power-up. It sets the BOOT_COLD parameter to be passed to the generic romStart() routine. The routine sysToMonitor() jumps to the location 4 bytes past the beginning of romInit, to perform a "warm boot". This entry point allows a parameter to be passed to romStart(). */ #define _ASMLANGUAGE #include "vxWorks.h" #include "asm.h" #include "cacheLib.h" #include "config.h" #include "regs.h" #include "sysLib.h" #include "drv/multi/ppc860Siu.h" #define MBMR_DEFAULT_VALUE (MAMR_AMA_TYPE_0 | MAMR_DSA_1_CYCL | \ MAMR_G0CLA_A11 | MAMR_RLFA_1X | \ MAMR_WLFA_1X | MAMR_TLFA_1X) /* internals */ .globl _romInit /* start of system code */ .globl romInit /* start of system code */ /* externals */ .extern romStart /* system initialization routine */ .text .align 2 /****************************************************************************** * * romInit - entry point for VxWorks in ROM * * romInit * ( * int startType /@ only used by 2nd entry point @/ * ) */ _romInit: romInit: bl cold /* jump to the cold boot initialization */ bl start /* jump to the warm boot initialization */ /* copyright notice appears at beginning of ROM (in TEXT segment) */ .ascii "Copyright 1984-1996 Wind River Systems, Inc." .align 2 cold: li r3, BOOT_COLD /* set cold boot as start type */ /* * When the PowerPC 860 is powered on, the processor fletch the * instructions located at the address 0x100. We need to jump * from the address 0x100 to the Flash space. */ lis r4, HIADJ(start) /* load r4 with the address */ addi r4, r4, LO(start) /* of start */ lis r5, HIADJ(romInit) /* load r5 with the address */ addi r5, r5, LO(romInit) /* of romInit() */ lis r6, HIADJ(ROM_TEXT_ADRS) /* load r6 with the address */ addi r6, r6, LO(ROM_TEXT_ADRS) /* of ROM_TEXT_ADRS */ sub r4, r4, r5 /* */ add r4, r4, r6 mtspr LR, r4 /* save destination address*/ /* into LR register */ blr /* jump to flash mem address */ start: /* set the MSR register to a known state */ xor r4, r4, r4 /* clear register R4 */ mtmsr r4 /* cleat the MSR register */ /* DER - clear the Debug Enable Register */ mtspr DER, r4 /* ICR - clear the Interrupt Cause Register */ mtspr ICR, r4 /* * ICTRL - initialize the Intstruction Support Control register * */ lis r5, HIADJ(0x00000007) addi r5, r5, LO(0x00000007) mtspr ICTRL, r5 /* disable the instruction/data cache */ lis r4, HIADJ ( CACHE_CMD_DISABLE) /* load disable cmd */ addi r4, r4, LO (CACHE_CMD_DISABLE) mtspr IC_CST, r4 /* disable I cache */ mtspr DC_CST, r4 /* disable D cache */ /* unlock the instruction/data cache */ lis r4, HIADJ ( CACHE_CMD_UNLOCK_ALL) /* load unlock cmd */ addi r4, r4, LO (CACHE_CMD_UNLOCK_ALL) mtspr IC_CST, r4 /* unlock all I cache lines */ mtspr DC_CST, r4 /* unlock all D cache lines */ /* invalidate the instruction/data cache */ lis r4, HIADJ (CACHE_CMD_INVALIDATE) /* load invalidate cmd*/ addi r4, r4, LO (CACHE_CMD_INVALIDATE) mtspr IC_CST, r4 /* invalidate all I cache lines */ mtspr DC_CST, r4 /* invalidate all D cache lines */ /* * initialize the IMMR register before any non-core registers * modification. */ lis r4, HIADJ( INTERNAL_MEM_MAP_ADDR) addi r4, r4, LO(INTERNAL_MEM_MAP_ADDR) mtspr IMMR, r4 /* initialize the IMMR register */ mfspr r4, IMMR /* read it back, to be sure */ rlwinm r4, r4, 0, 0, 15 /* only high 16 bits count */ /* SYPCR - turn off the system protection stuff */ lis r5, HIADJ(0xFFFFFF88) addi r5, r5, LO(0xFFFFFF88) stw r5, SYPCR(0)(r4) /**********************/ /* CS0 - Flash Memory */ /**********************/ lis r5, HIADJ(0x02800001) addi r5, r5, LO(0x02800001) stw r5, BR0(0)(r4) lis r5, HIADJ(0xFF800950) addi r5, r5, LO(0xFF800950) stw r5, OR0(0)(r4) /**********************/ /* CS1 - SDRAM */ /**********************/ lis r5, HIADJ(0x000000C1) addi r5, r5, LO(0x000000C1) stw r5, BR0(0)(r4) lis r5, HIADJ(0xFE000A00) addi r5, r5, LO(0xFE000A00) stw r5, OR0(0)(r4) /**********************/ /* CS2 - VoPP(AC48X) */ /**********************/ lis r5, HIADJ(0x20000401) addi r5, r5, LO(0x20000401) stw r5, BR0(0)(r4) lis r5, HIADJ(0xFFF00D84) addi r5, r5, LO(0xFFF00D84) stw r5, OR0(0)(r4) /**********************/ /* CS3 - N/A */ /**********************/ lis r5, HIADJ(0x30000400) addi r5, r5, LO(0x30000400) stw r5, BR0(0)(r4) lis r5, HIADJ(0xFFFF8130) addi r5, r5, LO(0xFFFF8130) stw r5, OR0(0)(r4) /**********************/ /* CS4 - T8100A */ /**********************/ lis r5, HIADJ(0x40000401) addi r5, r5, LO(0x40000401) stw r5, BR0(0)(r4) lis r5, HIADJ(0xFFFF8748) addi r5, r5, LO(0xFFFF8748) stw r5, OR0(0)(r4) /**********************/ /* CS5 - Control Regs */ /**********************/ lis r5, HIADJ(0x50000401) addi r5, r5, LO(0x50000401) stw r5, BR0(0)(r4) lis r5, HIADJ(0xFFFF8720) addi r5, r5, LO(0xFFFF8720) stw r5, OR0(0)(r4) /**********************/ /* CS6 - NV-RAM */ /**********************/ lis r5, HIADJ(0x60000401) addi r5, r5, LO(0x60000401) stw r5, BR0(0)(r4) lis r5, HIADJ(0xFFFF8960) addi r5, r5, LO(0xFFFF8960) stw r5, OR0(0)(r4) /**********************/ /* CS6 - N/A */ /**********************/ lis r5, HIADJ(0x70000000) addi r5, r5, LO(0x70000000) stw r5, BR0(0)(r4) lis r5, HIADJ(0xFFF00508) addi r5, r5, LO(0xFFF00508) stw r5, OR0(0)(r4) /* set the SIUMCR register for important debug port, etc... stuff */ lis r6, HIADJ(0x00632100) addi r6, r6, LO(0x00632100) lwz r5, SIUMCR(0)(r4) or r5, r5, r6 stw r5, SIUMCR(0)(r4) /* TBSCR - initialize the Time Base Status and Control register */ lis r5, HIADJ( TBSCR_REFA | TBSCR_REFB) addi r5, r5, LO(TBSCR_REFA | TBSCR_REFB) sth r5, TBSCR(0)(r4) /* set PIT status and control init value */ li r5, PISCR_PS | PISCR_PITF sth r5, PISCR(0)(r4) /* set the SPLL frequency */ lis r5, HIADJ( (SPLL_MUL_FACTOR << PLPRCR_MF_SHIFT) | PLPRCR_TEXPS) addi r5, r5, LO((SPLL_MUL_FACTOR << PLPRCR_MF_SHIFT) | PLPRCR_TEXPS) stw r5, PLPRCR(0)(r4) /**********************/ /* SDRAM Initialize */ /**********************/ /* program the MPTPR */ li r6, 0x0400 sth r6, MPTPR(0)(r4) /* * initialize MxMR but don't enable refresh until after * SDRAM initialization. */ lis r6, HIADJ (0xD0904114) addi r6, r6, LO (0xD0904114) stw r6, MBMR(0)(r4) upmbInit: /* * load r6/r7 with the start/end address of the UPM table for an * SDRAM @ 50MHZ. */ lis r6, HIADJ( upmbTableSdram) addi r6, r6, LO(upmbTableSdram) lis r7, HIADJ( upmbTableSdramEnd) addi r7, r7, LO(upmbTableSdramEnd) /* init UPMB for memory access */ sub r5, r7, r6 /* compute table size */ srawi r5, r5, 2 /* in integer size */ /* convert UpmTable to ROM based addressing */ lis r7, HIADJ(romInit) addi r7, r7, LO(romInit) lis r8, HIADJ(ROM_TEXT_ADRS) addi r8, r8, LO(ROM_TEXT_ADRS) sub r6, r6, r7 /* subtract romInit base address */ add r6, r6, r8 /* add in ROM_TEXT_ADRS address */ lis r9, HIADJ (MCR_OP_WRITE | MCR_UM_UPMB | MCR_MB_CS0) addi r9, r9, LO(MCR_OP_WRITE | MCR_UM_UPMB | MCR_MB_CS0) UpmbWriteLoop: /* write the UPM table in the UPM */ lwz r10, 0(r6) /* get data from table */ stw r10, MDR(0)(r4) /* store the data to MD register */ stw r9, MCR(0)(r4) /* issue command to MCR register */ addi r6, r6, 4 /* next entry in the table */ addi r9, r9, 1 /* next MAD address */ addi r5,r5,-1 cmpwi r5,0 bne UpmbWriteLoop /* * Issue precharge command (PRCG) and wait the precharge time (t-rp). * Run precharge pattern from UPMB location 5. */ lis r5, HIADJ(0x80802105) addi r5, r5, LO(0x80802105) stw r5, MCR(0)(r4) /* run refresh pattern 8 times */ lis r5, HIADJ(0x80802830) addi r5, r5, LO(0x80802830) stw r5, MCR(0)(r4) /* * Configure the 32 bit address to be output on the address bus * if AMX = 0xb11. * See section 16.6.4.1 "Arm Words". The following values must * be placed on the defined SDRAM address pins: * A[9] = 0 burst write mode * A[6:4] = 010 cas latency of two * A[3] = 0 sequential mode * A[2:0] = 010 burst length 4 * * The address must be shifted left by 2 bits for 32 bit wide SDRAM... * (0b0100010 << 2) = 0x88 */ lis r5, HIADJ(0x00000088) addi r5, r5, LO(0x00000088) stw r5, MAR(0)(r4) /* * issue a mode register set (MRS) to initialize the SDRAM mode * register. This programs the burst length, CAS latency and * write mode. Run MRS pattern from UPMB location 6. */ lis r5, HIADJ(0x80802106) addi r5, r5, LO(0x80802106) stw r5, MCR(0)(r4) /* enable SDRAM refresh cycles */ lis r5, HIADJ (0xD0904114) addi r5, r5,LO (0xD0904114) stw r5, MBMR(0)(r4) /* initialize the stack pointer */ lis sp, HIADJ(STACK_ADRS) addi sp, sp, LO(STACK_ADRS) /* initialize r2 and r13 according to EABI standard */ #if FALSE /* SDA Not supported yet */ lis r2, HIADJ(_SDA2_BASE_) addi r2, r2, LO(_SDA2_BASE_) lis r13, HIADJ(_SDA_BASE_) addi r13, r13, LO(_SDA_BASE_) #endif /* go to C entry point */ addi sp, sp, -FRAMEBASESZ /* get frame stack */ /* * calculate C entry point: routine - entry point + ROM base * routine = romStart * entry point = romInit = R7 * ROM base = ROM_TEXT_ADRS = R8 * C entry point: romStart - R7 + R8 */ lis r6, HIADJ(romStart) addi r6, r6, LO(romStart) /* load R6 with C entry point */ sub r6, r6, r7 /* routine - entry point */ add r6, r6, r8 /* + ROM base */ mtlr r6 /* move C entry point to LR */ blr /* jump to the C entry point */ /* This 50 MHz SDRAM table is for... * 860EN Rev B.1 9829 and newer silicon * 860T Rev B.3 9832 and newer silicon * * This table will NOT work with older 860EN or 860T parts. */ upmbTableSdram: /* single read (offset 0x00 in upm ram) */ .long 0x1f07fc04, 0xeeaefc04, 0x11adfc04, 0xefbbbc00 .long 0x1ff77c47, 0x1ff77c35, 0xefeabc34, 0x1fb57c35 /* burst read (offset 0x08 in upm ram) */ .long 0x1f07fc04, 0xeeaefc04, 0x10adfc04, 0xf0affc00 .long 0xf0affc00, 0xf1affc00, 0xefbbbc00, 0x1ff77c47 .long 0xfffffc04, 0xfffffc04, 0xfffffc04, 0xfffffc04 .long 0xfffffc04, 0xfffffc04, 0xfffffc04, 0xfffffc04 /* single write (offset 0x18 in upm ram) */ .long 0x1f27fc04, 0xeeaebc00, 0x01b93c04, 0x1ff77c47 .long 0xfffffc04, 0xfffffc04, 0xfffffc04, 0xfffffc04 /* burst write (offset 0x20 in upm ram) */ .long 0x1f07fc04, 0xeeaebc00, 0x10ad7c00, 0xf0affc00 .long 0xf0affc00, 0xe1bbbc04, 0x1ff77c47, 0xfffffc04 .long 0xfffffc04, 0xfffffc04, 0xfffffc04, 0xfffffc04 .long 0xfffffc04, 0xfffffc04, 0xfffffc04, 0xfffffc04 /* refresh (offset 0x30 in upm ram) */ .long 0x1ff5fc84, 0xfffffc04, 0xfffffc04, 0xfffffc04 .long 0xfffffc84, 0xfffffc07, 0xfffffc04, 0xfffffc04 .long 0xfffffc04, 0xfffffc04, 0xfffffc04, 0xfffffc04 /* exception (offset 0x3C in upm ram) */ .long 0x7ffffc07, 0xfffffc04, 0xfffffc04, 0xfffffc04 upmbTableSdramEnd: - ------------------------------------------------------------------------- Constants are my board specific. So YOu don't mind. I want to know any boot process may be missed or not. CS#0 FLASH 8M CS#1 SDRAM 32M -> UPMB --------------------------- Newsgroups: comp.os.vxworks Subject: Re: DHCP Date: 2 Jan 2003 22:41:09 -0800 From: hotJacky@163.net (Bryan) Organization: http://groups.google.com/ Message-ID: <8f77d4a.0301022241.50f25671@posting.google.com> References: <8f77d4a.0212240415.6bc67aff@posting.google.com> Thank you all! --------------------------- Newsgroups: comp.os.vxworks Subject: Is this a bug about ccppc? Date: 2 Jan 2003 22:49:38 -0800 From: hotJacky@163.net (Bryan) Organization: http://groups.google.com/ Message-ID: <8f77d4a.0301022249.7fb81631@posting.google.com> When I compile a code in ppc as fallow: char cBlanceFlactor; if(-2 == cBlanceFlactor) { ... } The compiler give a warning: "warning: comparison is always 0 due to limited range of data type" If I compile this code in x86,this warning is not exist! So I think ccppc regard char as unsigned!But according ANSI C,char is equal to signed char.Is this a bug about ccppc? Sincerely, Bryan --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Is this a bug about ccppc? Date: Fri, 03 Jan 2003 09:35:47 GMT From: "J. J. Farrell" Organization: EarthLink Inc. -- http://www.EarthLink.net Message-ID: References: <8f77d4a.0301022249.7fb81631@posting.google.com> "Bryan" wrote in message news:8f77d4a.0301022249.7fb81631@posting.google.com... > When I compile a code in ppc as fallow: > char cBlanceFlactor; > if(-2 == cBlanceFlactor) > { > ... > } > The compiler give a warning: > "warning: comparison is always 0 due to limited range of data > type" > If I compile this code in x86,this warning is not exist! > So I think ccppc regard char as unsigned!But according ANSI C,char is > equal to signed char.Is this a bug about ccppc? It's a bug in your knowledge of ANSI C! The C Standard requires that each implementation defines whether "plain" chars are signed or unsigned - both are valid implementations. I guess that by default the PPC compiler has signed plain chars and the x86 has unsigned. If you want your code to be portable and want chars to hold negative values, explicitly use 'signed char'. Many compilers have an option to let you set whether "plain" chars are signed or unsigned. --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Sat Jan 4 04:03:13 2003 From: Vxworks Exploder Date: Sat Jan 4 04:03:15 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Sat Jan 4 04:03:11 PST 2003 Subject: Re: Memory controller or MMU which should be first in boot code Subject: How to remove a "stuck" directory. Subject: Re: Memory controller or MMU which should be first in boot code Subject: Re: How to remove a "stuck" directory. Subject: PC/104 Tri-M MZ104+ BSP Subject: dosfs2 and flock Subject: Re: Trying to use _func_logMsg send debug message to serial port Subject: Re: dosfs2 and flock Subject: Re: How to remove a "stuck" directory. Subject: Re: Trying to use _func_logMsg send debug message to serial port Subject: Re: Interrupt Stack Tracing....on MC68EN360 + VxWorks - help Subject: Re: Trying to use _func_logMsg send debug message to serial port Subject: Re: How to remove a "stuck" directory. ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: Memory controller or MMU which should be first in boot code Date: Fri, 3 Jan 2003 14:11:32 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <4cd6f00b.0301030326.2ec1fc24@posting.google.com> Reply-To: "Leonid Rosenboim" "MahendraReddyGuduru" wrote in message news:4cd6f00b.0301030326.2ec1fc24@posting.google.com... > hi all, > I have seen many BSPs ,which are initialising first Memory Controller > before to MMU initialisation. > AS memory controller address pointers are also part of memory,how > memory controller registers getting initialised before MMU > initialisation. > Thanks in advance for clarification These kind of questions never stop to amaze me - did you think that before the MMU is enabled, the CPU can not access memory ? How would you get to initialize the MMU ? If the CPU can't access memory, it can't read the instructions, it can't run software ! Prior to enabling MMU, memory access does work, as if Virtual = Physical addresses, and no access protection. The reason to initialize the memory controller first, is that you can only access ROM (and maybe some on-chip RAM) until the memory controller is initialized, and only after it is, you can use the DRAM. This is also the reason that memory controller initialization code is written in assembly in romInit.s, because code generated by the C compiler allwasy assumes it can access RAM and has a valid stack et al. - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com --------------------------- Newsgroups: comp.os.vxworks Subject: How to remove a "stuck" directory. Date: Thu, 2 Jan 2003 11:13:34 -0500 From: "bubbawho2002" Organization: Posted via Supernews, http://www.supernews.com Message-ID: Reply-To: "bubbawho2002" Hi, We have a phone system with VxWorks 5.3.1 on in and it is reporting some IO errors on a particular directory. When I try an delete it I get the following: - -> rm "lwoodfor" value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f - -> I don't have a heck of a lot of experience with VxWorks and the company that made this is long out of business so any help on how we could remove this file would be helpful. Thanks, Gary --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Memory controller or MMU which should be first in boot code Date: Fri, 03 Jan 2003 07:28:15 -0500 From: Varndell Engineering Organization: Posted Via Newsfeeds.com = SPEED+RETENTION+COMPLETION = http://www.newsfeeds.com Message-ID: <3E1581DF.3000905@hotmail.com> References: <4cd6f00b.0301030326.2ec1fc24@posting.google.com> MahendraReddyGuduru wrote: > hi all, > I have seen many BSPs ,which are initialising first Memory Controller > before to MMU initialisation. > AS memory controller address pointers are also part of memory,how > memory controller registers getting initialised before MMU > initialisation. During boot, it is generally assumed that the MMU is disabled and the CPU is executing in a real address, or untranslated, mode. A disabled MMU has no effect on the accessing of memory controller registers, which occupy some part of the CPU's physical address space. Regards, George Varndell - -- Varndell Engineering, LLC Embedded Systems Expertise Need a vxWorks END for National Semiconductor DP8382x GigE? http://www.varndellengineering.com - -----------== Posted via Newsfeed.Com - Uncensored Usenet News ==---------- http://www.newsfeed.com The #1 Newsgroup Service in the World! - -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =----- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to remove a "stuck" directory. Date: Fri, 3 Jan 2003 12:57:01 -0500 From: "bubbawho2002" Organization: Posted via Supernews, http://www.supernews.com Message-ID: References: Reply-To: "bubbawho2002" Hi Leonid, This is what I was able to retrieve for information on the version and the result of the lkup command: - -> lkup "chkdsk" value = 0 = 0x0 - -> version VxWorks (for PC 486) version 5.3.1. Kernel: WIND version 2.5. Made on Jul 31 2001, 18:10:53. Boot line: ata=(0,0):/ata0/vxWorks.st e=10.0.0.0:FFFFFF00 o=/hd0/shasta PRAXON PDX S/W version 2.0 (1.51) ST value = 7366696 = 0x706828 = _pxVersionString - -> "Leonid Rosenboim" wrote in message news:newscache$3ce58h$s8f$1@lnews.actcom.co.il... > Here are my observations: > > 1. You are running the old dosFs 1.0 (unknown patch level, if any) > 2. The failure to get "stat" unfo on the specific entry (which could be > either directory or file) with errno 0x16 (decimal 22) - EINVAL, and that > means something is wrong with that directory entry. Definitely something > that chkdsk would take care of. > > What has not been established is availability of chkdsk on your system - > with dosFs 1.0, chkdsk was not part of the package, it was a 3rd party > protuct until 1997 when the vendor was acquired by WindRiver, and then > ht was available from Wind River on an unsupported basis. > > In order to find if you have got it do: > > -> lkup "chkdsk" > > -- > ----------------------------------------------------------------------- > Leonid Rosenboim Visit: http://www.masada2000.org/historical.html > Consultant Email: my first name at consultant dot com > > > "bubbawho2002" wrote in message > news:v1be69ehflsp22@corp.supernews.com... > > Hi Leonid, > > There are files in the directory, however the os reports an IO error when > > you try to ll them: > > -> ll > > size date time name > > -------- ------ ------ -------- > > 512 JAN-02-2003 10:41:38 . > > 512 FEB-06-2106 01:28:53 .. > > 512 FEB-06-2106 01:28:33 admin > > 512 FEB-06-2106 01:28:33 DefaultCOS > > 512 FEB-06-2106 01:28:33 defDept > > 512 FEB-06-2106 01:28:33 ftp > > 512 FEB-06-2106 01:28:33 recept > > 512 MAR-11-2002 13:59:14 system > > 512 FEB-06-2106 01:28:36 vmail > > 512 FEB-06-2106 01:28:36 GGauvin > > 512 FEB-06-2106 01:28:37 SGauvin > > 512 FEB-06-2106 01:28:37 MPfiefer > > 512 FEB-06-2106 01:28:38 MAuxilia > > 512 FEB-06-2106 01:28:38 CompanyCOS > > 512 FEB-06-2106 01:28:38 fax0 > > 512 FEB-06-2106 01:28:38 opmh > > 512 FEB-06-2106 01:28:38 remoteAccess > > 512 FEB-06-2106 01:28:39 sales > > 512 FEB-06-2106 01:28:40 spackard > > 512 DEC-06-2002 10:19:41 customer > > 512 FEB-10-2002 15:34:14 kkenyon > > IO Error - can't stat file: errno = 0x16 > > 0 lwoodfor > > 512 SEP-10-2002 10:20:43 rfox > > value = 0 = 0x0 > > -> pwd > > /hd0/shasta/usr/home > > value = 21 = 0x15 > > -> rmdir "/hd0/shasta/usr/home/lwoodfor" > > value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f > > -> > > > > > > "Leonid Rosenboim" wrote in message > > news:newscache$ttz48h$dle$1@lnews.actcom.co.il... > > > > > > Isuggest you use a full path, that begins with the device name, > > > which appears in the output of the "devs" command, e.g. instead of > > > -> rmdir "/woodfor" > > > > > > you should do: > > > -> rmdir "/hd0/woodfor" > > > > > > Also, make sure the directory exists, and is empty, by listing it, again > > > using full path: > > > -> ll "/hd0/woodfor" > > > > > > If this does not work, you may want to take a look at the directory's > > > attributes - it could have bene marked read-only, this should be part of > > > "ll" output. > > > > > > And regarding "chkdsk", all you need to do is > > > -> chkdsk "/dh0" > > > > > > Fro the output of the above commands I could tell you more, e.g. which > > > version of dosFs you are using. > > > -- > > > ----------------------------------------------------------------------- > > > Leonid Rosenboim Visit: > http://www.masada2000.org/historical.html > > > Consultant Email: my first name at consultant dot > > com > > > > > > > > > "bubbawho2002" wrote in message > > > news:v18p4eo7ec6o50@corp.supernews.com... > > > > Hi, > > > > We have a phone system with VxWorks 5.3.1 on in and it is reporting > some > > > IO > > > > errors on a particular directory. When I try an delete it I get the > > > > following: > > > > -> rm "lwoodfor" > > > > value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f > > > > -> > > > > > > > > I don't have a heck of a lot of experience with VxWorks and the > company > > > that > > > > made this is long out of business so any help on how we could remove > > this > > > > file would be helpful. > > > > Thanks, > > > > Gary > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: PC/104 Tri-M MZ104+ BSP Date: 3 Jan 2003 13:32:00 -0800 From: gpbeck_99@yahoo.com (Gary Beck) Organization: http://groups.google.com/ Message-ID: I'm looking for a BSP for this board. It has the ZFx86 processor on board. I've downloaded the BSP from zfmicro.com, but I can't use it to create a new project. Any ideas? --------------------------- Newsgroups: comp.os.vxworks Subject: dosfs2 and flock Date: Fri, 3 Jan 2003 15:50:52 -0600 From: "Chris Richards" Message-ID: <3e160353$0$586$39cecf19@nnrp1.twtelecom.net> Does the dosfs2 filesystem support file locking? Thanks. /cjr --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Trying to use _func_logMsg send debug message to serial port Date: Sat, 04 Jan 2003 00:02:04 GMT From: "drdiags" Organization: AT&T Broadband Message-ID: <%vpR9.548776$WL3.147051@rwcrnsc54> References: <8T0R9.415469$GR5.132493@rwcrnsc51.ops.asp.att.net> Hello Eddie, "Eddie Chou" wrote in message news:be349724.0301022053.136006a8@posting.google.com... [snip] > How can i set _func_logMsg pointer to logMsg? [snip] If you have included "message logging" in your vxWorks kernel under the project facility [vxWorks Tab ->operating systems components -> IO system components->message logging] (or #define INCLUDE_LOGGING in your config.h for command-line builds) the _func_logMsg function pointer is initialized to logMsg. Otherwise, it may be NULL. This was done to remove the dependency of the device drivers from having to include message logging to link. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: dosfs2 and flock Date: Sat, 04 Jan 2003 01:15:19 +0000 From: Dimitrios Siganos Message-ID: <3e1634ee$0$246$cc9e4d1f@news.dial.pipex.com> References: <3e160353$0$586$39cecf19@nnrp1.twtelecom.net> Chris Richards wrote: > Does the dosfs2 filesystem support file locking? Thanks. Nope. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to remove a "stuck" directory. Date: Thu, 2 Jan 2003 14:25:33 -0500 From: "bubbawho2002" Organization: Posted via Supernews, http://www.supernews.com Message-ID: References: Reply-To: "bubbawho2002" Hi Bill, Thanks for the tip. We are definately at the right location for this (did a pwd to check). Tried rmdir and got this out: - -> rmdir "lwoodfor" value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f - -> Any other ideas we can try ? Thanks, Gary "Bill Pringlemeir" wrote in message news:m2vg17o20i.fsf@sympatico.ca... > > >>>>> "Gary" == bubbawho2002 writes: > > Gary> We have a phone system with VxWorks 5.3.1 on in and it is > Gary> reporting some IO errors on a particular directory. When I > Gary> try an delete it I get the following: > > -> rm "lwoodfor" > value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f > -> > > Gary> I don't have a heck of a lot of experience with VxWorks and > Gary> the company that made this is long out of business so any help > Gary> on how we could remove this file would be helpful. > > Bill> You should be able to type "ioHelp" for some information on the > Bill> file system. Are you certain that you are in the directory > Bill> where the file is located? Try the command "pwd", "ll", and > Bill> "chkdsk". > > Bill> Depending on the version of the file system, the case of the > Bill> file name might be important. > > Opps! I missed the title. If everything else is right, you need > "rmdir" and not "rm". I think that this is standard *nix. > Interesting that "ioHelp" didn't mention "rmdir", "mkdir", etc on my > kernel. > > hth, > Bill Pringlemeir. > > -- > Send your questions to ``ASK ZIPPY'', Box 40474, San Francisco, CA > 94140, USA --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Trying to use _func_logMsg send debug message to serial port Date: 02 Jan 2003 16:14:54 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: <8T0R9.415469$GR5.132493@rwcrnsc51.ops.asp.att.net> Sender: bpringle@DeadDuck "Eddie Chou" wrote... > I am porting Fast ethernet on MPC857T now. And i have checked motFecEnd.c. > There are some code like [snip] > How can i turn it on this function and send all the message to > serial port? My serial port connection is OK. DrDiag> You could try changing the mocFecEndDbg value to one of DrDiag> several values that are set in the modFecEnd.h. Check to see DrDiag> what FLG is defined to in either the xxx.c or xxx.h file and DrDiag> the last item is to make sure the _func_logMsg pointer is set DrDiag> to logMsg. You shouldn't have to recompile, but may want to DrDiag> in case error messages are being printed before you can DrDiag> overtly change the above values to the ones you want during DrDiag> system startup. HTH. Could also be "logFdSet". Look at the docs for logLib... It seems that vxWorks doesn't always set the fd where the log output goes. hth, Bill Pringlemeir. - -- Don't forget to clean your apartment. As Mercury moves into the left-hand quadrant of Pisces, be careful of your relationship with your friend. A small bomb is in the air. Don't forget to clean your apartment. You'll eventually be a Borg. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Interrupt Stack Tracing....on MC68EN360 + VxWorks - help Date: Thu, 2 Jan 2003 14:54:43 -0800 From: "msafar" Organization: Posted via Supernews, http://www.supernews.com Message-ID: References: <65a5832b.0212180213.7912e6ba@posting.google.com> Interrupts are executed on interrupted task's stack in case of the 68360. "suresh kumar b.v" wrote in message news:65a5832b.0212180213.7912e6ba@posting.google.com... > Hi, > > How to trace interrupt stack on MC68EN360 Processer Board with > VxWorks. I know that, VxWorks execuites all interrupts in a separete > Stack. > > Any help is greatly appreciated. > > regards > suresh - bvsuresh@lycos.com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Trying to use _func_logMsg send debug message to serial port Date: 2 Jan 2003 20:53:09 -0800 From: eddie_chou@comxion.com.tw (Eddie Chou) Organization: http://groups.google.com/ Message-ID: References: <8T0R9.415469$GR5.132493@rwcrnsc51.ops.asp.att.net> Thanks for support! How can i set _func_logMsg pointer to logMsg? Thanks eddie "drdiags" wrote in message news:<8T0R9.415469$GR5.132493@rwcrnsc51.ops.asp.att.net>... > Happy New Year Eddie, > > You could try changing the mocFecEndDbg value to one of > several values that are set in the modFecEnd.h. Check to see > what FLG is defined to in either the xxx.c or xxx.h file and the > last item is to make sure the _func_logMsg pointer is set to > logMsg. You shouldn't have to recompile, but may want to > in case error messages are being printed before you can > overtly change the above values to the ones you want during > system startup. HTH. > > "Eddie Chou" wrote in message > news:be349724.0301020927.49cf6569@posting.google.com... > > Hi! Happy new year! > > > > I am porting Fast ethernet on MPC857T now. And i have checked motFecEnd.c. > > There are some code like > > > > #define MOT_FEC_LOG(FLG, X0, X1, X2, X3, X4, X5, X6) \ > > { \ > > if (motFecEndDbg & FLG) \ > > if (_func_logMsg != NULL) \ > > _func_logMsg (X0, X1, X2, X3, X4, X5, X6); \ > > } > > > > MOT_FEC_LOG (MOT_FEC_DBG_LOAD, ("motFecUnload... Done\n"), > > 1, 2, 3, 4, 5, 6); > > > > > > How can i turn it on this function and send all the message to serial > port? > > My serial port connection is OK. > > > > Thanks very much > > eddie --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to remove a "stuck" directory. Date: 02 Jan 2003 18:38:05 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: Sender: bpringle@DeadDuck Gary> Does VxWorks have a file repair utility such as Checkdsk ? I'd Gary> really like to avoid rebuilding this machine for a couple of Gary> bad files. Yes, vxWorks has a chkdsk. I mentioned it in previous posts. `chkdsk' could possibly do something bad to your disk. If you don't mind bad things happening (I doubt they will, but you never know), then you can run `->chkdsk "hd0",2,0x200'. The `->devs' command will list devices. Yours appears to have some sort of hard drive and the device is called "hd0". Another name is `iosDevShow'. However, it is possible that devs/iosDevShow isn't compiled into your system. hth, Bill Pringlemeir. - -- Don't forget to have your child spayed or neutered. Tomorrow is not a good time for sleeping. Months from now talking with piglet3 may seem like a positive step in the right direction. Today a small bomb would be a good thing to think about. You'll eventually be confused. --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Sun Jan 5 04:03:22 2003 From: Vxworks Exploder Date: Sun Jan 5 04:03:23 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Sun Jan 5 04:03:19 PST 2003 Subject: Re: Is this a bug about ccppc? Subject: Re: How to remove a "stuck" directory. Subject: Memory controller or MMU which should be first in boot code Subject: Maximum speed of 10/100 Ethernet Subject: Re: Maximum speed of 10/100 Ethernet Subject: Re: VxW Tasks versus Threads Subject: Re: How to remove a "stuck" directory. Subject: Re: Zinc Status Bar and Menu Bar Event Functions Subject: Re: How to remove a "stuck" directory. Subject: Ada and VxMP Shared-Memory Objects Subject: ppc 8245 dma from pci device resets system Subject: ppc 8245 dma from pci device resets system Subject: Re: Zinc Status Bar and Menu Bar Event Functions Subject: Re: VxW Tasks versus Threads Subject: Re: PC/104 Tri-M MZ104+ BSP Subject: Re: Interrupt Stack Tracing....on MC68EN360 + VxWorks - help ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: Is this a bug about ccppc? Date: Fri, 03 Jan 2003 08:38:00 GMT From: brede.thurmann@kongsberg-simrad.com (BT) Message-ID: <3e1548b8.78575195@news.eunet.no> References: <8f77d4a.0301022249.7fb81631@posting.google.com> Could it be some of your CC command options. Check -funsigned-char or - -fsigned-char in the GNU doc. for GNU CC Brede On 2 Jan 2003 22:49:38 -0800, hotJacky@163.net (Bryan) wrote: >When I compile a code in ppc as fallow: > char cBlanceFlactor; > if(-2 == cBlanceFlactor) > { > ... > } >The compiler give a warning: > "warning: comparison is always 0 due to limited range of data >type" >If I compile this code in x86,this warning is not exist! >So I think ccppc regard char as unsigned!But according ANSI C,char is >equal to signed char.Is this a bug about ccppc? > >Sincerely, >Bryan --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to remove a "stuck" directory. Date: Fri, 3 Jan 2003 10:24:10 +0100 From: "Georg Löffelmann" Message-ID: References: "bubbawho2002" schrieb im Newsbeitrag news:v19gagq5b11736@corp.supernews.com... ... > /hd0/shasta/usr/home ... Hi! Aren't Shasta-Nodes now sold by Nortel Networks? IMHO the Shasta 5000 (which makes a perfect Gateway GPRS Support Node GGSN) is not _that_ outdated and in service all over the world. Or is "/shasta" just a coincidence? BR/ George --------------------------- Newsgroups: comp.os.vxworks Subject: Memory controller or MMU which should be first in boot code Date: 3 Jan 2003 03:26:12 -0800 From: mahendraguduru@yahoo.com (MahendraReddyGuduru) Organization: http://groups.google.com/ Message-ID: <4cd6f00b.0301030326.2ec1fc24@posting.google.com> hi all, I have seen many BSPs ,which are initialising first Memory Controller before to MMU initialisation. AS memory controller address pointers are also part of memory,how memory controller registers getting initialised before MMU initialisation. Thanks in advance for clarification Mahendra reddy.G --------------------------- Newsgroups: comp.os.vxworks Subject: Maximum speed of 10/100 Ethernet Date: Fri, 3 Jan 2003 17:07:38 +0300 From: "Eug" Organization: MTU-Intel ISP Message-ID: Dear Sirs! What maximum speed can be achieved in VxWorks with 10/100 DEC Ethernet controller? I can transfer only ~1.5 Mbyte/sec in 100 Mbit mode. BTW, I use TCP/IP. Thanks in advance, Eug --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Maximum speed of 10/100 Ethernet Date: Fri, 3 Jan 2003 18:18:53 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: Reply-To: "Leonid Rosenboim" That depends. First, in order to test the network (net of other factors(, write a simple program that transfers the data from memory to memory. Do not forget to increase the number of network buffers before you begin. VxWorks default net buffer numbers will limit performance. I have experience in acheiving over 97Mbps over a full-duplex 100Mbps Ethernet, using another MAC chip, but that required some optimizations of the network driver. Your ability to reach higher throughput will depend on the driver optimization as well as on the speed of your CPU and system bus. After you have measured pure memory-to-memory transfer rate, and the real life application exhibits significantly loiwer throughput, then it is likely that other subsystems, such as disk storage, are limitting your performance. - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com "Eug" wrote in message news:av45j9$2dka$1@gavrilo.mtu.ru... > Dear Sirs! > > What maximum speed can be achieved in VxWorks with 10/100 DEC Ethernet > controller? > > I can transfer only ~1.5 Mbyte/sec in 100 Mbit mode. > BTW, I use TCP/IP. > > Thanks in advance, > Eug > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: VxW Tasks versus Threads Date: 4 Jan 2003 15:36:51 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0301041536.440704e9@posting.google.com> References: <9e41635d.0301041145.2af8ea3@posting.google.com> Hello, VxWorks tasks are very close to threads in a unix system. One way of looking at VxWorks 5.x is that it is a single-process, multi-threaded system - VxWorks AE is essentially a multi-process, multi-threaded system. In a VxWorks 5.x system, all the code and data is shared, but each task, of course, has its own stack space. On most architectures, there is a separate stack for ISRs too, but check in your architecture supplement to confirm this for the architecture you plan to use. HTH, John... peter_holmes2003@yahoo.com (Peter) wrote in message news:<9e41635d.0301041145.2af8ea3@posting.google.com>... > I have a question egarding the VxWorks Tasks. > > Unix threads share the code and data segments of the process they > belong to but have separate stack segments. > > Do VxWorks tasks have a structure similar to Unix Processes > (data/code/stack segment). Also what segements if any are shared > between different tasks. > > -- Yuri --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to remove a "stuck" directory. Date: Fri, 3 Jan 2003 11:25:14 -0500 From: "bubbawho2002" Organization: Posted via Supernews, http://www.supernews.com Message-ID: References: Reply-To: "bubbawho2002" Hi Leonid, There are files in the directory, however the os reports an IO error when you try to ll them: - -> ll size date time name - -------- ------ ------ -------- 512 JAN-02-2003 10:41:38 . 512 FEB-06-2106 01:28:53 .. 512 FEB-06-2106 01:28:33 admin 512 FEB-06-2106 01:28:33 DefaultCOS 512 FEB-06-2106 01:28:33 defDept 512 FEB-06-2106 01:28:33 ftp 512 FEB-06-2106 01:28:33 recept 512 MAR-11-2002 13:59:14 system 512 FEB-06-2106 01:28:36 vmail 512 FEB-06-2106 01:28:36 GGauvin 512 FEB-06-2106 01:28:37 SGauvin 512 FEB-06-2106 01:28:37 MPfiefer 512 FEB-06-2106 01:28:38 MAuxilia 512 FEB-06-2106 01:28:38 CompanyCOS 512 FEB-06-2106 01:28:38 fax0 512 FEB-06-2106 01:28:38 opmh 512 FEB-06-2106 01:28:38 remoteAccess 512 FEB-06-2106 01:28:39 sales 512 FEB-06-2106 01:28:40 spackard 512 DEC-06-2002 10:19:41 customer 512 FEB-10-2002 15:34:14 kkenyon IO Error - can't stat file: errno = 0x16 0 lwoodfor 512 SEP-10-2002 10:20:43 rfox value = 0 = 0x0 - -> pwd /hd0/shasta/usr/home value = 21 = 0x15 - -> rmdir "/hd0/shasta/usr/home/lwoodfor" value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f - -> "Leonid Rosenboim" wrote in message news:newscache$ttz48h$dle$1@lnews.actcom.co.il... > > Isuggest you use a full path, that begins with the device name, > which appears in the output of the "devs" command, e.g. instead of > -> rmdir "/woodfor" > > you should do: > -> rmdir "/hd0/woodfor" > > Also, make sure the directory exists, and is empty, by listing it, again > using full path: > -> ll "/hd0/woodfor" > > If this does not work, you may want to take a look at the directory's > attributes - it could have bene marked read-only, this should be part of > "ll" output. > > And regarding "chkdsk", all you need to do is > -> chkdsk "/dh0" > > Fro the output of the above commands I could tell you more, e.g. which > version of dosFs you are using. > -- > ----------------------------------------------------------------------- > Leonid Rosenboim Visit: http://www.masada2000.org/historical.html > Consultant Email: my first name at consultant dot com > > > "bubbawho2002" wrote in message > news:v18p4eo7ec6o50@corp.supernews.com... > > Hi, > > We have a phone system with VxWorks 5.3.1 on in and it is reporting some > IO > > errors on a particular directory. When I try an delete it I get the > > following: > > -> rm "lwoodfor" > > value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f > > -> > > > > I don't have a heck of a lot of experience with VxWorks and the company > that > > made this is long out of business so any help on how we could remove this > > file would be helpful. > > Thanks, > > Gary > > > > > > > > > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Zinc Status Bar and Menu Bar Event Functions Date: 03 Jan 2003 12:04:08 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: <552e79d.0212310401.7b509af5@posting.google.com> <552e79d.0301022230.1da331b4@posting.google.com> Sender: bpringle@DeadDuck Kiran> Can anybody tell me how to capture events from the status Kiran> bar. i.e. I would like to capture mouse clicks on the status Kiran> bar and respond according to the position of the mouse click. Bill Pringlemeir wrote... > Read the Zinc User's guide. Pay special attention to chapter 7, > "Advanced customization of look and feel". The manual should be on > your hard drive as $(WIND_BASE)/docs/pdf/Zinc/guide.pdf... WIND_BASE > is usually "C:/Tornado" on Windows hosts. [snip] Kiran> I have tried Deriving the ZafString and overriding its event Kiran> function in addition to overriding the Status Bar's Event Kiran> Function. I have even tried adding an event (post)listener Kiran> (Listening to N_MOUSE_ENTER event) to the ZafString Kiran> Objects. But none of them seem to be working. Note that as mouse events are very frequent, Zinc or UGL has a method to enable the MOUSE events for an object (I thought only mouse_move, but maybe enter/exit too). I couldn't find this information from a cursory search of the docs. However, I can vaguely recall this. I think that you might look at the "help tip" source for some pointers on how to do this. It might be that the ZafStrings are not selectable, so mouse enter/exit events aren't being generated for them. hth, Bill Pringlemeir. - -- Waco, Texas Skipjack Delta Force Mole investigation Croatian sweep Bush codes Telex Mantis anarchy Ruby Ridge CBNRC CNCIS CIBC --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to remove a "stuck" directory. Date: Fri, 3 Jan 2003 19:08:45 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: Reply-To: "Leonid Rosenboim" Here are my observations: 1. You are running the old dosFs 1.0 (unknown patch level, if any) 2. The failure to get "stat" unfo on the specific entry (which could be either directory or file) with errno 0x16 (decimal 22) - EINVAL, and that means something is wrong with that directory entry. Definitely something that chkdsk would take care of. What has not been established is availability of chkdsk on your system - with dosFs 1.0, chkdsk was not part of the package, it was a 3rd party protuct until 1997 when the vendor was acquired by WindRiver, and then ht was available from Wind River on an unsupported basis. In order to find if you have got it do: -> lkup "chkdsk" - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com "bubbawho2002" wrote in message news:v1be69ehflsp22@corp.supernews.com... > Hi Leonid, > There are files in the directory, however the os reports an IO error when > you try to ll them: > -> ll > size date time name > -------- ------ ------ -------- > 512 JAN-02-2003 10:41:38 . > 512 FEB-06-2106 01:28:53 .. > 512 FEB-06-2106 01:28:33 admin > 512 FEB-06-2106 01:28:33 DefaultCOS > 512 FEB-06-2106 01:28:33 defDept > 512 FEB-06-2106 01:28:33 ftp > 512 FEB-06-2106 01:28:33 recept > 512 MAR-11-2002 13:59:14 system > 512 FEB-06-2106 01:28:36 vmail > 512 FEB-06-2106 01:28:36 GGauvin > 512 FEB-06-2106 01:28:37 SGauvin > 512 FEB-06-2106 01:28:37 MPfiefer > 512 FEB-06-2106 01:28:38 MAuxilia > 512 FEB-06-2106 01:28:38 CompanyCOS > 512 FEB-06-2106 01:28:38 fax0 > 512 FEB-06-2106 01:28:38 opmh > 512 FEB-06-2106 01:28:38 remoteAccess > 512 FEB-06-2106 01:28:39 sales > 512 FEB-06-2106 01:28:40 spackard > 512 DEC-06-2002 10:19:41 customer > 512 FEB-10-2002 15:34:14 kkenyon > IO Error - can't stat file: errno = 0x16 > 0 lwoodfor > 512 SEP-10-2002 10:20:43 rfox > value = 0 = 0x0 > -> pwd > /hd0/shasta/usr/home > value = 21 = 0x15 > -> rmdir "/hd0/shasta/usr/home/lwoodfor" > value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f > -> > > > "Leonid Rosenboim" wrote in message > news:newscache$ttz48h$dle$1@lnews.actcom.co.il... > > > > Isuggest you use a full path, that begins with the device name, > > which appears in the output of the "devs" command, e.g. instead of > > -> rmdir "/woodfor" > > > > you should do: > > -> rmdir "/hd0/woodfor" > > > > Also, make sure the directory exists, and is empty, by listing it, again > > using full path: > > -> ll "/hd0/woodfor" > > > > If this does not work, you may want to take a look at the directory's > > attributes - it could have bene marked read-only, this should be part of > > "ll" output. > > > > And regarding "chkdsk", all you need to do is > > -> chkdsk "/dh0" > > > > Fro the output of the above commands I could tell you more, e.g. which > > version of dosFs you are using. > > -- > > ----------------------------------------------------------------------- > > Leonid Rosenboim Visit: http://www.masada2000.org/historical.html > > Consultant Email: my first name at consultant dot > com > > > > > > "bubbawho2002" wrote in message > > news:v18p4eo7ec6o50@corp.supernews.com... > > > Hi, > > > We have a phone system with VxWorks 5.3.1 on in and it is reporting some > > IO > > > errors on a particular directory. When I try an delete it I get the > > > following: > > > -> rm "lwoodfor" > > > value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f > > > -> > > > > > > I don't have a heck of a lot of experience with VxWorks and the company > > that > > > made this is long out of business so any help on how we could remove > this > > > file would be helpful. > > > Thanks, > > > Gary > > > > > > > > > > > > > > > > > > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Ada and VxMP Shared-Memory Objects Date: 3 Jan 2003 12:34:43 -0800 From: prichtmyer@yahoo.com (Peter Richtmyer) Organization: http://groups.google.com/ Message-ID: <1b585154.0301031234.509d94e5@posting.google.com> We will be using VxMP Shared Memory Objects between two boards, and our code is in Ada. We will be passing messages using Shared Message Queues, and we will have some data objects. Does anyone know of, or have, some Ada examples using VxMP that they could share? Even snippets showing the Ada to C interface Progmas would be helpful. And any advice that is not in the book (VxWorks Programmer's Guide, 5.4) ? thanks, Peter --------------------------- Newsgroups: comp.os.vxworks Subject: ppc 8245 dma from pci device resets system Date: 5 Jan 2003 00:14:56 -0800 From: nachumGoogle@hotmail.com (Nachum Kanovsky) Organization: http://groups.google.com/ Message-ID: <52388ea0.0301050007.1328d2fe@posting.google.com> I have a ppc 8245 configured as a host running vxworks 5.5. I also have a pci device that attempts to dma data from the host's local memory. When i perform the dma, which works fine on intel systems, on the ppc, the ppc gets some form of a reset and needs to be rebooted. I believe that i am supposed to being doing the dma with offset 0 from the pci device, b/c i am dmaing from local memory, but i have also tried with offset 0x80000000. nothing helps. please give me some guidance, Nachum Kanovsky --------------------------- Newsgroups: comp.os.vxworks Subject: ppc 8245 dma from pci device resets system Date: 5 Jan 2003 00:15:18 -0800 From: nachumGoogle@hotmail.com (Nachum Kanovsky) Organization: http://groups.google.com/ Message-ID: <52388ea0.0301050015.160e27c5@posting.google.com> I have a ppc 8245 configured as a host running vxworks 5.5. I also have a pci device that attempts to dma data from the host's local memory. When i perform the dma, which works fine on intel systems, on the ppc, the ppc gets some form of a reset and needs to be rebooted. I believe that i am supposed to being doing the dma with offset 0 from the pci device, b/c i am dmaing from local memory, but i have also tried with offset 0x80000000. nothing helps. please give me some guidance, Nachum Kanovsky --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Zinc Status Bar and Menu Bar Event Functions Date: 2 Jan 2003 22:30:29 -0800 From: technokiran@yahoo.com (Kiran Kumar) Organization: http://groups.google.com/ Message-ID: <552e79d.0301022230.1da331b4@posting.google.com> References: <552e79d.0212310401.7b509af5@posting.google.com> Bill Pringlemeir wrote in message news:... > Kiran> Can anybody tell me how to capture events from the status > Kiran> bar. i.e. I would like to capture mouse clicks on the status > Kiran> bar and respond according to the position of the mouse click. > > Read the Zinc User's guide. Pay special attention to chapter 7, > "Advanced customization of look and feel". The manual should be on > your hard drive as $(WIND_BASE)/docs/pdf/Zinc/guide.pdf... WIND_BASE > is usually "C:/Tornado" on Windows hosts. > I have already done that and tried out two methods of evevnt handling - - Overriding the event function in a derived class and adding an event listner. However the problem I face is this: I Have 10 ZafString Objects on the Status Bar. Events are being trappped by the Status Bat itself. But What I want is to detect as to which ZafString object the mouse was clicked on. Depending on this I have to change the color of that ZafString Object and start some processing. I have tried Deriving the ZafString and overriding its event function in addition to overriding the Status Bar's Event Function. I have even tried adding an event (post)listener (Listening to N_MOUSE_ENTER event) to the ZafString Objects. But none of them seem to be working. > Kiran> Another problem is how to process user defined events sent > Kiran> from menu bar items? > > See above. The section "object behavior" is especially relevant. > > hth, > Bill Pringlemeir. I have noticed something peculiar here. I am using the ZincDesigner. Whenever I Add PullDownItems and PopUpItems to the menu and change the properties of the PopUpItems (in the Property Sheet) without closing the Menu editor then the tree in the FileBrowser reads thus: ZAF_NUMID_PULL_DOWN_MENU | |--ZafPullDownItem1125333171 | |--Field_-11 | |--ZafPopUpItem1125333523 With These entries in the data file browser, none of my listeners (or event functions) for menu items are working. But If were to first create the menu through the menu editor and close the menu editor without making any changes in the property sheet, then my Data file Browser reads thus: ZAF_NUMID_PULL_DOWN_MENU | |--ZafPullDownItem1125333171 | |--menu | |--ZafPopUpItem1125333523 Notice that now "field_-11" now reads as "menu". When this is the case the same event listeners that I wrote for the previous case begin to work!!. May I know what is happening here? --------------------------- Newsgroups: comp.os.vxworks Subject: Re: VxW Tasks versus Threads Date: Sat, 4 Jan 2003 22:41:33 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <9e41635d.0301041145.2af8ea3@posting.google.com> Reply-To: "Leonid Rosenboim" "Peter" wrote in message news:9e41635d.0301041145.2af8ea3@posting.google.com... > I have a question egarding the VxWorks Tasks. > > Unix threads share the code and data segments of the process they > belong to but have separate stack segments. > > Do VxWorks tasks have a structure similar to Unix Processes > (data/code/stack segment). Also what segements if any are shared > between different tasks. > > -- Yuri Yura, VxWorks is quote different from VxWorks AE - the former has protection domains. In VxWorks, there are no segments really, all code and data is shared among tasks (the code can be made read-only), and each task has its own stack, which is simply applocated from the shared data heap, so every task can freely access any other task's stack, if it has a valid address pointer. Passing stack addresses between tasks is not recommended at all, but there is nothing in VxWorks or its hardware that will stop one from doing so. Please note, VxWorks, unlike Unix, runs on very small processors, that lack the memory management unit. - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PC/104 Tri-M MZ104+ BSP Date: 4 Jan 2003 07:02:20 -0800 From: gpbeck_99@yahoo.com (Gary Beck) Organization: http://groups.google.com/ Message-ID: References: I'm trying to use the 486 core. According to the documentation that came with the BSP from zfmicro.com, the ZFx86 is not compatible with the Pentium core. I've tried to use a generic 486 BSP but couldn't find one. I've tried both the templatex86 and pcPentium BSPs with defining the CPU to be a 486, but still doesn't boot. Any other ideas? Thanks for responding. "drdiags" wrote in message news:... > Hello Gary, > > Are you using the 486 or Pentium core? I worked with folks using the > 486 core and they just used the stock vxWorks 486 BSP and had it > working for them (with of course mods for their PCMCIA and custom > H/W boards). Good luck. > > "Gary Beck" wrote in message > news:eac587be.0301031332.c0a0d2f@posting.google.com... > > I'm looking for a BSP for this board. It has the ZFx86 processor on > > board. I've downloaded the BSP from zfmicro.com, but I can't use it > > to create a new project. > > > > Any ideas? --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Interrupt Stack Tracing....on MC68EN360 + VxWorks - help Date: Sat, 4 Jan 2003 07:44:55 -0800 From: "Dan Gold" Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: References: <65a5832b.0212180213.7912e6ba@posting.google.com> <65a5832b.0301040343.6ddcbc6d@posting.google.com> Sender: gold@ensemble.com suresh kumar b.v wrote in message <65a5832b.0301040343.6ddcbc6d@posting.google.com>... >hi all, > >In case of Mc68En360 all interrupts will be execuited in a separeate >stack and we can increse/decrease the stack size using macro available >in vxworks project configuration. >I wish to know the inner details(real stuff) of how stack frame is >formed and is there is any methods to read the contents of interrupt >stack when the device crashed. The format of the stack frame can be found in chapter 5 of the 68360 user's manual. As far as reading it, I don't know of any function to trace it, but you should be able to dump it. vxWorks keeps the interrupt stack information in a couple global variables, I think vxIntStackBase and something else IIRC. While your system is running, you can do a lkup "vxIntStack" and see what shows up. I think if you just do a 'checkStack' it shows up as the last entry. How "crashed" is your system ? If you grab the address of the interrupt stack base while the system is running, once it's crashed you should be able to dump it's memory via BDM. When you dump it, remember the interrupt stack will have not only the exception frame on it, but any local variables an active ISR may be using. hth, Dan Gold gold@ensemble.com --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Mon Jan 6 04:03:17 2003 From: Vxworks Exploder Date: Mon Jan 6 04:03:19 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Mon Jan 6 04:03:15 PST 2003 Subject: Boot code for 750 Subject: Re: How to remove a "stuck" directory. Subject: Re: PC/104 Tri-M MZ104+ BSP Subject: Fibre Channel Subject: Re: tyCo not listed as an available device Subject: Re: Is this a bug about ccppc? Subject: Re: How to remove a "stuck" directory. Subject: the problems to install Rtl 8139D net card to vxworks Subject: How about the macro RAM_HIGH_ADRS ? Subject: Re: the problems to install Rtl 8139D net card to vxworks Subject: Re: Maximum speed of 10/100 Ethernet Subject: Re: PC/104 Tri-M MZ104+ BSP ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Boot code for 750 Date: 2 Jan 2003 23:26:37 -0800 From: mahendraguduru@yahoo.com (MahendraReddyGuduru) Organization: http://groups.google.com/ Message-ID: <4cd6f00b.0301022326.4ce8b841@posting.google.com> hi all, I am working with PPC750.Here I am trying to build boot program for the 750 target. please clarify whether my procedure is correct or not. I included memory controller initialisation (CPC700) in rominit() file. I wrote a small code in usrAppInit() file to send a character to the hyper terminal through rs232(This UART, I initialised completely and works fine from vxworks image loaded in SDRAM). I execluded all network components from the vxworks_romresident image. I built the vxworks_romResident and loading in to boot flash. I am exepecting ,if boot program is properly initialised the character should be sent to the monitor terminal. please clarify that, if memory controller is properly initialised ,this procedure works?. please note that,I am not using tornado tools (server and shell)to check whether it is booting or not(I am looking for a character on the monitor terminal through rs232) . please reply with your suggestioons .I will paste my rominit.s and memory controller initialisation file if required. Thanks in advance. Mahendra Reddy.G --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to remove a "stuck" directory. Date: Fri, 3 Jan 2003 13:55:33 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: Reply-To: "Leonid Rosenboim" Isuggest you use a full path, that begins with the device name, which appears in the output of the "devs" command, e.g. instead of -> rmdir "/woodfor" you should do: -> rmdir "/hd0/woodfor" Also, make sure the directory exists, and is empty, by listing it, again using full path: -> ll "/hd0/woodfor" If this does not work, you may want to take a look at the directory's attributes - it could have bene marked read-only, this should be part of "ll" output. And regarding "chkdsk", all you need to do is -> chkdsk "/dh0" Fro the output of the above commands I could tell you more, e.g. which version of dosFs you are using. - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com "bubbawho2002" wrote in message news:v18p4eo7ec6o50@corp.supernews.com... > Hi, > We have a phone system with VxWorks 5.3.1 on in and it is reporting some IO > errors on a particular directory. When I try an delete it I get the > following: > -> rm "lwoodfor" > value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f > -> > > I don't have a heck of a lot of experience with VxWorks and the company that > made this is long out of business so any help on how we could remove this > file would be helpful. > Thanks, > Gary > > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PC/104 Tri-M MZ104+ BSP Date: Sat, 04 Jan 2003 22:12:40 GMT From: "drdiags" Organization: AT&T Broadband Message-ID: References: Hello Gary, The only suggestion I have is that you should contact your local Wind River sales team to look into purchasing the 486 BSP. I would imagine there are other 3rd party folks who may respond, so you may want to re-post to clear out this thread. BTW, when you state that the target doesn't boot, do you know where it fails? I found that I needed to purchase a PC104+ VGA board to review the BIOS settings (though setting the BIOS to use the serial port is possible, I only had a hyperterminal connection, so the graphics were hard on the eyes). Also, have you setup the DiskOnChip to boot vxWorks or are you using the floppy? One quirk (un-verified by me) is the one needs to set the LPT to not use IRQ 7 in the BIOS Settings (claims leaving it will hang the system when vxWorks boots up). You could set it to 5. And I never could get IRQ 11/12 (USB and PS2 mouse) free for use by vxWorks even when I disabled these devices in the BIOS (but that is another story). Plus the two on-board ethernets kept using IRQ 10/11 instead of 9/10 as documented. So the bottom line is that you could contact TRI-M and have them help work through this or I know that the Wind River pc486 BSP (with slight modifications) works for this h/w. As one final note, I found that doing anything with the PCI Interrupts in BIOS (such as reserving them, setting them to use legacy devices or the like) would cause vxWorks to crash. I could only let the PCI IRQs be managed by the BIOS. HTH "Gary Beck" wrote in message news:eac587be.0301040702.282aeb4b@posting.google.com... > I'm trying to use the 486 core. According to the documentation that > came with the BSP from zfmicro.com, the ZFx86 is not compatible with > the Pentium core. I've tried to use a generic 486 BSP but couldn't > find one. I've tried both the templatex86 and pcPentium BSPs with > defining the CPU to be a 486, but still doesn't boot. > > Any other ideas? Thanks for responding. > > > "drdiags" wrote in message news:... > > Hello Gary, > > > > Are you using the 486 or Pentium core? I worked with folks using the > > 486 core and they just used the stock vxWorks 486 BSP and had it > > working for them (with of course mods for their PCMCIA and custom > > H/W boards). Good luck. > > > > "Gary Beck" wrote in message > > news:eac587be.0301031332.c0a0d2f@posting.google.com... > > > I'm looking for a BSP for this board. It has the ZFx86 processor on > > > board. I've downloaded the BSP from zfmicro.com, but I can't use it > > > to create a new project. > > > > > > Any ideas? --------------------------- Newsgroups: comp.os.vxworks Subject: Fibre Channel Date: Fri, 3 Jan 2003 10:05:55 -0500 From: "Lou Palecki" Message-ID: Greetings, I would like to know if anyone out there is working with large (>70GB) Fibre Channel hard drives in an arbitrated loop configuration. We are using an MVME5100, an SBS 1GB (QLogic 2100), VxWorks 5.5 and DOSfs2.2. We have tried everything we can think of to get the drives to work. The same Fibre Channel HBA works under Windows 2k and Linux with no trouble. VxWorks can see smaller drives (37GB) but barfs when we try to initialize the block device. Any suggestions would be appreciated before we spring for source code licenses to fix the problem... Thanks. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: tyCo not listed as an available device Date: 03 Jan 2003 16:32:55 GMT From: Johan Borkhuis Organization: Proxim Corp. Message-ID: References: <7b02be47.0212260909.5929ccad@posting.google.com> pegasusian@yahoo.com (fatih özcan) wrote: > In vxworks all serial devices are similar to unix. You should > fd=open("/tyCo/0",x,x); > ioctl(fd, xxBAUDRATE, xx); > etc. > > and just > len1=read(fd,buffer,len); > write(fd, buffer, len); > > Coming to ports you should have BSP that support the serial channels, > if it supports (read target.nr) you just simply increase NUM_TTY > definition. Also I suppose that "/tyCo/0" is used for console so you > may no use it for other porposes. Also make sure that the serial port is not used for WDB debugging. Kind regards, Johan - -- o o o o o o o . . . _____________________________ o _____ || Johan Borkhuis | .][__n_n_|DD[ ====_____ | JBorkhuis@Proxim.com | >(________|__|_[_________]_|__________________________| _/oo OOOOO oo` ooo ooo 'o!o!o o!o!o` === VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html === --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Is this a bug about ccppc? Date: 4 Jan 2003 17:38:05 -0800 From: hotJacky@163.net (Bryan) Organization: http://groups.google.com/ Message-ID: <8f77d4a.0301041738.46fa7a1@posting.google.com> References: <8f77d4a.0301022249.7fb81631@posting.google.com> I use -v option to compile my code,then I find in ccppc,char is defined as unsigned,but signed in cc386. Thank you all! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to remove a "stuck" directory. Date: Fri, 3 Jan 2003 22:49:11 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: Reply-To: "Leonid Rosenboim" Clearly, the vendor of your machine was cheap to shell out $1,500 to buy a "chkdsk for VxWorks" buyout license. No wonder they went belly up. If the machine uses common FDISK type partition table (which you can't be sure of), you could remove the hard disk from the machine, hook it up to a PC and get it cleaned. - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com "bubbawho2002" wrote in message news:v1bjiatnc4i5a7@corp.supernews.com... > Hi Leonid, > This is what I was able to retrieve for information on the version and the > result of the lkup command: > -> lkup "chkdsk" > value = 0 = 0x0 > -> version > VxWorks (for PC 486) version 5.3.1. > Kernel: WIND version 2.5. > Made on Jul 31 2001, 18:10:53. > Boot line: > ata=(0,0):/ata0/vxWorks.st e=10.0.0.0:FFFFFF00 o=/hd0/shasta > PRAXON PDX S/W version 2.0 (1.51) ST > value = 7366696 = 0x706828 = _pxVersionString > -> > > > > > > "Leonid Rosenboim" wrote in message > news:newscache$3ce58h$s8f$1@lnews.actcom.co.il... > > Here are my observations: > > > > 1. You are running the old dosFs 1.0 (unknown patch level, if any) > > 2. The failure to get "stat" unfo on the specific entry (which could be > > either directory or file) with errno 0x16 (decimal 22) - EINVAL, and that > > means something is wrong with that directory entry. Definitely something > > that chkdsk would take care of. > > > > What has not been established is availability of chkdsk on your system - > > with dosFs 1.0, chkdsk was not part of the package, it was a 3rd party > > protuct until 1997 when the vendor was acquired by WindRiver, and then > > ht was available from Wind River on an unsupported basis. > > > > In order to find if you have got it do: > > > > -> lkup "chkdsk" > > > > -- > > ----------------------------------------------------------------------- > > Leonid Rosenboim Visit: http://www.masada2000.org/historical.html > > Consultant Email: my first name at consultant dot > com > > > > > > "bubbawho2002" wrote in message > > news:v1be69ehflsp22@corp.supernews.com... > > > Hi Leonid, > > > There are files in the directory, however the os reports an IO error > when > > > you try to ll them: > > > -> ll > > > size date time name > > > -------- ------ ------ -------- > > > 512 JAN-02-2003 10:41:38 . > > > 512 FEB-06-2106 01:28:53 .. > > > 512 FEB-06-2106 01:28:33 admin > > > 512 FEB-06-2106 01:28:33 DefaultCOS > > > 512 FEB-06-2106 01:28:33 defDept > > > 512 FEB-06-2106 01:28:33 ftp > > > 512 FEB-06-2106 01:28:33 recept > > > 512 MAR-11-2002 13:59:14 system > > > 512 FEB-06-2106 01:28:36 vmail > > > 512 FEB-06-2106 01:28:36 GGauvin > > > 512 FEB-06-2106 01:28:37 SGauvin > > > 512 FEB-06-2106 01:28:37 MPfiefer > > > 512 FEB-06-2106 01:28:38 MAuxilia > > > 512 FEB-06-2106 01:28:38 CompanyCOS > > > 512 FEB-06-2106 01:28:38 fax0 > > > 512 FEB-06-2106 01:28:38 opmh > > > 512 FEB-06-2106 01:28:38 remoteAccess > > > 512 FEB-06-2106 01:28:39 sales > > > 512 FEB-06-2106 01:28:40 spackard > > > 512 DEC-06-2002 10:19:41 customer > > > 512 FEB-10-2002 15:34:14 kkenyon > > > IO Error - can't stat file: errno = 0x16 > > > 0 lwoodfor > > > 512 SEP-10-2002 10:20:43 rfox > > > value = 0 = 0x0 > > > -> pwd > > > /hd0/shasta/usr/home > > > value = 21 = 0x15 > > > -> rmdir "/hd0/shasta/usr/home/lwoodfor" > > > value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f > > > -> > > > > > > > > > "Leonid Rosenboim" wrote in message > > > news:newscache$ttz48h$dle$1@lnews.actcom.co.il... > > > > > > > > Isuggest you use a full path, that begins with the device name, > > > > which appears in the output of the "devs" command, e.g. instead of > > > > -> rmdir "/woodfor" > > > > > > > > you should do: > > > > -> rmdir "/hd0/woodfor" > > > > > > > > Also, make sure the directory exists, and is empty, by listing it, > again > > > > using full path: > > > > -> ll "/hd0/woodfor" > > > > > > > > If this does not work, you may want to take a look at the directory's > > > > attributes - it could have bene marked read-only, this should be part > of > > > > "ll" output. > > > > > > > > And regarding "chkdsk", all you need to do is > > > > -> chkdsk "/dh0" > > > > > > > > Fro the output of the above commands I could tell you more, e.g. which > > > > version of dosFs you are using. > > > > -- > > > > > ----------------------------------------------------------------------- > > > > Leonid Rosenboim Visit: > > http://www.masada2000.org/historical.html > > > > Consultant Email: my first name at consultant > dot > > > com > > > > > > > > > > > > "bubbawho2002" wrote in message > > > > news:v18p4eo7ec6o50@corp.supernews.com... > > > > > Hi, > > > > > We have a phone system with VxWorks 5.3.1 on in and it is reporting > > some > > > > IO > > > > > errors on a particular directory. When I try an delete it I get the > > > > > following: > > > > > -> rm "lwoodfor" > > > > > value = -1 = 0xffffffff = __func_taskRegsShowRtn + 0xff528e9f > > > > > -> > > > > > > > > > > I don't have a heck of a lot of experience with VxWorks and the > > company > > > > that > > > > > made this is long out of business so any help on how we could remove > > > this > > > > > file would be helpful. > > > > > Thanks, > > > > > Gary > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: the problems to install Rtl 8139D net card to vxworks Date: 6 Jan 2003 00:19:00 -0800 From: freebird21ce@hotmail.com (freebird21ce@hotmail.com) Organization: http://groups.google.com/ Message-ID: hello everybody: i wanna use an rtl8139D NIC on vxworks, and i download the driver from the realtek websit,as told by the README file , i copy the files to the corresponsive directory as follow: target/config/pcPentium: config.h configNet.h sysRtl81x9.c sysLib. /*these four files overlap the previous files with same name*/ arget\h\drv\end\unsupported: rtl81x9.h target\src\drv\end\unsupported: rtl81x9.c Makefile of course i modified the boot line in config.h for i need. then i build the boot rom and kernel, the problem comes: when i build boot rom, the error information as follow: sysALib.o sysLib.o D:\TORNADO\target\lib\libPENTIUMgnuvx.a sysLib.o(.text+0x4a7e): undefined reference to `rtl81x9EndLoad' sysLib.o(.text+0x4b0b): undefined reference to `rtl81x9EndLoad' make.exe: *** [bootrom_uncmp] Error 0x1 when i build the kernel,the error information as follow: -o vxWorks dataSegPad.o vxWorks.tmp ctdt.o vxWorks.tmp(.text+0x4cc6): undefined reference to `rtl81x9EndLoad' vxWorks.tmp(.text+0x4d53): undefined reference to `rtl81x9EndLoad' make.exe: *** [vxWorks] Error 0x1 what should i do now? can anybody give me a hint. thanks a lot! --------------------------- Newsgroups: comp.os.vxworks Subject: How about the macro RAM_HIGH_ADRS ? Date: Mon, 6 Jan 2003 18:21:31 +0800 From: "minskey73" Organization: Bentium Ltd. (CN99) Message-ID: Hi, I am writing my BSP for MPC860 . In config.h and makefile ,there's a macro RAM_HIGH_ADRS. I know that the memory between RAM_LOW_ADRS and RAM_HIGH_ADRS is used for vxWorks image. My board has 128M RAM, and the size of my image file is 17MBytes . So I want to define the macro as 0x02000000(32M) in both config.h and makefile. But the BSP do not work. If I define it as 0x01200000,it works well. Why ? I want to get it. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: the problems to install Rtl 8139D net card to vxworks Date: Mon, 6 Jan 2003 12:57:45 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: Reply-To: "Leonid Rosenboim" You foregot to compile the driver sourece: cd target\src\drv\end\unsupported make CPU=PENTIUM Also, you shoul dhave been more careful replacing the original BSP source files with the ones that come from Realtek - you should have compared the two, and carefully entered the appropriate additions. By the way, Realtek violates Wind River copyright by publishing these files on their Web site. They only have the rights to their modifications. - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com wrote in message news:c7697c5d.0301060019.e9a1de6@posting.google.com... > hello everybody: > i wanna use an rtl8139D NIC on vxworks, and i download the driver from > the realtek websit,as told by the README file , i copy the files to > the corresponsive directory as follow: > > target/config/pcPentium: > config.h > configNet.h > sysRtl81x9.c > sysLib. /*these four files overlap the previous files with same > name*/ > > arget\h\drv\end\unsupported: > rtl81x9.h > > target\src\drv\end\unsupported: > rtl81x9.c > Makefile > > of course i modified the boot line in config.h for i need. > then i build the boot rom and kernel, the problem comes: > when i build boot rom, the error information as follow: > sysALib.o sysLib.o D:\TORNADO\target\lib\libPENTIUMgnuvx.a > sysLib.o(.text+0x4a7e): undefined reference to `rtl81x9EndLoad' > sysLib.o(.text+0x4b0b): undefined reference to `rtl81x9EndLoad' > make.exe: *** [bootrom_uncmp] Error 0x1 > > when i build the kernel,the error information as follow: > -o vxWorks dataSegPad.o vxWorks.tmp ctdt.o > vxWorks.tmp(.text+0x4cc6): undefined reference to `rtl81x9EndLoad' > vxWorks.tmp(.text+0x4d53): undefined reference to `rtl81x9EndLoad' > make.exe: *** [vxWorks] Error 0x1 > > what should i do now? can anybody give me a hint. thanks a lot! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Maximum speed of 10/100 Ethernet Date: 3 Jan 2003 15:13:37 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0301031513.25959e6b@posting.google.com> References: Hello, You might also want to include the type and speed of the processor you are using, and the type of transfers you are performing (large or small packets for example), what type of system is on the remote end of the connection. All of these things can also have an impact on the throughput. HTH, John... "Eug" wrote in message news:... > Dear Sirs! > > What maximum speed can be achieved in VxWorks with 10/100 DEC Ethernet > controller? > > I can transfer only ~1.5 Mbyte/sec in 100 Mbit mode. > BTW, I use TCP/IP. > > Thanks in advance, > Eug --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PC/104 Tri-M MZ104+ BSP Date: Sat, 04 Jan 2003 00:19:43 GMT From: "drdiags" Organization: AT&T Broadband Message-ID: References: Hello Gary, Are you using the 486 or Pentium core? I worked with folks using the 486 core and they just used the stock vxWorks 486 BSP and had it working for them (with of course mods for their PCMCIA and custom H/W boards). Good luck. "Gary Beck" wrote in message news:eac587be.0301031332.c0a0d2f@posting.google.com... > I'm looking for a BSP for this board. It has the ZFx86 processor on > board. I've downloaded the BSP from zfmicro.com, but I can't use it > to create a new project. > > Any ideas? --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Tue Jan 7 09:58:01 2003 From: Doug Owens Date: Tue Jan 7 09:58:03 PST 2003 Subject: Universe II DMA Has anyone out there tried the vxWorks driver for VME DMA on the MVME 5110? Is it a big deal to add interrupts to the driver? Thanks Doug Owens owens2@llnl.gov From vxwexplo-errs@csg.lbl.gov Wed Jan 8 01:46:38 2003 From: Atkinson Andrew Date: Wed Jan 8 01:46:39 PST 2003 Subject: Task Control - Hi All Once a task has entered the READY state and is only prevented from executing by a higher priority task, is there any way the higher priority task can prevent the READY task from executing indefinitely, besides performing a taskDelete? I guess the end result needs to be the removal of the task from the READY queue, but how to achieve this? Any help appreciated. -- vxworks -- Andy Atkinson Software Engineer Bldg 31a QinetiQ, Bincleaves Technology Park Weymouth Dorset DT4 8UR Tel : 01305 764660 Fax : 01305 764661 e-mail : AATKINSON1@QinetiQ.com The Information contained in this E-Mail and any subsequent correspondence is private and is intended solely for the intended recipient(s). For those other than the recipient any disclosure, copying, distribution, or any action taken or omitted to be taken in reliance on such information is prohibited and may be unlawful. From vxwexplo-errs@csg.lbl.gov Wed Jan 8 04:03:29 2003 From: Vxworks Exploder Date: Wed Jan 8 04:03:31 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Wed Jan 8 04:03:26 PST 2003 Subject: Re: Task and process Subject: Re: I'm looking for persons iterested in IXP1200 & VxWorks Subject: Re: How about the macro RAM_HIGH_ADRS ? Subject: Re: Task and process Subject: Re: Interrupt Stack Tracing....on MC68EN360 + VxWorks - help Subject: IP Bridging help with 860 SCC1 access Subject: ANN: TwinText 1.3 Released - Source Code Documentation Tool Subject: Maximum RAM for vxworks on Pentium4 Subject: Re: Interrupt Stack Tracing....on MC68EN360 + VxWorks - help Subject: VxW Tasks versus Threads Subject: Re: PC/104 Tri-M MZ104+ BSP Subject: Task and process Subject: Symbol missing Subject: I'm looking for persons iterested in IXP1200 & VxWorks Subject: Re: Memory controller or MMU which should be first in boot code Subject: Re: vxWorks5.4 PPP ipcp question! Subject: Delay before cacheFlush Subject: Setting multiple IP addrs for an interface Subject: Re: Task and process Subject: Re: vxWorks5.4 PPP ipcp question! Subject: Re: IP Bridging help with 860 SCC1 access Subject: Re: howto install a terget server without the developemnt system. Subject: Re: FOM on SDK 3.0 Subject: The options about cc386 Subject: Re: How about the macro RAM_HIGH_ADRS ? Subject: Re: The options about cc386 Subject: Re: WDB Serial Backend Agent Questions Subject: Re: WDB Serial Backend Agent Questions Subject: Re: The length of variable in GNU make Version 3.74 Subject: Re: Setting multiple IP addrs for an interface Subject: Re: vxWorks5.4 PPP ipcp question! Subject: Re: howto install a terget server without the developemnt system. Subject: Re: Task Control - ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: Task and process Date: Mon, 6 Jan 2003 08:51:56 -0500 From: "Pierre Olivier" Message-ID: References: <4bba5330.0301052250.327bb596@posting.google.com> Actually, VxWorks has neither... it uses threads Generally speaking and AFAIK: Process: collection of one or more tasks or threads working together to accomplish a given function. The terms task and process are often interchanged. Task: similar to a thread, but with its own distinct address space, e.g. MMU / virtual memory is used to map between physical and virtual addresses. When a task is switched into context (obtains CPU time), the kernel activates the mapping specific to that task. This has the advantage that task A cannot corrupt the memory used by task B (the kernel / MMU will catch and handle it), but the price to pay is longer context switching time and the need for the MMU to perform address translation. Thread: a thread is an execution flow (usually) with its own task but it does not have its own memory space, it shares a common addressing space with one or more other threads. This has the advantage of having faster context switching times (no MMU translation required) but the drawback is that the addressing space being common, nothing prevents thread A for overwriting elements of thread B without the kernel / MMU catching it. This being said, some RTOS have blurred the disctinction by having memory spaces shared by some tasks/threads but not others, etc... But in the case of VxWorks (the plain vanilla system at least), it comes of-the-shelf as a multi-threaded system with a single address space. There is also no distinction between "kernel space" and "user space" (sometimes called protected or supervisor mode / user or unprotected mode). As a matter of fact, every thread can view the data, variables, code, etc. of every other thread. This is why the VxWorks manuals describe the collection of threads as "The Application". - -- - ---------------------------------------------------------- Pierre Olivier, P. Eng. BSPs | Drivers | Protocols | Applications Design | Implementation | Troubleshooting MPC860 | MPC8260 | VxWorks | QNX HW/SW co-design & integration Emulators & other test equipment T: (450)969-4882 F: (450)969-4883 pierre_olivier@videotron.ca "J. Thangu" wrote in message news:4bba5330.0301052250.327bb596@posting.google.com... > Hello there.. > > sorry for posting such a basic question. What is the exact difference > between a task and a process in the context of VxWorks ? > > Can we use RTP along with VxWorks ? > > I am a novice to VxWorks....do hope these questions can be answered. > > Thanks in advance. > > regards > Thangu --------------------------- Newsgroups: comp.os.vxworks Subject: Re: I'm looking for persons iterested in IXP1200 & VxWorks Date: 6 Jan 2003 07:04:35 -0800 From: gonozal@gmx.at (Toni Kurzberger) Organization: http://groups.google.com/ Message-ID: <8400a733.0301060704.e9fbc01@posting.google.com> References: <2519cc67.0301052333.73e2b5aa@posting.google.com> This will depend on what you intend todo with the IXP1200. What exactly do you intend todo with this Network Processor? Are you working with the Echo Creek Development System? A pure VxWorks 5.5 executes on the IXPs StrongARM core only, it will not touch the micro code engines. Typically VxWorks should be used to handle the control path of frames/packets, initialization of the microcode engines, etc. Work should be done in the IXPs 6 micro code engines. In case you intend doing a Layer 2 Frame (e.g. Ethernet) switch or a Layer 3 Packet (IPv4) forwarder you might be interrested in having a look at TMS from WindRiver. This would handle Layer 2 & Layer 3 control layer (so, this effectivly is a VxWorks + the application). There should be integrations available for the IXP. Well... and what is the current status? Did you manage to get VxWorks running on the StronARM? toni --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How about the macro RAM_HIGH_ADRS ? Date: 6 Jan 2003 07:10:30 -0800 From: gonozal@gmx.at (Toni Kurzberger) Organization: http://groups.google.com/ Message-ID: <8400a733.0301060710.7ae96157@posting.google.com> References: "minskey73" wrote in message news:... > Hi, > I am writing my BSP for MPC860 . In config.h and makefile ,there's a > macro RAM_HIGH_ADRS. I know that the memory between RAM_LOW_ADRS and > RAM_HIGH_ADRS is used for vxWorks image. My board has 128M RAM, and the size > of my image file is 17MBytes . So I want to define the macro as > 0x02000000(32M) in both config.h and makefile. But the BSP do not work. If I > define it as 0x01200000,it works well. Why ? I want to get it. I'm not sure, but this could be a 24bit relative jump problem (which gives you the 32MByte). PPC allows +/- 24bit relative jumps, VxWorks is using them e.g. in the exception handler. The exception handler stub placed at a very low address (close to 0, check the manual of the CPU) might try to do a relative jump into VxWorks... which fails if the image is out of the 32MByte range. hope this helps, toni --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Task and process Date: Mon, 6 Jan 2003 17:54:15 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <4bba5330.0301052250.327bb596@posting.google.com> Reply-To: "Leonid Rosenboim" "J. Thangu" wrote in message news:4bba5330.0301052250.327bb596@posting.google.com... > Hello there.. > > sorry for posting such a basic question. What is the exact difference > between a task and a process in the context of VxWorks ? > This has been discussed at many times in the near past. Beware of terminology confusion - a "process" and "task" mean different things in different operating systems. Also, there is VxWorks AE, which is different from VxWorks in this respect - you can have both tasks and "process" on AE (process = task + protection domain). > Can we use RTP along with VxWorks ? > No, because RTP is not really a protocol - it is a framework of a family of protocols, and the actual protocols in RTP terminology is called "payload format". You will find several ways to do any particular thing, so for complience you will need to look at "profiles". But if you are looking for a particular application that uses RTP, you will find some, e.g. H.323 stack form VoIP does include an H.323 specific implementation of RTP. > I am a novice to VxWorks....do hope these questions can be answered. You should begin by taking the VxWorks Programmer's Guide home for a weekend, and reading it through. It is a readable book (unlike the Tornado manual or the Reference manuals). - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Interrupt Stack Tracing....on MC68EN360 + VxWorks - help Date: Mon, 6 Jan 2003 09:33:36 -0800 From: "msafar" Organization: Posted via Supernews, http://www.supernews.com Message-ID: References: <65a5832b.0212180213.7912e6ba@posting.google.com> <65a5832b.0301040343.6ddcbc6d@posting.google.com> That surprised me. Yes, we have only 5.2 and 5.3 but I didn't expect changes in that area. The M68k processors starting with 68020 support that, but not CPU32+. msafar "suresh kumar b.v" wrote in message news:65a5832b.0301040343.6ddcbc6d@posting.google.com... > hi all, > > In case of Mc68En360 all interrupts will be execuited in a separeate > stack and we can increse/decrease the stack size using macro available > in vxworks project configuration. > > I wish to know the inner details(real stuff) of how stack frame is > formed and is there is any methods to read the contents of interrupt > stack when the device crashed. > > Any guidence/suggestions are greatly helpful. > > regards & thanx > > suresh kumar b.v. > > > "msafar" wrote in message news:... > > Interrupts are executed on interrupted task's stack in case of the 68360. > > > > > > "suresh kumar b.v" wrote in message > > news:65a5832b.0212180213.7912e6ba@posting.google.com... > > > Hi, > > > > > > How to trace interrupt stack on MC68EN360 Processer Board with > > > VxWorks. I know that, VxWorks execuites all interrupts in a separete > > > Stack. > > > > > > Any help is greatly appreciated. > > > > > > regards > > > suresh - bvsuresh@lycos.com --------------------------- Newsgroups: comp.os.vxworks Subject: IP Bridging help with 860 SCC1 access Date: Mon, 06 Jan 2003 17:39:53 GMT From: Jim Organization: Magma Communications Ltd. Message-ID: Hello, I have a IP application bridging application ... I am using vxWorks 5.4 ... Currently my application: 1.) recieves IP packet via IDMA 2.) sends to tnet task 3.) tnet task routes it to SCC1 ethernet interface 4.) SCC1 transmits ... I was wondering if it possible to skip steps 2 and 3 ... every packet i recieve via DMA should be transmitted via ether ... however i also need a tnet task running on SCC1 to recieve and transmit as well ... Any suggestions? Jim --------------------------- Newsgroups: comp.os.vxworks Subject: ANN: TwinText 1.3 Released - Source Code Documentation Tool Date: Mon, 06 Jan 2003 19:50:15 GMT From: "pabtro" Message-ID: TwinText 1.3 Released TwinText is an easy to use source code documentation solution. It generates customizable HTML and HTML Help directly from naturally looking code comments. TwinText supports virtually all programming languages. http://www.ptlogica.com/TwinText/overview.htm --------------------------- Newsgroups: comp.os.vxworks Subject: Maximum RAM for vxworks on Pentium4 Date: 4 Jan 2003 23:34:30 -0800 From: harixxxx@yahoo.com (T. Hariharan) Organization: http://groups.google.com/ Message-ID: <919a9583.0301042334.3de5c764@posting.google.com> Hello, Does anyone know the maximum amount of RAM that vxworks can handle on a Pentium4 system? What is the maximum that you have tried (that works and does not)? Thanks, Hari --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Interrupt Stack Tracing....on MC68EN360 + VxWorks - help Date: 4 Jan 2003 03:43:48 -0800 From: bvsuresh@lycos.com (suresh kumar b.v) Organization: http://groups.google.com/ Message-ID: <65a5832b.0301040343.6ddcbc6d@posting.google.com> References: <65a5832b.0212180213.7912e6ba@posting.google.com> hi all, In case of Mc68En360 all interrupts will be execuited in a separeate stack and we can increse/decrease the stack size using macro available in vxworks project configuration. I wish to know the inner details(real stuff) of how stack frame is formed and is there is any methods to read the contents of interrupt stack when the device crashed. Any guidence/suggestions are greatly helpful. regards & thanx suresh kumar b.v. "msafar" wrote in message news:... > Interrupts are executed on interrupted task's stack in case of the 68360. > > > "suresh kumar b.v" wrote in message > news:65a5832b.0212180213.7912e6ba@posting.google.com... > > Hi, > > > > How to trace interrupt stack on MC68EN360 Processer Board with > > VxWorks. I know that, VxWorks execuites all interrupts in a separete > > Stack. > > > > Any help is greatly appreciated. > > > > regards > > suresh - bvsuresh@lycos.com --------------------------- Newsgroups: comp.os.vxworks Subject: VxW Tasks versus Threads Date: 4 Jan 2003 11:45:46 -0800 From: peter_holmes2003@yahoo.com (Peter) Organization: http://groups.google.com/ Message-ID: <9e41635d.0301041145.2af8ea3@posting.google.com> I have a question egarding the VxWorks Tasks. Unix threads share the code and data segments of the process they belong to but have separate stack segments. Do VxWorks tasks have a structure similar to Unix Processes (data/code/stack segment). Also what segements if any are shared between different tasks. - -- Yuri --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PC/104 Tri-M MZ104+ BSP Date: 5 Jan 2003 19:57:48 -0800 From: gpbeck_99@yahoo.com (Gary Beck) Organization: http://groups.google.com/ Message-ID: References: Thanks DrDiags for all the info. I have not been able to determine where the boot "crashes" causing a system reboot. I'm using a PCI VGA board to monitor the boot process. I can see bootrom.sys being loaded (accessed) from the floppy (displayed on the monitor "V1.6+++++++++...") Just as it seems it will start executing the boot sequence, the system resets. I'll try disabling the parallel port along with other unnecessary interfaces to see if that makes any difference. However, I would like to use both COM ports and both ethernet ports (reason we got this board). We will need to boot from the DDS, but for now I'm trying the floppy since I figured that would be the easiest. I've got a TSR into WindRiver regarding the pc486 BSP. Hopefully they get back to me on Monday. I've also contacted Tri-M, but they were not much help initially. I'll try them again. Thanks again. I'll let you know how I make out. "drdiags" wrote in message news:... > Hello Gary, > > The only suggestion I have is that you should contact your local > Wind River sales team to look into purchasing the 486 BSP. I > would imagine there are other 3rd party folks who may respond, > so you may want to re-post to clear out this thread. BTW, > when you state that the target doesn't boot, do you know > where it fails? I found that I needed to purchase a PC104+ > VGA board to review the BIOS settings (though setting the > BIOS to use the serial port is possible, I only had a hyperterminal > connection, so the graphics were hard on the eyes). Also, > have you setup the DiskOnChip to boot vxWorks or are you using > the floppy? One quirk (un-verified by me) is the one needs to > set the LPT to not use IRQ 7 in the BIOS Settings > (claims leaving it will hang the system when vxWorks boots up). > You could set it to 5. And I never could get IRQ 11/12 > (USB and PS2 mouse) free for use by vxWorks even when > I disabled these devices in the BIOS (but that is another story). > Plus the two on-board ethernets kept using IRQ 10/11 > instead of 9/10 as documented. > So the bottom line is that you could contact TRI-M and > have them help work through this or I know that the Wind River > pc486 BSP (with slight modifications) works for this h/w. As > one final note, I found that doing anything with the PCI Interrupts > in BIOS (such as reserving them, setting them to use legacy devices > or the like) would cause vxWorks to crash. I could only let the > PCI IRQs be managed by the BIOS. HTH > > "Gary Beck" wrote in message > news:eac587be.0301040702.282aeb4b@posting.google.com... > > I'm trying to use the 486 core. According to the documentation that > > came with the BSP from zfmicro.com, the ZFx86 is not compatible with > > the Pentium core. I've tried to use a generic 486 BSP but couldn't > > find one. I've tried both the templatex86 and pcPentium BSPs with > > defining the CPU to be a 486, but still doesn't boot. > > > > Any other ideas? Thanks for responding. > > > > > > "drdiags" wrote in message > news:... > > > Hello Gary, > > > > > > Are you using the 486 or Pentium core? I worked with folks using the > > > 486 core and they just used the stock vxWorks 486 BSP and had it > > > working for them (with of course mods for their PCMCIA and custom > > > H/W boards). Good luck. > > > > > > "Gary Beck" wrote in message > > > news:eac587be.0301031332.c0a0d2f@posting.google.com... > > > > I'm looking for a BSP for this board. It has the ZFx86 processor on > > > > board. I've downloaded the BSP from zfmicro.com, but I can't use it > > > > to create a new project. > > > > > > > > Any ideas? --------------------------- Newsgroups: comp.os.vxworks Subject: Task and process Date: 5 Jan 2003 22:50:56 -0800 From: laserjet@fastmail.fm (J. Thangu) Organization: http://groups.google.com/ Message-ID: <4bba5330.0301052250.327bb596@posting.google.com> Hello there.. sorry for posting such a basic question. What is the exact difference between a task and a process in the context of VxWorks ? Can we use RTP along with VxWorks ? I am a novice to VxWorks....do hope these questions can be answered. Thanks in advance. regards Thangu --------------------------- Newsgroups: comp.os.vxworks Subject: Symbol missing Date: Tue, 07 Jan 2003 12:03:59 +0100 From: Christian Weber Organization: In2p3 Message-ID: <3E1AB41F.8010609@ires.in2p3.fr> Hi VxWorkers, I was writing a C++ module for a PowerPC604 target. First I've included C++ run-time in a new compiled kernel to get full C++ support. When I did ld < my_module_name.o I got the following error at the console : Undefined symbol: _._13Iostream_init (binding 1 type 0) value = 16762744 = 0xffc778 = _GLOBAL_.I.hello(void) + 0x870 1. when i launch objdump on the vxWorks executable there is no _._13Iostream_init symbol to be seen (only _$_13Iostream_init) 2. the symbol _._13iostream_init results from the module compilation. Is this legal for VxWorks ? Should the dot symbol be replaced by the $ symbol ? and how ? Is this a default in the elfSym.c code used to extract the symbol table from the vxWorks binary ? Can somebody help me ? Many thanks --------------------------- Newsgroups: comp.os.vxworks Subject: I'm looking for persons iterested in IXP1200 & VxWorks Date: 5 Jan 2003 23:33:55 -0800 From: upily@mail.kaist.ac.kr (UPILY) Organization: http://groups.google.com/ Message-ID: <2519cc67.0301052333.73e2b5aa@posting.google.com> I'm a newer to IXP1200 and VxWorks. I have studied the programming of microengin in workbench, and I am trying to port a router application into IXP1200 evaluation board that I have bought. I have also perchased the VxWorks 5.4 and Tornado 2.2 Is there anyone to help me to make concept of the relationship between StrongArm and Microengine on VxWorks in the IXP1200 target . I can make the VxWorks bootable image in Tornado. What should I do next? How the application should be coded to initillize the IXP1200 hardware, communicate with microengine, and run on the VxWorks in the IXP1200 target... I don't have the concepts of all of them. Is there anyone to share your experiences to me, please? --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Memory controller or MMU which should be first in boot code Date: Tue, 07 Jan 2003 09:03:26 -0500 From: Varndell Engineering Organization: Posted Via Newsfeeds.com = SPEED+RETENTION+COMPLETION = http://www.newsfeeds.com Message-ID: <8dnl1vc41t0v7gnghg959a80qmh9au27os@4ax.com> References: <4cd6f00b.0301030326.2ec1fc24@posting.google.com> <3E1581DF.3000905@hotmail.com> On Tue, 7 Jan 2003 10:40:52 +0100, "Michael Lawnick" wrote: >Just to increase confusion: >take a look at PPC440GP. Here the very first instructions have to be the >initialisation steps of MMU, as PPC440 has a physical address > 4GB and is >not able to work without MMU. To make initialisation possible, the MMU-code >has to be placed at 0xFFFFF000, reset vector has to jump to that code. Indeed, just finished a BSP for Wind River's new 440gp PPMC board. I thought it best not to muddy the waters. ;) Regards, George Varndell -- Varndell Engineering, LLC Embedded Systems Expertise Need a vxWorks END for National Semiconductor DP8382x GigE? http://www.varndellengineering.com - -----------== Posted via Newsfeed.Com - Uncensored Usenet News ==---------- http://www.newsfeed.com The #1 Newsgroup Service in the World! - -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =----- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: vxWorks5.4 PPP ipcp question! Date: 7 Jan 2003 06:32:38 -0800 From: gonozal@gmx.at (Toni Kurzberger) Organization: http://groups.google.com/ Message-ID: <8400a733.0301070632.72d1c8b7@posting.google.com> References: Hi, VxWorks bundled PPP client will not do this... it intentionally replaces the 0.0.0.0 by the primary local ethernet IP (to give you somekind of unnumbered Point to Point interface as specified in e.g. RFC 1812). There are only limited options to overcome this: * WindNet PPP allows both methods, it would be configurable * WRS Support or Services should be able to patch this for you * You could try to "hack" this into your PPP raw frame... althogh, as mentioned, this would be a hack sorry toni --------------------------- Newsgroups: comp.os.vxworks Subject: Delay before cacheFlush Date: 7 Jan 2003 06:37:22 -0800 From: giff@ciprico.com (D. Gifford) Organization: http://groups.google.com/ Message-ID: I have a design that uses the PPC750 and L2 cache. When I place data in the L2 cache sometimes I need to guarantee that the data is in main system memory for another device to use. For this I am using the the cacheLib function "cacheFlush" but it seems to not always work properly. If I place a delay between when I write the last variable into cache and when I call the cacheFlush function everything seems to work. Has anyone seen tis before? --------------------------- Newsgroups: comp.os.vxworks Subject: Setting multiple IP addrs for an interface Date: Mon, 6 Jan 2003 09:20:10 -0500 From: "Harjinder Chayra" Organization: Storm Internet Services Message-ID: Sender: terayon@gw-terayon.storm.ca What calls do I need to make to give an Ethernet interface 2 IP addresses? cheers Harjinder --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Task and process Date: 6 Jan 2003 07:12:29 -0800 From: gonozal@gmx.at (Toni Kurzberger) Organization: http://groups.google.com/ Message-ID: <8400a733.0301060712.45d61007@posting.google.com> References: <4bba5330.0301052250.327bb596@posting.google.com> Check for the recent postings... there are a few discussion VxWorks Task model (compared to Unix Processes/Threads). This might give you the answer you're looking for. VxWorks does not support RTP (we are talking about Real Time Protocol?) out of the box... of course it should be possible to place a RTP stack on top of it (as RTP is on top of UDP this would be a socket application). toni --------------------------- Newsgroups: comp.os.vxworks Subject: Re: vxWorks5.4 PPP ipcp question! Date: Tue, 7 Jan 2003 17:48:11 +0000 (UTC) From: David Laight Organization: BT Openworld Message-ID: References: <8400a733.0301070632.72d1c8b7@posting.google.com> Toni Kurzberger wrote: > Hi, > > VxWorks bundled PPP client will not do this... it intentionally > replaces the 0.0.0.0 by the primary local ethernet IP (to give you > somekind of unnumbered Point to Point interface as specified in e.g. > RFC 1812). Worse still, it will try to do a DNS lookup in order to get the address! Under some conditions this has to time out (even though there is no route to the DNS server). I don't think it is trying to generate an 'unnumbered' interface as these are not supported by the vxWorks IP routing code. My guess was that it is trying to be 'helpful'. > There are only limited options to overcome this: > * WindNet PPP allows both methods, it would be configurable > * WRS Support or Services should be able to patch this for you > * You could try to "hack" this into your PPP raw frame... althogh, as > mentioned, this would be a hack * you could follow through the code paths and patch out one of the relevant calls. OTOH if you are trying to do anything complicated there are enough bugs lurking in the PPP code that you might get the source for it from WRS. David --------------------------- Newsgroups: comp.os.vxworks Subject: Re: IP Bridging help with 860 SCC1 access Date: Mon, 6 Jan 2003 20:06:23 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: Reply-To: "Leonid Rosenboim" "Jim" wrote in message news:JbjS9.5551$j5.67025@news... > Hello, > I have a IP application bridging application ... > > I am using vxWorks 5.4 ... > > Currently my application: > 1.) recieves IP packet via IDMA > 2.) sends to tnet task > 3.) tnet task routes it to SCC1 ethernet interface > 4.) SCC1 transmits ... > > I was wondering if it possible to skip steps 2 and 3 ... every packet i > recieve via DMA should be transmitted via ether ... however i also need > a tnet task running on SCC1 to recieve and transmit as well ... Recall that the main reason for deferring packet input processing ti tNetTask was to reduce the interrupt blocking time to a minimum, and be able to have hard RT tasks run at higher priority then network. Now, if all you do on the system is bridge Ethernet packets, and no other hard-RT code that could suffer if your ISR processing takes longer, you can in fact do all your input and output packet processing at the interrupt level, and defer to tNetTask only the handling of management PDUs. Just keep your eyes on the money, and remember what is important for YOUR application. - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: howto install a terget server without the developemnt system. Date: 7 Jan 2003 12:52:36 -0800 From: larryc@softcon.net (larry ciummo) Organization: http://groups.google.com/ Message-ID: References: <1041935658.792197@newsreader2.wirehub.nl> Make a batch file or shell script or whatever with... tgtsvr.exe 146.58.66.236 -A -s -V -m 4194304 -B wdbrpc -Bt 30 -Br 5 -f elf -c C:/vxworks/vxWorks in it. Use tornado tgt server tool to see what the parameters are. Good luck, LC "Renee Teunissen" wrote in message news:<1041935658.792197@newsreader2.wirehub.nl>... > Hi, > > I like to seperate the development PC from the targetserver. I dont > want to install a complete tornadoset on this server, only the > targetserver. Is there a way to do this? > > Thanx, > Rneee. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: FOM on SDK 3.0 Date: 7 Jan 2003 14:32:32 -0800 From: cmosexod@ix.netcom.com (jjl) Organization: http://groups.google.com/ Message-ID: References: Never mind. Found the answer - the hard way. Is there anyone developing FOM for the SDK out there ? I can think of SiberCore.. cmosexod@ix.netcom.com (jjl) wrote in message news:... > Hello, > > Has someone developed a Foreign Object Model for the IXP2400/2800 ? > Specifically, for interfacing to the QDR SRAM ports. If so, I am > wondering if you had any problems on reading data from the QDR SRAM > port pins. > We have developed a QDR-SSRAM FOM for the IXP2x00 which interfaces to > our Verilog code for doing "co-simulation". It uses sockets to > communicate between the VCS (out Verilog simulator) and the FOM DLL > (VC++ 6.0). We can do writes from the ME's all the way to the Verilog, > but are having difficulties with reads. The IXP simulator > (transactor) is not reading-in the data presented to the data-in port > (QDR0_D_H<17:0>). It appears that the simualtor is using an > "internal" virtual SRAM model. The manuals are very sketchy on how to > disable it, if it is the case. > > Given that this is my first posting to this groups and my searches to > other groups did not yield much, I am not sure if this is the proper > group for my post. If not, would appretiate a pointer to the group(s) > most applicable on this subject. > > regards, > -Joon --------------------------- Newsgroups: comp.os.vxworks Subject: The options about cc386 Date: 7 Jan 2003 17:25:09 -0800 From: hotJacky@163.net (Bryan) Organization: http://groups.google.com/ Message-ID: <8f77d4a.0301071725.239f6b4a@posting.google.com> Tornado provide different compilers for different cpu type.In the last compiler stage for pentium project,cc386 executed the following command just as follow: "cc386 -nostdlib -r -Wl,-X -Wl,@H:\version\vxproject\prjObjs.lst -o partialImage.o " In GCC documention -r and -Wl is not mentioned.I think these options is extended by tornade. My question what the -r and -Wl mean? And how get the detailed doucument about cc386,ccppc,ccarm? Sincerely, Bryan --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How about the macro RAM_HIGH_ADRS ? Date: Wed, 8 Jan 2003 10:16:45 +0800 From: "minskey73" Organization: Bentium Ltd. (CN99) Message-ID: References: <8400a733.0301060710.7ae96157@posting.google.com> thank you a lot , I means that my vxWorks image is 17M more. In order to download the image into target merchine , I have to modifiy the RAM_HIGH_ADS to 0x12000000, and to keep the same RAM_HIGH_ADRS , also , I have to rebuild bootrom.hex . So in bootrom.hex , the macro is the same. If I define the macro as 32M , my END driver and console/aux do not work(I can not see anything), so I think that the bootrom.hex does not work. Not the vxWorks image does not work . Guoch "Toni Kurzberger" ??????:8400a733.0301060710.7ae96157@posting.google.com... > "minskey73" wrote in message news:... > > Hi, > > I am writing my BSP for MPC860 . In config.h and makefile ,there's a > > macro RAM_HIGH_ADRS. I know that the memory between RAM_LOW_ADRS and > > RAM_HIGH_ADRS is used for vxWorks image. My board has 128M RAM, and the size > > of my image file is 17MBytes . So I want to define the macro as > > 0x02000000(32M) in both config.h and makefile. But the BSP do not work. If I > > define it as 0x01200000,it works well. Why ? I want to get it. > > I'm not sure, but this could be a 24bit relative jump problem (which > gives you the 32MByte). PPC allows +/- 24bit relative jumps, VxWorks > is using them e.g. in the exception handler. The exception handler > stub placed at a very low address (close to 0, check the manual of the > CPU) might try to do a relative jump into VxWorks... which fails if > the image is out of the 32MByte range. > > hope this helps, > toni --------------------------- Newsgroups: comp.os.vxworks Subject: Re: The options about cc386 Date: Tue, 07 Jan 2003 21:38:53 -0600 From: Joe Durusau Organization: WEBUSENET.com Message-ID: <3E1B9D4D.1050205@bellsouth.net> References: <8f77d4a.0301071725.239f6b4a@posting.google.com> Bryan wrote: > Tornado provide different compilers for different cpu type.In the last > compiler stage for pentium project,cc386 executed the following > command just as follow: > "cc386 -nostdlib -r -Wl,-X -Wl,@H:\version\vxproject\prjObjs.lst -o > partialImage.o " > > In GCC documention -r and -Wl is not mentioned.I think these options > is extended by tornade. > > My question what the -r and -Wl mean? And how get the detailed > doucument about cc386,ccppc,ccarm? > > Sincerely, > Bryan Both those are mentioned in my copy of gcc documentation. The -r is really passed to ld by cc. W1 is a flag telling the gcc driver to pass what follows on to one of the subordinate progs, IIRC the assembler. Take a look at the full docs for gcc, available at www.gnu.org. cc is just the way WRS gets a cross-compiler for each target to have a different name. They are all implementations of gcc. Speaking only for myself, Joe Durusau --------------------------- Newsgroups: comp.os.vxworks Subject: Re: WDB Serial Backend Agent Questions Date: 7 Jan 2003 19:50:12 -0800 From: embd_man@hotmail.com (Russel) Organization: http://groups.google.com/ Message-ID: <42fa4adc.0301071950.74419b5c@posting.google.com> References: Im also facing similar problems while downloading my image through the serial port , sometimes it hangs and many a times it works but the image gets corrupted while transferring throught the serial port... infact i was looking for some diagnostic tool which could help me in analysing the problem.. which is the shareware serial port diagnostic tool you have used, could you give me the URL so that i can download and analyze my problems.. Thanx in advance larryc@softcon.net (larry ciummo) wrote in message news:... > This sounds like the standard Win 2000 target server problem. The > priority of the target server needs to be increased to "real time". > Try right-clicking on the target server in the task manager and > selecting RT priority. > > LC > > > "fred" wrote in message news:... > > Hello, > > > > We've successfully used Tornado 2.0 (with 2 patches) on custom built MIPS > > R3000 board. The board doesn't have an Ethernet interface so we've used the > > serial backend agent for Tornado and all has worked fine for about 2 years. > > Our host PC (Compaq running Windows NT) was recently upgraded to a Dell P4 > > machine running Windows 2000 and we installed Tornado 2.02. > > > > Now we are having trouble downloading object files to the board using our > > new setup where we never had problems before. The Backend target agent > > always starts successfully and we have been able to start a shell but we see > > problems when we download object code. Approximately 1 out if 50 attempts > > works but the other 49 fail (the download dialog stays at 0% forever). > > > > To try and see what was happening I found a shareware serial port diagnostic > > tool that you can start before launching Tornado and it records all activity > > at a specified COM port. When I run this program I can see the data being > > exchanged between the target and the host PC when VxWorks boots and the > > target server starts. When we try to download I can see 5-6 exchanges > > between the target and the host PC then nothing -- the download dialog stays > > at 0% with the little file flying between the two folders. > > > > Is there any way to decode what is in these exchanges? Is there any way for > > me to debug this problem?? > > > > Thanks, > > > > David Hyde --------------------------- Newsgroups: comp.os.vxworks Subject: Re: WDB Serial Backend Agent Questions Date: Tue, 7 Jan 2003 23:16:21 -0600 From: "fred" Organization: Posted via Supernews, http://www.supernews.com Message-ID: References: <42fa4adc.0301071950.74419b5c@posting.google.com> Reply-To: "fred" The serial port tool came from http://www.hhdsoftware.com/sermon.html. You start up the tool first and specify which port (COM1-2) you wish to monitor. All the raw serial port traffic is shown in various formats once you start the target server on that particular port. Pretty cool. I researched this a little more today and found a really good explanation (although not very complete) of the WDB protocol that is used on the serial port itself in the Tornado API manual that came with VxWorks. This protocol would need to be fully understood to know how to interpret the raw bytes flowing across the link (and being monitored by the shareware program). There is also a way to have the target server record all the RPC information for all the packets it sends and receives. The method is also covered in the Tornado API manual. I'll try the priority method first thing in the morning. I specifically asked our wrs support engineer about this and he stated no one else was having any problems with win2k and VxWorks and that it must be our board and bsp. Oh well. David Hyde "Russel" wrote in message news:42fa4adc.0301071950.74419b5c@posting.google.com... > Im also facing similar problems while downloading my image through the > serial port , sometimes it hangs and many a times it works but the > image gets corrupted while transferring throught the serial port... > infact i was looking for some diagnostic tool which could help me in > analysing the problem.. which is the shareware serial port diagnostic > tool you have used, could you give me the URL so that i can download > and analyze my problems.. > > Thanx in advance > > > larryc@softcon.net (larry ciummo) wrote in message news:... > > This sounds like the standard Win 2000 target server problem. The > > priority of the target server needs to be increased to "real time". > > Try right-clicking on the target server in the task manager and > > selecting RT priority. > > > > LC > > > > > > "fred" wrote in message news:... > > > Hello, > > > > > > We've successfully used Tornado 2.0 (with 2 patches) on custom built MIPS > > > R3000 board. The board doesn't have an Ethernet interface so we've used the > > > serial backend agent for Tornado and all has worked fine for about 2 years. > > > Our host PC (Compaq running Windows NT) was recently upgraded to a Dell P4 > > > machine running Windows 2000 and we installed Tornado 2.02. > > > > > > Now we are having trouble downloading object files to the board using our > > > new setup where we never had problems before. The Backend target agent > > > always starts successfully and we have been able to start a shell but we see > > > problems when we download object code. Approximately 1 out if 50 attempts > > > works but the other 49 fail (the download dialog stays at 0% forever). > > > > > > To try and see what was happening I found a shareware serial port diagnostic > > > tool that you can start before launching Tornado and it records all activity > > > at a specified COM port. When I run this program I can see the data being > > > exchanged between the target and the host PC when VxWorks boots and the > > > target server starts. When we try to download I can see 5-6 exchanges > > > between the target and the host PC then nothing -- the download dialog stays > > > at 0% with the little file flying between the two folders. > > > > > > Is there any way to decode what is in these exchanges? Is there any way for > > > me to debug this problem?? > > > > > > Thanks, > > > > > > David Hyde --------------------------- Newsgroups: comp.os.vxworks Subject: Re: The length of variable in GNU make Version 3.74 Date: 08 Jan 2003 02:00:56 -0500 From: "Paul D. Smith" Organization: GNU's Not Unix! Message-ID: References: <8f77d4a.0301072224.1814f147@posting.google.com> Reply-To: psmith@gnu.org Sender: psmith@lemming.engeast.baynetworks.com %% hotJacky@163.net (Bryan) writes: b> The max length of variable in GNU make is about 4096.If exceed,the b> process of make will exit!For example: b> test: b> LONGSTR=$(AAA) b> @echo $LOGNSTR b> If the length of the string that AAA express is less than 4093,echo b> can work correctly,or it will be failed! There is no maximum length of a variable in GNU make: all values are dynamically sized so they can be as large as your memory allows. However, there may well be a maximum length of a line that your shell will accept: remember that make simply invokes a shell to run each line of the command. You haven't specified what kind of operating system you're using, but DOS and Windows-based systems are notorious for having small maximum command line sizes (for example). b> Can the length be changed to apply compile large project? Sure: get a better operating system to compile it on ... 1/2 :). This is an OS restriction and has nothing to do with GNU make. If your OS is Windows you might be able to get around it by building GNU make to use a different shell; you will need a newer version (3.74 is _REALLY_ old) and look at the README.W32 file. Also check the make-w32@gnu.org mailing list for Windows-specific issues with GNU make. - -- - ------------------------------------------------------------------------------- Paul D. Smith Find some GNU make tips at: http://www.gnu.org http://make.paulandlesley.org "Please remain calm...I may be mad, but I am a professional." --Mad Scientist --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Setting multiple IP addrs for an interface Date: 8 Jan 2003 01:17:36 -0800 From: gonozal@gmx.at (Toni Kurzberger) Organization: http://groups.google.com/ Message-ID: <8400a733.0301080117.16dfeeb9@posting.google.com> References: <8400a733.0301070054.74033553@posting.google.com> "Martin Roth" wrote in message news:... > Toni, > > As I understand TCP/IP networking, the additional IP address added by > ifAddrAdd() should be from the same subnet. Am I correct ? Actually it's different. VxWorks is prepared to handle n fully routeable addresses on a single interface. All of them have to be on different networks. E.g.: fei0 123.123.123.123:ffffff00 fei0 12.12.12.12:ffff0000 => Would be legal and should work. fei0 123.123.123.123:ffffff00 fei0 123.123.123.124:ffffff00 => Will most likely cause trouble with VxWorks. I'm not sure about the standard RIP and OSPF... in case you plan using them it should be checked whether they can handle multiple networks on a single interface. At least this is something the routing code of the SENS stack is prepared to handle. toni --------------------------- Newsgroups: comp.os.vxworks Subject: Re: vxWorks5.4 PPP ipcp question! Date: 8 Jan 2003 01:31:17 -0800 From: gonozal@gmx.at (Toni Kurzberger) Organization: http://groups.google.com/ Message-ID: <8400a733.0301080131.3d0b382a@posting.google.com> References: <8400a733.0301070632.72d1c8b7@posting.google.com> Hi, interresting... this brings me an idea. It should be possible to change the local hosts IP address just before invoking the PPP Initialization call. This might work (I have not tried with PPP... but I'm quite sure it will at least default the IP Address to 0.0.0.0): - -> hostAdd "ppplocal","0.0.0.0" value = 0 = 0x0 - -> hostShow hostname inet address aliases - -------- ------------ ------- localhost 127.0.0.1 [...] ppplocal 0.0.0.0 value = 0 = 0x0 - -> sethostname "ppplocal",8 value = 0 = 0x0 - -> buf=malloc(100) new symbol "buf" added to symbol table. buf = 0xffaa98: value = 16755368 = 0xffaaa8 = buf + 0x10 - -> gethostname(buf,99) value = 0 = 0x0 - -> printf "[%s]\n",buf [ppplocal] Be sure to configure the resolver sequence correct (to first look into the targets local host's table). Be sure to change the name back after the connection is up. I'm not sure what side effects this could give you on your system, but it might be worth a try. Would be interrested in the result of this, best regards, toni --------------------------- Newsgroups: comp.os.vxworks Subject: Re: howto install a terget server without the developemnt system. Date: Wed, 8 Jan 2003 10:42:52 +0100 From: "Renee Teunissen" Organization: Wirehub! Internet, The Netherlands Message-ID: <1042019201.111306@newsreader1.wirehub.nl> References: <1041935658.792197@newsreader2.wirehub.nl> HI, Thannk you for your answer - but this is not what I'm looking for. What I meant was how do I install - not run - the target-server .exe, dll's and regkeys on a clean system? Thanx, Renee. "larry ciummo" wrote in message news:bf43546.0301071252.6c2124e5@posting.google.com... > Make a batch file or shell script or whatever with... > > tgtsvr.exe 146.58.66.236 -A -s -V -m 4194304 -B wdbrpc -Bt 30 -Br 5 -f > elf -c C:/vxworks/vxWorks > > in it. > > Use tornado tgt server tool to see what the parameters are. > > > Good luck, > LC > > > > "Renee Teunissen" wrote in message news:<1041935658.792197@newsreader2.wirehub.nl>... > > Hi, > > > > I like to seperate the development PC from the targetserver. I dont > > want to install a complete tornadoset on this server, only the > > targetserver. Is there a way to do this? > > > > Thanx, > > Rneee. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Task Control - Date: Wed, 08 Jan 2003 12:12:27 +0100 From: Wim Mosterman Organization: disorganized Message-ID: <1042024486.289719@mmisg1.best.ms.philips.com> References: Atkinson Andrew wrote: > Hi All > > Once a task has entered the READY state and is only prevented from executing > by a higher priority task, is there any way the higher priority task can > prevent the READY task from executing indefinitely, besides performing a > taskDelete? > > I guess the end result needs to be the removal of the task from the READY > queue, but how to achieve this? > Andy, taskSuspend(). Regards, Wim > > Any help appreciated. > > -- vxworks -- > > Andy Atkinson > Software Engineer > Bldg 31a > QinetiQ, Bincleaves Technology Park > Weymouth > Dorset > DT4 8UR > > Tel : 01305 764660 > Fax : 01305 764661 > e-mail : AATKINSON1@QinetiQ.com > > The Information contained in this E-Mail and any subsequent correspondence > is private and is intended solely for the intended recipient(s). > For those other than the recipient any disclosure, copying, distribution, > or any action taken or omitted to be taken in reliance on such information > is prohibited and may be unlawful. --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Wed Jan 8 23:59:51 2003 From: nilanjan roychowdhury Date: Wed Jan 8 23:59:52 PST 2003 Subject: Basic Doubt --0-1462287254-1042099184=:21184 Content-Type: text/plain; charset=us-ascii Hi all, I have recently started working with Vxworks. So I have one basic doubt. The manual says that Vxworks uses a special context for the ISR to avoid context switching. Now suppose my task t1 is currently running and then some interrupt occurs. Then what will be the state of t1 ( definitely it will be other than running !!) ??because now the ISR will get the CPU. So if a state transition of task t1 is occuring then how it is different than the normal context switching. Please help regards Nilanjan --------------------------------- Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now --0-1462287254-1042099184=:21184 Content-Type: text/html; charset=us-ascii

Hi all,

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

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

Please help

regards

Nilanjan

 



Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now --0-1462287254-1042099184=:21184-- From vxwexplo-errs@csg.lbl.gov Thu Jan 9 04:09:02 2003 From: Vxworks Exploder Date: Thu Jan 9 04:09:03 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Thu Jan 9 04:08:58 PST 2003 Subject: Re: howto install a terget server without the developemnt system. Subject: Re: Task Control - Subject: Does anybody know any Headhunter who places in Wireless/Telecom software dev. Subject: Serial port driver Subject: file system Subject: Re: Symbol missing Subject: Re: Setting multiple IP addrs for an interface Subject: Re: [HELP]choose which TL in trueffs Subject: Re: file system Subject: Re: Task Control - Subject: Re: Task Control - Subject: Re: WDB Serial Backend Agent Questions Subject: Re: Serial port driver Subject: Re: POSIX compliant calls for sockets in VxWorks Subject: Re: Setting multiple IP addrs for an interface Subject: Re: Setting multiple IP addrs for an interface Subject: Re: Evaluating port to VxWorks - for medical imaging application - C/C++ Subject: Re: I'm looking for persons iterested in IXP1200 & VxWorks Subject: Re: Setting multiple IP addrs for an interface Subject: Re: [HELP]choose which TL in trueffs Subject: 1394 Digital Cameras (Sony XCD-X700) - External Triggering Subject: Re: Basic Doubt ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: howto install a terget server without the developemnt system. Date: Wed, 8 Jan 2003 14:24:23 +0100 From: "Renee Teunissen" Organization: Wirehub! Internet, The Netherlands Message-ID: <1042032492.596731@newsreader1.wirehub.nl> References: <1041935658.792197@newsreader2.wirehub.nl> <1042019201.111306@newsreader1.wirehub.nl> <3E1C1B2E.2020506@bellsouth.net> :) But I dont want tornado on it :) I want to install the target server on a "standalone" PC not my development workstation.. Therefore I was wondering if it is possible to do ONLY a install of the target server without all the tornado stuff I dont need.... I have a tornado CDROM with licences. I just like to know how I can install just a target server. Or what I need to copy from my system to transfer the target server to that other machine. Cheers, Renee. "Joe Durusau" wrote in message news:3E1C1B2E.2020506@bellsouth.net... > It's part of Tornado. You install Tornado (some version) > from the CDROM. It comes with instructions, and on most > platforms is pretty automagic. > > Speaking only for myself, > > Joe Durusau > > > Renee Teunissen wrote: > > HI, Thannk you for your answer - but this is not what I'm looking for. > > What I meant was how do I install - not run - the target-server .exe, > > dll's and regkeys on a clean system? > > > > Thanx, > > Renee. > > > > "larry ciummo" wrote in message > > news:bf43546.0301071252.6c2124e5@posting.google.com... > > > >>Make a batch file or shell script or whatever with... > >> > >>tgtsvr.exe 146.58.66.236 -A -s -V -m 4194304 -B wdbrpc -Bt 30 -Br > > > > 5 -f > > > >>elf -c C:/vxworks/vxWorks > >> > >>in it. > >> > >>Use tornado tgt server tool to see what the parameters are. > >> > >> > >>Good luck, > >>LC > >> > >> > >> > >>"Renee Teunissen" > > > > > agree.with.these.terms@mail.zevenaar.org> wrote in message > > news:<1041935658.792197@newsreader2.wirehub.nl>... > > > >>>Hi, > >>> > >>>I like to seperate the development PC from the targetserver. I > >> > > dont > > > >>>want to install a complete tornadoset on this server, only the > >>>targetserver. Is there a way to do this? > >>> > >>>Thanx, > >>>Rneee. > >> > > > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Task Control - Date: Wed, 8 Jan 2003 09:05:11 -0500 From: Keith Arner Organization: Marconi Message-ID: References: <1042024486.289719@mmisg1.best.ms.philips.com> Reply-To: Keith Arner On Wed, 8 Jan 2003, Wim Mosterman wrote: > Atkinson Andrew wrote: > > > Once a task has entered the READY state and is only prevented from executing > > by a higher priority task, is there any way the higher priority task can > > prevent the READY task from executing indefinitely, besides performing a > > taskDelete? > > > > I guess the end result needs to be the removal of the task from the READY > > queue, but how to achieve this? > > taskSuspend(). Using taskSuspend() is not advisable. The higher priority task has no way of knowing what the lower priority task is doing at the moment that it gets suspended. So, the lower priority task could become suspended while holding the heap lock, or a lock protecting the internals of an I/O driver, or what have you. Step back and ask yourself why you need to prevent it from executing. A task executing is not a problem in and of itself. It only becomes a problem if, say, it prevents a third task from running. Maybe you need to increase the priority of the third task. Maybe you need to have the second task periodically do a taskDelay(0). Maybe you need to have the second and third tasks coordinate their activities more closely. The answer depends on what you are attempting to prevent from happening. Keith - -- "One should not pursue goals that are easily achieved." - Albert Einstein, 1915 --------------------------- Newsgroups: comp.os.vxworks Subject: Does anybody know any Headhunter who places in Wireless/Telecom software dev. Date: 8 Jan 2003 06:39:26 -0800 From: tvnaidu@yahoo.com (vasanta) Organization: http://groups.google.com/ Message-ID: <5d593b38.0301080639.7cf36236@posting.google.com> Guys, Does anybody know any Headhunter who places in Wireless/Telecom software development. Appreciated and thanks in advance Vasanta. --------------------------- Newsgroups: comp.os.vxworks Subject: Serial port driver Date: Wed, 8 Jan 2003 10:44:46 -0500 From: "Bin Lin" Message-ID: Does anyone have a sample code of serial port driver or document? Thank you very much. Lin --------------------------- Newsgroups: comp.os.vxworks Subject: file system Date: Wed, 08 Jan 2003 15:58:39 GMT From: "Scott S" Organization: Road Runner Message-ID: Question: I am using Tornado 2.0 and VxWorks. I am looking for a way to put all read only data and code separate from all read/write data on a flash disk which I am using as an ATA. The read only portion of the hard drive I would like to use dosFs and for the read/write I would like to use the raw file system. Is it possible to partition my flash disk into 2 sectors each with a different file system? Thanks in advance, - -SDS --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Symbol missing Date: Wed, 08 Jan 2003 16:27:16 GMT From: Dave Bryan Organization: The PTR Group Message-ID: References: <3E1AB41F.8010609@ires.in2p3.fr> Christian Weber wrote: > Hi VxWorkers, > > I was writing a C++ module for a PowerPC604 target. > First I've included C++ run-time in a new compiled kernel to get full > C++ support. > > When I did ld < my_module_name.o I got the following error at the console : > > Undefined symbol: _._13Iostream_init (binding 1 type 0) > > value = 16762744 = 0xffc778 = _GLOBAL_.I.hello(void) + 0x870 > > 1. when i launch objdump on the vxWorks executable there is no > _._13Iostream_init symbol to be seen (only _$_13Iostream_init) > ... Christian - You symbols are probably mangled. Make sure you have C++ symbol demangler INCLUDE_CPLUS_DEMANGLER in your image. Dave ===================================================== T h e P T R G r o u p, I n c. ===================================================== Embedded, Real-Time Solutions, and Training David Bryan Office: (703)726-0498 Manager, Embedded Services Cell: (703)627-1735 www.ThePTRGroup.com Dave@ThePTRGroup.com ===================================================== --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Setting multiple IP addrs for an interface Date: Wed, 8 Jan 2003 18:30:59 +0200 From: "Martin Roth" Organization: Motorola Message-ID: References: <8400a733.0301070054.74033553@posting.google.com> <8400a733.0301080117.16dfeeb9@posting.google.com> Toni, Thanks for the reply. This is very strange to me, because I was used that all the IP addresses on a subnet or network should have the same subnet network id. So, IP routers route packets to the same network interface having two IP addresses from different subnets. The question then is how is the router configured to route the two IP addresses? Should the router interface also have two IP addresses or is it a special route that we add to the routing table on the router? Martin Mailto:bmr006@email.mot.com "Toni Kurzberger" wrote in message news:8400a733.0301080117.16dfeeb9@posting.google.com... > "Martin Roth" wrote in message news:... > > Toni, > > > > As I understand TCP/IP networking, the additional IP address added by > > ifAddrAdd() should be from the same subnet. Am I correct ? > > Actually it's different. VxWorks is prepared to handle n fully > routeable addresses on a single interface. All of them have to be on > different networks. E.g.: > fei0 123.123.123.123:ffffff00 > fei0 12.12.12.12:ffff0000 > => Would be legal and should work. > fei0 123.123.123.123:ffffff00 > fei0 123.123.123.124:ffffff00 > => Will most likely cause trouble with VxWorks. > I'm not sure about the standard RIP and OSPF... in case you plan using > them it should be checked whether they can handle multiple networks on > a single interface. > At least this is something the routing code of the SENS stack is > prepared to handle. > > toni --------------------------- Newsgroups: comp.os.vxworks Subject: Re: [HELP]choose which TL in trueffs Date: Wed, 8 Jan 2003 19:23:27 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: Reply-To: "Leonid Rosenboim" You do not need TrueFFS to interface with CompactFlash cards, only ataDrv (the current ATA driver) and probably a PCMCIA driver too. Because CF has an internal microcontroller doing all the Flash specific stuff, you dont really care which Flash technology is inside (but if you must, it's Toshiba NAND fhasl chips that are inside). - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com "jm" wrote in message news:avgdh7$7e9$1@bt02e2.god.bel.alcatel.be... > Hi,all > I have a problem when i write TrueFFS driver for sandisk compactFlash > SDCFBI-32.I want to use trueffs component provided by vxworks.It said that I > should choose one TL(translation layer) accoding to the flsh > technology.Because the SDCFBI-32's datasheet use ATA as the interface,it > didn't say which flash technology is used.I try NFTL TL.when i format the > flash chip by using "tffsDevFormat(0,0)",it reports "value = -1 = 0xffffffff > = udbinfo + 0xffd5f2c3".When I try the FTL TL,the trouble is same. > Anybody may help me?? > Best regard > by > jm > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: file system Date: Wed, 8 Jan 2003 19:26:21 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: Reply-To: "Leonid Rosenboim" Yes, it is indeed possible to do what you desire. See dpartCbio manual section from dosFs 2.x documentation. The fact that this is an ATA Flash disk, and not a regular ATA mechanical winchester disk, does not make a lot of difference, only makes the Disk cache less advantageous. - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com "Scott S" wrote in message news:PUXS9.242123$Vz2.54987483@twister.nyroc.rr.com... > Question: > > I am using Tornado 2.0 and VxWorks. I am looking for a way to put all read > only data and code separate from all read/write data on a flash disk which I > am using as an ATA. The read only portion of the hard drive I would like to > use dosFs and for the read/write I would like to use the raw file system. > > Is it possible to partition my flash disk into 2 sectors each with a > different file system? > > Thanks in advance, > > -SDS > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Task Control - Date: Wed, 8 Jan 2003 19:40:41 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: Reply-To: "Leonid Rosenboim" I agree that taskSuspend is not advisable - I have al kinds of unexpected sh*t happening when people tried to use it (all related to mutex ownership of task being suspended). One very reasonable trick would be to taskPrioritySet( taskId, 255), so it remains indeed READY, but in the lowest priority so if will run much later. The thing you want to do llooks quite unusual (trans: wierd) on a first look so maybe an explanation of your objective is in order. But you must understand, that a task can eitehr be READY or in some other state (e.g. PEND, DELAY or combination of the two). It can PEND on some object (e,g, semaphore, msgQ) but the task has to initiate the call that makes it PEND, not byu another task. For a task to be DELAYed it has too to execute the taskDelay function. Now that brings me to another trick you might like - you can call kill(), thereby sending the taska signal, and its signal handler will call semGet() or something and PEND on something ... - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com "Atkinson Andrew" wrote in message news:avgtpc$41n$1@overload.lbl.gov... > Hi All > > Once a task has entered the READY state and is only prevented from executing > by a higher priority task, is there any way the higher priority task can > prevent the READY task from executing indefinitely, besides performing a > taskDelete? > > I guess the end result needs to be the removal of the task from the READY > queue, but how to achieve this? > > Any help appreciated. > > -- vxworks -- > > Andy Atkinson > Software Engineer > Bldg 31a > QinetiQ, Bincleaves Technology Park > Weymouth > Dorset > DT4 8UR > > Tel : 01305 764660 > Fax : 01305 764661 > e-mail : AATKINSON1@QinetiQ.com > > > The Information contained in this E-Mail and any subsequent correspondence > is private and is intended solely for the intended recipient(s). > For those other than the recipient any disclosure, copying, distribution, > or any action taken or omitted to be taken in reliance on such information > is prohibited and may be unlawful. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Task Control - Date: Wed, 8 Jan 2003 22:25:01 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: Reply-To: "Leonid Rosenboim" Yup, Keith, you're right - the signal idea sucks, I have nopt given it a second thought before I ckicked the send button. You also managed to point out that any idea to give the OP his solution would suffer from the same drawback! - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com "Keith Arner" wrote in message news:Pine.GSO.4.42.0301081501400.6991-100000@zimbra... > On Wed, 8 Jan 2003, Leonid Rosenboim wrote: > > > One very reasonable trick would be to taskPrioritySet( taskId, 255), so it > > remains > > indeed READY, but in the lowest priority so if will run much later. > > One thing I have thought about from time to time is: > > myWdHandler = wdCreate(); > wdStart(myWdHandler, 1, myWdFunc, taskIdSelf()); > > void myWdFunc(int tid) { > static int x = 0; > > x = !x; > > if (x) { > taskPrioritySet(tid, LOW_PRIO); > } else { > taskPrioritySet(tid, HIGH_PRIO); > } > > wdStart(myWdHandler, 1, myWdFunc, taskIdSelf()); > } > > ...which will oscillate my task between a low and high priority. You > could get a fancier oscillation pattern by manipulating x differently. > But every time I thought about using it, I would come up with a better > solution for what I was attempting to accomplish. > > > Now that brings me to another trick you might like - you can call kill(), > > thereby sending the taska signal, and its signal handler will call semGet() > > or something and PEND on something ... > > I'm not sure that this is all that much better than suspending the task. > You don't have any way of knowing what the task will be doing when it > starts execution of the signal handler, so it could just as easily start > to delay while holding a lock. I suppose your signal handler could be > written to have a bit of knowledge about the state of the task that is > executing, but then your task is updating it current state so often that > you'd probably be better served just having it delay on its own. > > Keith > > -- > "One should not pursue goals that are easily achieved." > - Albert Einstein, 1915 > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: WDB Serial Backend Agent Questions Date: 8 Jan 2003 12:37:45 -0800 From: david.w.hyde@nasa.gov (David) Organization: http://groups.google.com/ Message-ID: <1d1f92de.0301081237.67a5d69e@posting.google.com> References: <42fa4adc.0301071950.74419b5c@posting.google.com> Modifying the target server priority solved my problem. The downloads are working fine. Thanks Larry --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Serial port driver Date: 8 Jan 2003 13:51:25 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0301081351.3bccb626@posting.google.com> References: Hello, This is a very frequently asked question... please learn how to search the archives of this group (either via Wind River's Online Support pages, or through a service like Google Groups). The answer to your question is that you have the source for all the serial drivers shipped with Tornado in your installation. Check under $WIND_BASE/target/src/drv/sio and you will find them all there. HTH, John... "Bin Lin" wrote in message news:... > Does anyone have a sample code of serial port driver or document? > > Thank you very much. > > Lin --------------------------- Newsgroups: comp.os.vxworks Subject: Re: POSIX compliant calls for sockets in VxWorks Date: 8 Jan 2003 19:29:57 -0800 From: iubica2@yahoo.com (Andrei) Organization: http://groups.google.com/ Message-ID: <371e4594.0301081929.72baec31@posting.google.com> References: <596d098.0301070041.25db91b5@posting.google.com> Yes it does, including select() calls. There is one issue w/ porting UNIX socket code based on select() though - use of so called software interrupts. UNIX code sometimes installs an alarm to expire some time in future (say in 2 secs ), then blocks in select() to receive from socket, passing infinite timeout to select(). When alarm expires (the 'software interrupt'), after alarm is handled UNIX unblocks the select() call. This is for example how ntpd is implemented - you can look at the source. When porting this type of implementations, take out the alarm call altogether, and pass finite timeouts to select() (figure out the correct timeout, always <= 2 secs in this example but may be less depending on when did select() return in the last 2-sec slice). Again look at ntpd distibution, it has a VxWorx port. Andrei Radulescu-Banu srilayaradja@yahoo.com (Ilayaraja) wrote in message news:<596d098.0301070041.25db91b5@posting.google.com>... > Dear all, > > Does VxWorks provide POSIX compliant library for socket > (bind(),accept() etc. calls) and select() system calls ? > > is there POSIX socket and Posix select() call available? > > Thanks in advance, > > Regards, > R. Ilayaraja --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Setting multiple IP addrs for an interface Date: 8 Jan 2003 19:37:04 -0800 From: iubica2@yahoo.com (Andrei) Organization: http://groups.google.com/ Message-ID: <371e4594.0301081937.5ff94e0@posting.google.com> References: <8400a733.0301070054.74033553@posting.google.com> <8400a733.0301080117.16dfeeb9@posting.google.com> > > Actually it's different. VxWorks is prepared to handle n fully > > routeable addresses on a single interface. All of them have to be on > > different networks. E.g.: > > fei0 123.123.123.123:ffffff00 > > fei0 12.12.12.12:ffff0000 > > => Would be legal and should work. > > fei0 123.123.123.123:ffffff00 > > fei0 123.123.123.124:ffffff00 > > => Will most likely cause trouble with VxWorks. What Toni describes here, if true, is a bug in the IP stack. The IP stack should handle multiple addresses on same subnet. Andrei > > I'm not sure about the standard RIP and OSPF... in case you plan using > > them it should be checked whether they can handle multiple networks on > > a single interface. > > At least this is something the routing code of the SENS stack is > > prepared to handle. > > > > toni --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Setting multiple IP addrs for an interface Date: 8 Jan 2003 19:37:04 -0800 From: iubica2@yahoo.com (Andrei) Organization: http://groups.google.com/ Message-ID: <371e4594.0301081937.121ce721@posting.google.com> References: <8400a733.0301070054.74033553@posting.google.com> <8400a733.0301080117.16dfeeb9@posting.google.com> > > Actually it's different. VxWorks is prepared to handle n fully > > routeable addresses on a single interface. All of them have to be on > > different networks. E.g.: > > fei0 123.123.123.123:ffffff00 > > fei0 12.12.12.12:ffff0000 > > => Would be legal and should work. > > fei0 123.123.123.123:ffffff00 > > fei0 123.123.123.124:ffffff00 > > => Will most likely cause trouble with VxWorks. What Toni describes here, if true, is a bug in the IP stack. The IP stack should handle multiple addresses on same subnet. Andrei > > I'm not sure about the standard RIP and OSPF... in case you plan using > > them it should be checked whether they can handle multiple networks on > > a single interface. > > At least this is something the routing code of the SENS stack is > > prepared to handle. > > > > toni --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Evaluating port to VxWorks - for medical imaging application - C/C++ Date: 8 Jan 2003 16:44:41 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0301081644.48920a4c@posting.google.com> References: <456de2c6.0301080854.37d73a8@posting.google.com> Hello, I don't believe that there is a downloadable version of the reference manual available anymore unless you have an online support account, but perhaps the easiest thing to do is simply to call Wind River and ask for an evaluation copy of the product - that will come with online docs at least, maybe even printed copies. > We are most concerned with porting unix system function calls in our > code that may not be available in VxWorks. (for example, some of our > code uses sockets and DNS functions gethostbyname(), gethostname(), DNS resolving is supported, though the API is a little different. Porting from one to the other is generally easy. > recvfrom(), setsockopt(), select()etc.) We also use the standard C > functions like strcmp, sprintf, malloc, free, and other unix system These should all be OK. > functions like getuid, getpid, These are not supported by VxWorks since it does not have a concept of users and groups. > ioctl and fcntl. ioctl() is available, but whether the specific functions you are using are supported will depend on (a) what those functions are and (b) what kind of file descriptor you apply them to. fcntl() is not part of the VxWorks API, but some of the operations that it provides can be achieved by other means (usually an ioctl() call IIRC). HTH, John... --------------------------- Newsgroups: comp.os.vxworks Subject: Re: I'm looking for persons iterested in IXP1200 & VxWorks Date: 8 Jan 2003 23:54:35 -0800 From: raj_rashid@hotmail.com (Rashid) Organization: http://groups.google.com/ Message-ID: <2a6118da.0301082354.491e71aa@posting.google.com> References: <2519cc67.0301052333.73e2b5aa@posting.google.com> <8400a733.0301060704.e9fbc01@posting.google.com> <2519cc67.0301062000.52ff7d46@posting.google.com> Hi Upily, You can find some vxWorks code already available with SDK 2.0 in SACore_libs directory. This code does the work of initialization and loading of microengines. Read the README.TXT file in L2L3fwd16 project to run the project on hardware with vxWorks. regards, Rashid --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Setting multiple IP addrs for an interface Date: Thu, 9 Jan 2003 12:29:42 +0200 From: "Martin Roth" Organization: Motorola Message-ID: References: <8400a733.0301070054.74033553@posting.google.com> <8400a733.0301080117.16dfeeb9@posting.google.com> <371e4594.0301081937.5ff94e0@posting.google.com> Andrei, I agree with you, because this is the basic of TCP/IP networking. I am trying to think about a situation when you need to assign two IP addresses to the same interface. I can think of security reasons to grant some applications to use one IP address and other applications to use a different IP address. I think if both addresses are routable, - they should be on the same subnet. I can accept one routable address and one private address. In this case the routable address can be used by the external world to access low security applications. The private IP address (for the same interface) can be used to access applications that should not be exposed to external networks. I would appreciate if somebody highlights this issue, anyway I will try to apply to Windriver. Martin "Andrei" wrote in message news:371e4594.0301081937.5ff94e0@posting.google.com... > > > Actually it's different. VxWorks is prepared to handle n fully > > > routeable addresses on a single interface. All of them have to be on > > > different networks. E.g.: > > > fei0 123.123.123.123:ffffff00 > > > fei0 12.12.12.12:ffff0000 > > > => Would be legal and should work. > > > fei0 123.123.123.123:ffffff00 > > > fei0 123.123.123.124:ffffff00 > > > => Will most likely cause trouble with VxWorks. > > What Toni describes here, if true, is a bug in the IP stack. The IP > stack should handle multiple addresses on same subnet. > Andrei > > > > I'm not sure about the standard RIP and OSPF... in case you plan using > > > them it should be checked whether they can handle multiple networks on > > > a single interface. > > > At least this is something the routing code of the SENS stack is > > > prepared to handle. > > > > > > toni --------------------------- Newsgroups: comp.os.vxworks Subject: Re: [HELP]choose which TL in trueffs Date: Thu, 9 Jan 2003 18:29:43 +0800 From: "jm" Organization: Alcatel Message-ID: References: Hi, thank for you help. When we make the plan,we ask the WRS' support.He say it will work in trueffs.We also read the ndfc2048.c,think that it also connect the bus through a controller.In order to use some feartures provided by trueffs,such as garbage collection,we choose to use it. Now the troubles come.If we use the NFTL translation layer,when we use "tffsDevFormat(0,0)",print only two identify (our MTD Identify),then return flUnknownMedia,value=-1. If we use FTL trabslation layer,we find it print one MTD identify ,then many MTD read ,then one MTD identify,then return flGeneralFailure,value=-1 Anybody may help me?? Best regard by jm --------------------------- Newsgroups: rec.video.desktop,comp.os.vxworks,sci.image.processing Subject: 1394 Digital Cameras (Sony XCD-X700) - External Triggering Date: 9 Jan 2003 03:46:29 -0800 From: fxcrazy@yahoo.com (Tom) Organization: http://groups.google.com/ Message-ID: <633e72d2.0301090346.5a50b7ef@posting.google.com> Hi All, Can anyone enlighten me to simulate external triggering using 1394 cameras. I am using Sony XCD-X700 camera and the specification says the camera accepts triggers TTL Level via a BNC Connnector. For the moment, I don't have any hardware/mechanism to generate the Input Signal 5v Pulse (Active Low) to get this trigger mode working. Can I have some suggestions on - External Hardware's to generate 5v Active Low Pulse - Any software mechanism to simulate the triggering mechanism. - Can I use a parallel port to test if the trigger mode works properly. If so how i should go about it I appreciate for any points on the same and 'm a newbie as far as these cameras' and 1394 is concerned. Please be gentle. Thanks in anticipation. Cheers - - Tom --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Basic Doubt Date: Thu, 09 Jan 2003 06:44:30 -0600 From: Joe Durusau Organization: WEBUSENET.com Message-ID: <3E1D6EAE.4030708@bellsouth.net> References: nilanjan roychowdhury wrote: > --0-1462287254-1042099184=:21184 > Content-Type: text/plain; charset=us-ascii > > > Hi all, > > I have recently started working with Vxworks. So I have one basic doubt. > > The manual says that Vxworks uses a special context for the ISR to > avoid context switching. Now suppose my task t1 is currently running > and then some interrupt occurs. Then what will be the state of t1 >( definitely it will be other than running !!) ??because now the ISR >will get the CPU. So if a state transition of task t1 is occuring then > how it is different than the normal context switching. > > Please help > > regards > > Nilanjan > > > > > > --------------------------------- > Do you Yahoo!? > Yahoo! Mail Plus - Powerful. Affordable. Sign up now > --0-1462287254-1042099184=:21184 > Content-Type: text/html; charset=us-ascii > The ISR does not run as a task. There is no TCB associated with it. The task that was interrupted remains ready, and can continue if it is the highest priority ready task when the ISR exits. In some platforms, the ISR uses the stack of the interrupted stack. In others, the ISRs us a special dedicated stack. The big thing to remember about an ISR is that it should do a little work as possible becore giving up control. Ideally, it will reset whatever caused the int and do a semGive() to let some task take over, then exit. There is a list of functions that can be called from an ISR, and it's not very long. Speaking only for myself, Joe Durusau --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Fri Jan 10 04:04:01 2003 From: Vxworks Exploder Date: Fri Jan 10 04:04:02 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Fri Jan 10 04:03:58 PST 2003 Subject: Fibre Channel Hard Drives Subject: Re: howto install a terget server without the developemnt system. Subject: Re: Testing for VxWorks 860. I want to know real test process. Subject: memPartFree Fail Subject: Re: Delay before cacheFlush Subject: Re: 1394 Digital Cameras (Sony XCD-X700) - External Triggering Subject: Marvell Development board DB-64360-BP (MPC7455 version) Subject: Re: Quirky thread blocking & counting semaphore question Subject: Re: Basic Doubt Subject: Re: Floating Point multiplication problem. Subject: Re: Evaluating port to VxWorks - for medical imaging application - C/C++ Subject: Re: Delay before cacheFlush Subject: Re: Quirky thread blocking & counting semaphore question Subject: Re: [HELP]choose which TL in trueffs Subject: "Slick-Edit" Question Subject: [Question]how to boot using bootrom? Subject: Re: Evaluating port to VxWorks - for medical imaging application - C/C++ Subject: [Newbie:] IO with Java ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Fibre Channel Hard Drives Date: Thu, 9 Jan 2003 09:56:48 -0500 From: "Lou Palecki" Message-ID: Greetings, I would like to know if anyone out there is working with large (>70GB) Fibre Channel hard drives in an arbitrated loop configuration. We are using an MVME5100, an SBS 1GB (QLogic 2100), VxWorks 5.5 and DOSfs2.2. We have tried everything we can think of to get the drives to work. The same Fibre Channel HBA works under Windows 2k and Linux with no trouble. VxWorks can see smaller drives (37GB) but barfs when we try to initialize the block device. Any suggestions would be appreciated before we spring for source code licenses to fix the problem... Thanks --------------------------- Newsgroups: comp.os.vxworks Subject: Re: howto install a terget server without the developemnt system. Date: 9 Jan 2003 08:03:16 -0800 From: larryc@softcon.net (larry ciummo) Organization: http://groups.google.com/ Message-ID: References: <1041935658.792197@newsreader2.wirehub.nl> <1042019201.111306@newsreader1.wirehub.nl> <3E1C1B2E.2020506@bellsouth.net> <1042032492.596731@newsreader1.wirehub.nl> OK. Have you tried install Tornado on a system, and manually copying over the registry server and tgtserver code? Those are the only two things you should need. You'll also have to start the registry server daemon with the correct parameter, such as those you normally use in T2. lc "Renee Teunissen" wrote in message news:<1042032492.596731@newsreader1.wirehub.nl>... > :) > > But I dont want tornado on it :) I want to install the target server > on a "standalone" PC not my development workstation.. Therefore I was > wondering if it is possible to do ONLY a install of the target server > without all the tornado stuff I dont need.... > I have a tornado CDROM with licences. I just like to know how I can > install just a target server. Or what I need to copy from my system to > transfer the target server to that other machine. > > > Cheers, > Renee. > > "Joe Durusau" wrote in message > news:3E1C1B2E.2020506@bellsouth.net... > > It's part of Tornado. You install Tornado (some version) > > from the CDROM. It comes with instructions, and on most > > platforms is pretty automagic. > > > > Speaking only for myself, > > > > Joe Durusau > > > > > > Renee Teunissen wrote: > > > HI, Thannk you for your answer - but this is not what I'm looking > for. > > > What I meant was how do I install - not run - the target-server > .exe, > > > dll's and regkeys on a clean system? > > > > > > Thanx, > > > Renee. > > > > > > "larry ciummo" wrote in message > > > news:bf43546.0301071252.6c2124e5@posting.google.com... > > > > > >>Make a batch file or shell script or whatever with... > > >> > > >>tgtsvr.exe 146.58.66.236 -A -s -V -m 4194304 -B wdbrpc -Bt 30 -Br > > > > > > 5 -f > > > > > >>elf -c C:/vxworks/vxWorks > > >> > > >>in it. > > >> > > >>Use tornado tgt server tool to see what the parameters are. > > >> > > >> > > >>Good luck, > > >>LC > > >> > > >> > > >> > > >>"Renee Teunissen" > > > > > > > > agree.with.these.terms@mail.zevenaar.org> wrote in message > > > news:<1041935658.792197@newsreader2.wirehub.nl>... > > > > > >>>Hi, > > >>> > > >>>I like to seperate the development PC from the targetserver. I > > >> > > > dont > > > > > >>>want to install a complete tornadoset on this server, only the > > >>>targetserver. Is there a way to do this? > > >>> > > >>>Thanx, > > >>>Rneee. > > >> > > > > > > > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Testing for VxWorks 860. I want to know real test process. Date: 9 Jan 2003 08:16:38 -0800 From: larryc@softcon.net (larry ciummo) Organization: http://groups.google.com/ Message-ID: References: <76b199d8.0212292324.37db2314@posting.google.com> Hello: I would first use your debugger to load vxworks into RAM and start it. Link it for a specific address, and start it at sysInit with your debugger. It should initialize the chip and eventually start a shell and your root process. You could also flash your bootrom and start that from your reset vector. It will be harder to debug than the ram version, so get it to work in RAM first. Use your VisionICE to verify that all the on chip devices are set by examining the register values. You should have a known good set of register values from a good bootrom, an eval board, etc. Good luck, lc ywkwon@humantel.com (Kwon,YongWook) wrote in message news:<76b199d8.0212292324.37db2314@posting.google.com>... > Thank you for your good answers. > I asked VxWorks images to you a few days ago. > > But I don't know exactly what can I do for testing 860-VxWorks. > > I want to put rommable application into FLASH. > > I've got known VxWorks is different to pSOS environment. > > I did make every files.(bootrom, vxWorks, vxWorks_rom, etc.) > > Then How can I test with this files? > > I really want to know but I have no idea. > > I want to know what can I do after making bootable files from the > beginning to end . > > I use mpc860, BDM(VisionClick). > My board is ok for pSOS. No hardware errors are in it. > My board has FLASH 8M > SDRAM 32M > NVRAM > Serial > Ethernet > etc. > I prepared my own board folders and all folders and modified source > for my board specific. > > I already saw databook for vxWorks. But I can't catch good hint. > > I know this is not very difficult but I'm beginner so I'm confusing. --------------------------- Newsgroups: comp.os.vxworks Subject: memPartFree Fail Date: 9 Jan 2003 08:25:39 -0800 From: gabi@tdsoft.com (Gabi) Organization: http://groups.google.com/ Message-ID: <5607ff2c.0301090825.347224f9@posting.google.com> Hi, We use memPartAlloc & memPartFree for our memory allocations. We always check return codes and print any errors. The situation: After some time, (when couple of douzens calls to memPartAlloc made, and several buffers were succefully freed with memPartFree) the function memPartFree returns error. After that any calls to memPartAlloc or memPartFree are failed. The error returned is either S_smObjLib_NOT_INITIALIZED or S_objLib_OBJ_ID_ERROR - every time it's something else. Both parameters to memPartFree (partition and memory address) are correct. Question It seems memory area with some memory partion control block was overwrited. How can we check it? We did not find any function in reference that allows us to check if partition is OK. Can you advice us how can we advance with this problem? tanks Gabi --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Delay before cacheFlush Date: Thu, 09 Jan 2003 12:42:56 -0500 From: Varndell Engineering Organization: Posted Via Newsfeeds.com = SPEED+RETENTION+COMPLETION = http://www.newsfeeds.com Message-ID: References: On 9 Jan 2003 09:28:06 -0800, giff@ciprico.com (D. Gifford) wrote: >From what I'm reading cachePipeFlush ("eieio" and "sync") does not >flush the L2 cache, just L1. The symptoms I'm having look as though at >the time of the flush I'm flushing stale data or at least corrupt. >When I run this thing in "non-cached" memory everything is OK but as >you stated the performance is not optimal. What happens with the L2 configured as write-through? By chance, does this device write to, as well as read from, the same memory areas? Regards, George Varndell - -- Varndell Engineering, LLC. Embedded Systems Expertise http://www.varndellengineering.com - -----------== Posted via Newsfeed.Com - Uncensored Usenet News ==---------- http://www.newsfeed.com The #1 Newsgroup Service in the World! - -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =----- --------------------------- Newsgroups: rec.video.desktop,comp.os.vxworks,sci.image.processing Subject: Re: 1394 Digital Cameras (Sony XCD-X700) - External Triggering Date: Thu, 9 Jan 2003 14:05:37 -0500 From: "J" Organization: Newshosting.com - Highest quality at a great price! www.newshosting.com Message-ID: <3e1dc807$0$31455$9a6e19ea@news.newshosting.com> References: <633e72d2.0301090346.5a50b7ef@posting.google.com> You should be able to simply us a 5V power supply with a resistor (~1K) in series. I think there is 5V coming out of the parallel port, but I think it might be easier simply wire up a small switch. - -- J "Tom" wrote in message news:633e72d2.0301090346.5a50b7ef@posting.google.com... > Hi All, > > Can anyone enlighten me to simulate external triggering > using 1394 cameras. I am using Sony XCD-X700 camera and > the specification says the camera accepts triggers > TTL Level via a BNC Connnector. > > For the moment, I don't have any hardware/mechanism to > generate the Input Signal 5v Pulse (Active Low) to get > this trigger mode working. > > Can I have some suggestions on > - External Hardware's to generate 5v Active Low Pulse > - Any software mechanism to simulate the triggering > mechanism. > - Can I use a parallel port to test if the trigger > mode works properly. If so how i should go about it > > I appreciate for any points on the same and 'm a newbie > as far as these cameras' and 1394 is concerned. Please > be gentle. > > Thanks in anticipation. > > Cheers > - Tom --------------------------- Newsgroups: comp.os.vxworks Subject: Marvell Development board DB-64360-BP (MPC7455 version) Date: Thu, 9 Jan 2003 19:12:22 +0000 (UTC) From: "Graham Baxter" Organization: BT Openworld Message-ID: VxWorkers, Does anyone using the above development board have a configuration/register file for the EST Vision Probe/ICE? Thanks for any help. Graham --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Quirky thread blocking & counting semaphore question Date: Thu, 9 Jan 2003 21:58:55 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <5c34b056.0301080908.7ce44b07@posting.google.com> <5c34b056.0301091039.1c8a65ee@posting.google.com> Reply-To: "Leonid Rosenboim" Here are my 2 cents: One simple method to limit the signalling rat,e is to limit the total number of loop iterations within the ISR itself, and thereby limit the number of semGive() calls within a single invokation of the ISR. BTW, loops within ISRs are a bad idea, unless there is a guaranteed upper limit on the number of loop iterations ! Another possible approach would be to monitor the system ticcks from within the loop, and could loop iterations per clock tick. This may seem inaccurate, but it is no less accurate than any other trick you can think of with taskDelay(). If you are really willing to dig deep, task switch hooks may be something for you to chew into. - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com "Darren Long" wrote in message news:5c34b056.0301091039.1c8a65ee@posting.google.com... > Hi Martin, > > Thanks for the response, but yourr suggestion doesn't really answer > the question. I wanted to know how many times that the thread runs > round the loop since it last blocked. The intention is that an ISR > may signal the counting Semaphore a few times in succesion (i.e. a > single invocation of the ISR), and the handler runs that many times > round the loop. If the handler determines that the number of > iterations since it last blocked is excessive (i.e. the signalling > rate from the ISR is too high) it takes some action to rate limit the > interrupt source. > > An alternative suggestion that I have had is to simply task delay the > handler, but that is considerably less flexible than what I had hoped > for! > > If I can't find a soloution to this problem (which I expect) then I > will probably involve another periodic thread to monitor the 2nd stage > handler task but I haven't given that much thought yet. > > Any other suggestions welcome... > > Darren > > "Martin Raabe" wrote in message news:... > > Hello Darren, > > yes, there is one: > > Wait for the semaphore with a timeout. > > the returnvalue tells you about the success of the wait or about reaching > > the timeout. > > By that you can sum up the timeouts and have the elapsed time at hand. > > > > Hope it helped > > -- > > Martin Raabe > > E: Martin.RaabeATNOSPAMBaSystem.de > > > > > > "Darren Long" schrieb im Newsbeitrag > > news:5c34b056.0301080908.7ce44b07@posting.google.com... > > > Consider the pseudo-pseudo-code below > > > > > > function f > > > { > > > do while true > > > { > > > wait( CSem ); // counting semaphore > > > > > > ... // function body > > > > > > } > > > > > } > > > > > > Is there any way that the function can determine how many times it has > > > iterated around the loop since it was unblocked? > > > > > > I can't think of any! > > > > > > Darren --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Basic Doubt Date: Thu, 09 Jan 2003 21:42:49 GMT From: Dave Bryan Organization: The PTR Group Message-ID: References: <3E1D6EAE.4030708@bellsouth.net> Joe Durusau wrote: snip.. > The ISR does not run as a task. There is no TCB associated > with it. The task that was interrupted remains ready, and can continue > if it is the highest priority ready task when the ISR exits. In some > platforms, the ISR uses the stack of the interrupted stack. In others, > the ISRs us a special dedicated stack. The big thing to remember about > an ISR is that it should do a little work as possible becore giving > up control. Ideally, it will reset whatever caused the int and do > a semGive() to let some task take over, then exit. There is a list > of functions that can be called from an ISR, and it's not very long. > > Speaking only for myself, > > Joe Durusau > > I'll add to Joe's response... that "technically" an ISR context IS created. Registers are pushed on and popped off the stack to save and restore the "context" of currently executing code. However this is a different meaning of context. In the world of the RTOS, a context is generally meant to be a much larger thing. In the case of VxWorks, the Task Control Block (TCB) describes the "context" of a task, It includes the RTOS specific information such as the tasks ID, its stack pointer and size, its priority, and it's state. The smaller the TCB, the faster the context switch time between tasks. We say that an ISR executes in the currently executing task's (RTOS) context because there is no TCB context switch. In fact, on some architectures, the ISR makes use of the current tasks context, using its stack. So while an ISR does have it's own "context" this is not the same as an RTOS task context. HTH Dave ===================================================== T h e P T R G r o u p, I n c. ===================================================== Embedded, Real-Time Solutions, and Training David Bryan Office: (703)726-0498 Manager, Embedded Services Cell: (703)627-1735 www.ThePTRGroup.com Dave@ThePTRGroup.com ===================================================== --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Floating Point multiplication problem. Date: 9 Jan 2003 14:23:54 -0800 From: agraham@openglobe.net (Aaron Graham) Organization: http://groups.google.com/ Message-ID: <95ebbe31.0301091423.1a6021ae@posting.google.com> References: This is most likely a compiler issue. Note I said _issue_, not bug. Most compilers will parse the number 20971520 as an integer, and the number 20971520.0 as a double. The double might have then been _truncated_ to represent it as a IEEE 754 (if I remember correctly) 32-bit floating-point value, whereas the integer value may have been _rounded_ to the nearest 32-bit floating point value. Thus, the result could vary a little in either case. Additionally, since you're only working with constants here, the compiler will most likely perform constant folding and copy propagation optimizations. After those optimizations are complete, all you will have left after the compile stage is a few calls to printf with constant values as parameters. You might want to take a look at your object file disassembly to see what the compiler has done. Try different optimization levels (try none at all), and compare the compiler's output to see if you can figure out where it rounded and where it truncated. This is all perfectly normal compiler activity. If you really need the precision, you should probably stick to all doubles. Hope that helps. Email me personally if you have any more questions. Aaron cristian291@virgilio.it (Cristian Brambilla) wrote in message news:... > Hi everybody! > > Please, consider the following task: > > void testMultiplication (void) > { > double tempValue; > float floatValue; > unsigned long finalValue; > > > floatValue = 108.1; > tempValue = floatValue*20971520; > finalValue = (unsigned long)(tempValue); > finalValue>>=20; > printf ("\ntempValue: %20.18f %20.18g\n",tempValue,tempValue); > printf ("\nfinalValue: %X\n",finalValue); > > floatValue = 108.1; > tempValue = floatValue*20971520.0; > finalValue = (unsigned long)(tempValue); > finalValue>>=20; > printf ("\ntempValue: %20.18f %20.18g\n",tempValue,tempValue); > printf ("\nfinalValue: %X\n",finalValue); > } > > I have executed this task upon a FORCE board, using Motorola 68060 > architecture. The output obtained is: > > tempValue: 2267021312.000000000000000000 > 2267021312.000000000000000000 > finalValue: 872 > > tempValue: 2267021280.000000000000000000 > 2267021280.000000000000000000 > finalValue: 871 > > > The correct computation is the first one. By simply changing the > constant value 20971520 into 20971520.0, I got a wrong result. > Can you help me??????? > > Thanks in advance. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Evaluating port to VxWorks - for medical imaging application - C/C++ Date: 9 Jan 2003 16:11:45 -0800 From: lpdcunha@engmail.uwaterloo.ca (Larry D'Cunha) Organization: http://groups.google.com/ Message-ID: <456de2c6.0301091611.48202167@posting.google.com> References: <456de2c6.0301080854.37d73a8@posting.google.com> <488e459a.0301081644.48920a4c@posting.google.com> john_94501@yahoo.com (John) wrote in message news:<488e459a.0301081644.48920a4c@posting.google.com>... > Hello, > > I don't believe that there is a downloadable version of the reference > manual available anymore unless you have an online support account, > but perhaps the easiest thing to do is simply to call Wind River and > ask for an evaluation copy of the product - that will come with online > docs at least, maybe even printed copies. Thanks, I found the reference manual on some professor's website! > > ioctl and fcntl. > > ioctl() is available, but whether the specific functions you are using > are supported will depend on (a) what those functions are and (b) what > kind of file descriptor you apply them to. > > fcntl() is not part of the VxWorks API, but some of the operations > that it provides can be achieved by other means (usually an ioctl() > call IIRC). > > HTH, > > John... Thanks very much for this insight. I have narrowed my VxWorks pre-port analysis down to 1 function in our code to be ported, fcntl(). It is being called three times with these parameters. fcntl(c->sfd, F_GETFL, 0) fcntl(c->sfd, F_SETFL, flags | O_NDELAY) fcntl(c->sfd, F_SETFL, flags) But I've no real idea on what exactly it is doing. If the above can be done with ioctl() I'd sure like to know how. Thanks again. Larry --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Delay before cacheFlush Date: Fri, 10 Jan 2003 03:55:41 GMT From: Dave Bryan Organization: The PTR Group Message-ID: References: D. Gifford wrote: > From what I'm reading cachePipeFlush ("eieio" and "sync") does not > flush the L2 cache, just L1. The symptoms I'm having look as though at > the time of the flush I'm flushing stale data or at least corrupt. > When I run this thing in "non-cached" memory everything is OK but as > you stated the performance is not optimal. > From one of my PowerPC guides: "The eieio instruction is used to control the order in which loads and stores are performed when the accessed memory has certain attributes," "Executing a sync instruction ensures that all instructions preceding the sync instruction appear to have completed before the sync instruction completes, and that no subsequent instructions are initiated by the processor until after the sync instruction completes. When the sync instruction completes, all memory accesses caused by instructions preceding the sync instruction will have been performed with respect to all other mechanisms that access memory." So eieio and sync really have no effect on either cache. These mnemonics "flush" the instruction pipeline. I suspect that due to pipelining, the cacheFlush instruction is sometimes being executed prior to the "freshen" data instruction. The cacheFlush then puts stale data into memory, while the fresh data remains stuck in cache. Dave ===================================================== T h e P T R G r o u p, I n c. ===================================================== Embedded, Real-Time Solutions, and Training David Bryan Office: (703)726-0498 Manager, Embedded Services Cell: (703)627-1735 www.ThePTRGroup.com Dave@ThePTRGroup.com ===================================================== --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Quirky thread blocking & counting semaphore question Date: Thu, 9 Jan 2003 13:18:21 +0100 From: "Martin Raabe" Organization: 1&1 Internet AG Message-ID: References: <5c34b056.0301080908.7ce44b07@posting.google.com> Hello Darren, yes, there is one: Wait for the semaphore with a timeout. the returnvalue tells you about the success of the wait or about reaching the timeout. By that you can sum up the timeouts and have the elapsed time at hand. Hope it helped - -- Martin Raabe E: Martin.RaabeATNOSPAMBaSystem.de "Darren Long" schrieb im Newsbeitrag news:5c34b056.0301080908.7ce44b07@posting.google.com... > Consider the pseudo-pseudo-code below > > function f > { > do while true > { > wait( CSem ); // counting semaphore > > ... // function body > > } > > } > > Is there any way that the function can determine how many times it has > iterated around the loop since it was unblocked? > > I can't think of any! > > Darren --------------------------- Newsgroups: comp.os.vxworks Subject: Re: [HELP]choose which TL in trueffs Date: Thu, 9 Jan 2003 14:33:56 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: Reply-To: "Leonid Rosenboim" TrueFFS can not access the Flash components inside CompactFlash cards, so it will never work. TrueFFS can work with Linear Flash cards ONLY (there are such cards from M-systems, and SanDisk you can buy). - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com "jm" wrote in message news:avjitu$q0h$1@bt02e2.god.bel.alcatel.be... > Hi, > thank for you help. > When we make the plan,we ask the WRS' support.He say it will work in > trueffs.We also read the ndfc2048.c,think that it also connect the bus > through a controller.In order to use some feartures provided by trueffs,such > as garbage collection,we choose to use it. > Now the troubles come.If we use the NFTL translation layer,when we use > "tffsDevFormat(0,0)",print only two identify (our MTD Identify),then return > flUnknownMedia,value=-1. > If we use FTL trabslation layer,we find it print one MTD identify ,then > many MTD read ,then one MTD identify,then return flGeneralFailure,value=-1 > Anybody may help me?? > Best regard > by > jm > > > --------------------------- Newsgroups: comp.os.vxworks Subject: "Slick-Edit" Question Date: 9 Jan 2003 04:57:54 -0800 From: shy017@yahoo.com (Shay) Organization: http://groups.google.com/ Message-ID: <8a5dc325.0301090457.c71332c@posting.google.com> Hi, My question is about "Slick-Edit" editor. So fill free to skip this one :-) I'm using Slick-Edit with "Tornado-2". I have problem with your tagging system. The tagging system works BUT when tagging is done is taking too much CPU resources AND it do the tagging when Slick-Edit decide that it should do them again. Slick-Edit indicates that it have around 15,000 tags. I tried to reconfigured all king of stuff -- but it seems that I did not succeeded. SO, I'm asking for advice: 1. What should I do to make the tagging work with low CPU resources ? 2. Can I have tagging in back-round that are NOT blocking the Slick-Edit from continue to work ( different tagging thread)? 3. Can I have tagging in lower task priority ? 4. Can I have Slick-Edit not to tag -- but only when I command it to (with "Retag Workspace") ? Thanks, Shay. --------------------------- Newsgroups: comp.os.vxworks Subject: [Question]how to boot using bootrom? Date: 10 Jan 2003 00:32:09 -0800 From: ywkwon@humantel.com (Kwon,YongWook) Organization: http://groups.google.com/ Message-ID: <76b199d8.0301100032.50aeca1b@posting.google.com> Hello? First, I can say thank you for your good help. Finally, I've got a result for MPC860 BOARD for VxWorks RTOS. I made bootrom.hex and write flash with this s-record file. I can see boot printing character from console. - ----------------------------------------------------------------- VxWorks System Boot Copyright 1984-1998 Wind River Systems, Inc. CPU: MPLAN800 -PowerPC 860 Version: 5.4.2 BSP version: 1.2/4 Creation date: Jan 9 2003, 15:05:47 Press any key yo stop auto-boot... 7 [VxWorks Boot]: - ------------------------------------------------------------------ I'm very glad to see this greeting ^^; for all my result are from your good response. After Seeing this greeting, I think everything is ok. But I've got a problem. I set my board's boot parameter with NVRAM value. I use NVRAM for boot parameter. It's OK. Then I loaded "vxWorks" file from TFTP Server. My board's bootrom Application did this works. It's OK I saw this printing after excuting l(load) command. - ------------------------------------------------- Attached TCP/IP interface to cpm0. Attaching network interface lo0... done. Loading...600244 entry = 0x100000 [VxWorks Boot]: - ------------------------------------------------- Then I hit "g 0x100000" command. At that time, I can see Starting at 0x100000... But No work appears. I think my bootrom application is OK. I mean no problem. Then Network Interface is OK. Loading file via TFTP server scheme is OK. It works well. I think I have some missing idea to boot. [Question 1] Is it ok to boot "vxWorks" file? [Question 2] I know "vxWorks" is only application image file. no OS included. Is it right? [Question 3] What file should I use for booting my MPC860 board? "vxWorks"? "vxWorks.st"? or any other files? I was trying to boot with pSOS ram.elf file. this file is simple application ram.elf is OS+APPLICATION. It's ok to load and go. ram.elf is excuted. [Question 4] I made vxWorks_rom.hex and write FLASH memory with this file. But I can't see any booting printing from console. But my bootrom.hex is OK to boot. I think vxWorks_rom.hex is ROMed file, So I expected vxWorks_rom.hex can be booted. But no result. What file should I check and modify? I know these two S-Record file is made by romInit.s & bootInit.c. And bootrom.hex is made by bootConfig.c and vxWorks_rom.hex is made by usrConfig.c. Is it right? [Question 5] I doubt my definition for ADRS value My board memory info is. SDRAM 32M FLASH MEM 8M My own applicaion is not exist. only I use default ads860 board files and modified it. Then What is the best setting for the value of RAM_HIGH_ADRS and RAM_LOW_ADRS ? [Question 6] I include INCLUDE_DEMO and not include INCLUDE_SHELL for testing. Is it OK? I think it's simple testing method. I think I have mistake something. Please Give me a good answer. Regards, YongWook --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Evaluating port to VxWorks - for medical imaging application - C/C++ Date: Fri, 10 Jan 2003 11:48:35 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <456de2c6.0301080854.37d73a8@posting.google.com> <488e459a.0301081644.48920a4c@posting.google.com> <456de2c6.0301091611.48202167@posting.google.com> Reply-To: "Leonid Rosenboim" "Larry D'Cunha" wrote in message news:456de2c6.0301091611.48202167@posting.google.com... [snip] > Thanks very much for this insight. I have narrowed my VxWorks pre-port > analysis down to 1 function in our code to be ported, fcntl(). It is > being called three times with these parameters. > > fcntl(c->sfd, F_GETFL, 0) > fcntl(c->sfd, F_SETFL, flags | O_NDELAY) > fcntl(c->sfd, F_SETFL, flags) > > But I've no real idea on what exactly it is doing. If the above can be > done with ioctl() I'd sure like to know how. > IMHO this code sets a file descriptor into non-blocking mode, in VxWorks this indeed can be done with ioctl(), but will only work with sockets (both TCP and UDP), not with files. On Unix, NBIO can be set on sockets and NFS files. You'd need to find where the c->sfd is created to know where your situated. - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com --------------------------- Newsgroups: comp.os.vxworks Subject: [Newbie:] IO with Java Date: Fri, 10 Jan 2003 11:08:52 +0100 From: Stefan Mersmann Organization: Draeger Medical / R&D Intensive Care Message-ID: <3E1E9BB4.C5E54352@Draeger.com> Hi Folks, I'm rather new to this group, so please forgive me in case I should raise an old hat :) We want to perfom basic IO using 'java.io' to access e.g. EEPROM, CAN etc. Unfortunately our VxWorks drivers fail as soon as we write to those devices (e.g. 'new FileOutputStream(f)'). Obviously a certain ioctl call couldn't be served by the driver. Are there any experiences, hints or other tips concerning these issues? Thanks in advance! - -- With kind regards / Mit freundlichem Gruss ... Stefan Mersmann Project Manager Research and Development Intensive Care ---------------------------------------------------- DRÄGER MEDICAL Dräger Medical AG & Co. KGaA Moislinger Allee 53-55 D-23542 Luebeck Fon +49 451 882 4062 Fax +49 451 882 2856 mailto:Stefan.Mersmann@Draeger.com http://www.draeger.com ---------------------------------------------------- Important Note This email and any attachment hereto are confidential and may contain trade secrets or may be otherwise protected from disclosure. If you have received it in error you are in notice of this fact. Please notify us immediately by reply email and then delete this email and any attachment from your system. Please understand that you are not allowed to copy this email or any attachment hereto or disclose its contents to any other person. Thank you. Wichtiger Hinweis Diese E-Mail und etwaige Anlagen können Betriebs- oder Geschäftsgeheimnisse sonstige vertrauliche Informationen enthalten. Sollten Sie diese E-Mail irrtümlich erhalten haben, ist Ihnen dieser Umstand hiermit bekannt. Bitte benachrichtigen Sie uns in diesem Fall umgehend durch Rücksendung der E-Mail und löschen Sie diese E-Mail einschließlich etwaiger Anlagen von Ihrem System. Diese E-Mail und ihre Anlagen dürfen weiterhin nicht kopiert oder an Dritte weitergegeben werden. Vielen Dank. --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Sat Jan 11 04:28:54 2003 From: Vxworks Exploder Date: Sat Jan 11 04:28:56 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Sat Jan 11 04:28:51 PST 2003 Subject: Re: Delay before cacheFlush Subject: Re: Delay before cacheFlush Subject: Re: Delay before cacheFlush Subject: Re: Setting multiple IP addrs for an interface Subject: VME Based TCP IP Stack Subject: Re: Quirky thread blocking & counting semaphore question Subject: Warning: Tornado 2.2 Subject: Re: Basic Doubt Subject: Re: Quirky thread blocking & counting semaphore question Subject: Re: Warning: Tornado 2.2 Subject: FOM on SDK 3.0 Subject: Re: Warning: Tornado 2.2 Subject: Re: Evaluating port to VxWorks - for medical imaging application - C/C++ Subject: timers & i960-CA Subject: Re: VME Based TCP IP Stack Subject: Re: the problems to install Rtl 8139D net card to vxworks Subject: Device Drivers question Subject: Re: I'm looking for persons iterested in IXP1200 & VxWorks Subject: Re: Setting multiple IP addrs for an interface Subject: WDB Serial Backend Agent Questions Subject: Re: PC/104 Tri-M MZ104+ BSP Subject: vxWorks5.4 PPP ipcp question! Subject: Re: timers & i960-CA Subject: Re: timers & i960-CA Subject: Re: Warning: Tornado 2.2 ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: Delay before cacheFlush Date: 10 Jan 2003 05:35:17 -0800 From: willemsenjc@yahoo.com (Jon Willemsen) Organization: http://groups.google.com/ Message-ID: References: Dave Bryan wrote in message news:... > D. Gifford wrote: > > > From what I'm reading cachePipeFlush ("eieio" and "sync") does not > > flush the L2 cache, just L1. The symptoms I'm having look as though at > > the time of the flush I'm flushing stale data or at least corrupt. > > When I run this thing in "non-cached" memory everything is OK but as > > you stated the performance is not optimal. > > > > From one of my PowerPC guides: > > "The eieio instruction is used to control the order in which loads and stores > are performed when the accessed memory has certain attributes," > > "Executing a sync instruction ensures that all instructions preceding the > sync instruction appear to have completed before the sync instruction > completes, and that no subsequent instructions are initiated by the processor > until after the sync instruction completes. When the sync instruction > completes, all memory accesses caused by instructions preceding the sync > instruction will have been performed with respect to all other mechanisms > that access memory." > > So eieio and sync really have no effect on either cache. These mnemonics > "flush" the instruction pipeline. > > I suspect that due to pipelining, the cacheFlush instruction is sometimes > being executed prior to the "freshen" data instruction. The cacheFlush then > puts stale data into memory, while the fresh data remains stuck in cache. > > Dave > ===================================================== > T h e P T R G r o u p, I n c. > ===================================================== > Embedded, Real-Time Solutions, and Training > David Bryan Office: (703)726-0498 > Manager, Embedded Services Cell: (703)627-1735 > www.ThePTRGroup.com Dave@ThePTRGroup.com > ===================================================== From my understanding, the result of the cache flush operation will be to push the updated location out of the L1/L2 data caches towards system memory. The processor may have to arbitrate/wait for the system bus so the write operation may end up in a write buffer within the processor. A "sync" instruction should cause the processor to stall until the write buffer is flushed. However this still does not guarantee that system memory has been updated once the sync instruction completes as the memory controller chip may buffer the write operation between the processor bus and system memory. In some systems, the "sync" instruction may cause a broadcast on the system bus that results in the system controller flushing its write buffers, but not all systems implement this. It may be necessary for the processor to perform a read operation from system memory in order to flush the memory controller write buffers. In summary I would recommend the following sequence; 1. Update the data item (only cache gets updated) 2. Perform cache flush operation on the data item location 3. Issue sync instruction 4. Perform read operation from system memory (from non-cached location!) I have assumed that hardware snooping is not being used between the processor and the external device. Hope this helps, Jon Willemsen --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Delay before cacheFlush Date: Fri, 10 Jan 2003 15:16:36 GMT From: Dave Bryan Organization: The PTR Group Message-ID: References: Jon Willemsen wrote: ... > In summary I would recommend the following sequence; > 1. Update the data item (only cache gets updated) > 2. Perform cache flush operation on the data item location > 3. Issue sync instruction > 4. Perform read operation from system memory (from non-cached > location!) > ... Jon - Interesting... I guess I would have recommended placing the sync BEFORE the cache flush instruction since we are trying to synchronize the data write with the cacheFlush. I looked at the cacheFlush routine, and I see a dcbst instruction. The PPC guide says: :" The dcbst instruction is treated as a load from the addressed byte with respect to address translation and memory protection." In other words, I want my write to finish before my read(flush) is executed. Also, I wonder whether an explicit read operation is necessary since any access to the system memory will always go through the same memory controller pathway. As long as the read/write requests are posted in the correct order to the memory controller, everything should "work out". Giff - to be on the safe side, I would place sync (or CACHE_PIPE_FLUSH) calls on either side of the cacheFlush call. Make certain that fixes your issue. Then back out one or the other, and try again. Can you then post your results? Dave - -- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Delay before cacheFlush Date: 10 Jan 2003 08:44:01 -0800 From: giff@ciprico.com (D. Gifford) Organization: http://groups.google.com/ Message-ID: References: Dave Bryan wrote in message news:... > D. Gifford wrote: > > > From what I'm reading cachePipeFlush ("eieio" and "sync") does not > > flush the L2 cache, just L1. The symptoms I'm having look as though at > > the time of the flush I'm flushing stale data or at least corrupt. > > When I run this thing in "non-cached" memory everything is OK but as > > you stated the performance is not optimal. > > > > From one of my PowerPC guides: > > "The eieio instruction is used to control the order in which loads and stores > are performed when the accessed memory has certain attributes," > > "Executing a sync instruction ensures that all instructions preceding the > sync instruction appear to have completed before the sync instruction > completes, and that no subsequent instructions are initiated by the processor > until after the sync instruction completes. When the sync instruction > completes, all memory accesses caused by instructions preceding the sync > instruction will have been performed with respect to all other mechanisms > that access memory." > > So eieio and sync really have no effect on either cache. These mnemonics > "flush" the instruction pipeline. > > I suspect that due to pipelining, the cacheFlush instruction is sometimes > being executed prior to the "freshen" data instruction. The cacheFlush then > puts stale data into memory, while the fresh data remains stuck in cache. > > Dave > ===================================================== > T h e P T R G r o u p, I n c. > ===================================================== > Embedded, Real-Time Solutions, and Training > David Bryan Office: (703)726-0498 > Manager, Embedded Services Cell: (703)627-1735 > www.ThePTRGroup.com Dave@ThePTRGroup.com > ===================================================== I suspect that is what is happening. I'm trying to determine what a good work around would be short of not cacheing the data or making the cache write-through. Both options have less than desirable effects on performance. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Setting multiple IP addrs for an interface Date: 10 Jan 2003 09:04:47 -0800 From: iubica2@yahoo.com (Andrei) Organization: http://groups.google.com/ Message-ID: <371e4594.0301100904.127713f5@posting.google.com> References: <8400a733.0301070054.74033553@posting.google.com> <8400a733.0301080117.16dfeeb9@posting.google.com> <371e4594.0301081937.5ff94e0@posting.google.com> "Martin Roth" wrote in message news:... > Andrei, > I agree with you, because this is the basic of TCP/IP networking. > I am trying to think about a situation when you need to assign two IP > addresses to the same interface. This situation is also called 'interface aliaing', or 'multihoming'. While normally not needed, here is an example when you do need it. On your local ethernet network, there may be multiple IP subnets defined. If you use only one interface, you can talk directly to just one of the subnets, and have to rely on a gateway to route packets from you to the other subnets. Instead, you can use interface aliases to talk directly to all the other subnets. > I can think of security reasons to grant some applications to use one IP > address and other applications to use a different IP address. Once an interface is defined, all applications can use it. I don't know any OS that allows permission setting on an IP interface, and that checks the process user id/group id (similar to how file permissions work). The only permission restriction, on UNIXes and Windows (not sure of VxWorx, does it support user permisions?), is that applications can bind to port numbers < 1024 only if they have root permission. > I think if both addresses are routable, - they should be on the same subnet. > I can accept one routable address and one private address. In this case the > routable address can be used by the external world to access low security > applications. > The private IP address (for the same interface) can be used to access > applications that should not be exposed to external networks. What you're trying to do is difficult, but not impossible. It is similar to the ipchains concept that Linux has. If VxWorks implements hooks at the ethernet driver level which you can use to make it drop incoming packets based on their src/dest IP address... it could be done. For example, the OSE real-time system has that capability. An easier approach would be to deal with security at the application layer. Andrei Radulescu-Banu --------------------------- Newsgroups: comp.os.vxworks Subject: VME Based TCP IP Stack Date: 10 Jan 2003 09:06:03 -0800 From: sunilchomal@ieee.org (Sunil Chomal) Organization: http://groups.google.com/ Message-ID: Hi there! I am looking out for VME based TCP/IP stack. I have a xclient on a sparc cpu board, and a xserver on a graphic card. Both these cards are on the VME bus, and I need to communication between the xclient and xserver using the VME bus. Hope to get some respone! Regards, Sunil --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Quirky thread blocking & counting semaphore question Date: Fri, 10 Jan 2003 14:30:57 -0500 From: Keith Arner Organization: Marconi Message-ID: References: <5c34b056.0301080908.7ce44b07@posting.google.com> Reply-To: Keith Arner On 8 Jan 2003, Darren Long wrote: > Consider the pseudo-pseudo-code below > > function f > { > do while true > { > wait( CSem ); // counting semaphore > } > } > > Is there any way that the function can determine how many times it has > iterated around the loop since it was unblocked? The following code might work. For some reason, I have a nagging feeling that there's something wrong with it, but I haven't been able to put my finger on it. intLock()/taskLock() feel like they will be frought with peril, but... Maybe someone else will be able to see something I can't. void f (void) { while (1) { int level; STATUS ret; int count = 0; taskLock(); level = intLock(); ret = semTake(CSem, NO_WAIT); if (ret == ERROR) { semTake(CSem, WAIT_FOREVER); count = 0; } else { count++; } intUnlock(level); taskUnlock(); /* application logic goes here */ } } Keith - -- "One should not pursue goals that are easily achieved." - Albert Einstein, 1915 --------------------------- Newsgroups: comp.os.vxworks Subject: Warning: Tornado 2.2 Date: 6 Jan 2003 13:44:16 -0800 From: gpbeck_99@yahoo.com (Gary Beck) Organization: http://groups.google.com/ Message-ID: Found out today that WRS has removed 486 support from Tornado 2.2. Due to the overwhelming cry out from customers, they are considering putting it back. Doh! Question - Why remove it? --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Basic Doubt Date: Fri, 10 Jan 2003 14:50:55 -0500 From: Keith Arner Organization: Marconi Message-ID: <313680C9A886D511A06000204840E1CF061D414B-100000@whq-msgusr-02.pit.comms.marconi.com> References: <3E1D6EAE.4030708@bellsouth.net> Reply-To: Keith Arner On Thu, 9 Jan 2003, Dave Bryan wrote: > I'll add to Joe's response... that "technically" an ISR context IS created. > Registers are pushed on and popped off the stack to save and restore the > "context" of currently executing code. > > However this is a different meaning of context. In the world of the RTOS, > a context is generally meant to be a much larger thing. In the case of > VxWorks, the Task Control Block (TCB) describes the "context" of a task, > It includes the RTOS specific information such as the tasks ID, its stack > pointer and size, its priority, and it's state. The smaller the TCB, the > faster the context switch time between tasks. > > We say that an ISR executes in the currently executing task's (RTOS) > context because there is no TCB context switch. In fact, on some > architectures, the ISR makes use of the current tasks context, using its > stack. > > So while an ISR does have it's own "context" this is not the same as an > RTOS task context. I'll toss in my two cents, which will either help clear things up or (more likely) muddy the issue. =) They way that I think of "context" is the combination of a stack and a set of microprocessor register values. In VxWorks, each task has a seperate stack, and a seperate set of register values (the values of the registers are stored in the microprocessor when the task is active, and stored in the TCB when the task is not active). A "task context switch" means switching from one stack/registers pair to a different stack/registers pair. In "interrupt context" you still have a stack and a set of registers. In VxWorks some architectures piggyback the ISR on top of whatever task stack was active at the time of servicing the interrupt, while other architectures have a stack set aside specifically for ISRs. In either event, when the ISR exits, the task's context should be uneffected: the stack and the registers should be in the same state as they were when the ISR was entered. Getting back to the OP's question: what happens to the tasks state while the ISR is running. Well, if you test that task status from the ISR (the status field in the TCB), you would find it to be whatever the value was when the ISR fired. However, this is kind of a moot point. From the task's standpoint, it's status never changed. The task cannot run while the ISR is executing, and the task resumes just exactly where it left off when the ISR fired. The ISR does not (or at least should not) care about the status of the task, as it does not (or at least should not) interact with a task directly; rather it should interact with a task through a semaphore or a message queue or some such. Keith - -- "One should not pursue goals that are easily achieved." - Albert Einstein, 1915 --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Quirky thread blocking & counting semaphore question Date: Fri, 10 Jan 2003 15:01:24 -0500 From: Keith Arner Organization: Marconi Message-ID: References: <5c34b056.0301080908.7ce44b07@posting.google.com> <5c34b056.0301091039.1c8a65ee@posting.google.com> Reply-To: Keith Arner On 9 Jan 2003, Darren Long wrote: > round the loop. If the handler determines that the number of > iterations since it last blocked is excessive (i.e. the signalling > rate from the ISR is too high) it takes some action to rate limit the > interrupt source. One solution would be to rate limit it directly within the ISR: static int count; void myWdHandler(void) { count = LIMIT; wdStart(wdId, sysClkRateGet(), myWdHandler, 0); } void myIsr(void) { if (!count) { return; } count--; /* process interrupt */ } Note that you might have to jump through some hoops to kick-start the ISR later on, and you also might have to intLock() to protect count. Keith Hhmm... two postings in one week with wdStart(), two postings in one week with intLock(). You'd think I only know how to use two functions. ;) - -- "One should not pursue goals that are easily achieved." - Albert Einstein, 1915 --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Warning: Tornado 2.2 Date: Mon, 06 Jan 2003 22:10:59 GMT From: "who am i" Organization: Telenet Internet Message-ID: References: > Found out today that WRS has removed 486 support from Tornado 2.2. Crazy > Question - Why remove it? Yes why? --------------------------- Newsgroups: comp.os.vxworks Subject: FOM on SDK 3.0 Date: 6 Jan 2003 15:01:03 -0800 From: cmosexod@ix.netcom.com (jjl) Organization: http://groups.google.com/ Message-ID: Hello, Has someone developed a Foreign Object Model for the IXP2400/2800 ? Specifically, for interfacing to the QDR SRAM ports. If so, I am wondering if you had any problems on reading data from the QDR SRAM port pins. We have developed a QDR-SSRAM FOM for the IXP2x00 which interfaces to our Verilog code for doing "co-simulation". It uses sockets to communicate between the VCS (out Verilog simulator) and the FOM DLL (VC++ 6.0). We can do writes from the ME's all the way to the Verilog, but are having difficulties with reads. The IXP simulator (transactor) is not reading-in the data presented to the data-in port (QDR0_D_H<17:0>). It appears that the simualtor is using an "internal" virtual SRAM model. The manuals are very sketchy on how to disable it, if it is the case. Given that this is my first posting to this groups and my searches to other groups did not yield much, I am not sure if this is the proper group for my post. If not, would appretiate a pointer to the group(s) most applicable on this subject. regards, - -Joon --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Warning: Tornado 2.2 Date: 06 Jan 2003 18:19:17 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: Sender: bpringle@DeadDuck >>>>> "Gary" == Gary Beck writes: Gary> Found out today that WRS has removed 486 support from Tornado Gary> 2.2. Due to the overwhelming cry out from customers, they are Gary> considering putting it back. Gary> Doh! They did a similar thing for ARMARCH3 or the ARM710A targets. Ie, ARM's that don't support atomic loads of 16 bit values. Gary> Question - Why remove it? I would imagine that it is one more thing for them to test. The Pentium has some optimizations that the 486 doesn't. People using something better than 486 would ask "Why isn't this optimized for a Pentium". If the scheduler takes advantage of advanced instructions, then it means that code would have to be conditionally compiled. Unfortunately due to "majority vote", 486 will be included but old ARM variants wont. This is unfortunate as 486 customers could go elsewhere. What RTOS is supporting the old ARMS? Nucleus? Linux? Oh Well... fwiw, Bill Pringlemeir. - -- How many retired bricklayers from FLORIDA are out purchasing PENCIL SHARPENERS right NOW?? --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Evaluating port to VxWorks - for medical imaging application - C/C++ Date: 10 Jan 2003 15:36:13 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0301101536.2948f6f0@posting.google.com> References: <456de2c6.0301080854.37d73a8@posting.google.com> <488e459a.0301081644.48920a4c@posting.google.com> <456de2c6.0301091611.48202167@posting.google.com> Hello, > Thanks, I found the reference manual on some professor's website! Hmmm... that doesn't sound terribly legal since it is technically a copyrighted work. > Thanks very much for this insight. I have narrowed my VxWorks pre-port > analysis down to 1 function in our code to be ported, fcntl(). It is > being called three times with these parameters. > > fcntl(c->sfd, F_GETFL, 0) This gets the current flag settings for c->sfd. > fcntl(c->sfd, F_SETFL, flags | O_NDELAY) Assuming that c->sfd is a file descriptor for something that supports non-blocking operation (only a socket in VxWorks IIRC), then this will set the I/O to non-blocking mode + whatever was in flags (I'm going to guess that flags holds the return value from the previous call). > fcntl(c->sfd, F_SETFL, flags) If, as I assumed in the last case, flags holds the value returned by the F_GETFL operation above, then this is probably being used to return the file descriptor to blocking mode. > But I've no real idea on what exactly it is doing. If the above can be > done with ioctl() I'd sure like to know how. Switching between non-blocking and blocking modes is simple: on = TRUE; /* TRUE for non-blocking, FALSE for blocking */ status = ioctl (c->sfd, FIONBIO, &on); Detecting which one is currently set is harder. I can't see a way to get the current setting for an arbitrary socket descriptor. If you can keep track of this in the application (or you know that it will always be blocking mode when the routine is called), then the above two lines will work for you. HTH, John... --------------------------- Newsgroups: comp.os.vxworks Subject: timers & i960-CA Date: Fri, 10 Jan 2003 23:49:26 +0000 (UTC) From: Organization: Universitat de Valencia Message-ID: Sender: Hi all I have read the manual of the i960-CA (960-Cx family) and I did not found any timer on this on this processor, it seems if you want to program something periodically you must to use an external timer. Am I right? Is there any workaround? (this processor also doesn't seem to have a TimeStamp counter on it) Any comment would be greatly appreciated Thanks in advance Ulisses Debian GNU/Linux: a dream come true - ----------------------------------------------------------------------------- "Computers are useless. They can only give answers." Pablo Picasso - ---> Visita http://www.valux.org/ para saber acerca de la <--- - ---> Asociación Valenciana de Usuarios de Linux <--- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: VME Based TCP IP Stack Date: Fri, 10 Jan 2003 20:06:51 -0600 From: Joe Durusau Organization: WEBUSENET.com Message-ID: <3E1F7C3B.3050105@bellsouth.net> References: Sunil Chomal wrote: > Hi there! > > I am looking out for VME based TCP/IP stack. I have a xclient on a > sparc cpu board, and a xserver on a graphic card. Both these cards are > on the VME bus, and I need to communication between the xclient and > xserver using the VME bus. > > Hope to get some respone! > > Regards, > > Sunil At least in the past, WRS offered something called vxMP that allowed TCP/IP over the backplane of a VME box. Maybe that's what you are looking for. Speaking only for myself, Joe Durusau --------------------------- Newsgroups: comp.os.vxworks Subject: Re: the problems to install Rtl 8139D net card to vxworks Date: 6 Jan 2003 17:53:29 -0800 From: freebird21ce@hotmail.com (freebird21ce@hotmail.com) Organization: http://groups.google.com/ Message-ID: References: thanks a lot for your help! "Leonid Rosenboim" wrote in message news:... > You foregot to compile the driver sourece: > > cd target\src\drv\end\unsupported > make CPU=PENTIUM but how can i run the 'make' command? my host OS is windows98, does it mean i run the 'make' command in DOS shell under this directory? but it doesn't work at all! oboviously the make.exe does't under this directory. how can i do? can you explain the "make CPU=PENTIUM" a litter more detail. thank you very much! > > Also, you shoul dhave been more careful replacing the original BSP source > files with the ones that come from Realtek - you should have compared the > two, and carefully entered the appropriate additions. > > By the way, Realtek violates Wind River copyright by publishing these files > on their Web site. They only have the rights to their modifications. > > -- > ----------------------------------------------------------------------- > Leonid Rosenboim Visit: http://www.masada2000.org/historical.html > Consultant Email: my first name at consultant dot com > > > wrote in message > news:c7697c5d.0301060019.e9a1de6@posting.google.com... > > hello everybody: > > i wanna use an rtl8139D NIC on vxworks, and i download the driver from > > the realtek websit,as told by the README file , i copy the files to > > the corresponsive directory as follow: > > > > target/config/pcPentium: > > config.h > > configNet.h > > sysRtl81x9.c > > sysLib. /*these four files overlap the previous files with same > > name*/ > > > > arget\h\drv\end\unsupported: > > rtl81x9.h > > > > target\src\drv\end\unsupported: > > rtl81x9.c > > Makefile > > > > of course i modified the boot line in config.h for i need. > > then i build the boot rom and kernel, the problem comes: > > when i build boot rom, the error information as follow: > > sysALib.o sysLib.o D:\TORNADO\target\lib\libPENTIUMgnuvx.a > > sysLib.o(.text+0x4a7e): undefined reference to `rtl81x9EndLoad' > > sysLib.o(.text+0x4b0b): undefined reference to `rtl81x9EndLoad' > > make.exe: *** [bootrom_uncmp] Error 0x1 > > > > when i build the kernel,the error information as follow: > > -o vxWorks dataSegPad.o vxWorks.tmp ctdt.o > > vxWorks.tmp(.text+0x4cc6): undefined reference to `rtl81x9EndLoad' > > vxWorks.tmp(.text+0x4d53): undefined reference to `rtl81x9EndLoad' > > make.exe: *** [vxWorks] Error 0x1 > > > > what should i do now? can anybody give me a hint. thanks a lot! --------------------------- Newsgroups: comp.os.vxworks Subject: Device Drivers question Date: Sat, 11 Jan 2003 05:34:49 GMT From: "shasia" Organization: Cox Communications Message-ID: I have tons of documentation on Tornado and on VxWorks and I have access to windsurf (or whatever it is called now) but I can't find anywhere any device driver programming guide or how to write a BSP. All I have is BSP reference which is probably a very useful thing to somebody who already knows how to write it/use it. Can somebody please tell me if I am looking for something that does not exist or where I can find this documentation. Many thanks. Alex --------------------------- Newsgroups: comp.os.vxworks Subject: Re: I'm looking for persons iterested in IXP1200 & VxWorks Date: 6 Jan 2003 20:00:42 -0800 From: upily@mail.kaist.ac.kr (UPILY) Organization: http://groups.google.com/ Message-ID: <2519cc67.0301062000.52ff7d46@posting.google.com> References: <2519cc67.0301052333.73e2b5aa@posting.google.com> <8400a733.0301060704.e9fbc01@posting.google.com> Thanks for your answer first. :-) I'm using the IXP1200 Evaluation Platform. (I don't know what the Echo Creek Development System is.) Here is Network Systems Lab. in KAIST, KOREA. (http://netsys.kaist.ac.kr) I intend doing Layer3 IPv4 forwarder with a special scheduling algorithm that I have designed. Tornado 2.2 is installed On host pc(win2000) and target(IXP1200 Evaluation Platform) is connected with host through serial cable and ethernet. I made bootable image in Tornado and downloaded it into FlashRom in IXP1200 target using TFTP. The target is now bootable with VxWorks in it and I can connect with it using hyper terminal in win2000 through serial port. Now I intend to initialize microengine and download the microengine code that I have coded in the workbench into each microengine on the IXP1200 target. The microengine code is for data-path processing. And I should deploy the scheduling algorithm on the StrongArm core. I think I should make a code excuting on VxWorks that incldues the scheduling algorithm and communicate with the microengines exchanging control signals by the scheduling algorithm. I don't know how to initialize microengines and how to make the VxWorks code and deploy it into target.. can you help me? gonozal@gmx.at (Toni Kurzberger) wrote in message news:<8400a733.0301060704.e9fbc01@posting.google.com>... > This will depend on what you intend todo with the IXP1200. What > exactly do you intend todo with this Network Processor? Are you > working with the Echo Creek Development System? > > A pure VxWorks 5.5 executes on the IXPs StrongARM core only, it will > not touch the micro code engines. Typically VxWorks should be used to > handle the control path of frames/packets, initialization of the > microcode engines, etc. > > Work should be done in the IXPs 6 micro code engines. > > In case you intend doing a Layer 2 Frame (e.g. Ethernet) switch or a > Layer 3 Packet (IPv4) forwarder you might be interrested in having a > look at TMS from WindRiver. This would handle Layer 2 & Layer 3 > control layer (so, this effectivly is a VxWorks + the application). > There should be integrations available for the IXP. > > Well... and what is the current status? Did you manage to get VxWorks > running on the StronARM? > > toni --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Setting multiple IP addrs for an interface Date: 6 Jan 2003 20:08:18 -0800 From: vdalal@hotmail.com (Vasu Dalal) Organization: http://groups.google.com/ Message-ID: <363d071b.0301062008.76ad7a67@posting.google.com> References: Hello : > What calls do I need to make to give an Ethernet interface 2 IP addresses? > Use ifAddrAdd() in ifLib.h ifAddrAdd (char* interfaceName,char* interfaceAddr, char* broadcastAddr, int subnetmask); Try for example : ifAddrAdd "motfcc0","192.168.101.100","192.168.101.255",0xffffff00 hth, vasu --------------------------- Newsgroups: comp.os.vxworks Subject: WDB Serial Backend Agent Questions Date: Mon, 6 Jan 2003 22:29:21 -0600 From: "fred" Organization: Posted via Supernews, http://www.supernews.com Message-ID: Reply-To: "fred" Hello, We've successfully used Tornado 2.0 (with 2 patches) on custom built MIPS R3000 board. The board doesn't have an Ethernet interface so we've used the serial backend agent for Tornado and all has worked fine for about 2 years. Our host PC (Compaq running Windows NT) was recently upgraded to a Dell P4 machine running Windows 2000 and we installed Tornado 2.02. Now we are having trouble downloading object files to the board using our new setup where we never had problems before. The Backend target agent always starts successfully and we have been able to start a shell but we see problems when we download object code. Approximately 1 out if 50 attempts works but the other 49 fail (the download dialog stays at 0% forever). To try and see what was happening I found a shareware serial port diagnostic tool that you can start before launching Tornado and it records all activity at a specified COM port. When I run this program I can see the data being exchanged between the target and the host PC when VxWorks boots and the target server starts. When we try to download I can see 5-6 exchanges between the target and the host PC then nothing -- the download dialog stays at 0% with the little file flying between the two folders. Is there any way to decode what is in these exchanges? Is there any way for me to debug this problem?? Thanks, David Hyde --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PC/104 Tri-M MZ104+ BSP Date: Tue, 07 Jan 2003 04:43:11 GMT From: "drdiags" Organization: AT&T Broadband Message-ID: References: Gary, One last put. Are you attempting to run vxWorks 5.5 or is this vxWorks AE? (The bootloader showing version 1.6 is why I am asking). I am sure you know that currently vxWork 5.5 doesn't support x86, though there probably are options around this. Good Luck! "Gary Beck" wrote in message news:eac587be.0301051957.7901ce55@posting.google.com... > Thanks DrDiags for all the info. > > I have not been able to determine where the boot "crashes" causing a > system reboot. I'm using a PCI VGA board to monitor the boot process. > I can see bootrom.sys being loaded (accessed) from the floppy > (displayed on the monitor "V1.6+++++++++...") Just as it seems it > will start executing the boot sequence, the system resets. > > I'll try disabling the parallel port along with other unnecessary > interfaces to see if that makes any difference. However, I would like > to use both COM ports and both ethernet ports (reason we got this > board). We will need to boot from the DDS, but for now I'm trying the > floppy since I figured that would be the easiest. > > I've got a TSR into WindRiver regarding the pc486 BSP. Hopefully they > get back to me on Monday. > > I've also contacted Tri-M, but they were not much help initially. > I'll try them again. > > Thanks again. I'll let you know how I make out. > > "drdiags" wrote in message news:... > > Hello Gary, > > > > The only suggestion I have is that you should contact your local > > Wind River sales team to look into purchasing the 486 BSP. I > > would imagine there are other 3rd party folks who may respond, > > so you may want to re-post to clear out this thread. BTW, > > when you state that the target doesn't boot, do you know > > where it fails? I found that I needed to purchase a PC104+ > > VGA board to review the BIOS settings (though setting the > > BIOS to use the serial port is possible, I only had a hyperterminal > > connection, so the graphics were hard on the eyes). Also, > > have you setup the DiskOnChip to boot vxWorks or are you using > > the floppy? One quirk (un-verified by me) is the one needs to > > set the LPT to not use IRQ 7 in the BIOS Settings > > (claims leaving it will hang the system when vxWorks boots up). > > You could set it to 5. And I never could get IRQ 11/12 > > (USB and PS2 mouse) free for use by vxWorks even when > > I disabled these devices in the BIOS (but that is another story). > > Plus the two on-board ethernets kept using IRQ 10/11 > > instead of 9/10 as documented. > > So the bottom line is that you could contact TRI-M and > > have them help work through this or I know that the Wind River > > pc486 BSP (with slight modifications) works for this h/w. As > > one final note, I found that doing anything with the PCI Interrupts > > in BIOS (such as reserving them, setting them to use legacy devices > > or the like) would cause vxWorks to crash. I could only let the > > PCI IRQs be managed by the BIOS. HTH > > > > "Gary Beck" wrote in message > > news:eac587be.0301040702.282aeb4b@posting.google.com... > > > I'm trying to use the 486 core. According to the documentation that > > > came with the BSP from zfmicro.com, the ZFx86 is not compatible with > > > the Pentium core. I've tried to use a generic 486 BSP but couldn't > > > find one. I've tried both the templatex86 and pcPentium BSPs with > > > defining the CPU to be a 486, but still doesn't boot. > > > > > > Any other ideas? Thanks for responding. > > > > > > > > > "drdiags" wrote in message > > news:... > > > > Hello Gary, > > > > > > > > Are you using the 486 or Pentium core? I worked with folks using the > > > > 486 core and they just used the stock vxWorks 486 BSP and had it > > > > working for them (with of course mods for their PCMCIA and custom > > > > H/W boards). Good luck. > > > > > > > > "Gary Beck" wrote in message > > > > news:eac587be.0301031332.c0a0d2f@posting.google.com... > > > > > I'm looking for a BSP for this board. It has the ZFx86 processor on > > > > > board. I've downloaded the BSP from zfmicro.com, but I can't use it > > > > > to create a new project. > > > > > > > > > > Any ideas? --------------------------- Newsgroups: comp.os.vxworks Subject: vxWorks5.4 PPP ipcp question! Date: 6 Jan 2003 21:11:56 -0800 From: yongchen@online.sh.cn (chenyong) Organization: http://groups.google.com/ Message-ID: Hi, guys Now we are in trouble with a PPP question! We using serial rs232 to complete PPP function. os is vxWorks5.4. hardware is x86 with a RJ45 LAN port. i use usrPPPInit("ppp=/tyCo/0,9600",0,"","") in shell. PAP has passed.After PAP, it need to sent a NULL ip to server to apply an ip address, but it sent a local ethernet Ip address, "192.168.0.66.",not the "0.0.0.0" .when we changed it to "1.1.1.1",it sent "1.1.1.1". but we do need to send "0.0.0.0" to the server. I disable DNS fuction in vxWorks configurature. Anyone can help me? mark --------------------------- Newsgroups: comp.os.vxworks Subject: Re: timers & i960-CA Date: Sat, 11 Jan 2003 10:50:18 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: Reply-To: "Leonid Rosenboim" You are right, unlike the i960 Jx and Hx series, the CA and CF where the first ones out, and they had fewer integration components on chip, therefore to use a 960Cx with VxWorks, the board had to have an external timer/couter connected to one of its interrupt lines. Without a timer, no operating system can use this chip, so the board must have a timer. But an application need to use the timer services via the OS interface (see wdLib if you use VxWorks). - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com wrote in message news:avnm66$jei$1@peque.uv.es... > > Hi all > > > I have read the manual of the i960-CA (960-Cx family) and I did not found > any timer on this on this processor, it seems if you want to program something > periodically you must to use an external timer. > > Am I right? > > Is there any workaround? (this processor also doesn't seem to have a TimeStamp > counter on it) > > Any comment would be greatly appreciated > > Thanks in advance > > > Ulisses > > > Debian GNU/Linux: a dream come true > -------------------------------------------------------------------------- - --- > "Computers are useless. They can only give answers." Pablo Picasso > > ---> Visita http://www.valux.org/ para saber acerca de la <--- > ---> Asociación Valenciana de Usuarios de Linux <--- > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: timers & i960-CA Date: Sat, 11 Jan 2003 09:09:56 +0000 (UTC) From: Organization: Universitat de Valencia Message-ID: References: Sender: Hi Leonid Leonid Rosenboim wrote: > You are right, unlike the i960 Jx and Hx series, the CA and CF where > the first ones out, and they had fewer integration components on chip, > therefore to use a 960Cx with VxWorks, the board had to have an > external timer/couter connected to one of its interrupt lines. > > Without a timer, no operating system can use this chip, so the board > must have a timer. Ok > But an application need to use the timer services via the OS interface > (see wdLib if you use VxWorks). I don't understand nothing of the last paragraph, maybe cause my english? you say to obtain the timing from an external source via software? Thanks Ulisses Debian GNU/Linux: a dream come true - ----------------------------------------------------------------------------- "Computers are useless. They can only give answers." Pablo Picasso - ---> Visita http://www.valux.org/ para saber acerca de la <--- - ---> Asociación Valenciana de Usuarios de Linux <--- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Warning: Tornado 2.2 Date: 7 Jan 2003 10:51:57 GMT From: William Munns Organization: Your Company Message-ID: References: Bill Pringlemeir wrote in news:m2isx1lvd6.fsf@sympatico.ca: >>>>>> "Gary" == Gary Beck writes: > Gary> Doh! > > They did a similar thing for ARMARCH3 or the ARM710A > targets. Ie, ARM's that don't support atomic loads of 16 > bit values. You mean ARM's that aren't produced anymore? (with the excetption of the 7500FE?) > but old ARM variants wont. This is unfortunate as 486 > customers could go elsewhere. What RTOS is supporting the > old ARMS? Nucleus? Linux? Oh Well... > > fwiw, > Bill Pringlemeir. > RISC OS? --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Sun Jan 12 04:03:27 2003 From: Vxworks Exploder Date: Sun Jan 12 04:03:29 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Sun Jan 12 04:03:25 PST 2003 Subject: Re: Delay before cacheFlush Subject: Re: timers & i960-CA Subject: Re: Device Drivers question Subject: Re: Device Drivers question Subject: Re: Delay before cacheFlush Subject: Re: timers & i960-CA Subject: Re: the problems to install Rtl 8139D net card to vxworks Subject: Re: timers & i960-CA Subject: Re: timers & i960-CA Subject: Re: considering a positiion using vxworks Subject: Re: Curious Problem with IBM NPe405L and vxWorks Subject: Re: timers & i960-CA ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: Delay before cacheFlush Date: Tue, 7 Jan 2003 16:27:33 +0100 From: "Friedrich Ensslin" Message-ID: References: Hi, perhaps you should mark the data structures to be used by the other device as non-cacheable.This not only makes sure, that they are written immediately, but also saves you the cache flushing of memory which isn't needed by the other device. bye, Fritz "D. Gifford" schrieb im Newsbeitrag news:d802dea2.0301070637.5822ea64@posting.google.com... > I have a design that uses the PPC750 and L2 cache. When I place data > in the L2 cache sometimes I need to guarantee that the data is in main > system memory for another device to use. For this I am using the the > cacheLib function "cacheFlush" but it seems to not always work > properly. If I place a delay between when I write the last variable > into cache and when I call the cacheFlush function everything seems to > work. Has anyone seen tis before? --------------------------- Newsgroups: comp.os.vxworks Subject: Re: timers & i960-CA Date: Sat, 11 Jan 2003 19:30:31 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: Reply-To: "Leonid Rosenboim" I will try to elaborate: When an operating system like VxWorks is ported to a board with a Cx CPU, the BSP - Board Support Package, must provide drivers for several critical devices, and timer i sone of them. The OS is dependent on the timer services so the BSP has to support it. And once the OS has its timer support via the BSP, this timer is shared among all applications by means of a software interface the OS provides. I can give you examples of the same principle on practically any operating system. The only limitation of sharing a single hardware timer among the kernel and all appkication is the resulution of the timer, the OS inccurs overhead that grows with the timer frequency. A typical system clock frequency for the i960Cx is 60 to 100Hz, which gives the applications timing at 10ms-18ms resulution, and some application find this resolution not satisfactory, so there is a provision for a second timer in the BSP, sysAuxClock, read the FAQ and VxWorks documentation to learn more. - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com wrote in message news:avon14$ndu$1@peque.uv.es... > Hi Leonid > > Leonid Rosenboim wrote: > > You are right, unlike the i960 Jx and Hx series, the CA and CF where > > the first ones out, and they had fewer integration components on chip, > > therefore to use a 960Cx with VxWorks, the board had to have an > > external timer/couter connected to one of its interrupt lines. > > > > Without a timer, no operating system can use this chip, so the board > > must have a timer. > > > Ok > > > But an application need to use the timer services via the OS interface > > (see wdLib if you use VxWorks). > > I don't understand nothing of the last paragraph, maybe cause my english? > > you say to obtain the timing from an external source via software? > > Thanks > > Ulisses > > Debian GNU/Linux: a dream come true > -------------------------------------------------------------------------- - --- > "Computers are useless. They can only give answers." Pablo Picasso > > ---> Visita http://www.valux.org/ para saber acerca de la <--- > ---> Asociación Valenciana de Usuarios de Linux <--- > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Device Drivers question Date: Sat, 11 Jan 2003 10:08:39 -0800 From: Rick Davis Message-ID: <3E205DA7.3070605@rmbwoc.com> References: Dave Bryant's #4 ( hire someone who's done it before ) is the quick solution. Otherwise, a training course either from Wind or another company is well worth the $$$. Once you get the hang of it, it's not too difficult but the first time can be a pain in the posterior. I worked with folks who did it from the developer documentation the first time and it was, well, "exciting". - -- Rick Davis shasia wrote: > I have tons of documentation on Tornado and on VxWorks and I have access to > windsurf (or whatever it is called now) but I can't find anywhere any device > driver programming guide or how to write a BSP. All I have is BSP reference > which is probably a very useful thing to somebody who already knows how to > write it/use it. Can somebody please tell me if I am looking for something > that does not exist or where I can find this documentation. Many thanks. > > Alex > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Device Drivers question Date: Sat, 11 Jan 2003 18:50:54 +0000 (UTC) From: David Laight Organization: BT Openworld Message-ID: References: <3E205DA7.3070605@rmbwoc.com> Rick Davis wrote: > > Dave Bryant's #4 ( hire someone who's done it before ) is > the quick solution. Otherwise, a training course either > from Wind or another company is well worth the $$$. Once > you get the hang of it, it's not too difficult but the > first time can be a pain in the posterior. I worked with > folks who did it from the developer documentation the first > time and it was, well, "exciting". It is also best to have the code for 'something vaugely similar' - at least then you know which bits you have to write. Even given one of WRS's standard BSPs for a board, you might find it buggy in certain areas. I had to rewrite all the timer routines and interrupt dispatch code for the one we used. (as well as all the drivers fromthe stuf actually specific to our board) David --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Delay before cacheFlush Date: Sat, 11 Jan 2003 13:53:41 -0500 From: Varndell Engineering Organization: Posted Via Newsfeeds.com = SPEED+RETENTION+COMPLETION = http://www.newsfeeds.com Message-ID: <3E206835.5090703@hotmail.com> References: Dave Bryan wrote: > Friedrich Ensslin wrote: > > >>Hi, >>perhaps you should mark the data structures to be used by the other device >>as non-cacheable.This not only makes sure, that they are written >>immediately, but also saves you the cache flushing of memory which isn't >>needed by the other device. >>bye, >>Fritz >> >>"D. Gifford" schrieb im Newsbeitrag >>news:d802dea2.0301070637.5822ea64@posting.google.com... >> >>>I have a design that uses the PPC750 and L2 cache. When I place data >>>in the L2 cache sometimes I need to guarantee that the data is in main >>>system memory for another device to use. For this I am using the the >>>cacheLib function "cacheFlush" but it seems to not always work >>>properly. If I place a delay between when I write the last variable >>>into cache and when I call the cacheFlush function everything seems to >>>work. Has anyone seen tis before? >> > > Certainly making memory non-cachable is the safe thing to do. But it is not > the optimal thing to do. WIND seems to promote using cacheDmaMalloc, which > will allocate non-cachable memory. But in fact, you will get much better > performance out of your hardware if cache is enabled. > For certain types of systems, designating all of memory as cache-inhibited might well produce optimal performance. For (most) other systems, optimal performance will be achieved using a combination of cached and non-cached memory along with a prudent partitioning of memory spaces that can be accessed by external bus masters. Wind's cacheDmaMalloc() allows one to do just that; carve out a piece of non-cached memory space from a larger cached space. Your claim that 'better' performance is gained with enabled caches is rather far reaching. The OP didn't supply enough information about his system to warrant that conclusion. > The problem Giff is having is probably related to the PIPELINE. It's been a > little while since I looked at the PPC specific instructions, but I believe > the macro CACHE_PIPE_FLUSH will do the trick (I'm pretty sure this does an > eieio, sync). The cacheFlush() function already ends with a sync. Following it with eieio;sync is beating a dead horse. Regards, George Varndell - -- Varndell Engineering, LLC Embedded Systems Expertise Need a vxWorks END for National Semiconductor DP8382x GigE? http://www.varndellengineering.com - -----------== Posted via Newsfeed.Com - Uncensored Usenet News ==---------- http://www.newsfeed.com The #1 Newsgroup Service in the World! - -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =----- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: timers & i960-CA Date: Sat, 11 Jan 2003 22:20:50 +0000 (UTC) From: Organization: Universitat de Valencia Message-ID: References: Sender: Hi Leonid! Thanks for your reply Leonid Rosenboim wrote: > I will try to elaborate: > When an operating system like VxWorks is ported to a board with a Cx CPU, > the BSP - Board Support Package, must provide drivers for several critical > devices, and timer i sone of them. The OS is dependent on the timer services > so the BSP has to support it. Ok, ok... > And once the OS has its timer support via the BSP, this timer is shared > among all applications by means of a software interface the OS provides. > I can give you examples of the same principle on practically any operating > system. > The only limitation of sharing a single hardware timer among the kernel > and all appkication is the resulution of the timer, the OS inccurs overhead > that grows with the timer frequency. A typical system clock frequency for > the i960Cx is 60 to 100Hz, which gives the applications timing at 10ms-18ms > resulution, and some application find this resolution not satisfactory, so > there is a provision for a second timer in the BSP, sysAuxClock, read the FAQ > and VxWorks documentation to learn more. I'm interested in implementing the timer facility myself, not using VXworks' facilities I had to say first, that I'm not going to use VxWorks or any other operating system, I'm going to play directly with hardware. I would like to know how VxWorks implemented it, so I can implement myself, or an alternate way... It's hard to find info about it, so I decided post here my question, maybe I should had to put an "OFFTOPIC" in the subject... anyway this question is also interesting for people using VxWorks, isn't it? or should I say for old versions of VxWorks? i960 seems a no longer supported version in windriver's web page. I don't have VxWorks but searching the net seems that VxWorks distributed source code of it's operating system or at least some of it, but I did not found any timer related code for the i960-Cx Again, thanks in advance Ulisses Debian GNU/Linux: a dream come true - ----------------------------------------------------------------------------- "Computers are useless. They can only give answers." Pablo Picasso - ---> Visita http://www.valux.org/ para saber acerca de la <--- - ---> Asociación Valenciana de Usuarios de Linux <--- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: the problems to install Rtl 8139D net card to vxworks Date: Tue, 7 Jan 2003 09:27:19 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: Reply-To: "Leonid Rosenboim" Yes, you need to do it in a Command Window (a.k.a.. DOS window), and if it can not find the executables, you need to go to the "bin" directory of Tornado and run a batch file that sets up your environment (includiing path). See the Tornado manual for details. wrote in message news:c7697c5d.0301061753.442de5ed@posting.google.com... > thanks a lot for your help! > > "Leonid Rosenboim" wrote in message news:... > > You foregot to compile the driver sourece: > > > > cd target\src\drv\end\unsupported > > make CPU=PENTIUM > > but how can i run the 'make' command? > my host OS is windows98, does it mean i run the 'make' command in DOS > shell under this directory? but it doesn't work at all! oboviously the > make.exe does't under this directory. > > how can i do? > can you explain the "make CPU=PENTIUM" a litter more detail. > thank you very much! > > > > > > Also, you shoul dhave been more careful replacing the original BSP source > > files with the ones that come from Realtek - you should have compared the > > two, and carefully entered the appropriate additions. > > > > By the way, Realtek violates Wind River copyright by publishing these files > > on their Web site. They only have the rights to their modifications. > > > > -- > > ----------------------------------------------------------------------- > > Leonid Rosenboim Visit: http://www.masada2000.org/historical.html > > Consultant Email: my first name at consultant dot com > > > > > > wrote in message > > news:c7697c5d.0301060019.e9a1de6@posting.google.com... > > > hello everybody: > > > i wanna use an rtl8139D NIC on vxworks, and i download the driver from > > > the realtek websit,as told by the README file , i copy the files to > > > the corresponsive directory as follow: > > > > > > target/config/pcPentium: > > > config.h > > > configNet.h > > > sysRtl81x9.c > > > sysLib. /*these four files overlap the previous files with same > > > name*/ > > > > > > arget\h\drv\end\unsupported: > > > rtl81x9.h > > > > > > target\src\drv\end\unsupported: > > > rtl81x9.c > > > Makefile > > > > > > of course i modified the boot line in config.h for i need. > > > then i build the boot rom and kernel, the problem comes: > > > when i build boot rom, the error information as follow: > > > sysALib.o sysLib.o D:\TORNADO\target\lib\libPENTIUMgnuvx.a > > > sysLib.o(.text+0x4a7e): undefined reference to `rtl81x9EndLoad' > > > sysLib.o(.text+0x4b0b): undefined reference to `rtl81x9EndLoad' > > > make.exe: *** [bootrom_uncmp] Error 0x1 > > > > > > when i build the kernel,the error information as follow: > > > -o vxWorks dataSegPad.o vxWorks.tmp ctdt.o > > > vxWorks.tmp(.text+0x4cc6): undefined reference to `rtl81x9EndLoad' > > > vxWorks.tmp(.text+0x4d53): undefined reference to `rtl81x9EndLoad' > > > make.exe: *** [vxWorks] Error 0x1 > > > > > > what should i do now? can anybody give me a hint. thanks a lot! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: timers & i960-CA Date: Sun, 12 Jan 2003 09:59:58 +0000 (UTC) From: Organization: Universitat de Valencia Message-ID: References: ulisses@pusa.no.spam.informat.uv.es wrote: [...] > Hi Leonid! > I'm interested in implementing the timer facility myself, not using VXworks' > facilities For added clarity I'm interested in implementing it without any external timer hardware, in other words, implementing enterely within i960-CA, if that's possible :-) Thanks Ulisses Debian GNU/Linux: a dream come true - ----------------------------------------------------------------------------- "Computers are useless. They can only give answers." Pablo Picasso - ---> Visita http://www.valux.org/ para saber acerca de la <--- - ---> Asociación Valenciana de Usuarios de Linux <--- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: timers & i960-CA Date: Sun, 12 Jan 2003 12:55:39 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: Reply-To: "Leonid Rosenboim" wrote in message news:avreau$2v7$1@peque.uv.es... > ulisses@pusa.no.spam.informat.uv.es wrote: > [...] > > Hi Leonid! > > I'm interested in implementing the timer facility myself, not using VXworks' > > facilities > > For added clarity > > I'm interested in implementing it without any external timer hardware, in > other words, implementing enterely within i960-CA, if that's possible :-) > No, I do not think it is possible without some external hardware for the i960 CA chip, this is simply a function that the CPU does not have. You can look what OTHER chips you DO HAVE on the board, and evaluate each for this porpose - some UARTs have a timer function included in them. Also, a UART can emulate s timer if you sacrifice one channel, transmitting characters all the time will get you an interrupt every ~ 1msec, if the channel is seto to 9600 baud. I still do not really understand what you are trying to acheive here, but you seem to be a long way from where you want to go. - - Leonid --------------------------- Newsgroups: comp.os.vxworks Subject: Re: considering a positiion using vxworks Date: Sun, 12 Jan 2003 06:10:03 GMT From: "H. E. Taylor" Organization: MTS Internet Message-ID: <3E212164.4155@despam.autobahn.mb.ca> References: In article , sidewinder wrote: > > I am a software engineer specializing in firmware. Is vxworks easy to > learn? > Many variables. There are several flavours. The host environment can be a pain. (Don't know how to say this without sounding like a jerk;-) How much do you know? A familiarity with UNIX would help. Exposure to a flat address space, library based OS like AmigaDOS would help. Good contacts with your FAE (and the contract with WRS behind it) would help. A contact who has some BSP familiarity would help. >I was told it was a cake walk but the deadlines on the project will > be very tight, so I am concerned since I haven't used it before. > Depends how tight. - -het - -- "progress in software has not followed Moore's law." -John Holland Computer Links: http://www.autobahn.mb.ca/~het/clinks.html H.E. Taylor http://www.autobahn.mb.ca/~het/ --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Curious Problem with IBM NPe405L and vxWorks Date: Sun, 12 Jan 2003 13:07:06 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <3E20D7B1.4070801@nc.rr.com> Reply-To: "Leonid Rosenboim" This may be a a long shot, but ehre it goes anyway: I have experienced custom designed boards that had their RAM timing marginal, and the HW guys did not test large "burst" mode memory accesses. In my case it usually faiiled the first time that a context switch was attempted, because the kernel has assembly code to load and store the registers as fast as possible, and maing use of available burst modes. Whet I suggest you do is put a Logic Analyzer on the Bus, and use the exception as a trigger for the Logic - -- Hope this helps. - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com "Ricky West" wrote in message news:3E20D7B1.4070801@nc.rr.com... > Lately, the project I have been working on has been seeing an > intermittent problem with the generation of a data access exception and > I wanted to post to the news group for some advice/comments. We have > been searching for the cause with visionIce and visionTrace using > singleStep with vision and have been stumped by the tools. Can't seem > to get them to work right in our enviornment and application. Such is > life. > > On with the story... > > The Setup... > > Configuration---Tornado 2.0.2 with some patches for dosFs2.0 and some > TMS stuff > Build Env---Windows 2000 > BSP---NPe405L from IBM for vxWorks windKernel 2.5 and vxWorks 5.4 > Options---INCLUDE_BASIC_MMU with both instruction and data MMU enabled > > The Problem... > > Various tasks blow up where the implicated code is in windLoadContext > just before the restoral of regs r3 and r4 but after the setting of SRR0 > and SRR1. This we have been able to determine using hardware > breakpoints set at the data access exception vector of 0x300. It just > so happens that the tasks that crash have TCBs that are aligned such > that the addresses storing the PC and the MSR for the task are in a > different 4K memory page than the addresses where regs r3 and r4 stored. > We have verified that external exceptions are disabled during the load > function, but both instruction and data TLB miss exceptions are not. > > The Theory... > > We have not been able to trace the code using visionTrace, a real-time > trace option to the visionIce. But here goes with the theory based on > experience and educated guesses. We think that during the loading one > of the tasks that cross the 4k boundary is switched in but where the > page boundaries result in a data TLB miss after the SRR0 and SRR1 have > been restored. Since the TLB miss handler does the rfi rather than the > load context fcn, the contents of r3 and r4 are not restored from the > saved context of the task. > > The Questions... > > 1. Has anybody else seen something like this? > > 2. Does the switching of tasks for this BSP really happen outside of > exception handling? > > 3. Are there any other suggestions or theories to follow-up with. > > Thanks in advance, > > Ricky West > Hatteras Networks > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: timers & i960-CA Date: Sun, 12 Jan 2003 11:34:00 +0000 (UTC) From: Organization: Universitat de Valencia Message-ID: References: Sender: Hi Leonid! Leonid Rosenboim wrote: [...] > No, I do not think it is possible without some external hardware for the > i960 CA > chip, this is simply a function that the CPU does not have. > You can look what OTHER chips you DO HAVE on the board, and evaluate each > for this porpose Ok > - some UARTs have a timer function included in them. > Also, a UART can emulate s timer if you sacrifice one channel, transmitting > characters all the time will get you an interrupt every ~ 1msec, if the > channel > is seto to 9600 baud. interesting > I still do not really understand what you are trying to acheive here, but > you seem > to be a long way from where you want to go. I want to implement packet timestamping on a NIC that has a i960 built on it for my graduate project I'm waiting to receive the source code of an unoficial firmware of this NIC that I'll try to modify to achieve it Again, thank you so much for your (so interesting) replies And yes, you're probably right while saying "you seem to be a long away"... :-( Ulisses Debian GNU/Linux: a dream come true - ----------------------------------------------------------------------------- "Computers are useless. They can only give answers." Pablo Picasso - ---> Visita http://www.valux.org/ para saber acerca de la <--- - ---> Asociación Valenciana de Usuarios de Linux <--- --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Mon Jan 13 04:03:30 2003 From: Vxworks Exploder Date: Mon Jan 13 04:03:32 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Mon Jan 13 04:03:27 PST 2003 Subject: Re: How about the macro RAM_HIGH_ADRS ? Subject: detect telnet connection lose faster. Subject: Re: timers & i960-CA Subject: Re: detect telnet connection lose faster. Subject: Re: WDB Serial Backend Agent Questions Subject: Re: POSIX compliant calls for sockets in VxWorks Subject: considering a positiion using vxworks Subject: Re: timers & i960-CA Subject: Curious Problem with IBM NPe405L and vxWorks Subject: entry point of flash memory on MPC860ADS Subject: kernel preemption Subject: Need help with problems with Motorola Sandpoint Eval Board Subject: IP Packet Routing Subject: Re: Quirky thread blocking & counting semaphore question Subject: dec 21143 missing carrier detction? Subject: Re: timers & i960-CA Subject: Re: entry point of flash memory on MPC860ADS Subject: Re: considering a positiion using vxworks Subject: POSIX compliant calls for sockets in VxWorks Subject: Re: Setting multiple IP addrs for an interface Subject: Re: the problems to install Rtl 8139D net card to vxworks Subject: Re: kernel preemption ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: How about the macro RAM_HIGH_ADRS ? Date: Tue, 7 Jan 2003 11:00:51 -0800 From: "Dan Gold" Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: References: Sender: gold@ensemble.com "minskey73" wrote in message news:avblbc$1c9b$1@mail.cn99.com... > Hi, > I am writing my BSP for MPC860 . In config.h and makefile ,there's a > macro RAM_HIGH_ADRS. I know that the memory between RAM_LOW_ADRS and > RAM_HIGH_ADRS is used for vxWorks image. My board has 128M RAM, and the size > of my image file is 17MBytes . So I want to define the macro as > 0x02000000(32M) in both config.h and makefile. But the BSP do not work. If I > define it as 0x01200000,it works well. Why ? I want to get it. I did read the other posts but there are still some unanswered questions: Your image is 17MB - I take it that is the application and not your bootrom ? :-) How are you loading your application, i.e. TFTP or is it burned into flash and then loaded from there ? So you know that between RAM_LOW_ADRS and RAM_HIGH_ADRS is where the vxWorks application (presumably your 17MB image) will live. Now the bootrom (that will load your image) *starts* executing at RAM_HIGH_ADRS. How big is your bootrom ? Even if your bootrom is 1MB, if you set RAM_HIGH_ADRS to 32MB, your bootrom will live between 32 and 33MB. As everyone pointed out, this is above the 24-bit limit and thus vxworks can't jump from the exception vectors to your bootrom. Thus your bootrom needs to be lower than 32MB. Your bootrom should start (i.e. RAM_HIGH_ADRS) at (as Michael correctly pointed out) 32MB-sizeof(bootrom image). And leave some room someplace for a stack, heap, etc if you need it. Since it works when you set RAM_HIGH_ADRS to 0x1200000 (18MB), your bootrom will start executing at 18MB. I would think your bootrom is less than 14MB :-) and so you stay within the 32MB limit. Don't confuse RAM_HIGH_ADRS with LOCAL_MEM_SIZE. Once your 17MB image is booted, you can tell vxWorks that you have 128MB. Just don't try to dynamically load code and jump to it (without -mlongcall). hth, Dan Gold gold@ensemble.com --------------------------- Newsgroups: comp.os.vxworks Subject: detect telnet connection lose faster. Date: 12 Jan 2003 04:39:19 -0800 From: shy017@yahoo.com (Shay) Organization: http://groups.google.com/ Message-ID: <8a5dc325.0301120439.29c2a2a0@posting.google.com> Hi all, I wish that telnet daemon detect faster that the connection is gone. I tried: 1. To change the value of TCP_CON_TIMEO_DFLT to smaller value (from 150 to 20). Did not do the work. 2. I want to use 'setsockopt()' -- how do I get the 'sock' parameters ? (is it possible?) Thanks, - --Shay --------------------------- Newsgroups: comp.os.vxworks Subject: Re: timers & i960-CA Date: Sun, 12 Jan 2003 14:54:26 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: Reply-To: "Leonid Rosenboim" Never heard of a NIC that contains a i960 Cx, but I do know of NIC cards that have a i960Rx (which is an I2O derivative, similar to i960Jx). For timestamping packets, you coul duse a timer, but for 100Mbps Ethernet the resolution must be at least 10kHz, which is a lot if you have to geberate interrupts, but you can write a "timestamp" driver, that has a software counter incremebted by timer interrupts for MSBs and read the timer's counter for the LSB. As a first and most critical step, I would recommend to carefully stuy the hardware manual. - -- HTH - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com wrote in message news:avrjr8$3lq$1@peque.uv.es... > Hi Leonid! > > Leonid Rosenboim wrote: > [...] > > No, I do not think it is possible without some external hardware for the > > i960 CA > > chip, this is simply a function that the CPU does not have. > > You can look what OTHER chips you DO HAVE on the board, and evaluate each > > for this porpose > > Ok > > > - some UARTs have a timer function included in them. > > Also, a UART can emulate s timer if you sacrifice one channel, transmitting > > characters all the time will get you an interrupt every ~ 1msec, if the > > channel > > is seto to 9600 baud. > > interesting > > > I still do not really understand what you are trying to acheive here, but > > you seem > > to be a long way from where you want to go. > > I want to implement packet timestamping on a NIC that has a i960 built on it > for my graduate project > > I'm waiting to receive the source code of an unoficial firmware of this NIC > that I'll try to modify to achieve it > > Again, thank you so much for your (so interesting) replies > > And yes, you're probably right while saying "you seem to be a long away"... > > :-( > > Ulisses > Debian GNU/Linux: a dream come true > -------------------------------------------------------------------------- - --- > "Computers are useless. They can only give answers." Pablo Picasso > > ---> Visita http://www.valux.org/ para saber acerca de la <--- > ---> Asociación Valenciana de Usuarios de Linux <--- > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: detect telnet connection lose faster. Date: Sun, 12 Jan 2003 15:00:08 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <8a5dc325.0301120439.29c2a2a0@posting.google.com> Reply-To: "Leonid Rosenboim" Normally, a TELNEt server listens for data to come form the client, and if the client does not send any, ithe server keeps on waiting. If there is no outstanding data which has not been acknowledged, the TCP timeout does not count, hence your result. In order to make the server monitor the client status, you need to turn on the "Keep Alive" TCP option, adn then the TCP timeout will take effect - the server will periodically send empty probe packets fo the client, and cick start the timeout timer. HTH -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com "Shay" wrote in message news:8a5dc325.0301120439.29c2a2a0@posting.google.com... > Hi all, > I wish that telnet daemon detect faster that the connection is gone. > > I tried: > 1. To change the value of TCP_CON_TIMEO_DFLT to smaller value (from 150 to 20). > Did not do the work. > 2. I want to use 'setsockopt()' -- how do I get the 'sock' parameters ? > (is it possible?) > > Thanks, > --Shay --------------------------- Newsgroups: comp.os.vxworks Subject: Re: WDB Serial Backend Agent Questions Date: 7 Jan 2003 12:44:47 -0800 From: larryc@softcon.net (larry ciummo) Organization: http://groups.google.com/ Message-ID: References: This sounds like the standard Win 2000 target server problem. The priority of the target server needs to be increased to "real time". Try right-clicking on the target server in the task manager and selecting RT priority. LC "fred" wrote in message news:... > Hello, > > We've successfully used Tornado 2.0 (with 2 patches) on custom built MIPS > R3000 board. The board doesn't have an Ethernet interface so we've used the > serial backend agent for Tornado and all has worked fine for about 2 years. > Our host PC (Compaq running Windows NT) was recently upgraded to a Dell P4 > machine running Windows 2000 and we installed Tornado 2.02. > > Now we are having trouble downloading object files to the board using our > new setup where we never had problems before. The Backend target agent > always starts successfully and we have been able to start a shell but we see > problems when we download object code. Approximately 1 out if 50 attempts > works but the other 49 fail (the download dialog stays at 0% forever). > > To try and see what was happening I found a shareware serial port diagnostic > tool that you can start before launching Tornado and it records all activity > at a specified COM port. When I run this program I can see the data being > exchanged between the target and the host PC when VxWorks boots and the > target server starts. When we try to download I can see 5-6 exchanges > between the target and the host PC then nothing -- the download dialog stays > at 0% with the little file flying between the two folders. > > Is there any way to decode what is in these exchanges? Is there any way for > me to debug this problem?? > > Thanks, > > David Hyde --------------------------- Newsgroups: comp.os.vxworks Subject: Re: POSIX compliant calls for sockets in VxWorks Date: 12 Jan 2003 05:49:52 -0800 From: srilayaradja@yahoo.com (Ilayaraja) Organization: http://groups.google.com/ Message-ID: <596d098.0301120549.10b68102@posting.google.com> References: <596d098.0301070041.25db91b5@posting.google.com> <371e4594.0301081929.72baec31@posting.google.com> Dear all, can you please differentiate between the BSD calls and Posix calls for Sockets and select() call provided ( if POSIX calls exists) in VxWorks ? can you specify the libraries in which they reside ? Thanks and Regards, Ilayaraja R iubica2@yahoo.com (Andrei) wrote in message news:<371e4594.0301081929.72baec31@posting.google.com>... > Yes it does, including select() calls. > > There is one issue w/ porting UNIX socket code based on select() > though - use of so called software interrupts. UNIX code sometimes > installs an alarm to expire some time in future (say in 2 secs ), then > blocks in select() to receive from socket, passing infinite timeout to > select(). When alarm expires (the 'software interrupt'), after alarm > is handled UNIX unblocks the select() call. This is for example how > ntpd is implemented - you can look at the source. > > When porting this type of implementations, take out the alarm call > altogether, and pass finite timeouts to select() (figure out the > correct timeout, always <= 2 secs in this example but may be less > depending on when did select() return in the last 2-sec slice). Again > look at ntpd distibution, it has a VxWorx port. > > Andrei Radulescu-Banu > > srilayaradja@yahoo.com (Ilayaraja) wrote in message news:<596d098.0301070041.25db91b5@posting.google.com>... > > Dear all, > > > > Does VxWorks provide POSIX compliant library for socket > > (bind(),accept() etc. calls) and select() system calls ? > > > > is there POSIX socket and Posix select() call available? > > > > Thanks in advance, > > > > Regards, > > R. Ilayaraja --------------------------- Newsgroups: comp.os.vxworks Subject: considering a positiion using vxworks Date: Sun, 12 Jan 2003 02:51:31 GMT From: "sidewinder" Organization: AT&T Broadband Message-ID: Hi, I am a software engineer specializing in firmware. Is vxworks easy to learn? I was told it was a cake walk but the deadlines on the project will be very tight, so I am concerned since I haven't used it before. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: timers & i960-CA Date: Sun, 12 Jan 2003 17:04:49 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: Reply-To: "Leonid Rosenboim" wrote in message news:avrse2$4o1$1@peque.uv.es... > Leonid Rosenboim wrote: > > Never heard of a NIC that contains a i960 Cx, but I do know of NIC cards > > that have a i960Rx (which is an I2O derivative, similar to i960Jx). > > It's a Fore PCA-200E with handles ATM @ 155Mbps, the 960 runs at 25Mhz > > > I'm not going to timestamp ATM cells but IP datagrams > > btw: I'm sure it contains this 960 model > One datasheet I found on the web says its a i960 CF, but it did not mention any otehr chip, although I am retty sure there is a timer chip, probably an Intel. > > For timestamping packets, you coul duse a timer, but for 100Mbps Ethernet > > the resolution must be at least 10kHz, which is a lot if you have to > > geberate > > interrupts, but you can write a "timestamp" driver, that has a software > > counter incremebted by timer interrupts for MSBs and read the timer's > > counter for the LSB. > > That's assuming if the NIC card not used the i960-CA version, isn't it? > > what do you mean with MSB, LSB? > > I don't think it's Most|Least Significant byte in this case ¿? Yes, I meant Most Significant Bits, the amount of bits in each category depends on hardware... > > > As a first and most critical step, I would recommend to carefully stuy > > the hardware manual. > > Fore (currently Marconi) there are no docs on programming details of the > at i960 level (in this case the firmware), they provided docs to program > device drivers for this board. > > I hope the unofficial firmware wich is made by reverse-engineering contains > useful about timers in the NIC board. > Yuk ! I found the prohect you are referring to, I am sure it contains information on timers and other hardware on this board, but I would still try hard to get more info from Marconi (under NDA no doubt) - in the several dozens of BSPs and drivers that I have done, I allways had some sort of hardware documentation, and I can not even imagine doing a driver without that. Sometimes the documentation was not entirely accurate, so yes sometimes even with a HW manual you still have to guess. Good luck !! You'll need it. - - Leonid P.S. This is a VxWorks Newsgroup, so I suggest you take this discussion elsewhere, maybe to someone who actually worked on this board ? You can find people who did by searching with Google. --------------------------- Newsgroups: comp.os.vxworks Subject: Curious Problem with IBM NPe405L and vxWorks Date: Sun, 12 Jan 2003 03:01:01 GMT From: Ricky West Organization: Road Runner - NC Message-ID: <3E20D7B1.4070801@nc.rr.com> Lately, the project I have been working on has been seeing an intermittent problem with the generation of a data access exception and I wanted to post to the news group for some advice/comments. We have been searching for the cause with visionIce and visionTrace using singleStep with vision and have been stumped by the tools. Can't seem to get them to work right in our enviornment and application. Such is life. On with the story... The Setup... Configuration---Tornado 2.0.2 with some patches for dosFs2.0 and some TMS stuff Build Env---Windows 2000 BSP---NPe405L from IBM for vxWorks windKernel 2.5 and vxWorks 5.4 Options---INCLUDE_BASIC_MMU with both instruction and data MMU enabled The Problem... Various tasks blow up where the implicated code is in windLoadContext just before the restoral of regs r3 and r4 but after the setting of SRR0 and SRR1. This we have been able to determine using hardware breakpoints set at the data access exception vector of 0x300. It just so happens that the tasks that crash have TCBs that are aligned such that the addresses storing the PC and the MSR for the task are in a different 4K memory page than the addresses where regs r3 and r4 stored. We have verified that external exceptions are disabled during the load function, but both instruction and data TLB miss exceptions are not. The Theory... We have not been able to trace the code using visionTrace, a real-time trace option to the visionIce. But here goes with the theory based on experience and educated guesses. We think that during the loading one of the tasks that cross the 4k boundary is switched in but where the page boundaries result in a data TLB miss after the SRR0 and SRR1 have been restored. Since the TLB miss handler does the rfi rather than the load context fcn, the contents of r3 and r4 are not restored from the saved context of the task. The Questions... 1. Has anybody else seen something like this? 2. Does the switching of tasks for this BSP really happen outside of exception handling? 3. Are there any other suggestions or theories to follow-up with. Thanks in advance, Ricky West Hatteras Networks --------------------------- Newsgroups: comp.os.vxworks Subject: entry point of flash memory on MPC860ADS Date: 12 Jan 2003 08:44:39 -0800 From: compaqbala@sify.com (Balakumar) Organization: http://groups.google.com/ Message-ID: <46992b69.0301120844.6c16a62a@posting.google.com> Hi all, MPC860ADS board having 2MB of flash memoryt,and base address of this is 0x02800000, and Vxworks entry point is written on 0x02800100, My question is, When the board is powered on, MPC860 executes the instruction at 0x00000100(as per definition) location of ROM.But there is no such location.If the processor generates address 0x02800100 only,entry code will be executed. How 860 generates address 0x02800100. --------------------------- Newsgroups: comp.os.vxworks Subject: kernel preemption Date: 12 Jan 2003 08:45:30 -0800 From: compaqbala@sify.com (Balakumar) Organization: http://groups.google.com/ Message-ID: <46992b69.0301120845.a5b4336@posting.google.com> Hi all, As per definition,Linux kernel is non preempted kernel. But for example, Assume that While the user process is in kernel mode with interrupt enabled, at the same time suppose if user create a new process with higher priority,then the kernel suspend the current process and then forks a child process and then it calls exec() system call.and then kernel puts new process in the run_queue. and then it calls schedule() to select process with higher priority from the run_queue. now the new process can be run(because it has higher priority). The above paragraph says that currently running process is preempted.So linux kernel is preempted kernel.is n't it? My concept is correct or not? if it is correct then the linux kernel is preempted kernel.is n't it? --------------------------- Newsgroups: comp.os.vxworks Subject: Need help with problems with Motorola Sandpoint Eval Board Date: 12 Jan 2003 18:29:11 GMT From: "randal" Organization: Concentric Internet Services Message-ID: All, I have a Sandpoint eval board. I am having problems loading the VxWorks image and running it. Does anyone have any suggestions. The ethernet device is not supported by the current boot code. But I can download executables through the serial port --------------------------- Newsgroups: comp.os.vxworks Subject: IP Packet Routing Date: 12 Jan 2003 13:38:53 -0800 From: twalden200@hotmail.com (TWalden) Organization: http://groups.google.com/ Message-ID: <314394a.0301121338.6ae48daa@posting.google.com> I have a vxWorks 5.4/SENS based hardware platform with 2 Ethernet interfaces attached to two different LAN's. For performance reasons, I would like to send UDP packets directly to the Ethernet driver, bypassing the vxWorks stack. (I know this violates layering, etc, but the performance is necessary for this application.) In order to do this, I need the destination MAC address so that I may create the Ethernet packet header. Given an IP address, how can I get the interface name and the MAC address to which I should send the packet? The vxWorks networking stack obviously makes this determination if I were to do a normal UDP send. I would like to get this information programatically without actually doing a send through the stack. I would like some way to query the stack for the destination of the packet. This should include which of the two LAN interfaces to send the packet, and the MAC address of the destination host if on the same network, or the MAC address of the gateway to use if the destination is on a different network. I am aware of the etherAddrResolve() function which I can use to do an ARP, but I need to know the LAN interface. I do not have this information. How can I obtain such information from the stack? Is there an IP route lookup function? Thanks, Tim Walden --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Quirky thread blocking & counting semaphore question Date: Thu, 9 Jan 2003 19:59:02 +0100 From: "Martin Raabe" Organization: 1&1 Internet AG Message-ID: References: <5c34b056.0301080908.7ce44b07@posting.google.com> <5c34b056.0301091039.1c8a65ee@posting.google.com> Hello Darren, I understand that my tip did not help. Maybe this one? So if you do a loop like this, you may speed up or slow down the IRQ-Rate. function f { do while true { wait( CSem, timeout ); // counting semaphore, it's value is stored in CSem.count if (CSem.count is too high) limit IRQ-Rate; else if (timeout) unlimit IRQ_Rate; ... // function body } } Ciao - -- - -- Martin Raabe E: Martin.RaabeATNOSPAMBaSystem.de "Darren Long" schrieb im Newsbeitrag news:5c34b056.0301091039.1c8a65ee@posting.google.com... > Hi Martin, > > Thanks for the response, but yourr suggestion doesn't really answer > the question. I wanted to know how many times that the thread runs > round the loop since it last blocked. The intention is that an ISR > may signal the counting Semaphore a few times in succesion (i.e. a > single invocation of the ISR), and the handler runs that many times > round the loop. If the handler determines that the number of > iterations since it last blocked is excessive (i.e. the signalling > rate from the ISR is too high) it takes some action to rate limit the > interrupt source. > > An alternative suggestion that I have had is to simply task delay the > handler, but that is considerably less flexible than what I had hoped > for! > > If I can't find a soloution to this problem (which I expect) then I > will probably involve another periodic thread to monitor the 2nd stage > handler task but I haven't given that much thought yet. > > Any other suggestions welcome... > > Darren > > "Martin Raabe" wrote in message news:... > > Hello Darren, > > yes, there is one: > > Wait for the semaphore with a timeout. > > the returnvalue tells you about the success of the wait or about reaching > > the timeout. > > By that you can sum up the timeouts and have the elapsed time at hand. > > > > Hope it helped > > -- > > Martin Raabe > > E: Martin.RaabeATNOSPAMBaSystem.de > > > > > > "Darren Long" schrieb im Newsbeitrag > > news:5c34b056.0301080908.7ce44b07@posting.google.com... > > > Consider the pseudo-pseudo-code below > > > > > > function f > > > { > > > do while true > > > { > > > wait( CSem ); // counting semaphore > > > > > > ... // function body > > > > > > } > > > > > } > > > > > > Is there any way that the function can determine how many times it has > > > iterated around the loop since it was unblocked? > > > > > > I can't think of any! > > > > > > Darren --------------------------- Newsgroups: comp.os.vxworks Subject: dec 21143 missing carrier detction? Date: Mon, 13 Jan 2003 01:09:10 GMT From: "Kelly Hornsby" Organization: Cox Communications Message-ID: Hello All I want to know if I have a carrier detect on my DEC 21143 device before I start transmitting or receiving packets. I think CSR12 will tell me if I have a link active (carrier detect) but I'm not sure. Is this register the best way to detect if there's a good link? I'm probably going to have a 10MB link, but possibly a 100MB link, but I don't think it matters, since both speeds are reflected in CSR12. Am I on the right track? I don't have the sources for the ethernet devices, so I'm hoping for an easy way to tell if there's no carrier. I can get access to the register via a pciFindDevice and a pciConfigInLong to fetch the base addresses of the register banks. Any suggestions, URLs, or tips will be appreciated. Thx --------------------------- Newsgroups: comp.os.vxworks Subject: Re: timers & i960-CA Date: Sun, 12 Jan 2003 14:00:34 +0000 (UTC) From: Organization: Universitat de Valencia Message-ID: References: Sender: Leonid Rosenboim wrote: > Never heard of a NIC that contains a i960 Cx, but I do know of NIC cards > that have a i960Rx (which is an I2O derivative, similar to i960Jx). It's a Fore PCA-200E with handles ATM @ 155Mbps, the 960 runs at 25Mhz I'm not going to timestamp ATM cells but IP datagrams btw: I'm sure it contains this 960 model > For timestamping packets, you coul duse a timer, but for 100Mbps Ethernet > the resolution must be at least 10kHz, which is a lot if you have to > geberate > interrupts, but you can write a "timestamp" driver, that has a software > counter incremebted by timer interrupts for MSBs and read the timer's > counter for the LSB. That's assuming if the NIC card not used the i960-CA version, isn't it? what do you mean with MSB, LSB? I don't think it's Most|Least Significant byte in this case ¿? > As a first and most critical step, I would recommend to carefully stuy > the hardware manual. Fore (currently Marconi) there are no docs on programming details of the at i960 level (in this case the firmware), they provided docs to program device drivers for this board. I hope the unofficial firmware wich is made by reverse-engineering contains useful about timers in the NIC board. Thanks Ulisses > -- HTH > ----------------------------------------------------------------------- > Leonid Rosenboim Visit: http://www.masada2000.org/historical.html > Consultant Email: my first name at consultant dot com > wrote in message > news:avrjr8$3lq$1@peque.uv.es... >> Hi Leonid! >> >> Leonid Rosenboim wrote: >> [...] >> > No, I do not think it is possible without some external hardware for the >> > i960 CA >> > chip, this is simply a function that the CPU does not have. >> > You can look what OTHER chips you DO HAVE on the board, and evaluate > each >> > for this porpose >> >> Ok >> >> > - some UARTs have a timer function included in them. >> > Also, a UART can emulate s timer if you sacrifice one channel, > transmitting >> > characters all the time will get you an interrupt every ~ 1msec, if the >> > channel >> > is seto to 9600 baud. >> >> interesting >> >> > I still do not really understand what you are trying to acheive here, > but >> > you seem >> > to be a long way from where you want to go. >> >> I want to implement packet timestamping on a NIC that has a i960 built on > it >> for my graduate project >> >> I'm waiting to receive the source code of an unoficial firmware of this > NIC >> that I'll try to modify to achieve it >> >> Again, thank you so much for your (so interesting) replies >> >> And yes, you're probably right while saying "you seem to be a long > away"... >> >> :-( >> >> Ulisses >> Debian GNU/Linux: a dream come true >> -------------------------------------------------------------------------- > --- >> "Computers are useless. They can only give answers." Pablo > Picasso >> >> ---> Visita http://www.valux.org/ para saber acerca de la <--- >> ---> Asociaci?n Valenciana de Usuarios de Linux <--- >> - -- Debian GNU/Linux: a dream come true - ----------------------------------------------------------------------------- "Computers are useless. They can only give answers." Pablo Picasso - ---> Visita http://www.valux.org/ para saber acerca de la <--- - ---> Asociación Valenciana de Usuarios de Linux <--- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: entry point of flash memory on MPC860ADS Date: Sun, 12 Jan 2003 19:48:34 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <46992b69.0301120844.6c16a62a@posting.google.com> Reply-To: "Leonid Rosenboim" The answer is really in your previous post - IIRC the BCSR register, which is part of the 860 on chip system controller. The particular BCSR which is dedicated to ROM, is set to all 0's on reset, so the initial instruction is fetched from ROM, and in romInit.s, the BCSR is changed and the program performs a jump to the next instruction which is located in teh RAM location. - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com "Balakumar" wrote in message news:46992b69.0301120844.6c16a62a@posting.google.com... > Hi all, > MPC860ADS board having 2MB of flash memoryt,and base address > of this is 0x02800000, > and Vxworks entry point is written on 0x02800100, > > My question is, When the board is powered on, MPC860 executes the > instruction at 0x00000100(as per definition) location of ROM.But there > is no such location.If the processor generates address 0x02800100 > only,entry code will be executed. How 860 generates address > 0x02800100. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: considering a positiion using vxworks Date: Sun, 12 Jan 2003 19:45:25 GMT From: "sidewinder" Organization: AT&T Broadband Message-ID: References: <3E212164.4155@despam.autobahn.mb.ca> I've developed on linux and windows and wrote a couple of drivers Thanks for the help "H. E. Taylor" wrote in message news:3E212164.4155@despam.autobahn.mb.ca... > In article , > sidewinder wrote: > > > > I am a software engineer specializing in firmware. Is vxworks easy to > > learn? > > > > Many variables. There are several flavours. The host environment > can be a pain. (Don't know how to say this without sounding like > a jerk;-) How much do you know? A familiarity with UNIX would help. > Exposure to a flat address space, library based OS like AmigaDOS > would help. Good contacts with your FAE (and the contract with WRS > behind it) would help. A contact who has some BSP familiarity > would help. > > >I was told it was a cake walk but the deadlines on the project will > > be very tight, so I am concerned since I haven't used it before. > > > > Depends how tight. > > > -het > > > -- > "progress in software has not followed Moore's law." -John Holland > > Computer Links: http://www.autobahn.mb.ca/~het/clinks.html > H.E. Taylor http://www.autobahn.mb.ca/~het/ --------------------------- Newsgroups: comp.os.vxworks Subject: POSIX compliant calls for sockets in VxWorks Date: 7 Jan 2003 00:41:28 -0800 From: srilayaradja@yahoo.com (Ilayaraja) Organization: http://groups.google.com/ Message-ID: <596d098.0301070041.25db91b5@posting.google.com> Dear all, Does VxWorks provide POSIX compliant library for socket (bind(),accept() etc. calls) and select() system calls ? is there POSIX socket and Posix select() call available? Thanks in advance, Regards, R. Ilayaraja --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Setting multiple IP addrs for an interface Date: 7 Jan 2003 00:54:14 -0800 From: gonozal@gmx.at (Toni Kurzberger) Organization: http://groups.google.com/ Message-ID: <8400a733.0301070054.74033553@posting.google.com> References: "Harjinder Chayra" wrote in message news:... > What calls do I need to make to give an Ethernet interface 2 IP addresses? > > cheers > Harjinder ifAddrSet ifMaskSet for the 1st address ifAddrAdd for subsequent addresses toni --------------------------- Newsgroups: comp.os.vxworks Subject: Re: the problems to install Rtl 8139D net card to vxworks Date: 7 Jan 2003 00:58:39 -0800 From: gonozal@gmx.at (Toni Kurzberger) Organization: http://groups.google.com/ Message-ID: <8400a733.0301070058.78ca4195@posting.google.com> References: In win98, open a command window (command.com). Be sure to execute the batch file torVars.bat in %WIND_BASE%\host\x86-win32\bin\torVars.bin... this will set your PATH correct and some mandatory environment variables. After doing so you should be able to simply run the make command from within the command shell as described be Leonid toni --------------------------- Newsgroups: comp.os.vxworks Subject: Re: kernel preemption Date: Mon, 13 Jan 2003 11:52:51 GMT From: "J. J. Farrell" Organization: EarthLink Inc. -- http://www.EarthLink.net Message-ID: References: <46992b69.0301120845.a5b4336@posting.google.com> "Balakumar" wrote in message news:46992b69.0301120845.a5b4336@posting.google.com... > Hi all, > As per definition,Linux kernel is non preempted kernel. > > But for example, Assume that While the user process is in kernel mode > with interrupt enabled, at the same time suppose if user create a new > process with higher priority,then the kernel suspend the current > process and then forks a child process and then it calls exec() system > call.and then kernel puts new process in the run_queue. and then it > calls schedule() to select process with higher priority from the > run_queue. now the new process can be run(because it has higher > priority). > > The above paragraph says that currently running process is > preempted.So linux kernel is preempted kernel.is n't it? > > My concept is correct or not? > if it is correct then the linux kernel is preempted kernel.is n't it? comp.os.vxworks discusses the VxWorks Operating System. Please post Linux questions to a Linux news group. --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Tue Jan 14 04:03:38 2003 From: Vxworks Exploder Date: Tue Jan 14 04:03:39 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Tue Jan 14 04:03:35 PST 2003 Subject: Re: entry point of flash memory on MPC860ADS Subject: vxWorks ROM-based problems Subject: Re: memPartFree Fail Subject: Re: How about the macro RAM_HIGH_ADRS ? Subject: Re: detect telnet connection lose faster. Subject: Re: How to boot with rommed Application - Re Question Subject: Re: Memory controller or MMU which should be first in boot code Subject: howto install a terget server without the developemnt system. Subject: Re: Setting multiple IP addrs for an interface Subject: Re: WDB Serial Backend Agent Questions Subject: Re: Warning: Tornado 2.2 Subject: PPP implmentation for VxWorks ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: entry point of flash memory on MPC860ADS Date: Mon, 13 Jan 2003 14:13:20 +0200 From: "Martin Roth" Organization: Motorola Message-ID: References: <46992b69.0301120844.6c16a62a@posting.google.com> This is very simple. After RESET Chip Select 0 (CS0) asserted by MPC8260 processor enables the access to your booting device (flash memory). This is the only Chip Select that is enabled after RESET. By default, CS0 is mapped after RESET in a way that accessing address XXX corresponds to address XXX relative to start of flash memory. So, address 0x100 corresponds to the opcode located at offset 0x100 from flash memory start. If the address XXX is greater than the flash memory length then the accessed offset is XXX modulo (flash memory length). This is valid only after RESET and before the CS0 is remapped. When you link (perform make), indeed the entry point instruction is located at address 0x02800100. So after reset, the physical address 0x100 corresponds to offset 0x100 relative to start of flash memory and this is exactly the location of the code that you linked to 0x02800100. The instruction at 0x100 or (0x02800100) is "bl cold" and it is position independent. After performing the "bl cold" instruction you are already in the 0x02800000 address space area and later you remap the CS0 (flash memory) to 0x02800000 region. Martin Roth Motorola Communications, Israel Mailto:bmr006@email.mot.com "Balakumar" wrote in message news:46992b69.0301120844.6c16a62a@posting.google.com... > Hi all, > MPC860ADS board having 2MB of flash memoryt,and base address > of this is 0x02800000, > and Vxworks entry point is written on 0x02800100, > > My question is, When the board is powered on, MPC860 executes the > instruction at 0x00000100(as per definition) location of ROM.But there > is no such location.If the processor generates address 0x02800100 > only,entry code will be executed. How 860 generates address > 0x02800100. --------------------------- Newsgroups: comp.os.vxworks Subject: vxWorks ROM-based problems Date: Mon, 13 Jan 2003 15:25:04 +0300 From: "Denis Dubrovin" Organization: WEBPlus Ltd. Message-ID: Hi! I`m trying to compile some ROM-based images of vxWorks (by Tornado and Diab c\c++) for MPC823 and get problem! Rom-resident and rom-compressed images build ok, but RAM_based image (vxWorks_rom target) has wonder error!Half of build (image itself) building ok, ElfToBin utilites reported OK, BinToAsm utilite reported OK, but next injection resulting asm file (with _binArrayStart\_binArrayEnd table) throw dcc hit error in asm file! It says "vxWorks.Z.s", line 29389: error: syntax error This line in vxWorks.Z.s is empty line BEFORE _binArrayEnd label. What is wrong???? Thanks for future advices! - -- Regards! Den --------------------------- Newsgroups: comp.os.vxworks Subject: Re: memPartFree Fail Date: 13 Jan 2003 07:21:36 -0800 From: mwalton@nc.rr.com (morris) Organization: http://groups.google.com/ Message-ID: <2a9cc34a.0301130721.ef8839@posting.google.com> References: <5607ff2c.0301090825.347224f9@posting.google.com> <3E205BE2.9030502@rmbwoc.com> <488e459a.0301121641.77e2858a@posting.google.com> It sounds like you could be corrupting your heap. WRS has an app note 116 on heap management with alot of helpful information. You can use their tools and/or construct your own to periodically "walk the heap" to check to see if something you have done has corrupted the heap. By calling this function frequently you can use this tool to nail down if & when the heap has become corrupted. Good Luck! Morris john_94501@yahoo.com (John) wrote in message news:<488e459a.0301121641.77e2858a@posting.google.com>... > Hello Rick, > > > If anyone has a better solution, please post it because > > this is one of the worst headaches (aside from Tornado > > upgrades) of working with VxWorks. > > Never used it myself, but I've heard lots of good things about RTI's > MemScope product. I believe that you can get it directly from Wind > River too - it is part of the ScopePak. Check out > http://www.rti.com/products/scopetools/memScope/ms.html or > http://www.windriver.com/products/memscope/index.html for more > information. > > HTH, > > John... > > > -- Rick Davis > > > > Gabi wrote: > > > > > Hi, > > > We use memPartAlloc & memPartFree for our memory allocations. > > > We always check return codes and print any errors. > > > > > > > > > The situation: > > > > > > After some time, (when couple of douzens calls to memPartAlloc made, > > > and several buffers were succefully freed with memPartFree) the > > > function memPartFree returns error. After that any calls to > > > memPartAlloc or memPartFree are failed. > > > > > > The error returned is either S_smObjLib_NOT_INITIALIZED or > > > S_objLib_OBJ_ID_ERROR - every time it's something else. > > > > > > Both parameters to memPartFree (partition and memory address) are > > > correct. > > > > > > > > > Question > > > > > > It seems memory area with some memory partion control block was > > > overwrited. > > > How can we check it? > > > We did not find any function in reference that allows us to check if > > > partition is OK. > > > > > > Can you advice us how can we advance with this problem? > > > > > > tanks > > > Gabi > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How about the macro RAM_HIGH_ADRS ? Date: Tue, 7 Jan 2003 09:52:24 +0100 From: "Michael Lawnick" Organization: Buergernetz Dillingen Message-ID: References: <8400a733.0301060710.7ae96157@posting.google.com> Reply-To: "Michael Lawnick" Sender: mlawnick@mail.kontron-applications.com Hi Toni, minskey73, just to refine the statement below: The problem is not VxWorks, but the bootimage. The initialisation of exception vectors will fail if the address between current code and destination address of vector table exceeds 24bit. So for bootrom and bootrom_uncmp RAM_HIGH_ADRS is limited to 32M - bootimage_size. Two possible workarounds: a) use bootrom_res if bootrom resides at 0xFF000000 or above. b) use standard VxWorks and load your objects/data after startup. Just my two cents, Michael "Toni Kurzberger" schrieb im Newsbeitrag news:8400a733.0301060710.7ae96157@posting.google.com... > "minskey73" wrote in message news:... > > Hi, > > I am writing my BSP for MPC860 . In config.h and makefile ,there's a > > macro RAM_HIGH_ADRS. I know that the memory between RAM_LOW_ADRS and > > RAM_HIGH_ADRS is used for vxWorks image. My board has 128M RAM, and the size > > of my image file is 17MBytes . So I want to define the macro as > > 0x02000000(32M) in both config.h and makefile. But the BSP do not work. If I > > define it as 0x01200000,it works well. Why ? I want to get it. > > I'm not sure, but this could be a 24bit relative jump problem (which > gives you the 32MByte). PPC allows +/- 24bit relative jumps, VxWorks > is using them e.g. in the exception handler. The exception handler > stub placed at a very low address (close to 0, check the manual of the > CPU) might try to do a relative jump into VxWorks... which fails if > the image is out of the 32MByte range. > > hope this helps, > toni --------------------------- Newsgroups: comp.os.vxworks Subject: Re: detect telnet connection lose faster. Date: Mon, 13 Jan 2003 20:44:54 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <8a5dc325.0301120439.29c2a2a0@posting.google.com> <8a5dc325.0301122356.1ddab7b3@posting.google.com> Reply-To: "Leonid Rosenboim" IIRC there is aglobal variable "telnetdSocket" which is he socket of the Telnet session. - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com "Shay" wrote in message news:8a5dc325.0301122356.1ddab7b3@posting.google.com... > This is my question, how I turn this option on. > As I mentioned, to do so with 'setsockopt()' I need > the socket id (which I do not have - as I know). > > Regards, > ---Shay --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to boot with rommed Application - Re Question Date: 13 Jan 2003 13:40:39 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0301131340.57544a5c@posting.google.com> References: <76b199d8.0301121927.72917e45@posting.google.com> Hello, > I saw this printing after excuting l(load) command. > ------------------------------------------------- > Attached TCP/IP interface to cpm0. > Attaching network interface lo0... done. > Loading...600244 > entry = 0x100000 > [VxWorks Boot]: What happens when you try the boot command ('@' instead of 'l')? > [Question 1] Is it ok to boot "vxWorks" file? Assuming that you are working with VxWorks 5.x and not VxWorks AE, then yes. One question though... where are you getting this file from? Is it a project build, or from the BSP directory? > [Question 2] I know "vxWorks" is only application image file. no OS > included. > Is it right? No. The vxWorks file is the kernel + possibly some application code if you linked an application in with it. > [Question 3] What file should I use for booting my MPC860 board? > "vxWorks"? "vxWorks.st"? or any other files? Either vxWorks or vxWorks.st will work - the second one is a "standalone" image that will not, by default at least, initialise the network. Read the documentation for more information on these image types, and how to use them. > I was trying to boot with pSOS ram.elf file. this file is simple > application > ram.elf is OS+APPLICATION. > > It's ok to load and go. ram.elf is excuted. > > [Question 4] I made vxWorks_rom.hex and write FLASH memory with this > file. > But I can't see any booting printing from console. > But my bootrom.hex is OK to boot. I think vxWorks_rom.hex > is ROMed file, So I expected vxWorks_rom.hex can be booted. But no > result. > What file should I check and modify? > I know these two S-Record file is made by romInit.s & > bootInit.c. > And bootrom.hex is made by bootConfig.c and > vxWorks_rom.hex is made by usrConfig.c. Is it right? Yes. When you say you saw no result at all, do you mean absolutely nothing? Does the serial port echo characters as you type them? > [Question 5] I doubt my definition for ADRS value > My board memory info is. > SDRAM 32M > FLASH MEM 8M > My own applicaion is not exist. only I use default ads860 board files > and modified it. > Then What is the best setting for the value of RAM_HIGH_ADRS and > RAM_LOW_ADRS ? Well, I would think that these should be OK as they were for the ads860 board as long as you're only booting a kernel, but since you have 32MB of RAM you could move the RAM_HIGH_ADRS up a little. You should leave some space above it though since this is where the bootrom image runs. More important perhaps is the setting of LOCAL_MEM_SIZE. The fact that you have the bootrom running though is promising. Since the bootrom is basically a VxWorks kernel (in cut down form), this suggests that at least the basics in your BSP are correct. You need to do some debugging though to find out where the image is failing. If you have a JTAG debugging tool (e.g. VisionICE or VisionProbe), or you can get one, that might help with this initial work. If not, then I tend to place 'reboot(1);' calls in the init sequence to see where it is failing. Some key places are: a) Just before the call to kernelInit() in usrInit. b) The first line of usrRoot() - before anything else is called If you make it to (b), then move the reboot call through usrRoot until you find the affected place. Alternatively, you write trace values to a known location in memory and check them by resetting the board when it hangs. I tend to use 0xfc as the address because it is in a location that should be left alone by the bootrom in all cases, and it is not used by the OS at all. HTH, John... > [Question 6] > I include INCLUDE_DEMO and not include INCLUDE_SHELL for testing. > Is it OK? I think it's simple testing method. Should be. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Memory controller or MMU which should be first in boot code Date: Tue, 7 Jan 2003 10:40:52 +0100 From: "Michael Lawnick" Organization: Buergernetz Dillingen Message-ID: References: <4cd6f00b.0301030326.2ec1fc24@posting.google.com> <3E1581DF.3000905@hotmail.com> Reply-To: "Michael Lawnick" Sender: mlawnick@mail.kontron-applications.com Just to increase confusion: take a look at PPC440GP. Here the very first instructions have to be the initialisation steps of MMU, as PPC440 has a physical address > 4GB and is not able to work without MMU. To make initialisation possible, the MMU-code has to be placed at 0xFFFFF000, reset vector has to jump to that code. Michael "Varndell Engineering" schrieb im Newsbeitrag news:3E1581DF.3000905@hotmail.com... > MahendraReddyGuduru wrote: > > hi all, > > I have seen many BSPs ,which are initialising first Memory Controller > > before to MMU initialisation. > > AS memory controller address pointers are also part of memory,how > > memory controller registers getting initialised before MMU > > initialisation. > > During boot, it is generally assumed that the MMU is disabled > and the CPU is executing in a real address, or untranslated, mode. > A disabled MMU has no effect on the accessing of memory controller > registers, which occupy some part of the CPU's physical address space. > > Regards, > George Varndell > -- > Varndell Engineering, LLC Embedded Systems Expertise > Need a vxWorks END for National Semiconductor DP8382x GigE? > http://www.varndellengineering.com > > > > -----------== Posted via Newsfeed.Com - Uncensored Usenet News ==---------- > http://www.newsfeed.com The #1 Newsgroup Service in the World! > -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =----- --------------------------- Newsgroups: comp.os.vxworks Subject: howto install a terget server without the developemnt system. Date: Tue, 7 Jan 2003 11:30:35 +0100 From: "Renee Teunissen" Organization: Wirehub! Internet, The Netherlands Message-ID: <1041935658.792197@newsreader2.wirehub.nl> Hi, I like to seperate the development PC from the targetserver. I dont want to install a complete tornadoset on this server, only the targetserver. Is there a way to do this? Thanx, Rneee. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Setting multiple IP addrs for an interface Date: Tue, 7 Jan 2003 14:07:51 +0200 From: "Martin Roth" Organization: Motorola Message-ID: References: <8400a733.0301070054.74033553@posting.google.com> Toni, As I understand TCP/IP networking, the additional IP address added by ifAddrAdd() should be from the same subnet. Am I correct ? From my TCP/IP knowledge the subnet or network part of IP address on the same subnet should be the same. Martin Mailto:bmr006@email.mot.com "Toni Kurzberger" wrote in message news:8400a733.0301070054.74033553@posting.google.com... > "Harjinder Chayra" wrote in message news:... > > What calls do I need to make to give an Ethernet interface 2 IP addresses? > > > > cheers > > Harjinder > > ifAddrSet > ifMaskSet > for the 1st address > ifAddrAdd > for subsequent addresses > > toni --------------------------- Newsgroups: comp.os.vxworks Subject: Re: WDB Serial Backend Agent Questions Date: Tue, 07 Jan 2003 12:19:02 GMT From: igtorque@yahoo.es (Ignacio Gonzalez) Message-ID: <3e1ac0de.18841122@News.CIS.DFN.DE> References: Reply-To: igtorque@yahoo.es On Mon, 6 Jan 2003 22:29:21 -0600, "fred" wrote: >Hello, > >We've successfully used Tornado 2.0 (with 2 patches) on custom built MIPS >R3000 board. The board doesn't have an Ethernet interface so we've used the >serial backend agent for Tornado and all has worked fine for about 2 years. >Our host PC (Compaq running Windows NT) was recently upgraded to a Dell P4 >machine running Windows 2000 and we installed Tornado 2.02. > >Now we are having trouble downloading object files to the board using our >new setup where we never had problems before. The Backend target agent >always starts successfully and we have been able to start a shell but we see >problems when we download object code. Approximately 1 out if 50 attempts >works but the other 49 fail (the download dialog stays at 0% forever). > >To try and see what was happening I found a shareware serial port diagnostic >tool that you can start before launching Tornado and it records all activity >at a specified COM port. When I run this program I can see the data being >exchanged between the target and the host PC when VxWorks boots and the >target server starts. When we try to download I can see 5-6 exchanges >between the target and the host PC then nothing -- the download dialog stays >at 0% with the little file flying between the two folders. > >Is there any way to decode what is in these exchanges? Is there any way for >me to debug this problem?? > >Thanks, > >David Hyde > > Too many changes in one single step, I think. I'd try the following: 1) Try Dell with WinNT and Tornado 2.0. If that works: 2) Try Dell with WinNT and Tornado 2.0.2. If that works: 3) Try Dell with Win2000 and Tornado 2.0.2. The 2 first steps are intended to discard any HW or Tornado 2.0.2-specific problem. You have already made the 3rd step, so it would fail. If I remember well, there was another patch to enable a Tornado 2.0 / 2.0.2 instalation to run properly on a Win2000 machine. By the way, I'm still using NT: we have had some problems with Win2000 in some machines, even with the patches. I think we will never even try XP. - -- Ignacio G.T. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Warning: Tornado 2.2 Date: Tue, 07 Jan 2003 14:37:06 -0500 From: Alexander Popov Message-ID: <3E1B2C62.7050507@prosyst.bg> References: Bill Pringlemeir wrote: >>>>>>"Gary" == Gary Beck writes: >>>>> >What RTOS is supporting the old ARMS? Nucleus? Linux? > Oh Well... Some linux distro's do - try uCLinux, RTLinux... > > fwiw, > Bill Pringlemeir. > Regards, Alexander Popov --------------------------- Newsgroups: comp.os.vxworks Subject: PPP implmentation for VxWorks Date: Tue, 14 Jan 2003 10:50:51 +0200 From: "Eyal Raab" Organization: Usenet.com http://www.usenet.com 100,000+ UNCENSORED Newsgroups. The #1 Usenet Service on the Planet! Message-ID: <3e23c65c@post.usenet.com> **** Post for FREE via your newsreader at post.usenet.com **** Hi, Does anyone know of a freely available PPP implemntation for VxWorks? I've seen a reference to this on the UnOffical FAQ on the internet, but the FTP site seems inactive. Thanks in advance, Eyal Raab, Corrigent Systems - -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= *** Usenet.com - The #1 Usenet Newsgroup Service on The Planet! *** http://www.usenet.com Unlimited Download - 19 Seperate Servers - 90,000 groups - Uncensored - -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Wed Jan 15 03:29:33 2003 From: Atkinson Andrew Date: Wed Jan 15 03:29:34 PST 2003 Subject: Task Variables - Hi I am having some rather unpredictable results when using task variables. I have included task variables into my system build. Please take a look at the code below and let me know if this is incorrect with respect to the use of task variables: static void periodicTaskMain (PERIODIC_TASK_INFO_T * taskInfo) { static PERIODIC_TASK_INFO_T * localTaskInfo; GCCOP_EVENT_T event; STATUS status = ERROR; /* * This routine is spawned by each periodic task so we must allocate a task * variable to save the 'taskInfo' specific to this incarnation of the task. */ if ((status = taskVarAdd (0, (int *) &localTaskInfo)) == OK) { /* Allocate some memory for the local task info */ if ((localTaskInfo = (PERIODIC_TASK_INFO_T *) malloc (sizeof (PERIODIC_TASK_INFO_T))) != NULL) { /* Take a local copy of the task info for this particular task */ memcpy ((void *) localTaskInfo, (const void *) taskInfo, sizeof (PERIODIC_TASK_INFO_T)); FOREVER { /* Block on the task execution semaphore */ semTake (localTaskInfo->executionSemaphore, WAIT_FOREVER); /* * Check the task stop flag - if this flag is set then the task is being * stopped and should not execute. This flag is used to prevent the task from * executing when 'stopPeriodicTask' is called with the task in the READY state. */ if (!localTaskInfo->stopTask) { /* Re-start the execution watchdog with a period of twice the task period */ if (wdStart (localTaskInfo->executionWatchdog, localTaskInfo->period * 2, (FUNCPTR) periodicTaskWatchdogISR, (AMASS_INT_32) localTaskInfo) == ERROR) { #ifdef GCCOP_TASKING_DEBUG logMsg ("MAIN : FAILED TO START WATCHDOG\n", 0, 0, 0, 0, 0, 0); #endif /* Raise a GCCOP software fault in response to the failure */ setSystemFault (FC_GCCOP_SOFTWARE_FAULT); /* Stop the task */ stopPeriodicTask (localTaskInfo); } /* Execute the application routine */ localTaskInfo->function (); } } } } } The call to spawn the task is made as follows: /* Spawn the task */ if ((taskInfo->Id = taskSpawn (name, priority, options, stackSize, (FUNCPTR) periodicTaskMain, (AMASS_INT_32) taskInfo, 0, 0, 0, 0, 0, 0, 0, 0, 0)) == ERROR) { /* Handle the error */ ..... } The problem first manifested itself as the execution watchdog timer being restarted with a delay of 0x0 from within 'periodicTaskMain'. When a 'logMsg' was done to display localTaskInfo->period, the value was correct, but WindView still recorded the 'wdStart' with a delay of 0x0. I am starting to run out of ideas with regards tracking this problem down - are there are known problems with the use of task variables, any SPRs/patches. Any help appreciated. Andy Atkinson Software Engineer Bldg 31a QinetiQ, Bincleaves Technology Park Weymouth Dorset DT4 8UR Tel : 01305 764660 Fax : 01305 764661 e-mail : AATKINSON1@QinetiQ.com vxworks The Information contained in this E-Mail and any subsequent correspondence is private and is intended solely for the intended recipient(s). For those other than the recipient any disclosure, copying, distribution, or any action taken or omitted to be taken in reliance on such information is prohibited and may be unlawful. From vxwexplo-errs@csg.lbl.gov Wed Jan 15 03:59:04 2003 From: "Georges Samara" Date: Wed Jan 15 03:59:05 PST 2003 Subject: RE: Task Variables - Hi Andrew, Your problem is in the usage of static variables. As soon as you use that to maintain task state information across successive calls, your function is no longer re-entrant or thread safe, because you would be assuming that everything will work in an orderly fashion which is not true in a multithreaded environment. So your method sometimes work and sometimes it does not. get rid of the static variable. Create an outside the function structure that would contain all the information that you would like to preserve, and use that when saving information. So that on successive calls, the state is truly presevered. Sorry I can't give you a code snippet as I am ill and working from home :-) Hope this helps. Georges -----Original Message----- From: Atkinson Andrew [mailto:AATKINSON1@qinetiq.com] Sent: 15 January 2003 11:29 To: WindRiver Tech Support Cc: VxWorks Users Group; Richard Briggs - WindRiver Subject: Task Variables - Importance: High Hi I am having some rather unpredictable results when using task variables. I have included task variables into my system build. Please take a look at the code below and let me know if this is incorrect with respect to the use of task variables: static void periodicTaskMain (PERIODIC_TASK_INFO_T * taskInfo) { static PERIODIC_TASK_INFO_T * localTaskInfo; GCCOP_EVENT_T event; STATUS status = ERROR; /* * This routine is spawned by each periodic task so we must allocate a task * variable to save the 'taskInfo' specific to this incarnation of the task. */ if ((status = taskVarAdd (0, (int *) &localTaskInfo)) == OK) { /* Allocate some memory for the local task info */ if ((localTaskInfo = (PERIODIC_TASK_INFO_T *) malloc (sizeof (PERIODIC_TASK_INFO_T))) != NULL) { /* Take a local copy of the task info for this particular task */ memcpy ((void *) localTaskInfo, (const void *) taskInfo, sizeof (PERIODIC_TASK_INFO_T)); FOREVER { /* Block on the task execution semaphore */ semTake (localTaskInfo->executionSemaphore, WAIT_FOREVER); /* * Check the task stop flag - if this flag is set then the task is being * stopped and should not execute. This flag is used to prevent the task from * executing when 'stopPeriodicTask' is called with the task in the READY state. */ if (!localTaskInfo->stopTask) { /* Re-start the execution watchdog with a period of twice the task period */ if (wdStart (localTaskInfo->executionWatchdog, localTaskInfo->period * 2, (FUNCPTR) periodicTaskWatchdogISR, (AMASS_INT_32) localTaskInfo) == ERROR) { #ifdef GCCOP_TASKING_DEBUG logMsg ("MAIN : FAILED TO START WATCHDOG\n", 0, 0, 0, 0, 0, 0); #endif /* Raise a GCCOP software fault in response to the failure */ setSystemFault (FC_GCCOP_SOFTWARE_FAULT); /* Stop the task */ stopPeriodicTask (localTaskInfo); } /* Execute the application routine */ localTaskInfo->function (); } } } } } The call to spawn the task is made as follows: /* Spawn the task */ if ((taskInfo->Id = taskSpawn (name, priority, options, stackSize, (FUNCPTR) periodicTaskMain, (AMASS_INT_32) taskInfo, 0, 0, 0, 0, 0, 0, 0, 0, 0)) == ERROR) { /* Handle the error */ ..... } The problem first manifested itself as the execution watchdog timer being restarted with a delay of 0x0 from within 'periodicTaskMain'. When a 'logMsg' was done to display localTaskInfo->period, the value was correct, but WindView still recorded the 'wdStart' with a delay of 0x0. I am starting to run out of ideas with regards tracking this problem down - are there are known problems with the use of task variables, any SPRs/patches. Any help appreciated. Andy Atkinson Software Engineer Bldg 31a QinetiQ, Bincleaves Technology Park Weymouth Dorset DT4 8UR Tel : 01305 764660 Fax : 01305 764661 e-mail : AATKINSON1@QinetiQ.com vxworks The Information contained in this E-Mail and any subsequent correspondence is private and is intended solely for the intended recipient(s). For those other than the recipient any disclosure, copying, distribution, or any action taken or omitted to be taken in reliance on such information is prohibited and may be unlawful. From vxwexplo-errs@csg.lbl.gov Wed Jan 15 04:03:15 2003 From: Vxworks Exploder Date: Wed Jan 15 04:03:16 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Wed Jan 15 04:03:13 PST 2003 Subject: Shell redirection Subject: Re: timers & i960-CA Subject: Re: Delay before cacheFlush Subject: Re: memPartFree Fail Subject: Re: "Rebuild All" takes 7 to 10 minutes, while it used to take just 2 minutes ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Shell redirection Date: 14 Jan 2003 12:52:43 -0800 From: triniatlarge@yahoo.com (lovell James) Organization: http://groups.google.com/ Message-ID: Help Does tShell only respond when it sees CR? I am trying to redirect tshell to a secondary port while still keeping STD_IN, STD_OUT and STD_ERR on the primary port. The problem is I have to hit enter on the primary port to get the vxworks prompt on the secondary. The following is a sample of my code fd = open("/tyCo/1", O_RDWR, 0777);/* Secondary */ td = open("/tyCo/0", O_RDWR, 0777); /* Primary */ ioctl(fd, FIOSETOPTIONS, OPT_TERMINAL); ioTaskStdSet(taskNameToId("tShell"), 0, fd); ioTaskStdSet(taskNameToId("tShell"), 1, fd); ioTaskStdSet(taskNameToId("tShell"), 2, fd); The above code allowed me to access the secondary by hitting on the primary. I then tried to restart the shell by the following code: shellOrigStdSet(0, fd); shellOrigStdSet(1, fd); shellOrigStdSet(2, fd); excJobAdd( shellRestart, TRUE,0,0,0,0,0); And I found that STD_IN, STD_OUT and STD_ERR were set to the Secondary port. I thought shellOrigStdSet only sets the shell task STD_IN, STD_OUT and STD_ERR ? I then tried to redirect the STD_IN, STD_OUT and STD_ERR using ioGlobalStdSet commands and the secondary did not respond The ioctl options FIOCANCEL and FIOFLUSH dont seem to work. What is going on? --------------------------- Newsgroups: comp.os.vxworks Subject: Re: timers & i960-CA Date: Tue, 14 Jan 2003 21:36:42 +0000 (UTC) From: Organization: Universitat de Valencia Message-ID: References: Hi Leonid! Leonid Rosenboim wrote: [...] > Yuk ! I found the prohect you are referring to, I am sure it contains > information on > timers and other hardware on this board, but I would still try hard to get > more info > from Marconi (under NDA no doubt) By the way tech support says that board is obsolete and no longer supported > - in the several dozens of BSPs and > drivers that > I have done, wow! > I allways had some sort of hardware documentation, and I can > not even > imagine doing a driver without that. Sometimes the documentation was not > entirely > accurate, so yes sometimes even with a HW manual you still have to guess. > Good luck !! You'll need it. maybe if I found it really difficult I will forget it, my project is not focused on that and I have a lot of work pending Thanks for your comments Ulisses Debian GNU/Linux: a dream come true - ----------------------------------------------------------------------------- "Computers are useless. They can only give answers." Pablo Picasso - ---> Visita http://www.valux.org/ para saber acerca de la <--- - ---> Asociación Valenciana de Usuarios de Linux <--- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Delay before cacheFlush Date: Sat, 11 Jan 2003 17:26:18 +0000 (UTC) From: David Laight Organization: BT Openworld Message-ID: References: > Also, I wonder whether an explicit read operation is necessary since any > access to the system memory will always go through the same memory controller > pathway. As long as the read/write requests are posted in the correct order > to the memory controller, everything should "work out". It is needed if the writes have an effect on something other than memory. eg if they cause an interrupt request to be removed. An ISR might end with a write (probably uncached) that removes the IRQ request from the target hardware. Unless you do a readback from the same port there is no guarantee that the write cycle will have completed before the ISR exits. You may also need to have an eieio and/or sync (on PPC) between the write and read-back - I don't know if the PPC will internally snoop the read from the write buffer (SPARC cpus don't P4 does...). David --------------------------- Newsgroups: comp.os.vxworks Subject: Re: memPartFree Fail Date: Sat, 11 Jan 2003 10:01:06 -0800 From: Rick Davis Message-ID: <3E205BE2.9030502@rmbwoc.com> References: <5607ff2c.0301090825.347224f9@posting.google.com> Gabi; I'm afraid you're on your own here. Wind's lamentable memory allocator, and their utter lack of diagnostics for it, have led many of us to replace their heap manager. This is a somewhat drastic solution. Another is to get the memLib source from Wind. They have been somewhat forthcoming with this lately. A less expensive solution which I have used a few times is to wrap malloc() and free() with routines that track allocations, and write your own utility to dump those allocations along with a bit of the memory at either end. Of course this approach will only find overwrites in your applications, and it can be awkward to explain to your development team that they have to replace their memLib calls. If anyone has a better solution, please post it because this is one of the worst headaches (aside from Tornado upgrades) of working with VxWorks. - -- Rick Davis Gabi wrote: > Hi, > We use memPartAlloc & memPartFree for our memory allocations. > We always check return codes and print any errors. > > > The situation: > > After some time, (when couple of douzens calls to memPartAlloc made, > and several buffers were succefully freed with memPartFree) the > function memPartFree returns error. After that any calls to > memPartAlloc or memPartFree are failed. > > The error returned is either S_smObjLib_NOT_INITIALIZED or > S_objLib_OBJ_ID_ERROR - every time it's something else. > > Both parameters to memPartFree (partition and memory address) are > correct. > > > Question > > It seems memory area with some memory partion control block was > overwrited. > How can we check it? > We did not find any function in reference that allows us to check if > partition is OK. > > Can you advice us how can we advance with this problem? > > tanks > Gabi > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: "Rebuild All" takes 7 to 10 minutes, while it used to take just 2 minutes Date: Wed, 15 Jan 2003 12:03:59 +0100 From: "Martin Oberhuber" Organization: EUnet-AG.at EDV and Internet Service AG Message-ID: References: Hi Jerry, the delay could be due to network issues inside the cygwin1.dll that's used within the ccppc compiler. Please try getting the latest cygwin1.dll from http://sources.redhat.com/cygwin and copy it into your WIND_BASE/host/x86-win32/bin directory (backup the old version first). You will only need the cygwin1.dll file, although you probably won't get around downloading more through the cygwin installer. If this works, it makes sense to work on your cygwin setup (with cygwin mount commands) until your official WindRiver cygwin1.dll is fast again. Please let me know if that helps. Thanks, Martin "Jerry_V" wrote in message news:e93b99cb.0301141739.12737ee2@posting.google.com... > I'm not sure why, but all of a sudden it takes 7 to 10 minutes to do a > "Rebuild All". We are using VxWorks 5.5, Tornado 2.2. Here is a copy > of the "Build Output" generated: > ... > Done. --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Thu Jan 16 04:03:19 2003 From: Vxworks Exploder Date: Thu Jan 16 04:03:20 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Thu Jan 16 04:03:16 PST 2003 Subject: Re: symbol table Subject: PPP implementation on VxWorks Subject: Unresolved symbol "_h_errno" and errors while downloading my application Subject: Re: Task Variables - Subject: Re: looking to show free memory in vxWorks - ASAP Subject: PPC440 instruction cache Subject: Re: PPC440 instruction cache Subject: Re: Shell redirection Subject: SSL for VxWorks 5.4 Subject: Re: IP Packet Routing Subject: mbit software from motorola Subject: Multiple subnet routing Subject: Re: database under VxWorks Subject: Re: DosFs long name Subject: Re: DosFs long name Subject: Re: How to get system time from vxworks? and what different between real time clock and system time? ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: symbol table Date: 15 Jan 2003 13:26:50 GMT From: Johan Borkhuis Organization: Proxim Corp. Message-ID: References: <63c835dd.0301150301.2a3a9cdb@posting.google.com> sergiohdezm@terra.es (Sergiohdezm) wrote: > Hi, I am working with Tornado and I need to compile vxWorks for a > pci/c6400 board. I must choose beetwen "built-in symbol table" and > "downloaded symbol table" but I don't know what the correct one is. > Can someone explain the difference? Thank you. I usually use the build-in symbol table. This means that you don't have to worry about thee symbol-table file. This however means that your image will be much larger. Kind regards, Johan - -- o o o o o o o . . . _____________________________ o _____ || Johan Borkhuis | .][__n_n_|DD[ ====_____ | JBorkhuis@Proxim.com | >(________|__|_[_________]_|__________________________| _/oo OOOOO oo` ooo ooo 'o!o!o o!o!o` === VxWorks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html === --------------------------- Newsgroups: comp.os.vxworks Subject: PPP implementation on VxWorks Date: Wed, 15 Jan 2003 13:04:51 +0200 From: "Eyal Raab" Organization: Newsfeeds.com http://www.newsfeed.com 100,000+ UNCENSORED Newsgroups. The #1 Usenet Service on the Planet! Message-ID: <3e253a60@post.newsfeed.com> *** post for FREE via your newsreader at post.newsfeed.com *** Hi, We're looking to implement the PPP protocol on our systems. Does someone know of a free implementation of the PPP protocol for VxWorks? I've seen in the unoffical VxWorks FAQ a reference to it, but the FTP site mentioned seems to be inactive. Thanks in advance, Eyal Raab. -----= Posted via Newsfeed.Com, Uncensored Usenet News =----- http://www.newsfeed.com - The #1 Newsgroup Service in the World! - -----== 100,000 Groups! - 19 Servers! - Unlimited Download! =----- --------------------------- Newsgroups: comp.os.vxworks Subject: Unresolved symbol "_h_errno" and errors while downloading my application Date: 13 Jan 2003 23:57:14 -0800 From: tnnd@mailcc.kghs.net (Knight Chang) Organization: http://groups.google.com/ Message-ID: Hi, all. I am trying to download an application onto VxWorks simulator and I get an error message that said "Unresolved symbol while downloading". The symbol is "_h_errno". But I have already include the error status symbol table component while building vxworks booting image. Is there any step i did wrong? Regards. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Task Variables - Date: Wed, 15 Jan 2003 08:45:54 -0500 From: Keith Arner Organization: Marconi Message-ID: References: Reply-To: Keith Arner On Wed, 15 Jan 2003, Atkinson Andrew wrote: > static void periodicTaskMain (PERIODIC_TASK_INFO_T * taskInfo) > { > static PERIODIC_TASK_INFO_T * localTaskInfo; [...] > if ((status = taskVarAdd (0, (int *) &localTaskInfo)) == OK) > { > /* Allocate some memory for the local task info */ > if ((localTaskInfo = (PERIODIC_TASK_INFO_T *) malloc (sizeof > (PERIODIC_TASK_INFO_T))) != NULL) > { > /* Take a local copy of the task info for this > particular task */ > memcpy ((void *) localTaskInfo, (const void *) > taskInfo, sizeof (PERIODIC_TASK_INFO_T)); [...] > The problem first manifested itself as the execution watchdog timer being > restarted with a delay of 0x0 from within 'periodicTaskMain'. When a > 'logMsg' was done to display localTaskInfo->period, the value was correct, > but WindView still recorded the 'wdStart' with a delay of 0x0. For starters, if you get rid of the keyword "static" before localTaskInfo, the variable is local to the task already, and need not be made a taskVar. This will simplify your code, but will not fix the problem you seem to be encountering. Without seeing the function that is calling periodicTaskMain(), I'm only guessing, but I imagine that the calling function has some static PERIODIC_TASK_INFO_T structure that it fills in, then hands to the task that you spawn. You then copy the data out of the global static into your local structure. The problem that I see is that you have no mechanism to ensure that the data in the calling function's structure doesn't change before the newly spawned task copies it out. As a simple example, if the calling function spawns off two tasks before either spawned task can copy its data out, then you end up with two tasks with the same data copied. Fix this by doing the malloc() in the calling function, rather than in the spawned task. That is, malloc() your PERIODIC_TASK_INFO_T, then fill it in, then hand the pointer to the spawned task. The spawned task will then have the responsibility to free() up that memory if it exits. Keith - -- "One should not pursue goals that are easily achieved." - Albert Einstein, 1915 --------------------------- Newsgroups: comp.os.vxworks Subject: Re: looking to show free memory in vxWorks - ASAP Date: 14 Jan 2003 01:02:09 -0800 From: eyalk@radlan.com (Eyal) Organization: http://groups.google.com/ Message-ID: References: "Derek Christie" wrote in message news:... > Hi everyone, > > I am looking for a method or something that will determine how much memory > is free on a vxWorks system. It needs to be able to return a value such as > int, string etc.... > If someone could give me some info asap it would be much appreciated. > > Thanks > --D. Christie memFindMax( ) find the largest free block in the system memory partition more info at C:/Tornado/docs/rtnIndex.htm --------------------------- Newsgroups: comp.os.vxworks Subject: PPC440 instruction cache Date: 15 Jan 2003 07:41:17 -0800 From: smittal@cc.usu.edu (Sangdil) Organization: http://groups.google.com/ Message-ID: <83b0d6d7.0301150741.35aab26e@posting.google.com> Greetings all I am here in a weird situation when I try to turn on the caches in PPC440 BSP. Till now, I did not have any cache turned on. Now since the hardware and firmware is stable, we want to turn on the instruction cache to boost performance. As i read more and more, I get an idea that both instruction and data cache can only be turned off and on simultaneously. I only want the instruction cache and not the data cache. Are there any tricks we can use here? Thanks a lot. Regards Sangdil --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PPC440 instruction cache Date: Wed, 15 Jan 2003 11:07:14 -0500 From: Varndell Engineering Organization: Posted Via Newsfeeds.com = SPEED+RETENTION+COMPLETION = http://www.newsfeeds.com Message-ID: References: <83b0d6d7.0301150741.35aab26e@posting.google.com> On 15 Jan 2003 07:41:17 -0800, smittal@cc.usu.edu (Sangdil) wrote: >Greetings all >I am here in a weird situation when I try to turn on the caches in >PPC440 BSP. Till now, I did not have any cache turned on. Now since >the hardware and firmware is stable, we want to turn on the >instruction cache to boost performance. As i read more and more, I get >an idea that both instruction and data cache can only be turned off >and on simultaneously. I only want the instruction cache and not the >data cache. Are there any tricks we can use here? You'll need to setup TLBs to map execution address spaces as cacheable and data access spaces as not. Just be careful that you account for TS (translation space identifier). TLBs matching MSR[IS] == 0 or 1 and TLBs matching MSR[DS] == 0 or 1 should be maintained. Regards, George Varndell - -- Varndell Engineering, LLC. Embedded Systems Expertise http://www.varndellengineering.com - -----------== Posted via Newsfeed.Com - Uncensored Usenet News ==---------- http://www.newsfeed.com The #1 Newsgroup Service in the World! - -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =----- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Shell redirection Date: 15 Jan 2003 09:55:52 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0301150955.5ccde720@posting.google.com> References: Hello, triniatlarge@yahoo.com (lovell James) wrote in message news:... > Help > Does tShell only respond when it sees CR? Yes, kind of. If you think about what is happening it will all make sense: The shell is pended inside a read on the original file descriptor. Your changing the standard I/O file descriptor after the shell has started will not affect that read call since it was already pended on the real device. When you press return on the old serial port, the read() call returns, the shell sees you didn't really enter a command, writes out a prompt (on the new standard output channel) and calls read(), now on the new standard input mapping, so it waits on the secondary channel. > I then tried to restart the shell by the following code: > > shellOrigStdSet(0, fd); > shellOrigStdSet(1, fd); > shellOrigStdSet(2, fd); > excJobAdd( shellRestart, TRUE,0,0,0,0,0); This happens because the shell is using the global standard I/O redirection when it starts - that is done so that any tasks you spawn also have their standard output on the fd that the shell is using (necessary for something like the telnet/rlogin server, which is what this mechanism is really there for). > And I found that STD_IN, STD_OUT and STD_ERR were set to the Secondary > port. I thought shellOrigStdSet only sets the shell task STD_IN, > STD_OUT and STD_ERR ? > I then tried to redirect the STD_IN, STD_OUT and STD_ERR using > ioGlobalStdSet commands and the secondary did not respond > The ioctl options FIOCANCEL and FIOFLUSH dont seem to work. What is > going on? The shell task does not, by default, make use of the task-specific redirection - it expects to work on the global standard I/O. Since you are trying to separate the shell from the global I/O, you are going to face a few problems. I would suggest asking Wind River for the source to shellLib, then you can change the global redirection calls to task-specific ones. The problem with taskRestart() is that it will restore the task-specific settings to their original (i.e. not in use) setting. It will then start executing the shell, which will immediately change the global standard I/O to the ones set via the shellOrigStdSet() function. So, if you cannot get the source to make the changes, there are a couple of other tricks you could play: 1) Modify your serial driver to add a routine that allows you to artificially inject a character into the stream, and wake up any pending reads. Take a look at the code in target/src/drv/sio and you should find a routine named with an IntRd suffix - in the middle of that should be a call like this: (*pChan->putRcvChar) (pChan->putRcvArg, inchar); That is the key to inserting a character into the stream. This will allow you to use your original task-specific redirection, and get that initial CR character into the stream. Be warned though, if the shell ever catches an abort (^C) or an exception, it will restore its I/O to the global standard I/O channel. 2) You could extract shellLib.o from your archive and link it with a new .o that provides ioGlobalStdSet() as a mapping onto the task specific one. Once you've linked these two files together, process the resulting .o with objcopy to downgrade these new ioGlobalStdSet routines to locals. That way they will not interfere with the real ones when you link this object into a system, but they will remap the shellLib calls to the task-specific redirection routines. HTH, John... --------------------------- Newsgroups: comp.os.vxworks Subject: SSL for VxWorks 5.4 Date: Wed, 15 Jan 2003 18:35:45 GMT From: igtorque@yahoo.es (Ignacio G.T.) Message-ID: <3e25a8f9.550033676@News.CIS.DFN.DE> Reply-To: igtorque@yahoo.es Any recommendation on SSL software for VxWorks 5.4? Complete web services not needed. - -- Ignacio G.T. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: IP Packet Routing Date: Wed, 15 Jan 2003 10:49:54 -0800 From: "msafar" Organization: Posted via Supernews, http://www.supernews.com Message-ID: References: <314394a.0301121338.6ae48daa@posting.google.com> I suppose you have the destination (peer) IP address. If you create a UDP socket, and connect it with the peer address, you should be able to get the local interface IP address by calling "getsockname". The side effect of connect is that it finds the outgoing interface. (this part should be portable) Once you have the IP address of your outgoing interface you can traverse the list of interfaces (head is stored in struct ifnet * ifnet) and check which one has the address. (I suspect this works only in BSD stacks) You should be able to call etherAddrResolve() now. :-) Don't forget that if the destination IP is not on your subnet .... . msafar "TWalden" wrote in message news:314394a.0301121338.6ae48daa@posting.google.com... > I have a vxWorks 5.4/SENS based hardware platform with 2 Ethernet > interfaces attached to two different LAN's. For performance reasons, > I would like to send UDP packets directly to the Ethernet driver, > bypassing the vxWorks stack. (I know this violates layering, etc, > but the performance is necessary for this application.) In order to > do this, I need the destination MAC address so that I may create the > Ethernet packet header. Given an IP address, how can I get the > interface name and the MAC address to which I should send the > packet? The vxWorks networking stack obviously makes this determination > if I were to do a normal UDP send. I would like to get this information > programatically without actually doing a send through the stack. > > I would like some way to query the stack for the destination of the > packet. This should include which of the two LAN interfaces to send > the packet, and the MAC address of the destination host if on the > same network, or the MAC address of the gateway to use if the > destination is on a different network. > > I am aware of the etherAddrResolve() function which I can use to do > an ARP, but I need to know the LAN interface. I do not have this > information. > > How can I obtain such information from the stack? Is there an IP route > lookup function? > > Thanks, > Tim Walden --------------------------- Newsgroups: comp.os.vxworks Subject: mbit software from motorola Date: 15 Jan 2003 14:12:48 -0800 From: kelly.hornsby@trw.com (flingylingy) Organization: http://groups.google.com/ Message-ID: <2aac1ba4.0301151412.2ac427ab@posting.google.com> Hello I'm trying to integration motorola's MBIT Self Test software into VxWorks 5.5 (T2.2) and I'm having some problems with it. If you have integrated this software with T2.2, would you email me? Thx --------------------------- Newsgroups: comp.os.vxworks Subject: Multiple subnet routing Date: 14 Jan 2003 08:11:20 -0800 From: mrsinger@usa.net (Matt Singer) Organization: http://groups.google.com/ Message-ID: I have a network topology that looks something like this: 192.99.22.100 192.99.23.100 192.99.22.101 192.99.23.101 192.99.22.102 192.99.23.102 | | |sm network |sm network | | 100.0.0.100-----ethernet----100.0.0.101 | | 100.0.0.1 (boot host) Can anyone tell me how to set up the routes so that I can set up a udp connection between 192.99.22.101 and 192.99.23.101? Thanks Matt Singer --------------------------- Newsgroups: comp.os.vxworks Subject: Re: database under VxWorks Date: Wed, 15 Jan 2003 15:38:00 -0800 From: Prasad.Jeevanigi@FastObjects.com Organization: FastObjects Inc. Message-ID: References: <5fb7bcfa.0301131213.14a86a70@posting.google.com> In article <5fb7bcfa.0301131213.14a86a70@posting.google.com>, tadela@hotmail.com says... > I'm looking for a database engine to run under VxWorks.Any pointers? > > Thanks > > A > Please check out FastObjects e7 product from FastObjects Inc./Poet Software. They have Object Oriented DB system for VxWorks, MS Windows, Linux, Solaris.... You can use C++ or Java interface to access the FastObjects databases. Hope this helps. Prasad --------------------------- Newsgroups: comp.os.vxworks Subject: Re: DosFs long name Date: Thu, 16 Jan 2003 00:56:43 +0100 From: "Franco Bassetti" Message-ID: References: <22c68e067cf2bcee618ba6840a74b888.37262@mygate.mailgate.org> Reply-To: "Franco Bassetti" I have lost your answer --------------------------- Newsgroups: comp.os.vxworks Subject: Re: DosFs long name Date: Thu, 16 Jan 2003 00:55:45 +0100 From: "Franco Bassetti" Message-ID: References: <22c68e067cf2bcee618ba6840a74b888.37262@mygate.mailgate.org> Reply-To: "Franco Bassetti" Yes it is dosFs 1.0 I haven't understood how should I format the disk. Normally I format it by ms dos. "Franco Bassetti" ha scritto nel messaggio news:22c68e067cf2bcee618ba6840a74b888.37262@mygate.mailgate.org... > > > > > -- > Posted via Mailgate.ORG Server - http://www.Mailgate.ORG --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to get system time from vxworks? and what different between real time clock and system time? Date: 14 Jan 2003 09:52:40 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0301140952.4edd0c63@posting.google.com> References: <709e67fd.0301131115.2a4ee1a6@posting.google.com> Hello, Please try to search for these things yourself rather than simply asking on here immediately... the information you need is readily available on Wind River's Online Support pages. Simply search in the tech tips for RTC and it is the second result returned. Here's the link: http://www.windriver.com/cgi-bin/windsurf/techtips/public/viewSum.cgi?70 The tech tip title is "'Updating VxWorks time' - how to get the VxWorks time to reflect the time of the RTC (real time clock) when running the VxWorks OS on a PC other x86 type platform." HTH, John... jing_m@hotmail.com (jing ma) wrote in message news:<709e67fd.0301131115.2a4ee1a6@posting.google.com>... > Hi, > I have a real time clock driver, use that driver I can get a real > time clock. I need that clock time to set my system system clock(my > system BSP is pcPentium). How? > > Thanks! > > jing --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Fri Jan 17 00:15:39 2003 From: Moha8606@aol.com Date: Fri Jan 17 00:15:41 PST 2003 Subject: Looking for Embedded S/W developer Position --part1_163.1a436b35.2b59159f_boundary Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Hello Iam looking for Embedded Software developer position. Here is my Summary: EXPERIENCE: * 5+ years of real-time embedded software development. * 5 years of vxWorks experience. * Team Lead , Training and Documentation Experience. * Developed numerous device drivers in C, Assembly(x86, MIPS), C++. * Programmed network i/f, PCI, VME, memory controllers, DMA, etc * Good knowledge of TCP/IP stack, Ethernet etc. EDUCATION: Master of Science ( Computer Sc) Please contact me at moha8606@aol.com for Resume or to discuss opportunities. --part1_163.1a436b35.2b59159f_boundary Content-Type: text/html; charset="US-ASCII" Content-Transfer-Encoding: 7bit
Hello

Iam looking for Embedded Software developer position.
Here is my Summary:

EXPERIENCE:
* 5+ years of real-time embedded software development.
* 5 years of vxWorks experience.
* Team Lead , Training and Documentation Experience.
* Developed numerous device drivers in C, Assembly(x86, MIPS), C++.
* Programmed network i/f, PCI, VME, memory controllers, DMA,  etc
* Good knowledge of TCP/IP stack, Ethernet etc.

EDUCATION:
Master of Science ( Computer Sc)


Please contact me at moha8606@aol.com for Resume or to discuss
opportunities.
--part1_163.1a436b35.2b59159f_boundary-- From vxwexplo-errs@csg.lbl.gov Fri Jan 17 04:03:18 2003 From: Vxworks Exploder Date: Fri Jan 17 04:03:19 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Fri Jan 17 04:03:16 PST 2003 Subject: Re: dec 21143 missing carrier detction? Subject: dosFsDevInit failed Subject: Re: Need help with problems with Motorola Sandpoint Eval Board Subject: Re: mbit software from motorola Subject: Best Middleware Type for Embedded (VxWorks) Devices Subject: Re: DosFs long name Subject: Re: PPC440 instruction cache Subject: Re: DosFs long name Subject: Re: PPC440 instruction cache Subject: Re: mysterious task behaviour Subject: Re: Device Drivers question Subject: PCMCIA controller initialization with Pentium processor Subject: mesage queue ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: dec 21143 missing carrier detction? Date: Thu, 16 Jan 2003 12:36:37 +0000 (UTC) From: David Laight Organization: BT Openworld Message-ID: References: Jon Willemsen wrote: > "Kelly Hornsby" wrote in message news:... > >>Hello All >> >>I want to know if I have a carrier detect on my DEC 21143 device before I >>start transmitting or receiving packets. I presume you are looking for the presence of 'link test pulses' on the UTP cable. 'carrier detect' is the detection of receive data during your own transmit - ie validates the tx and rx path to the transceiver. >>I think CSR12 will tell me if I >>have a link active (carrier detect) but I'm not sure. Is this register the >>best way to detect if there's a good link? I'm probably going to have a >>10MB link, but possibly a 100MB link, but I don't think it matters, since >>both speeds are reflected in CSR12. Am I on the right track? I don't have >>the sources for the ethernet devices, so I'm hoping for an easy way to tell >>if there's no carrier. I can get access to the register via a pciFindDevice >>and a pciConfigInLong to fetch the base addresses of the register banks. Unless these registers are accessed as a single cycle (I don't remember the 2114x registers) this could interfere with normal operation of the ethernet driver. You may need to dig into the driver a little... > Perhaps you could try using the status bit that indicates that link > auto-negotiation has completed. This will tell you if the link is up, > and if so you should be able to read the negotiated speed from other > status bit(s). Or do you really need to know specifically if the > carrier is present? But auto-negotiation doesn;t need to 'complete', there are other schemes that can be used to determine the link properties. In particular if you are connected to a single speed hub it is very unlikely that it will do auto-negotiation. The hub sends out a fixed pattern of link test pulses and the transceiver on the ethernet card auto-detects whether it is 10M or 100M. David --------------------------- Newsgroups: comp.os.vxworks Subject: dosFsDevInit failed Date: Thu, 16 Jan 2003 21:46:54 +0800 From: "jm" Organization: Alcatel Message-ID: Hi,all I has a problem when i use dosFs. I have write a sandisk compactFlash block driver. When i use "sdcfDrv",then use "sdcfDevCreate",then use dosFsDevInit(),the dosFsDevInit() read the first sector of my disk,then return failed. I known that dosFsDevInit() get the parameter from the first sectors to fill struct dos_vol_config,but the first sectors in disk are all zero.I think this maybe the reason.But How can i to do? underside is my code, STATUS usrSdcfConfig ( int drive, /* drive number of TFFS */ int removable, /* 0 - nonremovable flash media */ char * fileName /* mount point */ ) { BLK_DEV * pBootDev; char bootDir [BOOT_FILE_LEN]; dosFsInit (20); /* create a block device spanning entire disk (non-distructive!) */ if ((pBootDev = sdcfDevCreate (0,0,0,0)) == NULL) { printErr ("tffsDevCreate failed.\n"); return (ERROR); } /* split off boot device from boot file */ devSplit (fileName, bootDir); /* initialize the boot block device as a dosFs device named */ if (dosFsDevInit (bootDir, pBootDev, NULL) == NULL) { printErr ("dosFsDevInit failed.\n"); return (ERROR); } return (OK); } /*************************************************************************** **** * * sdcfDrv - initialize the sdcf driver * * RETURNS: OK, or ERROR if initialization fails. */ STATUS sdcfDrv(void) { if (!sdcfDrvInstalled) { reset(); sdcfDrvStatus=(identifyDrive() == OK) ? OK : ERROR; sdcfDrvInstalled = TRUE; sdcfDrvStatus=OK; } return (sdcfDrvStatus); } /*************************************************************************** **** * sdcfDevCreate - create a device for a sdcf/IDE disk */ BLK_DEV *sdcfDevCreate ( int ctrl, int drive, int nBlocks, int blkOffset ) { SDCF_DEV *pDev; SDCF_TYPE *pType=&sdcfType; BLK_DEV *pBlkdev; int maxBlks; if (!sdcfDrvInstalled ) return (NULL); if ((pDev = (SDCF_DEV *) malloc(sizeof (SDCF_DEV))) == NULL) return (NULL); pBlkdev = &pDev->blkDev; maxBlks=pType->numberOfSectors-blkOffset; if (nBlocks == 0) nBlocks = maxBlks; if (nBlocks > maxBlks) nBlocks = maxBlks; pBlkdev->bd_nBlocks = nBlocks; pBlkdev->bd_bytesPerBlk = SECTOR_SIZE; pBlkdev->bd_blksPerTrack = pType->numberOfSectorsPerTrack; pBlkdev->bd_nHeads = pType->numberOfHeads; pBlkdev->bd_removable = TRUE; pBlkdev->bd_retry = 1; pBlkdev->bd_mode = O_RDWR; pBlkdev->bd_readyChanged = TRUE; pBlkdev->bd_blkRd = sdcfBlkRd; pBlkdev->bd_blkWrt = sdcfBlkWrt; pBlkdev->bd_ioctl = sdcfIoctl; pBlkdev->bd_reset = NULL; pBlkdev->bd_statusChk = NULL; pDev->ctrl = ctrl; pDev->drive = drive; pDev->blkOffset = blkOffset; return (pBlkdev); } the identifyDrive() function take an ATA command (identify drive) to get parameter: pType->numberOfCylinders=0x01ea; pType->numberOfHeads=0x04; pType->numberOfSectorsPerTrack=0x20; pType->numberOfSectors=0xf400; --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Need help with problems with Motorola Sandpoint Eval Board Date: Thu, 16 Jan 2003 14:07:38 GMT From: "Dave Schmidt" Organization: WrxRite Message-ID: References: Randal, You would need to recompile the boot code to include the driver for the add-on Ethernet card. This would usually be done after the driver had been validated as configured correctly in the VxWorks image. "randal" wrote in message news:avsc5n$oe4@dispatch.concentric.net... > All, > > I have a Sandpoint eval board. I am having problems loading the VxWorks > image and running it. Does anyone have any suggestions. The ethernet > device is not supported by the current boot code. But I can download > executables through the serial port > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: mbit software from motorola Date: 16 Jan 2003 07:58:08 -0800 From: badepr1@hotmail.com (Paul Bade) Organization: http://groups.google.com/ Message-ID: References: <2aac1ba4.0301151412.2ac427ab@posting.google.com> kelly.hornsby@trw.com (flingylingy) wrote in message news:<2aac1ba4.0301151412.2ac427ab@posting.google.com>... > Hello > > I'm trying to integration motorola's MBIT Self Test software into > VxWorks 5.5 (T2.2) and I'm having some problems with it. If you have > integrated this software with T2.2, would you email me? > > Thx We developed the original MBIT under subcontract to Motorola, although they have since taken it in house. What kind of problems are you having? We have a web based interface for Motorola's MBIT. We also offer consulting services for developing MBIT test drivers for any additional hardware that you may have. For more information, contact info@dot21rts.com Paul Bade www.dot21rts.com (410) 480-7232 --------------------------- Newsgroups: comp.realtime,comp.arch.embedded,comp.os.vxworks,comp.text.xml,comp.dcom.servers Subject: Best Middleware Type for Embedded (VxWorks) Devices Date: 16 Jan 2003 08:48:15 -0800 From: padredos@softhome.net (John) Organization: http://groups.google.com/ Message-ID: <8f783436.0301160848.15a2b9e4@posting.google.com> Hello. Hopefully you can provide me some input/clarity. I am currently evaluating more reliable/robust distributed computing alternatives for a system that currently relies on simple message requests and custom-built queuing software (sometimes dropping messages). The system of interest comprises a single application manager running VxWorks that manages numerous embedded devices, also running VxWorks. Communication basically falls into two categories: 1 - Tasks and polls issued by the application manager to the devices. For tasks, the device performs its assigned duty and responds with the result/confirmation in a matter of seconds. For polls, the application manager may at-will request the value of any management parameter known to the embedded device. The application manager makes decisions based on the replies sent by the embedded devices. 2 - Voluntary reporting of certain management parameters by the embedded devices. This occurs on a periodic basic (i.e. once per second for some, 10 times per second for others). In addition to VxWorks as the operating system, the following other requirements/variables have been defined: * Communication will take place via IP on a dedicated Ethernet segment * The embedded device software is being written in C or C++ (unless a compelling case is made otherwise) * The application manager is being written in C++ (unless a ...) * The client software (either on Windows or UNIX) has been written in Java (clients need only talk with the application manager) * Once a task has been issued by the application manager, there is a maximum response time (measured in seconds) * The embedded devices are limited to four or eight megabytes of memory each, so footprint size is important. In my research, I have identified the following possible solutions: * CORBA (ORB type to be determined) * XML-RPC or SOAP * DCOM * Java/RMI * Smartsockets or Rendezvous (see TIBCO's Web site) * NDDS (see RTI's Web site) QUESTIONS: 1 - Which of these do you recommend, and why? (If recommending one, please make mention of your experience with any others.) 2 - In laying out the above options, am I making an apples-to-apples comparison? Is there another alternative that's missing from my list? 3 - Given the JAVA-only nature of Java/RMI, is that even an option for my situation? (assuming it is not used in conjunction with CORBA) 4 - Is XML-RPC or SOAP capable of addressing my needs? (assuming it is not used in conjunction with CORBA) 5 - Is there a significant risk in choosing a vendor-specific product like Smartsockets or NDDS? 6 - Do the TIBCO products (and RTI for that matter) provide greater functionality (and much higher cost) than I need? 7 - Is the VxWorks port of DCOM reliable? 8 - Given Microsoft's direction vis-à-vis Web services, is a DCOM solution even worth building at this point? Thank you for reading this and for your replies! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: DosFs long name Date: Thu, 16 Jan 2003 19:49:33 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <22c68e067cf2bcee618ba6840a74b888.37262@mygate.mailgate.org> Reply-To: "Leonid Rosenboim" As I explained, the long names in dosFs 1.0 are not PC compatible, hence you must format it on VxWorks - after setting the option you can run dosFsMkfs() or format() and then reboot, and it will be mounted with the long names directory structure. - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com "Franco Bassetti" wrote in message news:EymV9.24458$lj5.285978@tornado.fastwebnet.it... > Yes it is dosFs 1.0 > I haven't understood how should I format the disk. > Normally I format it by ms dos. > "Franco Bassetti" ha scritto nel messaggio > news:22c68e067cf2bcee618ba6840a74b888.37262@mygate.mailgate.org... > > > > > > > > > -- > > Posted via Mailgate.ORG Server - http://www.Mailgate.ORG > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PPC440 instruction cache Date: 16 Jan 2003 08:43:50 -0800 From: smittal@cc.usu.edu (Sangdil) Organization: http://groups.google.com/ Message-ID: <83b0d6d7.0301160843.52f16959@posting.google.com> References: <83b0d6d7.0301150741.35aab26e@posting.google.com> Thanks again George Here is what I understand I will need to work on to enable the instruction cache. Pls correct me if I am wrong. Create new TLBs that divide the RAM into instruction access space and data access space. How do I set different translation space identifier for MSR[IS] and MSR[DS]? What is the _MMU_TLB_TS_0 attribute set by vxWorks in sysLib.c for? (MSR[IS] or MSR[DS]). In addition I will have to make corresponding changes to the Tornado IDE Regards Sangdil Use Varndell Engineering wrote in message news:... > On 15 Jan 2003 07:41:17 -0800, smittal@cc.usu.edu (Sangdil) wrote: > > >Greetings all > >I am here in a weird situation when I try to turn on the caches in > >PPC440 BSP. Till now, I did not have any cache turned on. Now since > >the hardware and firmware is stable, we want to turn on the > >instruction cache to boost performance. As i read more and more, I get > >an idea that both instruction and data cache can only be turned off > >and on simultaneously. I only want the instruction cache and not the > >data cache. Are there any tricks we can use here? > > You'll need to setup TLBs to map execution address spaces as > cacheable and data access spaces as not. Just be careful that > you account for TS (translation space identifier). > TLBs matching MSR[IS] == 0 or 1 and TLBs matching > MSR[DS] == 0 or 1 should be maintained. > > Regards, > George Varndell > -- > Varndell Engineering, LLC. Embedded Systems Expertise > http://www.varndellengineering.com > > > > -----------== Posted via Newsfeed.Com - Uncensored Usenet News ==---------- > http://www.newsfeed.com The #1 Newsgroup Service in the World! > -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =----- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: DosFs long name Date: Thu, 16 Jan 2003 20:00:41 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <22c68e067cf2bcee618ba6840a74b888.37262@mygate.mailgate.org> Reply-To: "Leonid Rosenboim" Well, I might have sent it to you again, if you had provided your true e-mail address. By the way, since you are a FastWeb customer, there are a few questions I would like to ask you. - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com "Franco Bassetti" wrote in message news:xzmV9.24464$lj5.285868@tornado.fastwebnet.it... > I have lost your answer > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PPC440 instruction cache Date: Fri, 17 Jan 2003 07:49:05 +0100 From: "Michael Lawnick" Organization: Buergernetz Dillingen Message-ID: References: <83b0d6d7.0301150741.35aab26e@posting.google.com> <83b0d6d7.0301160843.52f16959@posting.google.com> Reply-To: "Michael Lawnick" Sender: mlawnick@mail.kontron-applications.com Hi Sangdil, > Create new TLBs that divide the RAM into instruction access space and > data access space. This is already done in the standard Ebony BSP. >. How do I set different translation space identifier for MSR[IS] and MSR[DS]? Use USER_D_MMU_ENABLE=TRUE and USER_I_MMU_ENABLE=FALSE in workspace or your project's config file. That's the preconfigured way. Doing that, instructions will run in context null, allways cached and no page table miss, but data is managed via mmuLib. Take care to have got an update of cacheALib.o and mmu440Lib.o, as WindDbg will behave erratic otherwise. HTH Michael "Sangdil" schrieb im Newsbeitrag news:83b0d6d7.0301160843.52f16959@posting.google.com... > Thanks again George > Here is what I understand I will need to work on to enable the > instruction cache. Pls correct me if I am wrong. > > Create new TLBs that divide the RAM into instruction access space and > data access space. How do I set different translation space identifier > for MSR[IS] and MSR[DS]? What is the _MMU_TLB_TS_0 attribute set by > vxWorks in sysLib.c for? (MSR[IS] or MSR[DS]). > In addition I will have to make corresponding changes to the Tornado > IDE > > > Regards > Sangdil > > > Use > > Varndell Engineering wrote in message news:... > > On 15 Jan 2003 07:41:17 -0800, smittal@cc.usu.edu (Sangdil) wrote: > > > > >Greetings all > > >I am here in a weird situation when I try to turn on the caches in > > >PPC440 BSP. Till now, I did not have any cache turned on. Now since > > >the hardware and firmware is stable, we want to turn on the > > >instruction cache to boost performance. As i read more and more, I get > > >an idea that both instruction and data cache can only be turned off > > >and on simultaneously. I only want the instruction cache and not the > > >data cache. Are there any tricks we can use here? > > > > You'll need to setup TLBs to map execution address spaces as > > cacheable and data access spaces as not. Just be careful that > > you account for TS (translation space identifier). > > TLBs matching MSR[IS] == 0 or 1 and TLBs matching > > MSR[DS] == 0 or 1 should be maintained. > > > > Regards, > > George Varndell > > -- > > Varndell Engineering, LLC. Embedded Systems Expertise > > http://www.varndellengineering.com > > > > > > > > -----------== Posted via Newsfeed.Com - Uncensored Usenet News ==---------- > > http://www.newsfeed.com The #1 Newsgroup Service in the World! > > -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =----- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: mysterious task behaviour Date: Fri, 17 Jan 2003 09:06:58 +0100 From: rs Organization: WiNShuttle, DFN - German Research Network Message-ID: <3E27B9A2.A3B7BDD5@impromptu.m.shuttle.de> References: <3E25AE3B.CB4CDE1F@impromptu.m.shuttle.de> Dave, thank you for your answer! If the errno is set and the task seems to run without fatal error, is there any guarantee that this will be so in the future? Or is the errno indicating that the task may crash somewhere in the future? I myself feel better if there is no errno set. Again thanks! Reinhold Dave Schmidt schrieb: > Albert, > > The first thing ine needs to know about "errno" is that just because it is > set, does not mean that there was a fatal error, just that some "alternative > action has occured", for example, a timeout on waiting on a message will > set the "errno" to a TIMEOUT error. > > Tracing the cause of an "errno" setting is one method of determining the > overall cause of a task "crash". Wind River support should be able to > supply you with info on why the value "S_ioLib_UNKNOWN_REQUEST" gets set, > although I doubt if this is the cause of your crash. > > If your system crashes in seemingly unrelated areas of the code, this > usually points to some sort of overall system level integration issue. If > on the other hand it always crashes when executing the same piece of code, > then this would point to a task level issue. > > Again, just beacuse "errno" is set does not mean that your task has comitted > an error, just that the code executed some "alternative" path through its > processing. > > Dave > > "rs" wrote in message > news:3E25AE3B.CB4CDE1F@impromptu.m.shuttle.de... > > Hello, > > > > I have an embedded application which spawns a main task. The spawning is > > successfull. But when running the application on the target I get > > following message on the connected target-terminal when invoking i : > > > > -> i > > > > NAME ENTRY TID PRI STATUS PC > > SP ERRNO DELAY > > ... > > tTest test 137e458 100 READY 149700 > > 137a268 c0002 0 > > > > > > ->printErrno( 0xc0002) > > S_ioLib_UNKNOWN_REQUEST > > value = 24 = 0x18 > > -> > > > > There is an errno != 0 for the task tTest, although the taks is > > running. Invoking functions of the task is errorfree until a specific > > function is invoked. Then the task crashes. I have debugged the function > > and found no error. Furthermore, when I compiled and downloaded my > > application again, the task didn't crash at invoking this function but > > runs errorfree, although the ERRNO on the terminal is the same as > > before. > > > > An other application with a similar main task has errno 0x3d0001 = > > S_objLib_OB_ID_ERROR. > > That task is running fine and doesn't crash, regardless what the task is > > doing. > > > > Why is there an errno != 0 on the terminal, although the task spawns > > without error? What do the error numbers mean? Does anyone know? > > > > Thank you in advance! > > > > Albert > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Device Drivers question Date: Sat, 11 Jan 2003 15:44:24 GMT From: Dave Bryan Organization: The PTR Group Message-ID: References: shasia wrote: > I have tons of documentation on Tornado and on VxWorks and I have access > to windsurf (or whatever it is called now) but I can't find anywhere any > device driver programming guide or how to write a BSP. All I have is BSP > reference which is probably a very useful thing to somebody who already > knows how to write it/use it. Can somebody please tell me if I am > looking for something that does not exist or where I can find this > documentation. Many thanks. > > Alex > > Alex: There are four choices for BSP and device driver development. 1)Get the BSP developers kit. This includes the BSP Developers guide, templates files and (optionally) driver source code. The guide is not comprehensive. There is way more time spent on such things as coding conventions and documentation guidelines then on drivers and BSPs. If you are writing a network driver, get the Network Protocol Toolkit. This is the only doc that addresses network drivers, the mux, etc. Then start plowing through all of it. Depending on your experience and the type of driver you are writing, this could be a fairly simple or a incredibly daunting task. 2)Get some training. Then get the guide, template and example driver files. This is probably the best way to "learn" VxWorks BSPs and device drivers, but it can also be the slowest and the most expensive. BSP and device driver training is available from several sources including Wind (and my company). Be careful, though, that the training will cover the type of device driver you are trying to write as well as how you wish to use it. Network drivers are very different from serial drivers. You may want to write a driver for something very custom - a DSP interface or an RF interface. The interface you want for the driver is just as important. Is your device packet, block, or character based, Do you plan to put a filesystem on it or will you be integrating with the network stack. All these things are very different and should be kept in mind as you look for a potential training courses. Also keep in mind the trainer. When it comes to BSPs and device drivers, experience counts. Ask around about training experiences, finding the right trainer is as important as covering the right material. A good trainer can step outside the courseware (within reason) to address your particular needs. 3)There are a couple of products out there that will "generate" a device driver or BSP for you. These are usually tied to particular architectures and/or technologies. Keep in mind that these products are typically trying to address many RTOS environments (or no RTOS at all). The driver may be good, but it's integration with vxWorks may or may not be optimal. This type of solution is hit or miss, and can be fairly expensive. However, it's worth checking into... 4)Finally, of course, you can have a consultant company write ( or help you write) the BSP/driver. HTH... Dave - -- - --------------------------------------------------------- T h e P T R G r o u p, I n c. Embedded, Real-Time Solutions, and Training - --------------------------------------------------------- David Bryan www.ThePTRGroup.com 703-726-0498 Dave@ThePTRGroup.com - --------------------------------------------------------- --------------------------- Newsgroups: comp.os.vxworks Subject: PCMCIA controller initialization with Pentium processor Date: 7 Jan 2003 12:13:13 -0800 From: gpbeck_99@yahoo.com (Gary Beck) Organization: http://groups.google.com/ Message-ID: How can I verify that my PCMCIA Controller has been initialized properly. I'm using a PC104 Pentium processor board with a PC104 Adtron SDDP-2X PCMCIA controller board. I've tried to use the call pcicInit() to initialize the Cirrus Logic PD-6720 part, but I'm not sure I'm using the correct parameters. From the pc.h file, I'm using #define PCIC_BASE_ADR 0x3e0 /* Intel 82365SL */ #define PCIC_INT_LVL 0x0a and pcicShow as the show routine (showRtn). I guess my question is how do I verify that the base address and interrupt level and how do I determine what to use for the interrupt vector. Any help would be appreciated. Thanks in advance. --------------------------- Newsgroups: comp.os.vxworks Subject: mesage queue Date: 17 Jan 2003 02:42:33 -0800 From: pradeeppatel77@yahoo.com (pradeep) Organization: http://groups.google.com/ Message-ID: <54575a52.0301170242.62a607b@posting.google.com> There are 2 tasks one is putting a structure variable in message queue, and other is recieving from it. the sequence of events are - In task A 1) sending the structure variable in the message queue. 2) Free the memory corrosponding to that variable. In Task B 1) Recieving the data from the message queue, Problem is data in recieving is corrupted. if free is done . data is recieved properly. kindly tell me how msg queworks internally. regards pradeep --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Fri Jan 17 07:36:50 2003 From: Mike McCullough Date: Fri Jan 17 07:36:51 PST 2003 Subject: Need VxWorks Training?? --=====================_9772109==_.ALT Content-Type: text/plain; charset="us-ascii"; format=flowed Do you need VxWorks training? Are you a new user or simply looking to refresh your current skills? Are you looking to add "VxWorks" to your resume? MCC Systems is kicking off a series of training workshops for the month of February at a special introductory rate. Our February schedule of dates and locations is listed below. Our 2003 training schedule will be on our Web page in a few days. We also provide customized onsite training for groups of 4 or more. To register simply call 888-279-1625 or email training@mccengineering.com February Training Schedule Feb 11-13 VxWorks and Tornado (Lecture Only) Nashua, NH Feb 18-20 VxWorks and Tornado (Lecture Only) Rockville, MD Feb 18-20 VxWorks and Tornado (Lecture Only) Sunnyvale, CA Tuition: $500 per day (3 days) ********************************************************** Mike McCullough MCC Systems, Inc. President and CEO 9 Cheshire Court Londonderry, NH 03053 mike@mccengineering.com Tel: 603-537-9593 Fax: 603-434-9890 www.mccengineering.com Cell: 603-247-1219 ********************************************************** 24x7 VxWorks Support Custom Support Programs VxWorks Training Embedded Consulting Services A WindLink Partner ********************************************************** --=====================_9772109==_.ALT Content-Type: text/html; charset="us-ascii" Do you need VxWorks training? Are you a new user or simply looking to refresh your current skills? Are you looking to add "VxWorks" to your resume? MCC Systems is kicking off a series of training workshops for the month of February at a special introductory rate. Our February schedule of dates and locations is listed below. Our 2003 training schedule will be on our Web page in a few days. We also provide customized onsite training for groups of 4 or more.

To register simply call 888-279-1625 or email training@mccengineering.com

                February Training Schedule

Feb 11-13       VxWorks and Tornado (Lecture Only)      Nashua, NH

Feb 18-20       VxWorks and Tornado (Lecture Only)      Rockville, MD

Feb 18-20       VxWorks and Tornado (Lecture Only)      Sunnyvale, CA

Tuition: $500 per day (3 days)






**********************************************************
Mike McCullough                    MCC Systems, Inc.                    
President and CEO                  9 Cheshire Court
                                   Londonderry, NH 03053

mike@mccengineering.com            Tel:  603-537-9593
                                   Fax:  603-434-9890
www.mccengineering.com             Cell: 603-247-1219

**********************************************************
       24x7 VxWorks Support  Custom Support Programs
         VxWorks Training   Embedded Consulting Services
                    A WindLink Partner
********************************************************** --=====================_9772109==_.ALT-- From vxwexplo-errs@csg.lbl.gov Sun Jan 19 04:03:17 2003 From: Vxworks Exploder Date: Sun Jan 19 04:03:18 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Sun Jan 19 04:03:14 PST 2003 Subject: Re: mesage queue Subject: Re: PPC440 instruction cache Subject: change tNetQueue size Subject: Re: mysterious task behaviour Subject: Re: mysterious task behaviour Subject: Re: mesage queue Subject: Re: PPC440 instruction cache Subject: Re: PPC440 instruction cache Subject: Replacing default IP stack Subject: Re: Max Number of File Descriptors per TASK Subject: problems with memory pool management with netBufLib Subject: ospf emulator/analyzer Subject: mesage queue Subject: Re: change tNetQueue size Subject: Re: change tNetQueue size Subject: Re: Floating Point Co-Processor Support Subject: vxWorks- booting ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: mesage queue Date: Fri, 17 Jan 2003 13:11:43 +0100 From: "Michael Lawnick" Organization: Buergernetz Dillingen Message-ID: References: <54575a52.0301170242.62a607b@posting.google.com> Reply-To: "Michael Lawnick" Sender: mlawnick@mail.kontron-applications.com Hi Pradeep, on msgQSend the data pointed to by char*msg is copied in the length of int len bytes to msgQ buffer. Maximum this data is read out on msgQReceive (could be less if len is to short, rest of message is discarded then) You have to two major ways: a) send/receive contents of struct: task A struct bla data; msgQSend(id, (char*)&data, sizeof(data),...); task B struct bla data; msgQReceive(id, (char*)&data,sizeof(data),....); b) send/receive a pointer to data task A struct bla *data; data=malloc(sizeof(*data)); msgQSend(id,(char*)data,sizeof(*data),...); task B struct bla *data; msgQReceive(id, (char*)data,sizeof(*data),....); free(data); a) means 2 copies of data and a big msgQ, but a don't care about memory fragmentation and buffer management b) is fast but might fragment memory If you know the maximum number of buffers you need, you could use b) with preallocated structs, their pointers put into a msgQ. In task A you receive the pointers and in task B you send them again. This is fast and avoids fragmentation. HTH Michael "pradeep" schrieb im Newsbeitrag news:54575a52.0301170242.62a607b@posting.google.com... > There are 2 tasks one is putting a structure variable in message queue, > and other is recieving from it. > the sequence of events are - > In task A > 1) sending the structure variable in the message queue. > 2) Free the memory corrosponding to that variable. > In Task B > 1) Recieving the data from the message queue, > > Problem is data in recieving is corrupted. > > if free is done . > data is recieved properly. > kindly tell me how msg queworks internally. > regards > pradeep --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PPC440 instruction cache Date: Fri, 17 Jan 2003 08:20:08 -0500 From: Varndell Engineering Organization: Posted Via Newsfeeds.com = SPEED+RETENTION+COMPLETION = http://www.newsfeeds.com Message-ID: References: <83b0d6d7.0301150741.35aab26e@posting.google.com> <83b0d6d7.0301160843.52f16959@posting.google.com> On Fri, 17 Jan 2003 07:49:05 +0100, "Michael Lawnick" wrote: >Hi Sangdil, >> Create new TLBs that divide the RAM into instruction access space and >> data access space. >This is already done in the standard Ebony BSP. > >>. How do I set different translation space identifier for MSR[IS] and >MSR[DS]? >Use USER_D_MMU_ENABLE=TRUE and USER_I_MMU_ENABLE=FALSE in workspace or your >project's config file. That's the preconfigured way. > >Doing that, instructions will run in context null, allways cached and no >page table miss, but data is managed via mmuLib. Take care to have got an >update of cacheALib.o and mmu440Lib.o, as WindDbg will behave erratic >otherwise. If the 'instruction mmu' is disabled via Tornado configuration or in config.h, the BSP must create static TLB mappings for execution space. Whether or not misses occur, and whether or not caching is inhibited, will depend soley on the attributes and extent of that static TLB mapping. What is 'context null'? I've not encountered that phrase before. Regards, George Varndell - -- Varndell Engineering, LLC. Embedded Systems Expertise http://www.varndellengineering.com - -----------== Posted via Newsfeed.Com - Uncensored Usenet News ==---------- http://www.newsfeed.com The #1 Newsgroup Service in the World! - -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =----- --------------------------- Newsgroups: comp.os.vxworks Subject: change tNetQueue size Date: Fri, 17 Jan 2003 13:51:26 GMT From: Jim Organization: Magma Communications Ltd. Message-ID: Hi how do I change the tNetTask Queue size without having tNetTask source? Is it possible? Jim --------------------------- Newsgroups: comp.os.vxworks Subject: Re: mysterious task behaviour Date: Fri, 17 Jan 2003 14:10:15 GMT From: "Dave Schmidt" Organization: WrxRite.com Message-ID: References: <3E25AE3B.CB4CDE1F@impromptu.m.shuttle.de> <3E27B9A2.A3B7BDD5@impromptu.m.shuttle.de> Reinhold, First, each task has its own version of errno stored in its TCB. Understand also that an ISR which sets errno, will set the errno in the TCB of the task that was interrupted. Errno is only valid immediately after a call to a routine which could set it (or has a sub-routine which could set it). Calling a routine which has the ability to set errno and then checking the value of errno 20 lines further down in the code is not advisable, as an ISR could modify errno. Errno should be checked immediately upon receiving an ERROR status. Checking errno is only needed when an ERROR is indicated by the return status of a routine. This being said, users should implement returning a status on all their routines whenever there is a posibility of performing an alternate action in the routine. Errno itself should only get set at the lowest level of error / alternate processing. It should not get modified at each successive return up the stack, as it would lose its original context. As long as no return error status was indicated, the user can safely ignore the value of errno set by the routine. This does not mean though that somewhere else in the code a call was made which did not check the return status, and thus missed the needed errno setting. Or that an ISR set the value. This is why periodically looking at the errnos of all tasks via the console during development is a good thing. Dave Schmidt www.wrxrite.com "rs" wrote in message news:3E27B9A2.A3B7BDD5@impromptu.m.shuttle.de... > Dave, > > thank you for your answer! If the errno is set and the task seems to run without > fatal error, is there any guarantee that this will be so in the future? Or is > the errno indicating that the task may crash somewhere in the future? I myself > feel better if there is no errno set. > > Again thanks! > > Reinhold > > > > Dave Schmidt schrieb: > > > Albert, > > > > The first thing ine needs to know about "errno" is that just because it is > > set, does not mean that there was a fatal error, just that some "alternative > > action has occured", for example, a timeout on waiting on a message will > > set the "errno" to a TIMEOUT error. > > > > Tracing the cause of an "errno" setting is one method of determining the > > overall cause of a task "crash". Wind River support should be able to > > supply you with info on why the value "S_ioLib_UNKNOWN_REQUEST" gets set, > > although I doubt if this is the cause of your crash. > > > > If your system crashes in seemingly unrelated areas of the code, this > > usually points to some sort of overall system level integration issue. If > > on the other hand it always crashes when executing the same piece of code, > > then this would point to a task level issue. > > > > Again, just beacuse "errno" is set does not mean that your task has comitted > > an error, just that the code executed some "alternative" path through its > > processing. > > > > Dave > > > > "rs" wrote in message > > news:3E25AE3B.CB4CDE1F@impromptu.m.shuttle.de... > > > Hello, > > > > > > I have an embedded application which spawns a main task. The spawning is > > > successfull. But when running the application on the target I get > > > following message on the connected target-terminal when invoking i : > > > > > > -> i > > > > > > NAME ENTRY TID PRI STATUS PC > > > SP ERRNO DELAY > > > ... > > > tTest test 137e458 100 READY 149700 > > > 137a268 c0002 0 > > > > > > > > > ->printErrno( 0xc0002) > > > S_ioLib_UNKNOWN_REQUEST > > > value = 24 = 0x18 > > > -> > > > > > > There is an errno != 0 for the task tTest, although the taks is > > > running. Invoking functions of the task is errorfree until a specific > > > function is invoked. Then the task crashes. I have debugged the function > > > and found no error. Furthermore, when I compiled and downloaded my > > > application again, the task didn't crash at invoking this function but > > > runs errorfree, although the ERRNO on the terminal is the same as > > > before. > > > > > > An other application with a similar main task has errno 0x3d0001 = > > > S_objLib_OB_ID_ERROR. > > > That task is running fine and doesn't crash, regardless what the task is > > > doing. > > > > > > Why is there an errno != 0 on the terminal, although the task spawns > > > without error? What do the error numbers mean? Does anyone know? > > > > > > Thank you in advance! > > > > > > Albert > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: mysterious task behaviour Date: Fri, 17 Jan 2003 14:11:45 GMT From: "Dave Schmidt" Organization: WrxRite.com Message-ID: References: <3E25AE3B.CB4CDE1F@impromptu.m.shuttle.de> <3E27B9A2.A3B7BDD5@impromptu.m.shuttle.de> Reinhold, First, each task has its own version of errno stored in its TCB. Understand also that an ISR which sets errno, will set the errno in the TCB of the task that was interrupted. Errno is only valid immediately after a call to a routine which could set it (or has a sub-routine which could set it). Calling a routine which has the ability to set errno and then checking the value of errno 20 lines further down in the code is not advisable, as an ISR could modify errno. Errno should be checked immediately upon receiving an ERROR status. Checking errno is only needed when an ERROR is indicated by the return status of a routine. This being said, users should implement returning a status on all their routines whenever there is a posibility of performing an alternate action in the routine. Errno itself should only get set at the lowest level of error / alternate processing. It should not get modified at each successive return up the stack, as it would lose its original context. As long as no return error status was indicated, the user can safely ignore the value of errno set by the routine. This does not mean though that somewhere else in the code a call was made which did not check the return status, and thus missed the needed errno setting. Or that an ISR set the value. This is why periodically looking at the errnos of all tasks via the console during development is a good thing. Dave Schmidt www.wrxrite.com "rs" wrote in message news:3E27B9A2.A3B7BDD5@impromptu.m.shuttle.de... > Dave, > > thank you for your answer! If the errno is set and the task seems to run without > fatal error, is there any guarantee that this will be so in the future? Or is > the errno indicating that the task may crash somewhere in the future? I myself > feel better if there is no errno set. > > Again thanks! > > Reinhold > > > > Dave Schmidt schrieb: > > > Albert, > > > > The first thing ine needs to know about "errno" is that just because it is > > set, does not mean that there was a fatal error, just that some "alternative > > action has occured", for example, a timeout on waiting on a message will > > set the "errno" to a TIMEOUT error. > > > > Tracing the cause of an "errno" setting is one method of determining the > > overall cause of a task "crash". Wind River support should be able to > > supply you with info on why the value "S_ioLib_UNKNOWN_REQUEST" gets set, > > although I doubt if this is the cause of your crash. > > > > If your system crashes in seemingly unrelated areas of the code, this > > usually points to some sort of overall system level integration issue. If > > on the other hand it always crashes when executing the same piece of code, > > then this would point to a task level issue. > > > > Again, just beacuse "errno" is set does not mean that your task has comitted > > an error, just that the code executed some "alternative" path through its > > processing. > > > > Dave > > > > "rs" wrote in message > > news:3E25AE3B.CB4CDE1F@impromptu.m.shuttle.de... > > > Hello, > > > > > > I have an embedded application which spawns a main task. The spawning is > > > successfull. But when running the application on the target I get > > > following message on the connected target-terminal when invoking i : > > > > > > -> i > > > > > > NAME ENTRY TID PRI STATUS PC > > > SP ERRNO DELAY > > > ... > > > tTest test 137e458 100 READY 149700 > > > 137a268 c0002 0 > > > > > > > > > ->printErrno( 0xc0002) > > > S_ioLib_UNKNOWN_REQUEST > > > value = 24 = 0x18 > > > -> > > > > > > There is an errno != 0 for the task tTest, although the taks is > > > running. Invoking functions of the task is errorfree until a specific > > > function is invoked. Then the task crashes. I have debugged the function > > > and found no error. Furthermore, when I compiled and downloaded my > > > application again, the task didn't crash at invoking this function but > > > runs errorfree, although the ERRNO on the terminal is the same as > > > before. > > > > > > An other application with a similar main task has errno 0x3d0001 = > > > S_objLib_OB_ID_ERROR. > > > That task is running fine and doesn't crash, regardless what the task is > > > doing. > > > > > > Why is there an errno != 0 on the terminal, although the task spawns > > > without error? What do the error numbers mean? Does anyone know? > > > > > > Thank you in advance! > > > > > > Albert > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: mesage queue Date: Fri, 17 Jan 2003 14:26:35 GMT From: "Dave Schmidt" Organization: WrxRite.com Message-ID: References: <54575a52.0301170242.62a607b@posting.google.com> Pradeep, Without seeing your structure that is being sent or the call to send it, it is hard to decide what exactly is going on. There are two possibilities I can think of immediately: 1) You are only passing a structure's address to be sent to the waiting task. In this case, when you free the memory, the data that was pointed to now becomes invalid, since other tasks (including the sender) can now allocate the same block of memory. 2) You are passing all the structure to be passed, but in your structure itself is some pointer to more memory that is freed up by the sender and thus made availble for allocating. In either case, there are a few simple "rules" when utilizing message queues: 1) Always keep the data passed short, there is overhead associated with copying the data in and out of the message queue. 2) Never pass anything larger than a pointer. 3) If passed a pointer, make sure the memory pointed to is reused/returned to sender/ free'd. Dave Schmidt www.wrxrite.com "pradeep" wrote in message news:54575a52.0301170242.62a607b@posting.google.com... > There are 2 tasks one is putting a structure variable in message queue, > and other is recieving from it. > the sequence of events are - > In task A > 1) sending the structure variable in the message queue. > 2) Free the memory corrosponding to that variable. > In Task B > 1) Recieving the data from the message queue, > > Problem is data in recieving is corrupted. > > if free is done . > data is recieved properly. > kindly tell me how msg queworks internally. > regards > pradeep --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PPC440 instruction cache Date: Fri, 17 Jan 2003 17:14:41 +0100 From: "Michael Lawnick" Organization: Buergernetz Dillingen Message-ID: References: <83b0d6d7.0301150741.35aab26e@posting.google.com> <83b0d6d7.0301160843.52f16959@posting.google.com> Reply-To: "Michael Lawnick" Sender: mlawnick@mail.kontron-applications.com Hi George, > Whether or not misses occur, and whether or not caching is inhibited, > will depend soley on the attributes and extent of that static TLB > mapping. > What is 'context null'? TLB-misses will not depend on attributes (WIMG or XWR), as for a match only the TID, TS and effective address are used. Duplicate entries with differences in the attributes only will crash the processor. The only static TLB you need is a TLB that maps the exception vector space and code with TS=0 as the CPU will set MSR[IS] to 0 - what I called 'context 0' - on all critical interrupts and page-table-misses. All other TLBs may be static or mapped via mmuLib on page-table-miss. Back to standard vxWorks setup: On USER_I_MMU_ENABLE=FALSE, MSR[IS] stays 0, even when executing user code. This reduces page-table-misses (now only on data accesses). This said, the OP may use the standard setup and disable cache in all TS=1 entries and he should be done. Ok now? Michael "Varndell Engineering" schrieb im Newsbeitrag news:k60g2vknt3a7uaesg0s4bs7aikcje7cn11@4ax.com... > On Fri, 17 Jan 2003 07:49:05 +0100, "Michael Lawnick" > wrote: > > >Hi Sangdil, > >> Create new TLBs that divide the RAM into instruction access space and > >> data access space. > >This is already done in the standard Ebony BSP. > > > >>. How do I set different translation space identifier for MSR[IS] and > >MSR[DS]? > >Use USER_D_MMU_ENABLE=TRUE and USER_I_MMU_ENABLE=FALSE in workspace or your > >project's config file. That's the preconfigured way. > > > >Doing that, instructions will run in context null, allways cached and no > >page table miss, but data is managed via mmuLib. Take care to have got an > >update of cacheALib.o and mmu440Lib.o, as WindDbg will behave erratic > >otherwise. > > If the 'instruction mmu' is disabled via Tornado configuration or in > config.h, the BSP must create static TLB mappings for execution space. > Whether or not misses occur, and whether or not caching is inhibited, > will depend soley on the attributes and extent of that static TLB > mapping. > What is 'context null'? I've not encountered that phrase before. > > Regards, > George Varndell > -- > Varndell Engineering, LLC. Embedded Systems Expertise > http://www.varndellengineering.com > > > > -----------== Posted via Newsfeed.Com - Uncensored Usenet News ==---------- > http://www.newsfeed.com The #1 Newsgroup Service in the World! > -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =----- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PPC440 instruction cache Date: Fri, 17 Jan 2003 11:56:16 -0500 From: Varndell Engineering Organization: Posted Via Newsfeeds.com = SPEED+RETENTION+COMPLETION = http://www.newsfeeds.com Message-ID: References: <83b0d6d7.0301150741.35aab26e@posting.google.com> <83b0d6d7.0301160843.52f16959@posting.google.com> On Fri, 17 Jan 2003 17:14:41 +0100, "Michael Lawnick" wrote: >Hi George, >> Whether or not misses occur, and whether or not caching is inhibited, >> will depend soley on the attributes and extent of that static TLB >> mapping. >> What is 'context null'? > >TLB-misses will not depend on attributes (WIMG or XWR), as for a match only >the TID, TS and effective address are used. Duplicate entries with >differences in the attributes only will crash the processor. Right, but whether or not I caching is inhibited will depend only on the attributes of the(se) static TLBs. My point was that your reply *seemed* (by virtute of not mentioning static TLBs) to imply that disabling the IMMU was all that would be required and that vxWorks would take care of the rest. This is not the case. vxWorks will not create static TLBs for you, much less make them not cache inhibited. And I maintain that TLB misses on instruction fetches can occur simply because the user is responsible for creating the static TLBs and users will be users. > >The only static TLB you need is a TLB that maps the exception vector space >and code with TS=0 as the CPU will set MSR[IS] to 0 - what I called 'context >0' - on all critical interrupts and page-table-misses. All other TLBs may be >static or mapped via mmuLib on page-table-miss. Again, you're correct; with the added caveat that one needs to worry a little about creating an intersection where 2 or more TLBs collide, which would yield the aforementioned crashing of the processor. > >Back to standard vxWorks setup: >On USER_I_MMU_ENABLE=FALSE, MSR[IS] stays 0, even when executing user code. >This reduces page-table-misses (now only on data accesses). >This said, the OP may use the standard setup and disable cache in all TS=1 >entries and he should be done. > >Ok now? Yep. Regards, George Varndell - -- Varndell Engineering, LLC. Embedded Systems Expertise http://www.varndellengineering.com - -----------== Posted via Newsfeed.Com - Uncensored Usenet News ==---------- http://www.newsfeed.com The #1 Newsgroup Service in the World! - -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =----- --------------------------- Newsgroups: comp.os.vxworks Subject: Replacing default IP stack Date: Fri, 17 Jan 2003 19:08:41 GMT From: jprugen@earthlink.net Organization: EarthLink Inc. -- http://www.EarthLink.net Message-ID: Sender: Jeff Rugen How easy/difficult is it to replace the default VxWorks IP stack with a different version (either from WindRiver or other)? What alternate products are easy to replace it with? I am working on a networking application that interfaces with the IP stack in less-used ways: we define some network interfaces that aren't actual network interfaces, but appear to be to the IP stack to reduce the amount of modifications we would otherwise need to do, and use some of the hooks defined in the VxWorks stack. We also added to the route.c code so we could route addresses that aren't stored in the tables that route.c uses (suprise, we route to the 'fake' interfaces). Most other changes/interfaces are trivial, but those would most likely take additional effort to rework. I'm specifically curious about adding some layer-2 protocol support (Bridging/Spanning tree support), as we probably want to support both IP and layer-2 protocols simultaneously. Any suggestions on COTS implementations of the layer-2 stuff that will easily interface with the default VxWorks stack, or combined stacks that will reasily replace the default VxWorks stack would be appreciated. - -- Jeff Rugen What if the Hokey Pokey is what its all about? --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Max Number of File Descriptors per TASK Date: Fri, 17 Jan 2003 21:02:50 +0000 From: Dimitrios Siganos Message-ID: <3e286e88$0$247$cc9e4d1f@news.dial.pipex.com> References: <3E285927.308@NOTnortelnetworks.com> File descriptors are global. Tasks do not own file descriptors as they do in normal O/Ss. A file opened by one task can be accessed by another. The maximum number of files open is determined by the constant NUM_FILES Dimitris Chris Richards wrote: > Hi, > > Can someone tell me if and where a per task limit on the number of file > descriptors is enforced. > > I see the maximum per device (maxFiles) but I get a DOS FS error when > any one task attempts to open > 31 FDs. > > But I cannot for the life of me see where this is checked or set/stored > per task. It's not in the TBC (TASK_DESC) and the only #def I can find > id FOPEN_MAX but that is never referenced either. > > fopen and fclose also do not appear to be checking/updating any per task > value. > > Is it stored on the task stack or somewhere wierd? > > Anyone got any ideas? > > Thanks, Chris. > --------------------------- Newsgroups: comp.os.vxworks Subject: problems with memory pool management with netBufLib Date: 17 Jan 2003 17:41:06 -0800 From: lliao@opvista.com (Liang) Organization: http://groups.google.com/ Message-ID: Can anyone tell me if there's anything wrong with the code below. I am getting "motSend: ERROR - pClBlk == NULL.\n" and "motSend: ERROR - pCl == NULL.\n" occasionally. (Should I allocate more blocks of memory in the motInitMem function?) Thank you so much. STATUS motSend( FEC_PROTO *pFecProto, BYTE * pBuf, int ulSize ) { M_BLK_ID pMblk = NULL; /* mBlock pointer */ CL_BLK_ID pClBlk = NULL; /* cluster block pointer */ char * pCl = NULL; /* a cluster pointer */ int i; pMblk = netMblkGet (pFecProto->pNetPool, M_DONTWAIT, MT_DATA); pClBlk = netClBlkGet(pFecProto->pNetPool, M_DONTWAIT); pCl = netClusterGet(pFecProto->pNetPool, pFecProto->pClPoolId); if ( pMblk == NULL || pClBlk == NULL || pCl == NULL ) { if ( pMblk == NULL ) trace(L1, "motSend: ERROR - pMblk == NULL.\n" ); if ( pClBlk == NULL ) trace(L1, "motSend: ERROR - pClBlk == NULL.\n" ); if ( pCl == NULL ) trace(L1, "motSend: ERROR - pCl == NULL.\n" ); goto motSendError; } for ( i = 0; i < ulSize; i++) pCl[i] = pBuf[i]; if ( netClBlkJoin(pClBlk, pCl, MOT_FEC_MAX_CL_LEN, NULL, 0, 0, 0) == NULL ) goto motSendError; if ( netMblkClJoin(pMblk, pClBlk) == NULL ) goto motSendError; /* see motFecReceive and motFecPktTransmit */ pMblk->mBlkHdr.mFlags |= M_PKTHDR; pMblk->mBlkHdr.mData = pCl; pMblk->mBlkHdr.mLen = ulSize; pMblk->mBlkPktHdr.len = pMblk->mBlkHdr.mLen; if ( muxSend(pFecProto->pEndObj, pMblk) != OK ) return ERROR; return OK; motSendError: if ( pCl != NULL ) netClFree(pFecProto->pNetPool, (unsigned char *)pCl); if ( pMblk != NULL ) netMblkFree (pFecProto->pNetPool, pMblk); if ( pClBlk != NULL ) netClBlkFree(pFecProto->pNetPool, pClBlk); return ERROR; } The memory pool init function is here. LOCAL STATUS motInitMem( FEC_PROTO *pFecProto ) { UINT32 clSize; /* temporary size holder */ UINT16 clNum; /* a buffer number holder */ M_CL_CONFIG mclBlkConfig = {0, 0, NULL, 0}; /* cluster blocks configuration */ CL_DESC clDescTbl [] = { {MOT_FEC_MAX_CL_LEN, 0, NULL, 0} }; /* cluster blocks config table */ int clDescTblNumEnt = (NELEMENTS (clDescTbl)); /* number of different clusters */ if ( (pFecProto->pNetPool = malloc( sizeof(NET_POOL) )) == NULL ) { trace(L1, "motInitMem: malloc failed.\n" ); return (ERROR); } /* * number of clusters, including loaning buffers, a min number * of transmit clusters for copy-mode transmit, and one transmit * cluster for polling operation. */ clNum = 80; /*MOT_FEC_BD_LOAN_NUM + 1 + MOT_FEC_TX_CL_NUM;*/ /* pool of mblks */ if (mclBlkConfig.mBlkNum == 0) mclBlkConfig.mBlkNum = clNum * 2; /* pool of clusters, including loaning buffers */ if (clDescTbl[0].clNum == 0) { clDescTbl[0].clNum = clNum; clDescTbl[0].clSize = MOT_FEC_MAX_CL_LEN; } /* there's a cluster overhead and an alignment issue */ clSize = (clNum * clDescTbl[0].clSize + (CL_OVERHEAD * clNum) + MOT_FEC_BD_ALIGN); clDescTbl[0].memSize = (clDescTbl[0].clNum * (clDescTbl[0].clSize + CL_OVERHEAD)); clDescTbl[0].memArea = (char *) (memalign (CL_ALIGNMENT, clSize)); if (clDescTbl[0].memArea == NULL) return (ERROR); /* pool of cluster blocks */ if (mclBlkConfig.clBlkNum == 0) mclBlkConfig.clBlkNum = clDescTbl[0].clNum; /* get memory for mblks */ if (mclBlkConfig.memArea == NULL) { /* memory size adjusted to hold the netPool pointer at the head */ mclBlkConfig.memSize = ((mclBlkConfig.mBlkNum * (M_BLK_SZ + MBLK_ALIGNMENT)) + (mclBlkConfig.clBlkNum * (CL_BLK_SZ + CL_ALIGNMENT))); mclBlkConfig.memArea = (char *) memalign (MBLK_ALIGNMENT, mclBlkConfig.memSize); if (mclBlkConfig.memArea == NULL) return (ERROR); } /* init the mem pool */ if (netPoolInit (pFecProto->pNetPool, &mclBlkConfig, &clDescTbl[0], clDescTblNumEnt, NULL) == ERROR) return (ERROR); if ((pFecProto->pClPoolId = netClPoolIdGet (pFecProto->pNetPool, MOT_FEC_MAX_CL_LEN, FALSE)) == NULL) return (ERROR); return OK; } --------------------------- Newsgroups: comp.os.vxworks Subject: ospf emulator/analyzer Date: Sat, 18 Jan 2003 04:40:11 GMT From: "Jim" Message-ID: Reply-To: "Jim" --------------------------- Newsgroups: comp.os.vxworks Subject: mesage queue Date: 17 Jan 2003 22:08:19 -0800 From: pradeeppatel77@yahoo.com (pradeep) Organization: http://groups.google.com/ Message-ID: <54575a52.0301172208.1229260a@posting.google.com> References: <54575a52.0301170242.62a607b@posting.google.com> hi Michael thanks > on msgQSend the data pointed to by char*msg is copied in the length of int > len bytes to msgQ buffer. > Maximum this data is read out on msgQReceive (could be less if len is to > short, rest of message is discarded then) > You have to two major ways: > a) send/receive contents of struct: > task A > struct bla data; > msgQSend(id, (char*)&data, sizeof(data),...); > task B > struct bla data; > msgQReceive(id, (char*)&data,sizeof(data),....); Looka a good solution and exactly the same i am doing. But my data variable comsist of unsigned char *dat; so i have to go for other solution i.e > b) send/receive a pointer to data > task A > struct bla *data; > data=malloc(sizeof(*data)); > msgQSend(id,(char*)data,sizeof(*data),...); > task B > struct bla *data; > msgQReceive(id, (char*)data,sizeof(*data),....); > free(data); the i feel i have to declere data as global or commen to the sender reciever task .can,t i have a solution where i can use 2 seperate variable, 1 in sender other in reciever, then does msgQReceive will copy the sender data to the reciever data. thanks in anticipation regards pradeep "Michael Lawnick" wrote in message news:... > Hi Pradeep, > > on msgQSend the data pointed to by char*msg is copied in the length of int > len bytes to msgQ buffer. > Maximum this data is read out on msgQReceive (could be less if len is to > short, rest of message is discarded then) > You have to two major ways: > a) send/receive contents of struct: > task A > struct bla data; > msgQSend(id, (char*)&data, sizeof(data),...); > task B > struct bla data; > msgQReceive(id, (char*)&data,sizeof(data),....); > > b) send/receive a pointer to data > task A > struct bla *data; > data=malloc(sizeof(*data)); > msgQSend(id,(char*)data,sizeof(*data),...); > task B > struct bla *data; > msgQReceive(id, (char*)data,sizeof(*data),....); > free(data); > > a) means 2 copies of data and a big msgQ, but a don't care about memory > fragmentation and buffer management > b) is fast but might fragment memory > If you know the maximum number of buffers you need, you could use b) with > preallocated structs, their pointers put into a msgQ. In task A you receive > the pointers and in task B you send them again. This is fast and avoids > fragmentation. > > HTH > Michael > > "pradeep" schrieb im Newsbeitrag > news:54575a52.0301170242.62a607b@posting.google.com... > > There are 2 tasks one is putting a structure variable in message queue, > > and other is recieving from it. > > the sequence of events are - > > In task A > > 1) sending the structure variable in the message queue. > > 2) Free the memory corrosponding to that variable. > > In Task B > > 1) Recieving the data from the message queue, > > > > Problem is data in recieving is corrupted. > > > > if free is done . > > data is recieved properly. > > kindly tell me how msg queworks internally. > > regards > > pradeep --------------------------- Newsgroups: comp.os.vxworks Subject: Re: change tNetQueue size Date: Sat, 18 Jan 2003 14:28:24 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: Reply-To: "Leonid Rosenboim" Judging by your question, I'd guess that you have hit the imfamous "ring overflow" problem. Increasing the ring size is not going to solve the problem, it will only reduce its likelyhood and frequency, but will not eliminate it entirely. Whatever you set the size to, it will be finite, and thus will overflow sooner or later. If you have the source code for the driver, you can simply create your own iNetTask and your own job queue to go with it, it is really simple stuff, elementary dear doctor. - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com "Jim" wrote in message news:yTTV9.25006$j5.114241@news... > Hi how do I change the tNetTask Queue size without having tNetTask source? > > Is it possible? > > Jim > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: change tNetQueue size Date: Sat, 18 Jan 2003 22:06:09 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: Reply-To: "Leonid Rosenboim" David, I disagree with you - there are cases when a user task needs a priority higher then the tNetTask. This is actually one of the reasons why tNetTask was invented in the first place - to separate all network related computation out of Interrupt context and into an easily identifiable task. When the application, is not a networking one, but a hard-realtime control application, yet it needs the network to perfor some less-critical task such as remote control or debugging. You would then make sure that the hard realtime (e.g. motor control) will hae higher priority than the network code, so the less-deterministic network behaviour does not impair the performance of the critical application. One example that comes to mind is a large digital printer, a CPU board running VxWorks is getting index interrupts from the rotating drum, and controls the laser and ink nozzles, so it needs to react quickly to an intex (tachometer) interrupt, and any latency in this reaction will "smear" or otherwise damage the printed image. The network is used to connect that processor to the PC running GUI and to other CPUs of the system, but is less time-critical than the rotating drum. - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com "Dave Schmidt" wrote in message news:dLcW9.35811$kH3.4933@sccrnsc03... > Jim, > > You don't say why you want / need to change the size. > > Most likely cause, from my experience, of why someone would want to change > the size of the queue is beacuse there is some user task of a higher > priority / ISR occuring that is taking up a lot of CPU time. Im my > experience, user tasks should not have a higher priority than tNetTask. > > (Remember the lower the priority number, the higher the overall system > priority) > > Overall, determining what the priorities should be for the tasks in your > system is an educated guess. Rules of thumb I use are: > > 1) Never make a user task have a priority higher than or equal to tNetTask. > 2) Arrange priorities according to overall system loading, i.e give the most > critical / most used interface the higher priority > 3) Arrange priorites to account for hardware bottlenecks, bursty input data > / etc. > > Determining priorites is an art, not a science. Using WindView can help in > determining where your code is spending the majority of its time, and thus > allow you to tweek the priorities accordingly. > > Dave Schmidt > www.wrxrite.com > > > "Jim" wrote in message > news:yTTV9.25006$j5.114241@news... > > Hi how do I change the tNetTask Queue size without having tNetTask source? > > > > Is it possible? > > > > Jim > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Floating Point Co-Processor Support Date: Sat, 18 Jan 2003 22:31:31 GMT From: "Paul Iannacito" Organization: AT&T Broadband Message-ID: <7BkW9.730800$P31.541404@rwcrnsc53> References: Tony, in no particular order, I have a few quick ideas on your inquiry. You may have already thought to look at these items, but just in case: * Do the "usual" algorithmic and data use analysis. Try loop-unrolling, organizing data for optimal cache use, blah, blah where useful. I'm sure you are on top of this bit. * Assuming that you are using a high-level language (like C), get an assembly listing for the code which seems to be taking longer than you were expecting. From this listing you will be able to see whether the compiler elected to implement the high-level calculations via FPU instructions or via calls to intrinsics supporting software emulation of the operations. You could also just check the compiler flags to determine whether or not you are explicitly instructing the compiler to use software floating point intrinsics. * Assuming that your code is using the FPU, make sure that all of the FPU exceptions are enabled and check out whether or not your code is generating FP exceptions for certain operations. For example, a denormal result might be used as inputs to some other arithmetic operation at the cost of some lost performance. If the denormal operand exception is masked in the FPU control word, you may not be aware that this is happening. * If you are using ANSI C (or some other lang which specifies how type conversions ought to work in this case), check for float-to-integer conversions in your code, as this has the potential to cost you performance in some cases. By default, the PIII FPU should be rounding floating-point values to the nearest integer (actually, you should check the FPU control word to see how VxWorks sets it up, just to make sure) but C-lang specifies that floats are converted to integers by rounding to zero. As a result, you _might_ find a little compiler intrinsic (or maybe compiler code generated inline) which does the following each time you convert a float to an int: - save the FPU control word - switch the rounding mode to "round to zero" / truncate - do the float-to-int conversion (us. FISTP instruction) - restore the FPU control word Again, an assembly listing might be useful for spotting stuff like this. * Since you are on PIII, SSE instructions can be used w/ reasonable ease in the Tornado 2.2 product. If it fits into the design parameters of your project and you really run out of options, you might investigate using SSE to improve the performance of many operations you are using the FPU for. Of course, the usual precautions w.r.t. portability and hand-coded assembly implementations apply. paul "Tony Johnson" wrote in message news:fd95e7e1.0301171204.443ebc70@posting.google.com... > Is their a means to determine if the co-processor is actually being > used > even though from our standpoint all of the flags and defines are > intact to utilze this feature on our Pentium 3 CPU? > > I ask this question because certain floating point calculations are > taking far longer than we would expect. Thanks. --------------------------- Newsgroups: comp.os.vxworks Subject: vxWorks- booting Date: 19 Jan 2003 03:44:25 -0800 From: p_san_gita@yahoo.com (Sangita.P) Organization: http://groups.google.com/ Message-ID: <2b535510.0301190344.381eb2fb@posting.google.com> hye all, i have a problem ,when i yam trying to build a vxWorks image with the bootable project i yam not able to the vxworks.st build along with the vxWorks.exe.It just remains the default one. Is there anything i need to modify such that i can VxWorks.st image also along with my vxWorks.exe With regards, P.Sangita. --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Mon Jan 20 00:15:59 2003 From: Atkinson Andrew Date: Mon Jan 20 00:16:00 PST 2003 Subject: FW: FTP Problem - > -----Original Message----- > From: Atkinson Andrew > Sent: 18 January 2003 16:35 > To: 'VxWorks Users Group' > Subject: FTP Problem - This mail is UNCLASSIFIED > Importance: High > > Hi > > I am experiencing a rather odd problem when using ftpXFer - see the code > snippet below: > > static STATUS getTPSDataFile (AMASS_INT_8 * pathname, AMASS_INT_8 * > filename) > { > AMASS_INT_8 tempBuffer[TPS_XFER_BUFFER_SIZE]; > > AMASS_INT_8 * copyFrom = NULL; > AMASS_INT_8 * copyTo = NULL; > > AMASS_INT_32 controlSocket = 0; > AMASS_INT_32 dataSocket = 0; > AMASS_INT_32 bytesRead = 0; > AMASS_INT_32 totalBytesRead = 0; > AMASS_INT_32 bytesAvailable = 0; > > STATUS status = ERROR; > > /* Tranfer the specified file from the remote machine */ > if ((status = ftpXfer ( TPS_FTP_HOST_NAME, > > TPS_FTP_USER_NAME, > > TPS_FTP_PASSWORD, > > TPS_FTP_ACCOUNT, > > "RETR %s", > "", > > "filename", > (int > *) &controlSocket, > (int > *) &dataSocket)) == ERROR) > { > status = ERROR; > > #ifdef GCCOP_TPS_DEBUG > logMsg ("FTP TRANSFER FAILED\n", 0, 0, 0, 0, 0, 0); > #endif > > } > else > { > /* Cannot see why this is required - but it won't work > without it ??? */ > taskDelay (sysClkRateGet () * 1); > > do > { > status = ioctl (dataSocket, FIONREAD, (AMASS_INT_32) > &bytesAvailable); > > #ifdef GCCOP_TPS_DEBUG > if (status == ERROR) > { > logMsg ("NO DATA AVAILABLE ON FTP DATA > SOCKET\n", 0, 0, 0, 0, 0, 0); > } > #endif > > if ((bytesAvailable > 0) && (status == OK)) > { > if (bytesAvailable > TPS_XFER_BUFFER_SIZE) > { > bytesAvailable = > TPS_XFER_BUFFER_SIZE; > } > > if ((bytesRead = recv (dataSocket, > (AMASS_INT_8 *) tempBuffer, bytesAvailable, 0)) == bytesAvailable) > { > /* Copy the data into our temporary > TPS data */ > copyTo = (AMASS_INT_8 *) > &tempTPSData + totalBytesRead; > copyFrom = tempBuffer; > > memcpy ((void *) copyTo, (const void > *) copyFrom, bytesRead); > > totalBytesRead += bytesRead; > > if (totalBytesRead > TPS_DATA_SIZE) > { > status = ERROR; > > #ifdef GCCOP_TPS_DEBUG > logMsg ("TOO MUCH DATA > RECIEVED ACROSS FTP LINK\n", 0, 0, 0, 0, 0, 0); > #endif > > } > } > else > { > /* Read has failed */ > status = ERROR; > > #ifdef GCCOP_TPS_DEBUG > logMsg ("READ FAILED ON FTP DATA > SOCKET\n", 0, 0, 0, 0, 0, 0); > #endif > > } > } > } while ((bytesAvailable > 0) && (status == OK)); > > if (totalBytesRead != TPS_DATA_SIZE) > { > /* Incorrect number of bytes read */ > status = ERROR; > } > > /* Check that the last FTP command has completed */ > if (ftpReplyGet (controlSocket, TRUE) != FTP_COMPLETE) > { > /* FTP command failed to complete */ > status = ERROR; > } > > /* Quit the FTP session */ > if (ftpCommand (controlSocket, "QUIT", 0, 0, 0, 0, 0, 0) != > FTP_COMPLETE) > { > /* Failed to quit */ > status = ERROR; > } > > /* Close the sockets */ > close (dataSocket); > close (controlSocket); > } > > return (status); > } > > According to the FTP server (wftpd32.exe) the file is ALWAYS successfully > retrieved and the FTP session completed. However, if I do not include the > delay after the ftpXFer then any attempt to read the data from the socket > fails. So, from the debugger I placed one breakpoint - on return (status) > at the end of the routine. With no delay, status = ERROR, with a delay (1 > second is the smallest I have tried) status = OK and the file is > successfully transferred. > > Can anyone shed any light on this - as far I can see my code largely > follows what is recommended in the VxWorks reference manual for ftpXFer. > The FTP server is happy that the file has been transferred, so I am at a > loss to see where things are going off the rails. > > Any help appreciated. > > Andy Atkinson > Software Engineer > Bldg 31a > QinetiQ, Bincleaves Technology Park > Weymouth > Dorset > DT4 8UR > > Tel : 01305 764660 > Fax : 01305 764661 > e-mail : AATKINSON1@QinetiQ.com > > vxworks > The Information contained in this E-Mail and any subsequent correspondence is private and is intended solely for the intended recipient(s). For those other than the recipient any disclosure, copying, distribution, or any action taken or omitted to be taken in reliance on such information is prohibited and may be unlawful. From vxwexplo-errs@csg.lbl.gov Mon Jan 20 00:43:16 2003 From: "David P Hidalgo" Date: Mon Jan 20 00:43:17 PST 2003 Subject: RE: Vx Exploder Digest > --------------------------- > > Newsgroups: comp.os.vxworks > Subject: vxWorks- booting > Date: 19 Jan 2003 03:44:25 -0800 > From: p_san_gita@yahoo.com (Sangita.P) > Organization: http://groups.google.com/ > Message-ID: <2b535510.0301190344.381eb2fb@posting.google.com> > > hye all, > > i have a problem ,when i yam trying to build a vxWorks image with the > bootable project i yam not able to the vxworks.st build along with > the vxWorks.exe.It just remains the default one. > Is there anything i need to modify such that i can VxWorks.st image > also along with my vxWorks.exe > > With regards, > P.Sangita. > You can try including the symbol table component with the Tornado tool: (development tool components > symbol table components > symbol table) in the bootable project. This generates a Vxworks image with the symbol table embedded. The generated file also is the one you must choose in the "Core File and Symbol" menu of the Target Server configuration. Hope it will be of use for you. *********************************************************************** Este correo es sólo informativo y por lo tanto no supone obligación contractual para CRISA. Si por error recibe usted este correo, por favor, informe al emisor por este mismo medio. Si no es usted el destinatario de este mensaje, no debe utilizarlo, archivarlo, copiarlo, imprimirlo o revelar su contenido a terceros. This email is for information only and will not bind CRISA S.A. in any contract or obligation, nor its subsidiaries. If you have received it in error, please notify the sender by return email. If you are not the addressee of this email, you must not use, keep, disseminate, copy, print or otherwise deal with it. *********************************************************************** From vxwexplo-errs@csg.lbl.gov Mon Jan 20 04:03:23 2003 From: Vxworks Exploder Date: Mon Jan 20 04:03:25 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Mon Jan 20 04:03:19 PST 2003 Subject: vxWorks- booting Subject: Re: Curious Problem with IBM NPe405L and vxWorks Subject: Re: [Q] the momory location of static variables and constant integer Subject: Re: mysterious task behaviour Subject: How to restart Ethernet driver? Subject: Re: PPC440 instruction cache Subject: Openssl Subject: about software upgrade for vxwork? Subject: taskDelay problem Subject: Re: mesage queue Subject: Re: [Q] the momory location of static variables and constant integer Subject: Re: PPC440 instruction cache Subject: ospf emulator/analyzer Subject: Re: Priority Inversion Subject: problems with sysMmuMapAdd() ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: vxWorks- booting Date: 19 Jan 2003 04:04:46 -0800 From: p_san_gita@yahoo.com (Sangita.P) Organization: http://groups.google.com/ Message-ID: <2b535510.0301190404.40f7385@posting.google.com> Hye all, I have a problem with vxWorks standalone.I want create an standalone systems and so i need the vxWorks.st image.But when i build my bootable project i able to generate only the vxWokrs.exe image.Right now my config\BSP(pcPentium ) has a default vxWorks.st and doesnot update itself on building my project. I realise that the STANDALONE flag needs to set in the usrConfig.c file inorder to creat a usrConfig_st.o module. If this is true, please let me know how i can go abt doing it. Is it that i need to change any build specifications for the same? Please let me know detalis on the same .Mail me at p_san_gita@yahoo.com Thank you, With regards, P.Sangita. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Curious Problem with IBM NPe405L and vxWorks Date: Sun, 19 Jan 2003 23:10:42 GMT From: Ricky West Organization: Road Runner - NC Message-ID: <3E2B2DC7.70805@nc.rr.com> References: <3E20D7B1.4070801@nc.rr.com> Ricky West wrote: > Lately, the project I have been working on has been seeing an > intermittent problem with the generation of a data access exception > and I wanted to post to the news group for some advice/comments. We > have been searching for the cause with visionIce and visionTrace using > singleStep with vision and have been stumped by the tools. Can't seem > to get them to work right in our enviornment and application. Such is > life. > > On with the story... > > The Setup... > > Configuration---Tornado 2.0.2 with some patches for dosFs2.0 and some > TMS stuff > Build Env---Windows 2000 > BSP---NPe405L from IBM for vxWorks windKernel 2.5 and vxWorks 5.4 > Options---INCLUDE_BASIC_MMU with both instruction and data MMU enabled > > The Problem... > > Various tasks blow up where the implicated code is in windLoadContext > just before the restoral of regs r3 and r4 but after the setting of > SRR0 and SRR1. This we have been able to determine using hardware > breakpoints set at the data access exception vector of 0x300. It just > so happens that the tasks that crash have TCBs that are aligned such > that the addresses storing the PC and the MSR for the task are in a > different 4K memory page than the addresses where regs r3 and r4 > stored. We have verified that external exceptions are disabled during > the load function, but both instruction and data TLB miss exceptions > are not. > > The Theory... > > We have not been able to trace the code using visionTrace, a real-time > trace option to the visionIce. But here goes with the theory based on > experience and educated guesses. We think that during the loading one > of the tasks that cross the 4k boundary is switched in but where the > page boundaries result in a data TLB miss after the SRR0 and SRR1 have > been restored. Since the TLB miss handler does the rfi rather than > the load context fcn, the contents of r3 and r4 are not restored from > the saved context of the task. > > The Questions... > > 1. Has anybody else seen something like this? > > 2. Does the switching of tasks for this BSP really happen outside of > exception handling? > > 3. Are there any other suggestions or theories to follow-up with. > > Thanks in advance, > > Ricky West > Hatteras Networks > > > We have found the answer to the problem. The theory as outlined above is in fact correct. The function windLoadContext() is called outside of an exception. The TLB miss is caused by the data access to restore registers r4 and r3 after setting up the SRR0 and SRR1 for the return. This happens since the TLB management code replaces the TLBs in a round robin fashion. Since the lower part of the TCB is used for scheduling, it tends to get loaded early; the upper part of the TCB gets loaded late. We patched the code to change to using SRR2 and SRR3 and rfci. This corrected the problem. This is not a desirable correction since we made the interrupt critical. Other solutions are possible, but we had to edt the .o directly using a binary editor. We couldn't steer to far away from the current code. This has been reported to WindRiver. By the way, this problem should affect all PPC cpus that have the MMU doing data relocation. Anyway, cheers....Ricky West --------------------------- Newsgroups: comp.os.vxworks Subject: Re: [Q] the momory location of static variables and constant integer Date: Mon, 20 Jan 2003 02:22:41 GMT From: David Organization: none Message-ID: References: In article , KimJeongHwan@lge.com says... > Hi, everyone > > Could you tell me memory section, "bss", "data", or etc., do the static > variables and > constant integers belong to ? > > > Thanks in advance > Kim > > > Constants belong to the .text section. Static variables will either be in .data or .bss depending if they are initialized or not. If they are initialized (example: static int var = 1;) then they will be in .data. If they are not initialized then they will be in .bss. ...david --------------------------- Newsgroups: comp.os.vxworks Subject: Re: mysterious task behaviour Date: 19 Jan 2003 16:58:17 -1000 From: Jim Thomas Organization: Canada France Hawai`i Telescope Message-ID: References: <3E25AE3B.CB4CDE1F@impromptu.m.shuttle.de> <3E27B9A2.A3B7BDD5@impromptu.m.shuttle.de> >>>>> "Dave" == Dave Schmidt writes: Dave> Errno is only valid immediately after a call to a routine which Dave> could set it (or has a sub-routine which could set it). Calling a Dave> routine which has the ability to set errno and then checking the Dave> value of errno 20 lines further down in the code is not advisable, Dave> as an ISR could modify errno. Errno should be checked immediately Dave> upon receiving an ERROR status. Checking errno is only needed when Dave> an ERROR is indicated by the return status of a routine. And "immediately upon receiving" is not soon enough. The whole thing is a bad race condition. If one gets unrepeatable errno values, one should only investigate the "usual" one - the others may well be from an ISR doing something for a different task. (Which of course probably needs investigating too - that one's much harder though. :-( Jim --------------------------- Newsgroups: comp.os.vxworks Subject: How to restart Ethernet driver? Date: Mon, 20 Jan 2003 04:51:06 GMT From: "XN" Message-ID: <_eLW9.44524$Gm2.925945@twister.rdc-kc.rr.com> Hi All, I got a problem with Ethernet driver. If Ethernet cable is not connected during the boot time, then the networks will not work even reconnet it until reboot. My question is, how can I put some code running in the background to check the network connection such that it can automatically connect without reboot. Thanks! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PPC440 instruction cache Date: 19 Jan 2003 21:28:14 -0800 From: smittal@cc.usu.edu (Sangdil) Organization: http://groups.google.com/ Message-ID: <83b0d6d7.0301192128.7dcbefd1@posting.google.com> References: <83b0d6d7.0301150741.35aab26e@posting.google.com> <83b0d6d7.0301160843.52f16959@posting.google.com> Hello George and Michael Thankks a lot for your valuable commenst on this issue. I was keeping a watch on your conversation . i will reiterate what I understand from your conversation. pls let me know if i am wrong. 1. Keep caches disabled in the Tornado IDE 2. turn off IMMU and turn on DMMU 3. make ICHAHE_MODE as COPY_BACK 4. configure the system RAM (which is also the execution space as cache copyback. the current TLB for this region looks like this: /* TLB #0. RAM 0 (cached) */ { 0x00000000, 0x0, 0x00000000, _MMU_TLB_TS_0 | _MMU_TLB_SZ_256M | _MMU_TLB_ATTR_W | _MMU_TLB_PERM_X | _MMU_TLB_PERM_W I have a IO space configured little endian which I use for sending data to a PCI device. It looks like : { 0x10000000, 0x0, 0x00000000, _MMU_TLB_TS_1 | _MMU_TLB_SZ_256M | _MMU_TLB_ATTR_I | _MMU_TLB_ATTR_E | _MMU_TLB_PERM_X | _MMU_TLB_PERM_W }, { 0x10000000, 0x0, 0x00000000, _MMU_TLB_TS_0 | _MMU_TLB_SZ_256M | _MMU_TLB_ATTR_I | _MMU_TLB_ATTR_E | _MMU_TLB_PERM_X | _MMU_TLB_PERM_W }, Rest all TLBs remain pretty much the default in Ebony BSP. I still dont understand how to implement context null TLB. How can I implement that. How do I test that ICache is on? In your view, how much performance boost should i expect with ICache on? I would like to thanks once again for your invaluable inputs to this issue Best Regards Sangdil Varndell Engineering wrote in message news:... > On Fri, 17 Jan 2003 17:14:41 +0100, "Michael Lawnick" > wrote: > > >Hi George, > >> Whether or not misses occur, and whether or not caching is inhibited, > >> will depend soley on the attributes and extent of that static TLB > >> mapping. > >> What is 'context null'? > > > >TLB-misses will not depend on attributes (WIMG or XWR), as for a match only > >the TID, TS and effective address are used. Duplicate entries with > >differences in the attributes only will crash the processor. > > Right, but whether or not I caching is inhibited will depend only on > the attributes of the(se) static TLBs. My point was that your reply > *seemed* (by virtute of not mentioning static TLBs) to imply that > disabling the IMMU was all that would be required and that vxWorks > would take care of the rest. This is not the case. vxWorks will > not create static TLBs for you, much less make them not cache > inhibited. And I maintain that TLB misses on instruction fetches > can occur simply because the user is responsible for creating the > static TLBs and users will be users. > > > > >The only static TLB you need is a TLB that maps the exception vector space > >and code with TS=0 as the CPU will set MSR[IS] to 0 - what I called 'context > >0' - on all critical interrupts and page-table-misses. All other TLBs may be > >static or mapped via mmuLib on page-table-miss. > > Again, you're correct; with the added caveat that one needs to worry > a little about creating an intersection where 2 or more TLBs collide, > which would yield the aforementioned crashing of the processor. > > > > >Back to standard vxWorks setup: > >On USER_I_MMU_ENABLE=FALSE, MSR[IS] stays 0, even when executing user code. > >This reduces page-table-misses (now only on data accesses). > >This said, the OP may use the standard setup and disable cache in all TS=1 > >entries and he should be done. > > > >Ok now? > > Yep. > > Regards, > George Varndell > -- > Varndell Engineering, LLC. Embedded Systems Expertise > http://www.varndellengineering.com > > > > -----------== Posted via Newsfeed.Com - Uncensored Usenet News ==---------- > http://www.newsfeed.com The #1 Newsgroup Service in the World! > -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =----- --------------------------- Newsgroups: comp.os.vxworks Subject: Openssl Date: 19 Jan 2003 22:17:49 -0800 From: gunnar.leitz@gmx.de (Gunnar Leitz) Organization: http://groups.google.com/ Message-ID: <777d3c36.0301192217.69c98a96@posting.google.com> Hi there, I'm trying to build OpenSSL 0.9.7 for VxWorks 5.4 on a PowerPC target. Host system is Win2K. Does anybody know how to configure the whole stuff and to set make into proper operation? The first run of the config script led to *x86 and NT platform*, which is wrong, of course. Thanks Gunnar --------------------------- Newsgroups: comp.os.vxworks Subject: about software upgrade for vxwork? Date: Mon, 20 Jan 2003 14:44:58 +0800 From: "Li-Hao Jeng" Organization: DCI HiNet Message-ID: Sir, Do you know how to upgrade software use console mode(RS232) ? Please give me advice! Thank you!! lihao --------------------------- Newsgroups: comp.os.vxworks Subject: taskDelay problem Date: 20 Jan 2003 00:23:43 -0800 From: mjcse@rediffmail.com (mjcse) Organization: http://groups.google.com/ Message-ID: Hi VxWorks Gurus, of late, I am facing a mysterious problem. On my board, when system clock is increased, all the tasks which executes taskDelay or nanoSleep delays forver. I mean they never come out of delay to ready state. Even if taskDelay is of 1 tick, the tasks delays forever. What could be the reason behind this? And how can this be rectified. Any help are suggestion will be greatly appreciated... Thanks and Regards, Shafie --------------------------- Newsgroups: comp.os.vxworks Subject: Re: mesage queue Date: Mon, 20 Jan 2003 09:24:47 +0100 From: "Michael Lawnick" Organization: Buergernetz Dillingen Message-ID: References: <54575a52.0301170242.62a607b@posting.google.com> <54575a52.0301172208.1229260a@posting.google.com> Reply-To: "Michael Lawnick" Sender: mlawnick@mail.kontron-applications.com > the i feel i have to declere data as global or commen to the sender > reciever task .can,t i have a solution where i can use 2 seperate > variable, 1 in sender other in reciever, then does msgQReceive will > copy the sender data to the reciever data. I feel, you first should learn the C-language and next read the manuals of vxWorks :-( Example A would be the solution along the needs described above. #define SOME_LENGTH 012345678 task A char *data; data = malloc(SOME_LENGTH); msgQSend(id, data, SOME_LENGTH,...); task B char *data; data = malloc(some_length); msgQReceive(id, data,SOME_LENGTH,....); If this doesn't help, learn 'C' first ... Michael "pradeep" schrieb im Newsbeitrag news:54575a52.0301172208.1229260a@posting.google.com... > hi Michael > thanks > > > on msgQSend the data pointed to by char*msg is copied in the length of int > > len bytes to msgQ buffer. > > Maximum this data is read out on msgQReceive (could be less if len is to > > short, rest of message is discarded then) > > You have to two major ways: > > a) send/receive contents of struct: > > task A > > struct bla data; > > msgQSend(id, (char*)&data, sizeof(data),...); > > task B > > struct bla data; > > msgQReceive(id, (char*)&data,sizeof(data),....); > Looka a good solution > and exactly the same i am doing. > But my data variable comsist of unsigned char *dat; > so i have to go for other solution > i.e > > b) send/receive a pointer to data > > task A > > struct bla *data; > > data=malloc(sizeof(*data)); > > msgQSend(id,(char*)data,sizeof(*data),...); > > task B > > struct bla *data; > > msgQReceive(id, (char*)data,sizeof(*data),....); > > free(data); > the i feel i have to declere data as global or commen to the sender > reciever task .can,t i have a solution where i can use 2 seperate > variable, 1 in sender other in reciever, then does msgQReceive will > copy the sender data to the reciever data. > thanks in anticipation > regards > pradeep > > "Michael Lawnick" wrote in message news:... > > Hi Pradeep, > > > > on msgQSend the data pointed to by char*msg is copied in the length of int > > len bytes to msgQ buffer. > > Maximum this data is read out on msgQReceive (could be less if len is to > > short, rest of message is discarded then) > > You have to two major ways: > > a) send/receive contents of struct: > > task A > > struct bla data; > > msgQSend(id, (char*)&data, sizeof(data),...); > > task B > > struct bla data; > > msgQReceive(id, (char*)&data,sizeof(data),....); > > > > b) send/receive a pointer to data > > task A > > struct bla *data; > > data=malloc(sizeof(*data)); > > msgQSend(id,(char*)data,sizeof(*data),...); > > task B > > struct bla *data; > > msgQReceive(id, (char*)data,sizeof(*data),....); > > free(data); > > > > a) means 2 copies of data and a big msgQ, but a don't care about memory > > fragmentation and buffer management > > b) is fast but might fragment memory > > If you know the maximum number of buffers you need, you could use b) with > > preallocated structs, their pointers put into a msgQ. In task A you receive > > the pointers and in task B you send them again. This is fast and avoids > > fragmentation. > > > > HTH > > Michael > > > > "pradeep" schrieb im Newsbeitrag > > news:54575a52.0301170242.62a607b@posting.google.com... > > > There are 2 tasks one is putting a structure variable in message queue, > > > and other is recieving from it. > > > the sequence of events are - > > > In task A > > > 1) sending the structure variable in the message queue. > > > 2) Free the memory corrosponding to that variable. > > > In Task B > > > 1) Recieving the data from the message queue, > > > > > > Problem is data in recieving is corrupted. > > > > > > if free is done . > > > data is recieved properly. > > > kindly tell me how msg queworks internally. > > > regards > > > pradeep --------------------------- Newsgroups: comp.os.vxworks Subject: Re: [Q] the momory location of static variables and constant integer Date: 20 Jan 2003 00:30:48 -0800 From: vdalal@hotmail.com (Vasu Dalal) Organization: http://groups.google.com/ Message-ID: <363d071b.0301200030.1434a802@posting.google.com> References: Hello: > > Could you tell me memory section, "bss", "data", or etc., do the static > > variables and > > constant integers belong to ? > > > > > > Constants belong to the .text section. > > Static variables will either be in .data or .bss depending if they are > initialized or not. If they are initialized (example: static int var = > 1;) then they will be in .data. If they are not initialized then they > will be in .bss. To add more to what was said earlier... Use the "size" command. man size on Unix/Linux. For example for a Power PC (8260) BSP, the command is: sizeppc - -> sizeppc vxWorks This will give u a listing of the size of each of the sections for the image with filename "vxWorks". hth, vasu --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PPC440 instruction cache Date: Mon, 20 Jan 2003 09:48:08 +0100 From: "Michael Lawnick" Organization: Buergernetz Dillingen Message-ID: References: <83b0d6d7.0301150741.35aab26e@posting.google.com> <83b0d6d7.0301160843.52f16959@posting.google.com> Reply-To: "Michael Lawnick" Sender: mlawnick@mail.kontron-applications.com Hi George, > This is not the case. vxWorks will > not create static TLBs for you, much less make them not cache > inhibited. Don't know what BSP You have, but in my Ebony BSP there is a sysStaticTlbDesc that sets up the static entries. Only the entries in sysPhysMemDesc (SDRAM and SRAM for DS/IS=1) will be managed by mmuLib. I'm not sure about cacheDisable() currently, might be it disables both, static and dynamic entries. It has a bug anyway (only callable with MSR[DS/IS]=0). This is only true in VxWorks-context, but not within bootrom-context. Regards, Michael "Varndell Engineering" schrieb im Newsbeitrag news:i9cg2vsp7mjfcqpu76fafrae0c6mtgjb6u@4ax.com... > On Fri, 17 Jan 2003 17:14:41 +0100, "Michael Lawnick" > wrote: > > >Hi George, > >> Whether or not misses occur, and whether or not caching is inhibited, > >> will depend soley on the attributes and extent of that static TLB > >> mapping. > >> What is 'context null'? > > > >TLB-misses will not depend on attributes (WIMG or XWR), as for a match only > >the TID, TS and effective address are used. Duplicate entries with > >differences in the attributes only will crash the processor. > > Right, but whether or not I caching is inhibited will depend only on > the attributes of the(se) static TLBs. My point was that your reply > *seemed* (by virtute of not mentioning static TLBs) to imply that > disabling the IMMU was all that would be required and that vxWorks > would take care of the rest. This is not the case. vxWorks will > not create static TLBs for you, much less make them not cache > inhibited. And I maintain that TLB misses on instruction fetches > can occur simply because the user is responsible for creating the > static TLBs and users will be users. > > > > >The only static TLB you need is a TLB that maps the exception vector space > >and code with TS=0 as the CPU will set MSR[IS] to 0 - what I called 'context > >0' - on all critical interrupts and page-table-misses. All other TLBs may be > >static or mapped via mmuLib on page-table-miss. > > Again, you're correct; with the added caveat that one needs to worry > a little about creating an intersection where 2 or more TLBs collide, > which would yield the aforementioned crashing of the processor. > > > > >Back to standard vxWorks setup: > >On USER_I_MMU_ENABLE=FALSE, MSR[IS] stays 0, even when executing user code. > >This reduces page-table-misses (now only on data accesses). > >This said, the OP may use the standard setup and disable cache in all TS=1 > >entries and he should be done. > > > >Ok now? > > Yep. > > Regards, > George Varndell > -- > Varndell Engineering, LLC. Embedded Systems Expertise > http://www.varndellengineering.com > > > > -----------== Posted via Newsfeed.Com - Uncensored Usenet News ==---------- > http://www.newsfeed.com The #1 Newsgroup Service in the World! > -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =----- --------------------------- Newsgroups: comp.os.vxworks Subject: ospf emulator/analyzer Date: Sat, 18 Jan 2003 04:40:31 GMT From: "Jim" Message-ID: <3V4W9.91264$pDv.83404@news04.bloor.is.net.cable.rogers.com> Reply-To: "Jim" Hi, I am looking for OSPF testing software and/or equipment (emulator and analyzer). Can anyone make recommendation. Thank you Jim --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Priority Inversion Date: 20 Jan 2003 01:45:50 -0800 From: mjcse@rediffmail.com (mjcse) Organization: http://groups.google.com/ Message-ID: References: <8400a733.0212270450.7c8b7d40@posting.google.com> Hi, Demrala, Bill, Rosenboim, Toni... & others who have spent a time in reading and responding to my question about priority invesion: Thanks a lot, that's all I could say. With all the inputs I got from you people, I could understand the concept and theory behind priority inversion. But I am still confused whether it is helpful to use in real time application. Or is there any side effects? Can you please tell me if it really helps in increasing overall performance in general? In that case I can use it VxWorks mutex semaphore. Waiting for your response, Thanks & Regards, Shafie gonozal@gmx.at (Toni Kurzberger) wrote in message news:<8400a733.0212270450.7c8b7d40@posting.google.com>... > Hi, > this is nothign specific to vxWorks, but general to OS theory. In > short: > Imagine a high priority task/process requires a ressource currently > held by a low priority task/process. This will clearly put you into > some kind of trouble, as a medium priority task/process could run, > which would starve all CPU time from the low priority task/process, > effectivly blocking the high priority task/process. > Spoecific to vxWokrs, Mutex Semaphores supply an option, Inversion > Safe. Using this, the scheduler would temporarily increase the > priority of the low priority task/process to the priority of the high > prioirity task/process. It would therefore keep the high prioirty > task/process from starving. > toni --------------------------- Newsgroups: comp.os.vxworks Subject: problems with sysMmuMapAdd() Date: Mon, 20 Jan 2003 12:22:33 +0100 From: "Fabio Garufi" Organization: MC-link S.p.A. Message-ID: Hi all, I am trying to install a grabber PMC board on a Intel Pentium III cPCI (VMICPCI 7755) board under Tornado 2.0.2, VxWorks 5.4.2. The board is seen by the pciDeviceShow and pciHeaderShow functions: it opens three memory prefetchable regions: 0xf4400000 64K wide 0xf4800000 4M 0xf44800000 512K The problem arises when I try to access this memory, I get a page fault whatever the window I try to access both in reading and writing. modified the $(WIN_BASE)/target/config/vmicpci7755/sysLib.c by adding a function that adds the memory regions to MMU Map (see below). When I call the function from within sysHwInit() the system does not complete the boot and freezes, while if I call it from sysHwInit2() I do not obtain any change. Apparently it freezes on sysMmuMapAdd(). Any help? Thanks all in advance. Here follows the function code: ================================== #ifdef INCLUDE_M503 #define M503_VEND_ID xxxx #define M503_DEV_ID yyyy STATUS sysM503PciInit() /* sysM503PciInit */ { UINT32 bar[6], mem[6], enc[6]; UINT size, mask; int bus, dev, func, i; UINT16 data; for (i=0; i<6;i++)/* loop on units */ { if(pciFindDevice (M503_VEND_ID, M503_DEV_ID, i, &bus, &dev, &func) != OK) break; /* get memory base address and IO base address */ pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_0, &bar[i]); pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1, &mem[i]); pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_2, &enc[i]); bar[i] &= PCI_MEMBASE_MASK; mem[i] &= PCI_MEMBASE_MASK; enc[i] &= PCI_MEMBASE_MASK; /* find out the memory space requirements of this BAR */ pciConfigOutLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1, 0xffffffff); pciConfigInLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1,&mask); size=~(mask&PCI_MEMBASE_MASK)+1; /* restore original value */ pciConfigOutLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1, mem[i]); /* Read back value, it could be changed */ pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1, &mem[i]); mem[i] &=PCI_MEMBASE_MASK; if (sysMmuMapAdd((void *)&bar[i],0x10000,VM_STATE_MASK_FOR_ALL,VM_STATE_FOR_PCI) == ERROR) break; if (sysMmuMapAdd((void *)&mem[i],size,VM_STATE_MASK_FOR_ALL,VM_STATE_FOR_PCI) == ERROR) break; pciConfigOutWord (bus, dev, func, PCI_CFG_COMMAND, PCI_CMD_IO_ENABLE | PCI_CMD_MEM_ENABLE | PCI_CMD_MASTER_ENABLE); } /* end loop on units */ return (OK); } #endif /* INCLUDE_M503 */ - -- - ------------------------------------------------------------------------ ** Dr. Fabio Garufi ** Software Manager ** ** ELE.SI.A. S.r.l. ** ISO 9001 CERTIFIED ** Tel. +39.0774.3653.227 / Fax +39.0774.3653.300 ** http://www.elesia.it - ------------------------------------------------------------------------ --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Mon Jan 20 21:42:14 2003 From: "=?gb2312?B?wO6wvw==?=" Date: Mon Jan 20 21:42:15 PST 2003 Subject: help, if somebody has experienced this problem of starting Tornado debuging? I am a bsp developer,now,i meet a problem of Tornado debugging,it look like: after bsp start and download the VxWorks img ,I run the Tornado and start a target server,I want debug my program through wdb rpc mode,the target server register well,and I can ping the target well,even i can start the shell in Tornado through this target server ,all look like normal,but when start the Tornado debuging,the Tornado report "unable to connect the target,error:connect to target server...,Could not reach target :EXCHANGE_BAD_KEY",is there somebody know why,whether my bsp configuration is error or some other reason ! Thanks! From vxwexplo-errs@csg.lbl.gov Tue Jan 21 04:03:17 2003 From: Vxworks Exploder Date: Tue Jan 21 04:03:18 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Tue Jan 21 04:03:13 PST 2003 Subject: Measuring Context Switch time Subject: Re: problems with sysMmuMapAdd() Subject: Re: How to restart Ethernet driver? Subject: Re: problems with sysMmuMapAdd() Subject: Howto:Calculating context switch time? Subject: Re: Measuring Context Switch time Subject: How to create a socket in VB for vxWorks?? Subject: Re: FW: FTP Problem - Subject: Help ,,,,,,,for custom dependencies Subject: Re: problems with sysMmuMapAdd() Subject: Re: about software upgrade for vxwork? Subject: Re: taskDelay problem Subject: To Cache or Not to Cache - Buffers and BD's Subject: Re: How to restart Ethernet driver? Subject: Re: about software upgrade for vxwork? Subject: Re: To Cache or Not to Cache - Buffers and BD's Subject: Re: PPP implementation on VxWorks Subject: Re: How to create a socket in VB for vxWorks?? Subject: Re: taskDelay problem Subject: Sample program Subject: Re: To Cache or Not to Cache - Buffers and BD's Subject: sample program Subject: Re: about software upgrade for vxwork? Subject: DosFs long name ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Measuring Context Switch time Date: 20 Jan 2003 05:30:20 -0800 From: neeraj_ire@rediffmail.com (Caliph) Organization: http://groups.google.com/ Message-ID: <92111798.0301200530.6a6c3f3f@posting.google.com> I wonder if there is a way to calculate how much time it takes to context switch? How do we measure it in real time? Thanks in advance --------------------------- Newsgroups: comp.os.vxworks Subject: Re: problems with sysMmuMapAdd() Date: Mon, 20 Jan 2003 14:23:11 +0100 From: "Michael Lawnick" Organization: Buergernetz Dillingen Message-ID: References: Reply-To: "Michael Lawnick" Sender: mlawnick@mail.kontron-applications.com Hi Fabio, is this a BIOS-less system? If it has a BIOS, you don't need the initialisation, sysMmuMapAdd() may even crash on duplicate initialisation! Do you have additional PCI-H/W on system? If yes, please check whether it is accessable under the address you read from their BARs. In my PC-BSPs the BAR-addresses are the access-addresses, but e.g. for PPC it isn't at all. You have to do a conversion there. So the idea is, that you might have to do it for your particular system too. Check whether there is an additional PCI2PCI-bridge between your PC and your card. That might result in conversion too. HTH Michael "Fabio Garufi" schrieb im Newsbeitrag news:b0gm5q$9tj$1@newsreader1.mclink.it... > Hi all, > I am trying to install a grabber PMC board on a Intel Pentium III cPCI > (VMICPCI 7755) board under Tornado 2.0.2, VxWorks 5.4.2. > The board is seen by the pciDeviceShow and pciHeaderShow functions: it opens > three memory prefetchable regions: > 0xf4400000 64K wide > 0xf4800000 4M > 0xf44800000 512K > The problem arises when I try to access this memory, I get a page fault > whatever the window I try to access both in reading and writing. > modified the $(WIN_BASE)/target/config/vmicpci7755/sysLib.c by adding a > function that adds the memory regions to MMU Map (see below). When I call > the function from within sysHwInit() the system does not complete the boot > and freezes, while if I call it from sysHwInit2() I do not obtain any > change. > Apparently it freezes on sysMmuMapAdd(). > Any help? > Thanks all in advance. > > Here follows the function code: > ================================== > #ifdef INCLUDE_M503 > > #define M503_VEND_ID xxxx > #define M503_DEV_ID yyyy > STATUS sysM503PciInit() > /* sysM503PciInit */ > { > UINT32 bar[6], mem[6], enc[6]; > UINT size, mask; > int bus, dev, func, i; > UINT16 data; > for (i=0; i<6;i++)/* loop on units */ > { > if(pciFindDevice (M503_VEND_ID, M503_DEV_ID, i, &bus, &dev, &func) != > OK) > break; > /* get memory base address and IO base address */ > > pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_0, &bar[i]); > pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1, &mem[i]); > pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_2, &enc[i]); > bar[i] &= PCI_MEMBASE_MASK; > mem[i] &= PCI_MEMBASE_MASK; > enc[i] &= PCI_MEMBASE_MASK; > /* find out the memory space requirements of this BAR */ > > pciConfigOutLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1, 0xffffffff); > pciConfigInLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1,&mask); > size=~(mask&PCI_MEMBASE_MASK)+1; > /* restore original value */ > pciConfigOutLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1, mem[i]); > /* Read back value, it could be changed */ > pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1, &mem[i]); > mem[i] &=PCI_MEMBASE_MASK; > > if (sysMmuMapAdd((void > *)&bar[i],0x10000,VM_STATE_MASK_FOR_ALL,VM_STATE_FOR_PCI) > == ERROR) > break; > if (sysMmuMapAdd((void > *)&mem[i],size,VM_STATE_MASK_FOR_ALL,VM_STATE_FOR_PCI) > == ERROR) > break; > pciConfigOutWord (bus, dev, func, > PCI_CFG_COMMAND, PCI_CMD_IO_ENABLE | > PCI_CMD_MEM_ENABLE | PCI_CMD_MASTER_ENABLE); > } /* end loop on units */ > return (OK); > } > #endif /* INCLUDE_M503 */ > > -- > ------------------------------------------------------------------------ > ** Dr. Fabio Garufi > ** Software Manager > ** > ** ELE.SI.A. S.r.l. > ** ISO 9001 CERTIFIED > ** Tel. +39.0774.3653.227 / Fax +39.0774.3653.300 > ** http://www.elesia.it > ------------------------------------------------------------------------ > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to restart Ethernet driver? Date: Mon, 20 Jan 2003 08:59:53 -0500 From: Varndell Engineering Organization: Posted Via Newsfeeds.com = SPEED+RETENTION+COMPLETION = http://www.newsfeeds.com Message-ID: References: <_eLW9.44524$Gm2.925945@twister.rdc-kc.rr.com> On Mon, 20 Jan 2003 04:51:06 GMT, "XN" wrote: >Hi All, > >I got a problem with Ethernet driver. If Ethernet cable is not connected >during the boot time, then the networks will not work even reconnet it until >reboot. > >My question is, how can I put some code running in the background to check >the network connection such that it can automatically connect without >reboot. The best, and probably easiest, solution is to fix the driver itself. Attempting to overcome this driver deficiency by any other means could be very time consuming and may not be practical. If there is no way to enable an interrupt that signals link status change, then if the link is not up when the driver starts, start a recurrent watchdog function to detect link status change. Of course, the exact details of this will depend on the device you're using. Which device is it? Regards, George Varndell - -----------== Posted via Newsfeed.Com - Uncensored Usenet News ==---------- http://www.newsfeed.com The #1 Newsgroup Service in the World! - -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =----- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: problems with sysMmuMapAdd() Date: Mon, 20 Jan 2003 16:15:41 +0100 From: "Fabio Garufi" Organization: MC-link S.p.A. Message-ID: References: Hi, Michael, 1) no, the system has a bios. The problem is that when I try to access the memory regions as read from the BARs (i.e. those given bu the pciHeaderShow function), I get the page fault (it is also what the original driver did and the reason why I rose the question). That's why I tried to add the region to MMU map, that , BTW, it's also what is done by other drivers, e.g. net drivers. Actually I copied the initialisation function from a GB Ethernet card I installed and that, only after installation is accessable through its BAR, not before. 2) Yes, there is a PCI2PCI bridge, but the card is on the Internal PCI bus 1, so I shouldn't pass through it. Thanks, Fabio - -- - ------------------------------------------------------------------------ ** Dr. Fabio Garufi ** Software Manager ** ** ELE.SI.A. S.r.l. ** ISO 9001 CERTIFIED ** Tel. +39.0774.3653.227 / Fax +39.0774.3653.300 ** http://www.elesia.it - ------------------------------------------------------------------------ "Michael Lawnick" ha scritto nel messaggio news:b0gt7t$408$1@snoopy.bndlg.de... > Hi Fabio, > > is this a BIOS-less system? If it has a BIOS, you don't need the > initialisation, sysMmuMapAdd() may even crash on duplicate initialisation! > Do you have additional PCI-H/W on system? If yes, please check whether it is > accessable under the address you read from their BARs. In my PC-BSPs the > BAR-addresses are the access-addresses, but e.g. for PPC it isn't at all. > You have to do a conversion there. So the idea is, that you might have to do > it for your particular system too. > Check whether there is an additional PCI2PCI-bridge between your PC and your > card. That might result in conversion too. > > HTH > Michael > > "Fabio Garufi" schrieb im Newsbeitrag > news:b0gm5q$9tj$1@newsreader1.mclink.it... > > Hi all, > > I am trying to install a grabber PMC board on a Intel Pentium III cPCI > > (VMICPCI 7755) board under Tornado 2.0.2, VxWorks 5.4.2. > > The board is seen by the pciDeviceShow and pciHeaderShow functions: it > opens > > three memory prefetchable regions: > > 0xf4400000 64K wide > > 0xf4800000 4M > > 0xf44800000 512K > > The problem arises when I try to access this memory, I get a page fault > > whatever the window I try to access both in reading and writing. > > modified the $(WIN_BASE)/target/config/vmicpci7755/sysLib.c by adding a > > function that adds the memory regions to MMU Map (see below). When I call > > the function from within sysHwInit() the system does not complete the boot > > and freezes, while if I call it from sysHwInit2() I do not obtain any > > change. > > Apparently it freezes on sysMmuMapAdd(). > > Any help? > > Thanks all in advance. > > > > Here follows the function code: > > ================================== > > #ifdef INCLUDE_M503 > > > > #define M503_VEND_ID xxxx > > #define M503_DEV_ID yyyy > > STATUS sysM503PciInit() > > /* sysM503PciInit */ > > { > > UINT32 bar[6], mem[6], enc[6]; > > UINT size, mask; > > int bus, dev, func, i; > > UINT16 data; > > for (i=0; i<6;i++)/* loop on units */ > > { > > if(pciFindDevice (M503_VEND_ID, M503_DEV_ID, i, &bus, &dev, &func) != > > OK) > > break; > > /* get memory base address and IO base address */ > > > > pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_0, &bar[i]); > > pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1, &mem[i]); > > pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_2, &enc[i]); > > bar[i] &= PCI_MEMBASE_MASK; > > mem[i] &= PCI_MEMBASE_MASK; > > enc[i] &= PCI_MEMBASE_MASK; > > /* find out the memory space requirements of this BAR */ > > > > pciConfigOutLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1, 0xffffffff); > > pciConfigInLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1,&mask); > > size=~(mask&PCI_MEMBASE_MASK)+1; > > /* restore original value */ > > pciConfigOutLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1, mem[i]); > > /* Read back value, it could be changed */ > > pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1, &mem[i]); > > mem[i] &=PCI_MEMBASE_MASK; > > > > if (sysMmuMapAdd((void > > *)&bar[i],0x10000,VM_STATE_MASK_FOR_ALL,VM_STATE_FOR_PCI) > > == ERROR) > > break; > > if (sysMmuMapAdd((void > > *)&mem[i],size,VM_STATE_MASK_FOR_ALL,VM_STATE_FOR_PCI) > > == ERROR) > > break; > > pciConfigOutWord (bus, dev, func, > > PCI_CFG_COMMAND, PCI_CMD_IO_ENABLE | > > PCI_CMD_MEM_ENABLE | PCI_CMD_MASTER_ENABLE); > > } /* end loop on units */ > > return (OK); > > } > > #endif /* INCLUDE_M503 */ > > > > -- > > ------------------------------------------------------------------------ > > ** Dr. Fabio Garufi > > ** Software Manager > > ** > > ** ELE.SI.A. S.r.l. > > ** ISO 9001 CERTIFIED > > ** Tel. +39.0774.3653.227 / Fax +39.0774.3653.300 > > ** http://www.elesia.it > > ------------------------------------------------------------------------ > > > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Howto:Calculating context switch time? Date: 20 Jan 2003 07:49:55 -0800 From: neeraj_ire@rediffmail.com (Caliph) Organization: http://groups.google.com/ Message-ID: <92111798.0301200749.159f6c8d@posting.google.com> Is there any Way I can use toi calculate or measure the context switch time in VxWorks. Thanks in advance --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Measuring Context Switch time Date: Mon, 20 Jan 2003 08:41:48 -0800 From: "Dan Gold" Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: References: <92111798.0301200530.6a6c3f3f@posting.google.com> Sender: gold@ensemble.com "Caliph" wrote in message news:92111798.0301200530.6a6c3f3f@posting.google.com... > I wonder if there is a way to calculate how much time it takes to > context switch? How do we measure it in real time? I believe you can get that from Windview, IIRC. I also use CodeTEST from AMC (now Metrowerks). As far as calculating it in real-time, does it matter ? Chances are you're saving and restoring the same context for each task (maybe FP regs are different, but overall...) hth, Dan Gold gold@ensemble.com --------------------------- Newsgroups: comp.os.vxworks Subject: How to create a socket in VB for vxWorks?? Date: Mon, 20 Jan 2003 17:38:53 GMT From: "Derek Christie" Organization: Aliant Internet Message-ID: Need to know how to send an ip and open port to the set top box in Visual Basic 6 and to receive a confirmation message. Help would be much appreciated. Thanks, Derek --------------------------- Newsgroups: comp.os.vxworks Subject: Re: FW: FTP Problem - Date: 20 Jan 2003 11:27:41 -0800 From: norealid2003@yahoo.com (msafar) Organization: http://groups.google.com/ Message-ID: <647914ce.0301201127.77a083be@posting.google.com> References: From the first sight the line if ((bytesAvailable > 0) && (status == OK)) looks suspicious. You are creating a TCP connection - it takes some time for the handshake to finish up and also there is quite an exchange inside the ftpXfer. By inserting the delay you giving it some time to start. I think what you see is bytesAvailable = 0 and status = OK. You can simply block on recv (?). msafar Atkinson Andrew wrote in message news:... > > -----Original Message----- > > From: Atkinson Andrew > > Sent: 18 January 2003 16:35 > > To: 'VxWorks Users Group' > > Subject: FTP Problem - This mail is UNCLASSIFIED > > Importance: High > > > > Hi > > > > I am experiencing a rather odd problem when using ftpXFer - see the code > > snippet below: > > > > static STATUS getTPSDataFile (AMASS_INT_8 * pathname, AMASS_INT_8 * > > filename) > > { > > AMASS_INT_8 tempBuffer[TPS_XFER_BUFFER_SIZE]; > > > > AMASS_INT_8 * copyFrom = NULL; > > AMASS_INT_8 * copyTo = NULL; > > > > AMASS_INT_32 controlSocket = 0; > > AMASS_INT_32 dataSocket = 0; > > AMASS_INT_32 bytesRead = 0; > > AMASS_INT_32 totalBytesRead = 0; > > AMASS_INT_32 bytesAvailable = 0; > > > > STATUS status = ERROR; > > > > /* Tranfer the specified file from the remote machine */ > > if ((status = ftpXfer ( TPS_FTP_HOST_NAME, > > > > TPS_FTP_USER_NAME, > > > > TPS_FTP_PASSWORD, > > > > TPS_FTP_ACCOUNT, > > > > "RETR %s", > > "", > > > > "filename", > > (int > > *) &controlSocket, > > (int > > *) &dataSocket)) == ERROR) > > { > > status = ERROR; > > > > #ifdef GCCOP_TPS_DEBUG > > logMsg ("FTP TRANSFER FAILED\n", 0, 0, 0, 0, 0, 0); > > #endif > > > > } > > else > > { > > /* Cannot see why this is required - but it won't work > > without it ??? */ > > taskDelay (sysClkRateGet () * 1); > > > > do > > { > > status = ioctl (dataSocket, FIONREAD, (AMASS_INT_32) > > &bytesAvailable); > > > > #ifdef GCCOP_TPS_DEBUG > > if (status == ERROR) > > { > > logMsg ("NO DATA AVAILABLE ON FTP DATA > > SOCKET\n", 0, 0, 0, 0, 0, 0); > > } > > #endif > > > > if ((bytesAvailable > 0) && (status == OK)) > > { > > if (bytesAvailable > TPS_XFER_BUFFER_SIZE) > > { > > bytesAvailable = > > TPS_XFER_BUFFER_SIZE; > > } > > > > if ((bytesRead = recv (dataSocket, > > (AMASS_INT_8 *) tempBuffer, bytesAvailable, 0)) == bytesAvailable) > > { > > /* Copy the data into our temporary > > TPS data */ > > copyTo = (AMASS_INT_8 *) > > &tempTPSData + totalBytesRead; > > copyFrom = tempBuffer; > > > > memcpy ((void *) copyTo, (const void > > *) copyFrom, bytesRead); > > > > totalBytesRead += bytesRead; > > > > if (totalBytesRead > TPS_DATA_SIZE) > > { > > status = ERROR; > > > > #ifdef GCCOP_TPS_DEBUG > > logMsg ("TOO MUCH DATA > > RECIEVED ACROSS FTP LINK\n", 0, 0, 0, 0, 0, 0); > > #endif > > > > } > > } > > else > > { > > /* Read has failed */ > > status = ERROR; > > > > #ifdef GCCOP_TPS_DEBUG > > logMsg ("READ FAILED ON FTP DATA > > SOCKET\n", 0, 0, 0, 0, 0, 0); > > #endif > > > > } > > } > > } while ((bytesAvailable > 0) && (status == OK)); > > > > if (totalBytesRead != TPS_DATA_SIZE) > > { > > /* Incorrect number of bytes read */ > > status = ERROR; > > } > > > > /* Check that the last FTP command has completed */ > > if (ftpReplyGet (controlSocket, TRUE) != FTP_COMPLETE) > > { > > /* FTP command failed to complete */ > > status = ERROR; > > } > > > > /* Quit the FTP session */ > > if (ftpCommand (controlSocket, "QUIT", 0, 0, 0, 0, 0, 0) != > > FTP_COMPLETE) > > { > > /* Failed to quit */ > > status = ERROR; > > } > > > > /* Close the sockets */ > > close (dataSocket); > > close (controlSocket); > > } > > > > return (status); > > } > > > > According to the FTP server (wftpd32.exe) the file is ALWAYS successfully > > retrieved and the FTP session completed. However, if I do not include the > > delay after the ftpXFer then any attempt to read the data from the socket > > fails. So, from the debugger I placed one breakpoint - on return (status) > > at the end of the routine. With no delay, status = ERROR, with a delay (1 > > second is the smallest I have tried) status = OK and the file is > > successfully transferred. > > > > Can anyone shed any light on this - as far I can see my code largely > > follows what is recommended in the VxWorks reference manual for ftpXFer. > > The FTP server is happy that the file has been transferred, so I am at a > > loss to see where things are going off the rails. > > > > Any help appreciated. > > > > Andy Atkinson > > Software Engineer > > Bldg 31a > > QinetiQ, Bincleaves Technology Park > > Weymouth > > Dorset > > DT4 8UR > > > > Tel : 01305 764660 > > Fax : 01305 764661 > > e-mail : AATKINSON1@QinetiQ.com > > > > vxworks > > > > The Information contained in this E-Mail and any subsequent correspondence > is private and is intended solely for the intended recipient(s). > For those other than the recipient any disclosure, copying, distribution, > or any action taken or omitted to be taken in reliance on such information > is prohibited and may be unlawful. --------------------------- Newsgroups: comp.os.vxworks Subject: Help ,,,,,,,for custom dependencies Date: 20 Jan 2003 11:45:13 -0800 From: jing_m@hotmail.com (jing ma) Organization: http://groups.google.com/ Message-ID: <709e67fd.0301201145.3d58c9c@posting.google.com> Hi ALL, I want to change custom dependencies. which is in vxworks project fool.c and fool.h depend on fool.xml. another word. when building a vxworks images. if fool.xml changed. fool.c and fool.h will be changed. in window I can using fool.xml as input file into fool.exe file. output file are fool.c and fool.h. can I build fool.exe file into vxworks? Thanks! jing --------------------------- Newsgroups: comp.os.vxworks Subject: Re: problems with sysMmuMapAdd() Date: Mon, 20 Jan 2003 21:26:17 GMT From: "Paul Iannacito" Organization: AT&T Broadband Message-ID: References: Dr. Garufi, I have a few thoughts on the problem you are describing. Given the description in your post, I do not know the exact cause of the trouble you are having. However, I may be able to suggest some details which will help you identify the problem. I have some comments on the source code fragment submitted along with your post, but I would like to mention a few things about sysMmuMapAdd() first. You are probably already aware that the sysMmuMapAdd() routine is a BSP-specific implementation. I am assuming that you will find the source code for sysMmuMapAdd() in your BSP sysLib.c file. It is a very simplistic routine which requires some care in use. You should be aware that sysMmuMapAdd() is a wrapper around some code which puts address mappings in the statically allocated sysPhysMemDesc[] table / array. If there are no available slots in the sysPhysMemDesc table, then sysMmuMapAdd() should return ERROR . As a result, you should always make sure that your memory has been mapped by checking for ERROR returns from sysMmuMapAdd(). In the event that the sysPhysMemDesc table is out of available slots, I believe that one can create additional slots by adding DUMMY_VIRT_ADDR entries at the appropriate locations in the array, followed by rebuilding VxWorks images. The sysMmuMapAdd() routine must be used before the sysPhysMemDesc table is referenced for the purpose of initializing the MMU in usrMmuInit(). Thus, one can safely call it from sysHwInit(). Given the context within which sysMmuMapAdd() is used in your code example, do make sure that the PCI support libraries are initialized prior to initializing the PMC board from some routine called from sysHwInit(). I am sure this is obvious to you. I mention it just in case you are unfamiliar with the organization of some of the initialization code in your BSP. In reply to Michael Lawnick's comments, you note that the system does have a BIOS. In this case, unless you are certain otherwise, it is safest to assume that the BIOS has programmed PCI device BARs and enabled memory decode. This has some implications for how one will proceed to find the devices and map them into the address space initialized by VxWorks. Since the current generation of Pentium-based BSPs do not tend to map all BARs for the devices attached to some system, you will find that this is done in varying ways. I will describe two general strategies I have seen. Supposing that you have managed to locate some PCI device by bus, device, and function number, you might know what kind of device it is supposed to be. For example, your code fragment used pciFindDevice() to look for a specific kind of device. In this case, the device vendor may have well documented PCI BAR locations and sizes for each PCI BAR. You may elect to simply read the BAR value(s) programmed by the BIOS and pass these along to sysMmuMapAdd() along with the size of the BARs (which is known in advance from device docs). For example, suppose that I have located a device which I know to implement a register area of size NPF_MEMSIZE in BAR 1, and some IO (not memory-mapped) in BAR 0. I could do something similar to the following to get the address mapped: ... UINT32 ioBase; /* IO base address (BAR 0) */ UINT32 memIo32; /* memory-mapped IO address (BAR 1) */ pciConfigInLong (busNo, devNo, funcNo, PCI_CFG_BASE_ADDRESS_0, &ioBase); pciConfigInLong (busNo, devNo, funcNo, PCI_CFG_BASE_ADDRESS_1, &memIo32); memIo32 &= PCI_MEMBASE_MASK; ioBase &= PCI_IOBASE_MASK; /* map a 32-bit non-prefetchable memory address decoder */ if (sysMmuMapAdd ((void *) memIo32, NPF_MEMSIZE, VM_STATE_MASK_FOR_ALL, VM_STATE_FOR_IO) == ERROR) { return ERROR; } ... Note that BAR 1 is not probed to discover the size of the memory region. It is assumed that I know in advance what kind of device (and BAR requirements) is specified in the , , and variables. Supposing that the size of the memory regions, device types, &c. are not known in advance, one could author a more general routine to discover the proper parameters for sysMmuMapAdd(), but a slightly different approach is required in this case. Since the BIOS may have initialized PCI devices (including memory decode) prior to VxWorks initialization, we have to be careful how values are written to memory addresses which may be occupied by such devices. If you've located a device and must probe it to discover the size of a memory BAR, be sure to disable memory and IO decode prior to probing the device. Supposing that you have located some device (specified by bus, device, & function numbers) that you would like to map, a more general approach to the problem might be implemented as follows: ... UINT16 cmdSave; /* saves 16-bit PCI command word register */ UINT32 barSave; /* saves 32-bit PCI base address register */ UINT32 barRead; /* memory decoder (if any) read from BAR */ UINT32 initState; /* store a PHYS_MEM_DESC state parameter */ STATUS retVal = OK; /* save PCI device command word register & disable memory decode */ pciConfigInWord (bus, dev, func, PCI_CFG_COMMAND, &cmdSave); pciConfigOutWord (bus, dev, func, PCI_CFG_COMMAND, cmdSave & ((~PCI_CMD_MEM_ENABLE) | (~PCI_CMD_IO_ENABLE))); /* save the BARs and determine whether memory decoders are implemented */ pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_0, &barSave); pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_0, 0xffffffff); pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_0, &barRead); if (barRead != 0) { pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_0, barSave); if ((barRead & PCI_BASE_IO) != PCI_BAR_SPACE_IO) { initState = (barRead & PCI_BASE_PREFETCH) ? VM_STATE_FOR_MEM_APPLICATION : VM_STATE_FOR_IO; barSave &= PCI_MEMBASE_MASK; barRead &= PCI_MEMBASE_MASK; if (sysMmuMapAdd ((void *) barSave, (1 << (ffsLsb (barRead) - 1)), VM_STATE_MASK_FOR_ALL, initState) == ERROR) { retVal = ERROR; goto PCI_MAP_DEV_RETURN; } } } /* repeat the above process for BARs 1 through 5 ... */ ... PCI_MAP_DEV_RETURN: /* restore PCI device command word register */ pciConfigOutWord (bus, dev, func, PCI_CFG_COMMAND, cmdSave); return retVal; } The code fragment begins by saving the original device command word register value, followed disabling memory decode for the device. For each BAR: - The BAR may have been initialized by a BIOS. The original BAR value is saved since the code maps the BIOS-specified memory addresses. - 1's are written to the BAR, as usual. The value read after this is stored in a different variable which is used to determine whether the BAR is implemented, a memory or IO BAR, and, if a memory BAR, whether the memory is prefetchable. The VxWorks ffsLsb() routine is used as the basis for calculating the size of a memory region. The process can be repeated for BARs 1 - 5. Before returning the routine restores the command word register to its original value. The following is an expanded version of the previous fragment (use at YOUR own risk). It may be a bit general for your purposes, but I think it illustrates one useful way to deal with PCI memory BAR mapping on a system with a BIOS. You can, of course, find other examples in your BSP source code: ... /* includes */ #include #include #include #include #include "config.h" /* imports */ IMPORT STATUS sysMmuMapAdd (void *, UINT, UINT, UINT); IMPORT int ffsLsb (UINT32); /*************************************************************************** **** * * sysPciDevMap - map a PCI device into the host address space * * Given a PCI device specified by , , and , this routine * maps the device's PCI memory decoders, if any, into the host processor's * address space. * * CAVEATS * As of PCI 2.2, decoders may be implemented in any of the base address * register (BAR) positions. If more than one decoder is implemented, * there may be holes. Therefore, inspect all six of the possible BAR * positions in the device header to determine which registers are actually * implemented. * * This routine will not correctly detect and handle 64-bit base address * registers. * * The BSP-specific sysMmuMapAdd() routine is used to create * table entries for memory BARs. As a result, this routine should be used * before the table is referenced for the purpose of * initializing the MMU or processor address space (us. in usrMmuInit()). * * RETURNS: * OK, else ERROR if memory decoders could not be mapped into the processor's * address space. * * NOMANUAL */ LOCAL STATUS sysPciDevMap ( UINT32 bus, /* device's PCI bus number */ UINT32 dev, /* device's PCI device number */ UINT32 func /* device's PCI function number */ ) { UINT16 cmdSave; /* saves 16-bit PCI command word register */ UINT32 barSave; /* saves 32-bit PCI base address register */ UINT32 barRead; /* memory decoder (if any) read from BAR */ UINT32 initState; /* store a PHYS_MEM_DESC state parameter */ STATUS retVal = OK; /* save PCI device command word register & disable memory decode */ pciConfigInWord (bus, dev, func, PCI_CFG_COMMAND, &cmdSave); pciConfigOutWord (bus, dev, func, PCI_CFG_COMMAND, cmdSave & ((~PCI_CMD_MEM_ENABLE) | (~PCI_CMD_IO_ENABLE))); /* save the BARs and determine whether memory decoders are implemented */ pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_0, &barSave); pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_0, 0xffffffff); pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_0, &barRead); if (barRead != 0) { pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_0, barSave); if ((barRead & PCI_BASE_IO) != PCI_BAR_SPACE_IO) { initState = (barRead & PCI_BASE_PREFETCH) ? VM_STATE_FOR_MEM_APPLICATION : VM_STATE_FOR_IO; barSave &= PCI_MEMBASE_MASK; barRead &= PCI_MEMBASE_MASK; if (sysMmuMapAdd ((void *) barSave, (1 << (ffsLsb (barRead) - 1)), VM_STATE_MASK_FOR_ALL, initState) == ERROR) { retVal = ERROR; goto PCI_MAP_DEV_RETURN; } } } pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1, &barSave); pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1, 0xffffffff); pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1, &barRead); if (barRead != 0) { pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1, barSave); if ((barRead & PCI_BASE_IO) != PCI_BAR_SPACE_IO) { initState = (barRead & PCI_BASE_PREFETCH) ? VM_STATE_FOR_MEM_APPLICATION : VM_STATE_FOR_IO; barSave &= PCI_MEMBASE_MASK; barRead &= PCI_MEMBASE_MASK; if (sysMmuMapAdd ((void *) barSave, (1 << (ffsLsb (barRead) - 1)), VM_STATE_MASK_FOR_ALL, initState) == ERROR) { retVal = ERROR; goto PCI_MAP_DEV_RETURN; } } } pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_2, &barSave); pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_2, 0xffffffff); pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_2, &barRead); if (barRead != 0) { pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_2, barSave); if ((barRead & PCI_BASE_IO) != PCI_BAR_SPACE_IO) { initState = (barRead & PCI_BASE_PREFETCH) ? VM_STATE_FOR_MEM_APPLICATION : VM_STATE_FOR_IO; barSave &= PCI_MEMBASE_MASK; barRead &= PCI_MEMBASE_MASK; if (sysMmuMapAdd ((void *) barSave, (1 << (ffsLsb (barRead) - 1)), VM_STATE_MASK_FOR_ALL, initState) == ERROR) { retVal = ERROR; goto PCI_MAP_DEV_RETURN; } } } pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_3, &barSave); pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_3, 0xffffffff); pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_3, &barRead); if (barRead != 0) { pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_3, barSave); if ((barRead & PCI_BASE_IO) != PCI_BAR_SPACE_IO) { initState = (barRead & PCI_BASE_PREFETCH) ? VM_STATE_FOR_MEM_APPLICATION : VM_STATE_FOR_IO; barSave &= PCI_MEMBASE_MASK; barRead &= PCI_MEMBASE_MASK; if (sysMmuMapAdd ((void *) barSave, (1 << (ffsLsb (barRead) - 1)), VM_STATE_MASK_FOR_ALL, initState) == ERROR) { retVal = ERROR; goto PCI_MAP_DEV_RETURN; } } } pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_4, &barSave); pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_4, 0xffffffff); pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_4, &barRead); if (barRead != 0) { pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_4, barSave); if ((barRead & PCI_BASE_IO) != PCI_BAR_SPACE_IO) { initState = (barRead & PCI_BASE_PREFETCH) ? VM_STATE_FOR_MEM_APPLICATION : VM_STATE_FOR_IO; barSave &= PCI_MEMBASE_MASK; barRead &= PCI_MEMBASE_MASK; if (sysMmuMapAdd ((void *) barSave, (1 << (ffsLsb (barRead) - 1)), VM_STATE_MASK_FOR_ALL, initState) == ERROR) { retVal = ERROR; goto PCI_MAP_DEV_RETURN; } } } pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_5, &barSave); pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_5, 0xffffffff); pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_5, &barRead); if (barRead != 0) { pciConfigOutLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_5, barSave); if ((barRead & PCI_BASE_IO) != PCI_BAR_SPACE_IO) { initState = (barRead & PCI_BASE_PREFETCH) ? VM_STATE_FOR_MEM_APPLICATION : VM_STATE_FOR_IO; barSave &= PCI_MEMBASE_MASK; barRead &= PCI_MEMBASE_MASK; if (sysMmuMapAdd ((void *) barSave, (1 << (ffsLsb (barRead) - 1)), VM_STATE_MASK_FOR_ALL, initState) == ERROR) { retVal = ERROR; } } } PCI_MAP_DEV_RETURN: /* restore PCI device command word register */ pciConfigOutWord (bus, dev, func, PCI_CFG_COMMAND, cmdSave); return retVal; } After mapping devices via sysMmuMapAdd() you may find it useful to print the contents of the sysPhysMemDesc table during development. This is easy to do. There is a VxWorks demo program for this available on WindSurf under the "Memory Management" folder on the "Sample Source Code" page. paul "Fabio Garufi" wrote in message news:b0gm5q$9tj$1@newsreader1.mclink.it... > Hi all, > I am trying to install a grabber PMC board on a Intel Pentium III cPCI > (VMICPCI 7755) board under Tornado 2.0.2, VxWorks 5.4.2. > The board is seen by the pciDeviceShow and pciHeaderShow functions: it opens > three memory prefetchable regions: > 0xf4400000 64K wide > 0xf4800000 4M > 0xf44800000 512K > The problem arises when I try to access this memory, I get a page fault > whatever the window I try to access both in reading and writing. > modified the $(WIN_BASE)/target/config/vmicpci7755/sysLib.c by adding a > function that adds the memory regions to MMU Map (see below). When I call > the function from within sysHwInit() the system does not complete the boot > and freezes, while if I call it from sysHwInit2() I do not obtain any > change. > Apparently it freezes on sysMmuMapAdd(). > Any help? > Thanks all in advance. > > Here follows the function code: > ================================== > #ifdef INCLUDE_M503 > > #define M503_VEND_ID xxxx > #define M503_DEV_ID yyyy > STATUS sysM503PciInit() > /* sysM503PciInit */ > { > UINT32 bar[6], mem[6], enc[6]; > UINT size, mask; > int bus, dev, func, i; > UINT16 data; > for (i=0; i<6;i++)/* loop on units */ > { > if(pciFindDevice (M503_VEND_ID, M503_DEV_ID, i, &bus, &dev, &func) != > OK) > break; > /* get memory base address and IO base address */ > > pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_0, &bar[i]); > pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1, &mem[i]); > pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_2, &enc[i]); > bar[i] &= PCI_MEMBASE_MASK; > mem[i] &= PCI_MEMBASE_MASK; > enc[i] &= PCI_MEMBASE_MASK; > /* find out the memory space requirements of this BAR */ > > pciConfigOutLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1, 0xffffffff); > pciConfigInLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1,&mask); > size=~(mask&PCI_MEMBASE_MASK)+1; > /* restore original value */ > pciConfigOutLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1, mem[i]); > /* Read back value, it could be changed */ > pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1, &mem[i]); > mem[i] &=PCI_MEMBASE_MASK; > > if (sysMmuMapAdd((void > *)&bar[i],0x10000,VM_STATE_MASK_FOR_ALL,VM_STATE_FOR_PCI) > == ERROR) > break; > if (sysMmuMapAdd((void > *)&mem[i],size,VM_STATE_MASK_FOR_ALL,VM_STATE_FOR_PCI) > == ERROR) > break; > pciConfigOutWord (bus, dev, func, > PCI_CFG_COMMAND, PCI_CMD_IO_ENABLE | > PCI_CMD_MEM_ENABLE | PCI_CMD_MASTER_ENABLE); > } /* end loop on units */ > return (OK); > } > #endif /* INCLUDE_M503 */ > > -- > ------------------------------------------------------------------------ > ** Dr. Fabio Garufi > ** Software Manager > ** > ** ELE.SI.A. S.r.l. > ** ISO 9001 CERTIFIED > ** Tel. +39.0774.3653.227 / Fax +39.0774.3653.300 > ** http://www.elesia.it > ------------------------------------------------------------------------ > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: about software upgrade for vxwork? Date: 20 Jan 2003 14:38:27 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0301201438.439e25ce@posting.google.com> References: Hello, You are going to need to be much more specific in terms of what you are trying to do, which architecture you are using and which version of VxWorks you have. As it stands, there is not even enough information in your posting to start giving you an answer. HTH, John... "Li-Hao Jeng" wrote in message news:... > Sir, > Do you know how to upgrade software use console mode(RS232) ? Please > give me advice! Thank you!! > > lihao --------------------------- Newsgroups: comp.os.vxworks Subject: Re: taskDelay problem Date: 20 Jan 2003 14:40:49 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0301201440.5932cd67@posting.google.com> References: Hello, It sounds like a problem in the timer driver. I would take a look at the code that changes the clock's rate - it sounds like it is failing to restart the clock, so that when you change the rate you effectively stop the clock. You can check for this by looking at the return value of tickGet() from the shell for example. If it is not increasing, then the clock has stopped! HTH, John... mjcse@rediffmail.com (mjcse) wrote in message news:... > Hi VxWorks Gurus, > of late, I am facing a mysterious problem. On my board, > when system clock is increased, all the tasks which executes > taskDelay or nanoSleep delays forver. I mean they never come out of > delay to ready state. Even if taskDelay is of 1 tick, the tasks delays > forever. What could be the reason behind this? And how can this be > rectified. > > Any help are suggestion will be greatly appreciated... > > Thanks and Regards, > > Shafie --------------------------- Newsgroups: comp.os.vxworks Subject: To Cache or Not to Cache - Buffers and BD's Date: Mon, 20 Jan 2003 18:12:26 -0500 From: "Robert D'Attilio" Organization: AT&T Canada IES Message-ID: We currently have written drivers for MCC, SCC and FCC for an 8260. The drivers were written to use non-cached buffer descriptors and buffers out of local SDRAM. We would like to migrate these drivers to an 8250 platform with the buffers and BD's now in main ram. We were also looking at some optimizations that could be done as well in terms of using caching. I don't forsee much of a problem with caching the buffers themselves and using the appropriate cacheLib routines to resolve any coherency issues. However my concern is with caching the buffer descriptors for the following reasons: BD's are 8 bytes long and the cache line is 32 bytes. Since BD's are ring buffers that are contiguous in memory, would you not have a 'window of non-coherency' where an ISR is manipulating a BD and at the same time the CPM is working with the next BD (i.e. on the same cache line) and the ISR goes and does a cacheFlush\cacheInvalidate at the end? Would you not be corrupting the BD the CPM was in the midst of processing? Am I missing the boat here on this one? I have a copy of an FCC driver which uses the cache libraries for both buffers AND buffer descriptors which tends to suggest that it can be done but I can't see how (safely for BD's). thanks in advance for any insight robert --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to restart Ethernet driver? Date: Tue, 21 Jan 2003 00:15:20 GMT From: "XN" Organization: RoadRunner Message-ID: References: <_eLW9.44524$Gm2.925945@twister.rdc-kc.rr.com> <647914ce.0301201005.7d218f1e@posting.google.com> Thank you so much for the information. Can you please tell me more about iniConnect? My Ethernet chip is Intel 82559. I use fei driver. "msafar" wrote in message news:647914ce.0301201005.7d218f1e@posting.google.com... > We had a similar problem. However, restarting the driver didn't help > as there were deeper problems. It manifested itself exactly the way > you describing. > > In our case I tracked it down to a watchdog routine doing intConnect > again, beside leaking a memory it allocates some and all of this in > ISR. When it happened again it blocked a task it interrupted on a > mutex! > > What ethernet controller are you using? > > msafar > > "XN" wrote in message news:<_eLW9.44524$Gm2.925945@twister.rdc-kc.rr.com>... > > Hi All, > > > > I got a problem with Ethernet driver. If Ethernet cable is not connected > > during the boot time, then the networks will not work even reconnet it until > > reboot. > > > > My question is, how can I put some code running in the background to check > > the network connection such that it can automatically connect without > > reboot. > > > > Thanks! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: about software upgrade for vxwork? Date: Tue, 21 Jan 2003 10:05:46 +0800 From: "Li-Hao Jeng" Organization: DCI HiNet Message-ID: References: <488e459a.0301201438.439e25ce@posting.google.com> Sir, Very thank you give me message. I want use RS232 cable to upgrade my target flash. Architecture is user use windows super-terminal application and use xmodem protocal to pass new image. After upload finish, my loader will write new image to flash rom. But I don't know where have vxwork xmodem protocal code? Can you give me some advice ? Lihao 2003.01.21 "John" ???????:488e459a.0301201438.439e25ce@posting.google.com... Hello, You are going to need to be much more specific in terms of what you are trying to do, which architecture you are using and which version of VxWorks you have. As it stands, there is not even enough information in your posting to start giving you an answer. HTH, John... "Li-Hao Jeng" wrote in message news:... > Sir, > Do you know how to upgrade software use console mode(RS232) ? Please > give me advice! Thank you!! > > lihao --------------------------- Newsgroups: comp.os.vxworks Subject: Re: To Cache or Not to Cache - Buffers and BD's Date: 20 Jan 2003 18:52:32 -0800 From: ryeung@earthlink.net (Raymond Yeung) Organization: http://groups.google.com/ Message-ID: References: "Robert D'Attilio" wrote in message news:... > We currently have written drivers for MCC, SCC and FCC for an 8260. The > drivers were written to use non-cached buffer descriptors and buffers out of > local SDRAM. We would like to migrate these drivers to an 8250 platform with > the buffers and BD's now in main ram. We were also looking at some > optimizations that could be done as well in terms of using caching. I don't > forsee much of a problem with caching the buffers themselves and using the > appropriate cacheLib routines to resolve any coherency issues. However my > concern is with caching the buffer descriptors for the following reasons: > > BD's are 8 bytes long and the cache line is 32 bytes. Since BD's are ring > buffers that are contiguous in memory, would you not have a 'window of > non-coherency' where an ISR is manipulating a BD and at the same time the > CPM is working with the next BD (i.e. on the same cache line) and the ISR > goes and does a cacheFlush\cacheInvalidate at the end? Would you not be > corrupting the BD the CPM was in the midst of processing? You concern is probably a real one; your cache utilities would corrupt the adjacent BDs. On the other hand, would caching the BDs give you any noticeable performance advantage (even if corruption is not an issue)? Your ISR would have to reference the same BD enough in between flush/invalidate to justify the cost of the utilities themselves. Plus now your CPM and core are contenting on the same bus for the BDs. It may be worthwhile to consider putting the BDs in processor's dual port RAM, if it has any. > > Am I missing the boat here on this one? I have a copy of an FCC driver which > uses the cache libraries for both buffers AND buffer descriptors which tends > to suggest that it can be done but I can't see how (safely for BD's). > > thanks in advance for any insight > robert --------------------------- Newsgroups: comp.os.vxworks Subject: Re: PPP implementation on VxWorks Date: Mon, 20 Jan 2003 23:37:46 GMT From: "pm" Organization: Verio Message-ID: References: <3e253a60@post.newsfeed.com> basic PPP is include with vxWorks, but has some limitions 1) No PPPoE (PPP over Ethernet) 2) ip forward doesn't seam to work (or rather we can;t get it to work) WRS has another full blown implementation WindNet PPP that may address these limitations "Eyal Raab" wrote in message news:3e253a60@post.newsfeed.com... > *** post for FREE via your newsreader at post.newsfeed.com *** > > Hi, > > We're looking to implement the PPP protocol on our systems. > Does someone know of a free implementation of the PPP protocol for VxWorks? > > I've seen in the unoffical VxWorks FAQ a reference to it, but the FTP site > mentioned seems to be inactive. > > Thanks in advance, > Eyal Raab. > > > > > -----= Posted via Newsfeed.Com, Uncensored Usenet News =----- > http://www.newsfeed.com - The #1 Newsgroup Service in the World! > -----== 100,000 Groups! - 19 Servers! - Unlimited Download! =----- > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to create a socket in VB for vxWorks?? Date: Mon, 20 Jan 2003 20:18:47 -0600 From: Joe Durusau Organization: WEBUSENET.com Message-ID: <3E2CAE07.8060508@bellsouth.net> References: Derek Christie wrote: > Need to know how to send an ip and open port to the set top box in Visual > Basic 6 and to receive a confirmation message. Help would be much > appreciated. > Thanks, > Derek > > If you want the basics on socket programming, search for beej on the net. You will find a tutorial on network programming. If you want info about visual basic, try looking at google groups for an appropriate newsgroup. Personally, I know absolutely nothing about the subject. Speaking only for myself, Joe Durusau --------------------------- Newsgroups: comp.os.vxworks Subject: Re: taskDelay problem Date: 20 Jan 2003 22:27:42 -0800 From: mjcse@rediffmail.com (mjcse) Organization: http://groups.google.com/ Message-ID: References: <488e459a.0301201440.5932cd67@posting.google.com> Thanks John, That's exactly the problem. I appreciate your sense of anticipation. Thanks a lot. And thanks everyone else who took time to read and respond to my query. regards, shafie john_94501@yahoo.com (John) wrote in message news:<488e459a.0301201440.5932cd67@posting.google.com>... > Hello, > > It sounds like a problem in the timer driver. I would take a look at > the code that changes the clock's rate - it sounds like it is failing > to restart the clock, so that when you change the rate you effectively > stop the clock. > > You can check for this by looking at the return value of tickGet() > from the shell for example. If it is not increasing, then the clock > has stopped! > > HTH, > > John... > > mjcse@rediffmail.com (mjcse) wrote in message news:... > > Hi VxWorks Gurus, > > of late, I am facing a mysterious problem. On my board, > > when system clock is increased, all the tasks which executes > > taskDelay or nanoSleep delays forver. I mean they never come out of > > delay to ready state. Even if taskDelay is of 1 tick, the tasks delays > > forever. What could be the reason behind this? And how can this be > > rectified. > > > > Any help are suggestion will be greatly appreciated... > > > > Thanks and Regards, > > > > Shafie --------------------------- Newsgroups: comp.os.vxworks Subject: Sample program Date: 20 Jan 2003 22:50:28 -0800 From: sameer_ba@yahoo.com (Sam) Organization: http://groups.google.com/ Message-ID: Hello friends, I am new to vxworks,can anybody give me sample programs such as related to tasks,message queues,signals etc. Thanks in advance. Sameer --------------------------- Newsgroups: comp.os.vxworks Subject: Re: To Cache or Not to Cache - Buffers and BD's Date: Tue, 21 Jan 2003 00:52:32 -0800 From: "Dan Gold" Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: References: Sender: gold@ensemble.com Robert D'Attilio wrote in message ... >We currently have written drivers for MCC, SCC and FCC for an 8260. The >drivers were written to use non-cached buffer descriptors and buffers out of >local SDRAM. We would like to migrate these drivers to an 8250 platform with >the buffers and BD's now in main ram. We were also looking at some >optimizations that could be done as well in terms of using caching. I don't >forsee much of a problem with caching the buffers themselves and using the >appropriate cacheLib routines to resolve any coherency issues. However my >concern is with caching the buffer descriptors for the following reasons: > >BD's are 8 bytes long and the cache line is 32 bytes. Since BD's are ring >buffers that are contiguous in memory, would you not have a 'window of >non-coherency' where an ISR is manipulating a BD and at the same time the >CPM is working with the next BD (i.e. on the same cache line) and the ISR >goes and does a cacheFlush\cacheInvalidate at the end? Would you not be >corrupting the BD the CPM was in the midst of processing? > >Am I missing the boat here on this one? I have a copy of an FCC driver which >uses the cache libraries for both buffers AND buffer descriptors which tends >to suggest that it can be done but I can't see how (safely for BD's). Why do you need to worry about handling the coherency in software using cacheLib ? The 8260 supports snooping via the GBL bit. You can set this for MCCs, SCCs, FCCs, SPI, and I2C. Maybe I'm missing the boat on this one. You should not have to worry about cache coherency for the buffers and BDs if you have them in 60x bus memory and the appropriate peripheral GBL bit set. Most of the 8260 drivers from WRS evolved from 860 drivers (motFcc.c bears a remarkable resemblance to motFec.c), and the 860 does not support snooping. Additionally, most of the drivers allocate memory via cacheDmaMalloc() and thus avoid cache coherency altogether. Consider the case you described: An FCC transmits a buffer and generates a Tx interrupt, then the CPM moves on to the next BD. Your ISR is busy cleaning up the previous TxBD. They are all in the same cache line. Once you have cleaned up the BD, why do you need to flush it ? If you have the GBL bit set for the FCC, the next time the CPM tries to read *that* BD, the snoop logic will catch it, flush the cache line, and the CPM will have the updated BD. Only you didn't have to do any explicit flushing. The CPM fetches BDs 32-bits at a time. Once it reads the BD, I believe it keeps an internal copy. When it's done it writes the data back out. The snooping should take care of the coherency. You don't say what protocol you are running on the FCCs. The 8260 User's manual errata says to not put BDs in DPRAM, put them in external memory (at least for FCCs running Ethernet). Also beware when running ATM on FCCs. Setting the GBL bit will cause snooping of buffers, BDs, interrupt queues, etc... *except* TCTs and RCTs. Those you have to explicitly flush/invalidate yourself. Not such a bad thing unless you're using the "auto-vc off" mode. It's more of an annoyance than anything else. Are you using PTEs or DBATs for mapping the 60x bus memory ? Remember you do not have to set the M bit in the PTE or DBAT, but you do need to set GBL in the appropriate RFCR/TFCR registers. There is an app note (AN 2335, or 2355, something like that) describing the CPM snooping capability. Check the 8260 product page and you should find it. There are lots of issues to take into consideration when deciding where to put your buffers and BDs. How much 60x bus memory do you have ? Is it enough (only you can answer that) to handle your load, buffered up data, etc... Of course putting everything on the 60x bus will increase bus utilization - will that be a problem ? Are you just using the 16K L1 cache on the 8260 or do you have an L2 ? Will the CPM's constant bus access cause problems for instruction fetches ? If you can test your ideas now on your current 8260 platform before migrating them it might be useful. hth, Dan Gold gold@ensemble.com --------------------------- Newsgroups: comp.os.vxworks Subject: sample program Date: 21 Jan 2003 01:04:18 -0800 From: sameer_ba@yahoo.com (Sam) Organization: http://groups.google.com/ Message-ID: Hello ..... can anybody tell me abt the sebsites from where i can find sample programs for signals,message queues etc, Thanks in advance Sameer --------------------------- Newsgroups: comp.os.vxworks Subject: Re: about software upgrade for vxwork? Date: Tue, 21 Jan 2003 06:31:18 -0600 From: Joe Durusau Organization: WEBUSENET.com Message-ID: <3E2D3D96.4050802@bellsouth.net> References: <488e459a.0301201438.439e25ce@posting.google.com> vxWorks as such does not include xmodem. You would have to add it yourself. IIRC, the protocol is open, so you would have to figure out the protocol, then add xmodem to your vxWorks image. That would require that you rebuild vxworks itself, and redo the PROMS or whatever you have the OS image residing in. Speaking only for myself, Joe Durusau Li-Hao Jeng wrote: > Sir, > Very thank you give me message. I want use RS232 cable to upgrade my > target flash. Architecture is user use windows super-terminal application > and use xmodem protocal to pass new image. After upload finish, my loader > will write new image to flash rom. But I don't know where have vxwork > xmodem protocal code? Can you give me some advice ? > > Lihao > 2003.01.21 > "John" > ???????:488e459a.0301201438.439e25ce@posting.google.com... > Hello, > > You are going to need to be much more specific in terms of what you > are trying to do, which architecture you are using and which version > of VxWorks you have. As it stands, there is not even enough > information in your posting to start giving you an answer. > > HTH, > > John... > > "Li-Hao Jeng" wrote in message > news:... > >>Sir, >> Do you know how to upgrade software use console mode(RS232) ? Please >>give me advice! Thank you!! >> >>lihao > > > --------------------------- Newsgroups: comp.os.vxworks Subject: DosFs long name Date: Wed, 15 Jan 2003 10:27:50 +0000 (UTC) From: "Franco Bassetti" Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: <22c68e067cf2bcee618ba6840a74b888.37262@mygate.mailgate.org> I need file names greater than 8.3 so I have modified the file usrAta.c In function usrAtaConfig just before calling if (dosFsDevInit(bootDir, pBlkDev, NULL) == (DOS_VOL_DESC *)NULL) I have used the function status = dosFsDevInitOptionsSet (DOS_OPT_LONGNAMES); it returns OK but when I call dosFsConfigShow from shell the result is long file names: not enabled dosFsConfigShow("/ata0") device name: /ata0 total number of sectors: 125024 bytes per sector: 512 media byte: 0xf8 # of sectors per cluster: 4 # of reserved sectors: 1 # of FAT tables: 2 # of sectors per FAT: 122 max # of root dir entries: 512 # of hidden sectors: 32 removable medium: TRUE disk change w/out warning: not enabled auto-sync mode: not enabled long file names: not enabled exportable file system: not enabled lowercase-only filenames: not enabled volume mode: O_RDWR (read/write) available space: 42094592 bytes max avail. contig space: 40511488 bytes Can anybody help me? - -- Posted via Mailgate.ORG Server - http://www.Mailgate.ORG --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Tue Jan 21 22:11:49 2003 From: adsharma@hss.hns.com Date: Tue Jan 21 22:11:50 PST 2003 Subject: [newbie] programming tips for vxworks hi all, i've just started with VxWorks programming, though i have good amount of experience with C programming on UNIX. i'm searching for good programming tips/heuristics/precepts that you'd suggest. are there any such tips available on the net? (i found good ones from the FAQ, but not on a single page listing down several tips with reasons for the same) i'd much appreciate if the group members would share their valuable experience with me and get me started :) (i'm ok with RTFM tips too - that is a good way to learn :)) thanks in advance, adi DISCLAIMER: This message is proprietary to Hughes Software Systems Limited (HSS) and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error, please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. HSS accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus. From vxwexplo-errs@csg.lbl.gov Wed Jan 22 04:03:26 2003 From: Vxworks Exploder Date: Wed Jan 22 04:03:27 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Wed Jan 22 04:03:23 PST 2003 Subject: How to boot with rommed Application - Re Question Subject: bootrom size pls help Subject: symbol table Subject: Re: about software upgrade for vxwork? Subject: [comp.os.vxworks] FAQ - index Subject: Re: Sample program Subject: mysterious task behaviour Subject: Re: DosFs long name Subject: Re: DosFs long name Subject: Re: dec 21143 missing carrier detction? Subject: Re: How to restart Ethernet driver? Subject: Re: about software upgrade for vxwork? Subject: Missed Wakeups Subject: Re: problems with sysMmuMapAdd() Subject: Re: mysterious task behaviour Subject: Re: Shell redirection Subject: Re: Missed Wakeups Subject: vxWorks-rom problems Subject: Re: Sample program ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: How to boot with rommed Application - Re Question Date: 12 Jan 2003 19:27:09 -0800 From: ywkwon@humantel.com (Kwon,YongWook) Organization: http://groups.google.com/ Message-ID: <76b199d8.0301121927.72917e45@posting.google.com> Hello? First, I can say thank you for your good help. Finally, I've got a result for MPC860 BOARD for VxWorks RTOS. I made bootrom.hex and write flash with this s-record file. I can see boot printing character from console. - ----------------------------------------------------------------- VxWorks System Boot Copyright 1984-1998 Wind River Systems, Inc. CPU: MPLAN800 -PowerPC 860 Version: 5.4.2 BSP version: 1.2/4 Creation date: Jan 9 2003, 15:05:47 Press any key yo stop auto-boot... 7 [VxWorks Boot]: - ------------------------------------------------------------------ I'm very glad to see this greeting ^^; for all my result are from your good response. After Seeing this greeting, I think everything is ok. But I've got a problem. I set my board's boot parameter with NVRAM value. I use NVRAM for boot parameter. It's OK. Then I loaded "vxWorks" file from TFTP Server. My board's bootrom Application did this works. It's OK I saw this printing after excuting l(load) command. - ------------------------------------------------- Attached TCP/IP interface to cpm0. Attaching network interface lo0... done. Loading...600244 entry = 0x100000 [VxWorks Boot]: - ------------------------------------------------- Then I hit "g 0x100000" command. At that time, I can see Starting at 0x100000... But No work appears. I think my bootrom application is OK. I mean no problem. Then Network Interface is OK. Loading file via TFTP server scheme is OK. It works well. I think I have some missing idea to boot. [Question 1] Is it ok to boot "vxWorks" file? [Question 2] I know "vxWorks" is only application image file. no OS included. Is it right? [Question 3] What file should I use for booting my MPC860 board? "vxWorks"? "vxWorks.st"? or any other files? I was trying to boot with pSOS ram.elf file. this file is simple application ram.elf is OS+APPLICATION. It's ok to load and go. ram.elf is excuted. [Question 4] I made vxWorks_rom.hex and write FLASH memory with this file. But I can't see any booting printing from console. But my bootrom.hex is OK to boot. I think vxWorks_rom.hex is ROMed file, So I expected vxWorks_rom.hex can be booted. But no result. What file should I check and modify? I know these two S-Record file is made by romInit.s & bootInit.c. And bootrom.hex is made by bootConfig.c and vxWorks_rom.hex is made by usrConfig.c. Is it right? [Question 5] I doubt my definition for ADRS value My board memory info is. SDRAM 32M FLASH MEM 8M My own applicaion is not exist. only I use default ads860 board files and modified it. Then What is the best setting for the value of RAM_HIGH_ADRS and RAM_LOW_ADRS ? [Question 6] I include INCLUDE_DEMO and not include INCLUDE_SHELL for testing. Is it OK? I think it's simple testing method. I think I have mistake something. Please Give me a good answer. Regards, YongWook --------------------------- Newsgroups: comp.os.vxworks Subject: bootrom size pls help Date: 15 Jan 2003 02:55:32 -0800 From: pegasusian@yahoo.com (=?ISO-8859-1?Q?fatih_=F6zcan?=) Organization: http://groups.google.com/ Message-ID: <7b02be47.0301150255.7032c5be@posting.google.com> I have custom mpc860t with 8 Mb flash and I want to build a bootrom with size bigger than 512K. I define ROM_COPY_SIZE 1 M. But I got an exception that my PC goes to 0x55AA55A8. If anyone helps I appreciate. --------------------------- Newsgroups: comp.os.vxworks Subject: symbol table Date: 15 Jan 2003 03:01:33 -0800 From: sergiohdezm@terra.es (Sergiohdezm) Organization: http://groups.google.com/ Message-ID: <63c835dd.0301150301.2a3a9cdb@posting.google.com> Hi, I am working with Tornado and I need to compile vxWorks for a pci/c6400 board. I must choose beetwen "built-in symbol table" and "downloaded symbol table" but I don't know what the correct one is. Can someone explain the difference? Thank you. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: about software upgrade for vxwork? Date: Tue, 21 Jan 2003 20:44:45 +0800 From: "Li-Hao Jeng" Organization: DCI HiNet Message-ID: References: <488e459a.0301201438.439e25ce@posting.google.com> <3E2D3D96.4050802@bellsouth.net> Sir, Very thank you give me advice. But what is IIRC? Please give me detial infomation. Thank you again!! Lihao 2003.01.21 "Joe Durusau" ???????:3E2D3D96.4050802@bellsouth.net... vxWorks as such does not include xmodem. You would have to add it yourself. IIRC, the protocol is open, so you would have to figure out the protocol, then add xmodem to your vxWorks image. That would require that you rebuild vxworks itself, and redo the PROMS or whatever you have the OS image residing in. Speaking only for myself, Joe Durusau Li-Hao Jeng wrote: > Sir, > Very thank you give me message. I want use RS232 cable to upgrade my > target flash. Architecture is user use windows super-terminal application > and use xmodem protocal to pass new image. After upload finish, my loader > will write new image to flash rom. But I don't know where have vxwork > xmodem protocal code? Can you give me some advice ? > > Lihao > 2003.01.21 > "John" > ???????:488e459a.0301201438.439e25ce@posting.google.com... > Hello, > > You are going to need to be much more specific in terms of what you > are trying to do, which architecture you are using and which version > of VxWorks you have. As it stands, there is not even enough > information in your posting to start giving you an answer. > > HTH, > > John... > > "Li-Hao Jeng" wrote in message > news:... > >>Sir, >> Do you know how to upgrade software use console mode(RS232) ? Please >>give me advice! Thank you!! >> >>lihao > > > --------------------------- Newsgroups: comp.os.vxworks,comp.realtime,comp.arch.embedded,comp.answers,news.answers Subject: [comp.os.vxworks] FAQ - index Date: 14 Jan 2003 09:38:56 GMT From: johan@borksoft.xs4all.nl (Johan Borkhuis) Organization: Borksoft Message-ID: Followup-To: comp.os.vxworks Archive-name: vxworks-faq/index Posting-Frequency: monthly Last-modified: 2002/08/23 Version: 1.46 URL: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html Copyright: (c) 1999 - 2002 Johan Borkhuis Maintainer: Johan Borkhuis This is the index of the FAQ for the newsgroup comp.os.vxworks. The FAQ itself can be found at http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html Original charter of comp.os.vxworks: comp.os.vxworks will be a forum for discussion of topics related to the VxWorks real-time operating system and development environment. Current and prospective users of VxWorks will be able to discuss technical problems, report experiences with various hardware components, share code, report bugs and fixes, and exchange any information of interest to the VxWorks user community. Relevant new product announcements may be made by commercial participants, subject to a limit - e.g. 1/month - on the frequency of such posts. Contents of the FAQ: 1. Tool problems 1.1 Compiler and Linker 1.2 Debugger 1.3 FTP 1.4 Host tools 1.5 Installation 1.6 Make 1.7 Project facility 1.7.1 Hierarchical projects 1.7.2 Super projects 1.8 Target Server 1.9 Target Shell 1.10 Telnet 1.11 Tornado 1.11.1 Tornado (General) 1.11.2 Tornado (Windows) 1.12 Version Control 1.13 Visual Studio integration 1.14 Windsh 1.15 WindView 2. Changes/additions to be made to BSP's 2.1 Different BSP's 2.2 Processor specific issues 2.2.1 Power PC 2.2.2 I960 2.2.3 MIPS 2.2.4 ARM 2.3 Bootstrap 2.4 Adding component to your VxWorks configuration 2.5 VME problems 2.6 VxWorks environment 2.6.1 usrSerial.c 2.6.2 prj_vxworks.tcl 2.7 PCI problems 3. File System problems 3.1 Dos file system 3.2 Flash File system 3.3 Floppy-disk File system 3.4 RAM-disk File system 3.5 General file system questions 4. Network 4.1 Configuration problems 4.2 ARP 4.3 DHCP 4.4 FTP and TFTP 4.5 PPP 4.5.1 PPP on Windows 95 4.5.2 PPP on Windows NT 4.5.3 PPP on Solaris 4.6 Sockets 4.7 Telnet 4.8 Other network related questions 5. VxWorks Questions 5.1 C++ issues 5.2 Communication problems 5.3 Interrupts 5.4 LoadModule problems 5.5 pthreads 5.6 Reboot 5.7 Semaphores 5.8 Simulator (VxSim) 5.9 Task related items 5.10 Time/timer related items 5.11 Wind Web Server related items 5.12 Zinc/windML related items 5.13 Other items 5.14 VxWorks AE issues 6. Extra information 6.1 Hard delay 6.2 Memory leaks 6.3 Corba engines 6.4 Web servers 6.5 NTP usage 6.6 Performace / Benchmarks 6.7 SNMP 6.8 Lint 6.9 Encryption Other Links The News Department Overall question index Overall Sources index Change history - -- o o o o o o o . . . _____J_o_h_a_n___B_o_r_k_h_u_i_s___ o _____ || http://www.xs4all.nl/~borkhuis | .][__n_n_|DD[ ====_____ | johan@borksoft.xs4all.nl | >(________|__|_[_________]_|________________________________| _/oo OOOOO oo` ooo ooo 'o!o!o o!o!o` ==== VxWorks-FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html ==== - ----- End forwarded message ----- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Sample program Date: Tue, 21 Jan 2003 07:08:41 -0800 From: "Michael R. Kesti" Organization: MK Associates Message-ID: <3E2D6279.91436300@gv.net> References: Reply-To: mkesti@gv.net Sam wrote: >Hello friends, > >I am new to vxworks,can anybody give me sample programs such as >related to tasks,message queues,signals etc. The vxWorks Programmers Guide is THE source of such information, but there is some useful info at: http://www.rt.db.erau.edu/experiments/vx/toc/TableOfContents.html - -- ======================================================================== Michael Kesti | "And like, one and one don't make | two, one and one make one." mkesti@gv.net | - The Who, Bargain --------------------------- Newsgroups: comp.os.vxworks Subject: mysterious task behaviour Date: Wed, 15 Jan 2003 19:53:47 +0100 From: rs Organization: WiNShuttle, DFN - German Research Network Message-ID: <3E25AE3B.CB4CDE1F@impromptu.m.shuttle.de> Hello, I have an embedded application which spawns a main task. The spawning is successfull. But when running the application on the target I get following message on the connected target-terminal when invoking i : - -> i NAME ENTRY TID PRI STATUS PC SP ERRNO DELAY ... tTest test 137e458 100 READY 149700 137a268 c0002 0 - ->printErrno( 0xc0002) S_ioLib_UNKNOWN_REQUEST value = 24 = 0x18 - -> There is an errno != 0 for the task tTest, although the taks is running. Invoking functions of the task is errorfree until a specific function is invoked. Then the task crashes. I have debugged the function and found no error. Furthermore, when I compiled and downloaded my application again, the task didn't crash at invoking this function but runs errorfree, although the ERRNO on the terminal is the same as before. An other application with a similar main task has errno 0x3d0001 = S_objLib_OB_ID_ERROR. That task is running fine and doesn't crash, regardless what the task is doing. Why is there an errno != 0 on the terminal, although the task spawns without error? What do the error numbers mean? Does anyone know? Thank you in advance! Albert --------------------------- Newsgroups: comp.os.vxworks Subject: Re: DosFs long name Date: Wed, 15 Jan 2003 11:26:49 -0800 From: "Jimbob" Message-ID: References: <22c68e067cf2bcee618ba6840a74b888.37262@mygate.mailgate.org> "Franco Bassetti" wrote in message news:22c68e067cf2bcee618ba6840a74b888.37262@mygate.mailgate.org... > I need file names greater than 8.3 so I have modified the file usrAta.c > > In function usrAtaConfig > just before calling > if (dosFsDevInit(bootDir, pBlkDev, NULL) == (DOS_VOL_DESC *)NULL) > > I have used the function > status = dosFsDevInitOptionsSet (DOS_OPT_LONGNAMES); > it returns OK > but when I call dosFsConfigShow from shell > the result is > long file names: not enabled > > dosFsConfigShow("/ata0") > device name: /ata0 > total number of sectors: 125024 > bytes per sector: 512 > media byte: 0xf8 > # of sectors per cluster: 4 > # of reserved sectors: 1 > # of FAT tables: 2 > # of sectors per FAT: 122 > max # of root dir entries: 512 > # of hidden sectors: 32 > removable medium: TRUE > disk change w/out warning: not enabled > auto-sync mode: not enabled > long file names: not enabled > exportable file system: not enabled > lowercase-only filenames: not enabled > volume mode: O_RDWR (read/write) > available space: 42094592 bytes > max avail. contig space: 40511488 bytes > > > Can anybody help me? How did you format it? FAT12/FAT16 . .? --------------------------- Newsgroups: comp.os.vxworks Subject: Re: DosFs long name Date: Wed, 15 Jan 2003 21:57:52 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <22c68e067cf2bcee618ba6840a74b888.37262@mygate.mailgate.org> Reply-To: "Leonid Rosenboim" This is older dosFs 1.0 - the Long names option works only when formatting the volume - if you set the option the way you did and then re-format the volume, it will come up with long names next time it is mounted. This is a priprietary format, and breaks PC compatibility. The newer dosFs 2.0 has native support for VFAT long names. - -- HTH - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com "Franco Bassetti" wrote in message news:22c68e067cf2bcee618ba6840a74b888.37262@mygate.mailgate.org... > I need file names greater than 8.3 so I have modified the file usrAta.c > > In function usrAtaConfig > just before calling > if (dosFsDevInit(bootDir, pBlkDev, NULL) == (DOS_VOL_DESC *)NULL) > > I have used the function > status = dosFsDevInitOptionsSet (DOS_OPT_LONGNAMES); > it returns OK > but when I call dosFsConfigShow from shell > the result is > long file names: not enabled > > dosFsConfigShow("/ata0") > device name: /ata0 > total number of sectors: 125024 > bytes per sector: 512 > media byte: 0xf8 > # of sectors per cluster: 4 > # of reserved sectors: 1 > # of FAT tables: 2 > # of sectors per FAT: 122 > max # of root dir entries: 512 > # of hidden sectors: 32 > removable medium: TRUE > disk change w/out warning: not enabled > auto-sync mode: not enabled > long file names: not enabled > exportable file system: not enabled > lowercase-only filenames: not enabled > volume mode: O_RDWR (read/write) > available space: 42094592 bytes > max avail. contig space: 40511488 bytes > > > Can anybody help me? > > > > -- > Posted via Mailgate.ORG Server - http://www.Mailgate.ORG --------------------------- Newsgroups: comp.os.vxworks Subject: Re: dec 21143 missing carrier detction? Date: 14 Jan 2003 04:42:06 -0800 From: willemsenjc@yahoo.com (Jon Willemsen) Organization: http://groups.google.com/ Message-ID: References: "Kelly Hornsby" wrote in message news:... > Hello All > > I want to know if I have a carrier detect on my DEC 21143 device before I > start transmitting or receiving packets. I think CSR12 will tell me if I > have a link active (carrier detect) but I'm not sure. Is this register the > best way to detect if there's a good link? I'm probably going to have a > 10MB link, but possibly a 100MB link, but I don't think it matters, since > both speeds are reflected in CSR12. Am I on the right track? I don't have > the sources for the ethernet devices, so I'm hoping for an easy way to tell > if there's no carrier. I can get access to the register via a pciFindDevice > and a pciConfigInLong to fetch the base addresses of the register banks. > > Any suggestions, URLs, or tips will be appreciated. > > Thx Perhaps you could try using the status bit that indicates that link auto-negotiation has completed. This will tell you if the link is up, and if so you should be able to read the negotiated speed from other status bit(s). Or do you really need to know specifically if the carrier is present? --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to restart Ethernet driver? Date: 21 Jan 2003 10:26:27 -0800 From: norealid2003@yahoo.com (msafar) Organization: http://groups.google.com/ Message-ID: <647914ce.0301211026.f325374@posting.google.com> References: <_eLW9.44524$Gm2.925945@twister.rdc-kc.rr.com> <647914ce.0301201005.7d218f1e@posting.google.com> Our controller is 82596 and the corresponding driver is ei. I was hoping you are using the same. Unfortunatelly, I don't know neither the chip nor the driver of yours. intConnect creates an ISR and connects it to an inerrupt. You should have a look into manuals to find out more. In our case the interrupt fired as soon as we fed the chip with receiver descriptors. In ei there is a supervision done using watchdogs and as soon as the supervision detected a situation it tried to restart the driver. That's the point where the intConnect came into the game. msafar "XN" wrote in message news:... > Thank you so much for the information. Can you please tell me more about > iniConnect? My Ethernet chip is Intel 82559. I use fei driver. > > "msafar" wrote in message > news:647914ce.0301201005.7d218f1e@posting.google.com... > > We had a similar problem. However, restarting the driver didn't help > > as there were deeper problems. It manifested itself exactly the way > > you describing. > > > > In our case I tracked it down to a watchdog routine doing intConnect > > again, beside leaking a memory it allocates some and all of this in > > ISR. When it happened again it blocked a task it interrupted on a > > mutex! > > > > What ethernet controller are you using? > > > > msafar > > > > "XN" wrote in message > news:<_eLW9.44524$Gm2.925945@twister.rdc-kc.rr.com>... > > > Hi All, > > > > > > I got a problem with Ethernet driver. If Ethernet cable is not connected > > > during the boot time, then the networks will not work even reconnet it > until > > > reboot. > > > > > > My question is, how can I put some code running in the background to > check > > > the network connection such that it can automatically connect without > > > reboot. > > > > > > Thanks! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: about software upgrade for vxwork? Date: 21 Jan 2003 11:20:43 -0800 From: john_94501@yahoo.com (John) Organization: http://groups.google.com/ Message-ID: <488e459a.0301211120.b8f79f3@posting.google.com> References: <488e459a.0301201438.439e25ce@posting.google.com> <3E2D3D96.4050802@bellsouth.net> Hello, IIRC = If I Remember/Recall Correctly. If you see these in future, there are a few web sites that will help to translate them. Here's some I found on google: http://www.tuxedo.org/~esr/jargon/html/The-Jargon-Lexicon.html http://www.atxta.co.uk/acroouter.asp http://www.rdg.ac.uk/CSC/Topic/General/GeGAcron01/jargon.html HTH (Hope That Helps :-), John... "Li-Hao Jeng" wrote in message news:... > Sir, > Very thank you give me advice. But what is IIRC? Please give me detial > infomation. Thank you again!! > > Lihao > 2003.01.21 > > "Joe Durusau" > ???????:3E2D3D96.4050802@bellsouth.net... > vxWorks as such does not include xmodem. You would > have to add it yourself. IIRC, the protocol is open, so you > would have to figure out the protocol, then add xmodem > to your vxWorks image. That would require that you rebuild > vxworks itself, and redo the PROMS or whatever you have the > OS image residing in. > > Speaking only for myself, > > Joe Durusau > > > Li-Hao Jeng wrote: > > Sir, > > Very thank you give me message. I want use RS232 cable to upgrade my > > target flash. Architecture is user use windows super-terminal application > > and use xmodem protocal to pass new image. After upload finish, my > loader > > will write new image to flash rom. But I don't know where have vxwork > > xmodem protocal code? Can you give me some advice ? > > > > Lihao > > 2003.01.21 > > "John" > > ???????:488e459a.0301201438.439e25ce@posting.google.com... > > Hello, > > > > You are going to need to be much more specific in terms of what you > > are trying to do, which architecture you are using and which version > > of VxWorks you have. As it stands, there is not even enough > > information in your posting to start giving you an answer. > > > > HTH, > > > > John... > > > > "Li-Hao Jeng" wrote in message > > news:... > > > >>Sir, > >> Do you know how to upgrade software use console mode(RS232) ? Please > >>give me advice! Thank you!! > >> > >>lihao > > > > > > --------------------------- Newsgroups: comp.os.vxworks Subject: Missed Wakeups Date: 21 Jan 2003 11:50:23 -0800 From: peter_holmes2003@yahoo.com (Peter) Organization: http://groups.google.com/ Message-ID: <9e41635d.0301211150.457fb277@posting.google.com> I was looking at the code for semBTake and thought there was a chance for missed wakeups. I think I am missing something thats why I am asking for some help. The pseudo - code for a semBTake is like this semBTake(semaphore* sem ) { intLock if ( sem->owner == NULL ) { sem->owner = self; intUnlock return // got lock return here } // didnt get lock - put on pending q intUnLock; //--------> higher task becomes // and do a semGive - but there is // one on the pending q yet !! insert task in pending queue; } Is there something I am missing here. Thanks, Peter --------------------------- Newsgroups: comp.os.vxworks Subject: Re: problems with sysMmuMapAdd() Date: Tue, 21 Jan 2003 21:54:05 GMT From: "Dan Chopskie" Organization: MediaCom High Speed Internet Message-ID: <1kjX9.653664$GR5.461332@rwcrnsc51.ops.asp.att.net> References: "Fabio Garufi" wrote in message news:b0gm5q$9tj$1@newsreader1.mclink.it... > Hi all, > I am trying to install a grabber PMC board on a Intel Pentium III cPCI > (VMICPCI 7755) board under Tornado 2.0.2, VxWorks 5.4.2. > The board is seen by the pciDeviceShow and pciHeaderShow functions: it opens > three memory prefetchable regions: > 0xf4400000 64K wide > 0xf4800000 4M > 0xf44800000 512K > The problem arises when I try to access this memory, I get a page fault > whatever the window I try to access both in reading and writing. > modified the $(WIN_BASE)/target/config/vmicpci7755/sysLib.c by adding a > function that adds the memory regions to MMU Map (see below). When I call > the function from within sysHwInit() the system does not complete the boot > and freezes, while if I call it from sysHwInit2() I do not obtain any > change. > Apparently it freezes on sysMmuMapAdd(). > Any help? Your system probably isn't hanging sysMmuMapAdd, I would say it's hanging between sysHwInit and sysHwInit2. Inbetween these calls, the system will process your sysPhysMemDesc table and add all the regions defined in there. (sysMmuMapAdd modifies this table.) Do you have your page size set to 4 Megs, or 4K? (It's defined in config.h I believe, you can see in sysLib.c where it's used, I can't remember the exact #define name.) If you have your size set to 4 megs, your code probably won't run. The trouble is, that each entry must be page-aligned, and entries cannot overlap. Your 64K and 512K entries would be overlapping (Both in the same 4 Meg page). In the Pentium BSP I created, I wrote code to automatically map all PCI BAR's in sysPhysMemDesc, and found that if two entries covered the same page, I would get the exact hang that you describe. The solution would be to go through your BAR's and look for overlaps. (In this case, you would call sysMmuMapAdd only for two entries.) If your page size if 4K, then I'm not sure where your lockup is coming from, since with this device, you shouldn't be having the problem I've described above. Let me know if you have more questions on that. Dan --------------------------- Newsgroups: comp.os.vxworks Subject: Re: mysterious task behaviour Date: Thu, 16 Jan 2003 14:18:56 GMT From: "Dave Schmidt" Organization: WrxRite.com Message-ID: References: <3E25AE3B.CB4CDE1F@impromptu.m.shuttle.de> Albert, The first thing ine needs to know about "errno" is that just because it is set, does not mean that there was a fatal error, just that some "alternative action has occured", for example, a timeout on waiting on a message will set the "errno" to a TIMEOUT error. Tracing the cause of an "errno" setting is one method of determining the overall cause of a task "crash". Wind River support should be able to supply you with info on why the value "S_ioLib_UNKNOWN_REQUEST" gets set, although I doubt if this is the cause of your crash. If your system crashes in seemingly unrelated areas of the code, this usually points to some sort of overall system level integration issue. If on the other hand it always crashes when executing the same piece of code, then this would point to a task level issue. Again, just beacuse "errno" is set does not mean that your task has comitted an error, just that the code executed some "alternative" path through its processing. Dave "rs" wrote in message news:3E25AE3B.CB4CDE1F@impromptu.m.shuttle.de... > Hello, > > I have an embedded application which spawns a main task. The spawning is > successfull. But when running the application on the target I get > following message on the connected target-terminal when invoking i : > > -> i > > NAME ENTRY TID PRI STATUS PC > SP ERRNO DELAY > ... > tTest test 137e458 100 READY 149700 > 137a268 c0002 0 > > > ->printErrno( 0xc0002) > S_ioLib_UNKNOWN_REQUEST > value = 24 = 0x18 > -> > > There is an errno != 0 for the task tTest, although the taks is > running. Invoking functions of the task is errorfree until a specific > function is invoked. Then the task crashes. I have debugged the function > and found no error. Furthermore, when I compiled and downloaded my > application again, the task didn't crash at invoking this function but > runs errorfree, although the ERRNO on the terminal is the same as > before. > > An other application with a similar main task has errno 0x3d0001 = > S_objLib_OB_ID_ERROR. > That task is running fine and doesn't crash, regardless what the task is > doing. > > Why is there an errno != 0 on the terminal, although the task spawns > without error? What do the error numbers mean? Does anyone know? > > Thank you in advance! > > Albert > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Shell redirection Date: 16 Jan 2003 15:06:55 -0800 From: triniatlarge@yahoo.com (lovell James) Organization: http://groups.google.com/ Message-ID: References: <488e459a.0301150955.5ccde720@posting.google.com> Thanks John, I also found another way to do it. I'll just give the sample code. I disabled the shell in usrconfig.c and enabled it in my code fd = open("/tyCo/1", O_RDWR, 0777); td = open("/tyCo/0", O_RDWR, 0777); ioctl(fd, FIOSETOPTIONS, OPT_TERMINAL); ioGlobalStdSet(0,fd); ioGlobalStdSet(1,fd); ioGlobalStdSet(2,fd); shellInit(20000, TRUE); td1 = taskNameToId(("tShell"); ioTaskStdSet(td1, 0, fd); ioTaskStdSet(td1, 1, fd); ioTaskStdSet(td1, 2, fd); ioGlobalStdSet(0,td); ioGlobalStdSet(1,td); ioGlobalStdSet(2,td); This worked. Hope this helps someone john_94501@yahoo.com (John) wrote in message news:<488e459a.0301150955.5ccde720@posting.google.com>... > Hello, > > triniatlarge@yahoo.com (lovell James) wrote in message news:... > > Help > > Does tShell only respond when it sees CR? > > Yes, kind of. If you think about what is happening it will all make > sense: > > The shell is pended inside a read on the original file descriptor. > Your changing the standard I/O file descriptor after the shell has > started will not affect that read call since it was already pended on > the real device. When you press return on the old serial port, the > read() call returns, the shell sees you didn't really enter a command, > writes out a prompt (on the new standard output channel) and calls > read(), now on the new standard input mapping, so it waits on the > secondary channel. > > > I then tried to restart the shell by the following code: > > > > shellOrigStdSet(0, fd); > > shellOrigStdSet(1, fd); > > shellOrigStdSet(2, fd); > > excJobAdd( shellRestart, TRUE,0,0,0,0,0); > > This happens because the shell is using the global standard I/O > redirection when it starts - that is done so that any tasks you spawn > also have their standard output on the fd that the shell is using > (necessary for something like the telnet/rlogin server, which is what > this mechanism is really there for). > > > And I found that STD_IN, STD_OUT and STD_ERR were set to the Secondary > > port. I thought shellOrigStdSet only sets the shell task STD_IN, > > STD_OUT and STD_ERR ? > > I then tried to redirect the STD_IN, STD_OUT and STD_ERR using > > ioGlobalStdSet commands and the secondary did not respond > > The ioctl options FIOCANCEL and FIOFLUSH dont seem to work. What is > > going on? > > The shell task does not, by default, make use of the task-specific > redirection - it expects to work on the global standard I/O. Since you > are trying to separate the shell from the global I/O, you are going to > face a few problems. I would suggest asking Wind River for the source > to shellLib, then you can change the global redirection calls to > task-specific ones. The problem with taskRestart() is that it will > restore the task-specific settings to their original (i.e. not in use) > setting. It will then start executing the shell, which will > immediately change the global standard I/O to the ones set via the > shellOrigStdSet() function. > > So, if you cannot get the source to make the changes, there are a > couple of other tricks you could play: > > 1) Modify your serial driver to add a routine that allows you to > artificially inject a character into the stream, and wake up any > pending reads. Take a look at the code in target/src/drv/sio and you > should find a routine named with an IntRd suffix - in the middle of > that should be a call like this: > > (*pChan->putRcvChar) (pChan->putRcvArg, inchar); > > That is the key to inserting a character into the stream. This will > allow you to use your original task-specific redirection, and get that > initial CR character into the stream. Be warned though, if the shell > ever catches an abort (^C) or an exception, it will restore its I/O to > the global standard I/O channel. > > 2) You could extract shellLib.o from your archive and link it with a > new .o that provides ioGlobalStdSet() as a mapping onto the task > specific one. Once you've linked these two files together, process the > resulting .o with objcopy to downgrade these new ioGlobalStdSet > routines to locals. That way they will not interfere with the real > ones when you link this object into a system, but they will remap the > shellLib calls to the task-specific redirection routines. > > HTH, > > John... --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Missed Wakeups Date: Wed, 22 Jan 2003 07:45:09 +0100 From: "Michael Lawnick" Organization: Buergernetz Dillingen Message-ID: References: <9e41635d.0301211150.457fb277@posting.google.com> Reply-To: "Michael Lawnick" Sender: mlawnick@mail.kontron-applications.com Hi Peter, your code looks like mutex implementation - so why don't you use vxWorks-mutex ? Michael "Peter" schrieb im Newsbeitrag news:9e41635d.0301211150.457fb277@posting.google.com... > I was looking at the code for semBTake and thought there was a chance > for missed wakeups. I think I am missing something thats why I am > asking for some help. > > > The pseudo - code for a semBTake is like this > > semBTake(semaphore* sem ) > { > > intLock > > if ( sem->owner == NULL ) { > sem->owner = self; > intUnlock > return // got lock return here > > } > > // didnt get lock - put on pending q > intUnLock; > //--------> higher task becomes > // and do a semGive - but there is > // one on the pending q yet !! > insert task in pending queue; > > } > > Is there something I am missing here. > > Thanks, > Peter --------------------------- Newsgroups: comp.os.vxworks Subject: vxWorks-rom problems Date: Wed, 22 Jan 2003 11:32:21 +0300 From: "Denis Dubrovin" Organization: WEBPlus Ltd. Message-ID: Hi All! I compiled vxWorks rom-based image and have trouble. RAM_HIGH_ADRS =0x300000 RAM_LOW_ADRS =0x100000 When I saw .ab file I see _binArrayStart address is 0x300026. As I think while rom-start it must copy array from _binArrayStart (wich placed in my case at 0x400007BA) to RAM_LOW_ADRS and start it. While debugging I saw what address from wich bytes are copied is not 0x400007BA, it is 0x4000079A! and copy to RAM_LOW_ADRS. After jump on RAM_LOW_ADRS I have system crash. In debugger I saw what calculation of _binArrayStart makes wrong. Why compiler (?) mistaked with calculation of first byte in _binArrayStart array? Which memory configuration parameters can affect on this mistake? - -- Regards! Den --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Sample program Date: 22 Jan 2003 01:05:59 -0800 From: christian.delez@keymile.com (Christian Delez) Organization: http://groups.google.com/ Message-ID: <87207712.0301220105.730801fb@posting.google.com> References: > I am new to vxworks,can anybody give me sample programs such as > related to tasks,message queues,signals etc. > Go to WindSurf site home page (This is Wind River support site): http://www.wrs.com/windsurf There is a link to Sample code. You must be registred user with valid support. If you have download Tornado Prototyper from http://www.wrs.com, you can ask for a WindSurf acount for free. Also, search google comp.os.vxworks newsgroup with "intitle:example". @+, Christian. --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Wed Jan 22 09:38:34 2003 From: Wu@mosaid.com Date: Wed Jan 22 09:38:36 PST 2003 Subject: load 4M byte size application to target vxWorks/Tornado world, I have one application whose size is 4 MBytes. When I download it from host to target, I got the error message "WTX Error 0x10130 (API_INVALID_ARG)". When I configure target server, I set "memory cache size" to 4.5Mbytes. But the problem is still there? Does anyone recall how to solve this problem? Thanks Huang From vxwexplo-errs@csg.lbl.gov Thu Jan 23 01:10:49 2003 From: vrreddy@hss.hns.com Date: Thu Jan 23 01:10:51 PST 2003 Subject: Problem in Loading the application module to VxSim on HP-UX Hi All, I have some problem in loading the relocatable object module in VxSim on HP host. Foloowing is the information about the problem. please help in this regard. I have compiled my application using cchppa cross compiler on HP-UX. But i fail to load my application module on to VxSim and iam getting the following errors on the shell. Bus Error program counter: 0x0001753c next program counter: 0x00017540 processor status: 0x0004ff0f access address: 0x008b9700 3f163 vxTaskEntry +63 : shell ([eeeeeeee, eeeeeeee, eeeeeeee, eeeeeeee, 0]) 7e917 shell +14f: 7e938 ([eeeeeeee, eeeeeeee, eeeeeeee, eeeeeeee, eeeeeeee]) 7eafb shell +333: execute ([aaf0, f0cfc, 0, 1e3b, b07910]) 7ec43 execute +c3 : yyparse ([0, 0, 0, 0, 0]) ba7c3 yyparse +feb: b7d, b08010, b08008, f0a50]) b7f1f yystart +837: ld ([0, 0, 0, 0, 0]) 86777 ld +67 : loadModule ([b0831c, aac698, 0, 0, aac698]) 7c6c3 loadModule +1b : loadModuleAt ([0, 0, b08010, b08008, 0]) 7c6f3 loadModuleAt +23 : loadModuleAtSym ([eeeeeeee, a98b89, 0, b0cde0, 0]) 7c753 loadModuleAtSym+53 : 158b8 ([0, 8, 0, 0, 0]) 1606b loadSomCoffInit+7cb: 17000 ([0, 0, 0, &ioDefPath, a5e098]) shell restarted. version information : bash$ uname -a HP-UX payal B.10.20 A 9000/871 2004530773 two-user license Tornado version: 1.0.1 The same compiler(cchppa) is generating the two diffrent kind of relocatable object formats viz.,s800 relocatable object format and PA-RISC1.1 relocatable object format for the source files in the same directory. we find the above information with the "file" utility running on the HP host machine. bash$ file hmacmd5.o inet_aton.o hmacmd5.o: s800 relocatable object inet_aton.o: PA-RISC1.1 relocatable object Why it could be ? is there anything to do with the above problem? Your help is highly appreciated.... With thanx and regards, --vrreddy DISCLAIMER: This message is proprietary to Hughes Software Systems Limited (HSS) and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error, please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. HSS accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus. From vxwexplo-errs@csg.lbl.gov Thu Jan 23 04:03:17 2003 From: Vxworks Exploder Date: Thu Jan 23 04:03:18 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Thu Jan 23 04:03:14 PST 2003 Subject: SystemC on VxWorks ! Subject: Persistent Routing Entries Subject: keeping it up Subject: Re: help needed Subject: Re: change tNetQueue size Subject: Re: Priority Inversion Subject: SYM895 SCSI Driver problems... Subject: The role of dcacheDevCreate function in device driver ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: SystemC on VxWorks ! Date: 22 Jan 2003 05:09:34 -0800 From: anandv79@rediffmail.com (anand) Organization: http://groups.google.com/ Message-ID: <57e0c4f4.0301220509.2828e7ef@posting.google.com> Hello All, I wanted to know if anybody has tried compiling SystemC src on VxWorks. I tried it - but got stuck up as 'qt' libraries are not visible. Any pointers regarding this are greatly appreciated. Thanks in advance, Anand --------------------------- Newsgroups: comp.os.vxworks Subject: Persistent Routing Entries Date: 22 Jan 2003 05:16:03 -0800 From: kannan@comneti.com (kannan) Organization: http://groups.google.com/ Message-ID: <2ede7703.0301220516.71cbe5c9@posting.google.com> Hi, We have a route "P" Switch for the route command in windows . The "P" switch for the Route command allows a user to make persistent entries in the routing table by adding a static route directly to the registry. You can use the "P" switch for the Route command which allows a user to make persistent entries in the routing table by adding a static route directly to the registry. Sample syntax from a command line: route -p add 131.107.3.0 mask 255.255.255.0 131.107.3.1 The command forces the following registry entry to be read when the computer is restarted. Similiarly whether we have any option(Like Flags)to create Persisitent entries in the Route Table of vxWorks.Which will not get erased even when you restart your target system. Thanks, Kannan --------------------------- Newsgroups: comp.os.xinu,comp.os.vxworks,comp.os.vms,comp.os.v,comp.os.unix.misc,comp.os.unix Subject: keeping it up Date: Wed, 22 Jan 2003 15:13:33 +0000 From: Nic Clews Organization: CSC Computer Sciences Message-ID: <3E2EB51D.500C7614@127.0.0.1> References: WildStaringEyes wrote: > > If you are an embedded programmer using VxWorks, then how do you ever have > time for sex? OpenVMS:- No v*agra needed to keep it up! - -- Regards, Nic Clews a.k.a. Mr. CP Charges, CSC Computer Sciences nclews at csc dot com --------------------------- Newsgroups: comp.os.vxworks Subject: Re: help needed Date: 22 Jan 2003 12:53:09 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: Sender: bpringle@DeadDuck Raghavan> Iam doing my academic project in vxworks.I want to know how Raghavan> to write a device driver for a parallel port.can anyone Raghavan> suggest me what else can be done as a academic project. I think that an ADC (analog to digital converter) would be much more interesting. I don't know if you have resources available to make some hardware for you. However, an ADC is much more valuable to an embedded programmer (someone using vxWorks) than knowledge of a parallel port. Computer to computer communications (digital) can often be done easily with other OS's. I think that many applications use some sort of ADC technology. For instance, sensing temperature, a touch screen, batter charging, display contrasts, testing acidity and PH, etc. An accelerometer might be an interesting device to look at as well. The one I am familiar with uses a duty cycle modification to indicate X/Y tilts. This can be used for anti-lock braking, etc. Both suggestions would be far more difficult than a parallel port. However, they would have many of the challenges of how do you make the interface work. With digital communications, you just pass the data along. With an ADC (and many custom devices) there are many questions. How frequently do you read? When does reading start? Do you include a time with the value? Etc... often these questions will depend on the application. I would note that these devices/drivers are used in control systems. If you dont' really like control systems, a parallel port, serial driver, Ethernet driver, etc might be more interesting to you. I would think that a serial or Ethernet driver would be more "real life". In any case, it largely depends if you like embedded apps with communications focus or control focus... Most real devices have a bit of both. fwiw, Bill Pringlemeir. - -- Serbian president UNSCOM Cocaine Mossad Honduras IRA kibo Kh-11 AUTODIN Manfurov Noriega INSCOM threat beanpole --------------------------- Newsgroups: comp.os.vxworks Subject: Re: change tNetQueue size Date: Wed, 22 Jan 2003 18:37:44 GMT From: Jim Organization: Magma Communications Ltd. Message-ID: <3E2EE4F7.20506@sympatico.caREMOVE> References: Wow-ah ... Thanks for the response ... I managed to get the Q a little bigger ... now I can better handle "short bursts of data" by making the ipqueue size a little bigger ... the routines to change this were simple ... extern "C" void IPsetQMaxLen(int L) { struct ifqueue *inq = 0; inq = &ipintrq; inq->ifq_maxlen = L; } extern "C" void IPshowFwdQs() { struct ifqueue *inq = 0; inq = &ipintrq; printf("FWD LINK Q SIZE = %d\r\n", Q_SIZE); printf("TNET TASK Q %g % FULL (%d,%d)\r\n", (inq->ifq_len*1.0)/inq->ifq_maxlen*100, inq->ifq_len, inq->ifq_maxlen); } Jim wrote: > Hi how do I change the tNetTask Queue size without having tNetTask source? > > Is it possible? > > Jim > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Priority Inversion Date: Wed, 22 Jan 2003 14:55:39 -0500 From: Keith Arner Organization: Marconi Message-ID: References: <8400a733.0212270450.7c8b7d40@posting.google.com> Reply-To: Keith Arner On 20 Jan 2003, mjcse wrote: > Demrala, Bill, Rosenboim, Toni... & others who have > spent a time in reading and responding to my question about > priority invesion: Thanks a lot, that's all I could say. > With all the inputs I got from you people, I could understand > the concept and theory behind priority inversion. But I am > still confused whether it is helpful to use in real time > application. Or is there any side effects? Can you please > tell me if it really helps in increasing overall performance > in general? In that case I can use it VxWorks mutex semaphore. > Waiting for your response, As a general rule of thumb, all mutex semaphores should be made inversion safe. Also, all binary semaphores that are initialized to full should instead be mutex semaphores (which should be made inversion safe). If you follow these rules, the worst case run time of your critical sections will tend to be lower than if your ignore these rules; and worst case run time is what real time programming is all about. Note that these rules are not absolutely set in stone. Using inversion safe mutex semaphores does increase the run time of the common case, by comparison to using binary semaphores initialized to full. However, if you have the data to show that this overhead is the bottleneck in your real time program, then you probably also have the data to show whether you can safely get away without the inversion safety option. When in doubt, err on the side of inversion safety. Keith - -- "One should not pursue goals that are easily achieved." - Albert Einstein, 1915 --------------------------- Newsgroups: comp.os.vxworks Subject: SYM895 SCSI Driver problems... Date: Wed, 22 Jan 2003 17:13:57 -0500 From: Fran Rayson Message-ID: <3E2F17A5.9EE0A391@ll.mit.edu> I am running vxWorks on a dy4 Champ-AV II board. I have a Seagate Barracuda 180 drive (a SCSI interface disc drive) which I need to access with this system. I have a BVM PMC ULTRA 2 SCSI CONTROLLER (PMCSCU2),an Enhanced Ultra2 SCSI PMC Module. It uses the SYM53C895 SCSI Controller. I have obtained the sym895 driver source code from WindRiver and have built the sym895 driver. I have configured my vxWorks kernel such that it includes SCSI-2 capabilities (INCLUDE_SCSI and INCLUDE_SCSI2), also defining ULTRA2_SCSI and SCSI_WIDE_ENABLE. The controller physically resides in a PMC slot on the board; access to it is via a PCI bus. I am having problems recognizing the drive and am not sure if the problem is related to HW, SW or both. The controller appears to be created and initialized, yet it hangs when it tries to find the drive device. I've verified that the drive is good and that the SCSI cable is terminated properly. Also, a call to pciHeaderShow shows that the controller is recognized on the PCI bus. My problem comes when I try to do a scsiPhysDevCreate() I use the default parameters, with the exception of SCSI-ID=0, LUN=0. i.e. pSpd00=scsiPhysDevCreate(pSysScsiCtrl,0,0,0,-1,0,0,0) *** PROBLEM IS HERE -- never get beyond this *** This is the output I get when I set scsiDebug=1: 0x274a390 (t1): scsiReqSense: 0x274a390 (t1): scsi2Transact: 0x27f84a8 (tScsiTask): scsiMgrRequestProc: client request: 0 0x27f84a8 (tScsiTask): scsiMgrActivateRequest: thread 0x02739b08 0x27f84a8 (tScsiTask): sym895ThreadActivate: thread 0x02739b08 activating 0x27f84a8 (tScsiTask): sym895XferParamsCvt: converted to: offset = 0, period = 0 xferParams = 0, clockDivide = 87 0x27f84a8 (tScsiTask): sym895ThreadStateSet: thread 0x02739b08 1 -> 6 0x27f84a8 (tScsiTask): scsiMgrTimeoutProc: thread 0x02739b08 (state = 6) timed out 0x27f84a8 (tScsiTask): sym895ThreadAbort: thread 0x02739b08 (state = 6) aborting 0x27f84a8 (tScsiTask): sym895ThreadStateSet: thread 0x02739b08 6 -> 9 Has anyone come across similar issues or does anyone have any useful suggestions ? Thanks --------------------------- Newsgroups: comp.os.vxworks Subject: The role of dcacheDevCreate function in device driver Date: 23 Jan 2003 01:04:50 -0800 From: slnshits@stx.kollmorgen.com (Sagi Linshits) Organization: http://groups.google.com/ Message-ID: <2fbe47b0.0301230104.5351601b@posting.google.com> We wrote device driver for flash AM29LV160DT and when I want to create new file (by using open or creat) function it sometimes failed. For example one time succeed and another time failed. (It happenes only if created new file) I see that it's depends on the size of cache that created by dcacheDevCreate function, for example if I increase size of cache it changed the number of succed times. So now it 3 times succeded and one time failed. Can somebody answer me to understande more about dcacheDevCreate function and what must be optimal size of cache in which everytime will be succeed without fail. Thanks --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Thu Jan 23 06:37:02 2003 From: Mike McCullough Date: Thu Jan 23 06:37:03 PST 2003 Subject: VxWorks UDP Communication --=====================_5922781==_.ALT Content-Type: text/plain; charset="us-ascii"; format=flowed I've got a customer with a UDP file transfer application. They have WDB included and are seeing some interesting behavior. Any time they have 0x4321 in the last 16 bytes of a fragment, their application misses the fragment and they get an incomplete file transfer. They do see a task transition to the WDB Task on Windview when this happens. This problem doesn't occur with a TCP version so it does appear to be related to using the WDB. I was wondering if anyone could explain the use of 0x4321 in the WDB protocol (if there is one)? I'd check it myself but I don't have source for WDB and it could take days for an answer from Wind support. ********************************************************** Mike McCullough MCC Systems, Inc. President and CEO 9 Cheshire Court Londonderry, NH 03053 mike@mccengineering.com Tel: 603-537-9593 Fax: 603-434-9890 www.mccengineering.com Cell: 603-247-1219 ********************************************************** 24x7 VxWorks Support Custom Support Programs VxWorks Training Embedded Consulting Services A WindLink Partner ********************************************************** --=====================_5922781==_.ALT Content-Type: text/html; charset="us-ascii" I've got a customer with a UDP file transfer application. They have WDB included and are seeing some interesting behavior. Any time they have 0x4321 in the last 16 bytes of a fragment, their application misses the fragment and they get an incomplete file transfer. They do see a task transition to the WDB Task on Windview when this happens.

This problem doesn't occur with a TCP version so it does appear to be related to using the WDB. I was wondering if anyone could explain the use of 0x4321 in the WDB protocol (if there is one)? I'd check it myself but I don't have source for WDB and it could take days for an answer from Wind support.


**********************************************************
Mike McCullough                    MCC Systems, Inc.                    
President and CEO                  9 Cheshire Court
                                   Londonderry, NH 03053

mike@mccengineering.com            Tel:  603-537-9593
                                   Fax:  603-434-9890
www.mccengineering.com             Cell: 603-247-1219

**********************************************************
       24x7 VxWorks Support  Custom Support Programs
         VxWorks Training   Embedded Consulting Services
                    A WindLink Partner
********************************************************** --=====================_5922781==_.ALT-- From vxwexplo-errs@csg.lbl.gov Fri Jan 24 04:03:36 2003 From: Vxworks Exploder Date: Fri Jan 24 04:03:38 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Fri Jan 24 04:03:26 PST 2003 Subject: Re: VxWorks UDP Communication Subject: Re: help needed Subject: Backend Controllers, .dll files Subject: Building a C++ archive lib? Subject: Re: Compiling assembly inside Tornado Subject: How to use custom device model with VxSim Subject: Re: netJobRing overflow!!! Subject: Re: SystemC on VxWorks ! ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: VxWorks UDP Communication Date: Thu, 23 Jan 2003 10:30:08 -0500 From: Varndell Engineering Organization: Newsfeeds.com http://www.newsfeeds.com 100,000+ UNCENSORED Newsgroups. Message-ID: References: <5.1.0.14.2.20030123093003.00b92e10@pop3.ttlc.net> On Thu, 23 Jan 2003 09:37:09 -0500, Mike McCullough wrote: > >I've got a customer with a UDP file transfer application. They have WDB >included and are seeing some interesting behavior. Any time they have >0x4321 in the last 16 bytes of a fragment, their application misses the >fragment and they get an incomplete file transfer. They do see a task >transition to the WDB Task on Windview when this happens. > >This problem doesn't occur with a TCP version so it does appear to be >related to using the WDB. I was wondering if anyone could explain the use >of 0x4321 in the WDB protocol (if there is one)? I'd check it myself but I >don't have source for WDB and it could take days for an answer from Wind >support. From wdb.h.... /* session information */ #define WDBPORT (u_short) 0x4321 /* UDP port to connect */ Regards, George Varndell --------------------------- Newsgroups: comp.os.vxworks Subject: Re: help needed Date: 23 Jan 2003 08:40:53 -0800 From: raghav_chari@yahoo.com (raghavan) Organization: http://groups.google.com/ Message-ID: References: Bill Pringlemeir wrote in message news:... > Raghavan> Iam doing my academic project in vxworks.I want to know how > Raghavan> to write a device driver for a parallel port.can anyone > Raghavan> suggest me what else can be done as a academic project. > > I think that an ADC (analog to digital converter) would be much more > interesting. I don't know if you have resources available to make > some hardware for you. However, an ADC is much more valuable to an > embedded programmer (someone using vxWorks) than knowledge of a > parallel port. Computer to computer communications (digital) can > often be done easily with other OS's. I think that many applications > use some sort of ADC technology. For instance, sensing temperature, a > touch screen, batter charging, display contrasts, testing acidity and > PH, etc. > > An accelerometer might be an interesting device to look at as well. > The one I am familiar with uses a duty cycle modification to indicate > X/Y tilts. This can be used for anti-lock braking, etc. > > Both suggestions would be far more difficult than a parallel port. > However, they would have many of the challenges of how do you make the > interface work. With digital communications, you just pass the data > along. With an ADC (and many custom devices) there are many > questions. How frequently do you read? When does reading start? Do > you include a time with the value? Etc... often these questions will > depend on the application. > > I would note that these devices/drivers are used in control systems. > If you dont' really like control systems, a parallel port, serial > driver, Ethernet driver, etc might be more interesting to you. I > would think that a serial or Ethernet driver would be more "real > life". In any case, it largely depends if you like embedded apps with > communications focus or control focus... Most real devices have a bit > of both. > > fwiw, > Bill Pringlemeir. Sir, Thanks for replying to my query . Iam a Computer science student and I don't know anything about electronics and it's hardware . I just write the code as a downloadable application . The target environment is graphically represented in visual basic . The input are given in visual basic through buttons . These input values are written to files which is then read in vxworks using I/O file operations. Thanks - --Raghavan.V. --------------------------- Newsgroups: comp.os.vxworks Subject: Backend Controllers, .dll files Date: Thu, 23 Jan 2003 10:47:25 -0800 From: Lynn Graham Organization: LSI Logic Corporation Message-ID: <3E3038BD.91489630@lsil.com> Hi all, I am developing a new backend to utilize Tornado over JTAG for my companies custom chip set. In order to control my JTAG controller, I must use the OEM supplied .dll file, let's call it OEM_Jtag.dll. In standalone code, I can fully operate the JTAG controller with ease but my goal is to operate the JTAG controller with the Tornado Target Server Backend Interface. I have been successful at creating the mybackend.dll file for my custom backend controller and having it acknowledge commands from the target server. I am using the wpwrLog functions located in the libwpwr.lib and libwpwr.dll to monitor code execution. The catch, is that this works as long as no functions are called that pull in the OEM_Jtag.dll. If the code is compiled with any line that would invoke any function located within OEM_Jtag.dll, then I get an execution failure because the program is searching for a function in OEM_Jtag.dll which actually exist in libwpwr.dll. If I try to change the link order so that libwpwr.lib is linked first, then I get link failure due to "multiple definition of "_NULL_IMPORT_DESCRIPTOR". How do I get the right .dll library to be used for a particular function? Thanks in advance Lynn --------------------------- Newsgroups: comp.os.vxworks Subject: Building a C++ archive lib? Date: 23 Jan 2003 13:25:37 -0800 From: rwinstanley@northropgrumman.com (Roger) Organization: http://groups.google.com/ Message-ID: How can I build a C++ archive lib for vxWorks that can be linked with the final program. I am having problems with how the munching is done I think? Thanks, Roger Winstanley --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Compiling assembly inside Tornado Date: Thu, 23 Jan 2003 17:02:13 -0800 From: "Jimbob" Message-ID: References: <1d1f92de.0301231535.28ef5cf5@posting.google.com> > I have a Tornado project that currently contains all C code and have > the need to add a file that contains 1 MIPS assembly function to the > project. When I add the file and try and compile it, I get errors > indicating that the assembler opcodes are not understood. The > assembly function is very short, contains no macros, and uses no > #defined values. Here is the build window output: > > //////////////////////////////////////////////////////////////////////////// / > ccmips -g -EB -mcpu=r3000 -non_shared -G 0 -ansi -pedantic -nostdinc > -funroll-loops -fno-f > or-scope -fno-builtin -P -x assembler-with-cpp -I. > -IC:\Tornado\target\h -DCPU=R3000 -c C: > \ED14\UPA_Development\Application\edac_test.s -o edac_test.o > C:\TEMP\cca00169.s: Assembler messages: > C:\TEMP\cca00169.s:16: Error: ERROR: Illegal operands `lui' > C:\TEMP\cca00169.s:17: Error: ERROR: Illegal operands `ori' > C:\TEMP\cca00169.s:18: Error: ERROR: Illegal operands `lui' > C:\TEMP\cca00169.s:19: Error: ERROR: Illegal operands `lw' > C:\TEMP\cca00169.s:21: Error: ERROR: Illegal operands `or' > C:\TEMP\cca00169.s:22: Error: ERROR: Illegal operands `sw' > C:\TEMP\cca00169.s:26: Error: ERROR: Illegal operands `lui' > C:\TEMP\cca00169.s:27: Error: ERROR: Illegal operands `ori' > C:\TEMP\cca00169.s:28: Error: ERROR: Illegal operands `sw' > C:\TEMP\cca00169.s:32: Error: ERROR: Illegal operands `sw' > C:\TEMP\cca00169.s:36: Error: ERROR: Illegal operands `not' > C:\TEMP\cca00169.s:37: Error: ERROR: Illegal operands `and' > C:\TEMP\cca00169.s:38: Error: ERROR: Illegal operands `sw' > ccmips: Internal compiler error: program as got fatal signal 1 > make: *** [edac_test.o] Error 0x1 > //////////////////////////////////////////////////////////////////////// > > Is there a standard include file or #define that I need to tell the > compiler that this is an assembly file and what the target > architecture is? From the build output I see the switch -x > assembler-with-cpp and -DCPU=R3000 -- what else do I need in order to > compile this file? What does your asm look like in your code? Like this . .. ? asm("align 4"); asm("add_loop:"); --------------------------- Newsgroups: comp.os.vxworks Subject: How to use custom device model with VxSim Date: 22 Jan 2003 01:59:05 -0800 From: anandv79@rediffmail.com (anand) Organization: http://groups.google.com/ Message-ID: <57e0c4f4.0301220159.12239e40@posting.google.com> Hi All, We are writing drivers for some hardware devices whose C++ model we have. Now we want to test our drivers thru VxSim. I have a few queries regarding this: 1. How to integrate the C++ implementation of hardware with VxSim ? 2. Can we specify different characteristics for different memory area being used by VxSim ? 3. Is it possible to simulate target hardware, and evaluate BSP over this using VxSim ? Any help regarding this is greatly appreciated. Thanks in advance, Anand --------------------------- Newsgroups: comp.os.vxworks Subject: Re: netJobRing overflow!!! Date: 23 Jan 2003 21:30:45 -0800 From: mjcse@rediffmail.com (mjcse) Organization: http://groups.google.com/ Message-ID: References: Hi Arun, I am also facing the similar problem. Please if you find the solution by now, post it please. Thanks & Regards, shafi arunkumar_r@rediffmail.com (Arun Kumar) wrote in message news:... > Hi, > > I am trying to download vxWorks image onto the target using ftp but i > am getting the error message "panic: netTask : netJobRing overflow". > > I am using Tornado 2.2/VxWorks 5.5 on an ARM Integrator AP board which > uses ARM920T core module. > > The error message is: > > Attached TCP/IP interface to fei0 > Attaching network interface lo0...done > Loading...490176 > 0x7968b4(tNetTask): panic: netTask: netJobRing overflow! > > I would be really grateful if someone could give a suggestion to this > problem. > > Thanx, > Arun --------------------------- Newsgroups: comp.os.vxworks Subject: Re: SystemC on VxWorks ! Date: 24 Jan 2003 02:15:10 -0800 From: anandv79@rediffmail.com (anand) Organization: http://groups.google.com/ Message-ID: <57e0c4f4.0301240215.30145d4@posting.google.com> References: <57e0c4f4.0301220509.2828e7ef@posting.google.com> <3e2ffee1$0$19951$44c9b20d@news3.asahi-net.or.jp> "Girish Gulawani" wrote in message news:<3e2ffee1$0$19951$44c9b20d@news3.asahi-net.or.jp>... > just out of curiosity, why are you running system-c on vxworks platform. i > heard it's actually vxworks that should be running on system-c executables. > > "anand" wrote in message > news:57e0c4f4.0301220509.2828e7ef@posting.google.com... > > Hello All, > > I wanted to know if anybody has tried compiling SystemC src on > > VxWorks. I tried it - but got stuck up as 'qt' libraries are not > > visible. Any pointers regarding this are greatly appreciated. > > > > Thanks in advance, > > Anand Hi, The purpose is hw/sw co-verification...so both approaches may be applicable...but in both of these, the issue of clock synchronization remains the same (i.e how to synchronize between the simulated processor clock and simulated hardware clock ?). To this end, is there any approach for co-verification that may work under VxWorks ? Any pointers as regards this are greatly appreciated. Thanks in advance, Anand --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Sat Jan 25 04:03:25 2003 From: Vxworks Exploder Date: Sat Jan 25 04:03:27 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Sat Jan 25 04:03:22 PST 2003 Subject: Re: vxWorks- booting Subject: Select in sioLib/tyLib Subject: Linking Problem (MIPS, T2.2, Green 6.5.3). Subject: Re: ioDefPathGet & ioDefPathSet Subject: Re: cc386: Internal compiler error: program cc1 got fatal signal 5.. Subject: Re: problems with sysMmuMapAdd() Subject: Re: Floating Point multiplication problem. Subject: Re: How to modify BSP used by VxSim ? Subject: Re: Compiling assembly inside Tornado Subject: Re: Compiling assembly inside Tornado ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: vxWorks- booting Date: 24 Jan 2003 04:55:23 -0800 From: biju080@yahoo.com (biju k) Organization: http://groups.google.com/ Message-ID: References: <2b535510.0301190344.381eb2fb@posting.google.com> p_san_gita@yahoo.com (Sangita.P) wrote in message news:<2b535510.0301190344.381eb2fb@posting.google.com>... > hye all, > > i have a problem ,when i yam trying to build a vxWorks image with the > bootable project i yam not able to the vxworks.st build along with > the vxWorks.exe.It just remains the default one. > Is there anything i need to modify such that i can VxWorks.st image > also along with my vxWorks.exe > > With regards, > P.Sangita. hi, i guess u r trying for standalone system which gets booted from ur floppy if thats what u want ( i guess so since ur BSP is pentium , so ur target has to be a PC ) , do let me know networking card u use for target,oh u r not able to buil itself,try CLEANING the earlier build , and then build the vxworks and not vxworks.st. if i am thinking in the right direction is what u want do let me know. Best of Luck --------------------------- Newsgroups: comp.os.vxworks Subject: Select in sioLib/tyLib Date: Fri, 24 Jan 2003 13:50:56 -0000 From: "p" Organization: ? Message-ID: <1043416257.963020@ernani.logica.co.uk> Hopefully a quick and easy question... What does 'writeable' mean when select() is release by an SIO device driver? Does is mean: - there is at least 1 byte free in the Tx buffer - the Tx buffer is now empty - the Tx buffer has reach some kind of low watermark Cheers. --------------------------- Newsgroups: comp.os.vxworks Subject: Linking Problem (MIPS, T2.2, Green 6.5.3). Date: Fri, 24 Jan 2003 23:23:20 +0900 From: "Girish Gulawani" Message-ID: <3e314bcc$0$19953$44c9b20d@news3.asahi-net.or.jp> Hi, All. I'm trying to use Green Hills 6.5.3 tools to compile Tornado 2.2 sources. I'm trying to build vxWorks.res_rom_nosym. All the sources (*.c, *.s) are compiled & the partial/pre-linking is OK. Relocatable objects (usrConfig.o -> ctmp.o) are created. The final link is also OK. ... usrKernelInit() --> jal --> Correctly resolved & linked. ... kernelInit((FUNCPTR) usrRoot, ...) --> Wrong &(usrRoot) passed ... For the call kernelInit() the parameter register (a0) is loaded with a wrong value. Please note that, during the partial linking, the intermediate object files (usrConfig.o, ctmp.o) contain correct offsets. During final linking the link editor seems to put incorrect address values in parameter register. There's no warning, error or message from Linker. Below is a cut-paste of build log & objdumpmips output. Please observe that ctmp.o has correct offset 0x1C4 for the usrRoot function pointer. However in the VxWorks image dump followed doesn't have correct address of usrRoot. Any help in this regard will be greatly appreciated. Thanks in advance. Girish. - --- make vxWorks.res_rom_nosym ... elxr -map -o vxWorks.res_rom_nosym -e romInit \ -T./rom_resi_low.ld romInit_res.o bootInit_res.o ctmp.o ctdt.o true vxWorks.res_rom_nosym - --- ctmp.o: file format elf32-bigmips ... 18c: 3c040000 lui $a0,0x0 <--- Upper address bits 190: 248401c4 addiu $a0,$a0,452 <--- Offset usrRoot (correct) 194: 3c060000 lui $a2,0x0 198: 24c60000 addiu $a2,$a2,0 19c: 00603825 move $a3,$v1 1a0: 34054e20 li $a1,0x4e20 1a4: 0c000000 jal 0 1a8: 00000000 nop ... 00000000000001c4 : 1c4: 27bdffa0 addiu $sp,$sp,-96 ... - --- vxWorks.res_rom_nosym: file format elf32-bigmips ... ffffffffbfc0106c: 3c04bfc0 lui $a0,0xbfc0 <--- Upper address bits ffffffffbfc01070: 24841268 addiu $a0,$a0,4712 <--- Offset != 0x10A4 ffffffffbfc01074: 3c060000 lui $a2,0x0 ffffffffbfc01078: 24c61bd0 addiu $a2,$a2,7120 ffffffffbfc0107c: 00603825 move $a3,$v1 ffffffffbfc01080: 34054e20 li $a1,0x4e20 ffffffffbfc01084: 0ff0bad8 jal ffffffffbfc2eb60 ffffffffbfc01088: 00000000 nop ... ffffffffbfc010a4 : ffffffffbfc010a4: 27bdffa0 addiu $sp,$sp,-96 ... - --- --------------------------- Newsgroups: comp.os.vxworks Subject: Re: ioDefPathGet & ioDefPathSet Date: Fri, 24 Jan 2003 16:31:50 +0200 From: "Vassilis Panagiotopoulos" Organization: Intracom S.A., GREECE Message-ID: References: <63c835dd.0301230937.39fa5082@posting.google.com> There is sufficient documentation I think in the online help (ioLib). You must provide the right parameter, anyway. "Sergiohdezm" wrote in message news:63c835dd.0301230937.39fa5082@posting.google.com... > Hi, I'm working with vxWorks and I have a problem. When I use the > ioDefPathGet function in the shell, it returns a null string. I have a > program that loads a program in a DSP, but it not finds the path of > the file. Can someone explains me how to use the ioDefPathSet > instruction? Thanks. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: cc386: Internal compiler error: program cc1 got fatal signal 5.. Date: Fri, 24 Jan 2003 16:45:05 +0200 From: "Vassilis Panagiotopoulos" Organization: Intracom S.A., GREECE Message-ID: References: I've encountered this kind of problem, too. Then I noticed that exactly the same source with exactly the same tools compiled just fine on another machine! The only difference between the two PCs was the installed memory (128M vs 96MB). After upgrading system memory, I can use at least optimization level 1, but still facing the same problem with higher levels. Among other possible reasons, check your system resources. "Vijay Peshkar" wrote in message news:bb8c75e1.0301230633.2c773b3b@posting.google.com... > Hi, > > On compiling a file singly or building as part of a project, > the compilation stops with a popup window displaying > "cc1.exe has generated errors and will be closed by Windows. > You will need to restart the program". > The build/compilation terminates with message: > cc386: Internal compiler error: program cc1 got fatal signal 5 > make: *** [rtpMPEGLib.o] Error 0x1 > > Going thru the group found that few people had suggested it may be > due to big buffer sizes which have now made very small(from 2MB to > 80 bytes!!). Still the problem persists. Couldn't find the patch > either on wrs site. > > Would be great if you could give any pointers on what > I am be missing here... > > Have Tornado 2.0....X86 target on windows host. > > Thanks and Regards, > Vijay --------------------------- Newsgroups: comp.os.vxworks Subject: Re: problems with sysMmuMapAdd() Date: Fri, 24 Jan 2003 17:16:17 +0100 From: "Fabio Garufi" Organization: MC-link S.p.A. Message-ID: References: Hi all, thanks for the efforts. I solved the problem, and apparently it was a mere programming error ;-) I wrote: [...] if (sysMmuMapAdd((void*)&bar[i],0x10000,VM_STATE_MASK_FOR_ALL,VM_STATE_FOR_PCI) == ERROR) While it should have been: [...] if (sysMmuMapAdd((void *)mem[i],size,VM_STATE_MASK_FOR_ALL,VM_STATE_FOR_PCI) == ERROR) Anyway if none of us could detect the error, it means it was hidden enough... Bye, Fabio - -- - ------------------------------------------------------------------------ ** Dr. Fabio Garufi ** Software Manager ** ** ELE.SI.A. S.r.l. ** ISO 9001 CERTIFIED ** Tel. +39.0774.3653.227 / Fax +39.0774.3653.300 ** http://www.elesia.it - ------------------------------------------------------------------------ "Fabio Garufi" ha scritto nel messaggio news:b0gm5q$9tj$1@newsreader1.mclink.it... > Hi all, > I am trying to install a grabber PMC board on a Intel Pentium III cPCI > (VMICPCI 7755) board under Tornado 2.0.2, VxWorks 5.4.2. > The board is seen by the pciDeviceShow and pciHeaderShow functions: it opens > three memory prefetchable regions: > 0xf4400000 64K wide > 0xf4800000 4M > 0xf44800000 512K > The problem arises when I try to access this memory, I get a page fault > whatever the window I try to access both in reading and writing. > modified the $(WIN_BASE)/target/config/vmicpci7755/sysLib.c by adding a > function that adds the memory regions to MMU Map (see below). When I call > the function from within sysHwInit() the system does not complete the boot > and freezes, while if I call it from sysHwInit2() I do not obtain any > change. > Apparently it freezes on sysMmuMapAdd(). > Any help? > Thanks all in advance. > > Here follows the function code: > ================================== > #ifdef INCLUDE_M503 > > #define M503_VEND_ID xxxx > #define M503_DEV_ID yyyy > STATUS sysM503PciInit() > /* sysM503PciInit */ > { > UINT32 bar[6], mem[6], enc[6]; > UINT size, mask; > int bus, dev, func, i; > UINT16 data; > for (i=0; i<6;i++)/* loop on units */ > { > if(pciFindDevice (M503_VEND_ID, M503_DEV_ID, i, &bus, &dev, &func) != > OK) > break; > /* get memory base address and IO base address */ > > pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_0, &bar[i]); > pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1, &mem[i]); > pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_2, &enc[i]); > bar[i] &= PCI_MEMBASE_MASK; > mem[i] &= PCI_MEMBASE_MASK; > enc[i] &= PCI_MEMBASE_MASK; > /* find out the memory space requirements of this BAR */ > > pciConfigOutLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1, 0xffffffff); > pciConfigInLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1,&mask); > size=~(mask&PCI_MEMBASE_MASK)+1; > /* restore original value */ > pciConfigOutLong (bus,dev,func, PCI_CFG_BASE_ADDRESS_1, mem[i]); > /* Read back value, it could be changed */ > pciConfigInLong (bus, dev, func, PCI_CFG_BASE_ADDRESS_1, &mem[i]); > mem[i] &=PCI_MEMBASE_MASK; > > if (sysMmuMapAdd((void > *)&bar[i],0x10000,VM_STATE_MASK_FOR_ALL,VM_STATE_FOR_PCI) > == ERROR) > break; > if (sysMmuMapAdd((void > *)&mem[i],size,VM_STATE_MASK_FOR_ALL,VM_STATE_FOR_PCI) > == ERROR) > break; > pciConfigOutWord (bus, dev, func, > PCI_CFG_COMMAND, PCI_CMD_IO_ENABLE | > PCI_CMD_MEM_ENABLE | PCI_CMD_MASTER_ENABLE); > } /* end loop on units */ > return (OK); > } > #endif /* INCLUDE_M503 */ > > -- > ------------------------------------------------------------------------ > ** Dr. Fabio Garufi > ** Software Manager > ** > ** ELE.SI.A. S.r.l. > ** ISO 9001 CERTIFIED > ** Tel. +39.0774.3653.227 / Fax +39.0774.3653.300 > ** http://www.elesia.it > ------------------------------------------------------------------------ > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Floating Point multiplication problem. Date: 24 Jan 2003 08:37:06 -0800 From: agraham@openglobe.net (Aaron Graham) Organization: http://groups.google.com/ Message-ID: <95ebbe31.0301240837.2a52c3d@posting.google.com> References: I found the following information in the GCC manual, in the "Known Problems/Disappointments and Misunderstandings": - -----clip----- On 68000 and x86 systems, for instance, you can get paradoxical results if you test the precise values of floating point numbers. For example, you can find that a floating point value which is not a NaN is not equal to itself. This results from the fact that the floating point registers hold a few more bits of precision than fit in a double in memory. Compiled code moves values between memory and floating point registers at its convenience, and moving them into memory truncates them. You can partially avoid this problem by using the -ffloat-store option (see Optimize Options). - -----clip----- Obviously, you can see if the FP is moved to memory and then back into a register by looking at the disassembly. Aaron cristian291@virgilio.it (Cristian Brambilla) wrote in message news:... > Hi everybody! > > Please, consider the following task: > > void testMultiplication (void) > { > double tempValue; > float floatValue; > unsigned long finalValue; > > > floatValue = 108.1; > tempValue = floatValue*20971520; > finalValue = (unsigned long)(tempValue); > finalValue>>=20; > printf ("\ntempValue: %20.18f %20.18g\n",tempValue,tempValue); > printf ("\nfinalValue: %X\n",finalValue); > > floatValue = 108.1; > tempValue = floatValue*20971520.0; > finalValue = (unsigned long)(tempValue); > finalValue>>=20; > printf ("\ntempValue: %20.18f %20.18g\n",tempValue,tempValue); > printf ("\nfinalValue: %X\n",finalValue); > } > > I have executed this task upon a FORCE board, using Motorola 68060 > architecture. The output obtained is: > > tempValue: 2267021312.000000000000000000 > 2267021312.000000000000000000 > finalValue: 872 > > tempValue: 2267021280.000000000000000000 > 2267021280.000000000000000000 > finalValue: 871 > > > The correct computation is the first one. By simply changing the > constant value 20971520 into 20971520.0, I got a wrong result. > Can you help me??????? > > Thanks in advance. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to modify BSP used by VxSim ? Date: Sat, 25 Jan 2003 03:02:18 +0900 From: "Girish Gulawani" Message-ID: <3e317f1e$0$19948$44c9b20d@news3.asahi-net.or.jp> References: <57e0c4f4.0301240153.34ae32d4@posting.google.com> i guess it's much complex than that. i am sure you know that the vxsim is vxworks simulator. it works just as another process on a host. vxsim bsp as such can be considered as a bsp for the host cpu. it follows more or less same bsp design. if you are expecting some kind of *memory* access it would be just using whatever is known to vxsim as a process. in other words no special hw features attached to it. afaik, it hardly concerns vxsim bsp as such. it's just another vxworks multitasking specifications you are talking about. you require to interface vxsim with the memory simulators. what people generally use is some fancy & costly tools. they either already have vxsim support build into them or they have interfaces over the usual bsd sockets so that you can write kind of RPC mechanism built on it. here i refer to your prev. question of integrating system-c with vxsim, this is one such option. in that case you'd build entire memory system in vxsim as user task(s). whose specs are written in system-c. this mem modeler task can export an interface of the byte, dowrd, dword read/write access. this interface you can access from your memory Read and Write functions in software apps. i have never done system-c inside vxsim. however we normally use hw model accessing libraries either those already supplied with tools or our own inhouse developed interfaces. if you say you'd have to begin with integrating system-c inside vxsim & then write memory models, which will be used by your software tasks then i suppose you know you have long way to go... please keep this group posted. it will be good to see such discussions, sure it'll interest many. "anand" wrote in message news:57e0c4f4.0301240153.34ae32d4@posting.google.com... > Hello All, > Has anybody tried changing the BSP used by VxSim. > Basically i am trying, some memory area to behave differently. To > accomplish this, i have written a simple C program with two functions > 'Read and Write'. Now i wud have to plug in this code to the BSP > (something that wud be done if real hardware was there), and then > re-compile the VxSim. > > Has anybody tried this before ? > > Thanks in advance, > Anand --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Compiling assembly inside Tornado Date: Fri, 24 Jan 2003 14:05:11 -0500 From: david lindauer Message-ID: <3E318E66.494E28C7@notifier-is.net> References: <1d1f92de.0301231535.28ef5cf5@posting.google.com> <1d1f92de.0301240944.180e35df@posting.google.com> I've never done this... but it looks like if you right click on the file in the target window, then select property page, you get several tabs. Select the one that says 'build', then unclick 'use default build rule for this file', then type in the command line required to assemble the file in the large text box. I suspect that will get you what you want, although like I say I have never explicitly done this. David David wrote: > The file I'm attempting to "compile" is all assembly. I don't use the > asm("") calls from C, the file is completely assembly much like the > romInit.s file in any BSP. I've been able to compile the file if I > add it to our "bare" Tornado project that only contains the BSP files. > Whenever I add the file to the Tornado project that contains our > applicaiton code (all written in C), the build fails with the error > messages I gave earlier. The question is simply how do you take a > file that contains a function written completely in assembly and add > it to a Tornado project and successfully compile the file. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Compiling assembly inside Tornado Date: Sat, 25 Jan 2003 04:12:42 +0900 From: "Girish Gulawani" Message-ID: <3e318f9f$0$19959$44c9b20d@news3.asahi-net.or.jp> References: <1d1f92de.0301231535.28ef5cf5@posting.google.com> <1d1f92de.0301240944.180e35df@posting.google.com> just wanted to know if you have #define _ASMLANGUAGE on the top. "David" wrote in message news:1d1f92de.0301240944.180e35df@posting.google.com... > The file I'm attempting to "compile" is all assembly. I don't use the > asm("") calls from C, the file is completely assembly much like the > romInit.s file in any BSP. I've been able to compile the file if I > add it to our "bare" Tornado project that only contains the BSP files. > Whenever I add the file to the Tornado project that contains our > applicaiton code (all written in C), the build fails with the error > messages I gave earlier. The question is simply how do you take a > file that contains a function written completely in assembly and add > it to a Tornado project and successfully compile the file. --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Sun Jan 26 04:03:13 2003 From: Vxworks Exploder Date: Sun Jan 26 04:03:14 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Sun Jan 26 04:03:11 PST 2003 Subject: Re: problems with memory pool management with netBufLib Subject: Re: change tNetQueue size Subject: Re: change tNetQueue size Subject: Re: The role of dcacheDevCreate function in device driver Subject: Re: The role of dcacheDevCreate function in device driver Subject: Re: DosFs long name ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: problems with memory pool management with netBufLib Date: 18 Jan 2003 03:46:11 -0800 From: gonozal@gmx.at (Toni Kurzberger) Organization: http://groups.google.com/ Message-ID: <8400a733.0301180346.4cbb269@posting.google.com> References: lliao@opvista.com (Liang) wrote in message news:... > Can anyone tell me if there's anything wrong with the code below. I > am getting > "motSend: ERROR - pClBlk == NULL.\n" and "motSend: ERROR - pCl == > NULL.\n" occasionally. (Should I allocate more blocks of memory in the > motInitMem function?) Thank you so much. I have not looked at the code yet (because I don't expect the problem to be only in this pice of code)... but you might want to check whether you're loosing/leaking buffers somewhere. Try this pice of code while running into the problem and compare the results, it will show the ressource status of your end pool. IMPORT void netPoolShow (NET_POOL_ID pNetPool); void endPoolShow(char *dev, int unit) { END_OBJ * pEnd; if ((pEnd = endFindByName (dev, unit)) != NULL) netPoolShow (pEnd->pNetPool); else printf ("Could not find device %s\n", dev); return; } toni --------------------------- Newsgroups: comp.os.vxworks Subject: Re: change tNetQueue size Date: 18 Jan 2003 03:49:37 -0800 From: gonozal@gmx.at (Toni Kurzberger) Organization: http://groups.google.com/ Message-ID: <8400a733.0301180349.5a91a63@posting.google.com> References: Jim wrote in message news:... > Hi how do I change the tNetTask Queue size without having tNetTask source? > > Is it possible? > > Jim on VxWorks 5.4.2 there is no "clean" way of doing this w/o source code... there is not even a suitable hack for this (the size is a macro... the RING_ID is local). contact WRS support, they might be able to help you here, toni --------------------------- Newsgroups: comp.os.vxworks Subject: Re: change tNetQueue size Date: Sat, 18 Jan 2003 13:36:09 GMT From: "Dave Schmidt" Organization: WrxRite.com Message-ID: References: Jim, You don't say why you want / need to change the size. Most likely cause, from my experience, of why someone would want to change the size of the queue is beacuse there is some user task of a higher priority / ISR occuring that is taking up a lot of CPU time. Im my experience, user tasks should not have a higher priority than tNetTask. (Remember the lower the priority number, the higher the overall system priority) Overall, determining what the priorities should be for the tasks in your system is an educated guess. Rules of thumb I use are: 1) Never make a user task have a priority higher than or equal to tNetTask. 2) Arrange priorities according to overall system loading, i.e give the most critical / most used interface the higher priority 3) Arrange priorites to account for hardware bottlenecks, bursty input data / etc. Determining priorites is an art, not a science. Using WindView can help in determining where your code is spending the majority of its time, and thus allow you to tweek the priorities accordingly. Dave Schmidt www.wrxrite.com "Jim" wrote in message news:yTTV9.25006$j5.114241@news... > Hi how do I change the tNetTask Queue size without having tNetTask source? > > Is it possible? > > Jim > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: The role of dcacheDevCreate function in device driver Date: Sun, 26 Jan 2003 11:00:55 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <2fbe47b0.0301230104.5351601b@posting.google.com> Reply-To: "Leonid Rosenboim" Sagi, when there is a mechaical hard disk involved, the role of dcache (i.e. disk cache) is to optimize disk access, reduce the number of times the disk head needs to move, and improve overall performance of the file system. When a Flash device is used instead of a hard disk, there is really not much that disk cache can do to optimize performance, and my opinion is it should not be used at all in sutations where Flash storage is concerned. There is a description of disk cache int he DosFs 2.0 documentation. - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com "Sagi Linshits" wrote in message news:2fbe47b0.0301230104.5351601b@posting.google.com... > We wrote device driver for flash AM29LV160DT and when I want to create > new file > (by using open or creat) function it sometimes failed. For example one > time succeed and another time failed. (It happenes only if created new > file) I see that it's depends on the size of cache that created by > dcacheDevCreate function, > for example if I increase size of cache it changed the number of > succed times. So now it 3 times succeded and one time failed. Can > somebody answer me to understande more about dcacheDevCreate function > and what must be optimal size of cache in which everytime will be > succeed without fail. > > Thanks --------------------------- Newsgroups: comp.os.vxworks Subject: Re: The role of dcacheDevCreate function in device driver Date: Sun, 26 Jan 2003 09:19:29 +0000 (UTC) From: David Laight Organization: BT Openworld Message-ID: References: <2fbe47b0.0301230104.5351601b@posting.google.com> Leonid Rosenboim wrote: > Sagi, > > when there is a mechaical hard disk involved, the role of dcache (i.e. disk > cache) > is to optimize disk access, reduce the number of times the disk head needs > to > move, and improve overall performance of the file system. > > When a Flash device is used instead of a hard disk, there is really not much > that disk cache can do to optimize performance, and my opinion is it should > not be used at all in sutations where Flash storage is concerned. You do need a different kind of cache though. Although reads from flash are fast, writes might require a flash 'sector' (could be 128kb) to be erased, this takes a significant fraction of a second (very modern devices might be a little faster). So with flash it is probably worth deferring writes in case you are either rewriting the same sector again or writing an adjacent sector so that a single read-modify-write cycle can be done. CF devices use standard flash parts, so have the same problems. Although they will do block remapping to 'alleviate' the problem. David --------------------------- Newsgroups: comp.os.vxworks Subject: Re: DosFs long name Date: Sun, 26 Jan 2003 11:28:21 +0200 From: "Leonid Rosenboim" Organization: Verio Message-ID: References: <22c68e067cf2bcee618ba6840a74b888.37262@mygate.mailgate.org> Reply-To: "Leonid Rosenboim" Franco,. your e-mail address at HOTMAIL does not work, therefore I can not write to you directly. Please send me a direct e-mail. - -- - ----------------------------------------------------------------------- Leonid Rosenboim Visit: http://www.masada2000.org/historical.html Consultant Email: my first name at consultant dot com "Franco Bassetti" wrote in message news:pEjY9.992$YL4.3517@tornado.fastwebnet.it... > Thank you. I have solved the problem, I can't use this file system in a > partition where is bootrom.sys so I had to create a new partition formatted > with vxworks. Ask me what you want about fastweb. > > "Leonid Rosenboim" ha scritto nel messaggio > news:newscache$nejt8h$lfa$1@lnews.actcom.co.il... > > Well, I might have sent it to you again, if you had provided your true > > e-mail address. > > > > By the way, since you are a FastWeb customer, > > there are a few questions I would like to ask you. > > > > -- > > ----------------------------------------------------------------------- > > Leonid Rosenboim Visit: http://www.masada2000.org/historical.html > > Consultant Email: my first name at consultant dot > com > > > > > > "Franco Bassetti" wrote in message > > news:xzmV9.24464$lj5.285868@tornado.fastwebnet.it... > > > I have lost your answer > > > > > > > > > > > > > > > > > > --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Mon Jan 27 04:03:17 2003 From: Vxworks Exploder Date: Mon Jan 27 04:03:18 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Mon Jan 27 04:03:15 PST 2003 Subject: How to check memory during runtime? Subject: how can I do memory testing during runtime? ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: How to check memory during runtime? Date: 27 Jan 2003 01:04:29 -0800 From: walter.dietrich@siemens.com (walter) Organization: http://groups.google.com/ Message-ID: <9665325e.0301270104.3533d7c2@posting.google.com> we use Motorola MPC823e process with 32MByte RAM for railway applications with VxWorks. The application will run very long, i.e. many months before it is switched off and used later again. Due to security aspects we should do continuous memory testing. Can you give us any ideas how to check the memory during runtime? --------------------------- Newsgroups: comp.os.vxworks Subject: how can I do memory testing during runtime? Date: 27 Jan 2003 01:50:20 -0800 From: walter.dietrich@siemens.com (walter) Organization: http://groups.google.com/ Message-ID: <9665325e.0301270150.74e89e13@posting.google.com> we use Motorola MPC823e process with 32MByte RAM for railway applications with VxWorks. The application will run very long, i.e. many months before it is switched off and used later again. Due to security aspects we should do continuous memory testing. Can you give us any ideas how to check the memory during runtime? --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Mon Jan 27 22:25:06 2003 From: =?iso-8859-1?q?Sharath=20Chandra?= Date: Mon Jan 27 22:25:07 PST 2003 Subject: Replacement for inportb,outportb, etc commands... Hi! I have written embedded applications to communicate with the serial port using the inportb,outportb,inport,...etc commands. This ensures direct access to the data transfer using UARTS-and for direct access, nothing like MS-DOS! Now, we need to port an MS-DOS program using inport,etc commands to the ARM7tDMI board running VxWorks. Does the ARM compiler support these commands? If not, what would be the replacement for these commands and how do we program serial communication using the ARM board? A quick reply to this would be highly appreciated.... Thanks, Sharath. ________________________________________________________________________ Missed your favourite TV serial last night? Try the new, Yahoo! TV. visit http://in.tv.yahoo.com From vxwexplo-errs@csg.lbl.gov Tue Jan 28 04:03:25 2003 From: Vxworks Exploder Date: Tue Jan 28 04:03:27 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Tue Jan 28 04:03:22 PST 2003 Subject: Re: vxWorks- booting Subject: Re: How to modify BSP used by VxSim ? Subject: Re: how can I do memory testing during runtime? Subject: How to configure VIM to indent code like this Subject: Re: VxWorks UDP Communication Subject: Customised BootRom Subject: Re: How to configure VIM to indent code like this Subject: Re: Select in sioLib/tyLib ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: vxWorks- booting Date: 27 Jan 2003 06:29:51 -0800 From: p_san_gita@yahoo.com (Sangita.P) Organization: http://groups.google.com/ Message-ID: <2b535510.0301270629.76d02c10@posting.google.com> References: <2b535510.0301190344.381eb2fb@posting.google.com> hye all , Thank you all of you for ur response. I want to boot from floppy( ie both bootrom_uncmp and vxWorks.st, resides on the floppy). I have corrected the config.h , ie.. have added a few #define INSCLUDE_STANDALONE_NET, #undef INCLUDE_NET_SYM_TBL. And %make vxWorks.st. NOw it is building the vxWorks. but after booting it would say "Muxload Fail!" tRootTask Failed. Also the user application module of the project does not get added. Could anybody tell me where i yam going wrong and how do i correct it. Thank you, With regards, P.Sangita. p_san_gita@yahoo.com (Sangita.P) wrote in message news:<2b535510.0301190344.381eb2fb@posting.google.com>... > hye all, > > i have a problem ,when i yam trying to build a vxWorks image with the > bootable project i yam not able to the vxworks.st build along with > the vxWorks.exe.It just remains the default one. > Is there anything i need to modify such that i can VxWorks.st image > also along with my vxWorks.exe > > With regards, > P.Sangita. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to modify BSP used by VxSim ? Date: 27 Jan 2003 06:52:13 -0800 From: anandv79@rediffmail.com (anand) Organization: http://groups.google.com/ Message-ID: <57e0c4f4.0301270652.403470d6@posting.google.com> References: <57e0c4f4.0301240153.34ae32d4@posting.google.com> <3e317f1e$0$19948$44c9b20d@news3.asahi-net.or.jp> What tools are being referred to, two that i cud find were the Mentor Seamless n Cadence VCC effort. Are that the ones you are referring to, or there any tools too ? As regards the approach, minimum testability thru this approach may not take much time - but first integrating SystemC n then writing cycle-accurate models on VxWorks are the issue. And yea after that the simulation speed consideration ! Also any pointers as regards writing/integrating 'C' models on VxWorks are most welcome. Thanks in advance, Anand "Girish Gulawani" wrote in message news:<3e317f1e$0$19948$44c9b20d@news3.asahi-net.or.jp>... > i guess it's much complex than that. i am sure you know that the vxsim is > vxworks simulator. it works just as another process on a host. vxsim bsp as > such can be considered as a bsp for the host cpu. it follows more or less > same bsp design. if you are expecting some kind of *memory* access it would > be just using whatever is known to vxsim as a process. in other words no > special hw features attached to it. afaik, it hardly concerns vxsim bsp as > such. it's just another vxworks multitasking specifications you are talking > about. you require to interface vxsim with the memory simulators. what > people generally use is some fancy & costly tools. they either already have > vxsim support build into them or they have interfaces over the usual bsd > sockets so that you can write kind of RPC mechanism built on it. here i > refer to your prev. question of integrating system-c with vxsim, this is one > such option. in that case you'd build entire memory system in vxsim as user > task(s). whose specs are written in system-c. this mem modeler task can > export an interface of the byte, dowrd, dword read/write access. this > interface you can access from your memory Read and Write functions in > software apps. i have never done system-c inside vxsim. however we normally > use hw model accessing libraries either those already supplied with tools or > our own inhouse developed interfaces. if you say you'd have to begin with > integrating system-c inside vxsim & then write memory models, which will be > used by your software tasks then i suppose you know you have long way to > go... > please keep this group posted. it will be good to see such discussions, sure > it'll interest many. > > > "anand" wrote in message > news:57e0c4f4.0301240153.34ae32d4@posting.google.com... > > Hello All, > > Has anybody tried changing the BSP used by VxSim. > > Basically i am trying, some memory area to behave differently. To > > accomplish this, i have written a simple C program with two functions > > 'Read and Write'. Now i wud have to plug in this code to the BSP > > (something that wud be done if real hardware was there), and then > > re-compile the VxSim. > > > > Has anybody tried this before ? > > > > Thanks in advance, > > Anand --------------------------- Newsgroups: comp.os.vxworks Subject: Re: how can I do memory testing during runtime? Date: 27 Jan 2003 14:01:42 -0800 From: ryeung@earthlink.net (Raymond Yeung) Organization: http://groups.google.com/ Message-ID: References: <9665325e.0301270150.74e89e13@posting.google.com> I'd be interested in knowing that too. But my gut feeling is that you probably can't do it this way. Memory (RAM) tests are generally destructive in nature. You could destroy program store, stack, heap etc and cause your system to crash. So I think you can only test it during system start-up. However, for systems that have robustness requirements, they generally also have hardware redundancy. If your system has such a feature, you can always test the RAM (along with other things) the standby unit. Then you can switch activity and test the previously active unit. Raymond walter.dietrich@siemens.com (walter) wrote in message news:<9665325e.0301270150.74e89e13@posting.google.com>... > we use Motorola MPC823e process with 32MByte RAM for railway applications > with VxWorks. The application will run very long, i.e. many > months before it is switched off and used later again. > Due to security aspects we should do continuous memory testing. > Can you give us any ideas how to check the memory during runtime? --------------------------- Newsgroups: comp.os.vxworks Subject: How to configure VIM to indent code like this Date: 27 Jan 2003 18:20:38 -0800 From: ge_lin@hotmail.com (Lin Ge) Organization: http://groups.google.com/ Message-ID: <2b2b4387.0301271820.305ec353@posting.google.com> Hello, there Is there anyway in VIM to configure _vimrc to indent the code like this, Before-------------------------------------------------------------------- int function ( int argc, char** argv ) { int a; float b; if () { do { printf(); } while(0); } } gg=G after----------------------------------------------------------------------- int function ( int argc, char** argv ) { int a; float b; if () { do { printf(); } while(0); } } In fact this code convention is for vxWorks programming and is compatible with ANSI C requirement. I personally sense that is a good format. Any help will be appreciated so thanks in advanced. Lin --------------------------- Newsgroups: comp.os.vxworks Subject: Re: VxWorks UDP Communication Date: Thu, 23 Jan 2003 10:50:01 -0800 From: "Dan Gold" Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: References: <5.1.0.14.2.20030123093003.00b92e10@pop3.ttlc.net> Sender: gold@ensemble.com "David Laight" wrote in message news:b0pb53$a45$1@venus.btinternet.com... > I guess would be that the WDB code that snatches packets off the > ethernet driver is failing to look at the IP header in order to see > if the packet is an IP continuation packet. It then assumes that the data in the packet is a UDP header, finds > the 0x4321, assumes it is the port number and grabs the packet. > Some WRS code is like that :-) More than you think... FWIW, the DHCP code (input hook) suffers from the same malady. :-) hth, Dan Gold gold@ensemble.com --------------------------- Newsgroups: comp.os.vxworks Subject: Customised BootRom Date: 28 Jan 2003 01:07:47 -0800 From: mjcse@rediffmail.com (mjcse) Organization: http://groups.google.com/ Message-ID: Hi VxWorks group, I am willing to make a customised bootrom program through a VxWorks application project. I mean, the image (compressed one) obtained with this application should act as bootrom program to download the actual application from flash or network. My only problem is, this image, is getting relocated itself on RAM_LOW_ADRS and when it is attempting to download actual application image, it is getting overwrited because this actual image also gets copied at RAM_LOW_ADRS. If it were actual bootrom, it will be operating from RAM_HIGH_ADRS. Can we make the VxWorks Application image in such a way that it gets relocated to RAM_HIGH_ADRS, instead of RAM_HIGH_ADRS?? That will solve my problem... Any suggestion will be truely appreciated Thanks & Regards, shafi --------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to configure VIM to indent code like this Date: Tue, 28 Jan 2003 10:04:03 GMT From: "J. J. Farrell" Organization: EarthLink Inc. -- http://www.EarthLink.net Message-ID: References: <2b2b4387.0301271820.305ec353@posting.google.com> "Lin Ge" wrote in message news:2b2b4387.0301271820.305ec353@posting.google.com... > Hello, there > Is there anyway in VIM to configure _vimrc to indent the code like comp.os.vxworks discusses the VxWorks operating system. Please post your question on configuring the VIM editor on some unstated OS to a group that discusses VIM. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Select in sioLib/tyLib Date: Tue, 28 Jan 2003 11:08:27 -0000 From: "p" Organization: ? Message-ID: <1043752109.414440@ernani.logica.co.uk> >Hopefully a quick and easy question... > >What does 'writeable' mean when select() is release by an SIO >device driver? > >Does is mean: > > - there is at least 1 byte free in the Tx buffer > - the Tx buffer is now empty > - the Tx buffer has reach some kind of low watermark Answering my own question after a support call to Wind River...The answer is 20.Select() will wake up when there are exactly 20 bytes freein the tx ring buffer. If you device to ignore the selectwakeup because you need more space, you won't get anotherwakeup. This threshold is effectively hard coded in thetyLib tx isr.Ugh. --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Tue Jan 28 12:49:05 2003 From: "Chris Rawson" Date: Tue Jan 28 12:49:06 PST 2003 Subject: Ethernet END device driver issues I am writing a vxWorks ethernet device driver, and am only using polled mode (for political reasons) . The problem is that when trying to send a received packet up to the mux, the mux appears to be ignoring the packet.... I am using the standard method of sending to the mux i.e. END_RCV_RTN_CALL(END_OBJ *end, MBLK_ID pMblk) I have contacted WR support, and have not been fully successful, so any comments, or assistance would be appreciated.. Thanks There are only 10 types of people in this world: those who understand binary, and those who don't. From vxwexplo-errs@csg.lbl.gov Tue Jan 28 13:55:56 2003 From: Alan K Biocca Date: Tue Jan 28 13:55:57 PST 2003 Subject: VxWorks User's Group Mail Server The machine that hosts the email list of this discussion group may be undergoing some software and hardware upgrades, possibly starting later today. We will attempt to reduce the impact of this effort, but it may cause one or more interruptions in service. The newsgroup will continue to function normally. Thanks for your patience. -- Alan Biocca From vxwexplo-errs@csg.lbl.gov Wed Jan 29 02:37:05 2003 From: "Saravana Kumar K" Date: Wed Jan 29 02:37:06 PST 2003 Subject: Re: Replacement for inportb,outportb, etc commands... Hi, YOu can use sysOutByte(), sysInByte(), sysOutWord(), sysInWord(). You can refer to VxWorks User manual for exact usage. best ofluck Saravanan On Tue, 28 Jan 2003 the vxWorks Users Group Exploder wrote : >Submitted-by vxwexplo-errs@csg.lbl.gov Mon Jan 27 22:25:06 >2003 >Submitted-by: =?iso-8859-1?q?Sharath=20Chandra?= > > >Hi! >I have written embedded applications to communicate >with the serial port using the >inportb,outportb,inport,...etc commands. This ensures >direct access to the data transfer using UARTS-and for >direct access, nothing like MS-DOS! >Now, we need to port an MS-DOS program using >inport,etc commands to the ARM7tDMI board running >VxWorks. >Does the ARM compiler support these commands? If not, >what would be the replacement for these commands and >how do we program serial communication using the ARM >board? >A quick reply to this would be highly appreciated.... > >Thanks, >Sharath. > > >________________________________________________________________________ >Missed your favourite TV serial last night? Try the new, Yahoo! >TV. > visit http://in.tv.yahoo.com > >********** > > This is a user group mailing list for vxWorks related >topics > see http://www-vxw.lbl.gov/vxworks for posting and >subscription info From vxwexplo-errs@csg.lbl.gov Wed Jan 29 04:03:24 2003 From: Vxworks Exploder Date: Wed Jan 29 04:03:25 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Wed Jan 29 04:03:19 PST 2003 Subject: Re: How to configure VIM to indent code like this Subject: Problems with NFS server running on dosFs 1.0 Subject: help needed Subject: Sybols in a specific module Subject: Re: how can I do memory testing during runtime? Subject: inetstatShow() only outputs column headers Subject: Artesyn PowerPC PM/PPC modules available Subject: Re: inetstatShow() only outputs column headers Subject: Re: Ethernet END device driver issues Subject: [Q] recvmsg error Subject: Re: Sybols in a specific module Subject: Re: [Q] recvmsg error Subject: Error when load application from target shell Subject: [Q]about snmpv2 agent Subject: level interrupt on MPC860 Subject: Re: inetstatShow() only outputs column headers ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Re: How to configure VIM to indent code like this Date: Tue, 28 Jan 2003 08:16:48 -0500 From: Varndell Engineering Organization: Newsfeeds.com http://www.newsfeeds.com 100,000+ UNCENSORED Newsgroups. Message-ID: References: <2b2b4387.0301271820.305ec353@posting.google.com> WhiOn Tue, 28 Jan 2003 10:04:03 GMT, "J. J. Farrell" wrote: > >"Lin Ge" wrote in message >news:2b2b4387.0301271820.305ec353@posting.google.com... >> Hello, there >> Is there anyway in VIM to configure _vimrc to indent the code like > >comp.os.vxworks discusses the VxWorks operating system. > >Please post your question on configuring the VIM editor on >some unstated OS to a group that discusses VIM. > While I disagree with the OP that the formatting he/she seeks is in any way 'good', I disagree with you that the question is not vx related. In my experience, this strange, unreadable, code formatting seems to be uniquely vxWorks-ian. Because I often write code that must conform to Wind River's coding standards, I have frequently wished for some automatic way to convert properly formatted C code to the vxWorks format. So, if someone has a tool or method to automate it, I'd like to hear from them. Is GNU 'indent' still around? Regards, George Varndell - -- Embedded Systems Expertise Varndell Engineering, LLC. http://www.varndellengineering.com --------------------------- Newsgroups: comp.os.vxworks Subject: Problems with NFS server running on dosFs 1.0 Date: 28 Jan 2003 05:33:31 -0800 From: gbahig@yahoo.com (Ghada Bahig) Organization: http://groups.google.com/ Message-ID: <75ff1573.0301280533.74a2481b@posting.google.com> Hi everyone, I am having trouble with NFS server V2.0. I am running on an old dosFs library. I can export, mount, create and delete files and directories. I have problems of getting wrong directory contents when i cd and ls into a directory. Sometimes, when i do an ls, the server would infinitely process a readdir command and never finishes it as it allocates less than the actual needed entries in the directory. Is there anyone out there running a similar NFS configuration. I am running the NFS server on a PowerPC 750 processor and the client from my sun workstation. This is the NFS server implementation with its hashing functionality. I would really appreciate any input Thanks, Ghada Software Design Engineer wireless - UMTS Nortel Networks --------------------------- Newsgroups: comp.os.vxworks Subject: help needed Date: 28 Jan 2003 09:00:43 -0800 From: raghav_chari@yahoo.com (raghavan) Organization: http://groups.google.com/ Message-ID: hai, Can any one tell me how to write a device driver for serial port. --------------------------- Newsgroups: comp.os.vxworks Subject: Sybols in a specific module Date: Tue, 28 Jan 2003 13:49:45 -0500 From: "Granum, Allen [CAR:CF81:EXCH]" Organization: Nortel Networks Message-ID: <3E36D0C9.EFFB7889@americasm01.nt.com> Can anyone tell me how I would get a list of symbols inside a specific module. I need to do this, then extract out the symbols that end in _MY_SUFFIX_, and then execute each one of these. Thanks, - -- Allen Granum Nortel Networks Wireless Internet BSP Development Team Email: agranum@nortelnetworks.com Phone: (613)763-4324 --------------------------- Newsgroups: comp.os.vxworks Subject: Re: how can I do memory testing during runtime? Date: 28 Jan 2003 14:41:26 -0500 From: Bill Pringlemeir Organization: Bell Sympatico Message-ID: References: <9665325e.0301270150.74e89e13@posting.google.com> Sender: bpringle@DeadDuck > "walter" schrieb im Newsbeitrag Walter> We use Motorola MPC823e process with 32MByte RAM... [snip] Walter> Due to security aspects we should do continuous memory Walter> testing. Can you give us any ideas how to check the memory Walter> during runtime? "Michael Lawnick" wrote... Michael> - as you will have to stop application while testing, you Michael> have to consider interrupt latency Michael> - when using DMA-devices, you will have to stop them while Michael> testing their buffers. [snip] >>>>> "Raymond" == Raymond Yeung writes: Raymond> Let alone the fact that the memory test would need to know Raymond> way too much about the applications (where tasks/processes [snip] It should be possible with the MPC823 to create a "fallow RAM section" with the MMU. The fallow section would be shifted in atomically to have a copy of another page that is shifted out. In this way, a memory test can be performed on sections of RAM while the applications are running. This takes care of most interrupt concerns. Whether DMA uses physical or virtual memory is also a concern. According to recents post (I recall seeing here), it seems that the DMA of the MPCxxx series use virtual addresses. Off chip DMA devices probably won't and these would be a concern. So you may indeed have problems utilizing this method with DMA with off-chip DMA. I assume that these memory tests are designed to test cell integrety. There are many different memory tests available. Each one has strength and weaknesses and it depends on the type of hardware faults that you would like to detect. My favorite way to test memory routines is to take a paper clip and start to short pins on the memory chips. "http://www.esacademy.com/faq/docs/memtest/" "http://www.netrino.com/Articles/MemoryTesting/index.html" "http://www.memtest86.com/" etc. hth, Bill Pringlemeir. - -- Universe, U for Umbilical, is the sameness of vril and odyle. --------------------------- Newsgroups: comp.os.vxworks Subject: inetstatShow() only outputs column headers Date: 28 Jan 2003 12:10:20 -0800 From: henrikb@shell.linux.se (=?ISO-8859-1?Q?Henrik_Bergstr=F6m?=) Organization: http://groups.google.com/ Message-ID: <141d398b.0301281210.755781b8@posting.google.com> Hi VxWorkers! Has anyone here had a problem with inetstatShow() producing no output (except for column headers) and, if so, found a solution to it? Please let me know in that case! For what it is worth I run a Tornado 2.11 on a ARM system and I know for a fact that I've got several listening sockets and even a few connected sockets in the system. Best regards, Henrik --------------------------- Newsgroups: comp.os.vxworks,comp.arch.embedded Subject: Artesyn PowerPC PM/PPC modules available Date: Tue, 28 Jan 2003 21:49:58 GMT From: ben_myers@charter.net (Ben Myers) Organization: Posted via Supernews, http://www.supernews.com Message-ID: <3e36f9ac.18179808@news.charter.net> Reply-To: ben_myers@charter.net I have approx. 100 Artesyn PM/PPC modules available in good condition, pulled from tested and working telco equipment never shipped from a now-bankrupt company. Specs are 333MHz PowerPC, 128Mx72 SDRAM, 16Mx16 flash memory, a few with and the rest without JTAG. NetBSD, Linux, QNX, other OSes supported. Complete specs available at the following URL: http://www.artesyncp.com/products/PM-PPC.html $US 75 each for a PM/PPC module with JTAG. Make offers on the others. Generous quantity discounts. I also have two PMC-PCI adapter boards for installation in and debugging with an Intel CPU computer. Part number is Technobox #1447. $US 40 each for the PMC-PCI adapter card only when bought a PM/PPC module. Add exact shipping cost FOB Harvard MA 01451 USA using your preferred shipper. Estimated shipping weight 2 lbs (1 kg) for one module with PCI adapter card. Ben Myers Spirit of Performance, Inc. 73 Westcott Road Harvard, MA 01451 tel: 978-456-3889 eFax: 810-963-0412 PayPal, MC, VISA, AMEX accepted. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: inetstatShow() only outputs column headers Date: Tue, 28 Jan 2003 13:54:46 -0800 From: "Mark A. Matthews" Organization: ACME Rockets & Storm Door Company Message-ID: References: <141d398b.0301281210.755781b8@posting.google.com> In article <141d398b.0301281210.755781b8@posting.google.com>, henrikb@shell.linux.se (Henrik Bergström) wrote: > Has anyone here had a problem with inetstatShow() producing no output > (except for column headers) and, if so, found a solution to it? Please > let me know in that case! > I don't have a tornado session handy, but that's an indication you don't have all the network show routines enabled. You need to dig down into the network configuration somewhere and enable them. Why the inetstatShow function remains in the kernel without the associated enable is something of a mystery to me, but I suspect there's a dependency on the symbol that couldn't easily be removed. - -- - -Mark --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Ethernet END device driver issues Date: Tue, 28 Jan 2003 14:22:22 -0800 From: "Dan Gold" Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: References: Sender: gold@ensemble.com "Chris Rawson" wrote in message news:b16rus$1bk$1@overload.lbl.gov... > I am writing a vxWorks ethernet device driver, and am only using polled > mode (for political reasons) . > The problem is that when trying to send a received packet up to the mux, > the mux appears to be ignoring the packet.... I am using the standard > method of sending to the mux i.e. END_RCV_RTN_CALL(END_OBJ *end, MBLK_ID > pMblk) > I have contacted WR support, and have not been fully successful, so any > comments, or assistance would be appreciated.. Sorry, I have more questions than answers. It seems like some more information would be useful, i.e. Which Ethernet device are you writing a driver for ? What architecture and version of vxWorks is it ? Is the chip a currently supported one, i.e. one that there exists source code or a template for ? Are you writing this driver from scratch or is it based on an existing one ? Now the debug questions... Does your driver's endLoad() routine return ok ? Have you dumped the END_OBJ and packet that you're passing to the Mux to make sure they look valid ? What does muxShow() say about the interface ? How about ifShow() on the interface - does it show errored packets ? How about {tcp,udp,icmp}statShow() - anything revealing there ? Have you tried Tx'ing a packet - does it get to your driver's Send() routine ? Since your driver's receive buffer pool is fixed, after you receive enough packets (and the mux presumably swallows them) does your driver report out of buffers ? Are you running DHCP on this interface ? Is it possible they're getting swallowed by the DHCP input hook ? hth, Dan Gold gold@ensemble.com --------------------------- Newsgroups: comp.os.vxworks Subject: [Q] recvmsg error Date: Wed, 29 Jan 2003 10:57:45 +0900 From: "F. Jehun Rhee" Organization: ETRI Usenet Service Message-ID: in VxWorks 5.4, after select() call with 1 as its return value, I called recvmsg(), but this call returned -1. Do you know when this kind of error happen? --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Sybols in a specific module Date: Tue, 28 Jan 2003 21:03:40 -0600 From: Joe Durusau Organization: WEBUSENET.com Message-ID: <3E37448C.9080608@bellsouth.net> References: <3E36D0C9.EFFB7889@americasm01.nt.com> Granum, Allen [CAR:CF81:EXCH] wrote: > > Can anyone tell me how I would > get a list of symbols inside a > specific module. > I need to do this, then > extract out the symbols that > end in _MY_SUFFIX_, and then > execute each one of these. > > Thanks, > > -- > Allen Granum > Nortel Networks > Wireless Internet > BSP Development Team > Email: agranum@nortelnetworks.com > Phone: (613)763-4324 > > > Are you trying to find the symbols in memory, or can you make do with the symbols from a disk image? If the latter, you could gen up a map file and process it however you wish. The shell knows what module the symbols came from in the sense of 'loadable module', but not, AFAIK, which source file they came from. You could run lkup, assuming you have a shell, and send the output somewhere, then process that. Speaking only for myself, Joe Durusau --------------------------- Newsgroups: comp.os.vxworks Subject: Re: [Q] recvmsg error Date: Tue, 28 Jan 2003 21:05:50 -0600 From: Joe Durusau Organization: WEBUSENET.com Message-ID: <3E37450E.90702@bellsouth.net> References: F. Jehun Rhee wrote: > in VxWorks 5.4, after select() call with 1 as its return value, I called > recvmsg(), but this call returned -1. > > Do you know when this kind of error happen? > > Try looking at errno _immediately_ after the return from recvmsg(). Speaking only for myself, Joe Durusau --------------------------- Newsgroups: comp.os.vxworks Subject: Error when load application from target shell Date: Wed, 29 Jan 2003 12:22:14 +0800 From: "Hans" Organization: Lucent Technologies Message-ID: Everything works fine when I load application from whindshell to the target, but when I download application from target shell, it report error: - -> ld < App.o 0xb958e0c (tShell): memPartAlloc: block too big - 95186200 in partition 0xda528. ld error: error reading file (errno = 0x3d0001). value = 0 = 0x0 - -> Did anybody know the reason? Thanks Hans --------------------------- Newsgroups: comp.os.vxworks Subject: [Q]about snmpv2 agent Date: Wed, 29 Jan 2003 14:50:12 +0800 From: "Li-Hao Jeng" Organization: DCI HiNet Message-ID: Sir, Are mibcomp can compile snmpv2 version? Now I have to compile some mib file but it's can't finish. C:\snmp\card>mibcomp ex1.mib ex1.mib:11: IMPORTS clause references unknown module "IF-MIB". Please give me some advice! Thank you! lihao 2003.01.29 --------------------------- Newsgroups: comp.os.vxworks Subject: level interrupt on MPC860 Date: Wed, 29 Jan 2003 11:33:50 +0100 From: "Jörg Krein" Organization: Fraunhofer Gesellschaft (http://www.fraunhofer.de/) Message-ID: <3e37adea$1@news.fhg.de> Hi, has anyone experience with level triggered interrupts on an MPC860? Edge triggered works fine, but with level I get stuck in the isr. The problem is I can't remove the low level on the IRQ pin in the isr. I have to do this in the main task. To prevent from getting stuck I disable the interrupt in the SIMASK register. But that doesn't work! Is it not possible to manipulate the SIMASK in an isr? I tried something like this: static void CANIsr1 (int isr1par) { EPPC* regbase = (EPPC*) vxImmrGet(); regbase->siu_sipend = IRQ1; regbase->siu_simask &= ~IRQ1; semGive(drv->SemInt1); } Help needed! --------------------------- Newsgroups: comp.os.vxworks Subject: Re: inetstatShow() only outputs column headers Date: 29 Jan 2003 03:53:17 -0800 From: henrikb@shell.linux.se (=?ISO-8859-1?Q?Henrik_Bergstr=F6m?=) Organization: http://groups.google.com/ Message-ID: <141d398b.0301290353.53c3f27b@posting.google.com> References: <141d398b.0301281210.755781b8@posting.google.com> Thanks for your reply but as far as I know (and according to the manuals) it should be enough to define INCLUDE_NET_SHOW. Furthermore, all the other netShow functions (arpShow(), ipstatShow(), etc.) work ok, so it seems as if it is only inetstatShow() which doesn't work as intended. /Henrik "Mark A. Matthews" wrote in message news:... > In article <141d398b.0301281210.755781b8@posting.google.com>, > henrikb@shell.linux.se (Henrik Bergström) wrote: > > Has anyone here had a problem with inetstatShow() producing no output > > (except for column headers) and, if so, found a solution to it? Please > > let me know in that case! > > I don't have a tornado session handy, but that's an indication you don't > have all the network show routines enabled. You need to dig down into > the network configuration somewhere and enable them. > > Why the inetstatShow function remains in the kernel without the > associated enable is something of a mystery to me, but I suspect there's > a dependency on the symbol that couldn't easily be removed. --------------------------- End of New-News digest ********************** From vxwexplo-errs@csg.lbl.gov Wed Jan 29 12:48:55 2003 From: Shiv Date: Wed Jan 29 12:48:56 PST 2003 Subject: Symbols garbled after downloading (Working on an ppc 855T target with Tornado II) My symbols garble up after downloading my code to the target. For eg. a method called TestRoutine() is now TestRoutine_V90ES (or something like that) when I lkup on the target shell. I'm sure this is a configuration problem , but I can't seem to pinpoint the cause. Could anyone tell me why it does that ? Shiv From vxwexplo-errs@csg.lbl.gov Thu Jan 30 04:03:19 2003 From: Vxworks Exploder Date: Thu Jan 30 04:03:20 PST 2003 Subject: comp.os.vxworks newsdigest Comp.Os.Vxworks Daily Digest Thu Jan 30 04:03:13 PST 2003 Subject: Problem : 1GByte PMC Memory card under vxWorks Subject: Re: database under VxWorks Subject: Re: [Q]about snmpv2 agent Subject: Re: VxW 5.4, PCMCIA, & DosFS 2.2 Subject: Re: [Q] How to remove TCP/IP stack Subject: Re: Error when load application from target shell Subject: Re: Error when load application from target shell Subject: vxWorks- booting problem II Subject: Re: vxWorks- booting Subject: Re: VxW 5.4, PCMCIA, & DosFS 2.2 Subject: Porting a recent version of TCL to VxWorks ------------------------------------------------------- Newsgroups: comp.os.vxworks Subject: Problem : 1GByte PMC Memory card under vxWorks Date: 29 Jan 2003 06:07:08 -0800 From: M.Sinen@gematronik.com (Michael Sinen) Organization: http://groups.google.com/ Message-ID: Hello VxWorkers, I try to install a 1GByte Memory PMC card (Ramix) under VxWorks. I'm using a MVME2700-PPC and vxWorks 5.4. The problem is to configurate this card into pci/processor memory. The first approche was to switch off EXTENDED_VME and adjust CPU_PCI_ISA_MEM_ADRS and CPU_PCI_MEM_ADRS (laying them close behind CPU_PCI_IO_ADRS), then to define a new entry in 'sysPhysMemDesc' according the memory size of the PMC card : /******************************************* *mv2600.h*/ /******************************************* #define CPU_PCI_ISA_IO_ADRS 0x80000000 #define CPU_PCI_IO_ADRS 0x81000000 #define CPU_PCI_ISA_MEM_ADRS (CPU_PCI_IO_ADRS + 0x800000) #define CPU_PCI_MEM_ADRS (CPU_PCI_ISA_MEM_ADRS + 0x10000) /******************************************* /*sysLib.c*/ /******************************************* (void *) 0x83000000, (void *) 0x83000000, 0x40000000, VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE | VM_STATE_MASK_GUARDED, VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT | VM_STATE_GUARDED }, /******************************************* From my point of view I had now a processor window from 0x83000000-C3000000 without any intersections,but this was ,i guess, a naive try. It doesn't work. The PPC hangs during the boot process. It seems I overwrite some important information during initializing that memory window (if I reduce the memory size < 0x0x20000000 the PPC boots up once again).Perhaps I don't understand the memory mapping of vxWorks in the right manner. My questions : what goes wrong ? Is there any other things to take into account ? Is it ,principal, possible to map this large memory ? Thanks for your attention Michael --------------------------- Newsgroups: comp.os.vxworks Subject: Re: database under VxWorks Date: Wed, 29 Jan 2003 16:29:20 +0000 (UTC) From: "Richard Blackburn" Organization: BT Openworld Message-ID: References: <5fb7bcfa.0301131213.14a86a70@posting.google.com> try www.Polyhedra.com contact jowh@enea.co.uk for further details. Regards Richard. "A.T." wrote in message news:5fb7bcfa.0301131213.14a86a70@posting.google.com... > I'm looking for a database engine to run under VxWorks.Any pointers? > > Thanks > > A --------------------------- Newsgroups: comp.os.vxworks Subject: Re: [Q]about snmpv2 agent Date: 29 Jan 2003 09:56:26 -0800 From: adam@world.std.com (Mark Adam) Organization: http://groups.google.com/ Message-ID: References: You need to include all of the referenced MIBs in the mibcomp command line. These MIBs need to appear before the MIB that they are referenced in. Let's assume you want to use the version IF-MIB in rfc2863. The command line might be: mibcomp iftype.mib rfc1907.mib rfc2863.mib ex1.mib The iftype.mib and rfc1907.mib files are required in order to compile rfc2863. To confine the output to the tree in your MIB you probably want to use the -start option. "Li-Hao Jeng" wrote in message news:... > Sir, > Are mibcomp can compile snmpv2 version? Now I have to compile some mib > file but it's can't finish. > > C:\snmp\card>mibcomp ex1.mib > ex1.mib:11: IMPORTS clause references unknown module "IF-MIB". > > > Please give me some advice! Thank you! > > lihao > 2003.01.29 --------------------------- Newsgroups: comp.os.vxworks Subject: Re: VxW 5.4, PCMCIA, & DosFS 2.2 Date: Wed, 29 Jan 2003 23:04:55 +0000 From: Wade Oram Organization: None Message-ID: References: Reply-To: Wade Oram In message , Dale writes >Hello, > >I am having build problems within the Tornado 2.0 environment when I try and >build a standard VxWorks image taken from a pc486 BSP. I am using Tornado >2.0.2 x86 with the T2CP4 patch applied and then DosFS 2 on top of that. >When I include PCMCIA and try and build VxWorks, I get the following errors: > >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c: In function >`pccardMount': >In file included from >C:\Tornado2.0.2_x86\target\config\pcPentium\sysLib.c:464: >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c:273: request for >member `dosvd_devHd >r' in something not a structure or union >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c: In function >`pccardMkfs': >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c:309: request for >member `dosvd_devHd >r' in something not a structure or union >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c: In function >`pccardAtaEnabler': >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c:512: >`DOS_BOOT_SEC_PER_CLUST' undecl >ared (first use this function) >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c:512: (Each undeclared >identifier is >reported only once >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c:512: for each function >it appears in >.) >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c:515: >`S_dosFsLib_BAD_DISK' undeclare >d (first use this function) >make: *** [sysLib.o] Error 0x1 There is an SPR raised for this. Unfortunately I can't remember the number. As it happens it does not help because it is status is marked "Do Not Fix". Talking to customer support, it appears that the fault is due to the fact that the dosFs2.2 patch was a point solution effectively back porting the T2.2 version of dosFs into Tornado 2.0.2. The WRS proposed solution is to upgrade to Tornado 2.2 - not a lot of help to you, myself, or anyone else using a 486 (or any other processor architecture) which is no longer supported in Tornado2.2. My solution, which worked for me but may not be possible in your case was simply to remove the code in the pccardMount and pccardMkfs routines in pccardLib.c and replace is with a simple "return ERROR;" statement. This does, of course, mean that I can't use pccard disks but this does not worry me at present. At least it allows me to continue to use our PCMCIA network cards! If anyone has a better solution, I would also be very interested to hear it. - -- Wade Oram --------------------------- Newsgroups: comp.os.vxworks Subject: Re: [Q] How to remove TCP/IP stack Date: Thu, 30 Jan 2003 01:34:54 GMT From: "drdiags" Organization: AT&T Broadband Message-ID: <2j%Z9.2007$G83.326@sccrnsc04> References: Depends on which version of vxWorks, but there is a way to do this if you had source. The problem is there are a couple of globals (etherbroadcastaddr[]) and others in the MUX that need to be extracted out of various libraries or a shim created. A tech-tip showing all the dependencies should have been posted on the Online-Support web page. Ask your local FAE to track this down for you if it isn't on WindSurf. I wrote a script using the project and components Tcl libraries which helped me see the dependencies. Unfortunately, it is at work, but if you have problems finding the tech tip, maybe the script can help you identify why Loop device and other seemingly unrelated objects are pulled in when you just add the MUX and Network buffer library only. Good luck... "Cheng Chih-Jen" wrote in message news:b15bof$aea@netnews.hinet.net... > Hi, > > I'd like to replace vxWorks' TCP/IP stack with another one, > but keep MUX and END driver. > Whenever I remove the network protocol components, MUX and END > will be removed too. Is it possible to do that ? > Please give me hint if you know, thanks. > > Regards, > > C.J. Cheng --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Error when load application from target shell Date: Thu, 30 Jan 2003 01:54:54 GMT From: "drdiags" Organization: AT&T Broadband Message-ID: References: Not sure but, Do a memShow on the target to determine how much memory is available. Next use the size command on the App.o to see how much memory is going to have to be allocated on the target. If you aren't using NFS to load your app, count on a 20-30% temporary code bloat at least while the loader is doing it's thing. Plus if you are using TFTP, you could need as much as 2x or 3x (not sure) for holding the image until the loader is done. Now you ask, but this worked on the loader. Well, that is because only the part of the App.o that requires target memory will be allocated from the target (all debug stuff stays on the host) and plus your image probably was built to take 1/16 of available memory for WDB_POOL, which is used by the shell. So, in summary, look at the output of objdump --section-headers (or is that --headers) and keep in mind that the loader will not know until it has downloaded the image (malloc), loaded it (freeing unneeded space, but allocating more system memory to place the app into the symbol table) and only then will excess memory be freed. Not to mention whether C++ has anything to do here, probably not, but not enough detail to know for sure, so just these general comments. HTH. "Hans" wrote in message news:b17ktl$npn@netnews.proxy.lucent.com... > Everything works fine when I load application from whindshell to the target, > but when I download application from target shell, it report error: > > -> ld < App.o > 0xb958e0c (tShell): memPartAlloc: block too big - 95186200 in partition > 0xda528. > > ld error: error reading file (errno = 0x3d0001). > value = 0 = 0x0 > -> > > Did anybody know the reason? > > Thanks > > Hans > > --------------------------- Newsgroups: comp.os.vxworks Subject: Re: Error when load application from target shell Date: Thu, 30 Jan 2003 02:10:01 GMT From: "drdiags" Organization: AT&T Broadband Message-ID: References: "drdiags" wrote in message news:OB%Z9.86908$Ve4.6781@sccrnsc03... > Now you ask, but this worked on > the loader. Well, that is because only the part of the App.o [...snip...] The above line should have read "windSh" instead of "the loader". The point was to make sure you were aware of how memory was allocated for Host (windSh) vs Target (target shell) applications using their different "ld" APIs. (ld on the Host is Tcl script). --------------------------- Newsgroups: comp.os.vxworks Subject: vxWorks- booting problem II Date: 29 Jan 2003 19:31:11 -0800 From: p_san_gita@yahoo.com (Sangita.P) Organization: http://groups.google.com/ Message-ID: <2b535510.0301291931.1b8dfa75@posting.google.com> hye all , Thank you all of you for ur response. I want to boot from floppy( ie both bootrom_uncmp and vxWorks.st, resides on the floppy). I have corrected the config.h , ie.. have added a few #define INSCLUDE_STANDALONE_NET, #undef INCLUDE_NET_SYM_TBL. And %make vxWorks.st. NOw it is building the vxWorks. but after booting it would say "Muxload Fail!" tRootTask Failed. Also the user application module of the project does not get added. Could anybody tell me where i yam going wrong and how do i correct it. Thank you, With regards, P.Sangita. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: vxWorks- booting Date: 29 Jan 2003 19:50:28 -0800 From: embd_man@hotmail.com (Russel) Organization: http://groups.google.com/ Message-ID: <42fa4adc.0301291950.22183270@posting.google.com> References: <2b535510.0301190404.40f7385@posting.google.com> <42fa4adc.0301271954.3fd6bdf8@posting.google.com> <2b535510.0301290058.2c86b4be@posting.google.com> p_san_gita@yahoo.com (Sangita.P) wrote in message news:<2b535510.0301290058.2c86b4be@posting.google.com>... > Hye Russel, > > Thanxs for suggestion, but the problem is ,Rules tab doesnot show > any VxWorks.st option.And if i %make vxWork.st from the command > prompt... > It gives me "Mux Failed! tRootTask"... on booting. This is the problem with your image... Mux failed happens when one of the devices in the Mux layer is not getting intialised... check out the ehternet card you are using.. and accordingly add/define those stuffs from your project facility or in the config.h Also check from wrs whether the card ur using is supportd by vxWorks cos not all cards are supportd as far as i kno. Also it is better to go for a vxWorks image rather than .st during inital stages until ur target comes up just to make sure things r goin right. > and doesnot include any user application modules i have created in the > same bootable project. > > > With Regards, > P.Sangita > > embd_man@hotmail.com (Russel) wrote in message news:<42fa4adc.0301271954.3fd6bdf8@posting.google.com>... > > p_san_gita@yahoo.com (Sangita.P) wrote in message news:<2b535510.0301190404.40f7385@posting.google.com>... > > > Hye all, > > > > > > I have a problem with vxWorks standalone.I want create an standalone > > > systems and so i need the vxWorks.st image.But when i build my > > > bootable project i able to generate only the vxWokrs.exe image. > > > > From the project faciilty what u need to do iss change the rules > > from the builds->default tab to vxWorks.st > > Also if u want to do it fronm the command prompt go to ur BSP dir and > > build using "make vxWorks.st". this will create a standalone image. > > > > Right > > > now my config\BSP(pcPentium ) has a default vxWorks.st and doesnot > > > update itself on building my project. > > > > > > I realise that the STANDALONE flag needs to set in the usrConfig.c > > > file inorder to creat a usrConfig_st.o module. If this is true, please > > > let me know how i can go abt doing it. > > > > > > Is it that i need to change any build specifications for the same? > > > > > > Please let me know detalis on the same .Mail me at > > > p_san_gita@yahoo.com > > > > > > Thank you, > > > With regards, > > > P.Sangita. --------------------------- Newsgroups: comp.os.vxworks Subject: Re: VxW 5.4, PCMCIA, & DosFS 2.2 Date: Thu, 30 Jan 2003 06:23:56 GMT From: "Dale" Organization: AT&T Broadband Message-ID: <0y3_9.88497$Ve4.7115@sccrnsc03> References: Thanks. That worked. I had noticed that Wind had a SPR on this issue, but, it's status was that it will not be patched. Do not need a PCMCIA disk so this is fine. - -Dale "Wade Oram" wrote in message news:PILJJLRX4FO+EAR+@wtoram.co.uk... > In message , Dale > writes > >Hello, > > > >I am having build problems within the Tornado 2.0 environment when I try and > >build a standard VxWorks image taken from a pc486 BSP. I am using Tornado > >2.0.2 x86 with the T2CP4 patch applied and then DosFS 2 on top of that. > >When I include PCMCIA and try and build VxWorks, I get the following errors: > > > >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c: In function > >`pccardMount': > >In file included from > >C:\Tornado2.0.2_x86\target\config\pcPentium\sysLib.c:464: > >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c:273: request for > >member `dosvd_devHd > >r' in something not a structure or union > >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c: In function > >`pccardMkfs': > >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c:309: request for > >member `dosvd_devHd > >r' in something not a structure or union > >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c: In function > >`pccardAtaEnabler': > >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c:512: > >`DOS_BOOT_SEC_PER_CLUST' undecl > >ared (first use this function) > >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c:512: (Each undeclared > >identifier is > >reported only once > >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c:512: for each function > >it appears in > >.) > >C:\Tornado2.0.2_x86\target\src\drv\pcmcia\pccardLib.c:515: > >`S_dosFsLib_BAD_DISK' undeclare > >d (first use this function) > >make: *** [sysLib.o] Error 0x1 > > There is an SPR raised for this. Unfortunately I can't remember the > number. As it happens it does not help because it is status is marked > "Do Not Fix". > > Talking to customer support, it appears that the fault is due to the > fact that the dosFs2.2 patch was a point solution effectively back > porting the T2.2 version of dosFs into Tornado 2.0.2. > > The WRS proposed solution is to upgrade to Tornado 2.2 - not a lot of > help to you, myself, or anyone else using a 486 (or any other processor > architecture) which is no longer supported in Tornado2.2. > > My solution, which worked for me but may not be possible in your case > was simply to remove the code in the pccardMount and pccardMkfs routines > in pccardLib.c and replace is with a simple "return ERROR;" statement. > This does, of course, mean that I can't use pccard disks but this does > not worry me at present. At least it allows me to continue to use our > PCMCIA network cards! > > If anyone has a better solution, I would also be very interested to hear > it. > > -- > Wade Oram --------------------------- Newsgroups: comp.lang.tcl,comp.os.vxworks Subject: Porting a recent version of TCL to VxWorks Date: Thu, 30 Jan 2003 08:56:47 +0200 From: "Eyal Raab" Organization: Newsfeeds.com http://www.newsfeed.com 100,000+ UNCENSORED Newsgroups. The #1 Usenet Service on the Planet! Message-ID: <3e38c678@post.newsfeed.com> *** post for FREE via your newsreader at post.newsfeed.com *** Hi, I have the following general question: - - What is needed and how much effort would it take to port a recent version of TCL to VxWorks? Here is the long story: - - We needed the ability to configure our embedded software at runtime. - - Instead of adding limited abilities in C or creating a custom interpreter, we downloaded and ported successfully a version of TCL 7.3 for VxWorks. - - So far, it works beautifully :) But, my appetite grew: - ----------------------------------- - - I think TCL can have a huge affect on our system once people will see its potential. - - TCL could be used to replace many tasks that so far have been coded in C. - - In order to benefit from the great TCL user community and many available projects, a more recent version of TCL is needed (8.x+). - - I would like to try to find out information on the effort it would take to port a recent version of TCL to VxWorks. Maybe this would be my way of contributing back. - - Any information will be greatly appreciated. Best regards, Eyal Raab -----= Posted via Newsfeed.Com, Uncensored Usenet News =----- http://www.newsfeed.com - The #1 Newsgroup Service in the World! - -----== 100,000 Groups! - 19 Servers! - Unlimited Download! =----- --------------------------- End of New-News digest **********************