嵌入式系统中的JTAG接口编程技术
发布时间:2008/5/27 0:00:00 访问次数:1031
摘要:分析发嵌入式系统开发中常用的三种芯片编程方法,介绍了jtag接口的标准,工作原理及在芯片中的实现,根据jtag接口所提供的边界扫描功能 ,通过pc机并行接口模拟jtag接口的时序,实现了使用目标系统中微处理器的jtag接口对系统程序存储器flash的编程。 关键词:嵌入式系统jtag(joint test action group)联合测试行为组织 编程器strongarm手持设备 随着手持式电子设备的迅猛发展,手机,pda、掌上电脑,电子书和数码相机等正在快步走进人们的日常生活,这一类电子产品同属于嵌入式系统的范畴,都是以高性能的微机处理器为核心扩展相应的应用程序,实现电子设备的各种功能。由于是手持设备,因而要求体积小、重量轻,耗电少,这些特点决定了设备内部的印刷板的尺寸比常规的电子设备小的多,而且元器件密度大,双面贴装。这给设计人员带来了若干问题,如操作系统代码和应用程序的写入,板上芯片的测试等。本文作者结合实际工作,就嵌入式系统中如何通过jtag接口进行flash芯片编程作了探讨。 1 几种常用字芯片编程方法 在嵌入式系统开发和产品生产过程中,对系统程序存储器编程主要使用三种编程方法,通过编程器编程、使用板上编程器编程和在系统编程。 1.1 通过编程器编程 这是在prom、eprom、pql等芯片游行时常用的编程方法。即在可编程芯片焊装到电路板之前,使用专门的编程器对芯片进行代码或数据的写入,然后将已编程的芯片安装到电路板上。 使用编程器编程特别适用于dip封装的芯片。如是是其它类型的封装,则必须使用相应的适配器。这种方法的缺点滴是零要手工进行待编程芯片的插入,锁定等工作,容易造成芯片的方向错误、引脚错位等,导致编程效率降低。 1.2 使用板上编程器编程 (obp) 这种方法是在电路板上所有的芯片都已经焊接完毕后,再对电路板上的可编程芯片进行编程。通过专用电缆将电路板与外部计算机连接,由于计算机的应用程序进行板上可编程芯片的代码或数据写入。芯片擦除编程所需用的电源、控制信号、地址、数据和相关的命令都由板外的编程控制器提供,在进行板上编程时,需要通过专门的辅助电路关断目标板上cpu的电源或将其外部接口信号设置为高阻状态,以免与编程时的地址、数据和控制信号发生冲突。 在板上编程可以克服芯片引脚错位,方向插反等问题,避免烧毁芯片,编程错误,保证了芯片编程的高成功率和可靠性。另一个优点就是及时软件升级,可以做到在产品出厂之时系统使用最新版本的固化软件。这对于日新月异的手持电子设备而言是必须的。 这种方法的缺点是需要在电路板上设计编程用的接口、隔离等辅助电路,在编程时通过跳线或fet开关时进编程与正常工作的状态转换。这样会增加每个电路板芯片的数量,造成产品成本的增加。 1.3 在系统编程(isp、isw) 这种方法直接利用系统中带有jtag接口的器件,如cpu、cpld、fpga等,执行对系统程序存储芯片的内容和擦除和编程操作。一般而言,高档的微处理器都带有jtag接口,系统程存储器的数据总线,地址总线和控制接口直接接在微处理器上。编程时,使用pc机内插卡或并行的接口通过专用电缆将系统电路板与pc机联系起来,在pc机上运行相关的程序,将编程数据及控制信号传送到jtag接口的芯片上,利用相应的指令从微处理器的引脚按照flash芯片的编程时序输出到flash存储器。 这种编程方法的条件是系统中必须存在带有jtag接口或与之兼容的芯片如微处理器。优点是系统板上不需要增加其它于编程有关的辅助
摘要:分析发嵌入式系统开发中常用的三种芯片编程方法,介绍了jtag接口的标准,工作原理及在芯片中的实现,根据jtag接口所提供的边界扫描功能 ,通过pc机并行接口模拟jtag接口的时序,实现了使用目标系统中微处理器的jtag接口对系统程序存储器flash的编程。 关键词:嵌入式系统jtag(joint test action group)联合测试行为组织 编程器strongarm手持设备 随着手持式电子设备的迅猛发展,手机,pda、掌上电脑,电子书和数码相机等正在快步走进人们的日常生活,这一类电子产品同属于嵌入式系统的范畴,都是以高性能的微机处理器为核心扩展相应的应用程序,实现电子设备的各种功能。由于是手持设备,因而要求体积小、重量轻,耗电少,这些特点决定了设备内部的印刷板的尺寸比常规的电子设备小的多,而且元器件密度大,双面贴装。这给设计人员带来了若干问题,如操作系统代码和应用程序的写入,板上芯片的测试等。本文作者结合实际工作,就嵌入式系统中如何通过jtag接口进行flash芯片编程作了探讨。 1 几种常用字芯片编程方法 在嵌入式系统开发和产品生产过程中,对系统程序存储器编程主要使用三种编程方法,通过编程器编程、使用板上编程器编程和在系统编程。 1.1 通过编程器编程 这是在prom、eprom、pql等芯片游行时常用的编程方法。即在可编程芯片焊装到电路板之前,使用专门的编程器对芯片进行代码或数据的写入,然后将已编程的芯片安装到电路板上。 使用编程器编程特别适用于dip封装的芯片。如是是其它类型的封装,则必须使用相应的适配器。这种方法的缺点滴是零要手工进行待编程芯片的插入,锁定等工作,容易造成芯片的方向错误、引脚错位等,导致编程效率降低。 1.2 使用板上编程器编程 (obp) 这种方法是在电路板上所有的芯片都已经焊接完毕后,再对电路板上的可编程芯片进行编程。通过专用电缆将电路板与外部计算机连接,由于计算机的应用程序进行板上可编程芯片的代码或数据写入。芯片擦除编程所需用的电源、控制信号、地址、数据和相关的命令都由板外的编程控制器提供,在进行板上编程时,需要通过专门的辅助电路关断目标板上cpu的电源或将其外部接口信号设置为高阻状态,以免与编程时的地址、数据和控制信号发生冲突。 在板上编程可以克服芯片引脚错位,方向插反等问题,避免烧毁芯片,编程错误,保证了芯片编程的高成功率和可靠性。另一个优点就是及时软件升级,可以做到在产品出厂之时系统使用最新版本的固化软件。这对于日新月异的手持电子设备而言是必须的。 这种方法的缺点是需要在电路板上设计编程用的接口、隔离等辅助电路,在编程时通过跳线或fet开关时进编程与正常工作的状态转换。这样会增加每个电路板芯片的数量,造成产品成本的增加。 1.3 在系统编程(isp、isw) 这种方法直接利用系统中带有jtag接口的器件,如cpu、cpld、fpga等,执行对系统程序存储芯片的内容和擦除和编程操作。一般而言,高档的微处理器都带有jtag接口,系统程存储器的数据总线,地址总线和控制接口直接接在微处理器上。编程时,使用pc机内插卡或并行的接口通过专用电缆将系统电路板与pc机联系起来,在pc机上运行相关的程序,将编程数据及控制信号传送到jtag接口的芯片上,利用相应的指令从微处理器的引脚按照flash芯片的编程时序输出到flash存储器。 这种编程方法的条件是系统中必须存在带有jtag接口或与之兼容的芯片如微处理器。优点是系统板上不需要增加其它于编程有关的辅助