Linux设备文件概述

Linux设备节点,驱动及设备 Linux设备分成三种基本类型: 字符设备块设备网络设备 设备驱动程序也分为对应的三类:字符设备驱动程序、块设备驱动程序和网络设备驱动程序。 在Linux中,所有设备都以文件的形式存放在/dev目录下,都是通过文件的方式进行访问,设备节点是Linux内核对设备的抽象,一个设备节点就是一个文件。 应用程序通过一组标准化的调用执行访问设备,这些调用独立于任何特定的驱动程序。而驱动程序负责将 阅读详情

Linux设备文件 概述

设备管理是linux中比较基础的东西,但是由于Linux智能程度的越来越高,Udev的使用越来越广泛,使得越来越多的Linux新用户对 /dev 目录下的东西变得不再熟悉。

Linux 中的设备有2种类型:字符设备(无缓冲且只能顺序存取)、块设备(有缓冲且可以随机存取)。每个字符设备和块设备都必须有主、次设备号,主设备号相同的设备是同类设备(使用同一个驱动程序)。这些设备中,有些设备是对实际存在的物理硬件的抽象,而有些设备则是内核自身提供的功能(不依赖于特定的物理硬件,又称为"虚拟设备")。每个设备在 /dev 目录下都有一个对应的文件(节点)。可以通过 cat /proc/devices 命令查看当前已经加载的设备驱动程序的主设备号。内核能够识别的所有设备都记录在原码树下的Documentation/devices.txt 文件中。在 /dev 目录下除了字符设备和块设备节点之外还通常还会存在:FIFO管道、Socket、软/硬连接、目录。这些东西没有主/次设备号。

设备文件

Linux内核所能识别的所有设备都记录在http://www.lanana.org/docs/device-list/而内核原码树中的 Documentation/devices.txt 可能不是最新版本。

了解这些设备的最基本要求就是对每个设备文件的含义了如指掌,下面列出常见的设备文件以及相应的含义(比较偏僻的就省略了)。

----------------------------------------------------------------------

主设备号        设备类型

                次设备号=文件名          简要说明

----------------------------------------------------------------------

 

  0                未命名设备(例如:挂载的非设备)

                      0 = 为空设备号保留

 

  1 char            内存设备

                      1 = /dev/mem             直接存取物理内存

                      2 = /dev/kmem            存取经过内核虚拟之后的内存

            3 = /dev/null               空设备。任何写入都将被直接丢

弃,任何读取都将得到EOF。

                      4 = /dev/port              存取 I/O 端口

                      5 = /dev/zero              零字节源,只能读取到无限多的

