forked from Imagelibrary/rtems
73 lines
3.1 KiB
Plaintext
73 lines
3.1 KiB
Plaintext
#
|
|
# $Id$
|
|
#
|
|
|
|
tools
|
|
-----
|
|
The RTEMS build procedure was designed with the capabilitiies of a
|
|
typical UNIX computer in mind. Making this procedure work under MS-DOS
|
|
is not that difficult but requires that MS-DOS versions of a number
|
|
of UNIX utilities be acquired and installed. For time being, the
|
|
best advice which can be offered is:
|
|
|
|
"This is a nasty question, since when I first set up the DOS machine
|
|
(long before I acquired RTEMS) I ftp'd a bunch of different tool
|
|
sets (all from SimTel), and then picked individual tools from each
|
|
set that worked best for me. The djgpp tools are probably a good
|
|
starting point, especially to get a working sed. Next the gnu tools
|
|
in SimTel/msdos/gnuish, and then others. Sorry I can't give you more
|
|
specific names. The only real requirement for the tools is that
|
|
they *must* accept redirection of command line arguments from a file
|
|
using the '@' notation (i.e., "mkdir @/tmp/args" reads the argument
|
|
list from file /tmp/args)."
|
|
|
|
There is a special version (source and executable) of GNU make 3.71 for
|
|
MS-DOS which minimizes the amount of memory used by recursive makes
|
|
available on lancelot.gcs.redstone.army.mil in the file:
|
|
|
|
/pub/msdos/gmake371.tgz
|
|
|
|
Many of the RTEMS specific utilities used in the build and installation
|
|
are UNIX shell scripts. On a UNIX host, these are normally interpreted
|
|
by the Bourne Again Shell (BASH) or the Korn Shell (ksh). Most of these
|
|
scripts can be successfully executed with the following shell from the
|
|
MS-DOS archives from Simtel.
|
|
|
|
SimTel/msdos/sysutil/ms_sh23b.zip
|
|
|
|
Please be sure to use the 16-bit version. The Simtel archives are
|
|
available from ftp.cdrom.com as well as a number of mirror sites.
|
|
|
|
go32
|
|
----
|
|
go32 dumps the stack when a program seg-faults, and if this happens while
|
|
on an alternate stack an infinite loop can ensue. Setting the environment
|
|
variable GO32="core /tmp/core" will prevent more than 20 lines or
|
|
so of stack information from being dumped after a crash, and the output
|
|
will go to a file rather than the screen.
|
|
|
|
The go32 debuggers get confused by the relocated stacks used by tasks,
|
|
and tend to crash when variables are inspected.
|
|
|
|
djgcc include files
|
|
-------------------
|
|
In general, we use RTEMS include files because these contain the proper
|
|
declarations for the libc, and in particular, the stdio functions.
|
|
When calling go32-specific functions it is necessary to include some
|
|
djgpp include files, as well. Unfortunately, there are some disagreements
|
|
between RTEMS and djgpp as to how certain functions and types are
|
|
declared. In these cases, the RTEMS source have been modified to
|
|
special-case the differences.
|
|
|
|
other
|
|
-----
|
|
* Pressing F12 will immediately abort the program.
|
|
See lib/libbsp/i386/go32/console/inch.c.
|
|
|
|
* lib/libbsp/i386/go32/timer uses the on-board timer chip by default,
|
|
which has a resolution of about 1 microsecond. However, if executing
|
|
on a Pentium processor you can use the on-chip 64-bit cycle counter,
|
|
which counts at whatever clock rate your processor runs at. To enable
|
|
this, set RTEMS_CPU_MODEL=pentium in make/custom/go32.cfg.
|
|
|