看文档介绍说arm和dsp是统一编址的 是不是说dsp的地址 对应 arm的物理地址 还是 dsp的地址对应arm的虚拟地址?
我个人感觉是虚拟地址,因为我在arm上的变量,通过syslink发送给dsp,dsp收到这个变量地址,取值和arm上一致,就是说dsp可以访问arm虚拟地址
那么 如果我用arm malloc一块大空间 把虚拟地址发给dsp dsp是不是也能直接访问? 我同事说需要把malloc得到的虚拟地址转换成物理地址 让我很疑惑
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.
看文档介绍说arm和dsp是统一编址的 是不是说dsp的地址 对应 arm的物理地址 还是 dsp的地址对应arm的虚拟地址?
我个人感觉是虚拟地址,因为我在arm上的变量,通过syslink发送给dsp,dsp收到这个变量地址,取值和arm上一致,就是说dsp可以访问arm虚拟地址
那么 如果我用arm malloc一块大空间 把虚拟地址发给dsp dsp是不是也能直接访问? 我同事说需要把malloc得到的虚拟地址转换成物理地址 让我很疑惑
Zhu Zhipeng,
请问你使用的具体是什么芯片?ARM上运行的是Linux么?
文档提到的地址都是物理地址(系统地址),不是虚拟地址。
zhipeng zhu 说:我个人感觉是虚拟地址,因为我在arm上的变量,通过syslink发送给dsp,dsp收到这个变量地址,取值和arm上一致,就是说dsp可以访问arm虚拟地址
如果你使用的是Linux,在ARM上和DSP上操作同一个地址,基本上都不是同一个物理地址。ARM上的地址是通过MMU映射后的虚拟地址。
请参考论坛讨论:http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/t/99726.aspx。