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.

Reply via email to