CN1265395C - 闪存及其程序规划和重复烧录的方法 - Google Patents

闪存及其程序规划和重复烧录的方法 Download PDF

Info

Publication number
CN1265395C
CN1265395C CN 02141065 CN02141065A CN1265395C CN 1265395 C CN1265395 C CN 1265395C CN 02141065 CN02141065 CN 02141065 CN 02141065 A CN02141065 A CN 02141065A CN 1265395 C CN1265395 C CN 1265395C
Authority
CN
China
Prior art keywords
block
application program
program
callback function
inlet point
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
CN 02141065
Other languages
English (en)
Other versions
CN1467751A (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.)
Yogon Science & Technology Co., Ltd.
Original Assignee
Lite On Technology 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 Lite On Technology Corp filed Critical Lite On Technology Corp
Priority to CN 02141065 priority Critical patent/CN1265395C/zh
Publication of CN1467751A publication Critical patent/CN1467751A/zh
Application granted granted Critical
Publication of CN1265395C publication Critical patent/CN1265395C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

一种闪存及其程序规划和重复烧录的方法,是用来将修改过的应用程序经编译后,烧录在一规划过的闪存。闪存包含一固定程序区块,是包含烧录完整且不需再修改的程序;一应用程序区块,是包含可修改或变更的应用程序;以及,一回呼函数进入点区块,包含一回呼函数进入点矩阵。进入点矩阵纪录在应用程序区块内的所有回呼函数当被固定程序呼叫时的起始地址值。重复烧录时,只需烧录该回呼函数进入点区块和该应用程序区块的程序代码。故可提升烧录的效率,且减少维护程序的时间。

Description

