• [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的说法了。

  • 相关阅读:
    iOS 上线流程
    静态库和动态库的区别
    iOS如何生成.a文件
    苹果公司软件
    iOS 的主要框架
    多线程图解
    判断屏幕横屏/竖屏
    最大堆构建和堆排序
    hadoop2.6.0 + hbase-1.0.0 伪分布配置
    centos6 名字服务dnsmasq配置
  • 原文地址:https://www.cnblogs.com/aaronLinux/p/6661615.html
Copyright © 2020-2023  润新知