Linux IPCF共享内存内核驱动程序支持通过共享内存与运行在同一处理器的不同核心上的RTOS进行通信。该驱动程序伴随着一个示例应用程序,该应用程序也是一个树外内核模块,它演示了与RTOS应用程序的乒乓信息通信(更多细节请参阅示例目录中的自述文件)。驱动程序和示例应用程序被集成为NXP AutoLinuxBSP中的树外内核模块。这个Linux驱动程序的源代码发布在source.codeaurora.org上。
Linux内核git clone https://source.codeaurora.org/external/autobsps32/linux/
IPCF源码git clone https://source.codeaurora.org/external/autobsps32/ipcf/ipc-shm/
我这里内核使用的是bsp30.0版本的源码,下载后记得切换分支
git branch -a

IPCF为bsp30.0版本驱动git checkout -b remotes/origin/release/bsp30.0

目录结构如下,ipcf驱动和Linux内核源码目录在同一路径

export ARCH=arm64
export CROSS_COMPILE=aarch64-none-linux-gnu-
export PATH=$PATH:/home/zhang/linux/02_s32g274a/01_tools/gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu/bin
make -C ./ipc-shm/sample KERNELDIR=$PWD/linux modules

以S32G274A-EVB板子为例
dcache off

initsram 0x34100000 0x700000

tftp 0x34300000 IPCF_Example_S32G274.bin

startm7 0x34501000

run nfsboot

将前面编译好的驱动加载
insmod ipc-shm-dev.ko
insmod ipc-shm-sample.ko
echo 10 > /sys/kernel/ipc-shm-sample/ping
