一种调试方法、物联网设备、调试服务器以及调试系统与流程

文档序号:33882064发布日期:2023-04-20 12:56阅读:61来源:国知局
一种调试方法、物联网设备、调试服务器以及调试系统与流程

本技术涉及物联网,尤其涉及一种针对物联网设备的调试方法、物联网设备、调试服务器以及调试系统。


背景技术:

1、无显示器的物联网设备通常打包了很多软件,实现了互联网连接和本地设备控制。由于终端环境的差异,对这些物联网设备进行调试是一项具有挑战性的任务。

2、现有技术中,通常由开发团队花费大量的时间来筛选设备数据以建立假设,然后再提供具有诊断功能的固件来证明或推翻这些假设。因为在每个诊断程序部署到设备之前,都需要经过严格的质量保证(qa)测试。因此,即使仅部署到少量的设备上,其调试周期也仍需要大量的时间,调试过程较为低效。

3、基于mcu的物联网设备,例如为智能灯泡、开关、空调、洗衣机等设备供电的设备,通常具有明显受限的环境。这些限制使得很难在mcu上实现丰富的诊断机制。

4、因此,如何实现高效、丰富的调试诊断是本技术发明人意图解决的技术问题之一。

5、应理解,上述所列举的技术问题仅作为示例而非对本发明的限制,本发明并不限于同时解决上述所有技术问题的技术方案。本发明的技术方案可以实施为解决上述或其他技术问题中的一个或多个。


技术实现思路

1、为解决上述和其他问题,本技术提供了针对物联网设备的调试方法,应用于物联网设备,所述物联网设备为基于mcu且其上运行有固件的设备,所述方法包括:

2、接收由调试服务器发送的观察点配置命令,所述观察点配置命令用于对观察点进行配置,其至少包括所要配置的观察点的地址以及一旦所述观察点被触发所执行的调试动作;

3、从所述观察点配置命令中解析得到所述地址以及对应的调试动作;

4、基于所述地址在对应位置设置观察点,以在固件运行过程中一旦设置的观察点被触发,执行对应的调试动作。

5、可选地,在所述从所述观察点配置命令中解析得到所述地址以及对应的调试动作之后还包括:

6、建立数据结构,所述数据结构用于标识所述地址以及调试动作之间的对应关系。

7、可选地,一旦设置的观察点被触发,执行对应的调试动作包括:

8、一旦设置的观察点被触发,确定该观察点所对应的地址;

9、从所述数据结构中查找与所述地址对应的调试动作,执行对应的调试动作。

10、可选地,所述调试动作采用预先定义的动作函数来表示,所述动作函数包含描述待执行动作的动作描述符。

11、可选地,所述调试动作由运行在所述调试服务器上的应用程序自定义生成。

12、可选地,所述调试动作还包括参数,所述调试服务器用于传递所述参数。

13、可选地,所述调试动作还包括用于改变所述固件的行为的调试指令。

14、可选地,所述调试指令为有副作用的函数。

15、可选地,所述有副作用的函数为持久副作用的函数,在所述固件的电源周期中被保留。

16、可选地,所述调试动作被持久地配置,在重启时被保留。

17、可选地,所述观察点配置命令为预定json或cbor格式的命令。

18、可选地,在从所述观察点配置命令中解析得到所述地址之后还包括:

19、基于所述观察点的地址,判断所要设置观察点的地址是否存在之前设置的观察点,如果是,则清除对应地址上之前设置的观察点。

20、可选地,所述观察点为指令观察点或数据观察点;其中,在预设的指令被执行时,对应的指令观察点被触发;在预设的数据被访问时,对应的数据观察点被触发。

21、可选地,所述物联网设备通过具有单一的执行线程的运行库接收由调试服务器发送的命令。

22、可选地,在固件运行过程中设置的观察点被触发后还包括:

23、将设置的观察点设置为不可用状态。

24、可选地,在执行对应的调试动作之后还包括:

25、判断设置的观察点是否为粘性观察点;

26、如果是,则在物联网设备为支持硬件单步的设备时,

27、启用硬件单步并返回,以使返回后从设置的观察点的指令继续执行,并产生单步中断;在单步中断中,将设置的观察点设置为可用状态并禁止进一步的单步;

28、在物联网设备为不支持硬件单步的设备时,

29、在设置的观察点的下一条指令处设置临时断点;以使返回从设置的观察点的指令恢复执行,至所述临时断点被触发,所述临时断点被触发后执行与设置的观察点被触发后相同的调试动作;

30、如果否,则清除与设置的观察点对应的调试动作。

31、可选地,在执行对应的调试动作之后还包括:

32、将执行对应的调试动作后得到的诊断数据上报至所述调试服务器。

33、可选地,将所述诊断数据上报至所述调试服务器的步骤为异步的。

34、本技术还提供了一种针对物联网设备的调试方法,应用于调试服务器,所述物联网设备为基于mcu且其上运行有固件的设备,所述方法包括:

35、接收开发者对物联网设备的固件进行调试的配置请求;

36、基于所述配置请求生成观察点配置命令,所述观察点配置命令用于对观察点进行配置,其至少包括所要配置的观察点的地址以及一旦所述观察点被触发所执行的调试动作;

37、向所述物联网设备发送所述观察点配置命令,以使所述物联网设备在接收到所述观察点配置命令后,从所述观察点配置命令中解析得到所述地址以及对应的调试动作,在所述地址设置对应的观察点,并且在固件运行过程中一旦设置的观察点被触发,执行对应的调试动作。

38、本技术还提供一种物联网设备,包括:存储器以及处理器;其中,所述存储器用于存储有指令;所述处理器调用所述指令时,执行上述任一种所述的方法。

39、本技术还提供了一种调试服务器,包括:存储器以及处理器;其中,所述存储器用于存储有指令;所述处理器调用所述指令时,执行上述所述的方法。

40、本技术还提供了一种调试系统,包括:如上述所述的物联网设备以及如上述所述的调试服务器。

41、可选地,所述物联网设备的mcu具有平坦地址空间。

42、可选地,所述物联网设备的mcu没有用户和内核的分离,以使运行库与系统的操作系统、网络堆栈运行在同一环境中。

43、可选地,所述调试服务器包括:开发者前端以及服务器后端;

44、其中,所述开发者前端用于接收开发者对物联网设备的进行调试的配置请求,并将所述配置请求发送至所述服务器后端;所述服务器后端基于所述配置请求生成所述观察点配置命令。

45、可选地,所述调试服务器为云端服务器。

46、可选地,所述物联网设备支持基于参数的命令处理,是接收来自所述调试服务器的命令的mqtt主题的订阅者。

47、可选地,所述调试服务器与所述物联网设备之间采用mqtt进行信息的交换。

48、本技术提供的针对物联网设备的调试方法,应用于物联网设备,该物联网设备为基于mcu且其上运行有固件的设备。通过接收由调试服务器发送的观察点配置命令,该观察点配置命令用于对观察点进行配置,其至少包括所要配置的观察点的地址以及一旦该观察点被触发所执行的调试动作。从观察点配置指令中解析得到地址以及对应的调试动作;基于该地址在对应位置设置观察点,以在固件运行过程中一旦设置的观察点被触发,则执行对应的调试动作。本技术所提供的调试方法,基于mcu的物联网设备,通过在设备上运行的固件上设置观察点的方式实现远程调试,不受设备自身资源的限制,能够实现丰富的诊断功能。并且开发者可以避免在设备上构建、测试和部署固件的漫长而耗时的过程,使得调试过程更为高效。此外,本技术还提供了一种物联网设备、调试服务器以及调试系统,同样能够实现上述技术效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1