Ok, as is usual, in hindsight, my error now seems massively idiotic. If you call prussdrv_map_prumem, one gets a pointer to a region of memory, whose beginning corresponds to a zero offset from the corresponding constant table entry on the PRU. So, after having gotten that to work, I decided by some magical thinking that prussdrv_map_extmem would work the same same. But no, what it actually does is give you a pointer to a buffer which the uio_pruss driver has allocated. It is then the user's responsibility to get the physical address of this buffer, and transmit it to the PRU, and use that as the starting address for i/o into this buffer. (I'd been trying to use offsets relative to the extmem entry in the constants table, which always starts at 0x80000000 (+ offsets from writing into CTPPR_1), which was corrupting other things in the Linux memory...I guess I was hoping that the driver would somehow muscle the reserved buffer area to that address, though I now freely admit I'd have no idea how one could accomplish that, without having had the Linux VM system skip that range at boot with the MEMMAP entries...)
-- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
