这是本文档旧的修订版!


NK-6A12

RK3568芯片架构

RK3568

主板框架图

框架图

接口概览

接口概览1 接口概览2

接口定义

插针pin定义

RS485&232 J_LED-IR1 J_GPIO1 SPK1 UART1
1 RS485_A1 1 VCC3_IR 1 GPIO1 1 L_SPK+ 1 UART0_RX_CON
2 RS485_B1 2 IR 2 GPIO3 2 L_SPK- 2 UART0_TX_CON
3 RS485_A2 3 GND 3 GPIO2 3 R_SPK+ 3 VCC3_TTL
4 RS485_B2 4 AD 4 GPIO4 4 R_SPK- 4 GND
5 UART_RX3_232 5 LEDB 5 SPI2_MOSI_CN J_KEY1 J_RS232
6 UART_TX3_232 6 P_LED 6 SPI2_MISO_CN 1 GND 1 UART_RX5_232
7 UART_RX4_232 I2C-TP 7 SPI2_CLK_CN 2 P3V3 2 UART_TX5_232
8 UART_TX4_232 1 GND 8 SPI2_CS_CN 3 POWER_ON_BT 3 VCC5_232
9 GND 2 I2C1_SDA_TP_C 9 VCC5_GPIO 4 Reset 4 GND
10 GND 3 I2C1_SCL_TP_C 10 VCC5_GPIO 5 RECOVER_BUTTON PUSB
debug 4 TP_RST_C 11 GND HOST1 1 USB_VCC5
1 NC 5 TP_INT_C 12 GND 1 HOST1_VCC5 2 USB_D2N
2 UART2_TX_ 6 TP_VDD 2 HOST1_D1N_CON 3 USB_D2P
3 UART2_RX 3 HOST1_D1P_CON 4 GND
4 GND 4 GND

Jump_sel

eDP/LVDS VDD_JU BLK_JU
1 3 eDP 1 2 3.3V 1 2 5V
2 4 3 4 5V 2 3 12V
3 5 LVDS 5 6 12V 5G_PWR
4 6 1 2 5G

硬件特性

CPU Rockchip RK3568 ARM Quad Cortex-A55 up to 2.0GHz (HKMG 22 nm)
GPU Mali-G52 support OpenGL ES 1.1/2.0/3.2, Vulkan 1.0/1.1, OpenCL 2.0
NPU Up to 1.0 Tops.Supports INT8/INT16 hybrid operation
Memory Onboard 2/4/8GB LPDDR4
eMMC Onboard 16/32/64GB eMMC
TF Socket 1 x TF card Socket,Support 128G TF card
Display 1 x HDMI 2.0,up to 4096×2304@60fps;1 x LVDS;1 x eDP,up to 2560×1600@60Hz;1 x Mipi-DSI,up to 1920×1080@60Hz
Ethernet 1 x GbE (10/100/1000 Mbps);1 x Onboard AW-NM372 IC,Support 2.4G WiFi,support WiFi 802.11b/g/n protocol,Support BT5.0(2.4G/5G option)
Mini-PCIe 1 x MINI-PCIE with USB 3.0 signal for LTE/5G Modules,1 x SIM card socket
USB 1 x USB3.0, OTG Colay,2 x USB2.0,3 x USB2.0 pin header
Serial Port 2 x RS485, 3 x RS232, 1 x TTL
O.S Support Android 7.1.2,Android 11,Android 13,Debian 10
Power 12~24V power input
Operating -20℃ ~ 60℃
Storage -30℃ ~ 80℃
Humidity 5~95% (Non-condensing)
Vibration 5~500Hz,3Grms operating

快速上手

系统烧录

1.下载并安装USB驱动DriverAssitant_v5.0(Windows 系统可能会自动安装),解压后点击DriverInstall.exe安装驱动;再安装烧录工具RKDevTool

driver

rkdevtool

2.开始烧录:

  A.将双公头USB数据线一端与主板OTG连接,另一端连接电脑,长按Recovery_key按键,再上电后2-3s松开,进入烧录模式
  B.打开RKDevTool烧录工具,下方提示:发现一个LOADER设备,提示进入LOADER烧录模式,再选择固件:开发工具 » 升级固件 » 点击固件并选择好固件 » 点升级,开始烧录

