CN110023909B - 控制装置以及程序更新方法 - Google Patents

控制装置以及程序更新方法 Download PDF

Info

Publication number
CN110023909B
CN110023909B CN201680090668.7A CN201680090668A CN110023909B CN 110023909 B CN110023909 B CN 110023909B CN 201680090668 A CN201680090668 A CN 201680090668A CN 110023909 B CN110023909 B CN 110023909B
Authority
CN
China
Prior art keywords
control
symbol
object file
program
control program
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
Application number
CN201680090668.7A
Other languages
English (en)
Other versions
CN110023909A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN110023909A publication Critical patent/CN110023909A/zh
Application granted granted Critical
Publication of CN110023909B publication Critical patent/CN110023909B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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
    • 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/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

具备:RAM(12),存储包含未解析符号的对象文件;非易失性存储装置(13),存储不可更新的第1控制程序(135)及能够更新的第2控制程序(136);以及运算装置(11),进行接收对象文件的控制,解析未解析符号而生成符号已解析对象文件,使用第1控制程序(135)及第2控制程序(136)进行控制目标设备的控制,运算装置(11)使用符号已解析对象文件来更新第2控制程序(136)。

Description

控制装置以及程序更新方法
技术领域
本发明涉及更新所存储的程序的控制装置以及程序更新方法。
背景技术
以往,存在在电子设备中搭载嵌入式微型计算机作为控制装置的情况。在嵌入式微型计算机中,CPU(Central Processing Unit,中央处理单元)执行储存于快闪ROM(ReadOnly Memory,只读存储器)的程序而进行各种控制。在此,能够更新存储于快闪ROM的程序。专利文献1公开有如下技术:将快闪ROM的重写程序复制到嵌入式微型计算机内的RAM(Random Access Memory,随机存取存储器),使更新处理程序在RAM上工作,重写程序。
[现有技术文献]
专利文献1:日本特开平9-69043号公报
发明内容
[发明要解决的课题]
但是,根据上述以往的技术,嵌入式微型计算机需要将除了负责更新为新程序的处理的重写程序以及负责将重写程序复制到RAM的处理的复制程序之外的所有程序(相当于专利文献1中记载的系统程序)擦除一遍而全面地重写程序。在向快闪ROM的重写中,由于需要擦除一遍和新写入这样的作业,因此存在如下问题:在处理速度的限制大的嵌入式微型计算机中,在更新程序时增加处理负荷。
本发明是鉴于上述情形而完成的,其目的在于得到一种能够通过仅更新处理变更要求多的一部分程序来抑制处理负荷的控制装置。
[用于解决课题的手段]
为了解决上述课题并达到目的,本发明所涉及的控制装置具备:第1存储部,存储包含未解析符号的对象文件;第2存储部,存储不可更新的第1控制程序以及能够更新的第2控制程序;以及运算装置,进行接收对象文件的控制,解析未解析符号而生成符号已解析对象文件,使用第1控制程序以及第2控制程序进行控制目标设备的控制。运算装置使用符号已解析对象文件来更新第2控制程序。
[发明的效果]
本发明所涉及的控制装置起到能够通过仅更新处理变更要求多的一部分程序来抑制处理负荷这样的效果。
附图说明
图1是示出控制系统的结构例的图。
图2是示出控制装置的结构例的框图。
图3是示出在控制装置中所定义的存储器映射的例子的图。
图4是示出控制装置的非易失性存储装置所存储的符号表格的格式的例子的图。
图5是示出在控制装置中更新一部分控制程序的处理的流程图。
(附图标记说明)
1:控制装置;2:控制目标设备;3:通信端口;4:电子设备;5:外部设备;6:控制系统;11:运算装置;12:RAM;13:非易失性存储装置;14:I/O接口;15:通信控制器;131:程序区域;132:启动处理程序;133:链接处理程序;134:通信控制处理程序;135:第1控制程序;136:第2控制程序;137:定义区域;138:符号表格。
具体实施方式
以下,基于附图详细地说明本发明的实施方式所涉及的控制装置以及程序更新方法。另外,本发明不被本实施方式所限定。
实施方式
图1是示出本发明的实施方式所涉及的控制系统6的结构例的图。控制系统6具备:电子设备4,按照控制程序的描述进行工作;以及外部设备5,发送作为用于对一部分控制程序进行更新的数据的对象文件。电子设备4具备:控制目标设备2;控制装置1,按照控制程序的描述对控制目标设备2进行控制;以及通信端口3,与外部设备5连接。控制装置1经由通信端口3从外部设备5接收对象文件。
外部设备5例如是个人计算机等信息处理装置。外部设备5生成对象文件,该对象文件包含对电子设备4的控制装置1所存储的更新目标的控制程序的软件(以下称为应用(application))的源代码进行编译而得到的执行代码、以及未解析符号(unresolvedsymbol)。未解析符号是指虽然被声明但没有定义的符号。外部设备5将生成的对象文件发送到电子设备4。外部设备5在对象文件的大小大的情况下,将对象文件分割为规定的大小(功能单位,例如子例程(subroutine)和函数单位)的块,并将分割后的对象文件发送到电子设备4。
电子设备4例如是空调等家电设备。电子设备4所具备的控制装置1例如是嵌入式微型计算机。控制装置1将用于对控制目标设备2的工作进行控制的控制程序存储到非易失性存储装置13。在控制装置1中,运算装置11按照存储于非易失性存储装置13的控制程序的描述,参照即读取(Read)以及写入(Write)通过启动处理程序132的执行而在RAM 12中展开的全局变量,经由I/O接口14对控制目标设备2的工作进行控制。此外,运算装置11控制通信控制器15而进行与外部设备5的通信。运算装置11例如是CPU。
图2是示出本实施方式所涉及的控制装置1的结构例的框图。如上所述,控制装置1具备运算装置11、RAM 12、非易失性存储装置13、I/O接口14以及通信控制器15。RAM 12是第1存储部,非易失性存储装置13是第2存储部。
运算装置11具备执行存储于程序区域131的程序(启动处理程序132、链接处理程序133、通信控制处理程序134、第1控制程序135以及第2控制程序136)的功能。非易失性存储装置13具有程序区域131以及定义区域137的存储区域。非易失性存储装置13在程序区域131的存储区域中存储有启动处理程序132、链接处理程序133、通信控制处理程序134、第1控制程序135以及第2控制程序136。此外,非易失性存储装置13在定义区域137的存储区域中存储有符号表格138。
在电子设备4的电源接通时运算装置11工作,运算装置11执行非易失性存储装置13的启动处理程序132。运算装置11按照启动处理程序132的描述,进行电子设备4内的硬件的初始化、将负责更新为新程序的处理的重写程序及具有程序重写功能的链接处理程序复制到RAM 12的处理、各种软件功能的启动处理。
运算装置11根据启动处理程序132执行已复制的RAM 12上的链接处理程序133。运算装置11按照链接处理程序133的描述,进行更新第2控制程序136的内容的处理。在后面叙述第2控制程序136的更新处理的详情。
运算装置11根据启动处理程序132执行通信控制处理程序134。运算装置11按照通信控制处理程序134的描述,在与外部设备5之间进行数据的收发。运算装置11能够从外部设备5接收包含由外部设备5编译源代码得到的执行代码以及未解析符号的对象文件,并在RAM 12上展开接收到的对象。
运算装置11执行非易失性存储装置13的第1控制程序135以及第2控制程序136。运算装置11按照第1控制程序135以及第2控制程序136的描述,进行控制目标设备2的控制。将第1控制程序135以及第2控制程序136归纳为控制程序。在图2中,包含第1控制程序135以及第2控制程序136的区域成为控制程序。
第1控制程序135是控制程序的主体,在本实施方式中,是不可重写即不可更新的程序。第2控制程序136是控制程序整体之中的一部分控制程序,在本实施方式中是能够由外部设备5重写即更新的程序。
符号表格138是在对一部分控制程序进行更新的处理即第2控制程序136的更新处理中运算装置11通过执行链接处理程序来解析未解析符号时所参照的表格。符号表格138是定义有由对象文件中记载的程序访问的函数以及全局变量的表格。在符号表格138中定义有第1控制程序135内的函数以及第1控制程序135所参照的存在于RAM 12上的全局变量之中的、第2控制程序136能够执行写入以及读入的符号与在控制装置1的存储器映射中存在各符号的实体的地址的对应的一览。符号表格138是用于对没有定义的未解析符号给出定义的表格。
在此,使用附图对控制装置1的存储器映射以及符号表格138的结构进行说明。
图3是示出在本实施方式所涉及的控制装置1中所定义的存储器映射的例子的图。在存储器映射中,在控制装置1所具备的所有的存储部的存储区域中赋予地址,示出从运算装置11可看到的程序等的存储区域。在此,控制装置1的I/O接口14、非易失性存储装置13以及RAM 12的存储区域成为示出为存储器映射的目标。在图3的例子中,存储器映射包括从0地址到A-1地址的I/O接口14的I/O区域、从A地址到B-1地址的非易失性存储装置13的非易失性存储区域、以及从B地址到0xFFFFFFFF地址的RAM 12的RAM区域这3个区域。一般而言,这些地址针对每个嵌入式微型计算机即控制装置1而被固定。在非易失性存储区域中,针对图2所示的非易失性存储装置13所存储的每个功能的程序分配地址。
在图3中,在第1控制程序135的区域中配置有不可更新的控制程序。如果在符号表格138中定义有在第1控制程序135的区域中定义的函数、例如extfunc1()、extfunc2()的起始地址与符号名的对应,则运算装置11能够通过执行链接处理程序133,从第2控制程序136的函数进行参照。如果在符号表格138中未定义在第1控制程序135的区域中定义的函数、例如infunc1(),则运算装置11即使执行链接处理程序133,也可能无法从第2控制程序136进行参照。
在图3中,在第2控制程序136的区域中配置能够更新的第2控制程序136,分配到固定地址。在图3的例子中,第一个应用存储于将X地址作为起始地址的区域,第二个应用存储于将Y地址作为起始地址的区域。在该情况下,在控制装置1中,运算装置11不用进行符号解析处理,而能够从第1控制程序135对第2控制程序136的功能进行函数调用。设为运算装置11通过执行链接处理程序133,在第2控制程序136的程序的更新处理中将成为符号已解析的块单位的对象文件配置于与块单位的对象文件的内容对应的第2控制程序136的固定地址。
在图3中,在RAM区域中,由第1控制程序135定义的全局变量存储于栈以及堆区域以外的区域。RAM区域包括栈区域、堆区域以及全局变量区域。如果在符号表格138中定义有在由第1控制程序135定义的全局变量的区域中定义的全局变量、例如extval1、extval2等的地址与符号名的对应,则运算装置11能够通过执行链接处理程序133,从第2控制程序136的函数进行参照。如果在符号表格138中未定义在由第1控制程序135定义的全局变量的区域中定义的全局变量、例如inval1的地址与符号名的对应,则运算装置11即使执行链接处理程序133,也可能无法从第2控制程序136进行参照。
另外,在控制装置1中,运算装置11在从第2控制程序136对第1控制程序135的功能进行函数调用时,在图3的例子中,关于void extfunc1()以及void extfunc2(),能够在后述的程序更新处理的符号解析的过程中进行访问。
图4是示出本实施方式所涉及的控制装置1的非易失性存储装置13所存储的符号表格138的格式的例子的图。在符号表格138中定义有第1控制程序135或第2控制程序136中记载的符号名、在对控制装置1所具备的存储区域赋予了地址的存储器映射内对应的地址、以及各符号的属性的信息。在符号表格138中仅记载有在运算装置11通过执行链接处理程序133来更新第2控制程序136的处理中允许参照的函数以及全局变量。
接着,说明在控制装置1中更新一部分控制程序、具体而言第2控制程序136的处理。图5是示出在本实施方式所涉及的控制装置1中更新一部分控制程序的处理的流程图。
首先,在控制装置1中,运算装置11通过执行启动处理程序132,在电子设备4的电源被开启即接通时(步骤S1),实施启动处理(包括全局变量向RAM 12的展开)(步骤S2)。接着,运算装置11通过执行启动处理程序132,读取存在于RAM 12的规定的全局变量的值、具体而言为标志的状态,判断是否是控制程序的更新模式(步骤S3)。
设为由用户预先设定了是否为控制程序的更新模式。在此,在用户设定为控制程序的更新模式时,在控制装置1正在工作时通过以下的(1)或(2)的任意方法来设定。另外,即使设定为更新标志“1”,只要不再次启动电子设备4,就不会执行更新工作。
(1)通过用户按下附属于电子设备4的按钮等,将控制装置1设定为控制程序的更新模式。设电子设备4作为图1所示的控制目标设备2之一而安装有按钮。在从电子设备4的电源接通到启动处理完成为止的期间用户按下按钮时,控制装置1的运算装置11从I/O接口14检测信号,变更存在于RAM 12内的规定的全局变量的值,设置表示是控制程序的更新模式的标志。运算装置11例如将表示更新模式的标志的状态的值设为“1”。
(2)用户根据基于来自外部设备5的消息的指示,将控制装置1设定为控制程序的更新模式。如果电子设备4在从电源接通到启动处理完成为止的期间从外部设备5接收到上述的消息,则控制装置1的运算装置11变更存在于RAM 12内的规定的全局变量的值,设置表示是控制程序的更新模式的标志。
运算装置11在通过执行启动处理程序132而判断为不是控制程序的更新模式的情况下(步骤S3:否),如通常那样,按照第1控制程序135以及第2控制程序136的描述,进行控制目标设备2的控制(步骤S4)。运算装置11按照第1控制程序135以及第2控制程序136的描述,在电子设备4的电源被切断之前进行控制目标设备2的控制(步骤S5:否),在电子设备4的电源被切断时(步骤S5:是),结束处理。
运算装置11在通过执行启动处理程序132而判断为是控制程序的更新模式的情况下(步骤S3:是),如果是控制程序的更新模式,则通过执行通信控制处理程序134,从外部设备5接收被分割为规定的大小(功能单位。例如子例程和函数单位)的块的块单位的对象文件(步骤S6)。运算装置11通过执行通信控制处理程序134,将接收到的块单位的对象文件展开在RAM 12中(步骤S7)。RAM 12存储块单位的对象文件。在展开后,由运算装置11实施的通信控制处理程序134的执行结束,运算装置11执行链接处理程序133。
运算装置11通过执行链接处理程序133,确认接收到的RAM 12上的块单位的对象文件,判断是否是非法的访问(步骤S8)。具体而言,运算装置11在接收到的块单位的对象文件中包含未解析符号的情况下,为了解析未解析符号,参照符号表格138。在未解析符号中包含有未由符号表格138定义的符号的情况下,运算装置11判断为存在非法的访问(步骤S8:是)。运算装置11变更所规定的全局变量(=标志)的值,撤销表示是控制程序的更新模式的标志(步骤S9),结束处理。撤销标志是指,运算装置11例如将表示更新模式的标志的状态的值设为“0”。
运算装置11通过执行链接处理程序133,在未解析符号中未包含有未由符号表格138定义的符号的情况下判断为没有非法的访问(步骤S8:否)。运算装置11参照符号表格138,取得地址信息而将未解析符号的符号名置换为实际地址,对未解析符号进行解析(步骤S10)。
运算装置11通过执行链接处理程序133,将在RAM 12中展开的成为符号已解析的块单位的对象文件,写入(配置)到第2控制程序136的区域内的被指定的非易失性存储装置13的地址(步骤S11)。运算装置11向在非易失性存储装置13中与符号已解析对象的内容对应的第2控制程序136的区域存储新的符号已解析对象,更新第2控制程序136。这样,运算装置11使用所生成的符号已解析对象来更新第2控制程序136。
在接收到的块单位的对象文件并非是最末尾的情况下(步骤S12:否),控制装置1返回到步骤S6而反复实施直至步骤S11为止的处理。例如,在外部设备5中对发送的块单位的对象文件赋予表示分割数以及是第几个块的信息,由此控制装置1能够判断接收到的块单位的对象文件是否为最末尾。
在接收到的块单位的对象文件是最末尾的情况下(步骤S12:是),运算装置11通过执行链接处理程序133,变更所规定的全局变量(=标志)的值,由此撤销表示是控制程序的更新模式的标志(步骤S13)。然后,转移到步骤S4,运算装置11按照第1控制程序135以及第2控制程序136的描述,进行控制目标设备2的控制(步骤S4)。另外,也可以是在控制装置1中,在步骤S12为“是”的情况下,在步骤S13的处理后,运算装置11从步骤S3开始进行处理。
在此,对控制装置1的硬件结构进行说明。如上所述,控制装置1通过嵌入式微型计算机来实现。在控制装置1中,作为CPU的运算装置11读出并执行作为存储器的非易失性存储装置13中存储的程序,从而实现各功能。在此,CPU也可以是处理装置、微处理器、微型计算机、处理器或DSP(Digital Signal Processor,数字信号处理器)等。此外,存储器例如是快闪存储器,但也可以是EPROM(Erasable Programmable ROM,可擦除可编程只读存储器)、EEPROM(Electrically EPROM,电可擦除可编程只读存储器)等,只要是能够重写的存储器即可。
如以上说明那样,根据本实施方式,设为在控制装置1中,从外部设备5接收包含执行代码以及未解析符号的对象,对未解析符号进行解析,生成符号已解析的对象文件来更新控制程序中的能够更新的第2控制程序136。由此,控制装置1能够仅更新一部分控制程序,与为了更新一部分控制程序而更新所有的控制程序的情况相比,能够抑制处理负荷。此外,与为了更新一部分控制程序而更新所有的控制程序的情况相比,控制装置1能够缩短更新一部分控制程序时的更新时间。
控制装置1不实施在程序的部分更新或追加等中一般所采用的变化即动态的符号解析处理。因此,控制装置1在设备控制中不会增加处理负荷,不会降低关于设备控制的性能。上述动态的符号解析处理是指例如DLL(Dynamic Link Library,动态链接库)、插件等。此外,控制装置1也不需要用于储存DLL等应用的文件系统。
此外,控制装置1使用静止即静态的功能来实现控制程序的部分更新或追加。控制装置1通过在非易失性存储装置13中将配置更新用的控制程序的位置设为固定,并且利用符号表格138来缩减允许对更新用的控制程序进行访问的符号的数量,从而限制链接器功能。通过精简链接器功能,能够在控制装置1侧搭载链接器功能。
通过在控制装置1侧搭载链接器功能,控制装置1能够使用控制装置1所存储的符号表格138来实施未解析符号的解析。控制装置1能够隐藏控制装置1内的地址与函数名及变量名等各功能之间的关系,能够防止参照非法的地址的第2控制程序136的使用。其结果,控制装置1能够防止非法使用,在安全方面取得效果。
另一方面,在外部设备5侧具有符号表格并对未解析符号进行解析的情况下,外部设备5需要识别控制装置1的控制程序的版本来选择符号表格。这是因为,根据控制装置1的控制程序的版本而在符号和地址的关系中存在差异。因此,外部设备5在制作控制程序的部分更新用的对象文件时,必须正确地进行符号表格的管理。假设外部设备5不使用与更新目标的控制装置1的控制程序对应的符号表格进行符号解析,则有可能导致控制程序的非法访问。通过在控制装置1侧对未解析符号进行解析,还防止这种非法工作。
此外,控制装置1中的控制程序的基本部分、具体而言启动处理程序132、链接处理程序133、通信控制处理程序134以及第1控制程序135设为不可更新,仅将第2控制程序136设为能够更新。由此,控制装置1能够防止因第1控制程序135部分的重写失败而导致的电子设备4的工作不良。
此外,外部设备5将分割为所规定的大小的块的对象文件发送到控制装置1。由此,控制装置1在RAM 12的容量小而无法展开对象文件整体的情况下,也能够进行第2控制程序136的部分更新。
另外,在从外部设备5发送的对象文件的大小大的情况下,外部设备5将对象文件分割为所规定的大小的块,将分割后的对象文件发送到电子设备4,但不限定于此。也可以是外部设备5将大小大的对象文件发送到电子设备4,运算装置11通过执行通信控制处理程序134,将接收到的对象文件分割为所规定的大小的块。
以上的实施方式所示的结构只是示出本发明的内容的一例,既能够与其它的公知技术组合,也能够在不脱离本发明的要旨的范围中省略、变更结构的一部分。

