GM-3568JHF丨ARM+FPGA异构开发板系列教程:基础入门 07 测试命令

本篇教程基于ShiMetaPi 研发的FPGA+ARM开发板------GM-3568JHF展开。

本章节的命令操作均在板卡的终端执行。

1 初探/sys目录

与/proc目录类似,/sys目录下的文件/文件夹向用户提供了一些关于设备、内核模块、文件系统以及其他内核组件的信息,如子目录block中存放了所有的块设备;子目录bus中存放了系统中所有的总线类型,有i2c、usb、sdio、pci等;子目录class按类型归类设备,如leds、lcd、mtd、pwm等。

尝试在板卡的终端执行以下命令查看sys各层级的目录内容:

复制代码
在板卡上的终端执行以下命令查看ls /sysls /sys/classls /sys/class/ledsls /sys/class/leds/work

可以看到,本板卡的/sys/class/leds目录下分别有:work,开发板卡上绿色像心脏一样跳动的灯。

以其中的/sys/class/leds/work目录为例,它下面又包含brightness、device、max_brightness、power、subsystem、trigger、uevent等文件。其中brightness表示LED灯的亮度,trigger表示LED灯的触发方式,我们可以通过echo、cat等命令来修改或查看这些文件,从而达到控制LED灯的目的。下面以实例进行讲解。

2 控制心跳灯

控制心跳灯前,需要切换为root用户操作。

在控制心跳灯前,我们可以先看下心跳灯的触发方式。

复制代码
cat /sys/class/leds/work/trigger

可以看到,等选中的是heartbeat的状态。

LED灯设备下的brightness文件表示了它的亮度值。本板卡提供的内核驱动中,心跳灯是直接IO控制的,它的亮度范围为1和0表示亮灭。

复制代码
灭了心跳灯,心脏毁灭
echo 0 > /sys/class/leds/work/brightness
亮了心跳灯,心脏永恒
echo 1 > /sys/class/leds/work/brightness
当我们完成这操作后,可以查看心跳灯现在的触发方式,现在处于无控制状态。

如果想将灯切换为心跳模式,执行完后,心跳灯重新进入心跳状态。

复制代码
在root权限下进行下列操作
echo heartbeat > /sys/class/leds/work/trigger

3 初探/dev目录

除了/proc和/sys目录外,/dev目录也包含了非常丰富的设备信息,该目录下包含了Linux系统中使用的所有外部设备,如/dev/tty为串口设备、/dev/ram为内存、通过这些设备文件,我们也可以访问到对应的硬件设备。

尝试使用以下命令查看dev目录的内容:

复制代码
ls /dev
ls /dev/input

以上图中/dev/input目录下的内容为例,上面的event0是输入设备的事件文件接口,通过它们可以获知设备上报的输入事件。event后带的数字并不是跟设备绑定的,可以查看文件/proc/bus/input/devices了解它们分别代表什么。

在板卡的终端执行以下命令:

复制代码
cat /proc/bus/input/devices

如上图所示,可看到当前板卡的包含了多个个输入设备,在具体的板卡上可能会有差异:

  • • event0:名称为rk805 pwrkey,它对应的电源键on/off,input0,部分板卡会不具备该功能。

  • • event1:名称为goodix-ts,它对应的gt9xx的触摸屏,input1,部分板卡会不具备该功能。

  • • event2:名称为hdmi_cec_key,它对应的接收和处理 HDMI CEC 按键事件,input2,部分板卡会不具备该功能。

  • • event3:名称为adc-keys,它对应的是Recovery键,input3,部分板卡会不具备该功能。

  • • event4:名称为rk-headset,它对应的是耳机插入检测,input4,部分板卡会不具备该功能。

提示

Recovery键的刷机功能只作用于内核启动的时候,进入系统后,该按键就失去了作用,我们可以通过操作该按键,下面以该按键为例。

4 检测按键

在板卡中,我们可以使用evtest工具更方便地查看硬件当前接入的输入设备,并且对其进行实时检测。

apt安装evtest工具

sudo apt install evtest 注意:第一次使用apt install命令前,需要先执行以下执行刷新镜像源sudo apt update使用evtest工具:

sudo evtest执行命令后,它会扫描/dev/input目录下的event设备输入事件文件,并列出到终端。

它提示我们可以通过数字选择对应的设备进行测试,具体请根据自己板卡上的输出进行选择。

我们选择"adc-keys",即按'3'然后回车确认,可执行"Ctrl"+"c"退出。

adc-keys对应的是Recovery按键,当我进行一次按下和松开操作后,如下图所示。

总结&下篇预告

恭喜!您已成功解锁 《GM-3568JHF 基础入门》新进度:测试命令。

您的的后续学习进度:

  • • 当前进度:基础入门 (7/9) - 测试命令

  • • 进阶方向:基础入门 → 外设与接口 → 应用开发 → QT开发 → RKNN NPU开发 → FPGA开发

通过以上步骤,您已完成GM-3568JHF的开发环境配置,为驾驭这款平台奠定了坚实基础。GM-3568JHF拥有丰富的接口资源与强大的AI性能,是进行AI视觉、工业控制、智能语音等项目的理想平台。

原文链接: https://forum.shimetapi.cn/wiki/zh/fpga-arm/GM-3568JHF/Quick-Start/ch07-%E6%B5%8B%E8%AF%95%E5%91%BD%E4%BB%A4.html#_4-%E6%A3%80%E6%B5%8B%E6%8C%89%E9%94%AE

相关推荐
XMAIPC_Robot6 小时前
CODESYS 实时控制 + RK182X 大模型算力扩展|RK3576 工业边缘控制器设计
人工智能·fpga开发·机器人·rk3588+fpga
女神下凡9 小时前
芯参谋(31):SPI NOR Flash 电路设计指南
arm开发·单片机·嵌入式硬件·fpga开发·设计规范
程序员JerrySUN9 小时前
Jetson边缘嵌入式实战课程第四讲:用 Yocto 定制 Jetson 系统,从开发走向产品化
arm开发·人工智能·安全·计算机视觉·目标跟踪
学习FPGA的电气小兴兴11 小时前
基于FPGA的CORDIC旋转模式实现sin和cos运算_采用EGo1板卡上板验证【FPGA数字信号处理第5讲】
fpga开发·信号处理·数字信号处理·verilog·cordic·ego1·fpga设计入门与提高
女神下凡6 天前
嵌入式设计的各种存储芯片的硬件/软件设计规范,非常全面。
arm开发·单片机·嵌入式硬件
从零开始的嵌入式之旅7 天前
day47
arm开发·经验分享·笔记·嵌入式硬件
博览鸿蒙7 天前
FPGA开发使用的语言
fpga开发·fpga
老当益壮梁奶奶7 天前
ARM汇编学习笔记(六):【i.MX6ULL】时钟系统与定时器(EPIT & GPT)
c语言·arm开发·嵌入式硬件·学习·51单片机
明德扬7 天前
机器人多摄像头如何做FPGA多路视频聚合?
学习·fpga开发·fpga
昌原的儿子LEO7 天前
IMX6ULL 时钟系统与 EPIT/GPT 定时器原理与配置
arm开发·学习