저는 ARM AT91 Sam9x5ek 임베디드 장치와 Buildroot에서 만든 Linux 이미지를 사용하고 있습니다. 보통 내 init-system
것은 Busybox
이지만 지금은 로 변경되었습니다 systemd
. 그 이후로 더 이상 GPIO에 액세스할 수 없거나 최소한 값을 변경할 수 없습니다.
Busybox를 통해 시스템 핀 변경을 초기화하기 위한 작업 스크립트는 다음과 같습니다.
#! /bin/sh
echo 104 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio104/direction
echo 1 > /sys/class/gpio/gpio104/value
이제 내 임베디드 장치시스템으로, 마지막 줄(실제 값 설정)을 제외한 모든 항목을 실행합니다. 저는 루트로 로그인했기 때문에 권한은 실제로 문제가 되지 않습니다.
이것은 내 서비스 파일입니다.
[Unit]
Description=USER: Camilo - GPIO
[Service]
Type=idle
ExecStart=/home/exec_camilo
ExecStop=/home/setDownGPIO
[Install]
WantedBy=multi-user.target
왜 이런 일이 일어나는지 아는 사람이 있나요? 해결 방법을 아는 사람이 있나요?
친절한 안부