loader

  C.烧录过程会显示进度

rkdevtool

3.完成烧录:

  • 烧录过程不需要任何操作,烧录完成后右侧会显示设备自动重启,第一次开机过程会慢些,请不要断开电源,耐心等待进入系统

rkdevtool

  • 注意:更换系统平台(例如Android切换Linux)时,可能出现无法烧录的情况,此时打开开发工具 » 高级功能 » 点击进入Maskrom烧录模式后烧录系统,如下图

maskrom

SD卡烧录

  • 下载需要升级到主板上的升级固件
  • 将MicroSD插入USB读卡器,再插入到电脑USB口上
打开SD_Firmware_Tool,勾选“固件升级”框,选择正确的可移动磁盘设备和升级固件;
点击开始创建之后,等待创建结束;
取出MicroSD卡,插入主板的MicroSD卡插槽,对主板上电开机,主板自动开始升级;
升级完成后,取出MicroSD卡,主板自动重启,完成整个更新固件的流程。

如下图:
sdtool

本地登录

1、硬件连接:将USB键盘和USB鼠标连接NK-6A12的USB接口。

2、开启NK-6A12:连接显示器和电源适配器(在首次开机时,请耐心等待片刻,直到桌面加载完成。在此期间,请不要拔掉电源)

3、打开终端:

  • Linux:Terminal
  • Android:终端模拟器APP

Debug串口登录

1、通过Debug串口登录系统,需要要到串口小板工具,连接开发板的Debug接口(交叉连接),连接如图:

Debug

2、打开设备管理器,查看串口小板对应的 COM 口并记录下来

3、Windows 上一般用 putty 或 Xshell。以 Xshell 为例介绍如何使用串口调试功能,打开Xshell新建一个会话,在 连接 » 常规 » 协议为SERIAL,如图:

4、连接 » 串口 » 常规 » 端口号,输入设备管理器上对应的串口号,设置串口的波特率为1500000(1.5Mbps)

5、按以上步骤操作后,点击连接,串口登录后台

xshell

Android ADB 登录

  • 在RK的Android 11系统中:设置 》 USB OTG切换(开:OTG模式,关:HOST模式)打开OTG模式,使用双公头USB数据线连接开发板OTG接口和电脑端
  • 下载ADB驱动以及工具
  • 安装ADB驱动以及工具
    • 将驱动解压得到可执行文件,打开软件,点击[install]即可

adb

  • 将工具解压至任意盘符,打开命令提示符(win + r 键输入cmd),依次进入到该目录下,输入adb devices查看是否发现设备

adb

  • 再输入adb shell进入

adb

Linux SSH 远程登录

1. 开发板LAN口连接好网线,进入系统桌面打开LXTerminal,输入命令:ifconfig 查看IP地址

ip

2. 在PC端打开SSH连接工具,如putty等,在此以Xshell为例:

  • 如图所示,连接 » 常规 » 主机 输入开发板的IP地址,端口号22

ssh

3. 连接 » 用户身份验证

用户名:root
密码: 123456

ssh

4. 点击连接,提示ssh密钥认证,输入yes后登录系统

ssh


Android 使用指南

接口功能测试

1 USB

1.1 硬件支持:2*USB2.0(USB-A),1*USB3.0(USB-A),3*USB2.0(PH2.0-4P)

1.2 连接键盘和鼠标,U盘,USB摄像头等外设

1.3 切换USB3.0模式:系统设置–>USB OTG开关–>切换USB3.0接口的HOST模式和OTG模式(默认HOST模式)

2 LCD

2.1 HDMI

系统默认支持HDMI显示,自适应屏幕分辨率,设置屏幕分辨率:设置 » 显示 » 高级 » HDMI » 分辨率设置

2.2 eDP

a) 如图,开发板断电状态下接好eDP屏数据线和背光线,支持USB触控屏线,注意跳线帽短接位置 ,背光电压和数据线电压是根据屏参确定的,这里以12V背光和3.3V数据线为例

eDP

b) 默认 eDP屏分辨率:1920 * 1080,支持eDP + HDMI 复制双显,支持12.5“1366 * 768, 12.5”1920 * 1080, 13.3“1920 * 1080, 15.6”1920 * 1080

