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/的更多相关文章

  1. cat /proc/devices 和ls /dev

    对于新手来讲,linux的框架实在是太庞大,况且很多知识点需自己做才能理解 设备 文件 ,设备编号  #ll  -a /dev  在每一行都可以看到设备文件.设备编号(主.次) 对于每种硬件设备,系统 ...

  2. [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 ...

  3. Aborted wiping of zfs_member.1 existing signature left on the device.Aborting pvcreate on /dev/sda

    看意思是有什么签名在上面,创建不了逻辑卷,确认数据备份的情况下执行对应的下面命令: wipefs --all --force /dev/sdax

  4. rc.sysinit 解析

    $# :它可抓出 positional parameter 的數量,即脚本后面的参数有几个 $@和$*表示全部参数,但不包含脚本名,即$0,如果在command line上跑 my.sh p1 “p2 ...

  5. linux系统配置之开机启动过程(centos)

    1.开机流程如下: 2.BIOS BIOS是英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输出系统".其实 ...

  6. linux主编号的动态分配

    一些主设备编号是静态分派给最普通的设备的. 一个这些设备的列表在内核源码树的 Documentation/devices.txt 中. 分配给你的新驱动使用一个已经分配的静态编号的机会 很小, 但是, ...

  7. 第二次写linux驱动总结

    第一次写驱动是在去年,2019年十月份左右.当时是看着韦老师的视频一步步完成的.其中经历了很多error.搭建环境花费了很多精力.时间来到了2020年2月19日星期三,韦老师新视频出来了,我跟着再来了 ...

  8. Linux驱动实践:你知道【字符设备驱动程序】的两种写法吗?

    作 者:道哥,10+年嵌入式开发老兵,专注于:C/C++.嵌入式.Linux. 关注下方公众号,回复[书籍],获取 Linux.嵌入式领域经典书籍:回复[PDF],获取所有原创文章( PDF 格式). ...

  9. 在Linux下写一个简单的驱动程序

    本文首先描述了一个可以实际测试运行的驱动实例,然后由此去讨论Linux下驱动模板的要素,以及Linux上应用程序到驱动的执行过程.相信这样由浅入深.由具体实例到抽象理论的描述更容易初学者入手Linux ...

随机推荐

  1. java 中 SVN 设置所有文件及子目录 needs-lock, svn 提交时自动设置 needs-lock, 及版本不一致问题

    摘自: http://my.oschina.net/zhangzhihao/blog/72177 设置后的效果:文件会自动带上svn:needs-lock属性,默认是只读的要签出才能修改以防止修改完后 ...

  2. KRBTabControl(中文)Windows选项卡控件

    本文阐述了如何在C#使自定义Windows选项卡控件. Download demo project - 82.4 KB Download source - 252 KB 介绍 本文讨论如何使用.NET ...

  3. mysql更新日志问题

    [root@localhost ~]# /etc/init.d/mysqld restart 停止 mysqld: [确定] 正在启动 mysqld: [确定] 故障:今天在维护以前数据库日志的时候, ...

  4. mysql5.5.15配置主从数据库

    1.编辑主库的my.cnf 在[mysqld]下添加如下配置 server-i=1 #一般默认为1,不需要修改(一般都以ip的后两位为server-id,保证全局的一致) read-only=0#主库 ...

  5. MySQL截取字符串函数方法

    函数: 1.从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from my ...

  6. 一些Java面试题深入分析

    一.&和&&的差别? &和&&都能够用作逻辑与的运算符.表示逻辑与(and),当运算符两边的表达式的结果都为true时.整个运算结果才为true,否则, ...

  7. Android自动化框架

    Android自动化框架 已有 2085 次阅读2014-8-26 12:19 | Android 几种常见的Android自动化测试框架及其应用 随着Android应用得越来越广,越来越多的公司推出 ...

  8. 【Espruino】NO.17 使用平板电脑调试Espruino(OTG方式)

    http://blog.csdn.net/qwert1213131/article/details/38068379 本文属于个人理解,能力有限,纰漏在所难免,还望指正! [小鱼有点电] [Espru ...

  9. 【TP3.2】路由匹配和规则

    TP3.2框架的路由匹配和规则处理: 包括:静态路由,动态路由,多参数路由.正则路由 <?php return array( //'配置项'=>'配置值' /* * 路由开启和匹配.首先开 ...

  10. PHP-Windows下搭建Nginx+PHP环境

    项目中光用Nginx了, 由于有运维人员, 很少搭建Nginx服务器, 开发也就用用Apache, 搭过几次Nginx也忘的快, 每次都去翻别人博客, 今天重搭特此记录, 装前最好了解下FastCGI ...