WO2022267725A1 - 车辆控制器调试方法和装置 - Google Patents

车辆控制器调试方法和装置 Download PDF

Info

Publication number
WO2022267725A1
WO2022267725A1 PCT/CN2022/092062 CN2022092062W WO2022267725A1 WO 2022267725 A1 WO2022267725 A1 WO 2022267725A1 CN 2022092062 W CN2022092062 W CN 2022092062W WO 2022267725 A1 WO2022267725 A1 WO 2022267725A1
Authority
WO
WIPO (PCT)
Prior art keywords
debugging
module
algorithm module
bypass
level
Prior art date
Application number
PCT/CN2022/092062
Other languages
English (en)
French (fr)
Inventor
库海鹏
Original Assignee
北京车和家信息技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 北京车和家信息技术有限公司 filed Critical 北京车和家信息技术有限公司
Publication of WO2022267725A1 publication Critical patent/WO2022267725A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Definitions

  • the present disclosure relates to the field of electric vehicles, in particular, to a vehicle controller debugging method and device, a vehicle controller and an electric vehicle.
  • the vehicle controller is used to control the operation of various mechanisms of the car, and the accurate execution of the controller's control instructions is crucial to the driving of the vehicle. Therefore, for driving safety, it is necessary to debug each module in the controller before or after the vehicle leaves the factory.
  • the principle of the existing controller debugging is to observe the program execution flow, function execution results and variables in the controller through the debugging equipment, and then perform problem analysis or performance optimization.
  • the existing debugging technology and its defects are as follows:
  • the purpose of the present disclosure is to provide a vehicle controller debugging method and device, a vehicle controller and an electric vehicle, which can solve at least one of the technical problems mentioned above.
  • the specific plan is as follows:
  • an embodiment of the present disclosure provides a vehicle controller debugging method, including:
  • the debugging request instruction download the debugging module online based on the pre-allocated data transmission interface, and store the debugging module in the reserved random access memory;
  • the executing the debugging module to debug the vehicle controller includes:
  • bypass algorithm module When the bypass algorithm module is called successfully, run the bypass algorithm module and obtain the operation result of the bypass algorithm module.
  • the debugging module before calling the bypass algorithm module through the debugging module, it includes:
  • the bypass algorithm module is stored in a reserved random access memory.
  • the debugging module includes multiple initial algorithm modules, each of which has a different debugging function.
  • the debugging module before executing the debugging module, it includes:
  • Deleting the debugging module and/or bypass algorithm module stored in the RAM Deleting the debugging module and/or bypass algorithm module stored in the RAM.
  • the debugging request instruction includes debugger identity information; after receiving the debugging request instruction, it includes:
  • the debugging function is downloaded online based on the pre-allocated data transmission interface.
  • the identity levels include a first level, a second level and a third level
  • the online downloading and debugging function based on the pre-assigned data transmission interface according to the identity level includes:
  • the debugging function downloaded online based on the pre-allocated data transmission interface has a viewing function
  • the debugging function downloaded online based on the pre-assigned data transmission interface has a parameter modification function
  • the debugging function downloaded online based on the pre-allocated data transmission interface has a source code editing function.
  • an embodiment of the present disclosure provides a vehicle controller debugging device, including:
  • a receiving unit configured to receive a debugging request instruction
  • the download unit is configured to download the debugging module online based on the pre-allocated data transmission interface according to the debugging request instruction, and store the debugging module in the reserved random access memory;
  • the debugging unit is configured to execute the debugging module to debug the vehicle controller.
  • the debugging unit is further configured to call the bypass algorithm module through the debugging module; when the bypass algorithm module is called successfully, run the bypass algorithm module and obtain the bypass algorithm module The running result of the algorithm module.
  • the downloading unit is further configured to download a bypass algorithm module through the pre-allocated data transmission interface; and store the bypass algorithm module in a reserved random access memory.
  • the debugging unit is also used to,
  • a deletion unit is also included, configured to end the controller debugging task; delete the debugging module and/or the bypass algorithm module stored in the random access memory.
  • an embodiment of the present disclosure provides a vehicle controller, on which one or more instructions are stored, and when the one or more instructions are executed by the vehicle controller, any method described in the item.
  • an embodiment of the present disclosure provides an electric vehicle, including the vehicle controller as described in the third aspect.
  • an embodiment of the present disclosure provides a computer-readable storage medium, on which a computer program is stored, and when the program is executed by a processor, the method described in any one of the embodiments of the first aspect is implemented.
  • an embodiment of the present disclosure provides an electronic device, including: one or more processors; a memory for storing one or more programs, when the one or more programs are executed by the one or more The processor executes, so that the one or more processors execute the method described in any one of the embodiments of the first aspect.
  • the embodiments of the present disclosure provide a computer program product, the computer program product includes computer program code, when the computer program code is run on the computer, to execute any one of the embodiments of the first aspect. described method.
  • an embodiment of the present disclosure provides a computer program, the computer program includes computer program code, and when the computer program code is run on a computer, the computer executes any one of the embodiments of the first aspect. Methods.
  • Embodiments of the present disclosure provide a vehicle controller debugging method and device.
  • the method downloads the debugging module online based on the pre-allocated data transmission interface, stores the debugging module in a reserved random access memory, and then executes the downloaded debugging module to debug the vehicle controller.
  • the method uses the CAN, LIN or Ethernet interface to download and debug the module online, does not need to use professional debugging equipment, and simplifies the debugging means. And by dynamically loading function codes, the memory space usage is greatly reduced.
  • the method can realize different debugging functions through dynamic loading of bypass function modules, and increase the flexibility of debugging without performing a complete software update.
  • the debugging module can be loaded dynamically, and different debugging modules have different functional permissions. Different debugging modules can be provided according to the needs of different debugging personnel to protect software security.
  • FIG. 1 shows a flow chart of a vehicle controller debugging method according to an embodiment of the present disclosure
  • FIG. 2 shows a structural diagram of a vehicle controller software architecture according to an embodiment of the present disclosure
  • Fig. 3 shows a module call flowchart of a vehicle controller debugging method according to an embodiment of the present disclosure
  • Fig. 4 shows a flowchart of debugging a single algorithm of a vehicle controller according to an embodiment of the present disclosure
  • Fig. 5 shows a unit block diagram of a device for determining vehicle controller debugging according to an embodiment of the present disclosure
  • Fig. 6 shows a schematic diagram of a connection structure of an electronic device according to an embodiment of the present disclosure.
  • the automotive system is a complex system composed of multiple subsystems, mainly including power systems such as batteries, motors, gearboxes, and brakes, as well as thermal management systems and power steering systems.
  • Each system completes its own functions and goals through its own control unit (ECU).
  • ECU control unit
  • VCU Vehicle Control Unit
  • the vehicle controller is the core control component of the entire vehicle. It is used to collect accelerator pedal signals, brake pedal signals and other component signals, and after making corresponding judgments, controls the actions of the lower-level component controllers to drive the car to run normally.
  • the main functions of the vehicle controller include: driving torque control, optimal control of braking energy, vehicle energy management, CAN network maintenance and management, fault diagnosis and processing, vehicle status monitoring, etc. It plays a role in controlling the operation of the vehicle.
  • the execution state of the program in the vehicle controller directly determines the stability and safety of the vehicle. Therefore, before and after the vehicle leaves the factory, it is necessary to debug all or part of the modules of the controller to understand the operating status of each module. Avoid potential vehicle operation risks.
  • an embodiment of the present disclosure provides a method for debugging a vehicle controller. Specifically, the following method steps are included.
  • Step S102 Receive a debugging request instruction.
  • each subsystem needs to be divided into functional modules, as shown in Figure 2, as an example, the vehicle controller includes a power module, a thermal management module, a power steering module, an optical module, etc. , each module includes at least one algorithm module, thus forming a block management structure, so that in the subsequent debugging process, the debugging function can perform search and directly debug the algorithm module that needs to be debugged, which improves the control of the vehicle.
  • the efficiency of the overall debugging of the device while ensuring the independence of each algorithm module, repairing one of the modules will not affect the performance parameters of other modules.
  • the display of each module shown in Figure 2 above is only to illustrate the internal block management relationship of the vehicle controller, and further illustrate the software architecture form inside the controller, and does not have a limiting effect on the actual module structure inside the vehicle control .
  • the remote operation can be implemented by invoking instructions, for example, the remote debugging described in the embodiments of the present disclosure, and the transmission of instructions is performed through a reserved interface.
  • RAM reserved space needs to be allocated in each of the above algorithm modules to facilitate subsequent debugging modules and algorithm module bypass areas to store programs or data, wherein RAM storage facilitates timely release of downloaded debugging functions or algorithms after debugging Modular program so as not to increase the overall size of the controller program.
  • the debugging request instruction includes debugging module information, debugging logs, and debugger identity information, etc., wherein the debugging module information is used to clearly request the module to be debugged, such as debugging the power module or the thermal management module, and the debugging log is used to record Date, time, IP, etc. of debugging, and the identity information of the debugger includes the unique identification information of the debugger, such as the password, user name, account number, ID, etc. that are input for requesting debugging.
  • Step S104 According to the debugging request instruction, download the debugging module online based on the pre-allocated data transmission interface, and store the debugging module in the reserved random access memory.
  • the debugging module is downloaded based on at least one of the above-mentioned debugging module information, debugging log, and debugger identity information.
  • the debugging module includes at least a debugging function that controls the execution of the debugging process, and may also include an initial algorithm module.
  • the debugging function is used to control the start of the debugging process and the entire debugging process, including but not limited to the call of the initial algorithm module and the bypass algorithm module.
  • the debugging module can be stored in the cloud or a local server.
  • the debugger downloads the debugging function from the pre-allocated data transmission interface to the reserved random memory of the controller through the download command for subsequent debugging applications.
  • the pre-allocated data transmission interface includes but not Limited to CAN (Controller Local Area Network), LIN (Serial Communication Network), Ethernet and other data interfaces.
  • the downloaded debugging module is stored in the pre-allocated RAM reserved space, which is convenient for subsequent debugging module and bypass algorithm module program or data storage, and RAM storage is convenient for releasing the downloaded debugging function or algorithm module program in time after debugging , so as not to increase the overall size of the controller program.
  • the debugging request instruction includes debugger identity information, authentication is performed on the debugger identity information, and a debugger identity level is determined based on the authentication result.
  • the identity level includes the first level, the second level and the third level
  • the third level of identity level is only used to exemplify the authority to distinguish the identity of the debugger, and does not have a strictly restrictive meaning.
  • the operator can set more or fewer identity levels according to the actual situation.
  • the first level is the vehicle dealer or user level
  • the second level is the vehicle repairer level
  • the third level is the factory level. The higher the level, the greater the management authority.
  • the online downloading of the debugging function based on the pre-allocated data transmission interface according to the identity level includes the following implementation manners:
  • the debugging function downloaded online based on the pre-assigned data transmission interface has a viewing function; Does not have any modification authority, thus ensuring the security of the controller program.
  • the debugging function downloaded online based on the pre-assigned data transmission interface has a parameter modification function; Modify the parameters, such as resetting the battery temperature control alarm threshold, fatigue driving reminder threshold, etc., so that the vehicle parameters can be adaptively adjusted according to the user's driving habits or car environment.
  • the debugging function downloaded online based on the pre-allocated data transmission interface has a source code editing function.
  • the developer of the vehicle controller in the car factory can have the highest authority.
  • the developer can debug each module in the vehicle controller by downloading the debugging function, and can modify the source code for problems or insufficient optimization. Make modifications to improve the performance of the debugged module.
  • Step S106 Execute the debugging module to debug the vehicle controller.
  • Debugging module Judging whether the debugging module is complete, when the debugging module is complete, executing the debugging module; otherwise, re-downloading the debugging module. After downloading the debugging module, you need to judge whether all the current debugging modules have been downloaded based on the identifiers such as the debugging module terminator, so as to avoid the impact of missing debugging modules on the debugging process.
  • the executing the debugging module to debug the vehicle controller includes the following steps.
  • Step S106-1 Call the bypass algorithm module through the debugging module.
  • Step S106-2 When the debugging module is called successfully, run the bypass algorithm module and obtain the operation result of the bypass algorithm module.
  • Step S106-3 When the call of the bypass algorithm module is unsuccessful, run the initial algorithm module in the debugging module and obtain the running result of the initial algorithm module.
  • the bypass algorithm module is a module stored in the cloud or a local server for more optimized execution of the debugging module.
  • the bypass algorithm module is used to perform the update algorithm or instruction of the debugging task in the debugging process, and is used to update the controller Inherent procedures are checked.
  • the bypass algorithm module can be downloaded to the reserved random access memory together with the debugging module, or can be downloaded to the reserved random access memory when called, which is not limited.
  • the initial algorithm module is a program module inherent in the debugging module that can execute debugging instructions. For example, when it is necessary to debug the thermal management system in the controller, if there is no more optimized bypass thermal management strategy algorithm, the original algorithm in the debugging module will be executed. For the thermal management strategy algorithm, the initial algorithm module can be downloaded to the reserved random access memory together with the debugging module, or can be downloaded to the reserved random access memory when called, which is not limited.
  • the debugging module may include multiple initial algorithm modules, each of which has a different debugging function, and when there is an updated algorithm module, each initial algorithm module may correspond to one or more bypass algorithm modules , to realize the execution of various optimization debugging algorithms.
  • the debugging module is located in RAM and has the authority to access and control all algorithm modules. During debugging, the debugging user downloads it to RAM.
  • the main functions include:
  • a bypass command for one or more algorithms can be set to execute the bypass algorithm module instead of the initial algorithm module in the controller.
  • Initial algorithm modules 1-n the software area divided during software design in the controller, including the algorithm module bypass control option, through which the corresponding RAM bypass algorithm module can be called to replace the current initial algorithm module.
  • bypass algorithm module 1-m in the reserved RAM space, the bypass algorithm module can be downloaded from the cloud or local server for dynamic loading.
  • the bypass algorithm module is compiled later and used to debug one or more controllers. Modules are dynamically loaded modules for debugging.
  • the execution flow chart of the debugging module within a single algorithm module is shown in Figure 4, and the specific process is as follows: a) Whether the special security access authority of the controller has been activated. b) Whether the debug module code has been completely downloaded into RAM. c) Whether to bypass the current algorithm module. If all the above judgment conditions are satisfied, the software bypasses the current algorithm module and executes the bypass algorithm module in RAM. If the judging condition is not satisfied, execute the current algorithm module.
  • before calling the bypass algorithm module through the debugging module it includes: downloading the bypass algorithm module through the pre-allocated data transmission interface; storing the bypass algorithm module in a reserved random access memory.
  • the following steps are further included: ending the debugging task of the controller; deleting the debugging module and/or the bypass algorithm module stored in the RAM.
  • the random access memory With the end of the debugging task, the random access memory will automatically release the debugging module and/or bypass algorithm module downloaded to the reserved random access memory, so as to release the storage space of the controller and reduce the size of the controller program.
  • the method downloads the debugging module online based on the pre-allocated data transmission interface, stores the debugging module in a reserved random access memory, and then executes the downloaded debugging module to debug the vehicle controller.
  • the method uses the CAN, LIN or Ethernet interface to download and debug the module online, does not need to use professional debugging equipment, and simplifies the debugging means. And by dynamically loading function codes, the memory space usage is greatly reduced.
  • the method can realize different debugging functions through dynamic loading of bypass function modules, and increase the flexibility of debugging without performing a complete software update.
  • the data in RAM will not be saved after the power is turned off, and the execution of the original program will not be affected after the power is turned on again.
  • the debugging module can be dynamically loaded, and different debugging modules have different functional permissions. Different debugging modules can be provided according to the needs of different debugging personnel to protect software security.
  • the present disclosure also provides a second embodiment, that is, a vehicle controller debugging device.
  • the vehicle controller debugging device is used to execute the method described in the first embodiment.
  • the same features have the same technical effects, which will not be repeated here.
  • the vehicle controller debugging device includes.
  • a receiving unit 502 configured to receive a debugging request instruction
  • the download unit 504 is configured to download the debugging module online based on the pre-assigned data transmission interface according to the debugging request instruction, and store the debugging module in the reserved random access memory;
  • the debugging unit 506 is configured to execute the debugging module to debug the vehicle controller.
  • it further includes: a judging unit, configured to judge whether the debugging module is complete, and when the debugging module is complete, execute the debugging module; otherwise, re-download the adjustment function.
  • a judging unit configured to judge whether the debugging module is complete, and when the debugging module is complete, execute the debugging module; otherwise, re-download the adjustment function.
  • the debugging unit 506 is further configured to call the bypass algorithm module through the debugging module; when the debugging module is called successfully, run the bypass algorithm module and obtain the bypass algorithm The result of running the module.
  • the downloading unit 504 is further configured to download the bypass algorithm module through the pre-allocated data transmission interface; and store the bypass algorithm module in a reserved random access memory.
  • the debugging unit 506 is further configured to run an initial algorithm module in the controller and obtain an operation result of the initial algorithm module when the call of the bypass algorithm module fails.
  • a deletion unit is also included, configured to end the controller debugging task; delete the debugging module and/or the bypass algorithm module stored in the random access memory.
  • It also includes a determining unit, configured to authenticate the identity information of the debugger, and determine the identity level of the debugger based on the authentication result;
  • the identity level includes a first level, a second level and a third level; the determination unit is also used for:
  • the debugging module downloaded online based on the pre-allocated data transmission interface has a viewing function; when the identity level is the second level, the debugging module downloaded online based on the pre-allocated data transmission interface has parameters Modification function; when the identity level is the third level, the debugging module downloaded online based on the pre-assigned data transmission interface has a source code editing function.
  • An embodiment of the present disclosure provides a vehicle controller debugging device.
  • the device downloads a debugging module online based on a pre-assigned data transmission interface, stores the debugging module in a reserved random access memory, and then executes the downloaded debugging module to control the vehicle.
  • the controller is debugged.
  • the method uses the CAN, LIN or Ethernet interface to download and debug the module online, does not need to use professional debugging equipment, and simplifies the debugging means. And by dynamically loading function codes, the memory space usage is greatly reduced.
  • the method can realize different debugging functions by dynamically loading bypass function modules, and can increase the flexibility of debugging without performing a complete software update.
  • the debugging module can be loaded dynamically, and different debugging modules have different functional permissions. Different debugging modules can be provided according to the needs of different debugging personnel to protect software security.
  • the embodiment of the present disclosure provides the third embodiment, that is, a vehicle controller, on which one or more instructions are stored, and when the one or more instructions are executed by the vehicle controller, the implementation as described in the first embodiment method.
  • the embodiment of the present disclosure provides the fourth embodiment, that is, an electric vehicle, including the vehicle controller as described in the third embodiment.
  • an embodiment of the present disclosure provides an electronic device, which is used for debugging a vehicle controller.
  • the electronic device includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein, the memory stores instructions executable by the one processor, and the instructions are executed by the At least one processor executes, so that the at least one processor can execute the method steps described in the above embodiments.
  • FIG. 6 shows a schematic structural diagram of an electronic device suitable for implementing an embodiment of the present disclosure.
  • Electronic devices in embodiments of the present disclosure may include, but are not limited to, fixed terminals such as vehicle controllers, vehicle-mounted terminals, vehicle-mounted computers, and the like.
  • the electronic device shown in FIG. 6 is only an example, and should not limit the functions and application scope of the embodiments of the present disclosure.
  • an electronic device may include a processing device (such as a central processing unit, a graphics processing unit, etc.) 601, which may be loaded into a random access memory according to a program stored in a read-only memory (ROM) 602 or from a storage device 608. (RAM) 603 to execute various appropriate actions and processing. In the RAM 603, various programs and data necessary for the operation of the electronic device are also stored.
  • the processing device 601, ROM 602, and RAM 603 are connected to each other through a bus 604.
  • An input/output (I/O) interface 605 is also connected to the bus 604 .
  • the following devices can be connected to the I/O interface 605: input devices 606 including, for example, a touch screen, touchpad, camera, microphone, accelerometer, gyroscope, etc.; outputs including, for example, a liquid crystal display (LCD), speaker, vibrator, etc. means 607; storage means 608 including, for example, a hard disk; and communication means 609.
  • the communication means 609 may allow the electronic device to communicate with other devices wirelessly or by wire to exchange data. While FIG. 6 shows an electronic device having various means, it should be understood that implementing or having all of the means shown is not a requirement. More or fewer means may alternatively be implemented or provided.
  • An embodiment of the present disclosure further provides a computer-readable storage medium, on which a computer program is stored, and when the program is executed by a processor, the method described in any one of the above embodiments is implemented.
  • An embodiment of the present disclosure further provides a computer program product, the computer program product includes computer program code, and when the computer program code is run on a computer, the method described in any one of the above embodiments is executed.
  • An embodiment of the present disclosure further provides a computer program, where the computer program includes computer program code, and when the computer program code is run on a computer, the computer executes the method described in any one of the above embodiments.
  • embodiments of the present disclosure include a computer program product, which includes a computer program carried on a non-transitory computer readable medium, where the computer program includes program code for executing the method shown in the flowchart.
  • the computer program may be downloaded and installed from a network via communication means 609, or from storage means 608, or from ROM 602.
  • the processing device 601 When the computer program is executed by the processing device 601, the above-mentioned functions defined in the methods of the embodiments of the present disclosure are performed.
  • the above-mentioned computer-readable medium in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two.
  • a computer readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to, electrical connections with one or more wires, portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable Programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
  • a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
  • a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave carrying computer-readable program code therein. Such propagated data signals may take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing.
  • a computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, which can transmit, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device .
  • Program code embodied on a computer readable medium may be transmitted by any appropriate medium, including but not limited to wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
  • the client and the server can communicate using any currently known or future network protocols such as HTTP (HyperText Transfer Protocol, Hypertext Transfer Protocol), and can communicate with digital data in any form or medium Communications (eg, communication networks) are interconnected.
  • Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), internetworks (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed network of.
  • the above-mentioned computer-readable medium may be included in the above-mentioned electronic device, or may exist independently without being incorporated into the electronic device.
  • Computer program code for carrying out operations of the present disclosure may be written in one or more programming languages, or combinations thereof, including but not limited to object-oriented programming languages—such as Java, Smalltalk, C++, and Includes conventional procedural programming languages - such as the "C" language or similar programming languages.
  • the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
  • the remote computer can be connected to the user computer through any kind of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer (such as through an Internet service provider). Internet connection).
  • LAN local area network
  • WAN wide area network
  • Internet service provider such as AT&T, MCI, Sprint, EarthLink, MSN, GTE, etc.
  • each block in a flowchart or block diagram may represent a module, program segment, or portion of code that contains one or more logical functions for implementing specified executable instructions.
  • the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or they may sometimes be executed in the reverse order, depending upon the functionality involved.
  • each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations can be implemented by a dedicated hardware-based system that performs the specified functions or operations , or may be implemented by a combination of dedicated hardware and computer instructions.
  • the units involved in the embodiments described in the present disclosure may be implemented by software or by hardware. Wherein, the name of a unit does not constitute a limitation of the unit itself under certain circumstances.
  • FPGAs Field Programmable Gate Arrays
  • ASICs Application Specific Integrated Circuits
  • ASSPs Application Specific Standard Products
  • SOCs System on Chips
  • CPLD Complex Programmable Logical device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

