CN102736983B - 控制智能卡flash空间大小的方法 - Google Patents
控制智能卡flash空间大小的方法 Download PDFInfo
- Publication number
- CN102736983B CN102736983B CN201110093324.0A CN201110093324A CN102736983B CN 102736983 B CN102736983 B CN 102736983B CN 201110093324 A CN201110093324 A CN 201110093324A CN 102736983 B CN102736983 B CN 102736983B
- Authority
- CN
- China
- Prior art keywords
- flash
- user
- mode
- different
- bootstrap loader
- 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.)
- Active
Links
Abstract
本发明公开了一种控制智能卡FLASH空间大小的方法,步骤一、在引导加载程序中根据不同用户的不同应用需求来划分快速闪存FLASH的空间,将快速闪存FLASH分成用户需要使用的区域和用户不需要使用的区域,并对不同的区域进行权限设置;步骤二、在所述引导加载程序中切换ARM的工作模式,将ARM的工作模式从特权模式切换到用户模式,以保证用户在用户模式下无法再通过存储器保护单元MPU修改之前的设置;步骤三、重复上述步骤,开发不同快速闪存FLASH空间大小的引导加载程序以满足不同的用户需求。本发明采用软件方法控制FLASH空间大小,降低了智能卡硬件开发成本,利用引导加载程序可反复修改的性能,还可提高产品配置的灵活性。
Description
技术领域
本发明涉及智能卡芯片引导加载程序的开发领域,尤其涉及一种在引导加载程序中利用MPU(MemoryProtectUnit存储器保护单元)和ARM本身的工作特性来控制智能卡FLASH(快速闪存)空间大小的方法。
背景技术
随着IC(IntegratedCircuits集成电路)设计与制造技术的发展,智能卡的设计规模越来越大。为了节约成本,在同一款产品上面根据不同的需求来进行不同的配置就显得尤为重要。尤其是FLASH模块,不同的应用,对FLASH空间的大小需求是不一样的。如果在智能卡芯片设计阶段来划分不同的FLASH空间,即由硬件来控制FLASH空间大小,这样不但增加了工作量和成本,而且一旦需求发生变化,也将给产品的推广和使用带来风险和不便。
发明内容
本发明要解决的技术问题是提供一种控制智能卡FLASH空间大小的方法,它可以减小硬件开发成本,提高产品灵活性。
为解决上述技术问题,本发明的控制智能卡FLASH空间大小的方法是采用如下技术方案实现的:所述智能卡包括一微控制器,该微控制器采用ARM系列的CPU,所述微控制器内集成有MPU以及用作存储器的闪存;所述智能卡存储有片上引导加载程序;其中:
步骤一、在所述引导加载程序中根据不同用户的不同应用需求来划分FLASH空间,将FLASH分成用户需要使用的区域和用户不需要使用的区域,并对不同的区域进行权限设置;
步骤二、在所述引导加载程序中切换ARM的工作模式,将ARM的工作模式从特权模式切换到用户模式,以保证用户在用户模式下无法再通过MPU修改之前的设置。
重复上述步骤,开发不同FLASH空间大小的引导加载程序以满足不同的用户需求。
所述步骤一中,在引导加载程序中使用MPU来划分FLASH的区域(即空间大小)并且对不同区域进行权限设置。
所述步骤二中,在引导加载程序中利用ARM本身具有的特权模式和用户模式两种工作模式的特性,将ARM的工作模式从特权模式切换至用户模式。
在智能卡设计软件中,引导加载程序是系统加电后运行的第一段软件代码,用来加载用户程序并配置其运行环境。如果在引导加载程序中对FLASH空间大小进行配置,那么可以把同一种硬件设计的智能卡配置成多款不同的产品。
本发明利用MPU以及ARM的工作模式切换,在智能卡的引导加载程序中采用软件方法替代硬件来控制智能卡FLASH空间的大小,这样就将同一种硬件设计的智能卡配置成多款不同的产品,不仅大大减少了硬件开发的成本,而且利用引导加载程序可反复修改的性能,还提高了产品开发的灵活性。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
附图是采用本发明实施例的智能卡存储结构及引导示意图。
具体实施方式
为对本发明的技术内容、特点与功效有更具体的了解,现结合图示的实施方式,详述如下:
在智能卡产品中,其MCU(微控制器)采用片内快速闪存(FLASH)作为程序存储器。在低端智能卡中,一般64KB(千字节)的FLASH的空间就能够开发应用程序;而在高端智能卡中,应用比较多,对FLASH的空间要求就很大,可能用到256KB、384KB甚至更大。
在包含协处理器MPU的智能卡中,MPU能够提供从地址0开始的1MB(兆字节)范围内的存储器分开权限设置保护。通过MPU可将1MB内的存储器最多分成8个区域,每个区域不小于64个字节;设置后,这8个区域就拥有各自的权限属性。权限包括是否允许对该区域内的地址进行读和写,读和写是否允许以特权模式访问或是以用户模式访问;通过MPU可以实现对FLASH空间进行划分并设置权限属性的目的。
在采用ARM(AdvancedRISCMachines)系列的CPU(CentralProcessingUnit中央处理器)的智能卡中,CPU有两种工作模式,一种是特权模式,另一种是用户模式。在特权模式下,程序可以修改MPU的设置;而在用户模式下,程序不可修改MPU的设置。系统上电以后,CPU默认工作在特权模式。
以下对所述控制智能卡FLASH空间大小的方法做进一步说明。
首先,在引导加载程序引导至用户程序之前,根据用户的需求确定提供给用户的FLASH空间大小,用MPU的Register6(寄存器6)来设置该段空间的地址范围。地址分为BaseAddress(起始地址)和LimitAddress(终止地址),通过对这两个地址的设置就确定了FLASH可用空间的范围,FLASH可用空间的范围为这两个地址之间的区间(包括这两个地址本身)。设置好FLASH可用空间的范围以后,用MPU的Register5(寄存器5)对该段空间进行权限设置。即把用户需要使用的FLASH空间设置成用户模式下可读可写,而把用户不需要使用的FLASH空间设置成用户模式下不可读不可写。
设置好提供给用户的FLASH空间并设置好用户权限以后,把CPU的工作模式从特权模式切换至用户模式。即操作ARM的CPSR(CurrentProgramStatusResister当前程序状态寄存器)里面的模式位,将CPU的工作模式切换至用户模式。
最后,将引导加载程序引导至用户程序。
在程序开发过程中,可以设置不同的FLASH空间大小及权限,在同一款硬件产品基础上,开发不同的引导加载程序,实现多种用户的多种需求。
这样,在智能卡系统加电后首先运行引导加载程序,即通过软件方法实现了控制FLASH空间的大小的目的。
以上仅列举了本发明的一个实施例,该实施例仅用于解释本发明,并非用于限制本发明。凡与上述实施例等效的变换与置换,均应属于本发明的保护范围。
Claims (4)
1.一种控制智能卡FLASH空间大小的方法,所述智能卡包括一微控制器,该微控制器采用ARM系列的CPU,且所述微控制器内集成有存储器保护单元MPU以及用作存储器的快速闪存FLASH;所述智能卡存储有片上引导加载程序;其特征在于:
步骤一、在所述引导加载程序中根据不同用户的不同应用需求来划分快速闪存FLASH的空间,将快速闪存FLASH分成用户需要使用的区域和用户不需要使用的区域,并对不同的区域进行权限设置;
步骤二、在所述引导加载程序中切换ARM的工作模式,将ARM的工作模式从特权模式切换到用户模式,以保证用户在用户模式下无法再通过存储器保护单元MPU修改之前的设置。
2.如权利要求1所述的方法,其特征在于:重复步骤一和步骤二,开发不同快速闪存FLASH空间大小的引导加载程序以满足不同的用户需求。
3.如权利要求1或2所述的方法,其特征在于:所述步骤一中,在引导加载程序中使用存储器保护单元MPU来划分快速闪存FLASH的区域并且对该区域进行权限设置。
4.如权利要求1或2所述的方法,其特征在于:所述步骤二中,在引导加载程序中利用ARM本身具有的特权模式和用户模式两种工作模式的特性,把ARM的工作模式从特权模式切换至用户模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110093324.0A CN102736983B (zh) | 2011-04-14 | 2011-04-14 | 控制智能卡flash空间大小的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110093324.0A CN102736983B (zh) | 2011-04-14 | 2011-04-14 | 控制智能卡flash空间大小的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102736983A CN102736983A (zh) | 2012-10-17 |
CN102736983B true CN102736983B (zh) | 2016-05-25 |
Family
ID=46992524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110093324.0A Active CN102736983B (zh) | 2011-04-14 | 2011-04-14 | 控制智能卡flash空间大小的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102736983B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5920595B2 (ja) | 2013-07-16 | 2016-05-18 | 横河電機株式会社 | 電子機器、オペレーティングシステム、アクセス管理方法 |
CN104516748B (zh) * | 2013-09-27 | 2018-10-12 | 联想(北京)有限公司 | 一种信息处理方法、电子设备以及可切换内存 |
CN103678175B (zh) * | 2013-12-05 | 2016-09-07 | 长城信息产业股份有限公司 | 一种地址隐藏方法及基于地址隐藏技术的嵌入式设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1225475A (zh) * | 1999-02-10 | 1999-08-11 | 联想(北京)有限公司 | 基于计算机主板固化存储器的硬盘保护方法 |
CN1591359A (zh) * | 2003-08-08 | 2005-03-09 | Lg电子株式会社 | 用于控制计算机系统的引导操作的装置和方法 |
CN101187877A (zh) * | 2007-12-10 | 2008-05-28 | 上海北大方正科技电脑系统有限公司 | 一种电脑系统的加载方法 |
CN101281506A (zh) * | 2007-04-03 | 2008-10-08 | Arm有限公司 | 数据处理系统内基于存储器域的安全控制 |
CN101341493A (zh) * | 2005-10-24 | 2009-01-07 | 科学园株式会社 | 电子计算机的数据管理方法、程序以及记录媒体 |
CN101438290A (zh) * | 2006-05-01 | 2009-05-20 | 联发科技股份有限公司 | 用于包括处理器和缓存虚拟存储器的系统中的安全语境切换的方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6697924B2 (en) * | 2001-10-05 | 2004-02-24 | International Business Machines Corporation | Storage area network methods and apparatus for identifying fiber channel devices in kernel mode |
US7430593B2 (en) * | 2001-10-05 | 2008-09-30 | International Business Machines Corporation | Storage area network for topology rendering |
GB2395583B (en) * | 2002-11-18 | 2005-11-30 | Advanced Risc Mach Ltd | Diagnostic data capture control for multi-domain processors |
US9009727B2 (en) * | 2008-05-30 | 2015-04-14 | Vmware, Inc. | Virtualization with in-place translation |
-
2011
- 2011-04-14 CN CN201110093324.0A patent/CN102736983B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1225475A (zh) * | 1999-02-10 | 1999-08-11 | 联想(北京)有限公司 | 基于计算机主板固化存储器的硬盘保护方法 |
CN1591359A (zh) * | 2003-08-08 | 2005-03-09 | Lg电子株式会社 | 用于控制计算机系统的引导操作的装置和方法 |
CN101341493A (zh) * | 2005-10-24 | 2009-01-07 | 科学园株式会社 | 电子计算机的数据管理方法、程序以及记录媒体 |
CN101438290A (zh) * | 2006-05-01 | 2009-05-20 | 联发科技股份有限公司 | 用于包括处理器和缓存虚拟存储器的系统中的安全语境切换的方法和装置 |
CN101281506A (zh) * | 2007-04-03 | 2008-10-08 | Arm有限公司 | 数据处理系统内基于存储器域的安全控制 |
CN101187877A (zh) * | 2007-12-10 | 2008-05-28 | 上海北大方正科技电脑系统有限公司 | 一种电脑系统的加载方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102736983A (zh) | 2012-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104412242B (zh) | 内存保护 | |
US9678666B2 (en) | Techniques to configure a solid state drive to operate in a storage mode or a memory mode | |
CN104011691B (zh) | 非易失性ram盘 | |
CN106062708B (zh) | 在具有地址空间布局随机化的系统中的二进制转化重用 | |
CN104750616A (zh) | 数据储存装置以及快闪存储器控制方法 | |
CN104115129A (zh) | 用于从处理器到存储器子系统智能刷新数据的系统和方法 | |
CN103946826A (zh) | 用于在公共存储器通道上实现多级存储器层级的设备和方法 | |
CN101334758B (zh) | 用于嵌入式系统扩展存储空间的装置和方法 | |
CN104050112A (zh) | 用于标记需要写回持久存储的非事务代码区的开头和结束的指令 | |
US9317206B2 (en) | Host-managed logical mass storage device using magnetic random access memory (MRAM) | |
CN109213697A (zh) | 智能存储器数据存储或加载方法和装置 | |
CN104126181A (zh) | 作为随机存取存储器的非易失性半导体存储装置的系统存取的薄变换 | |
CN102736983B (zh) | 控制智能卡flash空间大小的方法 | |
CN101630276A (zh) | 一种高效的内存访问方法 | |
CN103678187B (zh) | 一种微控制单元及其控制方法 | |
KR20130034450A (ko) | 저장 장치 및 그 구동 방법 | |
WO2017112318A1 (en) | Techniques to achieve ordering among storage device transactions | |
CN102193804B (zh) | 一种单板驱动的加载方法和通信设备 | |
CN110209357A (zh) | 提高ssd大文件写性能的方法、装置、计算机设备及存储介质 | |
CN103455438A (zh) | 一种内存管理方法及设备 | |
CN114647446A (zh) | 存储级存储装置、计算机模块及服务器系统 | |
CN105527889A (zh) | 一种采用stt-mram作为单一存储器的微控制器 | |
CN104866357A (zh) | 数字信号处理器的boot启动方法及其启动装置 | |
Feng et al. | Multiple subpage writing FTL in MLC by exploiting dual mode operations | |
CN110399166A (zh) | ME Nonce值的保存方法、装置、设备及存储介质 |
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 |