I am trying to understand the memory layout of the PRU. I am following the 
instructions of Derek Molley's book "Exploring the BB" and he uses the 
following linker command file 
(https://github.com/derekmolloy/exploringBB/blob/master/chp13/prussC/AM3359_PRU.cmd):
 

 -cr
 -stack 0x100
 -heap 0x100
 
 MEMORY
 {
 PAGE 0:
 PRUIMEM: o = 0x00000000 l = 0x00001000 /* 8kB PRU0 Instruction RAM */
 PAGE 1:
 PRUDMEM: o = 0x00000000 l = 0x00001000 /* 8kB PRU Data RAM 0 */
 }
 
 SECTIONS
 {
 /* Thanks to Jakub for the next line! */
 .text:_c_int00* > 0x0, PAGE 0
 .stack > PRUDMEM, PAGE 1
 .bss > PRUDMEM, PAGE 1
 .cio > PRUDMEM, PAGE 1
 .const > PRUDMEM, PAGE 1
 .data > PRUDMEM, PAGE 1
 .switch > PRUDMEM, PAGE 1
 .sysmem > PRUDMEM, PAGE 1
 .cinit > PRUDMEM, PAGE 1
 }


Is there a good way to reserve a portion of the data ram so I can safely 
write from my host application with the pruss driver into it? It seems like 
that I can for example write to address 0x0 on page 1 from linux and 
retrieve the value, but at some point I interfere with other memory, 
ostensibly the stack.  

What's the best way to handle this? 
Is there a comprehensive description of the linker command file? 

-- 
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