注意:如果上电后屏幕不亮,需要在HDMI上调整 eDP 屏幕对应的分辨率

c) 设置屏幕分辨率:设置 » 显示 » 分辨率 » 输入密码,进入屏参切换界面,选择eDP + HDMI 复制双显,右侧选择使用的 eDP 屏幕对应的分辨率,点击确定,等待系统自动重启生效

2.3 LVDS

a) 如图,开发板断电状态下接好 LVDS屏数据线和背光线,支持USB触控屏线,注意跳线帽短接位置 ,背光电压和数据线电压是根据屏参确定的,这里以12V背光和3.3V数据线为例

LVDS

b) 默认 LVDS屏分辨率:1920 * 1080,支持LVDS + HDMI 复制双显,支持12.5“1366 * 768, 12.5”1920 * 1080, 13.3“1920 * 1080, 15.6”1920 * 1080

注意:如果上电后屏幕不亮,需要在HDMI上调整LVDS屏幕对应的分辨率

c) 设置屏幕分辨率:设置 » 显示 » 分辨率 » 输入密码,进入屏参切换界面,选择LVDS + HDMI 复制双显,右侧选择使用的 LVDS屏幕对应的分辨率,点击确定,等待系统自动重启生效

2.4 MiPi

a) 如图,开发板断电状态下接好MiPi屏线

mipi

b) 默认 MiPi屏分辨率:800 * 1280,支持 10.1“800 * 1280

c) 设置屏幕分辨率:设置 » 显示 » 分辨率 » 输入密码,进入屏参切换界面,选择MIPI + HDMI 复制双显,右侧选择10.1 mipi 800×1280,点击确定,等待系统自动重启生效

  • 以上eDP,LVDS,MiPi屏可在 设置 » 显示 » 亮度,调节屏幕亮度。
3 Audio

连接扬声器后,可播放音视频,测试左右声道

4 Mic

接好麦克风和一对喇叭后,使用系统内置的录音机APP,录音和播放测试

5 SDCARD

5.1 插入TF卡至设备TF卡卡槽

5.2 上滑至应用页面 » 文件 » 查看外接TF卡信息

5.3 在系统下拷贝文件至TF卡,进行读写测试

5.4 上滑至应用页面 » 文件 » TF卡挂载名称 » 点击旁边的弹出图标,弹出TF卡

6 LAN

6.1 RJ45接口连接网线

6.2 查看以太网IP地址:

方式一:设置 » 网络和互联网 » 有线网络
方式二:打开终端模拟器,输入su 获取权限,再输入ifconfig查看eth0

6.3 设置以太网静态IP地址:设置 » 网络和互联网 » 有线网络:上网模式 » 选择静态IP,输入静态IP数据,点击连接

6.4 联网

方式一:终端模拟器输入命令:

ping www.baidu.com

方式二:打开浏览器联网测试

lan

7 WIFI

7.1 连接好WIFI天线,设置 » 网络和互联网 » WLAN

7.2 打开WiFi开关

7.3 输入密码,连接WiFi

7.4 连接成功

7.5 联网

方式一:终端模拟器输入命令:

ping www.baidu.com

方式二:打开浏览器联网测试

lan

8 Bluetooth

8.1 设置 » 已连接的设备 » 连接偏好设置 » 打开蓝牙

8.2 开启蓝牙

8.3 选择与新设备配对,选择要配对的蓝牙设备名,点击配对即可

9 MiniPCIE:4G/5G

9.1 4G

a) 支持4G模组型号:EC20,ME3630-W,L716-CN

b) 固定好4G模组与天线,插入SIM卡,再上电

c) 进入系统后,等待自动拨号完成,状态栏显示4G图标,如下图:

9.2 5G

a) 支持5G模组型号:FG650-CN

b) 5G模组需要加跳线帽

c) 固定好5G模组与天线(至少接入4根5G天线),插入5G_SIM卡,再上电

d) 进入系统后,等待自动拨号完成,状态栏显示5G图标(需网络环境支持),如下图:

9.3 4G/5G联网

拨号成功后,查看IP地址

ip

方式一:终端模拟器输入命令:

