腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
视频
沙龙
2
回答
编译到内核中的驱动程序的初始化函数调用
、
、
、
在Linux中,如果设备驱动程序被构建为可加载的内核模块,那么在插入设备驱动程序内核模块时,内核将调用module_init()宏所指出的设备驱动程序的初始化函数。 它们的init函数是如何调用的?
浏览 4
提问于2012-10-13
得票数 5
回答已采纳
1
回答
linux设备驱动程序与虚拟PCI设备的接口
、
、
、
我有一个模拟PCI设备的用户空间程序。我已经下载了nvme linux设备驱动程序,它使用NVMe标准与PCI设备交互。我必须验证我的用户空间程序是否与标准兼容。 C( linux设备驱动程序)包含nvme_probe()函数,当插入设备时将调用该函数。因为我没有这个设备,所以我想我会在nvme_init()函数中加入探测功能。 现在,我已经在互联网上学习了相当多,以了解如何模拟PCI设备,例如,我不明白如何将填充的结构pci_dev返回到nvme_probe() ofpci_set_drvdata(pdev, dev);中的函数调用。 如果您可以推荐一个教程,关于如何使用虚拟设备配置和用户空
浏览 6
提问于2012-12-07
得票数 3
回答已采纳
1
回答
在Linux中热插拔时检测设备的存在
、
、
、
我正在熊猫板上运行SPI ,我想知道中的哪个功能负责在设备热插拔时检测它。 有嵌入式系统、Linux设备驱动程序和/或spi背景的人能回答我的问题吗?
浏览 10
提问于2014-04-01
得票数 13
回答已采纳
1
回答
使用rmmod (del_gendisk)卸载时,Linux块设备模块挂起。
、
、
、
我正在为Linux中的块设备驱动程序编写一个小示例。这个例子还没有完成,我一步一步地前进。我用blkdev_register注册了一个块设备,并用alloc_disk分配了gendisk结构。当插入模块时,所有功能都很好。它出现在/proc/设备中。但是如果我想用rmmod卸载它,它就挂起了。 我发现,在模块卸载函数中,调用del_gendisk导致了挂起。我知道gendisk结构有一个嵌入的kobject,它负责引用计数。此机制妨碍您在使用模块时卸载该模块。但是,由于我不调用add_disk,所以不应该引用该结构。 #include <linux/module.h> #inclu
浏览 0
提问于2019-06-15
得票数 0
3
回答
在哪里可以找到linux支持的设备驱动程序列表?
、
、
我读过这里,linux支持大量的设备驱动程序,而且它还支持大量通过USB端口连接的设备。摘录自该网站: 今天,Linux支持的硬件设备比世界上任何其他操作系统都多。它使用的开发模型与熟悉的Windows设备驱动程序模型有很大不同。 是否有linux支持的所有不同设备的列表?和/或通过USB连接并由linux`支持的设备列表? 这与通过使用命令lsmod、lspci和dmesg | grep <string>作为分发提供程序只支持linux所支持的所有驱动程序中的几个通用驱动程序来找出当前在给定发行版中支持的设备驱动程序是不同的。
浏览 0
提问于2014-07-16
得票数 1
回答已采纳
2
回答
安装Linux PCI驱动程序而不连接设备
、
、
有没有办法在不连接设备的情况下安装Linux设备驱动程序? 我有完全访问驱动程序代码的权限。我使用的是Linux内核2.6.35。 我已经尝试了insmod和modprobe,但都没有用。我正在开发一个自定义驱动程序(不是我写的),但是没有任何文档。
浏览 2
提问于2012-10-04
得票数 0
回答已采纳
2
回答
在arm linux内核中多早可以调用kalloc?
、
、
我想从arm linux内核中的machine_init函数动态分配内存。然而,我的测试表明,调用kalloc有时会导致系统完全无法引导。 我的调试工具非常有限,所以我不能给出更多关于失败的信息。 简而言之,在ARM linux中从machine_init函数调用kalloc合法吗?如果不合法,还有其他选择吗? 我知道在大多数情况下,在引导过程中这么早就分配内存是错误的(这种工作应该由设备驱动程序完成);但是,我确信我的特定项目需要这样做。
浏览 1
提问于2010-03-27
得票数 1
回答已采纳
1
回答
Linux使用驱动程序内部的驱动程序
、
、
、
我正试图通过RS232串口从我的linux机器上连接到一个微控制器。 我已经编写了驱动程序并实现了一个协议b/n pc和微控制器,它使用内核中已经存在的tty(/dev/ttyS0)设备作为一个模块(例如,通过调用open,close等)。但是,当我尝试编译时,它说找不到打开、写入、读取等的引用。 如何在驱动程序中使用现有的设备驱动程序?还有没有什么我需要加进去的? 如果没有,如何在驱动程序中轻松使用串行端口? #include <linux/module.h> #include <linux/kernel.h> #include <linux/fs.h>
浏览 5
提问于2011-05-09
得票数 2
回答已采纳
6
回答
Linux设备驱动程序,程序是从哪里开始的?
、
我已经开始学习Linux驱动程序,但我发现它有点难。 我一直在研究i2c驱动程序,我对驱动程序的入口点感到非常困惑。驱动程序是否在MOUDULE_INIT()宏中启动? 我还想知道如何才能知道驱动程序如何运行的过程。我拿到了“Linux设备驱动程序”这本书,但我仍然很困惑。你能帮我一下吗?非常感谢。 我将以i2c驱动程序为例。它里面有这么多函数,我想知道如何才能得到i2c驱动程序中函数之间的协调关系?
浏览 2
提问于2012-10-16
得票数 1
回答已采纳
1
回答
在基于ARM的系统中,PCIe设备的文件枚举位于Linux内核中?
、
、
、
我正在为一个基于ARM的定制平台开发PCIe驱动程序。作为一个起点,我已经开始研究Linux内核4.15.9代码。我无法找到相关的PCIe驱动程序文件。特别是,我对PCIe设备枚举和配置感兴趣。如能在这方面提供任何帮助,将不胜感激。
浏览 6
提问于2018-03-14
得票数 0
回答已采纳
2
回答
主编号、次要编号和驱动程序加载
、
、
、
我是个初学者。我对设备驱动相关的主号和次号有一定的了解。另外,我知道大多数可以插入Linux系统的设备都有一个主机号。并且基于该主要编号,加载相应的驱动程序。我有这个疑问,请告诉我当插入设备时,内核是如何读取设备的主机号的?请尽可能简单地解释从设备插件到驱动程序加载的步骤。 提前谢谢。
浏览 5
提问于2012-06-23
得票数 5
1
回答
将SSHing转换成USB
、
、
我有一个小型的IoT设备,我正在尝试编程。当我将它插入我的Mac时,在ifconfig下会弹出一个接口,我可以在地址192.168.225.1处插入它。不幸的是,我需要刷新它的固件,固件更新只在Linux上运行。 我在Linux上为其他IoT设备启用的过程如下: 启用设备下的usb设备->USB->USB设置 连接设备 见设备下弹出的设备->USB和lsusb 在ifconfig上出现一个接口,我可以在设备中使用ssh。 此过程适用于我的类似IoT设备,并允许我将ssh放入设备中。对于这个设备,每一步都能工作,除了没有任何接口提供给我进入板。我对串行通信不太熟悉,所以我的问题
浏览 0
提问于2018-02-15
得票数 -1
回答已采纳
1
回答
如何在嵌入式Linux中初始化外围设备
我是嵌入式Linux的新手。我正在开发IMX6UL评估工具包,并通过Yocto构建过程进行工作。如果我的问题是非常基本的,我很抱歉,我试图理解Linux启动和初始化过程。 我已经理解了分配外设的设备树。但是我不明白它们是在哪里初始化的,比如LCD,SPI,I2C。 由于我的背景是裸金属,我知道它必须在某个地方初始化。但这是在Linux中完成的。我不明白。 有人能给我举几个例子吗?
浏览 2
提问于2019-07-23
得票数 0
回答已采纳
1
回答
如果使用Linux作为赤裸代码的引导加载程序,PCIe设备驱动程序是否有益?
、
、
、
、
我正在PowerPC处理器上开发一个嵌入式系统,需要通过PCIe与FPGA进行通信。我希望使用Linux/embedded作为引导加载程序,利用其PCIe初始化代码和驱动程序API进行简化的PCIe驱动程序开发。然而,最后,我想运行裸金属代码(没有操作系统运行)。因此,我正在考虑使用PetitBoot/kexec从Linux跳到我自己的代码。 这个是可能的吗? 我目前对PCIe驱动程序的理解使我相信,一旦设备被初始化,只要我有指向地址空间的指针,我就应该能够直接执行直接到内存空间的MMIO /W操作。因此,即使kexec覆盖了驱动程序代码,我也应该能够使用该设备,因为驱动程序已经完成了它的工作
浏览 2
提问于2015-05-07
得票数 0
回答已采纳
1
回答
什么是使用扁平的设备树- Linux内核?
、
、
、
我正在经历Uboot &内核启动过程。FDT (平面设备树)的确切用途是什么? 我读过的许多链接表明,uboot以FDT的形式将板和SOC配置信息传递给内核。 为什么内核需要板配置信息? 我之所以问这个问题,是因为当我们在linux中制作设备驱动程序时,我们使用在探测()或module_init()调用处初始化设备&使用request_mem_region() & ioremap()函数来获得地址范围&然后设置驱动程序的时钟和其他寄存器。 现在,如果我的设备驱动程序为片内和片外设备正在进行完全的板初始化。 那么flattened device tree对内核
浏览 0
提问于2014-02-16
得票数 8
回答已采纳
1
回答
访问设备配置空间- win内核PCI设备
、
、
、
、
我正在编写一个方法来获得pci设备,给定供应商id,设备id (就像Linux内核中的pci_get_device一样)。 为此,我需要获取设备对象配置。我从这里读到了同样的内容: 现在,为了测试这一点,我做了一个假的驱动程序服务安装框架,它将安装我的I/O设备驱动程序,并且可以从DriverEntry测试这个PCI功能。 但是操作系统在irql_not_less_or_equal下崩溃,在 irp = IoBuildSynchronousFsdRequest(IRP_MJ_PNP, targetObject,
浏览 0
提问于2012-07-06
得票数 2
1
回答
linux帧缓冲区驱动程序是视频卡驱动程序吗?
、
、
我很少了解这些硬件的实际工作原理,但现在我需要学习如何为Android设备编写Linux帧缓冲区驱动程序。 我对Linux图形栈感到困惑。据我所知,在桌面计算机上,组合窗口管理器与DRM交互,后者将数据发送到特定的显卡驱动程序。另一方面,有一些控制器从GPU's内存中通过DMA检索数据,并将其发送到监视器,正如答案所建议的那样。此外,通过page 29 of book的图表,我认为帧缓冲区驱动程序位于实际图形设备之上,因此它必须与特定的显卡驱动程序交互,例如nVidia驱动程序。 但当我在谷歌上为嵌入式设备编写帧缓冲驱动程序时,结果显示,驱动程序似乎直接负责与LCD的联系,因此它看起
浏览 5
提问于2016-08-11
得票数 10
回答已采纳
1
回答
我能在多早的时候将数据发送到Linux引导下的串口?
、
、
、
我有一个外部串行外围设备,需要安装在Linux引导上,在嵌入式系统上。我需要的是在系统引导期间尽早发送一个短配置字符串,所以我的过程很简单。 将端口设置为115200 bps 发送一个字符串,如"ABCDE\r\n“ 我看到最近的内核支持早期的串行控制台,但我需要的不是控制台(我的外围设备也可以在那个阶段发送无意义的数据,而且我将在图形模式下显示一个启动屏幕),只是外围设备的快速初始化。 怎么做呢?
浏览 6
提问于2021-04-14
得票数 0
2
回答
Linux内核配置设备的顺序是什么?
、
、
、
、
正如我在阅读了Linux设备驱动程序第3版中与Linux设备模型相关的章节之后所理解的,当配置了一个新设备时,内核(2.6)或多或少遵循以下顺序: 设备在驱动程序内核中注册(包括设备initialization)A kobject在内的设备在设备模型中注册,它在sysfs中创建一个条目并引发热插拔事件总线,并检查驱动程序是否与deviceProbeDevice匹配,以确定哪一个匹配到驱动程序)。 我主要的疑问是,在第1步中,何时调用device_register(),以及应该在device结构中设置哪些字段? 它是否被设备连接的总线所调用?代码中有什么例子吗? 我有误解什么吗?
浏览 20
提问于2010-06-01
得票数 8
回答已采纳
2
回答
设备驱动程序栈
、
、
我是一个初学者,我正在尝试理解设备驱动程序栈背后的概念?我知道设备驱动程序栈有三层,分别是低级驱动程序、总线管理器和高级驱动程序。我的问题是,是否存在针对低级驱动程序和总线管理器的单独代码?如果它们存在,我可以在哪里找到Linux文件系统中硬件控制器的低级驱动程序?谢谢。
浏览 0
提问于2012-06-24
得票数 2
2
回答
查看内核中内置的linux内核驱动程序,以及它们如何绑定/挂载/启动
我很难完全理解内核是如何在linux中启动的。我是个wince开发人员,我们公司现在决定用linux来运行。 我们外包了所有的董事会提升和我收到的包是退出有点不同的原型板,我们已经与我们一直使用的nitrogen6x。 在我开始列出我们创建的发行版的差异之前,内核是相同的。我们一直在使用的发行版是一个繁忙的系统。我们从卖主那里收到的是sysvinit。我从busybox中删除了mdev,我们只使用udev。 当我在我们的公共机顶盒上使用内核时,触摸屏驱动程序就会中断,或者运行,或者做一些完全神奇的事情。我不确定..。有一个/dev/ run /event0 0设备,当在sysvinit端运行时
浏览 6
提问于2013-11-19
得票数 1
回答已采纳
2
回答
在Linux内核中定义平台设备
、
、
我参考下面的li来描述我的嵌入式Arm linux板上使用的所有驱动程序作为平台设备,需要澄清几点。请在这些方面提出建议。 定义平台驱动程序==================的=============== static struct platform_driver serial_imx_driver = { .probe = serial_imx_probe, .remove = serial_imx_remove, .driver = { .name = "imx-uart", .owner = THIS_MODULE, }, }; 定义平台设备============
浏览 1
提问于2014-02-27
得票数 1
1
回答
如果使用相同的内核,两个不同的Linux发行版会支持相同的设备驱动程序吗?
、
、
、
我无意中发现了这个据称提供专有WiFi驱动程序的英特尔网页。我目前正在使用Ubuntu20.04。 📷 不要将问题保留在这些设备驱动程序中(希望它仍然可以回答问题)我的问题是- 设备驱动程序可以安装在任何Linux上(比如Ubuntu和CentOS),如果它们基于相同的内核(比如5.2)? 当然,我假设内核版本满足页面上给出的版本要求。 我之所以不确定答案,是因为我知道很多软件都是为特定的Linux发行版开发的,甚至是单独发布的,可以通过它们的包管理器来安装。在设备驱动程序的情况下,系统不是类似的吗? P.S.:页面的链接。
浏览 0
提问于2020-06-09
得票数 0
回答已采纳
2
回答
如何将/dev/中的设备与实际驱动程序关联
、
、
我试图了解设备驱动程序是如何在linux中工作的。 我有一个设备节点,如下(主编号89,设备名i2c-0) crw-r-r-1 0 0 89,0 9月29 01:36 /dev/i2c-0 我有一个名为i2c的i2c.ko驱动程序,我将在启动时执行insmod i2c.ko。 在驱动程序中,将在初始化过程中调用以下函数: register_chrdev(89,"i2c",&i2chtv_fops)<0 //不是"i2c-0“ 我的问题是:当用户调用open("/dev/i2c-0", O_RDWR)时,内核如何知道使用哪
浏览 9
提问于2009-10-06
得票数 4
回答已采纳
1
回答
标记初始化是否真的允许对结构成员进行重新排序?
、
、
、
、
我目前正在阅读"Linux设备驱动程序“第三版。 摘录: scull设备驱动程序只实现最重要的设备方法。它的file_operations结构初始化如下: 结构file_operations scull_fops ={ .owner = THIS_MODULE,.llseek = scull_llseek,.read = scull_read,.write = scull_write,.ioctl = scull_ioctl,.open = scull_open,.release = scull_release,}; 此声明使用标准的C标记结构初始化语法。这种语法是首选的,因为它使驱
浏览 3
提问于2015-05-26
得票数 2
回答已采纳
1
回答
将Linux /dev/USB作为标准文件访问,以便与USB设备进行通信
、
、
、
、
我正在研究在Linux中与USB设备通信的方法,我不希望编写Linux内核驱动程序。我知道libusb是存在的,并且是一个可以工作的用户库,但是我们的嵌入式设备不支持usbfs (而且改变内核来增加支持真的很痛苦)。 因此,我的问题基本上是这样的:是否可以/建议通过直接读写/dev/USB或与USB设备对应的udev文件来与USB设备通信,从而绕过对自定义Linux驱动程序和usbfs的需要? 我希望一旦打开/dev/USB或udev设备文件,只需通过文件类型的读/写命令直接读/写协议包,就可以使用USB设备协议进行通信。 请给我一些想法和建议。 跟进: 因为我需要与之通信的USB设备是USB
浏览 67
提问于2012-03-03
得票数 8
回答已采纳
2
回答
什么是linux内核上下文中的DMA映射和DMA引擎?
、
、
、
、
什么是linux内核上下文中的DMA映射和DMA引擎?什么时候DMA映射API和DMA引擎API可以在Linux设备驱动程序中使用?任何真正的Linux设备驱动程序示例作为参考都是很好的。
浏览 10
提问于2015-12-25
得票数 10
1
回答
linux内核如何知道设备的主要和次要数字?
、
、
据我所知,内核检测硬件,向sysfs添加信息,在/dev中创建设备,然后生成udev事件。我的问题是,是设备驱动程序完成了所有这一切,还是内核本身?如果驱动程序这样做,那么他们将知道设备的大小和次要数字,以便在devtmps中创建文件。 我还理解(可能是错误的),是udev调用mod探头来加载处理设备的驱动程序。 我被告知他们使用MODALIAS uevent环境变量的内容,从而加载别名与此字符串匹配的所有模块(正确的驱动程序)。简而言之: linux中硬件检测的步骤是什么? WHO执行每个步骤:内核本身、内核内部的驱动程序或用户空间中的udev。谢谢。
浏览 0
提问于2016-10-08
得票数 5
回答已采纳
1
回答
如何在调用mmap()时获取Linux中设备中字段的偏移量
、
、
、
、
我目前正在一个Linux设备驱动程序中实现mmap()。 基本上,假设已经定义了一个名为data的结构。我的设备的结构定义如下, struct test_dev{ struct cdev cdev; struct mutex lock; struct data *data; }; 在设备的open()方法中,通过调用vmalloc()来分配data。假设我想让用户调用mmap()来映射到数据字段,用户需要知道offset of data字段: int fd = open("/dev/testdev", O_RDWR); int ret = mmap(NU
浏览 5
提问于2021-07-18
得票数 1
回答已采纳
3
回答
设备驱动程序开发和linux内核编程有什么联系/区别?
、
、
这可能是一个愚蠢的问题,但我很困惑,谷歌也帮不上忙。 我知道Linux是内核,它是许多发行版( Ubuntu,Mint)的核心。但是,当我们说"Linux内核编程“时,我们到底是什么意思呢?是Bash脚本吗? 它与设备驱动程序的开发有什么关系?(我们是否意味着硬件正在运行linux内核,并且我们进行内核编程来支持外围设备,这通常是与linux相关的设备驱动程序开发?)
浏览 3
提问于2014-08-05
得票数 1
2
回答
为串口控制LED设备制作Linux LED类驱动程序
、
、
我有一个硬件设备,可以控制面板上的LED,它还有一个用于PC控制LED的串口。 我希望能够使用Linux类API从用户空间应用程序中控制LED,即通过/sys/class/leds/whatever/brightness。所以我想为这个设备做一个Linux内核驱动程序。 然而,根据我所读到的,Linux内核驱动程序打开串行设备似乎是不寻常的。例如StackOverflow问题。我读过关于filp_open()的文章,它可以被内核驱动程序用来打开设备文件,但是它的使用似乎是不受欢迎的。 另一方面,在用户空间中实现这一点似乎是不可能的,因为我不知道如何从用户空间创建Linux类设备。 向串口控制的
浏览 24
提问于2016-04-20
得票数 2
1
回答
configfs不挂载设备树/覆盖
、
、
我的工作是一个旋风V SOC FPGA从Altera与双Cortex-A9处理器。嵌入式系统(Linux4.15.7)是用Buildroot-2018.02创建的。used用于加载系统的i-e FPGA.rbf文件、设备树blob和zImage,一切正常。 现在我要将RBF文件集成到我的Linux中,并从linux中编程FPGA。我发现了几种方法,而我理解的最常见的方法是将CONFIGFS与设备树覆盖一起使用。 因此,我更改了设备树以集成覆盖、禁用FPGA加载的u引导脚本以及linux ".config“文件中的以下选项和make linux-xconfig: +CONFIG_OF_O
浏览 3
提问于2018-06-15
得票数 5
1
回答
Android USB音频作为主要音频
、
、
、
我正在构建一个基于高通sdm845 SoC的安卓设备。对于音频,我使用一个简单的USB音频编解码器。然而,在高通SOM模块附带的开发套件上,他们使用了sdm845 WCD9340编解码器。我的通用串行总线音频编解码器实际上是一个连接了I2S数模转换器和I2S麦克风的Teensy 3.2 (恩智浦Kinetis Cortex-M4)突破。当我将这个设备连接到开发工具包的USB端口(运行定制的Android 9 BSP)时,我通过USB获得音频I/O。所以HAL的支持是存在的。 在我的自定义印刷电路板上携带相同的custom,但是,sdm845音频设备将不会输出任何声音。在Linux内核级别上,
浏览 70
提问于2020-08-26
得票数 0
2
回答
平台设备的名称来自何处
、
、
我正在阅读关于Linux设备模型的文章,它是围绕总线、设备和驱动程序构建的,.I能够理解一些关于设备和驱动程序匹配的情况,但不清楚总线在这里的作用,总线是如何与设备匹配的。 我还有一个疑问,关于平台设备的名字是从哪里来的。 平台总线只是将每个设备的名称与每个驱动程序的名称进行比较;如果它们相同,则设备与驱动程序匹配。 现在我不能真正理解上面的观点,.I相信设备名称是先在dts文件中定义的,然后在平台驱动程序代码中定义相应的驱动程序名称。 如果这两个名称匹配,将从驱动程序代码中调用探测器,以确认设备确实存在。 有没有人可以特别从公交车的角度告诉我整个过程。
浏览 3
提问于2013-10-08
得票数 5
回答已采纳
2
回答
U如何与Linux内核通信?
、
、
我正在读这本书,它告诉我: 在U加载Linux内核后,内核将声明U的所有资源。 这是什么意思?这是否意味着在U中分配的所有数据结构都将被丢弃? 例如:在U期间,PCIE和网络设备将被初始化.引导Linux内核后,PCIE和网络设备数据结构会被丢弃吗?Linux内核会再次进行PCIE和NEtwork初始化吗?或者U会将一些数据传输到内核?
浏览 3
提问于2016-06-27
得票数 0
回答已采纳
1
回答
所有的设备驱动软件都能与Linux一起工作吗?
例如,我为特定的设备编写了自己的设备驱动程序,任何类型的设备,比如无线USB鼠标之类的.如何将它添加到Linux内核中? 内核支持驱动程序吗?这一过程将如何进行? 不太熟悉Linux的内核系统..。
浏览 0
提问于2012-12-15
得票数 0
1
回答
LInux设备驱动程序分层混乱
、
、
我最近一直在阅读关于Linux驱动程序和设备模型的文章。我想了解下面的驱动程序子系统在linux中是如何工作的。假设我的设备树如下所示 ? 具体地说,假设Bus1是PCI总线,Bus2是ISA,Bus3是USB.总线使用网桥相互连接。 Linux将通过枚举过程识别这棵设备树,并通过枚举和探测机制识别出适合终端设备的usb驱动程序。 现在,让我们假设对该终端设备执行一次Tx操作。终端设备usb驱动程序最终将执行urb_submit(dev,write_buffer)。 我的问题是,为了让市建局到达终端设备,理论上它必须用Bus2和Bus1信封封住。因此,从理论上讲,传出的数据包必须如下
浏览 19
提问于2020-04-15
得票数 0
3
回答
Linux内核是如何挂载文件系统的?这到底是怎么回事?
我的问题涉及Linux源代码,如果它实际上包含安装、解析和使用文件系统所必需的代码,或者是否添加到源代码中。 如果Linux源代码包含通过文件系统解析和访问/组织文件的代码,那么可以肯定地说,文件系统是由一个在Linux中编码的设备驱动程序控制的,还是这个过程是基于发行版、发行版等而不同的。 Linux如何在其他存储设备上使用文件系统访问文件,即用户空间程序如何访问proc、ext3、ext4等,以及ext3、ext4是否被认为是“设备驱动程序”,因为它们直接使用硬件操作,还是我错了?
浏览 0
提问于2013-08-14
得票数 7
1
回答
为什么可以使用第三方(开放源码)工具(如SP闪存工具)从mediatek设备备份rom映像,而不是Google?
、
在运行Linux时,我可以使用SP闪存工具对mediatek设备进行读取,并在设备处于预加载器模式时对rom映像进行完全备份,而无需使用任何额外的USB驱动程序。 然而,这是不可能的谷歌像素。 这可能是因为Mediatek在主流linux内核和Google的开发过程中为他们的设备添加了支持吗?
浏览 0
提问于2020-08-21
得票数 0
2
回答
Linux I2C内核驱动程序绑定
、
、
我正在学习如何开发Linux内核驱动程序,并在下面的网站上学习。 ..。 接下来,我找到了一个示例,它展示了如何实现I2C触摸屏驱动程序,但它确实让我感到困惑。 我的问题是,Linux内核如何将这个驱动程序绑定到正确的设备上? 此驱动程序不提供“检测”回调,不通过i2c_driver.address_list指定i2c_driver.address_list从地址,而且似乎没有任何人调用i2c_board_info来注册地址信息(I grep是整个Linux代码库)。 我认为驱动程序必须指定从地址或提供“检测”回调,就像 或 (它将由i2c_board_info注册) 请告诉我我错过了
浏览 9
提问于2017-11-07
得票数 0
回答已采纳
1
回答
linux环境下设备驱动程序检测过程
、
、
、
想知道如何在Linux中检测到设备?设备驱动程序在设备检测中的工作流程到底是什么?
浏览 6
提问于2016-01-24
得票数 1
回答已采纳
2
回答
Linux上/dev目录上的USB设备检测
、
、
、
使用Linux中的USB命令,我已经了解了总线和设备号,以及新连接的lsusb设备的名称。 但是,我如何知道在Linux中,仅使用命令行就可以连接到哪个设备目录(/dev/*) USB设备呢?
浏览 9
提问于2014-07-04
得票数 3
1
回答
在购买Linux之前,我如何确定特定设备是否与Linux一起工作?
、
假设我想买一个便宜的USB设备。我也希望这个设备能与Linux兼容。 问题是,在许多情况下,这类设备可能是通用的或没有品牌的,而且在网络上可能没有太多关于它们的信息来帮助我了解其他人是否在Linux中成功地使用了特定的设备。 下面是一些例子: USB视频采集设备或电视棒, 声卡 WiFi器件 成千上万的其他令人敬畏的东西 在购买该设备之前,是否有任何方法(尝试)来确定该设备是否与Linux兼容? 我隐约记得曾读过这样的一篇文章:人们可以从Windows驱动程序中寻找所使用芯片的线索,然后找出它们是否与Linux兼容,这可能吗?
浏览 0
提问于2015-09-10
得票数 7
回答已采纳
2
回答
使用modprobe时,设备无法在/dev下显示
、
我使用的是PEAK系统为Linux v8开发的PCAN驱动。 在成功编译之后,当尝试加载名为pcan的Linux内核模块(LKM)时 sudo modprobe pcan lspcan -T -t -a 设备未显示在/dev下 注:我的电脑中没有连接实际的设备或硬件。 这是预期的行为吗?或者不管实际的设备连接如何,这些都应该显示出来?哪种行为是预期行为? 我问的原因是,当我用自己的LKM做insmod时,我得到了/dev下的设备。
浏览 8
提问于2020-09-11
得票数 0
2
回答
向linux内核添加驱动程序的可行性
、
、
、
我对Linux内核有疑问,据我所知,为了使Linux与不同的机器和硬件兼容,Linux中添加了不同的设备驱动程序。我想问一下,在Linux内核中增加大量的设备驱动程序有多大的可行性,假设30-40年后Linux内核的大小将在1GB左右。我无法接受和理解Linux的这种哲学。如果您说我可以从Linux内核中编辑/删除不需要的模块,那么我的回答将是,并不是每个人都能做到这一点。
浏览 0
提问于2021-03-08
得票数 -5
回答已采纳
1
回答
除了“xinput”之外,linux如何知道如何在启动时使用触摸屏?
、
、
我试图为Linux找到一种通用的方法来识别我的自定义触摸屏驱动程序,而无需使用xinput / xorg配置。我不确定客户将使用什么Linux系统,但我可以确定一个固定的com端口,如ttyS0。 如果不使用Xorg / xinput,Linux如何识别触摸屏设备并将其附加到设备ttyS0?还是所有带有UI的Linux操作系统都使用Xorg?
浏览 0
提问于2018-02-01
得票数 1
回答已采纳
1
回答
linux内核如何处理驱动程序?
、
、
、
我刚刚读到了Linux处理硬件驱动程序的方式。显然,大多数硬件驱动程序都是预编译到Linux内核中的。我对此有一些疑问。 如果Linux内核包含几乎所有硬件设备的硬件驱动程序,而运行在Linux上的膝上型计算机只有一定数量的硬件设备,那么Linux内核拥有的所有冗余硬件驱动程序呢?将所有这些驱动程序保存在内核中,并在不使用它们的情况下继续在系统中运行,难道不是浪费资源吗?
浏览 0
提问于2016-12-22
得票数 11
回答已采纳
1
回答
在Linux i2c驱动程序中进行芯片特定初始化的正确功能是什么?
、
、
我正在尝试初始化ADT746x芯片的状态寄存器。Linux内核有这个芯片的hwmon驱动程序,但是它没有配置。 当设备准备好通过sys接受i2c命令时,我需要初始化几组寄存器。这些寄存器将温度和电压传感器配置为有效,并将它们标记为监视。 有这些init代码的正确位置是什么?探测()或检测()或其他任何地方的用户?
浏览 2
提问于2019-09-12
得票数 0
回答已采纳
2
回答
嵌入式板卡写入设备驱动程序
、
、
、
、
我是嵌入式世界的新手。我试图在使用Yocto项目构建的嵌入式Linux系统上编写设备驱动程序。我不知道linux驱动程序是如何工作的,也不知道如何编写新的驱动程序来测试外围设备。 在我的产品中,在第569-1199页中有一个叫做"Linux内核驱动程序“的部分。它描述感兴趣的硬件(PCIE,SPI.)驱动程序的设备树源和变量。我现在所理解的是,产品负责人已经编写了一些函数来访问外围硬件,我所要做的就是通过使用它的.c文件调用一些特殊的函数来达到它们。 我在这里是问堆叠溢出的专业人士,我的想法是正确的还是我在正确的道路上?还有关于为特殊产品编写设备驱动程序的建议吗?
浏览 5
提问于2019-11-08
得票数 0
回答已采纳
2
回答
Linux用户空间PCI驱动程序
、
、
我正在尝试编写一个在用户空间中运行的PCI设备驱动程序。不是我的主意,是客户想要的。Target是一个嵌入式Linux板,不会有超过一个用户。我是一个经验丰富的C程序员,了解Linux,只是不熟悉Linux驱动程序的开发。 这真的是一个设备驱动程序还是一个库?我是否需要使用典型的调用pci_register_driver等,或者我可以使用fopen访问设备,并使用mmap和ioperm来访问它? 中断将使用MSI模型完成。还需要处理DMA传输。该设备将向用户传输大量数据。 在这个问题上没有太多的信息,LDD3只花了几页篇幅,我在这里找不到任何其他的东西。 提前感谢!
浏览 4
提问于2013-09-26
得票数 0
回答已采纳
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux设备驱动开发
Linux驱动系列-PWM驱动
微软贡献模块初始化补丁:推动 Linux Kernel 集成 Rust
Linux驱动开发-编写VS1053芯片音频驱动
英伟达开源 Linux 图形驱动实测,性能媲美专有驱动
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券