编写模块通信实例:
模块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未解决。