嵌入式设备的升级方法技术

技术编号:3478523 阅读:185 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了嵌入式设备的升级方法。该方法包括在嵌入式设备端运行一个后台升级服务程序,通过监听特定网络端口判断是否有远程更新连入。平时此后台服务服务处于睡眠状态,如果有更新连入,并且对远程更新者的身份验证通过,即进行更新文件的传送。需要更新的文件会被写入临时文件,完成文件传送后对该文件进行必要的检测后(如完整性、有效性)即可根据升级要求更新硬件逻辑、固件、软件。本发明专利技术可以使用户或开发人员方便快速地通过网络对嵌入式设备的硬件逻辑、固件、软件进行更新,省去昂贵的专业设备及繁琐复杂的操作过程。

【技术实现步骤摘要】

本专利技术涉及针对带有网络接口的。
技术介绍
本文中所指的嵌入式设备硬件、固件、软件包括FPGA硬件逻辑、启动装载程序 (Bootloader)、操作系统内核(Kernd)、应用程序(Application)。嵌入式设备硬件逻辑、 固件、软件升级方法与PC上的软件升级不同, 一般嵌入式设备硬件逻辑、固件、软件的升级方式有以下几种一、 通过串口升级将嵌入式设备与PC通过串口相连。PC端的升级程序通过串口通讯 将升级文件传送到设备完成升级。此方法的不足之处有O此种方法一般只能对应用程序文件进行升级。2) 升级速度较慢,取决与串口通信速度。3) 必须要有与设备实际连接的串口线,并且串口线长度一般不超过10米。4) 设备端与PC端串口相连时,产生的静电可能会将设备或PC端的串口芯片烧毁。二、 通过JTAG升级将嵌入式设备通过并口或专门的JTAG烧录器与PC相连。PC端的 升级程序通过JTAG口通讯将升级文件烧录到设备芯片特定位置完成升级。此方法的不足之 处有O需要专门的设备进行升级操作。2)升级操作比较专业且繁琐,非一般用户可以完成。三、 通过FLASH/ROM烧录器升级将嵌入式板卡上存放软件的FLASH或ROM通过 FLASH/ROM专用烧录器更新。此方法的不足之处有1) 需要专门的设备进行升级操作。 一般此种设备的价格较高,不会常备。2) 升级操作比较专业且繁琐,非一般用户可以完成。3) 升级操作需要拔插FLASH或ROM,对FLASH和ROM的使用寿命会有影响。并且如 果是非拔插式的FLASH/ROM (如焊在了板卡上),就无法使用。以上三种升级方法都存在更新过程繁琐,不方便的问题。尤其对于研发、调试阶段需 要频繁更新时更是如此。
技术实现思路
本专利技术所要解决的技术问题是针对上述现有技术存在的缺陷,提供一种克服上述不 足、便于用户及开发人员操作的嵌入式设备硬件逻辑、固件、软件升级方法。 本专利技术的技术方案是,包括以下步骤-对于带有网络接口的嵌入式设备端 1-1)运行后台升级服务程序;1-2)监听与PC端升级程序约定好的非周知端口;1-3)判断是否有升级连入请求,有连入请求则检査发起升级者的身份验证信息; 1-4)通过身份验证后接收升级文件,完成接收后做完整性、有效性的检验; 1-5)通过检验,则根据更新规则更新旧程序;1- 6)未通过身份验证、检验的则返回到步骤l-2; PC端2- 1)启动升级程序;2-2)配置升级规则,发起升级; 2-3)身份验证;2-4)通过身份验证后发送升级文件; 2-5)发送成功后退出。 在嵌入式设备端1-5步骤中对于FPGA硬件逻辑更新,进行如下步骤1) 将存储其硬件逻辑的FLASH芯片由只读状态设置为可写状态;2) 将接收到的硬件逻辑更新文件写入FLASH芯片指定地址;3) 写入完成后将存储硬件逻辑的FLASH芯片由可写状态设置为只读状态;4) 向系统发送重启命令重启设备;5) 设备启动时通过CPU将更新后的硬件逻辑重新下载到FPGA;6) FPGA运行更新后的硬件逻辑。 在嵌入式设备端l-5步骤中对于固件更新,进行如下步骤1) 将存储固件的FLASH芯片由只读状态设置为可写状态;2) 将接收到的固件更新文件写入FLASH芯片指定地址;3) 写入完成后将存储固件的FLASH芯片由可写状态设置为只读状态;4) 向系统发送重启命令重启设备;5) 设备启动时将运行更新后的固件。 在嵌入式设备端l-5步骤中对于软件更新,进行如下步骤-1) 向旧程序进程发送终止消息结束旧程序运行;2) 按照升级要求判断是否有"试用"要求;3) 对于有试用要求的更新转到步骤7);4) 对于没有"试用"要求的更新,将存储软件的FLASH芯片由只读状态设置为 可写状态;5) 将接收到的软件更新文件覆盖文件系统中的旧程序;6) 写入完成后将存储固件的FLASH芯片由可写状态设置为只读状态;7) 启用接收到的新软件;8) 返回继续监听连入请求。 本专利技术的有益效果本专利技术可以使用户或开发人员方便快速地通过网络对嵌入式设备的硬件逻辑、固件、 软件进行更新,省去昂贵的专业设备及繁琐复杂的操作过程。附图说明现结合实施例及其附图对本专利技术作进一步说明。图l为嵌入式设备端流程图;图2为PC端流程图。具体实施方式由于网络标准不是针对特定平台制定的,因此可通过网络对嵌入式设备上的硬件逻 辑、固件、软件进行更新。嵌入式设备端运行一个后台升级服务程序,通过监听特走网络端口判断是否有远程更 新连入。平时此后台服务服务处于睡眠状态,如果有更新连入,并且对远程更新者的身份 验证通过,即进行更新文件的传送。需要更新的文件会被写入临时文件,完成文件传送后 对该文件进行必要的检测后(如完整性、有效性)即可根据升级要求更新硬件逻辑、固件、 软件。 '对于FPGA硬件逻辑更新将存储其硬件逻辑的FLASH芯片由只读状态设置为可写状态;将接收到的硬件逻辑更新文件写入指定地址;写入完成后将存储硬件逻辑的FLASH芯 片由可写状态设置为只读状态;向系统发送重启命令重启设备;设备启动时通过CPU将更 新后的硬件逻辑重新下载到FPGA。至此FPGA将运行更新后的硬件逻辑。对于固件(启动装载程序、内核)更新将存储固件的FLASH芯片由只读状态设置为 可写状态;将接收到的固件更新文件写入指定地址;写入完成后将存储固件的FLASH芯片 由可写状态设置为只读状态;向系统发送重启命令重启设备;设备启动时将运行更新后的 固件。对于应用软件更新向旧程序进程发送终止消息结束旧程序运行;按照升级要求判断 是否有"试用"要求;对于有试用要求的更新则启用更新后的新软件;对于没有"试用" 要求的更新,将存储软件的FLASH芯片由只读状态设置为可写状态;将接收到的软件更新 文件覆盖文件系统中的旧程序;写入完成后将存储固件的FLASH芯片由可写状态设置为只 读状态;.启用接收到的新软件;返回继续监听连入请求。"试用"功能主要是为了防止误 升级造成的系统不可用情况发生。嵌入式设备端的硬件可为Intel公司推出的基于XScale PXA-255或PXA-270处理器的开 发板,或Analog Device公司推出的基于BlackFin处理器的开发板等。它们都带有网络处理 芯片,如SMSC91C111。设备上的操作系统可为GNU开源操作系统Linux/uCLinux或 Microsoft Windows CE操作系统。它们对网络协议都有良好的支持。PC端的硬件可为IBM兼容PC机或苹果电脑等。PC上的操作系统可为Windows系列操作 系统、MacOS操作系统或各种类型的Linux操作系统发布版等。实施例嵌入式设备端硬件为Intd公司推出的基于XScale PXA-255处理器的开发板。操作系统为GNU开源操作系统Linux, 2.4版本内核;Glibc-2.2.5运行库;BusyBox控制台°设备端升级服务程序运行在后台,无需与用户交互的图形界面,因此可以选用移植性 较好的C语言来实现。网络部分的实现使用标准的(跨平台的)网络API编程。平台相关的 不同部分根据具体平台要求编程即可。升级服务程序启动后监听与PC端升级程序约定好的非周知端口,如3267,査看是否有升级请求连入。在有连入的本文档来自技高网
...

【技术保护点】
嵌入式设备的升级方法,包括以下步骤: 对于带有网络接口的嵌入式设备端: 1-1)运行后台升级服务程序; 1-2)监听与PC端升级程序约定好的非周知端口; 1-3)判断是否有升级连入请求,有连入请求则检查发起升级者的身份验证信息; 1-4)通过身份验证后接收升级文件,完成接收后做完整性、有效性的检验; 1-5)通过检验,则根据更新规则更新旧程序; 1-6)未通过身份验证、检验的则返回到步骤1-2; PC端: 2-1)启动升级程序; 2-2)配置升级规则,发起升级; 2-3)身份验证; 2-4)通过身份验证后发送升级文件; 2-5)发送成功后退出。

【技术特征摘要】

【专利技术属性】
技术研发人员:曹毅顾樑惠新标陈立德吕家瑜
申请(专利权)人:上海风格信息技术有限公司
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1