gpt4 book ai didi

c - 在 Imx6 上读取 SPI 寄存器时 linux 挂起

转载 作者:太空狗 更新时间:2023-10-29 12:41:27 24 4
gpt4 key购买 nike

我有一个在 NXP 的 Imx6 SoC 上运行的嵌入式 Linux 项目,我正在尝试使用它的 SPI。由于没有同时支持master和slave模式的驱动,我首先尝试从用户空间自己处理。我使用 mmap 访问 SPI 的寄存器,但是当我尝试使用 mmap 读取/写入它们时,系统挂起并且我必须重新启动。然后我在自定义 spi-imx 驱动程序中做了同样的事情,但我必须等待驱动程序到达函数 spi_imx_transfer 才能被允许访问寄存器。

我对 linux 设备管理很陌生,所以想知道为什么用同样的方法我可以访问其他设备的寄存器,但不能访问 SPI 的寄存器。为什么当我尝试读取这些寄存器时 linux 挂起?是否可以从用户空间或更早的设备驱动程序中读取或写入它们?

是否有允许(或解锁?)访问寄存器的方法?

欢迎任何建议。

最佳答案

这不是 Linux 问题:ECSPI 时钟被禁用。因此,在访问 SPI 的寄存器之前,我只需将正确的寄存器设置为 1(使用 mmap)。

关于c - 在 Imx6 上读取 SPI 寄存器时 linux 挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42157056/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com