delorie.com/archives/browse.cgi | search |
From: | Charles Sandmann <sandmann AT clio DOT rice DOT edu> |
Newsgroups: | comp.os.msdos.djgpp |
Subject: | Re: DMA and DJGPP |
Date: | Sat, 18 Jan 2003 10:59:47 CST |
Organization: | Rice University, Houston TX |
Lines: | 18 |
Message-ID: | <3e298803.sandmann@clio.rice.edu> |
References: | <3E298416 DOT 3A565C4C AT worldnet DOT att DOT net> |
NNTP-Posting-Host: | clio.rice.edu |
X-Trace: | joe.rice.edu 1042909592 4797 128.42.105.3 (18 Jan 2003 17:06:32 GMT) |
X-Complaints-To: | abuse AT rice DOT edu |
NNTP-Posting-Date: | 18 Jan 2003 17:06:32 GMT |
X-NewsEditor: | ED-1.5.9 |
To: | djgpp AT delorie DOT com |
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Reply-To: | djgpp AT delorie DOT com |
> I'm building a data aquisition board that uses a PLX PCI chip to > communicate with the PCI bus. I need to set it up to use DMA to transfer > the data. I how to do I find the address and set up the memory in DJGPP > to get at the data? This all depends on the environment, and how big a DMA buffer you need. The typical way of handling this is using a 64K to 256K buffer and placing it in the conventional memory memory area. This memory is mapped 1:1 in DOS - and Windows 9x does virtualization to make it look like it's 1:1. I'm not sure on WinNT/2K/XP how well it virtualizes this. If you need a big DMA buffer (>256K) it depends on the environment. Under pure DOS and CWSDPMI there is example code available to examine the page tables and get the physical addresses of the memory: http://clio.rice.edu/djgpp/cwsdma2.zip There are also methods described in the FAQ to handle this, check it also.
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |