You have to enable the ocp master port (section 10.1.2) to access main memory. Here's an explanation <http://nomel.tumblr.com/post/30006622413/beaglebone-tutorial-accessing-main-memory-from-the-pru> .
And, the resulting code is (if you want to do it in the pru): // clear STANDBY_INIT bit in syscfg register so memory between pru <-> system can be accessed (enable ocp master) LBCO r0, C4, 4, 4 CLR r0, r0, 4 SBCO r0, C4, 4, 4 See section 3.1.2 in the pru reference <https://github.com/beagleboard/am335x_pru_package> for limitations (accessing memory below main memory 0x00080000 requires enabling an offset, section 10.1.10). On Wed, Aug 13, 2014 at 2:02 PM, rakesh.safir <rakesh.sa...@gmail.com> wrote: > Hi, > > I want to use the DCAN interface on PRU-ICSS to send/receive data present > on DDR RAM at a fixed physical address. > > - Address of DDR is 0x8000_0000 to 0x9000_0000(256MiB) > - My buffer is present at 0x8FF0_0000 to 0x9000_0000 (1MiB) > > As soon as I access the hardware address 0x8FF0_0000 the PRU-ICSS goes > into some faulty state and becomes unresponsive. > > Is there some other way to access DDR from PRU-ICSS ? > > Rakesh > > On Thursday, May 16, 2013 2:42:39 AM UTC+5:30, Jason Kridner wrote: >> >> Frequently asked questions regarding "PRU": >> >> - What is a "PRU"? >> - PRU stands for Programmable Real-time Unit. The overall subsystem >> is typically called the ICSS, PRU-ICSS or PRUSS. ICSS stands for >> Industrial Communications Subsystem and PRUSS stands for Programmable >> Real-time Unit Subsystem. >> - What does a PRU do? >> - A PRU is a 200MHz microcontroller that is really useful at >> "bitbanging" and has some peripherals attached to it that make it well >> suited for building real-time interfaces to all types of digital >> electronics. >> - What are the processing elements within the AM33xx PRUSS used on >> BeagleBone and BeagleBone Black? >> - 2 32-bit 200MHz PRU cores >> - Each with 8KB of program memory >> - Direct access to general purpose I/O >> - Single cycle operations without cache or pipelines (instructions >> *always* 5ns) >> - Shared 12KB data memory >> - Scratch pad registers >> - Parallel and serial capture modes >> - 32-bit port to memory and other peripherals outside of the >> PRUSS, including external memory >> - What are some example things built out of PRUs? >> - DMX512 lighting protocol: http://beagleboard. >> org/CapeContest/entries/BeagleBone+DMX+Cape/ >> <http://beagleboard.org/CapeContest/entries/BeagleBone+DMX+Cape/> >> - 6502 memory interface: http://elinux.org/ >> images/a/ac/What's_Old_Is_New-_A_6502-based_Remote_Processor.pdf >> >> <http://elinux.org/images/a/ac/What's_Old_Is_New-_A_6502-based_Remote_Processor.pdf> >> - Emulated memory interface on an Atari 600XL with BeagleBone >> decoding video directly into Atari 600XL display memory: >> http://www.youtube.com/watch?v=1irR4TQ5aMA >> <http://www.youtube.com/watch?v=1irR4TQ5aMA> >> - Nixie tube interface: https://github.com/mranostay/beagle-nixie >> - Software UART: http://processors.wiki.ti.com/index.php/Soft-UART_ >> Implementation_on_AM335X_PRU_-_Software_Users_Guide >> >> <http://processors.wiki.ti.com/index.php/Soft-UART_Implementation_on_AM335X_PRU_-_Software_Users_Guide> >> - Sine wave generator using PWMs: http://elinux.org/ >> ECE497_BeagleBone_PRU >> - 3D printer stepper motor driver: http:// >> hipstercircuits.com/pypruss-a-simple-pru-python-binding-for- >> beaglebone/ >> >> <http://hipstercircuits.com/pypruss-a-simple-pru-python-binding-for-beaglebone/> >> - Camera interface: http://www.hitchhikeree.org/beaglebone_ >> capes/interacto/ >> - Where do I get some more details? >> - https://github.com/beagleboard/am335x_pru_package is the >> official location for documentation and tools for the PRUSS on >> BeagleBone >> and BeagleBone Black. >> - http://elinux.org/Ti_AM33XX_PRUSSv2 is the community wiki page. >> >> >> -- > For more options, visit http://beagleboard.org/discuss > --- > You received this message because you are subscribed to a topic in the > Google Groups "BeagleBoard" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/beagleboard/u28ytaoNenU/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > beagleboard+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- 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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.