CN105868119B - 微机装置 - Google Patents

微机装置 Download PDF

Info

Publication number
CN105868119B
CN105868119B CN201610079979.5A CN201610079979A CN105868119B CN 105868119 B CN105868119 B CN 105868119B CN 201610079979 A CN201610079979 A CN 201610079979A CN 105868119 B CN105868119 B CN 105868119B
Authority
CN
China
Prior art keywords
rewriting
region
program
program segment
flash state
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.)
Expired - Fee Related
Application number
CN201610079979.5A
Other languages
English (en)
Other versions
CN105868119A (zh
Inventor
静敏志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
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 Toyota Motor Corp filed Critical Toyota Motor Corp
Publication of CN105868119A publication Critical patent/CN105868119A/zh
Application granted granted Critical
Publication of CN105868119B publication Critical patent/CN105868119B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7209Validity control, e.g. using flags, time stamps or sequence numbers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
    • G11C17/14Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
    • G11C17/18Auxiliary circuits, e.g. for writing into memory

Abstract

本发明提供一种微机装置(100),其使对改写用的用户程序进行管理的用户的管理负担减轻,该微机装置(100)能够对内置的闪存ROM(110)中所存储的用户程序(113)进行改写,其特征在于,具有:第一改写程序(111),其根据闪存状态0区域的数据,来对针对改写对象的各程序段而进行的改写处理进行控制;第二改写程序(112),其在不依据所述闪存状态0区域的数据的条件下,实施针对改写对象的各程序段而进行的改写处理,第一改写程序(111)在针对改写对象的最初的程序段而进行的改写处理中,不实施针对所述闪存状态0区域的写入,而在实施了针对最后的程序段而进行的改写处理之后,根据改写用的用户程序的记载来实施针对所述闪存状态0区域的写入。

Description

微机装置
技术领域
本发明涉及一种微机装置。
背景技术
一直以来,在内置于微机装置等之内的闪存ROM(Read Only Memory:只读存储器)中,搭载有用于对用户程序进行改写的改写程序,通过执行该改写程序,从而能够实施用户程序的改写。
一般而言,改写程序能够根据有无使用写入到闪存状态0区域(改写完成代码的写入中所利用的状态区域)中的数据而被分类为两种改写程序。此外,作为各自的示例,可列举出由微机装置制造商等提供的通用的改写程序与由OEM(Original equipmentmanufacturer:原装设备制造)制造商等提供的固有的改写程序。
如由OEM制造商等所提供的固有的改写程序那样,在根据闪存状态0区域的数据来对用户程序的改写处理进行控制时,即使在写入时发生了错误的情况下,也能够再次执行改写程序。
在先技术文献
专利文献
专利文献1:日本特开2008-165729号公报
发明内容
发明所要解决的课题
然而,在采用搭载有通用的改写程序与固有的改写程序的微机装置的情况下,用户需要预先准备与各个改写程序对应的用户程序,以作为改写用的新的用户程序。具体而言,需要预先准备写入到闪存状态0区域中的代码互为不同的两种用户程序。这是因为,固有的改写程序的情况与通用的改写程序不同,由于写入到闪存状态0区域中的代码,从而有时会对之后的改写处理造成影响。
如上所述,如果考虑到有无因写入到闪存状态0区域中的代码而引起的对改写处理的影响,而必须准备针对每个改写程序而不同的用户程序,则对用户程序进行管理的用户的管理负担较大。
对此,例如,如果能够排除对于将代码写入到闪存状态0区域之后的改写处理的影响,则能够将写入到闪存状态0区域中的代码设为相同。即,考虑到能够使改写用的新的用户程序共通化,从而能够减轻用户的管理负担。
因此,本公开的目的在于,使对改写用的新的用户程序进行管理的用户的管理负担减轻。
用于解决课题的方法
根据本公开的一个方式,提供一种微机装置,其能够对内置的闪存ROM中所存储的用户程序进行改写,其特征在于,具有:第一处理部,其根据闪存状态0区域的数据,来对针对改写对象的各程序段而进行的包括删除、写入以及校验在内的改写处理进行控制;第二处理部,其在不依据所述闪存状态0区域的数据的条件下,实施针对改写对象的各程序段而进行的包括删除、写入以及校验在内的改写处理,所述第一处理部在针对改写对象的最初的程序段而进行的改写处理中,不实施对于所述闪存状态0区域的写入,而在实施了针对改写对象的最后的程序段而进行的改写处理之后,根据改写用的用户程序的记载来实施对于所述闪存状态0区域的写入。
发明效果
本公开能够使对改写用的新的用户程序进行管理的用户的管理负担减轻。
附图说明
图1为表示微机装置的硬件结构的图。
图2为表示闪存ROM的结构的图。
图3为表示改写用的用户程序的一个示例的图。
图4为表示第一处理部以及第二处理部的功能结构的图。
图5为用于对现有的由第一改写程序而进行的改写处理进行说明的图。
图6为用于对现有的由第二改写程序而进行的改写处理进行说明的图。
图7为用于对由第一实施方式所涉及的第一改写程序而进行的改写处理进行说明的图。
图8为模式化地表示由ROM求和计算部所实施的ROM求和计算处理与由改写装置所实施的求和计算处理的图。
图9为用于对由第一实施方式所涉及的第二改写程序而进行的改写处理进行说明的图。
图10为用于对由第二实施方式所涉及的第一改写程序而进行的改写处理进行说明的图。
图11为模式化地表示由ROM求和计算部所实施的ROM求和计算处理与由改写装置所实施的求和计算处理的图。
图12为用于对第三实施方式所涉及的第一改写程序而进行的改写处理进行说明的图。
图13为用于对第三实施方式所涉及的第一改写程序而进行的校验进行说明的图。
具体实施方式
以下,参照附图对本发明的各实施方式进行说明。另外,在本说明书以及附图中,对于实质上具有相同的功能结构的结构元件,通过标注相同的符号从而省略重复的说明。
[第一实施方式]
<(1)微机装置的硬件结构>
首先,对本实施方式所涉及的微机装置的硬件结构进行说明。图1为表示本实施方式所涉及的微机装置的硬件结构的图。
如图1所示,微机装置100具有闪存ROM110、RAM120、CPU130、通信I/F140等各部分,该各部分经由总线150而被连接在一起。
闪存ROM110对由CPU130所执行的用户程序113进行存储。此外,闪存ROM110对用于将用户程序113改写为新的用户程序(以下,称之为“改写用的用户程序”)171的第一改写程序111、第二改写程序112进行存储。
另外,在以下的说明中,第一改写程序111例如为由OEM制造商等提供的固有的改写程序,且为根据闪存状态0区域的数据来对改写处理进行控制的改写程序。
在第一改写程序111中,根据闪存ROM110的改写对象的最初的程序段所包括的闪存状态0区域的数据来对改写处理进行控制。另外,设为在由第一改写程序111而进行的改写处理中,包括针对闪存ROM的改写对象的各程序段而进行的删除、写入、校验。
此外,在第一改写程序111中,为了对通过改写用的用户程序171而正确地实施了改写的情况进行确认,从而实施ROM求和计算,并将ROM求和计算结果172向改写装置160输出。另外,ROM求和计算是指,对写入到闪存ROM110的改写对象的各程序段中的数据进行加法运算,并对该加法运算值进行计算。
另一方面,第二改写程序112例如为,由微机装置制造商等提供的通用的改写程序,且为在不依据闪存状态0区域的数据的条件下实施改写处理的改写程序。在第二改写程序112中,在不依据闪存ROM110的改写对象的最初的程序段中所包括的闪存状态0区域的数据的条件下,实施针对改写对象的程序段的改写处理。另外,设为在由第二改写程序112而进行的改写处理中,包括针对闪存ROM110的改写对象的各程序段而进行的删除、写入、校验。
RAM120为主存储装置,并且作为在通过CPU130而执行被存储于闪存ROM110中的各种程序时被展开的操作区域而发挥功能。此外,还作为对通过利用CPU130来执行被存储于闪存ROM110中的各种程序而计算出的数据进行临时保持的保持区域而发挥功能。
CPU130为,执行被存储于闪存ROM110中的各种程序的计算机。
通信I/F(Interface)140为通信接口。通信I/F140例如对应于UART(UniversalAsynchronous Receiver Transmitter:通用非同步接收发送器)或其他的串行通信,或者CAN(Controller Area Network:控制局域网)等的车内局域网(Local Area Network:本地局域网)等的协议。通信I/F140在改写装置160向微机装置100提供改写用的用户程序171时,在与改写装置160之间实施通信。
经由通信I/F140而与微机装置100连接的改写装置160向微机装置100提供用于对存储于闪存ROM110的用户程序113进行改写的改写用的用户程序171。此外,对微机装置100指示第一改写程序111或第二改写程序112的执行。而且,接收通过执行第一改写程序111而计算出的ROM求和计算结果172,并通过对ROM求和计算结果172与改写用的用户程序171的求和计算结果进行比较,从而对是否正确地实施了改写进行判断。另外,求和计算是指,对改写用的用户程序171的记载内容进行加法运算而计算出加法运算值。
另外,虽然在上述说明中,采用了由改写装置160来实施对ROM求和计算结果172与求和计算结果进行比较,并对改写是否被正确地实施进行判断的处理的结构,但也可以采用由微机装置100来实施该处理的结构。
<(2)闪存ROM的结构>
接下来,对闪存ROM110的结构进行说明。图2为表示闪存ROM110的结构(存储映射图)的图。如图2所示,闪存ROM110例如被分割为以64K字节为单位的程序段0至程序段n。
在程序段0中包括:在改写完成代码的写入中所利用的闪存状态0区域200_0A、以及在将用户程序113分割而进行存储时的用户程序113的一部分被写入的区域200_0B。程序段0为,在通过第一改写程序111或者第二改写程序112来实施改写处理时,最初被实施改写处理的程序段。此外,程序段n为,在通过第一改写程序111或者第二改写程序112来实施改写处理时最后被实施改写处理的程序段。在程序段1至程序段n中,分别包括在将用户程序113分割而进行存储时的用户程序113的一部分被写入的区域200_1~200_n。
另外,在本实施方式中,设为在程序段0的闪存状态0区域200_0A中,作为改写完成代码而写入有“0x55AA…”。
<(3)改写用的用户程序>
接下来,对由改写装置160所提供的改写用的用户程序171进行说明。图3为表示改写用的用户程序171的一个示例的图。如图3所示,改写用的用户程序171具有:记录有在改写时写入闪存状态0区域200_0A中的“改写代码”的改写代码区域301、与记录有程序主体的主体区域302。
在本实施方式中,作为在改写处理时写入闪存状态0区域200_0A中的改写代码而使用“0x55AA……”。即,在本实施方式中,作为改写用的用户程序171而使用了将与“改写完成代码”相同的代码记录在改写代码区域301中的程序。
通过在微机装置100中,从改写装置160提供改写用的用户程序171,从而在改写处理时将记录于改写代码区域301中的改写代码写入到程序段0的闪存状态0区域200_0A中。此外,将被记录在主体区域302中的程序主体分割并写入到程序段0至程序段n的区域200_0B、200_1~200_n中。
<(4)第一以及第二处理部的说明>
接下来,对通过由CPU130执行第一改写程序111而实现的第一处理部410、与通过由CPU执行第二改写程序112而实现的第二处理部420进行说明。
图4为表示第一以及第二处理部的功能结构的图。其中,图4(a)表示第一处理部410的功能结构。如图4(a)所示,第一处理部410具有:改写程序段管理部411、闪存状态0管理部412、删除部413、写入部414、校验部415、ROM求和计算部416。
改写程序段管理部411对改写对象的程序段进行管理。闪存状态0管理部412对写入到闪存状态0区域中的数据进行管理。在闪存状态0管理部412中,在于闪存状态0区域200_0A中写入有作为改写完成代码的“0x55AA…”的情况下,识别为改写处理已完成。另一方面,在于闪存状态0区域200_0A中写入有改写完成代码以外的数据的情况下,识别为处于改写处理中。
删除部413在实施改写处理时将写入到各程序段中的数据删除。通过利用删除部413来将数据删除,从而程序段0的闪存状态0区域200_0A的数据成为“0xFFFF…”。同样地,程序段0的区域200_0B以及程序段1~程序段n的区域200_1~200_n的数据也成为“0xFFFF…”。
写入部414在改写处理时使用由改写装置160所提供的改写用的用户程序171,而对程序段0至程序段n依次实施写入。具体而言,将被记录于改写用的用户程序171的主体区域302中的程序主体分割并依次写入程序段0的区域200_0B、程序段1的区域200_1~程序段n的区域200_n中。
另外,写入部414在以程序段0为改写对象而实施改写处理的情况下,不实施对于闪存状态0区域200_0A的写入。在写入部414中,将程序段n作为改写对象而实施改写处理,并且通过ROM求和计算部416而实施了ROM求和计算之后,实施对于闪存状态0区域200_0A的写入。由此,针对闪存状态0区域200_0A,在实施了ROM求和计算之后,写入被记录于改写用的用户程序171的改写代码区域301中的改写代码的“0x55AA…”。
校验部415对于通过写入部414而实施了写入的程序段实施校验,从而对被写入的数据中是否存在错误进行确认。每当针对各程序段的写入完成时,校验部415便以程序段为单位而实施校验。
另外,在校验部415中,在实施对于程序段0的校验时,将写入到程序段0的闪存状态0区域200_0A中的数据从校验对象中排除。即,以写入到程序段0的区域200_0B中的数据为对象而实施校验。
图4(b)表示第二处理部的功能结构。如图4(b)所示,第二处理部420具有:删除部421、写入部422、校验部423。另外,第二处理部420也可以具有改写程序段管理部与ROM求和计算部。
删除部421在实施改写处理时删除写入到各程序段中的数据。通过利用删除部421来删除数据,从而程序段0的闪存状态0区域200_0A的数据成为“0xFFFF…”。此外,程序段0的区域200_0B以及程序段1~程序段n的区域200_1~200_n的数据也成为“0xFFFF…”。
写入部422在实施改写处理时使用由改写装置160提供的改写用的用户程序171,而对程序段0至程序段n依次实施写入。具体而言,将被记录于改写用的用户程序171的改写代码区域301中的改写代码写入到闪存状态0区域200_0A中。此外,将被记录于改写用的用户程序171的主体区域302的程序主体分割,并依次写入程序段0的区域200_0B、程序段1的区域200_1~程序段n的区域200_n中。
校验部423针对通过写入部414而被实施了写入的程序段实施校验,从而对被写入的数据中是否存在错误进行确认。在校验部423中,每当针对各程序段的写入完成时,便以程序段为单位来实施校验。
<(5)由第一以及第二改写程序而进行的改写处理的说明>
接下来,对由第一以及第二改写程序111、112而进行的改写处理进行说明。另外,在下文中,在对由本实施方式所涉及的第一以及第二改写程序111、112而进行的改写处理进行说明之前,作为比较对象而对由现有的第一以及第二改写程序而进行的改写处理简单地进行说明。另外,设为现有的第一以及第二改写程序被存储于具有图1所示的结构的微机装置中所内置的、具有图2所示的结构的闪存ROM中,而实施说明。但是,为了与具有本实施方式所涉及的第一以及第二改写程序111、112的微机装置100进行区别,将具有现有的第一以及第二改写程序的微机装置设为微机装置500而实施说明。
<(5-1)由现有的第一改写程序所实施的改写处理>
图5为,用于对由现有的第一改写程序(由OEM制造商等提供的固有的改写程序,且现有的改写程序)而进行的改写处理进行说明的图。如图5(a)所示,通过使改写装置160与微机装置500连接,从而向微机装置500提供改写用的用户程序501。此时,在向微机装置500提供的改写用的用户程序501中,作为写入到闪存状态0区域200_0A中的改写代码而记录有“0xFFFF…”。
在现有的第一改写程序中,设为从程序段0至程序段n依次实施改写处理。在这种情况下,首先需要将写入到程序段0的闪存状态0区域200_0A中的代码预先设为作为改写完成代码的“0x55AA…”以外的代码。在图5的示例中设为,作为改写完成代码即“0x55AA…”以外的值而写入了“0xFFFF…”。
图5(b)为,将写入到了闪存ROM110的程序段0的闪存状态0区域200_0A中的数据在改写处理中的变化与改写处理的动作相关联而进行图示的图。如图5(b)所示,在改写处理刚开始之后,在闪存状态0区域200_0A中,写入有作为改写完成代码的“0x55AA…”。
之后,实施针对程序段0的删除(步骤S511),当被写入在闪存状态0区域200_0A中的数据被删除时,闪存状态0区域200_0A的数据会变化为“0xFFFF…”。
而且,实施针对程序段0的写入(步骤S512),从而被记录在改写用的用户程序501的改写代码区域中的“0xFFFF…”,被写入到闪存状态0区域200_0A中。
之后,在从程序段0的校验至程序段n的校验的期间内,闪存状态0区域200_0A的数据保持“0xFFFF…”的状态而推移。当程序段n的校验完成时,则判断为各程序段的改写处理已完成,从而在现有的第一改写程序中,在闪存状态0区域200_0A中写入作为改写完成代码的“0x55AA…”。由此,闪存状态0区域200_0A的数据将变化为“0x55AA…”。
<(5-2)由现有的第二改写程序而进行的改写处理>
图6为用于对由现有的第二改写程序(由微机装置制造商等提供的通用的改写程序,且现有的改写程序)而进行的改写处理进行说明的图。如图6(a)所示,通过使改写装置160与微机装置500连接,从而向微机装置500提供改写用的用户程序601。此时,在现有的第二改写程序中,在不依据闪存状态0区域200_0A的数据的条件下实施针对改写对象的各程序段的改写处理。因此,即使在闪存状态0区域200_0A中没有写入“0x55AA…”以外的数据,也会实施各程序段的改写处理。然而,需要在改写处理完成后,在闪存状态0区域200_0A中写入作为改写完成代码的“0x55AA…”。因此,如图6(a)所示,在改写用的用户程序601的改写代码区域中作为写入闪存状态0区域200_0A中的改写代码而记录有“0x55AA…”。
图6(b)为,将写入到了闪存ROM110的程序段0的闪存状态0区域200_0A中的数据在改写处理中的变化与改写处理的动作相关联而进行图示的图。如图6(b)所示,在改写处理刚开始后,在闪存状态0区域200_0A中写入有作为改写完成代码的“0x55AA…”。
之后,实施针对程序段0的删除(步骤S611),当被写入在闪存状态0区域200_0A中的数据被删除时,闪存状态0区域200_0A的数据会变化为“0xFFFF…”。
而且,实施针对程序段0的写入(步骤S612),从而被记录在改写用的用户程序601的改写代码区域中的改写代码“0x55AA…”被写入到闪存状态0区域200_0A中。
此后,在从程序段0的校验至程序段n的校验的期间内,闪存状态0区域200_0A的数据保持“0x55AA…”的状态而推移。由此,在程序段n的改写处理完成的时间点处,在闪存状态0区域200_0A中写入有“0x55AA…”。
如上所述,在使用现有的第一改写程序而实施改写处理的情况下与使用现有的第二改写程序而实施改写处理的情况下,需要使用改写代码不同的改写用的用户程序(501、601)。即,在根据闪存状态0区域的数据来对改写处理进行控制的改写程序、与在不依据闪存状态0区域的数据的条件下实施改写处理的改写程序中,需要不同的改写用的用户程序。因此,对改写用的用户程序进行管理的用户的管理负担变大。另外,根据闪存状态0区域的数据来对改写处理进行控制的改写程序例如在下述专利文献1中被公开。根据专利文献1的公开,在判断为闪存状态0区域的数据为“0x55AA…”以外的情况下,判断为改写处理失败,从而以再次执行改写程序的方式进行控制。
与此相对,在以下所说明的本实施方式所涉及的第一改写程序111中,能够在与第二改写程序112之间,使改写用的用户程序共通化。
以下,对由本实施方式所涉及的第一以及第二改写程序111、112而进行的改写处理进行说明。
<(5-3)由第一改写程序而进行的改写处理的说明>
首先,对由本实施方式所涉及的第一改写程序111而进行的改写处理进行说明。图7为用于对由本实施方式所涉及的第一改写程序而进行的改写处理进行说明的图。如图7(a)所示,通过将改写装置160与微机装置100连接,从而向微机装置100提供改写用的用户程序171。如上文所述,在向微机装置100提供的改写用的用户程序171的改写代码区域301中,作为向闪存状态0区域200_0A写入的改写代码而记录有“0x55AA…”。
图7(b)为,将写入闪存ROM110的程序段0的闪存状态0区域200_0A的数据在改写处理中的变化与改写处理的动作相关联而进行图示的图。如图7(b)所示,在改写处理刚开始后,在闪存状态0区域200_0A中写入有作为改写完成代码的“0x55AA…”。
在此之后,实施针对程序段0的删除(步骤S711),当被写入在闪存状态0区域200_0A中的数据被删除时,闪存状态0区域200_0A的数据变化为“0xFFFF…”。
而且,实施针对程序段0的写入(步骤S712)。此时,在写入部414中,对于闪存状态0区域200_0A以外的区域而实施写入,而不实施针对闪存状态0区域200_0A的写入。
因此,即使在针对程序段0的写入完成的时间点处,闪存状态0区域200_0A的数据也依然为“0xFFFF…”。因此,在第一处理部410中,能够持续实施针对各程序段而进行的写入。
接下来,实施针对程序段0而进行的校验(步骤S713)。此时,在校验部415中,将闪存状态0区域200_0A以外的区域200_0B作为对象而实施校验。在写入闪存状态0区域200_0A中的改写代码为“0x55AA…”的情况下,在步骤S712中不实施针对闪存状态0区域200_0A的写入。因此,假如设为针对程序段0的整体而实施校验,则将会发生错误。但如上所述,由于将闪存状态0区域200_0A的数据从校验对象中排除,因此在步骤S713中不会发生错误。
在此之后,实施针对程序段1以后的程序段而进行的改写处理,当在针对程序段n而进行的校验结束时,在ROM求和计算部416中实施ROM求和计算(步骤S721)。此时,在ROM求和计算部416中,将闪存状态0区域200_0A以外的区域作为对象,而实施ROM求和计算(在改写装置160中,也以排除掉写入到闪存状态0区域200_0A中的改写代码的方式而实施求和计算)。
虽然写入闪存状态0区域200_0A中的改写代码为“0x55AA…”,但在该时间点处并未实施针对闪存状态0区域200_0A的写入。因此,假如设为针对从程序段0至程序段n的整体而实施ROM求和计算,则ROM求和计算结果172将与求和计算结果不一致,从而会发生错误。相对于此,在本实施方式中,如上所述,将闪存状态0区域200_0A从ROM求和计算的对象中排除(在改写装置160中,也以排除改写代码的方式而实施求和计算)。因此,在ROM求和计算结果172与求和计算结果之间不会产生不一致。
在ROM求和计算完成之后,在写入部414中实施针对闪存状态0区域200_0A的写入(步骤S722)。由此,被记录于改写用的用户程序171的改写代码区域301中的改写代码“0x55AA…”被写入闪存状态0区域200_0A中。
如上文所述,在采用了将针对闪存状态0区域200_0A的写入在最后实施的结构的情况下,在此之后不存在实施写入的区域。因此,向闪存状态0区域的写入不会影响到以后的改写处理。即,能够排除对于闪存状态0区域写入了代码之后的改写处理的影响。
图8为模式化地表示由ROM求和计算部416实施的ROM求和计算处理与由改写装置160实施的求和计算处理的关系的图。如图8所示,在ROM求和计算部416中,将分别写入到程序段0的区域200_0B、程序段1的区域200_1、程序段2的区域200_2、…程序段n的区域200_n中的数据作为ROM求和计算的计算对象。另一方面,在改写装置160中,将被记录于改写用的用户程序171的主体区域302中的程序主体作为求和计算的计算对象。
因此,在由第一改写程序111而进行的写入被正确地实施了的情况下,ROM求和计算结果172与求和计算结果将一致。
<(5-4)由第二改写程序而进行的改写处理的说明>
接下来,对由本实施方式所涉及的第二改写程序112而进行的改写处理进行说明。本实施方式所涉及的第二改写程序112与现有的第二改写程序相同。因此,在下文中,对即使在本实施方式所涉及的第一改写程序111使用了与在改写处理中所使用的改写用的用户程序171相同的用户程序的情况下,本实施方式所涉及的第二改写程序112也会适当地进行动作的情况进行说明。
图9为,用于对由本实施方式所涉及的第二改写程序112而进行的改写处理进行说明的图。如图9(a)所示,通过使改写装置160与微机装置100连接,从而向微机装置100提供改写用的用户程序171。此时向微机装置100提供的改写用的用户程序171与在图7中向微机装置100提供的改写用的用户程序171相同。
图9(b)为,将写入闪存ROM110的程序段0的闪存状态0区域200_0A中的数据在改写处理中的变化与改写处理的动作相关联而进行图示的图。如图9(b)所示,在改写处理刚开始之后,在闪存状态0区域200_0A中写入有作为改写完成代码的“0x55AA…”。
在此之后,实施针对程序段0而进行的删除(步骤S911),当被写入在闪存状态0区域200_0A中的数据被删除时,闪存状态0区域200_0A的数据会变化为“0xFFFF…”。
进而,实施针对程序段0而进行的写入(步骤S912),并且被记录于改写用的用户程序171的改写代码区域301中的改写代码“0x55AA…”被写入到闪存状态0区域200_0A中。
之后,在从程序段0的校验至程序段n的校验的期间内,闪存状态0区域200_0A的数据会保持“0x55AA…”的状态而推移。其结果为,在程序段n的校验完成的时间点处,在闪存状态0区域200_0A中写入有与改写完成代码相同的“0x55AA…”。
如上文所述,根据本实施方式,在使用第一改写程序111来实施改写处理的情况下、与使用第二改写程序112来实施改写处理的情况下,能够使用相同的改写用的用户程序171。即,能够在根据闪存状态0区域的数据来对改写处理进行控制的改写程序与在不依据闪存状态0区域的数据的条件下实施改写处理的改写程序中,使用相同的改写用的用户程序。其结果为,能够减轻对改写用的用户程序进行管理的用户的管理负担。
<(6)总结>
通过以上说明明确可知,在本实施方式所涉及的第一改写程序111中采用了如下结构。
·采用了在实施针对程序段0而进行的改写处理时不针对程序段0的闪存状态0区域200_0A而实施写入的结构。
·此外,采用了在实施了针对程序段n而进行的改写处理之后,根据记录于改写用的用户程序171中的代码(应写入闪存状态0区域中的代码)来针对程序段0的闪存状态0区域200_0A而实施写入的结构。
通过如上文所述那样在最后实施向闪存状态0区域的写入,从而能够排除对于向闪存状态0区域写入了代码后的改写处理所造成的影响。由此,能够使写入到闪存状态0区域中的代码相同,并能够在与第二改写程序112之间使改写用的用户程序171共通化。
其结果为,能够使对改写用的新的用户程序进行管理的用户的管理负担减轻。
此外,在本实施方式所涉及的第一改写程序111中采用了如下结构。
·采用了在校验部415实施校验时,对于程序段0,将闪存状态0区域200_0A的数据排除的结构。
·采用了在ROM求和计算部416实施ROM求和计算时,将闪存状态0区域200_0A的数据排除的结构。
由此,由于在能够实现改写用的用户程序171的共通化的情况下,在第一改写程序111中,能够实施各程序段的校验、程序段整体的ROM求和计算,因此能够可靠地检测到写入错误。
[第二实施方式]
在上述第一实施方式中,以排除程序段0的闪存状态0区域200_0A的数据的方式而实施了ROM求和计算。相对于此,在第二实施方式中,在删除程序段0之前,预先将闪存状态0区域200_0A的数据存储在RAM120中。而且,在针对程序段n而进行的改写处理完成之后,使用预先存储于RAM120中的数据来实施ROM求和计算。以下,对第二实施方式进行说明。另外,以与上述第一实施方式的不同点为中心而进行说明。
<(1)由第一改写程序而进行的改写处理的说明>
图10为,用于对由第二实施方式所涉及的第一改写程序111而进行的改写处理进行说明的图。如图10(a)所示,通过使改写装置160与微机装置100连接,从而向微机装置100提供改写用的用户程序171。
图10(b)为,将被写入在闪存ROM110的程序段0的闪存状态0区域200_0A中的数据在改写处理中的变化与改写处理的动作相关联而进行图示的图。如图10(b)所示,在改写处理刚开始后,在闪存状态0区域200_0A中写入有作为改写完成代码的“0x55AA…”。
在步骤S1001中,闪存状态0管理部412将闪存状态0区域200_0A的数据存储于RAM120的预定的缓冲区域。
之后,实施针对程序段0的删除(步骤S711),当写入在闪存状态0区域200_0A中的数据被删除时,闪存状态0区域200_0A的数据变化为“0xFFFF…”。
进而,实施针对程序段0的写入(步骤S712)。此时,在写入部414中,针对闪存状态0区域200_0A以外的区域实施写入,而不实施针对闪存状态0区域200_0A的写入。
因此,在针对程序段0而进行的写入完成了的时间点处,闪存状态0区域200_0A的数据也依然为“0xFFFF…”。因此,在第一处理部410中,能够持续实施针对各程序段而进行的写入。
在此之后,从针对程序段0而进行的校验(步骤S713)至针对程序段n而进行的校验,与在上述第一实施方式中使用图7而进行说明的处理相同。
当针对程序段n而进行的校验结束时,在ROM求和计算部416中实施ROM求和计算(步骤S1002)。此时,在ROM求和计算部416中,将闪存状态0区域200_0A以外的区域作为计算对象而实施ROM求和计算。此外,在ROM求和计算部416中,将此时的计算结果与被存储于RAM120的预定的缓冲区域的数据(程序段0的删除前的闪存状态0区域200_0A的数据)相加。进而,在ROM求和计算部416中,将加法运算结果作为ROM求和计算结果172而向改写装置160输出。
在ROM求和计算完成之后,在写入部414中,实施针对闪存状态0区域200_0A的写入(步骤S722)。由此,在改写用的用户程序171的改写代码区域301中作为改写代码而被记录的“0x55AA…”,被写入闪存状态0区域200_0A中。
<(2)ROM求和计算的详细内容>
接下来,对于ROM求和计算(步骤S1002)的详细内容进行说明。图11为模式化地表示由ROM求和计算部416所实施的ROM求和计算处理(步骤S1002)与由改写装置160所实施的求和计算处理的关系的图。
如图11所示,为了对ROM求和计算结果172的正确与否进行判断,在改写装置160中,根据改写用的用户程序171来实施求和计算。此时,在改写装置160中,将记录有写入闪存状态0区域200_0A中的改写代码的改写代码区域301、与记录有程序主体的主体区域302作为计算对象而实施求和计算。
此外,在ROM求和计算部416中,将程序段0的排除了闪存状态0区域200_0A的区域200_0B、与程序段1至程序段n的各区域200_1~200_n作为计算对象而实施ROM求和计算。而且,在ROM求和计算部416中,在针对程序段0而实施删除之前将存储于RAM120的预定的缓冲区域中的数据与该计算结果相加,并将加法运算结果作为ROM求和计算结果172而向改写装置160进行输出。
如上所述,在求和计算结果中包括:被记录于改写用的用户程序171的改写代码区域301中的改写代码“0x55AA…”、与被记录于改写用的用户程序171的主体区域302中的程序主体。另一方面,在ROM求和计算结果中包括,分割并写入到了程序段0至程序段n的各区域200_0B、200_1~200_n中的改写用的用户程序171的程序主体。而且,包括被存储于RAM120的预定的缓冲区域中的改写完成代码=“0x55AA…”。另外,在改写用的用户程序171的改写代码区域301中,作为改写代码而记录有与改写完成代码相同的代码。
因此,在改写处理正常完成的情况下,求和计算结果与ROM求和计算结果一致。此时,在改写装置160中,能够包括写入到闪存状态0区域200_0A中的改写代码而实施求和计算。即,能够在不必配合第一改写程序111而改变计算方法的条件下,实施求和计算。
(3)总结
由以上的说明明确可知,在本实施方式所涉及的第一改写程序111中采用了如下结构。
·采用了在实施针对程序段0而进行的改写处理时,不针对程序段0的闪存状态0区域200_0A而实施写入的结构。
·此外,采用了在实施了针对程序段n而进行的改写处理之后,根据改写用的用户程序171,并针对程序段0的闪存状态0区域200_0A而实施写入的结构。
通过如上文所述那样在最后实施针对闪存状态0区域的写入,从而能够排除对于闪存状态0区域写入代码之后的改写处理的影响。由此,能够使写入闪存状态0区域中的代码相同,从而能够在所述第一改写程序111与第二改写程序112之间使改写用的用户程序171共通化。
其结果为,能够使对改写用的新的用户程序进行管理的用户的管理负担减轻。
此外,在本实施方式所涉及的第一改写程序111中采用了如下结构。
·采用了校验部415在实施校验时,对于程序段0,将闪存状态0区域200_0A的数据排除的结构。
·采用了ROM求和计算部416在实施ROM求和计算时,将闪存状态0区域200_0A的数据排除的结构。而且,采用了将此时的计算结果与在实施针对程序段0而进行的删除之前存储于RAM120的预定的缓冲区域的数据相加,并作为ROM求和计算结果而输出的结构。
由此,由于即使在能够使改写用的用户程序171共通化的情况下,在第一改写程序111中也能够实施各程序段的校验、程序段整体的ROM求和计算,因此也能够可靠地检测出写入错误。并且,由于在改写装置160中,能够包括写入闪存状态0区域200_0A中的代码(改写代码)而实施求和计算,因此能够在不必配合第一改写程序111而改变计算方法的条件下实施求和计算。
另外,虽然在本实施方式中,将闪存状态0区域200_0A的数据存储于RAM120中,例如也可以将记录于改写用的用户程序171的改写代码区域301中的改写代码存储于RAM120。
[第三实施方式]
在上述第一以及第二实施方式中,均采用了以针对程序段0排除了闪存状态0区域200_0A的数据的方式而实施校验的结构。相对于此,在第三实施方式中,针对程序段0而使用固定值来实施校验。以下,对第三实施方式进行说明。另外,以与上述第一以及第二实施方式的不同点为中心而进行说明。
<(1)由第一改写程序所实施的改写处理的说明>
图12为,用于对由第三实施方式所涉及的第一改写程序111而进行的改写处理进行说明的图。如图12(a)所示,通过使改写装置160与微机装置100连接,从而向微机装置100提供改写用的用户程序171。
图12(b)为,将被写入在闪存ROM110的程序段0的闪存状态0区域200_0A中的数据在改写处理中的变化与改写处理的动作相关联而进行图示的图。如图12(b)所示,在改写处理刚开始之后,在闪存状态0区域200_0A中写入有作为改写完成代码的“0x55AA…”。
在第一处理部410中,执行步骤S1001、S711、S712所示的各工序。另外,由于步骤S1001为在上述第二实施方式中使用图10而进行了说明的步骤,因此在此省略说明。此外,由于步骤S711、S712为在上述第一实施方式中已使用图7而进行了说明的步骤,因此在此省略说明。
在步骤S1201中,校验部415实施针对程序段0而进行的校验。此时,在校验部415中,将包括闪存状态0区域200_0A在内的程序段0整体作为对象而实施校验。
另外,写入到闪存状态0区域200_0A中的代码为“0x55AA…”,相对于此,在步骤S712中,没有实施针对闪存状态0区域200_0A而进行的写入。因此,若在该状态下对程序段0整体实施校验,则会发生错误。
相对于此,在本实施方式中,对于闪存状态0区域200_0A,使用固定值(“0xFFFF…”)来实施校验。
闪存状态0区域200_0A的数据通过针对程序段0进行的删除(步骤S711)而成为“0xFFFF…”。因此,只要正确地实施了针对程序段0而进行的删除、且正确地实施了针对程序段0的除了闪存状态0区域200_0A以外的区域200_0B的写入,则针对程序段0而进行的校验中就不会发生错误。
由于在步骤S1201中,针对程序段0而进行的校验结束后的处理在上述第一或者第二实施方式中,已使用图7或者图10而进行了说明,因此在此省略说明。
<(2)针对程序段0而进行的校验的详细内容>
接下来,对针对程序段0而进行的校验(步骤S1201)的详细内容进行说明。图13为用于对针对程序段0而进行的校验的详细内容进行说明的图。
如图13所示,在校验部415中,将被记录于改写用的用户程序171的主体区域302中的程序主体之中的、被分割并写入程序段0的区域200_0B中的部分(校验对象)的总计值与固定值相加。另外,固定值为“0xFFFF…”。并且,在校验部415中,对加算结果1301进行保持。
此外,在校验部415中,在由写入部414实施的针对程序段0而进行的写入结束的时间点处,对写入到程序段0的闪存状态0区域200_0A中以及除此之外的区域200_0B中的数据的总计值1311进行计算。然后,对预先保持的加算结果1301与总计值1311进行比较,并对其是否一致进行判断。
在此,在由写入部414实施的针对程序段0而进行的写入结束的时间点处,闪存状态0区域200_0A的数据成为“0xFFFF…”。这是因为,由于在实施针对程序段0而进行的写入之前实施删除,且在实施针对程序段0而进行的写入时,在写入部414中,未实施针对闪存状态0区域200_0A的写入,因此残留有针对程序段0而进行的删除的结果。另一方面,针对程序段0的除了闪存状态0区域200_0A以外的区域200_0B,而写入有改写用的用户程序171的程序主体的一部分。
因此,在针对程序段0而进行的由删除部413实施的删除被正确地实施,且针对程序段0的除了闪存状态0区域200_0A以外的区域200_0B而进行的由写入部414实施的写入被正确地实施了的情况下,不会发生错误。换言之,根据本实施方式的针对程序段0而进行的校验,能够对删除的正确与否、以及针对闪存状态0区域200_0A以外的区域200_0B而进行的写入的正确与否进行确认。
<(3)总结>
由以上的说明明确可知,在本实施方式所涉及的第一改写程序111中采用了如下结构。
·采用了在实施针对程序段0的改写处理时不针对程序段0的闪存状态0区域200_0A而实施写入的结构。
·此外,采用了在实施了针对程序段n的改写处理之后,根据改写用的用户程序171来针对程序段0的闪存状态0区域200_0A而实施写入的结构。
通过如上文所述在最后实施针对闪存状态0区域的写入,从而能够排除对将代码向闪存状态0区域写入之后的改写处理的影响。由此,能够使写入到闪存状态0区域中的代码相同,从而能够在所述第一改写程序111与第二改写程序112之间使改写用的用户程序171共通化。
其结果为,能够使对改写用的新的用户程序进行管理的用户的管理负担减轻。
此外,在本实施方式所涉及的第一改写程序111中采用了如下结构。
·采用了校验部415在实施校验时,对于程序段0,作为闪存状态0区域200_0A的数据而使用固定值来实施校验的结构。
·采用了ROM求和计算部416在实施ROM求和计算时,将闪存状态0区域200_0A的数据排除的结构。而且,将此时的计算结果与在实施针对程序段0而进行的删除之前被存储于RAM120的预定的缓冲区域中的数据相加,并输出ROM求和计算结果的结构。
由此,由于即使在能够使改写用的用户程序171共通化的情况下,在第一改写程序111中,也能够实施各程序段的校验、程序段整体的ROM求和计算,因此能够可靠地检测出写入错误。而且,由于在第一改写程序111中,能够以包括写入到闪存状态0区域200_0A中的代码的方式实施校验,因此能够对是否针对闪存状态0而正确地实施了删除进行判断。
[其他的实施方式]
在上述第一至第三实施方式中,采用了在实施由第一改写程序111而进行的改写处理时,首先实施针对程序段0而进行的删除的结构。然而,首先实施的处理无需为针对程序段0而进行的删除,例如,也可以采用在实施针对程序段0而进行的删除之前,针对闪存状态0区域200_0A而写入0的处理的结构。
此外,虽然在上述第三实施方式中,将针对程序段0而使用固定值来实施校验的处理与上述第二实施方式组合而进行了说明,但也可以与上述第一实施方式进行组合。
此外,虽然在上述第一至第三实施方式中,以程序段为单位而实施了校验,但也可以采用如下的方式,即,以地址为单位或者以1字节为单位来实施校验。例如,也可以采用如下的方式,即,在第一以及第二实施方式的情况下,对于闪存状态0区域200_0A以外的区域,以地址为单位或者以1字节为单位来实施校验。此外,在第三实施方式的情况下,对于闪存状态0区域200_0A而使用固定值(“0xFFFF…”)来实施校验。而且,也可以针对闪存状态0区域200_0A以外的区域,而以地址为单位或者以1字节为单位来实施校验。
另外,本发明并不限定于上述实施方式中所列举的结构、以及与其他的元件的组合等的在此所示的结构。关于这些结构,能够在不脱离于本发明的主旨的范围内进行改变,并能够根据其应用方式而适当地规定。
符号说明
100:微机装置;
110:闪存ROM;
120:RAM;
130:CPU;
140:通信I/F;
150:总线;
160:改写装置;
171:改写用的用户程序;
172:ROM求和计算结果;
410:第一处理部;
411:改写程序段管理部;
412:闪存状态0管理部;
413:删除部;
414:写入部;
415:校验部;
416:ROM求和计算部;
420:第二处理部;
421:删除部;
422:写入部;
423:校验部。

Claims (4)

1.一种微机装置,其能够对内置的闪存ROM中所存储的用户程序进行改写,其特征在于,具有:
第一处理部,其根据闪存状态0区域的数据,来对针对改写对象的各程序段而进行的包括删除、写入以及校验在内的改写处理进行控制;
第二处理部,其以不依据所述闪存状态0区域的数据的方式,实施针对改写对象的各程序段而进行的包括删除、写入以及校验在内的改写处理,
所述第一处理部在针对改写对象的最初的程序段而进行的改写处理中,不实施对于所述闪存状态0区域的写入,而在实施了针对改写对象的最后的程序段而进行的改写处理之后,根据改写用的用户程序的记载来实施对于所述闪存状态0区域的写入。
2.如权利要求1所述的微机装置,其特征在于,
所述第一处理部中,在实施校验时,针对所述最初的程序段而将闪存状态0区域的数据去除,并在实施ROM求和计算时,将闪存状态0区域的数据去除。
3.如权利要求1所述的微机装置,其特征在于,
所述第一处理部在实施对于改写对象的最初的程序段而进行的改写处理之前,对该最初的程序段的闪存状态0区域的数据进行保持,并在实施了对于改写对象的最后的程序段而进行的改写处理之后,使用所述保持的数据来实施ROM求和计算。
4.如权利要求1或3所述的微机装置,其特征在于,
所述第一处理部在实施了对于改写对象的最初的程序段而进行的写入之后,在实施对于该最初的程序段而进行的校验时,将预先设定的固定值作为被写入到闪存状态0区域中的代码来实施校验。
CN201610079979.5A 2015-02-10 2016-02-04 微机装置 Expired - Fee Related CN105868119B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-024466 2015-02-10
JP2015024466A JP6217664B2 (ja) 2015-02-10 2015-02-10 マイコン装置

Publications (2)

Publication Number Publication Date
CN105868119A CN105868119A (zh) 2016-08-17
CN105868119B true CN105868119B (zh) 2018-11-06

Family

ID=55221319

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610079979.5A Expired - Fee Related CN105868119B (zh) 2015-02-10 2016-02-04 微机装置

Country Status (4)

Country Link
US (1) US9798658B2 (zh)
EP (1) EP3057101B1 (zh)
JP (1) JP6217664B2 (zh)
CN (1) CN105868119B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1249463A (zh) * 1998-09-28 2000-04-05 日本电气株式会社 配有闪烁存储器的微型计算机及其程序存入方法
JP2002063044A (ja) * 2000-08-21 2002-02-28 Matsushita Electric Ind Co Ltd 演算装置及びプログラム書き換え方法
CN1480953A (zh) * 2002-09-07 2004-03-10 鸿富锦精密工业(深圳)有限公司 在内存中存放校验码的方法及装置
JP2010033486A (ja) * 2008-07-31 2010-02-12 Panasonic Corp プログラム書き換え方法、及び装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001249811A (ja) * 2000-03-06 2001-09-14 Matsushita Electric Ind Co Ltd 制御装置およびその制御プログラム書き替え方法
JP2001265601A (ja) * 2000-03-22 2001-09-28 Denso Corp 電子制御装置及びメモリ書き換え方法
JP4136359B2 (ja) 2001-11-15 2008-08-20 株式会社ルネサステクノロジ マイクロコンピュータ
JP2006268176A (ja) 2005-03-22 2006-10-05 Denso Corp フラッシュeepromのデータ正否判定方法
JP4743182B2 (ja) * 2006-12-07 2011-08-10 株式会社デンソー マイクロコンピュータ
US7934050B2 (en) * 2006-12-07 2011-04-26 Denso Corporation Microcomputer for flash memory rewriting

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1249463A (zh) * 1998-09-28 2000-04-05 日本电气株式会社 配有闪烁存储器的微型计算机及其程序存入方法
JP2002063044A (ja) * 2000-08-21 2002-02-28 Matsushita Electric Ind Co Ltd 演算装置及びプログラム書き換え方法
CN1480953A (zh) * 2002-09-07 2004-03-10 鸿富锦精密工业(深圳)有限公司 在内存中存放校验码的方法及装置
JP2010033486A (ja) * 2008-07-31 2010-02-12 Panasonic Corp プログラム書き換え方法、及び装置

Also Published As

Publication number Publication date
CN105868119A (zh) 2016-08-17
US9798658B2 (en) 2017-10-24
US20160232087A1 (en) 2016-08-11
EP3057101A1 (en) 2016-08-17
JP6217664B2 (ja) 2017-10-25
JP2016148930A (ja) 2016-08-18
EP3057101B1 (en) 2017-08-30

Similar Documents

Publication Publication Date Title
AU2016304571B2 (en) Model integration tool
JP5652326B2 (ja) ソフトウェアモジュールのテスト方法及びシステム
CN109154904A (zh) 数据改写装置、数据改写程序
CN104932973B (zh) 一种版本兼容测试方法和装置
CN108415717A (zh) 一种zynqsoc固件升级方法及升级装置
CN109933326A (zh) 改写代码的编译方法、装置及相应终端
CN104461859B (zh) 一种支持nvm软断点调试的仿真器和方法
CN105868119B (zh) 微机装置
JP6355836B2 (ja) パケットフィルタ装置、及びパケットフィルタ方法
CN106802837A (zh) 一种更新错误检测和纠正ecc码的方法及装置
TW201833421A (zh) 可更新韌體的電子鎖系統
CN107590064A (zh) 一种应用升级测试方法、装置和系统
CN103810297B (zh) 基于重删技术的写方法、读方法、写装置和读装置
CN105373442B (zh) 用于监视存储器数据错误状态的方法与装置
CN106919865A (zh) 非易失性存储器数据加密系统
CN105446844A (zh) 基于uvm验证方法学的只读寄存器验证测试平台及验证方法
JP2007265175A (ja) 等価性検証システム、動作合成装置、方法、及び、プログラム
CN107832074A (zh) 一种智能音箱数据升级方法和装置
JP6464038B2 (ja) リプログラミングシステム
CN111341374B (zh) 存储器的测试方法、装置及可读存储器
CN109214184B (zh) 一种Android加固应用程序通用自动化脱壳方法和装置
CN110874221A (zh) 基于命令行的ssd固件打包方法、装置及计算机设备
CN104866285A (zh) 可编程序控制器
JP2004295299A (ja) フィールド機器システム
CN111147091B (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
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20181106

CF01 Termination of patent right due to non-payment of annual fee