imx7开机自动执行任务(点灯)

前提:

已正确配置设备树,可以在用户空间控制GPIO。


启动脚本:

创建shell脚本xx.sh,给与执行权限chmod +x xx.sh,以便当Linux启动时自启动执行。

#!/bin/bash

# 设置GPIO引脚编号
GPIO_PIN=166

# 导出GPIO引脚
echo $GPIO_PIN > /sys/class/gpio/export

# 设置GPIO引脚为输出模式
echo "out" > /sys/class/gpio/gpio${GPIO_PIN}/direction

# 设置GPIO引脚输出高电平,点亮灯
echo "1" > /sys/class/gpio/gpio${GPIO_PIN}/value

设置服务:

需要将xxx.sh添加到启动服务单元,我这边是使用systemd服务。

创建xxx.service,保存在/etc/systemd/system/文件内,其中path是xx.sh脚本所在位置。

[Unit]
Description=GPIO Light Startup Script
After=multi-user.target

[Service]
ExecStart=/path/script.sh

[Install]
WantedBy=multi-user.target

开启任务:

创建服务链接,以便开机后linux执行任务。

sudo systemctl enable xxx.service
sudo systemctl start xxx.service

重启后该GPIO已自动点亮。

你可能感兴趣的:(Linux,Shell,linux)