Надо (в RM9200) задать Peripheral_DMA_Controller'у адрес буфера (в виде локальной переменной) для отправки (в данном случае в I2S). Очевидно, DMA_Controller оперирует физ. адресами - соответсвенно я использую макрос __pa() (т.е. virt_to_phys) и пишу полученный физ.адрес в (промапленый есс-но) TransferPointerRegister Peripheral_DMA_Controller'у.
Проблема в том, что прриходит не то. То есть указатель не соотв. дейсвительному для Peripheral_DMA_Controller'а.
Что делать?
EDIT: Вообще сделать надо тоже что и в Application Note doc6020.pdf (Connecting the Atmel ARM-based Serial Synchronous Controller (SSC) to an I2S-compatible Serial Bus) НО ПОД ЛИНУКС. Может есть примеры - укажите, плиз!
Вообще - где у линукса "лежат" локальные переменные?
Сообщение отредактировал vvj - Nov 24 2005, 18:55
|