全志T3开发板(4核ARM Cortex-A7)测评合集——从开发板到PLC

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

本次测试板卡是创龙科技旗下,一款基于全志科技T3处理器设计的4核ARM Cortex-A7高性能低功耗国产评估板,每核主频高达1.2GHz。评估板接口资源丰富,引出双路网口、双路CAN、双路USB、双路RS485等通信接口,板载Bluetooth、WIFI、4G(选配)模块,同时引出MIPI LCD、LVDS LCD、TFT LCD、CVBS OUT、CAMERA、LINE IN、H/P OUT等音视频多媒体接口,支持双屏异显、1080P@45fps H.264视频硬件编解码,并支持SATA大容量存储接口。

以下是测评用户编写的测评内容,欢迎阅读:

同事电话让我测试一块开发板,评测是其喜欢的活动,极客最爱评测!这次因为公共因素,就让我帮忙测试。

在这里首先感谢创龙和EEWolrd提供的测试机会,同时感谢创龙厂家和技术给与的资源和帮助,我也希望我的困惑和解决方法可以帮助其他使用这块板卡的开发者们少走点弯路。再次感谢EEWorld支撑的这个平台生态,我常年混迹其中,长期潜水,从不发帖,这次发帖如果有什么不妥,希望大家海涵。(先写了一个文档,后来才知道需要发帖,里面的图片如果不清楚可以给我说)

1. 前言

创龙的板卡第一次接触,做工不错,接口也很齐全,说明文档这几天看下来也够用,技术支持回复很及时。本来不想做开箱评测的,同事说作为工业板卡,和我们过往开发和使用过的工业级的板卡对比还是可行的,郁闷了,我这没有测试测试仪器仪表,怎么评价!不成后面补充一篇开箱评测就可以了。这个开发板是10月中收到的,因为通过百度云下载的相关开发资料比较大,整个板卡测试开始的时间就到这几天了。这两个帖子测试过程中,我只使用了开发板和电源。

首先明确我已经过了硬件性能为王的岁数,一个开发板卡的好坏与否,我依据以下的几个标准:

  1. 开发平台易于搭建
  2. 库支持程度和编译器的兼容性
  3. 技术支持态度、水平和响应时间

其他的如多少个io,多少总线支持,这些在具体应用时候才会考虑,比如这次移植做个PLC AI视频集成的东西,也用不到IO。如果厂家宣扬开发板串口有特点,挺骇人听闻的技术点。再比如工业的各种EMC测试,我们只能依靠厂家的测试报告,所以我的任务就是确定用这个板卡是否可以很容易的进行嵌入式开发,或者通过我的测试帮助其他人减少搭建开发环境的时间。如果时间够用,在移植第三方库或者PLC开发中看看整体开发环境的兼容性。

2. 开发目标

我也不知道这个板卡具体能留我手中多久,但是我还是列了一个开发明细,作为整个板卡的评测流程。整个评测的最终目标是完成一个PLC的移植和运行,只要保证整个控制器跑起来就可以了。可能需要解决的问题包括控制器开发、IO开发、i2c或者spi、网络开发(冗余不做)、设备端人机界面不做。如果把hmi部分算上,这个TLT3-EVM的接口应该都可以用到了。评测报告我争取随开发进度完成,我会尽力完成这个开发评测。如果设备够并且厂家允许,破坏性测试也试一下(狗头)。

3. 产品简介

这部分我抄写评估版规格书,主要方便大家知道规格参数。

创龙科技 TLT3-EVM 是一款基于全志科技 T3 处理器设计的 4 核 ARM Cortex-A7 国产工业评估板,每核主频高达 1.2GHz,由核心板和评估底板组成。核心板 CPU、ROM、RAM、电源、晶振等所有器件均采用国产工业级方案,国产化率 100%。同时,评估底板大部分元器件亦采用国产工业级方案。核心板经过专业的 PCB Layout 和高低温测试验证,稳定可靠,可满足各种工业应用环境。

