佩特科技PET_A40I_P03安卓通用主板简介

描述

    主板接口    

接口

    主板尺寸    

接口

    主板功能    

接口

    接口详细说明    

接口接口接口

    镜像文件烧写        


开发过程中,一般使用 PhoenixSuit 进行镜像文件的烧写。 

将 TyPE-C 接口通过 USB 线连接到 PC 机后,系统检测到的设备信息如下:

接口

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

接口

烧写操作需要首先通过 MicroUSB 数据线(注意有些数据线只能充电,无法传输数据)连接主机的开 发板,在进行烧写时如果出现主机识别到新的设备没有正常安装驱动的情况时,需要手动安装设备驱动程 序,驱动程序位于开发工具文件夹内。

注意,在点击烧写镜像后,设备会重启黑屏,如果没有开始烧写进程,此时需要在 PC 端的设备管理 区中对黄色感叹号设备手动安装镜像烧写设备驱动(AW_Driver)。

如果系统无法正常启动,打开烧写软件,选择好需要烧写的镜像文件,按下主板 的烧写键并保持按下状态,再上电开机,主板会自动进入烧写模式。

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

安卓应用开发

01GPIO 编程参考

通过 sysfs 方式控制 GPIO,GPIO 的操作接口包括 direction 和 value 等,direction 控制 GPIO 输 入和输入模式,而 value 可控制 GPIO 输出或获得 GPIO 输入。

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

 

调试灯 GPIO 设置为输出 echo out > /sys/class/gpio/gpio40/direction 
调试灯 GPIO 输出高电平 echo 1 > /sys/class/gpio/gpio40/value 
调试灯 GPIO 输出高低平 echo 0 > /sys/class/gpio/gpio40/value 
调试灯 GPIO 设置为输入 echo in > /sys/class/gpio/gpio40/direction 
读取调试灯 GPIO 输出输入电平 cat /sys/class/gpio/gpio40/value 

 

当 GPIO 处于输出和输入模式时都可以读取,当设置为输入模式时读取的是 GPIO 实际电平,当设置为输出模式时读取的是设置的值(如果设置为高电平输出,外部将引脚电平拉低后,读取的值依然是 1)。 

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

接口接口

0串口 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

03 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 程序源码

 0获取 root 权限   

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

 05系统签名  

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


0行动态隐藏/显示系统状态栏和导航栏   

隐藏状态栏和导航栏在应用 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 程序源码

 0静默安装/卸载应用   

安装 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"
 08  重启、关机操作   

 

重启:向系统发送 

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 程序源码

0开机自启动应用(唯一桌面)

首先在开发应用 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 仅支持安卓系统,制作方式可以通过搜索引擎查询相关教程。

 

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

全部0条评论

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

×
20
完善资料,
赚取积分