0

I am a Linux newbie and I am trying to understand how some of these libraries and devices all link together. I want to access memory directly. Should I use a DMA driver, should I write a DMA driver and wrap it in a user-space C app, or should I just use a function like mmap? Is there any link between the /usr/include/sys headers and the linux headers that I always see included in drivers? Don’t character drivers work by reading and writing to special files? Are the functions read and write that allows that to happen in the GNU C lib? I would like to get Linux C straightened out in my head, especially as it pertains to embedded Linux. Thanks in advance

Jack Frye
  • 583
  • 1
  • 7
  • 28
  • You want to write a application in userspace which can access physical memory, right ? – Forward Oct 20 '17 at 01:16
  • If it makes sense. I’m on a Xilinx Zynq here in an embedded system running a Linux distro called PetaLinux. I am going to need to move data between peripherals and the DDR RAM on the board. Eventually I will need to program the DMA on the SoC for an upcoming project. For the DMA, Xilinx has a driver. Would I be able to leverage that driver in a user space app? For moving data from peripherals to DDR, should I use a driver or a function like mmap with Linux built in IO data transfer functions? – Jack Frye Oct 20 '17 at 09:49
  • It completely depends on the actual **hardware** design. – 0andriy Oct 21 '17 at 00:09

0 Answers0