腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
视频
沙龙
2
回答
如果设备已经被"spidev“驱动程序访问,如何添加SPI设备驱动程序?
、
Linux内核: 我的问题是如何从内核驱动程序访问SPI从设备,如果"spidev“驱动程序已经访问了该设备。 在HW级别上,我们在SOC侧(Marvell Cetus)有一个SPI主站(Marvell Cetus),在四线SPI总线上,有一个SPI从机(FPGA设备)连接到该主机上。因此,在系统中只使用一条SS线。 在SW层,我们得到了linux内核3.10.104,基于设备树源模型来探测设备驱动程序。 在我们的DTS文件中,我们在CS (ChipSelect) #0上定义了一个SPI主("marvell,orion“)和一个SPI从("spidev")。试图
浏览 8
提问于2016-11-14
得票数 3
2
回答
读写SPI设备
、
、
(我真的不确定要应用哪个标签,所以如果我选择了错误的标签,请提前道歉。) 我希望这不是一个太愚蠢的问题,但我真的迷路了。 一个客户借给我一台来玩。我试图在上面连接SPI接口,但是我不知道从哪里开始。 要明确的是,我使用了类似的板(不是这个)裸露金属。我也使用Linux很多年了,几年前我写了一些简单的设备驱动程序。但我还是迷路了。 dmesg | grep spi提供了以下输出: [ 1.840000] atmel_spi f8000000.spi: version: 0x311 [ 1.840000] atmel_spi f8000000.spi: Using dma0chan0
浏览 7
提问于2017-01-24
得票数 1
回答已采纳
1
回答
spi_driver.id_table与spi_driver.driver.of_match_table的区别
、
、
、
目前,我正试图了解linux驱动程序是如何工作的。据我所知,当内核在设备树中解析相应的.compatible字符串时,会调用驱动程序的探测/init函数。但是,在亚利桑那-spi驱动程序中,似乎在不同成员中引用了多个兼容字符串: static const struct spi_device_id arizona_spi_ids[] = { { "wm5102", WM5102 }, { "wm5110", WM5110 }, { }, }; MODULE_DEVICE_TABLE(spi, arizona_spi_ids); static struct spi
浏览 5
提问于2014-10-27
得票数 4
回答已采纳
1
回答
Debian的SPI驱动程序
、
、
这是Linux: PRETTY_NAME="Debian /Linux 8“(杰西)”NAME="Debian /Linux“VERSION_ID="8”VERSION="8 (jessie)“ID=debian” 内核版本是: 4.1.15-gcfb25fd 这是硬件平台:http://variwiki.com/index.php?title=DART-6UL 因此,我熟悉SPI接口(我已经为微控制器开发了SPI驱动程序)。 我找到了用于SPI的nodeJs包,但是它需要/dev/目录中的SPIDEV,这在设备列表中是缺失的。 经过一些研究,我发现我可以用新的
浏览 0
提问于2018-08-08
得票数 2
1
回答
在Linux内核中模拟MMC卡
、
我尝试在我的2.6.21内核中添加mmc_spi模块,以便通过SPI与MMC卡进行通信。我认为有3个模块是必需的: mmc_core mmc_block mmc_spi 我的mmc_blk设备已在系统中注册(cat /proc/devices)。我已经创建了正确的/dev/mmc。少校是对的。但是当我试图挂载它时-我得到了错误-没有这样的设备或地址。 我认为必须填充其中一个结构,以告诉linux该卡在套接字内。我现在得手工做了。我该如何模拟它呢?
浏览 2
提问于2011-12-22
得票数 0
3
回答
Intel Atom板上的高速Linux驱动程序
、
、
、
、
我正致力于在Linux下在基于Atom的sXBTi板上提出SPI。 Kontron提供了Yocto BSP,但不包括SPI驱动程序。 我用SPI支持重新构建了Linux。我可以在lspci和sysfs中看到SPI控制器,SPI设备绑定到pca2xx_spi_pci驱动程序。 据我所知,这是一个平台驱动程序,它不公开用户模式API,我需要spidev能够通过/dev/spidev工作,但是当我modeprobe spidev时,我没有看到任何事情发生:没有向/dev添加任何文件,在dmesg中没有任何内容。 我需要配置spidev吗?BSP不包括设备树。spidev如何找到它的PCI SPI控制
浏览 14
提问于2016-08-24
得票数 0
回答已采纳
1
回答
处理从设备树到模块的引脚模式
、
、
我正在尝试编写一个用于SPI设备的linux设备驱动程序,使用Atmels SAMA5d35微处理器。Linux版本为4.19.30。 我已经在设备树中配置了引脚,并将状态设置为"okay“。在那之后,引脚如预期地改变了模式。我的问题是,我如何在运行时操作pinmode?我的SPI设备并不总是打开的,我的驱动程序也不总是加载的。在这种情况下,我希望配置的SPI引脚将模式更改为普通GPIO(用于功耗)。 这是驱动程序的任务,还是可以在设备树中定义的东西,例如当驱动程序没有加载时? 我尝试实现了一个用于将引脚设置为SPI模式的pinctrl-0,然后实现了一个用于将相同引脚设置为普通GPI
浏览 11
提问于2019-08-13
得票数 1
1
回答
在Android中通过SPI进行通信
、
目前,我正在寻找一个解决方案,通过SPI在Android进行通信。我在我的系统上安装了NDK,并使用本机类与Wandboard上的gpio (/sys/class/gpio/gpioxx/value)通信。效果很好。因此,在Android中使用NDK或C代码的原则对我来说是很清楚的。不幸的是,我找不到任何SPI设备/dev/…。我只找到我的C型装置。有人能告诉我,如果android基本上提供SPI吗?如果可能的话,我在哪里能找到这个装置?我能以和Linux一样的方式交流吗? 谢谢
浏览 4
提问于2013-09-10
得票数 1
2
回答
在Xillinux上启用硬件SPI
、
、
、
、
我有一个运行Xillinux1.3的MicroZed板。我希望将一个外部SPI ADC连接到它,并在linux中编写一个应用程序来从ADC中读取值。Xillinux中未启用Zynq设备的硬件SPI接口。我如何开始启用它,我将不得不重新编译FSBL和U-boot,但我不知道从哪里开始。我是否可以直接修改Xillinux的Vivado设计并从那里开始,还是必须从头开始?
浏览 20
提问于2016-09-01
得票数 0
1
回答
关于linux新手嵌入式linux设备驱动程序的几个问题
、
我最近一直在研究linux驱动程序,正如我读到的那些文章所说的,设备驱动模块可能会根据内核的需求自动加载,因此我想知道内核是如何为特定设备(声卡、I2C/spi设备等)确定加载哪个模块的,我也无法完全想象内核是如何在启动时检测每个硬件设备的。 更喜欢与嵌入式linux相关的答案,也欢迎PC linux! 第三季度
浏览 6
提问于2011-10-04
得票数 3
1
回答
spidev无法控制芯片选择信号。
、
、
我在嵌入式linux设备上使用内核3.12.rc4 (olimex imx233微)。我的目标是使用/dev/spidev来与另一个spi设备通信。 我将arch/arm/boot/dts/imx23-olinuxino.dts编辑为: ssp1: ssp@80034000 { #address-cells = <1>; #size-cells = <0>; compatible = "fsl,imx23-spi"; pinctrl-names = "default"; pinctrl-0 = <&spi
浏览 4
提问于2013-10-17
得票数 9
1
回答
到/sys/bus/spi/设备的符号链接
、
、
我试图将某个软件从一个linux设备移植到另一个linux设备上。我的软件有很多行指向/sys/bus/spi/设备/spi3.0。在我要移植到的Linux设备中,这个文件夹不存在,它在另一个地方。 是否有一种方法可以将软件链接到例如“/tmp/文件夹”? 我一直在尝试使用“I -s”,但我收到的抱怨是文件夹“/sys/bus/spi//spi3.0”不存在。我知道,如果设备确实存在,就有解决方案,但在我的示例中,目标计算机上不存在“/sys/bus/spi/设备/spir3.0”。
浏览 0
提问于2017-07-11
得票数 0
1
回答
如何在嵌入式Linux中初始化外围设备
我是嵌入式Linux的新手。我正在开发IMX6UL评估工具包,并通过Yocto构建过程进行工作。如果我的问题是非常基本的,我很抱歉,我试图理解Linux启动和初始化过程。 我已经理解了分配外设的设备树。但是我不明白它们是在哪里初始化的,比如LCD,SPI,I2C。 由于我的背景是裸金属,我知道它必须在某个地方初始化。但这是在Linux中完成的。我不明白。 有人能给我举几个例子吗?
浏览 2
提问于2019-07-23
得票数 0
回答已采纳
1
回答
在BeagleBone黑上绑定spi 2947-spi驱动程序
、
、
、
在BeagleBone黑色上绑定SPI驱动程序有问题。所讨论的驱动程序ltc2947-spi位于linux主线中,而不是在beaglebone内核树中。当我完成这项工作时,我会提交一个PR来添加它。 我使用ltc2947 (也在github上)将这些驱动程序编译成一个树外模块。 % sudo apt-get install linux-headers-$(uname -r) % find /lib/modules/$(uname -r) -iname "*ltc29*" % make 该模块编译良好,modinfo生成预期的输出: % sudo modinfo ltc2
浏览 0
提问于2020-12-06
得票数 0
1
回答
如何在Linux中检测/分析MTD分区布局?
、
、
、
我正在开发一个嵌入式Linux系统,它使用的是内核-5.10.24。 在系统中有一个NAND闪存作为存储,它有4个分区。当内核启动时,有4个分区,如下所示, [ 0.499555] Creating 4 MTD partitions on "spi_nand": [ 0.499564] 0x000000000000-0x000000080000 : "uboot" [ 0.501099] 0x000000080000-0x000000900000 : "kernel" [ 0.510556] 0x000000900000
浏览 0
提问于2023-04-27
得票数 0
1
回答
如何在Linux上配置多个SPI设备
、
、
我有一个嵌入式Linux系统(F&S PicoComA5),它附带了一个预配置的Linux内核+ buildroot系统。 默认情况下,只有一个SPI设备是预先配置的,在系统中显示为/dev/spi0.0 现在在我的板上,我有了第二个SPI设备,所以我需要选择另一个'CS‘行,它应该是/dev/spi0.1 在内核或buildroot中,我应该配置这些参数以使第二个SPI设备出现吗? 编辑:在arch/arm/arm-mvf/arch-picocom.c中,板特定的init代码,SPI设备被初始化,我希望找到在那里工作的方法!
浏览 0
提问于2019-03-27
得票数 0
1
回答
创建Linux设备驱动程序。无法让驱动程序检测设备并调用探测函数
、
、
、
、
我有几个问题。首先,我正在尝试为RTC创建一个SPI驱动程序,但在调用驱动程序的探测函数时遇到了问题。设备似乎未被检测到和/或未正确关联到驱动程序。 1.)在Linux2.6.35.14中,有没有办法列出没有相关驱动程序的硬件设备? 2.)Linux会自动发现SPI RTC硬件的名称/bus#,这是正确的吗?那么所有需要做的就是将驱动程序名称与此名称进行匹配?示例: static struct spi_driver ds1305_driver = { .driver.name = "ds1343", ... } 3.)我的探测函数没有被调用。我不知道如
浏览 2
提问于2015-08-17
得票数 1
1
回答
如何找出谁加载了特定的Linux内核模块?
、
、
、
、
我为Linux构建了一个特定的驱动程序作为模块(m),即恩智浦的spi-imx。然而,Linux在引导时会探测这个驱动程序。我正在努力找出是什么进程/其他模块/驱动程序请求这个spi-imx驱动程序。depmod不会显示spi-imx和其他模块之间的任何依赖关系(除了spidev as子模块)。 经过一些研究,我发现Linux会自动(?)当检测到新设备时,调用modprobe。那么Linux真的会因为ecSPI在设备树中的状态为“as”而调用modprobe吗?如果是这样,我如何才能防止这种情况发生?我想通过modprobe从用户空间应用程序动态加载spi-imx。它背后的故事是:协处理器在
浏览 45
提问于2021-11-09
得票数 0
1
回答
mmap与SPI设备一起工作吗?
、
、
我想使用SPI接口来读取和写入外部FPGA中的寄存器(所以我称之为SPI设备)。我知道Linux内核有spi驱动程序。我能用mmap吗?如果是,是否应该通过代码中的“/sys/bus/spi/设备/设备_NAME”打开设备文件? 我注意到,当我cd到“/sys/bus/SPI/SPI/SPI_ when _NAME”时,路径会自动更改为"/sys/devices/soc.0/CORE_NAME/SOME_NUMBER/SPI_DEVICE_NAME".。有人能给我解释一下吗? 提前感谢! 海蒂
浏览 7
提问于2014-02-24
得票数 0
回答已采纳
2
回答
使用驱动程序
、
、
、
我正在编写一个内核模块来读写SPI设备(CC1200)。我的linux设备没有本机SPI,所以我想咬一下总线。 我发现linux内置了bitbang代码(linux/spi/spi_bitbang.h),但我不知道如何设置它。它需要像spi_device和spi_master这样的结构,每个都需要struct设备,这需要structs作为kobject,还有更多,其中大多数我不知道如何处理它们,以及如何使用它们来进行简单的位敲击。 我在网上找过例子,但我发现一点也没有。没有一次使用所包含的bitbang代码,只有一些引用说它“容易”。 我将非常感谢任何帮助,也许bitbang库甚至不是好的路径
浏览 4
提问于2019-09-05
得票数 3
回答已采纳
1
回答
设备树-探测驱动程序并避免竞争条件
、
、
、
我有一个与Linux板相连的触摸屏设备。这是一个基于SPI的设备。显示工作良好,但触摸屏(使用STMPE610控制器)是非常不可靠的-它工作在不同的板和系统,而不工作在其他。已经发现的是,屏幕在设备探测期间出现故障(错误-22)。司机探测器失败了。 SPI可以在各种模式下进行电配置/驱动(有4),而触摸控制器似乎处于某种未知的状态。 此外,计算机还试图配置其驱动屏幕的SPI引脚(可以将它们向上拉起,也可以根据情况将其向下拉)。 问题--我需要知道Linux设备驱动程序延迟探测的实践是什么,或者如何绕过竞争条件,这样麻烦的SPI从设备上的驱动程序探测就可以工作了。Linux DeviceTree
浏览 9
提问于2017-05-25
得票数 1
2
回答
内核代码是如何知道spi总线正在使用的?
、
、
、
我修改了设备树文件,并使用4个GPIO引脚启用spi,它支持pinmux并从gpio切换到spi功能。但是在Linux内核代码中,代码如何知道使用了哪个spi总线/引脚?例如,我找到一个Linux内核驱动程序: max1111.c,它驱动spi芯片。但是我检查了它的代码,没有找到spi总线/引脚的指定位置。 下面粘贴max1111.c。 /* * max1111.c - +2.7V, Low-Power, Multichannel, Serial 8-bit ADCs * * Based on arch/arm/mach-pxa/corgi_ssp.c * * Copyright (
浏览 2
提问于2015-06-26
得票数 1
回答已采纳
1
回答
在Imx6上读取SPI寄存器时linux挂起
、
、
、
、
我有一个在NXP的Imx6 SoC上运行的嵌入式linux项目,我正在尝试使用它的SPI。由于没有支持主从模式的驱动程序,我首先尝试从用户空间处理它。我使用mmap访问SPI寄存器,但是当我尝试用mmap读写它们时,系统会挂起,我必须重新启动。然后,我在自定义的spi驱动程序中也这样做了,但我必须等待驱动程序到达函数spi_imx_transfer才能访问寄存器。 我对linux设备管理非常陌生,所以想知道为什么用同样的方法我可以访问其他设备的寄存器,而不能访问SPI的寄存器。为什么当我试图读取这些寄存器时linux会挂起? 可以从用户空间或更早的设备驱动程序中读取或写入它们吗? 是否有允许(
浏览 4
提问于2017-02-10
得票数 2
回答已采纳
3
回答
Linux内核控制器作为SPI从站
、
、
我对使用linux中可用的SPI设备感兴趣。我有一个特定的控制器,它在主从模式下都支持SPI。我必须在从模式下配置SPI控制器。 我的问题: Linux框架支持SPI奴隶吗?我将在SPI总线上获得异步数据,我必须读取这些数据并对其进行处理,然后发送一个命令.。
浏览 11
提问于2013-11-20
得票数 4
1
回答
SPI驱动程序,搜索从哪里开始
、
、
、
、
我是Android开发人员的新手,但我想编写一个SPI驱动程序来连接SPI IC,然后编写一个Android应用程序来从IC发送和接收数据。 从那里开始,我不知道在哪里创建驱动程序(以及它应该包含什么),也不知道如何将应用程序链接到最上面。我有一个可定制的Android内核(9.0Pie,a 8096_LA.UM.7.5.r1-03100-8x96.0_P_v5.0)及其所有的.dts、.dtsi、.c等等。我还得到了一个评估板和足够的映射文档。 我在谷歌上搜索了一个星期,没有找到我要找的东西。我了解了一些关于设备树系统的知识。因为我有一个快照820 msm8996,所以我修改了"ms
浏览 0
提问于2019-06-05
得票数 3
1
回答
使用设备树配置的davinci-spi设备驱动程序是否支持DMA传输?
、
、
、
、
我正在尝试使用DMA对连接到OMAP-L138的SPI总线的FPGA进行编程,但没有成功。 目前,我使用的是linux 3.19自带的常规davinci-spi驱动程序(drivers/spi/spi-davinc.c)。FPGA配置成功(未启用DMA ),但速度非常慢。我正在使用设备树配置SPI接口。 我想使用DMA来提高性能,但是从spi-davinc.c源代码及其设备树绑定来看,当使用设备树进行配置时,驱动程序似乎不支持DMA。我的理解正确吗?如果是这样的话,是否有计划在使用设备树的同时使用davinci的SPI驱动程序来支持DMA传输?
浏览 10
提问于2015-12-01
得票数 0
1
回答
用于非I2C/SPI传感器的Linux内核驱动程序(用于模拟传感器)
、
最近,我开始学习IIO子系统,现在我非常熟悉IIO子系统中基于SPI / I2C的传感器(也使用Regmap API)。 然而,今天我遇到了一个电位传感器: 它公开4个引脚作为GND,VCC,NC和SIG。如果我必须在我的raspberry Pi中使用这个传感器,并且只需要使用Linux内核,我将如何将传感器数据公开给用户空间? 在IIO子系统中是否有这类设备的类别?
浏览 2
提问于2019-08-05
得票数 0
回答已采纳
1
回答
如何使用spi-回环测试linux内核模块?
、
、
、
、
我不明白如何使用linux内核模块spi-loopback-test。 这个模块是从编译而来的,是。 它是为SPI回归测试目的创建的(请参阅),但网上没有文档或指令。 我能够编译和加载模块,但是加载时不会发生任何事情。 dmesg中没有消息,物理SPI总线上也没有活动。lsmod显示模块已加载。 该模块的似乎从未被调用过。 我想我错过了一些“胶水”(DT覆盖?)在设备树中,向模块分配物理SPI端口。 如何将SPI端口分配给此模块? 是否应该创建DT覆盖以在现有的spi-loopback-test下添加驱动程序节点? 另外,我注意到在加载之前可以更改模块。 这里可以设
浏览 12
提问于2021-01-25
得票数 1
2
回答
SPI: Linux驱动模型
、
、
我对SPI非常熟悉;Linux内核提供了一个API,用于声明SPI总线和设备,并根据标准的Linux驱动程序模型管理它们。 您可以在这里找到结构spi_master的描述: 上述链路上的描述说,“每个设备可以配置为使用不同的时钟速率,因为这些共享信号被忽略,除非选择芯片”。要把这句话放在比赛中,我必须说,“设备”指的是SPI从设备,而“那些共享信号”指的是MOSI、MISO和SCK信号。 实际上,在struct spi_device ()中有一个名为max_speed_hz的属性,它不存在于struct spi_master中。因此,我可以理解上述声明的第一部分:“每个设备可能被配置为使用不同
浏览 6
提问于2013-07-05
得票数 4
1
回答
在Linux中热插拔时检测设备的存在
、
、
、
我正在熊猫板上运行SPI ,我想知道中的哪个功能负责在设备热插拔时检测它。 有嵌入式系统、Linux设备驱动程序和/或spi背景的人能回答我的问题吗?
浏览 10
提问于2014-04-01
得票数 13
回答已采纳
1
回答
调试SPI母版读取任意值的原因
、
、
、
、
我在MAX V设备和AM335x处理器之间有一个SPI总线。MAX设备有一个SPI设置,可以反复发送定义为“STD_LOGIC_VECTOR”的x0100。这看起来挺好的。作用域上的输出重复相同的值。 在Linux中,我似乎可以得到移位的数据,或者一些随机的数据。从这里使用spi工具 当使用这些工具时,我得到以下信息: # spi-config -d /dev/spidev0.0 -m 1 -s 10000000 # spi-pipe -d /dev/spidev0.0 -b 2 -n 1 < /dev/urandom | hexdump 0000000 0202 0000002 # s
浏览 8
提问于2021-02-16
得票数 1
1
回答
RPi py-spidev三次无效参数错误
、
、
、
、
使用时,如果设置标志spi.threewire=True,将得到类似于的响应 Traceback (most recent call last): File "program.py", line 1333, in <module> transferRead("MUXOUT", 0) File "program.py", line 132, in transferRead resp = spi.xfer2([regW, 0]) # response from register OSError: [Errno 22] Invalid ar
浏览 3
提问于2020-06-03
得票数 0
回答已采纳
1
回答
如何在设备树中配置模数转换器ad7266的复用器选择?
、
、
、
我使用的是飞思卡尔i.mx28板。有一个ad7266通过SPI与中央处理器通信。ad7266有一个多路复用器,可与三个GPIO配合使用。(A0、A1、A2)。在过去,我直接在驱动程序中配置这个GPIO。现在,我想在另一条ad7266上使用另一条SPI。现在,当然不能直接在驱动程序中配置多路复用器。所以我的问题是,如何在设备树中配置此引脚?这有可能吗?下面是代码片段: ssp2: ssp@80014000 { #address-cells = <1>; #size-cells = <0>;
浏览 5
提问于2016-01-14
得票数 0
1
回答
如何告诉Linux板上的某些引脚是用于SPI/I2C的
、
、
假设我有一个定制的Linux版本,它可以安装在带有定制电路板的定制芯片上。该芯片支持串行外围接口和I2C。如何告诉我的Linux构建芯片上的某些管脚对应于SPI,以及某些管脚对应于I2C? 请随时将问题移至正确的Stack Exchange站点。我不确定我应该使用哪一个,所以我从这里开始。
浏览 1
提问于2017-05-16
得票数 0
2
回答
设备树.dts文件中尖括号<>中的两个值是什么?
、
、
以下是设备树文件中的代码段: flash@0 { compatible = "n25q128"; reg = <0x0>; spi-max-frequency = <50000000>; #address-cells = <1>; #size-cells = <1>; partition@qspi-fsbl-uboot {
浏览 0
提问于2014-03-25
得票数 5
1
回答
智能卡IC模块的Linux设备驱动程序
、
我有一个智能卡IC模块,我想为它创建一个Linux设备驱动程序。此模块使用SPI作为控制线,并有一条中断线来指示卡是否就绪。我知道如何在Linux内核中创建SPI设备,以及如何在中断发生时读取内核中的数据。但我不知道如何将数据传输到用户空间(可能需要为它创建设备节点),以及如何给用户空间一个中断来通知它。有人有什么建议吗?
浏览 25
提问于2019-05-16
得票数 0
1
回答
SPI数据传输-为什么MOSI在数据传输前半周期为零?
、
、
、
、
我有一个从SPI设备输出的SPI信号。我想知道为什么在实际数据写入总线之前,数据输出(MOSI)转到0半周期?这是SPI设备的必备条件吗?如果不是零,数据传输会不会有问题? 我在linux (ubuntu12.04- kernel 3.7.1)上使用的是spidev32766.1,处理器是imx233 提前谢谢你!!
浏览 2
提问于2013-04-20
得票数 1
1
回答
如何直接使用Zephry SPI驱动程序?
我无法从应用程序中找到任何直接使用SPI的示例。相反,有许多传感器使用SPI作为总线。 我试图从头开始编写它,但在将设备绑定到spi-device节点时遇到了问题。我还应该提到,我有其他外围设备的工作样本,如SPI或ADC,所以我认为这是SPI的问题,而不是项目配置的问题。 以下是装置的节选: &spi1 { pinctrl-0 = <&spi1_sck_pb3 &spi1_miso_pb4 &spi1_mosi_pb5>; cs-gpios = <&gpiob 9 GPIO_ACTIVE_LOW>; st
浏览 7
提问于2021-06-13
得票数 3
1
回答
如何使用SPI编写网络设备驱动程序?
、
、
我使用铁锈在用户空间为实现了一个设备驱动程序。用户空间驱动程序使用内核spi接口驱动程序。将驱动程序编写为内核模块似乎非常困难,因为在中找到的linux/netdevice.h文档似乎过时了(或者我不够聪明,无法理解复杂的细节)。 一个新的建议使用。据我所知,这种类型的驱动程序实现使用iommu来管理设备的受保护内存区域的隔离。"Project“使用网络设备作为块设备,因此可以映射它。SPI是不同的,因为它是流协议。 我的问题是,是否有可能将用户空间spi网络设备驱动程序集成到linux网络堆栈中,例如由网络堆栈处理所有协议等。是否可以使用类似于Project的方法,比如在内核空间中有
浏览 3
提问于2019-12-06
得票数 0
回答已采纳
3
回答
Linux I2C驱动程序移植问题
、
我正在将I2C驱动程序移植到Linux-4上。该设备同时为不同功能提供多个I2C地址。 例如: address 0xAA is for access of SPI flash. address 0xA0 is for access of EEPROM. address 0x60 is for normal access (control purpose). 是否可以在单个I2C设备驱动程序中支持对不同I2C地址的访问? 感谢您的帮助,谢谢
浏览 2
提问于2018-12-03
得票数 1
回答已采纳
2
回答
如何在PC+中的Orange PI PC+上启用SPI?
我在试着让SPI在我的董事会上工作。这就是我想出来的 默认情况下,在armbian中不启用SPI,我们需要首先启用它(启用相应的DT覆盖) 在linux中,SPI只能通过/dev/spidev*.*文件访问。 如果我在dev文件夹中没有看到任何spi设备,那么我的板上就没有启用SPI。 在最新版本的armbian中,spi可以在armbain-config (在System/Hardware/spi-spidev下)启用。 在以前的版本中,需要将/boot/script.bin解压缩为fex文件,并在那里启用and并将其编译回来。 我做了干净的安装阿姆斯比仿生(我也尝试拉伸之前),更新它和启用
浏览 0
提问于2019-01-22
得票数 4
回答已采纳
2
回答
从硬件IRQ号中获取Linux IRQ号
、
、
、
、
我有一个GPIO外围设备,在Device中定义为: gpio0: gpio@2300000 { compatible = "fsl,qoriq-gpio"; reg = <0x0 0x2300000 0x0 0x10000>; interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2&g
浏览 1
提问于2018-08-01
得票数 4
回答已采纳
1
回答
linux: spidev没有在/dev中显示
、
、
我执行了以下步骤,以便在arm imx6Q (SMARC板,由Yocto编译)上编译的Linux-内核3.14.28中使用spidev: 在内核配置中,我启用了SPIDEV:CONFIG_SPI_SPIDEV=y。 在设备树中,我添加了以下行: &smarc_spi0 { spidev@1 { #address-cells = <1>; #size-cells = <1>; compatible = "linux, spidev"; spi-max-frequency = &l
浏览 2
提问于2016-02-29
得票数 2
1
回答
使用SPIDEV访问SPI设备
、
、
、
我想使用SPIDEV驱动程序访问嵌入式Linux系统上的SPI设备( Avago Tech的光电鼠标设备)。该设备已连接到SPI0。 我在menuconfig > "Device driver“> " SPI”中启用了SPI和"User mode SPI device driver support“。 我将代码添加到board.c文件中 static struct spi_board_info spidev_board_info[] { { .modalias = "spidev", .max_spee
浏览 9
提问于2012-05-22
得票数 2
回答已采纳
2
回答
在linux中,开放固件设备树和扁平设备树有什么区别?
、
在linux中,开放固件设备树和扁平设备树的区别是什么?如何识别linux内核是使用哪个设备树的DT或FDT。
浏览 10
提问于2015-11-02
得票数 8
1
回答
linux下spi eeprom的读写
、
、
我想在debian (Beaglebone )下使用我的spi (at25)。我已经编辑了设备树,所以现在我可以读写eeprom。 Linux中已经有了一个spi 25驱动程序。 从eeprom读取 cat /sys/class/spi_master/spi1/spi1.o/eeprom 写入eeprom echo hello > /sys/class/spi_master/spi1/spi1.o/eeprom 但是我想从eeprom的具体地址写和读。有没有办法在C程序中做到这一点? thx
浏览 7
提问于2014-09-29
得票数 1
回答已采纳
2
回答
Linux,spidev:为什么它不应该直接出现在设备中呢?
、
、
我想定义一个具有用户模式访问权限的SPI设备,例如在中解释了这一点 按照这些示例,我在devicetree中添加了以下内容: &ecspi1 { .... other stuff ... mydev@0 { compatible = "spidev"; spi-max-frequency = <5000000>; reg = <2>; /*chipselect*/ }; }; 平台是i.MX6。ecspi1似乎是他们的SPI控制器。那么我确实得到了/dev/spi0.2和/sys
浏览 6
提问于2018-12-05
得票数 7
回答已采纳
3
回答
linux驱动程序中IRQ延迟的处理
、
、
我已经为SPI设备构建了一个linux驱动程序。当准备读取新数据时,SPI设备向处理器发送IRQ。 IRQ大约每3毫秒触发一次,然后驱动程序用SPI读取2个字节。 我的问题是,有时,IRQ被触发和SPI传输开始的那一刻之间有超过6 ms,这意味着我丢失了2字节的SPI设备。 另外,这两个字节之间有一个不确定的延迟;有时接近0,有时达到300‘s。 那么我的问题是:如何减少IRQ和SPI读数之间的延迟? 以及如何避免两个字节之间的延迟? 我尝试过用premptive选项编译内核,但它并没有改变那么多。 至于硬件,我使用的是运行在400 MHz的mini2440板,使用的是硬件SPI端口(而不是i
浏览 5
提问于2014-08-23
得票数 1
回答已采纳
6
回答
如何从嵌入式Linux (ARM)中通过SPI连接的Flash进行读写?
、
、
、
、
我正在使用Yocto和meta构建嵌入式Linux(4.4.19)。我的板上有一个闪存,它是通过SPI连接的。我试过几种方式在上面写字。但他们都失败了。如何将数据读写到其中? 一些信息: Flashtype 4 4Mbit: s25fl164k () 通过设备树包括: spi1: spi@f8008000 { cs-gpios = <&pioC 25 GPIO_ACTIVE_HIGH>; status = "okay"; m25p80@0 { compatible = "
浏览 2
提问于2016-09-20
得票数 3
回答已采纳
1
回答
Linux4.19:在活动系统上应用设备树覆盖
、
、
是否有可能在活动系统上应用设备树覆盖?我们有一个嵌入式系统,它有一些可选的硬件。我们希望在Linux启动后加载设备树信息。 Reqaon :我们的附加硬件使用I2C总线来配置由SPI总线上的另一个组件创建的自身。不幸的是,我们的cpu和可选硬件之间的通信正在通过SPI进行。 由于设备按时间顺序被“处理掉”,因此在初始化I2C总线之后,我们不能“返回”到SPI总线。 我已经尝试过挂载configfs,没有工作,并且不推荐在生成环境中使用。 提前感谢
浏览 0
提问于2021-08-09
得票数 0
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
spi检测设备在贴片打样中的应用
linux在文件系统树中的跳转
Linux的字符设备和块设备
Linux设备驱动开发
存储设备与仓储规划决策树
热门
标签
更多标签
云服务器
ICP备案
实时音视频
云直播
对象存储
活动推荐
运营活动
广告
关闭
领券