零字节。

                      7 = /dev/full                满设备。任何写入都将失败,并把errno设为ENOSPC以表示没有剩余空间。

                      8 = /dev/random          随机数发生器。完全由用户的输入来产生随机数。                                    如果用户停止所有动作,则停止产生新的随机数。

                      9 = /dev/urandom        更快,但是不够安全的随机数发生器。尽可能由用户的输入来产生随机数,如果用户停止所有动作,则把已经产生的随机数做为种子来产生新的随机数。

                     10 = /dev/aio                     异步 I/O 通知接口

                     11 = /dev/kmsg             任何对该文件的写入都将作为 printk 的输出

 

  1 block         RAM disk

                     0 = /dev/ram0              第1个 RAM disk (initrd只能使用ram0)

                     1 = /dev/ram1              第2个 RAM disk

                        ...

                    200 = /dev/ram200         第200个 RAM disk

 

  4 char           TTY(终端)设备

                      0 = /dev/tty0                当前虚拟控制台

                      1 = /dev/tty1                第1个虚拟控制台

                        ...

                     63 = /dev/tty63              第63个虚拟控制台

 

  4 block        如果根文件系统以是以只读方式挂载的,那么就不可能创建真正的设备节点,此时就使用该设备作为动态分配的主(major)设备的别名

                  0 = /dev/root

 

  5 char         其他 TTY 设备

                      0 = /dev/tty           当前 TTY 设备

                      1 = /dev/console     系统控制台(一般是/dev/tty0)

                      2 = /dev/ptmx        所有 PTY master 的复用器

 

  7 char         虚拟控制台捕捉设备(这些设备既允许读也允许写)

                      0 = /dev/vcs           当前虚拟控制台(vc)的文本内容

                      1 = /dev/vcs1         tty1 的文本内容

                        ...

                     63 = /dev/vcs63       tty63 的文本内容

                    128 = /dev/vcsa        当前虚拟控制台的文本/属性内容

                    129 = /dev/vcsa1       tty1 的文本/属性内容

                        ...

                    191 = /dev/vcsa63     tty63 的文本/属性内容

 

  7 block        回环设备(用一个普通的磁盘文件来模拟一个块设备)

                    对回环设备的绑定由 mount(8) 或 losetup(8) 处理

                      0 = /dev/loop0       第1个回环设备

                      1 = /dev/loop1       第2个回环设备

                        ...

 

 

  8 block        SCSI 磁盘(0-15)

                      0 = /dev/sda                    第1个 SCSI 磁盘(整个磁盘)

                     16 = /dev/sdb          第2个 SCSI 磁盘(整个磁盘)

                     32 = /dev/sdc          第3个 SCSI 磁盘(整个磁盘)

                        ...

                    240 = /dev/sdp         第16个 SCSI 磁盘(整个磁盘)

 

                    分区表示方法如下(以第3个 SCSI 磁盘为例)

                     33 = /dev/sdc1        第1个分区

                     34 = /dev/sdc2        第2个分区

                        ...

                     47 = /dev/sdc15       第15个分区

                    对于Linux/i386来说,分区1-4是主分区,5-15是逻辑分区。

 

  9 block        Metadisk(RAID)设备

                      0 = /dev/md0         第1组 metadisk

                      1 = /dev/md1         第2组 metadisk

                        ...

                    metadisk 驱动用于将同一个文件系统分割到多个物理磁盘上。

 

 10 char         非串口鼠标,各种杂项设备和特性

                      1 = /dev/psaux                 PS/2鼠标

                    131 = /dev/temperature        机器内部温度

                    134 = /dev/apm_bios   APM(高级电源管理) BIOS

                    135 = /dev/rtc             实时时钟(Real Time Clock)

                    144 = /dev/nvram         非易失配置 RAM

                    162 = /dev/smbus        系统管理总线(System Management Bus)

                    164 = /dev/ipmo            Intel的智能平台管理(Intelligent Platform Management)接口

                    173 = /dev/ipmikcs        智能平台管理(Intelligent Platform Management)接口

                    175 = /dev/agpgart        AGP图形地址重映射表(Graphics Address Remapping Table)

                    182 = /dev/perfctr         性能监视计数器

                    183 = /dev/hwrng          通用硬件随机数发生器

                    184 = /dev/cpu/microcode CPU微代码更新接口

                    186 = /dev/atomicps      进程状态数据的原子快照

                    188 = /dev/smbusbios          SMBus(系统管理总线) BIOS

                    200 = /dev/net/tun    TAP/TUN 网络设备(TAP/TUN以软件的方式实现了网络设备)

                                                   TAP模拟了以太网帧(第二层),TUN模拟了IP包(第三层)。

                    202 = /dev/emd/ctl    增强型 Metadisk RAID (EMD) 控制器

                    220 = /dev/mptctl      Message passing technology (MPT) control

                    223 = /dev/input/uinput        用户层输入设备驱动支持

                    227 = /dev/mcelog     X86_64 Machine Check Exception driver

                    228 = /dev/hpet                  HPET driver

                    229 = /dev/fuse                   Fuse(用户空间的虚拟文件系统)

                    231 = /dev/snapshot           系统内存快照

                    232 = /dev/kvm                   基于内核的虚构机(基于AMD SVM和Intel VT硬件虚拟技术)

 

 11 block        SCSI CD-ROM 设备

                      0 = /dev/scd0                   第1个 SCSI CD-ROM

                      1 = /dev/scd1                   第2个 SCSI CD-ROM

                        ...

 

 13 char         核心输入设备

                     32 = /dev/input/mouse0                第1个鼠标

                     33 = /dev/input/mouse1                第2个鼠标

                        ...

                     62 = /dev/input/mouse30    第31个鼠标

                     63 = /dev/input/mice                    所有鼠标的统一

                     64 = /dev/input/event0                 第1个事件队列

                     65 = /dev/input/event1                 第2个事件队列

                        ...

                     95 = /dev/input/event1                 第32个事件队列

 

 21 char         通用 SCSI 设备(通常是SCSI光驱)

                      0 = /dev/sg0                    第1个通用 SCSI 设备

                      1 = /dev/sg1                    第2个通用 SCSI 设备

                        ...

 

 29 char         通用帧缓冲(frame buffer)设备

                      0 = /dev/fb0           第1个帧缓冲设备

                      1 = /dev/fb1           第2个帧缓冲设备

                        ...

                     31 = /dev/fb31         第32个帧缓冲设备

 

 30 char         iBCS-2 兼容设备

                      0 = /dev/socksys    套接字访问接口

                      1 = /dev/spx                    SVR3 本地 X 接口

                     32 = /dev/inet/ip      网络访问接口

                     33 = /dev/inet/icmp

                     34 = /dev/inet/ggp

                     35 = /dev/inet/ipip

                     36 = /dev/inet/tcp

                     37 = /dev/inet/egp

                     38 = /dev/inet/pup

                     39 = /dev/inet/udp

                     40 = /dev/inet/idp

                     41 = /dev/inet/rawip

                    此外,iBCS-2 还需要下面的连接必须存在

                    /dev/ip -> /dev/inet/ip

                    /dev/icmp -> /dev/inet/icmp

                    /dev/ggp -> /dev/inet/ggp

                    /dev/ipip -> /dev/inet/ipip

                    /dev/tcp -> /dev/inet/tcp

                    /dev/egp -> /dev/inet/egp

                    /dev/pup -> /dev/inet/pup

                    /dev/udp -> /dev/inet/udp

                    /dev/idp -> /dev/inet/idp

                    /dev/rawip -> /dev/inet/rawip

                    /dev/inet/arp -> /dev/inet/udp

                    /dev/inet/rip -> /dev/inet/udp

                    /dev/nfsd -> /dev/socksys

                    /dev/X0R -> /dev/null

 

 36 char         Netlink 支持

                      0 = /dev/route        路由, 设备更新, kernel to user

                      3 = /dev/fwmonitor Firewall packet 复制

 

 59 char         sf 防火墙模块

                      0 = /dev/firewall     与 sf 内核模块通信

 

 65 block        SCSI 磁盘(16-31)

                      0 = /dev/sdq          第17个 SCSI 磁盘(整个磁盘)

                     16 = /dev/sdr                     第18个 SCSI 磁盘(整个磁盘)

                     32 = /dev/sds          第19个 SCSI 磁盘(整个磁盘)

                        ...

                    240 = /dev/sdaf        第32个 SCSI 磁盘(整个磁盘)

 

 

 66 block        SCSI 磁盘(32-47)

                      0 = /dev/sdag        第33个 SCSI 磁盘(整个磁盘)

                     16 = /dev/sdah        第34个 SCSI 磁盘(整个磁盘)

                     32 = /dev/sdai         第35个 SCSI 磁盘(整个磁盘)

                        ...

                    240 = /dev/sdav        第48个 SCSI 磁盘(整个磁盘)

 

 89 char         I 2C 总线接口

                      0 = /dev/i 2c -0        第1个 I 2C 适配器

                      1 = /dev/i 2c -1        第2个 I 2C 适配器

                        ...

 

 98 block        用户模式下的虚拟块设备(分区处理方式与 SCSI 磁盘相同)

                      0 = /dev/ubda                  第1个用户模式块设备

                     16 = /dev/udbb                  第2个用户模式块设备

                        ...

 

