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