关键词:
智能车路系统
网络化嵌入式软件
硬件辅助追踪
测试平台
摘要:
新型传感器、嵌入式计算设备以及无线通信技术的发展,使得移动环境下基于实时感知、传输与控制技术的智能车路系统成为可能。智能车路系统由多个路侧单元与车载单元组成,这些单元通常又包含了多个具有感知、计算与通信能力的模块。这些模块通过相互协作完成系统的特定功能,而网络化嵌入式软件则是实现模块协作的关键。由于这类系统本身在实时、可靠与安全性方面有较高要求,因此在开发设计阶段对这些软件进行充分的测试与评价显得尤为重要。静态测试具有一定的局限性,无法捕获所有运行中的问题。传统基于日志文件、串口输出、GPIO编码等动态测试手段,受嵌入式系统资源以及应用实时性方面的约束,也无法很好的满足智能车路系统网络化嵌入式软件的测试需求。硬件辅助追踪是一种借助通用内核调试单元的程序追踪技术,能够在不依赖操作系统与应用程序的前提下,实现非侵入式软件分析追踪。硬件辅助追踪技术能够有效满足智能车路系统网络化嵌入式软件调试需求同时解决调试问题。本文首次提出将硬件辅助追踪技术应用于网络化嵌入式软件测试,并用该方法设计实现了一种智能车路系统网络化嵌入式软件测试平台;首先介绍了智能车路系统特点及其网络化嵌入式软件调试需求,详细分析了嵌入式常用追踪调试技术,并对硬件辅助追踪技术进行了深入研究;随后针对智能车路嵌入式软件调试需求,开展基于硬件辅助追踪技术的网络化测试平台方案设计与实现,完成了测试平台功能、结构、软硬件设计与测试验证。本文的主要工作创新点如下:(1)测试平台方案设计与实现。在深入研究嵌入式常用追踪调试手段与硬件辅助追踪技术的基础上,设计测试平台由观察者、控制器、被测目标三层结构框架组成,可实现网络级远程调试、灵活的软件追踪与非侵入式软件分析三大功能。其中控制器为高性能服务器,被测目标为智能车路系统中运行网络化嵌入式软件的MCU(具备Cortex M3/M4处理器核心),观察者为分布式结构,不同观察者时间相互同步,单个观察者硬件由树莓派3B+、便携式逻辑分析仪、FT2232HL转接板等部件组成。针对测试平台功能、结构与测试需求:提出高精度追踪轨迹同步方法,方法通过GPIO翻转同步内外时间戳辅以NTP协议同步观察者时钟实现,既关联被测目标追踪数据内外时间戳,也令追踪数据与真实事件保持时间对齐;同时编写基于libusb与wiring Pi库的追踪信号采集程序和python自动化测试脚本。(2)测试平台基准性能测试。使用裸机与Free RTOS操作系统下的标准例程,从代码覆盖率、时间/功耗开销与时间精度三个方面对测试平台进行基准性能测试。最终测试结果显示,在保障程序真实运行场景,不特别优化覆盖信息收集方法,追踪信号8MHz速率以及512时钟节拍的PC采样周期等条件下,本测试平台既能缩短覆盖率测试时间周期且语句、函数与基本块覆盖率可达72%、91%与59%;同时得益于硬件辅助追踪单元,本测试平台能在几乎不改变被测目标运行功耗(ITM仅1.5%)与时间(ITM无开销)的前提下,提供微秒级时间精度的分析结果。本测试平台在进行非侵入测试的同时性能优秀、部署快捷。(3)典型智能车路系统网络化嵌入式软件实例构建与测试。从实际出发,设计、构建了由路侧节点、车载通信节点与控制节点组成的典型实例,实例基于Free RTOS与RIOT-OS嵌入式操作系统;其中路侧节点完成传感器信息收集与Wi-Fi发送;车载通信节点位于模拟车辆上,负责传感器信息Wi-Fi接收与CAN网络发送;控制节点同样位于模拟车辆上,负责传感器信息CAN网络接收与传感器信息驱动的PWM有限状态机控制。针对该实例从通信事件时序、PWM控制有限状态机与路侧节点传感网三个方面开展测试。对Free RTOS系统环境下Wi-Fi与CAN网络通信过程进行详细分析,给出微秒级时序测试结果;对PWM控制有限状态机进行状态转换追踪记录,并与理论值比对;对gnrc_networking网络ping6指令进行高精度时间特性分析,及其底层gnrc协议栈UDP通信过程函数覆盖与基本块覆盖的评估。实例分析表明,借助硬件辅助追踪技术,本测试平台可对被测系统开展高效、充分的测试与评价。