干货丨攻城狮分享OKA40i-C开发板常用小知识
飞凌于去年推出了首款超高性价比的国产工业级平台——OKA40i-C开发板。
该平台基于全志工业级A40i Cortex-A7 四核处理器设计,主频最高1.2GHz,内部集成Mali400 MP2 GPU图形处理器、接口丰富,在能耗比、性价比等方面表现极为突出,还兼具着工业级产品的稳定可靠等优势。
OKA40i-C开发板搭载Linux和android操作系统,可广泛应用于媒体播放、数字标牌、通讯控制、医疗仪器、工业控制、交通控制、信息系统、金融设备、汽车、数字控制、军工和各种终端机市场等领域。
▼下图为OKA40i-C开发板底板资源。
同时,还基于全志A40i 四核工业级处理器推出了——FCU2401嵌入式控制单元,主频1.2GHz,集成MAli400 MP2 GPU,内存1GB(可扩展为2GB),eMMC存储8GB,具有广泛的硬件外设支持,包括 RS485、CAN、E SAM、USB、以太网口、4G、WiFi、GPS、LVDS、HDMI、DI、DO、音频、SATA等功能接口。
FCU2401通讯外设按照工业级产品要求全部做隔离防护,测试通过4级静电实验;支持双屏显示,适用于边缘计算 、 充电桩 、快递柜、广告机、 新零售等自助终端领域。
无论是OKA40i-C开发板还是FCU2401嵌入式控制单元,自推出以来都受到了大家的广泛关注,吸引了众多客户垂询,非常火爆。小编整理了该系列产品常用的小知识点供大家参考。
A40i、T3常用的文件名称及位置
① 常用设备树
常用设备树在lichee/linux-3.10/arch/arm/boot/dts/文件夹下:
sun8iw11p1.dtsi
sun8iw11p1-clk.dtsi
sun8iw11p1-OKA40i_C.dts
sun8iw11p1-OKT3_C.dts
sun8iw11p1-pinctrl.dtsi
② A40i、T3使用的.fex文件路径
lichee/tools/pack/chips/sun8iw11p1/configs/OKA40i_C/
lichee/tools/pack/chips/sun8iw11p1/configs/OKT3_C/
③ 内核的配置文件
lichee/linux-3.10/arch/arm/configs/sun8iw11p1smp_oka40i_c_defconfig
④ 交叉编译器
交叉编译器版本是5.3.1,
交叉编译器的路径:
lichee/out/sun8iw11p1/linux/common/buildroot/host/opt/ext-toolchain/bin/
在进行编译之前需要进行环境配置方法如下:
在lichee目录下执行source env.sh,可以设置交叉编译环境
⑤ GCC版本
PC机环境中gcc的版本是4.8.1主要用来编译SDK相关工具的
⑥ uboot内核版本
uboot版本:2014.07
内核版本:linux-3.10
⑦ android系统中应用存放的路径
/system/priv-app/不可卸载
/system/app/ 不可卸载
/data/app/ 可卸载
⑧ linux的应用以及库存放的路径
自己的一些应用以及库可以存放在文件系统
lichee/buildroot-201611/target/user_rootfs_extra文件夹下边的对应目录下,系统编译打包后会将这些应用以及库文件一并打包到镜像中。
A40i、T3的LOGO更换及显示
① linux系统logo图片更换
lichee/tools/pack/chips/sun8iw11p1/configs/OKA40i_C/bootlogo.bmp
lichee/tools/pack/chips/sun8iw11p1/configs/OKT3_C/bootlogo.bmp
② A40i的android的动画修改
Android系统的启动动画修改,动画存放位置在android代码的/android/device/softwinner/a40-OKA40i_C/media/bootanimation.zip压缩包中。bootanimation格式:bootanimation.zip包含part0part1 文件夹和desc.txt文件,part0,part1文件夹里面放的是动画拆分图片,格式为png或jpg。
desc.txt文件内容如下:
400 400 10
p1 0 part0
p0 0 part1
说明:第一行:400为宽度,400为高度,10为帧数。第二行开始p为标志符,接下来第二列为循环次数(0为无限循环),第三项为两次循环之间间隔的帧数,第四项为对应的目录名。播放动画时会按照图片文件名顺序自动播放。
打包格式要求:
windows使用winrar打包,选择ZIP格式,压缩标准要选“储存”;linux下,zip-0-r…/bootanimation.zip ./* linux 命令使用-0指定压缩等级为最低等级stored,即只归档不压缩,否则可能由于包格式问题引起动画显示为黑屏。打包完之后修改其权限值:chmod 777 bootanimation.zip
③ android横屏转竖屏
1)cd到android源码目录,修改frameworks/base/core/res/res/values/config.xml,将config_supportAutoRotation改为false
-true
+false
2)打开device/softwinner/a40-common/init.sun8iw11p1.rc,添加ro.sf.rotation属性
#bluetooth MAC address programming
chown bluetooth net_bt_stack ro.bt.bdaddr_path
chown bluetooth net_bt_stack /system/etc/bluetooth
chown bluetooth net_bt_stack /data/misc/Bluetooth
setprop ro.bt.bdaddr_path “/data/misc/bluetooth/bdaddr”
setprop ro.sf.rotation 90
注意:“-” 符号表示删除的内容,“+” 号表示添加的内容
获取chip-id方式
在开发板终端登陆系统后输入如下命令:
cat/sys/class/sunxi_info/sys_info
linux自启动脚本
① Linux文件系统启动脚本如下:
lichee/buildroot-201611/target/user_rootfs_extra/etc/init.d/runqt
lichee/buildroot-201611/target/user_rootfs_extra/autorun.sh
② 关闭开机自启动程序的方法:
1)在开发板上修改
vi /etc/init.d/runqt
2)注释掉全志的开机自启动demo
注释后的脚本如下
#!/bin/sh
killall Launcher MediaUI CameraUI
./qt5.9.sh
echo0,0 > /sys/class/disp/disp/attr/fb2ui
#FRAMEBUFFER=/dev/fb0/Launcher >/dev/null &
#FRAMEBUFFER=/dev/fb1/MediaUI >/dev/null &
#FRAMEBUFFER=/dev/fb2/CameraUI >/dev/null &
echo Launcher, > /sys/inputFocus/write
修改完成保存退出后执行sync命令断电重启即可。
核心板差异V1.1和V1.2
A40i/T3的V1.1核心板和V1.2核心板差异,主要是在于V1.1不支持SMC,V1.2支持SMC
因为SMC引脚不同,需要使用不同的镜像。软件方面的修改如下说明:
1)主要是修改引脚配置仅以1024x600的lcd屏幕使用的配置文件为例,其他屏幕选用对应屏幕的.fex文件可以:
v1.1
sys_config1024x600_v1.fex
v1.2
sys_config1024x600.fex
2)V1.1和V1.2的核心板的主要差异在smc_det,usb_id_gpio两个引脚,其中V1.1中两个引脚的软件配置如下:
V1.1对应软件
[smc]
smc_used= 1
smc_rst= port:PH13<5>
smc_sck= port:PH18<5>
smc_sda= port:PH19<5>
[usbc0]
usbc0_used= 1
usb_port_type= 2
usb_detect_type= 1
usb_detect_mode= 1
usb_id_gpio= port:PH16<0><1>
usb_det_vbus_gpio= port:PH17<0><1>
对于V1.2核心板中的两个引脚的配置如下:
v1.2对应软件
[smc]
smc_used= 1
smc_rst= port:PH13<5>
smc_det= port:PH16<5>
smc_sck= port:PH18<5>
smc_sda= port:PH19<5>
[usbc0]
usbc0_used= 1
usb_port_type= 2
usb_detect_type= 1
usb_detect_mode= 1
usb_id_gpio= port:PH21<0><1>
usb_det_vbus_gpio= port:PH17<0><1>