目前我正在尝试在 2.6.39 linux 内核上使用 systemd 检查 Tixi 板的启动时间。为此,我创建了一个服务文件,该文件调用一个设置和使用 gpio 的 bash 脚本。问题是我的系统不允许我更改 gpio 的值。我可以成功地导出它,改变它的方向,但不能改变它的值。我已连接示波器以检查硬件中的值是否已更改,但未按照某些论坛的建议在文件中更新,但它是相同的:值只是没有改变!我还应该指出,如果我使用系统 V,相同的脚本正在工作,内核、busybox 和文件系统的配置完全相同。
这很讽刺,因为我已经是系统的根,但是即使更改文件的权限,也不允许我更改其值。内核也没有反馈说该操作是不可能的,而是看起来好像是可能的,但是当我检查值时,它和以前一样。
我还尝试使用 3.12(我将其更改为 systemd)在 Raspbian 中运行它,实际上它是可以做到的,只是从用户空间以正常方式。
如果您有任何想法,我将不胜感激,因为我已经没有想法了,可能是什么问题。
谢谢
PS:这是应该在 bash 行上工作的代码:
echo 0 > /sys/class/gpio/gpio104/value
more /sys/class/gpio/gpio104/value
// I get 1 not 0 as I requested
尽管如此,如果我使用 systemV,同一块板上的相同代码行可以工作,但如果我使用 systemd,则不能