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

智能卡片內(nèi)操作系統(tǒng)補(bǔ)丁的實(shí)現(xiàn)方法

文檔序號:6498944閱讀:357來源:國知局
智能卡片內(nèi)操作系統(tǒng)補(bǔ)丁的實(shí)現(xiàn)方法
【專利摘要】本發(fā)明公開了一種智能卡片內(nèi)操作系統(tǒng)補(bǔ)丁的實(shí)現(xiàn)方法,將片內(nèi)操作系統(tǒng)的主程序存放在ROM中,在主程序中建立第一函數(shù)指針數(shù)組,將要打補(bǔ)丁的函數(shù)地址填入第一函數(shù)指針數(shù)組,并產(chǎn)生相對應(yīng)的索引;將片內(nèi)操作系統(tǒng)的補(bǔ)丁程序存入EEPROM中,在補(bǔ)丁程序中,在固定的EEPROM地址上建立第二函數(shù)指針數(shù)組;在主程序中定義一個(gè)工作數(shù)組指針,用來存放函數(shù)指針數(shù)組的首地址;在主程序中先確定好補(bǔ)丁程序中的第二函數(shù)指針數(shù)組的首地址和補(bǔ)丁標(biāo)識的存放地址;主程序執(zhí)行時(shí)先檢查是否有補(bǔ)丁標(biāo)識,若無標(biāo)識,則將第一函數(shù)指針數(shù)組的首地址付給工作數(shù)組指針;若發(fā)現(xiàn)補(bǔ)丁標(biāo)識,則將第二函數(shù)指針數(shù)組的首地址付給工作數(shù)組指針。本發(fā)明能夠提高COS的運(yùn)行效率。
【專利說明】智能卡片內(nèi)操作系統(tǒng)補(bǔ)丁的實(shí)現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及智能卡操作系統(tǒng)軟件開發(fā)領(lǐng)域,特別是涉及一種智能卡COS (ChipOperating System,片內(nèi)操作系統(tǒng))補(bǔ)丁的實(shí)現(xiàn)方法。
【背景技術(shù)】
[0002]智能卡片內(nèi)操作系統(tǒng)程序一般是在智能卡生產(chǎn)時(shí)將操作系統(tǒng)的程序通過掩膜的方式固化在芯片ROM內(nèi),程序不允許再修改。如果要修改操作系統(tǒng)程序錯誤(BUG)或增加新的功能,一般使用補(bǔ)丁來實(shí)現(xiàn),補(bǔ)丁程序代碼一般是存放在可多次擦寫的EEPROM中。
[0003]COS補(bǔ)丁的一般實(shí)現(xiàn)方法是每個(gè)補(bǔ)丁函數(shù)運(yùn)行時(shí)都要去判斷這個(gè)函數(shù)否打過補(bǔ)丁,如果有補(bǔ)丁,就運(yùn)行補(bǔ)丁程序,否則運(yùn)行原程序。這種方法的缺點(diǎn)是會使COS的運(yùn)行速度降低。

【發(fā)明內(nèi)容】

