CN110737557A - 电子控制单元的调试方法、装置、电子设备及存储介质 - Google Patents
电子控制单元的调试方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110737557A CN110737557A CN201910968472.9A CN201910968472A CN110737557A CN 110737557 A CN110737557 A CN 110737557A CN 201910968472 A CN201910968472 A CN 201910968472A CN 110737557 A CN110737557 A CN 110737557A
- Authority
- CN
- China
- Prior art keywords
- instruction
- feedback data
- packet
- data packet
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了电子控制单元的调试方法、装置、电子设备及存储介质,涉及软件调试技术领域。具体实现方案为:根据调试目的生成指令参数,并根据指令参数封装得到指令包,指令包中包括根据指令参数生成的指令;发布指令包;订阅反馈数据包,反馈数据包是电子控制单元根据反馈数据生成并发布的,反馈数据是电子控制单元执行指令包中的指令后生成的反馈数据;从反馈数据包中解析出反馈数据。本申请实施例可以在软件调试过程中快速查看反馈数据,加快调试进度。能够满足驾驶控制器测试中通信数据量以及实时性要求高的场景的需求。能够适用网络拓扑结构复杂和电子控制单元节点数据多的应用场景。本方案可用于自动驾驶,尤其是自主泊车领域。
Description
技术领域
本申请涉及一种信息技术领域,尤其涉及一种软件调试技术领域。本方案可用于自动驾驶,尤其是自主泊车领域。
背景技术
随着智能车辆技术的发展,尤其是自动驾驶技术的发展,驾驶系统中ECU(Electronic Control Unit,电子控制单元,又称“行车电脑”、“车载电脑”)数量越来越多。在开发和测试过程中,传统的基于仿真器的和基于CAN(Controller Area Network,控制器局域网络)总线的CCP(CAN Calibration Protocol,CAN标定协议)标定方法在功能和效率上已经不能满足ECU调试需求。
现有技术常用的有如下解决方案:
1)使用专用的仿真器进行ECU调试。
2)使用基于CAN总线的CCP协议及软件进行ECU调试。
现有技术的解决方案具体如下缺陷:
1)方案1需要采购的专用的仿真器以及配套的上位机软件的价格昂贵。且一台仿真器同时只能对一个ECU进行调试,软件专业性强,操作复杂,调试效率低。
2)方案2由于受CAN总线通信速率的限制,使监控数据的大小、监控频率都受到限制。
发明内容
本申请实施例提出一种电子控制单元的调试方法、装置、电子设备及存储介质,以至少解决现有技术中的以上技术问题。
第一方面,本申请实施例提供了一种电子控制单元的调试方法,包括:
根据调试目的生成指令参数,并根据指令参数封装得到指令包,指令包中包括根据指令参数生成的指令;
发布指令包;
订阅反馈数据包,反馈数据包是电子控制单元根据反馈数据生成并发布的,反馈数据是电子控制单元执行指令包中的指令后生成的反馈数据;
从反馈数据包中解析出反馈数据。
本申请实施例中,可以在软件调试过程中快速查看反馈数据,加快调试进度。能够满足驾驶控制器测试中通信数据量以及实时性要求高的场景的需求。能够适用网络拓扑结构复杂和电子控制单元节点数据多的应用场景。
在一种实施方式中,指令参数包括查看需求中所指定的运行状态信息;
根据指令参数封装得到指令包,包括:将查看需求中所指定的运行状态信息封装为查看指令报文;
从反馈数据包中解析出反馈数据,包括:接收反馈数据包;从反馈数据包中解析出运行状态信息对应的变量值;将变量值作为反馈数据。
本申请实施例中,可以在软件调试过程中快速查看软件运行状态,根据软件运行状态可分析程序是否运行正常,快速获取反馈数据可加快调试进度。
在一种实施方式中,根据指令参数封装得到指令包,包括:将控制指令封装为控制指令报文;
从反馈数据包中解析出反馈数据,包括:接收反馈数据包;从反馈数据包中解析出控制指令的执行结果;将控制指令的执行结果作为反馈数据。
本申请实施例中,可以在软件调试过程中快速查看查看控制指令的执行情况,根据控制指令的执行情况可分析程序是否能够实现预定功能,通过调试使程序达到理想的执行效果。
在一种实施方式中,指令参数包括修改指示中所指定的标定参数;
根据指令参数封装得到指令包,包括:将修改指示中所指定的标定参数封装为修改指令报文;
从反馈数据包中解析出反馈数据,包括:接收反馈数据包;从反馈数据包中解析出修改指令的执行结果;将修改指令的执行结果作为反馈数据。
本申请实施例中,可以在软件调试过程中快速修改标定参数,进一步可观察标定参数修改之后程序是否运行正常,通过修改标定参数使程序实现预期的执行功能。
在一种实施方式中,上述方法还包括:
通过消息队列遥测传输协议发布指令包和订阅反馈数据包;和/或,通过以太网传输指令包和反馈数据包。
本申请实施例中,一方面采用基于发布/订阅模式的消息队列遥测传输协议作为通信中间件,适用于电子控制单元节点数量多、拓扑灵活的应用场景,且支持远程在线调试。另一方面采用车载以太网作为通信网络,能够满足通信数据量大、速率高、实时性强的要求。
第二方面,本申请实施例提供了一种电子控制单元的调试方法,包括:
订阅指令包,指令包是调试终端根据指令参数封装并发布的;
读取指令包中的指令;
执行指令,并根据执行结果生成反馈数据;
根据反馈数据封装得到反馈数据包;
发布反馈数据包。
在一种实施方式中,指令参数包括查看需求中所指定的运行状态信息;
读取指令包中的指令,包括:读取指令包中的查看指令报文;
执行指令,并根据执行结果生成反馈数据,包括:获取查看指令报文中的查看需求中所指定的运行状态信息对应的变量名;通过变量名从存储器中读取对应的变量值;将变量值作为反馈数据。
在一种实施方式中,读取指令包中的指令,包括:读取指令包中的控制指令报文;
执行指令,并根据执行结果生成反馈数据,包括:执行控制指令并产生控制指令的执行结果;将控制指令的执行结果作为反馈数据。
在一种实施方式中,指令参数包括修改指示中所指定的标定参数;
读取指令包中的指令,包括:读取指令包中的修改指令报文;
执行指令,并根据执行结果生成反馈数据,包括:执行修改指令并产生修改指令的执行结果;将修改指令的执行结果作为反馈数据。
在一种实施方式中,上述方法还包括:
通过消息队列遥测传输协议订阅指令包和发布反馈数据包;和/或,通过以太网传输指令包和反馈数据包。
第三方面,本申请实施例提供了一种电子控制单元的调试装置,包括:
第一封装单元,用于根据调试目的生成指令参数,并根据指令参数封装得到指令包,指令包中包括根据指令参数生成的指令;
第一发布单元,用于发布指令包;
第一订阅单元,用于订阅反馈数据包,反馈数据包是电子控制单元根据反馈数据生成并发布的,反馈数据是电子控制单元执行指令包中的指令后生成的反馈数据;
解析单元,用于从反馈数据包中解析出反馈数据。
在一种实施方式中,指令参数包括查看需求中所指定的运行状态信息;
第一封装单元用于:将查看需求中所指定的运行状态信息封装为查看指令报文;
解析单元用于:接收反馈数据包;从反馈数据包中解析出运行状态信息对应的变量值;将变量值作为反馈数据。
在一种实施方式中,第一封装单元用于:将控制指令封装为控制指令报文;
解析单元用于:接收反馈数据包;从反馈数据包中解析出控制指令的执行结果;将控制指令的执行结果作为反馈数据。
在一种实施方式中,指令参数包括修改指示中所指定的标定参数;
第一封装单元用于:将修改指示中所指定的标定参数封装为修改指令报文;
解析单元用于:接收反馈数据包;从反馈数据包中解析出修改指令的执行结果;将修改指令的执行结果作为反馈数据。
在一种实施方式中,第一发布单元和第一订阅单元还用于:
通过消息队列遥测传输协议发布指令包和订阅反馈数据包;和/或,通过以太网传输指令包和反馈数据包。
第四方面,本申请实施例提供了一种电子控制单元的调试装置,包括:
第二订阅单元,用于订阅指令包,指令包是调试终端根据指令参数封装并发布的;
读取单元,用于读取指令包中的指令;
执行单元,用于执行指令,并根据执行结果生成反馈数据;
第二封装单元,用于根据反馈数据封装得到反馈数据包;
第二发布单元,用于发布反馈数据包。
在一种实施方式中,指令参数包括查看需求中所指定的运行状态信息;
读取单元用于:读取指令包中的查看指令报文;
执行单元用于:获取查看指令报文中的查看需求中所指定的运行状态信息对应的变量名;通过变量名从存储器中读取对应的变量值;将变量值作为反馈数据。
在一种实施方式中,读取单元用于:读取指令包中的控制指令报文;
执行单元用于:执行控制指令并产生控制指令的执行结果;将控制指令的执行结果作为反馈数据。
在一种实施方式中,指令参数包括修改指示中所指定的标定参数;
读取单元用于:读取指令包中的修改指令报文;
执行单元用于:执行修改指令并产生修改指令的执行结果;将修改指令的执行结果作为反馈数据。
在一种实施方式中,第二发布单元和第二订阅单元还用于:
通过消息队列遥测传输协议订阅指令包和发布反馈数据包;和/或,通过以太网传输指令包和反馈数据包。
第五方面,本申请实施例提供了一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本申请任意一项实施例所提供的方法。
第六方面,本申请实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使该计算机执行本申请任意一项实施例所提供的方法。
上述申请中的一个实施例具有如下优点或有益效果:可以在软件调试过程中快速查看反馈数据,加快调试进度。能够满足驾驶控制器测试中通信数据量以及实时性要求高的场景的需求。能够适用网络拓扑结构复杂和电子控制单元节点数据多的应用场景。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请实施例的电子控制单元的调试方法的流程图;
图2是根据本申请实施例的电子控制单元的调试方法的网络拓扑示意图;
图3是根据本申请实施例的电子控制单元的调试方法的软件架构图;
图4是根据本申请实施例的电子控制单元的调试方法的软件工作流程图;
图5是根据本申请实施例的电子控制单元的调试方法的软件工作流程图;
图6是根据本申请实施例的电子控制单元的调试方法的流程图;
图7是根据本申请实施例的电子控制单元的调试装置的结构示意图;
图8是根据本申请实施例的电子控制单元的调试装置的结构示意图;
图9是用来实现本申请实施例的电子控制单元的调试方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本申请实施例的电子控制单元的调试方法的流程图。图1所示的调试方法应用于调试终端。参见图1,该电子控制单元的调试方法包括:
步骤S110,根据调试目的生成指令参数,并根据指令参数封装得到指令包,指令包中包括根据指令参数生成的指令;
步骤S120,发布指令包;
步骤S130,订阅反馈数据包,反馈数据包是电子控制单元根据反馈数据生成并发布的,反馈数据是电子控制单元执行指令包中的指令后生成的反馈数据;
步骤S140,从反馈数据包中解析出反馈数据。
随着自动驾驶技术的发展,自动驾驶系统中ECU数量越来越多。由于ECU在通信过程中对通信带宽、实时性和拓扑灵活性的要求,车载以太网成为自动驾驶汽车中的通信主干网。另外随着ECU功能的增加,车载软件也越来越复杂。在上述应用背景下,本申请提供了一种基于车载以太网的ECU调试方法。图2是根据本申请实施例的电子控制单元的调试方法的网络拓扑示意图。如图2所示,一个示例性的ECU调试硬件系统可包括至少一个ECU、至少一个以太网网关和至少一个PC(personal computer,个人计算机)。图2的示例中使用Switch(交换机)来实现以太网网关的功能,使用PC作为调试终端。在图2所示的系统中,包括ECU1、ECU2、ECU3、…、ECUn等多个ECU节点,其中,ECU节点可以是自动驾驶控制器、VCU(Vehicle Control Unit,整车控制器)、Tbox(汽车盒子)。每个ECU节点通过车载以太网与网关相连。每个ECU有独立且唯一的IP地址(Internet Protocol,互联网协议地址)。PC同样通过车载以太网与网关相连。
在进行软件调试的过程中,可在调试终端显示调试项目列表。在一个示例中,可在调试终端显示表示软件运行状态的变量列表,例如列表中可包括车辆转向控制参数、油门档位控制参数、障碍物位置信息等。用户可通过GUI(Graphical User Interface,图形用户接口)界面选择或输入想要查看的数据。在步骤S110中,PC端根据调试目的生成指令参数,例如根据用户选择或输入的想要查看的数据生成指令参数。PC端将指令参数封装成想要下发给ECU的用于调试的指令包。例如指令参数的内容可以包括用户想要查看的运行状态信息。指令包中包括根据所述指令参数生成的想要下发给ECU的用于调试的指令。在步骤S120中,PC端将上述想要下发给ECU的用于调试的指令包发布到网络上。在ECU端执行指令包中的指令后生成反馈数据,根据反馈数据生成反馈数据包并将反馈数据包发布到网络上。
在步骤S130中,PC端订阅ECU端发布的反馈数据包,获取其中的反馈数据。在步骤S140中,PC端从反馈数据包中解析出反馈数据。例如可以从反馈数据包中解析出用户想要查看的运行状态信息。
本申请实施例中,可以在软件调试过程中快速查看反馈数据,加快调试进度。能够满足驾驶测试的要求,尤其是能够满足自动驾驶控制器测试中通信数据量以及实时性要求高的场景的需求。能够适用网络拓扑结构复杂和电子控制单元节点数据多的应用场景。
在一种实施方式中,上述方法还包括:
通过消息队列遥测传输协议发布指令包和订阅反馈数据包;和/或,通过以太网传输指令包和反馈数据包。
图3是根据本申请实施例的电子控制单元的调试方法的软件架构图。如图3所示,一个示例性的ECU调试软件系统可包括ECU端软件和PC端软件。ECU端和PC端之间通过mqtt(Message Queuing Telemetry Transport,消息队列遥测传输)通信中间件进行数据交互。首先每个ECU需要运行原有业务,例如ECU原有的多个应用程序APPs。在每个ECU运行原有业务的同时,还需要运行slave handler(从端代理程序)和mqtt协议。
mqtt是一个基于客户端-服务器的消息发布/订阅传输协议。mqtt协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。
参见图3,在PC端需要运行mqtt协议、master handler(主端代理程序)及GUI(Graphical User Interface,图形用户接口)可视化程序。其中,slave handler和masterhandler通过命令和数据报文的交互实现ECU软件调试功能。在传输层使用UDP(UserDatagram Protocol,用户数据报协议)协议进行数据交互。在底层使用车载以太网作为通信网络。
在一个示例中,可预先设置多个变量,用于存储软件运行状态的相关数据。例如针对车辆转向控制参数、油门档位控制参数、障碍物位置信息等软件运行状态的相关数据,可以为各个相关数据预先设置对应的变量名,根据变量名可以查看到相关数据。在车载软件程序编译的过程中,编译器可自动生成一个扩展名为.map的内存分配描述文件。.map文件的内容可包括:车载软件程序在ECU的RAM(Random Access Memory,随机存取存储器)、FLASH(闪存)上的地址分配情况,具体可包括每个变量的内存地址。例如,可将程序的变量存储在RAM中,将程序的常量和代码存储在FLASH中。在调试过程中查看代码的执行结果时,例如查看变量的值,可通过解析.map文件获取变量的地址,然后访问变量的地址查看变量的值。
参见图3,一个示例性的ECU调试软件系统实现的功能可包括:
1)ECU端slave handler模块实现订阅属于自己的RAM或者flash读写指令、完成读写操作、将读写结果发布出去。
2)mqtt是支持发布/订阅模式的通信中间件。发布、订阅模式使得每个节点只需要订阅自己关心的数据而不必关心数据来源,只需要发布自己产生的数据而不必关心数据接收方。发布订阅模式具有灵活的消息传递模式,简化了应用程序复杂度。
3)在PC端master handler实现以下功能:
a.通过解析编译生成的.map文件,找到用户感兴趣变量的地址。
b.将用户想要查看的内容封装为指令包,通过mqtt发布到网络上。
c.订阅用户关心的数据,并且解析数据后传输给GUI显示。
d.将用户关心的数据保存到硬盘。
4)GUI界面提供用户友好的操作界面,用户只需要通过变量名即可与ECU中的运行软件进行交互。
本申请实施例的电子控制单元的调试方法具有以下优点:
(1)具有易用的可视化接口GUI,可以通过界面和编译器产生的.map文件选择用户关心的数据。通过数据列表、曲线的方式展示数据。将数据存盘便于事后分析问题。通过界面还可以在线实时修改RAM、Flash数据。
(2)采用车载以太网作为通信网络,能够满足通信数据量大、速率高、实时性强等要求。CAN总线通信速率为1Mb/s,车载以太网通信速率为100Mb/s。传统的基于CAN总线的CCP(CAN Calibration Protocol,CAN标定协议)标定方法在功能和效率上已经不能满足ECU调试需求。
(3)采用基于发布/订阅模式的mqtt作为通信中间件,适用于ECU节点数量多、拓扑灵活的应用场景,且支持远程在线调试。
(4)兼容汽车行业XCP协议(Universal Measurement and CalibrationProtocol,通用测试标定协议),通用性更强。其中,XCP是一种车用诊断和标定协议。XCP协议内容包括数据格式和通信流程等。CCP只是基于CAN总线,而XCP是一系列不同通讯平台的测量标定协议的总称。本申请实施例使用车载以太网作为通信手段,不依赖于CAN总线,因此可兼容汽车行业XCP协议,通用性强,通信效率高。
在一种实施方式中,指令参数包括查看需求中所指定的运行状态信息;
图1中的步骤S110,根据指令参数封装得到指令包,包括:将查看需求中所指定的运行状态信息封装为查看指令报文;
图1中的步骤S140,从反馈数据包中解析出反馈数据,包括:接收反馈数据包;从反馈数据包中解析出运行状态信息对应的变量值;将变量值作为反馈数据。
图4是PC端实施的软件工作流程图,图5是ECU端实施的软件工作流程图。查看软件运行状态的工作流程可参见图1、图4和图5。
图4中的步骤1.1初始化网络节点,包括:在初始化时搜索连接局域网的节点。连接局域网的节点包括至少一个ECU和至少一个PC。
图4中的步骤1.2初始化节点数据变量,包括:读取.map文件,显示.map文件中所有变量地址信息,也就是显示变量地址信息的全集。
图4中的步骤1.3用户选择查看数据,包括:用户在上述全集中选择想要查看的数据。
在软件调试过程中,用户在PC端想要查看软件运行状态,例如查看车辆转向控制参数、油门档位控制参数、障碍物位置信息等。其中,软件运行状态的相关数据存储在预先设置的变量中。
参见图1和图4,图1中的步骤S110,具体可包括图4中的步骤1.4封装为控制指令,这里的控制指令指查看软件运行状态的查看指令。在一个示例中,PC端通过masterhandler将想要查看的软件运行状态封装为查看指令报文。图1中的步骤S120,具体可包括图4中的步骤1.5,在步骤1.5中通过mqtt将携带查看指令报文的指令包发布到网络上。
再参见图5,步骤2.1订阅master控制报文,包括:ECU端预先通过mqtt订阅上述查看指令。在步骤2.2中接收控制指令,也就是接收查看软件运行状态的查看指令。slavehandler读取查看指令后,通过变量名在RAM或FLASH中读取变量的值。在步骤2.3中封装数据报文,将变量的值封装成查询结果数据包,也就是反馈数据包。在步骤2.4中发布数据报文,通过mqtt将反馈数据包发布到网络上。
图1中的步骤S130中,PC端预先通过mqtt订阅查询结果数据包。在步骤1.6中通过master handler获取查询结果数据包。参见图1和图4,图1中的步骤S140,具体可包括图4中的步骤1.7,从查询结果数据包中解析出变量的值。在步骤1.8中将变量的值显示在GUI(Graphical User Interface,图形用户界面)界面中。
本申请实施例中,可以在软件调试过程中快速查看软件运行状态,根据软件运行状态可分析程序是否运行正常,快速获取反馈数据可加快调试进度。
在一种实施方式中,图1中的步骤S110,根据指令参数封装得到指令包,包括:将控制指令封装为控制指令报文;
图1中的步骤S140,从反馈数据包中解析出反馈数据,包括:接收反馈数据包;从反馈数据包中解析出控制指令的执行结果;将控制指令的执行结果作为反馈数据。
一个示例性的查看指令执行情况的交互流程可包括以下步骤:
1)用户想要在PC端向ECU端下发控制指令,例如车辆转向等。
2)PC端通过master handler将控制指令封装为固定格式的控制报文(指令包),通过mqtt将控制报文发布到网络上;
3)ECU端预先通过mqtt订阅指令包,slave handler从指令包中读取控制指令后,执行该控制指令,产生执行结果。将执行结果作为反馈数据封装成反馈数据包,通过mqtt发布到网络上;
4)PC端预先通过mqtt订阅反馈数据包,master handler获取反馈数据包,从其中解析出执行结果,将其显示在GUI界面中。
本申请实施例中,可以在软件调试过程中快速查看查看控制指令的执行情况,根据控制指令的执行情况可分析程序是否能够实现预定功能,通过调试使程序达到理想的执行效果。
在一种实施方式中,指令参数包括修改指示中所指定的标定参数;
图1中的步骤S110,根据指令参数封装得到指令包,包括:将修改指示中所指定的标定参数封装为修改指令报文;
图1中的步骤S140,从反馈数据包中解析出反馈数据,包括:接收反馈数据包;从反馈数据包中解析出修改指令的执行结果;将修改指令的执行结果作为反馈数据。
在一个示例中,摄像头的安装参数是存储在FLASH中的一个常数,在调试时发现摄像头的安装参数发生了变化,这种情况下需要重新调整该参数的值。
一个示例性的修改标定参数的交互流程可包括以下步骤:
1)PC端通过master handler将需要修改的标定参数作为指令参数,将其封装为指令包。指令包中携带有修改指令报文。通过mqtt将指令包发布到网络上。
2)ECU端预先通过mqtt订阅指令包,slave handler读取修改指令后,执行该修改指令,产生修改指令的执行结果,例如修改是否成功、修改成功后的相关运行情况或修改失败的原因。将修改指令的执行结果作为反馈数据。将反馈数据封装成反馈数据包,通过mqtt将反馈数据包发布到网络上。
3)PC端预先通过mqtt订阅反馈数据包,master handler获取反馈数据包,从其中解析出执行结果,将执行结果显示在GUI界面中。
本申请实施例中,可以在软件调试过程中快速修改标定参数,进一步可观察标定参数修改之后程序是否运行正常,通过修改标定参数使程序实现预期的执行功能。
图6是根据本申请实施例的电子控制单元的调试方法的流程图。图6所示的调试方法应用于ECU端。参见图6,该电子控制单元的调试方法包括:
步骤S210,订阅指令包,指令包是调试终端根据指令参数封装并发布的;
步骤S220,读取指令包中的指令;
步骤S230,执行指令,并根据执行结果生成反馈数据;
步骤S240,根据反馈数据封装得到反馈数据包;
步骤S250,发布反馈数据包。
参见图1和图6,在步骤S110中,PC端将指令参数封装成想要下发给ECU的用于调试的指令包。例如指令参数的内容可以包括用户想要查看的运行状态信息。指令包中包括根据所述指令参数生成的想要下发给ECU的用于调试的指令。在步骤S120中,PC端将上述想要下发给ECU的用于调试的指令包发布到网络上。
在步骤S210中,ECU端订阅PC端发布的指令包。在步骤S220中,在ECU端执行指令包中的指令后生成反馈数据。在步骤S230中,ECU端根据反馈数据生成反馈数据包。在步骤S240中,ECU端将反馈数据包发布到网络上。
在步骤S130中,PC端订阅ECU端发布的反馈数据包,获取其中的反馈数据。在步骤S140中,PC端从反馈数据包中解析出反馈数据。例如可以从反馈数据包中解析出用户想要查看的运行状态信息。
在一种实施方式中,指令参数包括查看需求中所指定的运行状态信息;
图6中的步骤S220,读取指令包中的指令,包括:读取指令包中的查看指令报文;
图6中的步骤S230,执行指令,并根据执行结果生成反馈数据,包括:获取查看指令报文中的查看需求中所指定的运行状态信息对应的变量名;通过变量名从存储器中读取对应的变量值;将变量值作为反馈数据。
在软件调试过程中,用户在PC端想要查看软件运行状态,例如查看车辆转向控制参数、油门档位控制参数、障碍物位置信息等。其中,软件运行状态的相关数据存储在预先设置的变量中。
参见图1和图4,图1中的步骤S110,具体可包括图4中的步骤1.4封装为控制指令,这里的控制指令指查看软件运行状态的查看指令。在一个示例中,PC端通过masterhandler将想要查看的软件运行状态封装为查看指令报文。在步骤1.5中再通过mqtt将携带查看指令报文的指令包发布到网络上。
参见图6和图5,图6中的步骤S210,具体可包括图5中的步骤2.1订阅master控制报文,包括:ECU端预先通过mqtt订阅上述查看指令。在步骤2.2中接收控制指令,也就是接收查看软件运行状态的查看指令。在步骤S220中,slave handler读取查看指令。
在步骤S230中,获取查看想要查看的软件运行状态对应的变量名,通过变量名在RAM或FLASH中读取变量的值,将变量值作为反馈数据。
参见图6和图5,图6中的步骤S240,具体可包括图5中的步骤2.3封装数据报文,将变量的值封装成查询结果数据包,也就是反馈数据包。图6中的步骤S250,具体可包括图5中的步骤2.4发布数据报文,通过mqtt将反馈数据包发布到网络上。
PC端预先通过mqtt订阅查询结果数据包,在步骤1.6中通过master handler获取查询结果数据包。再从查询结果数据包中解析出变量的值,并将变量的值显示在GUI界面中。
图5中的步骤2.5是否停止,包括:预先设置查看次数阈值,允许根据查看次数多次反馈信息。如果查看次数达到的预先设置的查看次数阈值,则程序结束。
在一种实施方式中,图6中的步骤S220,读取指令包中的指令,包括:读取指令包中的控制指令报文;
图6中的步骤S230,执行指令,并根据执行结果生成反馈数据,包括:执行控制指令并产生控制指令的执行结果;将控制指令的执行结果作为反馈数据。
一个示例性的查看指令执行情况的交互流程可包括以下步骤:
1)用户想要在PC端向ECU端下发控制指令,例如车辆转向等。
2)PC端通过master handler将控制指令封装为固定格式的控制报文(指令包),通过mqtt将控制报文发布到网络上;
3)ECU端预先通过mqtt订阅指令包,slave handler从指令包中读取控制指令。
4)ECU端执行该控制指令,产生执行结果。将执行结果作为反馈数据封装成反馈数据包,通过mqtt发布到网络上;
5)PC端预先通过mqtt订阅反馈数据包,master handler获取反馈数据包,从其中解析出执行结果,将其显示在GUI界面中。
在一种实施方式中,指令参数包括修改指示中所指定的标定参数;
图6中的步骤S220,读取指令包中的指令,包括:读取指令包中的修改指令报文;
图6中的步骤S230,执行指令,并根据执行结果生成反馈数据,包括:执行修改指令并产生修改指令的执行结果;将修改指令的执行结果作为反馈数据。
一个示例性的修改标定参数的交互流程可包括以下步骤:
1)PC端通过master handler将需要修改的标定参数作为指令参数,将其封装为指令包。指令包中携带有修改指令报文。通过mqtt将指令包发布到网络上。
2)ECU端预先通过mqtt订阅指令包,slave handler读取修改指令。
3)ECU端执行该修改指令,产生修改指令的执行结果,例如修改是否成功、修改成功后的相关运行情况或修改失败的原因。将修改指令的执行结果作为反馈数据。将反馈数据封装成反馈数据包,通过mqtt将反馈数据包发布到网络上。
4)PC端预先通过mqtt订阅反馈数据包,master handler获取反馈数据包,从其中解析出执行结果,将执行结果显示在GUI界面中。
在一种实施方式中,上述方法还包括:
通过消息队列遥测传输协议订阅指令包和发布反馈数据包;和/或,通过以太网传输指令包和反馈数据包。
本申请实施例应用于ECU端的电子控制单元的调试方法可以参见上述应用于PC端的电子控制单元的调试方法中的对应描述,在此不再赘述。
上述申请中的一个实施例具有如下优点或有益效果:
1)在软件调试过程中,尤其是需要现场调试时,可以通过可视化界面快速查看软件运行状态,查看用户关心的关键数据,实时修改标定参数,加快调试进度。
2)在软件调试过程中,可以记录用户关心的数据并且存盘在PC中,用于测试结果记录和分析。
3)对于自动驾驶控制器测试中通信数据量以及实时性要求高的场景,如50Mb/s的数据量,本申请能够满足通信数据量以及实时性的要求。
4)能够适用网络拓扑结构复杂和ECU节点数据多的应用场景。
5)在使用中不依赖其他软件硬件设备,例如仿真器、标定软件等,不增加额外成本。
图7是根据本申请实施例的电子控制单元的调试装置的结构示意图。图7所示的调试装置应用于调试终端。如图7所示,本申请实施例的电子控制单元的调试装置包括:
第一封装单元100,用于根据调试目的生成指令参数,并根据指令参数封装得到指令包,指令包中包括根据指令参数生成的指令;
第一发布单元200,用于发布指令包;
第一订阅单元300,用于订阅反馈数据包,反馈数据包是电子控制单元根据反馈数据生成并发布的,反馈数据是电子控制单元执行指令包中的指令后生成的反馈数据;
解析单元400,用于从反馈数据包中解析出反馈数据。
在一种实施方式中,指令参数包括查看需求中所指定的运行状态信息;
第一封装单元100用于:将查看需求中所指定的运行状态信息封装为查看指令报文;
解析单元400用于:接收反馈数据包;从反馈数据包中解析出运行状态信息对应的变量值;将变量值作为反馈数据。
在一种实施方式中,第一封装单元100用于:将控制指令封装为控制指令报文;
解析单元400用于:接收反馈数据包;从反馈数据包中解析出控制指令的执行结果;将控制指令的执行结果作为反馈数据。
在一种实施方式中,指令参数包括修改指示中所指定的标定参数;
第一封装单元100用于:将修改指示中所指定的标定参数封装为修改指令报文;
解析单元400用于:接收反馈数据包;从反馈数据包中解析出修改指令的执行结果;将修改指令的执行结果作为反馈数据。
在一种实施方式中,第一发布单元200和第一订阅单元300还用于:
通过消息队列遥测传输协议发布指令包和订阅反馈数据包;和/或,通过以太网传输指令包和反馈数据包。
图8是根据本申请实施例的电子控制单元的调试装置的结构示意图。图8所示的调试装置应用于ECU端。如图8所示,本申请实施例的电子控制单元的调试装置包括:
第二订阅单元500,用于订阅指令包,指令包是调试终端根据指令参数封装并发布的;
读取单元600,用于读取指令包中的指令;
执行单元700,用于执行指令,并根据执行结果生成反馈数据;
第二封装单元800,用于根据反馈数据封装得到反馈数据包;
第二发布单元900,用于发布反馈数据包。
在一种实施方式中,指令参数包括查看需求中所指定的运行状态信息;
读取单元600用于:读取指令包中的查看指令报文;
执行单元700用于:获取查看指令报文中的查看需求中所指定的运行状态信息对应的变量名;通过变量名从存储器中读取对应的变量值;将变量值作为反馈数据。
在一种实施方式中,读取单元600用于:读取指令包中的控制指令报文;
执行单元700用于:执行控制指令并产生控制指令的执行结果;将控制指令的执行结果作为反馈数据。
在一种实施方式中,指令参数包括修改指示中所指定的标定参数;
读取单元600用于:读取指令包中的修改指令报文;
执行单元700用于:执行修改指令并产生修改指令的执行结果;将修改指令的执行结果作为反馈数据。
在一种实施方式中,第二发布单元900和第二订阅单元500还用于:
通过消息队列遥测传输协议订阅指令包和发布反馈数据包;和/或,通过以太网传输指令包和反馈数据包。…
本申请实施例各装置中的各单元的功能可以参见上述方法中的对应描述,在此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图9所示,是根据本申请实施例的电子控制单元的调试方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图9所示,该电子设备包括:一个或多个处理器901、存储器902,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示图形用户界面(Graphical User Interface,GUI)的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器901为例。
存储器902即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的电子控制单元的调试方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的电子控制单元的调试方法。
存储器902作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的电子控制单元的调试方法对应的程序指令/模块(例如,附图7所示的第一封装单元100、第一发布单元200、第一订阅单元300、解析单元400,以及附图8所示的第二订阅单元500、读取单元600、执行单元700、第二封装单元800、第二发布单元900)。处理器901通过运行存储在存储器902中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的电子控制单元的调试方法。
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据执行电子控制单元的调试方法的电子设备的使用所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至执行电子控制单元的调试方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
执行电子控制单元的调试方法的电子设备还可以包括:输入装置903和输出装置904。处理器901、存储器902、输入装置903和输出装置904可以通过总线或者其他方式连接,图9中以通过总线连接为例。
输入装置903可接收输入的数字或字符信息,以及产生与执行电子控制单元的调试方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置904可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(Liquid Crystal Display,LCD)、发光二极管(Light Emitting Diode,LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用集成电路(Application Specific Integrated Circuits,ASIC)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(programmable logic device,PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(Cathode Ray Tube,阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,可以在软件调试过程中快速查看反馈数据,加快调试进度。能够满足驾驶控制器测试中通信数据量以及实时性要求高的场景的需求。能够适用网络拓扑结构复杂和电子控制单元节点数据多的应用场景。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (22)
1.一种电子控制单元的调试方法,其特征在于,包括:
根据调试目的生成指令参数,并根据所述指令参数封装得到指令包,所述指令包中包括根据所述指令参数生成的指令;
发布所述指令包;
订阅反馈数据包,所述反馈数据包是电子控制单元根据反馈数据生成并发布的,所述反馈数据是所述电子控制单元执行所述指令包中的指令后生成的反馈数据;
从所述反馈数据包中解析出所述反馈数据。
2.根据权利要求1所述的方法,其特征在于,所述指令参数包括查看需求中所指定的运行状态信息;
根据指令参数封装得到指令包,包括:将所述查看需求中所指定的运行状态信息封装为查看指令报文;
从所述反馈数据包中解析出所述反馈数据,包括:接收所述反馈数据包;从所述反馈数据包中解析出所述运行状态信息对应的变量值;将所述变量值作为所述反馈数据。
3.根据权利要求1所述的方法,其特征在于,
根据指令参数封装得到指令包,包括:将控制指令封装为控制指令报文;
从所述反馈数据包中解析出所述反馈数据,包括:接收所述反馈数据包;从所述反馈数据包中解析出所述控制指令的执行结果;将所述控制指令的执行结果作为所述反馈数据。
4.根据权利要求1所述的方法,其特征在于,所述指令参数包括修改指示中所指定的标定参数;
根据指令参数封装得到指令包,包括:将所述修改指示中所指定的标定参数封装为修改指令报文;
从所述反馈数据包中解析出所述反馈数据,包括:接收所述反馈数据包;从所述反馈数据包中解析出所述修改指令的执行结果;将所述修改指令的执行结果作为所述反馈数据。
5.根据权利要求1-4中任一项所述的方法,其特征在于,还包括:
通过消息队列遥测传输协议发布所述指令包和订阅所述反馈数据包;和/或,通过以太网传输所述指令包和所述反馈数据包。
6.一种电子控制单元的调试方法,其特征在于,包括:
订阅指令包,所述指令包是调试终端根据指令参数封装并发布的;
读取所述指令包中的指令;
执行所述指令,并根据执行结果生成反馈数据;
根据所述反馈数据封装得到反馈数据包;
发布所述反馈数据包。
7.根据权利要求6所述的方法,其特征在于,所述指令参数包括查看需求中所指定的运行状态信息;
读取所述指令包中的指令,包括:读取所述指令包中的查看指令报文;
执行所述指令,并根据执行结果生成反馈数据,包括:获取查看指令报文中的查看需求中所指定的运行状态信息对应的变量名;通过所述变量名从存储器中读取对应的变量值;将所述变量值作为所述反馈数据。
8.根据权利要求6所述的方法,其特征在于,
读取所述指令包中的指令,包括:读取所述指令包中的控制指令报文;
执行所述指令,并根据执行结果生成反馈数据,包括:执行所述控制指令并产生所述控制指令的执行结果;将所述控制指令的执行结果作为所述反馈数据。
9.根据权利要求6所述的方法,其特征在于,所述指令参数包括修改指示中所指定的标定参数;
读取所述指令包中的指令,包括:读取所述指令包中的修改指令报文;
执行所述指令,并根据执行结果生成反馈数据,包括:执行所述修改指令并产生所述修改指令的执行结果;将所述修改指令的执行结果作为所述反馈数据。
10.根据权利要求6-9中任一项所述的方法,其特征在于,还包括:
通过消息队列遥测传输协议订阅所述指令包和发布所述反馈数据包;和/或,通过以太网传输所述指令包和所述反馈数据包。
11.一种电子控制单元的调试装置,其特征在于,包括:
第一封装单元,用于根据调试目的生成指令参数,并根据所述指令参数封装得到指令包,所述指令包中包括根据所述指令参数生成的指令;
第一发布单元,用于发布所述指令包;
第一订阅单元,用于订阅反馈数据包,所述反馈数据包是电子控制单元根据反馈数据生成并发布的,所述反馈数据是所述电子控制单元执行所述指令包中的指令后生成的反馈数据;
解析单元,用于从所述反馈数据包中解析出所述反馈数据。
12.根据权利要求11所述的装置,其特征在于,所述指令参数包括查看需求中所指定的运行状态信息;
所述第一封装单元用于:将所述查看需求中所指定的运行状态信息封装为查看指令报文;
所述解析单元用于:接收所述反馈数据包;从所述反馈数据包中解析出所述运行状态信息对应的变量值;将所述变量值作为所述反馈数据。
13.根据权利要求11所述的装置,其特征在于,
所述第一封装单元用于:将控制指令封装为控制指令报文;
所述解析单元用于:接收所述反馈数据包;从所述反馈数据包中解析出所述控制指令的执行结果;将所述控制指令的执行结果作为所述反馈数据。
14.根据权利要求11所述的装置,其特征在于,所述指令参数包括修改指示中所指定的标定参数;
所述第一封装单元用于:将所述修改指示中所指定的标定参数封装为修改指令报文;
所述解析单元用于:接收所述反馈数据包;从所述反馈数据包中解析出所述修改指令的执行结果;将所述修改指令的执行结果作为所述反馈数据。
15.根据权利要求11-14中任一项所述的装置,其特征在于,所述第一发布单元和所述第一订阅单元还用于:
通过消息队列遥测传输协议发布所述指令包和订阅所述反馈数据包;和/或,通过以太网传输所述指令包和所述反馈数据包。
16.一种电子控制单元的调试装置,其特征在于,包括:
第二订阅单元,用于订阅指令包,所述指令包是调试终端根据指令参数封装并发布的;
读取单元,用于读取所述指令包中的指令;
执行单元,用于执行所述指令,并根据执行结果生成反馈数据;
第二封装单元,用于根据所述反馈数据封装得到反馈数据包;
第二发布单元,用于发布所述反馈数据包。
17.根据权利要求16所述的装置,其特征在于,所述指令参数包括查看需求中所指定的运行状态信息;
所述读取单元用于:读取所述指令包中的查看指令报文;
所述执行单元用于:获取查看指令报文中的查看需求中所指定的运行状态信息对应的变量名;通过所述变量名从存储器中读取对应的变量值;将所述变量值作为所述反馈数据。
18.根据权利要求16所述的装置,其特征在于,
所述读取单元用于:读取所述指令包中的控制指令报文;
所述执行单元用于:执行所述控制指令并产生所述控制指令的执行结果;将所述控制指令的执行结果作为所述反馈数据。
19.根据权利要求16所述的装置,其特征在于,所述指令参数包括修改指示中所指定的标定参数;
所述读取单元用于:读取所述指令包中的修改指令报文;
所述执行单元用于:执行所述修改指令并产生所述修改指令的执行结果;将所述修改指令的执行结果作为所述反馈数据。
20.根据权利要求16-19中任一项所述的装置,其特征在于,所述第二发布单元和所述第二订阅单元还用于:
通过消息队列遥测传输协议订阅所述指令包和发布所述反馈数据包;和/或,通过以太网传输所述指令包和所述反馈数据包。
21.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10中任一项所述的方法。
22.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910968472.9A CN110737557A (zh) | 2019-10-12 | 2019-10-12 | 电子控制单元的调试方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910968472.9A CN110737557A (zh) | 2019-10-12 | 2019-10-12 | 电子控制单元的调试方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110737557A true CN110737557A (zh) | 2020-01-31 |
Family
ID=69268763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910968472.9A Pending CN110737557A (zh) | 2019-10-12 | 2019-10-12 | 电子控制单元的调试方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110737557A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111505977A (zh) * | 2020-03-11 | 2020-08-07 | 浙江吉利汽车研究院有限公司 | 功能辅助调试方法、功能调试方法、装置、系统及介质 |
CN111766822A (zh) * | 2020-07-22 | 2020-10-13 | 天津优控智行科技有限公司 | 一种无人驾驶配送车辆远程调试方法 |
CN112180891A (zh) * | 2020-08-24 | 2021-01-05 | 东风电驱动系统有限公司 | 一种ecu离线运行故障排查分析方法 |
CN113176773A (zh) * | 2021-05-19 | 2021-07-27 | 中国第一汽车股份有限公司 | 一种电子控制单元测试方法、装置、系统及存储介质 |
CN114553873A (zh) * | 2022-02-27 | 2022-05-27 | 重庆长安汽车股份有限公司 | 基于soa的车云协同控制系统、方法及可读存储介质 |
CN114979231A (zh) * | 2022-05-30 | 2022-08-30 | 重庆长安汽车股份有限公司 | 一种基于整车dds协议的移动终端实时车辆控制方法、系统及汽车 |
CN115150431A (zh) * | 2022-06-22 | 2022-10-04 | 重庆长安汽车股份有限公司 | 一种整车mcu远程调试系统、方法及存储介质 |
CN116225925A (zh) * | 2023-02-21 | 2023-06-06 | 东南大学 | 一种计算机软件在线实时可视化调试方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101332816A (zh) * | 2008-06-11 | 2008-12-31 | 山东大学 | 开放式汽车机械式自动变速器电控系统 |
CN104639625A (zh) * | 2015-01-27 | 2015-05-20 | 华南理工大学 | 一种基于mqtt的数据集中器采集控制方法、装置及系统 |
US9705678B1 (en) * | 2014-04-17 | 2017-07-11 | Symantec Corporation | Fast CAN message authentication for vehicular systems |
CN109229102A (zh) * | 2017-07-04 | 2019-01-18 | 百度在线网络技术(北京)有限公司 | 无人驾驶车辆控制系统、方法和装置 |
US20190173951A1 (en) * | 2017-12-01 | 2019-06-06 | GM Global Technology Operations LLC | Vehicle communication using publish-subscribe messaging protocol |
-
2019
- 2019-10-12 CN CN201910968472.9A patent/CN110737557A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101332816A (zh) * | 2008-06-11 | 2008-12-31 | 山东大学 | 开放式汽车机械式自动变速器电控系统 |
US9705678B1 (en) * | 2014-04-17 | 2017-07-11 | Symantec Corporation | Fast CAN message authentication for vehicular systems |
CN104639625A (zh) * | 2015-01-27 | 2015-05-20 | 华南理工大学 | 一种基于mqtt的数据集中器采集控制方法、装置及系统 |
CN109229102A (zh) * | 2017-07-04 | 2019-01-18 | 百度在线网络技术(北京)有限公司 | 无人驾驶车辆控制系统、方法和装置 |
US20190173951A1 (en) * | 2017-12-01 | 2019-06-06 | GM Global Technology Operations LLC | Vehicle communication using publish-subscribe messaging protocol |
Non-Patent Citations (2)
Title |
---|
吕京建 赵珀璋: "《世界汽车技术发展跟踪研究》", 中国汽车工程学会出版, pages: 283 * |
王立泽: "嵌入式软件测试系统执行框架研究", vol. 29, no. 29, pages 82 - 86 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111505977A (zh) * | 2020-03-11 | 2020-08-07 | 浙江吉利汽车研究院有限公司 | 功能辅助调试方法、功能调试方法、装置、系统及介质 |
CN111505977B (zh) * | 2020-03-11 | 2022-05-10 | 浙江吉利汽车研究院有限公司 | 功能辅助调试方法、功能调试方法、装置、系统及介质 |
CN111766822A (zh) * | 2020-07-22 | 2020-10-13 | 天津优控智行科技有限公司 | 一种无人驾驶配送车辆远程调试方法 |
CN112180891A (zh) * | 2020-08-24 | 2021-01-05 | 东风电驱动系统有限公司 | 一种ecu离线运行故障排查分析方法 |
CN112180891B (zh) * | 2020-08-24 | 2021-10-01 | 东风电驱动系统有限公司 | 一种ecu离线运行故障排查分析方法 |
CN113176773A (zh) * | 2021-05-19 | 2021-07-27 | 中国第一汽车股份有限公司 | 一种电子控制单元测试方法、装置、系统及存储介质 |
CN114553873A (zh) * | 2022-02-27 | 2022-05-27 | 重庆长安汽车股份有限公司 | 基于soa的车云协同控制系统、方法及可读存储介质 |
CN114979231A (zh) * | 2022-05-30 | 2022-08-30 | 重庆长安汽车股份有限公司 | 一种基于整车dds协议的移动终端实时车辆控制方法、系统及汽车 |
CN114979231B (zh) * | 2022-05-30 | 2023-05-26 | 重庆长安汽车股份有限公司 | 基于整车dds协议的车辆控制方法、系统及汽车 |
CN115150431A (zh) * | 2022-06-22 | 2022-10-04 | 重庆长安汽车股份有限公司 | 一种整车mcu远程调试系统、方法及存储介质 |
CN116225925A (zh) * | 2023-02-21 | 2023-06-06 | 东南大学 | 一种计算机软件在线实时可视化调试方法 |
CN116225925B (zh) * | 2023-02-21 | 2023-11-21 | 东南大学 | 一种计算机软件在线实时可视化调试方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110737557A (zh) | 电子控制单元的调试方法、装置、电子设备及存储介质 | |
CN108351636B (zh) | 工程设计工具、系统及模块 | |
US8365149B2 (en) | Debugger for a declarative event-driven programming model | |
KR20210040884A (ko) | 엣지 컴퓨팅 테스트 방법, 장치, 전자 장치 및 컴퓨터 판독 가능 매체 | |
CN111459816B (zh) | 故障注入测试方法、装置、系统及存储介质 | |
CN106997298B (zh) | 一种应用资源获取方法及装置 | |
EP3379520A1 (en) | Method and apparatus for testing rf performance of a satellite wiring harness and signal processing units | |
CN112292664B (zh) | 用于设计分布式异构计算和控制系统的方法和系统 | |
US20080209405A1 (en) | Distributed debugging for a visual programming language | |
WO2022120717A1 (zh) | 仿真任务调度方法、执行方法、仿真实现方法及装置 | |
US20090222789A1 (en) | Compiler for a Declarative Event-Driven Programming Model | |
CN111913884A (zh) | 分布式测试方法、装置、设备、系统和可读存储介质 | |
CN111984476A (zh) | 测试方法和装置 | |
US8739127B2 (en) | Collaborative software debugging in a distributed system with symbol locking | |
Rattanapoka et al. | An MQTT-based IoT cloud platform with flow design by Node-RED | |
KR20210147074A (ko) | 맞춤형 인공 지능 생산 라인을 실행하기 위한 장치, 방법, 기기 및 매체 | |
WO2022228156A1 (zh) | 一种策略编排处理方法、装置、设备、系统及存储介质 | |
CN115484299A (zh) | 一种整车全局配置方法、装置、设备及介质 | |
CN112527678A (zh) | 用于测试协议的方法、装置、设备以及存储介质 | |
CN114390093B (zh) | 一种虚拟网关模拟系统 | |
CN107911442B (zh) | 接收响应接口交互方法、装置、计算机设备及存储介质 | |
CN114896168A (zh) | 用于自动驾驶算法开发的快速调试系统、方法以及存储器 | |
CN111340976B (zh) | 调试自动驾驶车辆模块的方法、装置、电子设备 | |
CN114834453A (zh) | 数据处理方法、装置、车辆、设备和存储介质 | |
CN113641575A (zh) | 一种测试方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |