How to implement a Linux Device Driver for Data Acquisition Hardware?

view story

http://stackoverflow.com – I am developing an acquisition device which requires DMA operation to transfer large data frames into the main memory. For now I am assuming the destination is a contiguous memory region so I am allocating it (say 1 MB) at boot time as described in section "Do-it-yourself allocation" from ldd2-ch13. The driver can then access that region by calling ioremap(). The current system works as follows: A memory-mapped control register enables a user-space application to Start/Stop the device Upon start, the device begins to transfer the acquired data to the assigned memory region continuously (an (HowTos)