CN102736983A - 控制智能卡flash空间大小的方法 - Google Patents
控制智能卡flash空间大小的方法 Download PDFInfo
- Publication number
- CN102736983A CN102736983A CN2011100933240A CN201110093324A CN102736983A CN 102736983 A CN102736983 A CN 102736983A CN 2011100933240 A CN2011100933240 A CN 2011100933240A CN 201110093324 A CN201110093324 A CN 201110093324A CN 102736983 A CN102736983 A CN 102736983A
- Authority
- CN
- China
- Prior art keywords
- flash
- user
- mode
- smart card
- different
- 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.)
- Granted
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种控制智能卡FLASH空间大小的方法,步骤一、在引导加载程序中根据不同用户的不同应用需求来划分快速闪存FLASH的空间,将快速闪存FLASH分成用户需要使用的区域和用户不需要使用的区域,并对不同的区域进行权限设置;步骤二、在所述引导加载程序中切换ARM的工作模式,将ARM的工作模式从特权模式切换到用户模式,以保证用户在用户模式下无法再通过存储器保护单元MPU修改之前的设置;步骤三、重复上述步骤,开发不同快速闪存FLASH空间大小的引导加载程序以满足不同的用户需求。本发明采用软件方法控制FLASH空间大小,降低了智能卡硬件开发成本,利用引导加载程序可反复修改的性能,还可提高产品配置的灵活性。
Description
技术领域
本发明涉及智能卡芯片引导加载程序的开发领域,尤其涉及一种在引导加载程序中利用MPU(Memory Protect Unit存储器保护单元)和ARM本身的工作特性来控制智能卡FLASH(快速闪存)空间大小的方法。
背景技术
随着IC(Integrated Circuits集成电路)设计与制造技术的发展,智能卡的设计规模越来越大。为了节约成本,在同一款产品上面根据不同的需求来进行不同的配置就显得尤为重要。尤其是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(Advanced RISC Machines)系列的CPU(Central ProcessingUnit中央处理器)的智能卡中,CPU有两种工作模式,一种是特权模式,另一种是用户模式。在特权模式下,程序可以修改MPU的设置;而在用户模式下,程序不可修改MPU的设置。系统上电以后,CPU默认工作在特权模式。
以下对所述控制智能卡FLASH空间大小的方法做进一步说明。
首先,在引导加载程序引导至用户程序之前,根据用户的需求确定提供给用户的FLASH空间大小,用MPU的Register6(寄存器6)来设置该段空间的地址范围。地址分为Base Address(起始地址)和Limit Address(终止地址),通过对这两个地址的设置就确定了FLASH可用空间的范围,FLASH可用空间的范围为这两个地址之间的区间(包括这两个地址本身)。设置好FLASH可用空间的范围以后,用MPU的Register5(寄存器5)对该段空间进行权限设置。即把用户需要使用的FLASH空间设置成用户模式下可读可写,而把用户不需要使用的FLASH空间设置成用户模式下不可读不可写。
设置好提供给用户的FLASH空间并设置好用户权限以后,把CPU的工作模式从特权模式切换至用户模式。即操作ARM的CPSR(Current ProgramStatus Resister当前程序状态寄存器)里面的模式位,将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 true CN102736983A (zh) | 2012-10-17 |
CN102736983B 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) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678175A (zh) * | 2013-12-05 | 2014-03-26 | 长城信息产业股份有限公司 | 一种地址隐藏方法及基于地址隐藏技术的嵌入式设备 |
CN104298623A (zh) * | 2013-07-16 | 2015-01-21 | 横河电机株式会社 | 电子装置、操作系统以及访问控制方法 |
CN104516748A (zh) * | 2013-09-27 | 2015-04-15 | 联想(北京)有限公司 | 一种信息处理方法、电子设备以及可切换内存 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1225475A (zh) * | 1999-02-10 | 1999-08-11 | 联想(北京)有限公司 | 基于计算机主板固化存储器的硬盘保护方法 |
US20030167327A1 (en) * | 2001-10-05 | 2003-09-04 | Baldwin Duane Mark | Storage area network methods and apparatus for topology rendering |
US20030172239A1 (en) * | 2001-10-05 | 2003-09-11 | Swank Raymond Matthew | Storage area network methods and apparatus for identifiying fiber channel devices in kernel mode |
US20040181682A1 (en) * | 2002-11-18 | 2004-09-16 | Arm Limited | Diagnostic data capture control for multi-domain processors |
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 | 联发科技股份有限公司 | 用于包括处理器和缓存虚拟存储器的系统中的安全语境切换的方法和装置 |
US20090300263A1 (en) * | 2008-05-30 | 2009-12-03 | Vmware, Inc. | Virtualization with Merged Guest Page Table and Shadow Page Directory |
-
2011
- 2011-04-14 CN CN201110093324.0A patent/CN102736983B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1225475A (zh) * | 1999-02-10 | 1999-08-11 | 联想(北京)有限公司 | 基于计算机主板固化存储器的硬盘保护方法 |
US20030167327A1 (en) * | 2001-10-05 | 2003-09-04 | Baldwin Duane Mark | Storage area network methods and apparatus for topology rendering |
US20030172239A1 (en) * | 2001-10-05 | 2003-09-11 | Swank Raymond Matthew | Storage area network methods and apparatus for identifiying fiber channel devices in kernel mode |
US20040181682A1 (en) * | 2002-11-18 | 2004-09-16 | Arm Limited | Diagnostic data capture control for multi-domain processors |
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 | 上海北大方正科技电脑系统有限公司 | 一种电脑系统的加载方法 |
US20090300263A1 (en) * | 2008-05-30 | 2009-12-03 | Vmware, Inc. | Virtualization with Merged Guest Page Table and Shadow Page Directory |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104298623A (zh) * | 2013-07-16 | 2015-01-21 | 横河电机株式会社 | 电子装置、操作系统以及访问控制方法 |
US9898420B2 (en) | 2013-07-16 | 2018-02-20 | Yokogawa Electric Corporation | Electronic device, operating system and access control method for protection of a register through an application programming interface |
CN104516748A (zh) * | 2013-09-27 | 2015-04-15 | 联想(北京)有限公司 | 一种信息处理方法、电子设备以及可切换内存 |
CN103678175A (zh) * | 2013-12-05 | 2014-03-26 | 长城信息产业股份有限公司 | 一种地址隐藏方法及基于地址隐藏技术的嵌入式设备 |
CN103678175B (zh) * | 2013-12-05 | 2016-09-07 | 长城信息产业股份有限公司 | 一种地址隐藏方法及基于地址隐藏技术的嵌入式设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102736983B (zh) | 2016-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104750616A (zh) | 数据储存装置以及快闪存储器控制方法 | |
CN101788955B (zh) | 闪存数据的存取方法及其储存系统与控制器系统 | |
CN102662749B (zh) | 一种双Boot切换的实现方法及装置 | |
US9317206B2 (en) | Host-managed logical mass storage device using magnetic random access memory (MRAM) | |
CN101414264B (zh) | 一种软件版本的更新方法 | |
CN103678187B (zh) | 一种微控制单元及其控制方法 | |
CN101571832B (zh) | 数据写入方法及使用该方法的快闪存储系统与其控制器 | |
CN102236621A (zh) | 计算机接口信息配置系统及方法 | |
CN102855151A (zh) | 不打断业务的光模块固件在应用升级方法 | |
CN101634967B (zh) | 用于闪存的区块管理方法、储存系统与控制器 | |
CN104423894A (zh) | 数据储存装置以及快闪存储器控制方法 | |
CN102662913A (zh) | 用于提高mcu存储性能的方法及其对应的mcu芯片 | |
CN104347104A (zh) | 一种大容量存储设备 | |
CN103246610A (zh) | 基于单类型存储器的嵌入式系统的动态存储管理方法 | |
CN102736983A (zh) | 控制智能卡flash空间大小的方法 | |
CN102622257B (zh) | 电表在线自更新方法及其装置 | |
CN101118494A (zh) | 嵌入式设备从外接电子卡启动操作系统的系统与方法 | |
CN103955389A (zh) | 一种基于pcm的系统启动方法 | |
CN103853608A (zh) | 一种双Boot切换的实现方法 | |
CN1892587A (zh) | 一种嵌入式控制器及其更新固件的方法 | |
CN100399271C (zh) | 一种电子设备的在线升级方法 | |
TW202036300A (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
CN104102486A (zh) | 一种基于外部存储模块实现mcu程序空间扩容的方法 | |
CN202838325U (zh) | 一种mcu芯片 | |
CN104571951A (zh) | Emmc/ufs卡及其提高emmc/ufs卡读性能的方法 |
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 |