WO2007078944A2 - Arrangement for programming an embedded system in a vehicle - Google Patents

Arrangement for programming an embedded system in a vehicle Download PDF

Info

Publication number
WO2007078944A2
WO2007078944A2 PCT/US2006/048435 US2006048435W WO2007078944A2 WO 2007078944 A2 WO2007078944 A2 WO 2007078944A2 US 2006048435 W US2006048435 W US 2006048435W WO 2007078944 A2 WO2007078944 A2 WO 2007078944A2
Authority
WO
WIPO (PCT)
Prior art keywords
telematics
embedded system
control unit
external programmer
programming
Prior art date
Application number
PCT/US2006/048435
Other languages
French (fr)
Other versions
WO2007078944A3 (en
Inventor
David R. Hentrich
Jose J. Gonzalez
Alexander Poletaev
Original Assignee
Motorola, Inc.
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 Motorola, Inc. filed Critical Motorola, Inc.
Publication of WO2007078944A2 publication Critical patent/WO2007078944A2/en
Publication of WO2007078944A3 publication Critical patent/WO2007078944A3/en

Links

Classifications

    • 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/44557Code layout in executable memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • B60W2556/55External transmission of data to or from the vehicle using telemetry

Definitions

  • the present invention relates to embedded systems used in a vehicle. More particularly, the present invention relates to apparatus and methods for programming such embedded systems.
  • Figure 1 is a schematic block diagram of one embodiment of a system for programming an embedded system in a vehicle.
  • Figure 3 is a flow chart illustrating a further plurality of interrelated processes that may be executed by the system of Figure 1 to program an embedded system.
  • a system for programming an embedded system disposed in a vehicle comprises an external programmer and a principal control unit fixed in the vehicle.
  • the principal control unit is coupled for communicating with the embedded system and the external programmer, and responds to communications received from the external programmer to direct the embedded system to enter a programming mode. While in the programming mode, the embedded system is programmed by the principal control unit in response to communications from the external programmer.
  • programming is described in the context of a telematics system in which the principal control unit is a telematics control unit that oversees the operation of a plurality of embedded systems within the telematics system.
  • the telematics system 100 includes a telematics control unit 105 that is connected for communication with a plurality of embedded systems 110, 115, and 120. Telematics control unit 105 may be used to oversee and control the operations of each of the embedded systems. For example, telematics control unit
  • Communications between the telematics control unit 105 and embedded systems 110, 115, and 120 may be wired (i.e., using electrically conductive wires and/or electro-optical fibers for the like) or wireless.
  • Wireless communications that may be used include, without limitation, Bluetooth, WiFi, code division multiple access (CDMA), time division multiple access (TDMA), global system for mobile communications (GSM), Zigbee, and/or any Institute of Electrical and Electronics Engineers (IEEE) 802.XX standard.
  • an embedded system may act as a conduit for communications between the telematics control unit 105 and a targeted embedded system.
  • Each of the embedded systems 110, 115, and 120 may execute a unique function within the vehicle.
  • embedded system 110 may be a network access device or other embedded communication device.
  • embedded system 115 may be a global positioning system (GPS) navigation system.
  • Embedded system 120 may be used to monitor the vehicle to determine when service and/or maintenance is needed.
  • the programs and information used by each of the embedded systems 110, 115, and 120, to execute these functions may be disposed in memory storage 135, 140, and 145 respectively associated with each embedded system.
  • Each of the embedded systems may require, for example, programming that is unique to the vehicle type and/or geographical area in which the vehicle is to be used.
  • Vehicle type programming of the embedded systems may be implemented at the vehicle factory when access to the various embedded systems is easily obtained. In many instances, however, geographic area programming may require programming of the embedded system at a local dealer. Similarly, vehicle type programming may require programming of the embedded system at a local dealer when the telematics system 100 is installed as an aftermarket product.
  • the software programs and information that constitute the programming for one or more of the embedded systems 110, 115, and 120, are communicated to the telematics control unit 105 by an external programmer 125. Communications between the external programmer 125 and the telematics control unit 105 take place over one or more communication links 130.
  • Communication link 130 may be in the form of a wired connection or a wireless connection.
  • Wireless communications that may be used include, without limitation, Bluetooth, WiFi, CDMA, TDMA, GSM, Zigbee, and/or any IEEE 802.XX standard.
  • Figure 2 is a flow chart illustrating a plurality of interrelated processes that may be executed by the system of Figure 1 to program one or more of the embedded systems 110, 115, and 120.
  • the external programmer 125 communicates with the telematics control unit 105 by, for example, issuing one or more commands to the telematics control unit 105 over link 130.
  • the telematics control unit 105 responds to the issued commands at step 210.
  • the telematics control unit 105 directs the embedded system that is to be programmed (the target embedded system) to enter a programming mode.
  • the target embedded system With the target embedded system in its programming mode, information and programming for the target embedded system is provided from the external programmer 125 to the target embedded system through the telematics control unit 105. Since programming and programming information is provided through the telematics control unit 105, removal of the target embedded system from its location within the vehicle is not necessarily required. Rather, programming of any of the embedded systems 110, 115, and 120 may take place using a single communications link 130 between the external programmer 125 and the telematics system 100.
  • the telematics control unit 105 may control programming of the target embedded system in a number of different manners.
  • the external programmer 125 may provide a series of commands over link 130 that instruct the telematics control unit 105 on how control of the programming operation is to proceed.
  • the telematics control unit 105 may be statically preprogrammed with the code that is necessary to program the embedded systems under its control.
  • the external programmer 125 may provide software code to the telematics control unit 105 during the programming operation that the unit 105 may execute to program a target embedded system.
  • Figure 3 is a flow chart illustrating a plurality of interrelated processes that may be executed by the system of Figure 1 to program one or more of the embedded systems 110, 115, and 120, where the external programmer 125 provides software code for execution by the telematics control unit 105 to program the target embedded system.
  • the external programmer 125 communicates with the telematics control unit 105 over link 130.
  • the telematics control unit 105 responds to the communications from the external programmer 125 at step 310 by directing the target embedded system into its programming mode of operation.
  • the external programmer 125 provides executable code to the telematics control unit 105.
  • This code is executed by the telematics control unit 105 to control the operation of the target embedded system as the target embedded system is programmed with the programming and information sent by the external programmer 125 at step 320.
  • the code provided at step 315 may be loaded into the telematics control unit 105 before the unit 105 directs the target embedded system into the programming mode of operation.
  • the manner in which the target embedded system is to be directed into the programming mode may be contained in the code provided at step 315.
  • the code that is executed by the telematics control unit 105 causes the telematics control unit 105 to mimic the operation of a standard external programmer that would otherwise be used to directly program the target embedded system in a standalone mode of operation.
  • standalone programming generally requires removal of the targeted embedded system from its location within the vehicle and can be quite complex.
  • programming of the targeted embedded system using the telematics control unit 105 does not necessarily impose the burden of removing the embedded system from the vehicle for programming.
  • the telematics control unit 105 executes the code received from the external programmer 125 to program the target embedded system. Execution of the code may be initiated, for example, through a command sent by the external programmer 125. Alternatively, the code may be self executing. Other manners to direct the telematics control unit 105 to execute the code may also be employed. [0022] While executing the code, the telematics control unit 105 programs the target embedded system in accordance with the communications received from the external programmer 125. For example, the telematics control unit 105 may store programs and/or information received from the external programmer 125 into the memory of the target embedded system. Programs stored into the memory of the target embedded system may be executed by the embedded system to perform the various functions for which the embedded system was designed. Other information stored into the memory may be used by the newly stored programs or by existing programs within the target embedded system.
  • the telematics control unit 105 queries the external programmer 125 at step 330 to determine whether the programming operation is complete. If the programming operation is not complete, the process returns to step 320 where the external programmer 125 provides the additional programming and/or information needed to complete programming of the target embedded system. If no further programming and/or information is needed, the telematics control unit 105 places the target embedded system into an execution mode of operation at step 335. In the execution mode of operation, the target embedded system begins operating in accordance with the programming and/or information provided by the external programmer 125 to execute its designated functions. At step 340, the code executed by the telematics control unit 105 to control programming of the target embedded control system may be removed.
  • Dynamic provisioning and removal of the executable code in the manner shown in Figure 3 may have a number of advantages in various situations.
  • a dedicated memory space may be reused to execute the software code required for programming the different embedded systems 110, 115, and 120, of the telematics system 100. This reduces the memory requirements of the telematics control unit 105 and results in a corresponding memory device and physical space savings.
  • the security of the algorithms used to program the embedded systems is improved over static programming methods since the code used to execute the algorithms is only present in the telematics system 100 during programming of one or more of the embedded systems.
  • the use of a dynamic system to execute the algorithms used to program the embedded systems facilitates programming of the embedded systems in ways that were not originally contemplated during initial system design and deployment.
  • Dynamic provisioning also provides a logical separation between a master software programming entity and the software programming entity itself. This logical separation promotes software encapsulation, divisibility of labor between multiple human resources, and development security. Each of these characteristics is desirable during the software development process.

Abstract

A system for programming an embedded system disposed in a vehicle is set forth. The programming system comprises an external programmer and a principal control unit fixed in the vehicle. The principal control unit is coupled for communicating with the embedded system and the external programmer, and responds to communications received from the external programmer to direct the embedded system to enter a programming mode. While in the programming mode, the embedded system is programmed by the principal control unit in response to communications from the external programmer. In one example, programming is described in the context of a telematics system in which the principal control unit is a telematics control unit that oversees the operation of a plurality of embedded systems within the telematics system.

Description

ARRANGEMENT FOR PROGRAMMING AN EMBEDDED SYSTEM IN A VEHICLE
BACKGROUND OF THE INVENTION 1. Cross Reference to Related Applications.
Loooi] This application is related to applications attorney docket number IS02086TC, entitled "Programming an Embedded System in a Vehicle using Dynamic Provisioning of Program Control Operations," and attorney docket number ISO2088TC, entitled "Communication Device Programming Failure Recoverability Scheme," which are both concurrently filed herewith, and both of which are incorporated herein by reference.
2 . Technical Field.
[0002] The present invention relates to embedded systems used in a vehicle. More particularly, the present invention relates to apparatus and methods for programming such embedded systems.
3. Related Art.
[ooo3] Vehicles increasingly employ embedded systems to execute a variety of vehicle functions. One such area employing embedded systems is the area of automobile network solutions. Many vehicles now include wireless communication services such as navigation and roadside assistance that require dedicated embedded systems. Additionally, embedded systems may be used to monitor vehicle performance and notify a service center or the like of the need for vehicle maintenance.
[ooo4] Programming of these embedded systems is typically accomplished by manually removing the embedded device and connecting it directly to an external programmer. Because of the complexity of these programming operations, programming of the embedded system is often executed at the vehicle device production factory. An embedded system that requires programming that is specific to a geographic area may be performed at a dealership. However, such programming again requires removal of the embedded device from the vehicle for direct connection to the external programmer.
[0005] The systems currently used to program embedded systems can be somewhat difficult to use for initial programming. The inefficiencies increase when an embedded system must be re-programmed after initial installation. Accordingly, a new system for more efficiently programming embedded systems disposed in a vehicle is desirable.
BRIEF DESCRIPTION OF THE DRAWINGS [ooo6] The invention can be better understood with reference to the following drawings and description. The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. Moreover, in the figures, like referenced numerals designate corresponding parts throughout the different views.
[0007] Figure 1 is a schematic block diagram of one embodiment of a system for programming an embedded system in a vehicle.
I0008] Figure 2 is a flow chart illustrating a plurality of interrelated processes that may be executed by the system of Figure 1 to program an embedded system.
[0009] Figure 3 is a flow chart illustrating a further plurality of interrelated processes that may be executed by the system of Figure 1 to program an embedded system.
DETAILED DESCRIPTION looio] A system for programming an embedded system disposed in a vehicle is set forth. The programming system comprises an external programmer and a principal control unit fixed in the vehicle. The principal control unit is coupled for communicating with the embedded system and the external programmer, and responds to communications received from the external programmer to direct the embedded system to enter a programming mode. While in the programming mode, the embedded system is programmed by the principal control unit in response to communications from the external programmer. In one example, programming is described in the context of a telematics system in which the principal control unit is a telematics control unit that oversees the operation of a plurality of embedded systems within the telematics system.
[ooii] Other systems, methods, features and advantages of the invention will be, or will become, apparent to one with skill in the art upon examination of the following figures and detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the invention, and be protected by the following claims.
[ooi2] Figure 1 is a schematic block diagram of one embodiment of a system for programming an embedded system in a vehicle. Although the programming system is suitable for use in a number of different programming situations where an embedded system is connected for communications with a principal control unit, the exemplary programming system and corresponding processes are described in the context of a telematics system 100 that, for example, is fixed within a vehicle.
[0013] As shown, the telematics system 100 includes a telematics control unit 105 that is connected for communication with a plurality of embedded systems 110, 115, and 120. Telematics control unit 105 may be used to oversee and control the operations of each of the embedded systems. For example, telematics control unit
105 may be used to mediate inter-process communications between the embedded systems, schedule various operations associated with each of the embedded systems, or the like. Communications between the telematics control unit 105 and embedded systems 110, 115, and 120, may be wired (i.e., using electrically conductive wires and/or electro-optical fibers for the like) or wireless. Wireless communications that may be used include, without limitation, Bluetooth, WiFi, code division multiple access (CDMA), time division multiple access (TDMA), global system for mobile communications (GSM), Zigbee, and/or any Institute of Electrical and Electronics Engineers (IEEE) 802.XX standard. Further, an embedded system may act as a conduit for communications between the telematics control unit 105 and a targeted embedded system.
[ooi4] Each of the embedded systems 110, 115, and 120 may execute a unique function within the vehicle. For example, embedded system 110 may be a network access device or other embedded communication device. Similarly, embedded system 115 may be a global positioning system (GPS) navigation system. Embedded system 120 may be used to monitor the vehicle to determine when service and/or maintenance is needed. The programs and information used by each of the embedded systems 110, 115, and 120, to execute these functions may be disposed in memory storage 135, 140, and 145 respectively associated with each embedded system. Other embedded system types that may be implemented include WiFi systems, radio systems, vehicle head units, body modules, engine controllers, power control modules, vehicle system monitors, safety devices, heating, ventilating, and air- conditioning (HVAC) systems, and the like. Telematics control unit 105 may integrate the functionality of the embedded systems 110, 115, and 120 to offer the vehicle operator a wide range of telematics services.
[oois] Each of the embedded systems may require, for example, programming that is unique to the vehicle type and/or geographical area in which the vehicle is to be used. Vehicle type programming of the embedded systems may be implemented at the vehicle factory when access to the various embedded systems is easily obtained. In many instances, however, geographic area programming may require programming of the embedded system at a local dealer. Similarly, vehicle type programming may require programming of the embedded system at a local dealer when the telematics system 100 is installed as an aftermarket product.
[ooi6] In the system shown in Figure 1, the software programs and information that constitute the programming for one or more of the embedded systems 110, 115, and 120, are communicated to the telematics control unit 105 by an external programmer 125. Communications between the external programmer 125 and the telematics control unit 105 take place over one or more communication links 130. Communication link 130 may be in the form of a wired connection or a wireless connection. Wireless communications that may be used include, without limitation, Bluetooth, WiFi, CDMA, TDMA, GSM, Zigbee, and/or any IEEE 802.XX standard.
[0017] Figure 2 is a flow chart illustrating a plurality of interrelated processes that may be executed by the system of Figure 1 to program one or more of the embedded systems 110, 115, and 120. At step 205 of the illustrated process, the external programmer 125 communicates with the telematics control unit 105 by, for example, issuing one or more commands to the telematics control unit 105 over link 130. The telematics control unit 105 responds to the issued commands at step 210. In accordance with one manner of responding, the telematics control unit 105 directs the embedded system that is to be programmed (the target embedded system) to enter a programming mode. With the target embedded system in its programming mode, information and programming for the target embedded system is provided from the external programmer 125 to the target embedded system through the telematics control unit 105. Since programming and programming information is provided through the telematics control unit 105, removal of the target embedded system from its location within the vehicle is not necessarily required. Rather, programming of any of the embedded systems 110, 115, and 120 may take place using a single communications link 130 between the external programmer 125 and the telematics system 100.
[ooi8] The telematics control unit 105 may control programming of the target embedded system in a number of different manners. For example, the external programmer 125 may provide a series of commands over link 130 that instruct the telematics control unit 105 on how control of the programming operation is to proceed. Alternatively, the telematics control unit 105 may be statically preprogrammed with the code that is necessary to program the embedded systems under its control. Still further, the external programmer 125 may provide software code to the telematics control unit 105 during the programming operation that the unit 105 may execute to program a target embedded system. [0019] Figure 3 is a flow chart illustrating a plurality of interrelated processes that may be executed by the system of Figure 1 to program one or more of the embedded systems 110, 115, and 120, where the external programmer 125 provides software code for execution by the telematics control unit 105 to program the target embedded system. At step 305 of the exemplary process, the external programmer 125 communicates with the telematics control unit 105 over link 130. The telematics control unit 105 responds to the communications from the external programmer 125 at step 310 by directing the target embedded system into its programming mode of operation. At step 315, the external programmer 125 provides executable code to the telematics control unit 105. This code is executed by the telematics control unit 105 to control the operation of the target embedded system as the target embedded system is programmed with the programming and information sent by the external programmer 125 at step 320. The code provided at step 315 may be loaded into the telematics control unit 105 before the unit 105 directs the target embedded system into the programming mode of operation. For example, the manner in which the target embedded system is to be directed into the programming mode may be contained in the code provided at step 315.
[0020] In one embodiment of the programming system, the code that is executed by the telematics control unit 105 causes the telematics control unit 105 to mimic the operation of a standard external programmer that would otherwise be used to directly program the target embedded system in a standalone mode of operation. As noted above, standalone programming generally requires removal of the targeted embedded system from its location within the vehicle and can be quite complex. In contrast, programming of the targeted embedded system using the telematics control unit 105 does not necessarily impose the burden of removing the embedded system from the vehicle for programming.
[002i] At step 325, the telematics control unit 105 executes the code received from the external programmer 125 to program the target embedded system. Execution of the code may be initiated, for example, through a command sent by the external programmer 125. Alternatively, the code may be self executing. Other manners to direct the telematics control unit 105 to execute the code may also be employed. [0022] While executing the code, the telematics control unit 105 programs the target embedded system in accordance with the communications received from the external programmer 125. For example, the telematics control unit 105 may store programs and/or information received from the external programmer 125 into the memory of the target embedded system. Programs stored into the memory of the target embedded system may be executed by the embedded system to perform the various functions for which the embedded system was designed. Other information stored into the memory may be used by the newly stored programs or by existing programs within the target embedded system.
[0023] Once the programming and/or information provided by the external programmer 125 is stored in the target embedded system, the telematics control unit 105 queries the external programmer 125 at step 330 to determine whether the programming operation is complete. If the programming operation is not complete, the process returns to step 320 where the external programmer 125 provides the additional programming and/or information needed to complete programming of the target embedded system. If no further programming and/or information is needed, the telematics control unit 105 places the target embedded system into an execution mode of operation at step 335. In the execution mode of operation, the target embedded system begins operating in accordance with the programming and/or information provided by the external programmer 125 to execute its designated functions. At step 340, the code executed by the telematics control unit 105 to control programming of the target embedded control system may be removed.
roo24] Dynamic provisioning and removal of the executable code in the manner shown in Figure 3 may have a number of advantages in various situations. For example, a dedicated memory space may be reused to execute the software code required for programming the different embedded systems 110, 115, and 120, of the telematics system 100. This reduces the memory requirements of the telematics control unit 105 and results in a corresponding memory device and physical space savings. Further, the security of the algorithms used to program the embedded systems is improved over static programming methods since the code used to execute the algorithms is only present in the telematics system 100 during programming of one or more of the embedded systems. Still further, the use of a dynamic system to execute the algorithms used to program the embedded systems facilitates programming of the embedded systems in ways that were not originally contemplated during initial system design and deployment.
[0025] Dynamic provisioning also provides a logical separation between a master software programming entity and the software programming entity itself. This logical separation promotes software encapsulation, divisibility of labor between multiple human resources, and development security. Each of these characteristics is desirable during the software development process.
[0026] While various embodiments of the invention have been described, it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible within the scope of the invention. Accordingly, the invention is not to be restricted except in light of the attached claims and their equivalents.

