×

ARM子系统运行流程控制和异常定位分析

消耗积分:1 | 格式:rar | 大小:0.3 MB | 2017-10-20

分享资料个

 引言
  随着多核产品的日益普及,对跟踪调试系统解决方案的性能要求也愈来愈高。ARM公司针对复杂片上系统(SoC)设计推出了高度可配置的跟踪调试解决方案ARMCoreSightSoC,它满足了软件开发人员在SoC设计方面需要更高可视性的要求。在嵌入式应用系统复杂性越来越高的今天,跟踪调试技术在整个系统开发过程中所占的比重也越来越大。因此,拥有高效、强大的跟踪调试技术可以大大减少整个系统的开发时间,缩短产品面市时间,减轻系统开发的工作量。
  在TD-LTE多模基带平台的开发中,既要满足多种模式(TD-LTE、TD-SCDMA和GSM)下跟踪技术的一致性,又要满足TD-LTE的高效率要求,更要保证跟踪信息的有序性、正确性和实时性,这对跟踪技术提出了更高的要求。通过对原始跟踪技术方案与新跟踪方案的性能进行对比分析,来选择更加适合TD-LTE多模基带平台的跟踪软件技术。
  1 总体概述
  在多模终端的开发中,跟踪技术对终端的性能有着至关重要的作用。由于本项目是多模单带芯片的开发,多种系统的模式切换对微处理器的要求较高,鉴于ARM11系列处理器具有超强的性能,采用ARM新指令架构——ARMv6设计实现,故本项目采用ARM1176JZ内核。
  ARMv6架构通过以下几点来增强处理器的性能:
  ①多媒体处理扩展,使MPEG4编码/解码速度和音频处理速度加快一倍;
  ②增强的Cache结构,实地址Cache4减少Cache的刷新和重载,减少上下文切换的开销;
  ③增强的异常和中断处理,使实时任务的处理更加迅速;
  ④支持Unaligned和Mixed-endian数据访问,使数据共享、软件移植更简单,也有利于节省存储器空间。
  在多模芯片的开发中,本项目将跟踪技术作为芯片软件开发中的一个小模块来处理,其系统结构如图1所示。
  ARM子系统运行流程控制和异常定位分析
  当其他模块有跟踪信息打印时,其他模块调用TRACE模块提供的打印函数。TRACE模块接收到打印信息后,通过设置打印参数来判断是否需要把这些打印信息发送到PC机。如果需要,则通过UART串口将打印信息传送到PC机的TRACE跟踪软件,TRACE模块对其进行解码之后,通过解码软件显示出来。
  2 原始跟踪方案
  2.1 缓存管理机制
  原方案中的缓存管理机制采用备份缓存管理机制,采用含跟踪头和跟踪信息的跟踪信息帧格式,将跟踪信息写入一个大小为128 KB的全局跟踪信息缓存中。为避免在任务切换频繁时,当前任务被高优先级任务打断造成数据丢失,申请一个16 KB的备份缓存用于存放高优先级任务跟踪信息。若当前跟踪源在进行写人操作,高优先级任务调用跟踪接口,当前跟踪源的任务就被抢占,则将高级任务的跟踪信息写入备份缓存中,当前跟踪源继续进行当前未完成的写操作。
  每次写完当前跟踪信息,检查备份缓存中是否有数据,若有,则将备份缓存中的跟踪信息拷回至全局跟踪信息缓存中,从而保证全局跟踪信息缓存中跟踪信息的连续性,原始方案跟踪缓存场景图如图2所示。在本方案中,缓存机制内部采用svnsprintf函数将跟踪信息写入缓存,该函数可以满足跟踪源打印多个变量的值,通过遍历参数列表,找出跟踪源需要打印参数的类型和个数,这样跟踪源在打印动态临时字符串时使用统一的跟踪接口,使其他模块的跟踪源在使用跟踪接口时更加方便。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !