I have been using the BeagleBone PRU and have been accessing and mapping memory this way and thus far it seems as though it is one contiguous address. I am relatively new to Beaglebone so maybe one of the more experienced may want to step in on this one.
Once I have used prussdrv_get_phys_addr to get the physical address it seems to store to one contiguous memory and is limited to 8mb. I believe it is allocated contiguous from uio_pruss as well. On Friday, February 5, 2016 at 7:33:59 PM UTC-5, Bill Gray wrote: > > Hi, > > I've got PRU0 of my BBB pulling in 12 Bytes of data from a ADC with a > sampling frequency of 31250hz. > > I want to stash all of this data in an array that lives in DDR memory. I > would like to make the array 0x4000 bytes (16kB) large. This would give me > 1365 12 byte records and about 43ms of data to play with. > > I'm currently using prussdrv_map_extmem() to hook me up with the DDR > memory. It provides me with a memory block that is 256kB, so I have plenty > of room. > > The question I have is... can I count on the physical address in this > 256kB block of memory to be contiguous? > > I'm pretty new to linux memory management, but I see that the "page size" > is only 4kB... so I imagine that the virtual memory system might chop my > 256kB block up into bits which might not necessarily have contiguous > addresses. > > If I can count on contiguous addresses, this radically simplifies the > memory access code in the PRU. If I can't... well, then I can't, and I've > got to figure something else out. > > When I run experiments I see that the physical addresses are contiguous, > but are they guaranteed to be? or has this just been "lucky"? > > Thanks, > > Bill > > > -- 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.
