一、问题
在对单独驱动模块进行测试时,我们要进行动态编译,生成对应驱动的.ko模块。然后进行手动加载和卸载。但是在进行驱动模块加载时遇到了unknown symbol in module or invalid parameter问题,对此进行排查解决。
二、解决
首先进行dmesg信息确认,打印信息如下
根据
dmesg 输出,发现主要问题是由于video_rkcif模块的两个未知符号vb2_dma_sg_memops和vb2_dma_contig_memops引起的。
这通常表示加载的video_rkcif模块依赖于某些其他模块,但这些依赖模块未能正确加载或未被包括在内核中。
解决这个问题,就是需要先加载其他驱动:
1.确保勾选所需的依赖模块,然后重新编译内核
2.将编译内核所有的依赖项拷贝至开发板内。先加载之前所需的驱动模块,在执行insmod video_rkcif.ko,就可以加载video_rkcif.ko了。