[发明专利]一种快速稳定的串口升级软件方法有效
申请号: | 201711128412.3 | 申请日: | 2017-11-10 |
公开(公告)号: | CN107885523B | 公开(公告)日: | 2021-08-31 |
发明(设计)人: | 钟廷伟;沈天驹 | 申请(专利权)人: | 航宇救生装备有限公司 |
主分类号: | G06F8/654 | 分类号: | G06F8/654;G06F11/10;G06F13/42 |
代理公司: | 中国航空专利中心 11008 | 代理人: | 张毓灵 |
地址: | 441003 *** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 快速 稳定 串口 升级 软件 方法 | ||
本发明公开一种快速稳定的串口升级软件方法,在在软件升级时,通过串口将升级代码和目标代码烧写至DSP的现有方式的基础上,通过重新定义串口引导格式文件,智能擦除Flash扇区,增加每个代码段的校验码,利用双缓冲接收数据,此还还可对传输错误引入重传机制,提高了串口升级软件的速度和稳定性,使得串口升级软件方法能更好的应用于外场软件升级。升级过程不需要开盖,大幅提高了软件升级的效率,节约了外场服务的成本。
技术领域
本发明涉及数字信号处理器(DSP)技术领域,尤其涉及一种到通过串口快速升级嵌入式软件的方法。
背景技术
基于DSP外场软件升级主要采用JTAG方法,这种方式在软件的开发与调试过程中非常方便、升级程序速度快。当应用到外场软件的升级时,一个很大的弊端是每次升级都需要开盖才能升级程序,升级效率低。解决方法之一是通过串口升级软件,升级过程不需要开盖。而这种方法的一种方式是将升级代码长驻DSP中,升级时利用升级代码将目标程序烧写到DSP中;另一种方式不事先固化升级代码,升级时将升级代码和目标代码通过串口烧写至DSP。两种方式都存在升级速度慢且不稳定,中间任意环节出错升级即被中断的缺点。此外,第一种方式还存在较大的单粒子翻转风险(1变0,0变1)。
发明内容
鉴于现有技术的上述情况,本发明的目的是提供一种快速稳定的串口升级软件方法,以提高通过串口升级软件的速度和稳定性。
一种快速稳定的串口升级软件方法,包括:
将数字信号处理器(DSP)开发环境生成的用户目标代码和升级代码的格式转换为符合串口引导的数据格式;
解析格式转换后的目标代码,获取需要擦除的扇区,计算每个段的校验码,从上层软件获取用户输入的解锁密码,添加到目标代码的串口引导格式文件中;
将DSP的加载方式从FLASH加载切换为串口加载;
通过串口把格式转换后的升级代码加载到DSP中并在RAM空间运行,取得DSP的控制权;
然后通过串口接收格式转换后的用户目标代码;
升级代码解析接收到的用户目标代码,根据解析结果,把接收到的用户目标代码写入指定的扇区,完成软件的升级。
进一步地,用户目标代码是利用双缓冲区接收的,如此,提高了一次接收数据的大小。
进一步地,所述方法在接收数据过程中,还可对传输和写入出错的数据进行重传,以提高软件升级的稳定性。
进一步地,所述方法还包括在完成软件升级后,DSP跳转到目标代码的入口地址,开始运行目标代码。从而,DSP不需要重新上电即可验证升级是否成功。
本发明提出的串口升级软件方法在现有的第二种方式的基础上,通过重新定义串口引导格式文件,智能擦除Flash扇区,增加每个代码段的校验码,并利用双缓冲区接收数据,还可对传输错误引入重传机制,提高了串口升级软件的速度和稳定性,使得串口升级软件方法能更好地应用于外场软件升级。升级过程不需要开盖,大幅提高了软件升级的效率,节约了外场服务的成本。
附图说明
图1为本发明的串口升级软件方法的原理图;
图2为上位机工作流程图;
图3为升级代码工作流程图。
具体实施方式
为了更清楚地理解本发明的目的、技术方案及优点,以下结合附图及实施例,对本发明进行进一步详细说明。
本发明的方法利用DSP的自举引导(BootLoader)功能,上电后首先通过串口加载升级代码,再接收用户程序。利用升级代码将用户程序烧写到FLASH,工作原理如图1所示。升级过程如图2和图3所示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航宇救生装备有限公司,未经航宇救生装备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711128412.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:可横移公铁两用牵引车
- 下一篇:一种用于重载AGV驱动悬挂系统