• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Suzkfly
博客园 首页 新随笔 联系 订阅 订阅 管理

2019年10月30日

linux设备注册
摘要: 一、分配cdev cdev表示字符设备,使用cdev_alloc函数,cdev_alloc函数原型如下; 得到cdev指针 二、初始化cdev 使用cdev_init函数,cdev_init的原型如下: 将字符设备和设备的操作集合绑定在一起。 三、注册cdev 注册cdev用cdev_add函数,原 阅读全文
posted @ 2019-10-30 23:41 Suzkfly 阅读(498) 评论(0) 推荐(0)
 
linux设备文件
摘要: 一、前言 在调用了alloc_chrdev_region函数或register_chrdev_region函数之后可以在/proc/devices中看到该设备的主设备号,比如我注册的hello模块的主设备号为1024,如下图: 现在使用lsmod能看到驱动名,使用cat /proc/devices能 阅读全文
posted @ 2019-10-30 23:21 Suzkfly 阅读(741) 评论(0) 推荐(0)
 
linux驱动设备号
摘要: 一、设备号基础 一般来说,使用ls -l命令在时间一列的前一列的数字表示的是文件大小,但如果该文件表示的是一个设备的话,那时间一列的前一列将有两个数字,用逗号分隔开,如下图: 前一个数字表示主设备号,后一个数组表示次设备号。主设备号用来区分不同种类的设备,而次设备号用来区分同一类型的多个设备。 实际 阅读全文
posted @ 2019-10-30 21:20 Suzkfly 阅读(1279) 评论(0) 推荐(0)
 
将自己的模块编译进内核
摘要: 一、编写驱动程序 将需要编译进内核的源代码编写好,我举个最简单的Hello World的例子: hello.c 该文件编译后生成hello.ko文件,在insmod hello.ko的时候会打印 *****hello init test***** ,在rmmod hello的时候打印 *****he 阅读全文
posted @ 2019-10-30 16:46 Suzkfly 阅读(840) 评论(0) 推荐(0)
 
././include/linux/kconfig.h:4:32: fatal error: generated/autoconf.h: No such file or directory 解决办法
摘要: 我在编写内核驱动模块的时候报了一个非常奇怪的错误,如下图: 在目录下看了一下确实没有发现这个文件,感觉很奇怪,因为我记得之前编译模块是没有错误的,所以不可能是我代码写的有问题。 查阅了资料很多说要清除配置重新生成.config之类的,我也照做了但是并没有什么卵用。 最后发现是因为我执行了make m 阅读全文
posted @ 2019-10-30 11:43 Suzkfly 阅读(6877) 评论(0) 推荐(0)
 
 

公告


博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3