I'm an absolute beginner in the field of pru. I was wondering what actually 
takes place when a bin file is loaded into the instruction memory of a pru. I 
looked through the prussdrv.c in am335x_pru_package file where application 
loader api functions are located.
https://github.com/beagleboard/am335x_pru_package/blob/master/pru_sw/app_loader/interface/prussdrv.c

My question is in 
int prussdrv_pru_write_memory (unsigned int pru_ram_id, unsigned int 
wordoffset, unsigned int *memarea,  unsigned int bytelength); 
function scope


wordlength = (bytelength + 3) >> 2; //Adjust length as multiple of 4 bytes

for (i = 0; i < wordlength; i++) {
*(pruramarea + i + wordoffset) = *(memarea + i);
    }
    return wordlength;

why wordoffset is added to pruramarea which holds the the address of the 
instruction memory.but according to this guide

http://processors.wiki.ti.com/index.php/PRU_Linux_Application_Loader_API_Guide

wordoffset is the offset from *memarea and I think wordoffset is to be added to 
memarea instead , otherwise we are missing some parts of the instruction memory.

My other question is why pru instruction memory is said to be 8kB But according 
to the trm pru global memory section the instruction memory is just 4k

-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/6a73e4f6-c7e4-4019-94a1-3e58323706d3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to