一、主板接口

二、主板尺寸

三、功能列表


四、接口详细说明



五、镜像文件烧写
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 模式

方式一、将主板断电,首先用TYPE-C 线将主板与 PC 机连接好,按下主板上的烧写键,并保持按下状态,然后再上电开机,主板会进入 Loader 操作模式,注意这种方式适用于主板上的 BootLoader 可正常工作的情况。
方式二、将主板接通电源,进入系统,用TYPE-C 线将主板与 PC 机连接好如下图,RKDevTool 软件会识别到一个ADB 设备,单击切换按钮,主板会重启进入 Loader 模式

方式三、在调试串口控制台或其他控制终端输入reboot loader,主板会重启进入 Loader 模式
3、进入 Maskrom 模式(无法进入 Loader 模式时使用)

一般仅在 uboot 损坏,无法进入 Loader 模式时使用。
首先准备好一个金属镊子,将主板断电
用镊子短接右图中的核心板上两个沉金通孔
然后再上电开机,进入 Masktom 模式后取消短接,松开镊子继续进行檫除flash、升级固件等操作。
4、系统烧写流程
首先将主板进入 Loader 或 Maskrom 模式,打开 RKDevTool 软件,点击固件按钮选择需要烧写的镜像文件,然后点击升级按钮,右侧窗口会显示烧写进度,
烧写完成后,主板会自动重启开机。

六、安卓应用开发
1、GPIO 编程参考
通过sysfs 方式控制GPIO,GPIO 的操作接口包括direction 和value 等, direction 控制 GPIO 输入和输入模式,而 value 可控制 GPIO 输出或获得 GPIO 输入。
例如控制调试灯 GPIO 操作如下(串口终端命令行方式):
调试灯 GPIO 设置为输出调试灯 GPIO 输出高电平
调试灯 GPIO 输出高低平调试灯 GPIO 设置为输入
echo out >/sys/class/gpio/gpio23/direction
echo 1 >/sys/class/gpio/gpio23/value
echo 0 >/sys/class/gpio/gpio23/value
echo in >/sys/class/gpio/gpio23/direction
读取调试灯 GPIO 输出输入电平 cat /sys/class/gpio/gpio23/value
当 GPIO 处于输出和输入模式时都可以读取,当设置为输入模式时读取的是 GPIO 实际电平,当设置为输出模式时读取的是设置的值(如果设置为高电平输出,外部将引脚电平拉低后,读取的值依然是 1)。
应用程序控制请参考源码下的 demo 程序源码


2、串口 UART 编程参考

安卓系统串口编程请参考 demo 程序源码或以下链接:
https://github.com/yutils/YSerialPort
https://github.com/Acccord/AndroidSerialPort https://github.com/Geek8ug/Android-SerialPort
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、开机自启动 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 仅支持安卓系统,制作方式可以通过搜索引擎查询相关教程。