(通信与信息系统专业论文)嵌入式soc可调试设计的研究.pdf_第1页
(通信与信息系统专业论文)嵌入式soc可调试设计的研究.pdf_第2页
(通信与信息系统专业论文)嵌入式soc可调试设计的研究.pdf_第3页
(通信与信息系统专业论文)嵌入式soc可调试设计的研究.pdf_第4页
(通信与信息系统专业论文)嵌入式soc可调试设计的研究.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浙江大学硕士学位论文 摘要 随着集成电路工艺的发展 可以在单个芯片上集成更多的电路 实现单芯片的系统 也 就是常说的片上系统s o c s y s t e mo nc h i p 片上系统的出现使得芯片可以实现更加复杂的 功能 获取更高的性能 但同时其内部的信号变得越来越难以观察和控制 所以 对于片上 系统设计 加入可调试设计以提高芯片内部的可观察性和可控制性变得非常重要 已成为 s o c 中一个重大的研究课题 另一方面 在s o c 上开发嵌入式系统的过程中 需要对程序在芯片上的运行进行控制 和观察 这就要求调试除了提供可观察性和可控制性之外 应该对程序的运行不产生影响 不占用系统的固有资源 而且 嵌入式设计中目标系统上资源是根据使用需要确定的 比较 紧张 不会提供足够的资源用于调试 所以对嵌入式系统的调试一般采用交叉调试的方法 即调试软件在作为控制主机的p c 上运行 通过一定的电缆和调试接口与目标机相连 通过 这种方式 可减少对目标系统中系统资源的要求 目标系统中只要提供一个可与主机通信的 调试接口即可 本文介绍了由浙江大学信息与电子工程学系s o cr d 小组开发的r i s c 3 2 e 处理器口 核 并介绍了在r i s c 3 2 e 上开发的j t a g 调试接口的设计和针对该调试接口的软件调试上 位机设计 在硬件调试接口上 实现了多种可对目标机进行控制的调试异常 如调试中断 单步 软件断点 硬件断点等等 通过这些调试异常可控制程序在处理器上的运行 并获得 对处理器的访问权 并且在r i s c 3 2 e 处理器核上增加了调试态 在调试态下 调试主机可 通过j t a g 通信接口对处理器核上的寄存器和存储器资源进行访问 观察处理器运行的状 态 实现了对处理器核的可观察性 另外 针对j t a g 通信接口上的传送效率问题 开发了 一种可快速传送的方式 实现将程序快速下载到目标机存储器上 或读出存储器上的值到 p c 主机上 通过这种快速传送方式 节省了开发人员的时间 提高了调试开发的效率 在 硬件上实现了调试接口的基础上 开发了基于命令行方式的调试器 该调试器在p c 主机上 运行 可通过并口到j t a g 口的协议转换器w i g g l f r 实现对硬件调试接口的访问 调试器可 以接收命令行输入的命令 解析并调用对应的函数 转换成j t a g 接口信号 实现软件对硬 件调试的控制 在s o c 上往往有多个需要调试的处理器口核 需要实现通过一个接口对多个m 核进行 调试 本文中介绍了一种多模式的j t a g 控制器互连方案 既满足了与i e e e1 1 4 9 1 协议兼 容的需要 也可以实现对s o c 中单核的调试或多核的同时调试 这种方案支持直接对单核 进行访问 可以复用硬件调试接口和调试上位机 是一种代价小 可重用性高的多核调试结 构 可满足多核调试的基本需求 关键诃 可调试设计片上调试可观察性可控制性j t a g 调试器多核调试可重用性 2 浙江大学硕士学位论文 a b s t r a e t m o r ec i r c u i t sc a l lb ei n t e g r a t e do i l8c h i pa l o n gw i t ht h ed e v e l o p m e r ao fi ct e c h n o l o g y a n d t h es i n g l ec h i ps y s t e mc o m e so u tw h i c hi sc a l l e ds y s t e mo nc h i p s o c t h ea p p c 釉 o fs o c m a l e sac h i ph a v en l o i ec o m p l e xf u n c t i o na n dg e th i g h e rp e r f o r m n e e b u ta l s om a k e st h e o b s e r v a t i o na n de o n t r o l l a b i l i t yt ot h ei n t e r n a ls i g n a l so fac h i pd i f l i e u l t a d d i n gt h ed i d d e s i g n f o rd e b u g t oi m p r o v et h eo b s e l w a b i l i t ya n de o n t r o l l a b i i t yo fs o cb e c o m e si n o r ca n dn l o l r i m p o r t a n t o nf i l eo t h e rh dd e v e l o p i n ge m b e d d e ds y s t e mo n s o cn e e dt oc o n t r o l 锄do b s e r v et h e p r o g r a mr u n n i n go i lc h i p i ti n c a n d e b u gc n o ti m p a c tt h ee x e c u t i o no f p r o g r a ma n dn o to c c u p y a n ys y s t e mr s m u c 端 b e c a u s et h e 蚴u l c eo fe m b e d d e ds y s t e i mi sl i m i t e d t h ed e b u gu s u a l l y a d o p t sac r o s s w a y t h a ti t i i i st h ed e l u gs o t t w a r cn i n so t np ch o s ta n di t c o n n e c tt ot h et a r g e t d e b u gi n t e r f a w i t hs o m ec a b l e r h r o u g ht h i sw a y i to n l yn e e d sad e b u gi n t e r f a c e0 1 1t a r g e tw i l t l l e s sn s o u r c er e q u i m n e n t t h i sp a p e ri n l r o d u e e st h ek i c 3 2 epc 瓣w h i c hi sd e v e t o l tb y o cr d g r o u po f d e p a r t m e n to fi n f o r m a t i o ns c i e n c ea n dl j l e c t r o n i ce n g i n e e r i n gi nz 抽 e j i a n gu n i v e r s i t y a n di t i n t r o d u e bt h ed e s i g no f j t a gd e b u gi n t e r f a c eo i lr i s c 3 2 ea n dt h ed e b u g g e ro np c t h i sj t a g d e b u gs c h e m ea d d s 锄ed e b u g e p t i o mw h i e l ac a t lb e1 s e dt oc o n t r o lt h ep r o g r a m 棚m i n g o n p r o c e s s o r l l c l d i n gd e b u gi n t e r r u p t s i n g l es t e p s o t l w a r eb r e a k o o i m h a r d w a r eb r e a l 伽i n ta n ds o o i lad e b u gm o d ei sa d d e dt op l o c 8 s o l i nw h i c ht h ed e b u gh o s tc 缸a c 0 酷5t h er e 豳t e r sa n d m e m o r i e s0 1 1c h i p 铀r o u g hj t a gp o r t s ot h ep i d i 瑶j s 甜 ss t a t u sc a nb eo b s e r v e da n di tm e 或st h e r e q u i r e m e n to fo b s e r v a b i l i t y a d d i t i o n a l l y i no r d e rt oi m p r o v et h e 缸 a m f e re t f i e i e n e y0 1 1j i a 1 3 p o r t af a s tl z a m f e rm e t h o di sd e s i g n e d t h i sm e t h o dc a nm m s f e rd a t ab e t w e e np ch o s ta n dt a r g e t m e m o r yf l t s 把t t h r o u g ht h i sw 勘t h et i m eo nd a t at l a n 疏l i ss a v e d 掘l dd e b u g 啪b en l o l e f f i c i e n t t o l 娣t h e r r a 3 d e b u g i n t e r f a c e a d e b u g g e r b a s e d 0 1 1e o m r a a n d l i n e i s d e v e l o p e d o n p c i tr u n so np ca n d a c c e s sj t a gp o r tt h r o u g ht h ep r o t o c o lc o n v e r t e rw i g g l e rf r o mp a r a l l e lp o r t t oj t a gt h ed e b u 黯触啪r e 眦c o m r a m m l sf r o mc o m m a n dl i n ea n dp a r s el h e mt oc a l lo b v e r s e f u n c t i o n t l a c nc h a n g et h ef l l n c t i o l lt oj t a os i g l l a l sa n da c h i e v et h ee o n r o l l a b i l i t yt ot a r g e l m a y b e 岫黜m o l e t h a no n ei pc o 幅t ob ed e b u g g e d0 1 1s a n do n l yo mj r a gp o r t 锄 b eu s e dt od e b u g t h i sp a p e ri n t r o d u c e sas e h e m ew i t hm u l t im o d e lj t a 3i n t c r e o n n e e t w h i c hi s c o m p l i a n tt oi e e e1 1 4 9 ip r o t o c o l a n ds u p p o r t sb o t hs i n g l ec o md e b u g 觚dm u l t i c o r ed e b u 晷 t h i ss c h e m ec a l ll t c u t h ei pc 帆 l e l 嘴i n t e r f a c ea n di t s d e b u gs o t l w a l ei nm u l t i c o r e e n v i r o n m e n t i t sl o w c o s ta n d 啪m e e tt h eb a s i cn e e do f m u l t i c o r ed e b u g k e yw o r d s d e s i g nf o rd e b u g o n c h i pd e b u g o b s e r v a b i l i t y c o n t r o l l a b i l i t y j t a g d e b u g g e r m u l t i c o r ed e b u g m a s a b i l i t 3 第一章绪论 随者集成电路工艺的发展 允许将攘个系统集成到单个硅片上 即片上系统 s y s t e mo n c h i p 简称s o c 片上系统会包括多个r i s c r e d u c e d i n s t r u c t i o n s e t c o m p u t e r d s p d i g i t a l s i g n a l 秘 c l 嘲艘 整理辫羧和a s i c a p p l i c a t i o ns p e c i f i c 翻键廊dc i r c u i t 菝 寝诗瓣逶露 会采用i p i n t e l l 咖a lp r o p e r t y 核以加速产品开发 襁片上系统的设计阶段 芯片加工后 的测试阶段 应用开发阶段都要对m 桉进行调试 以发现核和片上系统设计中的b u g 予以 修正 瓣废用程序进行拜裴廊优化 使旗冀耗工作在袋镌状态 但由予岸上系统和援憨复杂 生 对鲶理器聋核魏洚i 凌变褥越来越灏难掰 癀以鲡傍在集成瘦越来鹣离静芯片主裳现对 m 核的调试 成为s o c 可调试设计一个熏大的研究课题 本章介绍了可调试设计的概念 原理和可采用的技术 还有可调试性设计发展的现状 势套绥了囊激江丈学镶慧每逶谊工程耩兜耨r i s c 设诤 l 缓矛发戆3 2 镜嵌入式豢处壤嚣霉 核r i s c 3 2 e i i 可潺试设计综述 1 1 1 可调试设计的概念 1 l i 18 0 c 发展对调试的影魄 s o c 技术的一大关键优势是它可软降低系统板上戮信号在多个嚣抟之间进出带来的延 迟而导致的性能局限 馁也提高了系统的可靠性和降低了总的系统成本 此外 在p c b p r i n t c i r c u i tb o a r d 板空间特别紧张和将低功耗视为第一设计最标的应用中 如手机 s o c 常常 是难一瓣褰缝秘篼解决努寨 所以 越来越多的嵌入式电子系统只禽有一个高性能的集成芯片 随着越来越离的集成 技术的发展 这些系统苍片s o c 逐渐取代了包含多个端片组件的印刷电路板四 由予集成工 艺匏摄菇 带来静不仅憝警鲍基于p c b 方案的成本 墩戆广泛鲮领域撬撰了耨的可能经 尤其莛辩予面箍实时 弼器求的嵌入戎系绕 毙如便携式多功能应麓辅赢性能嵌入或计算 高寨成度的s o c 也带来了新的挑战 如何在其上开发可靠的应用软件 如何进行调试 鲫 在p c b 板上 软件开发可以通过简单地用逻辑分析仪和示波器蕊察到组件之间氨连结 辍懿蠹都壤号 遮撵给较镗秀发豢亲裁文瓣藜蘩 磊辩予较鸯复杂瓣浚备 懿娃理嚣 建了 观察到它的内部状态 研以用带有特殊 驿试和仿真功熊的版本 印所谓的i c e i n c i r c u i t e m u l a t o r 来代替实际的产品 从而观察其内部信号例 提供了内部状态的可视性 j 塞种方 式允许记袋总线活动的数据 观察处理辫上的特殊事伟 当簌攀个芯片土集成一个系统后 箨没有壹接嚣努残可戳去访蠲内部的穰号 过去可以 直接观察的互连的边界融经变成芯片内部的信号 不能够再直接用示波器和逻辑分析仪去观 l 浙江大学硕士学位论文 察了 更进一步 处理器核不能再用特殊的调试和仿真硬件进行替换了 一种解决这个问题 的方法是用 绑出设备 b o n d o u t d e v i l 来引出s o c 产品的内部信号 这就是一个改变 的s o c 版本 拥有比原来的s o c 多得多的管脚数 这些增加了的管脚用于观察s o c 的内部 信号 提供对软件开发的调试支持1 4 尽管这种设备也可以提供比较高的可控制性 但是事 实上也造成了测试的设备与实际的s o c 产品不一样的情况 特别地随着管脚数的增加 这 种方法的作用也越来越低 百万门 2 5 0 2 0 0 1 5 0 1 0 0 5 0 0 工艺允许制造凡数 设计与生产能力之差 巴 礓计使用门毅 l 1 9 9 02 0 0 02 0 0 5 年 图1 1 集成电路集成度的发展纠 数据来源 d a l a o u e s t s o c 技术的发展带来的变化是两方面的 一方面 随着集成度的提高和i o 设计 芯片 封装设计的技术革新 使得芯片管脚资源越来越紧张 数目是受限的 另一方面 芯片中可 集成的门数是迅速增加 其增加速度远大于芯片管脚的增长 由于这种集成能力的提高 增 加一些专用于调试的电路是完全可行的l j 如图1 1 所示 芯片制造工艺的发展使得可以在 芯片上集成的门数迅速增加 但实际设计中门数的增长没有生产能力增长快 多出的这一块 芯片制造能力完全可以用于增加调试模块 所以 通过增加管脚的方式以提高调试的可视 性的方法在s o c 时代已不再适用 相反 利用集成度高的特性 设计片上的专用的调试接 口 通过有限的管脚对s o c 芯片进行调试成为今后发展的趋势 所以 可调试设计已经成为开发基于s o c 的嵌入式系统的关键技术之一 1 1 1 2 嵌入式系统发展对调试的要求 从2 0 世纪9 0 年代开始 嵌入式技术全面展开 目前已成为通信和消费类产品的共同发 展方向 在通信领域 数字技术正在全面取代模拟技术 在个人消费领域中 嵌入式产品将 主要是作为个人移动的数据处理和通信终端 根据一个被普遍认可的定义 嵌入式系统是以应用为中心 以计算机技术为基础 软件 硬件可剪裁 适应应用系统对功能 可靠性 成本 体积 功耗严格要求的专用计算机系统 嵌入式系统具有系统内核小 专用性强 系统精简 高实时性的固化软件 需要专门的开发 工具和环境1 6 j 2 浙淡太学硬圭学位论文 嵌入斌系统具有非常广阔的应用前景 其应用领域包括 1 誓渡控割 基予嵌入式芯片的墨娃自动亿设备囊有很大的发震空闽 目葡已缀有大耋的8 1 6 3 2 位嵌入式徽控制器应用在工业过程控制 数控机床 电力系统 电网安全 电网设备监测 石油化誓系统等领域 2 交逶营理 在率辆导航 流量撩制 信息监浏姆汽车服务方筒 嵌入式系统技术已经获得了广泛的 应用 内嵌g p s 模块 g s m 模块的移动定位终端已经谯各种运输业获得了成功的使用 3 傣患家耄 这将成为嵌入式系统最大韵应用领域 冰箱 空调替的网络化 智能化将引领人们的生 活步入一个崭新的空间 即使不在家里 也可以通过电话线 网络进行远程控制 在这些设 备中 嵌入式系统将大鸯躅武之她 4 家庭智能管理系统 水 电 煤气表的远程自动抄表 蜜金防火 防盔系统 其中嵌宥的专用控制芯片将代 替传统的人工检查 并实现更高 更准确和更安全的性能 目前在服务领域中 一些簪撩设 备已经髂瑷窭 巍入式蓉缓懿甓势 5 p o s 网络及电予商务 公共交通无接触智能卡 c o n t a c f l e s ss m a r t 吐c s c 发行系统 公拭电话卡发行系统 塞动售蹩壤 各耱餐旎a t m 终端将垒瓣建入太织约生溪 到器重手耪一拳蓑毒辨鳕遍天下 6 环境监测 环境般测包括水文辩料实时监测 防洪体系及水土质量监测 堤坝安全 地震监测 实 对气象信惠鼹 承源积象气污染监溅 簌缀多环境恶劣 她提复杂的她嚣 嵌入式系统将实 现无入魏灞 7 机器人 嵌入斌芯片的发展将使机器人在微型化 高智能方霹优势更加明鼹 同时会大幅度降低 羲器入瓣俊终 嫠其奁羞娃疆域襄驻务领域获褥蔓广泛巍孽痘矮 除了豁上这些应用领域 嵌入式系统还有其他方嘲的应用 可以凑不夸张地说 嵌入式 系统己缀进入到现代社会人们生活的方方面面 可以说是 无处不在 尤其是在控制方瑶 的应用 髂患时代 数字黠健使得嵌入舻蟊获褥了蹙犬的发展视遇 为嵌入式市场耀瑷7 美好的静荣 露薛也黠嵌入式生产厂费提出了薪静撬藏 获孛可班看赉泰寒嵌入式系统酌死 大发展趟务 1 嵌入式开发是一项系统工程 因此要求嵌入式鬃绕厂商不仅簧提供嵌入式软硬栉系 统本身 舞拜还雾要提供强大瓣硬俘秀发王其襄敦静畿蹇持 3 浙我大学硕士学位论文 2 两络化 信息化的要求随着因特网技术的成熟 带宽的提嵩而日益提高 使得以往 单一功能的设备如电话 手机 冰箱 微波炉等功能不再单一 结构更加复杂 3 未来的嵌入式设备为了适应两绻发展的要求 必然舞求硬件上提供各种网络通信接 口 4 未来的嵌入式产品是软硬件紧密结合的设备 为了降低功耗和成本 需要设计者尽 量精简系统内核 只保穗和系统劝能紧密相关的软硬件 利用最低的资源实现擞适当的功能 5 嵌入式设备能与用户亲密接触 缀重要的因素就是它能提供非常友好的用户界面 图像界面和爱活的控制方式 使褥人们感觉嵌入式设各就像是一个熟悉的老朋发 嵌入式系统与普通计算祝系统相比主要有以下特点 嵌入式系统邂常是面肉特定应雕的 它遗常都具脊低功耗 体积小 集成度菇等特 点 能够把通用c p u 中许多出板卡完成的任务集成在芯片内部 从而有利予嵌入式系统设 计趣于小型化 移动能力大大增强 跟随络的结食也越来越紧密 嵌入式系统憝将先进的计算机技宋 半导体拄术和电子技术与各个杼她的具体应用 相结合后的产物 这一点就决定了它必然是一个技术密集 资金密集 高度分散 不断刨舞 豹翔识集成系统 嵌入式系统的硬件软件都必须岗教率地设计 量体裁衣 去除冗余 力争在同样的 疆肄覆获主实现更高耱毪能 这徉才能在其俸痘耀串对楚壤器豹选择蔓具有竞争力 嵌入式系统和具体应用有机地结含在一起 它的升级换代也怒和具体产品同步进行 嚣藏嵌入式系统产品一曼进入嚣场 吴辫较长静擞命蠲麓 为了提高执符速度和系统可靠性 嵌入式系统中的软件一般都固化在存储器芯片或 萃冀祝本身串 菰不燕存贮予滋盘等载俸串 嵌入蒇系统本身不具备自举开发能力 即使设计完成以后用户通常也是不能对其中 静纛穿功戆鼗 行蘩改 盛矮寿一套开发芏兵和拜壤才能进符嚣发p 由于嵌入式系统的开发与硬件有着密切的关系 而且一个嵌入式系统上报可能是没有强 丈约操侔系统帮谖试羔曩戆 瓣弦裁要求捧魏嵌入式系统率懿s o c 茶篾主本鸯戆够撬供一 些调试支持的接口 可以通过其他资源率甯的计算机访问该调试接口实现远程的调试 从而 热扶对嵌入式系统嚣弹发 发瑗移捧昧软捧拜发审的错误 1 1 2 可诱试设计的原理 由于嵌入式系统鳃舞发是锾囱特定匏应用懿 洪究量体裁袁 疆件上的赘源遥零是比较 少的 要对j 袅样韵系统进行调试 直接在系统上运行一个功能强大的调试工典是不现蜜的 因为需要较多的硬件爨源和软锋支持 4 浙旺丈学硕士学位论文 上载目标 调试信息 p c 集袋溪试琴壤 接网协议和驱动 毒 协议l装置孽 i 处理器l 茬孝 新点 控科信息 图1 2 交叉调试的基本框架 掰馥 慰嵌入式s o c 系统豹键试 一觳都采翊远程交叉诱斌静方案弼 嵌入式系统s o c 上提供一个调试通信接口 而功能强大的调试器避行在资源丰富的p c 主机上 用主机的处 理麓力移事塞的资源瓣簌镯试接曩获取懿调试偿纛进孬怒灌帮控裁嘲 在这样的交叉调试框架下 嵌入式s o c 上调试接口的设计是一个关键 宦决定了能够 鬟供哪些谖试凌艉 憝够在多大程度上瀵是霹瑷察瞧襄可控告 蛙弱簧求 下瓣奔颦一黪鏊蘸 常用的调试技术 1 1 0 1 软件监控技术 款搏整控 逶嚣耪凌 撵键 荚交称s t u b 羧末羲楚在嚣标梳秘嚣凌罄蠹分麓壤入某 些功能模块 者互通信息来谶行调试 使用这种技术最常见的就是g d b g n ud e b u g g e r 远程调试i s 软谗监羧技术主簧包捶双节豇夸方溪 1 调试器与被调试程序的通信 谖试嚣岛囊振系绫遥过指定逶痿臻瓣 枣口 秘盈 势强 遵疆远程疆遽貉滚送舒遥薅 2 被调试程序产生异常及时通知讽试器 叠幕瓣弱掰骞舅嚣处理最终都要转淘遥镶搂蔽 告箱谖试嚣当靛鹁异常弩 调试嚣据范 向用户显示被调试程序产生了哪一类异常 3 谖试器薤爨 游薅蔽谖试程彦 调试器的这类请求实际上都将转换成对被调试程序的地址空间藏且标平裔的某些寄存 嚣豹谤翘 瓣掾系绫羧牧裂这样懿谤求霹荔壹接始理 4 调试器处理与目标硬件平台相关的信息 筹2 条瓣述调试嚣痤裁撮据异常号谖剃蛋攮警台产生雾常静类甏氇嚣予途一范酶 这类 工作完全可以由调试器独立完成 支持多种目标平台正是g n u g d b 的一大特色 综上爨述 这一秀察蔫娶瓣标系统撬供支持远程调试貉谈煞透信模块 毽摆蔫单翡设备 驱动 和软件监控调试接口 并改写异常处理的有关部分 另外目标系统还需要定义一个设 潦泷大学硕士学位论文 置断点的函数 因为有的硬件平台提供熊产生特定调试异常陷入 d e b u g t r a p 的断点指令 默支持调试 鲡x 8 6 匏i n t 3 r i s c 3 2 e 提供7b r e a k 揍令 藤另一魏钒嚣没有类戗戆摆 令t 赣蠲强意一条不能镀解释撬行的嚣法 或保窝 攒令代替 叠标系统锈热的这些模块统 称为监控程序 也可称为 插桩 或s t u b 见图1 3 驶留于r o m 中则称为r o m m o n i t o r 嚣标系缝 圈1 3 软转黢控方式鲍调试架捧 主机 目标平台 巨1 4 软转簸控方式的调试流程 篮控程序接口 整1 5 菇羧壤痔完裁谖试鹃过疆 辩疆大学磺圭学位论文 这一方案的实质是用软件接管目标系统的全部异常处理及部分中断处理 在其中捅入调 试端日避傣模块 与主飙的调试器交薹 如图1 4 和躜l 5 舞示 袭明了翔褥弱敬孛 簸控程 謦完成调试豹过程 蓠毙 蠢标系统要谶行拐始拖 运行到被调试应羽程廖的入矗处 在入 口处触发一个异常转入剿异常处理程序也就是监控程序中 然后 监控程序通过通信端姻与 主机建立联系 并等待生机发送调试命令 最后 监控程序接收到主机的调试命令 则 i 行 髌辑著挟簿翱痘嚣调试攥捧 软件监控技术豹伉点是凡乎不需要修改硬件 只需象编写监控程序和使用一定的通信接 口即可 很它的缺点也很明显 它只能柱目标系统初始化 特别是调试通信端口初始他完成 后方起撵用 它必须接管鼹标系统全部黪常处理 不适用于底层软件开发 麝以一般j 致瘸予 调试运舒予嚣轹系统之土豹应罨覆序 蔼不宝溺来调试弱标祝土雏摄像系统 特弱蓬恶法调 试目标机撵作系统的启动过程 而且由予它必然要占用萌标平台的某个遁信端口 该端口的 通信程序就无法调试了脚j 1 1 2 2 片上调试技米 片上调试 o n c h i pd e b u g 简称o c d 是在处理器内部嵌入额外的控制模块 巍满足 了一定煞触发条停珏重避入莱释特殊状态 在该凝态下 被嚣渡程 謦停皮运行 主撬静调试器 可臻遗避处理器井部特设筋遁蓿接口游 萼各种资源 寄存器 存储嚣等 劳执行指令 为了 实现主机i 霞信端口与目标板调试通信接口各引脚信号的旺配 二者往往通过一块简单的信号 转换电路板连接 见图l 2 所示的协议转换装置 内嵌的控制模块以纂于微码的监控器 m i c r o c o d em o n f l o r 或缝硬舞资源懿澎残存在 惫撂一整提供绘薅户瓣接口 蜇凝点雾存 器等 其体产品有m o t o r o l ac p u l 6 c f u 3 2 c o l d f i m 系捌的b d m b a c k g r o u n dd e b u gm o d e 例 m o t o r o l ap o w e r p c5 x x 8 x x 系列的e p b d m e m b e d d e dp o w e r p cb a c k g r o u n dd e b u g m o d e i b m t l 的j t a g j o i n t t e s t a c t i o nd e b u g l e e e 标准 还有o n c e m p s d a r m j t a c 3 蕃内静麓游j t a g i 海等 下蕊以m p c 8 6 0 的e p b d m 为例介绍片上调试方式 e p b d m 的运作相当予用处理器内嵌的调试模块接赞中断及异常处理 用户通过设援调 试诲霹寄露器 d e b u ge n a b l er e g 泌r 采攒定哪些孛薮蠛雾常发生嚣凳壤器壹接进入谲谈获 态 而举怒操作系统的处理程序 进入调试状态届 肉嵌调试模块向外部调试通信接黼发出 信号 通知一直在通信接口监听的主机调试器 然后调试器便可通过调试模块使处理器执行 任意系统搔令 相当于特权态 所有摆令均通过调试模块获取 所有l o a d s t o m 均纛拨谚 翔内存 缓存 c a c h e 及存德管瑗萃露 m m u 均举霹霜 数据寄存嚣被浃瓣务一令黪豫 寄存器d p d r 通过m t s p r 和m f s p r 指令访问 调试器向处理器送r 丘 r e t u mf r o m 埘醐蝴 令便结荣调试状态 被调试程序继续运行 与攒搬方式的缺点楣对应 o c d 苓鑫瘸基标平台瓣逶羡壤口 戈嚣骖改基标操掺系统 能调试盈标操作系统静崩勘过程 太大方便了系统开整入受 7 新旺大学硬士学位论文 1 1 2 3t r a c e 调试技术 传统麴调试方法 撅捶舞蠡下避瑕 设錾点一疆謦餐箨一鼹察程廖状态一继续运纾 被调 试的翔聚是实时系统 即使调试器支持撤处理命令避免了用户输入命令 观察结果带来豹延 迟 它尚恳标系统之闻的通信也完全可熊错过对目标平台外设信号的响应 3 2 1 于是 针对 某些调试嚣 如g d b 提供的监视点 u a c ep o i n t 这一特殊调试手段 蟊睬方的播樵在原 毒熬萋疆土旋袭遴 黎为代理 a g e n t 溪试瓣瓣户蓄兜在调试器莰嚣簸援煮 菰滚幸琶码表 达式的形式指定感兴趣的对象名 为了减少代理解析袭然式的工作 调试器将表达式转换为 简单的字节码 传送至代理 程序运行厨命中监视点 姨醒代理 代理根据字节码记录用户 所焉数据存入特定缓狰聪 不仅仅是表达式的最终结鬃 还有中惩维袋 然螽程序继续运 行 这 步骤无需与谚竣器透信 当调演器荐度褥餮投籁葬誊 裁可鞋麓照鑫令 蠹代瑷查询 历次监视记录 当然 j i 茳视记录缓冲区t n 耍占用目标平裔的存储空阈 不过缓冲区的犬小可 在代理生成时由用户决定 总之 这 改进以有限的目标系统资源为代价 为实时监视提供 了一个候成本的可行方窳 像量文所述的片上调试那样 也育处理器在片内附加了跟踪电路 收集程序流遥行时的 不连贯 d i s c o n t i n u i t i e s 信息 分支和异常处理的跳转目的及源地址镩 压缩后遴嬲特 定端口 褥由逻辑分析仪摊获送至主机端调试工具重构程序流f 1 2 1 该蠢察对系统性熊影噙 最夺 总乏 处理器厂家掇供集成于片内的调试电路为高档嵌入式系统歼发提供各种非干扰式 的调试学段早已是大势所趋 为了解决该领域标准化的需器 一些处理器厂家 工具开发公 霉秘役嚣铡逢赛手1 9 9 8 华缓或了n e x u s 5 0 0 1f o r u m 逡楚一个鏊在为歉入式控裁应耀产生 和定义撒入式处理器调试接口标准的联念组织h 3 1 以魏的名称是g l o b a le m b e d d e dp r o c e s s o r d e b u g i n t e r f a c e s t a n d a r d c o n s o r t i u m 仝砑2 嵌入式处理器调试接口标准协会 n e x u s 现在有 2 4 个成员单位 包括创始成员m o t o r o l a l l l f l n e o l lt e c h n o l o g i e s 目立 e t a s 和h p 等公司 该缍织簧燕楚理懿是汽攀动力痤用掰舞瑟瑟诱试 瑰簌嚣发震或为谖试数攥逶嫠 无线系缝 和其他蜜时嵌入式应用的通用接口 1 1 2 4 多援键试 随整s o c 中集成魔的提高 在芯片土集成多个赴璎器核提高性能藏集成异质豹梭处理 不同的事务已成为发展的趋势 随之而来的问题就是如何对多个处理瓣核进行调试 簧做到 用较少的管脚开销实现对多个核的可琨察性和可控制性 阉时要尽可能地重用原来处攒嚣接 主戆谖试渡诗 1 4 1 多援瓣试吕霞茺萄谖馥设诗一个藜鹣瓣露 目前 能够支持同时调试多处理嚣的调试器非常少 当系统中包含多种不同性质的处理 器时 调试过程变得更加困难 多c p u 的调试的另一个挑战是 多处理器之间的互动可能 产生难玖发瑗秘辩决携翘爨 除非调试王是可戬在爨鸯沟捩上霹l 镩k 器l 瑚 纛星 嵌入式 产品串多媒体应瑶韵增加 使用数字信号处理功能的增加 意味着软粹工程师更多地美心对 于多核苍片的编程和调试问题 l 浙江大学硕士学位论文 在多核调试方面 a r m 公司提出了c o s i g h t 系统调试解决方案 f s 2 f i r s ts i l i c o n s o l u t i o n 公司提出了称为h y p e r j t a o 和h y p e r d e b u g 的系统调试方案 a r m 公司的c o s i g h t 系统调试解决方案提供了一个简单但是功能强大的交叉触发机 制 能够在内核问传送调试信息 在一个内核中发生的停止或者触发会马上发送信号到其它 的内核或者智能外设 使得它们能够同步停止或者发生触发 4 0 1 更进一步地 在某些应用中 a r m 处理器发送一个控制请求给d s p d s p 却返回一个 随机的状态数据 这种状况会导致控制请求得不到正确的处理 这样 开发人员除需要看到 内核的上下文环境外 还要知道d s p 的状态 而c o s i g h t 提供的有关联的跟踪分析功能 能够帮助找到原因 对于握手 m a i l b o x 锁问题 回调算法 活锁 死锁和很多其它的处理 器间的情况 追踪分析功能都能够很好地提供信息 而传统的停住内核的方式却不能够 a r m 公司的c o r e s i g h t 多核追踪系统提供了同步的对于多个源的追踪 这样的追踪对于每 个时钟周期都是精确的 并且各个触发点都是相互关联的 总之 多核调试需要在提供对单核调试访问的基础上 提供对多个核同时调试的能力 t r a c e 调试技术也逐渐地被应用到多核调试上 因为它非常适合用于系统性能分析 并观 察到各种复杂情况下核之间交互的情况 t r a c e 与传统的控制程序运行 r u n c o n t r 0 1 方式 相结合是多核调试发展的趋势旧 1 1 3 砌s c 3 2 e 处理器口核 r i s c 3 2 e 是浙江大学信息与通信工程研究所r i s c 设计小组开发的3 2 位嵌入式微处理 器m 核 是面向消费类电子 移动以及网络多媒体等媒体应用的高性能低功耗嵌入式处 理器 r i s c 3 2 e 讲核同m i p s4 k c 指令体系兼容 r l s c 3 2 e 是r i s c s u v l d 单指令多数据 流 相融合的整数计算引擎包括基本的3 2 位r i s c 处理器核和其他可配置单元 如图1 6 所示 r l s c 3 2 e 支持 6 级整数流水线 执行级采用可扩展的超长流水线技术 整合多媒体扩展单元实现1 6 x 1 6 b i tm a c8 0 0 m i p s 3 2 x 3 2 b i tm a c2 0 0 m i p s 3 2 x 3 2 b i t 通用寄存器文件 可扩展的8 x 6 4 b i t 多媒体寄存器文件 整合h 彻u 支持嵌入式o s 和精确中断 可配置的数据总线 3 2 b i t 6 4 b i t 3 2 b i t 地址总线 分离的指令c a c h e 和数据c a c h e 1 6 k b 1 6 k b 可配置c a c h e 路数 可配置的片上数据r a m 单周期访问 外围存储控制接口丰富 集成高速多通道d m a 控制器 支持可配置的外部中断入口和定时器 t i m e r 输出 3 2 b i t 通用g p i o 通过内建j t a g 支持软件调试 可配置的a m b a 总线 r c 总线 可配置的u s b i 1 接口 标准u a r t r s 2 3 2 接口 9 浙江大学硕士学位论文 广 i i l 图1 6 可配置的r i s c 3 2 处理器 r i s c 3 2 e 处理器支持4 l 条s i m d 指令 利用亚字并行 加速音视频程序 以r i s c 3 2 e 为中心 可以构建功能强大的音视频硬件平台 如图1 7 所示 整个硬件平台主要包括 r i s c 3 2 e 处理器 音视频a d d a 各类总线接口 片外存储器 电源管理 时钟管理 在r i s c 外围连接了s r a m s d r a m f l a s h 等作为存储器 可以满足各多媒体处理 器对存储器的要求 为了与软件相通讯实现软硬件协同设计 在r i s c 外围还连接了并口 串口 p c 等各类通讯接口以支持不同通信带宽和资源约束要求 硬件子平台中的电源管理 单元负责产生芯片所需的电压 频率管理单元则负责产生所需的各种频率的时钟信号 图1 7 硬件平台框架 1 0 群泼走学硬壬学位论文 1 2 本文主要研究工作和内容安排 奉文的主要研究王襻都围绕着嵌入斌s o c 上的可调试设计展开 着重分析硬件土的调 试接口设计 也设计一黪软件调试器的设计 本文的主臻工作和后面备章的内容安排如下 本文第2 章主要夯绥7 在r i s c 3 2 e 处理器核上豹j t a g 调试接口设计 对调试接弱设 计遥行t 详细豹分薪 调试接口酶设诗嚣先着疆予提离系统酶可观察谯鞠可控制链 p c 主 机通过调试接1 2 可以对处理器核的内部赉源进行访问 并进行单步 断点设置 读写寄存器 等调试操作 调试接口中设计了软件断点 硬件断点 调试中断等多种调试异常 与r i s c 3 2 e 嚣弯兹舅鬻稳藏一令统一瓣壤璃异攀模懋 瑟且不占用系统甄毒斡异常入日 褒有豹调试霁 常处理都转到专用的调试异常空闻上娥联 避免了对系统资源的占用 实现了对系统舶低侵 入性 支持对底层系统软件的调试开发 在这一章中还研究了j t a g 接口的通信 提出了提 高j t a g 嗣通信速率的方案 从而提高调试的效率 减少开发时间 奉文第3 章奔绍了 令遥过并霜鸟瓣标瓤遥蔼懿j t a g 调试上霞搬开发方案 调试上位 机通过弗口发出和接收调试接口的信号 上位机的最底艨是协议层 将所有的发送和接收操 作转换成符合j t a g 协议的串行的信号 协议层之上是针对具体硬件请试接口和目标机的定 义和功戆突现屡 将魇露豹基本鲍调试撵俸封装起来 将硬停售意定义裂缝掩体中 壤土嚣 豹是接牧命令静命令稃解辑层 谖试嚣秘蓊透过接较命令行下静命令来调用调试功簏 命令 行解析艨负责把接收命令和参数 解析像们从而调用对成的功能函数和传递相应的参数 本文第4 章主要从可重用性的角度讨论了如何实现多核的调试 并给出了一个多模式的 多孩调试秀寨 要实瑗软髂窝疆箨懿耋瑙 菇及与j t a g 协议戆兼容饯麴黠麓甍链谖谈豹支 持方面的簧求 使得多核调试的设计成为这几种模式的符合 在研究丁一些j t a g 韵t a p 控制器置连设计的资料的基础上 完成了满足上面几种模式切换的多棱调试设计方案 这个 方案代债小 可重用性好 氍支持对s o c 中的单核进程调试 也支持慰多个棱的弼时 霹试 浙淡犬学硕士学位论文 第二章r i s c 3 2 e 可调试接口的设计 r i s c 3 2 e 是浙江大学信息与通信工程研究所r i s c 设计小组开发的3 2 位嵌入式微处理 器p 核 是一个具有六缀流水的嵌入式精簿指令集计算机内核 在指令构造上与m i p s 3 2 完全兼霉 胃曩 s o c 按裁薤瑾器窝遴纷繇分媒嚣怒毽嬲 总的来说 一个设计良好的调试接口必须满足几个簧求 1 可观察性 对处理嚣核的寄存器 状态 存储器等可进行访问 2 经裁蝗 对羧瓣迳孬霹鞋控键 要求骞丰富熬调试手鬟 3 低侵入性旧 调试不占用系统资源 不改变程序执行的行为 不对结果产生影响例 4 足够的通信速率 这是使得调试汗发具有效率的保证 本耄套绥了基于j t a g 戆在冀诱斌接口戆设诗 绫及在r i s c 3 2 e 孩童翡验迁壤搅 2 1r i s c 3 2 e 在砖调试方案设诗原理 2 1 1 姆m i p se j 毗憾兼容 r i s c 3 2 e 是一个指令构造上帮m i p s 兼容戆c p u 内援 m i p s 公裁嘏毒鸯己的调试接墨 规范 e n 冀g 著显霄一些第 隽 豹较俘调试工其支持f j t a g 调试绥掰 我们在r i s c 3 2 e 上开发了岛e j t a g 完全兼容的调试方案 可以与第兰方的调试工具实现连接 对r i s c 3 2 e 核进行调试 蹦a g 是由 珏 s 公霜嚣笈魏 势慰m i p s 系捌楚联器戆调试接瓣媛范 透过这个接霜 和匹配的调试软件 可 t 实现对m i p s 娥理器或嵌入予s o c 中的m i p s 肉核进行直观翁于理 解的调试 可以对开发的嵌入式软件进行分析和性能微调l l q e j t a g 擞簧是利用了m e e 1 1 4 9 1 j t a g 协议的t a p 接口部分 湃发了一个与宅摆兼容的接口渊 并扩展了赴瑗器 藕关熬指令 增热了潺竣状态 在调试获恣下有一些特豫魏赘源 遥过傻姓莲嚣送入调试銮 访问特殊的资源和通过t a p 与片外通信实现片上调试 e j t a g 调试方式属于n m c o n t r o l 方 式 即对稷序的运行进杼控制的调试方式 浙糕夫学颈士学经瓷史 圈2 1f j t a g 调试的糸淼图 r i s c 3 2 e 蔻理嚣竣蘸秘m i p s4 殓撬令嶷摆蓑骞熬 在跨上蘧试方鞭吸彀了m i p sf j t a g 调试的蒜想 根据r i s c 3 2 e 内核的实搿凇况 开发出丁一套与e r f a o 兼容的调试按 可 以与第三方支持e j t a o 的调试工具 如j e d i v i e w 相避接 实现在片调试 2 1 2 调试方案对可观察性的支持 r 1 s c 3 2 e 具有系统撩和用户态 繁统态下可以对所有c p u 能访问的瓷源进行访闯 凌 嚣增设了调试态 增热 调试蠢

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论