CN1455895A - 内置用软件模块 - Google Patents

内置用软件模块 Download PDF

Info

Publication number
CN1455895A
CN1455895A CN02800219A CN02800219A CN1455895A CN 1455895 A CN1455895 A CN 1455895A CN 02800219 A CN02800219 A CN 02800219A CN 02800219 A CN02800219 A CN 02800219A CN 1455895 A CN1455895 A CN 1455895A
Authority
CN
China
Prior art keywords
module
data
software
mentioned
built
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.)
Granted
Application number
CN02800219A
Other languages
English (en)
Other versions
CN1258138C (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.)
Denso Ten Ltd
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN1455895A publication Critical patent/CN1455895A/zh
Application granted granted Critical
Publication of CN1258138C publication Critical patent/CN1258138C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及软件模块,特别是可以使用的存储量和处理的实时性等被严格限制的内置用软件模块,提供一种提高其软件的演替性的软件模块。该模块是为控制装置而作为软件模块被内置于装置内部的内置式软件模块。通过更新开放的数据值的开放模块1、将在上述开放模块内被更新的由规定数据形式形成的数据值,变换为适应于参考上述数值的参考侧的由规定数据形式形成的数据数值的中间模块3、及参考通过上述中间模块变换的由规定的数据形式形成的数据值的参考模块,实现模块之间的开放、参考处理。

Description

