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

控制智能卡flash空間大小的方法

文檔序號:6358011閱讀:183來源:國知局
專利名稱:控制智能卡flash空間大小的方法
技術(shù)領(lǐng)域
本發(fā)明涉及智能卡芯片引導加載程序的開發(fā)領(lǐng)域,尤其涉及一種在引導加載程序中利用MPU (Memory Protect Unit存儲器保護單元)和ARM本身的工作特性來控制智能卡FLASH(快速閃存)空間大小的方法。
背景技術(shù)
隨著IC(Integrated Circuits集成電路)設計與制造技術(shù)的發(fā)展,智能卡的設計規(guī)模越來越大。為了節(jié)約成本,在同一款產(chǎn)品上面根據(jù)不同的需求來進行不同的配置就顯得尤為重要。尤其是FLASH模塊,不同的應用,對FLASH空間的大小需求是不一樣的。如果在智能卡芯片設計階段來劃分不同的FLASH空間,即由硬件來控制FLASH空間大小,這樣不但增加了工作量和成本,而且一旦需求發(fā)生變化,也將給產(chǎn)品的推廣和使用帶來風險和不便。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種控制智能卡FLASH空間大小的方法,它可以減小硬件開發(fā)成本,提高產(chǎn)品靈活性。為解決上述技術(shù)問題,本發(fā)明的控制智能卡FLASH空間大小的方法是采用如下技術(shù)方案實現(xiàn)的所述智能卡包括一微控制器,該微控制器采用ARM系列的CPU,所述微控制器內(nèi)集成有MPU以及用作存儲器的閃存;所述智能卡包含片上引導加載程序;其中步驟一、在所述引導加載程序中根據(jù)不同用戶的不同應用需求來劃分FLASH空間,將FLASH分成用戶需要使用的區(qū)域和用戶不需要使用的區(qū)域,并對不同的區(qū)域進行權(quán)限設置;步驟二、在所述引導加載程序中切換ARM的工作模式,將ARM的工作模式從特權(quán)模式切換到用戶模式,以保證用戶在用戶模式下無法再通過MPU修改之前的設置。重復上述步驟,開發(fā)不同F(xiàn)LASH空間大小的引導加載程序以滿足不同的用戶需求。所述步驟一中,在引導加載程序中使用MPU來劃分FLASH的區(qū)域(即空間大小)并且對不同區(qū)域進行權(quán)限設置。所述步驟二中,在引導加載程序中利用ARM本身具有的特權(quán)模式和用戶模式兩種工作模式的特性,將ARM的工作模式從特權(quán)模式切換至用戶模式。在智能卡設計軟件中,引導加載程序是系統(tǒng)加電后運行的第一段軟件代碼,用來加載用戶程序并配置其運行環(huán)境。如果在引導加載程序中對FLASH空間大小進行配置,那么可以把同一種硬件設計的智能卡配置成多款不同的產(chǎn)品。本發(fā)明利用MPU以及ARM的工作模式切換,在智能卡的引導加載程序中采用軟件方法替代硬件來控制智能卡FLASH空間的大小,這樣就將同一種硬件設計的智能卡配置成多款不同的產(chǎn)品,不僅大大減少了硬件開發(fā)的成本,而且利用引導加載程序可反復修改的性能,還提高了產(chǎn)品開發(fā)的靈活性。


