本次测试板卡是创龙科技旗下,一款基于全志科技A40i开发板,其接口资源丰富,可引出双路网口、双路CAN、双路USB、双路RS485等通信接口,板载Bluetooth、WIFI、4G(选配)模块,同时引出MIPI LCD、LVDS LCD、TFT LCD、HDMI OUT、CVBS OUT、CAMERA、LINE IN、H/P OUT等音视频多媒体接口,支持双屏异显、1080P@45fps H.264视频硬件编码、1080P@60fps H.264视频硬件解码,并支持SATA大容量存储接口。
以下是测评用户编写的测评内容,欢迎阅读:
前言
对于一款工控板,我们一般会考虑二次开发的便捷性,以及开发环境的友好度,以及相关资料的完备性。
本次我们就着手体验下最常见的C和Python的开发。
安装LinuxSDK
将光盘中的
LinuxSDK_14_23_15_15.tar.part1
LinuxSDK_14_23_15_15.tar.part2
LinuxSDK_14_23_15_15.tar.part3
放在一起解压得到
LinuxSDK_14_23_15_15.tar/LinuxSDK_14_23_15_15.tar.gz
进入WSL的工作目录
tar -xvf /mnt/d/BOARD/A40i/CD/LinuxSDK/LinuxSDK_14_23_15_15.tar/LinuxSDK_14_23_15_15.tar.gz -C .
解压到WSL中。
sudo apt install tree
查看文件夹文件如下
lhj@lhj:~$ tree lichee/ -L 1
lichee/
|-- brandy
|-- build.sh
|-- buildroot-201611
|-- comp_qtLib-590_only.sh
|-- install-tools.sh
|-- linux-3.10
`-- tools
4 directories, 3 files
安装依赖
cd lichee/
./install-tools.sh
弹出如下界面选择NO
E: Unable to locate package libncurses5-dev:i386
E: Unable to locate package libx11-dev:i386
E: Unable to locate package libreadline6-dev:i386
E: Unable to locate package libgl1-mesa-glx:i386
E: Unable to locate package mingw32
E: Unable to locate package zlib1g-dev:i386
ln: failed to create symbolic link '/usr/lib/i386-linux-gnu/libGL.so': No such file or directory
sudo dpkg --add-architecture i386
sudo apt-get update
重新./install-tools.sh
./build.sh config
选择如下
0. sun8iw11p1
0. linux
0. linux-3.10
4. tlt3_a40i-evm
1. buildroot-201611
1. gnueabihf
0. 5.9.0
0. hdmi
1. a40i
sudo apt-get install g -arm-linux-gnueabi
cd ../../linux-3.10/
make distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- sun8iw11p1smp_defconfig
cd ../buildroot-201611/
make clean
make sun8iw11p1_hf_defconfig
./comp_qtLib-590_only.sh
生成qt开发环境
Python开发
查看python版本
root@T3/A40i-Tronlong:~# python --version
Python 2.7.13
LED
导入测试程序
4-软件资料Demopython-demosled_flashled_flash.py
chmod x ./led_flash.py
./led_flash.py
root@T3/A40i-Tronlong:~# ./led_flash.py
find leds:
/sys/class/leds/user-led0
/sys/class/leds/user-led1
flash led ...
可以看到LED1和LED2闪烁
KEY
导入
4-软件资料Demopython-demosled_flashkey_test.py
chmod x key_test.py
./key_test.py -d /dev/input/event1
分别按KEY3和KEY4
打印如下
root@T3/A40i-Tronlong:~# ./key_test.py -d /dev/input/event1
Please press the key to test.
User key0 pressed!
User key1 pressed!
C开发
sudo apt-get install gcc-arm-linux-gnueabihf
GCC交叉编译器位于lichee/out/sun8iw11p1/linux/common/buildroot/host/usr/bin
LED
代码位于4-软件资料Demobase-demosled_flashsrcled_flash.c
将代码导入到
WSL下
编译
lichee/out/sun8iw11p1/linux/common/buildroot/host/usr/bin/arm-linux-gnueabihf-gcc led_flash.c -o led_flash
将led_flash导入到Windows下,再导入到开发板
chmod x led_flash
./led_flash -n 2
打印如下
root@T3/A40i-Tronlong:~# ./led_flash -n 2
System leds :
/sys/class/leds/disk
/sys/class/leds/heartbeat
/sys/class/leds/user-led0
/sys/class/leds/user-led1
Flashing leds :
/sys/class/leds/user-led0
/sys/class/leds/user-led1
可以看到LED1和LED2一起闪烁。
KEY
代码位于4-软件资料Demobase-demoskey_testsrckey_test.c
将代码导入到
WSL下
编译
lichee/out/sun8iw11p1/linux/common/buildroot/host/usr/bin/arm-linux-gnueabihf-gcc key_test.c -o key_test
将key_test导入到Windows下,再导入到开发板
chmod x led_flash
./key_test -d /dev/input/event1
按键KEY3和KEY4分别打印如下
root@T3/A40i-Tronlong:~# ./key_test -d /dev/input/event1
Please press the key to test.
Key user0 pressed!
Key user1 pressed!
LCD
代码位于4-软件资料Demobase-demoslcd_testsrclcd_test.c
将代码导入到
WSL下
编译
lichee/out/sun8iw11p1/linux/common/buildroot/host/usr/bin/arm-linux-gnueabihf-gcc lcd
_test.c -o lcd_test
将lcd_test导入到Windows下,再导入到开发板
chmod x lcd_flash
./lcd_test
打印如下
root@T3/A40i-Tronlong:~# ./lcd_test
Actual backlight is: 0
1920x1080, 32bpp
显示器显示彩色条带
总结
板载Python运行环境,所以可以直接进行Python脚本开发,这在一些轻量级开发时非常便捷高效。
对于C应用开发可以直接基于Linux主机,安装gcc-arm-linux-gnueabihf即可交叉编译开发,也比较方便。
官方提供的资料也比较齐全,5张光盘的开发资料,资料比较完备。
只有需要进行系统或者Qt开发时才需要安装LinuxSDK环境。前面的安装过程比较繁琐也可能某些原因失败,所以下一次我们直接使用官方的虚拟机镜像进行开发,并进行Qt开发的体验。C和Python开发体验