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