0
点赞
收藏
分享

微信扫一扫

Linux嵌入式驱动开发【内核模块——字符设备】

内核模块

驱动开发步骤

1.vser.c 写驱动代码
2.编写对应makefile文件
3.make modules_install编译最新文件make vser,生成.ko文件
depmod 更新模块
4.加载到内核 modprbe vser 自动加载多模块
或insmod vser.ko 安装单个模块

dmesg vser 查看信息
rmmod vser 清除退出
modinfo vser.ko查看模块信息
make clean  清除所有模块

字符设备驱动

ls-l /dev 查看设备文件

字符.png
==“b”表示块设备,“c”表示字符设备==

ret = register_chrdev_region(dev, VSER_DEV_CNT, VSER_DEV_NAME);--静态设备号
int alloc_chrdev_region(dev_t dev,unsigned baseminor,unsigned count,const char name)动态分配设备*

字符驱动开发:

  1. 要有对应的c开发的文件
  2. 将设备写入到内核
  3. 构造cdev结构

字符设备驱动操作

mknod /dev/vser0 c 256 0

make是make node的缩写 ---- 创建一个节点

mknod /dev/vser0 c 256 0---------创建设备文件

make
make modules_install
depmod
modprobe vser
echo "test" > /dev/vser0或vser1...
  • cat /dev/vser0或vser1......
  • cat /proc/devices----查看设备号vser是否注册成功
    过程 :1.0创建一个设备节点(一个节点代表一个文件),
    2.0 mknod = make node
    3.0这个节点号在文件系统中是唯一的
    4.0将初始化的节点写入磁盘

==open== 打开文件函数
==close== 关闭文件----(一个)
==release== 动态关闭所有(指令集)文件函数 ---(全部)

接口

open (fp,属性,权限)

举报

相关推荐

0 条评论