CN102650939A - 一种防止重编程程序对应用程序干扰的方法及装置 - Google Patents
一种防止重编程程序对应用程序干扰的方法及装置 Download PDFInfo
- Publication number
- CN102650939A CN102650939A CN2012100930552A CN201210093055A CN102650939A CN 102650939 A CN102650939 A CN 102650939A CN 2012100930552 A CN2012100930552 A CN 2012100930552A CN 201210093055 A CN201210093055 A CN 201210093055A CN 102650939 A CN102650939 A CN 102650939A
- Authority
- CN
- China
- Prior art keywords
- reprogrammed
- application program
- sign
- judge
- module
- 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
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种防止重编程程序对应用程序干扰的方法及装置,所述方法包括:初始化控制器的硬件环境和软件环境;获取重编程标识,并判断所述重编程标识是否有效;如果所述重编程标识有效,则运行所述重编程程序;如果所述重编程标识无效,则获取应用程序标识,并判断所述应用程序标识是否有效;如果所述应用程序标识有效,则反初始化所述控制器的硬件环境,并运行所述应用程序。本发明通过在从重编程模式向应用程序模式切换之前,对控制器的硬件环境和软件环境进行初始化,避免应用程序运行过程中出现错误,排除了重编程程序对应用程序造成干扰。
Description
技术领域
本发明涉及应用程序更新过程中防干扰技术,更具体的说,是涉及一种防止重编程程序对应用程序干扰的方法及装置。
背景技术
ECU(Electronic Control Unit,电子控制单元)又称“行车电脑”,是汽车专用的微机控制器。当车载ECU中的应用程序存在缺陷或者需要升级时,可以通过在线重编程的方法对ECU中的应用程序进行更新,具备在线重编程功能的ECU里除了应用程序外,还有重编程程序,从车载总线上接收到新的应用程序并且写入ECU里。
因此,ECU有两种运行模型:重编程模式和应用程序模式;在重编程模式下,应用程序不运行,由重编程软件下载新的应用程序,并写入ECU,对应用程序进行更新;当重编程完成后,跳转到应用程序模式下,运行控制算法。重编程程序和应用程序共享ECU资源,如MCU,存储芯片、定时器和EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)等。当ECU从重编程模式切换到应用程序模式时,重编程程序已经启动MCU资源,如定时器、存储器等已开始被使用,应用程序继续使用这些资源时,有可能会发生错误,如应用程序定时时间不准确、存储器访问结果错误等。
本发明在于提供一种方法和装置,解决重编程程序对应用程序造成的干扰,避免应用程序运行出现错误。
发明内容
有鉴于此,本发明提供了一种防止重编程程序对应用程序干扰的方法及装置,以解决现有技术中对应用程序更新时,重编程程序对应用程序造成的干扰,避免从重编程模式切换到应用程序时,应用程序出现运行错误的问题。
为实现上述目的,本发明实施例提供如下技术方案:
一种防止重编程程序对应用程序干扰的方法,包括:
初始化控制器的硬件环境和软件环境;
获取重编程标识,并判断所述重编程标识是否有效;
如果所述重编程标识有效,则运行所述重编程程序;如果所述重编程标识无效,则获取应用程序标识,并判断所述应用程序标识是否有效;
如果所述应用程序标识有效,则反初始化所述控制器的硬件环境,并运行所述应用程序。
进一步地,所述判断所述重编程标识是否有效,具体包括:
判断所述重编程标识与预设的第一有效值是否相等,如果相等,则判定所述重编程标识有效;否则,判定所述重编程标识无效。
进一步地,所述判断所述应用程序标识是否有效,具体包括:
判断所述应用程序标识与预设的第二有效值是否相等,如果相等,则判定所述应用程序标识有效;否则,判定所述应用程序标识无效。
进一步地,所述初始化控制器的硬件环境和软件环境,具体包括:
为所述控制器的定时器、EEPROM、时钟模块和CAN模块设置初始值。
进一步地,所述反初始化控制器的硬件环境,具体包括:
将所述控制器的定时器、EEPROM、时钟模块和CAN模块的寄存器的值恢复到默认值。
本发明实施例还提供了一种防止重编程程序对应用程序干扰的装置,该装置包括:
初始化模块,用于初始化控制器的硬件环境和软件环境;
重编程标识获取和判断模块,用于获取重编程标识,并判断所述重编程标识是否有效;
重编程程序模块,用于当所述重编程标识有效时,运行重编程程序;
应用程序标识获取和判断模块,用于当所述重编程标识无效时,获取应用程序标识,并判断所述应用程序标识是否有效;
应用程序模块,用于当应用程序标识有效时,运行所述应用程序;
反初始化模块:用于在运行所述应用程序之前,反初始化所述控制器的硬件环境。
所述重编程标识获取和判断模块,具体用于:
判断所述重编程标识与预设的第一有效值是否相等,如果相等,则判定所述重编程标识有效;否则,判定所述重编程标识无效。
所述应用程序标识获取和判断模块,具体用于:
判断所述应用程序标识与预设的第二有效值是否相等,如果相等,则判定所述应用程序标识有效;否则,判定所述应用程序标识无效。
所述初始化模块,具体用于:
为所述控制器的定时器、EEPROM、时钟模块和CAN模块设置初始值。
所述反初始化模块,具体用于:
在运行所述应用程序之前,将所述控制器的定时器、EEPROM、时钟模块和CAN模块的寄存器恢复到默认值。
本发明公开的一种防止重编程程序对应用程序干扰的方法及装置,在控制器启动时初始化控制器的硬件环境和软件环境,通过判断重编程标识是否有效,判定是否要执行重编程程序,如重编程标识无效,则进一步判断应用程序标识是否有效,如应用程序标识有效,在启动应用程序之前,为了防止重编程程序对应用程序造成干扰,则反初始化控制器的硬件环境,来消除重编程程序给应用程序带来的干扰。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为实施例一公开的一种防止重编程程序对应用程序干扰的方法流程图;
图2是实施例二公开的一种防止重编程程序对应用程序干扰的装置示意图。
具体实施方式
为了引用和清楚起见,下文中使用的技术名词的说明、简写或缩写总结如下:
ECU:Electronic Control Unit,电子控制单元;
EEPROM:Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
ECU中同时安装有重编程程序和应用程序,同一时间只能运行两种程序之一,即ECU有两种工作模式:重编程模式和应用程序模式。而重编程模式和应用程序模式共享ECU的资源,比如定时器、EEPROM、时钟模块和CAN模块等。
实施例一
请参阅附图1,为本实施例公开的一种防止重编程程序对应用程序干扰的方法流程图:
S101:初始化控制器的硬件环境和软件环境;
具体地,初始化控制器的硬件环境,包括初始化CAN模块、时钟模块,为定时器的寄存器赋予一定值,还包括将EEPROM设置在初始的读取页位置。初始化控制器的软件环境,包括为一些变量赋予初始值。
S102:获取重编程标识,并判断重编程标识是否有效;如果重编程标识有效,执行步骤S103,否则,执行步骤S104;
在步骤S102中,重编程标识是判断当前是否有重编程请求的标识。本实施例中,重编程标识存放在EEPROM第1页,读取EEPROM第1页的内容,获得重编程标识。当然,重编程标识不限制必须存放在EEPROM第1页,也可以存放在EEPROM的其他页,本实施例不予限制。
判断重编程标识是否有效,具体为:
将获得的重编程标识与预设的第一有效值作比较,如果重编程标识与预设的第一有效值相等,则判定重编程标识有效;否则,判定重编程标识无效。
需要说明的是,第一有效值是由软件编程人员预设的,比如第一有效值可以为0xAA。当ECU从CAN总线上读取到重编程请求的报文时,即当有针对应用程序的重编程请求时,重编程标识便被赋予第一有效值0xAA。
S103:运行重编程程序,ECU转入重编程模式;
具体地,如果重编程标识有效,即根据步骤S102,当重编程标识与预设的第一有效值相等时,则说明ECU从CAN总线上读取到重编程请求的报文,即需要对应用程序进行更新。此时,运行重编程程序,由重编程程序从CAN总线上下载新的应用程序,并将下载的新的应用程序写入ECU中,替代原有的应用程序。这个过程中,原有的应用程序是不运行的,此过程ECU处于重编程模式。
需要说明的是,步骤S101中已经对定时器和EEPROM等ECU共用硬件资源初始化,在重编程模式下,上述硬件资源已经启动。
S104:获取应用程序标识,并判断应用程序标识是否有效;如果应用程序标识有效,则执行步骤S105,否则,执行步骤S103;
根据步骤S102,如果重编程标识无效,即重编程标识与预设的第一有效值不相等,则获取应用程序标识,并判断应用程序标识是否有效。本实施例中,应用程序标识存放在EEPROM第1页,读取EEPROM第1页的内容,获得应用程序标识。当然,应用程序标识不限制必须存放在EEPROM第1页,也可以存放在EEPROM的其他页,本实施例不予限制。
判断应用程序标识是否有效,具体为:
判断应用程序标识与预设的第二有效值是否相等,如果相等,则判定应用程序标识有效;否则,判定应用程序标识无效。
第二有效值是由编程人员预设的,比如第二有效值可以为0x55。如当获取到应用程序更新完毕的报文后,应用程标识便被赋予第二有效值0x55。
S105:反初始化控制器的硬件环境;
具体地,反初始化控制器的硬件环境包括将控制器的定时器、EEPROM、时钟模块和CAN模块的寄存器恢复到默认值。
在上述步骤S103中,运行重编程程序时已经启动了控制器的硬件环境和软件环境,比如控制器的定时器和EEPROM。在步骤S105中,为了防止运行应用程序时,出现错误,所以需要对控制器的硬件环境反初始化。
例如:EEPROM反初始化,是为了防止ECU从重编程模式转入应用程序模式后,应用程序按默认方式访问EEPROM,结果访问结果错误。因为当EEPROM存储器存在分页机制时,若在ECU进入应用程序模式前,重编程软件访问过EEPROM的某页地址(非第0页),EEPROM相关寄存器的状态为非第0页状态,那么当ECU进入应用程序模式后,若应用程序按默认方式访问第0页,则访问结果出错。所以必须在转入应用程序模式之前,实现对EEPROM模块相关寄存器恢复默认值设置。例如,Freescale MC9S08DZ60芯片的内置EEPROM为分页资源,共分2页。ECU重编程软件的标示信息如应用程序有效标识等存放在EEPROM的第1页,应用程序的信息存放在EEPROM的第0页。当ECU重编程软件在进入应用程序模式之前,需要访问EEPROM,读取应用程序有效标志等信息,则设置了EEPROM的分页寄存器FCNFG为第1页。当ECU重编程软件进入应用程序模式后,若应用程序按MCU复位后寄存器默认状态(即FCNFG位第0页状态),来访问EEPROM分页寄存器FCNFG,目的访问地址为EEPROM的第0页,那么由于ECU重编程软件进入应用程序后FCNFG仍为第1页状态,则应用程序实际访问的是EEPROM的第1页,所以应用程序访问结果错误。因此,为了防止运行应用程序时出现错误,需要对控制器的硬件环境反初始化。
S106:运行应用程序,ECU转入应用程序模式;
在步骤S105中,提前反初始化控制器的硬件环境,为运行应用程序做准备。
本实施例的一种防止重编程程序对应用程序干扰的方法,通过反初始化控制器的硬件环境,来为运行应用程序创造环境,排除掉重编程程序对应用程序造成的干扰。
实施例二
请参见图2,本实施例提供了一种防止重编程程序对应用程序干扰的装置,该装置包括:
初始化模块201,用于初始化控制器的硬件环境和软件环境;
重编程标识获取和判断模块202,用于获取重编程标识,并判断重编程标识是否有效;
重编程程序模块203,用于当重编程标识有效时,运行重编程程序;
应用程序标识获取和判断模块204,用于当重编程标识无效时,获取应用程序标识,并判断应用程序标识是否有效;
应用程序模块205,用于当应用程序标识有效时,运行应用程序;
反初始化模块206:用于在运行应用程序之前,反初始化控制器的硬件环境。
具体地,重编程标识获取和判断模块202,具体用于:
判断重编程标识与预设的第一有效值是否相等,如果相等,则判定重编程标识有效;否则,判定重编程标识无效。
需要说明的是,重编程标识是判断当前是否有重编程请求的标识。本实施例中,重编程标识存放在EEPROM第1页,读取EEPROM第1页的内容,获得重编程标识。当然,重编程标识不限制必须存放在EEPROM第1页,也可以存放在EEPROM的其他页,本实施例不予限制。
另外,第一有效值是由软件编程人员预设的,比如第一有效值可以为0xAA。当ECU从CAN总线上读取到重编程请求的报文时,即当有针对应用程序的重编程请求时,重编程标识便被赋予第一有效值0xAA。
具体地,应用程序标识获取和判断模块204,具体用于:
判断应用程序标识与预设的第二有效值是否相等,如果相等,则判定应用程序标识有效;否则,判定应用程序标识无效。
本实施例中,应用程序标识存放在EEPROM第1页,读取EEPROM第1页的内容,获得应用程序标识。当然,应用程序标识不限制必须存放在EEPROM第1页,也可以存放在EEPROM的其他页,本实施例不予限制。
另外,第二有效值是由编程人员预设的,比如第二有效值可以为0x55。如当获取到应用程序更新完毕的报文后,应用程标识便被赋予第二有效值0x55。
具体地,反初始化模块206,具体用于:
在运行应用程序之前,将控制器的定时器、EEPROM的寄存器恢复到默认值。
本实施例提供的防止重编程程序对应用程序干扰的装置,在重编程模式向应用程序模式切换之前,对控制器的硬件环境进行反初始化,避免应用程序运行时出现错误,排除了重编程程序对应用程序的干扰。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种防止重编程程序对应用程序干扰的方法,其特征在于,
初始化控制器的硬件环境和软件环境;
获取重编程标识,并判断所述重编程标识是否有效;
如果所述重编程标识有效,则运行所述重编程程序;如果所述重编程标识无效,则获取应用程序标识,并判断所述应用程序标识是否有效;
如果所述应用程序标识有效,则反初始化所述控制器的硬件环境,并运行所述应用程序。
2.根据权利要求1所述的方法,其特征在于,所述判断所述重编程标识是否有效,具体包括:
判断所述重编程标识与预设的第一有效值是否相等,如果相等,则判定所述重编程标识有效;否则,判定所述重编程标识无效。
3.根据权利要求1所述的方法,其特征在于,所述判断所述应用程序标识是否有效,具体包括:
判断所述应用程序标识与预设的第二有效值是否相等,如果相等,则判定所述应用程序标识有效;否则,判定所述应用程序标识无效。
4.根据权利要求1所述的方法,其特征在于,所述初始化控制器的硬件环境和软件环境,具体包括:
为所述控制器的定时器、EEPROM、时钟模块和CAN模块设置初始值。
5.根据权利要求1所述的方法,其特征在于,所述反初始化控制器的硬件环境,具体包括:
将所述控制器的定时器、EEPROM、时钟模块和CAN模块的寄存器的值恢复到默认值。
6.一种防止重编程程序对应用程序干扰的装置,其特征在于,所述装置包括:
初始化模块,用于初始化控制器的硬件环境和软件环境;
重编程标识获取和判断模块,用于获取重编程标识,并判断所述重编程标识是否有效;
重编程程序模块,用于当所述重编程标识有效时,运行重编程程序;
应用程序标识获取和判断模块,用于当所述重编程标识无效时,获取应用程序标识,并判断所述应用程序标识是否有效;
应用程序模块,用于当应用程序标识有效时,运行所述应用程序;
反初始化模块:用于在运行所述应用程序之前,反初始化所述控制器的硬件环境。
7.根据权利要求6所述的装置,其特征在于,所述重编程标识获取和判断模块,具体用于:
判断所述重编程标识与预设的第一有效值是否相等,如果相等,则判定所述重编程标识有效;否则,判定所述重编程标识无效。
8.根据权利要求6所述的装置,其特征在于,所述应用程序标识获取和判断模块,具体用于:
判断所述应用程序标识与预设的第二有效值是否相等,如果相等,则判定所述应用程序标识有效;否则,判定所述应用程序标识无效。
9.根据权利要求6所述的装置,其特征在于,所述初始化模块,具体用于:
为所述控制器的定时器、EEPROM、时钟模块和CAN模块设置初始值。
10.根据权利要求6所述的装置,其特征在于,所述反初始化模块,具体用于:
在运行所述应用程序之前,将所述控制器的定时器、EEPROM、时钟模块和CAN模块的寄存器恢复到默认值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100930552A CN102650939A (zh) | 2012-03-31 | 2012-03-31 | 一种防止重编程程序对应用程序干扰的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100930552A CN102650939A (zh) | 2012-03-31 | 2012-03-31 | 一种防止重编程程序对应用程序干扰的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102650939A true CN102650939A (zh) | 2012-08-29 |
Family
ID=46692948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100930552A Pending CN102650939A (zh) | 2012-03-31 | 2012-03-31 | 一种防止重编程程序对应用程序干扰的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102650939A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111241008A (zh) * | 2019-12-31 | 2020-06-05 | 潍柴动力股份有限公司 | 用于校正eeprom变量与地址的方法、装置和控制器 |
CN112764786A (zh) * | 2021-01-04 | 2021-05-07 | 东风商用车有限公司 | 汽车ECU Bootloader的启动方法及装置 |
CN112991578A (zh) * | 2021-02-26 | 2021-06-18 | 深圳市元征科技股份有限公司 | 车辆数据流的处理方法、装置、电子设备及电子控制单元 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1892618A (zh) * | 2005-06-30 | 2007-01-10 | 通用汽车环球科技运作公司 | 在重编程事件中保留ecu标识 |
CN101770384A (zh) * | 2010-01-18 | 2010-07-07 | 深圳市航盛电子股份有限公司 | 一种车载音响系统及其软件升级方法 |
CN102103511A (zh) * | 2011-02-25 | 2011-06-22 | 北京经纬恒润科技有限公司 | 应用程序的刷新方法和系统 |
-
2012
- 2012-03-31 CN CN2012100930552A patent/CN102650939A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1892618A (zh) * | 2005-06-30 | 2007-01-10 | 通用汽车环球科技运作公司 | 在重编程事件中保留ecu标识 |
CN101770384A (zh) * | 2010-01-18 | 2010-07-07 | 深圳市航盛电子股份有限公司 | 一种车载音响系统及其软件升级方法 |
CN102103511A (zh) * | 2011-02-25 | 2011-06-22 | 北京经纬恒润科技有限公司 | 应用程序的刷新方法和系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111241008A (zh) * | 2019-12-31 | 2020-06-05 | 潍柴动力股份有限公司 | 用于校正eeprom变量与地址的方法、装置和控制器 |
CN112764786A (zh) * | 2021-01-04 | 2021-05-07 | 东风商用车有限公司 | 汽车ECU Bootloader的启动方法及装置 |
CN112991578A (zh) * | 2021-02-26 | 2021-06-18 | 深圳市元征科技股份有限公司 | 车辆数据流的处理方法、装置、电子设备及电子控制单元 |
CN112991578B (zh) * | 2021-02-26 | 2023-02-28 | 深圳市元征科技股份有限公司 | 车辆数据流的处理方法、装置、电子设备及电子控制单元 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104360877B (zh) | 基于Bootloader自更新的ECU固件更新方法 | |
CN106990982B (zh) | 程序更新方法及装置 | |
US6834384B2 (en) | Methods and apparatus for upgrading firmware in an embedded system | |
US5487161A (en) | Computerized data terminal with switchable memory address for start-up and system control instructions | |
CN102135922B (zh) | 应用程序的刷新方法和系统 | |
CN109857426A (zh) | Bootloader程序更新方法、装置、电子设备及存储介质 | |
CN101650662A (zh) | 一种嵌入式系统的存储器件、固件启动及升级方法 | |
CN100561384C (zh) | 控制系统组态的增量式在线下载方法 | |
US9720742B2 (en) | Service and system supporting coherent data access on multicore controller | |
CN101872306B (zh) | 一种实现软件更新和软件备份的嵌入式系统及其实现方法 | |
CN102650939A (zh) | 一种防止重编程程序对应用程序干扰的方法及装置 | |
CN110874237A (zh) | 软件升级方法、装置、终端以及可读存储介质 | |
KR20150130353A (ko) | 핫스왑가능 프로그램 메모리의 운영체제 커널 업데이트 동안의 전환 시간 최소화 | |
CN100507849C (zh) | 软件在线更新方法及软件在线更新系统 | |
CN101699476A (zh) | 智能卡的数据处理方法及装置 | |
CN102467446A (zh) | 可设置程序指针值的处理器芯片仿真器 | |
CN101180589B (zh) | 用于在控制装置的存储器中切换的方法和装置 | |
JP7091486B2 (ja) | 電子制御装置、電子制御装置のセキュリティ検証方法 | |
CN110764486B (zh) | 车载控制器的运行方法、装置、车载控制器及存储介质 | |
US20080133823A1 (en) | Method For Describing Memory Contents And For Describing The Transfer Of Memory Contents | |
CN107506208A (zh) | 一种设备防烧死的dsp固件在线升级方法 | |
CN105278997A (zh) | 控制器软件的刷写方法及设备 | |
CN113867823A (zh) | 车载终端配置参数的设置方法、装置及电子设备 | |
JP6596455B2 (ja) | 自動車用電子制御装置 | |
CN107025144B (zh) | 用于写入以及读取数据集的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120829 |