公开了一种车辆控制器调试方法、装置、车辆控制器以及电动车辆。该方法包括:接收调试请求指令;根据所述调试请求指令,基于预分配数据传输接口在线下载调试模块,并将所述调试模块存储于预留随机存储器;执行所述调试模块,对所述车辆控制器进行调试。

Description

车辆控制器调试方法和装置
相关申请的交叉引用
本申请基于申请号202110685407.2、申请日为2021年6月21日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。
技术领域
本公开涉及电动车领域,具体而言,涉及一种车辆控制器调试方法、装置、车辆控制器和电动车辆。
背景技术
车辆控制器用于对汽车的各机构运行进行控制,控制器控制指令的准确执行对车辆的行驶至关重要。因此,为了行车安全,需要在车辆出厂前或出厂后对控制器内各模块进行调试。
现有的控制器调试的原理是通过调试设备对控制器内程序执行流程、函数执行结果及变量进行观测,进而进行问题分析或是性能优化。但是现有的调试技术及存在缺陷如下:
第一、通过专用调试设备连接芯片调试接口进行调试,此方法受限于专业的调试设备,且需要连接调试接口,在控制器未拆壳或装车时无法连接。
第二、通过在控制器软件内加入调试代码,进行数据打印的方式调试。但是该方法在预留多个调试功能时,调试代码需占用大量的内存空间,且在需要变更调试代码内容时,需更新整个控制器软件,给软件更新带来不便。另外,调试人员拥有完整的软件代码,易造成软件信息的泄露。
发明内容
本公开的目的在于提供一种车辆控制器调试方法、装置、车辆控制器和电动车辆,能够解决上述提到的至少一个技术问题。具体方案如下:
在第一方面,本公开实施例提供一种车辆控制器调试方法,包括:
接收调试请求指令;
根据所述调试请求指令,基于预分配数据传输接口在线下载调试模块,并将所述调试模块存储于预留随机存储器;
执行所述调试模块,对所述车辆控制器进行调试。
在一些实施例中,所述执行所述调试模块,对所述车辆控制器进行调试,包括:
通过所述调试模块调用旁路算法模块;
当所述旁路算法模块调用成功时,运行所述旁路算法模块并获取所述旁路算法模块的运行结果。
在一些实施例中,所述通过所述调试模块调用旁路算法模块之前,包括:
通过所述预分配数据传输接口下载旁路算法模块;
将所述旁路算法模块存储于预留随机存储器。
在一些实施例中,还包括:
当所述旁路算法模块调用不成功时,运行所述调试模块中的初始算法模块并获取所述初始算法模块的运行结果。
在一些实施例中,所述调试模块中包括多个所述初始算法模块,每个所述初始算法模块具有不同的调试功能。
在一些实施例中,所述执行所述调试模块之前,包括:
判断所述调试模块是否完整,当所述调试模块完整时,执行所述调试模块;
否则,重新下载所述调试模块。
在一些实施例中,还包括:
结束所述控制器调试任务;
删除存储于所述随机存储器中的调试模块和/或旁路算法模块。
在一些实施例中,所述调试请求指令包括调试者身份信息;所述接收调试请求指令之后,包括:
对所述调试者身份信息进行身份验证,并基于所述身份验证结果确定调试者身份等级;
根据所述身份等级,基于预分配数据传输接口在线下载调试函数。
在一些实施例中,所述身份等级包括第一等级、第二等级和第三等级;
所述根据所述身份等级,基于预分配数据传输接口在线下载调试函数,包括:
当所述身份等级为第一等级时,基于预分配数据传输接口在线下载的调试函数具有查看功能;
当所述身份等级为第二等级时,基于预分配数据传输接口在线下载的调试函数具有参数修改功能;
当所述身份等级为第三等级时,基于预分配数据传输接口在线下载的调试函数具有源代码编辑功能。
在第二方面,本公开实施例提供一种车辆控制器调试装置,包括:
接收单元,用于接收调试请求指令;
下载单元,用于根据所述调试请求指令,基于预分配数据传输接口在线下载调试模块,并将所述调试模块存储于预留随机存储器;
调试单元,用于执行所述调试模块,对所述车辆控制器进行调试。
在一些实施例中,所述调试单元,还用于,通过所述调试模块调用旁路算法模块;当所述旁路算法模块调用成功时,运行所述旁路算法模块并获取所述旁路算法模块的运行结果。
在一些实施例中,所述下载单元还用于,通过所述预分配数据传输接口下载旁路算法模块;将所述旁路算法模块存储于预留随机存储器。
在一些实施例中,所述调试单元,还用于,
当所述旁路算法模块调用不成功时,运行所述调试模块中的初始算法模块并获取所述初始算法模块的运行结果。
在一些实施例中,还包括删除单元,用于,结束所述控制器调试任务;删除存储于所述随机存储器中的调试模块和/或旁路算法模块。
在第三方面,本公开实施例提供一种车辆控制器,其上存储有一条或多条指令,所述一条或多条指令被所述车辆控制器执行时实现如第一方面实施例任一项所述的方法。
在第四方面,本公开实施例提供一种电动车辆,包括如第三方面所述的车辆控制器。
在第五方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面实施例任一项所述的方法。
在第六方面,本公开实施例提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行第一方面实施例任一项所述的方法。
在第七方面,本公开实施例提供一种计算机程序产品,所述计算机程序产品中包括计算机程序代码,当所述计算机程序代码在计算机上运行时,以执行第一方面实施例任一项所述的方法。
在第八方面,本公开实施例提供一种计算机程序,所述计算机程序包括计算机程序代码,当所述计算机程序代码在计算机上运行时,以使得计算机执行第一方面实施例任一项所述的方法。
本公开实施例提供一种车辆控制器调试方法及装置。该方法基于预分配数据传输接口在线下载调试模块,并将所述调试模块存储于预留随机存储器,然后执行下载的调试模块,对所述车辆控制器进行调试。该方法使用CAN、LIN或者以太网接口进行在线下载调试模块,不需要使用专业的调试设备,简化了调试手段。且通过动态加载函数代码的方式,极大减少了内存空间的占用。同时,该方法可通过动态加载旁路功能模块,实现不同的调试功能,在不进行完整软件更新的前提下,增加调试的灵活性。断电后RAM内数据不保存,再次上电后不影响原有程序的执行。调试模块可动态加载,不同的调试模块拥有不同的功能权限,根据不同调试人员需求可提供不同的调试模块,保护软件安全。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,元件和元素不一定按照比例绘制。在附图中:
图1示出了根据本公开实施例的车辆控制器调试方法的流程图;
图2示出了根据本公开实施例的车辆控制器软件架构结构图;
图3示出了根据本公开实施例的车辆控制器调试方法的模块调用流程图;
图4示出了根据本公开实施例的车辆控制器单个算法调试流程图;
图5示出了根据本公开实施例的确定车辆控制器调试的装置的单元框图;
图6示出了根据本公开的实施例的电子设备连接结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施 例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
汽车系统是由多个子系统构成的复杂系统,主要包括电池、电机、变速箱、制动等动力系统,以及热管理系统、助力转向系统等。各系统通过自己的控制单元(ECU)来完成各自功能和目标。为了满足整车动力性、经济性、安全性和舒适性的目标,一方面,必须具有智能化的人车交互接口,另一方面,各系统还必须彼此协作,优化匹配。因此,汽车的上述系统由整车控制器(VCU:Vehicle Control Unit)来管理车辆中的各个系统。
整车控制器是整个汽车的核心控制部件,用于采集加速踏板信号、制动踏板信号及其他部件信号,并做出相应判断后,控制下层的各部件控制器的动作,驱动汽车正常行驶。作为汽车的指挥管理中心,整车控制器主要功能包括:驱动力矩控制、制动能量的优化控制、整车的能量管理、CAN网络的维护和管理、故障的诊断和处理、车辆状态监视等,它起着控制车辆运行的作用。整车控制器内程序的执行状态直接决定了车辆的稳定性和安全性,因此,车辆在出厂前以及出厂后都需要对控制器的全部或部分模块进行调试,以了解各模块的运行状态,避免潜在的车辆运行风险。
下面结合附图通过多个实施例详细说明如何对车辆控制器进行调试。
实施例一
如图1所示,本公开实施例提供一种车辆控制器调试方法。具体包括如下方法步骤。
步骤S102:接收调试请求指令。
车辆控制器内部程序在软件设计阶段,需要将各子系统按功能模块进行划分,如图2所示,作为一种示例,车辆控制器包括动力模块、热管理模块、助力转向模块、光学模块等,每一模块下又包括至少一个算法模块,从而形成区块化管理结构,使得在后续的调试过程中,调试函数可以执行查找并对其中需要调试的算法模块直接进行调试,提升了对车辆控制器整体调试的效率,同时保证了各算法模块的独立性,对其中某一模块进行修复也不会影响其他各模块的性能参数。当然,上述如图2所示的各模块展示仅仅是为了说明车辆控制器的内部的区块化管理关系,进而说明控制器内部的软件架构形式,并不对车辆控制内部的实际模块结构具有限定作用。
在执行上述软件架构设计时,需要分配数据传输接口,数据传输接口包括但不限于CAN(控制器局域网)、LIN(串行通讯网络)、以太网等数据接口,通过预留的数据传输接口,在后续应用过程中可以通过指令调用,实现远程操作,例如,本公开实施例所述的远程调试,通过预留接口进行指令的传输。
在一些实施例中,上述各算法模块内需要分配RAM预留空间,便于后续调试模块及算法模块旁路区存储程序或数据,其中,RAM存储便于在调试结束后及时释放下载的调试 函数或算法模块程序,从而不增加控制器程序的整体大小。
所述调试请求指令包括调试模块信息、调试日志以及调试者身份信息等,其中,调试模块信息用于明确请求调试的模块,例如是对动力模块调试还是对热管理模块调试,调试日志用于记录调试的日期、时间、IP等,调试者身份信息包括请求调试输入的口令、用户名、账号、ID等确定的调试者唯一识别信息。
步骤S104:根据所述调试请求指令,基于预分配数据传输接口在线下载调试模块,并将所述调试模块存储于预留随机存储器。
在一些实施例中,基于如上所述的调试模块信息、调试日志以及调试者身份信息至少之一下载调试模块。调试模块至少包括控制执行调试过程的调试函数,还可以包括初始算法模块,调试函数用于控制执行调试过程的开始及整个调试过程,包括但不限于初始算法模块和旁路算法模块的调用等。调试模块可以存储于云端或本地服务器,调试者通过下载指令从预先分配的数据传输接口下载调试函数到控制器的预留随机存储器,供后续调试应用,其中,预先分配的数据传输接口包括但不限于CAN(控制器局域网)、LIN(串行通讯网络)、以太网等数据接口等。下载的调试模块存储于预分配的RAM预留空间,RAM预留空间便于后续调试模块及旁路算法模块程序或数据的存储,RAM存储便于在调试结束后及时释放下载的调试函数或算法模块程序,从而不增加控制器程序的整体大小。
在一些实施例中,所述调试请求指令包括调试者身份信息,对所述调试者身份信息进行身份验证,并基于所述身份验证结果确定调试者身份等级。
在一些实施例中,例如所述身份等级包括第一等级、第二等级和第三等级,三级身份等级仅仅用于示例性的区别调试者身份的权限,并不具有严格的限制意义,开发者可以根据实际情况,设置更多或更少的身份等级。作为一种示例性的说明,例如第一等级为车辆销售商或用户等级、第二等级为车辆修理商等级、第三等级为出厂等级,等级越高,管理权限越大。
在一些实施例中,所述根据所述身份等级,基于预分配数据传输接口在线下载调试函数,包括如下实施方式:
当所述身份等级为第一等级时,基于预分配数据传输接口在线下载的调试函数具有查看功能;例如,对于辆销售商或用户,仅仅可以通过下载调试函数,对车辆运行状况进行查看,但不具有任何修改权限,从而保证控制器程序的安全性。
当所述身份等级为第二等级时,基于预分配数据传输接口在线下载的调试函数具有参数修改功能;例如,对于车辆修理商,可以通过下载调试函数,对车辆控制器中调试模块有问题的参数进行修改,例如对电池温控报警阈值、疲劳驾驶提醒阈值等进行重新设定,从而可以根据用户的驾驶习惯或用车环境对车辆参数进行适应性调整。
当所述身份等级为第三等级时,基于预分配数据传输接口在线下载的调试函数具有源代码编辑功能。例如,对于车厂中车辆控制器开发人员,可以具有最高的权限,开发人员通过下载调试函数,可以对车辆控制器内各个模块进行调试,可以对有问题或不够优化的地方通过修改源代码的方式进行修改,从而提升被调试模块的性能。
步骤S106:执行所述调试模块,对所述车辆控制器进行调试。
在一些实施例中,所述执行所述调试模块之前,包括如下步骤:
判断所述调试模块是否完整,当所述调试模块完整时,执行所述调试模块;否则,重新下载所述调试模块。下载完调试模块后,需要基于调试模块终止符等标识判断,当前调试模块是否全部下载完毕,以避免缺失的调试模块对调试过程有影响。
在一些实施例中,所述执行所述调试模块,对所述车辆控制器进行调试,包括如下步骤。
步骤S106-1:通过所述调试模块调用旁路算法模块。
步骤S106-2:当所述调试模块调用成功时,运行所述旁路算法模块并获取所述旁路算法模块的运行结果。
步骤S106-3:当所述旁路算法模块调用不成功时,运行所述调试模块中的初始算法模块并获取所述初始算法模块的运行结果。
其中,旁路算法模块是存储于云端或本地服务器的用于更优化的执行调试模块的模块,通常,旁路算法模块用于执行调试过程中调试任务的更新算法或指令,用于对控制器内固有的程序进行检验。旁路算法模块可以随调试模块一起下载至预留随机存储器,也可以在调用时下载至预留随机存储器,对此不做限定。
初始算法模块是调试模块中固有的能够执行调试指令的程序模块,例如需要对控制器中热管理系统进行调试时,若当前无更加优化的旁路热管理策略算法,则执行调试模块中原有的热管理策略算法,初始算法模块可以随调试模块一起下载至预留随机存储器,也可以在调用时下载至预留随机存储器,对此不做限定。
通过运行旁路算法模块或初始算法模块,并获取到运行结果,以评价当前调试模块的性能优劣、出错概率、报错原因等。
所述调试模块中可以包括多个所述初始算法模块,每个所述初始算法模块具有不同的调试功能,当有更新算法模块时,每个初始算法模块可以对应一个或多个旁路算法模块,以实现多种优化调试算法的执行。
如图3所示,调试模块位于RAM内,拥有访问及控制所有算法模块的权限,调试时由调试用户下载到RAM内,主要功能包括:
1)访问其他算法模块的数据流,将其数据导出,并可在不对原有算法模块影响的前提下收集数据。
2)控制算法模块的旁路功能,可设置对一个或者多个算法的旁路命令,用于执行旁路算法模块而不执行控制器内初始算法模块。
3)根据不同的调试需求及用户权限,可加载不同的调试模块。
初始算法模块1-n,控制器内软件设计时划分的软件区域,包括算法模块旁路控制选项,通过算法模块旁路控制选项可调用对应的RAM内旁路算法模块替代当前初始算法模块。
旁路算法模块1-m,在预留RAM空间内,可从云端或本地服务器下载旁路算法模块,进行动态加载,旁路算法模块是后期编译的用于对控制器内一个或多个调试模块进行调试 的动态加载模块。
对于调试模块在单个算法模块内部执行流程图如图4所示,具体流程如下:软件在执行有旁路选项的函数前,会执行以下判断:a)控制器专用安全访问权限是否已激活。b)调试模块代码是否已完整下载到RAM中。c)是否旁路当前算法模块。若上述判断的所有条件都满足,软件对当前算法模块进行旁路,执行RAM内旁路算法模块。若判断条件不满足,则执行当前算法模块。
在一些实施例中,所述通过所述调试模块调用旁路算法模块之前,包括:通过所述预分配数据传输接口下载旁路算法模块;将所述旁路算法模块存储于预留随机存储器。
在一些实施例中,还包括如下步骤:结束所述控制器调试任务;删除存储于所述随机存储器中的调试模块和/或旁路算法模块。随着调试任务的结束,随机存储器会自动释放下载到预留随机存储器中的调试模块和/或旁路算法模块,以释放控制器的存储空间,减小控制器程序的大小。
该方法基于预分配数据传输接口在线下载调试模块,并将所述调试模块存储于预留随机存储器,然后执行下载的调试模块,对所述车辆控制器进行调试。该方法使用CAN、LIN或者以太网接口进行在线下载调试模块,不需要使用专业的调试设备,简化了调试手段。且通过动态加载函数代码的方式,极大减少了内存空间的占用。同时,该方法可通过动态加载旁路功能模块,实现不同的调试功能,在不进行完整软件更新的前提下,增加调试的灵活性。断电后RAM内数据不保存,再次上电后不影响原有程序的执行。另外,调试模块可动态加载,不同的调试模块拥有不同的功能权限,根据不同调试人员需求可提供不同的调试模块,保护软件安全。
实施例二
与本公开提供的实施例一相对应,本公开还提供了实施例二,即一种车辆控制器调试装置。所述车辆控制器调试装置用于执行实施例一所述的方法。相同的特征具有相同的技术效果,在此不做赘述。在一些实施例中,如图5所示,车辆控制器调试装置,包括。
接收单元502,用于接收调试请求指令;
下载单元504,用于根据所述调试请求指令,基于预分配数据传输接口在线下载调试模块,并将所述调试模块存储于预留随机存储器;
调试单元506,用于执行所述调试模块,对所述车辆控制器进行调试。
在一些实施例中,还包括:判断单元,用于判断所述调试模块是否完整,当所述调试模块完整时,执行所述调试模块;否则,重新下载所述调整函数。
在一些实施例中,所述调试单元506,还用于,通过所述调试模块调用旁路算法模块;当所述调试模块调用成功时,运行所述旁路算法模块并获取所述旁路算法模块的运行结果。
在一些实施例中,所述下载单元504还用于,通过所述预分配数据传输接口下载旁路算法模块;将所述旁路算法模块存储于预留随机存储器。
在一些实施例中,所述调试单元506,还用于,当所述旁路算法模块调用不成功时,运行所述控制器中初始算法模块并获取所述初始算法模块的运行结果。
在一些实施例中,还包括删除单元,用于,结束所述控制器调试任务;删除存储于所述随机存储器中的调试模块和/或旁路算法模块。
还包括确定单元,用于对所述调试者身份信息进行身份验证,并基于所述身份验证结果确定调试者身份等级;
所述身份等级包括第一等级、第二等级和第三等级;确定单元,还用于:
当所述身份等级为第一等级时,基于预分配数据传输接口在线下载的调试模块具有查看功能;当所述身份等级为第二等级时,基于预分配数据传输接口在线下载的调试模块具有参数修改功能;当所述身份等级为第三等级时,基于预分配数据传输接口在线下载的调试模块具有源代码编辑功能。
本公开实施例提供一种车辆控制器调试装置,该装置基于预分配数据传输接口在线下载调试模块,并将所述调试模块存储于预留随机存储器,然后执行下载的调试模块,对所述车辆控制器进行调试。该方法使用CAN、LIN或者以太网接口进行在线下载调试模块,不需要使用专业的调试设备,简化了调试手段。且通过动态加载函数代码的方式,极大减少了内存空间的占用。同时,该方法可通过动态加载旁路功能模块,实现不同的调试功能,在不进行完整软件更新的前提下,增加调试的灵活性。断电后RAM内数据不保存,再次上电后不影响原有程序的执行。调试模块可动态加载,不同的调试模块拥有不同的功能权限,根据不同调试人员需求可提供不同的调试模块,保护软件安全。
实施例三
本公开实施例提供了实施例三,即一种车辆控制器,其上存储有一条或多条指令,所述一条或多条指令被所述车辆控制器执行时实现如实施例一所述的方法。
实施例四
本公开实施例提供了实施例四,即一种电动车辆,包括如实施例三所述的车辆控制器。
实施例五
如图6所示,本公开实施例提供一种电子设备,该电子设备用于对车辆控制器进行调试。所述电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上实施例所述的方法步骤。
下面参考图6,其示出了适于用来实现本公开实施例的电子设备的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如车辆控制器、车载终端、车载计算机等的固定终端。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上实施例任一项所述的方法。
本公开实施例还提供一种计算机程序产品,所述计算机程序产品中包括计算机程序代码,当所述计算机程序代码在计算机上运行时,以执行如上实施例任一项所述的方法。
本公开实施例还提供一种计算机程序,所述计算机程序包括计算机程序代码,当所述计算机程序代码在计算机上运行时,以使得计算机执行如上实施例任一项所述的方法。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText Transfer Protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”), 广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。
在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (20)

  1. 一种车辆控制器调试方法,其特征在于,包括:
    接收调试请求指令;
    根据所述调试请求指令,基于预分配数据传输接口在线下载调试模块,并将所述调试模块存储于预留随机存储器;
    执行所述调试模块,对所述车辆控制器进行调试。
  2. 根据权利要求1所述的方法,其特征在于,所述执行所述调试模块,对所述车辆控制器进行调试,包括:
    通过所述调试模块调用旁路算法模块;
    当所述旁路算法模块调用成功时,运行所述旁路算法模块并获取所述旁路算法模块的运行结果。
  3. 根据权利要求2所述的方法,其特征在于,所述通过所述调试模块调用旁路算法模块之前,包括:
    通过所述预分配数据传输接口下载旁路算法模块;
    将所述旁路算法模块存储于预留随机存储器。
  4. 根据权利要求2所述的方法,其特征在于,还包括:
    当所述旁路算法模块调用不成功时,运行所述调试模块中的初始算法模块并获取所述初始算法模块的运行结果。
  5. 根据权利要求4所述的方法,其特征在于,所述调试模块中包括多个所述初始算法模块,每个所述初始算法模块具有不同的调试功能。
  6. 根据权利要求1至5中任一项所述的方法,其特征在于,所述执行所述调试模块之前,包括:
    判断所述调试模块是否完整,当所述调试模块完整时,执行所述调试模块;
    否则,重新下载所述调试模块。
  7. 根据权利要求1至6中任一项所述的方法,其特征在于,还包括:
    结束所述控制器调试任务;
    删除存储于所述随机存储器中的调试模块和/或旁路算法模块。
  8. 根据权利要求1至7中任一项所述的方法,其特征在于,所述调试请求指令包括调试者身份信息;所述接收调试请求指令之后,包括:
    对所述调试者身份信息进行身份验证,并基于所述身份验证结果确定调试者身份等级;
    根据所述身份等级,基于预分配数据传输接口在线下载调试函数。
  9. 根据权利要求8所述的方法,其特征在于,所述身份等级包括第一等级、第二等级和第三等级;
    所述根据所述身份等级,基于预分配数据传输接口在线下载调试函数,包括:
    当所述身份等级为第一等级时,基于预分配数据传输接口在线下载的调试函数具有查 看功能;
    当所述身份等级为第二等级时,基于预分配数据传输接口在线下载的调试函数具有参数修改功能;
    当所述身份等级为第三等级时,基于预分配数据传输接口在线下载的调试函数具有源代码编辑功能。
  10. 一种车辆控制器调试装置,其特征在于,包括:
    接收单元,用于接收调试请求指令;
    下载单元,用于根据所述调试请求指令,基于预分配数据传输接口在线下载调试模块,并将所述调试模块存储于预留随机存储器;
    调试单元,用于执行所述调试模块,对所述车辆控制器进行调试。
  11. 根据权利要求10所述的装置,其特征在于,所述调试单元,还用于,通过所述调试模块调用旁路算法模块;当所述旁路算法模块调用成功时,运行所述旁路算法模块并获取所述旁路算法模块的运行结果。
  12. 根据权利要求11所述的装置,其特征在于,所述下载单元还用于,通过所述预分配数据传输接口下载旁路算法模块;将所述旁路算法模块存储于预留随机存储器。
  13. 根据权利要求11所述的装置,其特征在于,所述调试单元,还用于,
    当所述旁路算法模块调用不成功时,运行所述调试模块中的初始算法模块并获取所述初始算法模块的运行结果。
  14. 根据权利要求10至13中任一项所述的装置,其特征在于,还包括删除单元,用于,结束所述控制器调试任务;删除存储于所述随机存储器中的调试模块和/或旁路算法模块。
  15. 一种车辆控制器,其特征在于,其上存储有一条或多条指令,所述一条或多条指令被所述车辆控制器执行时实现如权利要求1-9任一项所述的方法。
  16. 一种电动车辆,其特征在于,包括如权利要求14所述的车辆控制器。
  17. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至9中任一项所述的方法。
  18. 一种电子设备,其特征在于,包括:
    一个或多个处理器;
    存储器,用于存储一个或多个程序,
    当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行如权利要求1至9中任一项所述的方法。
  19. 一种计算机程序产品,其特征在于,所述计算机程序产品中包括计算机程序代码,当所述计算机程序代码在计算机上运行时,以执行如权利要求1至9中任一项所述的方法。
  20. 一种计算机程序,其特征在于,所述计算机程序包括计算机程序代码,当所述计算机程序代码在计算机上运行时,以使得计算机执行如权利要求1至9中任一项所述的方法。