Claims

CLAIMSWe claim:
1. A system for programming an embedded system disposed in a vehicle comprising: an external programmer; and a principal control unit fixed in the vehicle and coupled for communicating with the embedded system and the external programmer, wherein the principal control unit responds to one or more commands received from the external programmer to direct the embedded system to enter a programming mode, and wherein the embedded system is programmed by the principal control unit in response to communications from the external programmer while the embedded system is in the programming mode.
2. The system of claim 1 wherein the principal control unit and external programmer cooperate to program the embedded system as a cellular telephone.
3. The system of claim 1 wherein the principal control unit and external programmer cooperate to program the embedded system as a network access device.
4. The system of claim 1 wherein the principal control unit executes software code provided from the external programmer to program the embedded system.
5. The system of claim 4 wherein the software code provided from the external programmer to program the embedded system is removed from the principal control unit once programming of the embedded system is completed.
6. The system of claim 1 wherein the one or more communication links facilitating communication between the principal control unit and the external programmer comprises a wireless link.
7. The system of claim 6 wherein the wireless link comprises a wireless connection selected from the group consisting of Bluetooth, WiFi, code division multiple access (CDMA), time division multiple access (TDMA), global system for mobile communications (GSM), Zigbee, and an Institute of Electrical and Electronics Engineers (IEEE) 802.XX standard.
8. A telematics system comprising: an embedded system; a telematics control unit; one or more communication links facilitating communications between the embedded system and the telematics control unit; and one or more communication links facilitating communications between the telematics control unit and an external programmer, wherein the telematics control unit responds to communications received from the external programmer to direct the embedded system to enter a programming mode, and wherein the embedded system is programmed by the telematics control unit in response to communications from the external programmer while the embedded system is in the programming mode.
9. The telematics system of claim 8 wherein the embedded system comprises at least one of the following: an embedded communication device, a network access device, or a cellular telephone.
10. The telematics system of claim 8 wherein the telematics control unit executes one or more programs provided from the external programmer to program the embedded system.
11. The telematics system of claim 10 wherein the one or more programs provided from the external programmer to program the embedded system are removed from the telematics control unit once programming of the embedded system is completed.
12. The telematics system of claim 8 wherein the one or more communication links facilitating communication between the telematics control unit and the external programmer comprises a wireless link.
13. The telematics system of claim 10 wherein the wireless link comprises a wireless connection selected from the group consisting of Bluetooth, WiFi, code division multiple access (CDMA), time division multiple access (TDMA), global system for mobile communications (GSM), Zigbee, and an Institute of Electrical and Electronics Engineers (IEEE) 802.XX standard.
14. A telematics system in a vehicle comprising: embedded system means for wirelessly communicating with an external link to execute a vehicle task; telematics control means for controlling operation of a plurality of embedded devices, including the embedded system means; and external programming means communicating with the telematics control means for commanding the telematics control means to direct the embedded system means into a programming mode of operation, wherein the embedded system means is programmed by the telematics control means in response to communications from the external programming means while the embedded system means is in the programming mode.
15. The telematics system of claim 14 wherein the embedded system means comprises at least one of the following: an embedded communication device, a network access device, or a cellular telephone.
16. The telematics system of claim 14 wherein the telematics control means executes one or more programs provided from the external programmer means to program the embedded system means.
17. The telematics system of claim 16 wherein the one or more programs provided from the external programmer means to program the embedded system means are removed from the telematics control means once programming of the embedded system means is completed.
18. The telematics system of claim 14 wherein the telematics control means and the external programmer means communicate over a wireless link.
19. The telematics system of claim 18 wherein the wireless link comprises a wireless connection selected from the group consisting of Bluetooth, WiFi, code division multiple access (CDMA), time division multiple access (TDMA), global system for mobile communications (GSM), Zigbee, and an Institute of Electrical and Electronics Engineers (IEEE) 802.XX standard.
20. A method of programming an embedded system in a telematics system having a telematics control unit, the method comprising: connecting an external programmer for communication with the telematics control unit; issuing commands from the external programmer to the telematics control unit; responding to the commands by having the telematics control unit direct the embedded system to enter a programming mode; providing programming for the embedded system from the external programmer to the telematics control unit; and storing the programming received by the telematics control unit into the embedded system while the embedded system is in the programming mode.
PCT/US2006/048435 2005-12-28 2006-12-19 Arrangement for programming an embedded system in a vehicle WO2007078944A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US31931105A 2005-12-28 2005-12-28
US11/319,311 2005-12-28

