CN110456989A - 用于机动车辆的车载控制器 - Google Patents
用于机动车辆的车载控制器 Download PDFInfo
- Publication number
- CN110456989A CN110456989A CN201910772009.7A CN201910772009A CN110456989A CN 110456989 A CN110456989 A CN 110456989A CN 201910772009 A CN201910772009 A CN 201910772009A CN 110456989 A CN110456989 A CN 110456989A
- Authority
- CN
- China
- Prior art keywords
- data
- chinese ink
- brush dipped
- write
- region
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0637—Permissions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Abstract
本公开提出用于机动车辆的车载控制器。该车载控制器包括数据存储器、运行存储器以及处理器,数据存储器包括代码刷写区域和数据刷写区域,其中代码刷写区域被配置为存储与车载控制器的控制功能相关的程序数据以及与控制功能相关的配置数据中的标定数据,数据刷写区域被配置为存储与控制功能相关的配置数据中不同于标定数据的其它配置数据,处理器被配置为将数据存储器中的程序数据、标定数据以及其它配置数据映射到运行存储器,以及执行程序数据中的程序以实施控制功能。该车载控制器可以防止诸如标定数据的配置数据由于程序BUG等造成的错误、丢失或擦除,有效保证配置数据的安全性。
Description
技术领域
本公开涉及控制器,特别涉及一种机动车辆中的车载控制器。
背景技术
在车辆控制系统开发商针对车辆设备提供商的特定车载设备进行微控制单元(MCU)的软件开发时,一般将研发完毕的软件程序刷写到MCU的代码刷写区域,然后由车辆控制系统开发商的标定工程师标定MCU的标定数据并刷写到MCU的数据刷写区域。车辆设备提供商基于软件程序和标定数据配置和控制特定车载设备,并将特定车载设备交付整车厂商。
但是,存储标定数据的数据刷写区域可能由于物理损坏、强电磁干扰或软件程序缺陷(BUG)造成数据错误、丢失或擦除。标定数据的错误或丢失使得与MCU对应的特定车载设备功能失常或出现危险。
因此,需要提高标定数据的存储的安全性。
发明内容
本公开提出机动车辆的车载控制器,用于克服或避免上述提及的缺陷,防止诸如标定数据的控制器的特定配置数据由于程序BUG等造成的错误、丢失或擦除,有效保证标定数据的安全性。
根据本公开的一方面,提出一种用于机动车辆的车载控制器,该车载控制器包括数据存储器、运行存储器以及处理器,数据存储器包括代码刷写区域和数据刷写区域,其中:
代码刷写区域被配置为存储与车载控制器的控制功能相关的程序数据以及与控制功能相关的配置数据中的标定数据,数据刷写区域被配置为存储与控制功能相关的配置数据中不同于标定数据的其它配置数据;
处理器被配置为将数据存储器中的程序数据、标定数据以及其它配置数据映射到运行存储器,以及执行程序数据中的程序以实施控制功能。
根据一个实施例,代码刷写区域的写入权限高于数据刷写区域的写入权限。
根据一个实施例,在执行程序时,程序的写入权限低于代码刷写区域的写入权限。
通过采用本公开的车载控制器,将诸如标定数据的特定配置数据存储在代码刷写区域,由于代码刷写区域具有比原有的数据刷写区域更高的写入权限,使得标定数据具有与程序数据相同的保护级别,有效避免由于诸如程序BUG导致的标定数据被修改或擦除的问题。同时,由于代码刷写区域具有更高的安全性,也可以有效避免由于其他原因导致的标定数据错误、丢失或擦除。
附图说明
通过参照附图详细描述其示例性实施例,本公开的上述和其它特征及优点将变得更加明显。
图1为现有的机动车辆的车载控制器的示意性结构图;
图2为根据本公开的实施例的代码刷写区域中的数据存储空间分布示意图;以及
图3为根据本公开的实施例的对车载控制器进行配置的示意性流程图。
具体实施方式
现在将参考附图更全面地描述示例性实施例。然而,示例性实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本公开全面和完整,并将示例性实施例的构思全面地传达给本领域的技术人员。在图中,为了清晰的目的,可能会夸大部分元件的尺寸或加以变形。在图中相同的附图标记表示相同或类似的结构,因而将省略它们的详细描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、元件等。在其它情况下,不详细示出或描述公知结构、方法或者操作以避免模糊本公开的各方面。
需要说明的是,虽然本公开以机动车辆的车载控制器(例如MCU)的标定数据为例描述,但是应当理解本公开的车载控制器及其配置方法可以应用于任何需要在控制单元中存储配置数据的场景,特别是需要在控制单元中存储用于支持和实施控制功能的诸如标定数据的特定配置数据的应用场景。
图1示出现有的机动车辆的车载控制器的示意性结构。车载控制器100包括存储器101-103以及诸如计算单元的处理器104。存储区域101和102共同构成数据存储器,用于存储车载控制器100的程序数据和配置数据。存储区域103也称为运行存储器,用于在车载控制器100的运行过程中存储由控制程序使用的与控制器内部和外部的其它部件进行交换的临时数据。
数据存储器的存储区域101用于存储与车载控制器101的控制功能相关的诸如程序代码的程序数据,也称为代码刷写区域(Code-Flash Area)。当车辆控制系统开发商针对车辆设备提供商的特定车载设备(例如车窗、空调、车灯等)开发相应的软件程序时,软件工程师或团队根据整车厂商对该特定车载设备所设计的功能和参数等数据,研发相应的车载控制器(MCU)控制软件,并将编译好的程序数据以例如S19文件的程序代码文件的形式写入车载控制器100的代码刷写区域101。代码刷写区域101通常可以采用例如只读存储器(ROM)的形式,所采用的ROM包括但不限于EPROM,EEPROM等。对代码刷写区域101设定的写入权限较高,通常必须在授权下以特定工具和/或加密方式刷入以避免对代码刷写区域101中存储的程序数据的非授权改动,保证程序代码文件的安全性和稳定性。代码刷写区域101也可以采用相应的安全校验方式,这些校验方式例如但不限于累加值校验、奇偶校验、Hash值校验等。
数据存储器中的存储区域102用于存储与程序数据配合使用的与车载控制器100的控制功能相关的配置数据,也称为数据数据刷写区域(Data-Flash Area)。配置数据可以包括针对车载控制器100所控制的特定车载设备的标定数据和其它配置数据(诸如控制参数)等。标定数据作为特定车载设备的重要配置数据,对设备的运行至关重要。车辆控制系统开发商在车载控制器100出厂之前,一般需要标定工程师或团队针对特定车载设备进行标定以生成标定数据并且将标定数据写入车载控制器100的数据刷写区域102中,或者在提供车载控制器100之后向车载设备供应商提供相应的标定数据,指导车载设备供应商将该标定数据与其它配置数据分别或一起刷写到车载控制器100的数据刷写区域102中。在刷写配置数据时,车辆控制系统开发商还需要控制数据的写入过程以使车载控制器100能够正确刷写全部配置数据。数据刷写区域102例如可以采用ROM的形式,所采用的ROM包括但不限于EPROM,EEPROM等的形式。根据本公开的实施例,数据刷写区域102可以优选采用EEPROM。通常,数据刷写区域102的写入权限低于代码刷写区域101的写入权限,写入过程也不需要采用与代码刷写区域101类似的加密方式。在代码刷写区域101中所存储的程序数据中的程序被处理器104运行时,可以在数据刷写区域102中读取相应的配置数据。
代码刷写区域101和数据刷写区域102均为非易失性存储器,通常在物理损坏或强电磁干扰的情况下才会导致存储内容损坏,因此正常情况下二者的数据存储安全性和稳定性较高。代码刷写区域101和数据刷写区域102在数据出错或丢失时,还可以通过数据校验检查数据的正确性,因此具有较高的数据安全性。根据本公开的实施例,代码刷写区域101在数据校验方式上相比数据刷写区域102可以有更多选择,因此代码刷写区域101的数据安全性更高。
运行存储器103用于作为程序运行的临时数据交换存储器,也称为随机访问存储器区域(RAM区域)。处理器104从代码刷写区域101读取的程序数据以及从数据刷写区域102读取的配置数据(包括标定数据和其它配置数据)并将这些数据写入运行存储器103中,这个过程也可以称为将相应的数据从数据存储器映射到运行存储器。运行存储器103一般采用易失性存储器,在车载控制器100通电后运行,其上存储的数据在断电后丢失。相比代码刷写区域101和数据刷写区域102,运行存储器103中的数据还受供电的影响。
处理器104用于从数据存储器中读取程序数据和配置数据并将这些程序数据和配置数据写入运行存储器103中,即将上述数据映射到运行存储器103,以及在运行存储器103中运行从代码刷写区域101中读取的以S19程序代码文件形式的程序数据中的控制程序,结合从代码刷写区域102中读取的包括标定数据的配置数据来控制特定车载设备以完成控制功能。
在车载控制器100对特定车载设备进行控制的情况下,代码刷写区域101的数据交互主要是读取操作,数据刷写区域102和运行存储器103的数据交互为读取和写入操作。例如,数据刷写区域102的读取和写入操作包括对配置数据的读取、写入和修改。运行存储器103作为临时数据交换存储器,其读取和写入操作包括读取先前被写入运行存储器103的来自代码刷写区域101的程序数据,读取先前被写入运行存储器103的来自数据刷写区域102的配置数据,对控制程序运行过程中产生的中间数据的读取、写入和修改,以及基于程序输出的配置数据对运行存储器103中的配置数据的写入和修改。当在处理器104中运行的控制程序对运行存储器103中的配置数据进行写入和修改时,还可能会对数据刷写区域102中的配置数据进行相应的写入和修改。通常情况下,运行存储器103中的程序数据不会被写入和修改,因此控制程序一般不会对代码刷写区域101中的程序数据进行写入和修改。因此,控制程序具有向数据刷写区域102和运行存储器103的写入和修改权限。
在正常情况下,控制程序可能会请求向数据刷写区域102写入数据,因此控制程序对数据刷写区域102的写入权限等于或高于向数据刷写区域102写入数据所需的写入权限。而当程序出现BUG时,控制程序可能会请求向代码刷写区域101和数据刷写区域102两者的至少一个中写入数据。由于对代码刷写区域101写入数据所需的写入权限比程序向数据刷写区域102写入数据的写入权限更高并且需要授权,所以控制程序的写入权限不足以将数据写入代码刷写区域101,使得程序BUG不会影响代码刷写区域101中数据的安全性。而程序已经具有对数据刷写区域102进行数据写入和修改的写入权限,并且数据刷写区域102不存在对代码刷写区域101中的数据进行写入或修改时所需要的额外授权加密方式,使得程序在存在BUG时有可能在数据刷写区域102中的配置数据所对应的存储位置进行数据写入、修改或擦除,导致配置数据的错误、丢失或被擦写。如果写入数据的位置存储有标定数据,则存在标定数据被修改或丢失的风险。标定数据的错误、丢失或被改写将导致特定车载设备的运行出现失常、故障甚至在危险情况下运行,造成设备和人员伤害。例如,用于电动车窗升降(Power Window Lift,PWL)控制功能的车窗控制器的标定数据丢失,可能导致车窗无法正常升降等升降功能异常,甚至车窗的防夹力很可能超出法规规定而造成乘客人身伤害。
图2为根据本公开实施例的数据存储器中的存储空间分布示意图。数据存储器包括代码刷写区域101和数据刷写区域102两部分。基于存储空间中存储的数据的存储位置可以访问相应的数据。存储位置可以是数据地址的地址指针或相对于初始地址指针的偏移量,其在数据存储器中按顺序排列。代码刷写区域101中的存储空间包括两部分,其中存储空间1011用于存储S19程序代码文件的程序数据,存储空间1012为没有使用的保留空间。与代码刷写区域101相邻的数据刷写区域102也可以包括两部分,一部分是用于存储配置数据的存储空间1021,另一部分是保留存储空间1022。
例如,代码刷写区域101相对于代码刷写区域101的初始地址指针A的地址偏移量的范围是0-600,其中存储空间1011的地址偏移量范围是0-500,保留存储空间1012的地址偏移量范围是500-600。车载控制器的程序数据存储在初始地址指针A的地址偏移量0-500的范围内。数据刷写区域102相对于数据刷写区域102的初始地址指针B的地址偏移量的范围是0-1000,其中存储空间1021的地址偏移量范围是0-600,保留存储空间1022的地址偏移量范围是600-1000。车载控制器的配置数据存储在初始地址指针B的地址偏移量0-600的范围内,其中标定数据存储在偏移量0-100的范围,其它配置数据存储在偏移量100-600的范围内。处理器104可以通过上述初始地址指针和偏移量访问数据存储器中存储的所有数据。本领域技术人员可知,上述地址偏移量的单位可以是位(比特),也可以是字节(byte)或多个字节。
根据本公开的实施例,代码刷写区域101和数据刷写区域102可以连续配置。存储空间1021紧邻存储空间1012在其后设置,则数据刷写区域102的初始地址指针B的值在上文中的示例中还可以表示为代码刷写区域101的初始地址指针A+600。相应地,存储空间1021和1022的范围也可以使用相对于初始地址指针A的偏移量表示。
一般来说,车载控制器中的存储区域101至103中都可以设置空白的保留空间。
为了提高配置数据中的重要部分(例如标定数据)的安全性,本公开的示例性实施例将原来存储在存储空间1021中的标定数据转移到代码刷写区域101中的位于存储空间1011之后的保留存储空间1012中进行存储,从而获得与在存储空间1011中存储的程序数据相同的安全性和稳定性。此时,标定数据的数据地址范围不再是相对于初始地址指针B的偏移量0-100,而是相对于初始地址指针A的偏移量500-600。当存在程序BUG时,由于程序写入权限低于代码刷写区域101的写入权限,所以存储在存储空间1012中的标定数据将无法被程序改写或擦除。配置数据中除了标定数据之外的不甚重要的其它配置数据可以继续存储在存储空间1021中。在配置数据存储器和写入数据存储器的初始数据的过程中,由于标定数据已经写入代码刷写区域101中的存储空间1012,因此中存储空间1021中可以直接将其它配置数据写入相对于初始地址指针B的地址偏移量0-500的范围内。相应地,保留存储空间1022的地址偏移量变为500-1000。
车载控制器的处理器用于将数据存储器中的代码刷写区域101和数据刷写区域102中存储的数据映射到车载控制器的运算存储器中,以及在运算存储器中运行程序数据中的控制器程序以基于配置数据完成控制特定车载设备的控制功能。
处理器基于程序数据的存储位置从代码刷写区域101的存储空间1011中读取S19程序代码文件形式的程序数据,并将程序数据写入运算存储器的相应存储位置以在后续流程中使用。程序数据的存储位置根据上文中给出的初始地址指针A和存储空间1011的地址偏移量范围表示,例如0-500。现有的车载控制器的存储方案中,标定数据被存储在数据刷写区域102的存储空间1021中。根据本公开的实施例,标定数据被存储在代码刷写区域101中的程序数据之后,即存储空间1012中。因此,处理器还要基于标定数据的存储位置从代码刷写区域101的存储空间1012中读取标定数据,并将标定数据写入运算存储器中的相应位置以在后续流程中由控制程序调用。标定数据的存储位置根据上文中给出的初始地址指针A和存储空间1012的地址偏移量范围表示,例如500-600。存储在存储空间1012中的标定数据也可以被视为与程序数据类似的软件定义读取,但是在运算存储器中仍作为特定配置数据,即标定数据使用。
根据本公开的实施例,在将标定数据从数据刷写区域102中转移到代码刷写区域101中存储后,数据刷写区域102的存储空间1021中仅需要存储其它配置数据。因此处理器基于其它配置数据的存储位置从数据刷写区域102的存储空间1021中读取其它配置数据,并将其它配置数据写入运算存储器中的相应位置以在后续流程中由控制程序调用和修改。其它配置数据的存储位置根据上文中给出的初始地址指针B和存储空间1021的地址偏移量范围表示,例如0-600。相比现有的控制器的数据存储方案,本公开的实施例的数据存储方案将标定数据从数据刷写区域102的存储空间1021转移到代码刷写区域101的存储空间1012,则处理器需要在读取标定数据时相应地将标定数据的存储位置从初始地址指针B和地址偏移量范围0-100改为初始地址指针A和地址偏移量范围500-600(假设标定数据占用的存储空间范围是100(单位))。也可以将数据标定区域102中的存储空间1021中标定数据原来占用的存储空间范围保留,在与现有存储方案相同的其它配置数据的存储空间存储其它配置数据,例如初始地址指针B和地址偏移量范围100-600,这样处理器在读取其它配置数据时不必再调整配置数据的存储位置。但是,将其它配置数据的存储位置的初始地址向前移动到初始地址指针B的位置,可以有效利用数据存储器的存储空间。
根据本公开的实施例,处理器在分别从存储空间1012和1021读取标定数据和其它配置数据后,可以分别将二者写入运算存储器的相应存储位置。优选地,仍然将标定数据和其它配置数据写入与现有的车载控制器的运算存储器中为配置数据设置的存储位置相同的位置以便于控制程序调用而无需修改控制程序的配置数据调用策略。根据本公开的进一步实施例,还可以在将标定数据和其它配置数据写入运算储存器之前,先将二者组合为配置数据,使得处理器在运行控制程序时可以按照现有的配置数据写入方式将配置数据写入运算存储器,在进一步的程序调用时也不再需要控制程序调整调用策略。
在运算存储器中,包括标定数据的配置数据仍然按照先前的车载控制器的控制程序的控制策略被调用、读取和修改,但是标定数据在数据存储器中的存储位置变化使得控制程序对标定数据修改后需要获得与在代码刷写区域101中写入程序数据的写入权限相同的写入权限将被修改或更新的标定数据写入代码刷写区域101的存储空间1012或者将该存储空间1012中的标定数据删除。由于正常运行情况下控制程序无法获得这种对代码刷写区域101的高写入权限,因此提高了标定数据的数据安全性。
下面结合图3描述根据本公开实施例的对车载控制器进行配置的方法的示意性流程图。该方法以配置机动车辆的电动车窗升降PWL设备的车窗控制器为例,但是本领域技术人员将理解,本公开的方法将不限于车窗PWL项目。
在步骤S310中,车辆控制系统开发商的软件工程师或团队首先根据整车厂商的相应车型(Carline)对车载设备供应商的车窗PWL设备的功能和参数要求,开发用于车窗PWL的车载控制器的控制软件。开发完成的软件程序以S19可执行程序代码文件的形式提交。软件工程师或团队在随后的步骤S310中提供对车载控制器的数据存储器的代码刷写区域和数据刷写区域的地址范围配置信息,其中代码刷写区域包括在如图2中所示的用于存储程序数据的存储空间1011和用于存储标定数据的存储空间1012,数据刷写区域包括如图2中所示的用于存储其它配置数据的存储空间1021和保留存储空间1022。代码刷写区域和数据刷写区域可以连续配置,那么两者的存储空间都可以使用代码刷写区域的初始地址指针A和地址偏移量进行表示,或者数据刷写区域的存储空间使用数据刷写区域的初始地址指针B和地址偏移量表示。如果代码刷写区域和数据刷写区域不连续配置时,可以分别使用各自的初始地址指针和地址偏移量表示。
在步骤S330中,车辆控制系统开发商将接收到的程序数据刷写到车载控制器的代码刷写区域的存储空间1011中,例如刷写到以初始地址指针A的地址偏移量范围0-500的存储空间中。
在步骤S340中,车辆控制系统开发商的标定工程师或团队在生成程序数据之后针对整车厂商的相应车型的功能和参数要求以及车载设备供应商所生产的特定车载设备对车载控制器的控制进行标定并生成标定数据。例如对于车窗PWL项目,需要对车辆的四个车门,即驾驶侧、副驾侧、后排左侧、后排右侧四个车门分别生成标定数据。车辆控制系统开发商将四个车门的标定数据刷写到车载控制器的代码刷写区域101的存储空间1012中,例如刷写到以初始地址指针A的地址偏移量范围500-600的存储空间中。步骤S340和S350的数据刷写过程一般都在车辆控制系统开发商的工厂内完成,如图3所示的虚线框370所示。程序数据和标定数据可以同时或分别先后刷写到代码刷写区域。刷写次数的减少也可以提高代码刷写区域101中的数据对强电磁干扰、物理损坏等因素导致数据错误、丢失或损坏的抵抗能力并提高代码刷写区域101的使用寿命。
从车辆控制系统开发商接收到刷写完程序数据和标定数据的车载控制器之后,车载设备供应商在步骤S360中基于软件定义配置车辆的车门上的电动车窗升降PWL设备。例如,车载设备供应商在车窗控制器的数据刷写区域102的存储空间1021中写入一个字节的数据以配置PWL的车门位置,即驾驶侧、副驾侧、后排左侧、后排右侧中的一个。车门位置配置数据可以是车门的编号,也可以同时包括指示对应车门在数据刷写区域101的存储空间1021中的存储地址的指示信息(例如车门配置数据的地址位置指针,用于指示如上文所述的初始地址指针B和地址偏移量一起表示的存储位置)。在使用车窗控制器对车门的电动车窗升降PWL设备进行控制时,通过读取存储空间1021中与PWL项目对应位置的与标定数据不同的其它配置数据,可以基于车门位置配置数据从存储空间1012中读取对应车门的标定数据。对电动车窗的其它配置数据的设定和刷写一般在车载设备供应商处完成,例如图3的虚线框380所示。当整车厂商设计新的车型时,根据新车型的功能要求、参数设定以及与整车厂商配套的车载设备供应商的对应特定车载设备的调整,车辆控制系统开发商需要对车载控制器的控制数据进行更新。例如,整车厂商需要修改车门和/或车窗的功能、样式和尺寸时,车门的电动车窗升降PWL设备的供应商也会调整PWL项目的对应功能、结构和参数。如果PWL项目的功能出现例如增加、减少或调整时,车辆控制系统开发商需要基于新车型的需求对控制程序的代码进行更新,同时也要更新PWL项目控制的标定数据。如果PWL项目的功能与原车型相同,而其他部分存在变化,则不需要更新控制程序的代码,但是仍然要更新标定数据。
对于不需要更新程序数据的情况,标定数据的更新数据沿用之前的对标定数据的存储位置的配置,由车载控制器的处理器或其它外部设备将标定数据的更新数据刷写到如图2所示的代码刷写区域101的存储空间1012。
如果标定数据的更新数据比原始数据更大,或者标定数据的更新以增加或扩充数据的方式(例如打补丁或扩容),则需要重新配置用于存储标定数据的存储空间1012的存储地址范围。例如,原始的标定数据大小为100字节,标定数据的更新数据为200字节或者扩充数据为100字节,则新的标定数据需要占用200字节的存储空间,则需要在代码刷写区域101中的存储空间1011(地址偏移量为0-500)之后配置地址偏移量为500-700的存储空间1012用于存储标定数据的更新数据。一般情况下,为代码刷写区域101保留的存储空间1012足够用于存储标定数据的更新数据。但是,如果标定数据的更新数据大小超过保留的存储空间1012可容纳的最大存储空间范围,则需要重新配置代码刷写区域的存储空间范围。在需要调整代码刷写区域的存储空间范围,并且数据刷写区域102与代码刷写区域101连续配置的情况下,还需要相应调整和修改数据刷写区域102的存储地址范围。
对于同时需要更新程序数据和标定数据的情况,由软件工程师或团队修改并提交程序数据的更新数据,然后由标定工程师或团队相应生成标定数据的更新数据。如果程序数据和标定数据的更新数据的大小都没有分别超出原始配置的代码刷写区域101的存储空间1011和1012的存储地址范围,则可以如图3中所述的步骤S330和S350将程序数据的更新数据和标定数据的更新数据刷写到代码刷写区域101的相应存储位置。如果程序数据的更新数据和标定数据的更新数据中的至少一个的大小超出原始配置的相应存储空间的存储地址范围,则需要重新配置代码刷写区域101的存储空间以使其能够分别容纳新的程序数据和标定数据,如果需要的话还要进一步调整和修改数据刷写区域102的存储空间的配置。
在程序数据和/或标定数据的更新之后,车载控制器的处理器在正常运行控制程序过程中,基于上述代码刷写区域和数据刷写区域的存储地址范围的更新配置(如果有的话)读取程序数据和/或标定数据的更新数据,就可以继续完成对特定车载设备的控制功能。。
在上述标定数据的更新过程中,仍然需要比车载控制器的控制程序的读写权限更高的写入权限修改存储在代码刷写区域101的存储空间1012中的标定数据,使得标定数据具有与程序数据相同的保护级别,防止标定数据由于存储在写入权限较低的数据刷写区域102而被未授权的程序BUG等错误地修改或擦除,有效提高标定数据的安全性和可靠性。
本领域技术人员在考虑说明书及实践这里公开的内容后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
Claims (10)
1.一种用于机动车辆的车载控制器,所述车载控制器包括数据存储器、运行存储器以及处理器,所述数据存储器包括代码刷写区域和数据刷写区域,其特征在于:
所述代码刷写区域被配置为存储与所述车载控制器的控制功能相关的程序数据以及与所述控制功能相关的配置数据中的标定数据,所述数据刷写区域被配置为存储与所述控制功能相关的所述配置数据中不同于所述标定数据的其它配置数据;
所述处理器被配置为将所述数据存储器中的所述程序数据、所述标定数据以及所述其它配置数据映射到所述运行存储器,以及执行所述程序数据中的程序以实施所述控制功能。
2.根据权利要求1所述的车载控制器,其特征在于,所述代码刷写区域的写入权限高于所述数据刷写区域的写入权限。
3.根据权利要求1所述的车载控制器,其特征在于,所述标定数据在所述代码刷写区域的标定数据存储位置位于所述程序数据在所述代码刷写区域的程序数据存储位置之后。
4.根据权利要求1所述的车载控制器,其特征在于,将所述数据存储器中的所述程序数据、所述标定数据以及所述其它配置数据映射到所述运行存储器包括:
基于所述程序数据存储位置和所述标定数据存储位置从所述代码刷写区域读取所述程序数据和所述标定数据,以及将所述程序数据和所述标定数据写入到所述运行存储器中;以及
基于所述其它配置数据在所述数据刷写区域的其它配置数据存储位置从所述数据刷写区域读取所述其它配置数据,以及将所述其它配置数据写入到所述运行存储器中。
5.根据权利要求4所述的车载控制器,其特征在于,所述处理器还被配置为:
在读取所述标定数据和所述其它配置数据之后,将所述标定数据和所述其它配置数据组合为所述配置数据以及将所述配置数据写入所述运行存储器中。
6.根据权利要求1所述的车载控制器,其特征在于,在执行所述程序时,所述程序的写入权限低于所述代码刷写区域的写入权限。
7.根据权利要求1所述的车载控制器,其特征在于,所述处理器还被配置为:
在所述数据存储器中设置所述代码刷写区域和所述数据刷写区域,在所述代码刷写区域中设置所述程序数据存储位置和所述标定数据存储位置,以及在所述数据刷写区域中设置所述其它配置数据存储位置;
基于所述程序数据存储位置和所述标定数据存储位置将所述程序数据和所述标定数据中的至少一个写入到所述代码刷写区域,以及基于所述其它配置数据存储位置将所述其它配置数据写入到所述数据刷写区域。
8.根据权利要求7所述的车载控制器,其特征在于,所述处理器还被配置为基于所述标定数据存储位置将所述标定数据的更新数据写入所述代码刷写区域。
9.根据权利要求8所述的车载控制器,其特征在于,所述处理器还被配置为:
基于所述标定数据的更新数据修改所述代码刷写区域和所述数据刷写区域,在所述代码刷写区域中修改所述标定数据存储位置,以及在修改后的所述数据刷写区域中修改所述其它配置数据存储位置;
基于修改后的所述标定数据存储位置将所述标定数据的更新数据写入所述代码刷写区域,以及基于修改后的所述其它配置数据存储位置将所述其它配置数据写入所述数据刷写区域。
10.根据权利要求1至9中任一项所述的车载控制器,其特征在于,所述车载控制器为车窗控制器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910772009.7A CN110456989A (zh) | 2019-08-21 | 2019-08-21 | 用于机动车辆的车载控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910772009.7A CN110456989A (zh) | 2019-08-21 | 2019-08-21 | 用于机动车辆的车载控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110456989A true CN110456989A (zh) | 2019-11-15 |
Family
ID=68488055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910772009.7A Pending CN110456989A (zh) | 2019-08-21 | 2019-08-21 | 用于机动车辆的车载控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110456989A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177691A (zh) * | 2019-11-29 | 2020-05-19 | 潍柴动力股份有限公司 | Ecu整车功能权限的设置方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1743654A (zh) * | 2004-08-31 | 2006-03-08 | 三菱电机株式会社 | 车载电子控制装置 |
CN104268448A (zh) * | 2014-10-11 | 2015-01-07 | 中颖电子股份有限公司 | 采用快闪存储器的微处理器的程序代码保护方法 |
US20150169604A1 (en) * | 2013-12-13 | 2015-06-18 | Hyundai Motor Company | Vehicle data control system and method |
CN108279916A (zh) * | 2017-12-28 | 2018-07-13 | 宁德时代新能源科技股份有限公司 | 电子控制单元程序更新方法和装置 |
-
2019
- 2019-08-21 CN CN201910772009.7A patent/CN110456989A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1743654A (zh) * | 2004-08-31 | 2006-03-08 | 三菱电机株式会社 | 车载电子控制装置 |
US20150169604A1 (en) * | 2013-12-13 | 2015-06-18 | Hyundai Motor Company | Vehicle data control system and method |
CN104268448A (zh) * | 2014-10-11 | 2015-01-07 | 中颖电子股份有限公司 | 采用快闪存储器的微处理器的程序代码保护方法 |
CN108279916A (zh) * | 2017-12-28 | 2018-07-13 | 宁德时代新能源科技股份有限公司 | 电子控制单元程序更新方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177691A (zh) * | 2019-11-29 | 2020-05-19 | 潍柴动力股份有限公司 | Ecu整车功能权限的设置方法及装置 |
CN111177691B (zh) * | 2019-11-29 | 2022-04-26 | 潍柴动力股份有限公司 | Ecu整车功能权限的设置方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4742102B2 (ja) | 自動車の制御装置のための改良されたチェック方法 | |
US8140216B2 (en) | Method of detecting manipulation of a programmable memory device of a digital controller | |
US9021246B2 (en) | Method to replace bootloader public key | |
US20110307668A1 (en) | Method and system of updating shared memory | |
US20020029313A1 (en) | Electronic control unit including flash memory and method and apparatus for storing control data group into flash memory | |
CN104679672B (zh) | 数据储存装置以及快闪存储器控制方法 | |
CN102135922B (zh) | 应用程序的刷新方法和系统 | |
CN102043680A (zh) | 一种ecu嵌入式软件刷新和下载编程的方法及系统 | |
CN110456989A (zh) | 用于机动车辆的车载控制器 | |
EP0954863B1 (en) | System and method for memory reset of a vehicle controller | |
JP5979025B2 (ja) | 車両用ゲートウエイ装置 | |
US20060218340A1 (en) | Data validity determining method for flash EEPROM and electronic control system | |
JP4880105B2 (ja) | 制御装置のメモリ機能保護方法及び制御装置 | |
CN116302005B (zh) | 芯片、芯片升级方法、装置、电子设备及可读存储介质 | |
US20140074316A1 (en) | Electronic control unit of vehicle | |
JP2000043654A (ja) | 自動車用制御装置 | |
JP5034866B2 (ja) | 車載制御装置 | |
CN105278997A (zh) | 控制器软件的刷写方法及设备 | |
JPH1083294A (ja) | プログラミング装置を介してプログラミング可能な記憶装置を備えた制御装置の作動方法 | |
CN111796839B (zh) | 控制器程序管理方法和装置 | |
GB2368940A (en) | Process for writing to and erasing a non-volatile memory area | |
US20100083073A1 (en) | Data processing apparatus, memory controlling circuit, and memory controlling method | |
US20040064634A1 (en) | Method of emulating electrically erasable memory in a motor vehicle microcontroller | |
US20090019213A1 (en) | Method and control unit for operating a non-volatile memory, in particular for use in motor vehicles | |
JP6547533B2 (ja) | 電動機駆動装置 |
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 |