[device]/proc/devices and /dev/
1. /proc/devices和/dev
- cat /proc/devices
列出在当前运行的内核中已经注册的设备名称以及设备的Major主设备号。其中的设备信息是驱动程序在加载时生成的,也可以说是insmod的时候生成的。
- ls /dev/
设备文件,/dev下得设备是通过创建设备节点生成的,User层也是通过设备节点来访问驱动的,如open("/dev/ttyUSB0", **);
通过ll /dev可以看到各个设备的Major和Minor主从设备号。
一个主设备号对应一个驱动程序。
创建设备节点有两种方式:
1. mknod
mknod device c(or b) major minor, 如mknod ttymxc c 207 16 (imx.c)
2. 驱动程序创建,如Imx.c中
-->imx_serial_init(uart_driver) //uarta_driver在Imx.c的variable中有初始化
-->uart_register_driver(uart_driver)
-->tty_register_driver(tty_driver)
-->MKDEV(tty_driver->major, tty_driver->minor_start);
备注:/proc/devices和/dev下得生成都涉及到时module形式加载还是built-in内核,也涉及到驱动程序做了哪些事,如imx.c(版本)采用built-in, 且程序中还会创建主从设备节点,这样就不存在insmod和mknod的说法了。
[device]/proc/devices and /dev/的更多相关文章
- cat /proc/devices 和ls /dev
对于新手来讲,linux的框架实在是太庞大,况且很多知识点需自己做才能理解 设备 文件 ,设备编号 #ll -a /dev 在每一行都可以看到设备文件.设备编号(主.次) 对于每种硬件设备,系统 ...
- [Tools] Create your own mobile emulator device by using Chrome dev tool
Using the New Device Emulation Interface The Device Emulation interface changed a bit with the newer ...
- Aborted wiping of zfs_member.1 existing signature left on the device.Aborting pvcreate on /dev/sda
看意思是有什么签名在上面,创建不了逻辑卷,确认数据备份的情况下执行对应的下面命令: wipefs --all --force /dev/sdax
- rc.sysinit 解析
$# :它可抓出 positional parameter 的數量,即脚本后面的参数有几个 $@和$*表示全部参数,但不包含脚本名,即$0,如果在command line上跑 my.sh p1 “p2 ...
- linux系统配置之开机启动过程(centos)
1.开机流程如下: 2.BIOS BIOS是英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输出系统".其实 ...
- linux主编号的动态分配
一些主设备编号是静态分派给最普通的设备的. 一个这些设备的列表在内核源码树的 Documentation/devices.txt 中. 分配给你的新驱动使用一个已经分配的静态编号的机会 很小, 但是, ...
- 第二次写linux驱动总结
第一次写驱动是在去年,2019年十月份左右.当时是看着韦老师的视频一步步完成的.其中经历了很多error.搭建环境花费了很多精力.时间来到了2020年2月19日星期三,韦老师新视频出来了,我跟着再来了 ...
- Linux驱动实践:你知道【字符设备驱动程序】的两种写法吗?
作 者:道哥,10+年嵌入式开发老兵,专注于:C/C++.嵌入式.Linux. 关注下方公众号,回复[书籍],获取 Linux.嵌入式领域经典书籍:回复[PDF],获取所有原创文章( PDF 格式). ...
- 在Linux下写一个简单的驱动程序
本文首先描述了一个可以实际测试运行的驱动实例,然后由此去讨论Linux下驱动模板的要素,以及Linux上应用程序到驱动的执行过程.相信这样由浅入深.由具体实例到抽象理论的描述更容易初学者入手Linux ...
随机推荐
- SVM训练结果参数说明 训练参数说明 归一化加快速度和提升准确率 归一化还原
原文:http://blog.sina.com.cn/s/blog_57a1cae80101bit5.html 举例说明 svmtrain -s 0 -?c 1000 -t 1 -g 1 -r 1 - ...
- IOS开发帐号与发布问题综合
一.iOS开发:AD-HOC版应用测试方法:http://hi.baidu.com/kangle1208/item/163f39530abb4d3195eb05a7 二.plist的方式发布: 1.y ...
- shell中的字符串操作
SHELL字符串操作 bash Shell提供了多种字符串处理的命令: awk命令 expr命令 字符串长度 ${#..} expr length awk的length(s) 实例: string=& ...
- Spring MVC过滤器-登录过滤
以下代码是继承OncePerRequestFilter实现登录过滤的代码: package com.test.spring.filter; import java.io.IOException; im ...
- js 判断进入可视区域
js 判断进入可视区域 CreateTime--2018年4月14日08:17:41 Author:Marydon 1.使用场景 图片懒加载时候需要用到,其他情况暂时没有遇到,欢迎留言补充! 2. ...
- 让zend studio 支持 redis函数自动提示
phpredis作者https://github.com/nicolasff/phpredis 写了文档https://github.com/ukko/phpredis-phpdoc上面提到了如何让e ...
- 转:简单通用的一则makefile .
在linux下面下写程序少不了写makefile,如果每个文件都按部就班的详细的写编译脚本,效率势必低下:makefile提供了自动化变量.模式规则等,稍加利用可以提高写makefile的效率.下面列 ...
- 【图像算法】彩色图像切割专题八:基于MeanShift的彩色切割
>原理曾经的博客中已经有对meanshift原理的解释,这里就不啰嗦了.国外的资料看这:http://people.csail.mit.edu/sparis/#cvpr07 >源代码 核心 ...
- Linux命令-文件搜索命令:find
选项: -name表示按文件名称查找 find /etc -name init 搜索etc目录下面的文件名为init的所有文件(精确搜索) find /etc -name *init* 搜索etc目录 ...
- JAVA编译器常量
编译器常量的特点就是:它的值在编译期就可以确定.比如: final int i = 5; 再傻的编译器也能在编译时看出它的值是5,不需要到运行时.对于运行时常量,它的值虽然在运行时初始化后不再发生变化 ...