Здравствуйте уважаемые разработчики.

Реализую обмен по SPI с другим процессором. SPI работает через DMA я SLAVE.

В случае когда мастер передает данные, DMA настраиваю:
Source Address Register (DMSRC) – 0x21(порт MCBSP0)
Destination Address Register (DMDST) – некий буфер в памяти
В этом случае все отлично работает.


В случае когда SLAVE передает данные, DMA настраиваю:
Source Address Register (DMSRC) – некий буфер в памяти
Destination Address Register (DMDST) – 0x23(порт MCBSP0)
В этом случае данные из буфера передаются только по 2 слова, т.е. если от мастер будет забирать 3 слова то передаться первые 2, а 3-е будет первое слово из буфера. Такое впечатление, что адрес буфера циклически бегает то первым 2 словам.

Может кто знает от чего это, все регистры проинициализированы вроде правильно.
Помогите несколько дней е..сь уж сил нет.



Заранее спасибо!!!