ARM技术的Cortex-M3微处理器测试方法研究与实现
ofiling)以及各种跟踪机制。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芯片可执行代码,然后与激励向量和期望向量混合生成完整的AR 芯片测试向量。ARM芯片测试向量生成工具通过时间参数来确定测试代码。激励向量与期望向量之间的时序关系,ARM 芯片时间参数可从芯片手册中获得。测试向量生成后,通过BC3192 集成开发环境下载到测试系统图形卡中,启动测试程序,激励向量依序施加到被测ARM芯片的输入端口,同时对输出端进行监测比较获得测试结果。综上,测试向量的产生是ARM 芯片测试的核心,本文所述测试向量生成器通过输入ARM 芯片可执行代码和芯片时间参数来产生测试逻辑,具有易用。高效的特点,现已用于多个ARMCortex 内核微处理器的测试中。
3 结论
本文通过分析ARM Cortex-M3 内核的工作原理和跟踪调试方法,利用通用的ARM集成开发环境,结合BC3192V50 测试系统的测试向量生成器,能够快速高效产生基于ARMCortex-M3内核的微处理器测试向量,进而完成功能和直流参数测试。本案所述方法同样适于其他微处理器的测试。
- 嵌入式系统/ARM技术:嵌入式测试中数据获取的几种方式(06-06)
- arm技术中的异步传输模式ATM(12-05)
- 一种嵌入数字水印和ARM技术的门票防伪检测系统的实现(01-12)
- 基于CMSIS标准的Cortex-M3的应用软件开发(06-20)
- 基于μC/OS-II和TCP/IP协议的多串口服务器(08-23)
- μC/OS-II就绪表算法在Cortex-M3架构上的适配设计(01-22)