电子标签及软件更新方法和系统的制作方法

文档序号:6486604阅读:152来源:国知局
电子标签及软件更新方法和系统的制作方法
【专利摘要】本发明提供了一种电子标签及软件更新方法和系统,通过在BootLoader区软件开始运行后,根据置位的更新标志位将临时存储区的程序数据下载到应用程序区,完成更新,然后初始化电子标签运行应用程序区所需的数据,以根据初始化电子标签运行应用程序区所需的数据跳转到应用程序区。通过设置更新标志位,从Bootloader区的启动到应用程序区的初始化,只需判断更新标志位是否有效,无须等待超时,避免了延迟更新程序的麻烦,以及简化了电子标签更新程序及运行程序时需多次初始化电子标签运行应用程序区所需的数据的步骤,提高了电子标签的交易速度以及营业网点的营业效率。
【专利说明】电子标签及软件更新方法和系统
【技术领域】
[0001]本发明涉及专用短程通信领域,具体的说,涉及一种电子标签,还包括电子标签的软件更新方法及其系统。
【背景技术】
[0002]电子标签是一种电子产品,使用单片机作为主处理器,单片机的特点是处理能力和资源有限。现阶段国内的电子不停车扣费领域的技术发展还不是很成熟,因此各个电子标签厂商所生产的电子标签的机载程序多少可能会有不完善的地方,如果在电子标签已经安装到用户车上后,再发现程序有缺陷,或者需求变动,要更新标签程序是一件非常麻烦的事情,首先要通知用户回到标签的营业网点进行程序更新,其次要给用户更新电子标签程序就需要专业人士才能操作。从2007年电子收费国标颁布之后到目前为止,电子标签大面积更新程序的事件并不少见,各个电子标签厂家均要耗费大量人力物力和才力才能平息事件的影响,可见电子标签的程序更新是个比较严重的问题。
[0003]在专用短程通信领域中,更新电子标签的方法,一般是专业技术人员使用专用的更新设备,通过专用设备与电子标签建立通信连接关系更新软件,或者通过手持设备对电子标签进行无线软件更新。然而,电子标签大量发行时,如果需要对电子标签进行软件更新,则需要增加若干专业技术人员使用专用的更新设备进行电子标签的软件更新,或者发行大量的手持设备进行电子标签的软件更新,耗费了大量的人力物力,增加了电子标签的软件更新成本,使得电子标签的软件更新成为很严重的问题。

【发明内容】

[0004]本发明的目的在于提供一种电子标签软件更新方法、设备及其系统,解决了电子标签软件更新的效率低的问题。
[0005]针对上述现有技术存在的问题,本发明提供一种电子标签软件更新方法,包括:预先在所述电子标签设置BootLoader区、应用程序区、临时存储区,所述方法包括:
[0006]所述电子标签接收路侧单元下发的程序数据帧,及存储在所述临时存储区,并对更新标志位进行置位,跳转至所述BootLoader区,所述电子标签启动所述BootLoader区以检测所述程序数据帧的更新标志位是否置位;
[0007]如果所述更新标志位置位,则所述电子标签将所述程序数据帧下载到应用程序区进行程序更新。
[0008]本发明还提供一种电子标签,包括=BootLoader模块,用于引导所述电子标签的应用程序区;
[0009]检测单元,用于检测所述程序数据帧的更新标志位是否置位;
[0010]处理单元,用于所述临时存储区存储的程序数据下载至所述应用程序区;
[0011]初始化模块,用于初始化所述电子标签运行应用程序区所需的数据;以及用于当所述处理单元将所述临时存储区存储的程序数据完全下载至所述应用程序区时,清除所述更新标志位的置位信息;
[0012]转换单元,根据初始化所述电子标签运行应用程序区所需的数据跳转到应用程序区。
[0013]最后,本发明还提供一种以上电子标签软件更新系统,包括:;电子标签、及,
[0014]路侧单元,用于向所述电子标签发送下行命令,所述下行命令至少包括软件更新命令,以使所述电子标签判断接收到的下行命令是否为软件更新命令;还用于向所述电子标签逐帧发送程序数据帧,以使所述电子标签接收所述程序数据帧以及判断所述程序数据帧是否为最后一帧,以使所述电子标签根据判断所述程序数据帧为最后一帧的结果置位更新标志位,使所述电子标签根据置位的更新标志位将临时存储区的程序数据覆盖到应用程序区。
[0015]本发明实施例中,在BootLoader区软件开始运行后;通过检测更新标志位是否置位后,根据置位的更新标志位将临时存储区的程序数据下载到应用程序存储区,完成更新,然后初始化所述电子标签运行应用程序区所需的数据,以根据初始化所述电子标签运行应用程序区所需的数据跳转到应用程序区。通过更新标志位的设置,则不需要在BootLoader区软件开始运行后初始化外围设备,只需在启动应用程序区时才进行初始化操作。根据置位的更新标志位,不需要检测预设时间段内是否接收到软件更新的命令,以及也不需要检测是否等待超时,提升了软件更新的速率,也可进一步减少更新电子标签程序的麻烦,提升用户体验感和营业网点的营业效率。
【专利附图】

【附图说明】
[0016]图1为本发明实施例的程序区在Flash中的地址分配示意图。
[0017]图2为本发明实施例的电子标签软件更新方法第一流程示意图。
[0018]图3为本发明实施例的电子标签软件更新方法第二流程示意图。
[0019]图4为本发明实施例的电子标签软件更新方法第三流程示意图。
[0020]图5为本发明实施例的电子标签的结构示意图。
【具体实施方式】
[0021]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0022]本发明实施例提供电子标签及软件更新方法、设备及其系统,解决了电子标签软件更新的效率低的问题。以下分别进行详细说明。
[0023]实施例1
[0024]参见图1,本实施例提供的使用BootLoader的单片机系统的程序区至少分为三个区,分别是Bootloader区、应用程序存储区以及临时存储区。
[0025]参阅图2,本实施例提供的电子标签软件更新方法包括:
[0026]S110,所述电子标签接收路侧单元下发的程序数据帧;
[0027]S120,存储在所述临时存储区;[0028]S130,对更新标志位进行置位;
[0029]S140,跳转至所述 BootLoader 区;
[0030]S150,启动所述BootLoader区以检测程序数据巾贞的更新标志位是否置位;
[0031]如果所述更新标志位置位,则执行步骤S160,将所述程序数据帧下载到应用程序区进行程序更新。
[0032]进一步参见图3,执行所述步骤SllO前,所述方法还包括:
[0033]S109,所述电子标签判断接收到的所述程序数据帧是否为程序更新命令,如果为所述程序更新命令,则执行步骤S110,所述电子标签逐帧接收所述路侧单元下发的程序数据帧,以及S120,下载所述程序数据帧至所述临时存储区;
[0034]执行步骤S120后,所述方法还包括:
[0035]S121,所述电子标签判断所述程序数据帧是否为最后一帧,如果所述程序数据帧为最后一帧,则执行步骤S130,将所述更新标志位置位,反之继续接收所述路侧单元下发的程序数据帧。
[0036]进一步参见图4,执行所述步骤S109前,所述方法还包括:
[0037]S108,向所述路侧单元发送当前应用程序的版本号;以使所述路侧单元判断所述电子标签当前应用程序的版本号与所述需下发的所述程序数据帧的版本号是否一致,如果不一致,则所述路侧单元逐帧发送程序数据帧,反之所述路侧单元不作任何处理。
[0038]执行步骤S120前,所述方法还包括:
[0039]S119,检测所述程序数据帧与应用程序区当前应用的程序代码是否存在差异性;
[0040]如果存在差异性,则所述BootLoader区将具有所述差异性程序代码的程序数据帧覆盖当前应用的程序,即所述临时存储区存储的程序数据为具有差异性程序代码的程序数据帧。
[0041]以及,继步骤S108以后,所述路侧单元判断所述电子标签当前应用程序的版本号与所述需下发的所述程序数据帧的版本号不一致后,向电子标签发送需要更新程序命令,
[0042]进一步,如果所述电子标签发送的是上一次接收的程序数据帧时,则所述电子标签则从上一次的断点处开始接收,直到全部接收,并对更新标志位置位。
[0043]参见图5,本实施例的电子标签110包括=BootLoader模块111、检测单元112、处理单元113、初始化模块114、转换单元115、接收单元116以及发送单元117。
[0044]其中,BootLoaderlll模块用于引导所述电子标签的应用程序区。
[0045]检测单元112,用于检测所述程序数据帧的更新标志位是否置位;还用于判断接收到的所述网络设备发送的下行命令是否为软件更新命令。
[0046]处理单元113,用于所述临时存储区存储的程序数据下载至所述应用程序区。
[0047]初始化模块114,用于初始化所述电子标签运行应用程序区所需的数据;以及用于当所述处理单元将所述临时存储区存储的程序数据完全下载至所述应用程序区时,清除所述更新标志位的置位信息;还用于根据所述判断单元判断所述程序数据帧为最后一帧的通知将所述更新标志位置位。
[0048]转换单元115,根据初始化所述电子标签运行应用程序区所需的数据跳转到应用程序区。
[0049]接收单元116,用于接收所述路侧单元下发的下行命令;还用于根据判断所述路侧单元发送的下行命令为软件更新命令的通知逐帧接收所述路侧单元发送的程序数据帧。
[0050]发送单元117,用于向所述路侧单元发送当前应用软件的版本号。
[0051]本实施例的电子标签软件更新系统包括:电子标签110以及路侧单元,其中电子标签的结构原理图以及与所述路侧单元之间的通信方法已通过图1至图5清楚地描述了,不再赘述。
[0052]本实施例的路侧单元用于向所述电子标签发送下行命令,所述下行命令至少包括软件更新命令,以使所述电子标签判断接收到的下行命令是否为软件更新命令;还用于向所述电子标签逐帧发送程序数据帧,以使所述电子标签接收所述程序数据帧以及判断所述程序数据帧是否为最后一帧,以使所述电子标签根据判断所述程序数据帧为最后一帧的结果置位更新标志位,使所述电子标签根据置位的更新标志位将临时存储区的程序数据覆盖到应用程序区。进一步,如果更新不成功,所述电子标签将进行恢复操作。
[0053]进一步,路侧单元,还用于接收所述电子标签发送的当前应用的版本软件的版本号,并向所述电子标签发送程序数据帧;或者所述路侧单元根据所述电子标签当前应用程序的版本号,对比所述需下发的所述程序数据帧得出差异性程序代码的程序数据帧,使所述路侧单元逐帧发送具有差异性程序代码的所述程序数据帧。
[0054]实施例2
[0055]本实施例与实施例1的区别之处在于,本实施例中,步骤S108的执行,其目的是使所述路侧单元根据所述电子标签当前应用程序的版本号,对比所述需下发的所述程序数据帧得出差异性程序代码的程序数据帧,使所述路侧单元逐帧发送具有差异性程序代码的所述程序数据帧。
[0056]以及省略了实施例1中的步骤S119,即得出差异性程序代码的步骤可以通过所述路侧单元对比所述需下发的所述程序数据帧得出差异性程序代码的程序数据帧。与实施例1中通过电子标签将接收到的程序数据帧与应用程序区当前应用的程序代码对比以得出差异性代码的程序数据帧的技术方案相比,实施例2中通过路侧单元下发差异性程序代码的程序帧的技术方案进一步提高了电子标签更新程序的速度,提升了运营商运营营业网点的效率。
[0057]上述发明实施例中,在BootLoader区软件开始运行后;通过检测更新标志位是否置位后,根据置位的更新标志位将临时存储区的程序数据下载到应用程序存储区,完成更新,然后初始化所述电子标签运行应用程序区所需的数据,以根据初始化所述电子标签运行应用程序区所需的数据跳转到应用程序区。通过更新标志位的设置,从Bootloader区的启动到应用程序区的初始化,只需判断更新标志位是否有效,无须等待超时,避免了延迟更新程序的麻烦,以及简化了电子标签更新程序及运行程序时需多次初始化电子标签运行应用程序区所需的数据的步骤,提高了电子标签的交易速度以及营业网点的营业效率。
[0058]本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory, ROM)、随机存取器(RandomAccessMemory, RAM)、磁盘或光盘等。
[0059]以上对本实施例所提供的电子标签软件更新方法、设备及其系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种电子标签软件更新方法,其特征在于,预先在所述电子标签设置BootLoader区、应用程序区、临时存储区,所述方法包括: 所述电子标签接收路侧单元下发的程序数据帧,及存储在所述临时存储区,并对更新标志位进行置位,跳转至所述BootLoader区,所述电子标签启动所述BootLoader区以检测所述程序数据帧的更新标志位是否置位; 如果所述更新标志位置位,则所述电子标签将所述程序数据帧下载到应用程序区进行程序更新。
2.根据权利要求1所述的电子标签软件更新方法,其特征在于: 所述电子标签判断接收到的所述程序数据帧是否为程序更新命令,如果为所述程序更新命令,所述电子标签逐帧接收所述路侧单元下发的程序数据帧,并下载所述程序数据帧至所述临时存储区; 及所述电子标签判断所述程序数据帧是否为最后一帧,如果所述程序数据帧为最后一帧,则将所述更新标志位置位。
3.根据权利要求2所述的电子标签软件更新方法,其特征在于,所述电子标签逐帧接收所述路侧单元下发的程序数据帧前,所述方法还包括: 所述电子标签向所述路侧单元发送当前应用程序的版本号,使所述路侧单元判断所述电子标签当前应用程序的版本号与所述需下发的所述程序数据帧的版本号是否一致,如果不一致,则所述路侧单元逐帧发送程序数据帧;或者所述路侧单元根据所述电子标签当前应用程序的版本号,对比所述需下发的所述程序数据帧得出差异性程序代码的程序数据帧,使所述路侧单元逐帧发送具有差异性程序代码的所述程序数据帧。
4.根据权利要求3所述的电子标签`软件更新方法,其特征在于,所述临时存储区存储的程序数据为具有差异性程序代码的程序数据帧,所述电子标签逐帧接收所述路侧单元下发的程序数据帧后,所述方法还包括: 所述电子标签启动所述BootLoader区以检测所述程序数据帧与应用程序区当前应用的程序代码是否存在差异性; 如果存在差异性,则所述BootLoader区将具有所述差异性程序代码的程序数据帧覆盖当前应用的程序。
5.—种电子标签,其特征在于,包括: BootLoader模块,用于引导所述电子标签的应用程序区; 检测单元,用于检测所述程序数据帧的更新标志位是否置位; 处理单元,用于所述临时存储区存储的程序数据下载至所述应用程序区; 初始化模块,用于初始化所述电子标签运行应用程序区所需的数据;以及用于当所述处理单元将所述临时存储区存储的程序数据完全下载至所述应用程序区时,清除所述更新标志位的置位信息; 转换单元,根据初始化所述电子标签运行应用程序区所需的数据跳转到应用程序区。
6.根据权利要求5所述的电子标签,其特征在于,还包括: 接收单元,用于接收所述路侧单元下发的下行命令; 所述检测单元,还用于判断接收到的所述网络设备发送的下行命令是否为软件更新命令;所述接收单元,还用于根据判断所述路侧单元发送的下行命令为软件更新命令的通知逐帧接收所述路侧单元发送的程序数据帧; 所述初始化模块,还用于根据所述判断单元判断所述程序数据帧为最后一帧的通知将所述更新标志位置位。
7.根据权利要求6所述的电子标签,其特征在于,还包括: 发送单元,用于向所述路侧单元发送当前应用软件的版本号。
8.一种电子标签软件更新系统,其特征在于,包括:权利要求5至7中任一所述的电子标签、及, 路侧单元,用于向所述电子标签发送下行命令,所述下行命令至少包括软件更新命令,以使所述电子标签判断接收到的下行命令是否为软件更新命令;还用于向所述电子标签逐帧发送程序数据帧,以使所述电子标签接收所述程序数据帧以及判断所述程序数据帧是否为最后一帧,以使所述电子标签根据判断所述程序数据帧为最后一帧的结果置位更新标志位,使所述电子标签根据置位的更新标志位将临时存储区的程序数据覆盖到应用程序区。
9.根据权利要求8所述的电子标签软件更新系统,其特征在于, 所述路侧单元,还用于接收所述电子标签发送的当前应用的版本软件的版本号,并向所述电子标签发送程序数据帧;或者所述路侧单元根据所述电子标签当前应用程序的版本号,对比所述需下发的所述程序数据帧得出差异性程序代码的程序数据帧,使所述路侧单元逐帧发送具有差异性程序代码的所述程序数据帧。
10.根据权利要求8或9所述的电子标签软件更新系统,其特征在于,所述软件更新命令至少包括新版本软件的版本号; 所述电子标签,还用于判断软`件更新命令包括的新版本软件的版本号与当前应用的版本软件的版本号是否一致,以根据判断软件更新命令包括的新版本软件的版本号与当前应用的版本软件的版本号不一致的结果,逐帧接收程序数据帧。
【文档编号】G06K19/07GK103514005SQ201210223028
【公开日】2014年1月15日 申请日期:2012年6月29日 优先权日:2012年6月29日
【发明者】王政, 郭云峰 申请人:深圳市金溢科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1