面向嵌入式系统的多核调试工具研究与实现

来源 :电子科技大学 | 被引量 : 2次 | 上传用户:Cecil1119
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
生活中嵌入式系统的应用无处不在,从通信、消费电子产品到汽车电子、智能机器、工业控制和卫星导航,其使用数量已经大大超过了通用计算机,嵌入式设备以其低功耗、可靠性高、面向特定应用和可按需灵活定制等优点而获得广泛应用。嵌入式多核技术的出现进一步增强了嵌入式系统的处理能力,但也随之带来针对多核系统进行程序开发的困难。目前,多核调试器主要基于硬件实现。传统的交叉调试器不仅体积庞大,而且不能控制程序的调度,程序的调度运行都由操作系统来完成,不能支持多核调试。硬件多核调试器不仅价格高而且不具有通用性,嵌入式设备上的运行的操作系统却具有比较普遍的通用性,所以开发软件多核调试工具成为了人们关注的焦点。本文首先深入研究了arm-linux系统的调试支持机制、交叉调试器的实现原理,参考并总结了硬件多核调试技术的特点。在此基础上,进一步改进交叉调试器的设计,实现了具有基本调试功能的多核交叉调试器。该调试器实现了传统的基本调试功能,如设置断点、单步运行、读写变量等,并增加了部分多核调试功能,主要有:实时获取运行进程的内核id、可选择运行程序的内核、对指定核发送调试命令、控制各个内核的执行状态和实时获取每个核上当前运行程序的上下文。通过上述功能,能让程序开发者更深入的了解程序在目标机的运行状态,更好的定位程序中的各种错误和异常。为此,本文选择全志A33 ARM-Cortex-A7目标板,在基于arm-linux系统下设计了该调试器,该调试工具在设计上相对传统交叉调试器进行了一些改进,比如将断点信息保存在宿主机端等,并对整体架构进行了重新设计,使整个系统变的更加精简。文中详细分析并实现了调试器的各个功能模块,如:符号解析、异常处理等,使调试器的实现原理一目了然,通过设置进程或线程的cpu亲和性、核间中断和绑定指定进程或线程到特定内核运行等方式实现了使指定核执行调试命令的功能,能实时查看指定核的状态,能够比较全面的了解整个系统的运行情况。接着对调试代理进行改进,使得多宿主机远程共享目标机调试成为可能。最后,经过测试,新设计的软件多核交叉调试工具比较好的支持了远程多核交叉调试的需求,充分的利用了多核cpu的处理能力,提高了多核程序的开发效率。
其他文献
当下互联网技术迭代更新频繁,网络社交媒体更是呈现出蓬勃的发展态势,民众在互联网上发表意见的渠道得到了极大拓展,造成了网络信息资源的极速增长。网络信息资源通常以非结
互联网时代的到来,给人们生活带来了极大的方便,各种数字化多媒体产品都应时而生,如:图像、音频和视频等。由于人们的关注和热衷,网络的开放和共享,使得它们成为不法人士非法获取、
  运动目标检测是视频研究中的第一步也是重要的一步,运动目标检测已经被广泛应用于体育、医学、航空、视频监控、人类行为认知和视频检索等方面。人类的视觉系统对在静态和
随着互联网技术的飞速发展和云计算平台的兴起,云存储逐渐成为现代存储服务的提供方式,同时互联网规模爆炸式的增长,对网络服务器数据处理能力要求越来越高,服务器集群技术凭借其
单核苷酸多态性(Single Nucleotide Polymorphism,SNP)指的是在基因组水平上因单个核苷酸变异所引起的DNA序列的多态性。关联分析中尽管使用所有的SNP可以具有较高的效能,但是代
随着无线传感网络(WSN, Wireless Sensor Network)技术的进步,WSN被应用于越来越多的领域,其主要功能是数据汇集。显然,只有当整个网络处于有效的工作状态,才能进行数据汇集
全球互联网技术的快速发展为网络安全提出了新的挑战,现存的安全信息系统和各种网络设备仅能从某一侧面来维护网络的安全。很多组织为了解决层出不穷的安全问题而购置了各种网
粗糙集理论是能有效地分析不一致、不精确和不完整等各种信息的一种数学工具,目前广泛应用于人工智能、模式识别和知识发现等方面,其研究的核心内容是属性约简。属性约简是在保
基于视觉的运动人体检测与行为识别涉及图像处理、模式识别的核心问题,在安全和军事等领域有广泛前景。因此在固定单摄像机下,研究运动目标检测与跟踪获取单人姿态序列,构造时空
随着PC机上很多新颖的3D应用被移植到移动设备上,而移动设备是电池供电的,因此其能量消耗已经成为一个迫切需要解决的问题。目前存在两种体系架构:传统的CPU架构和比较流行的C