This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Read/Write operation fails in ARM-DSP communication through HPI interface

Other Parts Discussed in Thread: TMS320C6746

We are trying to communicate from beagleboneblack (ARM) to c674x(DSP) in omapl138evm over the HPI interface through the GPMC lines.

We are able to update the controls registers like HPIC, HPIAW, HPIAR ..etc in the DSP.

We followed the procedures for read/write as specified in the TRM(tms320c6746).

Still we are not able to read/write to a specific memory location in DSP.

We are following the procedures given below.

HCNTL[1:0] = 00

HR/Wn = 0

HPIC = 0x00000101

For Writing :

HCNTL[1:0] = 10

HR/Wn = 0

HHWIL = 0

HPIAW = 0x00000004

HHWIL = 1

HPIAW = 0xC0000004

HCNTL[1:0] = 11

HR/Wn = 0

HHWIL = 0

HD = 0x5678 //Expected first half data to be written

HHWIL = 1

HD = 0x1234 //Expected second half data to be written

Result: expected result in the address 0xc0000004 is 0x12345678. But it remains at the default value.

For Reading:

HCNTL[1:0] = 10

HR/Wn = 0

HHWIL = 0

HPIAW = 0x00000004

HHWIL = 1

HPIAW = 0xC0000004

HCNTL[1:0] = 11

HR/Wn = 1

HHWIL = 0

//Reading First half of data

HHWIL = 1

//Reading second half of data

Result: expected result was 0x12345678. But we are getting 0x00000000

Please help us to solve this.