下面結(jié)合附圖與具體實施方式
對本發(fā)明作進一步詳細的說明附圖是采用本發(fā)明實施例的智能卡存儲結(jié)構(gòu)及引導示意圖。
具體實施例方式為對本發(fā)明的技術(shù)內(nèi)容、特點與功效有更具體的了解,現(xiàn)結(jié)合圖示的實施方式,詳述如下在智能卡產(chǎn)品中,其MCU(微控制器)采用片內(nèi)快速閃存(FLASH)作為程序存儲器。在低端智能卡中,一般64KB (千字節(jié))的FLASH的空間就能夠開發(fā)應用程序;而在高端 智能卡中,應用比較多,對FLASH的空間要求就很大,可能用到256KB、384KB甚至更大。在包含協(xié)處理器MPU的智能卡中,MPU能夠提供從地址0開始的IMB (兆字節(jié))范圍內(nèi)的存儲器分開權(quán)限設置保護。通過MPU可將IMB內(nèi)的存儲器最多分成8個區(qū)域,每個區(qū)域不小于64個字節(jié);設置后,這8個區(qū)域就擁有各自的權(quán)限屬性。權(quán)限包括是否允許對該區(qū)域內(nèi)的地址進行讀和寫,讀和寫是否允許以特權(quán)模式訪問或是以用戶模式訪問;通過MPU可以實現(xiàn)對FLASH空間進行劃分并設置權(quán)限屬性的目的。在米用ARM (Advanced RISC Machines)系列的 CPU (Central Processing Unit 中央處理器)的智能卡中,CPU有兩種工作模式,一種是特權(quán)模式,另一種是用戶模式。在特權(quán)模式下,程序可以修改MPU的設置;而在用戶模式下,程序不可修改MPU的設置。系統(tǒng)上電以后,CPU默認工作在特權(quán)模式。以下對所述控制智能卡FLASH空間大小的方法做進一步說明。首先,在引導加載程序引導至用戶程序之前,根據(jù)用戶的需求確定提供給用戶的FLASH空間大小,用MPU的RegiSter6(寄存器6)來設置該段空間的地址范圍。地址分為Base Address (起始地址)和Limit Address (終止地址),通過對這兩個地址的設置就確定了 FLASH可用空間的范圍,F(xiàn)LASH可用空間的范圍為這兩個地址之間的區(qū)間(包括這兩個地址本身)。設置好FLASH可用空間的范圍以后,用MPU的RegiSter5(寄存器5)對該段空間進行權(quán)限設置。即把用戶需要使用的FLASH空間設置成用戶模式下可讀可寫,而把用戶不需要使用的FLASH空間設置成用戶模式下不可讀不可寫。設置好提供給用戶的FLASH空間并設置好用戶權(quán)限以后,把CPU的工作模式從特權(quán)模式切換至用戶模式。即操作ARM的CPSR(Current Program Status Resister當前程序狀態(tài)寄存器)里面的模式位,將CPU的工作模式切換至用戶模式。 最后,將引導加載程序弓I導至用戶程序。在程序開發(fā)過程中,可以設置不同的FLASH空間大小及權(quán)限,在同一款硬件產(chǎn)品基礎(chǔ)上,開發(fā)不同的引導加載程序,實現(xiàn)多種用戶的多種需求。這樣,在智能卡系統(tǒng)加電后首先運行引導加載程序,即通過軟件方法實現(xiàn)了控制FLASH空間的大小的目的。以上僅列舉了本發(fā)明的一個實施例,該實施例僅用于解釋本發(fā)明,并非用于限制本發(fā)明。凡與上述實施例等效的變換與置換,均應屬于本發(fā)明的保護范圍。
權(quán)利要求
1.一種控制智能卡FLASH空間大小的方法,所述智能卡包括一微控制器,該微控制器采用ARM系列的CPU,且所述微控制器內(nèi)集成有存儲器保護單元MPU以及用作存儲器的快速閃存FLASH ;所述智能卡包含片上引導加載程序;其特征在于 步驟一、在所述引導加載程序中根據(jù)不同用戶的不同應用需求來劃分快速閃存FLASH的空間,將快速閃存FLASH分成用戶需要使用的區(qū)域和用戶不需要使用的區(qū)域,并對不同的區(qū)域進行權(quán)限設置; 步驟二、在所述引導加載程序中切換ARM的工作模式,將ARM的工作模式從特權(quán)模式切換到用戶模式,以保證用戶在用戶模式下無法再通過存儲器保護單元MPU修改之前的設置。
2.如權(quán)利要求I所述的方法,其特征在于重復步驟一和步驟二,開發(fā)不同快速閃存FLASH空間大小的引導加載程序以滿足不同的用戶需求。
3.如權(quán)利要求I或2所述的方法,其特征在于所述步驟一中,在引導加載程序中使用存儲器保護單元MPU來劃分快速閃存FLASH的區(qū)域并且對該區(qū)域進行權(quán)限設置。
4.如權(quán)利要求I或2所述的方法,其特征在于所述步驟二中,在引導加載程序中利用ARM本身具有的特權(quán)模式和用戶模式兩種工作模式的特性,把ARM的工作模式從特權(quán)模式切換至用戶模式。
全文摘要
本發(fā)明公開了一種控制智能卡FLASH空間大小的方法,步驟一、在引導加載程序中根據(jù)不同用戶的不同應用需求來劃分快速閃存FLASH的空間,將快速閃存FLASH分成用戶需要使用的區(qū)域和用戶不需要使用的區(qū)域,并對不同的區(qū)域進行權(quán)限設置;步驟二、在所述引導加載程序中切換ARM的工作模式,將ARM的工作模式從特權(quán)模式切換到用戶模式,以保證用戶在用戶模式下無法再通過存儲器保護單元MPU修改之前的設置;步驟三、重復上述步驟,開發(fā)不同快速閃存FLASH空間大小的引導加載程序以滿足不同的用戶需求。本發(fā)明采用軟件方法控制FLASH空間大小,降低了智能卡硬件開發(fā)成本,利用引導加載程序可反復修改的性能,還可提高產(chǎn)品配置的靈活性。
文檔編號G06F12/14GK102736983SQ20111009332
公開日2012年10月17日 申請日期2011年4月14日 優(yōu)先權(quán)日2011年4月14日
發(fā)明者蔣楓 申請人:上海華虹集成電路有限責任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
建水县| 来安县| 海兴县| 浠水县| 开阳县| 乳源| 阿鲁科尔沁旗| 芮城县| 浠水县| 黄石市| 金沙县| 吉木萨尔县| 广汉市| 佛山市| 汨罗市| 玛多县| 内乡县| 柳河县| 荣成市| 买车| 巨野县| 册亨县| 钦州市| 商城县| 惠州市| 威海市| 图们市| 铅山县| 潮州市| 龙游县| 同江市| 永泰县| 尼勒克县| 北流市| 福泉市| 营山县| 措勤县| 剑川县| 阳江市| 乌兰浩特市| 凤台县|