内置用软件模块
技术领域
本发明是有关软件模块,特别是涉及被内置于车辆内部的控制装置等处,其可以使用的存储量和处理的实时性等被严格限制的内置用软件模块。
背景技术
近年来,微处理机在从音响装置到产业机械的广泛范围内,被用于控制各种机器。而用于控制其中某种特定机器的内置式微处理机,例如,单芯片式微型计算机等,由于机器的小型化和低成本化的趋势,被要求充分有效地使用严格限制的存储资源。
图1表示了内置于车辆的电子燃料喷射电子控制单元EFI-ECU(Electronic Fuel Iniection-Electronic Control Unit)内部的以往的软件模块之间数据开放、参考的一个构成示例。
在图1中,开放模块1,是根据其动作更新所规定的RAM区域(本例中为开放文件RAM11)中的数据的软件模块,其他的软件模块指可以参考RAM11的数据的软件模块。而参考模块2,指参考上述开放文件RAM11的数据,或者将其复制到自身的文件RAM21~23,并基于该数据而动作的软件模块。
在车辆中存在着EFI、ABS、安全措施(车体)等各种各样的ECU,在每个ECU中内置有控制上(例如,喷射控制)所必要的CPU,为内置于EFI-ECU内的单芯片CPU电路等的软件模块库(固件)的,且更新规定的文件数据一侧称为开放模块1,参考更新的数据而动作的一侧称为参考模块2。
图1表示的是现有的开放文件RAM11的数据结构示例。在EFI-ECU的情况下,开放数据中存在着,例如,发动机转数、水温、进气温度等各种数据。在本例中表示的是发动机转数(NE)的例子,当开放模块1检测出当前的发动机转数为1000转(rpm)时,根据节省存储空间的要求,将其置换为1个字节的16进制的数据(14Hex)并更新开放文件11。
在上述的例子的情况下,设计者将规定的缺省值,例如,LSB=50rpm等,预先分配在1个字节数据的最低位LSB(最低有效位),以往,将这种缺省LSB值作为前提,进行各种软件模块的开发、设计。
但是,以往,例如,根据设计变更,将缺省LSB值从50变更为20时,与此相对应必须变更所有参考模块2一侧,在包括软件变更后的运行检验等的软件的演替方面存在很大问题。
例如,以图1的例子为例,有必要将所有的参考模块2的处理从使用LSB=50rpm变更为使用LSB=20rpm。这也迫使软件开发者进行意识到开放模块一侧的LSB值的软件设计开发,产品更新等时也存在给新的软件开发者增加负担的问题。
而且,在根据用户的要求等,为了更精确地处理数据,而将以整数数值表示的数据变更为小数点表示时,此前的以1个字节的数据已足以的情况,变为需要4个字节的浮点数据,存在更加耗费内置式电路所特有的少量存储资源的问题。
发明内容
所以,本发明的目的在于,针对上述问题点,排除现有的人为且默认地规定的开放模块和参考模块之间被传递的数据值的[LSB]概念,配置一个消除各模块之间传递的数据的不匹配的中间模块,从而提高既有的及新开发的内置模块的理论性和演替性,更进一步提高软件设计、开发的效率。
具体地讲,本发明的目的在于通过使用实际的物理数据值取代LSB,以及使用使其对应已有的开放模块和参考模块的中间模块,或者通过使用包括规定其数值的LSB值在内的数据,及使用使其对应已有的开放模块和参考模块的中间模块,从而提高内置式模块在各个产品间的演替性,并进一步提高软件设计、开发的效率。
此外,为了达到上述目的,内置式模块本来所要求的降低存储资源的耗费和有效利用存储资源,也是本发明的一个目的。
根据本发明,提供一种内置用软件模块,是为控制装置而作为软件模块内置于该装置内部的内置用软件模块,包括:更新开放数据的开放模块;将由上述开放模块内被更新的规定数据形式形成的数据值变换为根据使其适合参考侧的规定数据形式形成的数据值的中间模块;及参考通过上述中间模块被变换的规定数据形式形成的数据值的参考模块,从而执行模块之间的开放、参考处理。
在上述开放文件内根据更新的规定数据形式形成的数据值中,物理量及CPU在用于内部演算的存储值上附加的LSB信息的数据等被使用。此外,上述开放文件中使用CPU电路内部的RAM等。
附图说明
图1表示的是以往的内置式模块之间的数据开放、参考的一构成例。
图2表示的是本发明的内置式模块之间的数据开放、参考的基本构成例。
图3表示的是本发明的开放模块和中间模块之间的处理的一例。
图4表示的是本发明的中间模块和参考模块之间的处理的一例。
图5表示的是本发明的中间模块和参考模块之间的处理的其他例子。
具体实施方式
图2表示的是本发明的内置式模块之间的数据开放、参考的基本构成例子。
如图2所示,通过本发明,在现有的开放模块1和参考模块2中间,配置了将开放模块1侧的开放文件11的数据形式适当地变换为参考模块2侧使用的数据形式的中间模块3。在参考模块2一侧,由于参考通过中间模块3变换后的开放文件31,所以以往使用的数据形式可以继续使用,这在提高软件的演替性的同时,也提高了软件设计、开发的效率。
而且,图2的基本构成也是表示本发明的概念性构成,实际上,可以考虑有下述各种构成例子。
(1)如图2的构成那样,首先,开放模块1更新本身的开放文件11,接着,中间模块对变换为对应参考该文件的各个参考模块的该等数据形式的开放文件31进行更新,最终,参考模块将存在于规定的地址等中的对应数据读出并进行处理。
(2)省略图2的开放文件11,开放模块1直接更新中间模块3的开放文件31,中间模块3将更新的开放的文件31的内容如上述(1)一样,对应各个参考模块进行变换,或者,在将被更新的开放文件31的数据形式适当地变换为对应各个参考模块2的参考要求时的数据形式之后,再将其传递到参考模块2。
(3)另一方面,将中间模块3中,各个参考模块的小软件部件分别预先嵌入参考模块2中,构成上与以往的例子一样,可以达到提高软件的演替性的目的。
(4)在上述的(1)~(3)中,采用分别适应的数据形式,即,存储量小及/或处理时间少的数据型。
考虑采用上述各种构成的理由为,要最大限度地有效利用内置于各个产品内部CPU电路的少量存储资源,并要满足一般内置电路所要求的处理的实时性。例如,在(1)的情况下,RAM的占用较大,实时性也因经中间模块的独立处理而下降。但是,由于中间模块对所有的数据形式进行变换处理,软件的演替性最好。
而在(3)的情况下,各个参考模块中嵌入的ROM耗费变大,而开放数据的参考被限定于必要的模块中,就有必要重新设计模块。(2)则具有位于两者之间的特征。下面,利用图3~图5对本发明的具体实施例进行说明。
图3和图4表示的是上述(1)、(2)和(4)的构成例子。这里也以上述EFI-ECU的情况为例进行说明。
图3表示了开放模块1和中间模块3之间的处理例子。开放模块1检测出发动机转数(NE)为1000转(rpm),在(1)的情况下,更新自身的开放文件11(用虚线表示),而在(2)的情况下,直接更新(a)中间模块3的开放文件31。此处,如在(4)说明的一样,表示了作为更新数据的1000转(rpm)的物理量直接被写入的情况,和被置换成1个字节16进制的数据(14Hex)被写入的情况的2个示例。
前者完全排除了以往的LSB的概念,可以防患数据不匹配的发生本身于未然。但是,为了将物理量数据原样存储到RAM中,存在为生成冗长代码和处理执行时间长等的弊端。例如,使用小数点表示的水温数据50.5(℃)时,50.5被存储到RAM中,成为用浮点的存储,而耗费RAM,而且,浮点的演算还需要时间。
而在后者的情况下,虽然继承了LSB的概念,但是,作为以往人为的了解事项的LSB值被明示地附加在各个数据中,与以往一样16进制的数据(14Hex)可以使用,由此也可以保证演算处理的高速化。在上述的例子中,可以将LSB=0.5(℃)的设定以101存储在RAM中。但在此情况下,RAM区域只增加各个数据的LSB信息量。通过可以使用的RAM以及必要的演算处理时间等来决定采用前者或后者的其中之任一。
图4表示了中间模块3和参考模块2之间的处理的例子。此处表示的是图3的物理量被写入中间模块3中的情况,首先,各个参考模块2将使用了函数等的开放文件31的参考要求传送(b)到中间模块3。中间模块3收到参考要求后,根据包含在上述函数中的数据形式及LSB等信息,将内部的共同变换部32所要求的物理量1000变换为各参考模块2侧所必需的以往的数据形式(例如,14Hex等)后,传送回(c)作为参考要求源的参考模块2。显而易见该处理动作,同样适用于将图3的LSB值明示附加于数据中的情况。
结果为,参考模块2不会受到开放侧模块1的变量变更的影响,可以使用即有的模块。另外,中间模块只是在从开放模块1向参考模块2传输数据过程中进行共同的数据变换处理,由于只是将其作为软件库调出原样保有的C库函数等即可实行,所以,并没有因中间模块3而特别地增加ROM的耗费量。
图5表示的是上述(3)的一个构成例子。此处,表示了中间模块3中使用赋予了图3的LSB值的数据的情况。在本例中,中间模块3的功能被嵌入各参考模块2的内部,将在参考模块2一侧读入的数据通过各个模块中个别设置的变换部24(相当于中间模块3),变换为其内部处理所必要的数据形式。这个过程也只是通过追加一个执行调出C库函数的小程序即可进行处理。
根据本例,与上述例子比较,防止了RAM的增大,另外,需要参考的模块侧可以不通过参考要求处理而直接参考数据进行处理,因此高速处理成为可能。但是另一方面有必要进行新的参考模块的变更,而且还要在变更后进行正常性试验,因此软件的演替性降低。
综上所述,根据本发明,更新开放文件的模块与参考其的模块之间存在的数据的不匹配,不像以往一样给用户等增加人为的负担,而是自动得到解决,在可以提高软件的质量的同时,也可以提高软件的生产率。
而且,通过本发明,特别是提高了使用内置式模块的产品之间的演替性,以及软件设计、开发的效率。此外,通过应用恰当地选择组合的本发明的构成,可以同时实现存储资源的有效利用和实时处理。

