PET_RK3562_P01安卓通用主板

描述

主板接口

RK3562

二、主板功能

 

功能列表
处理器 RK3562 Cortex A53四核64位ARM64,最高主频2.0G
内存LPDDR4 标配2GB
存储EMMC 标配 16GB
操作系统 安卓Android 13
内置NPU RKNN NPU,1TOPS算力,用于AI应用
内置GPU MALI-G52-2EE,支持OpenCL 2.0,OpenGLES 1.1、2.0、3.2,Vulkan1.1
内置视频编解码 支持4K@60fps H.265格式硬解码、H.264 1080P@60fps硬编码
电源输入 标准12V,宽电压支持9V~24V,注意显示屏6P背光接口座输出电压与输入相同,如果使用这个接口则注意输入电压要与显示屏背光电压要求一致。
电源输出接口 1个,输出12V
按键接口 1个,ADC方式可实现多个按键,电源键
按键 4个,烧写键、复位键、电源键、ROM键(用于系统损坏时烧写系统)
WIFI/蓝牙BT WIFI/BT二合一模组,WIFI5G,蓝牙4.2
USB接口 USB3.0 1路、USB2.0 4路(一路与4G模组接口复用)、Device 1路(与USB3.0功能复用)
TF卡 1路
板载RTC 板载独立RTC芯片以及纽扣电池
MIPI_CSI摄像头 1个,可外接HDMI转CSI模组实现HDMI_IN,同时支持USB摄像头
显示屏接口 单/双通道LVDS/MIPI(30P排针)、eDP(30P排针),LVDS(40P),MIPI(40P),MIPI(31P)
支持多屏异显,最大分辨率4096*2160
显示屏背光接口 1个,通用6P,可接大屏的背光驱动板
电容触摸屏接口 3个,两个FPC座,一个6P 2.0间距座
千兆以太网接口 1路,千兆
RS232串口 2路(可通过修改硬件配置为2路TTL串口)
RS485接口 1路
TTL串口 3路
GPIO/NFC/SPI/I2C 默认6路GPIO(可配置为1路SPI),1路I2C,支持外接我司PN7160 NFC模组
CAN接口 1路
音频接口 麦克风1路,耳机1路
喇叭(15瓦) 2路
PCIE 4G模组接口 1路,支持全网通,可支持带北斗/GPS功能模组
SIM卡接口 1个
北斗/GPS 可选配带北斗/GPS功能的4G模组
ADC输入接口 5路,1.8V 10bit / 1MSPS / 12MHz频率
IR红外输入接口 非标配,1个
SPK接口 非标配,1个,4欧3瓦或8欧2瓦
结构参数
PCB工艺 核心板八层板,沉金工艺,底板四层,无铅工艺
尺寸 102 x 135 单位 mm 

 

三、接口详细说明

RK3562

RK3562

RK3562

RK3562

四、镜像文件烧写

1、安装驱动并连接硬件

解压开发工具目录下的 DriverAssitant_USB 驱动程序.7z,右击以管理员权限运行 DriverInstall.exe,安装驱动程序。

注意 win10 或 win11 系统需要关闭操作系统的驱动签名验证功能才能正常安装驱动,win11 不能永久关闭这个功能,建议安装一个 win7 的虚拟机,在虚拟机内进行驱动安装和固件烧写。

将主板与 PC 机用 TYPE-C 线(注意有些数据线仅支持充电,无法传输数据)连接好,如果出现无法识别的情况可以通过重新连接、更换 PC 机 USB 接口、更换 USB 线、更换 PC 机等方式重试。

解压开发工具目录下的 RKDevTool.7z,右击以管理员权限运行 RKDevTool.exe

2、进入烧写模式

主板处于 Loader 或 Maskrom 模式时可以对系统进行格式化和烧写系统镜像文件操作。

进入 Loader 模式

RK3562

方式一、将主板断电,首先用 TYPE-C 线将主板与 PC 机连接好,按下主板上的烧写键,

并保持按下状态,然后再上电开机,主板会进入 Loader 操作模式,然后松开按键烧写系统即可,注意这种方式适用于主板上的 BootLoader 可正常工作的情况。

RK3562

方式二、将主板接通电源,进入系统,用 TYPE-C 线将主板与 PC 机连接好如下图,RKDevTool 软件会识别到一个 ADB 设备,单击切换按钮,主板会重启进入 Loader 模式

RK3562

3、进入 Maskrom 模式(无法进入 Loader 模式时使用)

RK3562

一般仅在 uboot 损坏,无法进入 Loader 模式时使用。将主板断电,首先用 TYPE-C 线将主板与 PC 机连接好,按下主板上的 ROM 键,并保持按下状态,然后再上电开机,主板会进入MaskRom 操作模式,然后松开按键烧写系统即可。

RK3562

4、系统烧写流程

首先将主板进入 Loader 或 Maskrom 模式,打开 RKDevTool 软件,点击固件按钮选择需要烧写的镜像文件,然后点击升级按钮,右侧窗口会显示烧写进度,烧写完成后,主板会自动重启开机。

RK3562

五、安卓应用开发

1、GPIO 编程参考

通过 sysfs 方式控制 GPIO,GPIO 的操作接口包括 direction 和 value 等,direction 控制 GPIO 输

入和输入模式,而 value 可控制 GPIO 输出或获得 GPIO 输入。

例如控制调试灯 GPIO 操作如下(串口终端命令行方式):

调试灯 GPIO 设置为输出    echo out > /sys/class/gpio/gpio104/direction

调试灯 GPIO 输出高电平    echo 1 > /sys/class/gpio/gpio104/value

