嵌入式软件跟踪信息嵌套缓存机制和解析机制的设计
时间:10-18
来源:互联网
点击:
在传输控制单元,通过配置DMA总线,设置发送目的地址及长度,将全局跟踪信息缓存中的跟踪信息搬移至串口寄存器中。PC端接收装置从串口寄存器中取出数据,放入PC端解析显示单元跟踪信息缓存区域,通过跟踪信息普通查询解析机制,将以X开头并以X结尾的完整跟踪信息解析出来。其中每个跟踪信息缓存区尾部都设置一个保护数据区,保护区长度为单条信息最大长度L。
该方案通过备份缓存机制解决了数据丢失问题,保证了跟踪信息输出的连续性和完整性。但由于备份缓存向全局跟踪缓存进行跟踪信息回拷过程,要大量占用ARM处理器CPU资源,导致该方案在对嵌入式系统运行速率要求高的环境中运行效率较低。
结语
针对现有的跟踪软件运行速率低、跟踪信息乱序、丢失严重等情况,提出了两种解决方案。一种是在ARM端采取物理连续存储方式进行编码,在PC端通过递归调用算法对嵌套跟踪信息进行重新组装,最后将解析后完整的码流转化为可见字符串输出。此方案适用于对ARM子系统运行速率要求较高,且PC端可用资源充足的软件跟踪系统。另一种方案是在ARM端将高级任务跟踪信息写入备份缓存,再通过数据回拷方式将备份缓存中的跟踪信息写入全局跟踪信息缓存区域。该方案在PC端解码时只需查询跟踪头标识进行解码,并将解析后连续的码流转化为可见字符串输出,适用于对嵌入式系统运行速率要求不高且PC端资源有限的软件跟踪系统。
以上两种方案均能保证输出跟踪信息的连续完整性,解决了Nucleus实时操作系统下低优先级任务会被高优先级任务抢占,从而可能出现的跟踪任务冲突而导致的跟踪信息相互覆盖、乱序等问题,为软件开发人员分析定位问题提供了更可靠的嵌入式软件实时跟踪系统,提高了其分析解决问题的效率。
- Linux嵌入式系统开发平台选型探讨(11-09)
- 基于Winodws CE的嵌入式网络监控系统的设计与实现(03-05)
- 嵌入式系统实时性的问题(06-21)
- 嵌入式实时系统中的优先级反转问题(06-10)
- 嵌入式Linux系统中MMC卡驱动管理技术研究(06-10)
- FPGA的DSP性能揭秘(06-16)