Claims (5)

1.一种控制装置,具备:
第1存储部,存储包含未解析符号的对象文件;
第2存储部,存储能够更新的控制程序;以及
运算装置,进行接收所述对象文件的控制,解析所述未解析符号而生成符号已解析对象文件,使所述符号已解析对象文件存储于所述第2存储部,更新所述控制程序,
所述第2存储部存储符号表格,在该符号表格中定义有所述运算装置通过记载于所述对象文件的程序来访问的函数以及全局变量,
所述运算装置为了判断非法工作以及解析所述未解析符号这两者,而使用所述符号表格。
2.根据权利要求1所述的控制装置,其中,
将表示在所述第2存储部中存储所述符号已解析对象文件的区域的地址设为固定地址,
所述运算装置向在所述第2存储部中与所述符号已解析对象文件的内容对应的所述控制程序的区域存储所述符号已解析对象文件,更新所述控制程序。
3.根据权利要求1所述的控制装置,其中,
所述运算装置接收被分割为所规定的大小的块的对象文件,解析所述对象文件的块中所包含的未解析符号,生成块单位的符号已解析的符号已解析对象文件并存储到所述第2存储部。
4.根据权利要求1所述的控制装置,其中,
所述第1存储部是随机存取存储器,
所述第2存储部是非易失性存储装置。
5.一种程序更新方法,是进行控制目标设备的控制的控制装置中的程序更新方法,包括:
接收步骤,运算装置接收包含未解析符号的对象文件;
解析步骤,所述运算装置在存储所述对象文件的第1存储部中解更新步骤,所述运算装置向在存储能够更新的控制程序的第2存储部中与所述符号已解析对象文件的内容对应的所述控制程序的区域存储所述符号已解析对象文件,更新所述控制程序,
所述第2存储部存储符号表格,在该符号表格中定义有所述运算装置通过记载于所述对象文件的程序来访问的函数以及全局变量,
所述运算装置为了判断非法工作以及解析所述未解析符号这两者,而使用所述符号表格。
CN201680090668.7A 2016-11-29 2016-11-29 控制装置以及程序更新方法 Active CN110023909B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/085392 WO2018100633A1 (ja) 2016-11-29 2016-11-29 制御装置およびプログラム更新方法

Publications (2)

Publication Number Publication Date
CN110023909A CN110023909A (zh) 2019-07-16
CN110023909B true CN110023909B (zh) 2023-05-05

Family

ID=62241336

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680090668.7A Active CN110023909B (zh) 2016-11-29 2016-11-29 控制装置以及程序更新方法

Country Status (4)

Country Link
US (1) US10877743B2 (zh)
JP (1) JP6526357B2 (zh)
CN (1) CN110023909B (zh)
WO (1) WO2018100633A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10838657B1 (en) * 2017-05-23 2020-11-17 Moddable Tech, Inc. Reducing RAM usage in a runtime
JP6950634B2 (ja) * 2018-07-03 2021-10-13 オムロン株式会社 制御装置および制御方法
CN114968307B (zh) * 2022-06-15 2024-08-16 深圳市汇川技术股份有限公司 控制程序的更新方法、终端设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848274A (en) * 1996-02-29 1998-12-08 Supercede, Inc. Incremental byte code compilation system
JPH11296379A (ja) * 1998-04-08 1999-10-29 Matsushita Electric Ind Co Ltd プログラム処理装置及び記録媒体
CN101361044A (zh) * 2005-12-20 2009-02-04 艾利森电话股份有限公司 生成增量程序更新

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247678A (en) * 1989-10-12 1993-09-21 Texas Instruments Incorporated Load time linker for software used with a multiprocessor system
US5193180A (en) * 1991-06-21 1993-03-09 Pure Software Inc. System for modifying relocatable object code files to monitor accesses to dynamically allocated memory
US5408665A (en) * 1993-04-30 1995-04-18 Borland International, Inc. System and methods for linking compiled code with extended dictionary support
JPH0969043A (ja) 1995-08-31 1997-03-11 Fuji Electric Co Ltd マイクロコンピュータ組み込み制御装置
US5778231A (en) * 1995-12-20 1998-07-07 Sun Microsystems, Inc. Compiler system and method for resolving symbolic references to externally located program files
US5764989A (en) * 1996-02-29 1998-06-09 Supercede, Inc. Interactive software development system
US6189145B1 (en) * 1997-05-28 2001-02-13 International Business Machines Corporation Concurrent patch to logical partition manager of a logically partitioned system
US6164542A (en) * 1998-11-03 2000-12-26 Intermec Ip Corp. Method and apparatus for decoding unresolved symbol profiles produced from a reduced data set
US6594783B1 (en) * 1999-08-27 2003-07-15 Hewlett-Packard Development Company, L.P. Code verification by tree reconstruction
US6578194B1 (en) * 1999-09-08 2003-06-10 International Business Machines Corporation System and method using extended relocation types and operations in relocating operations
JP3542529B2 (ja) * 1999-09-27 2004-07-14 Necマイクロシステム株式会社 フラッシュ内蔵マイコンのプログラムリンク方法
JP4076113B2 (ja) 2000-03-24 2008-04-16 株式会社リコー 電子制御装置
US6708330B1 (en) * 2000-06-13 2004-03-16 Cisco Technology, Inc. Performance improvement of critical code execution
US6988263B1 (en) * 2000-07-10 2006-01-17 International Business Machines Corporation Apparatus and method for cataloging symbolic data for use in performance analysis of computer programs
US6766511B1 (en) * 2000-07-10 2004-07-20 International Business Machines Corporation Apparatus and method for performing symbolic resolution of modules using static representations of a trace
JP2003303111A (ja) 2002-04-08 2003-10-24 Nec Corp 通信用端末装置のソフトウェア更新方法及びソフトウェア更新システム
JP4103823B2 (ja) 2004-03-10 2008-06-18 村田機械株式会社 データ処理装置
US7644402B1 (en) * 2004-03-17 2010-01-05 Sun Microsystems, Inc. Method for sharing runtime representation of software components across component loaders
US7526760B1 (en) * 2004-03-17 2009-04-28 Sun Microsystems, Inc. Methods for implementing virtual method invocation with shared code
US7406687B1 (en) * 2004-03-17 2008-07-29 Sun Microsystems, Inc. Sharing runtime representation of software component methods across component loaders
US7506320B2 (en) * 2004-09-09 2009-03-17 International Business Machines Corporation Generating sequence diagrams using call trees
EP2320319A4 (en) * 2008-07-23 2013-02-20 Fujitsu Ltd OBJECT BINDING DEVICE FOR BINDING OBJECTS IN STATIC BINDING EXECUTABLE FORM FILE, METHOD FOR BINDING OBJECTS, AND PROGRAM FOR THE SAME
US8347273B2 (en) * 2008-10-09 2013-01-01 International Business Machines Corporation Tracing a calltree of a specified root method
JP2010225099A (ja) * 2009-03-25 2010-10-07 Canon Inc 情報処理装置及びその制御方法、並びにプログラム
JP6141242B2 (ja) * 2014-08-28 2017-06-07 三菱重工業株式会社 制御プログラム配信システム及びその方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848274A (en) * 1996-02-29 1998-12-08 Supercede, Inc. Incremental byte code compilation system
JPH11296379A (ja) * 1998-04-08 1999-10-29 Matsushita Electric Ind Co Ltd プログラム処理装置及び記録媒体
CN101361044A (zh) * 2005-12-20 2009-02-04 艾利森电话股份有限公司 生成增量程序更新

