发布信息

一种基于单片机的时间频率设备固件升级方法及可读存取介质与流程 专利技术说明

作者:admin      2022-11-26 11:55:04     758



计算;推算;计数设备的制造及其应用技术一种基于单片机的时间频率设备固件升级方法及可读存取介质1.技术领域2.本发明涉及-单片机固件升级相关技术领域,具体是一种基于单片机的时间频率设备固件升级方法及可读存取介质。3.背景技术:4.时间频率同步装置(简称为“时频装置”),用于提供高精度的时间、频率统一服务。可装备于靶场、舰船、导弹系统、军用实验室等军用领域,以及通信、电力、交通、广电、金融等民用领域。5.现有时频、导航、卫星通讯等装置一般以单片机为核心,常见的如msp430单片机作为核心,可完成信息传输、人机交互、lcd显示等功能。6.随着北斗导航系统的日臻完善以及用户网络的不断升级,时间频率设备以及其它相关通讯设备同样需要进行固件升级以满足同步和传输需求。上述基于msp430等单片机作为核心传统的时间频率装置固件升级时,通常需要打开机箱,利用仿真器通过jtag接口进行烧录,将固件升级程序写入存储介质内,需要耗费较多时间,而且一台电脑同时只能对一台设备升级;此外,目前的升级方法过程中,因为msp430单片机中断矢量空间是固定的,不可随意调整。如果升级程序使用了中断,应用程序的中断就不能放在中断区域,否则会导致升级程序错误,进而导致下载失败。7.技术实现要素:8.本发明的目的在于提供一种基于单片机的时间频率设备固件升级方法及可读存取介质,以解决上述背景技术中提出的问题。9.为实现上述目的,本发明提供如下技术方案:一种基于单片机的时间频率设备固件升级方法,其特征在于:包括以下步骤:s1、生成待升级的程序文件:使用单片机开发软件开发生成待升级的程序文件;s2、通过单片机开发软件对生成的程序文件中的代码存放地址、复位入口地址以及中断入口地址通过配置文件进行修改,使其适应该单片机的应用程序入口地址和存储地址;s3、下载升级程序以及应用程序:单片机串口收到更新命令后关闭单片机定时器,并修改串口波特率,随后上位机向时间频率设备主机发送数据帧,串口接收数据帧至数据全部接收完毕;s4:下载过程中,下载程序实时监测下载内容是否为中断向量,若为中断向量,则将其保存至指定区域。10.作为本发明进一步的方案:所述步骤s3具体包括以下步骤:s31、主机将升级程序中断矢量从存储区域复制到0xff80区域,打开串口中断;s32、上位机向主机发送波特率修改指令,主机收到该指令后,修改波特率;s33、主机收到来自上位机的修改串口波特率的命令后,将波特率调整后,以新的波特率向上位机发送确认命令,上位机也在新的速率上接收到该响应;s33、上位机向主机发送固件下载请求指令;s34、主机收到上位机的固件下载请求后,计算需要的存储空间,并向位机发送应答消息;s35、上位机向主机下载升级固件数据块,下载数据帧中包含该数据块的起始地址和数据长度;s36、主机接收到来自上位机数据后,向上位机发送确认指令,上位机收到确认指令后,若错误,则重发当前指令,若正确则发送下一帧数据;s37、当上位机正确下载完全部数据后,向主机发送下载完毕的指令,主机收到该指令后,向上位机反馈确认指令,并从入口地址启动程序。11.作为本发明进一步的方案:步骤s33中,固件下载请求指令中至少包括:要下载的起始地址、程序入口地址和待下载数据大小。12.作为本发明进一步的方案:所述步骤s1中,还包括对生成的待升级程序文件的处理和解析,具体为:将txt格式的数据转换为16进制数、下载的起始地址、程序入口地址和待下载数据大小。13.一种存储介质,包括计算机程序,所述计算机程序在被执行时,用于实现上述任一项所述的方法。14.与现有技术相比,本发明的有益效果是:本发明对单片机核心的时间频率设备进行固件升级,在不打开机箱的情况下通过外部调试口下载升级固件,可在开机后自动执行,升级软件作为引导程序在单片机内运行,实现高效、快速的时间频率设备的固件升级;解决了如串口中断接收等导致的无法继续接收升级数据的问题。升级程序驻留在单片机rom中,不会因升级失败(断电等原因),导致整个设备,而导致设备无法再次升级。15.附图说明16.图1为本发明中整理流程示意图。17.图2为本发明中单片机串口接收流程图。18.图3为本发明中单片机数据帧处理流程图。19.具体实施方式20.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。21.请参阅图1~3,本发明实施例中,一种基于单片机的时间频率设备固件升级方法,包括以下步骤:s1、生成待升级的程序文件:以基于msp430单片机的时间频率设备为实施例,常用的msp430单片机软件开发环境是iar c/c++ compiler for msp430,用仿真器进行程序烧写以及仿真调试时,在options→linker→output→format选项中选择的是“debug information for c-spy”,但如果要得到应用程序文本格式的代码文件,需要选择format中的other选项;采用iar c/c++ compiler for msp430的开发环境生成的待升级文件txt文件,需对数据进行解析后将txt格式的数据转换为16进制数并去掉空格;s2、通过修改iar c/c++ compiler for msp430下的配置文件.xcl文件,可对txt文件中的代码存放地址、复位入口地址以及中断入口地址进行修改,使其适应该单片机的应用程序入口地址和存储地址;将升级程序和应用程序的中断矢量分别保存在flash的指定区域,该区域不可与程序存储地址重叠。在设备开机后,将存储在flash中的升级程序的中断矢量复制到0xff80~0xffff区域。在下载过程中,将应用程序的中断矢量存储在指定的另一块flash区域中。待下载完毕后,再将应用程序中断矢量复制至0xff80-0xffff区域。将程序指针指向复位地址,就可以正常使用应用程序了。如果超时或者通过按键取消固件升级,直接进入应用程序,也需要将存储的应用程序中断向量复制至0xff80区域。22.s3、下载升级程序以及应用程序:s31、上位机向主机发送波特率修改指令,主机收到该指令后,修改波特率;s32、主机收到来自上位机的修改串口波特率的命令后,将波特率调整后,以新的波特率向上位机发送确认命令,上位机也在新的速率上接收到该响应,表示串口速率调整完毕;s33、上位机向主机发送固件下载请求指令,该指令包含要下载的起始地址、程序入口地址和待下载数据大小;s34、主机收到上位机的固件下载请求后,计算需要的存储空间,若存储器为flash,则格式化相应的flash,并向位机发送应答消息;s35、上位机向主机下载升级固件数据块,数据块大小固定,最后一个数据块内容若小于下载数据块的大小,其余数据用0xff补齐;s36、主机接收到来自上位机数据后,向上位机发送确认指令。上位机收到确认指令后,若错误,则重发当前指令,若正确则发送下一帧数据;s37、当上位机正确下载完全部数据后,向主机发送下载完毕的指令。主机收到该指令后,向上位机反馈确认指令,并从入口地址启动程序;s38、主机收到上位机数据下载完毕命令后,向上位机反馈确认指令,并从入口地址启动程序。23.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。24.此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部