- 博客(3)
- 收藏
- 关注
原创 yocto构建
本次使用著名的yocto在Ubuntu上构建一个最小的Linux发行版,yocto使用起来非常灵活方便,所以本次使用它来构建。yocto可以为嵌入式硬件开发板构建自己的发行版,这次构建一个运行在QEMU上的最小化Linux,并在QEMU上实际运行。
2023-12-11 14:36:27
112
1
原创 一文搞懂内核中cdev的各种注册函数
区别:register_chrdev比较老的内核注册的形式 早期的驱动,register_chrdev_region/alloc_chrdev_region + cdev属于新的驱动形式。register_chrdev()可以实现静态和动态注册两种方法,主要是通过判断给定的主设备号是否为0来进行区别,为0的时候为动态注册,否则静态注册。register_chrdev_region以及alloc_chrdev_region就是将上述函数的静态和动态注册设备号进行了拆分,前者为静态注册,后者为动态注册。
2023-09-20 17:18:27
1265
1
原创 第一种注册字符设备驱动的方法
一个文件必然在内核有对应的struct inode,这个结构体里面有设备号(dev_t—无符号整型)和指向一个字符设备驱动的设备指针(* 结构体指针)。主设备号是说明是某一个类型设备,多个相同设备有可能主设备号相同,次设备号用于区分不同设备。主设备号高12位,次设备号低20位。在写代码的时候,需要手动添加register_chrdev函数,并给他传入3个参数(主设备号、设备名、已经实例化好的驱动函数集)注册十个温湿度传感器,这十个设备文件有相同的主设备号,不同的次设备号,而且通常情况次设备号连续。
2023-09-20 17:17:26
76
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人