gpt4 book ai didi

linux - 通过/dev/mem 访问 GPIO 是否更安全?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:41:17 25 4
gpt4 key购买 nike

我正在做一个 gpio 切换应该像 40MHz 速度一样快的项目。我检查了“sysfs”界面,切换速度约为 300Hz。这在我们的案例中是完全不能接受的。所以,在一些论坛上我读到使用/dev/mem 访问会增加切换速度。我使用/dev/mem 并达到了 30-32MHz 的速度,这对我们来说没问题。现在该项目正在进行现场测试,从长远来看它会不会导致内核崩溃之类的问题。

最佳答案

据我所知,i.mx6 没有原子引脚设置/重置功能,因此您必须确保所有 GPIO 输出引脚都由您的应用程序控制,内核或其他进程都不应尝试更改同一 GPIO Controller 上的任何输出引脚。读取输入引脚,或将一些引脚分配给其他外围设备应该没问题,但始终确保不会在幕后发生位碰撞(例如,一些 SPI 驱动程序认为他们更清楚何时设置或重置 CS,并悄悄地设置 CS 引脚到 GPIO 输出,将其从 SPI 外设中取出)

只要您的过程不被中断,您就可以维持该输出速度。如果您不禁用中断,您将在输出中出现故障。如果这样做,内核调度程序和中断驱动的硬件驱动程序将停止工作。在双核或四核系统上,应该可以保留一个核心供您的进程独占使用,并让系统的其余部分在其他核心上运行。不要一味地禁用中断,而是使用 sched_setaffinity(2)isolcpus 内核参数。

关于linux - 通过/dev/mem 访问 GPIO 是否更安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42507485/

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