基于TFTP协议的嵌入式平台测试方法研究与运用
2021-09-18李海海陈晓轩刘心田
李海海,陈晓轩,刘心田,沈 悦
安全控制单元VCU(Vital Control Unit)是一套二取二架构的嵌入式实时安全平台[1],目前已经被广泛应用于铁路道岔控制单元、输入/输出控制单元、信号灯控制单元等系统[2]。这些系统的上层应用软件可以通过调用VCU 平台提供的接口进行二次开发,而整个系统的安全性、冗余性以及数据的正确读取则依靠VCU平台保证。
在对VCU 平台软件进行测试时,需要在源代码中插入大量的测试桩代码[3],如果采用固定桩代码,完成一个用例测试后就需要改变代码,关掉已执行的用例桩,打开新的用例桩代码,并重新编译和烧录,而编译和烧录过程比较耗时,严重影响测试效率[4],因此需要开发自动化测试平台[5-6]。
1 测试平台
1.1 测试平台结构
VCU 平台分为主安全控制单元(Master Vital Control Unit,MVCU)和从安全控制单元(Slaver Vital Control Unit,SVCU),MVCU 和 SVCU之间采用TFTP协议[7-10]进行通信。
测试平台框架如图1 所示,分为PC 端和嵌入式端。其中,MVCU 可以通过网线与PC 端相连,PC端通过TFTP协议发送命令给MVCU,由MVCU 执行相应的操作;PC 端向SVCU 嵌入式端发送命令时,由MVCU 嵌入式端将该命令转发至SVCU 嵌入式端[9]。

图1 测试平台框架
嵌入式端包含4 部分,分别为桩代码解析模块,解析上位机发送的命令;桩代码模块,用于用户自定义实现其所需功能;重启模块,接收PC 端重启命令,复位单个软件,实现软件的重新启动;配置&镜像更新模块,接收到配置和镜像文件后,写入内存,更新系统配置或者镜像。嵌入式端软件需要分别与MVCU 和SVCU 一起编译生成可执行文件,可执行文件运行后,测试平台嵌入式端跟随MVCU和SVCU软件运行。……
