干货丨飞凌工程师分享全志A40i开发板常用小知识

时间:2024-03-27 11:39:45

飞凌于去年推出了首款超高性价比的国产工业级平台——OKA40i-C开发板。

该平台基于全志工业级A40i Cortex-A7 四核处理器设计,主频最高1.2GHz,内部集成Mali400 MP2 GPU图形处理器、接口丰富,在能耗比、性价比等方面表现极为突出,还兼具着工业级产品的稳定可靠等优势。

 

干货丨飞凌工程师分享全志A40i开发板常用小知识

 

OKA40i-C开发板搭载Linux和android操作系统,可广泛应用于媒体播放、数字标牌、通讯控制、医疗仪器、工业控制、交通控制、信息系统、金融设备、汽车、数字控制、军工和各种终端机市场等领域。

▼下图为OKA40i-C开发板底板资源。

 

干货丨飞凌工程师分享全志A40i开发板常用小知识

 

同时,还基于全志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级静电实验;支持双屏显示,适用于边缘计算充电桩 、快递柜、广告机、 新零售自助终端领域。

 

干货丨飞凌工程师分享全志A40i开发板常用小知识

 

无论是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开发板常用小知识

 

② 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

 

干货丨飞凌工程师分享全志A40i开发板常用小知识

 

③ android横屏转竖屏

1)cd到android源码目录,修改frameworks/base/core/res/res/values/config.xml,将config_supportAutoRotation改为false

-<bool name="config_supportAutoRotation">true</bool>

+<bool name="config_supportAutoRotation">false</bool>

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

 

干货丨飞凌工程师分享全志A40i开发板常用小知识

 

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><default><default><default>

smc_sck= port:PH18<5><default><default><default>

smc_sda= port:PH19<5><default><default><default>

[usbc0]

usbc0_used= 1

usb_port_type= 2

usb_detect_type= 1

usb_detect_mode= 1

usb_id_gpio= port:PH16<0><1><default><default>

usb_det_vbus_gpio= port:PH17<0><1><default><default>

对于V1.2核心板中的两个引脚的配置如下:

v1.2对应软件

[smc]

smc_used= 1

smc_rst= port:PH13<5><default><default><default>

smc_det= port:PH16<5><default><default><default>

smc_sck= port:PH18<5><default><default><default>

smc_sda= port:PH19<5><default><default><default>

[usbc0]

usbc0_used= 1

usb_port_type= 2

usb_detect_type= 1

usb_detect_mode= 1

usb_id_gpio= port:PH21<0><1><default><default>

usb_det_vbus_gpio= port:PH17<0><1><default><default>

点击此处进入飞凌嵌入式官网>>,了解关于飞凌OKA40i-C核心板的更多信息。

END