kivava
3 months ago
kivava
3 months ago
透過 /dev/mem ,讓 user app 可以直接做 mmap 使用 share memory 跟 CPU cores or MCU 溝通,使用起來比 openamp 的 virtio/virtqueue 更底層,更有效率,只不過目前只有 ipc-shm and ipc-queue 兩種IPC方式,上層的應用,應該就還是給NXP自家使用...
kivava
3 months ago
kivava
3 months ago
Jim Huang 以NXP 的設計,IPCF主要是為了即時傳遞大量的運算資料,例如S32R45 image radar SoC中,大量的雷達數據需要在不同核心與子系統中做運算與傳遞,要讓user space app 可以用 mmap 直接存取同一個 shared memory,就能在 zero copy 的情況下處理這些資料

OpenAMP 底層也是 shared memory ,但是無法讓 user space app 直接的用 mmap 存取同一塊記憶體,即時性與效率還是有差

另外一種作法是把運算的應用放進 kernel space,直接透過 VirtIO 傳輸,但這又會有 GPL 污染到公司專有演算法的風險,又或者乾脆不用 Linux,改用 RTOS 避開這個問題
立即下載
kivava
3 months ago
應該也有機會用來取代 DPDK ,用來做 packer inspection or manipulation