專(zhuān)利名稱(chēng):片內(nèi)操作系統(tǒng)下載的方法、片內(nèi)操作系統(tǒng)和智能卡的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及智能卡技術(shù)領(lǐng)域,特別是涉及一種片內(nèi)操作系統(tǒng)下載的方法、一種片 內(nèi)操作系統(tǒng)和一種智能卡。
背景技術(shù):
伴隨著智能卡的發(fā)展,人們利用其內(nèi)部的微處理器芯片,開(kāi)發(fā)了應(yīng)用于智能卡內(nèi) 部的各種各樣的操作系統(tǒng),即cos。COS的全稱(chēng)是Chip OperatingSystem(片內(nèi)操作系統(tǒng)), 它一般是緊緊圍繞著它所服務(wù)的智能卡的特點(diǎn)而開(kāi)發(fā)的,即COS是一個(gè)專(zhuān)用系統(tǒng)而不是通 用系統(tǒng),一種COS —般都只能應(yīng)用于特定的某種(或者某些)智能卡,不同卡內(nèi)的COS—般 是不同的。傳統(tǒng)的COS下載通常按以下過(guò)程進(jìn)行首先,芯片在下載COS前稱(chēng)為白卡狀態(tài),白卡狀態(tài)的卡片由Loader (加載器)程序 控制所有命令的運(yùn)行;其中,Loader程序是預(yù)置于白卡中的一段程序,用于控制COS下載, 所以在下載完成COS之前Loader程序不能被修改,否則下載COS不能成功;其次,通過(guò)Loader程序提供的命令接口,將COS程序下載到卡片中,當(dāng)COS程序下 載完成后,卡片的控制權(quán)會(huì)交給C0S,也就是說(shuō)卡片的命令處理全部由COS完成,而Loader 程序目前沒(méi)有用處;再者,當(dāng)卡片需要恢復(fù)為白卡狀態(tài)時(shí),需要進(jìn)行一個(gè)反向的操作,即先通過(guò)一條私 有的APDU(應(yīng)用協(xié)議數(shù)據(jù)單元,Application Protocol Data Unit)命令將卡片的控制權(quán) 由COS交給Loader程序,這時(shí)卡片的命令全部由Loader程序控制。然后通過(guò)Loader程序 提供的一條擦除卡片的APDU命令擦除C0S,這時(shí)卡片即轉(zhuǎn)為了白卡狀態(tài)??梢钥闯觯诳ㄆ恼麄€(gè)生命周期中,Loader程序一直存在于卡片中并且不能被 破壞,否則就造成卡片不能正常下載COS或者不能恢復(fù)為白卡狀態(tài)。但是,對(duì)于采用Flash外存的Flash卡片來(lái)說(shuō),其內(nèi)部的Flash空間一般會(huì)劃分為 如下幾塊存放COS的COS區(qū)、存放Loader程序的Loader區(qū)和為用戶(hù)預(yù)留的用戶(hù)區(qū)。通 常,F(xiàn)lash空間為固定大小也即智能卡的存儲(chǔ)空間有限,Loader區(qū)會(huì)占用幾K的空間,COS 區(qū)所占用的空間時(shí)大時(shí)小,用戶(hù)往往對(duì)用戶(hù)區(qū)空間的大小有一定要求;這樣,在COS代碼量 相對(duì)較大的情況下,COS區(qū)所占用的空間就會(huì)相應(yīng)的變大,導(dǎo)致用戶(hù)區(qū)的空間縮小,也即不 再滿(mǎn)足用戶(hù)的要求??傊枰绢I(lǐng)域技術(shù)人員迫切解決的一個(gè)技術(shù)問(wèn)題就是如何能夠增加上述情 形下的用戶(hù)區(qū)空間。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種片內(nèi)操作系統(tǒng)下載的方法、一種片內(nèi)操作 系統(tǒng)和一種智能卡,能夠節(jié)省智能卡的Flash空間,從而滿(mǎn)足用戶(hù)區(qū)空間的需求。為了解決上述問(wèn)題,本發(fā)明公開(kāi)了一種片內(nèi)操作系統(tǒng)下載的方法,包括
將片內(nèi)操作系統(tǒng)程序拆分為主程序和輔程序,其中,輔程序的大小不超過(guò)智能卡 的加載器區(qū)的大??;調(diào)用位于所述加載器區(qū)的加載器程序,將主程序編譯后下載至智能卡的片內(nèi)操作 系統(tǒng)區(qū);通過(guò)主程序控制擦除所述加載器區(qū),以及,將所述輔程序編譯后下載至所述加載 器區(qū)。優(yōu)選的,所述將片內(nèi)操作系統(tǒng)程序拆分為主程序和輔程序的步驟,包括從所述片內(nèi)操作系統(tǒng)程序中減去若干功能獨(dú)立的函數(shù),并依據(jù)所述若干功能獨(dú)立 的函數(shù)生成輔程序,以減去所述若干功能獨(dú)立的函數(shù)后的片內(nèi)操作系統(tǒng)程序作為主程序;在主程序中定義供輔程序定義的接口,以及,在輔程序中定義供主程序調(diào)用的接優(yōu)選的,步驟將主程序編譯包括對(duì)所述主程序進(jìn)行編譯,轉(zhuǎn)換為所述加載器程序 支持的第一下載格式文件,和/或,步驟將輔程序編譯包括對(duì)所述輔程序進(jìn)行編譯,轉(zhuǎn)換為所述主程序支持 的第二下載格式文件。優(yōu)選的,所述方法還包括通過(guò)主程序控制恢復(fù)所述加載器區(qū),包括擦除所述加載器區(qū),將加載器程序編譯 后下載至所述加載器區(qū)。優(yōu)選的,步驟將加載器程序編譯包括獲取加載器程序后將其轉(zhuǎn)換為主程序支持的第三下載格式文件。優(yōu)選的,所述方法還包括通過(guò)加載器程序控制擦除所述片內(nèi)操作系統(tǒng)區(qū)。另一方面,本發(fā)明還公開(kāi)了一種片內(nèi)操作系統(tǒng),所述片內(nèi)操作系統(tǒng)的程序包括主 程序和輔程序,所述主程序存儲(chǔ)于智能卡的片內(nèi)操作系統(tǒng)區(qū),所述輔程序存儲(chǔ)于智能卡的 加載器區(qū);其中,所述輔程序的大小不超過(guò)所述加載器區(qū)的大小。優(yōu)選的,在所述智能卡需要修改或恢復(fù)為白卡時(shí),所述輔程序被擦除,所述加載器 區(qū)用于存儲(chǔ)加載器程序。優(yōu)選的,在所述智能卡需要修改或恢復(fù)為白卡時(shí),所述主程序被擦除。另一方面,本發(fā)明還公開(kāi)了一種智能卡,包括權(quán)利要求7-9任一所述的片內(nèi)操作 系統(tǒng)。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)本發(fā)明將COS程序拆分為主程序和輔程序,并且,通過(guò)Loader程序?qū)⒅鞒绦蚓幾g 后下載至COS區(qū),以及,通過(guò)主程序控制將輔程序編譯后下載至Loader區(qū);由于輔程序的大 小不會(huì)超過(guò)智能卡的Loader區(qū)的大小,其可以復(fù)用Loader區(qū);因此,相對(duì)于已有方法COS 區(qū)存儲(chǔ)所有的COS程序,由于本發(fā)明的COS區(qū)僅存儲(chǔ)COS的主程序,故可以節(jié)省COS區(qū)的輔 程序所占用的那部分空間,因此,本發(fā)明能夠節(jié)省智能卡的Flash空間,從而滿(mǎn)足用戶(hù)對(duì)于 用戶(hù)區(qū)空間的需求。另外,對(duì)于下載COS后需要進(jìn)行修卡或擦空為白卡的情形,本發(fā)明還可以通過(guò)主程序控制恢復(fù)所述加載器區(qū),其中,在將加載器程序編譯后下載至所述加載器區(qū)前,會(huì)通過(guò) 擦除所述加載器區(qū)使輔程序讓出Loader區(qū),最終達(dá)到修卡或擦空為白卡的目的??傊景l(fā)明可以通過(guò)采用Loader區(qū)交替存儲(chǔ)Loader程序或COS的輔程序,以達(dá) 到COS的輔程序復(fù)用Loader區(qū)空間的目的,從而節(jié)省COS的輔程序所占用的那部分空間。
圖1是本發(fā)明一種片內(nèi)操作系統(tǒng)下載的方法實(shí)施例1的流程圖;圖2是本發(fā)明一種Flash空間的示例;圖3是本發(fā)明一種片內(nèi)操作系統(tǒng)下載的方法示例的流程圖;圖4是本發(fā)明一種片內(nèi)操作系統(tǒng)下載的方法實(shí)施例2的流程圖;圖5是本發(fā)明一種片內(nèi)操作系統(tǒng)實(shí)施例的結(jié)構(gòu)圖;圖6是本發(fā)明一種智能卡實(shí)施例的結(jié)構(gòu)圖。
具體實(shí)施例方式為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí) 施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。首先,根據(jù)Loader程序和COS的原理,可以得知,卡片控制權(quán)的轉(zhuǎn)移有兩種,一是 COS下載引起的控制權(quán)從Loader程序到COS的轉(zhuǎn)移;二是卡片恢復(fù)為白卡狀態(tài)所引起的控 制權(quán)從COS到Loader程序的轉(zhuǎn)移。其次,對(duì)于Loader程序,由于其是用來(lái)下載COS用的,其只在掌握卡片控制權(quán)時(shí)才 會(huì)起作用,而當(dāng)COS下載完畢后,其對(duì)用戶(hù)是沒(méi)有用的。對(duì)于C0S,其也只在掌握卡片控制權(quán) 時(shí)才會(huì)起作用。再者,無(wú)論卡片控制權(quán)的歸屬如何,如果能夠讓Loader程序和COS復(fù)用部分Flash 空間,并且,在卡片控制權(quán)發(fā)生轉(zhuǎn)移時(shí)讓出所占用的Flash空間,那么,將能夠節(jié)省復(fù)用的 這部分Flash空間。進(jìn)一步,在實(shí)際應(yīng)用中,Loader區(qū)空間一般小于COS區(qū)空間。綜上,本發(fā)明實(shí)施例的核心構(gòu)思之一在于,通過(guò)將COS程序拆分為主程序和輔程 序,使得Loader程序和COS的輔程序復(fù)用Loader區(qū)空間。參照?qǐng)D1,示出了本發(fā)明一種片內(nèi)操作系統(tǒng)下載的方法實(shí)施例1的流程圖,具體可 以包括步驟101、將COS程序拆分為主程序和輔程序,其中,輔程序的大小不超過(guò)智能卡 的Loader區(qū)的大小;本發(fā)明可以應(yīng)用于各種Flash卡片,如SIM用戶(hù)身份識(shí)別模塊,Subscriber Identity Module)卡、電卡等,用以節(jié)省這些卡片的Flash空間,從而滿(mǎn)足用戶(hù)對(duì)于用戶(hù)區(qū) 空間的需求。為了實(shí)現(xiàn)Loader程序和COS的輔程序復(fù)用Loader區(qū)空間的目的,本發(fā)明實(shí)施例 的COS程序拆分應(yīng)滿(mǎn)足如下條件1、智能卡要下載程序,都需要將程序編譯后的二進(jìn)制碼轉(zhuǎn)化為某種格式的文件形 式,然后通過(guò)讀卡器下載到卡片中。例如目前是一張白卡,卡片中只有Loader程序,要下載COS的話(huà),需要將COS程序編譯出來(lái)的二進(jìn)制碼轉(zhuǎn)化為L(zhǎng)oader程序支持的由多條APDU 命令組成的文件形式,然后才可以通過(guò)讀卡器下載到卡片中。因此,本發(fā)明實(shí)施例將輔程序的大小不應(yīng)超過(guò)智能卡的Loader區(qū)的大小,作為復(fù) 用Loader區(qū)空間的最基本條件。2、在卡片控制權(quán)從Loader程序向COS轉(zhuǎn)移時(shí),為了使Loader程序讓出Loader區(qū), 那么,輔程序的下載應(yīng)晚于主程序;以及,在卡片控制權(quán)從COS向Loader程序轉(zhuǎn)移時(shí),為了 使輔程序讓出Loader區(qū),那么,輔程序的擦除應(yīng)早于主程序。綜上,確定了主程序和輔程序的功能分配,也即,本發(fā)明實(shí)施例的COS程序拆分的 依據(jù)拆分后的主程序掌握卡片控制權(quán),其應(yīng)具備基本讀寫(xiě)、下載等主要功能;拆分后的輔 程序具有輔助功能,如交互功能等各種應(yīng)用功能。在本發(fā)明的一種優(yōu)選實(shí)施例中,可提供如下COS程序拆分方案,具體可以包括子步驟Al、從所述COS程序中減去若干功能獨(dú)立的函數(shù),并依據(jù)所述若干功能獨(dú) 立的函數(shù)生成輔程序,以減去所述若干功能獨(dú)立的函數(shù)后的COS程序作為主程序;子步驟A2、在主程序中定義供輔程序定義的接口,以及,在輔程序中定義供主程序 調(diào)用的接口。在實(shí)際中,所述若干功能獨(dú)立的函數(shù)主要可以包括一些算法和應(yīng)用程序的 APKApplication Programming hterface,應(yīng)用程序編程接口);由于僅從原有COS程序 中減去了所述若干功能獨(dú)立的函數(shù),拆分后的仍然具有原有COS程序的主體函數(shù),因此,主 程序具備基本讀寫(xiě)、下載等主要功能,且在被下載后掌握卡片控制權(quán)。本發(fā)明將主程序編譯的步驟可以包括對(duì)所述主程序進(jìn)行編譯,轉(zhuǎn)換為所 述Loader程序支持的第一下載格式文件;優(yōu)選的,所述第一下載格式文件可以包括 Hexdntel HEX)文件,Hex文件是由一行行符合htel HEX文件格式的文本所構(gòu)成的ASCII 文本文件和/或,將輔程序編譯的步驟可以包括對(duì)所述輔程序進(jìn)行編譯,轉(zhuǎn)換為所述主程 序編譯后支持的第二下載格式文件;優(yōu)選的,所述第二下載格式文件可以包括PRG文件,這 里,PRG是foxbase/foxpro的程序文件,在DOS下可以用foxbase/foxpro來(lái)打開(kāi)或執(zhí)行, Windows下可以用Visual Foxpro打開(kāi)或執(zhí)行。在執(zhí)行子步驟Al生成輔程序的過(guò)程中,可以通過(guò)編譯不斷檢測(cè)輔程序的方式,將 輔程序的大小控制在智能卡的Loader區(qū)的大小之內(nèi)。假設(shè)智能卡的Loader區(qū)的大小為 IOk,且從所述COS程序中減去的10個(gè)功能獨(dú)立的函數(shù)所生成輔程序在編譯后顯示的大小 為8k,此時(shí),8k < 10k,可以滿(mǎn)足條件,但優(yōu)選地,為了更好地復(fù)用Loader區(qū)的所有空間, 以及為了減少主程序編譯后所占用的Flash空間,還可以增加功能獨(dú)立的函數(shù)的數(shù)目,例 如,從所述COS程序中減去的14個(gè)功能獨(dú)立的函數(shù)所生成輔程序在編譯后顯示的大小正 好為10k,此時(shí),則可以最大限度地復(fù)用Loader區(qū)的所有空間,從而能夠大大節(jié)省智能卡的 Flash空間。步驟102、調(diào)用位于所述Loader區(qū)的Loader程序,將主程序編譯后下載至智能卡 的COS區(qū);本步驟通過(guò)下載主程序后,來(lái)完成卡片控制權(quán)從Loader程序到主程序的轉(zhuǎn)移,也 就轉(zhuǎn)移到COS來(lái)控制。在實(shí)際中,可依據(jù)APDU(應(yīng)用協(xié)議數(shù)據(jù)單元)命令,調(diào)用所述Loader程序,本發(fā)明對(duì)具體的調(diào)用方式不加以限制。步驟103、通過(guò)主程序控制擦除所述Loader區(qū),以及,將所述輔程序編譯后下載至 所述Loader區(qū)。在所述主程序掌握卡片控制權(quán)后,由于其具備基本讀寫(xiě)功能,故本步驟通過(guò)調(diào)用 其來(lái)擦除所述Loader區(qū),使Loader程序讓出Loader區(qū)。在實(shí)際中,所述主程序可通過(guò)私 有APDU命令將loader程序擦除;例如,向智能卡發(fā)送一條0002000000命令,在收到這條命 令后,所述主程序即對(duì)loader區(qū)進(jìn)行擦除。另外,由于所述主程序具備下載功能,本步驟還可以通過(guò)調(diào)用其來(lái)下載所述輔程 序后,使輔程序占用Loader區(qū)。在實(shí)際中,所述主程序也可通過(guò)私有APDU命令下載輔程序; 例如,向智能卡發(fā)送84DE0200050102030405,表示向智能卡0200這個(gè)地址寫(xiě)入5個(gè)字節(jié) 0102030405。參考圖2,示出了本發(fā)明一種Flash空間的示例,其具體可以包括Loader區(qū)201、 COS區(qū)202和用戶(hù)區(qū)203,其中,Loader區(qū)201用來(lái)交替存儲(chǔ)Loader程序或COS的輔程序, 以達(dá)到COS的輔程序復(fù)用Loader區(qū)空間的目的;COS區(qū)202用來(lái)存儲(chǔ)COS的主程序,用戶(hù) 區(qū)203為用戶(hù)預(yù)留區(qū)域??梢钥闯?,相對(duì)于已有方法COS區(qū)存儲(chǔ)所有的COS程序,由于本發(fā) 明的COS區(qū)僅存儲(chǔ)COS的主程序,故可以節(jié)省COS的輔程序所占用的那部分空間,也即,本 發(fā)明能夠減少COS區(qū)空間的大小,節(jié)省智能卡的Flash空間,從而滿(mǎn)足用戶(hù)對(duì)于用戶(hù)區(qū)空間 的需求。需要說(shuō)明的是,圖2只是作為示例,實(shí)際上,本發(fā)明中COS區(qū)202可以指Flash空間 中除Loader區(qū)201外的任意空間區(qū)域,其地址空間可由本領(lǐng)域技術(shù)人員根據(jù)需要來(lái)配置, 例如可以配置為連續(xù)或者不連續(xù),本發(fā)明對(duì)具體的COS區(qū)不加以限制。以下通過(guò)圖3所示的本發(fā)明一種片內(nèi)操作系統(tǒng)下載的方法示例為使本領(lǐng)域技術(shù) 人員更好地理解本發(fā)明,具體可以包括步驟301、在白卡狀態(tài),卡片由Loader程序控制;步驟302、將COS程序拆分為主程序和輔程序,其中,輔程序的大小不超過(guò)智能卡 的Loader區(qū)的大??;步驟303、對(duì)所述主程序進(jìn)行編譯,轉(zhuǎn)換為所述Loader程序支持的第一下載格式 文件Hex ;步驟304、對(duì)所述輔程序進(jìn)行編譯,轉(zhuǎn)換為所述主程序支持的第二下載格式文件 PRG ;步驟305、通過(guò)Loader程序下載Hex到卡片中,由COS掌握卡片控制權(quán);步驟306、通過(guò)COS擦除Loader區(qū);步驟307、通過(guò)COS下載RRG到Loader區(qū),完成COS下載。參照?qǐng)D4,示出了本發(fā)明一種片內(nèi)操作系統(tǒng)下載的方法實(shí)施例2的流程圖,具體可 以包括步驟401、將COS程序拆分為主程序和輔程序,其中,輔程序的大小不超過(guò)智能卡 的Loader區(qū)的大??;步驟402、調(diào)用位于所述Loader區(qū)的Loader程序,將主程序編譯后下載至智能卡 的COS區(qū);
步驟403、通過(guò)主程序控制擦除所述Loader區(qū),以及,將所述輔程序編譯后下載至 所述Loader區(qū);步驟404、通過(guò)主程序控制恢復(fù)所述Loader區(qū),具體可以包括步驟441、擦除所述Loader區(qū);步驟442、將Loader程序編譯后下載至所述Loader區(qū)。由于卡片下載COS后有可能需要進(jìn)行修卡或擦空為白卡的處理,故本實(shí)施例相對(duì) 于實(shí)施例1,增加了步驟404的處理方法。由于此時(shí)Loader程序已被COS擦除,故在及轉(zhuǎn)移卡片控制權(quán)之前,需要將芯片的 Loader程序恢復(fù),本實(shí)施例正是通過(guò)步驟404來(lái)實(shí)現(xiàn)Loader程序的恢復(fù)。在本發(fā)明的一種優(yōu)選實(shí)施例中,可將Loader程序編譯的步驟可以包括獲取 Loader程序后,將其轉(zhuǎn)換為主程序支持的第三下載格式文件。在實(shí)際中,可由芯片廠商提供loader程序編譯后的二進(jìn)制碼的文件。要下載 Loader程序的話(huà),需要將loader程序編譯后的二進(jìn)制碼的文件轉(zhuǎn)化為主程序支持的由多 條APDU組成的文件形式,然后才可以通過(guò)讀卡器下載到卡片中。因此,上述得到的第三下 載格式文件,就是一種依據(jù)Loader程序編譯出來(lái)的二進(jìn)制碼轉(zhuǎn)換后形成的文件,其可由多 條APDU命令組成,并且這些APDU命令是COS的主程序能夠支持的。在實(shí)際中,下載了 Loader程序,即可意味著完成了卡片控制權(quán)從主程序到Loader 程序的轉(zhuǎn)移。在本發(fā)明的一種優(yōu)選實(shí)施例中,為了下次COS下載的便利性,還可以包括通 過(guò)加載器程序控制擦除所述COS區(qū),這里的控制也可依據(jù)APDU命令來(lái)實(shí)現(xiàn),具體參照前述 APDU命令,在此不作贅述。對(duì)于方法實(shí)施例2而言,由于其與方法實(shí)施例1基本相似,所以描述的比較簡(jiǎn)單, 相關(guān)之處參見(jiàn)方法實(shí)施例1的部分說(shuō)明即可。前述片內(nèi)操作系統(tǒng)的下載方法實(shí)施例可用于實(shí)際的片內(nèi)操作系統(tǒng)中,本發(fā)明還公 開(kāi)了一種片內(nèi)操作系統(tǒng)實(shí)施例,參照?qǐng)D5,所述片內(nèi)操作系統(tǒng)的程序5A具體可以包括主程 序501和輔程序502,所述主程序501可存儲(chǔ)于智能卡的片內(nèi)操作系統(tǒng)區(qū),所述輔程序502 可存儲(chǔ)于智能卡的加載器區(qū);其中,所述輔程序502的大小不超過(guò)所述加載器區(qū)的大小。上述實(shí)施例適用于將COS程序成功下載到智能卡后、所述COS程序在智能卡中的 分布存儲(chǔ);其中,所述COS程序的拆分及具體的COS程序下載過(guò)程請(qǐng)參照片內(nèi)操作系統(tǒng)下載 的方法實(shí)施例,在此不作贅述。實(shí)際應(yīng)用中,對(duì)于成功下載COS程序后的智能卡,還有可能對(duì)其進(jìn)行修卡或擦空 為白卡的處理,此時(shí)需要將智能卡的Loader程序恢復(fù)。因此,在本發(fā)明的一種優(yōu)選實(shí)施例 中,在所述智能卡需要修改或恢復(fù)為白卡時(shí),所述輔程序502可被擦除,而所述加載器區(qū)可 用于存儲(chǔ)加載器程序。在本發(fā)明的另一種優(yōu)選實(shí)施例中,在所述智能卡需要修改或恢復(fù)為白卡時(shí),所述 主程序501也可被擦除。對(duì)于片內(nèi)操作系統(tǒng)實(shí)施例而言,由于其與片內(nèi)操作系統(tǒng)下載的方法實(shí)施例基本相 似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)片內(nèi)操作系統(tǒng)下載的方法實(shí)施例的部分說(shuō)明即可。前述片內(nèi)操作系統(tǒng)實(shí)施例可用于實(shí)際的智能卡中,參照?qǐng)D6,示出了本發(fā)明一種智能卡實(shí)施例的結(jié)構(gòu)圖,具體可以包括片內(nèi)操作系統(tǒng)601、片內(nèi)操作系統(tǒng)區(qū)602和加載器區(qū) 603,其特征在于,所述片內(nèi)操作系統(tǒng)的程序6A具體可以包括主程序611和輔程序612,所述 片內(nèi)操作系統(tǒng)區(qū)602主要用于存儲(chǔ)所述主程序611 ;所述加載器區(qū)603主要用于存儲(chǔ)所述 輔程序612;其中,所述輔程序612的大小不超過(guò)所述加載器區(qū)602的大小。上述實(shí)施例適用于將COS程序成功下載到智能卡后、所述片內(nèi)操作系統(tǒng)區(qū)602和 加載器區(qū)603的分布存儲(chǔ);其中,所述COS程序的拆分及具體的COS程序下載過(guò)程請(qǐng)參照片 內(nèi)操作系統(tǒng)下載的方法實(shí)施例,在此不作贅述。實(shí)際應(yīng)用中,對(duì)于成功下載COS程序后的智能卡,還有可能對(duì)其進(jìn)行修卡或擦空 為白卡的處理,此時(shí)需要將智能卡的Loader程序恢復(fù)。因此,在本發(fā)明的一種優(yōu)選實(shí)施例 中,在所述智能卡需要修改或恢復(fù)為白卡時(shí),所述加載器區(qū)603還可用于存儲(chǔ)加載器程序, 此時(shí),所述輔程序612則被擦除。在本發(fā)明的另一種優(yōu)選實(shí)施例中,在所述智能卡需要修改或恢復(fù)為白卡時(shí),所述 主程序611也可被擦除。對(duì)于智能卡實(shí)施例而言,由于其與片內(nèi)操作系統(tǒng)下載的方法和片內(nèi)操作系統(tǒng)實(shí)施 例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)片內(nèi)操作系統(tǒng)下載的方法實(shí)施例和片內(nèi) 操作系統(tǒng)實(shí)施例的部分說(shuō)明即可。以上對(duì)本發(fā)明所提供的一種片內(nèi)操作系統(tǒng)下載的方法、一種片內(nèi)操作系統(tǒng)和一種 智能卡,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述, 以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一 般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所 述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種片內(nèi)操作系統(tǒng)下載的方法,其特征在于,包括將片內(nèi)操作系統(tǒng)程序拆分為主程序和輔程序,其中,輔程序的大小不超過(guò)智能卡的加 載器區(qū)的大??;調(diào)用位于所述加載器區(qū)的加載器程序,將主程序編譯后下載至智能卡的片內(nèi)操作系統(tǒng)區(qū);通過(guò)主程序控制擦除所述加載器區(qū),以及,將所述輔程序編譯后下載至所述加載器區(qū)。
2.如權(quán)利要求1所述的方法,其特征在于,所述將片內(nèi)操作系統(tǒng)程序拆分為主程序和 輔程序的步驟,包括從所述片內(nèi)操作系統(tǒng)程序中減去若干功能獨(dú)立的函數(shù),并依據(jù)所述若干功能獨(dú)立的函 數(shù)生成輔程序,以減去所述若干功能獨(dú)立的函數(shù)后的片內(nèi)操作系統(tǒng)程序作為主程序; 在主程序中定義供輔程序定義的接口,以及,在輔程序中定義供主程序調(diào)用的接口。
3.如權(quán)利要求1所述的方法,其特征在于,步驟將主程序編譯包括對(duì)所述主程序進(jìn)行 編譯,轉(zhuǎn)換為所述加載器程序支持的第一下載格式文件,和/或,步驟將輔程序編譯包括對(duì)所述輔程序進(jìn)行編譯,轉(zhuǎn)換為所述主程序支持的第 二下載格式文件。
4.如權(quán)利要求1所述的方法,其特征在于,還包括通過(guò)主程序控制恢復(fù)所述加載器區(qū),包括擦除所述加載器區(qū),將加載器程序編譯后下 載至所述加載器區(qū)。
5.如權(quán)利要求4所述的方法,其特征在于,步驟將加載器程序編譯包括 獲取加載器程序后將其轉(zhuǎn)換為主程序支持的第三下載格式文件。
6.如權(quán)利要求5所述的方法,其特征在于,還包括 通過(guò)加載器程序控制擦除所述片內(nèi)操作系統(tǒng)區(qū)。
7.一種片內(nèi)操作系統(tǒng),其特征在于,所述片內(nèi)操作系統(tǒng)的程序包括主程序和輔程序,所 述主程序存儲(chǔ)于智能卡的片內(nèi)操作系統(tǒng)區(qū),所述輔程序存儲(chǔ)于智能卡的加載器區(qū);其中,所述輔程序的大小不超過(guò)所述加載器區(qū)的大小。
8.如權(quán)利要求7所述的片內(nèi)操作系統(tǒng),其特征在于,在所述智能卡需要修改或恢復(fù)為 白卡時(shí),所述輔程序被擦除,所述加載器區(qū)用于存儲(chǔ)加載器程序。
9.如權(quán)利要求7所述的片內(nèi)操作系統(tǒng),其特征在于,在所述智能卡需要修改或恢復(fù)為 白卡時(shí),所述主程序被擦除。
10.一種智能卡,包括權(quán)利要求7-9任一所述的片內(nèi)操作系統(tǒng)。
全文摘要
本發(fā)明提供了一種片內(nèi)操作系統(tǒng)下載的方法、一種片內(nèi)操作系統(tǒng)和一種智能卡,其中的方法具體包括將片內(nèi)操作系統(tǒng)程序拆分為主程序和輔程序,其中,輔程序的大小不超過(guò)智能卡的加載器區(qū)的大?。徽{(diào)用位于所述加載器區(qū)的加載器程序,將主程序編譯后下載至智能卡的片內(nèi)操作系統(tǒng)區(qū);通過(guò)主程序控制擦除所述加載器區(qū),以及,將所述輔程序編譯后下載至所述加載器區(qū)。本發(fā)明能夠節(jié)省智能卡的Flash空間,從而滿(mǎn)足用戶(hù)區(qū)空間的需求。
文檔編號(hào)G06K1/12GK102110004SQ20111004786
公開(kāi)日2011年6月29日 申請(qǐng)日期2011年2月28日 優(yōu)先權(quán)日2011年2月28日
發(fā)明者崔毅 申請(qǐng)人:北京握奇數(shù)據(jù)系統(tǒng)有限公司