PCT/CN2022/092062 2021-06-21 2022-05-10 车辆控制器调试方法和装置 WO2022267725A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110685407.2 2021-06-21
CN202110685407.2A CN113377658B (zh) 2021-06-21 2021-06-21 一种车辆控制器调试方法和装置

Publications (1)

Publication Number Publication Date
WO2022267725A1 true WO2022267725A1 (zh) 2022-12-29

Family

ID=77578055

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/092062 WO2022267725A1 (zh) 2021-06-21 2022-05-10 车辆控制器调试方法和装置

Country Status (2)

Country Link
CN (1) CN113377658B (zh)
WO (1) WO2022267725A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113377658B (zh) * 2021-06-21 2024-04-16 北京车和家信息技术有限公司 一种车辆控制器调试方法和装置
CN114488992A (zh) * 2021-12-17 2022-05-13 徐工汉云技术股份有限公司 一种基于监督机器学习的电动车控制器适配多车型的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105159278A (zh) * 2015-08-21 2015-12-16 郑州飞机装备有限责任公司 基于can总线的电动汽车用电机控制器参数修改方法
US20170161970A1 (en) * 2015-12-07 2017-06-08 Intrepid Control Systems, Inc. Calibration tool assembly and method of using same
CN112214365A (zh) * 2020-09-22 2021-01-12 珠海格力电器股份有限公司 一种电动车辆的数据调试方法和装置
CN112367235A (zh) * 2020-10-29 2021-02-12 上汽大众汽车有限公司 用于智能驾驶域控制器的实时远程调试及ota高速下载的系统和方法
CN113377658A (zh) * 2021-06-21 2021-09-10 北京车和家信息技术有限公司 一种车辆控制器调试方法和装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3632569A1 (de) * 1986-09-25 1988-04-07 Bosch Gmbh Robert Pruefverfahren zur ueberpruefung von elektrischen schaltungen und pruefeinrichtung zu dessen durchfuehrung
DE102005010476A1 (de) * 2005-03-04 2006-09-07 Daimlerchrysler Ag Steuergerät mit konfigurierbaren Hardwaremodulen
CN201392473Y (zh) * 2009-04-16 2010-01-27 合肥创源智能网络有限责任公司 具有在线调试和程序下载功能的车载网络系统
US20130096747A1 (en) * 2011-10-18 2013-04-18 Fuel Motion Inc. Method and apparatus for a hybrid electric drive train vehicle control unit (VCU) system
CN103176472B (zh) * 2013-03-13 2015-09-09 长沙理工大学 一种四轮驱动纯电动汽车硬件在环仿真实验系统
CN104850112A (zh) * 2014-11-04 2015-08-19 北汽福田汽车股份有限公司 电动汽车整车控制器测试方法和系统
CN204184284U (zh) * 2014-11-08 2015-03-04 天津易众腾动力技术有限公司 一种具有存储器和无线通信模块的电动汽车整车控制器
CN110673584B (zh) * 2019-10-14 2021-10-01 上海拿森汽车电子有限公司 一种电动助力刹车系统的可靠性检测方法及装置
CN212112225U (zh) * 2020-04-27 2020-12-08 蜂巢智能转向科技河北有限公司 车辆电控单元测试系统
CN112677990A (zh) * 2021-03-12 2021-04-20 三一重型装备有限公司 车辆故障处理方法和车辆故障处理系统
CN115195472A (zh) * 2021-04-08 2022-10-18 北汽福田汽车股份有限公司 一种模式切换的方法、装置以及一种汽车

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105159278A (zh) * 2015-08-21 2015-12-16 郑州飞机装备有限责任公司 基于can总线的电动汽车用电机控制器参数修改方法
US20170161970A1 (en) * 2015-12-07 2017-06-08 Intrepid Control Systems, Inc. Calibration tool assembly and method of using same
CN112214365A (zh) * 2020-09-22 2021-01-12 珠海格力电器股份有限公司 一种电动车辆的数据调试方法和装置
CN112367235A (zh) * 2020-10-29 2021-02-12 上汽大众汽车有限公司 用于智能驾驶域控制器的实时远程调试及ota高速下载的系统和方法
CN113377658A (zh) * 2021-06-21 2021-09-10 北京车和家信息技术有限公司 一种车辆控制器调试方法和装置

