一、主板接口

二、主板尺寸

三、主板功能

四、接口详细说明




五、镜像文件烧写
开发过程中,一般使用PhoenixSuit 进行镜像文件的烧写。
将TyPE-C 接口通过USB 线连接到PC 机后,系统检测到的设备信息如下:

在一键刷机界面,先选择好需要烧写的镜像文件,并且勾选“全盘檫除升级”

烧写操作需要首先通过MicroUSB 数据线(注意有些数据线只能充电,无法传输数据)连接主机的开发板,在进行烧写时如果出现主机识别到新的设备没有正常安装驱动的情况时,需要手动安装设备驱动程序,驱动程序位于开发工具文件夹内。
注意,在点击烧写镜像后,设备会重启黑屏,如果没有开始烧写进程,此时需要在PC 端的设备管理区中对黄色感叹号设备手动安装镜像烧写设备驱动(AW_Driver)。
如果系统无法正常启动,打开烧写软件,选择好需要烧写的镜像文件,按下主板的烧写键并保持按下状态,再上电开机,主板会自动进入烧写模式。
注意win10 或win11 系统需要关闭操作系统的驱动签名验证功能,win11 不能永久关闭这个功能,建议安装一个win7 的虚拟机,在虚拟机内进行驱动安装和固件烧写。
六、安卓应用开发
1、GPIO 编程参考
通过sysfs 方式控制GPIO,GPIO 的操作接口包括direction 和value 等,direction 控制GPIO 输入和输入模式,而value 可控制GPIO 输出或获得GPIO 输入。
例如控制调试灯GPIO 操作如下(串口终端命令行方式):
调试灯GPIO 设置为输出调试灯GPIO 输出高电平
调试灯GPIO 输出高低平调试灯GPIO 设置为输入
echo out >/sys/class/gpio/gpio40/direction
echo 1 >/sys/class/gpio/gpio40/value
echo 0 >/sys/class/gpio/gpio40/value
echo in >/sys/class/gpio/gpio40/direction
读取调试灯GPIO 输出输入电平 cat /sys/class/gpio/gpio40/value
当GPIO 处于输出和输入模式时都可以读取,当设置为输入模式时读取的是GPIO 实际电平,当设置为输出模式时读取的是设置的值(如果设置为高电平输出,外部将引脚电平拉低后,读取的值依然是1)。
应用程序控制请参考demo 程序源码


2、串口UART/RS232/RS485 编程参考

RS232 设备名/dev/ttyS2,/dev/ttyS4,/dev/ttyS5,/dev/ttyS7 RS485 设备名/dev/ttyS6
安卓系统串口编程请参考demo 程序源码或以下链接:
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.install_apk"--es apk_path "/mnt/sdcard/GPSTest-gzpeite.apk"--ez is_start "true"
静默卸载: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、开机自启动应用(唯一桌面)
首先在开发应用APK 时,需要在应用程序AndroidManifest.xml 的Intent-filter 里添加下面几行

七、动态修改开机logo 和动画
将bootlogo.bmp、bootanimation.zip,复制到系统对应目录下即可
adb push bootlogo.bmp /bootloader/
adb shell mount -o rw,remount /system (将system 分区挂载为可读写)
adb push bootanimation.zip /system/media/
logo 文件必须为bmp 32bit 文件格式。
开机动画bootanimation.zip 仅支持安卓系统,制作方式可以通过搜索引擎查询相关教程。