调试灯 GPIO 输出高低平    echo 0 > /sys/class/gpio/gpio104/value

调试灯 GPIO 设置为输入    echo in > /sys/class/gpio/gpio104/direction

读取调试灯 GPIO 输出输入电平 cat /sys/class/gpio/gpio104/value

当 GPIO 处于输出和输入模式时都可以读取,当设置为输入模式时读取的是 GPIO 实际电平,当设置为输出

模式时读取的是设置的值(如果设置为高电平输出,外部将引脚电平拉低后,读取的值依然是 1)。

应用程序控制请参考源码下的 demo 程序源码

RK3562

2、串口 UART 编程参考

RS232 串口、RS485、TTL 串口接口对应的设备名详见上文接口描述。

安卓系统串口编程请参考 demo 程序源码或以下链接:

https://github.com/Acccord/AndroidSerialPort

https://github.com/Geek8ug/Android-SerialPort

https://github.com/yutils/YSerialPort

3、WatchDog 看门狗编程参考

进入内核后默认会启动看门狗,内核崩溃等情况出现,会在 15 秒内自动复位主板。

上层应用程序打开看门狗后,内核将看门狗控制权交由上层应用程序控制,上层应用程序的喂狗间隔建议

不大于 3 秒。

看门狗的使用流程为

打开看门狗循环喂狗停止喂狗关闭看门狗

喂狗之前必须先打开看门狗,关闭看门狗之前需停止喂狗操作。

打开看门狗后如果 15 秒内没有喂狗或关闭看门狗,系统会自动复位。

命令行测试:

打开看门狗:echo 1 >/sys/class/gzpeite/user/watch_dog

喂狗:echo 2 >/sys/class/gzpeite/user/watch_dog

关闭看门狗:echo 0 >/sys/class/gzpeite/user/watch_dog

应用程序控制请参考源码下的 demo 程序源码

4、获取 root 权限

系统默认已开启 root 权限,上层应用 app 可直接获取 root 权限并进行相关操作,可以参考源码目录下的 demo 程序

5、系统签名

系统签名文件位于源代码目录下,使用对应的文件对 APK 进行签名即可。

6、动态隐藏/显示系统状态栏和导航栏

隐藏状态栏和导航栏在应用 app 里面向系统发送广播

gzpeite.intent.systemui.hidenavigation 和 gzpeite.intent.systemui.hidestatusbar

显示状态栏和导航栏在应用 app 里面向系统发送广播

gzpeite.intent.systemui.shownavigation 和 gzpeite.intent.systemui.showstatusbar

测试命令如下:

 

am broadcast -a "gzpeite.intent.systemui.hidenavigation"
am broadcast -a "gzpeite.intent.systemui.hidestatusbar"
am broadcast -a "gzpeite.intent.systemui.shownavigation"
am broadcast -a "gzpeite.intent.systemui.showstatusbar"

 

请参考源码下的 demo 程序源码

7、静默安装/卸载应用

安装 APK 时,向系统发送 gzpeite.intent.action.install_apk 广播

卸载 APK 时,向系统发送 gzpeite.intent.action.uninstall_apk 广播

测试命令如下:

 

am broadcast -a "gzpeite.intent.action.install_apk" --es apk_path "/mnt/media_rw/0000-4823/GPSTest.apk"
am broadcast -a "gzpeite.intent.action.uninstall_apk" --es pkg_name "com.android.gpstest"

 

8、重启、关机操作

重启:向系统发送 gzpeite.intent.action.reboot 广播

关机向系统发送 gzpeite.intent.action.shutdown 广播

测试命令如下:

 

重启(有确认提示):am broadcast -a "gzpeite.intent.action.reboot" --ez confirm true
重启(无确认提示):am broadcast -a "gzpeite.intent.action.reboot" --ez confirm false
关机(有确认提示):am broadcast -a "gzpeite.intent.action.shutdown" --ez confirm true
关机(无确认提示):am broadcast -a "gzpeite.intent.action.shutdown" --ez confirm false

 

应用程序控制请参考源码下的demo程序源码

9、 获取MAC地址

原生Android12系统默认禁止应用获取MAC地址,为了兼容更早期的应用程序,我司已对系统代码进行优化允许应用app获取WIFI及以太网的MAC地址,详见源代码目录下的demo程序源码。

10、 定时开关机

可以在系统设置-->系统-->日期和时间内设置,设置保存后,重启依然有效

目前仅支持每天固定时间关机和开机,如果需要某些天不开机,可在应用程序内判断后发送关机广播

 

应用app设置开关机时间参考代码:
import android.os.SystemProperties;
……
SystemProperties.set("persist.sys.poweroff_time", ”00:00”);   //设置关机时间
SystemProperties.set("persist.sys.poweron_time", ”00:01”);   //设置开机时间

 

11、 开机自启动Launcher(不显示系统桌面)

首先在开发应用APK时,需要在应用程序 AndroidManifest.xml的 Intent-filter 里添加下面几行

可以参考资料目录下的OnlyLauncher.7z

六、动态修改开机logo和动画

将logo.bmp、logo_kernel.bmp、bootanimation.zip,复制到系统 /mnt/logo目录下即可

 

adb push logo.bmp /mnt/logo/
adb push logo_kernel.bmp /mnt/logo/        
adb push bootanimation.zip /mnt/logo/

 

两个logo文件必须为bmp文件格式,一个是在uboot阶段加载显示,一个是在内核阶段加载显示,文件名不可修改,文件内容可以完全一样。

开机动画bootanimation.zip 仅支持安卓系统,制作方式可以通过搜索引擎查询相关教程。
 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分