ping www.baidu.com

方式二:打开浏览器联网测试

lan

10 UART

1. 串口定义参考:

2. 安卓系统串口设备节点对应表:

主板丝印 设备节点
UART0_TTL /dev/ttyS0
RS232_Rx5/Tx5 /dev/ttyS1
RS232_Rx3/Tx3 /dev/ttyS2
RS232_Rx4/Tx4 /dev/ttyS3
RS485_A1/B1 /dev/ttyS4
RS485_A2/B2 /dev/ttyS5

3. ComAssistant 测试串口通讯,以232_Rx5\Tx5回环测试为例

  • 参考步骤1~2短接232_Rx5\Tx5的 Tx & Rx (1-2 pin)
  • 打开ComAssistant APP,设置好串口参数:
  波特率:9600
  数据位:8bit
  起始位:1bit
  校验位:none
  • 设置好串口参数后,打开串口,在数据发送区输入框中输入字符,点击发送,可以发送数据。如下图所示:

232

4. RS485测试通讯,不支持回环测试,测试方式:

  • 通过USB转RS485工具,与上位机(Windows端)互测
  • 通过RS485转RS232工具,与RS232互测
  • 两个RS485对发测试
11 GPIO/SPI

1.导出节点(编号为56、57、58、59)

先获取权限:su
再输入导出命令:echo 56 >/sys/class/gpio/export
也可以使用for循环一次性导出所有IO节点:
  $:cd /sys/class/gpio
  $:for i in {56,57,58,59}; do echo $i >export; done

2. IO 控制节点在目录:/sys/class/gpio/

gpio

3. IO 对应表如下:

功能 主板丝印 节点编号
输入\输出 J_GPIO1 gpio56
J_GPIO2 gpio57
J_GPIO3 gpio58
J_GPIO4 gpio59
  • 设置IO方向为输出:
echo out >/sys/class/gpio/gpio56/direction
  • 输出低电平:
echo 0 >/sys/class/gpio/gpio56/value
  • 输出高电平:
echo 1 >/sys/class/gpio/gpio56/value
  • 查看输出电平的值是否可控:
cat /sys/class/gpio/gpio56/value
  • 使用电压表测量IO对应的针脚对GND的电压值
0 对应高电平 1.8V
1 对应低电平 0V
12 WatchDog
  • 打开“定时开关机”APP
  • 点击停止喂狗按钮
  • 60秒内系统重启

timer

13 Key
  • 3pin-GND:power_on功能:poweroff状态下启动系统
  • 4pin-GND:Reset功能:重启
  • 5pin-GND:Recovery_key:Android-返回键;Linux-无
14 OTA update

支持在线升级,系统内置升级APP,打开可查看是否有最新系统版本

15 RTC
  • 在终端输入date查看系统时间(软件时间)
  • 输入hwclock 查看RTC时间(硬件时间)
  • 设置时间和时间格式:
date MMddHHmmyyyy.ss set(月日时分年.秒)
例如:date 052514192023.00 set
  • 输入“hwclock -w”,保存时间。重启系统后,再查看当前时间是否保存,用于验证RTC时间是否生效
hwclock -w  --从系统时间同步到硬件时钟
hwclock -s  --从硬件时钟同步到系统时间

系统基本功能设置

Android 基本命令

  • 查看CPU信息
cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq  //查看cpu频率
cat /sys/class/thermal/thermal_zone0/temp //查看CPU当前温度
  • 查看内存信息
free -h
  • 查看存储信息
df -h
  • 查看USB设备
lsusb

系统性能测试

1. BurnInTest: CPU/MEMERY/EMMC
2. PowerCycle:HW Auto,Power on/off
3. RTC
4. I/O BurninTest: COM,LAN,WIFI

Android API 使用说明

NodkaAPI入口类

NodkaAPI使用方法:

1、在Application的onCreate中创建NodkaAPI实例

mNodkaAPI = NodkaAPI.nodkaAPICreate(this);

2、在Activity或Fragment中使用API步驟:

private NodkaAPI mNodkaAPI = APIApplication.getApplication().getNodkaAPI();

NodkaAPI接口说明:

1、以devinfo开头的是硬件及系统信息查询类api

