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