summaryrefslogtreecommitdiffstats
path: root/c/README.DOS
diff options
context:
space:
mode:
Diffstat (limited to 'c/README.DOS')
-rw-r--r--c/README.DOS72
1 files changed, 72 insertions, 0 deletions
diff --git a/c/README.DOS b/c/README.DOS
new file mode 100644
index 0000000000..5219479910
--- /dev/null
+++ b/c/README.DOS
@@ -0,0 +1,72 @@
+#
+# $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.
+