CN102486840A - 采用非rom方式引导程序的智能卡及其程序引导方法 - Google Patents
采用非rom方式引导程序的智能卡及其程序引导方法 Download PDFInfo
- Publication number
- CN102486840A CN102486840A CN2010105725038A CN201010572503A CN102486840A CN 102486840 A CN102486840 A CN 102486840A CN 2010105725038 A CN2010105725038 A CN 2010105725038A CN 201010572503 A CN201010572503 A CN 201010572503A CN 102486840 A CN102486840 A CN 102486840A
- Authority
- CN
- China
- Prior art keywords
- smart card
- nonvolatile memory
- program
- memory
- 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.)
- Pending
Links
Images
Abstract
本发明公开了一种采用非ROM方式引导程序的智能卡,包括一微控制器,该微控制器内集成有用作存储器的闪存,闪存附带有非易失性存储器,智能卡的引导加载程序存储在该非易失性存储器中。本发明还公开了该智能卡的程序引导方法,包括步骤:开发引导加载程序;下载引导加载程序到非易失性存储器中;调试引导加载程序,若发现错误,则修改调试引导程序,并重新下载到非易失性存储器中;重复调试和修改,直至调试成功。该智能卡及其程序引导方法,采用闪存附带的非易失性存储器作为智能卡引导加载程序的存储介质,从而减小了智能卡芯片的面积,降低了智能卡硬件开发成本,而利用非易失性存储器可反复擦写的性能,还可提高软件的开发效率和灵活性。
Description
技术领域
本发明涉及智能卡芯片的设计开发领域,尤其涉及一种采用非ROM方式引导程序的智能卡。本发明还涉及该智能卡的程序引导方法。
背景技术
随着IC(Integrated Circuits,集成电路)设计与制造技术的发展,智能卡的设计规模越来越大。软硬件协同工作是智能卡的一个重要特征。在智能卡设计软件中,引导加载程序(Bootloader)是非常重要的组成部分,它是系统加电后运行的第一段软件代码。用户程序能否正确加载和其运行环境能否正确构建都要取决于引导程序能否正确工作。
目前,在智能卡产品中普遍采用ROM(Read Only Memory,只读存储器)作为智能卡的引导加载程序的存储介质。但是,ROM区域会占用智能卡的一部分面积,而在智能卡设计中,智能卡产品的面积是决定其成本的重要因素。此外,引导加载程序的开发也需要在智能卡芯片流片之前完成,并在流片过程中掩膜进去,如此,引导加载程序就无法重复下载,因此,采用ROM方式引导智能卡程序,对软件的开发时间以及开发准确度的要求非常高。
发明内容
本发明要解决的技术问题是提供一种采用非ROM方式引导程序的智能卡,它的硬件开发成本低,软件开发效率和灵活性高。
为解决上述技术问题,本发明的采用非ROM方式引导程序的智能卡,包括一微控制器,该微控制器内集成有用作存储器的闪存,闪存中包含有非易失性存储器,智能卡的引导加载程序存放在该非易失性存储器中。
本发明要解决的另一技术问题是提供上述智能卡的程序引导方法。
为解决上述技术问题,本发明的智能卡程序引导方法,包括以下步骤:
1)开发智能卡的引导加载程序;
2)将步骤1)开发的引导加载程序下载到非易失性存储器中;
3)对非易失性存储器中的引导加载程序进行调试,若发现错误,则修改引导加载程序,将非易失性存储器中保存的修改前的引导加载程序擦除,然后将修改后的引导加载程序重新下载到非易失性存储器中;
4)重复步骤3),直至调试成功。
所述步骤1)中,根据非易失性存储器在微控制器的存储变换存储映像中的地址和空间大小,开发引导加载程序。
所述步骤2)和3)中,通过STC接口对非易失性存储器进行擦除、读和写操作。
本发明采用片内闪存的NVR区替代ROM作为智能卡引导加载程序的存储介质,不仅减小了智能卡芯片的面积,大大节省了硬件的开发成本,而且延长了引导加载程序的开发时间(可延长至流片后)。此外,利用NVR区是闪存的一部分,具有闪存的可反复擦写的性质,还实现了引导加载程序的反复多次下载,从而提高了智能卡软件开发的效率和灵活性。
附图说明
附图是本发明实施例的智能卡存储结构示意图。
具体实施方式
为对本发明的技术内容、特点与功效有更具体的了解,现结合图示的实施方式,详述如下:
本发明实施例的采用非ROM方式引导程序的智能卡,其MCU(微控制器)采用片内快速闪存(FLASH)作为程序存储器,并使用闪存所附带的非易失性存储器(Non-volatile memory,NVR)作为智能卡引导加载程序的存储介质。
NVR区域一般用于存放芯片信息(包括厂商信息、芯片编号等),以方便芯片出厂后的跟踪和调试。一般256KB的闪存附带有2KB的NVR(根据闪存生产厂商的不同,NVR区域的大小也会有所变化),在存放了芯片信息后,还会剩下很多空间。由于NVR区具有ROM的特点,即保存在其中的数据不会因为掉电而丢失,因此,本发明利用这部分剩余空间来存储智能卡的引导加载程序。
本实施例中,闪存的存储结构可参阅附图所示,分为两部分,一部分为用户程序的存储区域,另一部分则为NVR区。NVR区中,一部分存放了芯片信息,剩余的部分则用于存放智能卡的引导加载程序。
以下对该智能卡的程序引导方法做进一步说明。
首先,根据NVR区域在芯片存储变换存储映像(memory map)中的地址和空间大小,开发引导加载程序。由于在智能卡芯片中,NVR区和其他存储器是统一编址的,因此,采用NVR方式,与采用传统的ROM方式,在引导加载程序的开发过程上是一样的。
引导加载程序开发完后,通过STC(Standard Test Condition,标准测试条件)将引导加载程序下载到NVR区域中,并对其进行调试。STC是智能卡芯片的一个FLASH/NVR测试接口电路,它通过外部端口上数据的各种组合,产生符合FLASH/NVR读写时序的片选、读、擦写以及地址信号,实现FLASH/NVR的擦除、编程和读等操作。
在调试过程中,如果发现引导加载程序存在问题,则对引导加载程序进行修改,并通过STC将NVR区域中所保存的修改以前的引导加载程序的数据擦除,然后,将修改后的引导加载程序重新下载到NVR区,再进行调试,如此反复多次,直至调试成功。
这样,系统加电后就会首先运行存放在NVR中的引导加载程序,引导用户正确加载其应用程序并配置其运行环境。
以上仅列举了本发明的一个实施例,该实施例仅用于解释本发明,并非用于限制本发明。凡与上述实施例等效的变换与置换,均应属于本发明的保护范围。
Claims (4)
1.一种采用非ROM方式引导程序的智能卡,包括一微控制器,其特征在于:所述微控制器内集成有用作存储器的闪存,闪存中包含有非易失性存储器,智能卡的引导加载程序存放在该非易失性存储器中。
2.一种权利要求1所述智能卡的程序引导方法,包括步骤:1)开发智能卡的引导加载程序;其特征在于,还包括步骤:
2)将步骤1)开发的引导加载程序下载到非易失性存储器中;
3)对非易失性存储器中的引导加载程序进行调试,若发现错误,则修改引导加载程序,将非易失性存储器中保存的修改前的引导加载程序擦除,然后将修改后的引导加载程序重新下载到非易失性存储器中;
4)重复步骤3),直至调试成功。
3.如权利要求2所述的智能卡的程序引导方法,其特征在于:所述步骤1)中,根据非易失性存储器在微控制器的存储变换存储映像中的地址和空间大小,开发引导加载程序。
4.如权利要求2所述的智能卡的程序引导方法,其特征在于:所述步骤2)和3)中,通过STC接口对非易失性存储器进行擦除、读和写操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105725038A CN102486840A (zh) | 2010-12-03 | 2010-12-03 | 采用非rom方式引导程序的智能卡及其程序引导方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105725038A CN102486840A (zh) | 2010-12-03 | 2010-12-03 | 采用非rom方式引导程序的智能卡及其程序引导方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102486840A true CN102486840A (zh) | 2012-06-06 |
Family
ID=46152331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105725038A Pending CN102486840A (zh) | 2010-12-03 | 2010-12-03 | 采用非rom方式引导程序的智能卡及其程序引导方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102486840A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808445A (zh) * | 2016-03-08 | 2016-07-27 | 上海华虹宏力半导体制造有限公司 | 一种嵌入式闪存及其扇区处理方法、装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003025721A2 (en) * | 2001-09-18 | 2003-03-27 | Microchip Technology Incorporated | Microcontroller with configurable onboard boot-ram |
CN1779858A (zh) * | 2004-10-14 | 2006-05-31 | 夏普株式会社 | 可重写非易失性存储器、电子设备、存储介质及重写方法 |
CN1904853A (zh) * | 2006-08-21 | 2007-01-31 | 北京中星微电子有限公司 | 一种嵌入式软件装载调试方法及其系统 |
CN101221517A (zh) * | 2007-01-10 | 2008-07-16 | 国际商业机器公司 | 在数据处理系统的分区之间交易资源的装置、系统和方法 |
CN101477471A (zh) * | 2009-01-07 | 2009-07-08 | 杭州海康威视数字技术股份有限公司 | 一种嵌入式系统固件在线升级方法 |
-
2010
- 2010-12-03 CN CN2010105725038A patent/CN102486840A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003025721A2 (en) * | 2001-09-18 | 2003-03-27 | Microchip Technology Incorporated | Microcontroller with configurable onboard boot-ram |
CN1779858A (zh) * | 2004-10-14 | 2006-05-31 | 夏普株式会社 | 可重写非易失性存储器、电子设备、存储介质及重写方法 |
CN1904853A (zh) * | 2006-08-21 | 2007-01-31 | 北京中星微电子有限公司 | 一种嵌入式软件装载调试方法及其系统 |
CN101221517A (zh) * | 2007-01-10 | 2008-07-16 | 国际商业机器公司 | 在数据处理系统的分区之间交易资源的装置、系统和方法 |
CN101477471A (zh) * | 2009-01-07 | 2009-07-08 | 杭州海康威视数字技术股份有限公司 | 一种嵌入式系统固件在线升级方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808445A (zh) * | 2016-03-08 | 2016-07-27 | 上海华虹宏力半导体制造有限公司 | 一种嵌入式闪存及其扇区处理方法、装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102422271B (zh) | 用于非易失性存储器系统的多页准备命令 | |
CN108710578B (zh) | 基于闪存的数据存储方法和装置 | |
CN101782871A (zh) | 信息处理装置、处理器及存储器管理方法 | |
EP2502125A1 (en) | Power management of memory systems | |
CN100458697C (zh) | 用户程序引导方法及用户程序引导系统 | |
CN108319465A (zh) | 对fpga配置数据进行升级的电路及方法 | |
US20110093649A1 (en) | Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof | |
CN110658991A (zh) | 多层级单元数据加载优化 | |
CN103136111A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN101266828B (zh) | 混合型闪存存储装置及其操作方法 | |
CN103064654A (zh) | 集成电路、电子系统及提供otp内存配置可更新的方法 | |
CN102736981B (zh) | 提高nor flash擦写寿命的方法 | |
CN102193871A (zh) | 非挥发性存储器存取方法、系统及非挥发性存储器控制器 | |
CN103970551A (zh) | 一种嵌入式处理器启动模式的选择方法及装置 | |
CN102486840A (zh) | 采用非rom方式引导程序的智能卡及其程序引导方法 | |
US20200371716A1 (en) | Method for performing sudden power off recovery management, associated memory device and controller thereof, and associated electronic device | |
CN102800357A (zh) | 程序码载入与存取方法、存储器控制器与存储器储存装置 | |
CN102629212A (zh) | 一种基于j-link间接烧写程序到nandflash的方法 | |
US9223697B2 (en) | Computer reprogramming method, data storage medium and motor vehicle computer | |
CN113448503A (zh) | 调整顺序命令的操作时间差的存储器系统及其操作方法 | |
CN102117245B (zh) | 嵌入式设备及其系统可执行文件分割加载和启动方法 | |
CN101923570B (zh) | 一种在Windows CE环境下建立大页面Nand Flash存储系统的方法 | |
CN103984635A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103677868A (zh) | 一种通过芯片内部的mcu配置芯片内置fpga的方法 | |
CN102591738B (zh) | 数据管理方法、存储器控制器与嵌入式存储器储存装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120606 |