2、以display开头的是显示控制类api

3、以gpio开头的是GPIO控制类api

4、以uart开头的是串口控制类api

5、以sysctrl开头的是系统控制类api,包括定时开关机

接口类别 方法名 方法说明
硬件及系统信息查询类 devinfo_getAndroidVersion() 获取Android系统版本信息
devinfo_getAvailMem() 获取可用内存容量
devinfo_getBuildNumber() 获取系统版本号信息
devinfo_getCpuCores() 获取cpu核心数
devinfo_getCPUCurFreqKHz() 获取cpu当前运行主频
devinfo_getCPUMaxFreqKHz() 获取cpu最大主频
devinfo_getCPUMinFreqKHz() 获取cpu最小主频
devinfo_getCPUTemp() 获取cpu温度
devinfo_getDeviceModel() 获取设备型号信息
devinfo_getKernelVersion() 获取内核版本信息
devinfo_getSerialNum() 获取设备SN号
devinfo_getStorageAvailableSize() 获取本机可用存储容量
devinfo_getStorageTotalSize() 获取本机存储容量(不包括系统分区)
devinfo_getTotalMem() 获取内存总容量
显示控制类 display_getNavBar() 获取是否显示导航栏跟状态栏
display_getScreenBrightness() 获取屏幕亮度
display_getScreenRotation() 获取屏幕旋转方向
display_getWindowHeight() 获取屏幕分辨率高度
display_getWindowWidth() 获取屏幕分辨率宽度
display_setNavBar​(Boolean enable) 设置是否显示导航栏跟状态栏
display_setNavBarSlideShow​(Boolean enable) 设置滑动是否会显示导航栏跟状态栏
display_setScreenBrightness​(int screenBrightness) 设置屏幕亮度
display_setScreenRotation​(int rotation) 设置屏幕旋转方向
GPIO控制类 gpio_direction​(int gpioNumber, String direction) 设置GPIO的方向(输入输出),对指定的gpio号进行设置
gpio_export​(int gpioNumber) 导出控制的GPIO引脚,对指定的gpio号进行导出
gpio_read​(int gpioNumber) 读取GPIO的输出电平值,对指定的gpio号进行读取
gpio_unExport​(int gpioNumber) 取消导出控制的GPIO引脚,对指定的gpio号进行取消导出
gpio_write​(int gpioNumber, int value) 设置GPIO的输出电平,对指定的gpio号进行设置
串口控制类 uart_close​(String uartNode) 关闭uart设备,如/dev/ttyXRUSB2
List<String> uart_getAvailableDevices() 获取uart可用的设备节点
uart_IsOpen​(String uartNode) uart设备是否已经打开,如/dev/ttyXRUSB2
uart_open​(String uartNode, int baudrate) 打开uart设备,如/dev/ttyXRUSB2
uart_receive​(String uartNode, UartReceiveDataCallback callback) 接收串口数据,如从/dev/ttyXRUSB2接收数据
uart_send​(String uartNode, byte[] buffer) 发送串口数据,如向/dev/ttyXRUSB2发送数据
uart_stopReceive​(String uartNode) 停止接收数据,调用后,不再有数据回调
系统控制类 sysctrl_cancelReboot() 取消重启设备
sysctrl_cancelShutdown() 取消自动关机
sysctrl_powerOn​(String time, boolean repeat) 设置设备开机时间
sysctrl_reboot​(String time, boolean repeat) 设置重启设备时间
sysctrl_rebootNow() 立即重启设备
sysctrl_shutdown​(String time, boolean repeat) 设置设备关机时间
sysctrl_shutdownNow() 立即关机
sysctrl_installApk(String apkPath) 静默安装应用


Linux 使用指南

接口功能测试

USB

1. U盘 自动挂载/media/disk

root@rk3399:~# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/root        15G  3.6G   10G   27% /
devtmpfs        980M     0  980M    0% /dev
tmpfs           981M     0  981M    0% /dev/shm
tmpfs           981M  8.8M  972M    1% /run
tmpfs           5.0M  4.0K  5.0M    1% /run/lock
tmpfs           981M     0  981M    0% /sys/fs/cgroup
tmpfs           197M   16K  197M    1% /run/user/0
/dev/sda1        57G  2.7G   54G    5% /media/disk
SDCARD