Publications (2)

Publication Number Publication Date
WO2007078944A2 true WO2007078944A2 (en) 2007-07-12
WO2007078944A3 WO2007078944A3 (en) 2008-12-11

Family

ID=38228771

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2006/048435 WO2007078944A2 (en) 2005-12-28 2006-12-19 Arrangement for programming an embedded system in a vehicle

Country Status (1)

Country Link
WO (1) WO2007078944A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9600266B2 (en) 2012-12-05 2017-03-21 Bendix Commercial Vehicle Systems Llc Methods and apparatus for updating software components in coordination with operational modes of a motor vehicle

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442553A (en) * 1992-11-16 1995-08-15 Motorola Wireless motor vehicle diagnostic and software upgrade system
US6505780B1 (en) * 2001-12-05 2003-01-14 Koninklijke Philips Electronics N.V. Personalize vehicle settings using RF tags
US6687587B2 (en) * 2001-12-21 2004-02-03 General Motors Corporation Method and system for managing vehicle control modules through telematics
US6975612B1 (en) * 1999-06-14 2005-12-13 Sun Microsystems, Inc. System and method for providing software upgrades to a vehicle
US7162339B2 (en) * 2004-08-31 2007-01-09 General Motors Corporation automated vehicle calibration and testing system via telematics

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442553A (en) * 1992-11-16 1995-08-15 Motorola Wireless motor vehicle diagnostic and software upgrade system
US6975612B1 (en) * 1999-06-14 2005-12-13 Sun Microsystems, Inc. System and method for providing software upgrades to a vehicle
US6505780B1 (en) * 2001-12-05 2003-01-14 Koninklijke Philips Electronics N.V. Personalize vehicle settings using RF tags
US6687587B2 (en) * 2001-12-21 2004-02-03 General Motors Corporation Method and system for managing vehicle control modules through telematics
US7162339B2 (en) * 2004-08-31 2007-01-09 General Motors Corporation automated vehicle calibration and testing system via telematics

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9600266B2 (en) 2012-12-05 2017-03-21 Bendix Commercial Vehicle Systems Llc Methods and apparatus for updating software components in coordination with operational modes of a motor vehicle

