一种嵌入式应用调试的方法以及系统技术方案

技术编号:21627489 阅读:28 留言:0更新日期:2019-07-17 10:39
本发明专利技术提供一种嵌入式应用调试的方法,包括上位机以及下位机,所述下位机为嵌入式终端,system运行在下位机上,所述上位机用于运行编译调试工具的终端,嵌入式应用运行在上位机上,所述下位机连接至所述上位机,具体包括如下步骤:步骤1、嵌入式应用生成API调用请求数据;步骤2、上位机将API调用请求数据发送至下位机上;步骤3、下位机接收并转换API调用请求数据,根据转换后的数据执行任务;本发明专利技术还提供一种嵌入式应用调试的系统,降低成本,提高调试效率。

A Debugging Method and System for Embedded Applications

【技术实现步骤摘要】
一种嵌入式应用调试的方法以及系统
本专利技术涉及嵌入式领域,特别涉及一种嵌入式应用调试的方法以及系统。
技术介绍
在嵌入式领域,程序员编写完应用代码,一般通过两种方式进行调试:1)真实环境调试;程序员在电脑上通过交叉编译工具将应用代码编译成目标文件后下载到产品,通过产品输出调试LOG或依赖于专门的调试器(如jlink)对应用代码进行调试。2)模拟器调试;在电脑上开发一个虚拟终端模拟产品功能。程序员直接在电脑上利用虚拟终端开发和调试应用程序。常见调试方法的优缺点:1)真实环境调试优点:基于真实环境进行调试,调试通过的代码就是最终版本。缺点:调试受限。调试手段依赖于硬件支持,如调试器需要单独购买,并且产品采用的MCU要支持。面向嵌入式的集成开发环境,使用起来比较复杂,提供的调试功能也相对简单。调试效率低。每次都要先把应用下载到产品上才能开始调试。2)模拟器调试优点:编译完就可以直接调试,省去了下载应用的过程,电脑上的集成开发环境可选范围更大,功能更强大,如windows操作系统就支持多种C语言集成开发环境,典型的像VisualStudio提供了强大的代码编辑调试功能。缺点:开发和维护成本高;模拟器越接近真实产品,成本越高;适用范围有限;产品硬件会更新换代,还会有衍生品类,不可能都支持;模拟功能有限;只能模拟真实终端的部分功能。
技术实现思路
本专利技术要解决的技术问题,在于提供一种嵌入式应用调试的方法以及系统,提高效率,降低成本。本专利技术之一是这样实现的:一种嵌入式应用调试的方法,包括上位机以及下位机,所述下位机为嵌入式终端,system运行在下位机上,所述上位机用于运行编译调试工具的终端,嵌入式应用运行在上位机上,所述下位机连接至所述上位机,具体包括如下步骤:步骤1、嵌入式应用生成API调用请求数据;步骤2、上位机将API调用请求数据发送至下位机上;步骤3、下位机接收并转换API调用请求数据,根据转换后的数据执行任务。进一步地,还包括步骤4、任务执行完成后,生成一回馈信息,下位机将回馈信息发送至上位机,嵌入式应用接收该回馈信息。本专利技术之二是这样实现的:一种嵌入式应用调试的系统,包括上位机以及下位机,所述下位机为嵌入式终端,system运行在下位机上,所述上位机用于运行编译调试工具的终端,嵌入式应用运行在上位机上,所述下位机连接至所述上位机,具体包括如下步骤:生成模块,嵌入式应用生成API调用请求数据;发送模块,上位机将API调用请求数据发送至下位机上;接收执行模块,下位机接收并转换API调用请求数据,根据转换后的数据执行任务。进一步地,还包括反馈模块,任务执行完成后,生成一回馈信息,下位机将回馈信息发送至上位机,嵌入式应用接收该回馈信息。本专利技术具有如下优点:1)低成本:不需要购买硬件调试器。信息传递模块COMM的开发及维护成本很低。2)调试效率高:应用代码在上位机上编译完就可以直接开始调试,不必先下载至下位机。3)调试手段丰富:调试手段不再受产品硬件配置限制。程序员可以根据自己的喜好相对自由的选用集成开发环境,享受windows或linux等操作系统上开发工具提供的丰富调试功能。4)高适配性:产品更新换代或各种衍生产品的情况,本方案可以不修改或只要少量修改就能适配。附图说明下面参照附图结合实施例对本专利技术作进一步的说明。图1为本专利技术方法执行流程图。具体实施方式如图1所示,本专利技术嵌入式应用调试的方法,包括上位机以及下位机,所述下位机为嵌入式终端,system运行在下位机上,所述上位机用于运行编译调试工具的终端,嵌入式应用运行在上位机上,所述下位机连接至所述上位机,具体包括如下步骤:步骤1、嵌入式应用生成API调用请求数据;步骤2、上位机将API调用请求数据发送至下位机上;步骤3、下位机接收并转换API调用请求数据,根据转换后的数据执行任务;步骤4、任务执行完成后,生成一回馈信息,下位机将回馈信息发送至上位机,嵌入式应用接收该回馈信息。本专利技术嵌入式应用调试的系统,包括上位机以及下位机,所述下位机为嵌入式终端,system运行在下位机上,所述上位机用于运行编译调试工具的终端,嵌入式应用运行在上位机上,所述下位机连接至所述上位机,具体包括如下步骤:生成模块,嵌入式应用生成API调用请求数据;发送模块,上位机将API调用请求数据发送至下位机上;接收执行模块,下位机接收并转换API调用请求数据,根据转换后的数据执行任务;反馈模块,任务执行完成后,生成一回馈信息,下位机将回馈信息发送至上位机,嵌入式应用接收该回馈信息。现有的采用二层结构,软件全部运行在下位机,APP可以直接调用API。变成三层结构后,APP运行在上位机,system运行在下位机,APP调用API时,就需要先通过COMM模块(即中间件)将APP的请求从上位机发送至下位机,再由COMM模块解析请求后转换为具体的API调用,然后将API的执行结果再通过COMM模块返回给APP。COMM模块作为APP与system的信息传递中介,一部分运行在应用层(即在上位机运行),另一部分运行在系统层(即在下位机运行)。由于上位机与下位机之间要进行信息交换,因此上位机与下位机之间要连接一个通信接口。接口的物理形态不限,可以是有线的串口,USB等,也可以是无线的WIFI,LAN,蓝牙等,具体根据产品实际配置而定。原则上通信速率越快越好,因为越快,API调用的延迟就越低,调试效果自然就越逼近真实产品。应用与系统之间,核心是API调用。一次API调用过程大致是,APP指定某个API并提供API需要的参数值,system执行这个API调用请求,然后将结果通过API返回给APP。当APP运行在上位机,而system运行在下位机的时候,APP的API调用请求就无法直接传递。此时,就需要COMM模块通过物理通讯接口,在上位机与下位机之间建立一套通信协议。APP的API调用请求通过COMM模块的通讯包,从上位机发送给下位机。下位机收到请求后执行指定的API,然后将执行结果通过COMM模块的通讯包,从下位机应答给上位机。通过一些编码约定及COMM模块的中转,使APP在上位机运行时就如同在下位机运行一样。以C语言为例,COMM模块处理API调用,需要根据不同的函数形式做不同的处理。3.1编码约定3.1.1system与app之间的数据传递由于system和app使用的是各自独立的存储空间,不能直接访问对方的存储空间。因此,API参数中带数据指针类型的情况下,就需要约定获取对方存储空间数据的方法,如系统层访问应用层数据,必须通过CopyToApp和CopyFromApp两个函数,功能分别为从system拷贝数据至app和从app拷贝数据至system。COMM模块对这两个函数的实现示例:3.1.2回调函数约定回调函数,也就是参数类型为函数指针的情况。同“3.1.1”所述,由于应用与系统的空间各自独立,因此跨分层的使用就需要事先约定。为所有跨分层的函数指针(回调函数)原型建立分类,如:CALLBACK_OPEN对应Open函数的原型类CALLBACK_RW对应Read和Write函数的原型类注册回调函数应用需要向系统注册回调函数,注册时提供回调函数原型类和函数地址。执行回调函数执行是在特定的事件或本文档来自技高网...

