历史上的今天
返回首页

历史上的今天

今天是:2025年01月12日(星期日)

2021年01月12日 | ARM Cortex-M3 微处理器测试方法研究与实现

2021-01-12 来源:21ic

0 引言


随着半导体技术的发展,集成电路制程工艺从深亚微米发展到纳米级,晶体管集成度的大幅提高使得芯片复杂度增加,单个芯片的功能越来越强。二十世纪90 年代ARM 公司成立于英国剑桥,主要出售芯片设计技术的授权。采用ARM 技术知识产权( IP 核)的微处理器,即ARM 微处理器,已遍及工业控制。消费类电子产 品。通信系统。网络系统。无线系统等各类产品市场,基于ARM 技术的微处理器应用约占据了32 位RISC 微处理器七成以上的市场份额。ARM 芯片的广泛应用和发展也给测试带来了挑战,集成电路测试一般采用实际速度下的功能测试,但半导体技术的发展使得测试开发工程资源按几何规律增长,自动测试 设备(ATE)的性能赶不上日益增加的器件I/O 速度的发展,同时也越来难以满足ARM 等微处理器测试所用的时序信号高分辨率要求,因而必须不断提高自动测试设备的性能,导致测试成本不断攀升。此外,因为ARM 芯片的复杂度越来越高,为对其进行功能测试,人工编写测试向量的工作量是极其巨大的,实际上一个ARM 芯片测试向量的手工编写工作量可能达到数十人年甚至更多。本文针对ARM Cortex 内核的工作原理,提出了一种高效的测试向量产生方法,并在BC3192 测试系统上实现了对ARM Cortex-M3内核微处理器的测试。


1 微处理器测试方法


集成电路测试主要包括功能测试和直流参数的测试,微处理器的测试也包括功能和直流参数测试两项内 容。微处理器包含丰富的指令集,而且微处理器种类繁多,不同微处理器之间很难有统一的测试规范。为了使测试具有通用性,我们有必要对微处理器的测试建立一 个统一的模型,如图1 所示。芯片测试系统为被测微处理器提供电源和时钟,并能够模拟微处理器的仿真通信接口来控制微处理器工作,同时配合仿真时序施加激励向量,从而达到测试目 的。

ARM Cortex-M3 微处理器测试方法研究与实现

按微处理器仿真通信接口大致分两类,一类是具有仿真接口(如JTAG)的微处理器,一类是没有仿真接口的微处理器,对于配备类似JTAG 接口的微处理器,测试仪通过仿真一个JTAG 接口对被测芯片进行功能或参数测试。没有配备仿真调试接口的芯片,可以根据芯片的外部接口和引导方式选择测试模型。


1.1 跟踪调试模式


大多数的微处理器都提供了跟踪调试接口,例如最常用的JTAG 接口,Cortex-M3 内核除了支持JTAG 调试外,还提供了专门的指令追踪单元(ITM)。JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1 兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如ARM、DSP、FPGA 器件等。标准的JTAG 接口是4 线:


TMS、TCK、TDI、TDO,分别为模式选择。时钟。数据输入和数据输出线。JTAG 最初是用来对芯片进行测试的,因此使用JTAG 接口测试微处理器具有很多优点。


用JTAG 接口对微处理器进行仿真测试,是通过测试系统用测试矢量模拟一个JTAG 接口实现对微处理器的仿真控制,其核心是状态机的模拟,图2 所示为测试系统使用的JTAG TAP 控制器的状态转换图。

测试系统使用的JTAG TAP 控制器的状态转换图

通过测试仪来模拟状态转换就可以实现JTAG 通信控制。


JTAG 在物理层和数据链路层具有统一的规范,但针对不同的芯片仿真测试协议可能略有差异。为了使测试模型具有通用性,我们对测试模型的JTAG 接口做了一个抽象层,如图3 所示。图中抽象层将类型多样的控制函数转化成芯片能识别的数据流来控制被测芯片的工作状态。

