Other Parts Discussed in Thread: TIDA-01555
I am using pocket beagle board with AM335x , and i want to access its 512MB RAM through PRU
anyone have any idea how to do this?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Other Parts Discussed in Thread: TIDA-01555
I am using pocket beagle board with AM335x , and i want to access its 512MB RAM through PRU
anyone have any idea how to do this?
Hello Prial,
I assume you are talking about DDR accesses from the PRU?
All you need to do is enable the OCP port, as we discussed in your previous thread: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1239243/use-gpio-pins-via-ocp/4685262#4685262
Then you can read & write directly to the DDR addresses (which I would expect to be 0x8000_0000 to 0xA000_0000 if you have 512 MB).
Regards,
Nick
HELLO NICK ,
Thank You , i get this
Now i want to know C code / command to do this(example code)
Regards ,
Prial
Hello Prial,
Please reference the PRU Getting Started Labs, section Debugging from Linux: https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/08_06_00_42/exports/docs/common/PRU-ICSS/PRU-Getting-Started-Labs_Lab5.html#debugging-the-pru-from-linux-core
Let's say you want to write to DDR memory address 0x8A00_0000. Then I would modify the PRU example code from the labs like this:
/* breakpoint1 is at DDR, address 0x8A00_0000 */
#define breakpoint1 (*((volatile unsigned int *)0x8a000000))
...
breakpoint1 = 0;
while( breakpoint1 != 1 ) {}
Please keep in mind that you should reserve any region of DDR memory where you do not want Linux to overwrite that memory. For more in depth examples, reference TIDA-01555:
https://git.ti.com/cgit/apps/tida01555/tree/dts/am335x-boneblack-pruadc.dts
https://www.ti.com/tool/TIDA-01555
Regards,
Nick
Hello Nick ,
i want to access DDR(512 MB) of processor through and i want to read and write the DDR through PRU would you help?
i am not getting exact what i want
Regards ,
Prial
Hello Prial,
When you tried out the code I wrote for you in my previous response (literally writing to DDR address 0x8A00_0000), what part of that did not work for you?
Regards,
Nick