智能卡软件引导系统和方法

文档序号:6443424阅读:416来源:国知局
专利名称:智能卡软件引导系统和方法
技术领域
本发明涉及集成电路领域,尤其涉及一种智能卡软件引导系统和方法。
背景技术
智能卡软件引导系统(即B00TL0ADER)负责智能卡软件系统的初始化(包括时钟,memory,串行口等的初始化),并在初始化完成后引导系统进入不同的模式(如程序加载模式、正常运行模式等)。由于涉及的功能较少,B00TL0ADER的大小可以控制在2kByte 以内,通常固化在闪存(FLASH)或电可擦可编程只读存储器(EEPROM)起始区的空间内。现行的技术方案是B00TL0ADER的全部程序均在FLASH或EEPROM上运行(FLASH、 EEPROM均为非易失性存储器,但这两种器件特性有区别)。当执行从7816 口接收数据写到FLASH或EEPROM的动作时,由于受FLASH、EEPR0M器件特性限制,无法从同一块FLASH或 EEPROM既获取程序指令和数据又进行数据写入,必须先执行从7816端口接收数据的动作, 然后再执行写入到FLASH或EEPROM的动作;接收数据和写FLASH或EEPROM为串行操作,限制了引导效率的进一步提升。

发明内容
本发明提供了一种智能卡软件引导系统和方法,解决了现有智能卡软件引导系统效率受限的问题。一种智能卡软件引导系统,包括载有该智能卡软件引导系统全部智能卡控制软件程序的非易失性存储器、随机存取存储器(RAM)、CPU和7816端口,所述RAM包括程序存储器和数据存储器两部分;所述程序存储器通过程序地址总线与所述非易失性存储器相连,所述数据存储器通过数据总线接口与所述非易失性存储器相连;所述CPU,用于在智能卡软件弓丨导系统启动运行后,将所述全部智能卡控制软件程序自所述非易失性存储拷贝到所述程序存储器中,自所述程序存储器运行所述智能卡控制软件程序,将自所述7816端口下载的数据写入所述数据存储器,并将该数据存储器上存储的数据向所述非易失性存储写入。优选的,所述非易失性存储器具体为电可擦只读存储器或FLASH或EEPR0M。本发明还提供了一种智能卡软件引导方法,智能卡的RAM包括程序存储器和数据存储器两部分,在所述程序存储器中存储有智能卡控制软件程序,该方法包括智能卡芯片运行所述程序存储器上的软件程序,将自7816端口下载的数据写入所述数据存储器;所述智能卡芯片在自所述7816端口下载数据的同时,将所述数据存储器存储的数据写入所述非易失性存储。优选的,上述智能卡软件引导方法还包括存储有全部智能卡控制软件程序的所述非易失性存储在最初开始工作时,将所述全部智能卡控制软件程序拷贝至所述程序存储器。优选的,上述智能卡软件引导方法还包括在将所述全部智能卡控制软件程序拷贝至所述程序存储器后,所述智能卡芯片将运行程序的指针指向所述程序存储器。优选的,上述智能卡软件引导方法还包括所述非易失性存储在将所述全部智能卡控制软件程序拷贝至所述程序存储器后, 擦除该非易失性存储上存储的全部智能卡控制软件。优选的,所述智能卡芯片在自所述7816端口下载数据的同时,将所述数据存储器存储的数据写入所述非易失性存储具体包括将所述数据存储器存储的数据写入所述非易失性存储的缓存,启动第一页所述非易失性存储的写入过程;在所述缓存的数据写入所述非易失性存储第一页完成后,再从所述数据存储器存储的数据中取出新的数据放入所述缓存,再次启动所述非易失性存储新的一页的写入过程,直到全部数据写结束。本发明提供的智能卡软件引导系统和方法,将智能卡的RAM划分为程序存储器和非易失性存储器两部分,在程序存储器上存储全部的智能卡控制软件程序,在智能卡运行时,直接从程序存储器读取软件程序,智能卡芯片运行所述程序存储器上的软件程序,将自 7816端口下载的数据写入所述数据存储器,并且在自所述7816端口下载数据的同时,将所述数据存储器存储的数据写入所述非易失性存储,将原有自非易失性存储读取程序和向该非易性性存储写入数据的串行操作变为并行操作,既在调用程序的同时亦可向非易失性存储写入数据,解决了现有智能卡软件引导系统效率受限的问题。