测试模型的JTAG 接口做了一个抽象层

1。2 引导模式/FLASH 编程模式


针对没有配备仿真调试接口的微处理器,可以利用引导功能实现对微处理器的测试。因没有配备仿真调试 功能,不能实现仿真测试。因此针对这一类的微处理器测试中,需要在芯片中加载测试代码。大多数的微处理器芯片都具有上电引导功能,可以利用引导功能将测试 代码加载到微处理器中,进而实现功能和直流参数测试。而对于内部配备FLASH 的微处理器可以先将测试代码下载到片内FLASH 中,以实现对微处理器的功能和参数测试。


为了实现对微处理器的测试控制,通常,测试系统利用微处理器的片上通信接口与片上测试程序通信,互相配合完成功能和参数测试。


2 ARM Cortex-M3 的测试


2.1 ARM Cortex-M3 内核简介


ARM Cortex-M 系列微处理器主要用于低成本和低功耗领域,如智能测量。人机接口设备。汽车和工业控制系统。大型家用电器。消费性产品和医疗器械等领域。图4 为Cortex-M 系列微处理器的简要框图。

Cortex-M 系列微处理器的简要框图

ARM Cortex-M3 内核搭载了若干种调试相关的特性。


最主要的就是程序执行控制,包括停机(halting)。单步执行(stepping)。指令断点。数据观察点。寄存器和存储器访 问。性能速写(profiling)以及各种跟踪机制。Cortex-M3 的调试系统基于ARM 最新的CoreSight 架构,虽然内核本身不再含有JTAG 接口,但是提供了调试访问接口(DAP)的总线接口。通过DAP 可以访问芯片的寄存器,也可以访问系统存储器,并且可以在内核运行的时候访问,这就对芯片的测试提供了接口支持。集成Cortex-M3 内核的微处理器一般提供一个调试端口(DP)与DAP 相连,目前可用的调试端口包括SWJ〥P,既支持传统的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 内核的微处理器测试向量,进而完成功能和直流参数测试。本案所述方法同样适于其他微处理器的测试。


推荐阅读

史海拾趣

Electronic Sensor + Resistor GmbH公司的发展小趣事

在ESR公司的发展历程中,技术突破是推动其不断前进的重要动力。公司投入大量资源用于研发,不断推出具有创新性和竞争力的新产品。其中,一款基于纳米技术的微型传感器成为市场上的明星产品,其高精度、低功耗和快速响应的特性受到了用户的广泛好评。

此外,ESR公司还注重与高校和研究机构的合作,共同开展前沿技术的研发。这种产学研合作模式不仅为公司带来了源源不断的技术创新,也为公司培养了一批高素质的研发人才。

Andersen Laboratories Inc公司的发展小趣事

为了更好地服务全球客户,AnalogicTech积极实施全球化运营策略。公司在亚洲和大中华地区建立了广泛的晶圆制造和后端合作伙伴网络,包括香港地区、上海和台湾地区的台北。此外,AnalogicTech还迁入香港科技园,将深圳地区纳入业务版图,提高在中国大陆的销售情况,特别是珠江三角洲地区。

Altera (Intel)公司的发展小趣事

为了更好地服务全球客户,AnalogicTech积极实施全球化运营策略。公司在亚洲和大中华地区建立了广泛的晶圆制造和后端合作伙伴网络,包括香港地区、上海和台湾地区的台北。此外,AnalogicTech还迁入香港科技园,将深圳地区纳入业务版图,提高在中国大陆的销售情况,特别是珠江三角洲地区。

Custom Mmic Design Services Inc公司的发展小趣事

近年来,随着电子行业的快速发展和市场竞争的加剧,CMDS也面临着诸多挑战。例如,原材料价格波动、人工成本上升、环保要求提高等都给公司的生产和经营带来了压力。然而,CMDS凭借其强大的技术实力和市场竞争力,积极应对这些挑战。通过优化生产流程、提高生产效率、加强成本管理等措施,CMDS不仅成功克服了这些困难,还实现了稳健的发展。同时,公司还注重环境保护和社会责任,积极推动可持续发展战略的实施。