Also Published As

Publication number Publication date
CN113377658B (zh) 2024-04-16
CN113377658A (zh) 2021-09-10

Similar Documents

Publication Publication Date Title
WO2022267725A1 (zh) 车辆控制器调试方法和装置
CN107454190B (zh) 一种智能网联汽车的网络架构及汽车
CN109474912B (zh) 一种车载网关系统以及车载子系统的监控方法和装置
JP2021500816A (ja) 車両搭載機器アップグレード方法および関連機器
CN108243259A (zh) 车联网数据的传输方法、装置及系统
KR20180004802A (ko) 애플리케이션 배포를 위한 맞춤 통신 채널들
CN112367233A (zh) 基于面向服务的架构下车载网络ecu通信方法及装置
EP3982587A1 (en) Authentication method, device, and system
CN110390184B (zh) 用于在云中执行应用的方法、装置和计算机程序产品
CN109905488B (zh) 商用车电子电器安全通讯方法
CN113168317A (zh) 基于空中下载技术ota的通信方法和装置
CN111475174A (zh) 一种车载网关在线刷写、配置的装置及方法
CN114531467B (zh) 一种信息处理方法、设备和系统
CN112448998A (zh) 分布式车辆网络访问授权
CN112249035A (zh) 基于通用数据流架构的自动驾驶方法、装置及设备
WO2024109535A1 (zh) 通信交互方法、装置、设备及存储介质
CN112860448B (zh) 用于车辆的电子控制单元中的访问控制的系统和方法
CN113434864A (zh) 一种车联网漏洞库的管理方法和管理系统
JP2021048495A (ja) 車載制御装置、情報処理装置、車両用ネットワークシステム、アプリケーションプログラムの提供方法、及びプログラム
CN116775375A (zh) 数据存储的方法和系统
CN113050960A (zh) Ota升级方法、装置、车载终端及存储介质
CN116483693A (zh) 车载控制器软件调试方法及系统、电子设备、存储介质
CN113821353B (zh) 在车辆的电子控制单元中实现进程间通信的系统和方法
CN107786411A (zh) 应用程序间通信隧道连接/验证方法/系统、介质及设备
CN113408755A (zh) 汽修资源获取方法、云平台及电子设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22827223

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 25.04.2024)