Memory for PRU size and allocation (external, SDRAM, SD card)

313 views
Skip to first unread message

Vincent lc

unread,
May 31, 2016, 3:15:31 AM5/31/16
to BeagleBoard
Hi,

I'm currently trying to save data into the memory from a PRU application.

Currently I can store data up to ~12.3 MB :

I can change it with
modprobe uio_pruss extram_pool_sz=0xBC5798

This command works but for 0xBC5799 it doesn't.
I figured this idea out from this post https://groups.google.com/forum/#!searchin/beagleboard/extram_pool_sz/beagleboard/Gb6xL7V7Z00/GtEy703CursJ
and also from the eRam part on this page http://users.freebasic-portal.de/tjf/Projekte/libpruio/doc/html/_cha_memory.html
In addition, I also assumed that the difference between 0x800000 and 0xBC5799 is link to the fact that I'm using a more recent version of the Board (beagle Bone black ) or to the kernel
4.1.21-bone-rt-r20.

However, this limit of 0xBC5799 is always changing (increasing or decreasing) when I reboot my board.
Did someone have an idea on the exact amount of this limit ?
Rq : I didn't succeed to find it in the TRM(Technical reference manual)

My other question is :
Is there a way that I can save the data from PRU directly into the SDRAM of 512MB or on the SD card, or is it impossible ?
If so what are the corresponding addresses or methods to use them ?

Thanks by advance
Regards

Vincent
"Enjoy life no matter what !"

William Hermans

unread,
May 31, 2016, 4:17:15 AM5/31/16
to beagl...@googlegroups.com
However, this limit of 0xBC5799 is always changing (increasing or decreasing) when I reboot my board.
Did someone have an idea on the exact amount of this limit ?
Rq : I didn't succeed to find it in the TRM(Technical reference manual)

This is not something that would be in the TRM. This is related to the uio driver, and perhaps the uio_pruss driver is limiting the amount of ram used somehow. Or perhaps it's a uio driver limitation ? Pagefile size ? This would require some looking into.


 My other question is :
Is there a way that I can save the data from PRU directly into the SDRAM of 512MB or on the SD card, or is it impossible ?
If so what are the corresponding addresses or methods to use them ?


You're already storing data into 12M of the 512M DDR RAM. Nothing is impossible in this context, and all is possible. There are also multiple ways, but probably the easiest way will involve using POSIX IPC from userspace. Or you could even write a kernel module, if that's not much of a problem for you.

Something you may want to keep in mind however. 12M is pushing the performance boundaries of just about any beaglebone media *except* memory. Meaning, no matter where where you plan on storing that data outside of DDR, it's going to take a considerable amount of time( figuratively speaking ) to move that data around. The onboard Ethernet for instance is only capable of around ~11.5M / second transfers. The sdcard interface is not much better, nor is the eMMC.

--
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 beagleboard...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/dcc91fda-ce7d-4718-967e-ff8799d51f1f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages