source: rtems/c/README.DOS @ 9e738b65

4.104.114.84.95
Last change on this file since 9e738b65 was 637df35, checked in by Joel Sherrill <joel.sherrill@…>, on 07/12/95 at 19:47:25

Ada95, gnat, go32

  • Property mode set to 100644
File size: 3.2 KB
RevLine 
[637df35]1#
2#   $Id$
3#
4
5tools
6-----
7The RTEMS build procedure was designed with the capabilitiies of a
8typical UNIX computer in mind.  Making this procedure work under MS-DOS
9is not that difficult but requires that MS-DOS versions of a number
10of UNIX utilities be acquired and installed.  For time being, the
11best advice which can be offered is:
12
13    "This is a nasty question, since when I first set up the DOS machine
14     (long before I acquired RTEMS) I ftp'd a bunch of different tool
15     sets (all from SimTel), and then picked individual tools from each
16     set that worked best for me.  The djgpp tools are probably a good
17     starting point, especially to get a working sed.  Next the gnu tools
18     in SimTel/msdos/gnuish, and then others.  Sorry I can't give you more
19     specific names.  The only real requirement for the tools is that
20     they *must* accept redirection of command line arguments from a file
21     using the '@' notation (i.e., "mkdir @/tmp/args" reads the argument
22     list from file /tmp/args)."
23
24There is a special version (source and executable) of GNU make 3.71 for
25MS-DOS which minimizes the amount of memory used by recursive makes
26available on lancelot.gcs.redstone.army.mil in the directory: ... XXX
27
28go32
29----
30go32 dumps the stack when a program seg-faults, and if this happens while
31on an alternate stack an infinite loop can ensue.  Setting the environment
32variable GO32="core /tmp/core" will prevent more than 20 lines or
33so of stack information from being dumped after a crash, and the output
34will go to a file rather than the screen.
35
36The go32 debuggers get confused by the relocated stacks used by tasks,
37and tend to crash when variables are inspected.
38
39make directory
40--------------
41gcc-go32.cfg is used for cross compiling to the go32 environment under RTEMS,
42while djgcc.cfg is used for "native" compilation; i.e. under MSDOS rather
43than under RTEMS.  The difference is that "native" compilation uses the djgpp
44I/O libraries, while "cross" compilation uses the RTEMS I/O libraries.
45
46djgcc.cfg is identical to gcc.cfg, except for the omission of the -pipe
47option.
48
49djgcc include files
50-------------------
51In general, we use RTEMS include files because these contain the proper
52declarations for the libc, and in particular, the stdio functions.
53When calling go32-specific functions it is necessary to include some
54djgpp include files, as well.  Unfortunately, there are some disagreements
55between RTEMS and djgpp as to how certain functions and types are
56declared.  In these cases, I have modified to RTEMS source to special-
57case the differences.
58
59cpu-specific files
60------------------
61rtems/c/src/exec/cpu/i80386 is intended to contain 386-specific
62functions for RTEMS.  Since under djgpp we do not have *complete*
63control of the processor, we must cooperate with the djgpp runtime
64environment, this directory cannot be shared between the go32 port
65and other 386 BSPs.
66
67other
68-----
69* F12 will immediately abort the program.
70See libbsp/i80386/go32/iosupp/inch.c.
71
72* libbsp/i80386/go32/timer uses the on-board timer chip by default.
73However, if executing on a Pentium processor you can use the on-chip
7464-bit cycle counter, which counts at whatever clock rate your processor
75runs at.  To use this, compile with -DPENTIUM
Note: See TracBrowser for help on using the repository browser.