From erxatech@inrete.it  Thu Aug  1 02:50:25 1996
From: erxatech@inrete.it (Paolo Magistris)
Date: Thu Aug  1 02:50:28 PDT 1996
Subject: real-time clock for a PC-board
Hello, There is someone that can help me in the development of a real-time
clock for a PC-board?
There are some template driver available ? 
                                                        Thank you
                                                          Paolo
=================================================================
 _______
|E______|                  Engineering
|__R____|                  Robotics
|____X__|                  Control Systems
|______A|                  Applications

 
 Field Application Engineer             Voice:    +39-11-7412749
 Erxa S.r.l.                            Fax:      +39-11-7412044
 via Morghen 22, 10143 Torino (ITALY)   
 E-Mail:  erxatech@inrete.alpcom.it

=================================================================

From jhillman@wrs.com  Thu Aug  1 06:28:14 1996
From: Jon Hillman <jhillman@wrs.com>
Date: Thu Aug  1 06:28:15 PDT 1996
Subject: Re: Serial Communication Controller
At 08:47 AM 7/31/96 PDT, Pierre Wong wrote:
>I am trying to set up a Zilog Z85C30 Serial Communications Controller
>in an asynchronous polling mode. Does anyone know the correct
>initialization sequence to put the SCC in this mode?

Pierre,   VxWorks 5.3 has an 8530 serial driver which is a polling-type
driver (or at least can be put in that mode).  It's at
target/src/drv/sio/z8530Sio.c.   Tornado uses it with the debugger via
the serial i/f to allow for system debugging.

I hope this is what you were asking for.

        _________________________
       | Jon Hillman, FAE        |       
       | Wind River Systems      |       
      /) (407) 273-4646          (\      
     / ) Email:jhillman@wrs.com  ( \    
   _( (|_________________________) )  />  
  (((\ \)  /,)             / )  / //))/  
  (\\\\ \_/ /              \ \_/ /////    
   \       /                \       /      
    \    _/                  \_    /          
----/   /----------------------\   \----
   /   /                        \   \

From 100656.1507@compuserve.com  Thu Aug  1 09:07:50 1996
From: John Shaw <100656.1507@compuserve.com>
Date: Thu Aug  1 09:07:51 PDT 1996
Subject: Motorola PowerPC 1604 power up failure
Greetings,

We are using MVME1600-001 cards from Motorola with VxWorks 5.2 boot PROMs. We
are finding
that these cards get into quite a state where their row of green lights show
red! They then cannot
be reset from the front panel and will not power off and on cleanly unless they
are allowed to cool
or discharge over a period of time after power off. The red light phenomenon
occurs at power up.
No messages appear if a terminal is attached. Has anyone else experienced this?
Is a solution
available?

The boot PROMS were generated using the Green Hills compiler and BSP for VxWorks
5.2-beta.
An added mezzanine processor card contains the PowerPC 604 on our kit.

John Shaw, Senior Software Engineer, Shade (Computer Services) Limited
Calne, Wiltshire, England, UK.

From jiaqp@nuhepz.phys.nwu.edu  Thu Aug  1 14:07:35 1996
From: QiuPing Jia <jiaqp@nuhepz.phys.nwu.edu>
Date: Thu Aug  1 14:07:37 PDT 1996
Subject: Re: comp.os.vxworks newsdigest 

Hi, everybody,

   I have a Motorola 68k board as my target which has vxworks running on it. 
My host system is SGI workstation. I am using vxgdb on my SGI to debug a 
program on 68K, my program has 10 parameters, but it seems vxgdb does not like 
to take 10th parameter. I got the following message when I gave 10 parameters 
from vxgdb:

> (vxgdb) run te_test 3 8 0 100 1 1 0 0 0 1
> Starting program:  te_test 3 8 0 100 1 1 0 0 0 1
> Can't encode argumentsCan't create task on remote target machine
> 
 But if I give less than 10 parameters, vxgdb can work happily.

> (vxgdb) run te_test 3 8 0 100 1 1 0 0 0
> Starting program:  te_test 3 8 0 100 1 1 0 0 0
> 
> Breakpoint 1, te_test (slot=3, clock_delay=8, nrz_delay=0, delay_multi=100, 
> svx_chain=1, r_mode=1, d_mode=0, h_mode=0, p_mode=0, n_event=0, non=0) at 
> sar_sgit.c:1082

I thought vxgdb should take 10 parameters, but it seems not. Is there anybody 
has the same experience? Or somebody knows how it is built, or somebody can 
think something wrong with my program?

Any clue will be appreciate.

Thanks,

Qiuping

jiaqp@nuhepz.phys.nwu.edu

From intrepid!pandya@uunet.uu.net  Thu Aug  1 15:11:58 1996
From: intrepid!pandya@uunet.uu.net (Janak Pandya)
Date: Thu Aug  1 15:12:00 PDT 1996
Subject: Exception handler task in VxWorks
Hi,

   My target is MVME167 (68040 based Motorola board). I am using VxWorks 5.2
   All the application code is in ADA. I have sereral ADA tasks running and 
   here's what I am trying to do.

   I want to create an exception handler task (just like VxWorks "tExcTask")
   to catch hardware exceptions caused by any of the tasks running on the
   board. I also want to process interrupts that are not handled by
   other tasks by setting up interrupt handler for all possible interrupts
   before other tasks are activated. This way, if any of tasks installs the
   interrupt handlers after the exception handler task has done so
   then that task will handle the interrupts. My problem is for
   the exception processing.

     1. Somehow I want to figure out the task Id of task or the Interrupt
        Service Routine (ISR) which caused the exception.

     2. I also want to notify the offending task that there was an exception.

   PLEASE, let me know if you have any suggestions or questions.

   Thank you.

                       Janak Pandya    
                                       
------------------------------------------------------------------------------
Janak Pandya                                                 813-347-7645 Work
E-Systems                                                    813-347-2890 Fax
1501 72nd Street N, MS-61                                   pandya@eci-cec.com
St. Petersburg, FL 33710
------------------------------------------------------------------------------

From kbaumann@itr.ch  Thu Aug  1 23:30:00 1996
From: Kurt Baumann <kbaumann@itr.ch>
Date: Thu Aug  1 23:30:03 PDT 1996
Subject: Re: Exception handler task in VxWorks
----------
X-Sun-Data-Type: text
X-Sun-Data-Description: text
X-Sun-Data-Name: text
X-Sun-Content-Lines: 11

Hi 

1. To show all installed interrupt service routines, you can use veclist.c with
   the function veclist()
2. a demo how to handle interrupts with a message queue handler, you can see bsp   3.c (it doesn't run, because there are missing some includes, just for lookin   g)

I hope, it will help you

Kurt Baumann and Theo Hugentobler, ITR, CH

kbaumann@itr.ch
----------
X-Sun-Data-Type: c-file
X-Sun-Data-Name: veclist.c
X-Sun-Content-Lines: 216

/*
 *	@(#)veclist.c	1.10
 *
 *	list fuctions attached to the interrupt vector table
 *
 *	Created 28Mar89	Jeffrey O. Hill
 *	hill@atdiv.lanl.gov
 *	(505) 665 1831
 *
 *	.01 010393 Applied fix for zero C ISR param causes incorrect 
 *		   identification as MACRO ISR problem. 
 */

/*
 * 
 *	makefile
 *
 *
 * V5VW = /.../vx/v502b
 *
 * veclist.o:
 *	cc68k -c -DCPU_FAMILY=MC680X0 -I$(V5VW)/h veclist.c
 * 
 *
 */

#include "vxWorks.h"
#include "stdio.h"
#include "intLib.h"
#include "vxLib.h"
#include "iv.h"
#include "ctype.h"
#include "sysSymTbl.h"

static char *sccsID = 
	"@(#)veclist.c	1.10\t1/3/94 J. Hill hill@atdiv.lanl.gov";

/*
 *
 * VME bus dependent
 *
 */
#define NVEC 0x100

static char *ignore_list[] = {"_excStub","_excIntStub"};

int		veclist(int);
int		cISRTest(FUNCPTR proutine, FUNCPTR *ppisr, void **pparam);
static void 	*fetch_pointer(unsigned char *);


/*
 *
 * veclist()
 *
 */
int veclist(int all)
{
  	int		vec;
	int		value;
	SYM_TYPE	type;
	char		name[MAX_SYS_SYM_LEN];
	char		function_type[10];
	FUNCPTR		proutine;
	FUNCPTR		pCISR;
	int		cRoutine;
	void		*pparam;
	int		status;
	int		i;

  	for(vec=0; vec<NVEC; vec++){
    		proutine = intVecGet((FUNCPTR *)INUM_TO_IVEC(vec));

		status = cISRTest(proutine, &pCISR, &pparam);
		if(status == OK){
			cRoutine = TRUE;
			proutine = pCISR;
			strcpy(function_type, "C");
		}
		else{
			cRoutine = FALSE;
			strcpy(function_type, "MACRO");
			pCISR = NULL;
		}
 
		status = symFindByValue(
				sysSymTbl, 
				(int)proutine, 
				name,
				&value,
				&type);
		if(status<0 || value != (int)proutine){
			sprintf(name, "0x%X", (unsigned int) proutine);
		}
		else if(!all){
			int	match = FALSE;

			for(i=0; i<NELEMENTS(ignore_list); i++){
				if(!strcmp(ignore_list[i],name)){
					match = TRUE;
					break;
				}
			}
			if(match){
				continue;
			}
		}
       		printf(	"vec 0x%02X %5s ISR %s", 
			vec, 
			function_type,
			name);
		if(cRoutine){
			printf("(0x%X)", (unsigned int) pparam);
		}
		printf("\n");
	}

	return OK;
}


/*
 * cISRTest()
 *
 * test to see if a C routine is attached
 * to this interrupt vector
 */
#define ISR_PATTERN	0xaaaaaaaa
#define PARAM_PATTERN	0x55555555 
int	cISRTest(FUNCPTR proutine, FUNCPTR *ppisr, void **pparam)
{
	static FUNCPTR	handler = NULL;
	STATUS		status;
	unsigned char	*pchk;
	unsigned char	*pref;
	unsigned char	val;
	int		found_isr;
	int		found_param;

	if(handler == NULL){
		handler = (FUNCPTR) intHandlerCreate(
				(FUNCPTR) ISR_PATTERN, 
				PARAM_PATTERN);
		if(handler == NULL){
			return ERROR;
		}
	}

	found_isr = FALSE;
	found_param = FALSE;
	pchk = (unsigned char *) proutine;
	pref = (unsigned char *) handler; 
	for(	;
		found_isr==FALSE || found_param==FALSE;
		pchk++, pref++){

		status = vxMemProbe(	
				pchk,
				READ,
				sizeof(val),
				&val);
		if(status < 0){
			return ERROR;
		}

		if(val != *pref){
			if(*pref == (unsigned char) ISR_PATTERN){
				*ppisr = fetch_pointer(pchk);
				pref += sizeof(*ppisr)-1;
				pchk += sizeof(*ppisr)-1;
				found_isr = TRUE;	
			}
			else if(*pref == (unsigned char) PARAM_PATTERN){
				*pparam = fetch_pointer(pchk);
				pref += sizeof(*pparam)-1;
				pchk += sizeof(*pparam)-1;
				found_param = TRUE;
			}
			else{	
				return ERROR;
			}
		}
	}

	return OK;
}


/*
 * fetch_pointer()
 *
 * fetch pointer given low byte with correct byte ordering
 *
 */
struct char_array{
	unsigned char byte[4];
};
union pointer{
	void 			*ptr_overlay;
	struct char_array 	char_overlay;
};

LOCAL
void *fetch_pointer(unsigned char *plow_byte)
{
	union pointer	p;
	int		i;

	for(i=0; i < sizeof(p); i++){
		p.char_overlay.byte[i] = plow_byte[i];
	}

	return p.ptr_overlay;
}
----------
X-Sun-Data-Type: c-file
X-Sun-Data-Name: bsp3.c
X-Sun-Content-Lines: 252

#include "vxWorks.h"
#include "vxLib.h"
#include "ctype.h"
#include "sysSymTbl.h"

#include "stdio.h"       /* fuer fprint */
#include "piofunction.h" /* Befehlsbibliothek zur PIO-1 (DA-87) */

#include "iv.h"		 /* fuer Interrupt Handling 	*/
#include "intLib.h"	 /* fuer Interrupt Handling 	*/
#include "msgQLib.h"	 /* fuer Message Handling	*/
#include "sysLib.h"	 /* fuer sysIntEnable()		*/

#define MAX_MSG 10
#define MAX_MSG_LEN 30

#define MSG_PH1 "PH1"
#define MSG_QH3 "QH3"
#define MSG_RH1 "RH1"
#define MSG_SH3 "SH3"
#define MSG_UH3 "UH3"
#define MSG_TH1 "TH1"
#define MSG_WH3 "WH3"
#define MSG_VH1 "VH1"
		
MSG_Q_ID IntMsgQId;
					
		
/* IRQ Level auf VME Bus, 6 oder 7, andere werden vom WindView verwendet	        
*/
#define INTERRUPT_LEVEL 6
	
/* Interrupt Vector Number fuer Channel 1 bis 4, Werte von 64..255 moeglich
*/
#define VECTOR_NUMBER_PQ 76	
#define VECTOR_NUMBER_RS 80
#define VECTOR_NUMBER_UT 84
#define VECTOR_NUMBER_WV 88
 
/* Zeiger auf ISR des entsprechenden Handshakesignals
*/
VOIDFUNCPTR *vectorPH1;
VOIDFUNCPTR *vectorQH3;
VOIDFUNCPTR *vectorRH1;
VOIDFUNCPTR *vectorSH3;
VOIDFUNCPTR *vectorUH3;
VOIDFUNCPTR *vectorTH1;
VOIDFUNCPTR *vectorWH3;
VOIDFUNCPTR *vectorVH1;

/* Handler fuer die verschiedenen Tasks
*/
int TID_IntMsgHandler;
int TID_SysStopHandler;
int TID_UserHandler;
int TID_MotorSpeedHandler;

/********************************************************************************/
void isr_PH1(void)		
{
   int resetwert=0x01;
   setPIOReg(PORT_P, PSR, &resetwert);
   msgQSend (IntMsgQId, MSG_PH1, sizeof (MSG_PH1), NO_WAIT, MSG_PRI_NORMAL);
}

/********************************************************************************/
void isr_QH3(void)		
{   
   int resetwert=0x04;
   setPIOReg(PORT_Q, PSR, &resetwert);
   msgQSend (IntMsgQId, MSG_QH3, sizeof (MSG_QH3), NO_WAIT, MSG_PRI_NORMAL);
}

/********************************************************************************/
void isr_RH1(void)			
{
   int resetwert=0x01;
   setPIOReg(PORT_R, PSR, &resetwert);
   msgQSend (IntMsgQId, MSG_RH1, sizeof (MSG_RH1), NO_WAIT, MSG_PRI_NORMAL);
}

/********************************************************************************/
void isr_SH3(void)		
{   
   int resetwert=0x04;
   setPIOReg(PORT_S, PSR, &resetwert);
   msgQSend (IntMsgQId, MSG_SH3, sizeof (MSG_SH3), NO_WAIT, MSG_PRI_NORMAL);
}

/********************************************************************************/
void isr_UH3(void)		
{
   int resetwert=0x04;
   setPIOReg(PORT_U, PSR, &resetwert);
   msgQSend (IntMsgQId, MSG_UH3, sizeof (MSG_UH3), NO_WAIT, MSG_PRI_NORMAL);
}

/********************************************************************************/
void isr_TH1(void)		
{   
   int resetwert=0x01;
   setPIOReg(PORT_T, PSR, &resetwert);
   msgQSend (IntMsgQId, MSG_TH1, sizeof (MSG_TH1), NO_WAIT, MSG_PRI_NORMAL);
}

/********************************************************************************/
void isr_WH3(void)			
{
   int resetwert=0x04;
   setPIOReg(PORT_W, PSR, &resetwert);
   msgQSend (IntMsgQId, MSG_WH3, sizeof (MSG_WH3), NO_WAIT, MSG_PRI_NORMAL);
}

/********************************************************************************/
void isr_VH1(void)		
{   
   int resetwert=0x01;
   setPIOReg(PORT_V, PSR, &resetwert);
   msgQSend (IntMsgQId, MSG_VH1, sizeof (MSG_VH1), NO_WAIT, MSG_PRI_NORMAL);
}

/********************************************************************************/
void ende(void)				
{
   sysIntDisable(INTERRUPT_LEVEL);
     
   taskDelete(TID_MotorSpeedHandler);
/*
   taskDelete(TID_SysStopHandler);
   taskDelete(TID_UserHandler);
    
   msgQDelete(IntMsgQId);
   
printf("ENDE");

*/
   taskDelete(TID_IntMsgHandler);

   printf("ende");

     
   printf("Program terminated.");
  
}

/********************************************************************************/
void IntMsgHandler(void)			
{
   char msgBuff[MAX_MSG_LEN];	
	   
   while(TRUE)
   {
      msgQReceive (IntMsgQId, msgBuff, MAX_MSG_LEN, WAIT_FOREVER);    
   
      if (strcmp(msgBuff,MSG_UH3) == 0)
      {
         printf("MSH_UH3");
         ende();    
      }
      if (strcmp(msgBuff,MSG_TH1) == 0)
      {
         printf("MSH_TH1");
         ende();    
      }

   }
}

/********************************************************************************/
void SysStopHandler(void)
{
}

/********************************************************************************/
void UserHandler(void)
{
}

/********************************************************************************/
void MotorSpeedHandler(void)
{
   int status = 0;
   unsigned char wert = 0;
   while(TRUE)
   {   
      status = readFromPIO(PORT_Q, &wert);
      wert = wert & 0x0F;
      status = writeToPIO (PORT_P, wert);
    
      status = readFromPIO(PORT_S, &wert);
      wert = wert & 0x0F;
      status = writeToPIO (PORT_R, wert);
   }
}

/********************************************************************************/
void interrupt(void)			
{
   int status    = 0;		
   int parameter = 0;

   int intLevel = INTERRUPT_LEVEL;

   int vecNumberPQ = VECTOR_NUMBER_PQ;	
   int vecNumberRS = VECTOR_NUMBER_RS;	
   int vecNumberUT = VECTOR_NUMBER_UT;	
   int vecNumberWV = VECTOR_NUMBER_WV;	

   sysIntDisable(INTERRUPT_LEVEL); 
   initRegister();

   status = setPIOReg(CHANNEL1, PIVR, &vecNumberPQ);
   status = setPIOReg(CHANNEL2, PIVR, &vecNumberRS);
   status = setPIOReg(CHANNEL3, PIVR, &vecNumberUT);
   status = setPIOReg(CHANNEL4, PIVR, &vecNumberWV);
  
   vectorPH1 = INUM_TO_IVEC(vecNumberPQ);  
   status    = intConnect(vectorPH1, isr_PH1, parameter);
   vectorQH3 = INUM_TO_IVEC(vecNumberPQ+2);  
   status    = intConnect(vectorQH3, isr_QH3, parameter);
   vectorRH1 = INUM_TO_IVEC(vecNumberRS);  
   status    = intConnect(vectorRH1, isr_RH1, parameter);
   vectorSH3 = INUM_TO_IVEC(vecNumberRS+2);  
   status    = intConnect(vectorSH3, isr_SH3, parameter);
   vectorUH3 = INUM_TO_IVEC(vecNumberUT+2);  
   status    = intConnect(vectorUH3, isr_UH3, parameter);
   vectorTH1 = INUM_TO_IVEC(vecNumberUT);  
   status    = intConnect(vectorTH1, isr_TH1, parameter);
   vectorWH3 = INUM_TO_IVEC(vecNumberWV+2);  
   status    = intConnect(vectorWH3, isr_WH3, parameter);
   vectorVH1 = INUM_TO_IVEC(vecNumberWV);  
   status    = intConnect(vectorVH1, isr_VH1, parameter);
   
   IntMsgQId = msgQCreate (MAX_MSG, MAX_MSG_LEN, MSG_Q_PRIORITY);

   taskSpawn("tIntMsgHandler"    ,  30, 0, 1000, IntMsgHandler    ,0,0,0,0,0,0,0,0,0,0);
   taskSpawn("tSysStopHandler"   ,  20, 0, 1000, SysStopHandler   ,0,0,0,0,0,0,0,0,0,0);
   taskSpawn("tUserHandler"      , 100, 0, 1000, UserHandler      ,0,0,0,0,0,0,0,0,0,0);
   taskSpawn("tMotorSpeedHandler", 100, 0, 1000, MotorSpeedHandler,0,0,0,0,0,0,0,0,0,0);
 
   TID_IntMsgHandler     = taskNameToId("tIntMsgHandler");
   TID_SysStopHandler    = taskNameToId("tSysStopHandler");
   TID_UserHandler       = taskNameToId("tUserHandler"); 
   TID_MotorSpeedHandler = taskNameToId("tMotorSpeedHandler");

   sysIntEnable(INTERRUPT_LEVEL);

   printf("Ende von init und Interrupts freigegeben.\n\n");
}

From getker@sentientnet.com  Fri Aug  2 02:08:22 1996
From: getker@sentientnet.com (Jim Getker)
Date: Fri Aug  2 02:08:24 PDT 1996
Subject: Re: Exception handler task in VxWorks
Janak Pandya writes:  

>    My target is MVME167 (68040 based Motorola board). I am using VxWorks 5.2
>    All the application code is in ADA. I have sereral ADA tasks running and 
>    here's what I am trying to do.
> 
>    I want to create an exception handler task (just like VxWorks "tExcTask")
>    to catch hardware exceptions caused by any of the tasks running on the
>    board. I also want to process interrupts that are not handled by
>    other tasks by setting up interrupt handler for all possible interrupts
>    before other tasks are activated. This way, if any of tasks installs the
>    interrupt handlers after the exception handler task has done so
>    then that task will handle the interrupts. My problem is for
>    the exception processing.
> 
>      1. Somehow I want to figure out the task Id of task or the Interrupt
>         Service Routine (ISR) which caused the exception.
> 
>      2. I also want to notify the offending task that there was an exception.
> 

I did something like this on a 167 board under VADSworks.  I replaced all
of the vectors that the Ada runtime used for exceptions with my own interrupt
handler.  These vectors were mapped to Ada exceptions like storage_error
and constraint_error.  The new interrupt handler saved the context of the
processor in a fixed location.  The context included all of the registers
and the first few hundred bytes of the stack.  After this was done the
Ada runtime interrupt routine was called, which generated an Ada exception
as  usual.  If the exception handler decided that the exception was serious,
it could log the state information that was collected at interrupt level.
This allowed us to pinpoint the cause of the exception off-line.

I suppose you could send the state information to your exception task in
a queue.  The currently executing task ID is available from the
variable taskIdCurrent, so you could send it along with the processor
state.  If an exception occurs at interrupt level, you could just use the
PC to identify the ISR.  Be careful though, many Ada runtime systems
require that all exceptions be suppressed in an interrupt handler.

Good luck,

Jim

------
Jim Getker
Sentient Networks Inc.
941-371-5454 ext. 30
getker@sentientnet.com

From daemon@csg.lbl.gov  Fri Aug  2 04:01:05 1996
From: daemon@csg.lbl.gov
Date: Fri Aug  2 04:01:08 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Fri Aug  2 04:01:01 PDT 1996

        Subject: Re: printf() broken in Tornado's version of GNU C
        Subject: Re: printf() broken in Tornado's version of GNU C
        Subject: Industrial Automation Job Opportunities
        Subject: Re: NTP availability?
        Subject: Re: --- PowerPC guru's ---
        Subject: Re: Booting from Windows NT
        Subject: SMC Driver
        Subject: SMC Driver
        Subject: Re: Minimal pcnfsd For VxWorks?
        Subject: Re: Debugging a task at startup
        Subject: Re: Why can't VxWorks handle multi-protocol sockets?
        Subject: VxWorks driver for SMC91C94

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

Newsgroups: comp.os.vxworks
Subject: Re: printf() broken in Tornado's version of GNU C
Date: 29 Jul 1996 19:00:59 GMT
From: garyjohn@spk.hp.com (Gary Johnson)
Organization: Hewlett-Packard, Spokane Division
Message-ID: <4tj1pb$jec@hpcvsnz.cv.hp.com>
References: <4tgn51$n34@uhura.phoenix.net>

Bruce Wedding (brucew@phoenix.net) wrote:
> I'm having trouble getting either of the following lines to work
> properly in Tornado vxWorks 5.3.
>
> printf("%25s", buf);
>
> or 
>
> printf("%*s", 25, buf);
>
> I'm passing a buffer that is not nul terminated, so if the length
> specification doesn't work, I print off into hyperspace.  That is
> exactly what is happening now.  Anyone else ever tried to use
> printf() this way?  Is there a fix?

This is not a bug--printf() is supposed to work this way.  Referring to
the print() man page, the number following the % is the "minimum field
width."  Printf() will always attempt to print the argument string in
its entirety.  To print only the first 25 characters of a
non-null-terminated "string", you will have to do something like this:

    char pbuf[26];

    strncpy(pbuf, buf, 25);
    pbuf[25] = '\0';
    printf("%25s", pbuf);

I added pbuf because I assumed that you didn't want to alter the
contents of buf.

Gary

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

Newsgroups: comp.os.vxworks
Subject: Re: printf() broken in Tornado's version of GNU C
Date: 29 Jul 1996 21:10:24 GMT
From: litwin@chroma.jpl.nasa.gov (Todd Litwin)
Organization: Jet Propulsion Laboratory, Pasadena, CA
Message-ID: <4tj9c0$m2p@netline-fddi.jpl.nasa.gov>
References: <4tgn51$n34@uhura.phoenix.net> <4tj1pb$jec@hpcvsnz.cv.hp.com>

In article <4tj1pb$jec@hpcvsnz.cv.hp.com> garyjohn@spk.hp.com (Gary Johnson) writes:
>Bruce Wedding (brucew@phoenix.net) wrote:
>> I'm having trouble getting either of the following lines to work
>> properly in Tornado vxWorks 5.3.
>>
>> printf("%25s", buf);
>>
>> or 
>>
>> printf("%*s", 25, buf);
>>
>> I'm passing a buffer that is not nul terminated, so if the length
>> specification doesn't work, I print off into hyperspace.  That is
>> exactly what is happening now.  Anyone else ever tried to use
>> printf() this way?  Is there a fix?
>
>This is not a bug--printf() is supposed to work this way.  Referring to
>the print() man page, the number following the % is the "minimum field
>width."  Printf() will always attempt to print the argument string in
>its entirety.  To print only the first 25 characters of a
>non-null-terminated "string", you will have to do something like this:

Well, yes and no. Yes, the first printf() above will try to print the entire
string. But, no, you don't need to go to great lengths to do what you want. The
problem above is that the wrong format string was used. To limit the string to
a specific length, say 25, you should do

        printf("%.25s", buf);

Note the period before the 25. See page 147 in "The C Programming Language"
by Kernighan and Ritchie.
- --
		Todd Litwin
		Jet Propulsion Laboratory
		(818) 354-5028
		Todd.E.Litwin@jpl.nasa.gov

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

Newsgroups: comp.os.vxworks
Subject: Industrial Automation Job Opportunities
Date: Wed, 31 Jul 1996 11:27:34 -0700
From: "David Loop" <david.loop@newnes.com>
Organization: Newnes Machine Ltd.
Message-ID: <01bb7f0d.f1a2eeb0$7d0814ac@bae-pc>

	NEWNES MACHINE LTD JOB OPPORTUNITIES

Imagine working where others dream of having their vacation...
	where commuting is like a Sunday drive...
where the word 'community' means more than a place your taxes go to.

Salmon Arm, British Columbia, the heart of the spectacular Shuswap
Lake region, is one of these places.  Many of the people lucky enough
to live there work for Newnes Machine Ltd.  Newnes is North America's
leading supplier of state-of-the-art, fully automated sawmill equipment,
with over 400 employees.

If you are a results oriented team player with qualifications and skills
that match our job opportunities, we would like you to consider joining
us and our way of life.

Our Optimization team is looking for people with the following skills

software design - real time industrial automation
	VxWorks, optimization algorithms, 3D modelling, decision logic
software design - industrial man machine interface
	WinNT, SQL databases,  object oriented / multi-threaded designs
software design - embedded signal processing
	2D/3D image processing, DSP, high speed comm and data acquisition
system design - industrial automation
	VME and PC platforms, networking, distributed database, high
	speed data acquisition, power conditioning
hardware design - profile measurement sensors
	laser triangulation, vision, CCD arrays, embedded image processing

For immediate consideration please forward a cover letter and resume to 
David Loop, Optimization Business Manager.

		Newnes Machine Ltd.
		PO Box 8
		Salmon Arm, B.C.  V1E 4N2
		email	david.loop@newnes.com
		tel	604 832-7116
		fax	604 832-7890

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

Newsgroups: comp.os.vxworks
Subject: Re: NTP availability?
Date: 29 Jul 1996 20:11:05 -0700
From: mwette@mr-ed.jpl.nasa.gov (Matt Wette)
Organization: Jet Propulsion Laboratory
Message-ID: <4tjug9$br7@mr-ed.jpl.nasa.gov>
References: <m1687887kj.fsf@cushing.nowhere.com> <4tid19$mcm@crc-news.doc.ca>

In article <4tid19$mcm@crc-news.doc.ca>,
Donald McLachlan <don@mars.dgrc.doc.ca> wrote:
>
>I work with Norm Young (who started this thread), we sort of have gettimeofday,
>settimeofday, adjtime etc.  Currently we have this stuff working, but without
>being able to access the real time clock (even with the MMU support disabled) so
>time at boot up is Jan 1 1977, but xntpd should fix this :-).
>Wanna trade?
>
>Anyone out there able to access the real time clock on the hkv4f using the macros
>supplied by vxWorks 5.2?

The clock on the HKV4F is not of very high precision if I remember right.
Something like 10ms comes to mind.  You may want to just work with the
kernel tick by using clock_gettime and clock_settime.  Anyway the routines
you want are in config/hkv4f/dp8750aRTC.c, more or less.  I started
down this track a few years back and gave up.  (I couldn't get xntpd
to converge).  Below is what I've dug out from my efforts.  In the
meantime I've been trying to work bottom-up from the NTP RFC's.

Good luck and let us all know if you get it working!

Matt

#include <vxWorks.h>
#include <sys/times.h>
#include <time.h>
#include <timers.h>

static int gettime_tm(struct tm *tm);
static int settime_tm(struct tm *tm, int nsec);

static long nsec_adj = 0;
static long tick_adj = 0;

int
sysclk_tick_handler(int arg)
{
  struct timespec ts;

  if (nsec_adj == 0) tickAnnounce();

  clock_gettime(CLOCK_REALTIME, &ts);
  if (nsec_adj > 0) {
    ts.tv_nsec += nsec_adj;
    if (ts.tv_nsec >= 1000000000) {
      ts.tv_sec++;
      ts.tv_nsec -= 1000000000;
    }
    nsec_adj -= tick_adj;
  } else {
    ts.tv_nsec -= nsec_adj;
    if (ts.tv_nsec < 0) {
      ts.tv_sec--;
      ts.tv_nsec += 1000000000;
    }
    nsec_adj += tick_adj;
  }
  clock_settime(CLOCK_REALTIME, &ts);

  tickAnnounce();
  return 0;
}

int
setup_ticker(void)
{
  tick_adj = 5000000;
  sysClkConnect((FUNCPTR)sysclk_tick_handler, 0);
}

int
showtime(void)
{
  struct timespec ts;

  clock_gettime(CLOCK_REALTIME, &ts);
  printf("%09d\n", ts.tv_nsec);
  return 0;
}

int
gettimeofday(struct timeval *tp, void *tz)
{
  struct timespec ts;

  clock_gettime(CLOCK_REALTIME, &ts);
  tp->tv_sec = ts.tv_sec;
  tp->tv_usec = ts.tv_nsec/1000;
  return 0;
}

int
settimeofday(struct timeval *tp, void *tz)
{
  struct timespec ts;
  struct tm tm;
  int status;

  ts.tv_sec = tp->tv_sec;
  ts.tv_nsec = 1000*(tp->tv_usec);
  clock_settime(CLOCK_REALTIME, &ts);
  localtime_r(&tp->tv_sec, &tm);
  settime_tm(&tm, ts.tv_nsec);
  return 0;
}

int
adjtime(const struct timeval *delta, struct timeval *olddelta)
{
  struct timeval tv;
  struct timespec ts;
  int key;

#if 1
  tick_adj += (delta->tv_usec)*1000;
#else
  key = intLock();
  clock_gettime(CLOCK_REALTIME, &ts);
  ts.tv_sec += delta->tv_sec;
  ts.tv_nsec += 1000*(delta->tv_usec);
  if (ts.tv_nsec >= 1000000000) {
    ts.tv_sec++;
    ts.tv_nsec -= 1000000000;
  } else if (ts.tv_nsec < 0) {
    ts.tv_sec++;
    ts.tv_nsec += 1000000000;
  }
  clock_settime(CLOCK_REALTIME, &ts);
  intUnlock(key);
#endif
  return 0;
}

xdate()
{
  time_t t;

  t = time(0);
  printf("%s", asctime(localtime(&t)));
}

time_t
time(time_t *tp)
{
  struct timespec ts;

  clock_gettime(CLOCK_REALTIME, &ts);
  if (tp) *tp = ts.tv_sec;
  return ts.tv_sec;
}

- -- 
matthew.r.wette@jpl.nasa.gov

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

Newsgroups: comp.os.vxworks
Subject: Re: --- PowerPC guru's ---
Date: Mon, 29 Jul 1996 12:22:42 -0600
From: chris_estes@smtp.svl.trw.com (Chris Estes)
Organization: TRW
Message-ID: <chris_estes-2907961222420001@m52112.svl.trw.com>
References: <4t8nnp$a4t@badger.heurikon.com>

Ted,

Your are absolutely correct.  RomInit.s is failing to initialize the
MPC105 Eagle chip.  We discovered this back in April or so, right after the
non-Beta release of vxWorks 5.2 for the PowerPC came out.  With the beta
version, our PCI device worked fine.  In the non-beta, our PCI device was
having trouble getting the PCI bus at times.  In any case, Wind River has
been informed of this oversight and it is on their list of things to do.
It may have been somewhat fixed in 5.3, I haven't had time yet to try and
port to the newer version.

By the way Fred, our you looking at this code to produce a BSP for Heurikon's
PowerPC board?

- -Chris Estes
TRW SIG Sunnyvale

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

Newsgroups: comp.os.vxworks
Subject: Re: Booting from Windows NT
Date: 1 Aug 1996 04:48:56 GMT
From: steved@pacifier.com@199.2.117.163  (Steve Doiel)
Organization: Pacifier BBS, Vancouver, Wa.  ((360) 693-0325)
Message-ID: <4tpcvo$7n5@news.pacifier.com>
References: <4tmmgd$m47@nnrp1.news.primenet.com>
Reply-To: steved@pacifier.com  (Steve Doiel)

Douglas Jerome writes:
>Help!
>
>My vxworks target boots fine from my sparc, but it won't boot from
>my Windows NT computer.  Actually, vxworks boots but it hangs forever
>trying to download the symbol table.
>
>I've seen a reply to a similar posting, but I did not relly understand
>it.  Do I need to make new boot roms?  Or do I simply make some
>changes to the vxworks load module?

I boot VxWorks from my NT machine frequently.  I initially encountered several
problems relating to NT security and FTP security.

On my machine I created a user for my VxWorks target and gave it a password.
This password is used by VxWorks to gain access to the machine.
In addition, under Control Panel their is an FTP setup.  For VxWorks (or other
systems) to read the drive using FTP the drive must be set up as readable.
From file manager I set up the directoy containing the file I was booting
with read access for the VxWorks target user.

I'm not sure I hit all of the bases, but I think so.

Steve Doiel

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

Newsgroups: comp.os.vxworks
Subject: SMC Driver
Date: Thu, 25 Jul 1996 17:06:14 -0700
From: Emanoel <emanoel@globalvillage.com>
Organization: Global Village Communication, Inc.
Message-ID: <31F80BF6.7619@globalvillage.com>

Does anyone have a current 68360 SMC TTY driver compatible with VxWorks?

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

Newsgroups: comp.os.vxworks
Subject: SMC Driver
Date: Thu, 25 Jul 1996 17:07:59 -0700
From: Emanoel <emanoel@globalvillage.com>
Organization: Global Village Communication, Inc.
Message-ID: <31F80C5E.6BD0@globalvillage.com>

Does anyone have a 68360 SMC TTY driver compatible with VxWorks?
Please respond to emanoel@globalvillage.com

thank you very much,
emanoel.

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

Newsgroups: comp.os.vxworks
Subject: Re: Minimal pcnfsd For VxWorks?
Date: 30 Jul 1996 18:19:11 -0700
From: chaos@idiom.com (H.J. Bae)
Organization: Peaceful Star, Oakland, CA
Message-ID: <4tmcaf$eqm@idiom.com>
References: <DvCwrw.4E6@world.std.com>

Mark Fisher (mfisher@dyn.com) wrote:

: I want to be able to mount a disk on vxWorks on a PC. I can get this
: to work by specifying a server that is running pcnfsd to do the user
: authentication. However, I need to be able to have the vxWorks system
: do the user authentication in the field. Is there any port (even a
: minimal one) of pcnfsd that is available that does this? Or does
: anyone have any suggestions as to how to get around this? 

You can get source code for pcnfsd from various FTP sites.  Porting
it to vxWorks should take less than several hours.  I've ported pcnfsd
to a custom embedded kernel (not VxWorks) based on 4.4 BSD network code
and it took trivial amount of time.

- -- 
H.J. Bae 	http://www.peacefulstar.oakland.ca.us

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

Newsgroups: comp.os.vxworks
Subject: Re: Debugging a task at startup
Date: 30 Jul 1996 18:28:59 -0700
From: chaos@idiom.com (H.J. Bae)
Organization: Peaceful Star, Oakland, CA
Message-ID: <4tmcsr$fb1@idiom.com>
References: <MAILQUEUE-101.960722102240.480@digsys1.bwi.wec.com> <4t1gm2$ece@news.pacifier.com>

If you use Tornado, you can click on the little box in RUN dialog
box under debug menu which says something like 'break at task start'
or something like that.

Other people have suggested several different solutions for vxgdb
and older VxWorks.

If you build a custom GDB cross-debugger for your VxWorks (using original
GNU source code), you can build a version of debugger and add your own
gdb_trigger() routine which can be used to invoke the debugger trap
anywhere in your code (including at the start of the task).
Perhaps vxgdb has this?

- -- 
H.J. Bae 	http://www.peacefulstar.oakland.ca.us

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

Newsgroups: comp.os.vxworks
Subject: Re: Why can't VxWorks handle multi-protocol sockets?
Date: 30 Jul 1996 18:13:31 -0700
From: chaos@idiom.com (H.J. Bae)
Organization: Peaceful Star, Oakland, CA
Message-ID: <4tmbvr$em7@idiom.com>
References: <blaine-2707962127550001@kub.texas.net> <4tkjcb$bc2@idiom.com> <blaine-3007961837480001@kub.texas.net>

Blaine Kubesh (blaine@texas.net) wrote:

: I don't know how to just replace the native network code without
: the source code to the VxWorks kernel. Do they distribute the
: kernel source? 

You can replace the native network kernel code with 4.4 BSD without 
VxWorks kernel source code.  This has been done before (but the
code is not available for public consumption -- done under a contract).  
The real issue has to do with making it general enough so that 
it will work with all those network devices.   WRS will sell you 
source code for significant amount of money if you really need 
the source code.

- -- 
H.J. Bae 	http://www.peacefulstar.oakland.ca.us

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

Newsgroups: comp.os.vxworks
Subject: VxWorks driver for SMC91C94
Date: 2 Aug 1996 10:07:24 GMT
From: <100632.3602@compuserve.com>
Organization: CompuServe Incorporated
Message-ID: <4tsk0s$3dp@dub-news-svc-4.compuserve.com>

Does anyone have a VxWorks driver for SMC91C94 or SMC91C92?

C. Burmann

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

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

From sy@wrs.com  Fri Aug  2 12:16:49 1996
From: Sayeed Choudhury <sy@wrs.com>
Date: Fri Aug  2 12:16:51 PDT 1996
Subject: SMC 919x drivers
Hello,

>From: <100632.3602@compuserve.com>
>Does anyone have a VxWorks driver for SMC91C94 or SMC91C92?
>
>C. Burmann

WRS has just started a web page, in order to provide freeware drivers that
have been written for VxWorks. They may or may not work, and their origin
may or may not be Wind River Systems. They may have been originally written
for use with Tornado 1.0,
VxWorks 5.2, VxWorks 5.1, or earlier releases. Please keep in mind that they may
also contain architecture-related specifics.

The first driver just so happens to be the SMC91C9x, so youre in luck! The
page is located at:

        http://www.wrs.com/frundd.html

I would encourage all developers to contact me as they develop drivers, such
that if appropriate, I can work with you to put the driver on our Web page
to help other developers.

Cheers, Sy

From vasta@proton.llumc.edu  Fri Aug  2 17:44:05 1996
From: Steve Vasta <vasta@proton.llumc.edu>
Date: Fri Aug  2 17:44:07 PDT 1996
Subject: ONC/TLI RPC Compatibility problems?

Does anyone know of any compatibility problems using TLI RPC client
software (from Solaris 2.4) against ONCRPC servers running under VxWorks
5.2?  I'm able to run RPC TLI client/server tests OK if both machines are
Solaris (i.e. both machines use TLI RPC . . . also known as TIRPC), and if
both machines run ONCRPC (such as SunOS4.1.x and VxWorks 5.2).  However, I
am getting corrupted data (on the server side within the proper
callback) when I run a TLI client against an ONC server and vice versa.
My questions at this point are:

	1) Can TLI RPC and ONC RPC be mixed like this?
	2) If not, is there a version of TLI RPC that can be built for
	   VxWorks 5.2 and/or Sun4 machines?

Any help would be greatly appreciated!  :-)

Steve Vasta <vasta@proton.llumc.edu>

From daemon@csg.lbl.gov  Sat Aug  3 04:00:44 1996
From: daemon@csg.lbl.gov
Date: Sat Aug  3 04:00:46 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Sat Aug  3 04:00:40 PDT 1996

        Subject: Getting up to speed with VxWorks
        Subject: Purify like tools for VXWORKS??
        Subject: Re: System Controller in slot 1
        Subject: NCR/Symbios Logic 53C720 SCSI Driver Source
        Subject: Re: printf() broken in Tornado's version of GNU C
        Subject: Re: Has anyone recieved this email?
        Subject: ping and VxWorks 5.3
        Subject: interrupt handler question
        Subject: VxWorks vs. OS-9

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

Newsgroups: comp.os.vxworks
Subject: Getting up to speed with VxWorks
Date: 1 Aug 1996 22:03:20 GMT
From: Karin Larsen <larsen@utech.gcs.redstone.army.mil>
Organization: Nichols Research Corporation
Message-ID: <4tr9j8$g41@michp1.redstone.army.mil>

   Can anyone tell me if you have limited real-time embedded experience,
   how hard is it to get up to speed with VxWorks?  Are the training
   courses from Wind Rivers useful?

   Please e-mail to masseys@nichols.com

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

Newsgroups: comp.os.vxworks
Subject: Purify like tools for VXWORKS??
Date: Fri, 02 Aug 1996 10:47:50 -0600
From: Aseem Bakshi <Abakshi@phbtsus.com>
Organization: U S WEST - !NTERACT Services
Message-ID: <32023136.8AA@phbtsus.com>

Hi,
I am looking for tools  that perform memory checks similar to the
capabilities that
Purify provides on VXWORKS. Could anybody who knows of or has used such
tools
post back into this group or send me E-mail
Thanx in advance
Aseem
- -- 
- -----------------------------------------------------------------------------
Aseem Bakshi                                     Phone: (801)9771574
Philips Broadcast Television Systems Inc                 Alias: Polka
Boy
Salt Lake City, UT                 
E-mail Abakshi@phbtsus.com

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

Newsgroups: comp.arch.bus.vmebus;,comp.os.vxworks
Subject: Re: System Controller in slot 1
Date: 2 Aug 1996 12:02:26 GMT
From: tfm@sei.cmu.edu (Theodore Marz)
Organization: The Software Engineering Institute
Message-ID: <4tsqoi$mju@news.sei.cmu.edu>
References: <4tr41n$ogd@fountain.mindlink.net>

In article <4tr41n$ogd@fountain.mindlink.net>, Philip.Wiebe@newnes.com (Philip J. Wiebe) writes:
|> 
|> 
|> The VMEBus specificaiton specifies that the system controller MUST be
|> in slot 1.  Most VME boards (at least the MVME162) specifies this as
|> well.  However, placing the system controller in any other slot works
|> as well.  We have not tried it in a production version, but in-house
|> only.  Has this restriction been eliminated, or will the system
|> controller be unreliable in any other slot than slot 1?
|> 
|> Philip Wiebe
|> Newnes Machine Ltd.
|> 
|> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|> Philip J. Wiebe               "It has yet to be proven that intelligence
|> Software Engineer              has any survival value."
|> Newnes Machine Ltd.                 - Arthur C. Clarke
|> P.O.Box 8, 3550-45th Street S.E.
|> Salmon Arm, BC  Canada
|> email: Philip.Wiebe@newnes.com
|> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|> 

Given how the VME bus arbitrates (bus requests, bus grants, interrupts, etc)
I don't think so.  If you aren't using interrupts, then you PROBABLY could
declair either end of the chassis to be "slot 1" and proceed.

What I wouldn't do is put bus mastering cards on BOTH sides of the system
controller card.  You could PROBABLY get away with putting passive cards
(ie. memory, non-mastering I/O cards, etc) on the "wrong" side of the system
controller, as they do not try to grab the bus.

Ted Marz

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

Newsgroups: comp.os.vxworks
Subject: NCR/Symbios Logic 53C720 SCSI Driver Source
Date: Thu, 01 Aug 1996 23:03:51 +0000
From: landl@voicenet.com
Organization: Voicenet - Internet Access - (215)674-9290
Message-ID: <320137D7.232E@voicenet.com>
Reply-To: landl@voicenet.com

Please forward any leads to an NCR/Symbios Logic 53C720 SCSI VxWorks 
Driver to leer@acttechnico.com

Thank you,

Lee J. Raguz

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

Newsgroups: comp.os.vxworks
Subject: Re: printf() broken in Tornado's version of GNU C
Date: Tue, 30 Jul 1996 14:29:10 GMT
From: brucew@phoenix.net (Bruce Wedding)
Organization: NeoSoft, Inc.  
Message-ID: <4tl6g6$3f4@uuneo.neosoft.com>
References: <4tgn51$n34@uhura.phoenix.net> <4tj1pb$jec@hpcvsnz.cv.hp.com> <4tj9c0$m2p@netline-fddi.jpl.nasa.gov>

litwin@chroma.jpl.nasa.gov (Todd Litwin) wrote:

>But, no, you don't need to go to great lengths to do what you want. The
>problem above is that the wrong format string was used. To limit the string to
>a specific length, say 25, you should do

>        printf("%.25s", buf);

Yep, I figured it out after reading the first response.  I've used the
precision operator with floats, but never can seem to remember it with
strings.

Thanks,
Bruce

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

Newsgroups: comp.os.vxworks
Subject: Re: Has anyone recieved this email?
Date: 26 Jul 1996 14:45:59 GMT
From: tfm@sei.cmu.edu (Theodore Marz)
Organization: The Software Engineering Institute
Message-ID: <4taln7$hri@news.sei.cmu.edu>
References: <johncoby-2507960830470001@139.169.192.103>

John,
  I sure have.  Seems she is a recruiter working for a company in the Atlanta
area looking for VxWorks types.

Ted Marz
tfm@sei.cmu.edu

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

Newsgroups: comp.os.vxworks
Subject: ping and VxWorks 5.3
Date: Fri, 26 Jul 1996 10:56:17 -0400
From: Michael Charnoky <mcharnok@fcfsrv1.lerc.nasa.gov>
Organization: NASA Lewis Research Center
Message-ID: <31F8DC91.72C5@fcfsrv1.lerc.nasa.gov>

Hello,

Our software lab recently installed VxWorks on a few remote 68040 targets.
I've been writing code to test the ethernet connection between the boards.  In
order to troubleshoot some promlems, i tried to call the "ping" routine
directly from the shell, but got an error:

- -> ping "ourtarget",1,0
undefined symbol: ping

This seemed strange... so i wrote a short program, including "pingLib.h" to
exercise "ping."  Unfortunately, I got the same error.

Has anyone else had this problem??  I'm stumped... the tech support web page
lends no help - plus the keyword search doesn't even work.  Any help is much
appreciated!!

mike
- -----------------------------------------------------------------------------
Michael Charnoky		|     phone: 216-433-3162
NASA Lewis Research Center     	|
Cleveland, Ohio  44135         	|     email: mcharnok@fcfws3.lerc.nasa.gov
- -----------------------------------------------------------------------------

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

Newsgroups: comp.os.vxworks
Subject: interrupt handler question
Date: Tue, 30 Jul 1996 14:20:19 -0500
From: Jeff Tseng <jtseng@fnal.gov>
Organization: Massachusetts Institute of Technology
Message-ID: <31FE6073.41C6@fnal.gov>

Hi,

I am not completely sure that this is a VxWorks problem, but here goes:
I am writing an interrupt handler for a PowerPC-based MVME1603
single-board computer which uses the VME2PCI ASIC and VMEchip2 for
its VME interface.  I've connected the handler to interrupt number 11
using intConnect(INUM_TO_IVEC(11),...); the handler is to signal
the end of a DMA transfer over the VMEbus.  It clears the
interrupt and logs a message just before it returns with the call

	logMsg ("return from interrupt\n",0,0,0,0,0,0);
	return;

When I run the program, what I get is the logged message and then
something else:

	interrupt: return from interrupt
	interrupt: uninitialized interrupt 4144

before logging any other messages (the main program merely starts the
DMA, logs another message, and returns--yes, the last message does
come out after the interrupt-originated messages).

So my question is:  what is this uninitialized interrupt 4144?  I
cannot connect to it with intConnect.  Otherwise the program works
fine:  it does the DMA transfer and logs all the messages I expect
along with this one I don't.

Any help would be appreciated.

Jeff Tseng

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

Newsgroups: comp.os.vxworks
Subject: VxWorks vs. OS-9
Date: Fri, 02 Aug 1996 15:09:02 -0700
From: "Timothy A. Meier" <meier3@llnl.gov>
Organization: Lawrence Livermore National Laboratory
Message-ID: <32027C7E.4A6C@llnl.gov>

Does anyone have a feature comparison chart/discussion of VxWorks vs. 
OS-9?  I have used both a little, and am about to start a large project 
that could last several years and involve many other developers.

My experience (so far) tells me that either will probably work for our 
application.  If I can't justify a preference based on features and 
capabilities, the decision will boil down to cost.

I beleive that OS-9 is less expensive per seat, but in the long run 
VxWorks may save money in development/debug time.

Info and Opinions appreciated.
- -- 
Tim Meier (x2-3341)
B482 R1024 L-492
(meier3@llnl.gov)

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

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

From daemon@csg.lbl.gov  Sun Aug  4 04:00:32 1996
From: daemon@csg.lbl.gov
Date: Sun Aug  4 04:00:35 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Sun Aug  4 04:00:29 PDT 1996

        Subject: Re: NTP availability?
        Subject: Re: Getting up to speed with VxWorks
        Subject: Condition variables, reader/writer locks, barriers, etc

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

Newsgroups: comp.os.vxworks
Subject: Re: NTP availability?
Date: 26 Jul 1996 19:36:44 GMT
From: young@uranus.dgrc.doc.ca (Norm Young)
Organization: The Communications Research Centre
Message-ID: <4tb6oc$nco@crc-news.doc.ca>
References: <9606268383.AA838396366@ccgate.hac.com>

In article <9606268383.AA838396366@ccgate.hac.com>,
	sbadstuebner@ccgate.hac.com writes:
>     Does anyone know of an NTP port to VxWorks?
>
>     thanks,
>
>     Stefan Badstuebner
>     sBadstuebner@ccgate.hac.com
>

There was one several years ago but but I haven't seen one for the
more recent versions of VxWorks.  I'm also interested in xntp on
VxWorks 5.2.

If anyone knows of a source, please post here.

- --
Norm Young       |  DoD #0770            |  E-Mail: Norm.Young@crc.doc.ca
Communications   |  Tel: 1-613-990-8779  |  Fax: 1-613-990-7987
Research Centre  |
Ottawa, Ontario  |                 No Disclaimer, No Quote

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

Newsgroups: comp.os.vxworks
Subject: Re: Getting up to speed with VxWorks
Date: 2 Aug 1996 13:59:51 GMT
From: johncoby@ghgcorp.com (JOHN R. COBARRUVIAS)
Organization: Personal Account
Message-ID: <johncoby-0208960856290001@139.169.192.103>
References: <4tr9j8$g41@michp1.redstone.army.mil>

Read the book "Programmers guide vxWorks 5.2". 
That's how I learned and I had limited realtime embedded experience.
(Actually I had NONE!)

Very good set of documents. I must have read it 3 or 4 times over the past
2 years.

Also, the WindRiver courses are pretty good. They pretty much cover the
book from end to end. It is best to read the book, know the book, live the
book before going to class to get the most out of it.

Also, try Sparta Inc. They have intro,intermediate, and advanced courses.
they have a web page with details.

In article <4tr9j8$g41@michp1.redstone.army.mil>, Karin Larsen
<larsen@utech.gcs.redstone.army.mil> wrote:

>    Can anyone tell me if you have limited real-time embedded experience,
>    how hard is it to get up to speed with VxWorks?  Are the training
>    courses from Wind Rivers useful?
> 
>    Please e-mail to masseys@nichols.com

- -- 

,-_/     .         .-,--.      ,---.     .
'  | ,-. |-. ,-.    `|__/      |  -' ,-. |-. ,-. ,-. ,-. . . .  , . ,-. ,-.
   | | | | | | |     | \  ,.   |  -. | | | | ,-| |   |   | | | /  | ,-| `-.
   | `-' ' ' ' '   `-'  ` `'   `---' `-' `-' `-^ '   '   `-' `'   ' `-^ `-'
/  |         John R. Cobarruvias johncoby@ghgcorp.com Houston, Tx
`--'  

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

Newsgroups: comp.os.vxworks,comp.programming.threads
Subject: Condition variables, reader/writer locks, barriers, etc
Date: Thu, 01 Aug 1996 23:19:49 -0700
From: Roger McDanell <mcdanell@netusa1.net>
Organization: NetUSA1 Inc.	
Message-ID: <32019E05.254E@netusa1.net>

I am interested in implementing condition variables, reader/writer locks, 
barriers, etc. by building on top of VxWorks primitives (i.e. binary 
semaphores) or perhaps the classical P(), V() functions.  I have done 
fairly simple 1st-cut implementations, but am not satisfied that they are 
robust.  I would appreciate any information related to implementation of 
these items.

These items are part of POSIX, so Wind River Systems may eventually 
supply this functionality.  I need it now.

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

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

From tkb@mclean.sparta.com  Sun Aug  4 21:31:59 1996
From: "Thomas K. Buchanan" <tkb@mclean.sparta.com>
Date: Sun Aug  4 21:32:01 PDT 1996
Subject: Re: System Controller in slot 1

>|> The VMEBus specificaiton specifies that the system controller MUST be
>|> in slot 1.  Most VME boards (at least the MVME162) specifies this as
>|> well.  However, placing the system controller in any other slot works
>|> as well.  We have not tried it in a production version, but in-house
>|> only.  Has this restriction been eliminated, or will the system
>|> controller be unreliable in any other slot than slot 1?

>Given how the VME bus arbitrates (bus requests, bus grants, interrupts, etc)
>I don't think so.  If you aren't using interrupts, then you PROBABLY could
>declair either end of the chassis to be "slot 1" and proceed.
>
>What I wouldn't do is put bus mastering cards on BOTH sides of the system
>controller card.  You could PROBABLY get away with putting passive cards
>(ie. memory, non-mastering I/O cards, etc) on the "wrong" side of the system
>controller, as they do not try to grab the bus.

The VME controller must be in the leftmost occupied slot, normally slot 1.
Bus arbitration will not work properly if you place bus masters left of the
master. It is also a design violation to put I/O cards left of the bus
master.  Both the bus master arbitration and interrupt cycles depend on some
signals propogating left to right, it doesn't work in reverse.  In summary,
if you only have one card in the system put it in slot 1 for consistencies
sake.  If you have two or more cards that use interrupts and/or will
arbitrate for bus mastership, you MUST put the controller in slot 1.  Taking
any other course is really asking for trouble...

adios

From chwe@force.de  Mon Aug  5 00:35:46 1996
From: chwe@force.de (Christof Wehner)
Date: Mon Aug  5 00:35:49 PDT 1996
Subject: Re: [comp.os.vxworks] 5v Solaris/167 vxWorks
> I have a system with a Force 5V running solaris 2.4 and a Motorola
> mvme167 running vxWorks 5.2 in a vme chassis. The Force 5v is in slot
> one and is the system controller and the mvme167 is not system
> controller and is in slot 2. I am using the PROMS and the vxWorks kernel
> from the board support package unmodified.
> 
> When I turn on the system the mvme167 loads the vxWorks kernel but the
> Force 5V hangs loading solaris. If I stop the mvme167 from loading the
> vxWorks kernel until after the Force 5V has finished loading solaris, the
> system runs fine. 
> 
> I have changed the mvme167 PROMS to wait 150 seconds before loading
> the vxWorks kernel. Has anybody had this problem and is there  a fix or
> a better work around for this.

Dear Peter,

yes there is a better way around this. Contact your local FORCE COMPUTERS 
support for the following:
this is a known 'problem' (ahem feature) of Solaris! When booting, Solaris will 
probe the VMEbus for a device called 'mcp' in several positions. If your VxWorks 
board happens to be in this location on VME, Solaris will try to initialize the 
mcp device and hang due to a lack of cooperation of your device 8-).

To suppress this, add the following to /etc/system:
	exclude: /drv/mcp
	exclude: /drv/mcpp
	exclude: /drv/mcpzsa 

Now, your system should come up without any problem!
BTW: try support@fci.com!!

Best regards

i.A. Christof Wehner
--
Christof Wehner                    ____  ____  ____  ____  ____
Technical Support Engineer        /     /   / /   / /   / /
Customer Support Department      /__   /   / /___/ /     /__
FORCE COMPUTERS GmbH            /     /   / / \   /     /
Prof.-Messerschmitt-Str. 1     /     /___/ /   \ /___/ /___
D-85579 Neubiberg/Muenchen  
email: chwe@force.de            C O M P U T E R S    G m b H
http://www.forcecomputers.com/
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
phone +49-89-60814-240                     fax +49-89-609 77 93

From health@moneyworld.com  Mon Aug  5 14:05:02 1996
From: health@moneyworld.com
Date: Mon Aug  5 14:05:04 PDT 1996
Subject: Scientific Discoveries Minimize Aging (DHEA)
http://dhea.natureplus.com

Take advantage of the amazing benefits of DHEA. In the search for the 
FOUNTAIN OF YOUTH, DHEA is a must README.  

"I can't wait 30 More years for the National Institute on Aging to
save my ass." says Dr. Regelson, a leading DHEA researcher.

Click on:  http://dhea.natureplus.com

From stan@rti.com  Mon Aug  5 14:29:57 1996
From: Stan Schneider <stan@rti.com>
Date: Mon Aug  5 14:29:58 PDT 1996
Subject: Re: Printing Activation Records

Hi Ramandeep,

>> Submitted-by rbakshi@hns.com  Thu Jul 25 11:47:51 1996
>> Submitted-by: "Ramandeep Bakshi" <rbakshi@hns.com>
>>  
>> Hi all,
>> 
>> I am trying to debug some memory problems in one of the applications that
>> is running on a Intel960.  This application has been compiled for VxWorks
>> using the gnu960 compiler.  What I am required to do is to print out
>> all the activation records in memory at a particular time.  Anyone have
>> any idea where I should start ?  Any help will be much appreciated.
>> 
>> Thanks a bunch,

I'm not sure if this is what you (really) want, but RTI markets a dynamic
execution profiler that will display the statistical history of the activation
records of all running tasks.  For example, a TCP server might have a profile
like this:

  Profiling task 0x3b20e0: net4
     Current
  sum %  direct %
  10.43    .12      _TcpWrite
  10.31   0.01      .   _write
  10.27    .18      .   .   _iosWrite
  10.06    .16      .   .   .   _send
   9.35    .64      .   .   .   .   _sosend
   7.92    .27      .   .   .   .   .   _tcp_usrreq
   7.25    .88      .   .   .   .   .   .   _tcp_output
   4.97    .49      .   .   .   .   .   .   .   _ip_output
   3.87   0.06      .   .   .   .   .   .   .   .   _eiOutput
   3.80    .51      .   .   .   .   .   .   .   .   .   _ether_output
   2.32    .31      .   .   .   .   .   .   .   .   .   .   _eiTxStartup
   1.12   1.12      .   .   .   .   .   .   .   .   .   .   .   _bcopy
    .69    .69      .   .   .   .   .   .   .   _cksum
    .63    .63      .   .   .   .   .   _bcopy

There's also the venerable "tt" command.  It will show you the activation
records of a single task at the time the command is typed.

RTI also markets a memory trace facility that will show the call stack that was
active when memory is allocated.  Send email to "info@rti.com" for details.

Hope this helps,

        -- Stan
           stan@rti.com

From stan@rti.com  Mon Aug  5 15:47:24 1996
From: Stan Schneider <stan@rti.com>
Date: Mon Aug  5 15:47:26 PDT 1996
Subject: Re: NTP availability?

>> Date: 30 Jul 1996 18:29:27 GMT
>> From: don@mars.dgrc.doc.ca (Donald McLachlan)
>> ...
>> Unfortunatetely when I try to make the kernel it fails with ...
>> ...
>> 	gmtime.o(.text+0): multiple definition of `_gmtime (.text)'
>>
>> Any idea how I can either remove localtime and gmtime from their
>> libraries, or ignore this error so vxworks will build ( and hopefully
>> sellect the usrTime versions of these functions) ? 

This is a fairly common problem when trying to fix bugs in shipped libraries.

       *** HACK ALERT! ***

The quick fix is to patch the symbol so it doesn't clash.  To do that, compile
the attached program:

  gcc -Wall -o patrep patrep.c

Then patch your library image (say to remove a symbol called "hypot"):

  patrep hypot Hypot < libMC68040gnuvx.so > libMC68040gnuvx2.so

The new symbol can be anything but "hypot" (I used "Hypot" above), but must
still be 5 characters.

	-- Stan

/* 
  Patrep \- Pattern replacement program

  Usage: patrep pattern1 pattern2 < infile > outfile

  This program will replace pattern1 with pattern2 anywhere it appears in
  infile.  It works on binary as well as text files (as opposed to "sed", which
  only works on text files).

*/

#include <stdio.h>

void main(int argc, char *argv[])
{
    int c, len, matches;
    char *pat, *pt;

    if (argc != 3) {
	printf("Usage:  patrep pattern1 pattern2 < infile > outfile\n");
	exit (1);
    }

    pat = argv[1];
    len = strlen(pat);
    matches = 0;

    while((c = getchar()) != EOF) {
	if (pat[matches] == c) {
	    matches++;
	    if (matches == len) {
	        for (pt = argv[2]; *pt != '\0'; pt++) {
		    putchar(*pt);
		}
		matches = 0;
	    }
	} else {
	    for (pt = argv[1]; matches > 0; pt++, matches--) {
		putchar(*pt);
	    }
	    putchar(c);
	}
    }
}    

From harvey@wrs.com  Mon Aug  5 17:35:23 1996
From: Harvey Wong <harvey@wrs.com>
Date: Mon Aug  5 17:35:25 PDT 1996
Subject: multibus drivers or bsps
Dear VxWorks Users,

Has anyone used VxWorks on Multibus (I, II, or even III) boards based on
80x86 processors?

I'm looking for BSP's or device drivers for these boards.

Thanks in advance!

Harvey

harvey@wrs.com

From namiq@wrs.com  Tue Aug  6 01:06:08 1996
From: namiq@wrs.com
Date: Tue Aug  6 01:06:10 PDT 1996
Subject: LonTalk
Hello Folks:

I am looking for a LonTalk Adapter (ISA or PC104 card) that has a VxWorks
driver. 

Any recommendations appreciated.

Thanks in advance,
Best Regards,

 
 
----------------------------------------------------------------------------
-
Namiq Kunimoto                          Email: namiq@wrs.com
Director of Sales                           Phone: 81-3-5467-5900
Asia Pacific Operations                 FAX:   81-3-5467-5877
Wind River Systems                    WWW: http://www.wrs.com
Japan Office           	       	          |       
POLA Ebisu Bldg. 11F  +--------------------------------------------
3-9-19, Higashi, Shibuya-ku, Tokyo, 150, Japan
----------------------------------------------------------------------------
-

From john@vms.masd.northgrum.com  Tue Aug  6 13:11:36 1996
From: john@vms.masd.northgrum.com (John Sicklick)
Date: Tue Aug  6 13:11:59 PDT 1996
Subject: subscribe vxworks.exploder@vms.masd.northgrum.com
subscribe vxworks.exploder@vms.masd.northgrum.com

From john@vms.masd.northgrum.com  Tue Aug  6 13:12:50 1996
From: john@vms.masd.northgrum.com (John Sicklick)
Date: Tue Aug  6 13:13:11 PDT 1996
Subject: test message
Pierre, Kiran,

A test message to see if csd.nad.northrop.com is still working

--slick

From daemon@csg.lbl.gov  Wed Aug  7 04:01:05 1996
From: daemon@csg.lbl.gov
Date: Wed Aug  7 04:01:07 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Wed Aug  7 04:01:01 PDT 1996

        Subject: Re: Booting from Windows NT
        Subject: Malloc Problems in 5.2
        Subject: Re: VxWorks vs. OS-9
        Subject: Re: NT/pSOS RPC timeout to embedded system
        Subject: Re: ONC/TLI RPC Compatibility problems?
        Subject: Re: bootp server for 95/NT ?
        Subject: Filesystem Shadowing Software, anyone?

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

Newsgroups: comp.os.vxworks
Subject: Re: Booting from Windows NT
Date: Wed, 31 Jul 1996 21:07:29 GMT
From: chaos@idiom.com (H.J. Bae)
Organization: Peaceful Star
Message-ID: <4tohur$ad@idiom.com>
References: <4tmmgd$m47@nnrp1.news.primenet.com>
Reply-To: hjb@peacefulstar.oakland.ca.us

jerome@primenet.com (Douglas Jerome) wrote:

>Help!

>My vxworks target boots fine from my sparc, but it won't boot from
>my Windows NT computer.  Actually, vxworks boots but it hangs forever
>trying to download the symbol table.

One way to figure out what is happening is to use Tornado-supplied
FTP daemon (wftpd.exe) instead of NT FTD server.  Using wftpd
you can figure out what client is doing by turning on "logging"
options.  the wftpd menu option for logging can be turned on for
various things like "get, put, winsock events, ..."  You should then
be able to figure out what is happening better.

HJB

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

Newsgroups: comp.os.vxworks
Subject: Malloc Problems in 5.2
Date: Tue, 06 Aug 1996 11:03:27 -0700
From: Grant Haidinyak <grant@iwv.com>
Organization: Interwave Communications
Message-ID: <320788EF.41C67EA6@iwv.com>

Hi,

We're having some problems with the vxworks malloc in 5.2.

The problem is that malloc returns a NULL pointer. The interesting part
is that We call MemFindMax() to make sure that there is enough memory
before the call. And when malloc() returns a NULL, we shut down the
application tasks. At this point MemShow() shows that there is 10x the
amount of memory available than was requested. And since the tasks were
suspended, no task could allocate memory, then free it.

So, does anyone have any ideas why malloc() would return a NULL when
there appeared to be plenty of memory available.

thanks,

grant

ps Here's the code fragment that's failing. It's failing at the last
check.

	if (intContext()) {
		msg = NULL;
		goto exit;
	}

	max = memFindMax();
	if (max < iwmalloc_chk_min) {
		msg = NULL;
		iwmalloc_no_mem = TRUE;
		goto exit;
	}

	msg = malloc(SIZE_IWMSG + Size + IWMSG_OVERAGE_SIZE);
	if (msg == NULL)) {
		/* suspend tasks */
	}

exit:
	/* the rest of the story */

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

Newsgroups: comp.os.vxworks
Subject: Re: VxWorks vs. OS-9
Date: 5 Aug 1996 18:03:23 -0700
From: nigel@idiom.com (Nigel Standing)
Organization: A poorly-installed InterNetNews site
Message-ID: <nigel.839292805@idiom.com>
References: <32027C7E.4A6C@llnl.gov>

"Timothy A. Meier" <meier3@llnl.gov> writes:

> I believe that OS-9 is less expensive per seat, but in the long run 
> VxWorks may save money in development/debug time.

Another factor which may not be important at the moment, but might
be down the road, is the range of CPU architectures supported.
VxWorks has a pretty wide coverage, so that in the future if you
have to scale your application up/down there's likely to be suitable
CPU type supported.

BTW I don't think you can underestimate the usefulness of the
VxWorks simulator, another VxWorks plus.

My 2 cents worth,

Nigel -

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

Newsgroups: comp.arch.embedded,comp.os.vxworks
Subject: Re: NT/pSOS RPC timeout to embedded system
Date: Tue, 6 Aug 1996 08:10:13 GMT
From: noblenet@world.std.com (NobleNet Inc.)
Organization: NobleNet, Inc.
Message-ID: <DvpIp1.LAy@world.std.com>
References: <hogle-0408960844360001@3.1.150.57>

In article <hogle-0408960844360001@3.1.150.57>,
Rich Hogle <hogle@crd.ge.com> wrote:
>I have a high-performance data acq system, the actions of which
>are coordinated by software running on a remote WindowsNT system.
>The NT host starts an acquisition via a blocking RPC function call, served
>by the embedded system (pSOS on PPC1604).  The embedded system
>performs the acquistion, then issues a return and the NT host continues.
>
>  - We are using Chameleon/NetManage RPC-SDK environment

The problem may be in your NT RPC library.

Please contact NobleNet for ONC/RPC tools and solutions for UNIX,
Windows (3.1/95/NT), Macintosh, VMS, OS/2, NetWare, VxWorks, etc.

        NobleNet, Inc.
        337 Turnpike Road
        Southboro, MA  01772
        Voice +1 508 460 8222
        Fax +1 508 460 3456
        sales@noblenet.com
        <http://www.noblenet.com/>

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

Newsgroups: comp.os.vxworks
Subject: Re: ONC/TLI RPC Compatibility problems?
Date: Tue, 6 Aug 1996 08:05:24 GMT
From: noblenet@world.std.com (NobleNet Inc.)
Organization: NobleNet, Inc.
Message-ID: <DvpIH1.Kq5@world.std.com>
References: <Pine.GSO.3.95.960802171608.1592D-100000@kipling.llumc.edu>

In article <Pine.GSO.3.95.960802171608.1592D-100000@kipling.llumc.edu>,
Steve Vasta  <vasta@proton.llumc.edu> wrote:
>
>Does anyone know of any compatibility problems using TLI RPC client
>software (from Solaris 2.4) against ONCRPC servers running under VxWorks
>5.2?  I'm able to run RPC TLI client/server tests OK if both machines are
>Solaris (i.e. both machines use TLI RPC . . . also known as TIRPC), and if
>both machines run ONCRPC (such as SunOS4.1.x and VxWorks 5.2).  However, I
>am getting corrupted data (on the server side within the proper
>callback) when I run a TLI client against an ONC server and vice versa.
>My questions at this point are:
>
>	1) Can TLI RPC and ONC RPC be mixed like this?
>	2) If not, is there a version of TLI RPC that can be built for
>	   VxWorks 5.2 and/or Sun4 machines?

Yes, you should be able to mix TLI/RPC and ONC/RPC.

Please contact NobleNet for ONC/RPC tools and solutions for UNIX,
Windows (3.1/95/NT), Macintosh, VMS, OS/2, NetWare, VxWorks, etc.

        NobleNet, Inc.
        337 Turnpike Road
        Southboro, MA  01772
        Voice +1 508 460 8222
        Fax +1 508 460 3456
        sales@noblenet.com
        <http://www.noblenet.com/>

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

Newsgroups: comp.os.vxworks
Subject: Re: bootp server for 95/NT ?
Date: 2 Aug 1996 01:39:51 GMT
From: steved@pacifier.com@199.2.117.163  (Steve Doiel)
Organization: Pacifier BBS, Vancouver, Wa.  ((360) 693-0325)
Message-ID: <4trm97$1j7@news.pacifier.com>
References: <DvGptG.3xw@world.std.com>
Reply-To: steved@pacifier.com  (Steve Doiel)

Victor K Saffrin writes:
>Is anyone aware of a bootp server available for 95 or NT? I would like to not
>have to customize the boot code on all targets that I ship (rather I wouldn't
>want to trust manufacturing to do it), and would like to have the target get
>it's IP address from the NT workstation it's hooked to. The code in
>...\unsupported\bootp2.1 that WRS ships with Tornado is specifically for
>Unix systems.
>Thanks.
>--
>Victor Saffrin
>Instrumentation Laboratory, Inc.
>113 Hartwell Ave.
>Lexington, MA 02173

I'm not sure, but I think I saw such a critter on the NewT CDROM from
Walnut Creek.  I would suggest looking at ftp.cdrom.com for NT stuff.

I was browsing the CDROM (incidently... a good investment if you are working
on NT) this afternoon.  I recall seeing something about bootp but can't remember
the details.

I hope this helps.
Steve Doiel

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

Newsgroups: comp.arch.embedded,comp.os.vxworks
Subject: Filesystem Shadowing Software, anyone?
Date: 5 Aug 1996 18:57:50 GMT
From: bhaskar@bnr.ca (Shaji Bhaskar)
Organization: Bell-Northern Research Ltd.
Message-ID: <4u5g7e$34b@brtph500.bnr.ca>

Hi,

Here is my problem:

We have two Power PC cards running the VxWorks embedded OS.  Both
cards have a file system that uses SCSI drives.  The cards are
connected by a LAN.

One of the cards is intended to be a standby in case the other fails.
Therefore, I need to be able to shadow the file systems to be
identical (as far as practical) on both cards.

I am looking for software that does some or all of the following:

1. Shadows the file system on the master card to the file system on the 
standby card, transparent to users of the file system.

2. If one of the cards fails, and is later brough back into service,
the software will resolve any differences between the failed card's
file system and the file system on the running card before resuming
mirrioring activity.  In other words, the software should handle
network partitions and similar failures.

I know I could just go out and buy a database that supports
replication, but we don't have the $$$.

Regards,
Shaji Bhaskar

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

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

From han2326@aminet.co.kr  Wed Aug  7 08:02:45 1996
From: "Han, Jeong Soo" <han2326@aminet.co.kr>
Date: Wed Aug  7 08:02:48 PDT 1996
Subject: About bootrom
Hello,

As a beginer in vxWorks, I'd like to ask some question about bootrom.

When do I try to re-install the bootrom using rom-writer.(reloading of
bootrom.hex file using make command in the bsp of VME CPU board)
Due to any modification of bsp files, Sould I re-install the bootrom?
I want to know the bsp files to effect to the bootrom.
(~/all/configAll.h,... & ~target/config.h, ... etc)

Your detail description would be highly appreciated.
 
J.S.Han/HDPIC research center, Seoul, Korea

From snordmey@scitexdpi.com  Wed Aug  7 11:39:14 1996
From: Steve Nordmeyer <snordmey@scitexdpi.com>
Date: Wed Aug  7 11:39:16 PDT 1996
Subject:  stop bits, SECS-II
I am using VxWorks 5.2 on an x86 platform.  I need to communicate with
serial devices and want to change the stop bits.  I can't find any command
which affects the number of stop bits.  Any suggestions?

Also, I may have to communicate with a device using SECS-II.  Does anyone
have any information about this?

Thanks,
Steve

From stan@rti.com  Wed Aug  7 12:06:55 1996
From: Stan Schneider <stan@rti.com>
Date: Wed Aug  7 12:06:57 PDT 1996
Subject: Sales Opportunity!

At Real-Time Innovations, Inc. (RTI), we are expanding our direct sales team!
We are seeking extremely talented sales people that will help us market some of
the most innovative products in the area of real-time systems.

This is a once-in-a-lifetime opportunity to join the core sales force at a hot
growing company.  You will need an exceptional track record and solid
communication skills---both written and verbal.

------
RTI is a rapidly-growing Stanford spinoff in the exploding field of real-time
tools and architectures.  We market an object-oriented software framework, data
visualization and performance analysis tools, and a real-time network
communication system.  We have a strong, on-going research program focused on
software architectures in conjunction with Stanford University.

RTI is an exciting place that will offer you the freedom and opportunity to
excel.  Our products are used in all sorts of applications from undersea
vehicles to interplanetary robotics, on platforms from embedded
microcontrollers to supercomputers!  Come help shape the future of
real-time...

------
* Please reply via email to "jobs@rti.com" (please include your name in the
  "subject" line), or fax to the number below.  
* Non-technical sales personnel are encouraged to apply, but you must have
  experience selling complex high-tech products.
* No contractors or paid recruiters, please.

===========================================================================
=                                         =                               =
=   Real-Time Innovations, Inc.           =   Phone: (408) 720-8312       =
=   155A Moffett Park Drive, Suite 111    =   Fax:   (408) 734-5009       =
=   Sunnyvale, CA 94089                   =   email: jobs@rti.com         =
=                                         =                               =
===========================================================================

From claire@wrs.com  Wed Aug  7 16:49:07 1996
From: claire@wrs.com (Claire Chaplais)
Date: Wed Aug  7 16:49:09 PDT 1996
Subject: Wind River Users Conference, Call for Speakers

Wind River Systems Users Conference
Call for Speakers

We want  you!

The next Wind River Users Conference & Exhibition will  be held on November
4-5, 1996 in Santa Clara, CA.

To prepare for this event, we are actively soliciting VxWorks=81 / Tornado
users to share ideas and tips, brainstorm tricky development problems and
show how
Wind River products and third party partner tools can help speed your
time-to-market.

You, as a user, are a perfect speaker for this event!  To participate, just
submit a short abstract on design, development, debug tip, trick or
experience you would like to share with your peers.  We are looking
specifically for technical papers relating to a VxWorks or Tornado-based
project.

E:mail your abstract with your name, company, address and telephone number
to wrug@wrs.com  or fax it to me @ 510 814 2010.  Deadline for submission
is September 10, 1996.  We'll notify you by September 20, 1996 if your abstr=
act
is accepted.  In order to avoid blatant commercialism, your abstract must
be technical in nature and without obvious sales pitches.

If you have questions about the appropriateness of your topic or would like
to discuss potential presentation ideas, please contact myself
(claire@wrs.com) Stan Schneider, conference chair.  Stan can be reached at
Real-Time Innovations @ 408 720 8312 x104 or stan@rti.com.

If you have any other questions about format or general conference
requests, please call me @ 510 814 2177.

I look forward to working with you!

Regards,

Claire Chaplais
Marketing Coordinator

P.S.  As a conference speaker, you will have the undivided attention of
60-70 users and several of Wind River's senior staff - what better
opportunity to  become well known as a leader in the VxWorks community.
(It doesn't hurt your resume either!)

Wind River Systems
Claire Chaplais
Marketing Coordinator
1010 Atlantic Avenue
Alameda, CA 94501
(510) 814-2177

From daemon@csg.lbl.gov  Thu Aug  8 04:00:22 1996
From: daemon@csg.lbl.gov
Date: Thu Aug  8 04:00:25 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Thu Aug  8 04:00:17 PDT 1996

        Subject: Q: Memory Loss (?)
        Subject: Re: Purify like tools for VXWORKS??
        Subject: LibVGA for VxWorks x86?
        Subject: Disabling Network

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

Newsgroups: comp.os.vxworks
Subject: Q: Memory Loss (?)
Date: 6 Aug 1996 17:05:20 GMT
From: scott@tcville.es.hac.com
Organization: Hughes Aircraft
Message-ID: <4u7u0g$sq@hacgate2.hac.com>
Reply-To: scott@tcville.es.hac.com

Host     = AIX
Target   = RAD6k VME wi 4MB RAM, ethernet, NVRAM card
OS       = VxWorks 5.1.1
COMPILER = GreenHills Multi
LANG     = Ada   ( I know, I know, ... )

We are seeing only 1/2 the expected memory available after loading
our S/W (ELF format) as we would expect after examining the Text+Data
blocks as printed via GreenHills' gdump/gnm utilities. We obtained the
memory size status via VxWorks' memShow function.

I *thought* we were using netDrv() but, after re-examining the config
files, it looks like we are using nfsDrv() -- I am rebuilding VxWorks
just to make certain.

I've looked through all of the VxWorks manuals but haven't seen a nice
way to display the memory map as to what objects are loaded where in order
to locate where/why we have this memory loss. Is there such a utility ??

Any/all comments & suggestions would be most welcome,
   Thank you,
      E. Scott Channell
      scott@tcville.es.hac.com

- ---
Hughes Aircraft Co.		voice:	(310) 616-1059
Image and Signal Processing Lab	addr:	scott@tcville.es.hac.com
PO Box 902, EO/E01/A172, El Segundo, Ca. 90245

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

Newsgroups: comp.os.vxworks
Subject: Re: Purify like tools for VXWORKS??
Date: 6 Aug 1996 17:43:56 -0700
From: kla@leland.Stanford.EDU (Earl Mitchell)
Organization: Stanford University, CA 94305, USA
Message-ID: <4u8osc$5fn@elaine25.Stanford.EDU>
References: <32023136.8AA@phbtsus.com>

In article <32023136.8AA@phbtsus.com>,
Aseem Bakshi  <Abakshi@phbtsus.com> wrote:
>Hi,
>I am looking for tools  that perform memory checks similar to the
>capabilities that
>Purify provides on VXWORKS. Could anybody who knows of or has used such
>tools
>post back into this group or send me E-mail

Company called Real Time Innovations sells tools like this for 
VxWorks. Haven't actually use their stuff but I've heard its
pretty good. Don't know how to contact them but they usually monitor 
this group to reccomend their products. 

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

Newsgroups: comp.os.vxworks
Subject: LibVGA for VxWorks x86?
Date: Fri, 02 Aug 1996 01:05:30 -0700
From: Nick Triantos <triantos@ix.netcom.com>
Organization: Netcom
Message-ID: <3201B6CA.7F7E@ix.netcom.com>

Hi everyone,

Does anyone know if there are any libraries ported to or written for
VxWorks which allow basic VGA graphics on VxWorks for Intel x86
machines?  I've looked at libsvga for Linux, but I'm kinda new to
VxWorks, so I'm a little unsure that I'll be able to port it quickly.
Ideally, I'd love to find a freeware/public domain library.

I know about RTGL, but it seems to only support a small number of VME
boards.

Many thanks,
- -Nick Triantos

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

Newsgroups: comp.os.vxworks
Subject: Disabling Network
Date: 5 Aug 1996 22:58:26 GMT
From: Doug Owens <owens2@llnl.gov>
Organization: cao
Message-ID: <4u5uai$44a@lll-winken.llnl.gov>

Greetings:
I have a vxWorks 5.0 system that is getting clobbered by network activity.
It's a Force CPU-30 running under 5.0.  We discovered that activity on the
network occasionally used up enough CPU time for it to not be able to
keep up with it's 
real time requirements.  This was fixed by disconnecting the network
cable 
(for now).  Is there a software  fix for this? (i.e a way to turn off the
network - and turn it back on if necessary).  This particular system only
needs the network to boot, but it isn't really stable enough for booting
from ROM.  I have another system (MV 147) that needs to occasionally
access
NFS file systems.  I would like to be able to turn on/off the network on
this system also.

Any suggestions?
Thanks,
Doug Owens (owens2@llnl.gov)

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

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

From lwatson@arcserv.dasd.honeywell.com  Thu Aug  8 08:59:08 1996
From: lwatson@arcserv.dasd.honeywell.com (Linda Watson)
Date: Thu Aug  8 08:59:10 PDT 1996
Subject: Re:  Subject: Q: Memory Loss (?)
Scott,

On memory loss...
We are also using Ada with GreenHills adamulti with vxWorks 5.2 and C with
the additional twist of using the 80960 and having HUGE load modules in
COFF format.  I don't know how much of what we noticed would apply
to your situation since you are using ELF and another host.  The following
covers what we have observed.  If we have missed something, we would
appreciate the advice.

Are you loading through GreenHills or through the vxShell command line?
In our version, adamulti always uses a netDrv to load.  Due to other
problems, we always load from vxShell and then connect up the adamulti
debugger.

We noticed these differences for loading via netDrv versus nfsMount:
netDrv - requires about three times the size of the entire COFF file 
	during loading, but once the module is loaded, it takes up less
	memory than a module loaded with nfsMount

nfsMount - requires about two times the size of the entire COFF file
	during loading, but once the module is loaded, it consistently
	uses up more memory than the same module loaded with netDrv.

We reported this problem to Wind River and corresponded for awhile, but due to
more pressing issues, haven't had time to send them more load modules,
examples and statistics.  We ended up dividing our system into submodules,
and alternating linking them directly into vxworks (which means no debug
information for the adamulti modules) or building with mainly no debug
and a few modules with debug on, dyanmically loading, and
using assembly level debugging just to get our modules into the system.

I don't know how the ELF loader works, but the COFF loader (in addition to
memory required for either nfsMount or netDrv loads), reads ENTIRE sections
of the COFF load module into memory.  This can cause problems if you have
large load modules at half the size of total RAM or more.  It would be nice
if the COFF loader would work on small portions of the load module at a time.

Two of the things they did find:
o	It appeared that the nfsMount load did not release all of the 
	memory it had allocated for loading once it was done loading
	(or at least not right away).
	The amount of memory appeared to be negligable for the modules
	they tried, but I think it is actually a function of the size
	of the module.  In any case, I don't think they found the cause.

o	It appeared that if a load error was encounted, not all of the
	memory was released back to the system that was allocated for
	loading.  I think they are supposed to fix this in future releases
	but not for our version, 5.2.

memShow: memShow(1) displays free segments available as well as
	the totals. moduleShow displays where the module segments were loaded,
	and siz960 or gdump can be used to determine the size of these
	segments.  However, neither of these show the amount of memory
	allocated for the symbol table and other uses, and where.
	It would be extremely useful to have a more detailed memory map.

One suggestion Wind River passed on that definitely helps reduce the amount
of memory required to load a module, is to do the nfsMount load using only 
global symbols instead of all (global and local).  adamulti puts alot
more symbols into the coff load module than those produced with the gnu tools.
	ld 0,0,"/nfsmountdir/module.o"

One more issue to watch:
	The symbol table generator does not include symbols from COFF sections
	which are not labeled "text", "data" or "bss".  This is true for
	both makeSymTbl which generates the symbol table for vxworks and
	modules linked with it, as well as the dynamic linker loader.
	With COFF modules, once the number of relocatable entries exceeds 64K,
	another section is created (text0, text1, data0...). 
	We encountered this with several of our load modules generated 
	by adamulti, and we either need to link these in with vxWorks 
	or load them dynamically.  If later modules are loaded dynamically,
	they may not find all the symbols/functions they need if they
	were in those other sections.  This also makes debugging more
	difficult, since you have to rely on maps and gdumps to determine
	addresses of routines for tasks to spawn and variables to examine.
	This has been reported to Wind River.

and another issue:
	We are using a SLIP connection for all communication with the target.
	We don't know if this is causing this particular problem, but
	we have seen bad data loaded for some of the text sections in 
	our large load modules.  (Actual code in the load module, but
	strange values after it has been loaded into memory.)  This was	
	found by accident while examining some of our routines after
	receiving faults.  We don't see this problem with modules which
	are linked with vxWorks directly and loaded using our load software
	since we verify every value that has been loaded.  It might help
	if this was also done in the dynamic linker/loader.  I don't think
	moduleCheck can help since it doesn't pass back the checksum value
	and it only checks what is already in memory, not against the
	module loaded.  We haven't reported this problem yet.

I hope some of this helps, and we would appreciate it if you could also
request help with the loading software and the memory show facilities,
or let us know if you have any suggestions.

Thanks,

Linda Watson
lwatson@dasd.honeywell.com

From anthonyl@atlantis.softeng.lamrc.com  Thu Aug  8 09:45:16 1996
From: Anthony Le <anthonyl@atlantis.softeng.lamrc.com>
Date: Thu Aug  8 09:45:18 PDT 1996
Subject: subcribe
subscribe

Anthony Le
Sr. Software Engineer
LAM RESEARCH CORP.
anthony.le@lamrc.com

From seaweed!seaweed.com!bob@netcom.com  Thu Aug  8 09:48:33 1996
From: bob schulman <bob@seaweed.com>
Date: Thu Aug  8 09:48:34 PDT 1996
Subject: Re: comp.os.vxworks newsdigest 
> We are seeing only 1/2 the expected memory available after loading
> our S/W (ELF format) as we would expect after examining the Text+Data
> blocks as printed via GreenHills' gdump/gnm utilities. We obtained the
> memory size status via VxWorks' memShow function.
When ELF-format object files are "ld"-d by vxWorks, a large
amount of system memory is taken up by what appears to be relocation
records. Supposedly, one can eliminate those records from the object file
by use of "strip-sde -g", but strip-sde is buggy and doesn't work as
advertised. Attempts to use ld-sde to reduce object size were also
(surprisingly) unsuccessful.

In sum, I think you're stuck. Perhaps a new release of the tool chain will
fix these deficiencies.

bob

From anthony.le@lamrc.com  Thu Aug  8 09:52:30 1996
From: Lam Research <anthony.le@lamrc.com>
Date: Thu Aug  8 09:52:32 PDT 1996
Subject: subscribe
subscribe

From stan@rti.com  Thu Aug  8 11:21:43 1996
From: Stan Schneider <stan@rti.com>
Date: Thu Aug  8 11:21:45 PDT 1996
Subject: Re: Q: Memory Loss (?)
>> Date: 6 Aug 1996 17:05:20 GMT
>> From: scott@tcville.es.hac.com

>> I've looked through all of the VxWorks manuals but haven't seen a nice
>> way to display the memory map as to what objects are loaded where in order
>> to locate where/why we have this memory loss. Is there such a utility ??

>> Date: 6 Aug 1996 17:43:56 -0700
>> From: kla@leland.Stanford.EDU (Earl Mitchell)

>> Company called Real Time Innovations sells tools like this for 
>> VxWorks. Haven't actually use their stuff but I've heard its
>> pretty good. Don't know how to contact them but they usually monitor 
>> this group to reccomend their products. 

Interesting confluence of postings...

We do indeed have a utility that will display where your memory is being used.
The "memory loss" above sounds like it may be symbol-table usage, but HeapTrace
would show you for sure.

Contact "info@rti.com" for details.

        -- Stan
           stan@rti.com

From rmoore@gic.gi.com  Thu Aug  8 11:52:53 1996
From: "Moore, Rich (HT-MS)" <rmoore@gic.gi.com>
Date: Thu Aug  8 11:52:55 PDT 1996
Subject: Prevention if Broadcast Loopback

Hello VxWorkers,
We are using VxWorks 5.2 for an application that requires the transmission 
of multicast ethernet frames carrying UDP datagrams.  Unfortunately VxWorks 
5.2 doesn't support multicast addressing from the IP stack.  So we are using 
an etherOutputHook function to substitue a multicast MAC address for the 
broadcast address if certain criteria are met.  The application is sending 
UDP datagrams to the broadcast IP address, which is necessary to force the 
receiving IP stacks to deliver the datagrams to the application.  This 
approach works.

However, the drawback to this approach is that the frame is being 
 transmitted as a broadcast from the perspective of the protocol stack and 
socket layer.

In typical BSD implementations, a broadcasted frame is actually copied to 
the receive queue of the protocol stack (internal loopback) before sending 
it out to the network.  This is because the definition of a broadcast is to 
sent to "all hosts on the LAN including ourselves."

This internal loopback copy has performance ramifications on our applicaion. 
 We don't own the VxWorks source code, so we can't modify the stack.  Does 
anybody have any ideas how to prevent the internal loopback of broadcast 
ethernet packets?

Thanks in advance,
Rich Moore
General Instrument Corp.
Hatboro, PA USA
rmoore@gic.gic.com

From leonid@rst.co.il  Thu Aug  8 23:20:45 1996
From: leonid@rst.co.il (Leonid Rosenboim)
Date: Thu Aug  8 23:20:47 PDT 1996
Subject: Re: Disabling Network
On 5 Aug 1996 22:58:26 Doug Owens <owens2@llnl.gov> Wrote:
> Greetings:
> I have a vxWorks 5.0 system that is getting clobbered by network activity.
> It's a Force CPU-30 running under 5.0.  We discovered that activity on the
> network occasionally used up enough CPU time for it to not be able to
> keep up with it's real time requirements. 

VxWorks designers have thought about such a situation. All you need to do,
is make sure that the tNetTask task is set at a priority lower 
(numerically hugher) then the rest of your application tasks which are 
on the critical path. By default its priority is 50, but it is
easy to change from the Shell or a startup script or from the
application with taskPrioritySet().

This will put almost all network related processing at such a priority
that it will be executed only when the real-time tasks have nothing
to do.

Still, there are network interrupts that will steal some CPU cycles,
but that is usually not significant. But if you are feeling that still
too much cycles are stolen by the Interrupt Service Reoutine of the
network driver, you can do sysLanIntDisable() to disable LANCE interrupts
for a while. I doubt however tht this will be necesary.
-----------------------------------------------------------------------
Leonid Rosenboim                        Phone:  +972-3-559-8144
R S T  Software Industries Ltd.         Mobile: +972-50-307-142
P.O.Box 11502, AZUR 58017, Israel       Fax:    +972-3-559-8244
http://knight.trendline.co.il/~leonid/	E-Mail:	leonid@rst.co.il

From daemon@csg.lbl.gov  Fri Aug  9 04:00:28 1996
From: daemon@csg.lbl.gov
Date: Fri Aug  9 04:00:31 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Fri Aug  9 04:00:24 PDT 1996

        Subject: Ada and VxWorks
        Subject: Re: Ada and VxWorks
        Subject: Pattern Matching
        Subject: Re: stop bits, SECS-II
        Subject: Re: Disabling Network
        Subject: Re: Malloc Problems in 5.2
        Subject: Re: Ada and VxWorks

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

Newsgroups: comp.os.vxworks
Subject: Ada and VxWorks
Date: 8 Aug 1996 11:23:25 GMT
From: tk@
Organization: Lockheed Martin Federal Systems
Message-ID: <4ucind$5ft@lfsserv1.fsc.ibm.com>
Reply-To: tom.kodey@lmco.com

I'm considering VxWorks as the RTOS for an Ada based imbedded application and
am considering various development environments.  The target will likely be a
Pentium, PowerPC or R4xxx.  I'm interested to hear what Ada development
environment you were using and, briefly, what you thought of it (host, ease of
interfacing with VxWorks, ease of use, maturity, support, host and target
based debug, etc.)?

Tom Kodey
tom.kodey@lmco.com
Lockheed Martin Federal Systems

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

Newsgroups: comp.os.vxworks
Subject: Re: Ada and VxWorks
Date: 8 Aug 1996 12:46:28 GMT
From: mfb@mbunix.mitre.org (Michael F Brenner)
Organization: The MITRE Corporation, Bedford Mass.
Message-ID: <4ucnj4$g7m@linus.mitre.org>
References: <4ucind$5ft@lfsserv1.fsc.ibm.com>

I too am interested in a Pentium Ada Vxworks solution for a product that
used to be on a 486 using PharLap. Does anyone have experience converting
from Pharlap to Vxworks? Does anyone have information on multiple serial
interfaces (say, a dozen or so Rs422's?).

mikeb@mitre.org

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

Newsgroups: comp.os.vxworks
Subject: Pattern Matching
Date: Thu, 8 Aug 1996 13:30:36 GMT
From: mfisher@dyn.com (Mark Fisher)
Organization: The World @ Software Tool & Die
Message-ID: <DvtMuL.7Gv@world.std.com>
Reply-To: mfisher@dyn.com
Sender: news@world.std.com (Mr Usenet Himself)

Hi,

Does anyone know of a text pattern matching utility, like awk, that
can be included in an application running under vxWorks. Any
suggestions welcomed!

Thanks,

Mark Fisher

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

Newsgroups: comp.os.vxworks
Subject: Re: stop bits, SECS-II
Date: Thu, 08 Aug 1996 20:18:17 +0200
From: John Neumoege <John.Neumoege@ipk.fhg.de>
Organization: Humboldt Universitaet zu Berlin
Message-ID: <320A2F69.4AB2@ipk.fhg.de>
References: <s208abe5.083@mailhub.scitexdpi.com>

Steve Nordmeyer wrote:
> 
> I am using VxWorks 5.2 on an x86 platform.  I need to communicate with
> serial devices and want to change the stop bits.  I can't find any command
> which affects the number of stop bits.  Any suggestions?
> 

As far as I know there are not any commands to change the number of stop 
bits.
However, you can directly write to the appropoate register of the SIO 
chip.
The serial driver (i8250Serial.c) uses the following code to change the
appropiate register:

sysOutByte (pTyCoDv->lcr, 0x03);

The lcr (Line Control Register) controls the following values:

Bits 0 and 1: specify the number of data bits as follows:
     0     0  5 data bits
     0     1  6 data bits
     1     0  7 data bits
     1     1  8 data bits

Bit 2: specifies the number of STOPBITS!
      0 for 1 stop bit
      1 for 1 1/2 stop bits, only with 5 data bits
      1 for 2 stop bits  for 6, 7, or 8 data bits

Bit 3: Parity enable bit.
    0  no parity
    1  parity on

Bit 4: Even parity enable bit (only when bit 3 is set)
    0  odd parity
    1  even parity

The other bits are probably not important for your application, so just 
set them
to zero.  So the code from the serial driver with 0x03 means: 8 data 
bits, 1 stop bit
and no parity.  pTyCoDv->lcr is a pointer to the lcr port address which 
is equal to the base
address of the serial channel plus the offset of 3.  For example, COM1 
generally has the 
base port address 0x3f8, so the lcr of COM1 can be addressed with 0x3fb 
thus

sysOutByte (0x3fb, yourLcrValue);

By the way, the prototype for sysOutByte can be found in sysLib.h.

Regards,
- --John

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

Newsgroups: comp.os.vxworks
Subject: Re: Disabling Network
Date: 6 Aug 1996 13:31:56 GMT
From: johncoby@ghgcorp.com (JOHN R. COBARRUVIAS)
Organization: Personal Account
Message-ID: <johncoby-0608960828410001@139.169.192.103>
References: <4u5uai$44a@lll-winken.llnl.gov>

In article <4u5uai$44a@lll-winken.llnl.gov>, Doug Owens <owens2@llnl.gov> wrote:

Hum.....we had the same problems. Turned out the boards were generating
interrupts that had to be serviced. We would isolate the network in the
lab and got better, but not reliable results. Then we isolated our 2
boxes. Better, but not reliable. We still had a task that would jump in
and take over the CPU while we missed schedules. So......

(We were trying to use Ethernet to send data to a display device (SUN)
while a real time application was running in the target. When we told the
vendor of the problem, they said "Don't use Ethernet in a realtime
system." After a few months, I agreed.)

You can try suspending the netTask task using taskSuspend(). See if that works.
Or deleting the task with taskDelete. Then restart it using netLibInit.

See Also

netLib, usrConfig, netTask()

> Greetings:
> I have a vxWorks 5.0 system that is getting clobbered by network activity.
> It's a Force CPU-30 running under 5.0.  We discovered that activity on the
> network occasionally used up enough CPU time for it to not be able to
> keep up with it's 
> real time requirements.  This was fixed by disconnecting the network
> cable 
> (for now).  Is there a software  fix for this? (i.e a way to turn off the
> network - and turn it back on if necessary).  This particular system only
> needs the network to boot, but it isn't really stable enough for booting
> from ROM.  I have another system (MV 147) that needs to occasionally
> access
> NFS file systems.  I would like to be able to turn on/off the network on
> this system also.
> 
> Any suggestions?
> Thanks,
> Doug Owens (owens2@llnl.gov)

- -- 

,-_/     .         .-,--.      ,---.     .
'  | ,-. |-. ,-.    `|__/      |  -' ,-. |-. ,-. ,-. ,-. . . .  , . ,-. ,-.
   | | | | | | |     | \  ,.   |  -. | | | | ,-| |   |   | | | /  | ,-| `-.
   | `-' ' ' ' '   `-'  ` `'   `---' `-' `-' `-^ '   '   `-' `'   ' `-^ `-'
/  |         John R. Cobarruvias johncoby@ghgcorp.com Houston, Tx
`--'  

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

Newsgroups: comp.os.vxworks
Subject: Re: Malloc Problems in 5.2
Date: Thu, 08 Aug 1996 14:50:26 -0700
From: Pankaj Malhotra <PankajX_Malhotra@ccm.jf.intel.com>
Organization: Intel Corp
Message-ID: <320A6122.3DC0@ccm.jf.intel.com>
References: <320788EF.41C67EA6@iwv.com>

Grant Haidinyak wrote:
> 
> Hi,
> 
> We're having some problems with the vxworks malloc in 5.2.
> 
> The problem is that malloc returns a NULL pointer. The interesting part
> is that We call MemFindMax() to make sure that there is enough memory
> before the call. And when malloc() returns a NULL, we shut down the
> application tasks. At this point MemShow() shows that there is 10x the
> amount of memory available than was requested. And since the tasks were
> suspended, no task could allocate memory, then free it.
> 
> So, does anyone have any ideas why malloc() would return a NULL when
> there appeared to be plenty of memory available.
> 
> thanks,
> 
> grant
> 
> ps Here's the code fragment that's failing. It's failing at the last
> check.
> 
>         if (intContext()) {
>                 msg = NULL;
>                 goto exit;
>         }
> 
>         max = memFindMax();
>         if (max < iwmalloc_chk_min) {
>                 msg = NULL;
>                 iwmalloc_no_mem = TRUE;
>                 goto exit;
>         }
> 
>         msg = malloc(SIZE_IWMSG + Size + IWMSG_OVERAGE_SIZE);
>         if (msg == NULL)) {
>                 /* suspend tasks */
>         }
> 
> exit:
>         /* the rest of the story */

Grant:
	What memShow() shows you is the total memory prsent in
	the system. Unfortunately in your case the memory must
	be really fragmented in a number of blocks so that when
	memShow() shows you enough memory available but there is
	no single block with this much space.

	Try using memShow 1 to see the fragmented blocks.
Pankaj
- -------
Pankaj Malhotra                 (Work) : 503-264-7746
Network Programming Division    (Home) : 503-690-9589
Intel Corp                      (Mail) : 
PankajX_Malhotra@ccm.jf.intel.com
HillsBoro
OR

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

Newsgroups: comp.os.vxworks
Subject: Re: Ada and VxWorks
Date: Thu, 08 Aug 1996 11:37:08 -0700
From: Michael Levasseur <levass@gdesystems.com>
Organization: GDE Systems Inc.
Message-ID: <320A33D4.41C67EA6@gdesystems.com>
References: <4ucind$5ft@lfsserv1.fsc.ibm.com>

We are using VxWorks on the Heurikon Baja R4700 platform with Rational
VADSWorks. This is a good mix for our needs.

We are currently porting and upgrading an application that was about
1 to 2 MSLOCs. We are porting 68K code to MIPS which presents a
specific set of problems. These are mostly related to chapter 13;i.e.,
rep specs.

This environment works for us. There are some questions that should be
asked - Am I upgrading code? If so using the planned upgrade path is
        probably better. Upgrading from 68030 to 68060 propably will
        less painful.

        Do I need mixed languages? With Rational there is only Ada
        and you can use gcc modules, but you can't interractively
        debug the C.

        Will your hardware be supported later? Is the platform being
        widely used or are there only a few people using it. Is the
        company that builds your hardware reputable and is likely
        to be around ten years down the road.

If anyone has any other questions that need to be considered please
post them.

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

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

From prb@aplexus.jhuapl.edu  Fri Aug  9 06:44:30 1996
From: prb@aplexus.jhuapl.edu (Paul R. Bade)
Date: Fri Aug  9 06:44:32 PDT 1996
Subject: Network Activity

> Greetings:
> I have a vxWorks 5.0 system that is getting clobbered by network activity.
> It's a Force CPU-30 running under 5.0.  We discovered that activity on the
> network occasionally used up enough CPU time for it to not be able to
> keep up with it's 
> real time requirements.  This was fixed by disconnecting the network
> cable 
> (for now).  Is there a software  fix for this? (i.e a way to turn off the
> network - and turn it back on if necessary).  This particular system only
> needs the network to boot, but it isn't really stable enough for booting
> from ROM.  I have another system (MV 147) that needs to occasionally
> access
> NFS file systems.  I would like to be able to turn on/off the network on
> this system also.
> 
> Any suggestions?
> Thanks,
> Doug Owens (owens2@llnl.gov)
>

You may want to try to turn off the interface with:

    ifFlagChange (ifName, IFF_UP, FALSE);       /* turn off the interface */

+====================================================================+
|       __     ____         __     __                                |
|      /\ \   /  \ \       /\_\__ /\ \      Johns Hopkins University |
|     /  \_\ | /\ \ \     / / /\_\\ \ \     Applied Physics Lab.     |
|    / /\ | |\ \/  \ \   / / / / / \ \ \                             |
|   /  \/ |_| \  /\ \_\ / / / / /   \ \ \   Paul R. Bade             |
|  / /\__/_/   \ \ \/_// / / / /    / / /   (301)-953-6000 x8681     |
| / / /         \ \_\  \ \/ / /    / / /    prb@aplexus.jhuapl.edu   |
| \/_/           \/_/   \__/_/     \/_/                              |
|               __     ____         __       __                      |
|              /\ \   /  \ \       /\ \     /\ \                     |
|             /  \_\ | /\ \ \     /  \_\   /  \ \                    |
|            / /\ | |\ \/  \ \   / /\ |_| / /\ \ \                   |
|           /  \/ |_| \  /\ \_\ / / / | | \/ /  \ \                  |
|          / /\  / /   \ \ \/_// / / / /    / /\ \_\                 |
|          \ \/ / /     \ \_\  \ \/ / /     \/ / / /                 |
|           \__/_/       \/_/   \__/_/        /_/_/                  |
|                                                                    |
+====================================================================+

	Acct # 255
	Site ID: 159
	
	We now have a 3 year site license # 7513

	PC# 707115
	Previous Support IDs: 1726, 1944, 2031
	Host: Sun Sparc
	Targets: MV167, MV197, PowerPC

From sridhar@prc.allied.com  Fri Aug  9 11:12:41 1996
From: sridhar@prc.allied.com (Sridhar Adumusilli)
Date: Fri Aug  9 11:12:43 PDT 1996
Subject: Initialized data variables available to power-up module?

Hi,

In the project (Vxworks on CPU32 target processor, and sloaris host)
I am working on, I am using C++ objects to encapsulate device data.
For the power-up module to use these objects, I have specifed some
public functions as static member functions.  These public functions also
use static const data members that contain device register addresses. 

My problem is, I am not sure if the initialized data segment has the static
data members (of the device class) already initialized by the time power-up 
tries to intialize the device. If the compiler generates the code to 
initialze static data, then power-up can't use these static data members 
to read/write the device registers.

I am using gnu c++ compiler for the target.  I don't have target prototype 
yet. 

Any suggestions on how can I inspect the executable on host or
how can I make sure that the data segment contains values
for power-up use?

Thanks

Sridhar
sridhar@prc.allied.com
 

 

From mail@ppgsoft.com  Fri Aug  9 11:44:21 1996
From: mail@ppgsoft.com
Date: Fri Aug  9 11:44:22 PDT 1996
Subject: Software Announcement
Dear the:

Parallel Performance Group, of Sedona, AZ, announces a Series of FREE E-Mail
Newsletters on high-tech software topics.

Below is a list of the topics discussed in the Newsletter Series: 

Business Process Reengineering     Real-Time Multiprocessing/Uniprocessing DSP
Multiprocessing                    Neural Networks/Fuzzy Logic/Fuzzy Control
Parallel Processing                Animation/Solid Modelling 
Distributed Processing             Mechanical Design Automation/FEA
Object-Oriented CASE Tools         CAD for Industrial and Architectural Design
Project Management                 Discrete and Continuous Simulation
Image Processing                   Medical Imaging
Graphical Application Interfaces   Virtual Reality
Statistical Analysis               Volume Visualization
Engineering Data Management        Data Warehousing/Data Mining
Electronic Publishing              Geographic Information Systems

To receive more information, send any e-mail to info@ppgsoft.com; this will 
return a detailed listing of the Newsletters, and instructions on how to re-
ceive sample copies and subscriptions. 

Visit Our Web site at http://www.ppgsoft.com/ on high-tech software products, 
presented with pleasing professional graphics.

From froeber@bbn.com  Fri Aug  9 13:17:22 1996
From: Fred Roeber <froeber@bbn.com>
Date: Fri Aug  9 13:17:24 PDT 1996
Subject: Re: Disabling Network
On 5 Aug 1996 22:58:26 Doug Owens <owens2@llnl.gov> Wrote:
> > I have a vxWorks 5.0 system that is getting clobbered by network activity.
> > It's a Force CPU-30 running under 5.0.  We discovered that activity on the
> > network occasionally used up enough CPU time for it to not be able to
> > keep up with it's real time requirements.

Leonid Rosenboim replied:
> VxWorks designers have thought about such a situation. All you need to do,
> is make sure that the tNetTask task is set at a priority lower
> (numerically hugher) then the rest of your application tasks which are
> on the critical path. By default its priority is 50, but it is
> easy to change from the Shell or a startup script or from the
> application with taskPrioritySet().
> 
> This will put almost all network related processing at such a priority
> that it will be executed only when the real-time tasks have nothing
> to do.

I agree with Leonid that setting netTask to be lower priority than
any of your real time applications usually does the trick.  The
other thing to consider, though, is putting your VxWorks targets
on a separate network than the rest of your development systems.
We always do this to isolate the targets from random network traffic
including things like routing information broadcasts, ARP requests
and random other broadcast messages.  Set up one of your workstations
to have two network interfaces (one to the target network and one to
your main network).  The workstation software usually can handle the
routing required to get from one network to the other so that, for
instance, you can still get to the targets from other systems besides
the one that has the direct ethernet connection.  Since you would
end up running multiple network segments, there are some addressing
issues you would need to resolve with respect to using either different
subnets or different networks.  Still, putting your targets on their
own network is usually not too hard and quite useful to minimize
network overhead.   Fred
-- 
   |     Fred J Roeber,  BBN Systems & Technologies     |
   |  50 Enterprise Place   Middletown, RI  02842-5202  |
   |       froeber@bbn.com     401-849-2543 (X48)       |
   |   See http://www.bbn.com/tv for TraceMaker info    |

From froeber@bbn.com  Fri Aug  9 13:37:17 1996
From: Fred Roeber <froeber@bbn.com>
Date: Fri Aug  9 13:37:19 PDT 1996
Subject: Re: Prevention if Broadcast Loopback
Rich Moore wrote:

> We are using VxWorks 5.2 for an application that requires the transmission
> of multicast ethernet frames carrying UDP datagrams.  Unfortunately VxWorks
> 5.2 doesn't support multicast addressing from the IP stack.  So we are using
> an etherOutputHook function to substitue a multicast MAC address for the
> broadcast address if certain criteria are met.  The application is sending
> UDP datagrams to the broadcast IP address, which is necessary to force the
> receiving IP stacks to deliver the datagrams to the application.  This
> approach works.
> 
> However, the drawback to this approach is that the frame is being
>  transmitted as a broadcast from the perspective of the protocol stack and
> socket layer.
> 
> In typical BSD implementations, a broadcasted frame is actually copied to
> the receive queue of the protocol stack (internal loopback) before sending
> it out to the network.  This is because the definition of a broadcast is to
> sent to "all hosts on the LAN including ourselves."
> 
> This internal loopback copy has performance ramifications on our applicaion.
>  We don't own the VxWorks source code, so we can't modify the stack.  Does
> anybody have any ideas how to prevent the internal loopback of broadcast
> ethernet packets?

The way you are doing the multicasts, I don't know of any way to prevent
the loopback message.  You could, however, build your own ethernet
packet with the data in it and call etherOutput to send the message
directly.  To do this, you need to build your own ethernet, IP and UDP
headers to wrap around the data.  This isn't trivial but it isn't
too hard since all the header structures are defined in VxWorks
include files and there are good descriptions of the packet layout
in books like UNIX Network Programming by Stevens.  This method not
only works but can end up being much faster since you avoid the
overhead of the protocol stack (which can be significant).  Fred
-- 
   |     Fred J Roeber,  BBN Systems & Technologies     |
   |  50 Enterprise Place   Middletown, RI  02842-5202  |
   |       froeber@bbn.com     401-849-2543 (X48)       |
   |   See http://www.bbn.com/tv for TraceMaker info    |

From jjoly@glenayre.com  Fri Aug  9 13:48:58 1996
From: jjoly@glenayre.com (J Joly [])
Date: Fri Aug  9 13:49:00 PDT 1996
Subject: Re: Software Announcement

From daemon@csg.lbl.gov  Sat Aug 10 04:00:40 1996
From: daemon@csg.lbl.gov
Date: Sat Aug 10 04:00:44 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Sat Aug 10 04:00:37 PDT 1996

        Subject: Finding amount of time left on a watchdoc
        Subject: A32 space VME access
        Subject: Digital VME Products Feedback
        Subject: Re: Prevention if Broadcast Loopback
        Subject: Re: LonTalk
        Subject: Re: Purify like tools for VXWORKS??
        Subject: UNIX - VxWorks POSITION -- SEATTLE AREA
        Subject: Re: Disabling Network

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

Newsgroups: comp.os.vxworks
Subject: Finding amount of time left on a watchdoc
Date: Fri, 9 Aug 1996 11:43:26 -0700
From: Andy Van Pelt <avanpelt@qualcomm.com>
Organization: QUALCOMM, Incorporated; San Diego, CA, USA
Message-ID: <Pine.GSO.3.94.960809114133.15909D-100000@lennon.qualcomm.com>

  How do I programmatically find out how much time is left on a watchdog?
There doesn't seem to be such a routine, but wdShow displays it, so it
must be available *somehow*.

- --
Andy Van Pelt                              Internet: avanpelt@qualcomm.com
QUALCOMM Inc.                              Work    : 619) 658-3214

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

Newsgroups: comp.os.vxworks
Subject: A32 space VME access
Date: Fri, 09 Aug 1996 10:23:51 -0400
From: "Michael J. Dempsey" <mdempsey@motown.lmco.com>
Organization: Lockheed Martin
Message-ID: <320B49F7.2781E494@motown.lmco.com>

Hello

 We have a PowerPC (MV1603) running with a beta version of VxWorks 5.3
 embedded in VME chassis that contains two other VME boards with memory
 registers that we would like our VxWorks application to read and write
 to. One of the boards uses A16 address space and has a base address of
 0x8000. The other uses A32 address space and has a base address of
 0x00300000.
    For A16 space board we used sysBusToLocalAdrs to map its memory to
 something our PowerPC VxWorks application could use. It returned (if
 memory serves me correctly) 0xefff8xxx (where xxx is an offset from
 the base address). This worked fine, we read from that board's
 memory and also wrote to it.
    We tried using the same call to access memory on the board with
 A32 address space (changing the first parameter for sysBusLocalAdrs
 from VM_SUP_SHORT_IO to VM_EXT_SUP_DATA to indicate the different
 address space). For an input of 0x00300000 to sysBusLocalAdrs we get
 returned and address of 0xd0300000, but when the program tried to
 access that memory location it blew up. We have a bus analyzer in
 the VME rack set to trigger on anything but it never did, so the
 application seems to have blown up before even trying to access
 the VME memory.Is there something I need to set up or include in
 the kernel to access this off-board memory? Any help is appreciated.

 Thanx, Mike D.
dempsey@motown.lmco.com

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

Newsgroups: comp.os.vxworks
Subject: Digital VME Products Feedback
Date: Fri, 09 Aug 1996 17:16:57 -0700
From: jeff <jhaigler@infi.net>
Organization: InfiNet
Message-ID: <320BD4F9.386B@infi.net>

I have a client that is considering migrating to the Digital VME 4/288
and I wanted to see if anyone has had experience using it in any
applications.

Mainly, what I am looking for is:
1 - have  you have seen  improvement in your performance from previous
processors (either DEC or Non-DEC)
2- how is the software support?
3 -how is the technical support?

Also, any comments on the AXP-VME 230?

Thanks!

Jeff Haigler
Pen-Tech
jhaigler@infi.net

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

Newsgroups: comp.os.vxworks
Subject: Re: Prevention if Broadcast Loopback
Date: Fri, 09 Aug 1996 03:11:55 GMT
From: chaos@idiom.com (H.J. Bae)
Organization: Peaceful Star
Message-ID: <4uea9q$g9g@idiom.com>
References: <320A6253@gicpo.gic.gi.com>
Reply-To: hjb@peacefulstar.oakland.ca.us

"Moore, Rich (HT-MS)" <rmoore@gic.gi.com> wrote:

>This internal loopback copy has performance ramifications on our applicaion. 
> We don't own the VxWorks source code, so we can't modify the stack.  Does 
>anybody have any ideas how to prevent the internal loopback of broadcast 
>ethernet packets?

try setting global variable useloopback to 0 before sending the
packet.   

HJB

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

Newsgroups: comp.os.vxworks
Subject: Re: LonTalk
Date: Fri, 09 Aug 1996 03:15:57 GMT
From: chaos@idiom.com (H.J. Bae)
Organization: Peaceful Star
Message-ID: <4ueahc$g9g@idiom.com>
References: <199608060805.AA01984@mail.wrs.com> <320A08DA.213@sandiegoca.ncr.com>
Reply-To: hjb@peacefulstar.oakland.ca.us

greg bruno <greg.bruno@sandiegoca.ncr.com> wrote:

>namiq@wrs.com wrote:
>>
>> I am looking for a LonTalk Adapter (ISA or PC104 card) that has a VxWorks
>> driver.
>> 
>> Any recommendations appreciated.

>give the folks at engenuity systems a call:

I don't know about ISA or PC104, but I've adapted Engenuity driver
code for their VME LonWorks adapter.   Their driver is strictly a
device driver -- at least the one I used was.  A lot of work had to be
done to port LonWorks protocol stack on top of this driver in order to
actually do anything useful over LonWorks protocol.   There are some
consulting companies like qLon that may be able to help.

HJB

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

Newsgroups: comp.os.vxworks
Subject: Re: Purify like tools for VXWORKS??
Date: Mon, 05 Aug 1996 15:29:04 -0500
From: Debbie Buscher <dbuscher@gp902.jsc.nasa.gov>
Organization: NASA/JSC
Message-ID: <32065990.2381@gp902.jsc.nasa.gov>
References: <32023136.8AA@phbtsus.com>

Aseem Bakshi wrote:
> 
> Hi,
> I am looking for tools  that perform memory checks similar to the
> capabilities that
> Purify provides on VXWORKS. Could anybody who knows of or has used such
> tools
> post back into this group or send me E-mail
> Thanx in advance
> Aseem
> --
> -----------------------------------------------------------------------------
> Aseem Bakshi                                     Phone: (801)9771574
> Philips Broadcast Television Systems Inc                 Alias: Polka
> Boy
> Salt Lake City, UT
> E-mail Abakshi@phbtsus.com

The only tool that I have found to do memory checks for VxWorks is 
RTILib, which is made by Real-Time Innovations, Inc. out of Sunnyvale, 
CA.

Debbie Buscher

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

Newsgroups: comp.os.vxworks,comp.realtime,comp.arch.embedded,comp.sys.powerpc.tech,seattle.jobs.offered,ba.jobs.offered,comp.unix.programmer,comp.sys.hp.hpux
Subject: UNIX - VxWorks POSITION -- SEATTLE AREA
Date: Sat, 10 Aug 1996 01:23:39 GMT
From: MikeMcQuade@connect.com (Mike McQuade)
Message-ID: <4ugnpo$7fl@wisdom.connectsoft.net>

SENIOR PROGRAMMER

A 27 year old international electronic manufacturing firm in the
Pacific Northwest is seeking a Senior Programmer to perform software
design under a UNIX based operating system using HP 700 series
computers.  

Duties will include prototyping new software products, supporting
existing software products, interfacing w/technical writer in creation
of operating guides and interfacing with customers in troubleshooting
system problems.  Potential for providing field support in software
design and maintenance.

Desired experience includes 3 years programming experience,
programming in C under a HPUX environment, user interface design
implementing X-Windows and Motif, knowledge of HPUX system
administration concepts, experience writing embedded software for the
PowerPC and experience using Wind Rivers VxWorks for embedded system
design.

Company environment supports individual responsibility of projects
from beginning to end.  Employees share in growth opportunities and
are encouraged to pursue fullest potential.   Competitive salary, DOE.
Exceptional benefits package including medical, profit sharing, life
insurance, retirement plan, educational stipends, etc.  

Equal Opportunity Employer.  If you meet the above requirements, send
resume with cover letter to:

	ATTN: Human Resources
	Zetec, Inc.
	PO Box 140
	Issaquah WA  98027-0140

Or apply directly at 1370 NW Mall Street, Issaquah, WA.

EMAIL  to pelwell@zetec.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Disabling Network
Date: Tue, 06 Aug 1996 02:40:42 GMT
From: chaos@idiom.com (H.J. Bae)
Organization: Peaceful Star
Message-ID: <4u6bc5$d1l@idiom.com>
References: <4u5uai$44a@lll-winken.llnl.gov>
Reply-To: hjb@peacefulstar.oakland.ca.us

Doug Owens <owens2@llnl.gov> wrote:

>Greetings:
>I have a vxWorks 5.0 system that is getting clobbered by network activity.
>It's a Force CPU-30 running under 5.0.  We discovered that activity on the
>network occasionally used up enough CPU time for it to not be able to
>keep up with it's 
>real time requirements.  This was fixed by disconnecting the network
>cable 
>(for now).  Is there a software  fix for this? (i.e a way to turn off the
>network - and turn it back on if necessary).  This particular system only
>needs the network to boot, but it isn't really stable enough for booting
>from ROM.  I have another system (MV 147) that needs to occasionally
>access
>NFS file systems.  I would like to be able to turn on/off the network on
>this system also.

You can try 

- -> xxx = ifunit("xx0")
- -> if_down(xxx)

HJB

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

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

From 100656.1507@compuserve.com  Sat Aug 10 05:09:08 1996
From: John Shaw <100656.1507@compuserve.com>
Date: Sat Aug 10 05:09:10 PDT 1996
Subject: Re: Pattern Matching
Mark Fisher wrote

>Does anyone know of a text pattern matching utility, like awk, that
>can be included in an application running under vxWorks. Any
>suggestions welcomed!

I can't think of any VxWorks utility that can be run. But, if the host is
running Unix and VxWorks networking has been enabled, you could use rcmd(2)
on port 514 in order to run awk remotely on the host from VxWorks. A socket
descriptor is returned that can be used as both stdin and stdout.

John Shaw, Shade (Computer Services) Limited, Calne, Wiltshire, England.
100656.1507@compuserve.com

From daemon@csg.lbl.gov  Mon Aug 12 04:00:31 1996
From: daemon@csg.lbl.gov
Date: Mon Aug 12 04:00:36 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Mon Aug 12 04:00:27 PDT 1996

        Subject: Re: interrupt handler question
        Subject: MC68060 Bug and Fix
        Subject: Trapping VME bus errors.
        Subject: Re: Ada and VxWorks

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

Newsgroups: comp.os.vxworks
Subject: Re: interrupt handler question
Date: 11 Aug 1996 18:02:15 -0400
From: thesharps@aol.com (THE SHARPS)
Organization: America Online, Inc. (1-800-827-6364)
Message-ID: <4ull97$m7d@newsbf02.news.aol.com>
References: <31FE6073.41C6@fnal.gov>
Reply-To: thesharps@aol.com (THE SHARPS)
Sender: root@newsbf02.news.aol.com

Jeff,

I have recently performed the same tasks using the NewBridge Unviverse
chip on Radstone 604s and 603es. In doing so, I have performed the
following interrupt initialization steps which worked fine for me:

intDisable(11);
intConnect(INUMTOIVEC(11),....);
intEnable(11):

Obviously, you must also have the VMEChip2 setup to correctly map VME and
DMA interrupts to a PCI interrupt that the ISA-PCI bridge maps to local
int 11.

Hope this helps.

Tim Sharp

Software Engineer
tsharp@cppus.com

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

Newsgroups: comp.os.vxworks
Subject: MC68060 Bug and Fix
Date: Thu, 8 Aug 1996 13:28:36 GMT
From: mfisher@dyn.com (Mark Fisher)
Organization: The World @ Software Tool & Die
Message-ID: <DvtMrI.75G@world.std.com>
Reply-To: mfisher@dyn.com
Sender: news@world.std.com (Mr Usenet Himself)

Hi,

This messages describes a flaw in the MC68060 that I have encountered
and for which I have produced a test case. This problem exists in the
latest mask of the 68060, namely 01F43G. It may or may not exist in
earlier masks. I believe a new mask of the 060 will not be released
until mid-97 -- I have no indication if a fix for this problem will be
included. Motorola has been informed of this flaw.

I have been told, by the vendor of my board, that the problem is in
the Superscalar pipeline of the MC68060. This is enabled by default
under vxWorks as stated on page 540 of the reference manual. Running
the test case under these conditions the error occurs. I have verified
that after calling the function vxSSDisable(), which disables the
Superscalar pipeline, and re-running the test case no error is
produced. So I believe that the assertion that the problem is in the
Superscalar pipeline is correct.

Okay so here is the test case

The code below is able to duplicate this problem. The code below has
two parts

1) A function, fp_test(), that is to be spawned as a task. This calls
the second function repeatedly with arguments such that zero should
never be produced.

2)  A second function, fp_DoCalc(), that is called by the task that
 performs the calculation that fails when the Superscalar pipeline is
 enabled.

The task spawned stops as soon as a zero result (the error condition)
is produced and prints outs the values used when the calculation was
performed. Usually a failure occurs within the first three calls to
fp_DoCalc().

In order for the problem to appear the code must be compiled with the
following:

cc68k -g -fstrength-reduce -fno-builtin -m68040 -m68040-only -Wall \
- -Wno-trigraphs -I$VX_BSP_BASE/h -ansi -pedantic -pipe -nostdinc \
- -DCPU=MC68040 -c -DVXWORKS <c-filename>

(The use of -DCPU=MC68040 or  -DCPU=MC68060 makes no difference in
this code)

Once the code is compiled load it into a vxWorks system and then
execute it as follows

- ->sp fptest

Running the produced code on a 68040 system no error is produced, on a
68060 system an error occurs.

Notes:

It is possible to "fix" this test case by:

    a) Breaking up the C expression that causes the problem into
       more than one C statement.

    b) Specifying optimization, which causes the generated code to be
       different.

and probably a few other ways.

However, none of these are really a fix. This is because there is no
guarantee that every way in which the problem may occur is fixed by
using optimization and it is not possible to know what the compiler
will generate for all C code.

I reported this problem to Wind River System as TSR 33106 a few weeks
ago. But since I see no mention of it on their WEB page I have decided
I should now post it to this group.

The opportunity to run this test on another vendor's board presented
itself lately and the results were the same -- this confirms that the
problem is not in my vendor's board.

To fix the problem do the following:

In the function sysHwInit(), in file  sysLib.c, replace the call
vxSSEnable() with a  call to vxSSDisable(). Note even though the
MC68060 disables the Superscalar pipeline by default, the bootrom code
will have turned it on. You may also need to replace your bootroms in
all 68060 boards -- I guess you will only need to do this if for some
reason you have added code to the bootroms that does floating
point calcs. (I don't think the bootroms nornally do any floating
point stuff.)

Here is the actual test code:

#include <stdio.h>
#include <math.h>

typedef struct
{
   double xCoord;
   double yCoord;
   double zCoord;

}IMGPOS;

typedef  struct
{
   float    sliceLocation;
   IMGPOS   slicePos;

}IMGATTR;

typedef struct
{
   IMGATTR  attr;
   int      imgNum;
   char     sopInstanceUid[64 + 2];

}PER_IMG;

typedef struct
{
   double x;
   double y;
   double z;

}DIRCOS;

int  fp_DoCalc(PER_IMG *iattrP, DIRCOS *depthP);

#define MAX_INNER (40)

int
fp_test()
{
   DIRCOS   depth;
   PER_IMG  imgInfo;
   int      iCnt;
   int      jCnt = 0;
   int      err = 0;

   depth.x = 0.0;
   depth.y = 0.0;
   depth.z = 1.0;

   imgInfo.attr.slicePos.xCoord = 0.0;
   imgInfo.attr.slicePos.yCoord = 0.0;

   for(jCnt = 0; !err; jCnt++)
   {
      imgInfo.attr.slicePos.zCoord = 2.0;

      for (iCnt = 0; !err && iCnt < MAX_INNER; iCnt++)
      {
         err = fp_DoCalc(&imgInfo, &depth);

         if (err)
         {
            printf("Error on calculation #%d\n",
               iCnt + 1 + (jCnt * MAX_INNER));
         }

         imgInfo.attr.slicePos.zCoord += 2.0;
      }
   }

   return(0);

}

int
fp_DoCalc(PER_IMG *iattrP, DIRCOS *depthP)
{
   int err = 0;

   iattrP->attr.sliceLocation =
      (depthP->x * iattrP->attr.slicePos.xCoord) +
      (depthP->y * iattrP->attr.slicePos.yCoord) +
      (depthP->z * iattrP->attr.slicePos.zCoord);

   if (iattrP->attr.sliceLocation == 0.0)
   {
      printf("Zero computed\n");

      printf("\tsliceLocation = %g\n", iattrP->attr.sliceLocation);
      printf("\tdepth(x,y,z) = (%g, %g, %g)\n",
         depthP->x, depthP->y, depthP->z);
      printf("\tposition(x,y,z)  = (%g, %g, %g)\n",
         iattrP->attr.slicePos.xCoord, iattrP->attr.slicePos.yCoord,
         iattrP->attr.slicePos.zCoord);

      err = 1;
   }

   return(err);

}

Here is the assembly code, listed on a board.

******************** This is the function fp_test()
************************

- -> l fp_test
                        _fp_test:
1f33c3a  4e56 ff78                LINK  .W    A6,#0xff78
1f33c3e  2f02                     MOVE  .L    D2,-(A7)
1f33c40  42ae ff7e                CLR   .L    (0xff7e,A6)
1f33c44  42ae ff7a                CLR   .L    (0xff7a,A6)
1f33c48  42ae ffe8                CLR   .L    (0xffe8,A6)
1f33c4c  42ae ffec                CLR   .L    (0xffec,A6)
1f33c50  42ae fff0                CLR   .L    (0xfff0,A6)
1f33c54  42ae fff4                CLR   .L    (0xfff4,A6)
1f33c58  2d7c 3ff0 0000 fff8      MOVE  .L    #0x3ff00000,(0xfff8,A6)
1f33c60  42ae fffc                CLR   .L    (0xfffc,A6)
value = 32717924 = 0x1f33c64 = _fp_test + 0x2a
- -> l
1f33c64  42ae ff8a                CLR   .L    (0xff8a,A6)
1f33c68  42ae ff8e                CLR   .L    (0xff8e,A6)
1f33c6c  42ae ff92                CLR   .L    (0xff92,A6)
1f33c70  42ae ff96                CLR   .L    (0xff96,A6)
1f33c74  42ae ff7e                CLR   .L    (0xff7e,A6)
1f33c78  4aae ff7a                TST   .L    (0xff7a,A6)
1f33c7c  6600 0086                BNE         0x01f33d04
1f33c80  2d7c 4000 0000 ff9a      MOVE  .L    #0x40000000,(0xff9a,A6)
1f33c88  42ae ff9e                CLR   .L    (0xff9e,A6)
1f33c8c  42ae ff82                CLR   .L    (0xff82,A6)
value = 32717968 = 0x1f33c90 = _fp_test + 0x56
- -> l
1f33c90  4aae ff7a                TST   .L    (0xff7a,A6)
1f33c94  6666                     BNE         0x01f33cfc
1f33c96  7427                     MOVEQ       #0x27,D2
1f33c98  b4ae ff82                CMP   .L    (0xff82,A6),D2
1f33c9c  6d5e                     BLT         0x01f33cfc
1f33c9e  70e8                     MOVEQ       #0xe8,D0
1f33ca0  d08e                     ADD   .L    A6,D0
1f33ca2  2f00                     MOVE  .L    D0,-(A7)
1f33ca4  7086                     MOVEQ       #0x86,D0
1f33ca6  d08e                     ADD   .L    A6,D0
value = 32717992 = 0x1f33ca8 = _fp_test + 0x6e
- -> l
1f33ca8  2f00                     MOVE  .L    D0,-(A7)
1f33caa  6100 00ca                BSR         _fp_DoCalc
1f33cae  504f                     ADDQ  .W    #0x8,A7
1f33cb0  2d40 ff7a                MOVE  .L    D0,(0xff7a,A6)
1f33cb4  4aae ff7a                TST   .L    (0xff7a,A6)
1f33cb8  6724                     BEQ         0x01f33cde
1f33cba  222e ff7e                MOVE  .L    (0xff7e,A6),D1
1f33cbe  2001                     MOVE  .L    D1,D0
1f33cc0  e580                     ASL   .L    #0x2,D0
1f33cc2  d081                     ADD   .L    D1,D0
value = 32718020 = 0x1f33cc4 = _fp_test + 0x8a
- -> l
1f33cc4  e780                     ASL   .L    #0x3,D0
1f33cc6  2200                     MOVE  .L    D0,D1
1f33cc8  5281                     ADDQ  .L    #0x1,D1
1f33cca  2001                     MOVE  .L    D1,D0
1f33ccc  d0ae ff82                ADD   .L    (0xff82,A6),D0
1f33cd0  2f00                     MOVE  .L    D0,-(A7)
1f33cd2  487a ff4c                PEA         (0xff4c,PC)
1f33cd6  61ff fe10 741e           BSR         _printf
1f33cdc  504f                     ADDQ  .W    #0x8,A7
1f33cde  f22e 5444 ff9a           FDMOVE.D    (0xff9a,A6),F0
value = 32718052 = 0x1f33ce4 = _fp_test + 0xaa

- -> l
1f33ce4  f23c 5466 4000 0000 0000
        0000                     FDADD .D    #0x4000000000000000,F0
1f33cf0  f22e 7400 ff9a           FMOVE .D    F0,(0xff9a,A6)
1f33cf6  52ae ff82                ADDQ  .L    #0x1,(0xff82,A6)
1f33cfa  6094                     BRA         0x01f33c90
1f33cfc  52ae ff7e                ADDQ  .L    #0x1,(0xff7e,A6)
1f33d00  6000 ff76                BRA         0x01f33c78
1f33d04  4280                     CLR   .L    D0
1f33d06  6000 0002                BRA         0x01f33d0a
1f33d0a  242e ff74                MOVE  .L    (0xff74,A6),D2
1f33d0e  4e5e                     UNLK        A6
value = 32718096 = 0x1f33d10 = _fp_test + 0xd6
- ->
- -> l
1f33d10  4e75                     RTS

******************** This is the function fp_DoCalc()
************************

- -> l fp_DoCalc
                        _fp_DoCalc:
1f33d76  4e56 fffc                LINK  .W    A6,#0xfffc
1f33d7a  f227 e004                FMOVEM.X    F2,-(A7)
1f33d7e  2f0a                     MOVE  .L    A2,-(A7)
1f33d80  2f02                     MOVE  .L    D2,-(A7)
1f33d82  42ae fffc                CLR   .L    (0xfffc,A6)
1f33d86  206e 0008                MOVEA .L    (0x8,A6),A0
1f33d8a  226e 000c                MOVEA .L    (0xc,A6),A1
1f33d8e  246e 0008                MOVEA .L    (0x8,A6),A2
1f33d92  f211 5444                FDMOVE.D    (A1),F0
1f33d96  f22a 5467 0004           FDMUL .D    (0x4,A2),F0
value = 32718236 = 0x1f33d9c = _fp_DoCalc + 0x26
- -> l
1f33d9c  226e 000c                MOVEA .L    (0xc,A6),A1
1f33da0  246e 0008                MOVEA .L    (0x8,A6),A2
1f33da4  f229 54c4 0008           FDMOVE.D    (0x8,A1),F1
1f33daa  f22a 54e7 000c           FDMUL .D    (0xc,A2),F1
1f33db0  f200 0466                FDADD .X    F1,F0
1f33db4  226e 000c                MOVEA .L    (0xc,A6),A1
1f33db8  246e 0008                MOVEA .L    (0x8,A6),A2
1f33dbc  f229 54c4 0010           FDMOVE.D    (0x10,A1),F1
1f33dc2  f22a 54e7 0014           FDMUL .D    (0x14,A2),F1
1f33dc8  f200 0466                FDADD .X    F1,F0
value = 32718284 = 0x1f33dcc = _fp_DoCalc + 0x56
- -> l
1f33dcc  f200 0140                FSMOVE.X    F0,F2
1f33dd0  f210 6500                FMOVE .S    F2,(A0)
1f33dd4  206e 0008                MOVEA .L    (0x8,A6),A0
1f33dd8  f210 4444                FDMOVE.S    (A0),F0
1f33ddc  f200 003a                FS    .X    D0
1f33de0  f28e 0098                FB    .W    #0x98487a
1f33de4  487a ff2c                PEA         (0xff2c,PC)
1f33de8  61ff fe10 730c           BSR         _printf
1f33dee  584f                     ADDQ  .W    #0x4,A7
1f33df0  206e 0008                MOVEA .L    (0x8,A6),A0
value = 32718324 = 0x1f33df4 = _fp_DoCalc + 0x7e
- -> l
1f33df4  f210 4544                FDMOVE.S    (A0),F2
1f33df8  f227 7500                FMOVE .D    F2,-(A7)
1f33dfc  201f                     MOVE  .L    (A7)+,D0
1f33dfe  221f                     MOVE  .L    (A7)+,D1
1f33e00  2f01                     MOVE  .L    D1,-(A7)
1f33e02  2f00                     MOVE  .L    D0,-(A7)
1f33e04  487a ff1b                PEA         (0xff1b,PC)
1f33e08  61ff fe10 72ec           BSR         _printf
1f33e0e  504f                     ADDQ  .W    #0x8,A7
1f33e10  584f                     ADDQ  .W    #0x4,A7
value = 32718354 = 0x1f33e12 = _fp_DoCalc + 0x9c
- -> l
1f33e12  206e 000c                MOVEA .L    (0xc,A6),A0
1f33e16  2f28 0014                MOVE  .L    (0x14,A0),-(A7)
1f33e1a  2f28 0010                MOVE  .L    (0x10,A0),-(A7)
1f33e1e  206e 000c                MOVEA .L    (0xc,A6),A0
1f33e22  2f28 000c                MOVE  .L    (0xc,A0),-(A7)
1f33e26  2f28 0008                MOVE  .L    (0x8,A0),-(A7)
1f33e2a  206e 000c                MOVEA .L    (0xc,A6),A0
1f33e2e  2f28 0004                MOVE  .L    (0x4,A0),-(A7)
1f33e32  2f10                     MOVE  .L    (A0),-(A7)
1f33e34  487a ff00                PEA         (0xff00,PC)
value = 32718392 = 0x1f33e38 = _fp_DoCalc + 0xc2
- -> l
1f33e38  61ff fe10 72bc           BSR         _printf
1f33e3e  defc 001c                ADDA  .W    #0x1c,A7
1f33e42  206e 0008                MOVEA .L    (0x8,A6),A0
1f33e46  2f28 0018                MOVE  .L    (0x18,A0),-(A7)
1f33e4a  2f28 0014                MOVE  .L    (0x14,A0),-(A7)
1f33e4e  206e 0008                MOVEA .L    (0x8,A6),A0
1f33e52  2f28 0010                MOVE  .L    (0x10,A0),-(A7)
1f33e56  2f28 000c                MOVE  .L    (0xc,A0),-(A7)
1f33e5a  206e 0008                MOVEA .L    (0x8,A6),A0
1f33e5e  2f28 0008                MOVE  .L    (0x8,A0),-(A7)
value = 32718434 = 0x1f33e62 = _fp_DoCalc + 0xec
- -> l
1f33e62  2f28 0004                MOVE  .L    (0x4,A0),-(A7)
1f33e66  487a feec                PEA         (0xfeec,PC)
1f33e6a  61ff fe10 728a           BSR         _printf
1f33e70  defc 001c                ADDA  .W    #0x1c,A7
1f33e74  7401                     MOVEQ       #0x1,D2
1f33e76  2d42 fffc                MOVE  .L    D2,(0xfffc,A6)
1f33e7a  202e fffc                MOVE  .L    (0xfffc,A6),D0
1f33e7e  6000 0002                BRA         0x01f33e82
1f33e82  242e ffe8                MOVE  .L    (0xffe8,A6),D2
1f33e86  246e ffec                MOVEA .L    (0xffec,A6),A2
value = 32718474 = 0x1f33e8a = _fp_DoCalc + 0x114
- -> l
1f33e8a  f22e d020 fff0           FMOVEM.X    (0xfff0,A6),F2
1f33e90  4e5e                     UNLK        A6
1f33e92  4e75                     RTS

Mark Fisher

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

Newsgroups: comp.os.vxworks
Subject: Trapping VME bus errors.
Date: 09 Aug 1996 21:37:16 -0700
From: mcs@goblin.caltech.edu (Martin Shepherd)
Organization: California Institute of Technology.
Message-ID: <yc9afw3ua6b.fsf@goblin.caltech.edu>

I am trying to write some diagnostic code to trap VMEbus SIGBUS
and SIGSEGV exceptions on an MVME177 MC68060 CPU running VxWorks 5.3.
I have written a signal handler to trap these exceptions but now
I need to know how to determine the local address that caused
the exception.

My understanding is that the MC68060 places the address that caused
the exception on the stack, but I don't know where to look on the
stack with respect to code in the signal handler. I would be grateful
if somebody could give me some constructive suggestions.

Martin Shepherd  (mcs@astro.caltech.edu)

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

Newsgroups: comp.os.vxworks
Subject: Re: Ada and VxWorks
Date: 8 Aug 1996 12:48:20 GMT
From: johncoby@ghgcorp.com (JOHN R. COBARRUVIAS)
Organization: Personal Account
Message-ID: <johncoby-0808960745090001@139.169.192.103>
References: <4ucind$5ft@lfsserv1.fsc.ibm.com>

In article <4ucind$5ft@lfsserv1.fsc.ibm.com>, tom.kodey@lmco.com wrote:

> I'm considering VxWorks as the RTOS for an Ada based imbedded application and
> am considering various development environments.  The target will likely be a
> Pentium, PowerPC or R4xxx.  I'm interested to hear what Ada development
> environment you were using and, briefly, what you thought of it (host, ease of
> interfacing with VxWorks, ease of use, maturity, support, host and target
> based debug, etc.)?
> 

Hum....do you have to use Ada? (Ok, enough Ada bashing from an ex-Ada supporter)

I have used VADSworks from Verdix, now Rational. It was a very adequate
set of tools except...

VADSworks was built upon vxWorks version 5.0.1.
Verdix was not going to upgrade VADSworks to vxWorks 5.1 because it
required inputs from Windriver and they were not very interested.
So there was a "lag" in support.
And we sometimes got the old "its not a VADSworks problem, its a vxWorks
problem".

Other than that, it was a pretty good system.

Now, I understand Verdix is now Rational. So you may have Rational built
upon VADSworks, built upon vxWorks. E-Gads!

But I would check on that.

My experience with Rational has been TRY BEFORE YOU BUY! 

Hum....do you have to use Ada?
> Tom Kodey
> tom.kodey@lmco.com
> Lockheed Martin Federal Systems

- -- 

,-_/     .         .-,--.      ,---.     .
'  | ,-. |-. ,-.    `|__/      |  -' ,-. |-. ,-. ,-. ,-. . . .  , . ,-. ,-.
   | | | | | | |     | \  ,.   |  -. | | | | ,-| |   |   | | | /  | ,-| `-.
   | `-' ' ' ' '   `-'  ` `'   `---' `-' `-' `-^ '   '   `-' `'   ' `-^ `-'
/  |         John R. Cobarruvias johncoby@ghgcorp.com Houston, Tx
`--'  

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

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

From rterry@cacihsv.com  Mon Aug 12 05:52:24 1996
From: "Russell Terry" <Russell.M.Terry@cacihsv.com>
Date: Mon Aug 12 05:52:26 PDT 1996
Subject: Re: Software Announcement
send newsletter info

----------------------------------------------------
Russell M. Terry Jr.       Senior Systems Engineer
CACI-ASG
1555 The Boardwalk         InfraRed Sensor Systems
Huntsville, AL 35816       Embedded Systems
205.830.4782, voice        Custom Hardware/Software
205.837.2086, fax          VME, VxWorks, SCSI

From mea@mclean.sparta.com  Mon Aug 12 07:53:35 1996
From: Mike Anderson <mea@mclean.sparta.com>
Date: Mon Aug 12 07:53:37 PDT 1996
Subject: Re: A32 space VME access
At 04:00 AM 8/10/96 PDT, you wrote:
>From: "Michael J. Dempsey" <mdempsey@motown.lmco.com>
>
>Hello
>
> We have a PowerPC (MV1603) running with a beta version of VxWorks 5.3
> embedded in VME chassis that contains two other VME boards with memory
> registers that we would like our VxWorks application to read and write
> to. One of the boards uses A16 address space and has a base address of
> 0x8000. The other uses A32 address space and has a base address of
> 0x00300000.
>    For A16 space board we used sysBusToLocalAdrs to map its memory to
> something our PowerPC VxWorks application could use. It returned (if
> memory serves me correctly) 0xefff8xxx (where xxx is an offset from
> the base address). This worked fine, we read from that board's
> memory and also wrote to it.
>    We tried using the same call to access memory on the board with
> A32 address space (changing the first parameter for sysBusLocalAdrs
> from VM_SUP_SHORT_IO to VM_EXT_SUP_DATA to indicate the different
> address space). For an input of 0x00300000 to sysBusLocalAdrs we get
> returned and address of 0xd0300000, but when the program tried to
> access that memory location it blew up. We have a bus analyzer in
> the VME rack set to trigger on anything but it never did, so the
> application seems to have blown up before even trying to access
> the VME memory.Is there something I need to set up or include in
> the kernel to access this off-board memory? Any help is appreciated.
>

Greetings!

  Not being a PPC user, I can only suggest that you take a close look at
both your sysPhysMemDesc structure (make sure there's an entry for the
A32 space you wish to access) and your sysLocalToBusAddr & sysBusToLocalAddr
functions in your BSP (check these for accuracy, I've found many errors
in these two functions over the last 9 years working with VxWorks).  Make
sure your compare them with the memory map figures in your PPC's 
documentation (yikes! You mean I have to look in the manual?!?! ;-).

BTW, 0x300000 seems like a very low address to be located in A32.  That
sounds more like an A24 address.

HTH,

===============================================================================
     __       Real-Time System Development, Integration, Training and Services
    //\\
   //  \\     Mike Anderson
  // /\ \\    Chief Engineer              Voice : (703) 448-0210 ext. 235
 // /  \ \\   SPARTA, Inc.                FAX   : (703) 734-3323
//   \    \\  7926 Jones Branch Drive     EMAIL : mea@mclean.sparta.com
\\    \   //  Suite 900                   Web   : http://www.mclean.sparta.com
 \\ \  / //   McLean, VA 22102
  \\ \/ //                             "Software development is like making
   \\  //                               a baby... You can't make a baby in one
    \\//                                month by impregnating nine women.
     --  "Pride in Performance"         Some things just take time."
===============================================================================

From tmorris@me.umn.edu  Mon Aug 12 14:25:16 1996
From: "Ted Morris" <tmorris@me.umn.edu>
Date: Mon Aug 12 14:25:18 PDT 1996
Subject: What about LINUX??

Any word on if WindRiver is going to port VxWorks or Tornado to LINUX OS??

We would be EXTREMELY interested in this.

thanks,

Ted

     _/_/_/     _/_/    _/_/    _/_/ _/_/_/      _/_/     _/_/_/
   _/         _/  _/   _/ _/  _/ _/ _/    _/   _/  _/   _/
  _/        _/    _/  _/  _/_/  _/ _/    _/  _/    _/  _/
 _/        _/_/_/_/  _/   _/   _/ _/    _/  _/_/_/_/  _/
 _/_/_/   _/    _/  _/        _/ _/_/_/    _/    _/   _/_/_/

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

Ted Morris
tmorris@me.umn.edu                                             612-625-3520
Center For Advanced Manufacturing Design And Control           612-625-9881
Institute of Technology                                   FAX: 612-625-8884
University of Minnesota
111 Church St. S.E. (Rm 125)
Mpls  MN   55455

"A lie can travel halfway around the world before the truth can get
its shoes on." [Actually, NOT Mark Twain]

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

From chrisf@jna.com.au  Mon Aug 12 17:13:48 1996
From: "Chris Ford" <chrisf@jna.com.au>
Date: Mon Aug 12 17:13:50 PDT 1996
Subject: Handling statics with C++
We are currently using VxWorks in a C environment, and are considering a move
to C++.	 One concern we have, however, is the treatment of statics.  Under
VxWorks, if we wish to start several instances of the same task, and we wish
each instance to have its own copy of a static, we need to use taskVarAdd().
This has been fine so far as we can combine the necessary statics into a single
structure and only tasVarAdd() a single pointer to that structure.  This
minimises the hit on context switch time.

In C++, however, the whole idea is to hide your data, meaning that any static
member variables should remain part of a class.  Two questions then arise:

    - How to taskVarAdd() these statics.  One solution is to have a static
      member function used to initialise the class (a bit yucky, but workable).

    - What do you do about the performance problem?  Because the data should
      remain hidden, it's a bad idea to pull the statics out into a combined
      structure.  This means that every class which has a static must do its
      own taskVarAdd(), multiplying the number of task variables, and
      increasing the context switch time.

The question is: what do people do about this?

Many thanks in advance for any ideas.

-- 
Chris Ford
Senior Project Engineer
JNA Telecommunications
voice: +61 2 9935 5753     fax: +61 2 417 3862        e-mail: chrisf@jna.com.au
post:  16 Smith St, Chatswood, NSW 2067, Australia.
----------------------------------------------------------------------------JNA

From casey@gateway.ccii.co.za  Tue Aug 13 05:18:28 1996
From: Casey Crellin <casey@gateway.ccii.co.za>
Date: Tue Aug 13 05:18:30 PDT 1996
Subject: Re: What about LINUX??

> Any word on if WindRiver is going to port VxWorks or Tornado to LINUX OS??
    
    Now that is a really good suggestion. Linux would make a very good host
    station.
    Any word from the WRS people?

Casey

--
Casey Crellin                                               casey@ccii.co.za

CCII Systems (Pty) Ltd
-----------------------------------------------------------------------------

From SMTP_Bridge_Server@msmail3.hac.com  Tue Aug 13 05:41:23 1996
From: "SMTP Bridge Server" <SMTP_Bridge_Server@msmail3.hac.com>
Date: Tue Aug 13 05:41:25 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: comp.os.vxworks newsdigest
Sent: Mon, Aug 12, 1996 5:35 AM
To: Quiroz, Gabriel
On Server: 631 Segment2
Date: Tue, Aug 13, 1996 5:40 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.

From SMTP_Bridge_Server@msmail3.hac.com  Tue Aug 13 07:13:30 1996
From: "SMTP Bridge Server" <SMTP_Bridge_Server@msmail3.hac.com>
Date: Tue Aug 13 07:13:32 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Re: Software Announcement
Sent: Mon, Aug 12, 1996 7:08 AM
To: Quiroz, Gabriel
On Server: 631 Segment2
Date: Tue, Aug 13, 1996 7:11 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.

From SMTP_Bridge_Server@msmail3.hac.com  Tue Aug 13 09:55:45 1996
From: "SMTP Bridge Server" <SMTP_Bridge_Server@msmail3.hac.com>
Date: Tue Aug 13 09:55:47 PDT 1996
Subject: Undeliverable Mail
Unknown Microsoft mail form. Approximate representation follows.

Message: Re: A32 space VME access
Sent: Mon, Aug 12, 1996 9:54 AM
To: Quiroz, Gabriel
On Server: 631 Segment2
Date: Tue, Aug 13, 1996 9:55 AM
Reason: Could not be delivered because the destination Microsoft Mail server
could not be found.

From anthonyl@atlantis.softeng.lamrc.com  Tue Aug 13 15:56:42 1996
From: Anthony Le <anthonyl@atlantis.softeng.lamrc.com>
Date: Tue Aug 13 15:56:44 PDT 1996
Subject: read available number of characters of a serial port.
Hello,

Do  anybody know how to read available number of unread bytes of a  
serial port?

Anthony Le
Lam Research Corp.

From daemon@csg.lbl.gov  Wed Aug 14 04:06:15 1996
From: daemon@csg.lbl.gov
Date: Wed Aug 14 04:07:06 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Wed Aug 14 04:00:48 PDT 1996

        Subject: Re: Standard I/O read with a timeout
        Subject: Re: What about LINUX??
        Subject: Re: Handling statics with C++
        Subject: Time synchronisation

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

Newsgroups: comp.os.vxworks
Subject: Re: Standard I/O read with a timeout
Date: 14 Aug 1996 00:05:28 GMT
From: David Meeks <meeks>
Organization: Siemens Medical Systems, Ultrasound Group
Message-ID: <4ur588$c18@hood.sqi.com>
References: <3210D651.41C67EA6@adc.com>

I had essentially the same problem when I wrote some code to initialize
a modem.  In my systems modems are optional and I do not know if one is
attached
or not.  When I call read() and no modem is attached to my serial port, read()
would not return so I spawned a separate task to make the read() call.

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

Newsgroups: comp.os.vxworks
Subject: Re: What about LINUX??
Date: 14 Aug 1996 03:24:22 GMT
From: david@ods.com (David Engel)
Organization: Optical Data Systems, Inc.
Message-ID: <4urgt6$l9g@news.ods.com>
References: <199608122125.VAA01187@ziv.me.umn.edu>

Ted Morris <tmorris@me.umn.edu> wrote:
> Any word on if WindRiver is going to port VxWorks or Tornado to LINUX OS??
> We would be EXTREMELY interested in this.

So would we!

David
- -- 
David Engel                        Optical Data Systems, Inc.
david@ods.com                      1101 E. Arapaho Road
(214) 234-6400                     Richardson, TX  75081

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

Newsgroups: comp.os.vxworks
Subject: Re: Handling statics with C++
Date: Tue, 13 Aug 1996 08:09:46 -0700
From: Todd Hoff <tmh@possibility.com>
Organization: Possibility Outpost
Message-ID: <32109ABA.28AB@possibility.com>
References: <9608130013.AA29767@clix.jna.com.au> <32108499.21EF@ucar.edu>

Joe Van Andel wrote:

> // return pointer to  single instance of this object/task.
> A1Record *A1Record::Instance()
> {
>     if (!instance_) {
>         instance_ = new A1Record();
>     }

A mutex is needed to protect against multiple accesses to
Instance() during construction. We've also had a problem 
when the instance started ISA thread as the object will not 
be ready to use even though a pointer is returned. We need another
level to wait on the state of the object to be ready.

- -------------------------------------------------------------
tmh@possibility.com        | The loyalty of small men can be
http://www.possibility.com | bought cheaply, for greed has no
                           | pride.  - Michael Kube-McDowell

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

Newsgroups: comp.os.vxworks
Subject: Time synchronisation
Date: Wed, 14 Aug 1996 08:41:05 GMT
From: hiske@ict.nl (Hiske Huiting)
Organization: ICT Automatisering Deventer BV
Message-ID: <Dw4DGI.85A@tweety.ict.nl>
Reply-To: hiske@ict.nl
Sender: usenet@tweety.ict.nl (news)

I have Sparc board with VxWorks 5.2 connected to a Silicon Graphics Challenge
through VME and TCP/IP.

What is the easiest way to synchronise the VxWorks time with the SGI?

Thanx,

Hiske
____________________________________________________________________________
name:     H.Huiting         /  ___  \    ICT Automatisering B.V. / Aerospace
internet: hiske@ict.nl     /  /   \  \   P.O.Box 701
fax:      31-570-621362   (  ( ICT )     7400 AS  Deventer
tel:      31-570-633888    \  \___/  /   The Netherlands
____________________________\_______/______________________________:-)______

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

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

From mea@mclean.sparta.com  Wed Aug 14 07:20:29 1996
From: Mike Anderson <mea@mclean.sparta.com>
Date: Wed Aug 14 07:21:52 PDT 1996
Subject: Re: read available number of characters of a serial port.
At 03:56 PM 8/13/96 PDT, you wrote:
>Submitted-by anthonyl@atlantis.softeng.lamrc.com  Tue Aug 13 15:56:42 1996
>Submitted-by: Anthony Le <anthonyl@atlantis.softeng.lamrc.com>
> 
>Hello,
>
>Do  anybody know how to read available number of unread bytes of a  
>serial port?

Greetings!

  It's really quite straightforward.  Open a file descriptor that 
corresponds to the serial port in question and use the FIONREAD ioctl call:

#include "vxWorks.h"
#include "ioctl.h"
#include "ioLib.h"

short snippet()
  {
    int fd, numBytesInBuffer;

    /* this open should probably only be done once in your program */ 
    fd = open("/tyCo/1", O_RDWR); /* open for "update" */

    numBytesInBuffer = ERROR;     /* assume ERROR case */

    /* call ioctl & check ioctl status to detect ERROR encountered in call */
    if (ioctl(fd, FIONREAD, &numBytesInBuffer) == ERROR) {
      /* add any error correction stuff here */
      close(fd);  /* clean ups should be done once in your program */
      return(ERROR);
    }
    else {
      close(fd);  /* clean ups should be done once in your program */
      return(numBytesInBuffer); 
    }
  }

Provided your vxWorks doesn't have a broken FIONREAD ioctl, this should
work.  BTW, if your using file pointers (fopen, fread, etc.), then replace 
the ioctl(fd,...) with ioctl(fileno(filePointer),...).

HTH,
 

===============================================================================
     __       Real-Time System Development, Integration, Training and Services
    //\\
   //  \\     Mike Anderson
  // /\ \\    Chief Engineer              Voice : (703) 448-0210 ext. 235
 // /  \ \\   SPARTA, Inc.                FAX   : (703) 734-3323
//   \    \\  7926 Jones Branch Drive     EMAIL : mea@mclean.sparta.com
\\    \   //  Suite 900                   Web   : http://www.mclean.sparta.com
 \\ \  / //   McLean, VA 22102
  \\ \/ //                             "Software development is like making
   \\  //                               a baby... You can't make a baby in one
    \\//                                month by impregnating nine women.
     --  "Pride in Performance"         Some things just take time."
===============================================================================

From punamia@falcon.kla.com  Wed Aug 14 10:03:44 1996
From: punamia@falcon.kla.com (Manoj Punamia)
Date: Wed Aug 14 10:03:47 PDT 1996
Subject: Re: read available number of characters of a serial port.

>Hello,

>Do  anybody know how to read available number of unread bytes of a  
>serial port?

>Anthony Le
>Lam Research Corp.

Use the following:
    ioctl(port_name, FIONREAD, &nbytes);
    where: port_name = file descriptor of the port you opened.
           FIONREAD = 1, defined in ioLib.h to read num chars available to read.
           nbytes = # of bytes available to read (int). 

-- Manoj Punamia
anthonyl@atlantis.softeng.lamrc.com   KLA Instruments

From lbecker@avtec.com  Wed Aug 14 14:48:59 1996
From: "Lynn W. Becker, II" <lbecker@avtec.com>
Date: Wed Aug 14 14:49:01 PDT 1996
Subject: 5.3 booting from 5.2 Shared memory?
Hi, I am having trouble booting my mv1300.  As you may know, there is
no onboard ethernet on the mv1300.  I am attempting to a backplane
ethernet to boot the board.

I have 3 Heurikon Baja boards running VxWorks 5.2.  The three boards
have the following bootlines

Boot line:

ei(0,0)skybox.avtec.com:/export/home/vw/config/hkbaja47/vxWorks
e=206.161.148.30

 b=90.0.0.1 h=206.161.148.29 u=vxuser tn=uno.avtec.com

value = 146 = 0x92

Boot line:

sm=040000600(0,2)skybox.avtec.com:/export/home/vw/config/hkbaja47/vxWorks
b=90.0

.0.3:ff000000 h=206.161.148.29 g=90.0.0.1 u=vxuser tn=tres.avtec.com

value = 160 = 0xa0

Boot line:

sm=0x40000600(0,3)skybox.avtec.com:/export/home/vw/config/hkbaja47/vxWorks
b=90.

0.0.4:ff000000 h=206.161.148.29 g=90.0.0.1 u=vxuser
tn=quatro.avtec.com

value = 163 = 0xa3

Note that first board boots from the host over the ethernet, and the
other two are set up to boot from the backplane ethernet.  They are
successful in doing this.

The fourth board is the mv1300.  Running 5.3 beta, trying to boot from
the shared memory network, and I get the following...

                            VxWorks System Boot

Copyright 1984-1995  Wind River Systems, Inc.

CPU: Motorola MVME1305 - PowerPC 603

Version: 5.3-PowerPC-beta

BSP version: 1.1/2

Creation date: Aug 13 1996, 14:01:15

Press any key to stop auto-boot...

 0

auto-booting...

boot device          : sm=0x40000600

processor number     : 4

host name            : skybox.avtec.com

file name            : /export/home/wind/target/config/mv1305/vxWorks

inet on backplane (b): 90.0.0.5

host inet (h)        : 206.161.148.29

gateway inet (g)     : 90.0.0.1

user (u)             : vxuser

flags (f)            : 0x0

target name (tn)     : cinqo.avtec.com

Backplane anchor at 0x40000600... Attaching network interface sm0...
done.

smIsAlive:  readyValue = 0x7c7343a6, heartbeat = 0x0

smIsAlive:  readyValue = 0x7c7343a6, heartbeat = 0x0

[snip..]

smIsAlive:  readyValue = 0x7c7343a6, heartbeat = 0x0

initialization failed for device "sm0"

Can't load boot file!!

Can a 5.3 machine boot from the 5.2 shared memory network?

Would any more information be helpful in figuring this out?

______________________________________________________________________

Mr. Lynn W. Becker                      lbecker@avtec.com

Engineer                                (703) 273-2211

Avtec Systems Inc                       (703) 273-1313 FAX

10530 Rosehaven Street, Suite 300       http://www.avtec.com

Fairfax, VA 22030                       

From mea@mclean.sparta.com  Wed Aug 14 15:26:07 1996
From: Mike Anderson <mea@mclean.sparta.com>
Date: Wed Aug 14 15:26:09 PDT 1996
Subject: Re: 5.3 booting from 5.2 Shared memory?
At 02:49 PM 8/14/96 PDT, you wrote:
>Submitted-by lbecker@avtec.com  Wed Aug 14 14:48:59 1996
>Submitted-by: "Lynn W. Becker, II" <lbecker@avtec.com>
> 
>Hi, I am having trouble booting my mv1300.  As you may know, there is
>no onboard ethernet on the mv1300.  I am attempting to a backplane
>ethernet to boot the board.
>
[snip]

>Boot line:
>
>sm=0x40000600(0,3)skybox.avtec.com:/export/home/vw/config/hkbaja47/vxWorks
>b=90.
>
>0.0.4:ff000000 h=206.161.148.29 g=90.0.0.1 u=vxuser
>tn=quatro.avtec.com
>
>value = 163 = 0xa3
>
>
>Note that first board boots from the host over the ethernet, and the
>other two are set up to boot from the backplane ethernet.  They are
>successful in doing this.
>
>
>The fourth board is the mv1300.  Running 5.3 beta, trying to boot from
>the shared memory network, and I get the following...
>
[snip]
>processor number     : 4
>host name            : skybox.avtec.com
>file name            : /export/home/wind/target/config/mv1305/vxWorks
>inet on backplane (b): 90.0.0.5
>host inet (h)        : 206.161.148.29
>gateway inet (g)     : 90.0.0.1
>user (u)             : vxuser
>flags (f)            : 0x0
>target name (tn)     : cinqo.avtec.com
>
>Backplane anchor at 0x40000600... Attaching network interface sm0...
>done.
>
>smIsAlive:  readyValue = 0x7c7343a6, heartbeat = 0x0
>
[snip]
>
>initialization failed for device "sm0"
>
>

This looks like the mvme1300 is not "seeing" the same memory as the the
Bajas.  In fact, I would be somewhat surprised if the 1300 had the same
VME memory map as the Baja.  Therefore, my first guess would be that
0x40000600 may not be the same physical location that the Bajas see
at that address.  A good test would be from the 1300's [VxWorks Boot]:
prompt, do a 

[VxWorks Boot]: d 0x40000600

You should see the "sm" signature value of 0x87654321.  If you don't, then
the address maps don't line up between the two processor types and you'll
have to go to your 1300 documentation to find how to properly map that 
address. 

HTH,

===============================================================================
     __       Real-Time System Development, Integration, Training and Services
    //\\
   //  \\     Mike Anderson
  // /\ \\    Chief Engineer              Voice : (703) 448-0210 ext. 235
 // /  \ \\   SPARTA, Inc.                FAX   : (703) 734-3323
//   \    \\  7926 Jones Branch Drive     EMAIL : mea@mclean.sparta.com
\\    \   //  Suite 900                   Web   : http://www.mclean.sparta.com
 \\ \  / //   McLean, VA 22102
  \\ \/ //                             "Software development is like making
   \\  //                               a baby... You can't make a baby in one
    \\//                                month by impregnating nine women.
     --  "Pride in Performance"         Some things just take time."
===============================================================================

From leonid@rst.co.il  Wed Aug 14 23:01:32 1996
From: leonid@rst.co.il (Leonid Rosenboim)
Date: Wed Aug 14 23:01:34 PDT 1996
Subject: Re: What about LINUX??
> Any word on if WindRiver is going to port VxWorks or Tornado to LINUX OS??

Who do you call then if something to do with Linux does not work ?
   Ghost-Busters ! 

Seriously, unsupported host operating systems can cause a big
support headache for Wind River, cause all problems will end up
bouncing back to them. God knows how many problem reports related
to e.g. "booting from Solaris" have been handeled, even the exploder
had its share. And this is for Solaris 2.x - one of the best supported
OSes. At least our local bunch are a zillion times better then the Microsoft
people that handle support calls.

Just imageine what it would be like, and imageine the whole support
group will get even more work load then it has now, and you know
who will be effected ...

Linux - vote NO.

Leonid

From daemon@csg.lbl.gov  Thu Aug 15 04:00:28 1996
From: daemon@csg.lbl.gov
Date: Thu Aug 15 04:00:30 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Thu Aug 15 04:00:25 PDT 1996

        Subject: NT/pSOS RPC timeout to embedded system

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

Newsgroups: comp.arch.embedded,comp.os.vxworks
Subject: NT/pSOS RPC timeout to embedded system
Date: Sun, 04 Aug 1996 08:44:36 -0500
From: hogle@crd.ge.com (Rich Hogle)
Organization: GE Corp R&D Center, Schenectady NY
Message-ID: <hogle-0408960844360001@3.1.150.57>

I have a high-performance data acq system, the actions of which
are coordinated by software running on a remote WindowsNT system.
The NT host starts an acquisition via a blocking RPC function call, served
by the embedded system (pSOS on PPC1604).  The embedded system
performs the acquistion, then issues a return and the NT host continues.

All is fine until acquistions times reach/exceed  188 seconds,
at which time the NT RPC returns with
connection-reset status code, even though the acquisition has not completed
and no return/reset has been issued.  Setting RPC timeout value to
high number (10000 seconds) does not help.  Is there any place else
under NT where this magic number of 188 seconds is configured??
The acquisition task continues on its merry way
collecting data for 188+nn seconds, and when done, completes normally
and tries to return status to NT client which has since departed.

  - If RPC client is a SunOS application, then system runs fine. Timeouts
    occur at the specified time that I set, exactly as expected. Acquisitions
    for many minutes run routinely.

  - during a acquisition, the embedded pSOS system suspends all networking
    tasks to avoid any delay in capturing data.  Does NT somehow detected
    this and think that a connection reset has occured?   SunOS doesn't seem
    to know/care.

  - We are using Chameleon/NetManage RPC-SDK environment

  - pSOS 2.1.2 on MVME1604

Any hints will be much appreciated.

Thanks

Rich Hogle
GE-CRD
hogle@crd.ge.com

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

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

From lbecker@avtec.com  Thu Aug 15 06:38:16 1996
From: "Lynn W. Becker, II" <lbecker@avtec.com>
Date: Thu Aug 15 06:38:18 PDT 1996
Subject: Re: 5.3 booting from 5.2 Shared memory?
> A good test would be from the 1300's [VxWorks Boot]:
>prompt, do a
>
>[VxWorks Boot]: d 0x40000600
>
>You should see the "sm" signature value of 0x87654321.  If you don't, then
>the address maps don't line up between the two processor types and you'll
>have to go to your 1300 documentation to find how to properly map that
>address.

[VxWorks Boot]: d 0x40000600
40000600:  7c73 43a6 7c68 02a6  4822 d4af 3861 0000   *|sC.|h..H"..8a..*
40000610:  9421 fff0 4822 8d1b  3821 0010 4822 d5cf   *.!..H"..8!..H"..*
40000620:  0000 0000 0000 0000  0000 0000 0000 0000   *................*
40000630:  0000 0000 0000 0000  0000 0000 0000 0000   *................*
40000640:  0000 0000 0000 0000  0000 0000 0000 0000   *................*
40000650:  0000 0000 0000 0000  0000 0000 0000 0000   *................*
40000660:  0000 0000 0000 0000  0000 0000 0000 0000   *................*
40000670:  0000 0000 0000 0000  0000 0000 0000 0000   *................*
[VxWorks Boot]:

Thanks for the tip Mike. I will go RTFM.

______________________________________________________________________
Mr. Lynn W. Becker                      lbecker@avtec.com
Engineer                                (703) 273-2211
Avtec Systems Inc                       (703) 273-1313 FAX
10530 Rosehaven Street, Suite 300       http://www.avtec.com
Fairfax, VA 22030                       

From punamia@falcon.kla.com  Thu Aug 15 10:40:36 1996
From: punamia@falcon.kla.com (Manoj Punamia)
Date: Thu Aug 15 10:40:38 PDT 1996
Subject: Re: NT/pSOS RPC timeout to embedded system

I had a similar problem with the older version of SunOS. The timeout
value we set in RPC func "clnt_call" did not work. We got around
this by changing the default RPC timeout by calling func "clnt_control"
and resetting to default after the call. This is somewhat inefficient
but it works.
Other obvious suggestion is to run your acquisition task without
suspending network task just for debugging purpose to check if NT
is acting too smart.

--Manoj Punamia
  KLA INSTRUMENTS 
    

From punamia@falcon.kla.com  Thu Aug 15 10:48:03 1996
From: punamia@falcon.kla.com (Manoj Punamia)
Date: Thu Aug 15 10:48:05 PDT 1996
Subject: Re: What about LINUX??

Why would it be any different that say using gnu tools ?

From daemon@csg.lbl.gov  Fri Aug 16 04:01:24 1996
From: daemon@csg.lbl.gov
Date: Fri Aug 16 04:01:26 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Fri Aug 16 04:01:19 PDT 1996

        Subject: Re: What about LINUX??
        Subject: NVRAM logging library now in the FTP archives...
        Subject: Re: Source control with Tornado?
        Subject: S: Backup programm for vxworks
        Subject: Re: Standard I/O read with a timeout
        Subject: Re: YEAR 2000
        Subject: Re: What about LINUX??
        Subject: Re: HTTP server for VxWorks
        Subject: Re: Source control with Tornado?
        Subject: STL with Tornado/VxWorks
        Subject: Re: YEAR 2000
        Subject: Re: Downloading vxWorks to PPC

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

Newsgroups: comp.os.vxworks
Subject: Re: What about LINUX??
Date: 15 Aug 1996 09:21:07 -0600
From: bgeer@xmission.xmission.com (bgeer)
Organization: XMission Internet (801 539 0900)
Message-ID: <4uvf93$aog@xmission.xmission.com>
References: <9608150525.AA04342@rst.co.il>

leonid@rst.co.il (Leonid Rosenboim) writes:

 >> Any word on if WindRiver is going to port VxWorks or Tornado to LINUX OS??

 >Who do you call then if something to do with Linux does not work ?
 >   Ghost-Busters ! 

No, you "call" the appropriate one of a large number of Linux
newsgroups.  I dare say the Linux developers & users are a more
responsive group than *any* single-vendor OS.  

Of course there's no tech support phone number that I know of for
Linux, but then my experience using phone support has been much worse
than support I've received using email & newsgroup solicitations.

 >Seriously, unsupported host operating systems can cause a big
 >support headache for Wind River, cause all problems will end up
 >bouncing back to them. God knows how many problem reports related
 >to e.g. "booting from Solaris" have been handeled, even the exploder
 >had its share. 

Do you have the sources, *ALL* the sources, for Solaris?  I have all
the sources for Linux...if something doesn't work, I can track it down
myself.  I haven't needed to...Linux just works!

I installed & configured Linux on a ProStar Pentium laptop for
supporting VxWorks on a MVME162LX on a field delivery.  It took about
2 hours using cdrom.  I enabled tftp, fired up the Ethernet PCMCIA
card, & actually booted from it, as well as wrote flash ram & was able
to do everything else I needed to except compile.  All I needed was a
cc68k that executed on x86 & I would have had a complete portable
development system.  This laptop cost less than $4000 US.  Say that
about a Solaris machine...:-)

I have a copy of the FUZZ report from UWisc (unfortunately at home &
I'm posting this from work).  The statistics in this report indicate
Linux & its utilities are more stable than other Unix's based on the
results from their test suite.  Well worth reading...

The only downside to Linux I know of is support for certain pieces of
new hardware.  A prime example is XWindow support for the Matrox
Millenium(?) display adapter.  Matrox would not release their specs to
public domain so the XFree folks couldn't create a driver using its
features.  Note that either Xinside or MetroX *does* have a <$200
Linux X driver for it.  So far, tho, this kind of problem has been
very rare, & that Linux drivers are available for the vast majority of
PC hardware products.

 >... At least our local bunch are a zillion times better then the Microsoft
 >people that handle support calls.

Yeah, well, sure...I'd expect that.

 >Just imageine what it would be like, and imageine the whole support
 >group will get even more work load then it has now, and you know
 >who will be effected ...

No doubt any new platform/OS combination would increase support
demand.  I'll bet the support required by Linux users would not be
significantly more than that required by other OS's; actually, I'll
bet it would be significantly *less*.

 >Linux - vote NO.

Try Linux...you'll vote YES.

Bob
- -- 
<> Robert Geer & Donna Tomky /              *             <>
<>    bgeer@xmission.com    |    _o      *   o *      o   <>
<>   Salt Lake City, Utah   |   -\<,      * <\      </L   <>
<>          U S A           |   O/ O     __ /__,    />    <>

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

Newsgroups: comp.os.vxworks
Subject: NVRAM logging library now in the FTP archives...
Date: Tue, 13 Aug 1996 20:01:12 GMT
From: gnn@wrs.com (George Neville-Neil)
Organization: Wind River Systems, Inc.
Message-ID: <Dw3EA0.80L@wrs.com>

Hi Folks,

	Well, I've written something those of you with NVRAM in your
    targets might find useful.  It's something I call nvLogLib,
    which allows you to log messages into your NVRAM and then retreive
    them.  This faciliy uses sysNvRamSet and sysNvRamGet so you'd better
    have those symbols before linking this into your code.  

	There is a complete README file in the tar file placed on the
    archive.  I'm not in control of the archive but I'm told the package
    should be there soon.  Please read the disclaimer in the source code
    for legal/warranty information.

Later,
George

- -- 
George V. Neville-Neil		work: gnn@wrs.com     home:gnn@netcom.com
NIC: GN82
The path of my life is strewn with cowpats from the devil's own satanic
herd!		- Edmund Blackadder 

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

Newsgroups: comp.os.vxworks
Subject: Re: Source control with Tornado?
Date: 15 Aug 1996 17:17:53 GMT
From: friedl@cher.heurikon.com (Ted Friedl)
Organization: Heurikon Corporation
Message-ID: <4uvm41$a4k@badger.heurikon.com>
References: <4uniph$fu4$1@mhade.production.compuserve.com> <4uuo9h$lgs@idiom.com>

In article <4uuo9h$lgs@idiom.com>,
H.J. Bae <hjb@peacefulstar.oakland.ca.us> wrote:
>Jim Wilson <102105.3240@CompuServe.COM> wrote:
>
>>Can anyone recommend a Source Code management system that works
>>well with the Tornado for Windows?
>
>I use GNU RCS/CVS for windows NT.  Available freely at
>ftp://ftp.cyclic.com
>
>HJB

We use CVS as well for VxWorks BSP, driver and tool development.
Set up and used properly, it is a powerful tool.  I was here coding
VxWorks before we implemented CVS, so I am qualified to say that
it is a huge time saver and helps us create top-quality VxWorks
products.  In an environment with many developers, I would not
want to work without it.

Here is an overview of how we use CVS with VxWorks 5.3 (your 
situation may require something different):

  o All Tornado packages we receive from Wind River are loaded
    onto our file server and made "read-only".

  o For each Tornado tree, we have a ksh script that sets up
    the environment variables for using that set of Tornado tools
    and code in a personal directory.

  o A script is employed to soft-link the "host" and "share"
    directories of a read-only Tornado tree into the personal
    directory.  The script also creates a copy of every directory
    under "target" and soft-links all of the files (this allows
    the user to modify things like usrConfig.c without disrupting
    others).

  o Only our BSP/driver source code is saved in CVS and is on
    our file server.

In this environment, working on a personal and modifiable version
of a BSP with Tornado involves these steps...

  1. Make a clean directory and "cd" there.
  1. Choose a Tornado tree and run its ksh script.
  2. Check-out the BSP/driver code from CVS.
  3. Run the script to "overlay" the Tornado tree.
  4. Develop away!
  5. Check-in improved BSP/driver code to CVS.
  6. Delete the directory.

...and to believe I thought source code "control" was going to
restrict my coding freedom.  It has really done the opposite 
and has permitted me to work at a higher level.

Good luck in your choice!

Ted Friedl
Senior Software Engineer
Heurikon Corporation
Madison, WI

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

Newsgroups: comp.os.vxworks
Subject: S: Backup programm for vxworks
Date: 15 Aug 1996 19:59:49 +0200
From: alpha@jungle.toppoint.de (Sable)
Organization: Jungle Industries said Balu...
Message-ID: <4uvoil$13a@jungle.toppoint.de>

Hello,

i search for some tool tp backup my vxwork-disks
on an remote computer.

are there any simple tools on the internet
or any helps?

thank you

Hendrik S. Roepcke

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

Newsgroups: comp.os.vxworks
Subject: Re: Standard I/O read with a timeout
Date: 15 Aug 1996 13:11:56 -0400
From: duhrenho@sanders.com (David Uhrenholdt)
Organization: Sanders SSD
Message-ID: <xmj3f1o1sir.fsf@hickory>
References: <3210D651.41C67EA6@adc.com>
Sender: duhrenho@hickory

In article <3210D651.41C67EA6@adc.com> Sifang Chu <schu@adc.com> writes:

 
   We are designing a HDLC driver to work with the VxWorks seven basic I/O
   functions. The VxWorks read() function is defined as: nBytes = read (fd,
   &buffer, maxBytes). We want to make our HDLC read to timeout if data is
   not available. What is the best way to pass a timeout counter to the
   HDLC driver?
   -- 
It would seem that using "select" would be an easy way to handle this.
- -- 
Dave Uhrenholdt

duhrenho@vette.sanders.lockheed.com
Phone (603) 885-7398

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

Newsgroups: comp.os.vxworks
Subject: Re: YEAR 2000
Date: 15 Aug 1996 20:46:41 GMT
From: vbv@giskard.cwru.edu ("Virgilio 'Dean' B. Velasco Jr.")
Organization: Case Western Reserve Univ.  Cleveland, Ohio (USA)
Message-ID: <4v02bh$j9m@madeline.INS.CWRU.Edu>
References: <4unkoi$5rr@niven.ksc.nasa.gov>

In article <4unkoi$5rr@niven.ksc.nasa.gov>,
Richard Price  <richard.price@lsoc114x.ksc.nasa.gov> wrote:
>What effect will the transition from 1999 to 2000 have on files in VxWorks?

They'll be a year older.

- -- 
Virgilio "Dean" Velasco Jr, Department of Electrical Eng'g and Applied Physics 
        graduate student slave, roboticist-in-training and Q wannabe
http://dora.eeap.cwru.edu/vbv/vbv.html |  Remember: Wise men still seek Christ.
"And I shall shed my light over dark evil, for darkness cannot stand the light."

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

Newsgroups: comp.os.vxworks
Subject: Re: What about LINUX??
Date: Thu, 15 Aug 1996 23:22:11 GMT
From: chaos@idiom.com (H.J. Bae)
Organization: Peaceful Star
Message-ID: <4v0bf8$1lr@idiom.com>
References: <9608150525.AA04342@rst.co.il>
Reply-To: hjb@peacefulstar.oakland.ca.us

leonid@rst.co.il (Leonid Rosenboim) wrote:

>Linux - vote NO.

Linux is the best UNIX I have ever used.  
I've ported enough commerical UNIX kernels around in my career
to know that Linux is just as good, if not better.

Of course, that doesn't mean that a "real company"
would even consider porting their tools to Linux.  Too bad.

HJB

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

Newsgroups: comp.os.vxworks
Subject: Re: HTTP server for VxWorks
Date: Thu, 15 Aug 1996 08:41:04 GMT
From: chaos@idiom.com (H.J. Bae)
Organization: Peaceful Star
Message-ID: <4uunr4$lgs@idiom.com>
References: <4t6di0$10b@mistral.physio-control.com> <4tja59$duv@idiom.com>
Reply-To: hjb@peacefulstar.oakland.ca.us

A lot of people asked for the toy HTTP server for VxWorks.
It is in:
	http://peacefulstar.oakland.ca.us/vxhacks.html

It's a hack, so don't expect much.  It's useful for letting your
embedded target respond to HTTP clients (netscape)
for management functions, etc.

HJB

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

Newsgroups: comp.os.vxworks
Subject: Re: Source control with Tornado?
Date: Thu, 15 Aug 1996 08:48:45 GMT
From: chaos@idiom.com (H.J. Bae)
Organization: Peaceful Star
Message-ID: <4uuo9h$lgs@idiom.com>
References: <4uniph$fu4$1@mhade.production.compuserve.com>
Reply-To: hjb@peacefulstar.oakland.ca.us

Jim Wilson <102105.3240@CompuServe.COM> wrote:

>Can anyone recommend a Source Code management system that works
>well with the Tornado for Windows?

I use GNU RCS/CVS for windows NT.  Available freely at
ftp://ftp.cyclic.com

HJB

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

Newsgroups: comp.os.vxworks
Subject: STL with Tornado/VxWorks
Date: Tue, 13 Aug 1996 12:25:08 -0700
From: Jeff Eastwood <jeffme@teleport.com>
Organization: Teleport - Portland's Public Access (503) 220-1016
Message-ID: <3210D694.2EF7@teleport.com>

I'd like to hear from anyone that has used the Standard Template Library
with Tornado or any other version of VxWorks. Either a port of the GNU 
STL, or use of a commercial product such as Object Space's version, or 
even a direct port of the HP reference implementation would be of 
interest.

Jeff Eastwood
ESI

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

Newsgroups: comp.os.vxworks
Subject: Re: YEAR 2000
Date: Wed, 14 Aug 1996 11:13:04 GMT
From: Tom Fuda <fuda@norden.com>
Organization: Northrop Grumman Norden Systems
Message-ID: <Dw4KHs.AM8@tron.bwi.wec.com>
References: <4unkoi$5rr@niven.ksc.nasa.gov>
Sender: usenet@tron.bwi.wec.com (USEnet News Poster)

I don't suspect that the year 2000 will cause problems with VxWorks. 
The dosFsLib function, dosFsDateSet accepts dates through the year 2099. 
This function sets the date which the DOS filesystem uses for file 
timestamping purposes. Another option for file timestamping is to use the 
dosFsDateTimeInstall function to install a user-supplied date/time handler. 
Since you will most likely have to write your own user-supplied date/time 
handler you can take care to be 2000 compliant. I believe this is the only 
area where VxWorks cares about a date.

Tom Fuda
Senior Software Engineer
Northrop Grumman Norden Systems
fuda@norden.com

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

Newsgroups: comp.os.vxworks
Subject: Re: Downloading vxWorks to PPC
Date: 16 Aug 1996 02:38:42 GMT
From: steved@pacifier.com@199.2.117.163  (Steve Doiel)
Organization: Pacifier BBS, Vancouver, Wa.  ((360) 693-0325)
Message-ID: <4v0mvi$eit@news.pacifier.com>
References: <4uvtus$bka$1@mhafc.production.compuserve.com>
Reply-To: steved@pacifier.com  (Steve Doiel)

Keith Kingsley writes:
>Has anyone had problems downloading the vxWorks image file from 
>NT to a PPC board?  I'm using NT 3.51 as the host and a Motorola 
>1604 board as my target, and I can't seem to get the target board 
>to FTP properly.  When I boot up the PPC board, it attaches the 
>network interfaces dc0 and lc0 fine, but when it needs to 
>download vxWorks, it just displays "Loading..." and hangs.  I can 
>monitor FTP sessions on my NT machine, and I can see that the 
>target is successfully logging on.  The PPC board seems to find 
>the file as well, for if rename or delete 
>D:\Tornado\target\config\mv1604\vxWorks, I get a "file not found" 
>message.  Any suggestions?
>
We boot our MVME162 targets from NT using FTP.
Thinks to look for when it doesn't work:
  Privileges of the "user" the target is loggin in as.
  If you're using NT's standard FTP server, you must set up what drives
    may be accessed using FTP.

Also, from a different machine (if you have one available) try to FTP the
same file logging in with the same user and password as the target system
is using.

Hope this helps,
Steve Doiel
steved@pacifier.com

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

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

From harvey@wrs.com  Fri Aug 16 11:35:24 1996
From: Harvey Wong <harvey@wrs.com>
Date: Fri Aug 16 11:35:26 PDT 1996
Subject: hardware diagnostics
Can anyone point me to to some general hardware diagnostic routines which
could be executed upon booting of VxWorks?

Thanks in advance.

Harvey
harvey@wrs.com

From cpires@br.homeshopping.com.br  Fri Aug 16 11:53:35 1996
From: Carlos Pires <cpires@br.homeshopping.com.br>
Date: Fri Aug 16 11:53:37 PDT 1996
Subject: DWord / Word alignment
Hello VxWorkers,

We am using VxWorks 5.2 for both SPARC and Motorola 68040 CPUs in different
VME chassis.
All our applications are developed on SPARC/Solaris 2.4 workstations using
C++, compiled by Wind River C++ compiler. Everything is working fine except
for the two-byte structure alignment for the Motorola 68040 CPU and
four-byte alignment for SPARC. Both CPUs need to communicate and exchange
structures. This word misalignment is a great nuisance for the communication
between both CPUs.
We have looked for a compiler option to enable four-byte alignment for 68040
CPU to no avail. Any ideas on how we could get the four-byte structure
alignment from Wind C++ for Motorola 68040 ?

Thank you in advance.
Carlos Pires
IES Systems

From CJONES@digsys1.bwi.wec.com  Fri Aug 16 12:36:11 1996
From: "CHRIS JONES" <cjones@digsys1.bwi.wec.com>
Date: Fri Aug 16 12:36:13 PDT 1996
Subject: Code Startup On Multiple Processors

We have a multi board system using VxMP.

Each processor has the same code image and starts up tasks depending
on which board it resides on.

What I would like to find is a better way to start up our main 
program on each board during the development cycle. Currently, I have
to start a shell for each board and run a script file in each shell
which downloads the code and starts the main program.

This method is fine for two or three processors, however, we will be
adding several more boards and this method is becoming laborious. 

Is there some way to download code and start it running on several
boards at once?

Thanks,

Chris Jones

cjones@digsys1.bwi.wec.com

(410) 765-7959
(410) 993-8822 FAX

Northrop Grumman
Electronic Sensors & Systems Division

From royg@semantic.com  Fri Aug 16 14:44:21 1996
From: Roy Gordon <royg@semantic.com>
Date: Fri Aug 16 14:44:23 PDT 1996
Subject: Re: DWord / Word alignment
Another approach, since common understanding of differently aligned
but semantically equivalent structures seems to be what's really
involved...

What about using the xdr compiler?  For example, using rcpgen(1) to just
generate the needed C source, if that's all that you would need.

						-- roy

> Submitted-by cpires@br.homeshopping.com.br  Fri Aug 16 11:53:35 1996
> Submitted-by: Carlos Pires <cpires@br.homeshopping.com.br>
>  
> Hello VxWorkers,
> 
> We am using VxWorks 5.2 for both SPARC and Motorola 68040 CPUs in different
> VME chassis.
> All our applications are developed on SPARC/Solaris 2.4 workstations using
> C++, compiled by Wind River C++ compiler. Everything is working fine except
> for the two-byte structure alignment for the Motorola 68040 CPU and
> four-byte alignment for SPARC. Both CPUs need to communicate and exchange
> structures. This word misalignment is a great nuisance for the communication
> between both CPUs.
> We have looked for a compiler option to enable four-byte alignment for 68040
> CPU to no avail. Any ideas on how we could get the four-byte structure
> alignment from Wind C++ for Motorola 68040 ?
> 
> Thank you in advance.
> Carlos Pires
> IES Systems

From royg@semantic.com  Fri Aug 16 14:46:27 1996
From: Roy Gordon <royg@semantic.com>
Date: Fri Aug 16 14:46:29 PDT 1996
Subject: Re: DWord / Word alignment
Another approach, since common understanding of differently aligned
but semantically equivalent structures seems to be what's really
involved...
 
What about using the xdr compiler?  For example, using rcpgen(1) to just
generate the needed C source, if that's all that you would need.
 
                                                -- roy
 
> Submitted-by cpires@br.homeshopping.com.br  Fri Aug 16 11:53:35 1996
> Submitted-by: Carlos Pires <cpires@br.homeshopping.com.br>
>  
> Hello VxWorkers,
> 
> We am using VxWorks 5.2 for both SPARC and Motorola 68040 CPUs in different
> VME chassis.
> All our applications are developed on SPARC/Solaris 2.4 workstations using
> C++, compiled by Wind River C++ compiler. Everything is working fine except
> for the two-byte structure alignment for the Motorola 68040 CPU and
> four-byte alignment for SPARC. Both CPUs need to communicate and exchange
> structures. This word misalignment is a great nuisance for the communication
> between both CPUs.
> We have looked for a compiler option to enable four-byte alignment for 68040
> CPU to no avail. Any ideas on how we could get the four-byte structure
> alignment from Wind C++ for Motorola 68040 ?
> 
> Thank you in advance.
> Carlos Pires
> IES Systems

From daemon@csg.lbl.gov  Sat Aug 17 04:00:45 1996
From: daemon@csg.lbl.gov
Date: Sat Aug 17 04:00:47 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Sat Aug 17 04:00:42 PDT 1996

        Subject: I want GCC wchar_t to be 16-bit not 32-bit
        Subject: Re: What about LINUX??
        Subject: Re: What about LINUX??
        Subject: Re: Ada and VxWorks
        Subject: Re: LonTalk
        Subject: Re: Help on building gcc/ld/as cross-comp
        Subject: Re: What about LINUX??

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

Newsgroups: comp.lang.c,comp.os.vxworks,gnu.gcc.help
Subject: I want GCC wchar_t to be 16-bit not 32-bit
Date: Fri, 16 Aug 1996 12:37:53 +0100
From: Steve James <Steve.James@wago.de>
Organization: Wandel & Goltermann Ltd
Message-ID: <32145D91.A60@wago.de>

If I compile the following under GNU CC (v2.6-95q2):

wchar_t string[]=L"Hello world\n";

then I get an initialised array where each element of the array is, in this particular
compiler, a 32-bit quantity.

Clearly this falls within the ANSI standard for implementing wchar_t. But because I am
working on an embedded system where memory may be short I am unhappy about filling the
memory with large quantities of zeros. I would therefore like the implementation of
wchar_t to be as a 16-bit quantity. Does anyone know if this is possible? One solution
would be if it was possible to specify the size of the wchar_t type on the command line?

An alternative approach to get what I want is to create my own type but then I cannot
initialise an array as in my first example because there is no syntax which will work
correctly. I would ideally like to be able to use the following:

typedef unsigned short WCHAR_T;
WCHAR_T string[]=x"Hello world\n";

where x represents a suitable character which tells the compiler to output an array of
unsigned short elements. The only solution I have found to get what I want is:

typedef unsigned short WCHAR_T;
WCHAR_T string[]={'H','e','l','l','o',' ','w','o','r','l','d','\n','\0'};

which is really tortuous to type and fraught with difficulties including having to
remember to manually specify the null terminator on the end.

What I actually want is a primitive type which is understood by the compiler in a way
which allows arrays of this type to be initialised but a type which I know to be
implemented as a 16-bit object.

Has anyone encountered this problem before? Does anybody have a better solution?

Paul Lumb
Replies by e-mail please: paul.lumb@wago.de

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

Newsgroups: comp.os.vxworks
Subject: Re: What about LINUX??
Date: Fri, 16 Aug 1996 08:09:38 GMT
From: Mark Zusman <marklz@pointer.israel.net>
Organization: Pointer Software Systems
Message-ID: <32142CC2.109F732E@pointer.israel.net>
References: <199608122125.VAA01187@ziv.me.umn.edu> <4usp9v$2ct@ncar.ucar.edu>
Sender: news@actcom.co.il (News)

Rich Neitzel wrote:
> 
> |>
> |>
> |> Any word on if WindRiver is going to port VxWorks or Tornado to LINUX OS??
> |>
> |> We would be EXTREMELY interested in this.
> |>
> As would we.
> 
> --
> Richard Neitzel thor@atd.ucar.edu               Torren med sitt skjegg
> National Center For Atmospheric Research        lokkar borni under sole-vegg
> Box 3000 Boulder, CO 80307-3000                 Gjx'i med sitt shinn
> 303-497-2057                                    jagar borni inn.

	While I worked as contractor in Kulicke & Soffa Israel
	I've compiled gcc tools suite on Linux (and HP-UX 9.x
	for that matter) and it works perfectly till now - 
	in fact KSL engineers bring Linux notebook to field
	so they can fix bugs/debug on customer's sites.

	The latest releases of binutils and gcc has
	wrs-68k-vxworks as legitimate target. So I built
	cross binutils (ld/as/nm) from linux to vxworks,
	then I took libgcc1.a from Sun set of vxworks tools
	and compiled gcc 2.7.x as crosscompiler. Then I've
	built gdb-4.15 as crossdebugger and tuned different
	frontends (DDD and xxgdb) to work with it - the whole
	setup work flawlessly (I worked with VxWorks 5.1.1)
	BTW, g++ worked too, just without using streams/STL - I had
	some problems cross-compiling libg++ to VxWorks.

	I'm out of KSL for 10 monthes now but I know that these
	tools are alive and well. I think the person who is
	in charge of them is Gil Katz - kgill@ksl.co.il; he should
	be able to answer your questions.

	I'm rather experienced sysadm/build manager so it took
	about a day to setup the whole thing - it went really well.

						Mark.
	
	 
- ---
Mark Zusman 					    marklz@pointer.israel.net 
Senior Software Engineer 			 Pointer Software Systems Inc.

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

Newsgroups: comp.os.vxworks
Subject: Re: What about LINUX??
Date: 16 Aug 1996 15:53:50 +0930
From: wes@spock.atlantek.com.au (Wesley Hosking)
Organization: Atlantek Microsystem Pty. Ltd, Adelaide, Australia.
Message-ID: <x6zq3vdeyx.fsf@spock.atlantek.com.au>
References: <9608150525.AA04342@rst.co.il> <4uvf93$aog@xmission.xmission.com>

Another vote here (for doing debugging in the field) for having VxWorks
supported under Linux....

wes
- -- 
- ------------------------------------------------------------------------------
Wesley Hosking                     Atlantek Microsystems
Endeavour House, Technology Park, South Australia
wes@atlantek.com.au                          +61-8-260-8990

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

Newsgroups: comp.os.vxworks
Subject: Re: Ada and VxWorks
Date: 13 Aug 1996 23:59:21 GMT
From: scott@tcville.es.hac.com
Organization: Hughes Aircraft
Message-ID: <4ur4sp$8k7@hacgate2.hac.com>
References: <4uni5s$g66@news.res.ray.com>
Reply-To: scott@tcville.es.hac.com

In article g66@news.res.ray.com, milesm@tif531.ed.ray.com (Michael Miles) writes:
>I have had a great deal of success with the Green Hills builder tool
>set with Ada, C and C++.  They are also helpful with VxWorks problems.  
>They can be reached at (813)781-4909.
..
>johncoby@ghgcorp.com says...
>>In article <4ucind$5ft@lfsserv1.fsc.ibm.com>, tom.kodey@lmco.com wrote:
>>> I'm considering VxWorks as the RTOS for an Ada based imbedded application and
>>> am considering various development environments.  The target will likely be a
>>> Pentium, PowerPC or R4xxx.  I'm interested to hear what Ada development
>>> environment you were using and, briefly, what you thought of it (host, ease of
>>> interfacing with VxWorks, ease of use, maturity, support, host and target
>>> based debug, etc.)?
..
>>Hum....do you have to use Ada? (Ok, enough Ada bashing from an ex-Ada 
>supporter)
..
>>I have used VADSworks from Verdix, now Rational. It was a very adequate
>>set of tools except...
..
>>My experience with Rational has been TRY BEFORE YOU BUY! 

With past experience with Verdix and current experience with GreenHills+VxWorks
I'd give the nod to GH for your effort. Their environment would more easily
allow you to define target platforms, manage files, etc.. The integrated
debugger allows for a host-side symbol table and works quite well save for its
variable display feature (update is quirky and register values never seem to
be updated [tested on an AIX host, RAD6k target]).

Maturity is a major plus for Verdix, GH I'd rate as late-beta. I have a difficult
time grading any compiler as post-beta so you should definitely decide
for yourself and, as said above, "try before you buy."

Scott

- ---
Hughes Aircraft Co.		voice:	(310) 616-1059
Image and Signal Processing Lab	addr:	scott@tcville.es.hac.com
PO Box 902, EO/E01/A172, El Segundo, Ca. 90245

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

Newsgroups: comp.os.vxworks
Subject: Re: LonTalk
Date: Thu, 08 Aug 1996 08:33:46 -0700
From: greg bruno <greg.bruno@sandiegoca.ncr.com>
Organization: ncr classic
Message-ID: <320A08DA.213@sandiegoca.ncr.com>
References: <199608060805.AA01984@mail.wrs.com>

namiq@wrs.com wrote:
>
> I am looking for a LonTalk Adapter (ISA or PC104 card) that has a VxWorks
> driver.
>
> Any recommendations appreciated.

give the folks at engenuity systems a call:

	602.275.3363

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

Newsgroups: comp.os.vxworks
Subject: Re: Help on building gcc/ld/as cross-comp
Date: 15 Aug 1996 12:18:35 -0400
From: duhrenho@sanders.com (David Uhrenholdt)
Organization: Sanders SSD
Message-ID: <xmj686k1uzo.fsf_-_@hickory>
References: <4u5ac0$nhm@hacgate2.hac.com> <xmj7mr1216y.fsf@hickory>
Sender: duhrenho@hickory

I use a line similar to 

./configure --target=sparc-vxworks

as, ld, nm, ar, etc, and gdb all compile without any extra intervention.

I haven't done it in a while so I might have left something out.
I did it without access to anything from Wind River.  Also, the only
Linux machine I have access to is my home machine, and I just don't
do that much work from home :), so I haven't tested them out thoroughly.
And as pointed out else where there are problems using gdb 4.16 with VxWorks.

Quote from bowman@waterloo.hp.com (Don Bowman)

 I had to make 1 change to get it to work. If you configure everything,
 and run make, you should be able to use it, but you may find you have
 to hit '^c' on attach. If you don't, forget this. If you do, then
 add this line to gdb/gdb/config/sparc/tm-vxsparc.h

 /* Don't do wait_for_inferior on attach.  */
 #define ATTACH_NO_WAIT

Building ccsparc is a bit of a problem.  It appears that for the
objective C compiler it wants to link-in the C library or some
such thing.  Again I don't recall exactly.  To fix this you remove
the objC target from the make file.

What you are missing is some of the tools specifically for vxworks
such as xsym.  Fortunately, some other tools such as WindView (which
I have not actually tried) are written in tcl and somewhat more portable.
Of course you should be sure you are not violating any part of your
licensing agreement when you use it.
- -- 
Dave Uhrenholdt

duhrenho@vette.sanders.lockheed.com
Phone (603) 885-7398

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

Newsgroups: comp.os.vxworks
Subject: Re: What about LINUX??
Date: 16 Aug 1996 09:43:41 -0400
From: Dave Uhrenholdt <dave@cushing.nowhere.com>
Organization: Lockheed Sanders
Message-ID: <m1u3u3v3zm.fsf@cushing.nowhere.com>
References: <9608150525.AA04342@rst.co.il> <4uvf93$aog@xmission.xmission.com>

bgeer@xmission.xmission.com (bgeer) writes:

> 
> leonid@rst.co.il (Leonid Rosenboim) writes:
> 
>  >> Any word on if WindRiver is going to port VxWorks or Tornado to LINUX OS??
> 
>  >Who do you call then if something to do with Linux does not work ?
>  >   Ghost-Busters ! 
> 
> No, you "call" the appropriate one of a large number of Linux
> newsgroups.  I dare say the Linux developers & users are a more
> responsive group than *any* single-vendor OS.  
> 
> Of course there's no tech support phone number that I know of for
> Linux, but then my experience using phone support has been much worse
> than support I've received using email & newsgroup solicitations.
You can buy tech support from Redhat, Cygnus, etc.
> 
>  >Seriously, unsupported host operating systems can cause a big
>  >support headache for Wind River, cause all problems will end up
>  >bouncing back to them. God knows how many problem reports related
>  >to e.g. "booting from Solaris" have been handeled, even the exploder
>  >had its share. 
[SNIP]> 
> I installed & configured Linux on a ProStar Pentium laptop for
> supporting VxWorks on a MVME162LX on a field delivery.  It took about
> 2 hours using cdrom.  I enabled tftp, fired up the Ethernet PCMCIA
> card, & actually booted from it, as well as wrote flash ram & was able
> to do everything else I needed to except compile.  All I needed was a
> cc68k that executed on x86 & I would have had a complete portable
> development system.  This laptop cost less than $4000 US.  Say that
> about a Solaris machine...:-)

I  have come close to getting a full development system, untested, but
compiled for HP-UX.  I just haven't tried with Linux.  Part of the problem
is that Wind River doesn't support the Freely available development tools
that it ships with the VxWorks.

[SNIP]

>  >Just imageine what it would be like, and imageine the whole support
>  >group will get even more work load then it has now, and you know
>  >who will be effected ...
> 
> No doubt any new platform/OS combination would increase support
> demand.  I'll bet the support required by Linux users would not be
> significantly more than that required by other OS's; actually, I'll
> bet it would be significantly *less*.

As I said, there support for the freely available tools is week to begin
with.  I don't see how added Linux will significantly increase the load.

> 
> Bob
> -- 
> <> Robert Geer & Donna Tomky /              *             <>
> <>    bgeer@xmission.com    |    _o      *   o *      o   <>
> <>   Salt Lake City, Utah   |   -\<,      * <\      </L   <>
> <>          U S A           |   O/ O     __ /__,    />    <>

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

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

From lyorg@scorpio.com  Sat Aug 17 23:45:56 1996
From: lyorg@scorpio.com (Lyor Goldstein)
Date: Sat Aug 17 23:45:58 PDT 1996
Subject: Re: What about Linux
  I have alos ported my VxWorks environment to Linux (no thanks to WRS...). It is
rather simple, though there are some minor issues to be resolved. I fully agree
with what has been said here about Linux, and I suggest that WRS take it under
advisement to listen to the needs of their users/customers, instead of trying to
force their own views on us....

Lyor G.

From daemon@csg.lbl.gov  Sun Aug 18 04:00:35 1996
From: daemon@csg.lbl.gov
Date: Sun Aug 18 04:00:37 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Sun Aug 18 04:00:32 PDT 1996

        Subject: Re: DWord / Word alignment
        Subject: Re: What about LINUX??
        Subject: Vxworks and imake

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

Newsgroups: comp.os.vxworks
Subject: Re: DWord / Word alignment
Date: 17 Aug 1996 03:06:39 GMT
From: steved@pacifier.com@199.2.117.163  (Steve Doiel)
Organization: Pacifier BBS, Vancouver, Wa.  ((360) 693-0325)
Message-ID: <4v3cvv$27n@news.pacifier.com>
References: <199608161850.PAA10348@piraque.homeshopping.com.br>
Reply-To: steved@pacifier.com  (Steve Doiel)

 Carlos Pires writes:
>Hello VxWorkers,
>
>We am using VxWorks 5.2 for both SPARC and Motorola 68040 CPUs in different
>VME chassis.
>All our applications are developed on SPARC/Solaris 2.4 workstations using
>C++, compiled by Wind River C++ compiler. Everything is working fine except
>for the two-byte structure alignment for the Motorola 68040 CPU and
>four-byte alignment for SPARC. Both CPUs need to communicate and exchange
>structures. This word misalignment is a great nuisance for the communication
>between both CPUs.
>We have looked for a compiler option to enable four-byte alignment for 68040
>CPU to no avail. Any ideas on how we could get the four-byte structure
>alignment from Wind C++ for Motorola 68040 ?
>
>Thank you in advance.
>Carlos Pires
>IES Systems
>
I have difficulty with the common practice of defining a program language
structure and sharing the source code for the structure between machines.
IMHO in the long run you are better off to define the data structures that will
be communicated in an architecture independent fashion, and then making both
sides of the interface adhere to the architecture.  If you follow this practice
you never encounter the types of problems you are describing.  You may incur
a small amount of overhead in the translation, but few applications I have seen
couldn't stand that overhead.

I am currently working on an application where we share data between different
machines with different architectures via a TCP/IP network.  Everything is
defined in an interface specification, and structures are defined indepently on
each machine.  It has been working well for us.

Steve Doiel
steved@pacifier.com

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

Newsgroups: comp.os.vxworks
Subject: Re: What about LINUX??
Date: Thu, 15 Aug 1996 11:03:37 -0600
From: Aseem Bakshi <Abakshi@phbtsus.com>
Organization: U S WEST - !NTERACT Services
Message-ID: <32135869.54F1@phbtsus.com>
References: <199608122125.VAA01187@ziv.me.umn.edu> <4usp9v$2ct@ncar.ucar.edu>

Rich Neitzel wrote:
> 
> In article <199608122125.VAA01187@ziv.me.umn.edu>, "Ted Morris" <tmorris@me.umn.edu> writes:
> |>
> |>
> |> Any word on if WindRiver is going to port VxWorks or Tornado to LINUX OS??
> |>
> |> We would be EXTREMELY interested in this.
> |>
> As would we.
> 
> --
> Richard Neitzel thor@atd.ucar.edu               Torren med sitt skjegg
> National Center For Atmospheric Research        lokkar borni under sole-vegg
> Box 3000 Boulder, CO 80307-3000                 Gjx'i med sitt shinn
> 303-497-2057                                    jagar borni inn.
We would be intereted. Hope WindRiver has somebody reading this grou[
- -- 
- -----------------------------------------------------------------------------
Aseem Bakshi                                     Phone: (801)9771574
Philips Broadcast Television Systems Inc                 Alias: Polka
Boy
Salt Lake City, UT                 
E-mail Abakshi@phbtsus.com

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

Newsgroups: comp.os.vxworks
Subject: Vxworks and imake
Date: Thu, 15 Aug 1996 10:59:08 -0500
From: Shreya Bhat <bhat@bnr.ca>
Organization: BNR, richardson, tx
Message-ID: <3213494C.5BBA@bnr.ca>

Hi,

Can I use imake to compile and build the libraries for the VxWorks
target? 

I wanted to know if the imake supports the munching --- I think the
munching is done on the object files.  It looks at the constructors for
the static objects and compiles and links the *.c files for the static
object constructors.  This may not be very clear explanation of
munching!

Please cc me to the reply.

Regards,
Shreya

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

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

From MikeMcQuade@prometheus.connectsoft.net  Sun Aug 18 18:20:09 1996
From: Mike McQuade <MikeMcQuade@connect.com>
Date: Sun Aug 18 18:20:12 PDT 1996
Subject: Re: What about Linux
At 11:46 PM 8/17/96 PDT, you wrote:
>I suggest that WRS take it under
>advisement to listen to the needs of their users/customers, instead of trying 
> to force their own views on us....

I think they would be wise to be the pioneer in this area, Ive recently seen
200Mhz Pentium Pro machines that would run circles around any Sun or Hp box.

The latest Linux 2.0 is damn fast, supports about any hardware out there,
has the GNU tools, has TCL/TK, turns Pentium machines into credible
workstations, costs about $6.00.... I can see it now, WRS puts Linux 2.0 on
a CD with the Tornado tools, becoming the first Real Time OS vendor to ship
their tools with a host operating system.

I think they should do the port as a matter of innovation. Don't let Lynx or
pSOS be first, and you know they (ISI, LYNX) read this newsgroup. If WRS
wont give thir own customers what they want, their competition, looking for
any opportunity to catch up, will be glad to.

there Ive done my part to keep this stirred up :)

Mike McQuade
MikeMcQuade@connect.com

From daemon@csg.lbl.gov  Mon Aug 19 04:00:24 1996
From: daemon@csg.lbl.gov
Date: Mon Aug 19 04:00:26 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Mon Aug 19 04:00:20 PDT 1996

        Subject: Re: Time synchronisation
        Subject: Re: Handling statics with C++
        Subject: Re: A32 space VME access

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

Newsgroups: comp.os.vxworks
Subject: Re: Time synchronisation
Date: 16 Aug 1996 15:56:50 -0700
From: mwette@mr-ed.jpl.nasa.gov (Matt Wette)
Organization: Jet Propulsion Laboratory
Message-ID: <4v2ubi$gu2@mr-ed.jpl.nasa.gov>
References: <Dw4DGI.85A@tweety.ict.nl>

In article <Dw4DGI.85A@tweety.ict.nl>, Hiske Huiting <hiske@ict.nl> wrote:
>I have Sparc board with VxWorks 5.2 connected to a Silicon Graphics Challenge
>through VME and TCP/IP.
>
>What is the easiest way to synchronise the VxWorks time with the SGI?

/* rdate.c - set time remotely
 *
 * $Id: rdate.c,v 1.1 1995/09/27 04:03:35 mwette Exp $
 */
#include <vxWorks.h>
#include <time.h>
#include <timers.h>
#include <socket.h>
#include <sockLib.h>
#include <in.h>
#include <stdio.h>
#include <string.h>
#include <hostLib.h>
#include <ioLib.h>

static char const rcsid[] = "$Id: rdate.c,v 1.1 1995/09/27 04:03:35 mwette Exp $";

#define IPPORT_TIMESERVER 37

extern char sysBootParams;

int
rdate(void)
{
  struct sockaddr_in sockaddr;
  struct timespec tp;
  int sock, n, size, status;
  unsigned long t;
  char *bufr;
  static char *BOOT_HOST = &sysBootParams + 20;

  memset(&sockaddr, '\0', sizeof(sockaddr));
  sockaddr.sin_family = AF_INET;
  sockaddr.sin_port = htons(IPPORT_TIMESERVER);
  sockaddr.sin_addr.s_addr = hostGetByName(BOOT_HOST);

  sock = socket(AF_INET, SOCK_STREAM, 0);
  if (sock == -1) {
    perror("rdate: socket() failed");
    return -1;
  }

  status = connect(sock, (struct sockaddr*)&sockaddr, sizeof(sockaddr));
  if (status == -1) {
    close(sock);
    perror("rdate: connect() failed");
    return -1;
  }

  bufr = (char *)&t;
  size = sizeof(t);
  while (size) {
    n = read(sock, bufr, size);
    if (n < 0) {
      close(sock);
      perror("rdate: read() failed");
      return -1;
    }
    size -= n;
    bufr += n;
  }
  close (sock);

  /* Adjust for 70 difference (1900->1970) and 1 sec delay. */
  tp.tv_sec = (ntohl(t) - 2208988800L) + 1;
  tp.tv_nsec = 0;
  clock_settime(CLOCK_REALTIME, &tp);
  return 0;
}

/* --- last line of rdate.c --- */
- -- 
matthew.r.wette@jpl.nasa.gov

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

Newsgroups: comp.os.vxworks
Subject: Re: Handling statics with C++
Date: Mon, 19 Aug 1996 15:28:56 +1000
From: Earl Chew <earl@hpato.aus.hp.com>
Organization: Hewlett-Packard Co.
Message-ID: <3217FB98.49B3@hpato.aus.hp.com>
References: <9608130013.AA29767@clix.jna.com.au> <32108499.21EF@ucar.edu>

Joe Van Andel wrote:

> // return pointer to  single instance of this object/task.
> A1Record *A1Record::Instance()
> {
>     if (!instance_) {
>         instance_ = new A1Record();
>     }
>     return instance_;
> }
> ------
> The advantage of this strategy is that rather than having to maintain a
> global pointer to some key service object, or having to explicitly pass
> an object pointer to every task/class that uses it, any code that needs
> the service calls:
> A1Record *ptr = A1Record::Instance();
> 
> I hope this advice helps - feel free to email me if you need more
> information.

The only problem here is that there is a potential for two or more
tasks to race. There is a small probability that the race is
a draw and multiple instances of A1Record get created.

We've found that there are in fact two kinds of singletons:

1. Thread singletons.

   Each thread gets a singleton. This is most easily achieved by
   mixing the above pattern with task variables (thread keys in Posix).
   When the number of task variables grows, this simple strategy becomes
   cumbersome, and some way is required to amalgamate all the task
   variables into a single `clump' so that the task switch time becomes
   independent of the number of task variables.

2. Process singletons.

   This is more akin to the code snippet provided above. All threads
share
   the same singleton. This needs some kind of lock to prevent multiple
   tasks racing to create the singleton, or can use the C++ global ctor
   code to ensure that the singleton is created *before* main() starts.

Earl
- -- 
+----------------------------------------------------------------------+
| Earl Chew                              Email: earl_chew@aus.hp.com   |
| Hewlett-Packard Australia              Tel:   +61 3 9210 5528        |
| Australian Telecom Operation           Fax:   +61 3 9210 5550        |
| 347 Burwood Highway                    GPS:   37 51'46"S 145 10'03"E |
| Burwood East, Victoria 3151, Australia                               |
+----------------------------------------------------------------------+

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

Newsgroups: comp.os.vxworks
Subject: Re: A32 space VME access
Date: Fri, 09 Aug 1996 17:01:33 -0500
From: Debbie Buscher <dbuscher@gp902.jsc.nasa.gov>
Organization: NASA/JSC
Message-ID: <320BB53D.1AE6@gp902.jsc.nasa.gov>
References: <320B49F7.2781E494@motown.lmco.com>

Michael J. Dempsey wrote:
>
> Hello
>
>  We have a PowerPC (MV1603) running with a beta version of VxWorks 5.3
>  embedded in VME chassis that contains two other VME boards with memory
>  registers that we would like our VxWorks application to read and write
>  to. One of the boards uses A16 address space and has a base address of
>  0x8000. The other uses A32 address space and has a base address of
>  0x00300000.
>     For A16 space board we used sysBusToLocalAdrs to map its memory to
>  something our PowerPC VxWorks application could use. It returned (if
>  memory serves me correctly) 0xefff8xxx (where xxx is an offset from
>  the base address). This worked fine, we read from that board's
>  memory and also wrote to it.
>     We tried using the same call to access memory on the board with
>  A32 address space (changing the first parameter for sysBusLocalAdrs
>  from VM_SUP_SHORT_IO to VM_EXT_SUP_DATA to indicate the different
>  address space). For an input of 0x00300000 to sysBusLocalAdrs we get
>  returned and address of 0xd0300000, but when the program tried to
>  access that memory location it blew up. We have a bus analyzer in
>  the VME rack set to trigger on anything but it never did, so the
>  application seems to have blown up before even trying to access
>  the VME memory.Is there something I need to set up or include in
>  the kernel to access this off-board memory? Any help is appreciated.
>
>  Thanx, Mike D.
> dempsey@motown.lmco.com

You might try setting SM_OFF_BOARD to TRUE in config.h - WRS support
told me to do this when I was attempting something similar.  Are you
using vxMemProbe to do your reads and writes?  If so, are you protecting
yourself against the call failing due to bus errors?
Debbie Buscher

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

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

From jjjurek@fly.aeromet.com  Mon Aug 19 15:42:13 1996
From: jon jurek <jjjurek@fly.aeromet.com>
Date: Mon Aug 19 15:42:15 PDT 1996
Subject: integrating removable media drives
I am interested in integrating removable media drives such as Iomega 
Bernoulli drives, Zip drives, or Jaz drives into a vxWorks system with 
MVME177 CPUs.  Does anyone have any tips or ideas.

Thanks a bunch.
-- 
______________________________________
Jon Jurek 																				Aeromet, Inc.
Software Group Leader         112 Beechcraft Drive
jjjurek@fly.aeromet.com       Jones Riverside Airport
(918) 299-2621                Tulsa, OK  74132
http://www.aeromet.com/

From MikeMcQuade@connect.com  Mon Aug 19 21:26:38 1996
From: MikeMcQuade@connect.com
Date: Mon Aug 19 21:26:40 PDT 1996
Subject: Re: integrating removable media drives
At 03:42 PM 8/19/96 PDT, you wrote:
>Submitted-by jjjurek@fly.aeromet.com  Mon Aug 19 15:42:13 1996
>Submitted-by: jon jurek <jjjurek@fly.aeromet.com>
> 
>I am interested in integrating removable media drives such as Iomega 
>Bernoulli drives, Zip drives, or Jaz drives into a vxWorks system with 
>MVME177 CPUs.  Does anyone have any tips or ideas.
>

We are also interested in Zip / Jazz drives (SCSI) for use with a 
MVME-1603/4 system.

Mike McQuade
MikeMcQuade@connect.com

From daemon@csg.lbl.gov  Tue Aug 20 04:00:16 1996
From: daemon@csg.lbl.gov
Date: Tue Aug 20 04:00:18 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Tue Aug 20 04:00:13 PDT 1996

        Subject: Flash File System?

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

Newsgroups: comp.os.vxworks
Subject: Flash File System?
Date: Mon, 19 Aug 1996 15:12:10 +0200
From: Stefan Eifert <Stefan.Eifert@mch.scn.de>
Organization: Siemens
Message-ID: <3218682A.755F@mch.scn.de>

Hi,

we are currently discussing the use of a flash file system for
booting up vxworks on our target.

Does anybody know if there is a ready-to-use system out there
on the market or how difficult the coding would be?

Thanks in advance!

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

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

From cpires@br.homeshopping.com.br  Tue Aug 20 06:57:45 1996
From: Carlos Pires <cpires@br.homeshopping.com.br>
Date: Tue Aug 20 06:57:46 PDT 1996
Subject: Re: DWord / Word alignment
Bruce Wedding,
At 21:51 17/08/96 GMT, you wrote:
>In comp.os.vxworks
>Carlos Pires <cpires@br.homeshopping.com.br> wrote:
>
>
>>We have looked for a compiler option to enable four-byte alignment for 68040
>>CPU to no avail. Any ideas on how we could get the four-byte structure
>>alignment from Wind C++ for Motorola 68040 ?
>
>You just have to pad all your structs out with chars, no big
>deal really.
>
>Assuming 4 byte ints:
>
>struct mystruct {
>   char array[50];  /* need 2 bytes to be multiple of 4 */  
>   char padding[2];
>   unsigned short x;  /* only 2 bytes */
>   char unused [2];  /* only here to pad */
>} test;
>
>
>See?
>
>Bruce Wedding
>
>
>

Thanks for your answer, but in fact we were looking for another solution
because to do what you kindly suggested, we would have to modify almost all
of our header files and structures definitions. We have already temporarily
modified our system to "translate" the messages exchanged between both CPUs,
SPARC and Motorola 68040. Perhaps you have not had the opportunity to read
my last e-mail with a better short definition of our problem, which I
trancribe below:

>>Hello VxWorkers,
>>
>>We am using VxWorks 5.2 for both SPARC and Motorola 68040 CPUs in
different VME >>chassis.
>>All our applications are developed on SPARC/Solaris 2.4 workstations using
C++, >>compiled by Wind River C++ compiler. Everything is working fine
except for the >>two-byte structure alignment for the Motorola 68040 CPU and
four-byte alignment for >>SPARC. Both CPUs need to communicate and exchange
structures. This word misalignment >>is a great nuisance for the
communication between both CPUs.
>>We have looked for a compiler option to enable four-byte alignment for
68040 CPU to >>no avail. Any ideas on how we could get the four-byte
structure alignment from Wind >>C++ for Motorola 68040 ?
>>
>>Thank you in advance.
>>Carlos Pires
>>IES Systems

We have the majority of our application header files (especially those
related to the sw lower layers of both systems), and some of the code as
well, commom to both SPARC (5VT) and Motorola 68040 targets, enhancing
portability and easier troubleshooting. We have encountered this problem
only since we went past the VxWorks development phase host(Sun Station) /
target(SPARC 5VT xor Motorola). Now both types of targets need to exchange
lots of real-time data with each other. What we do really need is a code
directive or a compiler option to instruct the Wind River C++ compiler to
extend 2 bytes ints to 4 bytes on the Motorola side, since the contrary does
not seem to be worthy trying.

Regards to all,
Carlos Pires
IES Systems

From Robert.Crispen@hsv.boeing.com  Tue Aug 20 12:01:31 1996
From: "Crispen, Bob" <Robert.Crispen@hsv.boeing.com>
Date: Tue Aug 20 12:01:35 PDT 1996
Subject: RE: DWord / Word alignment
I could be a meanie and suggest you switch to Ada:

type uchar is range 0..255;
for uchar'size use 8; -- usually not needed, but what the heck
type ushort is range 0..65535;
for ushort'size use 16; -- ditto
-- A teensy bit trickier to specify integers, so let's just
-- assume type "integer" is 32 bits long rather than having
-- to explain some non-straightforward looking stuff.
-- Actually in Ada95 we'd probably use modular types all
-- around.

type uchar_array is array (1..50) of uchar;
-- or 0..49 if you like that better

type foo is
 record
   bar : uchar_array;
   baz : integer;
   bap : ushort;
end record;

for foo use
 record at mod 4
   bar at 0 range 0..399;
   -- a couple of bytes pad here that you don't need to declare
   baz at 52 range 0..31;
   bap at 56 range 0..15;
end record;
for foo'size use 60*8; -- not really needed, either

-- And if you declare an array of these puppies, since you've
-- bounded the type at mod 4, each one will be automatically
-- padded 2 bytes at the end.

(from memory, but you get the gist even if I've messed up the
grammar)

Horses for courses: if you need to exactly specify the layout
of data structures, you *might* consider using a language that
was designed to do that instead of a language that wasn't.

Note that you could even specify a monstrosity like:

type foo is
 record
   bar : uchar;
   baz : integer;
end record;
for foo use
 record at mod 4
   bar at 0 range 0..7;
   baz at 1 range 0..31;
end record;

That would align foo_object.baz at 1, 5, 9, and d -- and Ada
would generate the code to legally manipulate that number on
your processor.  For example, on a SPARC, it generates the
ugliest combinations of loads and shifts you ever saw.  Slooooow!
But it would generate legal code, in case the folks who
designed your interface are idiots.  In C and C++ I don't
think this problem could be coped with at all.

Alternately, with a weaker language, xdr makes a good deal of
sense, and also solves the endian problems you'll have if you
need to reuse the code.

>Bob Crispen
>bob.crispen@boeing.com
>Speaking for myself, not my company
>

From leonid@rst.co.il  Wed Aug 21 01:15:45 1996
From: leonid@rst.co.il (Leonid Rosenboim)
Date: Wed Aug 21 01:15:47 PDT 1996
Subject: Re: Flash File System
> Subject: Flash File System?
> Date: Mon, 19 Aug 1996 15:12:10 +0200
> From: Stefan Eifert <Stefan.Eifert@mch.scn.de>
> Organization: Siemens
> Message-ID: <3218682A.755F@mch.scn.de>
>
> Hi,
> 
> we are currently discussing the use of a flash file system for
> booting up vxworks on our target.
> ...

Dear Mr. Eifert,

We sell such a product, FlashLib, it includes a full sclae
dynamic Flash File System based on Microsoft FFS specifications.
This product us being used already at a numer of projects with VxWorks.

On the subject of booting, the solution depends on the architecture.
In the case of 68k, SPARC, i960 etc embedded designs, we offer a
scaled down read-only configuration of the file system, that can be
built into the boot ROM, and initialized in a similar way
to the SCSI and IDE booting support in VxWorks. Instead of initializing
an IDE driver, you initialize a FLash driver (that we supply in source code),
and instead calling dosFsInit(), you call flashFsDevCreate().

Also, the boot ROM can be a separate device, or it can reside on
the same Flash as the file system, but the boot ROM space will
be excluded from File System usage.

We also have recently developed a spcific solution for PC 386/486 targets.
It is ina form of an ISA or PC104 card. It's first 64K sector is
"reserved" and programmed with a BIOS extention code, which contains
a 4KByte TinyFFS implementation. It will switch to protected mode
and load a specific file from the File System into RAM and jump there.
Essentially, you plug in a ISA card in the PC target, switch the power on,
and viola! vxWorks boots up. This way you can have a REAL EMBEDDED PC,
without any magnetic storage, but still be able to store files.

Visit our Web site for complete product information.

> Does anybody know if there is a ready-to-use system out there
> on the market or how difficult the coding would be?

Usually it takes about one man-month to program and test a simple
Flash implementation. e.g. a driver and a utility that can burn it with
executable code. FlashLib price is roughly the same as one man-month
of engineering, and offers a complete solution, with support for assorted flash
chips and cards, and constantly updated and enhanced.

-----------------------------------------------------------------------
Leonid Rosenboim                        Phone:  +972-3-559-8144
R S T  Software Industries Ltd.         Mobile: +972-50-307-142
P.O.Box 11502, AZUR 58017, Israel       Fax:    +972-3-559-8244
WWW: http://www.rst.co.il		E-Mail:	leonid@rst.co.il

From uucp@relay1.fnet.fr  Wed Aug 21 01:48:18 1996
From: leverone@zeus.egt.fr (Philippe Leverone)
Date: Wed Aug 21 01:48:20 PDT 1996
Subject: Re: DWord / Word alignment

Carlos Pires <cpires@br.homeshopping.com.br> wrote:
] 
] ..., but in fact we were looking for another solution
] because to do what you kindly suggested, we would have to modify almost all
] of our header files and structures definitions. We have already temporarily
] modified our system to "translate" the messages exchanged between both CPUs,
] SPARC and Motorola 68040. Perhaps you have not had the opportunity to read
] my last e-mail with a better short definition of our problem, which I
] trancribe below:
] 
] >>Hello VxWorkers,
] >>
] >>We am using VxWorks 5.2 for both SPARC and Motorola 68040 CPUs in
] different VME >>chassis.
] >>All our applications are developed on SPARC/Solaris 2.4 workstations using
] C++, >>compiled by Wind River C++ compiler. Everything is working fine
] except for the >>two-byte structure alignment for the Motorola 68040 CPU and
] four-byte alignment for >>SPARC. Both CPUs need to communicate and exchange
] structures. This word misalignment >>is a great nuisance for the
] communication between both CPUs.
] >>We have looked for a compiler option to enable four-byte alignment for
] 68040 CPU to >>no avail. Any ideas on how we could get the four-byte
] structure alignment from Wind >>C++ for Motorola 68040 ?
] >>
] >>Thank you in advance.
] >>Carlos Pires
] >>IES Systems
] 
] We have the majority of our application header files (especially those
] related to the sw lower layers of both systems), and some of the code as
] well, commom to both SPARC (5VT) and Motorola 68040 targets, enhancing
] portability and easier troubleshooting. We have encountered this problem
] only since we went past the VxWorks development phase host(Sun Station) /
] target(SPARC 5VT xor Motorola). Now both types of targets need to exchange
] lots of real-time data with each other. What we do really need is a code
] directive or a compiler option to instruct the Wind River C++ compiler to
] extend 2 bytes ints to 4 bytes on the Motorola side, since the contrary does
] not seem to be worthy trying.

Alignment compiler option exists for GNU C compiler. This is __attribute__ ((aligned(n))).
Example :

#include <stdio.h>

struct {
	char c1;
	long l1 __attribute__ ((aligned(4)));
	char c2;
	long l2;
	} s1;

toto()
{
	printf("&c1 = %#04x\n", &s1.c1);
	printf("&l1 = %#04x\n", &s1.l1);
	printf("&c2 = %#04x\n", &s1.c2);
	printf("&l2 = %#04x\n", &s1.l2);
}

Outputs on a 68030 target :
-> ld <toto
value = 3959616 = 0x3c6b40 = _s1 + 0x10c
-> toto
&c1 = 0x3c6484
&l1 = 0x3c6488
&c2 = 0x3c648c
&l2 = 0x3c648e
value = 15 = 0xf

Check up your C++ manual for such an option, ... or write your communication
tasks in C.
Good luck (we also have such problems between Motorola and Intel processors :-(

+------------------------------------------------------------------------------+
|             /\                                                               |
|            /  \  /\             Philippe Leverone, ingenieur logiciel        |
|     /\    /    \/  \  ;_o       ALPLOG SA, groupe ALTRAN                     |
|    /  \  /     /    \OL/        4 rue du Moulin, BP 23 - Wolfisheim          |
|   /    \/     /      \O         67032 STRASBOURG cedex                       |
|  /     /     /        \         chez EGT SA FRANCE                           |
| /           /          \                                              [*]    |
|                         \        e-mail : pleverone@egt.fr           ,_"_    |
|                                                                     [_(O)]   |
+------------------------------------------------------------------------------+

From daemon@csg.lbl.gov  Wed Aug 21 04:00:36 1996
From: daemon@csg.lbl.gov
Date: Wed Aug 21 04:00:38 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Wed Aug 21 04:00:32 PDT 1996

        Subject: Re: Handling statics with C++
        Subject: PowerPC patches to gcc?
        Subject: Memory management
        Subject: Motorola 68030 VME card available

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

Newsgroups: comp.os.vxworks
Subject: Re: Handling statics with C++
Date: 21 Aug 1996 01:46:52 GMT
From: lijx@nt.com (Jin Li)
Organization: Northern Telecom Inc., Mission Park
Message-ID: <4vdpqc$i4t@nrchh52.rich.nt.com>
References: <9608130013.AA29767@clix.jna.com.au> <4ups46$o2v@news.sei.cmu.edu>

In article <4ups46$o2v@news.sei.cmu.edu>,
Theodore Marz <tfm@sei.cmu.edu> wrote:
>
>In article <9608130013.AA29767@clix.jna.com.au>, "Chris Ford" <chrisf@jna.com.au> writes:
>|> We are currently using VxWorks in a C environment, and are considering a move
>|> to C++.	 One concern we have, however, is the treatment of statics.  Under
>|> VxWorks, if we wish to start several instances of the same task, and we wish
>|> each instance to have its own copy of a static, we need to use taskVarAdd().
>|> This has been fine so far as we can combine the necessary statics into a single
>|> structure and only tasVarAdd() a single pointer to that structure.  This
>|> minimises the hit on context switch time.
>|> 
>[snip]
>|> 
>|> The question is: what do people do about this?
>|> 
>|> Many thanks in advance for any ideas.
>|> 
>|> -- 
>|> Chris Ford
>|> Senior Project Engineer
>|> JNA Telecommunications
>|> voice: +61 2 9935 5753     fax: +61 2 417 3862        e-mail: chrisf@jna.com.au
>|> post:  16 Smith St, Chatswood, NSW 2067, Australia.
>|> ----------------------------------------------------------------------------JNA
>
>I am fairly new to VxWorks, but I can tell you how I got the same tasks to not
>share "global" variables with the same name (I can think of a couple of ways)
>all involve loading the task multiple times in memory.
>
>1) If you don't use VxWorks to load-time-link anything (except the VxWorks
>kernel support), then you probably could strip out all global symbols (or tell
>VxWorks not to load the symbol table) and load the task multiple times in
>memory. 
>
>2) You could use VxVMI to establish private virtual memory contexts for each
>task.  This has the added benefit of having the text, data, and bss segments
>of the task "protected" from other tasks running on the system (ie. their
>physical addresses could be made read-only or invalid in the global virtual
>context).  This may have some interesting side-effects in how you do dynamic
>memory allocation and how you have to build your class constructors.  We were
>doing this for the task protection, not multi-instancing tasks.
>
>3) finally, you could use a varient of the above theme, which may involve
>writing your own loader.  Using a share code segment.  Load one complete copy
>of the task in a virtual address space.  Keep track of where it's data and bss
>segments are located in virtual space.  When you want to instance several
>copies of the task, create new data and bss segments, a new virtual memory
>context which refers to the old text segment, and the new data and bss, and
>off you go.
>
>Let me know what you end up doing.
>
>Ted Marz
>Software Engineering Institute
>tfm@sei.cmu.edu
>(412)268-5891

Hi everyone:

        I think there are two different things here. One is "task variable"
(a variable which has different value with different task)
which is not a C or C++ concept, another is static member of C++ class.

       When using C++, you'll be able to implement "task variable".
One of implementation is following.
       Let us say you want to use a global object foo of type Foo as a
"task variable", you define another class Foobar so that for each task
that will use foo, put a member of type Foo in Foobar(of course they
should be private members), when you define the access functions
for these member, you should use task Id to choose the right one. You may
think this will slow down your application. But when you use inline function
it really create little overhead. If you consider that there are also
overhead when using taskVar, you may end up with better performance.
        Tim Harrison and Douglas Schmidt have a paper related to this.
They discuss the problem in general, not target to VxWorks.
You can find it at Dr. Schmidt's home page:
        http://www.cs.wustl.edu/~schmidt
I think it is under design pattern

        When you have a static member in your class, you always need to treat
it as global, so when you define the members functions that deal with the
static member, you always need to safe-guard it by some form of
mutual exclusion.

        The problem of how to deal with reentry is more difficult.
For one thing, when you code a member function you do not know if the
function is working on a static object or a automatic object -- it
dependents on how the object is used. Here are several things that I can
think of:
  1) Make it absurdly safe. i.e think of you are working on a static
object. Of course, you'll need to use a lot of mutual exclusion and
some of them are not necessary. Seem to me not a good ideal.
  2) Provide two set of functions, one set for using with static object and
another set for automatic object. In this case you put something
extra on the user of your class. You have risk of having a unhappy user -:(
And the design of the class is not clean.
  3) Make the class intelligent so that it can tell what kind of storage
it has(static or automatic). This solution is ideal, but it is
more difficult and not portable.
We are using Wind++. I think it keep the track of static objects in the
system.
  4) Do things as in case of C. The user of a class is responsible for
thread-safe. This means if I am calling a member function of a global
object, I will use semaphore or whatever to safe guard it.

      By saying all this, I don't mean that we are in a worse situation
than in C.You can always use C++ as a better C. And there are C++ libraries
that can be made thread-safe (we are using tools.h++ from RogueWave with
Wind++, to make it multi-thread safe, we complied the library with a option)
I do not know how much overheads we pay for when using the multi-thread
safe version of the library.

      We moved from a C environment to C++ environment about two years
ago. I think it was a good move. We have a lot of legacy C code,
there are little problems to put the legacy C code and new C++ code together.
If you are doing things right, I don't think you'll lose much performance
when using C++.

Jin Li
Northern Telecom
408-565-7880
lijx@nt.com

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

Newsgroups: comp.os.vxworks
Subject: PowerPC patches to gcc?
Date: 21 Aug 1996 03:26:49 GMT
From: mcneils@app006221 (Sean McNeil)
Organization: TRW Data Technologies Division, Carson CA
Message-ID: <MCNEILS.96Aug20202649@app006221>

I just started working on a project where VxWorks is the target OS running
on a PowerPC board.  I want to make a cross-compiler targeting
powerpc-wrs-vxworks, but even the latest gcc snapshot doesn't support
vxworks (even though it supports many other configurations, like
powerpc-rtems).  Does anyone know of patches I can acquire to add vxworks
support for the powerpc target?

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

Newsgroups: comp.os.vxworks
Subject: Memory management
Date: Wed, 21 Aug 1996 10:57:16 +0200
From: Harald Bjares <hbj@vingmed.no>
Organization: VingMed Sound
Message-ID: <321ACF6C.2572@vingmed.no>

We are using C++ to implement our application. Unfortunately this involves lots of 
dynamic memory allocation/deallocation. After some time the heap is fragmented with 
many very small free memory blocks (and one large) resulting in a slow responce 
time.

The problem is not memory leakage, but the fact that it taks a long time to search 
the heap for a large enough block of free memory. From the manual I see that the 
current algoritm uses a first-fit strategy and also combines adjacent blocks.

Then to my question. Does anyone know of a memory manager for VxWorks which improves 
search time for free memory blocks?

The alternative might be to cache our objects and reuse them, which have been done 
to some extent, but is not a practical solution.

Thanks in advance.

Harald Bjares
hbj@vingmed.no

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

Newsgroups: comp.os.vxworks
Subject: Motorola 68030 VME card available
Date: 21 Aug 1996 05:53:03 GMT
From: innov8@ix.netcom.com (MaRtY)
Organization: Netcom
Message-ID: <4ve87v$654@dfw-ixnews3.ix.netcom.com>
References: <MCNEILS.96Aug20202649@app006221>

I have some Motorola MVME147 68030 25Mhz 8MB and 16MB VME cards
available.  All guaranteed.
E-mail if interested.

E-mail:  marty@innovative-research.com
- -- 

E-mail: innov8@ix.netcom.com

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

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

From CJONES@digsys1.bwi.wec.com  Wed Aug 21 06:39:40 1996
From: "CHRIS JONES" <cjones@digsys1.bwi.wec.com>
Date: Wed Aug 21 06:39:43 PDT 1996
Subject: Programming Boot ROMS

Are there any good sources available with instructions for 
programming boot roms? 

Our target is an MVME177.

How does one seperate ROM image into the even and odd prom?

Thanks,

Chris Jones

cjones@digsys1.bwi.wec.com

(410) 765-7959
(410) 993-8822 FAX

Northrop Grumman
Electronic Sensors & Systems Division

From han2326@aminet.co.kr  Wed Aug 21 07:08:38 1996
From: "Han, Jeong Soo" <han2326@aminet.co.kr>
Date: Wed Aug 21 07:08:40 PDT 1996
Subject: Setting of task priorities & system clock  
Hello,

In my developing system using VME boards(cpu board:MC68030), I have 
designed about 10 tasks(local communication tasks, remote communication 
task, digital input task, digital output task, analog input task, intenal 
process task,...)and priority-based scheduling.
My questions are 

 1) What is the optimal value of system clock to be set in my developing 
system?  I know the default is 60 tick/1sec and I think this value is not 
appropriate, especially for the communication tasks.

 2) What is the optimal value of task priority for each tasks.

Are these decided only according to experience-base?

Thank you in advance.

J.S.Han/HDPIC Reserch Center, Seoul, Korea

From seaweed!seaweed.com!bob@netcom.com  Wed Aug 21 07:30:23 1996
From: bob schulman <bob@seaweed.com>
Date: Wed Aug 21 07:30:30 PDT 1996
Subject: Re: Memory management
hbj@vingmed.no asks:

> Does anyone know of a memory manager for VxWorks which improves 
> search time for free memory blocks?

Seaweed Systems has a written-from-scratch memLib replacement. It
has all the functionality which Wind River's memLib has...and more!

It has memory leak detection, sanity checks at malloc/realloc/free
time, user-callable memory arena sanity checker, constant-time allocation,
better fragmentation behavior, callbacks for various low-memory
conditions, and more! A real ginzu knife of an app.

Please call or email for information:
	info@seaweed.com
	+1 510.482-3575

bob schulman

From caot@applique.sedd.trw.com  Wed Aug 21 11:21:04 1996
From: caot@applique.sedd.trw.com
Date: Wed Aug 21 11:21:06 PDT 1996
Subject: HELP!!!
Hi vxwexplo@lbl.gov

  Does anyone know the address of the GUI news group.
I need some information on the GUI design tool that interfaces with
Ada application on the PC platform (486 processor).  Any suggestion
would be greatly appreciated.

Thanks,
Tai Cao
(310) 764-6944

From jhillman@wrs.com  Wed Aug 21 12:04:28 1996
From: Jon Hillman <jhillman@wrs.com>
Date: Wed Aug 21 12:04:30 PDT 1996
Subject: Re: HELP!!!
At 11:21 AM 8/21/96 PDT, Tai Cao wrote:
>  Does anyone know the address of the GUI news group.
>I need some information on the GUI design tool that interfaces with
>Ada application on the PC platform (486 processor).  Any suggestion
>would be greatly appreciated.
>
>Thanks,
>Tai Cao
>(310) 764-6944

Tai Cao,

I understand that Green Hills ADA-MULTI will be available soon on
PC/Windows95.  I have forwarded your request to Pat Rodenbeck of
Green Hills (pat@ghs.com) to get in touch with you.

Jon Hillman, FAE
Wind River Systems
3504 Lake Lynda Dr., Suite 155
Orlando FL 32817
Phone: (407) 273-4646
Fax:   (407) 273-5075
E-mail:   jhillman@wrs.com
Web site: http://www.wrs.com

From froeber@bbn.com  Wed Aug 21 12:16:59 1996
From: Fred Roeber <froeber@bbn.com>
Date: Wed Aug 21 12:17:01 PDT 1996
Subject: Re: Setting of task priorities & system clock 
Han, Jeong Soo" <han2326@aminet.co.kr> writes:

> In my developing system using VME boards(cpu board:MC68030), I have
> designed about 10 tasks(local communication tasks, remote communication
> task, digital input task, digital output task, analog input task, intenal
> process task,...)and priority-based scheduling.
> My questions are
> 
>  1) What is the optimal value of system clock to be set in my developing
> system?  I know the default is 60 tick/1sec and I think this value is not
> appropriate, especially for the communication tasks.

It isn't clear why you would want to change the clock rate for your
system.  VxWorks normally uses a priority based preemptive scheduling
algorithm, not a time slice based round robin approach (although there
is an option for enabling round robin type scheduling).  Since the
scheduling is preemptive, the clock rate doesn't have much control
over scheduling.  What it does affect are the granularity of time delays
that can be achieved.  If you want finer time delay granularity, you
may want to boost the clock rate but realize that this will result in
more CPU overhead to service the more frequent timer interrupts.  A
68030 isn't too powerful so I wouldn't boost the timer interrupts much
over 200/sec.
 
>  2) What is the optimal value of task priority for each tasks.
> Are these decided only according to experience-base?

Setting task priorities in a preemption based system isn't an issue
that is unique to VxWorks.  There are various books on real time
programming that cover these issues.  A good place to start a search
for such information is:
   http://cs-www.bu.edu/pub/ieee-rts/Home.html
which is the Home Page of the IEEE Computer Society, Technical
Committee on Real-Time Systems.  Many people set task priorities
based on heuristic methods (by guesswork and trial and error).  There
is a fair base of research on how to set priorities more sceintifically.
One of the popular areas related to scheduling theory is "Rate Monotonic
Scheduling".  Under this theory (which works best for periodic systems)
the tasks with the highest periodic rate get the highest priority.
There is a lot more to it and all sorts of special extensions to try
to handle aperiodic events but (in my opinion) a lot of the extensions
are too complex and make assumptions that often aren't valid.  The
basic rule above is a good starting point for priority assignment
though.  Hope this helps.   Fred

-- 
   |     Fred J Roeber,  BBN Systems & Technologies     |
   |  50 Enterprise Place   Middletown, RI  02842-5202  |
   |       froeber@bbn.com     401-849-2543 (X48)       |
   |   See http://www.bbn.com/tv for TraceMaker info    |

From daemon@csg.lbl.gov  Thu Aug 22 04:00:21 1996
From: daemon@csg.lbl.gov
Date: Thu Aug 22 04:00:24 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Thu Aug 22 04:00:16 PDT 1996

        Subject: Re: What about LINUX??
        Subject: PC486 and PCI
        Subject: RPCs and multiple tasks
        Subject: RAM Disk
        Subject: dosFsLib DOS_OPT_AUTOSYNC option...

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

Newsgroups: comp.os.vxworks
Subject: Re: What about LINUX??
Date: Wed, 21 Aug 1996 14:13:49 -0400
From: Tom Flanigan <tflaniga@oe.fau.edu>
Organization: Cybernet, Boca Raton, Florida.
Message-ID: <321B51DD.41C6@oe.fau.edu>
References: <9608150525.AA04342@rst.co.il> <4v0bf8$1lr@idiom.com>

H.J. Bae wrote:
> 
> leonid@rst.co.il (Leonid Rosenboim) wrote:
> 
> >Linux - vote NO.
> 
> Linux is the best UNIX I have ever used.
> I've ported enough commerical UNIX kernels around in my career
> to know that Linux is just as good, if not better.
> 
> Of course, that doesn't mean that a "real company"
> would even consider porting their tools to Linux.  Too bad.
> 
> HJB

I personally have not used Linux yet but I'm planning on trying it out
and I know of someone who has been able to port VxWorks to it.  As far
as I can see Linux is well test and although it may not be supported by
many companies it at least has many followers who are constantly working
on it.  Besides something that you don't pay for can't be that bad... at
least you can't say you didn't get what you payed for.

- -Tom

- -- 
- -----------------------------------------------------------------------------
Thomas C. Flanigan                   |Internet:tflaniga@oe.fau.edu
Department of Ocean Engineering      |Phone   : 407-367-2947
Florida Atlantic University          |Fax     : 407-367-3885
- -----------------------------------------------------------------------------
"Well, when I was younger, my parents moved around a lot.  But I always
found them."

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

Newsgroups: comp.os.vxworks
Subject: PC486 and PCI
Date: Wed, 21 Aug 1996 08:33:17 +0100
From: Chris Wallett <cp@mail.compulink.co.uk>
Organization: Cranfield Precision
Message-ID: <321ABBBD.300B@mail.compulink.co.uk>

Does anybody know what is happoning with Tornado and PCI for 
PC targets ?

We would like to use the new high speed Ethernet cards which
use PCI. I know most of the new PowerPC VME cards use PCI and
PCI peripherals (Ethernet/SCSI/Video) but there seems to be
no support for the PC platform.

Any ideas ??

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

Newsgroups: comp.os.vxworks
Subject: RPCs and multiple tasks
Date: Wed, 21 Aug 96 21:59:24
From: traymond@pcix.com
Organization: Plymouth Commercial Internet eXchange
Message-ID: <4vgett$2mn@alpha.pcix.com>

Hi

I have implemented an rpc server running under VxWorks that uses multiple
tasks.  There is one task that receives the rpc request, it is also the task
that called rpcTaskInit, it then passes the request to a worker task.  The
worker task performs the request and then returns the rpc response.

This seems to work but I am a little concerned because the VxWorks user
guide warns against multiple tasks sharing the rpc structures.  Does anyone
know if what I have done will cause a problem?

Thanks.

Terry Raymond

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

Newsgroups: comp.os.vxworks
Subject: RAM Disk
Date: 20 Aug 1996 15:25:49 GMT
From: robinson@metronet.com (William Robinson)
Organization: Abalone Engineering Associates
Message-ID: <4vcldt$hq4@newnews.metronet.com>

Hi,

I'm working on a VME-based system running VxWorks in an environment with
limited available power and weight.  I have a datastream that requires
a sustained 10 Mbytes/s storage rate for periods of up to 30 seconds.
The device used to archive the data assumes there is a SCSI device available
to store data at that sustained rate.  Options that involve a RAID
architecture aren't being considered because of the power/weight issue.

Would anyone know of a "RAM Disk" device (or for that matter, some kind
of SCSI device that doesn't cost a ton of money) that would integrate in my 
VxWorks/VME environment?  I have plenty of time to transfer the data to 
a disk after the data is collected, but I need the burst rate capability.

Any ideas?

Thanks in advance,
Will Robinson

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

Newsgroups: comp.os.vxworks
Subject: dosFsLib DOS_OPT_AUTOSYNC option...
Date: Thu, 22 Aug 1996 02:39:04 GMT
From: Ron Kellam <ron_kellam@aus.hp.com>
Organization: Hewlett-Packard Co.
Message-ID: <321BC848.219E@aus.hp.com>
Sender: news@hparc12.aus.hp.com (News Daemon ID)

Hi VxWorkers,

For the time I have been making use of the VxWorks DOS files system, I
have always had the DOS_OPT_AUTOSYNC option set.  As might be expected,
this has a significant impact on the file systems 'write' performance,
making it much slower than with the AUTOSYNC option disabled.

I am now considering disabling the AUTOSYNC option, but am concerned
about how this may adversly affect the stability/integrity of the file
system.

Does anyone have any information or experience to share regarding this
issue?

Do most VxWorks users enable the AUTOSYNC option?

Anything?

Regards,

Ron Kellam (ron_kellam@aus.hp.com)
Australian Telecom Operation
Hewlett Packard Australia

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

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

From franz@eng.kns.com  Thu Aug 22 08:10:39 1996
From: franz@eng.kns.com (Keith Franz)
Date: Thu Aug 22 08:10:41 PDT 1996
Subject: Re: memLib

Just reciently, I think that I saw an email saying that someone 
had developed a replacement for memLib.  If so, could someone 
please forward me that information?
Thanks,

-Keith Franz

franz@eng.kns.com

From chwe@force.de  Thu Aug 22 08:37:02 1996
From: chwe@force.de (Christof Wehner)
Date: Thu Aug 22 08:37:04 PDT 1996
Subject: RS-485 driver for FORCE CPU-40 MC68652?
Hello There!

Did anyone out there create a RS-485 driver for the above named board he/she'd
be willing to share? A customer of ours is looking for it and would be very
happy about this.

Thanks in advance, anything is appreciated.

i.A. Christof Wehner
--
Christof Wehner                    ____  ____  ____  ____  ____
Technical Support Engineer        /     /   / /   / /   / /
Customer Support Department      /__   /   / /___/ /     /__
FORCE COMPUTERS GmbH            /     /   / / \   /     /
Prof.-Messerschmitt-Str. 1     /     /___/ /   \ /___/ /___
D-85579 Neubiberg/Muenchen  
email: chwe@force.de            C O M P U T E R S    G m b H
http://www.forcecomputers.com/
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
phone +49-89-60814-240                     fax +49-89-609 77 93

From jhillman@wrs.com  Thu Aug 22 08:40:38 1996
From: Jon Hillman <jhillman@wrs.com>
Date: Thu Aug 22 08:40:40 PDT 1996
Subject: Re: comp.os.vxworks newsdigest
At 04:00 AM 8/22/96 PDT, Tom wrote:
>
>H.J. Bae wrote:
>> 
>> leonid@rst.co.il (Leonid Rosenboim) wrote:
>> 
>> >Linux - vote NO.
>> 
>> Linux is the best UNIX I have ever used.
>> I've ported enough commerical UNIX kernels around in my career
>> to know that Linux is just as good, if not better.
>> 
>> Of course, that doesn't mean that a "real company"
>> would even consider porting their tools to Linux.  Too bad.
>> 
>> HJB
>
>I personally have not used Linux yet but I'm planning on trying it out
>and I know of someone who has been able to port VxWorks to it.  As far
>as I can see Linux is well test and although it may not be supported by
>many companies it at least has many followers who are constantly working
>on it.  Besides something that you don't pay for can't be that bad... at
>least you can't say you didn't get what you payed for.
>

I thought I would put my personal 2 cents worth in (probably not worth that).

WRS has considered LINUX, but regardless of its technical merits, there is
not enough volume (read that demand) to do it for Tornado.  Now please do
not confuse the statistics with facts here, but from what I understand,
the customer base for LINUX doing embedded development is less than the
customer base for MACINTOSH.  WRS goes with the flow and when LINUX reaches
a "critical mass" then WRS will most certainly be listening.

Other than this forum, I have not had a single potential customer ask me
about LINUX.

I do not in this case speak officially for Wind River Systems, merely forwarding
my opinion.

Jon Hillman
Orlando FL USA

From sri1@gvl.esys.com  Thu Aug 22 09:13:01 1996
From: Shawn Ingram <sri1@gvl.esys.com>
Date: Thu Aug 22 09:13:07 PDT 1996
Subject: System Image and Application Code in FLASH

I was looking for advice on how to (or if its possible at all) to burn a 
minimal kernel image along with my application code into FLASH on an 
AXPvme 160.  First of all I'm not really sure how much FLASH is on the 
160.  But, I need to have everything boot without Ethernet or disk.  All 
this leaves of course is FLASH.  I will only need a very minimal kernel 
since I'm not using any network functions or file systems.  I would like 
to retain a minimal shell and symbol table if at all possible but if not ....
Also the loader and unloader stuff I can ditch since there will be 
nothing to load from.  Let me get to my questions

   1.  I've examined the Makefile stuff and I'm not sure which "flavor" 
of a system image to use.  I was thinking "system_rom_alpha" or 
"system.st_rom_alpha" sounded correct but I've not done this before nor 
has anyone where I work.  Which type should I use?

   2.  What file(s)  will I have to modify to pass control from the 
(minimal) shell to my application so that I may spawn my tasks, etc?

   3.  How much FLASH is on the AXPvme 160 and how much of this is 
reserved for the console?

   4.  When I've built this system/application image do I just burn it 
into flash using the "update" command in the normal way?

   5.  Has anyone done this? 

Any other advice or answers to questions that I didn't ask but should 
have are greatly appreciated.  Thanks in advance for any responses (even 
flames  :)   

/*********************************************
/*                                           *
/*  S.R.INGRAM               sri1@esygvl.com *
/*  Phone: (903)  457-5255                   *
/*                                           *
/*********************************************/

From YF.Siu@eng.efi.com  Thu Aug 22 10:35:48 1996
From: "Yuet Fung Siu" <YF.Siu@eng.efi.com>
Date: Thu Aug 22 10:35:50 PDT 1996
Subject: Re:  comp.os.vxworks newsdigest
>Do most VxWorks users enable the AUTOSYNC option?

We never enable the AUTOSYNC option in our dosFs. But we have a
fixed hard drive, no removable media.

In VxWorks 5.1, we discovered that if you don't enable the AUTOSYNC
option, the FAT table will not be synced until you close the file.
This may create large number of lost clusters if the system was
interrupted before a file close.

In VxWorks 5.2, WRS fixed this problem by always sync'ing the FAT
whenever there is a modification, disregarding the setting of the
AUTOSYNC option. Only the sync'ing of file data is governed by
this option.

Good Luck,

YF

From lbecker@avtec.com  Thu Aug 22 10:56:50 1996
From: "Lynn W. Becker, II" <lbecker@avtec.com>
Date: Thu Aug 22 10:56:53 PDT 1996
Subject: flexlm behavior
I tried starting flexlm (license manager) from the command line to see if
it would work before creating a script in /etc/rc2.d.

I am running Tornado 1.0 with the  version 5.3-PowerPC-beta.  I am using
Solaris 2.4.

I typed in

lmgrd -c ~lbecker/license.dat > ~lbecker/license.log &

and when I dumped license.log I got...

skybox# more ~lbecker/license.log
 8/22 11:35:46 (lmgrd) FLEXlm - Copyright 1988, 1992, Highland Software, Inc.
 8/22 11:36:11 (lmgrd) Retrying socket bind (address in use: port 7689)
 8/22 11:36:41 (lmgrd) Retrying socket bind (address in use: port 7689)
 8/22 11:37:11 (lmgrd) Retrying socket bind (address in use: port 7689)
 8/22 11:37:41 (lmgrd) Retrying socket bind (address in use: port 7689)
 8/22 11:38:11 (lmgrd) Retrying socket bind (address in use: port 7689)
 8/22 11:38:41 (lmgrd) Retrying socket bind (address in use: port 7689)
 8/22 11:39:11 (lmgrd) FLEXlm (v2.40) started on skybox (Sun) (8/22/96)
 8/22 11:39:11 (lmgrd) License file: "/export/home/lbecker/license.dat"
 8/22 11:39:11 (lmgrd) Started wrs
 8/22 11:39:11 (wrs) Server started on skybox for:      tgtsvr

I am not sure why I got this (unless a previous failed attempt to run the
license server had hung up that port).

A previous attempt had the same messages. but it was never able to connect.

Has anyone else out there who uses Solaris 2.4 and PPC Beta seen this behavior?

Thanks!

______________________________________________________________________
Mr. Lynn W. Becker                      lbecker@avtec.com
Engineer                                (703) 273-2211
Avtec Systems Inc                       (703) 273-1313 FAX
10530 Rosehaven Street, Suite 300       http://www.avtec.com
Fairfax, VA 22030                       

From lbecker@avtec.com  Thu Aug 22 11:04:03 1996
From: "Lynn W. Becker, II" <lbecker@avtec.com>
Date: Thu Aug 22 11:04:05 PDT 1996
Subject: Does 5.3 use interrupts to communicate?
I am assuming that 5.3 (Tornado) uses interrupts to communicate.  I have a
Heurikon Baja board running 5.2 and a Motorola MV1300 running 5.3 Beta.
When I do a windsh to connect to the MV1300 the Baja terminal fills with
these messages...

-> interrupt:
Uninitialized Interrupt!
Vector number 60 (0-255). non-cpu bus error interrupt
Program Counter: 0x80052f20
Status Register: 0x30006703
interrupt: Error address: 0xff04c240, Error ID: 0x0003
interrupt:
Uninitialized Interrupt!
Vector number 60 (0-255). non-cpu bus error interrupt
Program Counter: 0x80052f20
Status Register: 0x30006703
interrupt: Error address: 0xff04c240, Error ID: 0x0003
interrupt:
Uninitialized Interrupt!
Vector number 60 (0-255). non-cpu bus error interrupt
Program Counter: 0x80052f20
Status Register: 0x30006703
interrupt: Error address: 0xff04c240, Error ID: 0x0003
interrupt:
Uninitialized Interrupt!

Is this a problem or do I just need to rebuild the BSP to ignore this
interrupt vector on the Baja?

Thanks for any info...

______________________________________________________________________
Mr. Lynn W. Becker                      lbecker@avtec.com
Engineer                                (703) 273-2211
Avtec Systems Inc                       (703) 273-1313 FAX
10530 Rosehaven Street, Suite 300       http://www.avtec.com
Fairfax, VA 22030                       

From robert@orincon.com  Thu Aug 22 11:13:45 1996
From: "Robert Redfield" <robert@orincon.com>
Date: Thu Aug 22 11:13:47 PDT 1996
Subject: RAID interfaces
                       Subject:                               Time:11:10 AM
  OFFICE MEMO          RAID interfaces                        Date:8/22/96

Anybody driving RAID devices (ideally from Andataco) from VxWorks boards?

From jhillman@wrs.com  Thu Aug 22 12:40:30 1996
From: Jon Hillman <jhillman@wrs.com>
Date: Thu Aug 22 12:40:32 PDT 1996
Subject: Re: Does 5.3 use interrupts to communicate?
At 11:04 AM 8/22/96 PDT, Lynn Becker wrote:
>
>-> interrupt:
>Uninitialized Interrupt!
>Vector number 60 (0-255). non-cpu bus error interrupt
>Program Counter: 0x80052f20
>Status Register: 0x30006703
>interrupt: Error address: 0xff04c240, Error ID: 0x0003
> ...
>
>Is this a problem or do I just need to rebuild the BSP to ignore this
>interrupt vector on the Baja?

Looks like a vme board is generating some interrupts and you don't
have any application code to respond to it.  You need to determine
what is doing this (bus analyzer will help but typically); you
probably know what else is in your vme chassis!

Use intConnect(INUM_TO_IVEC(vector_number), (FUNCPTR) intFunc, (int) arg)
to install your subroutine to respond to the interrupt vector. (Think of
the vector number here as the index to the vector table, thus
INUM_TO_IVEC(vector_number)
converts this to a real address.

The above stuff is typically application code.  

I hope this is what you're asking for.

Jon Hillman, FAE
Wind River Systems
Orlando FL USA

        _________________________
       | Jon Hillman, FAE        |       
       | Wind River Systems      |       
      /) (407) 273-4646          (\      
     / ) Email:jhillman@wrs.com  ( \    
   _( (|_________________________) )  />  
  (((\ \)  /,)             / )  / //))/  
  (\\\\ \_/ /              \ \_/ /////    
   \       /                \       /      
    \    _/                  \_    /          
----/   /----------------------\   \----
   /   /                        \   \

From Scott.Peters@agai.com  Thu Aug 22 15:04:51 1996
From: Scott Peters <Scott.Peters@agai.com>
Date: Thu Aug 22 15:04:53 PDT 1996
Subject: RE: Handling statics with C++
I would suggest that you make the object complete self-contained. 
Incorporate any task ID and semaphore ID's in the class.  In the
constructor of the class add all the cremation stuff like taskCreate and
semCreate and store these ID's in the instantiated objects.  Of course
this only works if you are not concerned on how many task run on your
system.

scott.peters@agai.com

 ----------
Subject: Handling statics with C++
Date: Monday, August 12, 1996 5:13PM

Submitted-by chrisf@jna.com.au  Mon Aug 12 17:13:48 1996
Submitted-by: "Chris Ford" <chrisf@jna.com.au>

We are currently using VxWorks in a C environment, and are considering a
move
to C++.	 One concern we have, however, is the treatment of statics. 
Under
VxWorks, if we wish to start several instances of the same task, and we
wish
each instance to have its own copy of a static, we need to use
taskVarAdd().
This has been fine so far as we can combine the necessary statics into a
single
structure and only tasVarAdd() a single pointer to that structure.  This
minimises the hit on context switch time.

In C++, however, the whole idea is to hide your data, meaning that any
static
member variables should remain part of a class.  Two questions then
arise:

    - How to taskVarAdd() these statics.  One solution is to have a
static
      member function used to initialise the class (a bit yucky, but
workable).

    - What do you do about the performance problem?  Because the data
should
      remain hidden, it's a bad idea to pull the statics out into a
combined
      structure.  This means that every class which has a static must do
its
      own taskVarAdd(), multiplying the number of task variables, and
      increasing the context switch time.

The question is: what do people do about this?

Many thanks in advance for any ideas.

 --
Chris Ford
Senior Project Engineer
JNA Telecommunications
voice: +61 2 9935 5753     fax: +61 2 417 3862        e-mail:
chrisf@jna.com.au
post:  16 Smith St, Chatswood, NSW 2067, Australia.
 ------------------------------------------------------------------------
---  -JNA

From P.H.A.Mutsaers@cycl.phys.tue.nl  Fri Aug 23 07:44:46 1996
From: Peter Mutsaers <P.H.A.Mutsaers@cycl.phys.tue.nl>
Date: Fri Aug 23 07:44:48 PDT 1996
Subject: zbufLib
Date: Fri, 16 Aug 1996 17:00:14 +0100
From: Peter Mutsaers <P.H.A.Mutsaers@cycl.phys.tue.nl>
Subject: zbufLib
To: vxexplo@lbl.gov
Cc: TNNDMUTS@cycl.phys.tue.nl
Content-type: TEXT/PLAIN; CHARSET=US-ASCII

Hello (Vx)Workers,

Does anybody know if the maximum length of a zbuf or zbufsegment is limited?
A call to most of the zbufLib routines fail when the original buffer I inserted into the zbuf is larger then 32767 bytes (i.e. the
maximum positive value of a signed short int).

Greetings,

Jos Aarts.

From schen3@ccgate.hac.com  Fri Aug 23 11:21:15 1996
From: schen3@ccgate.hac.com
Date: Fri Aug 23 11:21:17 PDT 1996
Subject: Map out the memory map ??
     I am looking for way to map out the memory map on the RAD6000 VME 
     board I am using.  I would like to know where is VxWorks loaded to, 
     end of the system image, RAM_LOW_ADRS, FREE_RAM_ADRS, RAM_HIGH_ADRS, 
     initial stack, interrupt stack and system memory pool begin address 
     and end address.  Some address are define in config.h configAll.h and 
     usrConfig.c but when I used d() to check the memory, the VxWorks image 
     was not at the address define in the header file.  Any advice are 
     welcome.  Thanks in advance.
     
     Steven Chen
     schen3@ccgate.hac.com

From robert@orincon.com  Fri Aug 23 13:44:24 1996
From: "Robert Redfield" <robert@orincon.com>
Date: Fri Aug 23 13:44:26 PDT 1996
Subject: Force SPARC target
                       Subject:                               Time:1:42 PM
  OFFICE MEMO          Force SPARC target                     Date:8/23/96

Any opinions, comments or experiences running VxWorks on Force 5V, or 20?

From han2326@aminet.co.kr  Fri Aug 23 23:17:59 1996
From: "Han, Jeong Soo" <han2326@aminet.co.kr>
Date: Fri Aug 23 23:18:01 PDT 1996
Subject: work queue overflow
Does anybody experienced this error :
  "workQpanic : work queue overflow"
I have got this error when I run my serial communication program.(i.e. 
2~5 second after spawning)
The hardware configuration is that piggyback communication board(MC68881 
chip), connected on MC68030 cpu board.

Any hints would be appreciated.
Thank you.

J.S. Han
-----------
HDPIC

From daemon@csg.lbl.gov  Sat Aug 24 04:01:31 1996
From: daemon@csg.lbl.gov
Date: Sat Aug 24 04:01:33 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Sat Aug 24 04:01:28 PDT 1996

        Subject: Re: Memory management
        Subject: Re: 5.3 booting from 5.2 Shared memory?

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

Newsgroups: comp.os.vxworks
Subject: Re: Memory management
Date: 22 Aug 1996 13:02:31 GMT
From: dixon@ra.crd.ge.com (walt dixon)
Organization: GE Corp. Research & Development, Schenectady, NY
Message-ID: <4vhlp7$eum@crdnns.crd.ge.com>
References: <321ACF6C.2572@vingmed.no>

In article <321ACF6C.2572@vingmed.no> Harald Bjares <hbj@vingmed.no> writes:
  We are using C++ to implement our application. Unfortunately this involves
  lots of dynamic memory allocation/deallocation. After some time the heap is
  fragmented with many very small free memory blocks (and one large) resulting
  in a slow responce time.

  The problem is not memory leakage, but the fact that it taks a long time to
  search the heap for a large enough block of free memory. From the manual I 
  see that the >current algoritm uses a first-fit strategy and also combines 
  adjacent blocks.

  Then to my question. Does anyone know of a memory manager for VxWorks which
  improves search time for free memory blocks? The alternative might be to
  cache our objects and reuse them, which have been done >to some extent, but
  is not a practical solution.

The classic way of solving this problem is to work with multiple heaps.
One heap for small objects, another for larger objects, etc.  If there
are only one or two large object classes, perhaps you could implement an
operator new for them which allocates memory from a different pool.
ALthough you apparently have not run into the problem yet,  the small
objects could fragment your heap to the extent that you cannot allocate
a large object.

- -- 
Walt Dixon dixon@crd.ge.com

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

Newsgroups: comp.os.vxworks
Subject: Re: 5.3 booting from 5.2 Shared memory?
Date: 15 Aug 1996 15:55:03 GMT
From: friedl@cher.heurikon.com (Ted Friedl)
Organization: Heurikon Corporation
Message-ID: <4uvh8n$8u4@badger.heurikon.com>
References: <v03007802ae38d88efd14@[206.161.148.20]>

In article <v03007802ae38d88efd14@[206.161.148.20]>,
Lynn W. Becker, II <lbecker@avtec.com> wrote:
>> A good test would be from the 1300's [VxWorks Boot]:
>>prompt, do a
>>
>>[VxWorks Boot]: d 0x40000600
>>
>>You should see the "sm" signature value of 0x87654321.  If you don't, then
>>the address maps don't line up between the two processor types and you'll
>>have to go to your 1300 documentation to find how to properly map that
>>address.
[snip]

Lynn,

This is sound advice.  Your display of local 0x40000600 on the
mv1300 does not appear to be the SM anchor of the Baja4700.

By default, a Heurikon Baja4700 with a sysProcNum of 0 and a
valid backplane address will place the SM anchor at local 0x600
and map the base of its memory to 0x40000000 of VME A32 space.
It just so happens that the Baja's local to A32 space address
translation is "one-to-one" (no translation) so the boot device
on Bajas 1 and 2 ends up being sm=40000600.

On the mv1300, local 0x40000600 may not translate to 0x40000600
of VME A32 space.  Do check the manual to see if this is the
case.

If the mv1300 handles tranlation like the Baja, the next thing
to investigate is the mv1300 cache.

Good luck.  Let us know how things turn out.

Ted Friedl
Senior Software Engineer
Heurikon Corporation
Madison, WI

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

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

From daemon@csg.lbl.gov  Sun Aug 25 04:00:28 1996
From: daemon@csg.lbl.gov
Date: Sun Aug 25 04:00:30 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Sun Aug 25 04:00:25 PDT 1996

        Subject: Re: Standard I/O read with a timeout
        Subject: VxSIM + CoStreams
        Subject: [ANNOUNCE] Formal design methods conference FORTE/PSTV'96
        Subject: [ANNOUNCE] SDL Forum 1997 - info

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

Newsgroups: comp.os.vxworks
Subject: Re: Standard I/O read with a timeout
Date: 24 Aug 1996 18:24:44 -0700
From: mcs@goblin.caltech.edu (Martin Shepherd)
Organization: California Institute of Technology.
Message-ID: <yc9bug0jlwj.fsf@goblin.caltech.edu>
References: <3210D651.41C67EA6@adc.com>
	<TADLOCK.96Aug21124318@bosch.dseg.ti.com>

In article <TADLOCK.96Aug21124318@bosch.dseg.ti.com>
tadlock@bosch.dseg.ti.com (edward tadlock) writes:
>
>...[Original question omitted]
>
>        Setup a timer for the task, set its value and arm it before
>the call to read. If it goes off, the read will be exited and you can
>check the return code (I think it is EINTR) and do whatever error
>handling you want. Be sure to reset the timer when you are done.
>Below is a code fragement to show the method..it may or may not be
>syntactically and logically correct..its just a illustration..
>
>/* setup timer */
>
>        timer_create(CLOCK_REALTIME, &eventhandler, &timer_id);
>        timer_settime(timer_id,flags, &timespec, NULL);
>   
>       i= read(fd, &buffer, maxBytes);
>/* check read results */
>        if (i != nbytes ){
>                if (errno = EINTR) {
>                      /* error handling */
>                  printf(...)
>                }
>        }
>        timer_cancel(..)

Isn't there a race condition in the above example? If a higher
priority task pre-empts this code between the timer_settime()
statement and the read() statement then the timer might go off before
the read() is started and the resulting signal would then not be seen
by the read() statement.

How about the following alternatives:

1. Use select with a timeout to wait for the target
   file-descriptor to become readable (or writable). This 
   will require a loop if more than one byte is to be transfered.
   In particular, if the driver doesn't support non-blocking I/O then
   data will have to be transfered one byte at a time.

   This method works if just one task is performing a particular
   flavor of I/O on the file-descriptor. Otherwise semaphores have to be
   used to make sure that just one task responds when the fd becomes
   ready for I/O.

2. A messier way to timeout I/O is to use a watchdog timer with
   an auxiliary task and a semaphore. The watchdog timer signals the
   semaphore when the timeout is reached, and the auxiliary task
   then cancels the I/O either by sending the blocked task a signal or
   by using a driver-provided ioctl() similar to FIOCANCEL in tyLib.

   If the auxiliary task runs at lower priority than the task that
   is performing the I/O then it will only run when the primary task
   is blocked. This prevents it cancelling the I/O between the
   watchdog timer being started and the read() or write() blocking,
   and thus side-steps the race condition that I pointed out above.

   Be sure to cancel the watchdog when the read is done. Then
   apply semTake(sem, NO_WAIT) to the timeout semaphore to prevent
   spurious I/O cancelation at a later time, just in case the
   timer caused the semaphore to be signaled after the read() but
   before the wdCancel().

If anybody has any better suggestions for timing out I/O (or disagrees
with the above) then I would be interested to hear what they have to
suggest.

Martin Shepherd  (mcs@astro.caltech.edu)

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

Newsgroups: comp.os.vxworks
Subject: VxSIM + CoStreams
Date: Sun, 25 Aug 1996 02:05:32 GMT
From: sheih@netcom.com (SHOUJONG SHEIH)
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
Message-ID: <sheihDwo8H8.Au0@netcom.com>
Sender: sheih@netcom.netcom.com

Greetings:

Does anyone know what's the right procedure to integrate CoStreams 
package into VxSIM and rebuild the VxSIM?  Or, is it even possible.
I followed the instructions in the manual and was able to rebuild VxSIM 
by using the ADDED_MODULE option in Makefile.SIMSPARCgnu to include 
object files generated during compiling CoStream files.  However, after I 
started the new rebuilt VxSIM and spawn a function - StreamScheduler(), I 
got an error message - Segementation Violation.  Can anyone help?  Thanks 
a lot.

S. John Sheih

- -- 
                                             sheih@netcom.com

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

Newsgroups: comp.sys.m68k,comp.protocols.iso,comp.protocols.iso.dev-environ,comp.protocols.misc,comp.realtime,comp.robotics.research,comp.software-eng,comp.software.testing,comp.specification.misc,comp.os.qnx,comp.os.lynx,comp.os.chorus,comp.os.vxworks
Subject: [ANNOUNCE] Formal design methods conference FORTE/PSTV'96
Date: 24 Aug 1996 23:52:15 GMT
From: johnd@reflex-tech.co.uk (John Dalton)
Organization: Reflex Technology
Message-ID: <4vo4jf$nfk@raven.cc.ukans.edu>
Followup-To: comp.robotics.research
Reply-To: johnd@reflex-tech.co.uk

FORTE/PSTV'96 will address Formal Description Techniques (FDTs)
applicable to communication protocols and distributed systems (such as
Lotos, SDL, Estelle, ASN.1, TTCN, Z, automata, process algebras,
logics).

This is relevant to communications, transport, robotics and
safety-critical systems engineering as well as the more general
interest in automated simulation and verification/validation.

The conference will be a forum for presentation of the state of the
art in theory, application, tools and industrialization of FDTs, and
will provide an excellent orientation for newcomers. For the first
time, the hitherto separate conferences FORTE and PSTV will be
combined into a joint edition.

     URL: http://www.informatik.uni-kl.de/aggotz/forte.pstv96

*******  Crossposted: comp.robotics.research (moderated)  *******
  Summary: Academic, government & industry research in robotics.
      Archives and information: http://www.robot.ireq.ca/CRR
         Charter: ftp://ftp.robot.ireq.ca/pub/crr/Charter
      Meta-discussions/information: crr-request@robot.ireq.ca

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

Newsgroups: comp.sys.m68k,comp.protocols.iso,comp.protocols.iso.dev-environ,comp.protocols.misc,comp.realtime,comp.robotics.research,comp.software-eng,comp.software.testing,comp.specification.misc,comp.os.qnx,comp.os.lynx,comp.os.chorus,comp.os.vxworks
Subject: [ANNOUNCE] SDL Forum 1997 - info
Date: 24 Aug 1996 23:52:56 GMT
From: johnd@reflex-tech.co.uk (John Dalton)
Organization: Reflex Technology
Message-ID: <4vo4ko$nfk@raven.cc.ukans.edu>
Followup-To: comp.robotics.research

The eighth SDL Forum takes place at INT in Evry, France, September
22-26, 1997, organised by INT and CNET-FRANCE TELECOM.

World Wide Web: http://alix.int-evry.fr/lor/SDL97/

The SDL Forum is the meeting place for established and potential users
of the language, tool vendors and ITU Study Group members maintaining
the language. It is held every 2 years and has become the most
important event in the calendar for anyone involved in SDL and related
languages and technology. The proceedings are widely referenced, and
the Forum is the basis of further improvements.  In addition, the SDL
Forum has also become a Forum for Message Sequence Charts (MSC), the
formal event trace notation which is another cornerstone of ITU-T
languages.

SDL is the relevant formal description technique in communications and
other fields of distributed or safety-critical software where
simulation, verification and validation against specifications are
essential (eg robotics control, transport, aeronautics, medical, space
applications).

The ITU (former CCITT) recommended Specification and Description
Language, SDL, has a growing user community, not only within
telecommunications industry, but also in these other application
areas. The SDL-92 version of the language is an object based language,
with support for concurrent objects (processes) with behaviour in
terms of Extended Finite State Machines and interaction by
asynchronous signal exchange and remote procedure calls.

SDL-92 is now available in industrial and commercial tools.  A limited
addendum to SDL-92 has been agreed by ITU SG10, and updated tools
supporting this last version (sometimes called SDL-96) should be
available by the time of the conference.

*******  Crossposted: comp.robotics.research (moderated)  *******
  Summary: Academic, government & industry research in robotics.
      Archives and information: http://www.robot.ireq.ca/CRR
         Charter: ftp://ftp.robot.ireq.ca/pub/crr/Charter
      Meta-discussions/information: crr-request@robot.ireq.ca

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

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

From craig@pacengr.com  Mon Aug 26 12:26:22 1996
From: Pacific Design Engineering <craig@pacengr.com>
Date: Mon Aug 26 12:26:24 PDT 1996
Subject: VxWorks Job Opening, SF Bay Area
Subject: Job Opening, VxWorks Development

Pacific Design Engineering, an engineering consulting
business, has an immediate opening for a VxWorks systems
and application development engineer.  This is a full-time
position.  The work may be performed from home, or in our
customers' site, as required.

We are located in Danville, California, in the San
Francisco Bay Area.  

The successful applicant will have a background in real-time
software development - experience with VxWorks is preferred.
A minimum of two years of experience is necessary for this
position.  A BSEE/BSCS is required, an MSCS/MSEE is a plus.
The individual must be resourceful, self-motivated, and work
well under pressure, and have a demonstrated history of
successful completion of software development projects.

Substantial training will be provided by VxWorks development
experts during the initial projects.

Pacific Design Engineering is a small, rapidly growing business
that offers services in the real-time systems market, Internet
security, and client-server application development.  We
offer attractive compensation and a chance to work with
highly-skilled, experienced engineering consultants.

We are an equal opportunity employer.

For more information, send email, with your resume attached in
either MIME, UUENCODE, or BINHEX format to:

jobs@pacengr.com

___________________________________________________________________
Craig A. Humphreys        
Pacific Design Engineering      System Engineering Consulting
Danville, CA                    Real-time kernels, Internetworking
pacengr@pacengr.com             Digital Image and Signal Processing 
http://www.pacengr.com/pde.htm  Internet Security; WWW services
PGP Public Key:  http://www.pacengr.com/pde/pgpkey.htm

From p72950@gmcl.co.uk  Tue Aug 27 00:43:49 1996
From: Phil Quiney <p72950@gmcl.co.uk>
Date: Tue Aug 27 00:43:51 PDT 1996
Subject: Re: work queue overflow
Hi there,

Yes I have seen this error when in the process of writing a synchronous
device driver for the z8530 SCC. It was caused by an interrupt that was not 
being handled correctly by the driver. I contacted WRS & recieved the following
e-mail more generally covering this subject.

Mike Tarlton
European Technical Support
    
Wind River Systems 
19, avenue de la Norvege 
ZA de Courtaboeuf 1 
91953 Les Ulis Cedex
    
Tel : +33 1 60 92 63 00
Fax : +33 1 60 92 63 15
Email: miket@wrsec.fr / support@wrsec.fr
--------------------------------------------------------------------

Summary #11538
AUTHOR: davidj
-------------------------------------------------------

DATE: May 27 1993 11:21AM           

Product: 5.0.2
Host:    Sun3
Board:   mv167
Board:   

TITLE: What's causing the workQPanic: Kernel work queue overflow, error?

SYSTEM:

DESCRIPTION:

SYMPTOM(S):

RESOLUTION:
Regarding your work queue overflow question,  it  can  be caused by several
different  things.     In  general,  the work queue is used to queue kernel
work that must be deferred because the kernel is already engaged by another
request.   Kernel  work  deferred  to the work queue must originate from an
interrupt service routine.

When the kernel is in "kernel" state, certain operations can  not  be  per-
formed,  they  must be deferred. Some of these operations are: incrementing
the timer tick, taskSuspend, taskResume, semGive,  etc.   The  work  to  be
deferred must be added/originated from an ISR.

If a function added to the netTask queue never returns,  then  the  netTask
will  never  get  a  chance to run the next job on its queue, and the queue
will, therefore, fill up.

The size of the work queue is fixed and there is no way to change the  size
of the work queue under the current setup.

It could be that the jumpers are set wrong.

More typically, the work queue  overflow  is  because  the  interrupt  ack-
nowledgement is incorrect or that the ISR frequency rate is too high.

Check for other high frequency interrupts which might be  interrupting  the
kernel  calls. If there are high frequency interrupts then lower the inter-
rupt frequency.

What's happening is that there are more netJobAdds happening  at  interrupt
level than the task level code running in the netTask context can process.

Check to see if there are lot of network activity. The  network  interfaces
usually  call netJobAdd to add incoming packets to be processed by netTask.
NetJobAdd calls semGive. If this is the case check to  see  if  netTask  is
being  given  enough  time to run. Is there an application task at a higher
priority? If so try raising the priority of the netTask  such  that  it  is
higher than the application.

A common problem is that the interrupt code (or even the code spawned as  a
task)  does  a  netJobAdd  every time that the interface gets an interrupt.
The correct way to do this is to have the task level code that gets run  by
netJobAdd,  process  all of the work that needs to be done (namely: dequeue
incoming packets and free the buffers of transmitted packets), and have the
interrupt  level  code  only  do  a netJobAdd if the task level code is not
currently running (specifically: this means that the task level code sets a
flag  that  says  that it's running that the interrupt level code can exam-
ine.)

You may, perhaps, also fix this by changing the priority  of  netTask   (as
stated above) to  be higher  than  that  of  the shell.  netTask must be at
a higher priority to service these, or else  the  ring  buffer   overflows,
which  is  a  different issue.

SEE ALSO:

END-----------------------------------------------------------------

Regards

P.J Quiney

>Does anybody experienced this error :
>  "workQpanic : work queue overflow"
>I have got this error when I run my serial communication program.(i.e. 
>2~5 second after spawning)
>The hardware configuration is that piggyback communication board(MC68881 
>chip), connected on MC68030 cpu board.

>Any hints would be appreciated.
>Thank you.

>J.S. Han
>-----------
>HDPIC

===============================================================================
Phil Quiney          _/_/_/_/        _/  _/_/_/_/  email : quiney@gmcl.co.uk   
GEC Marconi         _/    _/        _/  _/    _/     tel : +44 1245 353221x3914
Communications Ltd _/_/_/_/  _/    _/  _/  _/_/      fax : +44 1245 275448
Chelmsford        _/        _/_/_/_/  _/_/_/_/
England CM1 1PL                              _/                             
===============================================================================

From daemon@csg.lbl.gov  Tue Aug 27 04:00:24 1996
From: daemon@csg.lbl.gov
Date: Tue Aug 27 04:00:27 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Tue Aug 27 04:00:20 PDT 1996

        Subject: Re: RAID interfaces
        Subject: Re: No UDP packet
        Subject: No UDP packet
        Subject: Re: VxWorks boot from scsi-pcmcia adapters
        Subject: Re: VxWorks boot from scsi-pcmcia adapters
        Subject: Re: Does 5.3 use interrupts to communicate?
        Subject: Req: Driver for Cirrus Logic CD1865/1864/180 octal UART
        Subject: IP-488 driver questions!!!

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

Newsgroups: comp.os.vxworks
Subject: Re: RAID interfaces
Date: 26 Aug 1996 16:15:48 GMT
From: friedl@cher.heurikon.com (Ted Friedl)
Organization: Heurikon Corporation
Message-ID: <4vsijk$jcl@badger.heurikon.com>
References: <n1371410079.60284@Quickmail_Server_II>

In article <n1371410079.60284@Quickmail_Server_II>,
Robert Redfield <robert@orincon.com> wrote:
>                       Subject:                               Time:11:10 AM
>  OFFICE MEMO          RAID interfaces                        Date:8/22/96
>
>Anybody driving RAID devices (ideally from Andataco) from VxWorks boards?
>

Robert,

I have written some demanding multi-channel video applications
using VxWorks and RAIDs from Ciprico and Conner (the Conners used
a Mylex controller).  The VxWorks boards used were the Heurikon
Nitro40 and the Baja4700.

I can share some RAID benchmark results for these boards with
VxWorks if you are interested.

Ted Friedl
Senior Software Engineer
Heurikon Corporation
Madison, WI

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

Newsgroups: comp.os.vxworks
Subject: Re: No UDP packet
Date: 26 Aug 1996 18:39:47 GMT
From: David Perkinson <perkinsond@boris.msfc.nasa.gov>
Organization: TRW, Inc.
Message-ID: <3221EFD7.FF6@boris.msfc.nasa.gov>
References: <3221CCFD.794B@boris.msfc.nasa.gov> <4vslrr$i1d@news.sei.cmu.edu>

Theodore,

Thanks for the info.  I have run this test with and without active TCP socket
connections to the same VxWorks target.  The system resides on a 3000 node
bridged WAN (beyond my control) and there is at least one SGI NTP daemon
talking out there.  I have observed the traffic from my TCP sockets using
HP NetMetrix running on a Sun SparcServer20.  I have watched the test code
run correctly on Unix machines.  It compiles with no changes on VxWorks.

Theodore Marz wrote:
> 
> Hello,
>   What else is on your net, and how do you know the packets aren't going out?
> I have seen (and heard of) some trouble in VxWorks 5.2 with UDP/IP.  It seems
> that if there is broadcast traffic out there, to a port which is not bound on
> the VxWorks side to some service, that sometimes the VxWorks UDP/IP stack
> shuts down and no packets propagate up/down the IP stack.
> 
>   To check this out, Why don't you try isolating your network to just your
> VxWorks boot server (which will be one end of the connectionless comm link)
> and the VxWorks target.
> 
>   If your boot server is SGI, then you can use netstat to see what UDP/IP
> packets are happening (at least counts).
> 
>   Just for a little more background on the above, we were using sockets,
> UDP/IP broadcast, and had an SG on the net as a monitor.  It seemed that
> timed (the SGI NTP server daemon) was putting out NTP packts that the VxWorks
> system did not like.  Got a bunch of "Destination Unreachable" ICMP packets
> and then the VxWorks stack just kind of shut down (still said packets were
> going out, but they weren't).  Putting some directed traffic to the VxWorks
> systems (such as an active telnet, or Ping) seems to shake it loose.
> 
> There are a couple of open TSRs on this problem since early spring. Haven't
> heard of any resolution.
> 
> Ted Marz
> 
> In article <3221CCFD.794B@boris.msfc.nasa.gov>, David Perkinson <perkinsond@boris.msfc.nasa.gov> writes:
> |> This is a multi-part message in MIME format.
> |>
> |> --------------15FB59E21CFB
> |> Content-Type: text/plain; charset=us-ascii
> |> Content-Transfer-Encoding: 7bit
> |>
> |> I am having trouble sending a UDP packet using VxWorks 5.2.
> |> My TCP sockets work fine, and the UDP calls do not return errors, I just
> |> don't get a packet.  I have sniffed the network to watch the traffic.
> |> The same code works correctly on our SGI Challenge.  Is there something
> |> I must do to enable UDP?  (I didn't find UDP mentioned in UserConfig.h)

- -- 
===============================================================================
David Perkinson, TRW              Opinions that may be expressed in this email
perkinsond@boris.msfc.nasa.gov    are my own and not neccessarily that of TRW.
===============================================================================

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

Newsgroups: comp.os.vxworks
Subject: No UDP packet
Date: 26 Aug 1996 16:11:05 GMT
From: David Perkinson <perkinsond@boris.msfc.nasa.gov>
Organization: TRW, Inc.
Message-ID: <3221CCFD.794B@boris.msfc.nasa.gov>

This is a multi-part message in MIME format.

- --------------15FB59E21CFB
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

I am having trouble sending a UDP packet using VxWorks 5.2.
My TCP sockets work fine, and the UDP calls do not return errors, I just
don't get a packet.  I have sniffed the network to watch the traffic.
The same code works correctly on our SGI Challenge.  Is there something
I must do to enable UDP?  (I didn't find UDP mentioned in UserConfig.h)

- -- 
===============================================================================
David Perkinson, TRW              Opinions that may be expressed in this
email
perkinsond@boris.msfc.nasa.gov    are my own and not neccessarily that
of TRW.
===============================================================================

- --------------15FB59E21CFB
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="udptest.c"

#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>

#define CONNECT_TO_REMOTE        200
#define DISCONNECT_FROM_REMOTE   201
#define REMOTE_COMMAND           202
#define ENABLE_INCOMMING         203
#define DISABLE_INCOMMING        204
#define TIMELINER_EXECUTOR       205
#define TL_STEP_REQ              206
#define NUM_OF_REMOTES           20
#define CMD_HDR_SIZE             12
#define REMOTE                   1

/*-------------------------------------------------------------------*/
/* TYPEDEFS */
/*-------------------------------------------------------------------*/

typedef struct socketEntryType
{
   char   address[20];
   short  int port;
   int    socketFD;
   int    protocol;
   struct sockaddr_in addr;
   int    incomming;
   int    TimeLiner;
} SOCKETENTRYTYPE;

typedef struct tlMessageType
{
   short int  messageType;
   short int  tlVersion;
   short int  objectId;
   short int  objectSize;
   char data[4096];
} TLMESSAGETYPE;

typedef struct tlStepRequestType
{
   short int  Request;
   short int  Param1;
   short int  Param2;
   short int  Param3;
} TLSTEPREQUESTTYPE;

/*-------------------------------------------------------------------*/
/* FILE GLOBALS */
/*-------------------------------------------------------------------*/
char message[100];
SOCKETENTRYTYPE Remote[NUM_OF_REMOTES];

/*-------------------------------------------------------------------*/

void UserMessage(int id, char *msg)
{
   printf("%i: %s\n",id,msg);
}

int connectToRemote(char *ipAddrStr, 
                    short int rHandle,
                    short int remPort, 
                    short int rProtocol)
{
   printf("making a remote connection\n");
   if (Remote[rHandle].address[0] != '\0')
   {
       sprintf(message,"remote handle %i already in use\n",rHandle);
       UserMessage(REMOTE,message);
       return(-1);
   }
   strcpy(Remote[rHandle].address,ipAddrStr);
   Remote[rHandle].port = remPort;
   /* rProtocol must be 1 for SOCK_STREAM or anything else for SOCK_DGRAM */
   Remote[rHandle].protocol = (rProtocol==SOCK_STREAM)?SOCK_STREAM:SOCK_DGRAM;
   Remote[rHandle].incomming = ENABLE_INCOMMING;
   Remote[rHandle].TimeLiner = 0;

   if ((Remote[rHandle].socketFD = socket(PF_INET,
        Remote[rHandle].protocol,0)) == ERROR)
   {
      perror("unable to open socket");
      return(ERROR);
   }
   bzero((char *)&Remote[rHandle].addr,sizeof(struct sockaddr_in));
   Remote[rHandle].addr.sin_family = PF_INET;
   Remote[rHandle].addr.sin_port = htons(Remote[rHandle].port);
   Remote[rHandle].addr.sin_addr.s_addr = inet_addr(Remote[rHandle].address);
   if(Remote[rHandle].protocol == SOCK_STREAM)
   {
      if(connect(Remote[rHandle].socketFD,&Remote[rHandle].addr,
                 sizeof(struct sockaddr_in)) == ERROR)
      {
         perror("unable to connect");
         close(Remote[rHandle].socketFD);
         sprintf(message,"unable to connect to %s port %i\n",
                 Remote[rHandle].address,Remote[rHandle].port);
         UserMessage(REMOTE,message);
         Remote[rHandle].address[0] = '\0';
         return(ERROR);
      }
   }
   sprintf(message,"REMOTE %i connect to %s port %i using protocol %i\n",
           rHandle,Remote[rHandle].address,Remote[rHandle].port,
           Remote[rHandle].protocol);
   UserMessage(REMOTE,message);
   return(0);
}

int disconnectFromRemote(short int rHandle)
{
   if (Remote[rHandle].address[0] == '\0') return(-1);
   close(Remote[rHandle].socketFD);
   Remote[rHandle].address[0] = '\0';
   return(0);
}

startTLseq(short int rHandle, short int seqNumber, 
		short int p1, short int p2, short int p3)
{
   TLMESSAGETYPE tlMessage;
   TLSTEPREQUESTTYPE tlMsgContents;
   
   /* STEP task status packets */
   tlMessage.messageType = 3;
   tlMessage.tlVersion   = 1;
   tlMessage.objectSize  = sizeof(TLSTEPREQUESTTYPE);
   tlMessage.objectId = 19; /* whatever the proper id is... */
   tlMsgContents.Request = seqNumber;
   tlMsgContents.Param1 = p1;
   tlMsgContents.Param2 = p2;
   tlMsgContents.Param3 = p3;
   printf("setting msg contents\n");
   /* memcpy(&tlMessage.data,&tlMsgContents,sizeof(TLSTEPREQUESTTYPE)); */
   sprintf(message,"sending a STEP request [%x] [%x] to TIMELINER\n",
           (short int)tlMessage.data[0],(short int)tlMessage.data[2]);
   UserMessage(REMOTE,message);
   sendto(Remote[rHandle].socketFD,&tlMessage,sizeof(TLMESSAGETYPE),0,
          (struct sockaddr *)&(Remote[rHandle].addr),sizeof(struct sockaddr_in));

   /* MDM Health and Status */
   /* MDM telemetry */
}

udptest(char *addr, short int rPort)
{
   connectToRemote(addr,1,rPort,2);
   startTLseq(1,1,1,1,1);
   disconnectFromRemote(1);
}

- --------------15FB59E21CFB--

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

Newsgroups: comp.os.vxworks
Subject: Re: VxWorks boot from scsi-pcmcia adapters
Date: 27 Aug 1996 02:41:17 GMT
From: michaeli@stout.atd.ucar.edu (Matt Michaelis)
Organization: NCAR
Message-ID: <4vtn8d$n6n@ncar.ucar.edu>
References: <321B20D0.7BD1@kayser-threde.de>
Sender: michaeli@ncar.ucar.edu

To: bf@kayser-threde.de
Subject: Re: VxWorks boot from scsi-pcmcia adapters
Newsgroups: comp.os.vxworks
In-Reply-To: <321B20D0.7BD1@kayser-threde.de>
Organization: NCAR
Cc: 
Bcc: michaeli

Hello,

In article <321B20D0.7BD1@kayser-threde.de> you write:
>Hi,
>
>does anybody out there in netland know if it is possible to boot vxworks 
>from a scsi device on Motorola 68k or PPC CPUs, which reads pcmcia flash 
>cards. These are 3 1/2 " devices, which emulate a kind of harddisk and 
>allow standard pcmcia ram cards to be inserted and treated like a 
>removable disk.
>
>I tried this unsuccesfully a few months ago with VMEexec and the 
>standard Motorola Bug, which did not recognize the swiss made scsi 
>"drive" and now the question arises again with vxworks as the OS. 
>If somebody tried this, I'ld like to hear about it.

As far as booting from any device, all you need to do is install the
appropriate driver in the bootrom, and then modify the boot to load from your
device.  The "vxWorks User Manual" has some fairly good information on booting.

With that said, I'm a bit confused by what you are trying to explain.  One of
the areas of confusion, is that there are at least three types of PCMCIA cards
which can be used as disks, not including real disks.  First, there are
straight FLASH cards.  These are rather complex to use as a true disk, because
they require the Microsoft Flash File system (I don't know if Wind River is
planning on supporting this at some point in time, but I've seen it mentioned
in this newsgroup before).  Second, there are SRAM cards with battery backup.
These are relatively easy to use, since all you really need to to do is use
the standard vxWorks RAMdrive device, and layer the vxWorks MSDOS file system
on top of it.  Finally, there are the FLASH cards which contain a chip to
emulate the standard ATA type hard drive interface.

If I understand you right, you have a SCSI PCMCIA card device, and you want to
use the ATA interface FLASH cards in it.  If this is correct, then the
manufacturer of the SCSI PCMCIA device should be responsible for providing
some sort of driver for it.  However, it's possible, or perhaps likely that
the manufacturer has a DOS or UNIX driver for it but no vxWorks driver.  In
this case you will either have to spend a lot of time or money to get one.

In addition, you really need two drivers.  First, you need something to run
the PCMCIA interface and configure it for your cards.  Second, you need an
ATA disk driver for your card.

I have done some PCMCIA work, and I may have part of what you need.
Specifically, I have written what is known as a single point enabler which
configures a Dynatem DMEM20 card to work with a SanDisk ATA FLASH card.  I
have also written an ATA driver which works with SanDisk cards (at least it
works with 5MB and 10MB ones).  The PCMCIA enabler just sets up addresses 
so that the ATA driver can work.

I believe O+R in Germany sells the DMEM20 card under its own name, so if you
were interested in using that instead of your SCSI device, you might save some
effort.   I have been considering putting my driver in the vxWorks archive,
but just haven't done it yet.  If you are interested in it, let me know.

Matt Michaelis
michaeli@ncar.ucar.edu

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

Newsgroups: comp.os.vxworks
Subject: Re: Does 5.3 use interrupts to communicate?
Date: 26 Aug 1996 15:37:11 GMT
From: friedl@cher.heurikon.com (Ted Friedl)
Organization: Heurikon Corporation
Message-ID: <4vsgb7$iqb@badger.heurikon.com>
References: <v0300780dae4250724938@[206.161.148.20]>

In article <v0300780dae4250724938@[206.161.148.20]>,
Lynn W. Becker, II <lbecker@avtec.com> wrote:
>I am assuming that 5.3 (Tornado) uses interrupts to communicate.  I have a
>Heurikon Baja board running 5.2 and a Motorola MV1300 running 5.3 Beta.
>When I do a windsh to connect to the MV1300 the Baja terminal fills with
>these messages...
>
>
>-> interrupt:
>Uninitialized Interrupt!
>Vector number 60 (0-255). non-cpu bus error interrupt
>Program Counter: 0x80052f20
>Status Register: 0x30006703
>interrupt: Error address: 0xff04c240, Error ID: 0x0003
[snip]

Lynn,

With the Baja family, the base of VME A16 space lives at 
local address 0xff040000.  The Baja, therefore, is getting
a bus error accessing 0xc240 of A16 space.  

I assume you are using the sm (or bp) driver - otherwise 
a default Baja BSP does not access A16 space.  The MV1300
probably puts its mailbox at 0xc240 of A16 (check out 
SM_INT_TYPE, SM_INT_ARG1, SM_INT_ARG2 and SM_INT_ARG3 on
the MV1300).

In my mind, the two most likely scenarios are:

    1. The MV1300's mailbox is not at 0xc240 of A16 like
       it says it is.
 
       or

    2. The Baja's mailbox is colliding with the MV1300's.

The second case can only happen if the Baja has a processor
number of 2.  

[The thing that is not clear in my mind is: Why is this not
 seen until starting windsh?  Please give us "netters" more
 information about your system.]

As always, make sure you have your VME system controller
"on" and in the left most slot.

Ted Friedl
Senior Software Engineer
Heurikon Corporation
Madison, WI

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

Newsgroups: comp.os.vxworks
Subject: Req: Driver for Cirrus Logic CD1865/1864/180 octal UART
Date: Tue, 27 Aug 1996 07:51:42 GMT
From: 100567.1652@compuserve.com (Rolf Grzibek)
Organization: Philips BTS
Message-ID: <4vu9co$1rj@news.Dortmund.Germany.EU.net>

Hi all,

does somebody know about a driver for the Cirrus Logic octal serial
communication controllers CD-180, CD-1864, CD-1865? Written by WRS or
others.
They should all be compatiible.

TIA,
Rolf
- --
Rolf Grzibek   100567.1652@compuserve.com

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

Newsgroups: comp.os.vxworks
Subject: IP-488 driver questions!!!
Date: Mon, 26 Aug 1996 15:33:46 +0930
From: Peter Hoffensetz <Peter.Hoffensetz@dsto.defence.gov.au>
Organization: Defence Science & Technology Organisation
Message-ID: <32213E42.538B@dsto.defence.gov.au>

Hi,

I have just purchased a Greenspring IP-488 (IEEE-488
Controller) industry pack which I will be using on 
either a MVME162 or a VIPC616.

I've got a few quotes so far for the VxWorks driver 
for this IP ... all were about TEN times the cost of
the IP!!! 

Does anyone know of any alternative cheaper sources 
for this software?

OR

Has anyone written a driver for this IP? Is this a 
simple task? Do you get enough documentation with the
IP (I haven't recieved it yet)?

Any help is greatly appreciated.

Regards,

Peter Hoffensetz
(Peter.Hoffensetz@dsto.defence.gov.au)

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

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

From rlin@sisa.samsung.com  Tue Aug 27 09:33:03 1996
From: Robert Lin - SISA/Telecom <rlin@sisa.samsung.com>
Date: Tue Aug 27 09:33:05 PDT 1996

subscribe  

From lbecker@avtec.com  Tue Aug 27 10:56:23 1996
From: "Lynn W. Becker, II" <lbecker@avtec.com>
Date: Tue Aug 27 10:56:25 PDT 1996
Subject:  Re: Does 5.3 use interrupts to communicate?
Ted Freidl wrote:

>I assume you are using the sm (or bp) driver - otherwise
>a default Baja BSP does not access A16 space.

This is true.

> The MV1300
>probably puts its mailbox at 0xc240 of A16 (check out
>SM_INT_TYPE, SM_INT_ARG1, SM_INT_ARG2 and SM_INT_ARG3 on
>the MV1300).
>
>In my mind, the two most likely scenarios are:
>
>    1. The MV1300's mailbox is not at 0xc240 of A16 like
>       it says it is.
>
>       or
>
>    2. The Baja's mailbox is colliding with the MV1300's.
>
>The second case can only happen if the Baja has a processor
>number of 2.
>
>[The thing that is not clear in my mind is: Why is this not
> seen until starting windsh?  Please give us "netters" more
> information about your system.]

I changed proc=2 proc=5 (90.0.0.6) and the problem went away.

The config.

Slot 0: Heurikon Baja Processor 0  90.0.0.1   206.161.148.30
Slot 1: Heurikon Baja Processor 1  90.0.0.2
Slot 2: Heurikon Baja Processor 2  90.0.0.3
Slot 3: Heurikon Baja Processor 3  90.0.0.4
Slot 4: MV1301        Processor 4  90.0.0.5

Here are the Mailbox setup values for the MV1301.

#define GCSR_GROUP_ADDR         (0xc2)          /* A15-A8 for brd mbox addr */
#define SM_INT_TYPE             SM_INT_MAILBOX_1    /* 1-byte write mbox int */
#define SM_INT_ARG1             VME_AM_SUP_SHORT_IO /* bus address space */
                                                    /* bus address */
#define SM_INT_ARG2             ((GCSR_GROUP_ADDR << 8) + \
                                (sysProcNumGet() << 4) + 2)
#define SM_INT_ARG3             0x08                /* value (SIG3 bit) */

The processor number is set to 4.  so the address would be c242 for the
mailbox address if I did the arithmetic correct..

The Baja mailboxes are setup using the following

#define SM_INT_TYPE     SM_INT_MAILBOX_1
#endif /* SM_POLL */
#define SM_INT_ARG1     VME_AM_SUP_SHORT_IO
#define SM_INT_ARG2     ((int)((HKBAJA_DEFAULT_BP_MBOX+HKBAJA_MBOX_ADDR_BIAS) |
((USHORT)(sysProcNumGet())<<8)))
#define SM_INT_ARG3     0

#define HKBAJA_DEFAULT_BP_MBOX     0x0021
#define HKBAJA_MBOX_ADDR_BIAS      0xc000

so the Processors A16 Mailboxes would be at

Proc 0:  0xc021
Proc 1:  0xc121
Proc 2:  0xc221
Proc 3:  0xc321
Proc 4:  0xc242

So there appears to be a conflict.... Is this allowed to happen under
VxWorks? It seems like the mailboxes are aligned in A16 space as a function
of ProcNum but are not standard across different boards and BSPs?

______________________________________________________________________
Mr. Lynn W. Becker                      lbecker@avtec.com
Engineer                                (703) 273-2211
Avtec Systems Inc                       (703) 273-1313 FAX
10530 Rosehaven Street, Suite 300       http://www.avtec.com
Fairfax, VA 22030                       

From atp@ssd.ray.com  Tue Aug 27 16:50:08 1996
From: Pickering <atp@ssd.ray.com>
Date: Tue Aug 27 16:50:11 PDT 1996
Subject: Routine daemon
Is there anyone out there in VxWorks land that has source code for a
route-d routing daemon (broadcasts subnet routes) that they would be
willing to share ?
Thanks in advance!!

Allan Pickering,  Raytheon Electronic Systems Division 
1847 West Main Road,
Portsmouth, RI  02871-1087
Phone:  (401) 842-4071           
Email:  atp@ssd.ray.com                     

From daemon@csg.lbl.gov  Wed Aug 28 04:00:47 1996
From: daemon@csg.lbl.gov
Date: Wed Aug 28 04:00:49 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Wed Aug 28 04:00:43 PDT 1996

        Subject: Re: IP-488 driver questions!!!
        Subject: Re: SCRAMNet by Systran, anyone?

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

Newsgroups: comp.os.vxworks
Subject: Re: IP-488 driver questions!!!
Date: 27 Aug 1996 14:31:19 GMT
From: leif@tsl.uu.se (Leif Thuresson)
Organization: The Svedberg Lab
Message-ID: <4vv0rn$i2g@columba.udac.uu.se>
References: <32213E42.538B@dsto.defence.gov.au>

In article <32213E42.538B@dsto.defence.gov.au>, Peter.Hoffensetz@dsto.defence.gov.au says...
>
>Hi,
>
>I have just purchased a Greenspring IP-488 (IEEE-488
>Controller) industry pack which I will be using on 
>either a MVME162 or a VIPC616.
>
>I've got a few quotes so far for the VxWorks driver 
>for this IP ... all were about TEN times the cost of
>the IP!!! 
>
>Does anyone know of any alternative cheaper sources 
>for this software?
>
>OR
>
>Has anyone written a driver for this IP? Is this a 
>simple task? Do you get enough documentation with the
>IP (I haven't recieved it yet)?
>
>Any help is greatly appreciated.
>
>
>
>Regards,
>
>Peter Hoffensetz
>(Peter.Hoffensetz@dsto.defence.gov.au)

I don't know of any free vxWorks driver, but there is a driver for IP-488
in the hideos package ( http://www.aps.anl.gov/asd/controls/hideos/ ).
It's written in C++ and it's supposed to run under the hideos system on a
standalone CPU communicating over the backplane with a another CPU running
vxWorks as an intelligent I/O module. This isn't exactly what you asked for,
but if you are considering writing your own vxWorks driver this driver 
might be of some use to understand how the IP-488 module works.

If you do write your own driver and are willing to share it I'm very
interested !

/Leif		

leif@tsl.uu.se

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

Newsgroups: comp.os.vxworks
Subject: Re: SCRAMNet by Systran, anyone?
Date: Tue, 27 Aug 1996 12:15:27 -0500
From: Shash Chatterjee <ChatterjeeS@cliffy.lmtas.lmco.com>
Organization: Lockheed Martin Tactical Aircraft Systems
Message-ID: <32232D2F.6034@cliffy.lmtas.lmco.com>
References: <4vahnq$2q8@dopey.keithley.com> <4vf0s4$kfg@news.sei.cmu.edu>

Theodore Marz wrote:

> 
> I believe so.  I think that Evans & Sutherland put out a line of image
> generators that are VME based (motorola MVME-147/167?).  One of the
> interfacing options for these systems (ESIG-1000/2000, etc) is SCRAMNET.
> 
> Ted Marz

Although none of our VxWorks/VME systems use SCRAMNet, other people
here have succesfully used them to link PC's and PDP-11s.  From what
I've seen, there's not much to integrate other than to initialize the
cards one time at bootup.  From then on, it looks like memory (ie,
make sure your processor can access the VMEbus space that the 
SCRAMNet card resides on and that the pointers in your code point
to SCRAMNet memory).

Shash
- -- 
+-----------------------------------------------------------------+
+ @WORK: ChatterjeeS@lmtas.lmco.com     @HOME: chatterj@flash.net +
+ Sasvata Chatterjee   |                                          +
+    "SHASH-WATA"      | Lockheed Martin Tactical Aircraft Systems+
+ (817) 763-1495       | Lockheed Boulevard, MZ2118               +
+ (817) 777-2115 (FAX) | Fort Worth, TX 76108                     +
+-----------------------------------------------------------------+

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

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

From leonid@rst.co.il  Wed Aug 28 04:58:27 1996
From: leonid@rst.co.il (Leonid Rosenboim)
Date: Wed Aug 28 04:58:29 PDT 1996
Subject: Web site, news feed
Dear VxWorkers,

I appologize if you get this announcement twice, I have posted it couple of days
ago on the newsgroup, and did not get it back via the exploder mailing list
(yet ?!), so I am giving up, resending the announcement, this
time via the exploder.

For the occasion of moving our Web site to a new server, we are offering
a number of free software modules for VxWorks on the Web, and of course
some product information :-)

Also, we are interested to add more VxWorks-related links to out
page, so if you are aware of any such URL's, please let me know.

Enjoy!
-----------------------------------------------------------------------
Leonid Rosenboim                        Phone:  +972-3-559-8144
R S T  Software Industries Ltd.         Mobile: +972-50-307-142
P.O.Box 11502, AZUR 58017, Israel       Fax:    +972-3-559-8244
WWW: http://www.rst.co.il		E-Mail:	leonid@rst.co.il

From ConradBj@aol.com  Wed Aug 28 09:29:26 1996
From: ConradBj@aol.com
Date: Wed Aug 28 09:29:28 PDT 1996
Subject: 1553 Interface to Motorola MVME167, vxworkd 5.2
How do I set up VX works to enable VME vectored interrupts from 1553
operation.
1553 board is a DDC65522.  I can be reached by telephone at 415-941-1769 or
fax at 415-941-5896 or B. Conrads e-mail. Thanks
Bill Bjorkman.

From goodrich@noao.edu  Wed Aug 28 17:53:38 1996
From: goodrich@noao.edu (Bret Goodrich)
Date: Wed Aug 28 17:53:55 PDT 1996
Subject: Fast Ethernet
Can anyone suggest or recommend 100BaseTX (Fast Ethernet) VME boards
that have VxWorks support?

Thanks,
bret
--------------------  
Bret Goodrich, Gemini 8 Meter Telescopes Project, Tucson, Arizona, USA
Internet: goodrich@gemini.edu     SPAN/HEPNET: noao::goodrich
Phonenet: 1.520.318.8522          Snailnet:    PO Box 26732, Tucson, AZ 85726

From ozkose@venus.aselsan.com.tr  Thu Aug 29 00:42:50 1996
From: Ozgu OZKOSE ERDOGAN <ozkose@venus.aselsan.com.tr>
Date: Thu Aug 29 00:42:52 PDT 1996
Subject: force cpu5v - pentek 4269 interface
Hello,
We have developed a project using force cpu3ce sparc board and 
pentek 4269 dsp board. Now, we are using cpu5v instead of cpu3ce. 
Using cpu5v we have some problems with the interface to pentek 4269.

These two boards are using the 4269s shared memory simultaneously.
But while they are accessing this memory area, SPARC reads some garbage 
data even though we have not encountered any bus error. We can make
SPARC to read the correct data by repeating the bus cycle.

We have checked the cycles with bus analyser but there is no
significant reason for the error. If you any idea on the reason of
problem, please inform us. Any idea will be appriciated.

Hoping to hear from you.

Best Regards,
Ozgu ERDOGAN, 
ozkose@venus.aselsan.com.tr

From daemon@csg.lbl.gov  Thu Aug 29 04:00:20 1996
From: daemon@csg.lbl.gov
Date: Thu Aug 29 04:00:23 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Thu Aug 29 04:00:15 PDT 1996

        Subject: soreceive crashes in 5.1 on a Force 5CE
        Subject: MVME162 Questions : IP & SRAM
        Subject: vxWorks kernel size
        Subject: Re: work queue overflow
        Subject: spy doesn't do anything
        Subject: Re: MVME162 Questions : IP & SRAM
        Subject: sysAuxClk: help using > 1
        Subject: pthreads port to vxworks

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

Newsgroups: comp.os.vxworks
Subject: soreceive crashes in 5.1 on a Force 5CE
Date: 28 Aug 1996 12:07:59 GMT
From: Joerg Albert <eedalb@era-t.ericsson.se>
Organization: Ericsson Radio Systems AB
Message-ID: <501cqv$7n2@erinews.ericsson.se>

Hi all,

we are using VxWorks 5.1 on a Force 5CE Sparc board and
we get a crash ("Memory address not aligned") in soreceive() when we
call read() on a socket with a high data throughput. It seems
that some control data got corrupted. OK, it might be
our application running wild. I don't know the data structures
used by soreceive, so I cannot say if the complete struct is
overwritten or just certain values.

- - Is the network code of VxWorks 5.1 based on some public domain
   sources or elsehow available in source ?
  Or could someone explain the parameters of soreceive to me ?

- - Does anyone knows about similar crashes ( during read/close
  operations on the same socket by different tasks) ?

Thanks for your help !

/Joerg.
- -- 
#include "standard.disclaimer"
- -----------------+--------------------------------------+
| T/BT Joerg Albert            |                                      |
| Ericsson Radio Systems AB    | tel:   +46-8-4045577                 |
| Torshamnsgatan 23, Kista     | fax:   +46-8-7575720                 |
| S-16480 Stockholm, Sweden    | email: Joerg.Albert@eedn.ericsson.se |
+------------------------------+--------------------------------------+

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

Newsgroups: comp.os.vxworks
Subject: MVME162 Questions : IP & SRAM
Date: 28 Aug 1996 02:51:59 GMT
From: steved@pacifier.com@199.2.117.163  (Steve Doiel)
Organization: Pacifier BBS, Vancouver, Wa.  ((360) 693-0325)
Message-ID: <500c8f$3j2@news.pacifier.com>
Reply-To: steved@pacifier.com  (Steve Doiel)

Is it possible to have my application set the IP number of the VxWorks system
during boot time? How?

I would like to use the user defined jumpers on the 162 to select from one of
several IP numbers we use on a small intranet.  I plan to have the software
set the IP number based on these jumpers at boot time.

Also, the MVME 162 we are using has 512K of battery backed SRAM.  How do
I go about making use of this memory?  The BSP manual has a couple of
routines for accessing non-volatile memory, but gives no clue as to what
VxWorks uses and what is available to the application program.

Any assistance would be most appreciated.
steved@woodland.usnr.com

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

Newsgroups: comp.os.vxworks
Subject: vxWorks kernel size
Date: Wed, 28 Aug 1996 09:00:32 -0500
From: Steve Woloschek <woloschekS@med.ge.com>
Organization: GE Medical Systems
Message-ID: <32245100.17C9@med.ge.com>

I am trying to configure a vxWorks 5.3 kernel
with only the following services:

 - multitasking
 - message queues
 - binary semaphores

i.e. no networking, no tty, no formatted io, etc.

I can only get the image size down to ~90K.
There are still alot of other librarires being
brought in for some unknown reason.

I think this functionality should only consume
~32K at the most. 

Does anyone know how to get an extremely small
kernel?

Steve Woloschek			woloschekS@med.ge.com
GE Medical Systems

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

Newsgroups: comp.os.vxworks
Subject: Re: work queue overflow
Date: 27 Aug 1996 19:01:54 GMT
From: David Meeks <meeks>
Organization: Siemens Medical Systems, Ultrasound Group
Message-ID: <4vvgn2$7jf@hood.sqi.com>
References: <321F7F76.D0B@aminet.co.kr>

I had this same error a couple of years ago on a MC68040.  It turned out that
I was not disabling interrupts from my serial port controller in my ISR so
eventually the workQ filled up.

Hope this helps,

Dave Meeks
Siemens Medical Systems.

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

Newsgroups: comp.os.vxworks
Subject: spy doesn't do anything
Date: 28 Aug 1996 17:04:55 -0400
From: smarple@aol.com (Smarple)
Organization: America Online, Inc. (1-800-827-6364)
Message-ID: <502c9n$g09@newsbf02.news.aol.com>
Reply-To: smarple@aol.com (Smarple)
Sender: root@newsbf02.news.aol.com

Working with VxWorks 5.1.1 and VADS, and a large number of tasks (>150),
spy just returns without generating any output (at least within what seems
to be a reasonable amount of time).  Please don't ask why there are so
many tasks -- it's not my project.  :)

spyReport doesn't produce any output either.  Is there a known (spy)
problem with large numbers of tasks?  I cannot say that there was no
modification to the kernel which precludes spy from working.  Running spy
with a frequency of 30 seconds didn't help.

Thanks

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

Newsgroups: comp.os.vxworks
Subject: Re: MVME162 Questions : IP & SRAM
Date: 28 Aug 1996 15:45:00 -0600
From: bgeer@xmission.xmission.com (bgeer)
Organization: XMission Internet (801 539 0900)
Message-ID: <502eks$158@xmission.xmission.com>
References: <500c8f$3j2@news.pacifier.com>

steved@pacifier.com@199.2.117.163  (Steve Doiel) writes:

 >Is it possible to have my application set the IP number of the VxWorks system
 >during boot time? How?

 >I would like to use the user defined jumpers on the 162 to select from one of
 >several IP numbers we use on a small intranet.  I plan to have the software
 >set the IP number based on these jumpers at boot time.

The network interfaces are initialized in:
	<vw distribution>/src/config/usrNetwork.c

look for usrNetIfAttach() & usrNetIfConfig().  I've made flash
rom'able kernels with networking included & with the bootup
network initialization disabled, then included network initialization
function calls in my startup script.

 >Also, the MVME 162 we are using has 512K of battery backed SRAM.  How do
 >I go about making use of this memory?  The BSP manual has a couple of
 >routines for accessing non-volatile memory, but gives no clue as to what
 >VxWorks uses and what is available to the application program.

How do you want to use it?  One way is to use it with:
	<vw distribution>/src/usr/ramDrv.c
as a ram disk...

- -- 
<> Robert Geer & Donna Tomky /              *             <>
<>    bgeer@xmission.com    |    _o      *   o *      o   <>
<>   Salt Lake City, Utah   |   -\<,      * <\      </L   <>
<>          U S A           |   O/ O     __ /__,    />    <>

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

Newsgroups: comp.os.vxworks
Subject: sysAuxClk: help using > 1
Date: Mon, 26 Aug 1996 09:07:48 -0700
From: Dave Mack <lnustoc.jzgmwk@eds.com>
Organization: EDS/Controls group
Message-ID: <3221CBD4.7DB@eds.com>

Hello,
I would greatly appreciate tips on how to use more than one 
Aux.clock. 
I am using a MVME68060. My code uses one of the board's aux. clocks 
for polling I/O using the sysAuxClk functions.  I am trying to also 
use StethoScope but am not able to because it also requires the use 
of an aux. clock.  It seems I might have to write drivers to use the 
other aux. clocks on by board?

Thanks for any help...if I do need to write a driver any code/tips 
are also greatly appreciated.

David Mack
EDS
300 E.Big Beaver Rd.
Troy, MI 48083
- ------------    lnustoc.jzgmwk@eds.com   ---------------

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

Newsgroups: comp.os.vxworks
Subject: pthreads port to vxworks
Date: 27 Aug 1996 15:35:35 -0600
From: kscdenv@stout.entertain.com (Greg Greene)
Organization: ABWAM, Inc., full service ISP, voice: 1+ 303 730-6050
Message-ID: <4vvpn7$mla@stout.entertain.com>

Is there a public domain port of pthreads to vxWorks available?

Thanks

Greg Greene
KineticSystems Corp.
303-220-7455 x13

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

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

From prb@aplexus.jhuapl.edu  Thu Aug 29 04:57:53 1996
From: prb@aplexus.jhuapl.edu (Paul R. Bade)
Date: Thu Aug 29 04:57:56 PDT 1996
Subject: Re: Fast Ethernet

Bret Goodrich writes:

>  
> Can anyone suggest or recommend 100BaseTX (Fast Ethernet) VME boards
> that have VxWorks support?
> 

You should check with VI Computer (800) VME-CPUS

We are using their Power4B (PowerPC 604e) board which
has all I/O out the P2 connector including 100BaseT4.
It also has a AUI interface, SCSI, four RS-232 ports, etc.

I believe that they also make a version that
has 100BaseTX out of the front panel.

+====================================================================+
|       __     ____         __     __                                |
|      /\ \   /  \ \       /\_\__ /\ \      Johns Hopkins University |
|     /  \_\ | /\ \ \     / / /\_\\ \ \     Applied Physics Lab.     |
|    / /\ | |\ \/  \ \   / / / / / \ \ \                             |
|   /  \/ |_| \  /\ \_\ / / / / /   \ \ \   Paul R. Bade             |
|  / /\__/_/   \ \ \/_// / / / /    / / /   (301)-953-6000 x8681     |
| / / /         \ \_\  \ \/ / /    / / /    prb@aplexus.jhuapl.edu   |
| \/_/           \/_/   \__/_/     \/_/                              |
|               __     ____         __       __                      |
|              /\ \   /  \ \       /\ \     /\ \                     |
|             /  \_\ | /\ \ \     /  \_\   /  \ \                    |
|            / /\ | |\ \/  \ \   / /\ |_| / /\ \ \                   |
|           /  \/ |_| \  /\ \_\ / / / | | \/ /  \ \                  |
|          / /\  / /   \ \ \/_// / / / /    / /\ \_\                 |
|          \ \/ / /     \ \_\  \ \/ / /     \/ / / /                 |
|           \__/_/       \/_/   \__/_/        /_/_/                  |
|                                                                    |
+====================================================================+

From froeber@bbn.com  Thu Aug 29 07:23:44 1996
From: Fred Roeber <froeber@bbn.com>
Date: Thu Aug 29 07:23:47 PDT 1996
Subject: Re: MV162 SRAM
Steve Doiel asks:

> Also, the MVME 162 we are using has 512K of battery backed SRAM.  How do
> I go about making use of this memory?  The BSP manual has a couple of
> routines for accessing non-volatile memory, but gives no clue as to what
> VxWorks uses and what is available to the application program.

The battery backed SRAM on the 162 boards is somewhat unusual in terms
of board designs.  It is distinct from the "NVRAM" on the board which
uses an 8KB memory block inside the real time clock chip.  That NVRAM
area has very specific uses in VxWorks.  The board also has DRAM
memory which is what VxWorks uses as the "RAM" when it runs the system.
The SRAM, on the other hand, isn't used explicitely by VxWorks at all
and is available for any type of application use.  To use it you simply
set a pointer to its local address and store whatever you want there.
Hope this helps.   Fred

-- 
   |     Fred J Roeber,  BBN Systems & Technologies     |
   |  50 Enterprise Place   Middletown, RI  02842-5202  |
   |       froeber@bbn.com     401-849-2543 (X48)       |
   |   See http://www.bbn.com/tv for TraceMaker info    |

From stan@rti.com  Thu Aug 29 11:51:40 1996
From: Stan Schneider <stan@rti.com>
Date: Thu Aug 29 11:51:42 PDT 1996
Subject: Re: sysAuxClk: help using > 1

>> Newsgroups: comp.os.vxworks
>> Date: Mon, 26 Aug 1996 09:07:48 -0700
>> From: Dave Mack <lnustoc.jzgmwk@eds.com>

>> I would greatly appreciate tips on how to use more than one 
>> Aux.clock. 
>> I am using a MVME68060. My code uses one of the board's aux. clocks 
>> for polling I/O using the sysAuxClk functions.  I am trying to also 
>> use StethoScope but am not able to because it also requires the use 
>> of an aux. clock.  It seems I might have to write drivers to use the 
>> other aux. clocks on by board?
>> 

Two comments:

First, StethoScope's demo program uses the aux clock by default, but there are
many other ways to collect data.  Contact "support@rti.com" if you have
questions.

Second, we have drivers for the two extra clocks on the vme2 chip; I'm sure
that's on the mv147 boards, it's probably on yours too.  The drivers are free
for the asking; contact me or "support@rti.com".

HTH,

        -- Stan

=============================================================================
=                                           =                               =
=   Stan Schneider                          =   email: stan@rti.com         =
=   Real-Time Innovations, Inc.             =   Phone: (408) 720-8312 x104  =
=   155A Moffett Park Drive, Suite 111      =   Fax:   (408) 734-5009       =
=   Sunnyvale, CA 94089                     =   http://www.rti.com          =
=                                           =                               =
=============================================================================

From budh@venus.gvg.tek.com  Thu Aug 29 13:10:14 1996
From: budh@venus.gvg.tek.com (Bud Hensley)
Date: Thu Aug 29 13:10:16 PDT 1996
Subject: Two Ethernets

Has anyone run the Motorola MC68EN360 processor at 25mHZ
with two ethernets. There is a controversy on performance,
if two can be active the same time. Does the CPM risc have
enough horsepower to run 2 copies of the ethernet protocol
microcode at the same time.

Thanks,

Sheridan

email: Sheridan.Hensley@tek.com

From tkb@mclean.sparta.com  Thu Aug 29 14:22:27 1996
From: "Thomas K. Buchanan" <tkb@mclean.sparta.com>
Date: Thu Aug 29 14:22:29 PDT 1996
Subject: Re: Two Ethernets
At 01:10 PM 8/29/96 PDT, you wrote:
>Submitted-by budh@venus.gvg.tek.com  Thu Aug 29 13:10:14 1996
>Submitted-by: budh@venus.gvg.tek.com (Bud Hensley)
> 
>
>Has anyone run the Motorola MC68EN360 processor at 25mHZ
>with two ethernets. There is a controversy on performance,
>if two can be active the same time. Does the CPM risc have
>enough horsepower to run 2 copies of the ethernet protocol
>microcode at the same time.

It is my understanding that the '360 can only physically and electrically
support one 10Mbit/s interface at a time.  At least that is what my
technical manual says...

adios
-----------------------------------------  
     /\\     Keith Buchanan 
    ///\\    
   /////\\   SPARTA, Inc. 
  /////  \\  7926 Jones Branch Drive
 / \\\\\  \\ Suite 900
 \  \\\\\ // McLean, VA 22102 
  \  //////  
   \//////   Voice: 703 448 0210
    \////    FAX:   703 893 5494
     \//     WWW:   www.mclean.sparta.com

From daemon@csg.lbl.gov  Fri Aug 30 04:00:54 1996
From: daemon@csg.lbl.gov
Date: Fri Aug 30 04:00:57 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Fri Aug 30 04:00:51 PDT 1996

        Subject: Re: Fast Ethernet
        Subject: Re: Force SPARC target
        Subject: RPC 4.0 for VxWorks..
        Subject: vxWorks benchmarks?

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

Newsgroups: comp.os.vxworks
Subject: Re: Fast Ethernet
Date: 29 Aug 1996 15:04:47 GMT
From: friedl@cher.heurikon.com (Ted Friedl)
Organization: Heurikon Corporation
Message-ID: <504bif$klb@badger.heurikon.com>
References: <199608290053.RAA27489@icarus.gemini.edu>

In article <199608290053.RAA27489@icarus.gemini.edu>,
Bret Goodrich <goodrich@noao.edu> wrote:
>Can anyone suggest or recommend 100BaseTX (Fast Ethernet) VME boards
>that have VxWorks support?

Bret,

The Heurikon BajaNet has VxWorks support and can support one or
two 100BaseTX ports.  http://www.heurikon.com/products/BajaNet.html
tells the story.

The BajaNet uses the Baja4700 (MIPS 4700 processor) as a platform
for Fast Ethernet.  What the web page does not say is a similar product
will be available using the Baja68k (Mot 68LC040, 040 or 060 processor)
and VxWorks 5.3, if it is not available already.

Ted Friedl
Senior Software Engineer
Heurikon Corporation
Madison, WI

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

Newsgroups: comp.os.vxworks
Subject: Re: Force SPARC target
Date: 29 Aug 1996 20:54:18 GMT
From: pww@cray.com (Paul Wells)
Organization: Cray Research, Inc.
Message-ID: <50501q$h2f@walter.cray.com>
References: <n1371314644.2115@Quickmail_Server_II>

In article <n1371314644.2115@Quickmail_Server_II>,
Robert Redfield <robert@orincon.com> wrote:
>                       Subject:                               Time:1:42 PM
>  OFFICE MEMO          Force SPARC target                     Date:8/23/96
>
>Any opinions, comments or experiences running VxWorks on Force 5V, or 20?

We've started using the Force 5V on a project here, and it seems like an
excellent board.  It's a fairly complete clone of the Sun SPARCstation 5
(with the addition of an SBus/VME bridge), which we've been running VxWorks 
on for several years now.

- - Paul Wells
  Silicon Graphics, Inc.

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

Newsgroups: comp.os.vxworks
Subject: RPC 4.0 for VxWorks..
Date: Thu, 29 Aug 1996 10:05:50 +0100
From: Pankaj Shroff <pankaj@altatech.com>
Organization: Alta Technology Corporation
Message-ID: <32255D6E.64CE@altatech.com>

i am porting code running on IRIX/SGI to VxWorks/DECAlpha 
i am using version 3.2 of VxWorks from DEC. 
i have run into problems related to RPC/XDR library of VxWorks.
is there a more recent implementation of rpc (like rpc4.0) for
DEC/VxWorks. ?
also, i was trying to port the sun rpc4.0/xdr routines to VxW myself
but had problems particularly with xdr_float() and xdr_double() 
routines. they work at times and then suddenly crash!
are these bugs on VxW only ? are there any fixes ?

thank you much

- -pps, altatech.

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

Newsgroups: comp.os.vxworks
Subject: vxWorks benchmarks?
Date: Thu, 29 Aug 1996 11:15:39 -0800
From: mlang@tsunami.jpl.nasa.gov (M Lang)
Organization: JPL
Message-ID: <mlang-2908961115390001@truck.jpl.nasa.gov>

Hi,

Are there any benchmark codes that I can run on different
vxWorks targets (68k, ppc, mips etc..) to get some performance 
numbers? I would appreciate any pointers. Thanks a lot.

 - Minh -

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

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

From al@columbia.mcd.mot.com  Fri Aug 30 07:32:32 1996
From: Al Currano <al@columbia.mcd.mot.com>
Date: Fri Aug 30 07:32:35 PDT 1996
Subject: Fast Ethernet; PowerPC VME Boards & VX/Works
| Bret Goodrich writes:
|
| >
| > Can anyone suggest or recommend 100BaseTX (Fast Ethernet) VME boards
| > that have VxWorks support?
| >

Motorola Computer Group has announced a new family of PowerPC-based VME 
Single Board Computers (SBCs) based on the new PowerPlus architecture 
which I strongly recommend you take a look at for your application. 
There are versions which support both 100BaseTx and 100BaseT4. A 
VX/Works board support package is also available.

The PowerPlus architecture is a radical improvement over existing SBC 
architectures. It incorporates a state-of-the-art memory controller 
(Falcon) which takes full advantage of PowerPC address pipelining and 
provides interleaved access to a 144-bit main memory bus to deliver a 
processor memory bandwidth up to 400+ Mbytes/sec -- three times the 
speed of existing implementations. PowerPlus also incorporates the Raven 
PCI bridge chip which supports 64-bit PCI for a maximum throughput of 64 
MBytes/sec on the PCI local bus. All other VME implementations I am 
aware of support only 32 bit PCI transfers.

PowerPlus includes two series of VME boards: the MVME2600 series is a 
single-slot, full-featured SBC series with either the MPC603e (200 MHz) 
or MPC604e (166MHz & 200 MHz) PowerPC processor, up to 256 MB ECC 
memory, up to 9 MB Flash, Ethernet (10 Mbit or 100 MBit), fast/wide 
SCSI, 4 serial ports (2 async, 2 synchronous) parallel port, floppy, 
keyboard & mouse interfaces; the MVME3600 is a 2 slot board series which 
adds SVGA graphics w/2MB Video RAM, up to 1 GByte ECC memory and 
optional dual ethernet and SCSI interfaces. Both series can be ordered 
optionally with 256K L2 cache. Both series of boards support one PCI 
Mezzanine Card (PMC) onboard, and two additional PMC cards via an 
attached carrier board.

You can order these boards from Motorola now. List prices start at $4495 
(quantity 1). Production shipments of some models will start in 
September; production shipments of other models will follow in October.

Call you local Motorola Computer Group sales office for more info, or 
look us up on the Web at http://www.mot.com/computer/. Or feel free to 
call or E-mail me if you have any questions.

-- 
Al Currano                     _/      _/    _/_/_/_/_/    _/_/_/_/_/
al_currano@mcg.mot.com         _/_/  _/_/    _/      _/    _/      _/ 
Motorola Computer Group        _/ _/_/ _/    _/            _/
8945 Guilford Rd., Ste 145     _/  _/  _/    _/            _/
Columbia, MD  21046            _/      _/    _/            _/    _/_/
Phone:   (410)  312-5930       _/      _/    _/      _/    _/      _/
FAX:     (410)  381-4496       _/      _/    _/_/_/_/_/    _/_/_/_/_/

From schen3@ccgate.hac.com  Fri Aug 30 09:18:26 1996
From: schen3@ccgate.hac.com
Date: Fri Aug 30 09:18:28 PDT 1996
Subject: How to verifying a BSP
     
     How do I test or verify a BSP from my supplier?  Is there a general 
     procedure on document available out there?
     
     Regard,
     Steven Chen
     schen3@ccgate.hac.com

From MikeMcQuade@connect.com  Fri Aug 30 09:50:21 1996
From: Mike McQuade <MikeMcQuade@connect.com>
Date: Fri Aug 30 09:50:23 PDT 1996
Subject: Re: Fast Ethernet; PowerPC VME Boards & VX/Works
At 07:32 AM 8/30/96 PDT, you wrote:
>Submitted-by al@columbia.mcd.mot.com  Fri Aug 30 07:32:32 1996

>The PowerPlus architecture is a radical improvement over existing SBC 
>architectures. It incorporates a state-of-the-art memory controller 
>(Falcon) which takes full advantage of PowerPC address pipelining and 
>provides interleaved access to a 144-bit main memory bus to deliver a 
>processor memory bandwidth up to 400+ Mbytes/sec -- three times the 
>speed of existing implementations. PowerPlus also incorporates the Raven 
>PCI bridge chip which supports 64-bit PCI for a maximum throughput of 64 
>MBytes/sec on the PCI local bus. All other VME implementations I am 
>aware of support only 32 bit PCI transfers.
>

I think thats 264 Mbytes / Sec on the PCI bus.

A couple of other things I like about the new Moto card are:

the RAVEN ASIC which allows interrupts to be prioritized, this card unlike
most of the other PowerPC VME cards will allow a VME interrupt to be higher
priority than a Keyboard int.

The Newbridge PCI-VME chip should be a major improvement over the MVME-160x
boards, VMECHIP2 VME2PCI combo.

Mike.

MikeMcQuade@connect.com

From jlao@yurie.com  Fri Aug 30 11:21:08 1996
From: jlao@yurie.com
Date: Fri Aug 30 11:21:11 PDT 1996
Subject: vxgdb 

Hi,

Is there anybody exprienced the cursor of the VxGDB/MIPS 2.0
disappear when you setp into a function. We have
the source of the function, and we remove the optimization option.
The VxWork version we use is 5.2.

We posted this question to windriver and their response is that
the source should be match with the object file. And after
that we get run around of answer.

Is there anybody could send us a hint to fix this problem.

Thanks,

James

From al@columbia.mcd.mot.com  Fri Aug 30 13:29:24 1996
From: Al Currano <al@columbia.mcd.mot.com>
Date: Fri Aug 30 13:29:26 PDT 1996
Subject: Motorola PowerPlus VME Boards - Correction & Addition
My apologies for a typographical error in my earlier message.

The 64 bit PCI local bus used in Motorola's PowerPlus VME boards (MVME26 
and MVME360 series) is capable of achieving a maximum throughput of 264 
MBytes/sec, not 64 MBytes/sec.

-- 
Al Currano                     _/      _/    _/_/_/_/_/    _/_/_/_/_/
al_currano@mcg.mot.com         _/_/  _/_/    _/      _/    _/      _/ 
Motorola Computer Group        _/ _/_/ _/    _/            _/
8945 Guilford Rd., Ste 145     _/  _/  _/    _/            _/
Columbia, MD  21046            _/      _/    _/            _/    _/_/
Phone:   (410)  312-5930       _/      _/    _/      _/    _/      _/
FAX:     (410)  381-4496       _/      _/    _/_/_/_/_/    _/_/_/_/_/

From stan@rti.com  Fri Aug 30 14:35:51 1996
From: Stan Schneider <stan@rti.com>
Date: Fri Aug 30 14:35:53 PDT 1996
Subject: Re: RPC 4.0 for VxWorks..
>> Date: Thu, 29 Aug 1996 10:05:50 +0100
>> From: Pankaj Shroff <pankaj@altatech.com>

>> i am porting code running on IRIX/SGI to VxWorks/DECAlpha 
>> i am using version 3.2 of VxWorks from DEC. 
>> i have run into problems related to RPC/XDR library of VxWorks.
>> is there a more recent implementation of rpc (like rpc4.0) for
>> DEC/VxWorks. ?
>> also, i was trying to port the sun rpc4.0/xdr routines to VxW myself
>> but had problems particularly with xdr_float() and xdr_double() 
>> routines. they work at times and then suddenly crash!
>> are these bugs on VxW only ? are there any fixes ?
>> 

There's a bug in xdr_double() for little-endian architectures (like Alpha) in
versions of VxWorks prior to 5.3 (including all DEC versions).  I've appended
the fixed code; compile it & load it before your app.

HTH,

        -- Stan
           stan@rti.com

========================================================================

#include <rpc/rpctypes.h>
#define RTI_ENDIAN_LITTLE

bool_t
xdr_double( XDR *xdrs, double *dp)
{
    register long *lp;

    switch (xdrs->x_op) {

    case XDR_ENCODE:
        lp = (long *)dp;

        #if defined(RTI_ENDIAN_LITTLE)
          return (XDR_PUTLONG(xdrs, lp+1) && XDR_PUTLONG(xdrs, lp));
        #else
          return (XDR_PUTLONG(xdrs, lp) && XDR_PUTLONG(xdrs, lp+1));
        #endif
        break;

    case XDR_DECODE:
        lp = (long *)dp;
        #if defined(RTI_ENDIAN_LITTLE)
          return (XDR_GETLONG(xdrs, lp+1) && XDR_GETLONG(xdrs, lp));
        #else
          return (XDR_GETLONG(xdrs, lp) && XDR_GETLONG(xdrs, lp+1));
        #endif
        break;

    case XDR_FREE:
        return (TRUE);
        break;
    }
    return (FALSE);
}

From isys!isys.com!kareem@uunet.uu.net  Fri Aug 30 18:12:56 1996
From: kareem@isys.com (Kareem Fawell)
Date: Fri Aug 30 18:12:58 PDT 1996
Subject: Subject: Sockets with a timeout
Hello:

I am using SOCK_STREAM type sockets and I would like to have a connect
and read with a timeout.  If I were using UNIX I could do something
with signals, but this is not supported on vxWorks.  Any ideas would be
appreciated.

Kareem Fawell
Isys Controls, Inc
Alameda, CA 94501

From daemon@csg.lbl.gov  Sat Aug 31 04:02:02 1996
From: daemon@csg.lbl.gov
Date: Sat Aug 31 04:02:04 PDT 1996
Subject: comp.os.vxworks newsdigest
Comp.Os.Vxworks Daily Digest    Sat Aug 31 04:01:59 PDT 1996

        Subject: How to detect end of socket connection
        Subject: Re: No UDP packet
        Subject: Re: soreceive crashes in 5.1 on a Force 5CE
        Subject: Re: MVME162 Questions : IP & SRAM
        Subject: Re: Routine daemon
        Subject: Re: MVME162 Questions : IP & SRAM
        Subject: Scheme , SCM , Guile , port

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

Newsgroups: comp.os.vxworks
Subject: How to detect end of socket connection
Date: 30 Aug 1996 19:08:32 GMT
From: junkes@scrutinizer.fhi-berlin.mpg.de (Heinz Junkes)
Message-ID: <507e7g$j6v@fu-berlin.de>

I have open a socket connection with socket, bind, listen, accept

then i read endless commands form the connection.....
now the other computer crached .....
the read request gets now always data ... without end 

How can i check that a connection is still alive ???

Heinz

- -----------------------------------------------------------------------------
   Fritz-Haber-Institut    | Phone:         (+49 30) 8413-4270
   Heinz Junkes            | Fax (G3+G4):   (+49 30) 8413-5900
   Faradayweg 4-6          | E-Mail:        junkes@fhi-berlin.mpg.de
   D - 14195 Berlin        | NeXT-Mail:     junkes@mynext.rz-berlin.mpg.de 
- -----------------------------------------------------------------------------

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

Newsgroups: comp.os.vxworks
Subject: Re: No UDP packet
Date: Wed, 28 Aug 1996 22:13:25 GMT
From: chaos@idiom.com (H.J. Bae)
Organization: Peaceful Star
Message-ID: <502g9o$m7k@idiom.com>
References: <3221CCFD.794B@boris.msfc.nasa.gov>
Reply-To: hjb@peacefulstar.oakland.ca.us

David Perkinson <perkinsond@boris.msfc.nasa.gov> wrote:

>typedef struct tlMessageType
>{
>   short int  messageType;
>   short int  tlVersion;
>   short int  objectId;
>   short int  objectSize;
>   char data[4096];
>} TLMESSAGETYPE;

The problem is here.  char data[4096] makes TLMESSAGETYPE size to be
larger than maximum default UDP message size allowed to be sent on
VxWorks.  

You can print the current limit for max UDP datagram size you can send
from the shell:

- -> udp_sendspace

By default, it is set to 2048.   This is a BSD Tahoe legacy.  Most
modern TCP/UDP/IP code has increased this number.  

You can easily make this limit higher either from the shell or in your
code using the global udp_sendspace:

- -> udp_sendspace=5*1024

for example.

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

Newsgroups: comp.os.vxworks
Subject: Re: soreceive crashes in 5.1 on a Force 5CE
Date: Wed, 28 Aug 1996 21:16:38 GMT
From: chaos@idiom.com (H.J. Bae)
Organization: Peaceful Star
Message-ID: <502cv8$jh9@idiom.com>
References: <501cqv$7n2@erinews.ericsson.se>
Reply-To: hjb@peacefulstar.oakland.ca.us

Joerg Albert <eedalb@era-t.ericsson.se> wrote:

>- Is the network code of VxWorks 5.1 based on some public domain
>   sources or elsehow available in source ?
>  Or could someone explain the parameters of soreceive to me ?

ftp://gatekeeper.dec.com/pub/BSD/net1/src/sys/sys/uipc_socket.c.Z

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

Newsgroups: comp.os.vxworks
Subject: Re: MVME162 Questions : IP & SRAM
Date: Wed, 28 Aug 1996 21:18:53 GMT
From: chaos@idiom.com (H.J. Bae)
Organization: Peaceful Star
Message-ID: <502d3f$jh9@idiom.com>
References: <500c8f$3j2@news.pacifier.com>
Reply-To: hjb@peacefulstar.oakland.ca.us

steved@pacifier.com@199.2.117.163  (Steve Doiel) wrote:

>Is it possible to have my application set the IP number of the VxWorks system
>during boot time? How?

in usrConfig.c, after usrNetInit(), call
ifAddrSet("ei0","xxx.xxx.xxx.xxx");

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

Newsgroups: comp.os.vxworks
Subject: Re: Routine daemon
Date: Wed, 28 Aug 1996 21:22:03 GMT
From: chaos@idiom.com (H.J. Bae)
Organization: Peaceful Star
Message-ID: <502d9d$jh9@idiom.com>
References: <199608272348.TAA29078@grouper.ssd.ray.com>
Reply-To: hjb@peacefulstar.oakland.ca.us

Pickering <atp@ssd.ray.com> wrote:

>Is there anyone out there in VxWorks land that has source code for a
>route-d routing daemon (broadcasts subnet routes) that they would be
>willing to share ?

ftp://ftp.atd.ucar.edu/pub/vxworks/vx/vxrouted*  (in 8 parts)

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

Newsgroups: comp.os.vxworks
Subject: Re: MVME162 Questions : IP & SRAM
Date: 31 Aug 1996 02:45:04 GMT
From: steved@pacifier.com@199.2.117.163  (Steve Doiel)
Organization: Pacifier BBS, Vancouver, Wa.  ((360) 693-0325)
Message-ID: <5088vg$2gg@news.pacifier.com>
References: <500c8f$3j2@news.pacifier.com> <502d3f$jh9@idiom.com>
Reply-To: steved@pacifier.com  (Steve Doiel)

In <502d3f$jh9@idiom.com>, chaos@idiom.com (H.J. Bae) writes:
>steved@pacifier.com@199.2.117.163  (Steve Doiel) wrote:
>
>>Is it possible to have my application set the IP number of the VxWorks system
>>during boot time? How?
>
>in usrConfig.c, after usrNetInit(), call
>ifAddrSet("ei0","xxx.xxx.xxx.xxx");
>
Thanks!

I was kind of guessing this might be the case, but didn't know if VxWorks
would be happy if you change the IP address after it is initially set based on
the default command line string.

SteveD

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

Newsgroups: comp.os.vxworks
Subject: Scheme , SCM , Guile , port
Date: 30 Aug 1996 15:34:23 GMT
From: constant@alph04.triumf.ca (Constantin Vrinceanu)
Organization: The University of British Columbia
Message-ID: <CONSTANT.96Aug30083423@alph04.triumf.ca>

Has anyone tried/succeded/failed doing a port of some Scheme
implementation (on VxWorks) ?

Siod should be easy (i think), but i would want more.

Thank you in advance.
- -- 
Constantin 7306

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

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