闪存及其程序规划和重复烧录的方法
技术领域
本发明是关于一种闪存及其程序规划和重复烧录的方法,尤指一种闪存及在闪存规划出程序进入点矩阵后再在闪存中重复烧录程序的方法。
背景技术
闪存是大多数手持设备用来储存操作系统的一种内存。闪存亦用于移动电话、数字像机、LAN转换器、PC卡、机顶盒和内嵌式控制器等。闪存在烧录时一次写入一整块区块,速度比一次写入一个字节的EEPROM快。新式的计算机使用闪存作为储存BIOS的组件,使BIOS可由一般使用者作更新,而不必使用特殊的烧录器(Burner)。
随着MMI(人机接口)应用及需求的日益广泛,软件的复杂度及长度也随着增加,尤其是软件的分工及整合更是明确,对一位软件工程师来说,某一部分程序修改后,必须经由编译器将所有程序重新再编译,因此新的程序代码往往都是牵一发而动全身。
如图1所示,一个完整的手机软件,是从上层的应用程序(如MMI应用程序)到下层部分固定程序(如:驱动程序、通讯协议程序、操作系统、字型、图文件、影像文件等)所分工完成的,当工程师修改部分应用程序时,其大部分固定程序往往是不需要变动或更改,惟有两者间需要联系时,会因为应用程序中的回呼函数经过部分修改后而改变了其起始地址,如图2所示,固定程序区块中的一程序A要联系的应用程序A’,其回呼函数经过部分修改后而改变起始地址。此时必须经由编译器将所有程序重新编译且烧录一次。从而,固定程序才能够呼叫到应用程序中的回呼程序而不会造成系统运作的不正常。但结果是,耗费了整个烧录时间,而且过程繁琐,增加研发成本。
发明内容
本发明的闪存及其程序规划和重复烧录的方法,主要是在一手机软件烧录过程中,将程序进入点矩阵的概念加入到手机软件架构中,当固定程序区块中的程序需要呼叫到应用程序区块中的回呼函数时,只须进入点矩阵便可通过对照表找到回呼函数的起始地址。
因此,本发明的主要目的是提供一种闪存及其程序规划和重复烧录的方法,当被修改的应用程序被编译后,只需烧录回呼函数进入点区块以及应用程序点区块的程序代码即可,而固定程序区块的程序代码并不需要再重新烧录,如此可节省整个烧录时间。
本发明的又一目的是提供一种闪存及其程序规划和重复烧录的方法,就程序设计而言,将成熟且完整的程序放在内存中的固定程序区块而将正在开发或必须再维护修改部分的程序放在应用程序区块,只需将其起始地址加入到进入点矩阵,如此重复烧录过程中便可再度提升烧录的效率,也同时减少维护程序的时间。
根据本发明的一个方面,提供了一种闪存,通过内存的规划将该内存分成三部分,该三部分为:一固定程序区块,其中包含烧录完整且不需再修改的程序;一应用程序区块,其中包含可修改或变更的应用程序;以及一回呼函数进入点区块,其中包含一回呼函数进入点矩阵,该进入点矩阵记录在该应用程序区块内的所有回呼函数当被固定程序呼叫时的起始地址值。
根据本发明的另一方面,提供一种闪存中固定程序呼叫回呼函数的方法,其中该闪存通过内存的规划将该内存分成三部分,该三部分包括一固定程序区块,其中包含烧录完整且不需再修改的程序;一应用程序区块,其中包含可修改或变更的应用程序;以及一回呼函数进入点区块,其中包含一回呼函数进入点矩阵,该进入点矩阵记录在该应用程序区块内的所有回呼函数当被固定程序呼叫时的起始地址值,该方法包括有以下步骤:a)当该固定程序区块中的一程序呼叫该应用程序区块中的回呼函数时,先到该回呼函数进入点区块寻找该回呼函数在一回呼函数对照表的一起始地址值;b)再进入在该应用程序区块的该回呼程序的一闪存起始地址。
根据本发明的再一方面,提供了一种闪存程序重复烧录方法,其中该闪存通过内存的规划将该内存分成三部分,该三部分包括一固定程序区块,其中包含烧录完整且不需再修改的程序;一应用程序区块,其中包含可修改或变更的应用程序;以及一回呼函数进入点区块,其中包含一回呼函数进入点矩阵,该进入点矩阵记录在该应用程序区块内的所有回呼函数当被固定程序呼叫时的起始地址值,该方法包括有步骤:将修改的一应用程序进行编译;b)将编译后的应用程序烧录在所述闪存的应用程序区块和回呼函数进入点区块中。
较佳地,在步骤b)中,只需烧录该回呼函数进入点区块和该应用程序区块的程序代码。
根据本发明的再另一方面,提供了一种闪存的规划方法,主要是包含如下步骤:a)将一闪存分成三部分:一固定程序区块,一应用程序区块和一回呼函数进入点区块;b)将成熟且完整的程序放在该固定程序区块;c)将正在开发或必须再维护修改部分的程序放在该应用程序区块;以及d)将回呼函数的起始地址加入到该回呼函数进入点区块的一进入点矩阵。
附图简述
本发明的这些目的和其它目的、特点和优点通过以下说明配合附图对本领域的熟练技术人员将更清晰明了。
图1是常规手机软件架构示意图;
图2是已知闪存经编译器编译新修改后的程序架构变化示意图;
图3是依照本发明一实施例的内存规划示意图;
图4是依照本发明一实施例的程序进入点矩阵中程序呼叫时的动作示意图;以及
图5是依照本发明的一实施例的程序重新编译前后,固定程序呼叫回呼函数的动作示意图。
具体实施方式
首先,请参阅图3。图3是依照本发明一实施例的内存规划示意图。由图中可知一内存被规划成三部分:固定程序区块、回呼函数进入点区块和应用程序区块,固定程序区块是存有烧录完整且不需再修改的程序,如操作系统、通讯协议、驱动程序和字型、影像、图形文件等。应用程序区块储存有需要修改或变更的应用程序(MMI)。回呼函数进入点区块则是一回呼函数进入点矩阵,此矩阵纪录了所有回呼函数的起始地址。当一回呼函数被固定程序呼叫时即是通过其起始地址进行。
再请参阅图4,当固定程序区块中的一固定程序A或B呼叫应用程序区块中的回呼函数A”或B”时,要分别先到回呼函数进入点区块寻找一回呼函数对照表的起始地址值A’或B’后,再进入应用程序区块中回呼函数A”或B”以完成下层固定程序呼叫的动作。因而,不管应用程序如何修改,经编译器编译后,应用程序中的回呼函数起始地址都将纪录在回呼函数进入点区块的进入点矩阵。当下层固定程序呼叫上层回呼程序时只需到此进入点矩阵便可通过对照表找出上层回呼函数的起始地址。
最后,请参阅图5。本图是依照本发明程序重新编译前后,固定程序呼叫回呼函数的动作示意图。依照本发明,如图上代表回呼函数A”的方块的移位,当一应用程序被修改并经编译后,固定程序区块中的一固定程序A所要呼叫的应用程序区块中的一回呼函数A”会变更起始地址,而起始地址值A’亦随之改变。但是,固定程序A尚保持在原地址。所以,在此情形下,当一工程师修改应用程序并编译后,只需要烧录回呼函数进入点区块以及应用程序区块的程序代码便可,而固定程序区块的程序代码并不需要再重新烧录,如此可省下烧录固定程序区块的时间部分。
由以上的叙述,以程序设计的观点而言,若将成熟且完整的程序放在内存中的固定程序区块,而将正在开发或必须再维护修改部分的程序放在应用程序区块。当固定程序区块中的程序需要呼叫到应用程序区块中的回呼函数时,只需将其起始地址值加入到点矩阵,如此重复烧录过程便可再度提升烧录的效率,也同时减少维护程序的时间。
本发明的闪存程序重复烧录方法,用在一手机软件烧录过程中实施时,将程序进入点矩阵加入到手机软件架构中,经过实际烧录测试,结果显示所需烧录时间将只为原架构烧录时间的十分之一。
以上所述的内容,仅为本发明的一较佳实施例而已,并非用来限定本发明实施的范围。故即凡依本发明的权利要求所述的形状、构造、特征所作出的等效变化与修饰,均应包括于本发明的保护范围内。

