连锁店CPU会员卡使用过程中COS补丁下载
文章标签:连锁店会员卡 CPU会员卡 发布时间:2015年11月04日 点击次数:
很多连锁店都有发行会员卡,利用本身的连锁特优势给予客户更好的体验以留住优质客户,要使这种连锁店会员制运行顺畅显然以往的只存储单一卡号无密保措施的磁条卡已经不能胜任,取而代之的是CPU卡,而CPU卡的核心之一就是“COS”,COS相当于整个CPU会员卡的操作系统,它肩负着保护卡内信息的安全并且处理信息的功能,因此要了解CPU卡,COS是绕不开的话题。
CPU会员卡操作系统COS在设计主函数时比较通用的方式是设计成一个循环的方式. 循环实现CPU会员卡接收命令, 进行处理, 处理完毕后送出相应的应答。
主程序在接收到终端发来的指令会经过传输管理模块,首先判断是什么样的指令,以及要对那些文件进行操作,操作后再返回主程序进行处理,返回相应的数据和执行结果. CPU会员卡和终端的交互过程是通过对卡内文件的连续操作进行的。
补丁的作用:
通常,CPU会员卡操作系统COS的下载方式是由芯片提供商决定的. 在下载COS之前,卡片的状态为BootLoader状态. 卡片BootLoader有一套自己的操作指令. 本文中的补丁机制研究以51系列CPU会员卡为例, 实际操作时,采用的编译器是Keil编译器,程序编译后会产生一个. hex文件. 下载程序时把. hex文件中地址信息和对应的数据信息解析出来,然后用BootLoader的下载指令即可。
一般情况下,在下载完COS后,如果发现COS中有程序错误或者需要增加新的功能而需要修改某些函或文件,最简单的办法就是重新发卡,即回收卡片,重新下载COS. 但是当卡片已经在用户手中,这时,不仅要回收顾客手中的会员卡,还要经历COS下载、个人化等阶段. 这就显的非常麻烦。 所以,我们在设计卡操作系统时最好能给出一个补丁( PATCH)的接口,这样的话,当卡片需要增加新的功能或是修改BUG时,只需将补丁程序下载到卡片这一个步骤。
补丁的实现方式:
传统的补丁设计方法是直接在程序中预留一段或者多段代码. 这样,当需要下载补丁时,只需将补丁程序写到预留的地址中去即可. 但是,由于在预留代码时一般不能确定未来下载补丁的大小和个数,所以,这种实现方法有一定的局限性,而且,在需要下载的补丁较大或者较多时,比较容易出现代码重叠的情况,使COS在执行过程中出现异常错误。
基于以上问题,下面结合51系列CPU会员卡研究出一套补丁机制,这种方案适合任意的51系列CPU会员卡的补丁下载. 该方法通过建立PATCH函数表和在操作系统主程序中设计调用补丁的接口来实现补丁的下载和管理,可以根据不同的补丁分类索引进行补丁下载,而且不再受补丁大小的限制,同时支持多个补丁的下载。
文章编辑:深圳建和诚达会员卡制作