Digilent公司的发展小趣事

在全球节能意识日益增强的背景下,DIALIGHT致力于推动绿色照明的发展。公司的LED产品具有高效节能、长寿命和环保等优点,有助于减少能源消耗和环境污染。此外,DIALIGHT还积极参与各种绿色照明项目,为推动可持续发展贡献自己的力量。

Holy Stone公司的发展小趣事

在追求业务发展的同时,Holy Stone始终注重品质提升和环境管理。公司陆续通过了ISO9001、ISO14001、QS9000、ISO/TS16949等国际认证,确保了产品的高品质和环保性。这些认证不仅提升了公司的品牌形象和市场竞争力,还为客户提供了更加可靠的产品和服务。此外,公司还积极履行社会责任,在环境治理、社会参与等方面做出了具体贡献。

问答坊 | AI 解惑

大家看看这两个波形的同步怎么产生?

大家帮帮我,其中三角波的频率是5KHz,梯形波是100个阶梯一个周期,上下对称,希望频率可调…

查看全部问答>

AT89C2051的频率计设计

前辈们好,我是在用 AT89C2051做个频率计 ,用定时器1做1秒定时,用定时器0用来当做计数器,我的输入信号是电平为 0.5V的正玄信号,请问这个信号能被检测出来吗?…

查看全部问答>

摄像机芯片组合(厂家内部资料)

为了提高广大技术员的摄像机识别能力,特把一些常见的芯片组合列出: 专业红外夜视摄像SONY产品型号及芯片组合   1、A4212SP/G4212SP/D4212SP:   芯片: CXD3141、CXD1267、CXA2096+ICX405; 2、A4512SP/G4512SP/D451 ...…

查看全部问答>

热烈慰问下考完研的兄弟姐妹们

今天考研就结束了,不管结果如何,很多人都可以暂时解脱了。 有个朋友辞了工作专门准备考研,EEWORLD一位同事的男朋友也在潜心考研,真的希望他们付出的能够有收获。…

查看全部问答>

内部资料-开关电源设计要领及设计全过程

内部资料-开关电源设计要领及设计全过程…

查看全部问答>

不明白+-*/的用法

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY dat2bcd ISPORT(CLK:IN STD_LOGIC;     DAT:IN STD_LOGIC_VECTOR(7 DOWNTO 0);     BCD ...…

查看全部问答>

关于热释电红外传感器re200b和BISS0001的问题

电路图如上,做的是一个人体检测报警器 有采用菲涅尔透镜,传感器焊在电路板上,透镜盖在上面 现在按照以上的电路及参数做了板子,具体情况如下: 1.有人时,输出重复跳变,每次输出“1”约10秒,输出“0”约0.5秒; 2.没人时,基本跟有人的 ...…

查看全部问答>

搞嵌入式,但是不学模电。可不可以?

想搞偏软的嵌入式,比如写启动代码,linux驱动,Qt。数电学过。模电没学好。不知道会不会影响发展?…

查看全部问答>

给我推荐几本你们觉得很不错的书好不好呢

我想学驱动开发 windows和linux的都想学 但是我现在什么都不知道 也不知道怎么去学习 希望各位前辈能介绍介绍你们觉得不错的书籍 或者介绍一下你们学习的经验啊 希望你们能抽点时间帮帮我 麻烦你们了…

查看全部问答>

基于LM3Sx9xx(With Net)的带RJ45接口的核心模块

本核心模块是基于LM3S6911\\6916\\8962及其引脚兼容芯片而设计,核心电路及网络接口(RJ45)已全部集成到模块之上,并将芯片GPIO及电源引脚引出; 模块采用双侧双排针对外连接而出,各排针间为标准2.54或2.54的整数倍间距,方便嵌入到各类板上应用,以增加 ...…

查看全部问答>