CPU:S3C3410B
语音芯片dsp:奥科(audiocode)
现象:当使能cache时,dsp下载失败;对其他外设操作操作均正常,只有dsp读写操作失败;于是当对dsp进行读写操作前,关闭cache,操作后再打开cache,则dsp可以下载成功,但声音不正确,是十分嘈杂的声音,也无法检测dtmf;
1,对外设操作(如flash,dsp)时,若使能cache,是否必须设置其地址在非cache区域?对flash进行读写操作时,若地址在cache区域,则读写失败。使用非cache区域,应该是从内存中取数据而不是从cache中取数据,那么是否必须使用cacheDmaMalloc函数,当对flash操作进行内存分配时?
2,MMU主要是对实际物理地址与虚拟地址间建立映射关系,对于S3C4510B此款无MMU的cpu,非cache区域是否也可以理解为实际物理地址与虚拟地址间的映射关系?
3,对于上述现象,是否是cache中的数据与内存中的数据不一致造成的?有什么建议?