Also Published As

Publication number Publication date
WO2007078944A3 (en) 2008-12-11

Similar Documents

Publication Publication Date Title
US11036484B2 (en) Software update management
US20170344355A1 (en) Updating vehicle system modules
US8559910B2 (en) OTA initiation method for telematics system in 2G GSM/3G WCDMA network
US11084462B2 (en) Method for modifying safety and/or security-relevant control devices in a motor vehicle
US7502353B2 (en) Device for accessing a vehicle control system via a wireless link
CN104427490B (en) Method and apparatus motor vehicle control device maintained by mobile communication
US9179488B2 (en) Vehicle telematics connection retry
US20180024826A1 (en) Vehicle region-specific software updates distribution
US8660549B2 (en) Avoiding battery depletion of a mobile device
CN103226065B (en) Intelligent automobile performance monitoring system based on onboard automatic diagnosis system
US20100082559A1 (en) Method of managing a schedule-based software package update
US10103996B2 (en) Dynamic status update solicitation
US20180081670A1 (en) Prioritization of updates for over-the-air distribution
US20220024471A1 (en) Monitoring apparatus, monitoring program, and monitoring method
CN106656565A (en) Automobile controller remote update method, device and system
US9338731B2 (en) Vehicle telematics unit management
US8797958B2 (en) Method of wirelessly communicating data between vehicles and central facilities
US20170196026A1 (en) Controlling wireless subscription selection of a uicc with multiple cellular profiles
US20090247153A1 (en) Automatic updating of a preferred roaming list stored in a vehicle telematics unit
US20180063882A1 (en) Method of telematics connectivity management
US8934917B1 (en) Opportunistic data connectivity
CN110018842A (en) Remote vehicle task management
CN110245033A (en) Vehicle control system and control method for vehicle
US20120244850A1 (en) Meid-based paging to reach de-activated telematics modules
US9224250B2 (en) Vehicle telematics unit lockout recovery

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06845815

Country of ref document: EP

Kind code of ref document: A2