Hi,

after implementing the ddr acces example from 
https://github.com/sagedevices/am335x_pru_package/tree/master/pru_sw/example_apps/ddr_access
 
into my project im stuc at one point.

In my User space code I do

    prussdrv_map_prumem(PRUSS0_PRU1_DATARAM, (void *) &info->pru_memory);

    if (info->pru_memory == NULL) {
        fprintf(stderr, "Cannot map PRU0 memory buffer.\n");
        return -ENOMEM;
    }

to map the Data Ram at 0x2000 from PRU 0 point of view.

physadress=(uint32_t*)prussdrv_get_phys_addr(info->pru_memory);

Gives me the right Physical Adress at 0x4A302000 (refering to AM335x 
Technical Reference Manual).

On the PRU the init is done by

CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
PRU_ram = ((uint32_t *)&CT_PRU1_0)

When I pass there some Values from the Userspace to the the PRU data RAM 
the PRU doesn't seem to get them. (tried various numbers of pin toggling 
for example etc).
I verified the PRU code via JTAG. When playing with the Memory Browser 
everything seems working. Even when i am going over the JTAG Connection to 
the main Processor an therefor the global memory map.

Also when i do something on the PRU like
for(x=0;x<100;x++)
    {
        *(PRU_ram+x)=5;
    } 

and read the memory area back in my user space application I only get the 
earlier passed data an some garbage.
Am I something missing?

With kind regards
Philipp


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