第一章 前言
温馨提示:本文共10111字,预计阅读时间26分钟。
之前说过要开源100ASK_IMX6ULL批量测试GUI: 100ask_imx6ull批量测试神器即将开源 ,今天说到做到免费开源出来。除了文档,后续还会录视频;
我还没有录完驱动入门、应用程序入门,在录完这2部分入门知识之后,我才开始讲解项目开发。
但是有很多同学急需一个能上手的项目,有些是用来刷经验,有些是在工作中就要用到。所以我先写一下文档,这个文档里,不讲代码,只讲操作;看得懂的人就看,看不懂的人就等视频。
本文档适合有不错基础的学员,不适合新手;欢迎同行借鉴本套GUI系统拿去批量生产,也算是韦东山老师对行业的一点贡献;
本文档讲解一个实际的项目:电子产品量产测试与烧写工具。这是一套软件,用在我们的实际生产中,有如下特点:
① 简单易用:
把这套软件烧写在SD卡上,插到IMX6ULL板子里并启动,它就会自动开始测试各个模块、烧写EMMC系统。
工人只要按照说明接入几个模块,就可以完成整个测试过程。
测试结果一目了然:等LCD上所有模块的图标都变绿时,就表示测试通过。
② 软件可配置、易扩展:
通过配置文件添加测试项,可以添加不限个数的测试项。
每个测试项有自己的测试程序,测试通过后把结果发送给GUI即可。各个测试程序互不影响。
③ 纯C语言编程
下图是这个工具的界面,它可以一边测试一边烧写:
上图中的led、speaker按钮,可以点击:
① 当你看到LED闪烁时,就点击led按钮,它变成绿色表示测试通过;
② 当你从耳机里听到声音时,就点击speaker按钮,它变成绿色表示测试通过。
其他按钮无法点击,接上对应模块后会自动测试,测试通过时图标就会变绿。
上图中的蓝色按钮表示烧写EMMC的进度,烧写成功后它也会变绿。
LCD上所有图标都变绿时,就表示测试、烧写全部完成;某项保持红色的话,就表示对应模块测试失败。
第2章 文件获取与制作
1.1 下载文件
使用GIT下载代码,如下所示:
$ git clone https://e.coding.net/weidongshan/01_all_series_quickstart.git
执行上述命令后,可以得到一个“01_all_series_quickstart”目录,本文的文件位于如下目录中:
1.2 文件说明
上图中,
app目录下是源代码;
image下是映像文件的下载方法,由于GIT对文件大小有限制,而映像文件太大了,所以另存在网盘中;
scripts_and_executable目录下是配置文件、脚本、编译好的可执行程序;
tools目录下是一些运行于Ubuntu的工具。
1.2.1 app目录
这个目录下有如下内容:
① test_gui:
GUI界面程序,它用于显示测试、烧写界面。
② detect_dev:
这只是一个简单的发送网络信息的程序,比如要向GUI程序发送信息时,可以执行以下命令,它表示AP3216C模块测试通过了:
detect_dev 127.0.0.1 "ap3216c ok"
③ dd.c:
这是修改过的dd命令,可以打印dd执行的进度,我们使用dd命令烧写EMMC,从它的输出获得烧写进度,然后把进度发送给GUI。
④ serial_test.c:
它用来测试串口,向串口发送“uname”命令,如果能读回“linux”字符,就表示串口正常。
⑤ 其他库文件:
freetype-2.4.10.tar.bz2:矢量字符库
tslib-1.21.tar.bz2:触摸屏库
1.2.2 scripts_and_executable目录
这个目录有如下内容:
① etc_test_gui子目录:
里面的内容要放到板子的/etc/test_gui目录,里面有2个文件:配置文件gui.conf、字体文件simsun.ttc。
test_gui程序根据配置文件gui.conf来生成界面,配置文件示例如下:
# name can_be_pressed commandled 1speaker 1record 0key1 0key2 0ap32