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