资料介绍
对于嵌入式装置而言,多核威廉希尔官方网站
可以提供更高的处理器性能、更有效的电源利用率,并且占用更少的物理空间,因而具有许多优势。
要想充分发挥多核以及多处理解决方案的潜能,仅仅拥有高性能的芯片是不够的,还需要采用新的编程方法、调试方法和工具。在传统上,JTAG调试威廉希尔官方网站 主要是用于硬件Bring-Up,如今也常常被用于配合基于代理的调试(agent-based debugging)。然而,在多核和多处理的环境中,片上调试(on-chip debugging)正在扮演着越来越重要的角色。
多核软件调试的难点所在
多核环境显著增加了系统复杂度,因此在对操作系统和与多核相关的硬件进行调试的时候,就必须采用一整套更有效的工具。在嵌入式软件开发工作中,多核主要呈现为多处理的形式,而这些处理器的内核不一定要处在同一个芯片之中。不论这些处理器内核是在同一个芯片之中,或者是分布在同一个电路板中的多个芯片之中,甚至是同一个系统中的多个电路板之中,开发人员都必须解决好多处理环境中的调试问题。
多核与多处理威廉希尔官方网站 为系统调试带来了许多新的挑战,因为系统复杂度不断增加,要通过优化硬件和软件来充分发挥其中的性能潜力,难度就更大了。其中最主要的挑战来自以下几个方面:第一,有效地管理内存和外设等共享资源;第二,在多内核、多电路板和多操作系统的环境中对操作系统和应用代码进行调试;第三,优化JTAG接口并充分利用JTAG带宽;第四,调试单一芯片中的同构和异构多核,进而实现整个系统的协同调试;第五,有效地利用JTAG与基于代理的调试方法,确保不同调试工具之间的顺畅协同;第六,确保多核环境中应用调试的同步机制。
在多核调试中,主要是在解决一个核心问题——由SoC厂商所提供的JTAG接口所造成的局限性。为了节省成本,许多SoC厂商都只为芯片提供单一的JTAG接口,而不理会其中包含了多少个内核。对于开发者来说,最大的挑战就是经济有效地使用这些接口来同步多核以及多处理的调试工作,而经常用到的就是采用IEEE 1149.1标准daisy-chain方法。
在JTAG接口中有4条线:TDI、TDO、TCK和TMS。为了在多核调试中能够与LTAG接口相连,主要涉及到TDI和TDO。在daisy-chain中,前一个内核的输出被连接到后一个内核的输入,以这种方式连接,直到抵达所有的内核。daisy-chain方法是基于标准的,得到了广泛的应用,并且在所有的多核环境中都是有效的。
在daisy-chain方法中,JTAG调试器利用JTAG服务器的软件接口来解决多核环境中经常遇到的JTAG连接受限问题。不论内核位于何处,JTAG服务器都可通过JTAG接口来实现每个内核的编址。JTAG服务器也帮助开发者实现同一个JTAG下的内核同步、进程的起始与停止以及连接的增加和移除,而且不会影响到扫描链(Scan-Chain)中的处理器或整个系统。这种方法可以保持精确的时钟,同时为跨越多个内核的不同操作系统或者同一个操作系统中不同进程的调试提供便利,而daisy-chain方法的核心目标是性能和JTAG带宽的充分利用。
daisy-chain方法中JTAG的主要问题是在Shift-IR阶段发送的数据量取决于在扫描链中发出数据的装置数量以及每个设备的IR长度。例如,在一个包含3个装置的daisy-chain中访问一个8位IR寄存器需要24Bit的数据量。这类问题对于DR同样存在,但由于一个处于 bypass模式的装置在Shift-DR阶段实际上只需要1bit的数据,从而使这类问题的影响变得比较小。如果JTAG服务器能够设计得恰如其分,几乎就可以避免对性能造成任何影响。这也正是Wind River所提供的JTAG解决方案的最大特色。
OCD是多核调试利器
单一调试器的主流方法仍然是JTAG多路威廉希尔官方网站 。这种威廉希尔官方网站 对IEEE JTAG标准规范进行了拓展,以便为通过共享JTAG接口连接起来的每个内核提供独立的调试器。在多路威廉希尔官方网站 的支持下,通过对希望调试的内核进行注册登记(Registering),开发人员可经由单一JTAG接口访问多个离散状态的内核。这种解决方案的最大优势在于它的连接和调试性能。因为多路威廉希尔官方网站 单独连接到每个内核,因而避免了daisy-chaining方法中所遇到的比特位移(bit shifting)方面的麻烦,因而在单芯片中的多核系统中具有更高的性能。这种方式的另一个好处是不需要对开发工具进行修改,从而可以顺畅地应用在多个开发项目之中。
多路威廉希尔官方网站 方法所存在的主要问题是在多内核调试过程中无法同时启动和停止内核来同步应用。如果要停止全部内核,开发人员只能顺序地逐个进行,这就引发了调用延迟问题。在调试过程中的延迟问题,会导致很难在内核之间的操作系统、中间件和应用中找到发生问题的确切位置,特别是当运行在不同内核之中的应用存在相互依赖性的时候,这个问题就更为突出。例如,某个产品包含DSP功能和ARM 9内核,其中DSP用来处理视频流,ARM 9内核提供文件系统,那么内核的启动与停止同步将会十分关键。如果调试过程中在ARM内核的启动和DSP的停止之间出现过多的延迟,DSP视频流数据很快就会溢满ARM文件缓冲区,而视频流也将会中止。如果出现这种情况,就很难判断系统中的问题出在哪里。而且,多路进程也给开发人员在故障排除时带来了许多新的问题,将会大幅度增加调试时间。
另外,如果在有多个厂商芯片组成的异构多核环境中进行调试工作,例如处理器来自一个厂商,而DSP器件来自另一个厂商,还会有更复杂的问题需要处理。因为这种情况下的多路(Muxing)机制更为复杂,如果各部分之间的兼容性没有得到保证,也就很难保证系统正常运行。此时,仅仅依靠多路威廉希尔官方网站 是无法解决问题的,开发人员就需要采用可编址扫描端口(addressable scan port),这也可能是最后仅有的方法了。这种架构需要用到非常特殊的组件,这些组件可以让开发人员把JTAG扫描链分割成多个功能组,并通过唯一的地址来访问每个功能组。这是一种多支路(multi-drop)架构,经常被用于底板(Backplane)环境之中。在这里,有一个分别可编址的扫描链在底板内实现路由(Routed),从而使机箱中的每个底板都拥有自己专属的扫描链。这种架构的运行速度受限于可编址扫描端口的速度,最典型的情况是25MHz。
总之,在多核开发中,JTAG调试可以承担非常有价值的角色,有效地改善“编辑-编译-调试” 周期时间。然而,实现这一点的前提是把JTAG调试与基于标准的集成化开发环境(例如Eclipse)紧密地集成起来。最理想的威廉希尔官方网站 方案是,在Daisy Chain中采用遵从IEEE 1149.1 JTAG标准的单一的JTAG调试器,而JTAG的主要作用是改善系统的吞吐能力和性能。在On-Chip Debugging(片上调试)方面,Wind River可以提供独有的能力,在其产品中有效地集成了基于代理的调试威廉希尔官方网站 ,从而帮助开发人员,即使在面临非常复杂的系统时,也可以极大地改善调试工作效率。
利用Wind River提供的JTAG解决方案,也就是Workbench On-Chip Debugging,开发人员可以同时停止或者启动任何内核,在一个或者多个内核上设置断点,其中还可以包括条件断点。此外,Workbench Eclipse框架和基于代理的调试方式使开发人员在单一控制台上即可管理多内核/多处理应用的开发。开发人员可以在JTAG调试和基于代理调试二者之间灵活地选择,例如在硬件Bring-Up、内核、中间件和其他应用功能调试的时候采用JTAG连接,然后在自己认为适当的时机平滑地转移到基于代理的调试,而这些调试工作都是围绕着同一个应用的。这些能力都会增加不同开发人员之间的协同能力,同时改善异常问题的判定效率,从而加快整个开发与调试进程。
要想充分发挥多核以及多处理解决方案的潜能,仅仅拥有高性能的芯片是不够的,还需要采用新的编程方法、调试方法和工具。在传统上,JTAG调试威廉希尔官方网站 主要是用于硬件Bring-Up,如今也常常被用于配合基于代理的调试(agent-based debugging)。然而,在多核和多处理的环境中,片上调试(on-chip debugging)正在扮演着越来越重要的角色。
多核软件调试的难点所在
多核环境显著增加了系统复杂度,因此在对操作系统和与多核相关的硬件进行调试的时候,就必须采用一整套更有效的工具。在嵌入式软件开发工作中,多核主要呈现为多处理的形式,而这些处理器的内核不一定要处在同一个芯片之中。不论这些处理器内核是在同一个芯片之中,或者是分布在同一个电路板中的多个芯片之中,甚至是同一个系统中的多个电路板之中,开发人员都必须解决好多处理环境中的调试问题。
多核与多处理威廉希尔官方网站 为系统调试带来了许多新的挑战,因为系统复杂度不断增加,要通过优化硬件和软件来充分发挥其中的性能潜力,难度就更大了。其中最主要的挑战来自以下几个方面:第一,有效地管理内存和外设等共享资源;第二,在多内核、多电路板和多操作系统的环境中对操作系统和应用代码进行调试;第三,优化JTAG接口并充分利用JTAG带宽;第四,调试单一芯片中的同构和异构多核,进而实现整个系统的协同调试;第五,有效地利用JTAG与基于代理的调试方法,确保不同调试工具之间的顺畅协同;第六,确保多核环境中应用调试的同步机制。
在多核调试中,主要是在解决一个核心问题——由SoC厂商所提供的JTAG接口所造成的局限性。为了节省成本,许多SoC厂商都只为芯片提供单一的JTAG接口,而不理会其中包含了多少个内核。对于开发者来说,最大的挑战就是经济有效地使用这些接口来同步多核以及多处理的调试工作,而经常用到的就是采用IEEE 1149.1标准daisy-chain方法。
在JTAG接口中有4条线:TDI、TDO、TCK和TMS。为了在多核调试中能够与LTAG接口相连,主要涉及到TDI和TDO。在daisy-chain中,前一个内核的输出被连接到后一个内核的输入,以这种方式连接,直到抵达所有的内核。daisy-chain方法是基于标准的,得到了广泛的应用,并且在所有的多核环境中都是有效的。
在daisy-chain方法中,JTAG调试器利用JTAG服务器的软件接口来解决多核环境中经常遇到的JTAG连接受限问题。不论内核位于何处,JTAG服务器都可通过JTAG接口来实现每个内核的编址。JTAG服务器也帮助开发者实现同一个JTAG下的内核同步、进程的起始与停止以及连接的增加和移除,而且不会影响到扫描链(Scan-Chain)中的处理器或整个系统。这种方法可以保持精确的时钟,同时为跨越多个内核的不同操作系统或者同一个操作系统中不同进程的调试提供便利,而daisy-chain方法的核心目标是性能和JTAG带宽的充分利用。
daisy-chain方法中JTAG的主要问题是在Shift-IR阶段发送的数据量取决于在扫描链中发出数据的装置数量以及每个设备的IR长度。例如,在一个包含3个装置的daisy-chain中访问一个8位IR寄存器需要24Bit的数据量。这类问题对于DR同样存在,但由于一个处于 bypass模式的装置在Shift-DR阶段实际上只需要1bit的数据,从而使这类问题的影响变得比较小。如果JTAG服务器能够设计得恰如其分,几乎就可以避免对性能造成任何影响。这也正是Wind River所提供的JTAG解决方案的最大特色。
OCD是多核调试利器
单一调试器的主流方法仍然是JTAG多路威廉希尔官方网站 。这种威廉希尔官方网站 对IEEE JTAG标准规范进行了拓展,以便为通过共享JTAG接口连接起来的每个内核提供独立的调试器。在多路威廉希尔官方网站 的支持下,通过对希望调试的内核进行注册登记(Registering),开发人员可经由单一JTAG接口访问多个离散状态的内核。这种解决方案的最大优势在于它的连接和调试性能。因为多路威廉希尔官方网站 单独连接到每个内核,因而避免了daisy-chaining方法中所遇到的比特位移(bit shifting)方面的麻烦,因而在单芯片中的多核系统中具有更高的性能。这种方式的另一个好处是不需要对开发工具进行修改,从而可以顺畅地应用在多个开发项目之中。
多路威廉希尔官方网站 方法所存在的主要问题是在多内核调试过程中无法同时启动和停止内核来同步应用。如果要停止全部内核,开发人员只能顺序地逐个进行,这就引发了调用延迟问题。在调试过程中的延迟问题,会导致很难在内核之间的操作系统、中间件和应用中找到发生问题的确切位置,特别是当运行在不同内核之中的应用存在相互依赖性的时候,这个问题就更为突出。例如,某个产品包含DSP功能和ARM 9内核,其中DSP用来处理视频流,ARM 9内核提供文件系统,那么内核的启动与停止同步将会十分关键。如果调试过程中在ARM内核的启动和DSP的停止之间出现过多的延迟,DSP视频流数据很快就会溢满ARM文件缓冲区,而视频流也将会中止。如果出现这种情况,就很难判断系统中的问题出在哪里。而且,多路进程也给开发人员在故障排除时带来了许多新的问题,将会大幅度增加调试时间。
另外,如果在有多个厂商芯片组成的异构多核环境中进行调试工作,例如处理器来自一个厂商,而DSP器件来自另一个厂商,还会有更复杂的问题需要处理。因为这种情况下的多路(Muxing)机制更为复杂,如果各部分之间的兼容性没有得到保证,也就很难保证系统正常运行。此时,仅仅依靠多路威廉希尔官方网站 是无法解决问题的,开发人员就需要采用可编址扫描端口(addressable scan port),这也可能是最后仅有的方法了。这种架构需要用到非常特殊的组件,这些组件可以让开发人员把JTAG扫描链分割成多个功能组,并通过唯一的地址来访问每个功能组。这是一种多支路(multi-drop)架构,经常被用于底板(Backplane)环境之中。在这里,有一个分别可编址的扫描链在底板内实现路由(Routed),从而使机箱中的每个底板都拥有自己专属的扫描链。这种架构的运行速度受限于可编址扫描端口的速度,最典型的情况是25MHz。
总之,在多核开发中,JTAG调试可以承担非常有价值的角色,有效地改善“编辑-编译-调试” 周期时间。然而,实现这一点的前提是把JTAG调试与基于标准的集成化开发环境(例如Eclipse)紧密地集成起来。最理想的威廉希尔官方网站 方案是,在Daisy Chain中采用遵从IEEE 1149.1 JTAG标准的单一的JTAG调试器,而JTAG的主要作用是改善系统的吞吐能力和性能。在On-Chip Debugging(片上调试)方面,Wind River可以提供独有的能力,在其产品中有效地集成了基于代理的调试威廉希尔官方网站 ,从而帮助开发人员,即使在面临非常复杂的系统时,也可以极大地改善调试工作效率。
利用Wind River提供的JTAG解决方案,也就是Workbench On-Chip Debugging,开发人员可以同时停止或者启动任何内核,在一个或者多个内核上设置断点,其中还可以包括条件断点。此外,Workbench Eclipse框架和基于代理的调试方式使开发人员在单一控制台上即可管理多内核/多处理应用的开发。开发人员可以在JTAG调试和基于代理调试二者之间灵活地选择,例如在硬件Bring-Up、内核、中间件和其他应用功能调试的时候采用JTAG连接,然后在自己认为适当的时机平滑地转移到基于代理的调试,而这些调试工作都是围绕着同一个应用的。这些能力都会增加不同开发人员之间的协同能力,同时改善异常问题的判定效率,从而加快整个开发与调试进程。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 轧机牌坊滑板压亏修复的新方法 0次下载
- 氢压机轴承位磨损维修的新方法 0次下载
- VLSI系统设计的最新方法
- 并联APF直流侧电压选择新方法
- LTE深度覆盖创新方法(推荐)简介 6次下载
- AD采集的新方法资料分享 10次下载
- 多核软件调试方法与困难 0次下载
- 基于功率潮流分析的电能计量新方法_张晓冰 0次下载
- 机场场面监视雷达目标检测新方法 0次下载
- S曲线加减速速度控制新方法 15次下载
- S曲线加减速控制新方法的研究 20次下载
- 提高软件可靠性模型精度的新方法 0次下载
- 虚拟环境中软体的包围盒更新方法分析
- 虚拟环境中软体的包围盒更新方法分析
- 消除反射波干扰的新方法及其性能分析
- 实践JLink 7.62手动增加新MCU型号支持新方法 272次阅读
- 使用CodeViser调试RK3399多核芯片的过程 1209次阅读
- 创建/提取整个Zip文件的新方法 691次阅读
- 在IAR Embedded Workbench for Arm中进行多核调试 2061次阅读
- hypervisor的调试分析方法 1281次阅读
- 掌握多核编程和调试的挑战 1875次阅读
- 多核JTAG调试方法的特点及应用挑战 3389次阅读
- IMEC提出扇形晶圆级封装的新方法 4030次阅读
- 物理学家发现利用电流控制纳米级磁铁的新方法 3379次阅读
- 目前微通道面临的限制,突破硅威廉希尔官方网站 的一种新方法 4264次阅读
- 一种基于深度神经网络的迭代6D姿态匹配的新方法 3666次阅读
- 一种新方法来检测这些被操纵的换脸视频的“迹象” 5648次阅读
- DENSER是一种用进化算法自动设计人工神经网络(ANNs)的新方法 6466次阅读
- 串口通信调试软件的功能与使用方法 1.7w次阅读
- sdwebimage清除缓存方法 3539次阅读
下载排行
本周
- 1感应笔电路图
- 0.06 MB | 7次下载 | 免费
- 2美的电磁炉维修手册大全
- 1.56 MB | 5次下载 | 5 积分
- 3Cortex-M3/M4F指令集威廉希尔官方网站 用户手册
- 2.28MB | 3次下载 | 免费
- 4SMD LED选型手册 贴片灯珠
- 5.47 MB | 3次下载 | 免费
- 5基于PLC的拉丝机张力控制系统研究
- 0.14 MB | 2次下载 | 5 积分
- 6LZC3106G高性能谐振控制器中文手册
- 1.29 MB | 1次下载 | 1 积分
- 7JL2233B集成电平转换功能的LDO中文手册
- 0.50 MB | 1次下载 | 免费
- 8加密芯片的一种破解方法和对应加密方案改进设计
- 0.29 MB | 1次下载 | 免费
本月
- 1使用单片机实现七人表决器的程序和仿真资料免费下载
- 2.96 MB | 44次下载 | 免费
- 2UC3842/3/4/5电源管理芯片中文手册
- 1.75 MB | 19次下载 | 免费
- 3华瑞昇CR216芯片数字万用表规格书附原理图及校正流程方法
- 0.74 MB | 14次下载 | 3 积分
- 4DMT0660数字万用表产品说明书
- 0.70 MB | 13次下载 | 免费
- 53314A函数发生器维修手册
- 16.30 MB | 13次下载 | 免费
- 6TPS54202H降压转换器评估模块用户指南
- 1.02MB | 8次下载 | 免费
- 7STM32F101x8/STM32F101xB手册
- 1.69 MB | 8次下载 | 1 积分
- 8感应笔电路图
- 0.06 MB | 7次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935119次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420062次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183335次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73807次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65987次下载 | 10 积分
评论
查看更多