Linux驱动——模块通信

编写模块通信实例:

        模块add_sub提供add_integer()加法与sub_integer()减法函数,模块test调用函数完成操作。

        分别对两模块建立两个文件夹,编写对应的.c与Makefile文件,add_sub.h在add_sub模块文件夹内,分别make编译成功。

遇到的问题:

        1. insmod add_sub.ko成功。insmod test.ko失败。

        2. 两文件的Makefile内容不清晰,尤其是如PRINT_INC =$(PWD)/../include,SYMBOL_INC = $(obj)/../include等语句

        3. 加载成功后,想实现模块加入内核,随系统一起启动。配置好Kconfig与Makefile,执行过make menuconfig勾选菜单,

            重新启动linux,cat /proc/modules | grep add,发现并没有自动加载模块,此问题不知道如何解决。

问题1解决:

       add_sub文件夹中的Module.symvers文件复制到test模块文件夹中,此时加载便可以成功

问题2解决:

       好好学习Makefile编写知识

问题3未解决。

猜你喜欢

转载自blog.csdn.net/qq_35277038/article/details/80460910
今日推荐