103 block       审计(Audit)设备

                      0 = /dev/audit        审计(Audit)设备

 

128-135 char   Unix98 PTY master

                    这些设备不应当存在设备节点,而应当通过 /dev/ptmx 接口访问。

 

136-143 char   Unix98 PTY slave

                    这些设备节点是自动生成的(伴有适当的权限和模式),不能手动创建。

                    方法是通过使用适当的 mount 选项(通常是:mode=0620,gid=<"tty"组的gid>)

                    将 devpts 文件系统挂载到 /dev/pts 目录即可。

                      0 = /dev/pts/0        第1个 Unix98 PTY slave

                      1 = /dev/pts/1        第2个 Unix98 PTY slave

                        ...

 

153 block       Enhanced Metadisk RAID (EMD) 存储单元(分区处理方式与 SCSI 磁盘相同)

                      0 = /dev/emd/0      第1个存储单元

                      1 = /dev/emd/0p1   第1个存储单元的第1个分区

                      2 = /dev/emd/0p2   第1个存储单元的第2个分区

                        ...

                     15 = /dev/emd/0p15 第1个存储单元的第15个分区

 

                     16 = /dev/emd/1      第2个存储单元

                     32 = /dev/emd/2      第3个存储单元

                        ...

                    240 = /dev/emd/15    第16个存储单元

 

