欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

對只讀存儲器內存放的程序的流程進行變更的方法

文檔序號:6419285閱讀:253來源:國知局
專利名稱:對只讀存儲器內存放的程序的流程進行變更的方法
技術領域
本發(fā)明涉及一種如權利要求1的前序部分所述的、對只讀存儲器內存放的程序的流程進行變更的方法。
許多包含微處理器和/或信號處理器的集成電路都具有一種只讀存儲器(ROM),以用于所述微處理器或信號處理器的程序(固件)。譬如在一種遵循GSM標準的移動無線電話的集成電路中,在信號處理器的程序內實現(xiàn)語音處理、信道編碼和數(shù)據(jù)業(yè)務等功能,而在微處理器的程序內實現(xiàn)電話控制的功能。為了事后變更這種程序,須改變至少一個制作該集成電路的掩模,并重新制作該集成電路。尤其在大量制作集成電路的情況下,這是復雜和昂貴的。
譬如US 5,493,674曾公開過在一些預定位置向存放于只讀存儲器內的程序插入指令,由該指令每次調用一個子程序(插入校正程序)。在此,所述的子程序被存放在寫/讀存儲器(RAM)中,并可事后進行變更。
此處有利的是,事后可以通過變更存放于寫/讀存儲器內的子程序來影響存放于只讀存儲器內的程序的流程。為此,從一些不包含在所述集成電路上的裝置向所述的寫/讀存儲器裝載用于校正所述只讀存儲器程序的子程序。
在子程序執(zhí)行完之后再跳回到所述只讀存儲器內存放的程序中。
但缺點是總是由運行的程序跳至所述的子程序。另外,為每個用于調用子程序的指令都設置了一個子程序,由此這些子程序有時會需要較大的存儲地方。由于這種較窄的范圍條件,事后對只讀存儲器內存放的程序進行變更只有在某些條件下才能實現(xiàn)。
因此本發(fā)明所基于的技術問題在于,提供一種對只讀存儲器內存放的程序的流程進行變更的方法,其中可以事后對所述的子程序調用進行影響,而且所述子程序所需的存儲地方盡可能地少。
該問題由具有權利要求1的特征部分的、對只讀存儲器內存放的程序的流程進行變更的方法來解決。本發(fā)明的優(yōu)選擴展方案由各個從屬權利要求給出。
本發(fā)明涉及一種對只讀存儲器內存放的程序的流程進行變更的方法。對此,所述的程序具有多個例行程序,而且每個所述的例行程序都可分配有一個子程序,該子程序被存放在第一寫/讀存儲器內。據(jù)此,每個例行程序都可分配有一個自己的子程序,或多個例行程序分配有一個公共的子程序,或沒有例行程序分配有子程序。在此,只有當只讀存儲器內存放的程序無故障時,才沒有例行程序分配有子程序。另外,把第二寫/讀存儲器的一些存儲位置分配給每個例行程序。如果例行程序分配有一個子程序,則該例行程序便根據(jù)所分配的存儲位置的內容調用所述的子程序。由此,利用給例行程序分配的一些存儲位置,可以給子程序調用施加影響。該方法的優(yōu)點在于,可有條件地調用所述的子程序。同時,此處有利的是,調用子程序的條件隨時都可以利用再編程、并通過占用例行程序所分配的存儲位置來進行事后變更。該方法相對于已知方法的特征就在于其多功能性。
根據(jù)一種優(yōu)選實施方案,當調用其所分配的子程序時,每個例行程序至少向所述的子程序傳送一個參數(shù)。由此,該方法變得具有更大的多功能性,因為所述的子程序可以根據(jù)該傳送的參數(shù)來執(zhí)行不同的功能。
在一種尤其優(yōu)選的實施方案中,分配給例行程序的存儲位置只被分配給該例行程序。當?shù)诙?讀存儲器的存儲地方需要不大時,可以使用該實施方案。對此,在調用子程序時較大的多功能性是有利的,因為對于每個例行程序,可以通過相應占用所分配的存儲位置來確定是否應調用該分配的子程序。在該方案的一種尤其優(yōu)選的替代實施方案中,分配給例行程序的那些存儲位置還被分配給其它所有的例行程序。在此,由于所有的例行程序分配有相同的存儲位置,所以在第二寫/讀存儲器內只需要較少的存儲地方,只是比較有利的。但此時只是通過相應占用所分配的存儲位置來為所有的例行程序確定是否應調用例行程序所分配的子程序。
在一種尤其優(yōu)選的實施方案中,通過所述的參數(shù)把實施調用的例行程序通知給該子程序,并根據(jù)所述參數(shù)來影響所述子程序的功能。
本發(fā)明的其它優(yōu)點、特征和應用可能性可以從下文結合附圖對實施例的闡述中得出。


