目标是在ARM/DSP之间,不用MessageQ,只用SharedRegion,(说是避免Notify的中断),使得ARM/DSP通信。
我 在DSP下,write_buff = Memory_alloc(SharedRegion_getHeap(0), EDMA_MAX_TRANS_SIZE, 256, NULL);
得到write_buff 为0x95162400,作为物理地址,写入特定的值,周期变化,然后调用
Cache_wb(0x95100000, 0x100000, Cache_Type_ALLD, true);
Cache_wait();
Task_sleep(10);
在Linux下使用shmem_open(), mmap(指定地址write_buff ,size, )来读共享内存,mmap()的返回类型定义成volatile,
ptr = (volatile unsigned int* )mmap((void*)addr, SIZE, PROT_WRITE |PROT_READ, MAP_SHARED, shm_fd, 0);
得到的值不对,为全0,
请问是哪里出了问题?