180 char         USB 字符设备

                     96 = /dev/usb/hiddev0        第1个USB人机界面设备(鼠标/键盘/游戏杆/手写版等人操作计算机的设备)

                        ...

                    111 = /dev/usb/hiddev15      第16个USB人机界面设备

 

180 block       USB 块设备(U盘之类)

                      0 = /dev/uba                    第1个USB 块设备

                      8 = /dev/ubb                    第2个USB 块设备

                     16 = /dev/ubc                    第3个USB 块设备

                        ...

 

192 char         内核 profiling 接口

                      0 = /dev/profile      Profiling 控制设备

                      1 = /dev/profile0     CPU 0 的 Profiling 设备

                      2 = /dev/profile1     CPU 1 的 Profiling 设备

                        ...

 

193 char         内核事件跟踪接口

                      0 = /dev/trace        跟踪控制设备

                      1 = /dev/trace0      CPU 0 的跟踪设备

                      2 = /dev/trace1      CPU 1 的跟踪设备

                        ...

 

195 char         Nvidia 图形设备(比如显卡)

                      0 = /dev/nvidia0               第1个 Nvidia 卡

                      1 = /dev/nvidia1               第2个 Nvidia 卡

                        ...

                    255 = /dev/nvidiactl             Nvidia 卡控制设备

 

202 char         特定于CPU模式的寄存器(model-specific register,MSR)

                      0 = /dev/cpu/0/msr           CPU 0 的 MSRs

                      1 = /dev/cpu/1/msr           CPU 1 的 MSRs

                        ...

 

203 char         CPU CPUID 信息

                      0 = /dev/cpu/0/cpuid                   CPU 0 的 CPUID

                      1 = /dev/cpu/1/cpuid                   CPU 1 的 CPUID

                        ...

从 2.6.19 版本开始,内核引入了新的ATA驱动,将SATA/PATA硬盘统一使用 /dev/sd? 来表示了,所以 /dev/hd? 就没有存在的必要了。具体说来也就是你在编译内核的时候不要再使用"ATA/ATAPI/MFM/RLL support"下面的驱动,而是使用更新的"Serial ATA and Parallel ATA drivers"驱动。

链接、套接字、管道、挂载点

这部分详细说明一些应该或可能存在于 /dev 目录之外的文件。链接最好使用与这里完全相同的格式(绝对路径或相对路径)。究竟是使用硬链接(hard)还是软连接(symbolic)取决于不同的设备。

必须的链接

必须在所有的系统上都存在这些连接:

链接               目标               链接类型          简要说明

/dev/fd           /proc/self/fd    symbolic         文件描述府

/dev/stdin      fd/0               symbolic         标准输入文件描述府

/dev/stdout    fd/1               symbolic         标准输出文件描述符

/dev/stderr     fd/2               symbolic         标准错误文件描述符

/dev/nfsd       socksys                    symbolic         仅为 iBCS-2 所必须

/dev/X0R        null               symbolic         仅为 iBCS-2 所必须

