T536主板的Linux系统蜂鸣器/指示灯/RTC功能验证-盈鹏飞嵌入式

CoM-T536产品特性:

  • 采用Allwinner公司Cortex-A55四核T536处理器,最高速度为1.6GHZ;
  • 支持2TOPS NPU,仅特定型号支持;
  • 支持4K/25fps H.264视频编码,支持4K/15fps MJPEG编码;
  • 支持1-4G Bytes LPDDR4 SDRAM;
  • 支持EMMC 4G-64G大容量电子盘,可启动;或支持SPI NAND启动;
  • 支持双通道LVDS,分辨率最高1920x1080@60fps;支持MIPI DSI显示, 分辨率最高1920x1020@60fps;
  • 支持PCIE2.1;支持最多17路UART;支持四路CANFD;支持双路千兆以太网;
  • 稳定的操作系统的支持,可预装LINUX 5.10/Ubuntu 20.04
  • 邮票孔198POS设计, 尺寸为:53.5*45MM

CoM-T536功能图:

image

STK-T536评估板功能图:

image

3、功能测试

3.1、蜂鸣器测试

评估底板通过PJ3(PWM0_3)引脚连接至一个无源蜂鸣器。本处为了演示PWM功能,执行PWM相关命令测试蜂鸣器功能。
Target# cd /sys/class/pwm/pwmchip0 //进入PWM0控制器路径
Target# echo 3 > export //请求PWM0_3设备
Target# echo 1000000 > pwm3/period //设置PWM信号频率,单位(ns)
Target# echo 500000 > pwm3/duty_cycle //设置PWM信号占空比,单位(ns)
Target# echo 1 > pwm3/enable //使能PWM,此时蜂鸣器鸣叫
Target# echo 0 > pwm3/enable //关闭PWM

点击查看代码
root@T536-embfly:~# cd /sys/class/pwm/pwmchip0
root@T536-embfly:/sys/class/pwm/pwmchip0$ echo 3 > export
root@T536-embfly:/sys/class/pwm/pwmchip0$ echo 1000000 > pwm3/period
root@T536-embfly:/sys/class/pwm/pwmchip0$ echo 500000 > pwm3/duty_cycle
root@T536-embfly:/sys/class/pwm/pwmchip0$ echo 1 > pwm3/enable
[  341.523011] platform 2000c1e.pwm0_3: supply pwm not found, using dummy regulator
root@T536-embfly:/sys/class/pwm/pwmchip0$

3.2、LED测试

STK-T536评估板提供1个用户可编程指示灯(D2上灯),该指示灯由GPIO进行控制,高电平有效。
image
Linux系统软件配置成心跳灯,上电后指示灯不断闪烁表示系统正常运行。也可以通过如下指令控制该指示灯,指令如下:
Target# echo 0 >/sys/class/leds/runled/brightness //控制LED灭
Target# echo 1 >/sys/class/leds/runled/brightness //控制LED亮
Target# echo heartbeat > /sys/class/leds/runled/trigger //继续心跳灯

点击查看代码
root@T536-embfly:/sys/class/leds$ echo 0 >/sys/class/leds/runled/brightness
root@T536-embfly:/sys/class/leds$ echo 1 >/sys/class/leds/runled/brightness
root@T536-embfly:/sys/class/leds$ echo heartbeat > /sys/class/leds/runled/trigger
root@T536-embfly:/sys/class/leds$

3.3、按键测试

STK-T536评估板包含1个系统复位按键SW2,一个烧写按键SW3,1个PMIC开关机按键SW5,1个用户输入按键SW4(通过LRADC0实现)和SW1(通过GPIO实现,默认固件未使能驱动)。
image

image
(1)系统复位按键测试
评估板上电,按下系统复位按键SW2,系统会重新启动表示正常。
(2)PMIC开关机按键测试
评估板上电进入终端后,按PWRON按键8秒,系统进入关机状态(终端无法输入指令),心跳指示灯停止跳动;在系统进入此关机状态下,按下PWRON按键,系统重新开机启动。
(3)用户输入按键SW4测试
Linux启动进入指令提示符后,执行如下命令查看用户按键SW4对应的事件号。
备注:按键事件号event X会根据系统输入事件数量改变而改变,不过全志SDK中采用ADC实现的按键驱动名字一般是sunxi-keyboard。
Target# cat /proc/bus/input/devices

点击查看代码
root@T536-embfly:~# cat /proc/bus/input/devices
I: Bus=0019 Vendor=0001 Product=0001 Version=0100
N: Name="sunxi-keyboard"
P: Phys=sunxikbd/input0
S: Sysfs=/devices/platform/soc@3000000/2009800.lradc/input/input0
U: Uniq=
H: Handlers=kbd event0 crashdump

执行如下命令,按下SW4按键进行测试,可看到按键输入事件的上报信息,按"Ctrl+C"可终止测试命令。
Target# evtest

点击查看代码
root@T536-embfly:~# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      sunxi-keyboard
/dev/input/event1:      sunxi-gpadc0/channel3/input0
/dev/input/event2:      sunxi-gpadc0/channel4/input0
/dev/input/event3:      sunxi-gpadc0/channel5/input0
/dev/input/event4:      sunxi-gpadc0/channel6/input0
/dev/input/event5:      sunxi-gpadc0/channel7/input0
/dev/input/event6:      axp2202-pek
/dev/input/event7:      gpio-keys
/dev/input/event8:      audiocodec Headphones
Select the device event number [0-8]: 0
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100
Input device name: "sunxi-keyboard"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 2 (KEY_1)
    Event code 3 (KEY_2)
    Event code 4 (KEY_3)
    Event code 114 (KEY_VOLUMEDOWN)
    Event code 115 (KEY_VOLUMEUP)