[0004]本發(fā)明要解決的技術(shù)問題是提供一種智能卡片內(nèi)操作系統(tǒng)補(bǔ)丁的實(shí)現(xiàn)方法,能夠提聞COS的運(yùn)行效率。
[0005]為解決上述技術(shù)問題,本發(fā)明的智能卡片內(nèi)操作系統(tǒng)補(bǔ)丁的實(shí)現(xiàn)方法,包括如下步驟:
[0006]步驟一,將智能卡片內(nèi)操作系統(tǒng)的主程序存放在ROM中,在所述主程序中建立第一函數(shù)指針數(shù)組,將需要打補(bǔ)丁的函數(shù)地址填入該第一函數(shù)指針數(shù)組,并產(chǎn)生相對應(yīng)的索弓I ;
[0007]將智能卡片內(nèi)操作系統(tǒng)的補(bǔ)丁程序存入EEPROM中,在所述補(bǔ)丁程序中,在固定的EEPROM地址上建立第二函數(shù)指針數(shù)組;
[0008]步驟二,在所述主程序中定義一個(gè)工作數(shù)組指針,用來存放函數(shù)指針數(shù)組的首地址;由工作數(shù)組指針來選擇第一函數(shù)指針數(shù)組或第二函數(shù)指針數(shù)組;
[0009]步驟三,在所述主程序中先確定好補(bǔ)丁程序中的第二函數(shù)指針數(shù)組的首地址和補(bǔ)丁標(biāo)識的存放地址;
[0010]步驟四,主程序執(zhí)行時(shí)先檢查是否有補(bǔ)丁標(biāo)識,若無標(biāo)識,則將第一函數(shù)指針數(shù)組的首地址付給所述工作數(shù)組指針;若發(fā)現(xiàn)補(bǔ)丁標(biāo)識,則將第二函數(shù)指針數(shù)組的首地址付給工作數(shù)組指針。
[0011]采用本發(fā)明的方法,通過兩個(gè)函數(shù)指針數(shù)組,使主程序只需在上電時(shí)判斷一次片內(nèi)操作系統(tǒng)是否有補(bǔ)丁標(biāo)識,并選擇其中的一個(gè)函數(shù)指針數(shù)組工作,之后的流程與是否有補(bǔ)丁無關(guān),即無需再判斷補(bǔ)丁標(biāo)識;片內(nèi)操作系統(tǒng)即使打補(bǔ)丁也不影響其運(yùn)行速度,提高了COS運(yùn)行效率。
【專利附圖】

