Has anyone used the General Purpose Memory Controller from the C64x+ core to drive the external memory interface lines ?
I try and write to the GPMC registers to define the base address and length for the chip select signal and it causes the C64x+ to stall and crashes the emulator session. Are there clocks to enable in the PRCM ?
Any help appreciated.
Thanks,
Albert
Does it stall when you are writing the GPMC control regs, or when you are writing to the external space (that the GPMC refers to)? I was just wresting with nasty crashes until I figured out I accidentally overlapped address spaces; it didn't like that.
Hi Boris,
It stalls when acessing the registers. I have been able to read and write to address space, but with no activity on the pins. Stuck!
Albert,
I am using a different processor (AM3359), but I had similar problems when trying to write to the control registers until I declared the control register region of memory as non-cached. If you haven't already, take a look at the example posted here: http://e2e.ti.com/support/dsp/sitara_arm174_microprocessors/f/791/p/176492/643640.aspx#643640. The mmuInit_local function in hello.c does this. For me, adding the same code to my mmuInit function stopped the emulator session crashes. Now it only crashes when trying to write to the external memory space. I need to verify there is no overlap as Boris suggested.
Fareed