图1为现有的智能卡软件引导方法中数据下载和数据写入串行执行的原理示意图;图2为本发明的实施例一提供的一种智能卡软件引导系统的结构示意图;图3为本发明的实施例二提供的一种智能卡软件引导方法的流程图;图4为本发明的实施例二提供的一种智能卡软件引导方法中数据下载和数据写入并行执行的原理示意图。
具体实施例方式现行的技术方案是B00TL0ADER的全部程序均在FLASH或EEPROM上运行(FLASH、 EEPROM均为非易失性存储器,但这两种器件特性有区别)。当执行从7816 口接收数据写到FLASH或EEPROM的动作时,由于受FLASH、EEPR0M器件特性限制,无法从同一块FLASH或 EEPROM即获取程序指令和数据又进行数据写入,如图1所示,必须先执行从7816端口接收数据的动作,然后再执行写入到FLASH或EEPROM的动作;接收数据和写FLASH或EEPROM为串行操作,限制了引导效率的进一步提升。为了解决上述问题,本发明的实施例提供了一种智能卡软件引导系统和方法。下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。首先结合附图,对本发明的实施例一进行说明。本发明实施例提供了一种智能卡软件引导系统,其结构如图2所示,包括载有该智能卡软件引导系统全部智能卡控制软件程序的非易失性存储器201、RAM202、CPU203和 7816端口 204,还可以包括其他外围模块205。所述RAM202包括程序存储器2021和数据存储器2022两部分;所述程序存储器2021通过程序地址总线与所述非易失性存储器201相连,所述数据存储器2022通过数据总线接口与所述非易失性存储器201相连;所述CPU203,用于在智能卡软件引导系统启动运行后,将所述全部智能卡控制软件程序自所述非易失性存储201拷贝到所述程序存储器2021中,自所述程序存储器2021 运行所述智能卡控制软件程序,将自所述7816端口 204下载的数据写入所述数据存储器 2022,并将该数据存储器2022上存储的数据向所述非易失性存储201写入。优选的,所述非易失性存储器201具体为电可擦只读存储器或FLASH和EEPR0M。本发明实施例中涉及的智能卡软件引导系统涉及的智能卡控制软件程序具体为 B00TL0ADER, 一般存放于智能卡芯片的FLASH或EEPROM上。下面结合附图,对本发明的实施例二进行说明。本发明实施例提供了一种智能卡软件引导方法,在设计智能卡RAM控制电路时将整块RAM划分成两部分第一部分RAM由数据存储器变为程序存储器,数据存储器仍保持为数据存储器。将第一部分RAM变为程序存储器后,再将CPU的程序指针指向该部分RAM,在智能卡芯片的CPU执行程序时,即从该程序存储区上执行。使用本发明的实施例提供的智能卡软件引导方法完成数据写入的流程如图3所示,包括步骤301、存储有全部智能卡控制软件程序的所述非易失性存储在最初开始工作时,将所述全部智能卡控制软件程序拷贝至所述程序存储器;本发明实施例涉及的非易失性存储具体为FLASH或EEPR0M,智能卡控制软件程序具体为B00TL0ADER。本步骤中,在系统初始化时,将B00TL0ADER从FLASH或EEPROM拷贝到第一部分RAM上,R00TL0ADER主要包括将从7816接收数据以及写FLASH或EEPROM的程序代码。步骤302、智能卡芯片运行所述程序存储器上的软件程序,将自7816端口下载的数据写入所述数据存储器;本步骤中,智能卡芯片的CPU在执行程序时,跳到程序存储器上继续执行,智能卡芯片首先从7816端口下载数据,存入数据存储器中。步骤303、所述智能卡芯片在自所述7816端口下载数据的同时,将所述数据存储器存储的数据写入所述非易失性存储;本步骤中,智能卡芯片在所述从数据存储器中取出数据放入FLASH或EEPROM的缓存(BUFFER)中,启动第一页FLASH或EEPROM的写入过程。由于此时智能卡芯片的CPU由程序存储器读取程序,而并非从FLASH或EEPROM读取数据,故向FLASH或EEPROM写入数据可以不受智能卡芯片是否正在从7816端口下载的影响。即,在智能卡芯片正在从7816端口下载数据或将数据写入数据存储器的同时,亦可以将数据存储器中的数据送入FLASH或 EEPROM的BUFFER中,进行向FLASH或EEPROM的第一页写入数据。等前面第一页写好数据后,马上从数据存储器中取出新的数据,再放到FLASH或 EEPR0MBUFFER上,再启动FLASH或EEPROM新的一页的擦写,直到整个智能卡引导过程结束。优选的,所述非易失性存储在将所述全部智能卡控制软件程序拷贝至所述程序存储器后,擦除该非易失性存储上存储的全部智能卡控制软件。这样,就空出了原来存储B00TL0ADER的空间。下载的数据可以写到整片FLASH或EEPROM上,甚至覆盖原来 B00TL0ADER占用的空间,从而扩大应用程序数据的存储空间。等整个过程结束,重新启动智能卡芯片工作时,RAM又回到了数据存储器地址区域。可以看出,实际上步骤302与步骤303是并行进行的,如图4所示,在下载数据的同时可进行向非易失性存储的数据写入,对智能卡软件引导系统的外部来说,可以进行不间断的下载,这样提高了发行效率,缩短了发行的时间,同时提高了设备的利用率。本发明的实施例提供的智能卡软件引导系统和方法,将智能卡的RAM划分为程序存储器和数据存储器两部分,在程序存储器上存储全部的智能卡控制软件程序,在智能卡运行时,直接从程序存储器读取软件程序,智能卡芯片运行所述程序存储器上的软件程序, 将自7816端口下载的数据写入所述数据存储器,并且在自所述7816端口下载数据的同时, 将所述数据存储器存储的数据写入所述非易失性存储,将原有自非易失性存储读取程序和向该非易性性存储写入数据的串行操作变为并行操作,即在调用程序的同时亦可向非易失性存储写入数据,解决了现有智能卡软件引导系统效率受限的问题。由于将B00TL0ADER中的7816接收数据功能和写FLASH或EEPROM的功能从串行操作改为并行操作。现有技术方案由于采用的是串行的工作方式,程序执行时间长,智能卡软件引导过程(主要是从7816 端口接收数据至将数据写入到FALSH或EEPR0M)无疑时间较长,影响了系统性能。而本发明方案采用了将RAM划分为两部分的方法,将智能卡软件引导过程(主要是从7816端口接收数据至将数据写入到FALSH或EEPR0M)改为并行方式,大大缩短了弓I导过程的时间,改善了系统性能。本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现, 它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或
6替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。
权利要求
1.一种智能卡软件引导系统,包括载有该智能卡软件引导系统全部智能卡控制软件程序的非易失性存储器、随机存取存储器(RAM)、中央处理器(CPU)和7816端口,其特征在于, 所述RAM包括程序存储器和数据存储器两部分;所述程序存储器通过程序地址总线与所述非易失性存储器相连,所述数据存储器通过数据总线接口与所述非易失性存储器相连;所述CPU,用于在智能卡软件引导系统启动运行后,将所述全部智能卡控制软件程序自所述非易失性存储拷贝到所述程序存储器中,自所述程序存储器运行所述智能卡控制软件程序,将自所述7816端口下载的数据写入所述数据存储器,并将该数据存储器上存储的数据向所述非易失性存储写入。
2.根据权利要求1所述的智能卡软件引导系统,其特征在于,所述非易失性存储器具体为电可擦只读存储器或闪存(FLASH)或电可擦可编程只读存储器(EEPROM)。
3.一种智能卡软件引导方法,其特征在于,智能卡的RAM包括程序存储器和数据存储器两部分,在所述程序存储器中存储有智能卡控制软件程序,该方法包括智能卡芯片运行所述程序存储器上的软件程序,将自7816端口下载的数据写入所述数据存储器;所述智能卡芯片在自所述7816端口下载数据的同时,将所述数据存储器存储的数据写入所述非易失性存储。
4.根据权利要求3所述的智能卡软件引导方法,其特征在于,该方法还包括存储有全部智能卡控制软件程序的所述非易失性存储在最初开始工作时,将所述全部智能卡控制软件程序拷贝至所述程序存储器。
5.根据权利要求4所述的智能卡软件引导方法,其特征在于,该方法还包括在将所述全部智能卡控制软件程序拷贝至所述程序存储器后,所述智能卡芯片将运行程序的指针指向所述程序存储器。
6.根据权利要求4所述的智能卡软件引导方法,其特征在于,该方法还包括所述非易失性存储在将所述全部智能卡控制软件程序拷贝至所述程序存储器后,擦除该非易失性存储上存储的全部智能卡控制软件。
7.根据权利要求3所述的智能卡软件引导方法,其特征在于,所述智能卡芯片在自所述7816端口下载数据的同时,将所述数据存储器存储的数据写入所述非易失性存储具体包括将所述数据存储器存储的数据写入所述非易失性存储的缓存,启动所述非易失性存储第一页的写入过程;在所述第一页的数据写入所述非易失性存储完成后,再从所述数据存储器存储的数据中取出新的数据放入所述非易失性存储的缓存,再次启动所述非易失性存储新的一页的写入过程。
全文摘要
本发明提供了一种智能卡软件引导系统和方法。涉及集成电路领域;解决了现有智能卡软件引导系统效率受限的问题。该系统包括载有该智能卡软件引导系统全部智能卡控制软件程序的非易失性存储器、RAM、CPU和7816端口,所述RAM包括程序存储器和数据存储器两部分;所述程序存储器通过程序地址总线与所述非易失性存储器相连,所述数据存储器通过数据总线接口与所述非易失性存储器相连。
文档编号G06F9/445GK102402448SQ20111044388
公开日2012年4月4日 申请日期2011年12月27日 优先权日2011年12月27日
发明者侯朝晖, 张祥杉 申请人:大唐微电子技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1