评估板接口资源丰富,引出双路网口、双路 CAN、双路 USB、双路 RS485 等通信接口,板载 Bluetooth、WIFI、4G(选配)模块,同时引出 MIPI LCD、LVDS LCD、TFT LCD、CVBS OUT、CAMERA、LINE IN、H/P OUT 等音视频多媒体接口,支持双屏异显、Mali400 MP2 GPU、1080P@45fps H.264 视频硬件编解码,并支持 SATA 大容量存储接口,方便用户快速进行产品方案评估与技术预研。

图 TLT3-EVM 板卡

4. 本节目标

  1. 开发环境的搭建
  2. 用最新的ubuntu看看可以搭建开发环境
  3. 用QT进行远程调试环境的搭建

5.检查Linux版本

使用 cat /etc/issue 查看信息如下,这应该是全志自己的linux版本。

6.开发环境的搭建(Ubuntu18)

我先从官方技术支持处申请了一个虚拟机,直接按官方提供的linux应用开发手册的过程进行编译和运行,已经可用编译程序了。我最终还是选择手撸一遍开发环境的搭建。

搭建虚拟机和解压SDK

  1. 先下载一个ubuntu,这里使用的是18.04.6,下载地址 https://releases.ubuntu.com/18.04/ubuntu-18.04.6-desktop-amd64.iso
  2. 在vmware里面安装ubuntu的操作,这里不罗列了。
  3. 开发环境安装:(这里使用的用户名是test3)
  4. 建立虚拟机共享,用于共享安装文件包,这些文件包在光盘或者网盘上,我这里使用的U盘挂载,虚拟机中使用U盘比较方便一点,不需要配置什么。

在创龙资料盘里面TLT3-EVM_V1.44-软件资料LinuxLinuxSDK,存放的就是我们下面需要SDK文件。可以通过U盘拷贝到虚拟机的/home/test3/T3目录下

输入命令如下:

代码语言:javascript复制
mkdir /home/test3/T3
tar -zxvf LinuxSDK_14_24_15_16.tar.gz -C /home/test3/T3

等待一会,解压完成后在/home/test/T3看见解压包的内容

安装开发工具

在T3目录运行install-tools.sh,需要选择的时候直接回车即可。

这里将会安装SDK需要的环境。下面是我们真正的配置开发环境的步骤。

配置编译环境

在lichee 目录运行./build.sh config 这里我选择hdmi做视频输出。

代码语言:javascript复制
test3@ubuntu:~/T3/lichee$ ./build.sh config
Welcome to mkscript setup progress
All available chips:
   0. sun8iw11p1
Choice: 0
All available platforms:
   0. linux
Choice: 0
All available kernel:
   0. linux-3.10
Choice: 0
All available boards:
   0. t3-mp1
   1. t3-p1
   2. t3-p2
   3. t3-p3
   4. tlt3_a40i-evm
Choice: 4
All available rootfs:
  0. buildroot 
  1. buildroot-201611 
  2. debian_fs 
Choice: 1
select buildroot-201611
All available float:
  0. gnueabi 
  1. gnueabihf 
Choice: 1
select gnueabihf
All available qt version:
  0. 5.9.0 
  1. 5.9.7 
Choice: 0
select 5.9.0
All available output configs:
   0. hdmi
   1. vga
   2. lvds_lcd
   3. mipi_lcd
   4. tft_lcd
Choice: 0
All available output configs:
   0. t3
   1. a40i
Choice: 0
create misc_config gnueabihf
test3@ubuntu:~/T3/lichee$ 

输入为0、0、0、4、1、1、0、0、0,

配置编译环境2——编译Uboot

在u-boot-2015.07目录,清理目录后重新配置SPL编译选项

