[发明专利]嵌入式程序的程序更新方法、终端、系统及存储介质有效
申请号: | 202110495111.4 | 申请日: | 2021-05-07 |
公开(公告)号: | CN112905217B | 公开(公告)日: | 2021-08-20 |
发明(设计)人: | 郭磊;许雪松;厉雷刚 | 申请(专利权)人: | 鹏城实验室 |
主分类号: | G06F8/65 | 分类号: | G06F8/65 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 张志江 |
地址: | 518000 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 嵌入式 程序 更新 方法 终端 系统 存储 介质 | ||
本发明公开了一种嵌入式程序的程序更新方法、终端、系统及存储介质。其中,该方法包括:接收开发终端发送的更新文件,所述更新文件为开发终端根据应用终端中的嵌入式程序、以及修改的源代码文件生成的携带有地址信息的二进制文件;判断更新文件的程序地址范围是否大于与所述地址信息对应的原始程序的程序地址范围;若是,则将更新文件写入空白地址中,更新原始程序对应的数据首行为跳转至空白地址;若否,则将更新文件写入原始程序对应的程序地址,更新原始程序为更新文件。本发明提供的方法提高存储器的使用寿命、缩短烧录时间。
技术领域
本发明涉及程序研发技术领域,尤其涉及一种嵌入式程序的程序更新方法、终端及可读存储介质。
背景技术
嵌入式程序中,一般都是预先将执行程序烧录于一可编程只读存储器中,将可编程只读存储器中的内容解压缩后置入另一随机存储内存(RAM)内,以执行特定的工作。存储于可编程只读存储器中的数据可以重复的烧录进去,但是一个产品的研发过程中,会衍生出很多软件版本,且每个版本都要经过多轮迭代测试,甚至有些产品需要在版本未完成时边开发边验证参数和算法。现今更改程序的主要方法是将只读存储器拆下放置于烧录器上或将硬件用烧录器与开发程序计算机连接,再将需要测试的程序代码烧录进去。导致当只更改程序代码中的一个参数或一段代码时,需要生成和烧录整个软件程序镜像,开发和重启系统的时间较长;同时只读存储器的擦写次数有限,在开发的过程中频繁的擦写只读存储器将降低其使用寿命。
发明内容
本发明的主要目的是提供一种嵌入式程序的程序更新方法、终端、系统及存储介质,旨在解决现有嵌入式程序开发过程中需要反复烧录程序代码,导致存储器使用寿命降低的技术问题。
为实现上述目的,本发明提供一种嵌入式程序的程序更新方法,所述程序更新方法应用于应用终端,该方法包括:
接收开发终端发送的更新文件,所述更新文件为开发终端根据应用终端中的嵌入式程序、以及修改的源代码文件生成的携带有地址信息的二进制文件;
判断更新文件的程序地址范围是否大于与所述地址信息对应的原始程序的程序地址范围;
若是,则将更新文件写入空白地址中,更新原始程序对应的数据首行为跳转至空白地址;
若否,则将更新文件写入原始程序对应的程序地址,更新原始程序为更新文件。
可选地,所述接收开发终端发送的更新文件的步骤之后包括:
当所述更新文件为函数更新文件时,执行:所述判断更新文件的程序地址范围是否大于与所述地址信息对应的原始程序的程序地址范围的步骤;
当所述更新文件为变量更新文件时,根据地址信息将变量更新文件写入,更新地址信息对应的变量值为变量更新文件。
可选地,所述接收开发终端发送的更新文件的步骤之前包括:
启动处理模块,以加载初始化启动程序;
接收开发终端通过串口传输的与嵌入式程序对应的镜像文件,并将所述镜像文件存储至随机存储内存模块中为主程序;
将程序指针跳转至随机存储内存模块中预设首地址并开始执行随机存储内存模块中的主程序。
可选地,所述接收开发终端发送的更新文件的步骤之前包括:
启动处理模块,以加载初始化启动程序;
接收开发终端通过串口传输的与嵌入式程序对应的镜像文件,并将所述镜像文件烧录至闪存模块中;
再次启动处理模块,以加载初始化启动程序,从闪存模块中读取镜像文件存储至随机存储内存模块中为主程序;
将程序指针跳转至内存模块中预设首地址并开始执行内存模块中的主程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于鹏城实验室,未经鹏城实验室许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110495111.4/2.html,转载请声明来源钻瓜专利网。