Claims (6)

1.一种内置用软件模块,是为控制装置而作为软件模块被内置于该装置内部的内置用软件模块,其特征在于,包括:
开放模块,更新开放的数据值;
中间模块,将上述开放模块中被更新的由规定的数据形式形成的数据值,变换为适应于参考其的一侧的由规定的数据形式形成的数据值;
及参考模块,参考通过上述中间模块变换的由规定的数据形式形成的数据,
并由上述这些,实行模块间的开放、参考处理。
2.如权利要求1所述的内置用软件模块,其特征在于,上述中间模块具有,接收来自上述参考模块的参考要求,将在上述开放模块内被更新的由规定数据形式形成的数据值按照该参考要求变换为由指定的规定数据形式形成的数据值,并将其传送回作为参考要求源的参考模块的共同变换部。
3.如权利要求1所述的内置用软件模块,其特征在于,上述中间模块作为上述参考模块的一部分被嵌入,该中间模块在参考上述开放模块内更新的由规定数据形式形成的数据值时,将其变换为适合于参考模块内部处理的由规定数据形式形成的数据值。
4.如权利要求1~3中任意一项所述的内置用软件模块,其中,上述开放模块内被更新的由规定数据形式形成的数据值为物理量。
5.如权利要求1~3中任意一项所述的内置用软件模块,其中,上述开放模块内被更新的由规定数据形式形成的数据值为在存储值上附加LSB信息的数据。
6.如权利要求1~5中任意一项所述的内置用软件模块,其中,上述开放模块由RAM构成。
CNB028002199A 2001-02-07 2002-02-07 内置用软件模块 Expired - Fee Related CN1258138C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP31522/01 2001-02-07
JP2001031522A JP2002236583A (ja) 2001-02-07 2001-02-07 組込み用ソフトウェアモジュール
JP31522/2001 2001-02-07

Publications (2)

Publication Number Publication Date
CN1455895A true CN1455895A (zh) 2003-11-12
CN1258138C CN1258138C (zh) 2006-05-31

Family

ID=18895596

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028002199A Expired - Fee Related CN1258138C (zh) 2001-02-07 2002-02-07 内置用软件模块

Country Status (5)

Country Link
US (1) US7197742B2 (zh)
JP (1) JP2002236583A (zh)
KR (1) KR20030007492A (zh)
CN (1) CN1258138C (zh)
WO (1) WO2002063468A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8266631B1 (en) 2004-10-28 2012-09-11 Curen Software Enterprises, L.L.C. Calling a second functionality by a first functionality
US7774789B1 (en) 2004-10-28 2010-08-10 Wheeler Thomas T Creating a proxy object and providing information related to a proxy object
US7823169B1 (en) 2004-10-28 2010-10-26 Wheeler Thomas T Performing operations by a first functionality within a second functionality in a same or in a different programming language
JP4728020B2 (ja) * 2005-03-17 2011-07-20 日立オートモティブシステムズ株式会社 車両制御用ソフトウェア及び車両制御装置
US7797688B1 (en) 2005-03-22 2010-09-14 Dubagunta Saikumar V Integrating applications in multiple languages
US7861212B1 (en) 2005-03-22 2010-12-28 Dubagunta Saikumar V System, method, and computer readable medium for integrating an original application with a remote application
US8578349B1 (en) * 2005-03-23 2013-11-05 Curen Software Enterprises, L.L.C. System, method, and computer readable medium for integrating an original language application with a target language application
US7810140B1 (en) 2006-05-23 2010-10-05 Lipari Paul A System, method, and computer readable medium for processing a message in a transport
US7844759B1 (en) 2006-07-28 2010-11-30 Cowin Gregory L System, method, and computer readable medium for processing a message queue
US8200603B1 (en) 2006-12-22 2012-06-12 Curen Software Enterprises, L.L.C. Construction of an agent that utilizes as-needed canonical rules
US7949626B1 (en) 2006-12-22 2011-05-24 Curen Software Enterprises, L.L.C. Movement of an agent that utilizes a compiled set of canonical rules
US7698243B1 (en) * 2006-12-22 2010-04-13 Hauser Robert R Constructing an agent in a first execution environment using canonical rules
US9311141B2 (en) 2006-12-22 2016-04-12 Callahan Cellular L.L.C. Survival rule usage by software agents
US7970724B1 (en) 2006-12-22 2011-06-28 Curen Software Enterprises, L.L.C. Execution of a canonical rules based agent
US7702603B1 (en) 2006-12-22 2010-04-20 Hauser Robert R Constructing an agent that utilizes a compiled set of canonical rules
US7660780B1 (en) 2006-12-22 2010-02-09 Patoskie John P Moving an agent from a first execution environment to a second execution environment
US7660777B1 (en) 2006-12-22 2010-02-09 Hauser Robert R Using data narrowing rule for data packaging requirement of an agent
US8132179B1 (en) 2006-12-22 2012-03-06 Curen Software Enterprises, L.L.C. Web service interface for mobile agents
US7702604B1 (en) 2006-12-22 2010-04-20 Hauser Robert R Constructing an agent that utilizes supplied rules and rules resident in an execution environment
US8423496B1 (en) 2006-12-22 2013-04-16 Curen Software Enterprises, L.L.C. Dynamic determination of needed agent rules
US7664721B1 (en) 2006-12-22 2010-02-16 Hauser Robert R Moving an agent from a first execution environment to a second execution environment using supplied and resident rules
US7702602B1 (en) 2006-12-22 2010-04-20 Hauser Robert R Moving and agent with a canonical rule from one device to a second device
US7860517B1 (en) 2006-12-22 2010-12-28 Patoskie John P Mobile device tracking using mobile agent location breadcrumbs
JP5251387B2 (ja) 2008-09-17 2013-07-31 株式会社リコー 画像形成装置及びプログラム
US8930880B2 (en) * 2010-09-29 2015-01-06 Rockwell Automation Technologies, Inc. Development of functional modules using a module bus
US20160294614A1 (en) * 2014-07-07 2016-10-06 Symphony Teleca Corporation Remote Embedded Device Update Platform Apparatuses, Methods and Systems

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06274384A (ja) * 1993-03-22 1994-09-30 N T T Data Tsushin Kk 実行ファイル差分抽出/更新装置及び実行ファイル差分抽出方法
US6016394A (en) * 1997-09-17 2000-01-18 Tenfold Corporation Method and system for database application software creation requiring minimal programming
DE19810802A1 (de) * 1998-03-12 1999-09-16 Ericsson Telefon Ab L M Störungsfreies Aktualisieren von Daten
US6324619B1 (en) * 1998-03-27 2001-11-27 Sony Corporation Of Japan Process and system for managing run-time adaptation for general purpose distributed adaptive applications
JP4270618B2 (ja) * 1998-11-17 2009-06-03 山形カシオ株式会社 部品搭載プログラム作成装置
US6463583B1 (en) * 1999-04-08 2002-10-08 Novadigm, Inc. Dynamic injection of execution logic into main dynamic link library function of the original kernel of a windowed operating system
US6374161B1 (en) 1999-04-26 2002-04-16 Denso Corporation Automobile control system and method capable of revising control data transmission function
JP3666297B2 (ja) * 1999-04-26 2005-06-29 株式会社デンソー 自動車用制御装置
JP2000315167A (ja) * 1999-04-30 2000-11-14 Toshiba Corp データ管理装置、計算機システムおよびプログラムを記憶した記憶媒体
US7096465B1 (en) * 1999-05-17 2006-08-22 Invensys Systems, Inc. Process control configuration system with parameterized objects
US6662357B1 (en) * 1999-08-31 2003-12-09 Accenture Llp Managing information in an integrated development architecture framework
US6405364B1 (en) * 1999-08-31 2002-06-11 Accenture Llp Building techniques in a development architecture framework
US6704743B1 (en) * 1999-09-13 2004-03-09 Copernus, Inc. Selective inheritance of object parameters in object-oriented computer environment
US6567977B1 (en) * 1999-11-15 2003-05-20 Intel Corporation Method and apparatus for software program installation preview directed to system software
US6629315B1 (en) * 2000-08-10 2003-09-30 International Business Machines Corporation Method, computer program product, and system for dynamically refreshing software modules within an actively running computer system