Claims (5)

1、一种闪存,通过内存的规划将该内存分成三部分,该三部分为:
一固定程序区块,其中包含烧录完整且不需再修改的程序;
一应用程序区块,其中包含可修改或变更的应用程序;以及
一回呼函数进入点区块,其中包含一回呼函数进入点矩阵,该进入点矩阵记录在该应用程序区块内的所有回呼函数当被固定程序呼叫时的起始地址值。
2、一种闪存中固定程序呼叫回呼函数的方法,其中该闪存通过内存的规划将该内存分成三部分,该三部分包括一固定程序区块,其中包含烧录完整且不需再修改的程序;一应用程序区块,其中包含可修改或变更的应用程序;以及一回呼函数进入点区块,其中包含一回呼函数进入点矩阵,该进入点矩阵记录在该应用程序区块内的所有回呼函数当被固定程序呼叫时的起始地址值,该方法包括有以下步骤:
a)当该固定程序区块中的一程序呼叫该应用程序区块中的回呼函数时,先到该回呼函数进入点区块寻找该回呼函数在一回呼函数对照表的一起始地址值;
b)再进入在该应用程序区块的该回呼函数的该起始地址。
3、一种闪存程序重复烧录方法,其中该闪存通过内存的规划将该内存分成三部分,该三部分包括一固定程序区块,其中包含烧录完整且不需再修改的程序;一应用程序区块,其中包含可修改或变更的应用程序;以及一回呼函数进入点区块,其中包含一回呼函数进入点矩阵,该进入点矩阵记录在该应用程序区块内的所有回呼函数当被固定程序呼叫时的起始地址值,该方法包括有步骤:
a)将修改的一应用程序进行编译;
b)将编译后的应用程序烧录在所述闪存的应用程序区块中且重新烧录回呼函数进入点区块。
4、根据权利要求3所述的闪存程序重复烧录方法,其中步骤b)中,只需烧录该回呼函数进入点区块和该应用程序区块的程序代码。
5、一种闪存的规划方法,主要是包含如下步骤:
a)将一闪存分成三部分:一固定程序区块,一应用程序区块和一回呼函数进入点区块;
b)将成熟且完整的程序放在该固定程序区块;
c)将正在开发或必须再维护修改部分的程序放在该应用程序区块;以及
d)将回呼函数的起始地址加入到该回呼函数进入点区块的一进入点矩阵。
CN 02141065 2002-07-12 2002-07-12 闪存及其程序规划和重复烧录的方法 Expired - Fee Related CN1265395C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 02141065 CN1265395C (zh) 2002-07-12 2002-07-12 闪存及其程序规划和重复烧录的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 02141065 CN1265395C (zh) 2002-07-12 2002-07-12 闪存及其程序规划和重复烧录的方法

Publications (2)

Publication Number Publication Date
CN1467751A CN1467751A (zh) 2004-01-14
CN1265395C true CN1265395C (zh) 2006-07-19

Family

ID=34147719

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 02141065 Expired - Fee Related CN1265395C (zh) 2002-07-12 2002-07-12 闪存及其程序规划和重复烧录的方法

Country Status (1)

Country Link
CN (1) CN1265395C (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101782854A (zh) * 2009-01-19 2010-07-21 英业达股份有限公司 用于选择只读存储器模块间的沟通方法及系统
US10838621B2 (en) * 2018-08-14 2020-11-17 Silicon Motion, Inc. Method and flash memory controller capable of avoiding inefficient memory block swap or inefficient garbage collection
CN109656584A (zh) * 2019-02-15 2019-04-19 京信通信系统(中国)有限公司 一种程序的烧录方法及装置

Also Published As

Publication number Publication date
CN1467751A (zh) 2004-01-14

Similar Documents

Publication Publication Date Title
US5586328A (en) Module dependency based incremental compiler and method
CN1271516C (zh) 在分布式计算系统中创建和执行可执行程序的方法和系统
JPH04500132A (ja) 2進符号の機械語のプログラムを別の2進符号の機械語に翻訳する機械処理
US6934940B2 (en) Source code transformation-temporary object reduction
CN1838088A (zh) 探测具有限制性调用约定代码的方法
CN1193775A (zh) 软只读存储器
US7293264B2 (en) Method and a device for abstracting instruction sequences with tail merging
CN1265395C (zh) 闪存及其程序规划和重复烧录的方法
CN100375058C (zh) 一种嵌入式产品软件调试方法
KR100305097B1 (ko) 최적화에 있어서 인터럽트 처리의 경감을 실현하는 컴파일러 및 그의 최적화 방법
CN101000557A (zh) 虚拟机
CN106569829B (zh) 触摸屏工作模式切换实现方法、触摸屏装置和头戴式设备
CN1249952C (zh) 自动维护系统及其自动维护通信设备的方法
CN101593105A (zh) 一种视频制作软件中使用命令集的方法
US20030236940A1 (en) Method for repeatedly recording program in flash memory
Londe et al. TGT: Transformational grammar tester
CN1154924C (zh) 动态维护应用程序的功能模块的方法
JPH1185539A (ja) タスク実行制御機能を備えるリアルタイムos
JPH07319711A (ja) 情報処理システム
CN1591334A (zh) 嵌入式系统程序精简处理方法及系统
JP2999654B2 (ja) 端末装置
CN116009873A (zh) 一种快速制作CMakeLists.txt文件的方法及插件
JP3921722B2 (ja) コンパイラ処理装置
CN109933318A (zh) 一种Angular内SQL在线编辑器的实现方法
JPH06314221A (ja) コンパイル方式

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: YUGUAN TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: GUANGBAO TECHNOLOGY CO., LTD.

Effective date: 20080215

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20080215

Address after: Delaware

Patentee after: Yogon Science & Technology Co., Ltd.

Address before: Taiwan, China

Patentee before: Lite-On Technology Corporation

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

Granted publication date: 20060719

Termination date: 20120712