CN111694558B - 用于车辆中的电子控制单元(ecu)的编程的装置和方法 - Google Patents
用于车辆中的电子控制单元(ecu)的编程的装置和方法 Download PDFInfo
- Publication number
- CN111694558B CN111694558B CN202010176334.XA CN202010176334A CN111694558B CN 111694558 B CN111694558 B CN 111694558B CN 202010176334 A CN202010176334 A CN 202010176334A CN 111694558 B CN111694558 B CN 111694558B
- Authority
- CN
- China
- Prior art keywords
- test program
- image
- memory device
- retrieving
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/20—Initialising; Data preset; Chip identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2284—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0407—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals on power on
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Stored Programmes (AREA)
- Retry When Errors Occur (AREA)
Abstract
本申请涉及用于车辆中的电子控制单元(ECU)的编程的装置和方法。本申请公开了用于改进容纳存储器的装置的初始化的装置和方法。在一个实施例中,公开一种方法,其包括:在存储器装置的生产期间将测试程序写入到所述存储器装置的第一区;响应于检测到所述存储器装置第一次通电而执行自测试程序,所述自测试程序存储于所述测试程序内;以及响应于检测到所述存储器装置后续通电而从远程数据源检索和安装图像,所述检索由所述测试程序执行。
Description
版权声明
本申请包含受版权保护的资料。版权所有者不反对任何人传真复制专利与商标局文件或记录中出现的专利公开内容,但无论如何另外保留所有版权。
技术领域
所公开的实施例针对车载计算系统,且确切地说针对用于车辆中的电子控制单元(ECU)的编程的装置和方法。
背景技术
现代汽车含有十几个ECU。这些ECU可用于信息娱乐系统或可用作例如自主车辆中的关键系统。许多ECU需要较大快闪存储器来存储软件、媒体和导航地图。密度在数百个千兆字节或更大的范围内。当前,在ECU生产期间,对快闪的内容进行编程,这是可能花费几十分钟乃至更长之间的漫长的过程,这使ECU生产线变慢并增加了成本。为了克服生产期间的编程时间,制造商们使用批量编程,即,在焊接到PCB之前对大量快闪装置并行地进行编程。此外,一些快闪装置可能受焊接过程的损害且在高温焊接过程期间丢失数据。因此,当前批量编程方法不再能够赶上快闪存储器的改进。
所公开的实施例通过提供二级快闪编程过程来弥补这些和其它技术问题,二级快闪编程过程增加快闪装置的制造速度且避免数据丢失。
发明内容
本公开的一方面涉及一种用于安装图像的方法,其包括:在存储器装置的生产期间将测试程序写入到所述存储器装置的第一区;响应于检测到所述存储器装置第一次通电而执行自测试程序,所述自测试程序存储于所述测试程序内;以及响应于检测到所述存储器装置后续通电而从远程数据源检索和安装图像,所述检索由所述测试程序执行。
本公开的另一方面涉及一种用于安装图像的装置,其包括:微控制器;以及存储介质,其用于有形地在其上存储程序逻辑以供由处理器执行,所存储的程序逻辑包括在存储器装置的生产期间写入到所述存储器装置的第一区的测试程序,所述测试程序被配置成:响应于检测到所述存储器装置的第一次通电而执行存储于所述测试程序内的自测试程序;以及响应于检测到所述存储器装置后续通电而从远程数据源检索和安装图像,所述检索由所述测试程序执行。
本公开的另一方面涉及一种非暂时性计算机可读存储介质,其用于有形地存储能够由计算机处理器执行的计算机程序指令,所述计算机程序指令限定以下步骤:在存储器装置的生产期间将测试程序写入到所述存储器装置的第一区;响应于检测到所述存储器装置第一次通电而执行自测试程序,所述自测试程序存储于所述测试程序内;以及响应于检测到所述存储器装置后续通电而从远程数据源检索和安装图像,所述检索由所述测试程序执行。
附图说明
本公开的先前和其它目标、特征及优点将从如附图中所示出的实施例的以下描述显而易见,附图中参考标号贯穿各图指代相同部分。图式未必是按比例的,实际上重点在于说明本公开的原理。
图1是示出根据本公开的一些实施例用于安装存储器的方法的流程图。
图2是示出根据本公开的一些实施例用于初始化存储器的方法的流程图。
图3是示出根据本公开的一些实施例用于初始化存储器的方法的流程图。
图4是示出根据本公开的一些实施例用于初始化存储器的系统的框图。
图5是根据本公开的一些实施例的ECU的框图。
具体实施方式
所公开的实施例通过描述用以通过以下方式克服ECU生产期间的编程时间瓶颈的系统和方法来弥补此项技术中的这些和其它缺陷:启用两个编程级,短编程级含有用于ECU生产的测试程序和远程编程软件,且第二级在组装期间或之后发生,其中最终软件在空中编程。
图1是示出根据本公开的一些实施例用于安装存储器的方法的流程图。在一个实施例中,层1制造商执行方法(100)。在此实施例中,步骤中的一些或全部可被实施为生产线系统的一部分,且为全自动的。确切地说,在一些实施例中,方法(100)被实施为工业表面安装技术(SMT)生产工艺的一部分。
在步骤102中,存储器焊接到印刷电路板(PCB)。
在一个实施例中,所述存储器包括快闪装置。在一些实施例中,焊接到PCB的所述存储器包括其它类型的非易失性存储器或存储装置。在一些实施例中,方法(100)采用回流焊(reflow soldering)将存储器安装到PCB。在此实施例中,焊膏使用丝网印刷机施加到PCB。接着使用例如取放机(pick-and-place machine)、射片机(chip shooter)等将存储器定位于PCB上。存储器导线放置成与黏贴了焊膏的衬垫直接接触。接着使存储器通过焊料回流炉,借此加热焊膏直至液态(回流),然后冷却,直至焊料硬化并在组件导线和PCB之间形成永久互连。将存储器焊接到PCB的特定细节不希望限制本公开,且可使用其它焊接方法。
在一些实施例中,PCB包括安装在ECU内的PCB。如本文中所使用,ECU指代待安装于车辆内的嵌入式系统。ECU的实例包含门控制单元(DCU)、引擎控制单元、电力转向控制单元(PSCU)、人机接口(HMI)、动力系控制模块(PCM)、座椅控制单元、速度控制单元(SCU)、远程信息处理控制单元(TCU)、发射控制单元(TCU)、制动控制模块(BCM;ABS或ESC),或电池管理系统(BMS)装置。虽然主要在ECU装置的上下文中描述,但包含快闪存储器的任何类型的计算系统可采用本文公开的实施例,且参考ECU装置的实施例提供为实例。
在步骤104中,将测试程序写入到存储器。
在所说明的实施例中,在焊接(且视需要,光学检查)之后,将小测试程序写入到存储器。在一个实施例中,使用例如电路在线测试(ICT)或IEEE 1149.1(JTAG)等机载或系统内编程接口或经由例如通用串行总线(USB)或通用异步接收器/发射器(UART)连接等外部连接来写入测试程序。如何将测试程序写入到存储器的特定细节不具限制性,且可利用用于将数据写入到存储器的各种其它方法。
在所说明的实施例中,测试程序包括小程序。在一些实施例中,测试程序被设计成仅几个兆字节。通常,测试程序的大小应选择为将编程时间缩短到一秒以内。因此,在一些实施例中,测试程序的特定大小基于所使用的写入方法来配置,且不希望具有限制性。
测试程序被配置成在生产之后对存储器进行自测试(在步骤106和108中论述)。在一些实施例中,测试程序另外被配置成对存储器所安装于的装置也进行测试。基于容纳存储器的基本装置来对测试程序进行译码。此外,在一些实施例中,测试程序包含通信驱动器以启用容纳存储器的ECU的网络接口。网络接口的实例包含汽车区域网络(CAN)总线、无线保真(Wi-Fi)适配器、蜂窝式无线电装置、卫星发射器、以太网接口等。测试程序另外包含用以经由网络启用存储器本身的编程的软件。简单来说,测试程序包含自测试程序、通信驱动器和自编程软件来经由网络启用存储器的编程。
在步骤106中,使存储器通电。在一个实施例中,在编程测试程序之后,含有存储器的装置可在加载测试程序之后自动通电。或者,在步骤106中,方法等候来自外部测试设备的命令。
在步骤108中,执行测试程序的自测试部分。
在一个实施例中,在步骤104中加载的测试程序包含开机自测(POST)。在一些实施例中,存储器中的POST与BIOS层级POST分离。在一些实施例中,存储在存储器中的POST与初始BIOS层级POST相同。通常,POST分析包含存储器的装置的硬件,且确认装置可访问并恰当地运行。
如上文所描述,测试程序包含一或多个驱动器,例如用于通信装置的驱动器(例如,Wi-Fi、蓝牙等)。在POST期间,这些驱动器用于检查容纳存储器的装置中初始化的所有装置的状态。
在步骤110中,方法(100)检查POST是否已经成功地运行。
如果POST成功地运行,则方法(100)结束,且含有存储器的装置被确认为准确地运行。装置可关机且接着根据层1生产线和调度表继续生产。
或者,如果POST未通过,则一些实施例(未说明)中的方法(100)可结束。在此实施例中,装置由生产线标记为未通过POST,且与功能单元分离以进行进一步检查。
在替代实施例(说明)中,测试程序包含自愈功能。如本文中所使用,自愈功能指代可对POST操作期间发生的错误进行自行校正的诊断例程。举例来说,诊断例程可被配置成响应于POST未通过将硬件的驱动器重新安装于装置上。
在一些实施例中,执行步骤108和110直至装置通过POST。或者,在一些实施例中,执行步骤108和110固定次数。如果当执行了固定次数时POST未通过,则装置被标记为无功能且与功能单元分离以进行进一步检查。
如上文所说明,方法(100)提供用于将小测试程序加载到安装于装置内的存储器中且在初始通电后即刻在存储器上运行自测试的机制。与现有制造方案相比,所说明的方法(100)不在制造期间在存储器中加载所有软件(常常在千兆字节范围内),因此移除了生产的主要瓶颈。本文中所描述的图2示出用于完成存储器的初始化的实施例。
图2是示出根据本公开的一些实施例用于初始化存储器的方法的流程图。在一个实施例中,原始设备制造商(OEM)执行方法(200)。在此实施例中,步骤中的一些或全部可被实施为OEM生产线系统的一部分且为全自动的。确切地说,在一些实施例中,方法(200)被实施为车辆制造商的工业安装生产线的一部分。
在步骤202中,使存储器通电。
在所说明的实施例中,在另一装置中安装期间使所述存储器装置通电。在一个实施例中,含有存储器的装置安装于较大系统中。在一个实施例中,存储器在递送到OEM时安装于ECU内。在汽车的制造期间,ECU(在某些情况下以机器人方式)放置在车辆的特定位置内,且(立即或在稍后日期)在汽车的生产期间启动。在另一实施例中,OEM通过将ECU放置在机架或类似结构中且立即同时使多个ECU通电来使多个ECU通电。在本文将更详细论述的又一实施例中,在正常操作期间(例如,在包含ECU的汽车的使用者操作期间)使存储器通电。
在另一实施例中,在制造之后很久使存储器通电。举例来说,可能直至容纳ECU的车辆被组装好且递送以供长期储存之后才使ECU的存储器通电。
在步骤204中,存储器中的测试程序探测总线的存在,且在步骤206中,方法(200)确定是否发现总线。
在一个实施例中,总线包括CAN总线。在一些实施例中,步骤204为任选的。然而,在其它实施例中,测试程序在步骤204中探测总线以确定装置是否在加载进行方法(200)之前安装于适当位置中。以此方式,步骤204防止存储器装置不必要地执行步骤210-214。
如上文所描述,在一个实施例中,总线包括CAN总线。因此,在步骤204-206中,存储器探测此总线的存在,这指示存储器定位于汽车内。因此,在存储器在最终安装之前通电的情况下,步骤204-206防止存储器潜在地将敏感信息(例如,存储器地址、密码密钥等)暴露给未经授权方。在其它实施例中,其它技术可用于确认车辆的位置(例如,使用射频识别符标签)。
在步骤208中,当未检测到总线时(例如,在层1制造期间)正常地操作存储器装置。如上文所描述,可当存储器不位于车辆中(即,未探测到CAN总线)时执行步骤208。
在步骤210中,在检测到总线的情况下,存储器建立与生产线服务器的通信。
在一些实施例中,方法(200)包含额外步骤:确定存储器是否在执行步骤210之前已经初始化。如将描述,步骤212-214将数据检索并安装到存储器中。如果这些步骤已经成功地执行,则不需要在每次通电时都重新执行所述步骤。因此,存储器可存储指示存储器最近何时被更新的旗标或其它指示符(例如,时戳)。在一个实施例中,如果确定存储器自从制造起尚未被写入,则方法(200)可继续到步骤210。在另一实施例中,如果存储器被写入,则方法(200)可继续到步骤210,但新数据可用(其可向生产线服务器询问,下文论述)。在另一实施例中,方法(200)可周期性地根据设定的间隔“刷新”存储器。
在所说明的实施例中,生产线服务器可包括本地可用服务器(例如,在制造期间)或远程服务器(例如,在制造之后)。如上文所描述,容纳存储器的装置可具有其自身的网络接口。或者,当安装于ECU中时,ECU可经由CAN总线访问一或多个网络接口。在任一情况下,这些通信总线可包含蓝牙、Wi-Fi、蜂窝式、卫星或其它网络装置。
在一些实施例中,建立与服务器的通信可包括循环经过网络接口且尝试建立与已知服务器的连接。在一个实施例中,方法(200)在容纳存储器的装置的范围内询问蓝牙装置。接下来,方法(200)可使用Wi-Fi网络广播针对生产线服务器的因特网协议(IP)地址的请求。接着,如果无Wi-Fi网络可用,则方法(200)可使用蜂窝式或卫星网络访问可信第三方服务器以识别生产线服务器的位置。
一旦识别如何连接到生产线服务器,容纳存储器的装置就连接到生产线服务器。在一些实施例中,此连接经由CAN总线作出。在其它实施例中,可使用容纳存储器的装置上的网络接口来直接作出所述连接。
在步骤212中,在连接到生产线服务器之后,存储器接收并安装图像数据。
在一个实施例中,所述图像数据包括媒体、应用和由容纳存储器的装置使用的任何其它数据。举例来说,存储器可安装于信息娱乐ECU内。在此实施例中,图像数据包含媒体和应用。作为另一实例,存储器可安装于路线选择ECU内,且所述图像数据包含全球定位系统(GPS)数据或全局信息系统(GIS)数据。通常,包含在图像中的数据的类型包括容纳存储器的装置操作所需的所有数据,但图像的特定内容不具有限制性。
在步骤214中,在安装图像之后,方法(200)验证图像的完整性。在一些实施例中,方法(200)计算循环冗余检查(CRC)以确认图像中的数据被正确地安装到存储器中。在一些实施例中,完整性检查可由生产线服务器请求。一旦图像成功地安装到存储器中,则过程结束。因此,在所说明的方法(200)中,例如ECU的存储器初始地被预载小测试程序(图1),且随后在单独阶段期间被加载最终应用和其它软件(图2)。
图3是示出根据本公开的一些实施例用于初始化存储器的方法的流程图。在一个实施例中,原始设备制造商(OEM)执行方法(300)。在此实施例中,步骤中的一些或全部可被实施为OEM生产线系统的一部分。确切地说,在一些实施例中,方法(300)被实施为车辆制造商的工业安装生产线的一部分。
在步骤302中,方法(300)从容纳存储器的装置接收连接请求。在所说明的实施例中,步骤302包括步骤210的互逆,其细节在本文不进行重复但同等地适用于步骤302。
在步骤304中,方法(300)确认发送方的身份。
在所说明的实施例中,方法(300)可使用例如DICE-RIoT或类似协议等所确立的协议以密码方式确认发送方的身份。如果方法(300)无法验证发送方的身份,则方法(300)结束。
在步骤306中,方法(300)基于请求装置的身份识别更新。
在一些实施例中,请求装置包含唯一地识别装置的型号和/或模型的唯一装置识别符(例如,GUID、序列号等)。在所说明的实施例中,生产线服务器包含图像到此类识别符的映射以协调图像递送。在步骤306中,通过提取请求装置的唯一识别符和识别适当的图像来查询此映射。
在步骤308中,将更新传递到请求装置,且方法(300)继续传递更新直至检测到所述传递完成(310)。更新的传递在图2的描述内容中描述,且本文不再重复。
在步骤312中,请求所述请求装置执行完整性测试。如上文所描述,在一些实施例中,此完整性测试包括CRC检查、MD5检查或类似检查。
在步骤314中,如果测试未通过,则方法(300)重新传递到更新,且执行步骤308到312直至完整性测试通过。或者,如果测试通过,则方法(300)结束。在所说明的实施例中,生产线服务器在请求装置执行完整性测试后即刻从请求装置接收通过/未通过指示符。
图4是示出根据本公开的一些实施例用于初始化存储器的系统(400)的框图。
在图4中,车辆(418)经由网络(420)连接到生产系统(426)。车辆(418)可包括任何类型的车辆(例如,汽车、船舶等)。通常,车辆可包括容纳各种离散计算系统的任何上部结构,且车辆提供为实例。网络(420)包括任何类型的网络,例如短程网络(例如,蓝牙、Wi-Fi等)或长程网络(例如,蜂窝式、卫星等)。生产系统(426)包括由制造商操作的计算机系统。举例来说,生产系统(426)可包括控制制造车辆(418)的组装或生产线的网络计算机系统。
车辆(418)包含一或多个ECU(402a-402n)。ECU的实例包含门控制单元(DCU)、引擎控制单元、电力转向控制单元(PSCU)、人机接口(HMI)、动力系控制模块(PCM)、座椅控制单元、速度控制单元(SCU)、远程信息处理控制单元(TCU)、发射控制单元(TCU)、制动控制模块(BCM;ABS或ESC),或电池管理系统(BMS)装置。虽然主要在ECU装置的上下文中描述,但包含快闪存储器的任何类型的计算系统可采用本文公开的实施例,且参考ECU装置的实施例提供为实例。EUC的示范性配置提供于图5中,且本文不再重复该论述。
ECU(402a-402n)各自连接到总线(404)。在一些实施例中,总线(404)包括CAN总线、FlexRay MOST总线或任何其它类型的双向通信总线。
系统的处理侧包含一或多个处理器(406)、短期存储器(408)、RF系统(412)、图形处理单元(GPU)(414)、长期存储装置(410)和一或多个接口(416)。
所述一或多个处理器(406)可包括中央处理单元、FPGA,或支持自主车辆的操作所需要的任何范围的处理装置。存储器(408)包括DRAM或其它合适的易失性RAM用于临时存储处理器(406)所需的数据。RF系统(412)可包括蜂窝式收发器和/或卫星收发器。长期存储装置(410)可包括一或多个大容量固态驱动器(SSD)。通常,长期存储装置(410)可用以存储例如高清地图、路线选择数据,和需要永久或半永久存储的任何其它数据。GPU(414)可包括用于处理从自主车辆子系统(702A)接收的数据的另一个高处理量GPU装置。最后,接口(416)可包括定位在自主车辆内的各种显示单元(例如,内置式屏幕)。
在所说明的实施例中,生产系统(426)包含一或多个生产线服务器(422)。在所说明的实施例中,这些服务器(422)可包括能够处置经由网络(420)从车辆(418)接收的请求的应用服务器。举例来说,服务器(422)可包括网络服务器、发射控制协议(TCP)服务器、用户数据报协议(UDP)服务器,或能够接收请求并作为响应发布图像的任何其它类型的服务器。这些图像存储于数据存储库(424)内。在一个实施例中,数据存储库(424)包括数据库和文件存储装置的组合。
图5是根据本公开的一些实施例的ECU的框图。
在所说明的实施例中,ECU(500)经由接口(506)以通信方式耦合到总线(508)。如上文所论述,总线(508)可包括CAN、FlexRay、MOST总线或类似类型的总线。对应地,接口(506)可包括用于访问所使用的特定类型的总线的类似接口。
ECU(500)另外包含微控制器(502)、R/F子系统(510)、专用组件(ASC)(512)和存储器系统(504)。在所说明的实施例中,微控制器(502)可包括被配置成控制ECU(500)的操作的处理器或更小的微控制器。在一些实施例中,微控制器(502)访问存储在存储器系统(504)中的程序指令,且根据那些指令驱动ASC(512)。ASC(512)的实例包含用于门控制的致动器、用于信息娱乐ECU的显示单元、用于TCU的发射控制装置,以及各种其它控制。由ECU(500)采用的ASC的类型不具有限制性,且ECU(500)可采用任何类型的ASC。
ECU(500)另外包含R/F系统(510)。在所说明的实施例中,R/F系统(510)可包含用于与无线网络通信的一或多个无线电装置或收发器。R/F系统(510)可包含蓝牙、Wi-Fi或蜂窝式无线电装置或卫星收发器。在一些实施例中,R/F系统(510)包含无线电装置或收发器的组合。在一些实施例中,ECU(500)可不包含R/F系统(510),其可改为利用车辆范围的R/F系统,如先前所描述。
微控制器(502)管理存储器系统(504)。在所说明的实施例中,存储器系统(504)包含SRAM(504a)、EEPROM(504b)和快闪存储装置(504c)。在所说明的实施例中,SRAM(504a)可用作微控制器(502)的L1或L2高速缓存。类似地,EEPROM(504b)可用作ECU(500)的固件存储装置。SRAM(504a)和EERPOM(504b)的特定细节(或存在)不具限制性。
存储器系统(504)另外包含快闪存储装置(504c)。在所说明的实施例中,快闪存储装置(504c)包括NAND快闪存储装置,其焊接到PCB且(经由PCB)连接到图5中描绘的其它组件。快闪存储装置(504c)用于存储由如先前所描述的ECU(500)使用的操作代码以及数据。
已在下文中参考附图更充分地描述本公开,附图形成本发明的一部分且借助于图示展示特定实例实施例。然而,主题可以以多种不同的形式来体现,并且因此,所涵盖的或所要求保护的主题希望被解释为不限于本文阐述的任何实例实施例;提供的实例实施例仅仅是说明性的。同样,希望为要求保护或所涵盖的主题提供合理宽泛的范围。除其它之外,举例来说,主题可体现为方法、装置、组件或系统。因此,实施例可以例如采用硬件、软件、固件或其任何组合(除软件本身之外)的形式。因此,不希望在限制性意义上看待以下详细描述。
在整个说明书和权利要求书中,术语可以具有上下文中提出或暗示的超出明确陈述的含义的细微差别含义。同样,如本文所使用的短语“在一个实施例中”不一定指代相同实施例,并且如本文所使用的短语“在另一实施例中”不一定指代不同实施例。例如,希望所要求保护的主题整体或部分地包含实例实施例的组合。
通常,术语可至少部分根据上下文中的使用来理解。举例来说,如上文使用的例如“和”、“或”或者“和/或”等术语可包含多种含义,这些含义可至少部分取决于此类术语被使用的上下文。通常,“或”如果用于关联一列表(例如A、B或C),那么希望表示A、B和C(此处是在包含性意义上使用),以及A、B或C(此处是在排他性意义上使用)。另外,至少部分取决于上下文,本文所用的术语“一或多个”可用于以单数意义描述任何特征、结构或特性,或可用于以复数意义描述特征、结构或特性的组合。类似地,至少部分取决于上下文,例如“一”或“所述”等术语也可以理解为传达单数使用或传达复数使用。另外,术语“基于”可以被理解为不一定希望传达一组排他性因素,而是相反,可以至少部分地取决于上下文允许存在不一定明确描述的其它因素。
已参考方法和装置的框图和操作图示描述本公开。应了解,框图或操作图示的每一框,以及框图或操作图示中的框的组合可借助于模拟或数字硬件和计算机程序指令来实施。这些计算机程序指令可提供到通用处理器、专用计算机、ASIC或其它可编程数据处理设备,使得经由计算机的处理器或其它可编程数据处理设备执行的指令实施框图或操作框中所指定的功能/动作。在一些替代实施方案中,框中标注的功能/动作可不按操作图示中标注的次序发生。举例来说,取决于所涉及的功能性/动作,连续展示的两个框实际上可以大体上同时执行或所述框有时可以按相反次序执行。
出于本公开的目的,计算机可读介质(或计算机可读存储介质)存储计算机数据,所述数据可包含可由计算机以机器可读形式执行的计算机程序代码(或计算机可执行指令)。借助于实例而非限制,计算机可读介质可包括用于数据的有形或固定存储的计算机可读存储介质,或者用于含代码的信号的暂时性解释的通信介质。如本文所用的计算机可读存储介质是指物理或有形存储装置(相较于信号)并且包含(但不限于)以用于例如计算机可读指令、数据结构、程序模块或其它数据等信息的有形存储的任何方法或技术实施的易失性和非易失性、可移除和非可移除介质。计算机可读存储介质包含(但不限于)RAM、ROM、EPROM、EEPROM、快闪存储器或其它固态存储器技术、CD-ROM、DVD或其它光学存储装置、盒式磁带、磁带、磁盘存储或其它磁性存储装置,或可用于有形地存储所要信息或数据或指令并且可以由计算机或处理器访问的任何其它物理或物质介质。
Claims (21)
1.一种用于安装图像的方法,其包括:
在存储器装置的生产期间将测试程序写入到所述存储器装置的第一区;
响应于检测到所述存储器装置第一次通电而执行自测试程序,所述自测试程序存储于所述测试程序内;以及
响应于检测到所述存储器装置后续通电而从远程数据源检索和安装图像,所述检索由所述测试程序执行。
2.根据权利要求1所述的方法,其进一步包括在检测所述后续通电后检测所述存储器装置连接到总线。
3.根据权利要求1所述的方法,所述检索所述图像包括建立与生产线服务器的通信,所述生产线服务器存储包含所述图像的一或多个图像。
4.根据权利要求1所述的方法,所述写入测试程序包括在将所述存储器装置焊接到印刷电路板之后写入所述测试程序。
5.根据权利要求1所述的方法,所述写入测试程序包含一或多个通信驱动器和自编程软件。
6.根据权利要求1所述的方法,其进一步包括在所安装图像上运行完整性测试。
7.根据权利要求1所述的方法,所述检索所述图像包括使用空中网络检索所述图像。
8.一种用于安装图像的装置,其包括:
微控制器;以及
存储介质,其用于有形地在其上存储程序逻辑以供由处理器执行,所存储的程序逻辑包括在存储器装置的生产期间写入到所述存储器装置的第一区的测试程序,所述测试程序被配置成:
响应于检测到所述存储器装置的第一次通电而执行存储于所述测试程序内的自测试程序;以及
响应于检测到所述存储器装置后续通电而从远程数据源检索和安装图像,所述检索由所述测试程序执行。
9.根据权利要求8所述的装置,所述测试程序进一步被配置成在检测所述后续通电后检测所述装置连接到总线。
10.根据权利要求8所述的装置,所述检索所述图像包括建立与生产线服务器的通信,所述生产线服务器存储包含所述图像的一或多个图像。
11.根据权利要求8所述的装置,所述写入测试程序包括在将所述存储器装置焊接到印刷电路板之后写入所述测试程序。
12.根据权利要求8所述的装置,所述写入测试程序包含一或多个通信驱动器和自编程软件。
13.根据权利要求8所述的装置,所述测试程序进一步被配置成在所安装图像上运行完整性测试。
14.根据权利要求8所述的装置,所述检索所述图像包括使用空中网络检索所述图像。
15.一种非暂时性计算机可读存储介质,其用于有形地存储能够由计算机处理器执行的计算机程序指令,所述计算机程序指令限定以下步骤:
在存储器装置的生产期间将测试程序写入到所述存储器装置的第一区;
响应于检测到所述存储器装置第一次通电而执行自测试程序,所述自测试程序存储于所述测试程序内;以及
响应于检测到所述存储器装置后续通电而从远程数据源检索和安装图像,所述检索由所述测试程序执行。
16.根据权利要求15所述的非暂时性计算机可读存储介质,所述计算机程序指令进一步限定以下步骤:在检测所述后续通电后检测所述存储器装置连接到总线。
17.根据权利要求15所述的非暂时性计算机可读存储介质,所述检索所述图像包括建立与生产线服务器的通信,所述生产线服务器存储包含所述图像的一或多个图像。
18.根据权利要求15所述的非暂时性计算机可读存储介质,所述写入测试程序包括在将所述存储器装置焊接到印刷电路板之后写入所述测试程序。
19.根据权利要求15所述的非暂时性计算机可读存储介质,所述写入测试程序包含一或多个通信驱动器和自编程软件。
20.根据权利要求15所述的非暂时性计算机可读存储介质,所述计算机程序指令进一步限定以下步骤:在所安装图像上运行完整性测试。
21.根据权利要求15所述的非暂时性计算机可读存储介质,所述检索所述图像包括使用空中网络检索所述图像。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/353,966 US11101014B2 (en) | 2019-03-14 | 2019-03-14 | Two-stage flash programming for embedded systems |
US16/353,966 | 2019-03-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111694558A CN111694558A (zh) | 2020-09-22 |
CN111694558B true CN111694558B (zh) | 2023-10-20 |
Family
ID=72422628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010176334.XA Active CN111694558B (zh) | 2019-03-14 | 2020-03-13 | 用于车辆中的电子控制单元(ecu)的编程的装置和方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11101014B2 (zh) |
CN (1) | CN111694558B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11101014B2 (en) | 2019-03-14 | 2021-08-24 | Micron Technology, Inc. | Two-stage flash programming for embedded systems |
US11379024B2 (en) | 2019-09-26 | 2022-07-05 | Micron Technology, Inc. | Systems and methods capable of bypassing non-volatile memory when storing firmware in execution memory |
CN113140251B (zh) * | 2021-04-21 | 2023-02-10 | 深圳市研强物联技术有限公司 | 一种在产线测试中检测ram的方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6070255A (en) * | 1998-05-28 | 2000-05-30 | International Business Machines Corporation | Error protection power-on-self-test for memory cards having ECC on board |
CN1797341A (zh) * | 2004-12-30 | 2006-07-05 | 英业达股份有限公司 | 早期开机自我测试阶段正常运行的方法 |
CN101632131A (zh) * | 2007-02-26 | 2010-01-20 | 索尼爱立信移动通讯股份有限公司 | 闪速存储器的内置自测试 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5987625A (en) * | 1996-10-04 | 1999-11-16 | Samsung Electronics Co., Ltd. | Method and apparatus for testing network bootable devices |
US6393585B1 (en) * | 1998-12-23 | 2002-05-21 | Scientific-Atlanta, Inc. | Method and apparatus for restoring operating systems in a set-top box environment |
US20030074610A1 (en) * | 2001-10-16 | 2003-04-17 | Umax Data Systems Inc. | Method for improving utilization of a defective memory device in an image processing system |
US7017038B1 (en) * | 2002-08-26 | 2006-03-21 | Network Equipment Technologies, Inc. | Method and system to provide first boot to a CPU system |
US7783926B2 (en) * | 2008-01-07 | 2010-08-24 | Inventec Corporation | Method for memory testing |
US9037928B2 (en) * | 2012-01-01 | 2015-05-19 | Mosys, Inc. | Memory device with background built-in self-testing and background built-in self-repair |
US9753874B2 (en) * | 2015-02-20 | 2017-09-05 | Qualcomm Incorporated | Multi-step programming of heat-sensitive non-volatile memory (NVM) in processor-based systems |
US10223217B2 (en) * | 2015-11-24 | 2019-03-05 | Ricoh Company, Ltd. | Information processing device, method for booting information processing device, and non-transitory recording medium |
JP6651394B2 (ja) * | 2016-03-25 | 2020-02-19 | ルネサスエレクトロニクス株式会社 | 半導体装置及び寿命予測方法 |
US10599521B2 (en) * | 2017-04-13 | 2020-03-24 | Dell Products, L.P. | System and method for information handling system boot status and error data capture and analysis |
US10572166B1 (en) * | 2017-09-27 | 2020-02-25 | Amazon Technologies, Inc. | Firmware download for a solid state storage card |
US10352998B2 (en) * | 2017-10-17 | 2019-07-16 | Microchip Technology Incorporated | Multi-processor core device with MBIST |
US11101014B2 (en) | 2019-03-14 | 2021-08-24 | Micron Technology, Inc. | Two-stage flash programming for embedded systems |
US20210096971A1 (en) * | 2019-10-01 | 2021-04-01 | Tektronix, Inc. | Bus autodetect |
-
2019
- 2019-03-14 US US16/353,966 patent/US11101014B2/en active Active
-
2020
- 2020-03-13 CN CN202010176334.XA patent/CN111694558B/zh active Active
-
2021
- 2021-08-23 US US17/409,111 patent/US11538544B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6070255A (en) * | 1998-05-28 | 2000-05-30 | International Business Machines Corporation | Error protection power-on-self-test for memory cards having ECC on board |
CN1797341A (zh) * | 2004-12-30 | 2006-07-05 | 英业达股份有限公司 | 早期开机自我测试阶段正常运行的方法 |
CN101632131A (zh) * | 2007-02-26 | 2010-01-20 | 索尼爱立信移动通讯股份有限公司 | 闪速存储器的内置自测试 |
Also Published As
Publication number | Publication date |
---|---|
US11538544B2 (en) | 2022-12-27 |
CN111694558A (zh) | 2020-09-22 |
US20210383884A1 (en) | 2021-12-09 |
US11101014B2 (en) | 2021-08-24 |
US20200294612A1 (en) | 2020-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111694558B (zh) | 用于车辆中的电子控制单元(ecu)的编程的装置和方法 | |
US10782955B2 (en) | Pre-shutdown swap verification | |
US12001825B2 (en) | Method and apparatus for vehicle software update installation | |
US10705826B2 (en) | Control apparatus, program updating method, and computer program | |
CN110300954B (zh) | 控制设备、程序更新方法和计算机程序 | |
JP6361671B2 (ja) | プログラム更新システム、プログラム更新方法、中継装置及びコンピュータプログラム | |
US10055904B2 (en) | Vehicle gateway network protection | |
US10936306B2 (en) | Vehicle control system and software compatibility checking method | |
CN110178114B (zh) | 车辆控制装置以及程序更新系统 | |
JP2017157003A5 (zh) | ||
CN111032438B (zh) | 控制设备、控制方法和计算机程序 | |
EP4242069A2 (en) | Updating a controller unit in a vehicle | |
US20230153097A1 (en) | Devices and method for managing electronic control units of a motor vehicle | |
US20210065478A1 (en) | Electronic control unit and non-transitory computer readable medium storing session establishment program | |
CN113238774A (zh) | 车载迎宾动画更新方法、装置、车载终端及存储介质 | |
CN109597634A (zh) | 更新车辆ecu的方法、装置及车辆 | |
CN106095474A (zh) | 用于更新运输工具中的软件的方法和装置 | |
CN115514742A (zh) | Ota管理器、中心、系统、方法、非暂时性存储介质 | |
CN113791800A (zh) | 一种自动泊车控制模块远程升级方法、系统及汽车 | |
US20230259354A1 (en) | Program management device, program management method, and recording medium | |
US20220244946A1 (en) | Ota master, update control method, non-transitory storage medium, and vehicle | |
Kim et al. | Compare of Vehicle Management over the Air and On-Board Diagnostics | |
CN115509567A (zh) | 中心、ota管理器、系统、方法、非暂时性存储介质 | |
CN116909609B (zh) | 车载智能设备的软件升级方法、装置及车载智能设备 | |
CN203658989U (zh) | 一种ecu嵌入式软件刷新和下载编程的系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |