CN1971513A - 只读存储器内建程序代码内容的修改方法 - Google Patents
只读存储器内建程序代码内容的修改方法 Download PDFInfo
- Publication number
- CN1971513A CN1971513A CN 200510124007 CN200510124007A CN1971513A CN 1971513 A CN1971513 A CN 1971513A CN 200510124007 CN200510124007 CN 200510124007 CN 200510124007 A CN200510124007 A CN 200510124007A CN 1971513 A CN1971513 A CN 1971513A
- Authority
- CN
- China
- Prior art keywords
- rom
- program code
- memory
- read
- content
- 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
Links
Images
Landscapes
- Read Only Memory (AREA)
- Stored Programmes (AREA)
Abstract
本发明是有关于一种只读存储器内建程序代码内容的修改方法,将储存于一外部储存装置内的修改地址与修改内容分别加载至一缓存器及一随机存取内存中,当执行只读存储器内的程序代码至欲修改的地址时,转移至随机存取内存中执行修改内容,当修改内容执行完后再转移回只读存储器中继续其执行程序。使用本发明的方法,可在不更换只读存储器情况下,修改其部份程序代码。
Description
技术领域
本发明涉及一种修改只读存储器(ROM/Read Only Memory)内建程序代码内容(Code)的修改方法,通过本发明所揭示的技术方法,当只读存储器内建程序代码内容需要修改时,不需要更换此只读存储器,由使用一外部储存装置搭配一随机存取内存及一缓存器达到修改只读存储器内容的目的。
背景技术
‘芯片系统’(System-on-chip,SOC),也可称为‘系统芯片’是电子科技的主要趋势,过去复杂电路中的电子组件已经可以被整合到单一的芯片内,一般利用这种单一整合芯片的系统称为嵌入式微处理器系统(EmbeddedMicroprocessor System)。通常这种嵌入式微处理器系统会使用只读存储器(ROM)来记录一些应用程序的程序代码(Code),一般以掩膜式只读存储器(mask ROM)为主。只读存储器是以非易失性芯片制造而成,其所储存的内容为在制造过程中存入,或是于制造后考入的。一般的只读存储器只能读取其所储存的数据,但不能变更其所储存的内容或再存入数据,当使用者想修改其所储存的内容时,只能更换新的只读存储器。例如,欲修改掩膜式只读存储器所储存的内容时,必须重新修改制造此只读存储器的掩膜(mask),重新修改掩膜需要花费大量的时间及金钱,对使用者而言也是相当不便的。
因此,基于上述原因,本发明所揭示的只读存储器内建程序代码内容的修改方法为使用一系统内部的随机存取内存(RAM)配合系统外部的储存媒体,达到修改只读存储器内建程序代码内容或是提供新参数据给系统控制器的目的。
发明内容
本发明的主要目的,在于提供一种修改只读存储器内建程序代码内容的方法,通过本发明所揭示的技术方法,当只读存储器的内建程序代码内容需要修改时,无须更换原只读存储器而达到更改其程序代码内容的目的。
为实现本发明的目的,本发明提出一种修改只读存储器内建程序代码内容的方法,其包括:先检查外部是否存在一储存装置;若外部的储存装置存在,则将储存装置所储存的修改地址加载至一缓存器中,并将储存装置所储存对应于修改地址的修改内容加载至一随机存取内存;执行储存于只读存储器中的程序代码;当执行至只读存储器内的程序代码地址同于储存于缓存器的修改地址时,执行随机存取内存内所储存的修改内容以取代原只读存储器内此地址的程序代码;当执行完修改地址所对应的修改内容后,回去继续执行只读存储器内的执行程序。
在本发明的方法中,执行只读存储器内的程序代码至欲更改的地址时,可使用中断(Interrupt)或转移(Jump)方式转移至随机存取内存中执行更改内容。而当执行完更改内容后,可使用返回(Return)或转移(Jump)方式去继续执行只读存储器内的程序代码。
在本发明的实施例中,其所使用的储存装置可为电流可消除可编程只读存储器(EEPROM)、闪存(FLASH MEMORY)、或是硬盘。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为一嵌入式系统部分加上一外部储存装置的架构示意图。
图2为本发明的操作流程图。
其中,附图标记
01--系统内部
02--只读存储器
03--随机存取内存
04--缓存器
05--储存装置
021--地址A
022--地址B
具体实施方式
在一嵌入式系统中,其架构上主要包含了微处理器、只读存储器、随机存取内存及输入/输出等硬件,而其软件(程序代码)储存于只读存储器中,在芯片制造技术的不断进步下,实现了将嵌入式系统整合于一单芯片中,然而,当需要更改或更新储存于只读存储器内的程序代码时,面临需要重新制造整个单芯片的窘境,本发明所提出的方法,能有效的解决此一问题。
请参阅图1,图1为一嵌入式系统部分加上一外部储存装置的架构示意图。在本发明的实施例中,可应用于如图1的架构中,利用一外部的储存装置达到更改或更新只读存储器内的程序代码的目的。
如图1所示,此系统内部01包括了一只读存储器02、一随机存取内存03及一缓存器04等,此系统可为一嵌入式系统,为更新或更改储存于只读存储器02内的程序代码,使用了一外部储存装置05。此只读存储器02中存在一些程序代码需要被更改,如图中的地址A021及地址B022内的程序代码.
请参考图2,图2为本发明方法的操作流程图。首先,系统检查外部的储存装置05是否存在,此为步骤31。此储存装置05可为一闪存、电流可消除可编程只读存储器(EEPROM)或是硬盘。
若检查结果外部的储存装置05存在的话,将储存装置05所储存的修改地址A021及B022加载至系统内部的缓存器04中,并将储存装置05所储存对应于此地址A021及B022的修改内容加载至系统内部随机存取内存03中,此为步骤32。其中,此地址A021及B022各可为代表一连续地址的区间。而将储存装置05内的资料加载至缓存器04或随机存取内存03内的方法可为使用微处理器读入、使用硬件MASTER读入、或使用直接内存存取(DirectMemory Access,DMA)方式读入。
然后,开始执行储存于只读存储器02中的执行程序,即执行只读存储器02内的程序代码,此为步骤33。一般来说,该系统激活后,系统会逐一执行只读存储器内的程序代码。
当执行至只读存储器02地址与加载至缓存器04的修改地址A021或地址B022相同时,中断执行现行的程序并且改为执行随机存取内存03内对应此地址的修改内容,此为步骤34。在本发明的实施例中,可利用一程序计数器及一比较器来记录程序所执行到的地址,以及与储存于缓存器04内的修改地址做比较,以实现检测程序是否执行至地址A021及地址B022。而执行至地址A021及地址B022时,可采用中断(Interrupt)或转移(Jump)方式转移至随机存取内存03中执行更改内容。
当执行完修改地址所对应的修改内容后,执行程序回只读存储器02中继续执行被中断的执行程序,此为步骤35。例如,在执行完随机存取内存03内对应于地址A021的修改内容后,可使用返回(Return)或转移(Jump)方式去继续执行只读存储器02内地址A021后的程序代码。
在本发明之一较佳实施例中,可于储存装置05中设置一系统组配置(Configuration),让使用者由此组配制的设定来决定是否激活修改只读存储器02内程序代码的功能,在系统检测到此储存装置05存在时,可设定让其先读取此组配制。
综上所述,本发明揭示一种修改只读存储器内建程序代码内容的方法,通过本发明所揭示的技术方法,当只读存储器的内建程序代码内容需要修改时,不需要更换此只读存储器,直接使用内部的缓存器及随机存取内存配合外部的储存装置,便可达到修改内建程序代码内容的目的。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (10)
1.一种修改只读存储器内建程序代码内容的方法,其特征在于,包括:
检测外部是否存在一储存装置;
若外部的储存装置存在,则将所述储存装置所储存的修改地址加载至一缓存器中,并将所述储存装置所储存对应于所述修改地址的修改内容加载至一随机存取内存;
执行储存于只读存储器中的程序代码;
当执行至该只读存储器内的程序代码地址同于储存于所述该缓存器的所述修改地址时,执行所述随机存取内存内所储存的所述修改内容用于取代原只读存储器内该地址的程序代码;
当执行完所述修改地址所对应的所述修改内容后,回去继续执行只读存储器内的执行程序。
2.根据权利要求1所述的修改只读存储器内建程序代码内容的方法,其特征在于,所述储存装置可为电可擦可编辑只读存储器EEPROM。
3.根据权利要求1所述的修改只读存储器内建程序代码内容的方法,其特征在于,所述储存装置可为闪存。
4.根据权利要求1所述的修改只读存储器内建程序代码内容的方法,其特征在于,所述储存装置可为硬盘。
5.根据权利要求1所述的修改只读存储器内建程序代码内容的方法,其特征在于,将所述储存装置所储存的修改内容加载至所述随机存取内存的方法可为使用一微处理器读入的方法。
6.根据权利要求1所述的修改只读存储器内建程序代码内容的方法,其特征在于,将所述储存装置所储存的修改内容加载至所述随机存取内存的方法可为使用DMA读入的方法。
7.根据权利要求1所述的修改只读存储器内建程序代码内容的方法,其特征在于,为以中断或转移方式,由执行该只读存储器内的程序代码改为执行所述随机存取内存内的所述修改内容。
8.根据权利要求1所述的修改只读存储器内建程序代码内容的方法,其特征在于,当执行完所述随机存取内存内的所述修改内容后,以返回或转移方式,回去继续执行只读存储器内的执行程序。
9.根据权利要求1所述的修改只读存储器内建程序代码内容的方法,其特征在于,所述只读存储器为应用于一嵌入式系统中。
10.根据权利要求1所述的修改只读存储器内建程序代码内容的方法,其特征在于,所述储存装置内储存一组配制,用以控制是否激活修改所述只读存储器内的程序代码的功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101240075A CN100445949C (zh) | 2005-11-23 | 2005-11-23 | 只读存储器内建程序代码内容的修改方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101240075A CN100445949C (zh) | 2005-11-23 | 2005-11-23 | 只读存储器内建程序代码内容的修改方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1971513A true CN1971513A (zh) | 2007-05-30 |
CN100445949C CN100445949C (zh) | 2008-12-24 |
Family
ID=38112353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101240075A Expired - Fee Related CN100445949C (zh) | 2005-11-23 | 2005-11-23 | 只读存储器内建程序代码内容的修改方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100445949C (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740736A (zh) * | 2014-12-12 | 2016-07-06 | 北京元心科技有限公司 | 实现文件系统安全操作的方法和装置 |
CN109426506A (zh) * | 2017-08-22 | 2019-03-05 | 佛山市顺德区顺达电脑厂有限公司 | 选用只读存储器的加载方法 |
CN111045970A (zh) * | 2019-12-18 | 2020-04-21 | 江苏芯盛智能科技有限公司 | 一种phy参数调试方法、装置、存储介质及电子设备 |
CN112463230A (zh) * | 2020-11-23 | 2021-03-09 | 浙江地芯引力科技有限公司 | 程序运行方法及装置、电子设备、存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100205292B1 (ko) * | 1996-09-02 | 1999-07-01 | 윤종용 | 하드 디스크 드라이브의 프로그램 수정방법 |
JP3105822B2 (ja) * | 1997-05-29 | 2000-11-06 | 甲府日本電気株式会社 | マイクロプログラム制御装置 |
US6691308B1 (en) * | 1999-12-30 | 2004-02-10 | Stmicroelectronics, Inc. | Method and apparatus for changing microcode to be executed in a processor |
-
2005
- 2005-11-23 CN CNB2005101240075A patent/CN100445949C/zh not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740736A (zh) * | 2014-12-12 | 2016-07-06 | 北京元心科技有限公司 | 实现文件系统安全操作的方法和装置 |
CN109426506A (zh) * | 2017-08-22 | 2019-03-05 | 佛山市顺德区顺达电脑厂有限公司 | 选用只读存储器的加载方法 |
CN109426506B (zh) * | 2017-08-22 | 2022-01-28 | 佛山市顺德区顺达电脑厂有限公司 | 选用只读存储器的加载方法 |
CN111045970A (zh) * | 2019-12-18 | 2020-04-21 | 江苏芯盛智能科技有限公司 | 一种phy参数调试方法、装置、存储介质及电子设备 |
CN111045970B (zh) * | 2019-12-18 | 2021-05-11 | 江苏芯盛智能科技有限公司 | 一种phy参数调试方法、装置、存储介质及电子设备 |
CN112463230A (zh) * | 2020-11-23 | 2021-03-09 | 浙江地芯引力科技有限公司 | 程序运行方法及装置、电子设备、存储介质 |
CN112463230B (zh) * | 2020-11-23 | 2023-08-25 | 浙江地芯引力科技有限公司 | 程序运行方法及装置、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100445949C (zh) | 2008-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107025559B (zh) | 一种业务处理方法及装置 | |
US8392895B2 (en) | Firmware extension method and firmware builder | |
CN102236621B (zh) | 计算机接口信息配置系统及方法 | |
CN103069385A (zh) | 动态加载基于图的计算 | |
US20070011686A1 (en) | Changing code execution path using kernel mode redirection | |
US20140082346A1 (en) | Method and System for Managing Basic Input/Output System (BIOS) Configuration Data of BIOS | |
US7171546B2 (en) | CPU life-extension apparatus and method | |
CN105975816A (zh) | 移动终端下基于虚拟技术的代码保护方法及系统 | |
CN100445949C (zh) | 只读存储器内建程序代码内容的修改方法 | |
WO2014087407A1 (en) | System and methods thereof for safe compilation of code into embedded processing systems | |
US20110055533A1 (en) | System management interrupt interface wrapper | |
CN108804228A (zh) | 一种dsp程序空间扩展的实现方法 | |
CN102193804B (zh) | 一种单板驱动的加载方法和通信设备 | |
US9037773B2 (en) | Methods for processing and addressing data between volatile memory and non-volatile memory in an electronic apparatus | |
US9223697B2 (en) | Computer reprogramming method, data storage medium and motor vehicle computer | |
US20070174680A1 (en) | Method for patching built-in code in read only memory | |
CN101685396A (zh) | 对功能图标进行控制的系统及方法 | |
CN110399166A (zh) | ME Nonce值的保存方法、装置、设备及存储介质 | |
US7680909B2 (en) | Method for configuration of a processing unit | |
US6883078B2 (en) | Microcomputer with reduced memory usage and associated method | |
JP4846226B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
CN104699410A (zh) | 一种信息处理方法及电子设备 | |
US20070169086A1 (en) | System and method for updating in-system program | |
CN101840520A (zh) | 一种智能卡及访问智能卡闪存的方法 | |
JP3698125B2 (ja) | データ処理システム、データ処理装置及びデータ処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200415 Address after: No.1, Duhang 1st Road, Hsinchu City, Hsinchu Science Park, Taiwan, China Patentee after: MEDIATEK Inc. Address before: Hsinchu County, Taiwan, China Patentee before: MSTAR SEMICONDUCTOR Inc. |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081224 Termination date: 20211123 |
|
CF01 | Termination of patent right due to non-payment of annual fee |