Properties:
Testing ... (interrupt to exit)
Event: time 3443.513438, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 1
Event: time 3443.513438, -------------- SYN_REPORT ------------
Event: time 3443.661876, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 0
Event: time 3443.661876, -------------- SYN_REPORT ------------
Event: time 3444.075956, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 1
Event: time 3444.075956, -------------- SYN_REPORT ------------
Event: time 3444.185335, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 0
Event: time 3444.185335, -------------- SYN_REPORT ------------

3.4、RTC时钟测试

Linux将时钟分为系统时钟(System Clock)和硬件时钟(Real-Time-Clock,简称RTC)。系统时钟是由Linux内核所维护的时钟,用户一般使用和看到的都是系统时钟。系统每次启动,Linux内核都会读取硬件RTC时钟,并将它同步到系统时钟。而硬件时钟又分为内部RTC时钟和外部RTC时钟。
现在的SOC都自带内部RTC时钟,但是出于精度、灵活性、功耗以及稳定性等因素的考虑,一般不使用内部RTC,而是采用外部RTC时钟方案。外部RTC时钟由评估板上的纽扣电池供电,即使系统断电外部RTC时钟在电池有电的情况下会长期运行。
STK-T536评估板采用HYM8563时钟芯片,通过指令查看其是否正常工作,指令如下:

Target# dmesg |grep rtc

点击查看代码
root@T536-embfly:~# dmesg |grep rtc
[    0.574228] sunxi:ccu_sunxi_ng:[INFO]: rtc_ccu: sunxi ccu init OK
[    1.205933] axp2202-rtcldo: supplied by regulator-dummy
[    2.053226] rtc-hym8563 8-0051: registered as rtc0
[    2.058772] rtc-hym8563 8-0051: setting system clock to 2000-01-01T01:26:56 UTC (946690016)

从启动信息中得知hym8563已经注册为rtc0,可正常工作。
(1)查看RTC设备节点
执行如下命令可以查看RTC设备节点,可查看到内部RTC的设备节点为"/dev/rtc0"。

Target# ls dev/rtc*

点击查看代码
root@T536-embfly:~# ls dev/rtc*
dev/rtc   dev/rtc0
root@T536-embfly:~#

(2)查看并设置系统时钟

Target# date //查看系统时钟
Target# date -s "2025-05-12 17:20:00" //设置系统时钟

点击查看代码
root@T536-embfly:~# date
Sat Jan  1 09:37:14 CST 2000
root@T536-embfly:~# date -s "2025-05-12 17:20:00"
Mon May 12 17:20:00 CST 2025
root@T536-embfly:~#

(3)查看并同步系统时钟至外部RTC时钟
Target# hwclock -w //同步系统时钟至外部RTC时钟
Target# hwclock //查看外部RTC时钟,可看到时钟已经同步

点击查看代码
root@T536-embfly:~# hwclock -w
root@T536-embfly:~# hwclock
Mon May 12 17:21:03 2025  0.000000 seconds
root@T536-embfly:~#

备注:RTC时钟需要先接入纽扣电池,否则会出现如下报错。

点击查看代码
[    2.098402] rtc-hym8563 8-0051: could not init device, -22
[    2.104408] rtc-hym8563: probe of 8-0051 failed with error -22

(4)同步外部RTC时钟至系统时钟
Target# hwclock -s //同步外部RTC时钟至系统时钟

点击查看代码
root@T536-embfly:~# hwclock -s
root@T536-embfly:~# hwclock
Mon May 12 17:24:56 2025  0.000000 seconds
root@T536-embfly:~#

经过以上步骤设置,外部RTC时钟芯片已经写入设定的时钟。此时可以将评估板断电(确保有RTC纽扣电池),等待一段时间再次上电重启。进入系统分别查看系统时钟和外部RTC时钟,发现无论是系统时钟还是外部RTC时钟都不会因系统断电而丢失。
(5)通过NTP服务同步系统时钟
系统时钟掉电会被重置,因目前系统默认关闭了 NTP 自动对时系统时钟的服务,如需对时系统时钟,可通过 RTC 时钟进行同步或通过 NTP 服务器进行对时。执行如下命令,通过 NTP 服务器同步系统时钟,执行该指令前务必保证网络畅通,并可访问外网。

Target# ntpdate -u ntp1.aliyun.com
指令执行终端信息如下:

点击查看代码
root@T536-embfly:/# ping www.baidu.com
PING www.baidu.com (183.2.172.177): 56 data bytes
64 bytes from 183.2.172.177: seq=0 ttl=54 time=7.783 ms
64 bytes from 183.2.172.177: seq=1 ttl=54 time=7.835 ms
64 bytes from 183.2.172.177: seq=2 ttl=54 time=7.592 ms
^C
--- www.baidu.com ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 7.592/7.736/7.835 ms
root@T536-embfly:/#
root@T536-embfly:/# date
Sat Jan  1 08:48:13 CST 2000
root@T536-embfly:/# ntpdate -u ntp1.aliyun.com
16 Mar 14:32:45 ntpdate[3667]: step time server 121.199.69.55 offset +826955055.298235 sec
root@T536-embfly:/# date
Mon Mar 16 14:32:51 CST 2026
posted @ 2026-04-17 15:20  embfly168  阅读(30)  评论(0)    收藏  举报