CN110780943B - 一种从设备统一固件的方法及系统 - Google Patents
一种从设备统一固件的方法及系统 Download PDFInfo
- Publication number
- CN110780943B CN110780943B CN201910997605.5A CN201910997605A CN110780943B CN 110780943 B CN110780943 B CN 110780943B CN 201910997605 A CN201910997605 A CN 201910997605A CN 110780943 B CN110780943 B CN 110780943B
- Authority
- CN
- China
- Prior art keywords
- slave
- firmware
- master
- master device
- slave device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Abstract
本发明公开了一种从设备统一固件的方法及系统,属于统一固件领域。针对现有技术中存在的从设备上的代码维护困难,配件与从设备固件会有冲突的问题,本方案包括以下步骤:S1、从设备在uboot下读取自己的环境变量,并与保存在uboot程序中的机型列表进行对比,如果环境变量不是机型列表中的值或环境变量的值为空,则进入步骤S2,如果环境变量是机型列表中的值,则进入步骤S3;S2、从设备向主设备下载主设备信息文件,返回步骤S1;S3、从设备向主设备下载并启动对应的固件。本发明可以实现统一从设备的固件,使一种从设备可以适用全部主设备,节约从设备的存储空间。
Description
技术领域
本发明涉及统一固件领域,更具体地说,涉及一种从设备统一固件的方法及系统。
背景技术
为了获得更好的图像、视频、音频质量和性能体验,新一代的视频会议系统采用主从机架构,其中主设备负责系统功能,而从设备负责专业的图像、音频处理。而随着视频会议系统产品线的扩大,主设备会升级到性能更加强大的SOC,但从设备由于处理的业务单一,并且优化做得十分深入,所以从设备一般不会升级SOC。这样就导致各种主设备SOC与同一从设备SOC的组合产生,这样虽然主要业务一样,但与主设备的交互、硬件接口也会有所变动,由此引入从设备的固件在不同主设备上都不一样。
由于从设备的固件在不同主设备都不相同,因此从设备上的代码维护困难,在不同的主设备平台上,要编译多份从设备固件,对于把从SOC做成配件的设备来说,这样会有配件与从设备固件冲突的问题,导致无法引导。
中国专利申请,申请号CN201410849954.X,公开日2015年4月8日,公开了一种通过有线网络对嵌入式设备进行升级的方法,包括在升级前,将需要升级的嵌入式设备通过有线网络连接主机,所述主机安装有升级工具,当需要升级的设备boot开机时,其首先检测是否连接有线网络,如果连接有线网络,则从升级工具接收升级数据,设备中的Uboot网络升级程序将升级数据中的版本号与设备中现有版本号进行对比,如果升级数据中的版本号为新版本,则将升级数据写入到设备的flash存储器,并对设备进行升级。本发明与该专利不同之处在于,该专利是将从设备与主设备的版本进行对比,对比的是从设备的版本号,如果不同则对从设备进行升级,而本发明是为了统一从设备的固件,对比的是主设备的型号和版本号,从设备向主设备下载对应主设备型号的固件使用即可。
中国专利申请,申请号CN201210149038.6,公开日2015年4月8日,公开了一种ATCA系统及其管理固件版本的方法,该方法包括:单板控制器向机框管理器请求固件版本;所述机框管理器查询所述单板控制器需要的固件版本的版本号,查询到所述固件版本的版本号时,从版本存储服务器获取对应所述版本号的单板控制器的固件版本,并将所述固件版本发送给所述单板控制器;所述单板控制器启动所述固件版本。该发明的不足之处在于,机框管理器中需要驻留一个查询版本号的服务程序,占用资源,并且查询版本号时需要借助服务器端,成本高,而本发明无需额外实现查询版本号的客户端和服务端程序,只需复用tftp功能即可,节约系统资源与从设备的存储空间。
发明内容
1.要解决的技术问题
针对现有技术中存在的从设备上的代码维护困难,配件与从设备固件会有冲突的问题,本发明提供了一种从设备统一固件的方法及系统,它可以实现统一从设备的固件,使一种从设备可以适用全部主设备,节约从设备的存储空间。
2.技术方案
本发明的目的通过以下技术方案实现。
一种从设备统一固件的方法,包括以下步骤:
S1、从设备读取环境变量的值,并与从设备中的机型列表进行对比,如果环境变量不是机型列表中的值或环境变量的值为空,则进入步骤S2,如果环境变量是机型列表中的值,则进入步骤S3;
S2、从设备通过文件传输协议向主设备下载主设备信息文件,返回步骤S1;
S3、从设备向主设备下载并启动符合主设备版本的固件。
进一步的,步骤S2还包括以下步骤,为从设备的环境变量被破坏提供容错处理与恢复方法:
S21、从设备通过文件传输协议向主设备下载主设备信息文件;
S22、从设备读取主设备信息文件中的主设备机型信息;
S23、从设备将主设备信息文件传输给从设备的环境变量与操作系统内核。
更进一步的,步骤S3还包括以下步骤:
S31、从设备识别环境变量中对应主设备的硬件和软件版本;
S32、从设备根据主设备的硬件和软件版本通过文件传输协议向主设备下载对应的固件;
S33、从设备的操作系统启动固件。
一种从设备统一固件系统,包括主设备和从设备,主设备和从设备通过文件传输协议进行数据传输,主设备包括主设备信息文件和从设备的固件;从设备包括环境变量、uboot启动程序、操作系统和机型列表。
进一步的,文件传输协议为tftp协议,tftp协议简单可靠,便于复用。
更进一步的,主设备的主设备信息文件保存有主设备的硬件与软件版本号,主设备信息文件使从设备能够识别主设备的型号。
更进一步的,从设备的环境变量用于存放主设备的硬件和软件版本号,在从设备初次运行时为空,使从设备可以兼容多个版本的主设备。
更进一步的,从设备的机型列表编写在uboot程序中,由于从设备在设计时机型就固定不变,因此写在程序中能方便、快速地获取机型信息,在uboot中用文件支持相对繁琐和缓慢,从设备的机型列表为从设备所能适配的主设备的机型,不同型号的从设备所适配的主设备机型不同,从设备所保存的机型列表也不同。
更进一步的,从设备每次关机自动清除固件信息,从设备中不保存固件便于从设备的升级,同时节约闪存成本。
更进一步的,从设备的操作系统内核中设置有与若干种主设备机型相对应的固件启动路径,使操作系统可以根据匹配的主设备信息启动对应的固件。
3.有益效果
相比于现有技术,本发明的优点在于:
(1)主设备生成保存有硬件和软件版本号的文件,从设备在加载固件之前先去下载该文件,这样从设备就可以识别到主设备的硬件和软件版本号,可以据此加载不同的模块,运行不同的程序,实现统一固件的目的;一种从设备只需要保存一个固件,可以适用全部的主设备,节约从设备的存储空间;统一固件的方式是通过软件实现,减少额外的成本;
(2)从设备只在第一次开机时下载主设备信息文件,后面的开机都可以直接从从设备的环境变量中获取,而从设备第一次开机在生产时进行,不需要下载主设备信息文件,不影响开机时间;为了节约闪存成本,从设备每次关机都会清除固件,从设备之后每次开机只需要向主设备下载固件即可;如果从设备的环境变量被破坏,通过本方法可恢复环境变量。
附图说明
图1为本发明的流程图。
具体实施方式
下面结合说明书附图和具体的实施例,对本发明作详细描述。
实施例1
如图1所示,一种从设备统一固件的方法,包括以下步骤:
从设备在uboot下读取自己的环境变量,并与保存在uboot程序中的机型列表进行对比,如果环境变量不是机型列表中的值或环境变量的值为空,则通过文件传输协议向主设备下载主设备信息文件,并将主设备机型信息传输给从设备的环境变量与操作系统内核,重新进行机型列表与环境变量的对比;如果环境变量是机型列表中的值,则从设备识别环境变量的主设备版本,通过文件传输协议向主设备下载并启动对应的固件。在从设备正常运行情况下,环境变量在第一次开机获取主设备信息后就不会改变,如果环境变量不是机型列表的值,那么环境变量遭到了破坏,通过重新下载主设备信息文件即可恢复。
一种从设备统一固件系统,包括主设备和从设备,主设备和从设备通过文件传输协议进行数据传输,这里的文件传输协议优选tftp协议,tftp协议简单可靠,文件传输协议也可以是其他常用的文件传输协议,只要能正确获取到主设备信息文件即可,主设备包括主设备信息文件和从设备的固件;从设备包括环境变量、uboot启动程序、操作系统和机型列表。主设备的主设备信息文件保存有主设备的硬件与软件版本号,主设备信息文件使从设备能够识别主设备的型号。
从设备的机型列表编写在uboot程序中,由于从设备在设计时机型就固定不变,因此写在程序中能方便、快速地获取机型信息,在uboot中用文件支持相对繁琐和缓慢。从设备的机型列表为从设备所能适配的主设备的机型,不同型号的从设备所适配的主设备机型不同,从设备所保存的机型列表也不同。从设备的环境变量存放主设备的硬件和软件版本号,在从设备初次运行时为空,使从设备可以兼容多个版本的主设备。从设备中不保存固件,每次关机自动清除固件信息,便于从设备的升级,同时节约闪存成本。从设备的操作系统内核中设置有与若干种主设备机型相对应的固件启动路径,使操作系统可以根据匹配的主设备信息启动对应的固件。
有高端主设备A,低端主设备B,其中主设备A支持8种不同类型的麦克风,主设备B支持2种类型的麦克风,而有从设备C可以支持主设备为A或B的机型。当从设备C与主设备A相连接后,从设备C读取自己的环境变量,与机型列表进行对比,此时由于是第一次连接,环境变量为空,从设备C向主设备A通过tftp协议下载主设备信息文件,并将主设备机型信息传输给从设备的环境变量与操作系统内核,重新进行机型列表与环境变量的对比,此时从设备C的环境变量中已有主设备A的机型,从设备C向主设备A下载并驱动主设备A的固件。从设备C也可与主设备B相连,通过同样的方式下载并驱动主设备B的固件。当从设备C与主设备A或B相连后就固定在一起,从设备C不再与其他主设备相连。
以上示意性地对本发明创造及其实施方式进行了描述,该描述没有限制性,在不背离本发明的精神或者基本特征的情况下,能够以其他的具体形式实现本发明。所以,如果本领域的普通技术人员受其启示,在不脱离本创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本专利的保护范围。
Claims (8)
1.一种从设备统一固件的方法,其特征在于,包括以下步骤:
S1、从设备读取环境变量的值,与从设备中的机型列表进行对比,如果环境变量不是机型列表中的值或环境变量的值为空,则进入步骤S2,如果环境变量是机型列表中的值,则进入步骤S3;
S2、从设备通过文件传输协议向主设备下载主设备信息文件,返回步骤S1;具体步骤如下:
S21、从设备通过文件传输协议向主设备下载主设备信息文件;
S22、从设备读取主设备信息文件中的主设备机型信息;
S23、从设备将主设备机型信息传输给从设备的环境变量与操作系统内核;
S3、从设备向主设备下载并启动符合主设备版本的固件;具体步骤如下:
S31、从设备识别环境变量中对应主设备的硬件和软件版本;
S32、从设备根据主设备的硬件和软件版本通过文件传输协议向主设备下载对应的固件;
S33、从设备的操作系统启动固件。
2.一种基于权利要求1所述方法 的从设备统一固件系统,其特征在于:包括主设备与从设备,主设备和从设备通过文件传输协议进行数据传输,主设备包括主设备信息文件和从设备的固件;从设备包括环境变量、uboot启动程序、操作系统和机型列表。
3.根据权利要求2中所述的从设备统一固件系统,其特征在于,所述文件传输协议为tftp协议。
4.根据权利要求2所述的从设备统一固件系统,其特征在于:主设备的主设备信息文件中保存有主设备的硬件与软件版本号。
5.根据权利要求4所述的从设备统一固件系统,其特征在于:从设备的环境变量用于存放主设备的硬件和软件版本号,在从设备初次运行时为空。
6.根据权利要求5所述的从设备统一固件系统,其特征在于:从设备的机型列表编写在uboot程序中,机型列表为从设备所能适配的主设备的机型。
7.根据权利要求6所述的从设备统一固件系统,其特征在于:从设备关机后自动清除固件。
8.根据权利要求2-7中任一所述的从设备统一固件系统,其特征在于:从设备的操作系统内核中设置有与若干种主设备机型相对应的固件启动路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910997605.5A CN110780943B (zh) | 2019-10-18 | 2019-10-18 | 一种从设备统一固件的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910997605.5A CN110780943B (zh) | 2019-10-18 | 2019-10-18 | 一种从设备统一固件的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110780943A CN110780943A (zh) | 2020-02-11 |
CN110780943B true CN110780943B (zh) | 2022-07-12 |
Family
ID=69386049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910997605.5A Active CN110780943B (zh) | 2019-10-18 | 2019-10-18 | 一种从设备统一固件的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110780943B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105978937A (zh) * | 2016-04-26 | 2016-09-28 | 江苏惠通集团有限责任公司 | 一种蓝牙从设备及其升级方法 |
CN106612192A (zh) * | 2015-10-22 | 2017-05-03 | 阿里巴巴集团控股有限公司 | 设备的升级方法、装置和系统 |
CN107015829A (zh) * | 2017-03-31 | 2017-08-04 | 广东欧珀移动通信有限公司 | 音频系统升级方法、装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009156615A1 (fr) * | 2008-06-02 | 2009-12-30 | Awox | Procede et dispositif de mise a jour d'application informatique |
-
2019
- 2019-10-18 CN CN201910997605.5A patent/CN110780943B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106612192A (zh) * | 2015-10-22 | 2017-05-03 | 阿里巴巴集团控股有限公司 | 设备的升级方法、装置和系统 |
CN105978937A (zh) * | 2016-04-26 | 2016-09-28 | 江苏惠通集团有限责任公司 | 一种蓝牙从设备及其升级方法 |
CN107015829A (zh) * | 2017-03-31 | 2017-08-04 | 广东欧珀移动通信有限公司 | 音频系统升级方法、装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110780943A (zh) | 2020-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20120117557A1 (en) | Method and system for upgrading wireless data card | |
RU2417415C2 (ru) | Способ и система развертывания программного обеспечения, сервер развертывания программного обеспечения и пользовательский сервер | |
CN100525206C (zh) | 自动恢复设备故障的实现方法及系统 | |
EP1780638B1 (en) | Separate-type signal processing apparatus and software version updating method therefor | |
CN101393524A (zh) | 固件更新方法及系统 | |
CN106843933A (zh) | 一种应用程序的漏洞修复方法、移动终端及补丁服务器 | |
CN106549789B (zh) | 一种实现服务器安装的方法及系统 | |
CN103106083B (zh) | 一种固件的加载方法及装置 | |
CN112615747B (zh) | 一种网络设备自动部署配置的方法及装置 | |
CN111273924B (zh) | 软件更新方法及装置 | |
EP3113018A1 (en) | Method and apparatus for running version file | |
CN111427624A (zh) | 一种服务器批量自动部署配置的方法、装置及系统 | |
CN110750280B (zh) | 一种基于Android平台的应用升级方法及系统、存储介质 | |
JP2007282148A (ja) | Ponシステム及び自動ダウンロード方法 | |
JP2005228009A (ja) | 通信系アプリケーションプログラムのバージョン更新方法及びそのプログラム | |
CN110780943B (zh) | 一种从设备统一固件的方法及系统 | |
CN104580360A (zh) | 通过异构网络更新固件的系统及其方法 | |
JPH1021060A (ja) | プログラム自動更新処理機能を有する通信システムおよびプログラム更新処理を実行するプログラムを備えた記録媒体 | |
CN111324384B (zh) | 于预执行环境依装置消息选择开机图像文件的装置及方法 | |
JP2000031998A (ja) | ネットワーク装置、ネットワークの管理方式および管理方法 | |
CN101854442B (zh) | 网络设备及其固件更新方法 | |
JP2021111115A (ja) | 通信制御システム | |
CN111552498A (zh) | 一种实现显示屏的屏参升级的方法及系统 | |
KR100429903B1 (ko) | 홈 게이트웨이 시스템의 이미지 업데이트 방법 | |
CN113791810B (zh) | 基于zynq平台的远程升级方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |