'\"macro stdmacro
.if n .pH g1a.pump @(#)pump	40.5 of 10/10/89
.\" Copyright 1989 AT&T
.nr X
.if \nX=0 .ds x} pump 1M "Essential Utilities" "\&"
.if \nX=1 .ds x} pump 1M "Essential Utilities"
.if \nX=2 .ds x} pump 1M "" "\&"
.if \nX=3 .ds x} pump "" "" "\&"
.TH \*(x}
.SH NAME
\f4pump\f1 \- Download B16 or X86 \f4a.out\f1 file to a peripheral board
.SH SYNOPSIS
\f4/sbin/pump /dev/\f2devname file\f1
.SH DESCRIPTION
The
\f4pump\fP
command will read a B16 or X86 \f4a.out\f1
file's sections into a buffer according to the physical address of the section.
The command can be used only by the super-user.
\f4pump\fP
expects a section in the \f4a.out\f1
file
called \f4.start\f1.
Once it has found this section,
\f4pump\fP
will inform the peripheral to start executing at the address
that it found in \f4.start\f1
after it has downloaded the
\f4a.out\f1
file.
.PP
There are four phases of the pump operation:
.sp
.TP 15
reset
This phase will cause a hardware reset on the peripheral.
.sp
.TP 15
download
This phase will download the
\f4a.out\f1
file to the peripheral.
.sp
.TP 15
force call to function
This phase will inform the peripheral to start executing at the address
found in the \f4.start\f1 section.
.sp
.TP 15
sysgen
This phase will
\f4sysgen\f1
the peripheral.
It allows normal functioning of the peripheral to occur.
.sp
.SS Error Messages
\f4pump error: \f2\s-1UNIX\s+1_error_number\f4 \- Can't get status of /dev/\f2devname\f1
.sp
There may be no
\f4/dev/\f2devname\f1.
.sp
\f4pump Error: \f2error_number\f4 \- ioctl call\f1
.sp
The \f4ioctl\f1 call failed.
The \f2error_number\f1 returned can be a \s-1UNIX\s+1 system error number
or,
in the case of the NI,
an error number of \f4208\f1.
Error number \f4208\f1 is a timeout message.
The peripheral board did not respond in time
to the request made of it (this is not the only error,
see
\f4intro\fP(2)
for a complete list).
.sp
\f4Can't open a.out filename for reading!\f1
.sp
The error may be that there is no such file or
the permissions are such that the file cannot be read [see
\f4chmod\fP(1)].
.sp
\f4Error: Object file is not in b16 or x86 common object format\f1
.sp
The file to be downloaded to the peripheral is not a B16 or X86 \f4a.out\f1
file.
.sp
\f4Section size is too big for the buffer\f1
.sp
The
\f4a.out\f1
file may be greater that the 32K bytes that is the limit of RAM on the peripheral.
.sp
\f4Error: No section name called .start\f1
.sp
\f4pump\fP
needs \f4.start\f1 for the starting address that the peripheral needs to execute
the downloaded code.
.sp
\f4pump: /dev/\f2devname\f4 returned a CIO FAULT during phase\f1
.sp
The peripheral encountered a hardware fault during one of the phases of the pump.
.sp
\f4pump: /dev/\f2devname\f4 returned a CIO Invalid Queue Entry during phase\f1
.sp
The peripheral did not understand the command phase that was issued by
\f4pump\fP.
.sp
\f4pump: /dev/\f2devname\f4 did not respond during phase\f1
.sp
The \s-1UNIX\s+1 system driver called may not have understood the command.
.sp
\f4pump: A timeout has occurred on /dev/\f2devname\f4 during phase\f1
.sp
The peripheral did not respond to one of the commands given.
.sp
\f4pump: There was no return code for /dev/\f2devname\f4 during phase\f1
.sp
The return code that was given may have been corrupted.
.SH SEE ALSO
\f4intro\fP(2),
\f4a.out\fP(4).
.Ee
