一种单片机后台调试的系统及方法.pdf

上传人:小** 文档编号:643670 上传时间:2018-03-01 格式:PDF 页数:18 大小:695.30KB
返回 下载 相关 举报
摘要
申请专利号:

CN200410015211.9

申请日:

2004.01.16

公开号:

CN1558334A

公开日:

2004.12.29

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):G06F 13/36申请日:20040116授权公告日:20070131终止日期:20140116|||授权|||实质审查的生效|||公开

IPC分类号:

G06F13/36

主分类号:

G06F13/36

申请人:

中兴通讯股份有限公司;

发明人:

谢志雄; 张彦春; 周志雄; 崔卓

地址:

518057广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明公开了一种单片机后台调试的系统和方法,所述系统至少包括一个物理驱动模块,一个数据链路模块,一个前后台通讯模块和一个应用功能模块。物理驱动模块利用单片机的串口或扩展设备在后台调试系统和单片机应用系统之间建立联系;数据链路模块,负责物理驱动模块和前后台通讯模块的数据发送、处理;前后台通讯模块是前后台通讯接口,负责数据链路模块和应用功能模块的数据发送。在所述系统上,用户可裁剪设置也可在其基础上开发新的调试方法。本发明克服了传统单片机开发没有后台调试的弊端,为开发者提供一个可裁剪、可扩展的后台调试系统和方法,方便单片机的开发。

权利要求书

