Reply by Jeff Brower June 23, 20062006-06-23
Tobias-

> I am using the TI EVM board with a C6201 DSP under Linux. For a
> student research project I am programming a COFF loader for this
> board. Communicating with the hardware is done by directly accessing
> the Base Address Registers of the PCI interface, where code can be
> loaded via HPI.
> This works fine except for the SBSRAM. When I write some words to
> consecutive addresses in this address space and try to read these
> words out after it, I always get the last word I wrote in. So i.e. if
> I write 1, 2, 3, 4, the word which is read out for each of the
> addresses is always 4.

This is probably "bus hold"; i.e. last value is hanging on the bus due to buffers
along the way. It sounds to me like you're not reaching SBSRAM mem at all.

> Other address spaces are read correctly and I
> think the EMIF registers are also initialized right.

Those are some big assumptions. I would first verify you have SBSRAM configured
correctly by using CCS + JTAG to download a small, simple DSP program that
read/writes SBSRAM mem. Once you know that's good, then go back to PCI interface.

-Jeff
Reply by neubert_tobias June 22, 20062006-06-22
Dear all,

I am using the TI EVM board with a C6201 DSP under Linux. For a
student research project I am programming a COFF loader for this
board. Communicating with the hardware is done by directly accessing
the Base Address Registers of the PCI interface, where code can be
loaded via HPI.
This works fine except for the SBSRAM. When I write some words to
consecutive addresses in this address space and try to read these
words out after it, I always get the last word I wrote in. So i.e. if
I write 1, 2, 3, 4, the word which is read out for each of the
addresses is always 4. Other address spaces are read correctly and I
think the EMIF registers are also initialized right.

What am I doing wrong?

Thank you,
Tobias Neubert