一种嵌入式系统内存越界错误快速定位方法教案.docxVIP

一种嵌入式系统内存越界错误快速定位方法教案.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE  PAGE 6 说 明 书 摘 要 发明名称 一种嵌入式系统内存越界错误快速定位方法 申请人 武汉烽火网络有限责任公司 地址 430074 湖北省武汉市 发明人 戴锦友, 余少华,汪学舜,刘志炉 摘要 本发明涉及一种嵌入式系统中的内存越界错误快速定位方法,具体涉及一种借助于可编程逻辑器件,结合硬件和软件,快速确定引起内存越界错误的任务/进程以及该任务/进程调用的直接引起内存越界错误的具体函数。该方法的目标是:通过可编程器件监视被越界使用的内存区域,当该内存区域被访问时,可编程逻辑器件向CPU产生中断,中断服务程序查询在发生本次中断前,当前正在执行的任务A,并借助于可编程逻辑器件上存储的任务信息,判断任务A是否是该内存区域的合法访问任务,如果不是,则将任务A的信息告知检测任务/进程M,任务/进程M通过任务A的控制块得到当前该任务执行的指令计数器,基于指令计数器的值得到访问该内存区域的函数,如果该函数是该内存区域合法的访问函数,则系统恢复继续运行,否则确定该函数是直接引起内存越界的函数。 摘 要 附 图 采样地址总线,得到当前访问内存的地址 将得到的地址与设定的内存监视范围进行比较,确定它是否在监视的内存范围内,并标记 是否在监视范围内 “启动/停止”置“停止” 向CPU产生中断 是 否 是 可编程逻辑器件的功能 设定合法访问该内存范围的任务集+函数集信息 设定监视的内存范围集 设定采样周期 “启动/停止”=“启动”? 否 B.CPU的功能 B.1 中断服务程序的功能 得到当前被中断的任务或进程A标识 存储A标识,并通知监测任务/进程 结束 有中断事件? 是 否 B.2 管理任务/进程的功能 获取A标识,并基于A标识得到任务/进程控制块,进一步得到当前执行的指令地址,并判断该任务是否合法访问任务,该地址对应函数是否合法访问函数 输出该任务/进程名、任务进程标识以及指令地址 是否是合法访问函数 否 是 否 是 是否合法访问任务 “启动/停止”置“启动” 权 利 要 求 书 1. 一种嵌入式系统内存越界的快速检测方法,包括如下特征: (1)嵌入式系统使用一片可编程逻辑器件,将嵌入式系统内CPU的地址总线作为可编程逻辑器件的输入,将可编程逻辑器件的1路信号设计为输出,并将它与CPU的外部中断请求信号相连接。 (2)通过CPU设置可编程器件的内存监视范围M和可以合法访问该内存区域的任务信息及函数信息。 (3)当嵌入式系统正常工作时,可编程器件周期性的对地址总线采样,如果当前采样的地址在监视的内存范围内,则可编程器件通过输出信号向CPU发出中断请求。 (4)系统软件中,有一个中断服务程序S对应上述的中断,同时有一个检测任务/进程C用于对中断服务程序S得到的信息作进一步处理。 (5)CPU收到中断请求时,执行中断服务程序,中断服务程序获取当前执行的任务/进程A,并基于可编程逻辑器件存储的任务信息判断任务/进程A是否为监视的内存区域M的合法访问任务,如是,则中断处理结束;如不是,则向任务/进程C通告任务/进程A的相关信息。 (6)任务/进程C根据得到的任务/进程A相关信息,得到访问内存区域M的指令地址,结合可编程逻辑器件中存储的任务集、函数集信息,确定上述指令地址对应的函数是否为内存区域M的合法访问函数,如果不是,则输出任务/进程A及指令地址。 2. 如权利要求1所述的嵌入式系统,其特征在于:该嵌入式系统的软件基于实时多任务操作系统,该实时多任务操作系统可以是VXWORKS、LINUX、OS II、ECOS等嵌入式操作系统中的一种。 3. 如权利要求1所述的嵌入式系统,其特征在于:可编程逻辑器件可以是GAL、CPLD或FPGA等器件,如系统内已有此类器件,可直接与其它功能模块复用此器件,而不需专门增加一片此类器件;如系统内没有此类器件,则可视具体情况选用合适的器件。 4. 如权利要求1所述的嵌入式系统,其特征在于:配置到可编程逻辑器件中的内存范围信息包含最低内存地址和最高内存地址,可同时配置一条或多条内存范围信息。 5. 如权利要求1所述的嵌入式系统,其特征在于:配置到可编程逻辑器件中的任务信息包含任务标识和任务名,函数信息包含函数名、函数起始地址和函数结束地址,任务信息和函数信息都可以配置一条或多条,函数信息必需与某任务信息关联。 说 明 书 一种嵌入式系统内存越界错误快速定位方法 技术领域 本发明涉及一种嵌入式系统中的内存越界错误快速定位方法,具体涉及一种借助于可编程逻辑器件,结合硬件和软件,快速确定引起内存越界错误的任务/进程以及该任务/进程调用的直接引起内存越界错误的具体函数的方法。 背景技术 内存越界错误是软件中比较常见的错误,也是非常致命的错误。C语言的广泛应用是一把双

文档评论(0)

武神赵子龙 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档