代码语言:javascript复制
test3@ubuntu:~/T3/lichee$ cd brandy/u-boot-2014.07/
test3@ubuntu:~/T3/lichee/brandy/u-boot-2014.07$ make distclean
test3@ubuntu:~/T3/lichee/brandy/u-boot-2014.07$ make sun8iw11p1_config
Configuring for sun8iw11p1 - Board: sun8iw11p1, Options: SUN8IW11P1

然后执行make spl进行编译

编译完成后,生成 SPL 镜像文件"tools/pack/chips/sun8iw11p1/bin/boot0_sdcard_sun8iw11p1.bin",该文件需转化为.fex 格式后使用。(这句话抄资料的,现在的活还没有到烧卡运行那步)

Boot编译,在u-boot-2014.07 目录运行make -j8 ,开始uboot编译,编译完成后,生成 U-Boot 镜像文件"tools/pack/chips/sun8iw11p1/bin/u-boot-sun8iw11p1.bin",该文件需转化为.fex 格式后使用

代码语言:javascript复制
make -j8

编译SDK执行下列命令

代码语言:javascript复制
cd ../../linux-3.10/
make distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- sun8iw11p1smp_defconfig

执行如下命令,配置内核选项。根据"arch/arm/configs/sun8iw11p1smp_defconfig"文件进行内核编译配置,并保存配置信息至当前目录.config 文件中

如果需要配置实时内核,参看看厂家手册——Linux系统使用手册(P16页,和树莓派之类的方法是一样的)

执行一下命令,配置系统环境

代码语言:javascript复制
cd ../buildroot-201611/ 
make clean 
make sun8iw11p1_hf_defconfig

配置内核选项

代码语言:javascript复制
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-sun8iw11p1smp_defconfig

进入 lichee 目录,执行如下命令,一键编译 Linux 内核、内核模块、设备树文件和buildroot 文件系统。执行当前命令不会进行 Qt 编译,编译生成的 buildroot 文件系统镜像比较精简,未支持 Qt 功能。)

代码语言:javascript复制
cd .. 
./build.sh

编译时间要由CPU和硬盘速度决定,如果用老机器,估计两个小时都有可能。这一步是生成 Linux 内核、内核模块、设备树文件和 buildroot 文件系统镜像文件,镜像文件需转化为.fex 格式后使用。

最后检查在out/sun8iw11p1/linux/common目录下生产boot.img文件

目录在linux-3.10/output/lib/modules/3.10.65-rt69/

文件linux-3.10/arch/arm/boot/dts/tlt3_a40i-evm.dtb

文件out/sun8iw11p1/linux/common/rootfs.ext4

到这一步已经可用进行console程序开发了。

我们在Dmo目录下例子led_flase/src运行

代码语言:javascript复制
CC=/home/tronlong/T3/lichee/out/sun8iw11p1/linux/common/buildroot/host/usr/bin/arm-linux-gnueabihf-gcc make

编译完成后,我们使用scp led_flash root@192.168.99.98:/root/ 把编译的结果发送到开发版的root目录下。

代码语言:javascript复制
scp led_flash root@192.168.99.98:/root/ 

使用sshroot@192.168.99.98 登录开发版,在root目录下,使用chmod x led_flash给文件添加权限。使用led_flash -n 1或者led_flash -n 2 就可以看到开发版的灯进行闪速了。

代码语言:javascript复制
chmod   x led_flash    
led_flash -n 1

这部分就是测试目标1中的开发环境按说明书的方法搭建,到现在为止,都没有问题。如果有任何问题,可以用sudo再运行一次。

7.开发环境的搭建(Ubuntu22 & Debian sid)

在最新版的的ubuntu 22根据上述顺序进行搭建,编译sdk时候提示错误应该是版本太低的缘故,具体适配可能需要厂家支持,Debian也是类似问题。

后续可能试一下在wsl里面的效果。

★ 在整个流程中,如果有任何编译问题,可以在sudo下再次运行,看结果是否可以顺利完成

0 人点赞