【技术保护点】
1.一种嵌入式应用调试的方法,其特征在于:包括上位机以及下位机,所述下位机为嵌入式终端,system运行在下位机上,所述上位机用于运行编译调试工具的终端,嵌入式应用运行在上位机上,所述下位机连接至所述上位机,具体包括如下步骤:步骤1、嵌入式应用生成API调用请求数据;步骤2、上位机将API调用请求数据发送至下位机上;步骤3、下位机接收并转换API调用请求数据,根据转换后的数据执行任务。

【技术特征摘要】
1.一种嵌入式应用调试的方法,其特征在于:包括上位机以及下位机,所述下位机为嵌入式终端,system运行在下位机上,所述上位机用于运行编译调试工具的终端,嵌入式应用运行在上位机上,所述下位机连接至所述上位机,具体包括如下步骤:步骤1、嵌入式应用生成API调用请求数据;步骤2、上位机将API调用请求数据发送至下位机上;步骤3、下位机接收并转换API调用请求数据,根据转换后的数据执行任务。2.根据权利要求1所述的一种嵌入式应用调试的方法,其特征在于:还包括步骤4、任务执行完成后,生成一回馈信息,下位机将回馈信息发送至上位机,嵌入式应用接收该回馈信息。3.一...

【专利技术属性】
技术研发人员:陈成秋王正辉
申请(专利权)人:福建升腾资讯有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1