以下操作都是基于ubuntu-22.04.x-desktop-amd64版本上进行的.
一、安装QT5环境
安装QT5环境,命令如下:
#更新软件列表
sudo apt update
#安装libgpiod-dev库,样例程序用到
sudo apt -y install libgpiod-dev
#基本的make,gcc,g++
sudo apt install make
sudo apt install make-guile
sudo apt install build-essential
#安装QT环境
sudo apt -y install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools qtcreator
二、下载测试样例工程源码
源码中同时包含GPIO/I2C/SPI/NFC 4种接口测试
下载测试工程源码并解压,操作如下:
xui样例源码
三、编译gpio驱动
gpio驱动是样例程序中需要用到,需要使用开发版进行编译一次.
#进入当前用户home目录
cd
#进入样例源码中gpio目录
cd xui/gpio/drv
#编译gpio驱动,生产gpio_drv.ko内核驱动文件
make clean
make
#修改 gpio_drv.ko 权限
sudo chmod 644 gpio_drv.ko
需要把编译好的 gpio_drv.ko 拷贝到 QT编译测试程序后的目录里,和TestApp在同一个目录.(这个目录名称不一定相同,这里是参考)
四、在QT5中打开样例工程
4.1安装好QT后,左下角程序列表,找到右边的Qt Creator,并点击
4.2导入工程
打开工程文件"TestApp.pro"
4.3配置编译:compiler C和C++ 都选GCC或者G++
4.4配置工程:调试运行时候,使用root用户权限启动程序
4.5编译并运行工程:QT界面左下角绿色小三角
编译好后,没有错误,就自动启动测试软件,QT会提示输入当前用户密码,输入后切换到root权限启动.
五、测试程序界面
5.1GPIO和LED测试界面
5.2 I2C测试界面
5.3 SPI测试界面
5.4 NFC测试界面
六、已知问题和解决方法
6.1没有SPI节点,无法测试SPI
请参考SPI接口开发(linux)教程进行添加:
http://wiki.youyeetoo.cn/zh/x1/linux/spi_driver
6.2测试GPIO和LED发现都是提示失败的
因为gpio 内核驱动没有被加载,参考本文中第三节"三、编译gpio驱动"
把编译好的gpio_drv.ko 拷贝到本测试工程生成的TestApp文件相同目录即可.
说明:gpio驱动和开发版所使用的内核版本是对应关系:
第一次用开发版中需要编译一次,若开发版修改了内核版本也需要重新编译一次.
把重新编译好后,覆盖掉老的gpio_drv.ko文件
6.3启动软件,提示找不到 libgpiod库
请参考本文中第一节"一、安装QT5环境"中安装libgpiod-dev库
6.4如何命令运行编译好的TestApp
在TestApp目录打开终端,执行
sudo ./TestApp