- libgpiod源码下载地址
https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/
- 解压
tar -xf libgpiod-2.0.1.tar.gz
cd libgpiod-2.0.1
- 配置交叉编译环境
export PATH=/opt/loongson-gnu-toolchain-8.3.novec-x86_64-loongarch64-linux-gnu-rc1.1/bin:$PATH
export CROSS_COMPILE=loongarch64-linux-gnu-
export CC=${CROSS_COMPILE}gcc
export LD=${CROSS_COMPILE}ld
export AR=${CROSS_COMPILE}ar
- 安装依赖工具
sudo apt-get install autoconf-archive
否则提示错误:
error: Unexpanded AX_ macro found. Please install GNU autoconf-archive.
- 编译
./autogen.sh --enable-tools=yes --prefix=${PWD}/build --host=loongarch64-linux-gnu
make -j$(nproc)
make install
编译成功后,生成的二进制文件和库文件在libgpiod-2.0.1/build/ 目录下。
把二进制文件和库文件复制到板卡根文件系统的对应目录。
- 测试
# 查看有多少组gpio
gpiodetect
# 查看GPIO lines的情况,可以查看系统中当前哪些GPIO被占用了
gpioinfo -c 0
# 设置gpiochip0的20引脚为高
gpioset -c 0 20=1
# 获取gpiochip0的20引脚的值
gpioget -c 0 20