[注意] /dev/X0R 是 <字母 X>-<数字 0>-<字母 R>

推荐的链接

推荐在所有的系统上都存在这些连接:

链接               目标               链接类型          简要说明

/dev/core        /proc/kcore     symbolic         为了向后兼容

/dev/ramdisk   ram0              symbolic         为了向后兼容

/dev/ftape      qft0               symbolic         为了向后兼容

/dev/bttv0      video0           symbolic         为了向后兼容

/dev/radio      radio0            symbolic         为了向后兼容

/dev/i2o*       /dev/i2o/*      symbolic         为了向后兼容

/dev/scd?       sr?                hard              代替 SCSI CD-ROM 的名字

本地定义的链接

下面的链接很可能需要根据机器的实际硬件配置创建其中的一部分甚至全部。这些链接仅仅是为了迎合习惯用法,它们既非必须也非推荐。

链接               目标               链接类型          简要说明

/dev/mouse    mouse port     symbolic         当前鼠标

/dev/tape       tape device     symbolic         当前磁带

/dev/cdrom     CD-ROM device          symbolic         当前CD-ROM

/dev/cdwriter  CD-writer        symbolic         当前CD-writer

/dev/scanner   scanner                    symbolic         当前扫描仪

/dev/modem   modem port    symbolic         当前调制解调器

/dev/root        root device     symbolic         当前根文件系统所在设备

/dev/swap      swap device    symbolic         当前swap所在设备

/dev/modem 不应当用于能够同时支持呼入和呼出的modem,因为往往会导致锁文件问题。如果存在 /dev/modem ,那么它应当指向一个恰当的主 TTY 设备。

对于SCSI设备,/dev/tape 和 /dev/cdrom 应该分别指向"cooked"设备 /dev/st* 和 /dev/sr* ;而 /dev/cdwriter 和 /dev/scanner 应当分别指向恰当的 /dev/sg* 。

/dev/mouse 可以指向一个主串行 TTY 设备、一个硬件鼠标、或者一个对应鼠标驱动程序的套接字(例如 /dev/gpmdata)。

套接字和管道

持久套接字和命名管道可以存在于 /dev 中。常见的有:

/dev/printer    socket            lpd 本地套接字

/dev/log         socket            syslog 本地套接字

/dev/gpmdata socket            gpm 鼠标多路复用器(multiplexer)

/dev/gpmctl    socket            (LFS-LiveCD中出现)

/dev/initctl     fifo pipe         init 监听它并从中获取信息(用户与 init 进程交互的通道)

挂载点

以下名称被保留用于挂载特殊的文件系统。这些特殊的文件系统只提供内核界面而不提供标准的设备节点。

/dev/pts         devpts           PTY slave 文件系统

/dev/shm tmpfs      提供对 POSIX 共享内存的直接访问

终端设备

终端(或TTY)设备是一种特殊的字符设备。终端设备是可以在会话中扮演控制终端角色的任何设备,包括:虚拟控制台、串行接口(已废弃)、伪终端(PTY)。

所有的终端设备共享一个通用的功能集合:line discipline,它既包含通用的终端 line discipline 也包含SLIP和PPP模式。所有的终端设备的命名都很相似。这部分内容将解释命名规则和各种类型的TTY(终端)的使用。需要注意的是这些命名习惯包含了几个历史遗留包袱。其中的一些是Linux所特有的,另一些则是继承自其他系统,还有一些反映了Linux在成长过程中抛弃了原来借用自其它系统的一些习惯。井号(#)在设备名里表示一个无前导零的十进制数。

虚拟控制台(Virtual console)和控制台设备(console device)

虚拟控制台是在系统视频监视器上全屏显示的终端。虚拟控制台被命名为编号从 /dev/tty1 开始的 /dev/tty# 。/dev/tty0 是当前虚拟控制台。/dev/tty0 用于在不能使用帧缓冲设备(/dev/fb*)的机器上存取系统视频卡,注意,不要将 /dev/console 用于此目的。/dev/console 由内核管理,系统消息将被发送到这里。单用户模式下必须允许 login 使用 /dev/console 。

串行接口

这里所说的"串行接口"是指 RS-232 串行接口和任何模拟这种接口的设备,不管是在硬件(例如调制解调器)还是在软件(例如ISDN驱动)中模拟。在linux中的每一个串行接口都有两个设备名:主设备或呼入(callin)设备、交替设备或呼出(callout)设备。设备类型之间使用字母的大小写进行区分。比如,对于任意字母X,"tty"设备名为 /dev/ttyX# ,而"cu"设备名则为 /dev/cux# 。由于历史原因,/dev/ttyS# 和 /dev/ttyC# 分别等价于 /dev/cua# 和 /dev/cub# 。名称 /dev/ttyQ# 和 /dev/cuq# 被保留为本地使用。

伪终端(PTY)

伪终端用于创建登陆会话或提供其它功能,比如通过 TTY line discipline (包括SLIP或者PPP功能)来处理任意的数据生成。每一个 PTY 都有一个master端和一个slave端。按照 System V/Unix98 的 PTY 命名方案,所有master端共享同一个 /dev/ptmx 设备节点(打开它内核将自动给出一个未分配的PTY),所有slave端都位于 /dev/pts 目录下,名为 /dev/pts/# (内核会根据需要自动生成和删除它们)。

一旦master端被打开,相应的slave设备就可以按照与 TTY 设备完全相同的方式使用。master设备与slave设备之间通过内核进行连接,等价于拥有 TTY 功能的双向管道(pipe)。
Linux设备模型(八) - sysfs sysfs是一个基于内存的虚拟的文件系统,有kernel提供,挂载到/sys目录下,负责以设备树的形式向user space提供直观的设备和驱动信息。sysfs以不同的视角展示当前系统接入的设备:/sys/block 历史遗留问题,存放块设备,提供一设备名(如sda)到/sys/devices的符号链接;/sys/bus 按总线类型分类,在某个总线目录之下可以找到链接该总线的设备的符号链接,指向/sys/devices. 某个总线目录之下的drivers目录包含了该总线所需的所有驱动的符号链接。 阅读详情

相关推荐

Linux命令学习_dmesg的使用,以及dmesg、proc/kmsg和/dev/kmsg有什么区别吗?

dmesg

a1809032425的博客 1490

Linux学习笔记-Linux下的设备文件

在Linux下,有一种文件的类型叫设备文件。 在/dev目录下的文件基本上都是设备文件,文件属性以c或b打头(charactor, block)   设备文件用于代表一个物理设备 例如,声卡、显卡、键盘、鼠标、摄像头、打印机、扫描仪。   例如,假设/dev/printer代表一台打印机,则fwrite向它写入数据,操作系统最终会把数据传送到打印机。   open: 打开设备 c...

IT1995的博客 5508

【NAS for PVE _04】安装TrueNAS

前篇说到如何调试 Proxmox VE 8.2 为安装虚拟机做准备,本篇主要讲述如何在 Proxmox VE 上安装 TrueNAS 系统,并开启NFS供其他系统挂载使用官网下载好TrueNAS系统镜像。

村口王师傅。 6144

Linux文件系统与设备文件

字符设备和块设备体现了Linux中的一切皆文件的设计思想,驱动通过文件操作相关的系统调用和C库函数(本质也属于系统调用)被访问,其次驱动工程师在设备驱动中不可避免会与设备文件系统打交道,这也引出了我们需要掌握设备文件系统的相关知识。

weixin_45241469的博客 900

EDA开源仿真工具verilator入门4:访问函数介绍

访问函数(Visitor Function)是verilator算法实现的主要工作方式之一,本节将介绍一下访问函数。

fangfanglovezhou的博客 1075

VC Spyglass:Lint实战指南之TCL脚本自动化解析

本文详细介绍了如何利用TCL脚本实现VC Spyglass Lint检查的自动化流程。通过实战指南,从基础脚本编写到高级参数化技巧,帮助数字IC设计工程师摆脱手动操作,提升验证效率,并实现与CI/CD流程的集成。

h3i4j的博客 796

读写/dev/kmsg设备编程实例

读写/dev/kmsg设备编程实例

2621

洪水风险图制作全流程:HEC-RAS 与 ArcGIS 的耦合应用

本文系统介绍HEC-RAS水动力模拟软件在水利工程中的应用技术。内容涵盖:1)软件理论与安装;2)一维地形数据导入与河网构建;3)恒定流/非恒定流计算及模型调试要点;4)构筑物建模技术(桥梁、堰闸等);5)二维水动力模拟与溃坝分析;6)洪水风险图绘制。重点讲解水面线调试、糙率选取、报错分析等实操难点,通过案例教学实现从基础到工程应用的全流程技术掌握。该培训适用于防洪评价、河道治理等水利工程数值模拟需求。

2403_89974123的博客 1050

Linux文件系统概述:硬盘驱动>通用块设备层>文件系统>虚拟文件系统(VFS)

目录 一.概述 1. 硬盘驱动 2. 通用块设备层 General Block Device Layer 3. 文件系统 4. 虚拟文件系统(VFS) 二.存储介质 闪存(Flash Memory) 外存 内存 1. 基于FLASH的文件系统 (1) jffs2 (2) yaffs:Yet Another Flash File System (3) Cramfs:Compressed ROM File System (4) Romfs 2. 基于RAM的文件系统 (1) Ra

RToax 3203

手把手教你RK3568 MIPI屏驱动适配,纯干货!

RK3568 作为一款高性能的多媒体处理器,在嵌入式领域中备受瞩目。它采用了先进的 22nm 制程工艺,搭载四核 Cortex-A55 处理器,这种架构为芯片提供了高效的功耗比,使其在运行各种复杂任务时,既能保证性能,又能有效控制功耗。在实际应用中,无论是多任务处理还是运行大型应用程序,RK3568 都能凭借其四核 Cortex-A55 处理器,实现流畅的操作体验,满足智能设备对高性能和低功耗的需求。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 4069

BVH2SMPL 实战笔记

BVH2SMPL 实战笔记

jacke121的专栏 843

Linux 设备文件

document.body.oncopy = function() { if (window.clipboardData) { set

Gabriel的专栏 8209

AutoSAR配置视频讲解:总目录

AutoSAR实验视频讲解:闪烁一颗LED实验【总目录】 欢迎大家来到雪云飞星的《AutoSAR实验视频讲解》,本专栏是一个关于AutoSAR的闪烁LED灯的实验课程,一共8节课,每节课的视频都放在文章最后,传送门如下: 前言 AutoSAR实验视频讲解:简介 EB 的Mcal配置 AutoSAR实验视频讲解:Mcal配置 DaVinci Cfg配置 AutoSAR实验视频讲解:新建DaVinci工程 AutoSAR实验视频讲解:Os配置(预计2021-3-10更新) AutoSAR实验视频讲解:检查校验报

雪云飞星的博客 2万+

linux下各种文件设备,各硬件设备在Linux中的文件名

选择好你所需要的硬件配置后,接下来得要了解一下各硬件在Linux当中所扮演的角色。这里鸟哥再次强调一下:在Linux系统中,每个设备都被当成一个文件来对待。举例来说,IDE接口的硬盘的文件名即为/dev/hd[a-d],其中,括号内的字母为a-d当中的任意一个,也即有/dev/hda,/dev/hdb,/dev/hdc, 及/dev/hdd这四个文件的意思。这种中括号【】形式的表示法在后面的章节当...

weixin_32183427的博客 524

在 Eclipse 中接入 DeepSeek:开启 Java 开发新效率

DeepSeek 能够根据自然语言描述,精准生成高质量的 Java 代码片段。无论是简单的方法编写,比如 “编写一个 Java 方法,用于计算两个整数的乘积”,还是复杂的类和功能模块创建,例如 “创建一个 Java 类,实现文件的读写操作,并包含异常处理机制”,它都能快速给出合理且可运行的代码示例。DeepSeek 生成的代码不仅实现了基本功能,还遵循 Java 的编码规范,添加了必要的注释,让代码更易于理解和维护,大大节省了开发者从头编写代码的时间和精力。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 4067

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Linux设备驱动开发详解

设备驱动提供了硬件和应用软件之间的纽带应用软件时只需 调用系统软件的应用编程接口(API) 就可让硬件去完成要求的工作。

实力派,无需多言! 2303

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

linux储存文件格式,linux中的.local文件是什么类型的文件?

改正一下,选B,我看错题了,原来以为是问那个命令里的cdrom是什么,自习一看原来问的是/media/cdrom,不好意思~选B这个命令的用法mount /dev/cdrom 挂载 dev目录下的cdrom设备到根目录下的media目录里也可以指令挂载点 mount /dev/cdrom /123 挂载dev目录下的cdrom设备到根目录下的123目录中LZ只要记住/dev是linux专门用来存放...

weixin_39704314的博客 1882

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Linux设备分类

闪存类块设备:使用闪存作为存储介质,里面的控制器运行固化的驱动程序,驱动程序的功能之一是闪存转换层(Flash Translation Layer,FTL),把闪存转换为块设备,对外表现为块设备。字符设备驱动通过/dev目录下的特殊文件公开设备的属性和功能,通过这个文件可以在设备和用户应用程序之间交换数据,也可以通过它来控制实际的物理设备。一个擦除块的最大擦除次数有限,NOR闪存的擦除块的最大擦除次数是104~105,NAND闪存的擦除块的最大擦除次数是105~106。字符设备驱动程序的特性。

weixin_57340941的博客 971

Linux设备文件系统

udev mdev 根文件系统

yyymmmmyyy的博客 612

LINUX 文件系统和设备文件系统

<br />1.文件操作的相关系统调用<br /> <br />    1.创建<br />                    int creat(const char *filename,mode_t mode)<br />                                                    文件的最终权限(mode & umask)<br />                    int umask(int newmask)<br /> <br />    2.打

lingxiang0614的专栏 1723

linux文件系统及目录结构

linux文件系统及目录结构

weixin_67312727的博客 966

linux文件管理概述

在linux系统下,一切皆文件,就连光盘也看做文件,要使用光盘首先要先建立一个目录文件,然后挂载通过操作这个目录来操作光盘,还有鼠标、键盘都是被看做文件。文件的类型主要分为下面五类:普通文件、目录文件、设备文件、连接文件、管道文件,其中其三者是三种基本的文件,下面简要介绍。 普通文件:文本文件、二进制文件。文本文件是以ASCII码形式存储,...

weixin_33901843的博客 197

linux kset 与网络设备,LINUX 文件系统和设备文件系统

1.文件操作的相关系统调用1.创建int creat(const char *filename,mode_t mode)文件的最终权限(mode & umask)int umask(int newmask)2.打开int open(const char *pathname,int flags)int open(const char *pathname,int flags,mode_t mo...

weixin_35492662的博客 145

linux学习笔记(二):设备文件、设备挂载

linux中硬件设备都是以文件形式存在,设备文件是外部设备与操作系统之间的接口 设备文件存放在/dev下,设备文件命名方式为:   主设备号(设备类型) + 次设备号(编号) 一、软盘     /dev/fdx 二 、SCSI设备硬盘、U盘   U盘在Linux识别为SCSI设备     第一个磁盘第一个分区  /dev/sda1     第二个磁盘第三个分区  /dev/sdb3...

weixin_34360651的博客 166

Linux字符设备驱动——Linux2.6标准字符设备驱动模型

文章目录Linux2.6标准字符设备特征Linux2.6标准字符设备定义字符设备驱动结构体头文件设备号分配核心结构函数静态设备号注册函数动态设备号注册函数设备号注销函数(释放设备号函数)核心结构初始化函数注册函数注销函数编写Linux2.6字符设备模型步骤第一步:变量定义第二步到第八步在入口函数完成第二步:分配一个核心结构第三步:申请设备号第四步:初始化核心结构第五步:注册核心结构第六步和第七步增...

zxng_work的博客 883
上一篇: Linux 设备文件
下一篇: 跳转指令
adderllyer
博客等级 码龄20年 13粉丝 21原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值