linux
hopshine
这个作者很懒,什么都没留下…
展开
-
模块使用计数
一、 模块使用计数的背景知识模块是一种可以在内核运行过程中动态加载、卸载的内核功能组件。2.6内核中模块的命名方式为*.ko。模块在被使用时,是不允许被卸载的。编程时需要用“使用计数”来描述模块是否在被使用。二、2.4内核使用计数的实现方法 2.4内核中,模块自身通过 MOD_INC_USE_COUNT, MOD_DEC_USE_COUNT原创 2014-02-13 13:37:47 · 661 阅读 · 0 评论 -
linux中设备驱动和设备文件
可能是以前的驱动太多简单,也可能是我看书的时候不够仔细,一直以为ko写好以后,insmod成功以后就能在/dev下直接引用。其实不然。对于misc类型的驱动,可能确实如此(没有系统的考证过)。但是对于字符设备和块设备,insmod驱动以后,只是单纯的加载了驱动。可以使用cat对/proc/devices进行查看。如下:____________________________________原创 2014-02-17 13:03:07 · 2012 阅读 · 0 评论 -
Linux驱动编写中的问题
如前所述,生成了ko文件之后,需要手工insmod,手工mknod,每次开机之后都要手工装载,很麻烦,于是想在程序中实现自动加载。 由于主设备号是系统生成的,无法在应用程序中取得(或许可以取得,我没有找到方法),于是干脆在驱动中集成。 最先想到的方法是system()调用,作为c标准库的一部分,system()在应用程序中屡试不爽,分外方便。但是写完了之后发现驱动中不能写这个语原创 2014-02-17 12:59:54 · 492 阅读 · 0 评论