ARM Cortex-M3微处理器测试方法研究与实现
测量。人机接口设备。汽车和工业控制系统。大型家用电器。消费性产品和医疗器械等领域。图4 为Cortex-M 系列微处理器的简要框图。
ARM Cortex-M3 内核搭载了若干种调试相关的特性。
最主要的就是程序执行控制,包括停机(halting)。单步执行(stepping)。指令断点。数据观察点。寄存器和存储器访问。性能速写(profiling)以及各种跟踪机制.Cortex-M3 的调试系统基于ARM 最新的CoreSight 架构,虽然内核本身不再含有JTAG 接口,但是提供了调试访问接口(DAP)的总线接口。通过DAP 可以访问芯片的寄存器,也可以访问系统存储器,并且可以在内核运行的时候访问,这就对芯片的测试提供了接口支持。集成Cortex-M3 内核的微处理器一般提供一个调试端口(DP)与DAP 相连,目前可用的调试端口包括SWJ‐DP,既支持传统的JTAG 调试,也支持新的串行线调试协议.Cortex-M3 内核还能挂载一个嵌入式跟踪宏单元(ETM).ETM 可以不断地发出跟踪信息,这些信息通过跟踪端口接口单元(TPIU)送到内核的外部,对于外部集成再跟踪信息分析仪的ARM 芯片,可把TIPU 输出的已执行指令信息捕捉到,并且送给芯片测试系统。
2.2 测试向量生成
用自动测试设备(ATE)测试ARM 芯片是一种传统的测试技术,其优点是可以灵活编制测试向量,专注于应用相关的功能模块和参数。但是由于ARM 芯片的功能与应用有相当的复杂性,因此对测试系统所具有的能力也要求较高。这就要求测试设备本身必须要具备测试各种不同功能模块的能力,包含对逻辑。模拟。内存。高速或高频电路的测试能力等等。同时测试系统最好是每个测试通道都有自己的独立测试能力,避免采用资源共享的方式,以便能够灵活运用在各种不同的测试功能上。所以常规的ARM 芯片测试设备往往要求相当高的配置才能应对测试需求。
测试的含义非常广泛,就ARM 芯片测试而言,可以定义多种类型的测试,不同类型的测试需要产生不同类型的测试向量。而测试向量生成的方法,虽然可以人工编制,但多数情况需要由测试向量生成工具(ATPG)生成,才能产生比较完备的测试集。本文介绍的ARM 芯片测试方法,借助对应的ARM 芯片开发工具产生测试代码,再由专用的测试向量生成工具生成测试向量。这种方法的优点是能针对ARM 芯片应用开发人员关心的测试集合产生测试向量,因而比较高效,测试成本也能控制在比较低的水平上。此外,可以借助大量的ARM 芯片应用软件来转码,能大幅减少工作量。缺点是不容易用算法来实现自动生成完备的测试代码。
图5 为ARM 芯片测试向量生成器。测试代码一般可以从ARM 芯片开发例程中获得,测试向量通过编译器编译成ARM 芯片可执行代码,然后与激励向量和期望向量混合生成完整的ARM 芯片测试向量.ARM 芯片测试向量生成工具通过时间参数来确定测试代码。激励向量与期望向量之间的时序关系,ARM 芯片时间参数可从芯片手册中获得。测试向量生成后,通过BC3192 集成开发环境下载到测试系统图形卡中,启动测试程序,激励向量依序施加到被测ARM 芯片的输入端口,同时对输出端进行监测比较获得测试结果。综上,测试向量的产生是ARM 芯片测试的核心,本文所述测试向量生成器通过输入ARM 芯片可执行代码和芯片时间参数来产生测试逻辑,具有易用。高效的特点,现已用于多个ARMCortex 内核微处理器的测试中。
3 结论
本文通过分析ARM Cortex-M3 内核的工作原理和跟踪调试方法,利用通用的ARM 集成开发环境,结合BC3192V50 测试系统的测试向量生成器,能够快速高效产生基于ARM Cortex-M3 内核的微处理器测试向量,进而完成功能和直流参数测试。本案所述方法同样适于其他微处理器的测试.
- 采用Cortex-M3单片机设计的WiFi物联网小车(10-27)
- 你不得不知的Cortex-M3和M4微控制器使用秘诀(07-01)
- Cortex M3的SRAM单元故障软件的自检测研究(06-29)
- 低成本ARM 32位MCU,开发人员面临的两种选择(04-28)
- 自己动手用Cortex-M3与ADXL345做个重力感应遥控器(02-22)
- ARM Cortex M3/M4微控制器最大效率设计三秘诀(04-12)