Abstract: METHOD FOR MANAGING FLASHING OF ECU IN VEHICLE AND ECU THEREOF ABSTRACT The present disclosure relates to a method, an Electronic Control Unit (102), and a vehicle (110) for managing flashing of the ECU (102) in the vehicle (110). The method is performed by a bootloader (104) of the ECU (102). The method comprises detecting that a flashing process of the ECU (102) is in progress. Further, the method comprises activating a power hold mode of the ECU (102), in response to the detection. A power supply to the ECU (102) is prevented from turning off for a predefined time period in the power hold mode, for enabling completion of the flashing of the ECU (102). FIGURE 1
FORM 2
THE PATENTS ACT 1970
[39 OF 1970]
&
THE PATENTS RULES, 2003
COMPLETE SPECIFICATION
[See section 10 and Rule 13]
TITLE: “METHOD FOR MANAGING FLASHING OF ECU IN VEHICLE AND ECU THEREOF”
Name and Address of the Applicant: TATA MOTORS LIMITED, Bombay House, 24, Homi Modi Street, Hutatma Chowk, Mumbai – 400 001.
Nationality: Indian
The following specification particularly describes the invention and the manner in which it is to be performed.
2
TECHNICAL FIELD
[001]
The present disclosure generally relates to automobiles. More particularly, the present disclosure relates to a method, an Electronic Control Unit (ECU), and a vehicle for managing flashing of the ECU in the vehicle.
BACKGROUND
[002] Flashing of controllers in a vehicle, also referred to as Electronic Control Units (ECUs), refers to a process of installing or updating a firmware of the controllers with programmable logic, for example, from vehicle manufacturers. Flashing of controllers in the vehicle is widely practiced in vehicle manufacturing and maintenance for loading the programmable logic in the controllers for enabling various functions, such as infotainment systems, telematics applications, and so on. Flashing of latest updates in the controllers enables fixing bugs and also introduction of more efficient firmware.
[003]
Flashing of the controllers is a significant activity that takes considerable time during assembly process of the vehicle and while in service. As the number of controllers in the vehicle increases, the time required for flashing is further increased. A single interruption in flashing of the controllers leads to start-over of the flashing and time to perform flashing increases or nearly doubles. This leads to increased controller downtime.
[004]
Also, the interruption in flashing of the controllers may lead to corruption in boot area of the controllers. In such cases, special measures may be needed to revive the controllers, or there may be a requirement to replace the controllers leading to further controller downtime. The controller downtime affects the assembly process of the vehicle. This also reduces customer experience while the vehicle is in service.
[005] The information disclosed in this background of the disclosure section is only for enhancement of understanding of the general background of the invention and should not be taken as an acknowledgement or any form of suggestion that this information forms the prior art already known to a person skilled in the art.
SUMMARY
3
[006]
In an embodiment, the present disclosure discloses a method of managing flashing of an Electronic Control Unit (ECU) in a vehicle. The method comprises detecting that a flashing process of the ECU is in progress. Further, the method comprises activating a power hold mode of the ECU, in response to the detection. During activation of the power hold mode, a power supply to the ECU is prevented from turning off for a predefined time period, for enabling completion of the flashing of the ECU.
[007]
In an embodiment, the present disclosure discloses an Electronic Control Unit (ECU) for managing flashing thereof. The ECU comprises a processor and a memory. The memory stores a set of instructions which when executed by the processor deploys a bootloader. The bootloader is configured to detect that a flashing process of the ECU is in progress. Further, the bootloader is configured to activate a power hold mode of the ECU, in response to the detection. During activation of the power hold mode, a power supply to the ECU is prevented from turning off for a predefined time period, for enabling completion of the flashing of the ECU.
[008]
In an embodiment, the present disclosure discloses a vehicle for managing flashing of an Electronic Control Unit (ECU). The vehicle comprises the ECU. The ECU is configured to detect that a flashing process of the ECU is in progress. Further, the ECU is configured to activate a power hold mode of the ECU, in response to the detection. During activation of the power hold mode, a power supply to the ECU is prevented from turning off for a predefined time period, for enabling completion of the flashing of the ECU.
[009]
The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the drawings and the following detailed description.
BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS
[0010]
The novel features and characteristics of the disclosure are set forth in the appended claims. The disclosure itself, however, as well as a preferred mode of use, further objectives, and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying figures. One or more embodiments are now described, by way of example only, with reference
4
to the accompanying figures wherein like reference numerals represent like elements and in
which:
[0011]
Figure 1 illustrates an exemplary environment for managing flashing of an Electronic Control Unit (ECU) in a vehicle, in accordance with some embodiments of the present disclosure;
[0012]
Figure 2 illustrates a detailed diagram of the ECU for managing flashing in the vehicle, in accordance with some embodiments of the present disclosure;
[0013]
Figure 3A illustrates an exemplary state diagram for managing flashing of the ECU in the vehicle, in accordance with some embodiments of the present disclosure;
[0014]
Figures 3B and 3C illustrate exemplary flow diagrams for managing flashing of the ECU in the vehicle, in accordance with some embodiments of the present disclosure; and
[0015]
Figure 4 shows an exemplary flow chart illustrating method steps for managing flashing of the ECU in the vehicle, in accordance with some embodiments of the present disclosure.
[0016]
It should be appreciated by those skilled in the art that any block diagram herein represents conceptual views of illustrative systems embodying the principles of the present subject matter. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable medium and executed by a computer or processor, whether or not such computer or processor is explicitly shown.
DETAILED DESCRIPTION
[0017]
In the present document, the word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment or implementation of the present subject matter described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
[0018]
While the disclosure is susceptible to various modifications and alternative forms, specific embodiment thereof has been shown by way of example in the drawings and will be described in detail below. It should be understood, however that it is not intended to limit the
5
disclosure to the particular forms disclosed, but on the contrary, the disclosure is to cover all
modifications, equivalents, and alternatives falling within the scope of the disclosure.
[0019]
The terms “comprises”, “comprising”, or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a setup, device or method that comprises a list of components or steps does not include only those components or steps but may include other components or steps not expressly listed or inherent to such setup or device or method. In other words, one or more elements in a system or apparatus proceeded by “comprises… a” does not, without more constraints, preclude the existence of other elements or additional elements in the system or apparatus.
[0020]
Flashing of controllers (also referred to as Electronic Control Units (ECUs) in the present disclosure), refers to a process of installing or updating a firmware of the controllers with programmable logic from vehicle manufacturers. Flashing of the controllers takes considerable time during assembly process of the vehicle and while in service. A single interruption in flashing of the controllers leads to start-over of the flashing and time to perform flashing increases or nearly doubles. This leads to increased controller downtime. The controller downtime affects the assembly process of the vehicle. This also reduces customer experience while the vehicle is in service.
[0021]
During firmware updates to a controller in a vehicle, the vehicle driving source, such as an engine or an electric motor, is supposed to be in ON condition for the update to be completed, so as to ensure that the controller receives power supply during the update process. However, when a vehicle is turned OFF while the update process is ongoing, the controller is not updated to latest firmware and in a few scenarios, the controller may be corrupted due to incomplete updates. In some existing solutions, an external control unit monitors a controller being flashed and ensures that the controller receives power supply until the update is complete. However, such solutions have a dependency on another controller, which is undesirable. The present disclosure aims to solve the above-mentioned problems.
[0022]
The present disclosure discloses a method, an Electronic Unit (ECU), and a vehicle for managing flashing of the controllers/ECUs in the vehicle. The present disclosure identifies that turning off an ignition key of the vehicle and starting of the vehicle as sources of interruption during flashing of the controllers. For instance, the controllers turn off a power hold relay when the ignition key is turned off and are non-operative until the ignition is turned on again. In the
6
present disclosure
, a bootloader of the ECU periodically monitors whether a flashing process of the ECU is in progress. The bootloader activates a power hold mode of the ECU, upon detecting that the flashing process is in progress. In the power hold mode, a power supply provided to the ECU is retained until the flashing process is complete. In this way, the present disclosure enables power retention of the ECU until execution of the flashing process is completed. This ensures that there are no interruptions in the flashing process of the controllers. Accordingly, the controller downtime is improved. This also improves the efficiency of assembly process of the vehicle and customer experience while the vehicle is in service. In accordance with the present subject matter, the power retention for the ECU during the update of the ECU is handled by the ECU itself, and an external ECU is not used for this purpose.
[0023]
The power retention for completion of the flashing process cannot be performed at application level of the ECU, as application software is not active when the flashing process is in progress. Hence, in the present disclosure, the power retention for the flashing process is configured in the bootloader of the ECU itself. As will be appreciated, the bootloader is restricted in terms of space. Thus, the present subject matter achieves the technically challenging task of using the bootloader of the ECU for ensuring that power supply is retained during flashing of the ECU.
[0024]
Due to the limited available space of the boot, it is not possible to add external triggers. To avoid this, the present disclosure utilises existing communication interface (for instance, Controller Area Network (CAN) interface) of the vehicle to detect progress of the flashing process. Hence, no additional external messages (or CAN messages) are required to be read. Also, as control of the flashing process is within the ECU, no external triggers from other controllers are required.
[0025]
Figure 1 illustrates an exemplary environment 100 for managing flashing of an Electronic Control Unit (ECU) in a vehicle, in accordance with some embodiments of the present disclosure. The exemplary environment 100 comprises a vehicle 110. The vehicle 110 may be a car, a truck, a bus, or the like. The vehicle 110 may be any vehicle which includes a controller. The controller may be an embedded system that controls one or more systems or subsystems of the vehicle 110. For instance, when the vehicle 110 is a car, the controller may be an ECU 102 of the car, as shown in Figure 1.
7
[0026]
As shown in Figure 1, the vehicle 110 comprises the ECU 102, a communication interface 106, and a diagnostic unit 108. A person skilled in the art will appreciate that the vehicle 110 comprises several other components. However, the other components are not disclosed in the present disclosure. The ECU 102 controls sensors and actuators of the vehicle 110, thereby controlling specific functions of the vehicle 110. The diagnostic unit 108 may be utilized to perform vehicle diagnostics communication during a maintenance or installation operation of the vehicle 110, for diagnosis and repair of vehicle sub-systems through communication with the ECU 102. In an example, considering the vehicle 110 as a car, the diagnostic unit 108 may be an On-Board Diagnostic (OBD) unit of the car.
[0027]
The ECU includes a bootloader 104 that is responsible for booting the ECU 102. The bootloader 104 performs tasks such as initializing Input/Output (IO), initializing various parameters, initializing data memory, configuring various peripheral devices and/or other tasks related to initial state of the ECU 102. The bootloader 104 is responsible for completing embedded system startup and system software loading work. All functions of the bootloader 104 are not described in the present disclosure, and the functions necessary to implement features related to retention of the power during the flashing process is disclosed in the present disclosure. The bootloader 104 is implemented when a set of instructions stored in a memory of the ECU 102 are executed. The memory storing the set of instructions for implementation of the bootloader 104 is also referred to as the bootloader memory in the present disclosure.
[0028]
In the present disclosure, the bootloader 104 of the ECU 102 is additionally configured to manage the flashing process in the vehicle 110. Herein, the bootloader 104 detects that a flashing process of the ECU 102 is in progress. The bootloader 104 communicates with the diagnostic unit 108 and periodically determine whether a transfer of data corresponding to the flashing process happened in a predefined time window. The bootloader 104 detects that the flashing process is in progress, when there is a transfer of flashing data in the predefined time window. In the present disclosure, the bootloader 104 activates a power hold mode of the ECU 102 upon detection of the flashing process. In the power hold mode, a power supplied to the ECU 102 is retained or a power supply of the ECU 102 is prevented from turning off for a predefined time period. Herein, to achieve the power hold mode, one or more relays connecting the power supply with the ECU 102 are disabled. Further, the power hold mode of the ECU 102 is deactivated upon determining that no transfer of data corresponding to the flashing process has happened in the predefined time window. In this way, the present disclosure
8
controls the power supplied to the ECU 102 for
enabling completion of the flashing of the ECU 102.
[0029]
Figure 2 illustrates a detailed diagram 200 of the ECU 102 for managing the flashing in the vehicle 110, in accordance with some embodiments of the present disclosure. The ECU 102 may include Central Processing Units 206 (also referred as “CPUs” or “a processor 206”), Input/ Output (I/O) interface 202, and a memory 204. In some embodiments, the memory 204 may be communicatively coupled to the processor 206. The memory 204 stores instructions executable by the processor 206. The processor 206 may comprise at least one data processor for executing program components for executing user or system-generated requests. The memory 204 may be communicatively coupled to the processor 206.
[0030]
The memory 204 includes a set of instructions, executable by the processor 206, which, on execution, may cause the processor 206 to deploy the bootloader 104 and manage the flashing of the ECU 102 in the vehicle 110. In an implementation, the memory 204 storing the set of instructions for implementation of the bootloader 104 may be a non-volatile memory such as Read-Only Memory (ROM). In another embodiment, the bootloader 104 may be stored in a dedicated boot sector such as hard disk. The memory 204 that stores the set of instructions which causes the processor 206 to deploy the bootloader 104is interchangeably referred to as the bootloader memory 204 in the present disclosure. In an embodiment, the bootloader 104 may include one or more modules 208. The one or more modules 208 may be configured to perform the steps of the present disclosure, to manage the flashing of the ECU 102 in the vehicle 110. As used herein, the term modules 208 refers to an Application Specific Integrated Circuit (ASIC), an electronic circuit, a Field-Programmable Gate Arrays (FPGA), Programmable System-on-Chip (PSoC), a combinational logic circuit, a software component, and/or other suitable components that provide described functionality. Further, the I/O interface 202 is coupled with the processor 206 through which an input signal or/and an output signal is communicated.
[0031]
The memory 204 includes a set of instructions, executable by the processor 206, which, on execution, may cause the modules 208 of the bootloader 104 to manage the flashing of the ECU 102 in the vehicle 110. In one implementation, the modules 208 may include, for example, a detection module 210, a power control module 212, and other modules 214. It will be
9
appreciated that such aforementioned modules
208 may be represented as a single module or a combination of different modules.
[0032]
In an embodiment, the detection module 210 may be configured to detect that a flashing process of the ECU 102 is in progress. The detection module 210 may further determine whether a transfer of data corresponding to the flashing process happened in a predefined time window. Herein, the detection module 210 may communicate with the diagnostic unit 108 of the vehicle 110 to determine the transfer of data corresponding to the flashing process. The detection module 210 may determine the transfer of data over the communication interface 106. For instance, the detection module 210 may determine the transfer of flashing data through an OBD port of vehicle 110. In an embodiment, the communication interface 106 may include a Controller Area Network (CAN) interface of the vehicle 110.
[0033]
The detection module 210 may determine that the transfer of data is associated with the flashing process based on properties associated with the transfer of data. For instance, the detection module 210 may determine that the transfer of data through the OBD port is associated with the flashing process when there are large blocks of transfers on the CAN interface.
[0034]
Reference is made to Figure 3A which illustrates an exemplary state diagram 300 for managing flashing of the ECU 102 in the vehicle 110. A state ‘S0’ in Figure 3A indicates a state where the ECU 102 is in an un-programmed state or a pre-flashing state and flashing has not taken place. A state ‘S0_1’ indicates a state where the ECU 102 is in flashing state, and the flashing process is in progress. A state ‘S1’ indicates a state where the flashing is complete. The detection module 210 detects that the flashing process is in progress in the state ‘S0_1’.
[0035]
Referring back to Figure 2, the detection module 210 may periodically determine whether a transfer of data corresponding to the flashing process has happened in a predefined time window. In an example, the predefined time window may be five seconds. In accordance with the example, the detection module 210 may determine whether a transfer of data corresponding to the flashing process has occurred during the last five seconds. In an example, the detection module 210 may detect that there is no transfer of data corresponding to the flashing process in the last five seconds.
10
[0036]
Referring to Figure 3B, the detection module 210 may communicate with the diagnostic unit 108 to receive commands corresponding to the flashing process, at step 304. The detection module 210 may periodically determine whether a transfer of data corresponding to the flashing process happened in the predefined time window (for example, five seconds), at step 306. The detection module 210 may determine that the flashing process is in progress, upon determining that there is a transfer of data corresponding to the flashing process in the predefined time window.
[0037]
Referring back to Figure 2, in an embodiment, the power control module 212 may receive detection data from the detection module 210. The detection data may include a result of detection whether a transfer of data corresponding to the flashing process happened in the predefined time window. The power control module 212 may be configured to activate a power hold mode of the ECU 102, in response to detection that the flashing process is in progress. The power control module 212 may disable one or more relays connecting the power supply with the ECU 102 in the power hold mode. The one or more relays may comprise a power hold relay, a starter relay, and the like. The power control module 212 disables the one or more relays such that a power supply to the ECU 102 is prevented from turning off for a predefined time period.
[0038]
In an example, consider that a technician of the vehicle 110 has initiated the flashing process. The technician or another person may inadvertently turn off an ignition key of the vehicle 110, while the flashing process of the ECU 102 in in progress. In such case, the power control module 212 prevents turning off the power hold relay in response to turning off the ignition key. The power hold relay is disabled from turning off for a predefined time period. For example, the power hold relay is turned off for a period of five seconds. The power control module 212 may be configured to deactivate the power hold mode of the ECU 102, in response to detection that the flashing process is completed. Thus, the power supplied to the ECU 102 is retained, and the flashing process is continued. The duration of the predefined time period may be same as the duration of the predefined time window, in which the periodic determination of transfer of flashing data is performed. For example, both the predefined time window and the predefined time period may be 5 seconds. In accordance with the example, if it is determined that flashing data was transferred in the past 5 seconds, the power hold mode is continued for the subsequent 5 seconds.
11
[0039]
Referring again to Figure 3B, when the flashing process is determined to be in progress at step 308, the power control module 212 may activate or continue the power hold mode at step 310. Accordingly, the power hold mode is extended for a predefined time period, such as 5 seconds. When the flashing process is determined to be completed at step 308, the power control module 212 may deactivate the power hold mode at step 312.
[0040]
In an embodiment, to enable the power hold mode, the power control module 212 may disable the starter relay, to enable completion of the flashing process.
[0041]
At step 306, if it is determined that no transfer of flashing data has happened in the past time window, which implies that the flashing process has concluded or that the technician is no longer performing the flashing, the power hold mode is deactivated.
[0042]
The present subject matter also prevents interruption of flashing of the ECU 102 because of cranking of engine of the vehicle 110. For example, consider that the flashing process of the ECU 102 is in progress. In such a case, if the driver of the vehicle 110 tries to crank the vehicle 110, the present subject matter prevents interruption of the flashing process. To this end, the power control module 212 may disable the starter relay such that the driver cannot crank an engine of the vehicle 110 or start the vehicle 110, until the flashing process is complete. Figure 3C illustrates an exemplary flow diagram 314 of disabling the starter relay in the power hold mode.
[0043]
As shown in Figure 3C, the detection module 210 may communicate with the diagnostic unit 108 to receive commands corresponding to the flashing process, at step 316. At step 318, the flashing process being in progress is determined. At step 320, the power control module 212 inhibits or disables the starter relay, when the flashing process is determined to be in progress at step 318. At step 322, the power control module 212 does not inhibit or disable the starter relay, when the flashing process is determined to be completed at step 318. Referring again to Figure 3A, the flow diagram 302 is implemented when the flashing process is in progress i.e., at the state S0_1 until the flashing process is complete i.e., at the state S1. Similarly, the flow diagram 314 is implemented when the flashing process of another controller is in progress (for example, the another controller may include an ECU controlling the starter) i.e., at a state S1_1.
[0044]
Referring back to Figure 2, the one or more modules 210 may also include the other modules 214 to perform various miscellaneous functionalities of the ECU 102.It will be
12
appreciated that
the one or more modules 210 may be represented as a single module or a combination of different modules.
[0045]
Figure 4 shows an exemplary flow chart illustrating method steps for managing the flashing of the ECU 102 in the vehicle 110, in accordance with some embodiments of the present disclosure. As illustrated in Figure 4, the method 400 may comprise one or more steps. The method 400 may be described in the general context of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, and functions, which perform particular functions or implement particular abstract data types.
[0046]
The order in which the method 400 is described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the method. Additionally, individual blocks may be deleted from the methods without departing from the scope of the subject matter described herein. Furthermore, the method can be implemented in any suitable hardware, software, firmware, or combination thereof.
[0047]
At step 402, a flashing process of the ECU 102 is in progress is determined by the bootloader 104 of the ECU 102. The bootloader 104 may determine whether a transfer of data corresponding to the flashing process happened in a predefined time window. The bootloader 104 may communicate with the diagnostic unit 108 of the vehicle 110 to determine the transfer of data corresponding to the flashing process. The bootloader 104 may determine that the transfer of data is associated with the flashing process based on properties associated with the transfer of data. The bootloader 104 may periodically determine whether a transfer of data corresponding to the flashing process happened in a predefined time window.
[0048]
At step 404, a power hold mode of the ECU 102 is activated, in response to detection that the flashing process is in progress. The bootloader 104 may disable the one or more relays connecting the power supply with the ECU 102 in the power hold mode. The one or more relays may comprise a power hold relay, a starter relay, and the like. The bootloader disables the one or more relays such that a power supply to the ECU 102 is prevented from turning off for a predefined time period in the power hold mode.
13
[0049]
The present disclosure enables power retention of the ECU until execution of the flashing process is completed. This ensures that there are no interruptions in the flashing process of the controllers. Accordingly, the controller downtime is improved. This also improves the efficiency of assembly process of the vehicle and customer experience while the vehicle is in service. In accordance with the present subject matter, the power retention for the ECU during the update of the ECU is handled by the ECU itself, and an external ECU is not used for this purpose. The present subject matter achieves the technically challenging task of using the bootloader of the ECU for ensuring that power supply is retained during flashing of the ECU. The present disclosure utilizes the existing communication interface of the vehicle to detect progress of the flashing process. Hence, no additional external messages are required to be read. Also, as control of the flashing process is within the ECU, no external triggers from other controllers are required.
[0050]
The terms "an embodiment", "embodiment", "embodiments", "the embodiment", "the embodiments", "one or more embodiments", "some embodiments", and "one embodiment" mean "one or more (but not all) embodiments of the invention(s)" unless expressly specified otherwise.
[0051]
The terms "including", "comprising", “having” and variations thereof mean "including but not limited to", unless expressly specified otherwise.
[0052]
The enumerated listing of items does not imply that any or all of the items are mutually exclusive, unless expressly specified otherwise. The terms "a", "an" and "the" mean "one or more", unless expressly specified otherwise.
[0053]
A description of an embodiment with several components in communication with each other does not imply that all such components are required. On the contrary a variety of optional components are described to illustrate the wide variety of possible embodiments of the invention.
[0054]
When a single device or article is described herein, it will be readily apparent that more than one device/article (whether or not they cooperate) may be used in place of a single device/article. Similarly, where more than one device or article is described herein (whether or not they cooperate), it will be readily apparent that a single device/article may be used in place of the more than one device or article, or a different number of devices/articles may be used
14
instead of the shown number of devices or programs. The functionality and/or the features of a
device may be alternatively embodied by one or more other devices which are not explicitly described as having such functionality/features. Thus, other embodiments of the invention need not include the device itself.
[0055]
The illustrated operations of Figure 4 shows certain events occurring in a certain order. In alternative embodiments, certain operations may be performed in a different order, modified, or removed. Moreover, steps may be added to the above-described logic and still conform to the described embodiments. Further, operations described herein may occur sequentially or certain operations may be processed in parallel. Yet further, operations may be performed by a single processing unit or by distributed processing units.
[0056]
Finally, the language used in the specification has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope of the invention be limited not by this detailed description, but rather by any claims that issue on an application based here on. Accordingly, the disclosure of the embodiments of the invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.
[0057]
While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope being indicated by the following claims.
Referral Numerals:
Referral Number
Description
100
Exemplary environment
102
ECU
104
Bootloader
106
Communication interface
108
Diagnostic unit
110
Vehicle
200
Detailed diagram
202
I/O interface
204
Memory
206
Processor
208
Modules
210
Detection module
212
Power control module
214
Other modules
300
State diagram
302, 314
Flow diagrams
We claim:
1.
A method of managing flashing of an Electronic Control Unit (ECU) (102) in a vehicle (110), the method comprising:
detecting, by a bootloader (104) of the ECU (102), that a flashing process of the ECU (102) is in progress; and
in response to the detection, activating, by the bootloader (104), a power hold mode of the ECU (102), wherein, in the power hold mode, a power supply to the ECU (102) is prevented from turning off for a predefined time period, for enabling completion of the flashing of the ECU (102).
2.
The method as claimed in claim 1, wherein detecting that the flashing process is in progress comprising:
periodically determining whether a transfer of data corresponding to the flashing process happened in a predefined time window.
3.
The method as claimed in claim 2, comprising:
deactivating the power hold mode of the ECU (102) in response to a determination that no transfer of data corresponding to the flashing process has happened in the predefined time window.
4.
The method as claimed in claim 1, wherein activating the power hold mode comprising disabling one or more relays connecting the power supply with the ECU (102).
5.
An Electronic Control Unit (ECU) (102) for a vehicle (110) for managing flashing thereof, the ECU (102) comprising:
a processor (206); and
a memory (204) storing a set of instructions which when executed by the processor deploys a bootloader (104), wherein the bootloader (104) is configured to:
detect that a flashing process of the ECU (102) is in progress; and
in response to the detection, activate a power hold mode of the ECU (102), wherein, in the power hold mode, a power supply to the ECU (102) is prevented from turning off for a predefined time period, for enabling completion of the flashing of the ECU (102).
17
6.
The ECU (102) as claimed in claim 5, wherein the bootloader (104) detects that the flashing process is in progress by:
periodically determining whether a transfer of data corresponding to the flashing process happened in a predefined time window.
7.
The ECU (102) as claimed in claim 6, wherein the bootloader (104) is configured to:
deactivate the power hold mode of the ECU (102) in response to a determination that no transfer of data corresponding to the flashing process has happened in the predefined time window.
8.
The ECU (102) as claimed in claim 5, wherein the bootloader (104) activates the power hold mode by disabling one or more relays connecting the power supply with the ECU (102).
9.
A vehicle (110) for managing flashing of an Electronic Control Unit (ECU) (102) in the vehicle (110), the vehicle (110) comprises:
the ECU configured to:
detect that a flashing process of the ECU (102) is in progress; and
in response to the detection, activate a power hold mode of the ECU (102), wherein, in the power hold mode, a power supply to the ECU (102) is prevented from turning off for a predefined time period, for enabling completion of the flashing of the ECU (102).
| # | Name | Date |
|---|---|---|
| 1 | 202421016160-STATEMENT OF UNDERTAKING (FORM 3) [07-03-2024(online)].pdf | 2024-03-07 |
| 2 | 202421016160-REQUEST FOR EXAMINATION (FORM-18) [07-03-2024(online)].pdf | 2024-03-07 |
| 3 | 202421016160-FORM 18 [07-03-2024(online)].pdf | 2024-03-07 |
| 4 | 202421016160-FORM 1 [07-03-2024(online)].pdf | 2024-03-07 |
| 5 | 202421016160-DRAWINGS [07-03-2024(online)].pdf | 2024-03-07 |
| 6 | 202421016160-DECLARATION OF INVENTORSHIP (FORM 5) [07-03-2024(online)].pdf | 2024-03-07 |
| 7 | 202421016160-COMPLETE SPECIFICATION [07-03-2024(online)].pdf | 2024-03-07 |
| 8 | 202421016160-Proof of Right [05-04-2024(online)].pdf | 2024-04-05 |
| 9 | Abstract1.jpg | 2024-04-06 |
| 10 | 202421016160-FORM-26 [22-04-2024(online)].pdf | 2024-04-22 |
| 11 | 202421016160-FORM 3 [03-09-2024(online)].pdf | 2024-09-03 |