* SDcard 自动挂载:

root@rk3399:~# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/root        15G  3.6G   10G   27% /
devtmpfs        980M     0  980M    0% /dev
tmpfs           981M     0  981M    0% /dev/shm
tmpfs           981M  8.8M  972M    1% /run
tmpfs           5.0M  4.0K  5.0M    1% /run/lock
tmpfs           981M     0  981M    0% /sys/fs/cgroup
tmpfs           197M   16K  197M    1% /run/user/0
/dev/mmcblk0p8   30G  3.8G   25G   14% /media/3699f79c-f05d-4948-89c9-04dc4b132a1f

解除挂载:

umount /dev/mmcblk0p8

挂载:

mount /dev/mmcblk0p8 /sdcard
LCD/Backlight

1. 系统支持使用APP切换不同的LCD屏,输入dis命令打开APP如下图:

  • 选择对应的eDP/LVDS 屏分辨率,然后点击保存,系统自动重启后即可切换到指定的LCD:

2. 背光亮度调节:

  • 方法①:点击右下角系统托盘如下图标,打开背光调节APP

  • 方法②:控制驱动应用层接口:
 echo 100 > /sys/class/backlight/backlight1/brightness  

(注:写入数值越大亮度越大,max_brightness 为250)

Audio
  • 将喇叭连接板子上的 SPK 端口

1. 方法① – 使用系统自带SMPayer播放器,以及音频测试文件,可以做简单音频功能测试

2. 方法② – 使用命令方式播放:

aplay  /nodka_test/LR_audio.wav  -D  hw:0,0
Mic
  • 录音测试
arecord  -D hw:0,0 -d 5 -f cd -r 44100 -c 2 -t wav test.wav   
aplay test.wav  -D hw:0,0
LAN

1. 查看网卡IP地址,系统默认都为动态获取IP地址

#ifconfig -a 

2. 设置网卡静态IP地址

  • 方法1 – 使用图形界面工具设置

双击桌面图标Advanced Network Configuration

  • 方法2 – 修改配置文件的方式:
vim /etc/network/interfaces

  • 修改完成后输入重启生效。
WIFI

1. 点击右下角网络图标,浏览可用WIFI路由:

  • 输入WIFI密码,点击connect

2. 方法2 – 命令行连接wifi

nmcli d wifi connect "SSID" password "PASSWROD"
Bluetooth

1. 打开蓝牙管理器,搜索附近蓝牙设备:

2. 选中蓝牙设备,配对然后选择信任:

3. 设置蓝牙连接类型:

MiniPCIE:4G/5G

1. 系统已带自动拨号,打开终端,输入命令4g 即可自动拨号:

root@rk3568:~# 4g

2. 拨号完成后,查看IP地址:

3. 打开浏览器,浏览任意网站。

4. 5G测试方法与4G类似,输入命令5g即可自动拨号:

root@rk3399:~# 5g
UART:COM/TTL/CAN

1. 串口定义参考:

2. 串口设备节点系统对应表:

主板丝印 设备节点
UART0_TTL /dev/ttyS0
RS232_RX3\TX3 /dev/ttyS5
RS232_RX4\TX4 /dev/ttyS9
RS232_RX5\TX5 /dev/ttyS7
RS485_A1\B1 /dev/ttyS3
RS485_A2\B2 /dev/ttyS4

3. CuTecom 测试串口,以232_RX5\TX5回环测试为例

  • 参考步骤1~2短接232_RX5\TX5的 TX & RX (2~3 pin);
  • 双击桌面CuteCom图标,打开APP,Device选择测试端口对应的设备节点(见步骤2);
  • 点击Settings,设置串口参数,如下图所示:

  • 设置好以后点击Open 打开串口,在input 文本输入框中输入字符,按回车发送数据:

4. 命令行方式测试串口,同样以UART_RX5\TX5_232回环测试为例

打开终端输入如下指令接收数据:

com_recv /dev/ttyS7 115200

打开另一个终端发送数据:

com_send /dev/ttyS7 115200

测试结果如下:

GPIO/SPI

1.导出节点(编号为56、57、58、59)

