home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
rtsi.com
/
2014.01.www.rtsi.com.tar
/
www.rtsi.com
/
OS9
/
OSK
/
TELECOM
/
mtp.lzh
/
README.1st
< prev
Wrap
Text File
|
1993-09-05
|
4KB
|
106 lines
MTP - a Module Transfer Programme
=================================
Mtp is one solution to the missing link needed to make OS-9 usable
in much the same sort of environment as VxWorks provides. That is, an
embedded diskless OS-9 node (or nodes) connected to a cross-development
workstation via TCP/IP, with executables being downloaded from the host
directly into the memory of the targets for execution.
What does mtp consist of? Mtp allows you to transfer OS-9 memory
modules stored in files on the host's file system into the OS-9 system's
memory space, where they are added into the memory module list. Just the
same effect as the OS-9 load command. EXCEPT that if you try to download a
module and there already exists one with that name, then the one in the
memory is removed and replaced with the new one. It is also possible to
copy modules from the OS-9 system's memory into files on the host. In
operation, the user interface on the host is very much like ftp. See the
man page mtp.l for more details.
Details on the communication sequence are given in the file ReadMe.
There is a daemon (mtpd) that runs on the OS-9 target. There is programme
for the host (mtp) that makes contact with the daemon. (The port number
used is currently fixed within the code.) The daemon forks off a handler
(mtpdc) which interacts with mtp to handle module transfers. The handler
uses a child process (mtpvalid) to add modules to the memory module list.
By the way, mtp was written long before Microware fixed the bug in
their ftp implementation which meant that it was necessary to have a
harddisk to use ftp. So an alternative to mtp nowadays is to use ftp from
a ramdisk. But I still think mtp is better.
INSTALLATION
============
We use a Sun cross-development system to compile the code (V3.2). Our
target is a Motorola MVME147 running OS-9 V2.4. I have only created the
host side for a Sun workstation. Before compiling, you probably need to
change some of the paths inside the Makefile. The target routines (mtpd,
mtpdc, mtpvalid) must have super-user privileges (I think) - hence the
fixmod commands in the Makefile.
I have mtpd, mtpdc, and mtpvalid in my boot proms, and a modified
startup routine which forks off mtpd after starting up the ISP package.
FILES
=====
Makefile - make file
README - this
ReadMe - describes the communications protocol
mtp.c - host side user interface
mtp.h - defs common to both sides
mtp.l - UNIX man page
mtpcmds.c - host side comms handler
mtpcommon.c - code common to host and target
mtpd.c - target side daemon
mtpdc.c - target side connection handler
mtpvalid.c - target side process to add module to directory
BUGS
====
Since mtp uses a TCP/IP connection, it assumes that the socket
connection is error-free. This is not the case on one of our machines (a
hardware fault we think) and occassionally the data gets corrupted (e.g.,
modules are downloaded that cannot be validated) or gets lost and so mtp
hangs up. It should really recover from the latter type of error.
WISHES
======
I think it would be useful if mtp could pack/unpack data between
data modules on the OS-9 side and "ordinary" files on the host side - but
I haven't done that yet.
AUTHOR
======
This is my current address
Dr Alan M. McIvor Tel: +44 932 764252
BP International Fax: +44 932 764469
Research Centre Sunbury Eunet: alanm%bprcsitu.uucp@uknet.ac.uk
Chertsey Road Internet: alanm%bprcsitu.uucp@relay.net.eu
Sunbury on Thames
Middlesex TW16 7LN
U. K.
but since I am 90% certain that I will be made redundant on 6 March 1991
this may not be particularly useful for trying to contact me.