CMEM模块
由于应用程序是运行在 MontaVista Linux
之上,在应用程序里进行的地址空间都
是虚拟地址,实际上的物理地址空间不一定是连续的,当将这个指针传递给DSP端的
算法时,DSP
不能够进行处理,因为 DSP 端的算法运行在 DSPBIOS
之上,而 DSP
端只能访问实的物理地址,为了解决这个问题,TI提供了一个CMEM模块,用于解决
这个问题。
CMEM 是一个连续物理存储空间分配模块,使得 ARM
端 Linux 进程和 DSP
端算
法之间能够共享缓冲区。当应用程序需要在共享缓存区动态申请一个连续的物理空间
时,通过调用 CMEM
的 API 可以实现,申请得到的空间可以供 DSP
端访问,进行算
法处理时数据的传递与处理。