全志A40i开发板(4核ARM CortexA7)测评——C和Python开发体验

2022-10-28 11:03:27 浏览数 (1)

本次测试板卡是创龙科技旗下,一款基于全志科技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开发体验

0 人点赞