【附圖說明】
[0012]下面結(jié)合附圖與【具體實(shí)施方式】對本發(fā)明作進(jìn)一步詳細(xì)的說明:[0013]附圖是智能卡片內(nèi)操作系統(tǒng)補(bǔ)丁的實(shí)現(xiàn)方法流程圖。
【具體實(shí)施方式】
[0014]所述智能卡片內(nèi)操作系統(tǒng)補(bǔ)丁的實(shí)現(xiàn)方法,將整個(gè)智能卡片內(nèi)操作系統(tǒng)分為兩個(gè)部分,一部分是存放在ROM中的主程序,另一部分是存放在EEPROM中的補(bǔ)丁程序,兩部分程序中都有一個(gè)函數(shù)指針數(shù)組。在ROM的主程序中建立第一函數(shù)指針數(shù)組,將所有需要打補(bǔ)丁的函數(shù)的地址放入在該數(shù)組中,并產(chǎn)生相對應(yīng)的索引,即用需要打補(bǔ)丁的函數(shù)地址初始化第一函數(shù)指針數(shù)組。同時(shí),在EERPOM的地址范圍內(nèi),在一個(gè)確定的地址上建立第二函數(shù)指針數(shù)組。兩個(gè)函數(shù)指針數(shù)組的索引號相同,但內(nèi)容將會有所不同;兩個(gè)函數(shù)指針數(shù)組相同的內(nèi)容是在EEPROM中沒有重復(fù)定義的補(bǔ)丁函數(shù)的地址,不同的是在開發(fā)補(bǔ)丁程序時(shí)實(shí)際已經(jīng)更新補(bǔ)丁函數(shù)的地址。即,在所述補(bǔ)丁程序中實(shí)現(xiàn)要打補(bǔ)丁的函數(shù),并將第二函數(shù)指針數(shù)組中要打補(bǔ)丁的函數(shù)地址更新為新的補(bǔ)丁函數(shù)地址;如果在所述補(bǔ)丁程序中有補(bǔ)丁函數(shù)做了重新定義,則將這個(gè)重新定義的補(bǔ)丁函數(shù)的地址更新到所述第二函數(shù)指針數(shù)組的相應(yīng)位置。
[0015]結(jié)合附圖所示,主程序執(zhí)行時(shí),用需要打補(bǔ)丁的函數(shù)地址初始化第一函數(shù)指針;主程序通過讀取EEPROM中的補(bǔ)丁標(biāo)識,判斷EEPROM中是否有補(bǔ)丁標(biāo)識;若有補(bǔ)丁標(biāo)識,則將第二函數(shù)指針數(shù)組的首地址交付給工作數(shù)組指針,若無補(bǔ)丁標(biāo)識,則將第一函數(shù)指針數(shù)組的首地址交付給工作數(shù)組指針;所述第二函數(shù)指針數(shù)組的首地址,在所述主程序中作為一個(gè)常量引用。
[0016]補(bǔ)丁程序先在第二函數(shù)指針數(shù)組中找到需要打補(bǔ)丁的函數(shù)地址,然后將該地址更換為新的補(bǔ)丁函數(shù)的地址。
[0017]在所述主程序中,所有需要打補(bǔ)丁的函數(shù)不是被直接調(diào)用,而是通過工作數(shù)組指針選擇的函數(shù)指針數(shù)組中的地址調(diào)用相應(yīng)的函數(shù)。
[0018]在所述主程序中,對于未來可能會增加的新功能,先定義一定數(shù)量的空函數(shù),即只定義函數(shù),該函數(shù)不做任何事;并將該函數(shù)當(dāng)作正常的將要打補(bǔ)丁的函數(shù)同樣處理,將所述空函數(shù)地址填入第一函數(shù)指針數(shù)組中。
[0019]存放在ROM的主程序具體實(shí)現(xiàn)方法,包括如下步驟:
[0020]步驟1,先定義一個(gè)工作數(shù)組指針,用于存放第一函數(shù)指針數(shù)組或第二函數(shù)指針數(shù)組的首地址。程序一開始,會判斷是否有補(bǔ)丁標(biāo)識(位于EEPROM的地址范圍中,事先確定為具體地址),如無補(bǔ)丁標(biāo)識,則將第一函數(shù)指針數(shù)組的首地址付給工作數(shù)組指針;如發(fā)現(xiàn)補(bǔ)丁標(biāo)識,則將第二函數(shù)指針數(shù)組的首地址付給工作數(shù)組指針。
[0021]步驟2,在主程序中,當(dāng)要調(diào)用函數(shù)時(shí),將通過工作數(shù)組指針,找到函數(shù)指針數(shù)組內(nèi)相對應(yīng)的函數(shù)地址,通過此地址調(diào)用函數(shù),實(shí)現(xiàn)功能。
[0022]存放在EEPROM中的補(bǔ)丁程序具體實(shí)現(xiàn)方法,包括如下步驟:
[0023]第I步,在確定的EEPROM地址上建立第二函數(shù)指針數(shù)組,更新真正想要打補(bǔ)丁的函數(shù),并將此函數(shù)地址寫入第二函數(shù)指針數(shù)組相應(yīng)的位置。
[0024]第2步,在EEPROM確定的地址位置上置補(bǔ)丁標(biāo)識。
[0025]補(bǔ)丁標(biāo)識是存放在EEPROM中,智能卡芯片內(nèi)的EEPR0M,在沒寫入具體值時(shí),它是一個(gè)不確定值,可以用2個(gè)字節(jié)作為標(biāo)識,如0X55AA等,這個(gè)確定的值,如果不是通過人為寫入,它是不會出現(xiàn)在EEPROM中;采用下載工具下載補(bǔ)丁時(shí),同時(shí)將此標(biāo)識寫入EEPROM中。
[0026]補(bǔ)丁標(biāo)識和補(bǔ)丁程序通過下載工具寫入EEPROM中。
[0027]實(shí)施例一,存放在ROM中的主程序代碼:
[0028]
【權(quán)利要求】
1.一種智能卡片內(nèi)操作系統(tǒng)補(bǔ)丁的實(shí)現(xiàn)方法,其特征在于: 步驟一,將智能卡片內(nèi)操作系統(tǒng)的主程序存放在ROM中,在所述主程序中建立第一函數(shù)指針數(shù)組,將要打補(bǔ)丁的函數(shù)地址填入該第一函數(shù)指針數(shù)組,并產(chǎn)生相對應(yīng)的索引; 將智能卡片內(nèi)操作系統(tǒng)的補(bǔ)丁程序存入EEPROM中,在所述補(bǔ)丁程序中,在固定的EEPROM地址上建立第二函數(shù)指針數(shù)組; 步驟二,在所述主程序中定義一個(gè)工作數(shù)組指針,用來存放函數(shù)指針數(shù)組的首地址;由工作數(shù)組指針來選擇第一函數(shù)指針數(shù)組或第二函數(shù)指針數(shù)組; 步驟三,在所述主程序中先確定好補(bǔ)丁程序中的第二函數(shù)指針數(shù)組的首地址和補(bǔ)丁標(biāo)識的存放地址; 步驟四,主程序執(zhí)行時(shí)先檢查是否有補(bǔ)丁標(biāo)識,若無標(biāo)識,則將第一函數(shù)指針數(shù)組的首地址付給所述工作數(shù)組指針;若發(fā)現(xiàn)補(bǔ)丁標(biāo)識,則將第二函數(shù)指針數(shù)組的首地址付給工作數(shù)組指針。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于:在所述主程序中,所有需要打補(bǔ)丁的函數(shù)不是被直接調(diào)用,而是通過函數(shù)指針數(shù)組中的地址調(diào)用相應(yīng)的函數(shù)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于:在所述主程序中,對于未來會增加的新功能,先定義一定數(shù)量的空函數(shù),即只定義函數(shù),該函數(shù)不做任何事;并將該函數(shù)當(dāng)作正常的將要打補(bǔ)丁的函數(shù)同樣處理,將所述空函數(shù)地址填入第一函數(shù)指針數(shù)組中。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于:兩個(gè)函數(shù)指針數(shù)組的索引號相同,并且具有相同的在EEPROM中沒有重復(fù)定義的補(bǔ)丁函數(shù)的地址。
5.根據(jù)權(quán)利要求1或4所述的方法,其特征在于:在所述補(bǔ)丁程序中實(shí)現(xiàn)要打補(bǔ)丁的函數(shù),并將第二函數(shù)指針數(shù)組中要打補(bǔ)丁的函數(shù)地址更新為新的補(bǔ)丁函數(shù)地址;如果在所述補(bǔ)丁程序中有補(bǔ)丁函數(shù)做了重新定義,則將這個(gè)重新定義的補(bǔ)丁函數(shù)的地址更新到所述第二函數(shù)指針數(shù)組的相應(yīng)位置。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于:所述第二函數(shù)指針數(shù)組的首地址,在所述主程序中作為一個(gè)常量引用。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于:所述補(bǔ)丁標(biāo)識為2字節(jié),存放在EEPROM中;智能卡芯片內(nèi)的EEPR0M,在沒寫入具體值時(shí),它是一個(gè)不確定值。
【文檔編號】G06F9/445GK103927189SQ201310009473
【公開日】2014年7月16日 申請日期:2013年1月11日 優(yōu)先權(quán)日:2013年1月11日
【發(fā)明者】劉玉兵 申請人:上海華虹集成電路有限責(zé)任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
绵竹市| 余干县| 大港区| 隆尧县| 西宁市| 华池县| 安阳市| 阿克苏市| 永康市| 河间市| 巴里| 沅江市| 鲁山县| 江都市| 昂仁县| 文山县| 海南省| 锡林浩特市| 酉阳| 江永县| 九龙城区| 福建省| 淄博市| 三穗县| 芷江| 永寿县| 河源市| 马龙县| 渝北区| 武功县| 隆安县| 武威市| 揭阳市| 神池县| 博湖县| 宽甸| 阆中市| 四川省| 青阳县| 石台县| 龙川县|