Also Published As

Publication number Publication date
CN110023909A (zh) 2019-07-16
US20190384590A1 (en) 2019-12-19
JPWO2018100633A1 (ja) 2019-03-14
US10877743B2 (en) 2020-12-29
WO2018100633A1 (ja) 2018-06-07
JP6526357B2 (ja) 2019-06-05

Similar Documents

Publication Publication Date Title
CN110231952B (zh) 一种ecu程序备份及循环升级控制方法及装置
US7676671B2 (en) System for multi-profile boot selection of an embedded device
KR100415371B1 (ko) 컴퓨터
US8583907B2 (en) Electronic device having an alterable configuration and methods of manufacturing and configuring the same
CN110023909B (zh) 控制装置以及程序更新方法
US20140325496A1 (en) Apparatus and method for firmware upgrade using usb
CN111796848A (zh) Bootloader软件更新方法、装置、嵌入式控制器以及存储介质
KR20050028157A (ko) 부팅 및 부트 코드 업데이트 방법 및 시스템
KR20070039841A (ko) 디지털방송처리장치 및 디지털방송처리장치 부트로더의업그레이드 방법
WO2012071852A1 (zh) 引导程序的升级方法和装置
WO2015154538A1 (zh) 存储器的启动方法及装置
CN110874237A (zh) 软件升级方法、装置、终端以及可读存储介质
CN112199109B (zh) 一种固件升级方法、装置、设备及介质
JP2019074950A (ja) 情報処理装置、制御装置、制御方法及び制御プログラム
JP5084853B2 (ja) ファームウエア更新装置、通信装置、電子機器、ファームウエア更新システム、ファームウエア更新方法及びプログラム
JP5590069B2 (ja) マイクロコンピュータ
JP2010218103A (ja) 電子機器
EP1710697A1 (en) Method and apparatus for executing application in system having NAND flash memory
CN113032008B (zh) 电子处理装置及存储器控制方法
US20070169086A1 (en) System and method for updating in-system program
KR101113342B1 (ko) 이동통신 단말기의 부트로더 버전 관리 방법
KR100876748B1 (ko) 부트코드 업데이트 방법
KR100556874B1 (ko) 이동 통신단말기의 부팅 시간 단축 방법
US20240264825A1 (en) Method for patching code located in one time programmable memory
JP4517607B2 (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
GR01 Patent grant
GR01 Patent grant