www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/09/11/15:57:58

From: Ian D Romanick <idr AT cs DOT pdx DOT edu>
Message-Id: <199709111953.MAA27940@sirius.cs.pdx.edu>
Subject: Re: Some help about an 386ex implementation
To: eliz AT is DOT elta DOT co DOT il (Eli Zaretskii)
Date: Thu, 11 Sep 1997 12:53:52 -0700 (PDT)
Cc: THIERRY DOT T DOT I DOT IMMORDINO AT TSI DOT thomson DOT fr, djgpp AT delorie DOT com
In-Reply-To: <Pine.SUN.3.91.970911192326.13850C-100000@is> from "Eli Zaretskii" at Sep 11, 97 07:26:59 pm
MIME-Version: 1.0

> > For an embedded application, I'd like to run programs compiled with DJGPP 
> > v2.01, on a target with the following characteristics :
> >      CPU i386 EX without FPU
> >      512K Ram (at least 410 free)
> >      2M of DOS file system disk
> 
> It should work if you use CWSDPMI as the DPMI server (other DPMI servers 
> won't work with such a small memory).  But you need to be aware that if 
> your applications will need more than 300K or so memory, they will begin 
> to page into the 2MB DOS file system.  If the file system is implemented 
> in a slow hardware (e.g. flash memory), the programs will run very slowly 
> indeed.

Actually, it's a bit more complex than this.  The file system my be "DOS"
(i.e., FAT), but the 386EX is not a DOS machine.  So far as I know, it won't
even run in real mode (or is that AMD's embedded 486?).

> >      I can use a RTOS (for instance "FSU pThreads"),
> 
> I'm not sure why RTOS is relevant.  I don't know if RTOS can run DPMI 
> programs written for DOS.

The RTOS question is relevant as the machine probably has no notion of DOS.
Basically, if DJGPP is to be used, the following things will need to be done:

	1. A loader will need to be written that can load/reloc the COFF
	   files.  This could easily be based on the existing DJGPP code.
	2. Most of libc will need to be re-written (stdio, malloc, etc) to
	   accommodate the I/O and memory scheme in the RTOS that is used.

This shouldn't be too tough and has been done for embedded systems before.
The development systems for the Atari Jaguar and the Sega Saturn & 32X all
had gcc available.

-- 
"Don't waste our bandwidth with cliched catch phrases that were moldy
years ago. Be creative- surely with the plethora of bodily fluids, and
other excereta to draw upon you can come up with something a little more
original" -- Rhias K. Hall (badger AT wizards DOT com)

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019