1: 一种单片机后台调试的系统,其特征在于,至少包括一个物理 驱动模块,一个数据链路模块,一个前后台通讯模块和一个应用功 能模块; 所述的物理驱动模块利用单片机的串口或扩展设备在后台调试 系统和单片机应用系统之间建立联系; 所述的数据链路模块,将所述物理驱动模块发来的数据解析、 取出并发送到所述前后台通讯模块,将该前后台通讯模块发来的数 据发送到所述物理驱动模块; 所述的前后台通讯模块是前后台通讯接口,将所述数据链路模 块发来的数据取出,派发到应用功能模块的相应部分进行处理,并 将应用功能模块发来的数据发送给数据链路模块; 所述的应用功能模块实现后台调试,包括界面的实现以及和前 后台通讯模块的消息交互。
2: 一种单片机后台调试的方法,通过前述单片机后台调试系统 实现,其特征在于至少包括下列任意一种后台调试:应用程序框架 向导,运行信息观察,软件下载,查询软件版本及编译时间,统计 CPU利用率,查询或设置单片机各状态寄存器,查询修改变量,运 行任一函数,调试接口控制读写单片机资源,批处理,消息调试, 保存界面设置,所述单片机后台调试方法包括如下步骤: 步骤1前述应用功能模块向前述前后台通讯模块发送后台调试 请求信息; 步骤2前述前后台通讯模块将该调试请求信息数据发送到前述 数据链路模块; 步骤3前述数据链路模块将该调试请求信息数据发送到前述 物理驱动模块; 步骤4前述物理驱动模块利用单片机的串口或扩展设备在后 台调试系统和单片机应用系统之间建立联系,并将前述数据链路模 块发来的该调试请求信息数据发送到单片机应用的系统进行处理; 步骤5前述物理驱动模块接收由单片机应用系统处理后返回 的调试信息数据,并向前述数据链路模块发送返回的调试信息数 据; 步骤6前述数据链路模块,将该返回的调试信息数据解析、 取出,发送到前述前后台通讯模块; 步骤7前述前后台通讯模块将该返回的调试信息数据取出,派 发到前述应用功能模块; 步骤8前述应用功能模块根据前述前后台通讯模块返回的该调 试信息,实现后台调试。
3: 根据权利要求2所述的方法,其特征在于: 所述应用程序框架向导实现如下:在后台界面专门配置后台功 能,并使用配置的功能;后台将配置后其生成的文件发给前台;前 台将原来的配置文件覆盖; 所述运行信息观察实现如下:前后台通过消息交互实现启动、 停止、禁止、保存、删除运行信息,后台显示将要打印的运行信 息; 所述查询软件版本及编译时间实现如下:后台在查询界面查 询,通过前后台通讯模块将消息发送到前台;前台收到消息后将软 件版本及编译时间的信息返回,后台收到信息后,在所述查询界面 上显示; 所述统计CPU利用率实现如下:后台通过前后台通讯模块向前 台发送统计前台CPU利用率的消息;前台收到消息后将统计数据返 回后台显示; 所述查询或设置单片机各状态寄存器实现如下:后台将要查询 和设置的单片机状态寄存器的地址通过消息发出;前台收到消息后 取出读取的值或者写入设置的值,然后返回读取或设置成功的消息 给后台; 所述查询修改变量实现如下:在下到单片机之前的最后一次编 译后,生成一个map文件,后台将该文件导入,显示要查询和修改 的变量名;查询时,将map文件中对应的变量地址通过消息发出, 然后等待返回查询值和修改结果; 所述运行任一函数实现如下:在下到单片机之前的最后一次编 译后,生成一个map文件;后台将该文件导入,显示要查询和修改 的变量名;查询时,将函数的入口地址通过消息发出,等待前台返 回查询值和修改结果; 所述调试接口控制读写单片机资源实现如下:先定义好查询结 构,具体应包含几种单片机资源的区分、查询操作对象的类型区 分、查询内容对应的地址和查询内容的大小;再读入前台程序编译 后的map文件,将查询内容对应的地址和大小在界面上显示;然后 选取多条或一条要查询的内容,进行查询来调用前后台通讯模块接 口函数将消息发出,等待前台回应; 所述消息调试实现如下:发送单条消息,按照通讯协议来安排 界面; 所述保存界面设置实现如下:在退出后台的时候,将所有后台 的设置和当前信息,保存到ini文件中,每次后台启动时读取ini 文件; 所述批处理实现如下:在调试的时候开发者可以在后台根据需 要将消息派发到前台;制定好消息文件然后多条或单条导入,定时 或手动发送;开发者可以在批处理界面上随意的编辑任何一条消 息,每次关闭所述批处理界面时系统自动将开发者编辑好的消息存 入指定文件。
4: 根据权利要求2所述的方法,其特征在于,所述的调试接口 控制读写单片机资源中:所述的单片机资源的区分,包括串行的可 擦除程序存储器、总线芯片的寄存器;所述的查询操作对象的类型 区分,包括程序存储器、内部RAM、特殊功能寄存器;所述查询内 容对应的地址,需要读入map文件。
5: 根据权利要求2所述方法,其特征在于,所述的批处理中, 所述制定好消息文件是制定用户文件,开发者根据各自系统的消息 将其制成*.dat文件。
6: 根据权利要求2、5所述方法,其特征在于,所述批处理 中,关闭所述批处理界面时,如果是第一次使用,用户需要指定路 径和文件名存入。

说明书


