mike@focsys.uucp (Mike Walma) (06/04/90)
For an application my company is looking at doing, we need to develop some expertise with DMA transfers on AT clones. The problem at hand involves putting a DMA device in a pipe that would take data in memory, pass it through the DMA device, and back into memory, all without processor involvement. The amount of data involved is quite large, and local buffers on the DMA device relatively small, so it would be a real pipe, involving interleaved reads and writes, on different DMA channels. What I would like from the net is pointers to good references on DMA programming. Thanks in advance. -- Mike Walma -- Focus Systems -- Waterloo, Ontario watmath!focsys!mike (519) 746-4918
lawson@extro.ucc.su.OZ.AU (P Lawson) (06/06/90)
From article <1990Jun4.152523.10486@focsys.uucp>, by mike@focsys.uucp (Mike Walma): > For an application my company is looking at doing, we need to develop > some expertise with DMA transfers on AT clones. The problem at hand involves > putting a DMA device in a pipe that would take data in memory, pass it > through the DMA device, and back into memory, all without processor > involvement. The amount of data involved is quite large, and local > buffers on the DMA device relatively small, so it would be a real pipe, > involving interleaved reads and writes, on different DMA channels. > > What I would like from the net is pointers to good references on DMA > programming. Thanks in advance. > > -- > Mike Walma -- Focus Systems -- Waterloo, Ontario > watmath!focsys!mike (519) 746-4918 There is a very good article on DMA in the January 1990 issue of "Dr. Dobb's Journal". The article is titled `Real-Time Data Acquisition Using DMA' by Tom Nolan. The author does all of his coding in Microsoft C, and gives a hardware example that will provide the DMA request and acknowledge. The example that Nolan gives is probably enough to get you started. Once you understand his code it should then be easy to get two channels going at once in the same manner. Peter Lawson.
pipkins@qmsseq.imagen.com (Jeff Pipkins) (06/07/90)
In article <1990Jun4.152523.10486@focsys.uucp> mike@focsys.UUCP (Mike Walma) writes: >What I would like from the net is pointers to good references on DMA >programming. Thanks in advance. 1. IBM AT Technical Reference Guide, #6139362 (800/IBM-PCTB) 2. Intel Microprocessor and Peripheral Handbook, Vol. 1 (1987) Order #230843-004 (800/548-4725) This book has the data sheet for the 8237A DMA chip, as well as the 8259A interrupt controller. 3. "Real-Time Data Acquisition Using DMA", by Tom Nolan, _Dr._Dobb's_Journal_, January 1990, page 28. I cannot E-mail to the addresses in your article. I posted this anyway because it seemed to be of general interest anyway. -Jeff Pipkins pipkins@imagen.com