Also Published As

Publication number Publication date
WO2002063468A1 (fr) 2002-08-15
KR20030007492A (ko) 2003-01-23
JP2002236583A (ja) 2002-08-23
CN1258138C (zh) 2006-05-31
US7197742B2 (en) 2007-03-27
US20030106044A1 (en) 2003-06-05

Similar Documents

Publication Publication Date Title
CN1258138C (zh) 内置用软件模块
US7278137B1 (en) Methods and apparatus for compiling instructions for a data processor
Gordon-Ross et al. Exploiting fixed programs in embedded systems: A loop cache example
KR100510370B1 (ko) 비휘발성 재프로그램가능한 반도체 메모리에 저장된 파일데이터를 액세싱하는 방법 및 시스템
US20160117257A1 (en) Hardware-based array compression
CN1826586A (zh) 软件原子化
US6604214B1 (en) One-chip microcomputer capable of internally producing ECC data
EP1503291B1 (en) Reformat logic to reformat a memory access to a device
CN110806900B (zh) 一种访存指令处理方法及处理器
US20020199083A1 (en) High code-density microcontroller architecture with changeable instruction formats
EP1143333B1 (en) Microprocessor for supporting reduction of program codes in size
CN101040254A (zh) 用于管理数据的系统和方法
US20050146449A1 (en) Mechanism to improve performance monitoring overhead
CN1530832A (zh) 使用一共同参数格式对电子装置进行程序化的方法与装置
CN101398874A (zh) 利用散列函数装入程序到微处理器内部sram并运行的方法
US7793085B2 (en) Memory control circuit and microprocessory system for pre-fetching instructions
CN1752930A (zh) 芯片程序加载方法
US7676651B2 (en) Micro controller for decompressing and compressing variable length codes via a compressed code dictionary
CN1650257A (zh) 互换地址寄存器所存内容的方法和设备
WO2000075747A2 (en) Microcontroller virtual memory system and method
CN101340191B (zh) 一种解码器和解码方法
CN1165001C (zh) 智能型计算机系统激活程序恢复装置及方法
CN117762326A (zh) 嵌入式系统中任意变量改装定参数的通用方法
US20110320769A1 (en) Parallel computing device, information processing system, parallel computing method, and information processing device
CN100343824C (zh) 一种实现sdram兼容设计的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060531

Termination date: 20100207