圖1示出了本發(fā)明的一個實施例;以及圖2示出了占用第一和第二寫/讀存儲器的實施例。
圖1示出了一種存放有程序的只讀存儲器1。該程序具有許多例行程序,其中圖1只簡略地示出了三個例行程序4、5和6。通過幾個點和例行程序的名稱#1~#n來表示在只讀存儲器1內可以存放多于三個的例行程序。這些例行程序是以某些預定的地址間隔而被“嵌入”到所述程序內的。此處重要的是,這些例行程序“均勻分散地”位于整個地址區(qū)域上,以便使該程序的每一部分都可事后進行變更。如果譬如只有程序的低地址區(qū)存在例行程序,那么可以不再從程序的高地址區(qū)跳向子程序,據(jù)此在該地址區(qū)內也不再進行校正。由于例行程序4、5和6被存放在只讀存儲器1內,所以事后甚至再也不能變更該例行程序。
每個例行程序4~6都分配有一個子程序7~8。在此,該子程序被存放在第一寫/讀存儲器2內,而且可以隨時進行事后變更。所述第一寫/讀存儲器2與存放該程序的只讀存儲器1是位于同一地址空間內。這意味著,第一寫/讀存儲器2和只讀存儲器1可以通過相同的地址總線和數(shù)據(jù)總線進行控制,并位于程序存儲區(qū)內。在此,譬如第一寫/讀存儲器2可以占用十六進制0000~1FFF的地址空間,而只讀存儲器1占用的是十六進制2000~FFFF的地址空間。在該情形下,寫/讀存儲器1可以通過8192字節(jié)的RAM來實現(xiàn)。
在第二寫/讀存儲器3中,為每個例行程序分別分配了多個存儲位置。該第二寫/讀存儲器3所處的地址空間不同于只讀存儲器1和寫/讀存儲器2。譬如,所述的第二寫/讀存儲器3可以位于數(shù)據(jù)存儲器的地址空間內。如圖1中所示,例行程序4和6分配了相同的存儲位置10,而例行程序5分配了存儲位置9。如劃線所示,也可以給例行程序5分配例行程序4和6所屬的存儲區(qū)10。在該情形下,所有的例行程序4~6分配的是相同的存儲位置,由此在第二寫/讀存儲區(qū)3內所需的存儲地方較少。
在例行程序至子程序的分配中,可區(qū)分為三種不同的情形,其優(yōu)缺點如下表所示
在第一種情形下雖然能實現(xiàn)最大的功能性,但代價是在第二寫/讀存儲器內需要較大的存儲地方。
在第二種情形下,可以實現(xiàn)第二寫/讀存儲器及第一寫/讀存儲器內的存儲地方需要與所述功能性之間的均衡,原因是,多個例行程序被分配給了第二寫/讀存儲器內的同一存儲位置和一個子程序。該子程序被用于多個實施調用的例行程序,且相應地要比只用于一個例行程序的子程序要復雜。為了區(qū)分實施調用的例行程序,將一些參數(shù)傳送給所述的子程序。
在第三種情形下只有一個子程序,它被用于所有的例行程序,且相應較大和復雜。為此在第二寫/讀存儲器內只需要極少的存儲地方。
例行程序4~6均具有短的程序序列(宏指令),由它從第二寫/讀存儲器3內的、相應例行程序所屬的存儲單元中讀出一些值,并將其與一預定值進行比較。然后,該宏指令根據(jù)該比較的結果調用一個存放在第一寫/讀存儲器2內的子程序。在調用該子程序時向所述的子程序傳送一個參數(shù)。
譬如,該宏指令的實施例以機器語言表述如下.MACRO FW_HOOK_PAR HOOK_ID,HOOK_PAR
mov[##HK_XS.mem+HOOK_ID],a0brr>%no_hook,eqmov#H0OK_PAR,allCall a01%no_hook.ENDM(所述地址[##HK_XS.mem+HOOK_ID]的內容被從所述第二寫/讀存儲器3中讀到第一累加器a0內。如果該讀出的值等于0,則跳至宏指令brr>%no_hook,eq的末端。在此不調用子程序。否則參數(shù)HOOK_PAR被寫入到第二累加器all中,并利用Call a01來調用分配給該宏指令的子程序。)在所述第二寫/讀存儲器3內存放的值可以對應于所述子程序的起始地址。在圖2中,第一寫/讀存儲器2的下部十六進制地址0000~001F沒有被子程序占用。第一子程序#1在十六進制地址0020處開始,第二子程序#2在十六進制地址0040處開始,而且最后的子程序#n在十六進制地址00F0處開始。
在所述第二寫/讀存儲器3中直接存放有所述子程序的十六進制起始地址0020、0040和00F0。
例行程序從第二寫/讀存儲器3中所分配的存儲位置處讀出那兒存儲的地址,并將該地址與0進行比較,若該地址不等于0,則用該地址直接作為在所述第一寫/讀存儲器2中存放的子程序的入口地址。
如果例行程序沒有分配子程序,則簡單地在第二寫/讀存儲器3中所分配的存儲單元內存入十六進制0000。
在調用子程序時可以傳送一個或多個參數(shù)。如果多個例行程序被分配給相同的、其中存有子程序地址的存儲位置,而且該子程序應執(zhí)行實施調用的例行程序的相應功能,那么這將是尤其有利的。在該情形下,被調用的子程序必須對實施調用的例行程序進行識別。為此,該子程序對一個或多個傳送的參數(shù)進行分析,其中每個可以調用該子程序的例行程序都固定地分配有一個確定的參數(shù)值。
優(yōu)選地,所示的方法尤其還可應用于哈佛結構,該哈佛結構主要是應用在數(shù)字信號處理器(DSP)中,而且具有分離的程序地址空間和數(shù)據(jù)地址空間。
權利要求
1.對只讀存儲器內存放的程序的流程進行變更的方法,其中所述的程序具有多個例行程序(4-6),而且每個所述的例行程序(4-6)都可分配有一個子程序(7,8),該子程序被存放在第一寫/讀存儲器(2)內,其特征在于-把第二寫/讀存儲器(3)的一些存儲位置(9,10)分配給每個例行程序(4-6),以及-如果例行程序(4-6)分配有一個子程序(7,8),則該例行程序(4-6)便根據(jù)所分配的存儲位置(9,10)的內容調用所述的子程序(7,8)。
2.如權利要求1所述的方法,其特征在于在調用其所分配的子程序(7,8)時,每個例行程序(4-6)至少向所述的子程序(7,8)傳送一個參數(shù)。
3.如權利要求1或2所述的方法,其特征在于分配給例行程序(5)的存儲位置(9)只被分配給該例行程序(5)。
4.如權利要求1或2所述的方法,其特征在于分配給例行程序(4)的存儲位置(9)還被分配給其它所有的例行程序(5,6)。
5.如權利要求2~4之一所述的方法,其特征在于通過所述的參數(shù)把實施調用的例行程序(4-6)通知給該子程序(7,8),并根據(jù)所述的參數(shù)來影響所述子程序(7,8)的功能。
全文摘要
本發(fā)明涉及一種對只讀存儲器內存放的程序的流程進行變更的方法。對此,所述的程序具有多個例行程序,而且每個所述的例行程序都可分配有一個子程序,該子程序被存放在第一寫/讀存儲器內。另外,把第二寫/讀存儲器的存儲位置分配給每個例行程序。如果例行程序分配有一個子程序,則該例行程序便根據(jù)所分配的存儲位置的內容調用所述的子程序。
文檔編號G06F9/44GK1330781SQ99814462
公開日2002年1月9日 申請日期1999年12月1日 優(yōu)先權日1998年12月15日
發(fā)明者M·韋貝爾, J·斯特格爾 申請人:因芬尼昂技術股份公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
灌阳县| 大同县| 阿图什市| 乌审旗| 上杭县| 吴江市| 达州市| 增城市| 阳西县| 班玛县| 鲁甸县| 孝感市| 文登市| 木兰县| 西丰县| 通海县| 阿克苏市| 姚安县| 河北区| 卫辉市| 永清县| 盈江县| 平顺县| 洪洞县| 镇雄县| 太仓市| 牙克石市| 安远县| 荥阳市| 师宗县| 肇庆市| 即墨市| 依兰县| 凌海市| 巴青县| 邢台市| 新建县| 温泉县| 稷山县| 南投市| 迁西县|