一种单片机后台调试的系统及方法

    【技术领域】

    本发明涉及单片机应用系统,尤其是涉及8051单片机后台调试的系统。

    背景技术

    8051及与其兼容的系列单片机作为工业的标准技术,广泛应用于各类电器及通讯产品中。一般说来,单片机的应用过程是这样的。首先将单片机程序通过烧录器烧入,然后将单片机插入上电。对于开发者来说程序中可能会有很多的打印信息,这些打印信息可以通过串口打到超级终端或者通过其他的物理设备显示在指定的窗口,除此之外就只有不停的观察打印出来的信息。当单片机程序一旦运行中断或者单片机应用系统出现故障的时候,我们一般很难定位到底问题出在那里,如果打印信息不够的话,甚至不知道程序到底在什么位置运行出错的。并且当程序有所改动,那怕是小小的一点改动,都要重新用烧录器将程序烧入,虽然有些单片机厂家提供了引导程序,但是由于不同的厂家引导程序不一样,导致通用性很差,不能统一应用。此外,在程序写入单片机之前是可以进行仿真调试,一旦程序写到单片机,通常是无法进行远程动态调试,这对单片机的使用带来很大的不便,还没有从根本上解决单片机应用的另外一个调试的问题。

    现有技术的缺陷是没有提供跟踪调试的工具,在单片机程序运行后无法对其工作情况进行监控定位,在程序修改后不能直接进行下载。

    【发明内容】

    本发明目地是提供一种实现对单片机运行进行后台调试的系统和方法,克服现有技术无法观察单片机系统运行,无法在出现问题或故障时实现快速的查找和定位的技术问题。

    本发明所述的单片机后台调试的系统,至少包括一个物理驱动模块,一个数据链路模块,一个前后台通讯模块和一个应用功能模块。

    所述的物理驱动模块利用单片机的串口或扩展设备在后台调试系统和单片机应用系统之间建立联系。

    所述的数据链路模块,将所述物理驱动模块发来的数据解析、取出并发送到所述前后台通讯模块,将该前后台通讯模块发来的数据发送到所述物理驱动模块。

    所述的前后台通讯模块是前后台通讯接口,将所述数据链路模块发来的数据取出,派发到应用功能模块的相应部分进行处理,并将应用功能模块发来的数据发送数据链路模块。

    所述的应用功能模块实现后台调试,包括界面的实现以及和前后台通讯模块的消息交互。

    本发明所述的单片机后台调试的方法,在所述实现单片机后台调试系统中至少能实现下列任意一种后台调试:应用程序框架向导,运行信息观察,软件下载,查询软件版本及编译时间,统计CPU利用率,查询或设置单片机各状态寄存器,查询修改变量,运行任一函数,调试接口控制读写单片机资源,批处理,消息调试,保存界面设置。本发明所述单片机后台调试方法包括如下步骤:

    步骤1  前述的应用功能模块向前述前后台通讯模块发送后台调试请求信息;

    步骤2  前述的前后台通讯模块将该调试请求信息数据发送到前述数据链路模块;

    步骤3  前述的数据链路模块将该调试请求信息数据发送到前述物理驱动模块;

    步骤4  前述的物理驱动模块利用单片机的串口或扩展设备在后台调试系统和单片机应用系统之间建立联系,并将前述的数据链路模块发来的调试请求信息数据发送到单片机应用的系统进行处理;

    步骤5  前述的物理驱动模块接收由单片机应用系统处理后返回的调试信息数据,并向前述的数据链路模块发送返回的调试信息数据;

    步骤6  前述的数据链路模块,将该返回的调试信息数据解析、取出,发送到前述前后台通讯模块;

    步骤7  前述的前后台通讯模块将该返回的调试信息数据取出,派发到前述应用功能模块;

    步骤8  前述的应用功能模块根据前述前后台通讯模块返回的该调试信息,实现后台调试。

    所述应用程序框架向导实现如下:在后台界面专门配置后台功能,配置完后,只可以使用配置的功能,增加新功能需要重新配置;后台将配置后其生成的文件发给前台,前台将原来的配置文件覆盖。

    所述运行信息观察实现如下,前后台通过消息交互实现启动、停止、禁止、保存、删除运行信息,后台显示将要打印的运行信息,且可以将界面上的运行信息删除或保存。

    所述软件下载实现如下:根据给定的软件下载标准,来接收和发送下载的数据,在下载过程中禁止其他一切工作,直至下载完成。

    所述查询软件版本及编译时间实现如下:后台在所述查询界面查询,通过前后台通讯模块将消息发送到前台;前台收到消息后将软件版本及编译时间的信息返回,后台收到后,在所述查询界面上显示。

    所述统计CPU利用率实现如下:后台通过前后台通讯模块发送统计前台CPU利用率的消息到前台;前台收到消息后将统计数据返回后台显示。

    所述查询或设置单片机各状态寄存器实现如下:后台将要查询和设置的单片机状态寄存器的地址通过消息发出,前台收到消息后取出读取的值或者写入设置的值,然后返回读取或设置成功的消息给后台。

    所述查询修改变量实现如下:在下到单片机之前的最后一次编译后,生成一个map文件,后台将该文件导入,显示要查询和修改的变量名;查询时,将map文件中对应的变量地址通过消息发出,然后等待返回查询值和修改结果。

    所述运行任一函数实现入下:在下到单片机之前的最后一次编译后,生成一个map文件:后台将该文件导入,显示要查询和修改的变量名;查询时,将函数的入口地址通过消息发出,等待前台返回查询值和修改结果。

    所述调试接口控制读写单片机资源实现如下:首先定义好查询结构,具体应包含几种单片机资源的区分、查询操作对象的类型区分、查询内容对应的地址和查询内容的大小;读入前台程序编译后的map文件,将查询内容对应的地址和大小在界面上显示;选取要查询的内容,可选多条也可选一条,选择查询来调用前后台通讯模块接口函数将消息发出,等待前台回应。所述单片机资源的区分,包括串行的可擦除程序存储器、总线芯片的寄存器等;所述的查询操作对象的类型区分,包括程序存储区、内部RAM、特殊功能寄存器等;所述查询内容对应的地址,需要读入map文件。

    所述消息调试实现如下:发送单条消息,按照通讯协议来安排界面。

    所述保存界面设置的实现如下:在退出后台的时候,将所有后台的设置和当前信息,保存到ini文件中,每次后台启动时读取ini文件。

    所述批处理实现如下:在调试的时候开发者可以在后台根据需要将消息派发到前台;将制定好的消息文件多条或单条导入,定时或手动发送;开发者可以在批处理界面上随意的编辑任何一条消息,每次关闭所述批处理界面时所述系统自动将开发者编辑好的消息存入指定文件。所述制定好消息文件是制定用户文件,开发者可以根据各自系统的消息将其制成*.dat文件。

    本发明为开发者提供一个通用的后台调试系统让开发者可以看到程序的运行情况,及时的反馈运行信息,同时又提供各种在线调试和仿真的功能,方便开发者。

    【附图说明】

    图1是本发明所述单片机后台调试系统结构图;

    图2是在本发明所述实现查询修改寄存器调试的方法流程图;

    图3是在本发明所述实现批处理调试的方法流程图;

    图4是在本发明所述实现软件下载调试的方法流程图。

    【具体实施方式】

    下面结合附图对实现方法进行详细描述。

    如图1所示:后台系统结构图

    后台采用分层的结构,最底层是分别封装物理驱动模块,主要是针对不通的通讯接口来写驱动程序。

    数据链路模块是负责将分别封装物理驱动模块收到的数据拆帧,将上层发出去的数据组帧,具体是根据不同的协议来确定如何组帧、拆帧的。

    前后台通讯是后台调试系统采用的前后台通讯接口,根据应用时开发者规定的不同的协议来做的,主要是给开发者提供一个通用的接口函数,开发者在增加功能时只需调用相应的接口即可。前后台通讯模块将所述数据链路模块来的数据取出,派发到应用功能模块的相应功能实现部分来处理;并且将应用功能模块发来的数据按照开发者规定的协议来组织发到数据链路模块。前后台通讯模块将数据链路模块送上来的数据解析后存在内存中,后台定时器会定时的扫描指定内存,取出数据进行处理。后台发送数据的时候,直接调用前后台通讯的接口函数即可。

    应用功能模块是实现各调试功能的,即是单片机后台调试的各种方法的实现。

    下面以针对单片机自身寄存器查询和修改、单片机应用程序批处理和软件下载三种典型后台调试方法的实现为例做详细描述。

    如图2查询修改寄存器方法流程图所示:

    首先,需要在后台做一个查询修改寄存器的界面,内容应根据单片机所能查询和允许修改寄存器的具体个数来确定。一般情况我们是根据单片机前台应用软件编译后的*.map文件来查找寄存器的地址信息。在后台导入*.map文件之后,将其存入。用户在要查询和修改具体的寄存器的时候只需点击相应的选项,后台就会将寄存器的地址信息发送到前台,前台根据地址信息做相应的处理后返回寄存器查询或修改的值在后台显示。我们前台软件的编译用的是Keil C51编译器,在前后定义好通讯结构后,前台只要收到对应寄存器的地址信息,就会完成查询或修改,并且将结果返回到后台。

    如图3批处理方法流程图所示:

    批处理主要是根据具体的单片机的应用来做的,它实现的是对单片机的动态调试方法之一。具体实现过程是这样的:首先,根据单片机前台的任务制定自己的批处理消息,一般这些消息就是正常通讯的消息帧,存成*.dat文件。使用的时候,在批处理界面下将文件导入,界面上会将批处理的消息显示,并且用户可以根据自己的需要,临时编辑,修改消息,可以用C++Builder或Delphi等高级语言编程做到。该方法还应该可以有手动发送和定时发送两种选项供选择,设置完毕,然后就可以进入调试了,用户点击要发送的调试消息可以是一条也可以是多条发送到前台,前台根据消息处理,并且在处理完毕后要返回运行信息到后台显示,后台根据运行信息确定前台程序的运行情况。

    如图4软件下载实现流程图所示(其中gbtimeupflag是下载超时标志全局变量):

    软件下载是要根据具体的单片机的引导程序程序来实现的,单片机的引导程序首先要提供一个统一的帧结构给后台,后台根据给定的帧结构将下载的文件打包发送到前台进行下载。在这里我们是这样完成的:1.后台发起软件下载请求,等待前台的回应;

      2.收到前台允许软件下载回应;

      3.开始下载,将下载文件的第一帧数据打包发送,帧结构中包含本帧的帧序号,等待前台回应;

      4.收到前台回应,检查数据结构,根据帧序号判断前台是否接收成功,成功(帧序号为下一帧的帧序号)发下一帧,不成功(帧序号为本帧帧序号)重发本帧数据;

      5.根据下载超时标志(gbtimeupflag)判断,如果重发四次,前台都没接收成功,后台在下载界面上显示超时;

      6.判断是否最后一帧,如果最后一帧,发帧序号为0xFFFE的帧结构,等待前台返回0xFFFF帧序号的回应,如果成功,表示下载结束,否则重发,直至超时。

    本发明提出的所有后台调试方法是以后台调试系统作为开发平台实现的。本领域的技术人员不难理解,可以在本发明系统上扩展其他功能,也就是增加后台调试方法。

一种单片机后台调试的系统及方法.pdf_第1页
第1页 / 共18页
一种单片机后台调试的系统及方法.pdf_第2页
第2页 / 共18页
一种单片机后台调试的系统及方法.pdf_第3页
第3页 / 共18页
点击查看更多>>
资源描述

《一种单片机后台调试的系统及方法.pdf》由会员分享,可在线阅读,更多相关《一种单片机后台调试的系统及方法.pdf(18页珍藏版)》请在专利查询网上搜索。

本发明公开了一种单片机后台调试的系统和方法,所述系统至少包括一个物理驱动模块,一个数据链路模块,一个前后台通讯模块和一个应用功能模块。物理驱动模块利用单片机的串口或扩展设备在后台调试系统和单片机应用系统之间建立联系;数据链路模块,负责物理驱动模块和前后台通讯模块的数据发送、处理;前后台通讯模块是前后台通讯接口,负责数据链路模块和应用功能模块的数据发送。在所述系统上,用户可裁剪设置也可在其基础上开发。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1