C #-based battery management system software flashing method, device and equipment
Through the C#-based battery management system software flashing method, the CAN device and UDS protocol are used to solve the problems of inconvenience in use and poor compatibility of existing tools, and the low-cost and efficient battery management system software flashing is realized, and a variety of tools are supported. and the project's flashing, automatically adapt the response time and store data.
Patent Information
- Application Number
- CN202411138141.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-19
- Publication Date
- 2024-12-27
AI Technical Summary
The existing battery management system software flashing tools are inconvenient to use, lack universality, unintuitive interface, poor compatibility, and unable to automatically store data, resulting in the software flashing process in the automotive industry and high cost.
Using the C#-based battery management system software flashing method, by obtaining the library functions of the CAN device, establishing the transmission and reception channel between the CAN network and the host computer, debugging the flashing process according to the UDS protocol, creating a timeout response function, and implementing a variety of CAN tools and Software writing for multiple projects is automatically adapted to the response time of different battery management systems, and automatically stores the writing data and logs.
It realizes low-cost and highly readable battery management system software flashing, supports flashing of multiple CAN tools and multiple projects, and automatically adapts response time, reducing the complexity and cost of the flashing process.
Smart Images

Figure CN119201143A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data transmission and information storage of a battery management system, and specifically to a method, device and equipment for flashing battery management system software based on C#. Background Art
[0002] With the development of current battery management system software flashing, many controller software flashing needs to be implemented with the help of INCA (a calibration tool) or Vector tool (an automotive bus development and testing tool). When flashing the battery management system software, it is inconvenient to use in terms of software, hardware and cost, and software and hardware authorization is required for use.
[0003] At the same time, the software and hardware related to the battery management system software flashing are very simple, not universal, the interface is not intuitive, the compatibility is poor, and the data cannot be automatically stored, which brings great inconvenience to the software flashing of the battery management system in the automotive industry. Therefore, how to efficiently realize the software flashing of the battery management system has become a problem that needs to be solved urgently. Summary of the invention
[0004] The present application provides a C#-based battery management system software flashing method, device and equipment, which supports flashing operations of multiple CAN tools, supports flashing of battery management system software of multiple projects, and automatically adapts to the response time of different battery management systems.
[0005] In a first aspect, an embodiment of the present application provides a battery management system software flashing method based on C#, and the battery management system software flashing method based on C# includes:
[0006] Obtain the library functions of various CAN devices in the C# environment, and establish the transceiver channel between the CAN network and the host computer based on the transceiver function of the CAN network;
[0007] Obtain the file data to be flashed, and debug the relevant functions in the software flashing steps according to the flashing process and UDS protocol;
[0008] Create a timeout response function in the host computer, the host computer transmits the file data to be flashed to the battery management system, and completes the software flashing after the data verification passes.
[0009] In combination with the first aspect, in one implementation, the method of obtaining library functions of various CAN devices in a C# environment and establishing a transceiver channel between the CAN network and a host computer based on the transceiver function of the CAN network specifically includes:
[0010] Based on the host computer software of CAN devices, call the library functions of various CAN devices in the C# environment;
[0011] According to the library functions of various CAN devices, debug the message receiving and sending functions of the CAN network, establish the receiving and sending channel between the CAN network and the host computer, and realize the establishment of the transmission channel between the battery management system and the host computer.
[0012] In combination with the first aspect, in one implementation, the obtaining of the file data to be flashed and debugging of the relevant functions in the software flashing step according to the flashing process and the UDS protocol specifically include:
[0013] Get the data of the file to be flashed, and establish the data parsing function of the hex and s19 flashing files and the CRC check function according to the bootloader flashing process and UDS protocol;
[0014] According to the flashing project requirements, debug the relevant functions in the software flashing steps.
[0015] In combination with the first aspect, in one implementation, the related functions in the software flashing step include 0x10 extended mode, 0x85 DTC function service, 0x27 security access unlocking service, and 0x36 data transmission service.
[0016] In combination with the first aspect, in one implementation, the creation of a timeout response function in a host computer, the host computer transmits the file data to be flashed to the battery management system, and completes the software flashing after the data verification passes, specifically including:
[0017] Create a timeout response function in the host computer to realize the host computer's response waiting for the battery management system;
[0018] The host computer transmits the file data to be flashed to the battery management system, and performs a CRC check on the file data to be flashed. After the check passes, the flashing of the battery management system software is completed based on the file data to be flashed.
[0019] In combination with the first aspect, in one implementation, performing a CRC check code of the file data to be written specifically includes:
[0020] After the host computer transmits the file data to be flashed to the battery management system, the host computer sends the CRC check code of the file data to be flashed to the battery management system;
[0021] The battery management system obtains the CRC check code of the received file data to be flashed, and compares the obtained CRC check code with the CRC check code transmitted by the host computer:
[0022] If they are consistent, the verification is passed, and the battery management system responds positively to the upper computer;
[0023] If they are inconsistent, the verification fails and ends.
[0024] In combination with the first aspect, in one implementation, the host computer is also used to record the interaction data of the entire flashing process, generate a flashing log, and display and save it.
[0025] In combination with the first aspect, in one implementation, after generating the flash log, the method further includes:
[0026] Based on CANoe software, offline analysis of flash log messages is performed to obtain the cause of flash abnormality.
[0027] In a second aspect, an embodiment of the present application provides a battery management system software flashing device based on C#, and the battery management system software flashing device based on C# includes:
[0028] Establish a module to obtain the library functions of various CAN devices in the C# environment, and establish a transceiver channel between the CAN network and the host computer based on the transceiver function of the CAN network;
[0029] The debugging module is used to obtain the file data to be flashed and debug the relevant functions in the flashing process according to the flashing process and UDS protocol;
[0030] The flashing module is used to create a timeout response function in the host computer. The host computer transmits the file data to be flashed to the battery management system and completes the software flashing after the data verification is passed.
[0031] In the third aspect, an embodiment of the present application provides a C#-based battery management system software flashing device, which includes a processor, a memory, and a C#-based battery management system software flashing program stored in the memory and executable by the processor, wherein when the C#-based battery management system software flashing program is executed by the processor, the steps of the above-mentioned C#-based battery management system software flashing method are implemented.
[0032] The beneficial effects brought by the technical solution provided in the embodiments of the present application include:
[0033] By obtaining the library functions of various CAN devices in the C# environment, and establishing the transceiver channel between the CAN network and the host computer based on the transceiver function of the CAN network, the file data to be flashed is obtained, and according to the flashing process and UDS protocol, the relevant functions in the flashing process are debugged, and then a timeout response function is created on the host computer. The host computer transmits the file data to be flashed to the battery management system, and completes the software flashing after the data verification passes. It supports the flashing operations of various CAN tools and the battery management system software flashing of multiple projects, automatically adapts to the response time of different battery management systems, and automatically stores the flashed CAN data and log file information, achieving low cost and strong readability of CAN data. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] Figure 1 This is a flowchart of the battery management system software flashing method based on C# in this application;
[0035] Figure 2 This is a functional module diagram of a battery management system software flashing device based on C# in this application;
[0036] Figure 3 This is a schematic diagram of the modules of the C#-based battery management system software flashing device of the present application during specific application;
[0037] Figure 4 This is a schematic diagram of the hardware structure of the battery management system software flashing device based on C# in this application. DETAILED DESCRIPTION
[0038] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0039] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.
[0040] In a first aspect, an embodiment of the present application provides a battery management system software flashing method based on C#.
[0041] In one embodiment, referring to Figure 1 , Figure 1 This is a flow chart of the battery management system software flashing method based on C# in this application. Figure 1 As shown, the battery management system software flashing method based on C# includes:
[0042] S1: Obtain the library functions of various CAN (Controller Area Network) devices in the C# environment, and establish a transceiver channel between the CAN network and the host computer based on the transceiver function of the CAN network; C# is a general-purpose, object-oriented programming language.
[0043] Furthermore, in one embodiment, the library functions of various CAN devices are obtained in the C# environment, and a transceiver channel between the CAN network and the host computer is established based on the transceiver function of the CAN network, specifically including:
[0044] S101: Based on the host computer software of the CAN device, call the library functions of various CAN devices in the C# environment; in this application, CAN devices include Chuangxin CAN, Zhouligong CANFD, PCAN, ValueCAN, etc.;
[0045] S102: According to the library functions of various CAN devices, debug the message receiving and sending functions of the CAN network, establish a receiving and sending channel between the CAN network and the host computer, and realize the establishment of a transmission channel between the battery management system and the host computer.
[0046] Specifically, based on the CAN device host computer software and according to the library functions of various CAN devices, CAN parameters are configured to debug the message receiving and sending functions of the CAN network, establish a receiving and sending channel between the CAN network and the host computer, and realize the establishment of a hardware transmission channel between the battery management system and the host computer.
[0047] S2: Obtain the file data to be flashed, and debug the relevant functions in the software flashing step according to the flashing process and UDS (Unified Diagnostic Services) protocol;
[0048] Furthermore, in one embodiment, the data of the file to be flashed is obtained, and according to the flashing process and the UDS protocol, the relevant functions in the flashing process are debugged, specifically including:
[0049] S201: Obtain the file data to be flashed, and establish the data parsing function of hex and s19 flashing files and the CRC (Cyclic Redundancy Check) check function according to the bootloader flashing process and UDS protocol; hex and s19 represent the file format;
[0050] S202: According to the flashing project requirements, debug the relevant functions in the software flashing step. In this application, the relevant functions in the software flashing step include 0x10 extended mode, 0x85 DTC function service, 0x27 security access unlocking service, and 0x36 data transmission service. Among them, 0x10 represents the session mode control service; 0x85DTC is the DTC (Diagnostic TroubleCode) control service; 0x27 refers to the security access service; 0x36 refers to the data transmission service.
[0051] Specifically, establish the data parsing function of the hex flash file, the data parsing function of the s19 flash file, and the CRC verification function, and then debug each function in the flashing step of the debugging software according to the bootloader flashing process and UDS protocol and the requirements of different flashing projects.
[0052] S3: Create a timeout response function in the host computer, the host computer transmits the file data to be flashed to the battery management system, and completes the software flashing after the data verification passes.
[0053] Furthermore, in one embodiment, a timeout response function is created in the host computer, the host computer transmits the file data to be flashed to the battery management system, and completes the software flashing after the data verification passes, specifically including:
[0054] S301: creating a timeout response function in the host computer to realize the host computer's response waiting for the battery management system;
[0055] During the flashing process, the battery management system needs some time to respond after receiving the command. This application adds a timeout response function in the host computer to avoid the failure of flashing due to failure of the host computer to receive the response, which greatly improves the success rate of software flashing.
[0056] S302: The host computer transmits the file data to be flashed to the battery management system, and performs a CRC check on the file data to be flashed. After the check passes, the flashing of the battery management system software is completed based on the file data to be flashed.
[0057] Furthermore, the CRC check code of the file data to be written is performed, which specifically includes:
[0058] S3021: After the host computer transmits the file data to be flashed to the battery management system, the host computer sends the CRC check code of the file data to be flashed to the battery management system;
[0059] S3022: The battery management system obtains the CRC check code of the received file data to be flashed, and compares the obtained CRC check code with the CRC check code transmitted by the host computer:
[0060] If they are consistent, the verification is passed, and the battery management system responds positively to the upper computer;
[0061] If they are inconsistent, the verification fails and ends.
[0062] Furthermore, the host computer is also used to record the interactive data of the entire flashing process, generate a flashing log, and display and save it. After generating the flashing log, it also includes: offline analysis of the flashing log message based on CANoe (a tool with Ethernet simulation test capabilities) software to obtain the cause of the flashing abnormality.
[0063] This application aims to address the problems of general controller software flashing using INCA and Vector tools, which involve high software and hardware costs, poor compatibility, large software tools, inability to save flash data, and great inconvenience to production and testing personnel. Through C# development tools, based on CAN devices such as Chuangxin CAN, Zhou Liguo CANFD, PCAN, ValueCAN, and according to the library functions of various CAN devices, a transmission channel between the host computer and the battery management system is established. According to the bootloader flashing process and UDS protocol, it supports battery management system software flashing for different projects, automatically records the flashed CAN data information and flashing logs, and the host computer software is small, does not need to be installed, and has good compatibility.
[0064] The C#-based battery management system software flashing method of the embodiment of the present application obtains the library functions of various CAN devices in the C# environment, and establishes a transceiver channel between the CAN network and the host computer based on the transceiver function of the CAN network, and then obtains the file data to be flashed, and debugs the relevant functions in the flashing process according to the flashing process and the UDS protocol, and then creates a timeout response function in the host computer. The host computer transmits the file data to be flashed to the battery management system, and completes the software flashing after the data verification passes. It supports the flashing operations of various CAN tools and the battery management system software flashing of multiple projects, automatically adapts to the response time of different battery management systems, and automatically stores the flashed CAN data and log file information, so as to achieve low cost and high readability of CAN data.
[0065] In a second aspect, an embodiment of the present application also provides a battery management system software flashing device based on C#.
[0066] In one embodiment, referring to Figure 2 , Figure 2 This is a functional module diagram of the battery management system software flashing device based on C# in this application. Figure 2 As shown, the C#-based battery management system software flashing device includes: a building module, a debugging module, and a flashing module.
[0067] The establishment module is used to obtain the library functions of various CAN devices in the C# environment, and establish the transceiver channel between the CAN network and the host computer based on the transceiver function of the CAN network; the debugging module is used to obtain the file data to be flashed, and debug the relevant functions in the flashing process according to the flashing process and UDS protocol; the flashing module is used to create a timeout response function in the host computer, and the host computer transmits the file data to be flashed to the battery management system, and completes the software flashing after the data verification is passed.
[0068] In this application, the library functions of various CAN devices are obtained in the C# environment, and the transceiver channel between the CAN network and the host computer is established based on the transceiver function of the CAN network, including:
[0069] Based on the host computer software of CAN devices, call the library functions of various CAN devices in the C# environment;
[0070] According to the library functions of various CAN devices, debug the message receiving and sending functions of the CAN network, establish the receiving and sending channel between the CAN network and the host computer, and realize the establishment of the transmission channel between the battery management system and the host computer.
[0071] In this application, the data of the file to be flashed is obtained, and according to the flashing process and UDS protocol, the relevant functions in the software flashing step are debugged, including:
[0072] Get the data of the file to be flashed, and establish the data parsing function of the hex and s19 flashing files and the CRC check function according to the bootloader flashing process and UDS protocol;
[0073] According to the flashing project requirements, debug the relevant functions in the software flashing steps.
[0074] In this application, the relevant functions in the software flashing step include 0x10 extended mode, 0x85 DTC function service, 0x27 security access unlock service, and 0x36 data transmission service.
[0075] In this application, a timeout response function is created in the host computer, and the host computer transmits the file data to be flashed to the battery management system, and completes the software flashing after the data verification passes, specifically including:
[0076] Create a timeout response function in the host computer to realize the host computer's response waiting for the battery management system;
[0077] The host computer transmits the file data to be flashed to the battery management system, and performs a CRC check on the file data to be flashed. After the check passes, the flashing of the battery management system software is completed based on the file data to be flashed.
[0078] In this application, the CRC check code of the file data to be written is performed, specifically including:
[0079] After the host computer transmits the file data to be flashed to the battery management system, the host computer sends the CRC check code of the file data to be flashed to the battery management system;
[0080] The battery management system obtains the CRC check code of the received file data to be flashed, and compares the obtained CRC check code with the CRC check code transmitted by the host computer:
[0081] If they are consistent, the verification is passed, and the battery management system responds positively to the upper computer;
[0082] If they are inconsistent, the verification fails and ends.
[0083] In this application, the host computer is also used to record the interactive data of the entire flashing process, generate a flashing log, and display and save it. After generating the flashing log, it also includes: offline analysis of the flashing log message based on CANoe software to obtain the cause of the flashing abnormality.
[0084] See also Figure 3 As shown, it is a module schematic diagram of the C#-based battery management system software flashing device of the present application during specific application, which includes a battery management system unit, various types of CAN terminal modules, and a host computer control unit.
[0085] The battery management system unit includes a UDS protocol response unit and a CRC data verification unit; various types of CAN terminal modules include a data acquisition unit, a microprocessor unit, a CAN module unit, and a library function driver unit; the host computer control unit includes a flash file processing unit, a data storage unit, an abnormal feedback unit, a CRC verification unit, and a data transmission unit.
[0086] In a third aspect, an embodiment of the present application provides a battery management system software flashing device based on C#. The battery management system software flashing device based on C# can be a personal computer (PC), a laptop computer, a server, or other device with data processing capabilities.
[0087] Reference Figure 4 , Figure 4 The hardware structure diagram of the C#-based battery management system software flashing device involved in the embodiment of the present application is shown in FIG. In the embodiment of the present application, the C#-based battery management system software flashing device may include a processor, a memory, a communication interface, and a communication bus.
[0088] The communication bus may be of any type and is used to interconnect the processor, the memory, and the communication interface.
[0089] The communication interface includes input / output (I / O) interface, physical interface and logical interface, etc., which are used to realize the interconnection of devices inside the C#-based battery management system software flashing device, and the interface used to realize the interconnection of the C#-based battery management system software flashing device with other devices (such as other computing devices or user devices). The physical interface can be an Ethernet interface, a fiber optic interface, an ATM interface, etc.; the user device can be a display (Display), a keyboard (Keyboard), etc.
[0090] The memory can be various types of storage media, such as random access memory (RAM), read-only memory (ROM), non-volatile RAM (NVRAM), flash memory, optical storage, hard disk, programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), etc.
[0091] The processor may be a general-purpose processor, which may call a C#-based battery management system software flashing program stored in a memory and execute a C#-based battery management system software flashing method provided in an embodiment of the present application. For example, the general-purpose processor may be a central processing unit (CPU). The method executed when the C#-based battery management system software flashing program is called may refer to the various embodiments of the C#-based battery management system software flashing method of the present application, which will not be repeated here.
[0092] Those skilled in the art will understand that Figure 4 The hardware structure shown in the figure does not constitute a limitation on the present application, and may include more or less components than shown in the figure, or combine certain components, or arrange the components differently.
[0093] In a fourth aspect, an embodiment of the present application also provides a computer-readable storage medium.
[0094] The computer-readable storage medium of the present application stores a C#-based battery management system software flashing program, wherein when the C#-based battery management system software flashing program is executed by a processor, the steps of the C#-based battery management system software flashing method described above are implemented.
[0095] Among them, the method implemented when the C#-based battery management system software flashing program is executed can refer to the various embodiments of the C#-based battery management system software flashing method of this application, and will not be repeated here.
[0096] It should be noted that the serial numbers of the above-mentioned embodiments of the present application are only for description and do not represent the advantages or disadvantages of the embodiments.
[0097] The terms "including" and "having" and any variations thereof in the specification and claims of this application and the above-mentioned drawings are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but optionally includes steps or units that are not listed, or optionally includes other steps or units inherent to these processes, methods, products or devices. The terms "first", "second" and "third" are used to distinguish different objects, etc., and do not represent a sequence, nor do they limit "first", "second" and "third" to different types.
[0098] In the description of the embodiments of the present application, "exemplary", "for example" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary", "for example" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary", "for example" or "for example" is intended to present related concepts in a specific way.
[0099] In the description of the embodiments of the present application, unless otherwise specified, “ / ” means or, for example, A / B can mean A or B; the “and / or” in the text is merely a description of the association relationship of associated objects, indicating that three relationships may exist, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, “multiple” refers to two or more than two.
[0100] In some processes described in the embodiments of the present application, multiple operations or steps that appear in a specific order are included, but it should be understood that these operations or steps may not be executed in the order in which they appear in the embodiments of the present application or in parallel, and the sequence number of the operation is only used to distinguish the different operations, and the sequence number itself does not represent any execution order. In addition, these processes may include more or fewer operations, and these operations or steps may be executed in sequence or in parallel, and these operations or steps may be combined.
[0101] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, disk, CD) as described above, and includes a number of instructions for a terminal device to execute the methods described in each embodiment of the present application.
[0102] The above are only preferred embodiments of the present application, and are not intended to limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.
Claims
1. A battery management system software flashing method based on C#, characterized in that: The C#-based battery management system software flashing method includes: Obtain the library functions of various CAN devices in the C# environment, and establish the transceiver channel between the CAN network and the host computer based on the transceiver function of the CAN network; Obtain the file data to be flashed, and debug the relevant functions in the software flashing steps according to the flashing process and UDS protocol; Create a timeout response function in the host computer, the host computer transmits the file data to be flashed to the battery management system, and completes the software flashing after the data verification passes.
2. A method for flashing battery management system software based on C# as claimed in claim 1, characterized in that: The method of obtaining the library functions of various CAN devices in the C# environment and establishing a transceiver channel between the CAN network and the host computer based on the transceiver function of the CAN network specifically includes: Based on the host computer software of CAN devices, call the library functions of various CAN devices in the C# environment; According to the library functions of various CAN devices, debug the message receiving and sending functions of the CAN network, establish the receiving and sending channel between the CAN network and the host computer, and realize the establishment of the transmission channel between the battery management system and the host computer.
3. A method for flashing battery management system software based on C# as claimed in claim 1, characterized in that: The obtaining of the file data to be flashed and debugging of the relevant functions in the software flashing step according to the flashing process and UDS protocol specifically include: Get the data of the file to be flashed, and establish the data parsing function of the hex and s19 flashing files and the CRC check function according to the bootloader flashing process and UDS protocol; According to the flashing project requirements, debug the relevant functions in the software flashing steps.
4. A method for flashing battery management system software based on C# as claimed in claim 3, characterized in that: The related functions in the software flashing step include 0x10 extended mode, 0x85 DTC function service, 0x27 security access unlock service, and 0x36 data transmission service.
5. A method for flashing battery management system software based on C# as claimed in claim 1, characterized in that: The creation of a timeout response function in the host computer, the host computer transmits the file data to be flashed to the battery management system, and completes the software flashing after the data verification passes, specifically including: Create a timeout response function in the host computer to realize the host computer's response waiting for the battery management system; The host computer transmits the file data to be flashed to the battery management system, and performs a CRC check on the file data to be flashed. After the check passes, the flashing of the battery management system software is completed based on the file data to be flashed.
6. A method for flashing battery management system software based on C# as claimed in claim 5, characterized in that: The CRC check code of the file data to be written specifically includes: After the host computer transmits the file data to be flashed to the battery management system, the host computer sends the CRC check code of the file data to be flashed to the battery management system; The battery management system obtains the CRC check code of the received file data to be flashed, and compares the obtained CRC check code with the CRC check code transmitted by the host computer: If they are consistent, the verification is passed, and the battery management system responds positively to the upper computer; If they are inconsistent, the verification fails and ends.
7. A method for flashing battery management system software based on C# as claimed in claim 1, characterized in that: The host computer is also used to record the interactive data of the entire flashing process, generate a flashing log, and display and save it.
8. A method for flashing battery management system software based on C# as claimed in claim 7, characterized in that: After the flash log is generated, it also includes: Based on CANoe software, offline analysis of flash log messages is performed to obtain the cause of flash abnormality.
9. A battery management system software flashing device based on C#, characterized in that: The C#-based battery management system software flashing device includes: Establish a module to obtain the library functions of various CAN devices in the C# environment, and establish a transceiver channel between the CAN network and the host computer based on the transceiver function of the CAN network; The debugging module is used to obtain the file data to be flashed and debug the relevant functions in the flashing process according to the flashing process and UDS protocol; The flashing module is used to create a timeout response function in the host computer. The host computer transmits the file data to be flashed to the battery management system and completes the software flashing after the data verification is passed.
10. A battery management system software flashing device based on C#, characterized in that: The C#-based battery management system software flashing device includes a processor, a memory, and a C#-based battery management system software flashing program stored in the memory and executable by the processor, wherein when the C#-based battery management system software flashing program is executed by the processor, the steps of the C#-based battery management system software flashing method as described in any one of claims 1 to 8 are implemented.
