【技术实现步骤摘要】
本专利技术属于嵌入式设备
,特别涉及一种通用的嵌入式计算机软件在线升级方法。
技术介绍
传统的嵌入式计算机,由于硬件资源的限制(比如,程序存储器容量小,运算速度慢,无外部通信接口或外部通信接口速度慢),在生产阶段就把用户程序固化到程序存储器中,出厂后用户程序是无法随意更改的。如果在运行中程序出现问题,或者功能需要改进,那就只能返厂维修,或者现场拆机更换硬件板卡。随着科技的不断发展,嵌入式计算机中的硬件资源也越来越充裕,这就为嵌入式计算机实现更多功能提供了硬件保障。为了方便厂家对系统的维护、满足用户多变的需求,以及延长系统的生命周期等,嵌入式计算机应当具备在线升级的能力。目前,在LED显示屏控制器所用的嵌入式计算机中普遍使用的升级方法是,直接把升级文件中的新版用户程序写入程序存储器中,覆盖掉之前的旧版用户程序,然后重启系统,直接使用程序存储器中的新版用户程序。这种升级方法将会导致以下问题:1.在线升级时,待升级的嵌入式计算机无法运行用户程序,因此,嵌入式计算机将会失去响应。2.升级完成后,必须重启待升级的嵌入式计算机,这将会影响整个嵌入式系统的正常运行。3.在线升级时,如果升级数据发生错误(比如,升级文件接收错误,升级文件写入错误),这将会导致用户分区的用户程序错误。4.在线升级时,如果嵌入式计算机硬件发生故障(比如,系统掉电,程序存储器损坏),这也会导致用户分 ...
【技术保护点】
一种通用的嵌入式计算机软件在线升级方法,其特征在于,采用在线升级服务器对嵌入式计算机软件升级,在线升级服务器的升级步骤包括:步骤[201],开始升级;步骤[202],读取升级文件头,该文件头为升级文件的前若干个字节,包括前半部分字节和后半部分字节,前半部分字节为文件头的后半部分字节以及升级文件除文件头之外的所有数据的校验和,后半部分字节为升级文件的版本号;步骤[203],校验升级文件,即,计算文件头的后半部分字节以及升级文件除文件头之外的所有数据的校验和,然后与文件头前半部分字节的数据进行比较,如果相同则说明升级文件数据无误,否则说明升级文件数据错误;步骤[204],比较版本号,即,发送获取软件版本号的指令给嵌入式计算机以获得嵌入式计算机中正在运行软件的版本号,然后与文件头后半部分字节的数据进行比较,如果升级文件的版本号大于正在运行软件的版本号则说明升级文件版本号无误,否则说明升级文件版本号错误;步骤[205],发送升级文件,即,把升级文件中除了文件头之外的所有数据(即升级文件中的有效升级数据)拆为若干个数据块,按照升级通信协议打包,形成升级文件数据包后按顺序发送给嵌入式计算机,每发送 ...
【技术特征摘要】
1.一种通用的嵌入式计算机软件在线升级方法,其特征在于,采用在线升级服
务器对嵌入式计算机软件升级,在线升级服务器的升级步骤包括:
步骤[201],开始升级;
步骤[202],读取升级文件头,
该文件头为升级文件的前若干个字节,包括前半部分字节和后半部分字节,
前半部分字节为文件头的后半部分字节以及升级文件除文件头之外的所有
数据的校验和,后半部分字节为升级文件的版本号;
步骤[203],校验升级文件,即,
计算文件头的后半部分字节以及升级文件除文件头之外的所有数据的校验
和,然后与文件头前半部分字节的数据进行比较,如果相同则说明升级文件数
据无误,否则说明升级文件数据错误;
步骤[204],比较版本号,即,
发送获取软件版本号的指令给嵌入式计算机以获得嵌入式计算机中正在运
行软件的版本号,然后与文件头后半部分字节的数据进行比较,如果升级文件
的版本号大于正在运行软件的版本号则说明升级文件版本号无误,否则说明升
级文件版本号错误;
步骤[205],发送升级文件,即,
把升级文件中除了文件头之外的所有数据(即升级文件中的有效升级数据)
拆为若干个数据块,按照升级通信协议打包,形成升级文件数据包后按顺序发
送给嵌入式计算机,
每发送一个升级文件数据包后都要等待对方的应答,如果接收到失败的应
答则重新发送当前的数据包,否则继续发送下一个数据包,直到所有有效的升
级数据发送完成为止,
如果同一个升级文件数据包连续多次发送失败,则表示升级失败;
步骤[206],发送重启指令,
在合适的时间发送重启指令给嵌入式计算机,以便完成升级,重启指令的
发送时间完全由用户而定;
步骤[207],结束升级。
2.如权利要求1所述的通用的嵌入式计算机软件在线升级方法,其特征在于,
\t所述嵌入式计算机具有程序存储器,程序存储器具有多个分区,包括:
启动区,用于存储嵌入式计算机的启动程序,为只读分区,
上电后,嵌入式计算机的主控制器从启动区读出启动程序并运行,用来启
动整个嵌入式计算机;
配置区,用于存储分区的激活信息,为可读写分区,
在嵌入式计算机启动的最后阶段,启动程序会读取配置区中的分区激活信
息,然后转跳到激活的分区,执行激活分区中的用户程序;
恢复区,用于存储预设的用户程序,为只读分区,
在正常情况下恢复区未激活,只有在升级失败时才会激活该分区,在升级
失败时,嵌入式计算机启动后会...
【专利技术属性】
技术研发人员:贾鑫,金星,
申请(专利权)人:中海网络科技股份有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。