- 博客(4)
- 收藏
- 关注
原创 菜鸡随笔第二笔:insmod模块时显示已杀死
又是充满希望的一天!秃头秃头!随着对驱动代码的不断深入,为了代码的美观性和易读性,我们最好将需要的变量定义到一个结构体里面。如图:我们用一个结构体保存major这个主设备号的变量,然后通过结构体指针来调用他,看起来好像没什么问题,编译也是ok的但是其实问题很大,当我们想要将该模块编译进内核时:系统会显示已杀死,并且当我们用lsmod查看的时候发现该模块居然编译了上去。另外,这种模块我们是无法rmmod的,因为图上已经显示该模块已被使用,但是却没有使用的对象。出现这个问题的原因很简单,就是结构体指针
2020-07-29 16:21:02
2143
原创 菜鸡随笔第一笔:通用的驱动Makefie
一个通用的驱动Makefile通常来说,驱动模块编写完成后,有两种方式将自己的模块加载到内核中,分为临时性的加载以及永久性的加载。永久性的加载主要是一系列流程,make menuconfig, .Kconfig, make等等之后会生成一个Image文件。(友情提醒,使用这种方法不要用本机的内核,最好是再下载一个内核供你happy)这里我主要说的是临时性的加载,想要实现临时性的加载,我们就需要对Makefile进行一些操作。先附上一张图:首先其中的-C 是在当前目录下进入其他的目录,也就是是说
2020-07-29 15:44:50
202
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人