$:echo 56 >/sys/class/gpio/export

也可以使用for循环一次性导出所有IO节点:

  $:cd /sys/class/gpio
  $:for i in {56,57,58,59}; do echo $i >export; done

2. IO 控制节点在目录:/sys/class/gpio/

3. IO 对应表如下:

功能 主板丝印 节点编号
输入\输出 J_GPIO1 gpio56
J_GPIO2 gpio57
J_GPIO3 gpio58
J_GPIO4 gpio59

4. IO控制方法:

  • 设置IO方向为输出:
echo out >/sys/class/gpio/gpio56/direction
  • 输出低电平:
echo 0 >/sys/class/gpio/gpio56/value
  • 输出高电平:
echo 1 >/sys/class/gpio/gpio56/value
  • 查看输出电平的值是否可控:
cat /sys/class/gpio/gpio56/value
  • 使用电压表测量IO对应的针脚对GND的电压值
0 对应高电平 3.3V
1 对应低电平 0V
WatchDog
Key

1. 输入命令evtest 查看系统下所有按键、输入设备:

root@rk3568:~# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      rk805 pwrkey
/dev/input/event1:      Lenovo Precision USB Mouse
/dev/input/event2:      HID 04f3:0103
/dev/input/event3:      HID 04f3:0103 Consumer Control
/dev/input/event4:      HID 04f3:0103 System Control
/dev/input/event5:      adc-keys
/dev/input/event6:      rk-headset
Select the device event number [0-6]: 

2. 按照上面提示选择测试按键,如RK3568 boot按键为 /dev/input/event5: adc-keys

则event number 为 5:按下按键会打印value 1,松开按键则会打印value 0,如下图:

key

3. 自定义按键功能,配置文件为:

/etc/triggerhappy/triggers.d/example.conf

如下,定义按键为reboot功能,也是系统默认配置,用户可以根据需要自定义

KEY_VOLUMEUP    1   reboot
PowerManager

1. 电源管理设置:

休眠后按POWER键唤醒 2. 电源管理功能非所有产品支持,需定制系统请联系业务窗口人员。

RTC/Timezone

1.查看当前系统时间:

[root@rk3399:~]# date
Wed Jun  8 15:54:09 CST 2022

2. 设置同步硬件时钟:

[root@rk3399:/]# date -s "2022-06-08 17:01:01"
Wed Jun  8 17:01:01 CST 2022
[root@rk3399:/]# hwclock -w
[root@rk3399:/]# hwclock -r
Wed Jun  8 17:01:09 2022  0.000000 seconds

3. 关机断电5秒以上,再开机查看系统时间是否保存:

[root@rk3399:/]# date 
 Wed Jun  8 17:02:30 CST 2022

注:系统默认为网络时间同步,以上RTC测试需要在断外网情况下测试。

4. 时区设置

  • 方法① – 修改link文件,如改为中国、上海:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
reboot

设置其他时区只需将上面命令中的Asia/Shanghai改为对应的时区城市即可。

  • 方法② – 在图形界面依次打开首选项→时间和日期,选择时区如下图:

选择完成后关闭窗口,使用date命令查看时区变化:

timezone

Linux OTA 在线升级

终端输入 ota 进行固件在线升级

Linux 基本命令

  • 查看CPU信息
cat /proc/cpuinfo
cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq  //查看cpu当前频率
cat /sys/class/thermal/thermal_zone0/temp //查看CPU当前温度
  • 查看内存信息
free -h
cat /proc/meminfo
  • 查看存储信息
df -h    //用于显示已挂载文件系统的使用情况,主要关注文件系统的使用率和可用空间
lsblk    //用于列出块设备的信息,提供更详细的设备层次结构,包括磁盘、分区和挂载点
fdisk -l //用于显示磁盘分区表的详细信息,包括分区的起始扇区、大小和文件系统类型等
  • 查看USB设备
lsusb

系统性能测试

1. BurnInTest: CPU/MEMERY/EMMC
2. PowerCycle:HW Auto,Power on/off
3. RTC
4. I/O BurninTest: COM,LAN,WIFI

Linux API 使用说明

Linux SDK文档

Linux 应用编程

Linux 应用支持

打印/导出