Hi, I am using SATA test code from LogicPD ( BSL code package) and user cases from reference manual. After function :
submitCmd (NON_QUEUED_CMD, cmdSlot2Use);
I am first receiving data, they are copying into memory (prdTableDataBuff [512] ).
Next, i am changing address in Fis and try reading again:
CmdSlotNum->cfis.DW1.B0LbaLow=myCmdFis.cfisDw1SecNumLbaLow; //correct address CmdSlotNum->cfis.DW1.B1LbaMid=myCmdFis.cfisDw1CylLowLbaMid; CmdSlotNum->cfis.DW1.B2LbaHigh=myCmdFis.cfisDw1CylHighLbahigh; CmdSlotNum->cfis.DW1.B3Device=myCmdFis.cfisDw1Dev; submitCmd (NON_QUEUED_CMD, cmdSlot2Use);
I am getting the correct data block in L1D cache, but not in system memory.
Also, i can change RXABL and TXABL bits in Port DMA Control Register (P0DMACR) , but i can't change RXTS and TXTS (0x4 always!).
Regards,
Ilya