CN105183515A - 云台固件升级的方法及装置 - Google Patents

云台固件升级的方法及装置 Download PDF

Info

Publication number
CN105183515A
CN105183515A CN201510556393.9A CN201510556393A CN105183515A CN 105183515 A CN105183515 A CN 105183515A CN 201510556393 A CN201510556393 A CN 201510556393A CN 105183515 A CN105183515 A CN 105183515A
Authority
CN
China
Prior art keywords
file
cloud terrace
data
upgrade
firmware
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.)
Granted
Application number
CN201510556393.9A
Other languages
English (en)
Other versions
CN105183515B (zh
Inventor
张显志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Yidian Aviation Technology Co., Ltd
Original Assignee
Shenzhen AEE Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen AEE Technology Co Ltd filed Critical Shenzhen AEE Technology Co Ltd
Priority to CN201510556393.9A priority Critical patent/CN105183515B/zh
Publication of CN105183515A publication Critical patent/CN105183515A/zh
Application granted granted Critical
Publication of CN105183515B publication Critical patent/CN105183515B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Abstract

本发明公开了一种云台固件升级的方法及装置,其方法包括:PC端运行云台固件升级程序,将升级文件数据传输至云台固件,以对云台固件进行升级;在云台固件升级过程中,PC端检测云台固件升级程序的运行状态;当PC端检测到云台固件升级程序运行中断时,获取云台固件在中断时刻最后写入的有效数据的有效地址所在页;PC端根据有效地址所在页获取中断前未传输的升级文件数据,将中断前未传输的数据传输给云台固件。本发明可以在对云台固件进行程序升级的过程中,避免对云台固件进行反复拆装,降低损坏云台固件硬件的概率,并实现在传输过程中升级文件数据的掉电重传和断点续传,避免因升级失败而造成云台系统瘫痪。

Description

云台固件升级的方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种云台固件升级的方法及装置。
背景技术
现有技术中云台结构复杂,价格也比较高,因此在出厂后,厂家后续还要对其进行性能提升、BUG修复或者添加新功能等方面的维护,通常采用升级云台固件的方式进行升级维护。若采用ICP(InCircuitProgramming)云台固件升级方式,则需对设备进行反复拆装,并向提供客户升级工具,耗工耗时耗材,且容易损坏设备硬件,若采用IAP(InApplicationProgramming)升级云台固件的方式进行升级维护的方法虽然降低了升级难度,但存在升级过程中突然传输中断而导致升级失败更进一步可能导致系统瘫痪的情况。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种云台固件升级的方法,旨在降低云台固件升级成本,及简化升级操作,并保证成功,从而避免由于升级失败而导致云台系统瘫痪的问题。
为实现上述目的,本发明提供一种云台固件升级的方法,包括以下步骤:
PC端运行云台固件升级程序,将升级文件数据传输至所述云台,以对所述云台固件进行升级;
在云台固件升级过程中,所述PC端检测所述云台固件升级程序的运行状态;
当所述PC端检测到云台固件升级程序运行中断时,获取所述云台在中断时刻最后写入的有效数据的有效地址所在页;
PC端根据所述有效地址所在页获取中断前未传输的升级文件数据,将所述中断前未传输的数据传输给所述云台。
优选地,获取所述云台在中断时刻最后写入的有效数据的有效地址的步骤之前还包括:
判断当前云台固件升级的预置条件是断点续传模式还是掉电重传模式;
若预置条件为掉电重传模式,则重新向所述云台发送升级文件数据;
若预置条件为断点续传模式,则执行步骤:获取所述云台在中断时刻最后写入的有效数据的有效地址。
优选地,PC端运行云台固件升级程序,将升级文件数据传输至云台,以对所述云台固件进行升级的步骤之前,还包括:
PC端从服务器获取文件更新列表和文件差异列表,所述文件更新列表包括新版本文件相比旧版本文件而新增的文件名和/或修改的文件名,所述文件差异列表包括修改的文件中新版本文件相比旧版本文件的相同、相似和/或不同区域所在页的页名;
PC端根据所述文件更新列表和文件差异列表,从所述服务器下载新增文件和/或差异化文件中相似和/或不同区域所在页的数据到本地。
优选地,该方法还包括:
PC端将所下载的相似和/或不同区域所在页,与旧版本文件中的相同区域所在页进行合并,形成修改的文件;
将所述新增的文件和/或所述修改的文件共同组成所述升级文件数据。
优选地,当所述PC端检测到云台固件升级程序运行中断时,获取所述云台在中断时刻最后写入的有效数据的有效地址的步骤包括:
读取所述云台的数据,从预设位置开始逐个与预设值进行比较;
当预设数量的升级数据与预设值相等且这些升级数据彼此连续时,记录最后一个升级数据在所述云台中存储的地址;
根据所述地址计算出所述云台在中断时刻最后写入的有效数据的有效地址。
优选地,PC端根据所述有效地址获取中断前未传输的数据,将所述中断前未传输的数据传输给所述云台的步骤包括:
定位到升级文件数据中与所述有效地址所在页对应的位置;
向所述云台传输所述页后的升级文件数据。
优选地,所述PC端运行云台固件升级程序,将升级文件数据传输至所述云台,以对所述云台固件进行升级的步骤之前,还包括:
在云台固件升级程序启动后,提示选择界面供用户选择预置条件;
根据用户的选择指令设置预设条件为断点续传模式或者掉电重传模式。
优选地,所述PC端从服务器获取文件更新列表和文件差异列表的步骤之前,还包括:
PC端获取所述云台固件的当前版本信息;
PC端根据所述当前版本信息检查所述服务器中是否存在新版本,若是,则执行步骤:PC端从服务器获取文件更新列表和文件差异列表,否则退出流程。
本发明实施例还提出一种云台固件升级的装置,该装置包括:
数据传输模块,用于运行云台固件升级程序,将升级文件数据传输至所述云台,以对所述云台固件进行升级;
状态检测模块,用于在云台固件升级过程中,检测所述云台固件升级程序的运行状态;
数据读写模块,用于当检测到云台固件升级程序运行中断时,获取所述云台在中断时刻最后写入的有效数据的有效地址所在页;
控制模块,用于根据所述有效地址所在页获取中断前未传输的升级文件数据,将所述中断前未传输的数据传输给所述云台。
优选地,该装置还包括:
模式判断模块,用于判断当前云台固件升级的预置条件是断点续传模式还是掉电重传模式,若预置条件为掉电重传模式,则由所述数据传输模块重新向所述云台发送升级文件数据;若预置条件为断点续传模式,则由所述数据读写模块获取所述云台在中断时刻最后写入的有效数据的有效地址。
优选地,该装置还包括:
列表获取模块,用于从服务器获取文件更新列表和文件差异列表,所述文件更新列表包括新版本文件相比旧版本文件而新增的文件名和/或修改的文件名,所述文件差异列表包括修改的文件中新版本文件相比旧版本文件的相同、相似和/或不同区域所在页的页名;
下载模块,用于根据所述文件更新列表和文件差异列表,从所述服务器下载新增文件和/或差异化文件中相似和/或不同区域所在页的数据到本地。
优选地,该装置还包括:
数据合并模块,用于将所下载的相似和/或不同区域所在页,与旧版本文件中的相同区域所在页进行合并,形成修改的文件;
数据处理模块,用于将所述新增的文件和/或所述修改的文件共同组成所述升级文件数据。
优选地,所述数据读写模块包括:
数据比较单元,用于读取所述云台的数据,从预设位置开始逐个与预设值进行比较;
记录单元,用于当预设数量的升级数据与预设值相等且这些升级数据彼此连续时,记录最后一个升级数据在所述云台中存储的地址;
计算单元,用于根据所述地址计算出所述云台在中断时刻最后写入的有效数据的有效地址。
优选地,所述控制模块包括:
控制定位单元,用于定位到升级文件数据中与所述有效地址所在页对应的位置;
控制传输单元,用于向所述云台传输所述页后的升级文件数据。
优选地,所述装置还包括:
提示选择模块,用于在云台固件升级程序启动后,提示选择界面供用户选择预置条件;
模式设置模块,用于根据用户的选择指令设置预设条件为断点续传模式或者掉电重传模式。
优选地,所述装置还包括:
信息获取模块,用于获取所述云台固件的当前版本信息;
新版本检查模块,用于根据所述当前版本信息检查所述服务器中是否存在新版本,若是,则由所述列表获取模块从服务器获取文件更新列表和文件差异列表,否则退出流程。
本发明实施例提出的一种云台固件升级的方法及装置,首先通过PC端运行云台固件升级程序,将升级文件数据传输至云台,以对云台固件进行升级;然后在云台固件升级过程中,检测云台固件升级程序的运行状态;当检测到云台固件升级程序运行中断时,获取云台在中断时刻最后写入的有效数据的有效地址;最后根据有效地址获取中断前未传输的升级文件数据,将中断前未传输的数据传输给所述云台,可以使云台固件升级程序运行中断后,根据预置条件进行断点续传或者掉电重传的操作,从而保证升级成功,同时降低升级成本及升级难度,并避免由于升级失败而造成系统瘫痪的情况。
附图说明
图1为本发明云台固件升级的方法第一实施例的流程示意图;
图2为本发明云台固件升级的方法第二实施例的流程示意图;
图3为本发明云台固件升级的方法第三实施例的流程示意图;
图4为本发明实施例中获取更新流程示意图;
图5为本发明实施例中差异化文件描述示意图;
图6为本发明云台固件升级装置第一实施例的功能模块示意图;
图7为本发明云台固件升级装置第二实施例的功能模块示意图;
图8为本发明云台固件升级装置第三实施例的功能模块示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:PC端运行云台固件升级程序,将升级文件数据传输至所述云台,以对所述云台固件进行升级;在云台固件升级过程中,所述PC端检测所述云台固件升级程序的运行状态;当所述PC端检测到云台固件升级程序运行中断时,获取所述云台在中断时刻最后写入的有效数据的有效地址;PC端根据所述有效地址获取中断前未传输的升级文件数据,将所述中断前未传输的数据传输给所述云台。
由于现有技术可能出现由于数据线连接不稳定或者数据量太大而网速又不够等其他原因造成升级程序运行中断的情况,从而出现因升级失败而造成云台系统瘫痪的问题。
本发明提供一种解决方案,使升级程序运行中断后,根据预置条件进行断点续传的操作,从而保证升级成功,同时降低云台固件升级成本,并避免由于升级失败而造成云台系统瘫痪的情况。
如图1所示,为本发明一种云台固件升级的方法的第一实施例,所述方法包括:
步骤S01,PC端运行云台固件升级程序,将升级文件数据传输至所述云台,以对所述云台固件进行升级;
其中,航拍云台是一种以飞行器为载体,通过飞行器带动航拍云台上所搭载的相机进行航空拍摄的航空摄影测量系统,本实施例用于解决云台固件的升级过程中出现由于数据线连接不稳定或者数据量太大而网速又不够等其他原因造成升级程序运行中断,从而出现因升级失败而造成云台系统瘫痪的问题。
PC端通过串口与云台的主控制芯片通信,上电后,主控制芯片进入Bootloader程序,读取当前的升级标志位并判断,进而决定是进入APP还是进入升级模式。具体的,若升级成功标志(升级成功标志是指升级后,芯片自检其代码完整有效,即将升级成功标志置为成功如1,否则为失败如0)为未成功或升级标志(升级标志是指收到升级命令,即将升级标志置为升级如1,否则为不升级如0)为升级,则进入升级模式,否则进入APP模式。
在进入升级模式后,将当前APP代码保存到备份区,并改变升级标志至1且擦除升级成功标志(或者为程序完整性标志)至0,等待PC端发送升级代码。
PC端运行云台固件升级程序通过串口与主控制芯片通信,并将升级文件数据传输至所述云台。
步骤S02,在云台固件升级过程中,所述PC端检测所述云台固件升级程序的运行状态;
即实时检测升级成功标志,若升级成功标志置为失败如0则执行步骤S03,若升级成功标志置为成功如1,则升级完成。
步骤S03,当PC端检测到云台固件升级程序运行中断时,获取所述云台在中断时刻最后写入的有效数据的有效地址所在页;
在云台固件升级程序运行的过程中,当PC端无法检测到云台这个设备或者当PC端检测到升级程序持续停留在某一位置超过预设时间或者云台固件升级程序运行出现问题等,PC端判断云台固件升级程序运行中断。在检测到云台与PC可通讯时,获取中断时刻最后写入的有效数据的有效地址所在页。
步骤S04,PC端根据所述有效地址所在页获取中断前未传输的升级文件数据,将所述中断前未传输的数据传输给所述云台。
本实施例通过上述方案,可以使云台固件升级程序运行中断后,进行断点续传的操作,从而保证云台固件升级成功,同时减少了云台固件升级时人力物力的付出,并避免由于升级失败而造成云台系统瘫痪的情况。
进一步的,如图2所示,为本发明一种云台固件升级的方法的第二实施例提,基于上述图1所示的实施例:
在步骤S01,PC端运行云台固件升级程序,将升级文件数据传输至所述云台,以对所述云台固件进行升级之前还包括:
步骤S11,在云台固件升级程序启动后,提示选择界面供用户选择预置条件;
用户通过PC端提供的友好界面,获取用户对云台固件升级程序中断后,进入断点续传模式或者掉电重传模式的选择指令,其中所述断点续传模式为PC端检测到云台固件升级程序运行中断时获取中断前程序传输的有效地址并PC端根据所述有效地址获取中断前未传输部分的内容,将所述中断前未传输部分的内容发送给所述云台;掉电重传模式为PC端检测到云台固件升级程序运行中断时重新向所述云台发送完整的升级文件内容。
步骤S12,根据用户的选择指令设置预设条件为断点续传模式或者掉电重传模式;
在步骤S03中,获取所述云台在中断时刻最后写入的有效数据的有效地址所在页之前还包括:
步骤S14,判断当前云台固件升级的预置条件是断点续传模式还是掉电重传模式;
具体过程如下:
若预设条件为断点续传模式,则执行步骤S03,获取所述云台在中断时刻最后写入的有效数据的有效地址所在页;
若预设条件为掉电重传模式,则执行步骤S16,重新向所述云台发送升级文件数据;
其它步骤与上述实施例相同。
本实施例通过上述方案,由用户预设传输中断后处理方式,减少传输中断发生后用户的参与,使所述云台固件升级程序能够自动对传输中断的情况的进行处理。
对应地,如图3所示,为本发明一种云台固件升级的方法的第三实施例,基于上述图1所示的实施例:
在步骤S01,PC端运行云台固件升级程序,将升级文件数据传输至所述云台,以对所述云台固件进行升级之前还包括:
步骤S21,PC端从服务器获取文件更新列表和文件差异列表,所述文件更新列表包括新版本文件相比旧版本文件而新增的文件名和/或修改的文件名,所述文件差异列表包括修改的文件中新版本文件相比旧版本文件的相同、相似和/或不同区域所在页的页名;
PC端云台固件升级程序与服务器通信,获取由服务器提供的文件更新列表和文件差异列表并保存在本地,所述文件更新列表包括新版本文件相比旧版本文件而新增的文件名和/或修改的文件名,所述文件差异列表包括修改的文件中新版本文件相比旧版本文件的相同、相似和/或不同区域所在页的页名。此处的和/或是因为有时新版本文件相比旧版本文件仅仅新增了文件,并未对已有的文件进行修改(如新增功能);有时新版本文件相比旧版本文件仅仅修改了已有的文件(如进行功能优化);有时新版本文件相比旧版本文件不仅新增了文件,还修改了已有的文件(如即新增了功能,又进行了功能优化)。
由于具有文件更新列表,在后续的更新下载过程中,可以仅下载新增的文件和/或修改的文件,同样,由于具有文件差异列表,在后续的更新下载过程中,可以仅下载修改的文件中的相似和/或不同区域所在页,这样可以节省下载资源,节省升级时间。
步骤S22,PC端根据所述文件更新列表和文件差异列表,从所述服务器下载新增文件和/或差异化文件中相似和/或不同区域所在页的数据到本地。
PC端通过解析所述文件更新列表和文件差异列表,获得需要下载的数据等信息,PC端根据解析所获得的信息从服务器上下载新增文件和/或差异化文件中相似和/或不同区域所在页的数据到本地。
在另一优选实施例中,由于差异化文件数据可能将一个文件分为多个部分,下载时仅下载文件相似区域和文件不同区域信息等差异化文件数据,所以在下载后还需要对旧版本中的该文件的文件相同区域与新版本中的该文件的文件相似区域、文件不同区域进行合并,形成修改的文件,即具有步骤S23。
步骤S23,PC端将所下载的相似和/或不同区域所在页,与旧版本文件中的相同区域所在页进行合并,形成修改的文件。
步骤S24,将所述新增的文件和/或所述修改的文件共同组成所述升级文件数据。
进一步地,相比上述图3所示的实施例,在PC端从服务器获取文件更新列表和文件差异列表之前,还可以对是否存在云台固件的新版本进行判断,以简化操作流程,减少下载不必要的更新文件和差异文件数据;
具体地,在所述步骤S21,PC端从服务器获取文件更新列表和文件差异列表之前还包括:
PC端获取所述云台固件的当前版本信息;
PC端根据所述当前版本信息检查所述服务器中是否存在新版本,若是,则执行步骤:PC端从服务器获取文件更新列表和文件差异列表,否则退出流程。
所述服务器可以根据PC端提供的版本信息判断是否存在新版本,根据PC端提供的版本信息向PC端提供文件更新列表和文件差异列表,存储更新文件和差异化文件数据。
具体实现时,如图4所示:
云台连接到电脑时,PC端云台固件升级程序自动获取所述云台固件版本为1.0,而目前的最新版本为2.0,服务器根据该版本号V2.0检测到其包括5个文件,而该版本号V1.0包括4个文件,即需要进行升级操作。再如,新版本相对旧版本新增1个文件,且修改了2个文件,同时每个文件又被分为文件相似区域、文件相同区域和文件不同区域(如图5所示),PC端从服务器获取上述内容组成的文件更新列表和文件差异化列表,且PC端从服务器下载新增的1个文件和修改的2个文件中的相似区域和不同区域信息即文件差异化数据,下载后还需要对旧版本中的该修改的文件的相同区域与新版本中的该文件的相似区域、不同区域进行合并,合并后的文件和更新文件组成升级文件数据通过云台固件升级程序传输所述云台。
其它步骤与上述实施例相同。
本实施例通过上述方案,自动检测服务器是否有新的版本软件需要更新,并比较新旧版本文件的差异化,下载差异化的文件内容,减少更新文件的下载时间,自动更新软件,并重新运行新的程序,对用户来说设备的升级过程是在后台自动、平滑地实现,节省了宽带及下载时间。
步骤S03的具体过程如下:
第1步:读取所述云台的数据,从预设位置开始逐个与预设值进行比较;
第2步:预设数量的升级数据与预设值相同且这些升级数据彼此连续时,记录最后一个升级数据在所述云台中存储的地址;
第3步:根据所述地址计算出所述云台在中断时刻最后写入的有效数据的有效地址;
具体实现时,以云台主控制芯片为STM32F10X为例,假设程序读取的开始位置为0x8010000(即预设位置为0x8010000),判断代码终止传输的值为0Xff(即预设值为0Xff),如果连续出现32(即预设数量为32)个0Xff值,则判定传输终止,则判定传输终止的有效地址为当前地址减去32即为中断时刻最后写入的有效数据的有效地址。
步骤S04的具体过程如下:
第1步:定位到升级文件数据中与所述有效地址所在页对应的位置;
第2步:向所述云台传输所述页后的升级文件数据;
具体实现时,假设Flash的页大小为1K(1024Byets),在获取了中断时刻最后写入的有效数据的有效地址后,用该地址除以1024,取整数部分,那么下次程序的擦除区域就从该整数加1页开始(最小单位一般是页擦除)。具体的,如果升级代码有5页,已经传输了2页多100个字节,那么从第3页的第101个字节开始有32个字节为0Xff,即当前的地址减去32后除以1024,取整数部分,即为3,也即从第3页所在地址开始续传。
如图6所示,为本发明一种云台固件升级的装置的第一实施例,所述装置包括:数据传输模块101、状态检测模块102、数据读写模块103及控制模块104,其中:
数据传输模块101用于运行云台固件升级程序,将升级文件数据传输至所述云台,以对所述云台固件进行升级;
状态检测模块102用于在云台固件升级过程中,检测所述云台固件升级程序的运行状态;
数据读写模块103用于当检测到云台固件升级程序运行中断时,获取所述云台在中断时刻最后写入的有效数据的有效地址所在页;
控制模块104用于根据所述有效地址所在页获取中断前未传输的升级文件数据,将所述中断前未传输的数据传输给所述云台。
具体的,首先运行云台固件升级程序,将升级文件数据传输至所述云台,以对所述云台固件进行升级;
上电后,主控制芯片进入Bootloader程序,读取当前的升级标志位并判断,进而决定是进入APP还是进入升级模式。具体的,若升级成功标志(升级成功标志是指升级后,芯片自检其代码完整有效,即将升级成功标志置为成功如1,否则为失败如0)为未成功或升级标志(升级标志是指收到升级命令,即将升级标志置为升级如1,否则为不升级如0)为升级,则进入升级模式,否则进入APP模式。
在进入升级模式后,将当前APP代码保存到备份区,并改变升级标志至1且擦除升级成功标志(或者为程序完整性标志)至0,等待PC端发送升级代码。
PC端运行云台固件升级程序通过串口与云台的主控制芯片通信,并将升级文件数据传输至所述云台。
在云台固件升级过程中,检测所述云台固件升级程序的运行状态;
即实时检测升级成功标志,若升级成功标志置为失败如0则执行步骤S03,若升级成功标志置为成功如1,则升级完成。
PC端检测到云台固件升级程序运行中断时,获取所述云台在中断时刻最后写入的有效数据的有效地址所在页;
在云台固件升级程序运行的过程中,当PC端无法检测到云台这个设备或者当PC端检测到升级程序持续停留在某一位置超过预设时间或者云台固件升级程序运行出现问题等,PC端判断云台固件升级程序运行中断。在检测到云台与PC可通讯时,获取中断时刻最后写入的有效数据的有效地址所在页。
PC端根据所述有效地址所在页获取中断前未传输的升级文件数据,将所述中断前未传输的数据传输给所述云台。
本实施例通过上述方案,可以使云台固件升级程序运行中断后,进行断点续传的操作,从而保证云台固件升级成功,同时减少了云台固件升级时人力物力的付出,并避免由于升级失败而造成云台系统瘫痪的情况。
如图7所示,为本发明一种云台固件升级装置的第二实施例,基于上述图6所示的实施例本实施例还包括提示选择模块201、模式设置模块202及模式判断模块203,其中:
提示选择模块201用于在云台固件升级程序启动后,提示选择界面供用户选择预置条件;
模式设置模块202用于根据用户的选择指令设置预设条件为断点续传模式或者掉电重传模式;
模式判断模块203用于判断当前云台固件升级的预置条件是断点续传模式还是掉电重传模式。
数据读写模块103包括数据比较单元231、记录单元232及计算单元233,其中:
其中数据比较单元231用于读取所述云台的数据从预设位置开始逐个与预设值进行比较;
记录单元232用于当预设数量的升级数据与预设值相等且这些升级数据彼此连续时,记录最后一个升级数据在所述云台中存储的地址;
计算单元233用于根据所述地址计算出所述云台在中断时刻最后写入的有效数据的有效地址所在页。
控制模块104包括控制定位单元241和控制传输单元242,其中:
控制定位单元241用于定位到升级文件数据中与所述有效地址所在页对应的位置;
控制传输单元242用于向所述云台传输所述位置后的升级文件数据。
其中,用户通过PC端提供的友好界面,获取用户对云台固件升级程序中断后,进入断点续传模式或者掉电重传模式的选择指令,其中所述断点续传模式为PC端检测到云台固件升级程序运行中断时获取中断前程序传输的有效地址并PC端根据所述有效地址获取中断前未传输部分的内容,将所述中断前未传输部分的内容发送给所述云台;掉电重传模式为PC端检测到云台固件升级程序运行中断时重新向所述云台发送完整的升级文件内容。
其它模块功能与上述实施例相同。
本实施例通过上述方案,由用户预设传输中断后处理方式,减少传输中断发生后用户的参与,使所述云台固件升级程序能够自动对传输中断的情况的进行处理。
如图8所示,为本发明一种云台固件升级装置的第三实施例,基于上述图6所示的实施例本实施例还包括列表获取模块301、下载模块302、数据合并模块303及数据处理模块304,其中:
列表获取模块301用于从服务器获取文件更新列表和文件差异列表,所述文件更新列表包括新版本文件相比旧版本文件而新增的文件名和/或修改的文件名,所述文件差异列表包括修改的文件中新版本文件相比旧版本文件的相同、相似和/或不同区域所在页的页名;
下载模块302用于根据所述文件更新列表和文件差异列表,从所述服务器下载新增文件和/或差异化文件中相似和/或不同区域所在页的数据到本地;
数据合并模块303用于将差异化文件数据中的相似和/或不同区域所在页,与旧版本文件中的相同区域进行合并,形成差异化文件;
数据处理模块304用于将所述更新文件与所述差异化文件共同组成所述升级文件数据。
具体地,PC端云台固件升级程序与服务器通信,获取由服务器提供的文件更新列表和文件差异列表并保存在本地,所述文件更新列表包括新版本文件相比旧版本文件而新增的文件名和/或修改的文件名,所述文件差异列表包括修改的文件中新版本文件相比旧版本文件的相同、相似和/或不同区域所在页的页名。此处的和/或是因为有时新版本文件相比旧版本文件仅仅新增了文件,并未对已有的文件进行修改(如新增功能);有时新版本文件相比旧版本文件仅仅修改了已有的文件(如进行功能优化);有时新版本文件相比旧版本文件不仅新增了文件,还修改了已有的文件(如即新增了功能,又进行了功能优化)。
由于具有文件更新列表,在后续的更新下载过程中,可以仅下载新增的文件和/或修改的文件,同样,由于具有文件差异列表,在后续的更新下载过程中,可以仅下载修改的文件中的相似和/或不同区域所在页,这样可以节省下载资源,节省升级时间。
PC端通过解析所述文件更新列表和文件差异列表,获得需要下载的数据等信息,PC端根据解析所获得的信息从服务器上下载新增文件和/或差异化文件中相似和/或不同区域所在页的数据到本地。
在另一优选实施例中,由于差异化文件数据可能将一个文件分为多个部分,下载时仅下载文件相似区域和文件不同区域信息等差异化文件数据,所以在下载后还需要对旧版本中的该文件的文件相同区域与新版本中的该文件的文件相似区域、文件不同区域进行合并,形成修改的文件,即PC端将所下载的相似和/或不同区域所在页,与旧版本文件中的相同区域所在页进行合并,形成修改的文件。
之后,PC端将所述新增的文件和/或所述修改的文件共同组成所述升级文件数据。
进一步地,相比上述图8所示的实施例,为简化操作流程,减少下载不必要的更新文件和差异文件数据,该装置还包括:
信息获取模块,用于获取所述云台固件的当前版本信息;
新版本检查模块,用于根据所述当前版本信息检查所述服务器中是否存在新版本,若是,则所述列表获取模块从服务器获取文件更新列表和文件差异列表,否则退出流程。
其中所述服务器可以根据PC端提供的版本信息判断是否存在新版本,根据PC端提供的版本信息向PC端提供文件更新列表和文件差异列表,存储更新文件和差异化文件数据。
具体实现时,如图4所示:
云台连接到电脑时,PC端云台固件升级程序自动获取所述云台固件版本为1.0,而目前的最新版本为2.0,服务器根据该版本号V2.0检测到其包括5个文件,而该版本号V1.0包括4个文件,即需要进行升级操作。再如,新版本相对旧版本新增1个文件,且修改了2个文件,同时每个文件又被分为文件相似区域、文件相同区域和文件不同区域(如图5所示),PC端从服务器获取上述内容组成的文件更新列表和文件差异化列表,且PC端从服务器下载新增的1个文件和修改的2个文件中的相似区域和不同区域信息即文件差异化数据,下载后还需要对旧版本中的该修改的文件的相同区域与新版本中的该文件的相似区域、不同区域进行合并,合并后的文件和更新文件组成升级文件数据通过云台固件升级程序传输所述云台。
其它模块功能与上述实施例相同。
本实施例通过上述方案,自动检测服务器是否有新的版本软件需要更新,并比较新旧版本文件的差异化,下载差异化的文件内容,减少更新文件的下载时间,自动更新软件,并重新运行新的程序,对用户来说设备的升级过程是在后台自动、平滑地实现,节省了宽带及下载时间。
上述数据读写模块103的具体执行过程如下:
第1步:读取所述云台的数据,从预设位置开始逐个与预设值进行比较;
第2步:预设数量的升级数据与预设值相同且这些升级数据彼此连续时,记录最后一个升级数据在所述云台中存储的地址;
第3步:根据所述地址计算出所述云台在中断时刻最后写入的有效数据的有效地址;
具体实现时,以云台主控制芯片为STM32F10X为例,假设程序读取的开始位置为0x8010000(即预设位置为0x8010000),判断代码终止传输的值为0Xff(即预设值为0Xff),如果连续出现32(即预设数量为32)个0Xff值,则判定传输终止,则判定传输终止的有效地址为当前地址减去32即为中断时刻最后写入的有效数据的有效地址。
上述控制模块104的具体执行过程如下:
第1步:定位到升级文件数据中与所述有效地址所在页对应的位置;
第2步:向所述云台传输所述页后的升级文件数据;
具体实现时,假设Flash的页大小为1K(1024Byets),在获取了中断时刻最后写入的有效数据的有效地址后,用该地址除以1024,取整数部分,那么下次程序的擦除区域就从该整数加1页开始(最小单位一般是页擦除)。具体的,如果升级代码有5页,已经传输了2页多100个字节,那么从第3页的第101个字节开始有32个字节为0Xff,即当前的地址减去32后除以1024,取整数部分,即为3,也即从第3页所在地址开始续传。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (12)

1.一种云台固件升级的方法,其特征在于,所述云台固件升级方法包括以下步骤:
PC端运行云台固件升级程序,将升级文件数据传输至所述云台,以对所述云台固件进行升级;
在云台固件升级过程中,所述PC端检测所述云台固件升级程序的运行状态;
当所述PC端检测到云台固件升级程序运行中断时,获取所述云台在中断时刻最后写入的有效数据的有效地址所在页;
PC端根据所述有效地址所在页获取中断前未传输的升级文件数据,将所述中断前未传输的数据传输给所述云台。
2.如权利要求1所述的方法,其特征在于,获取所述云台在中断时刻最后写入的有效数据的有效地址的步骤之前还包括:
判断当前云台固件升级的预置条件是断点续传模式还是掉电重传模式;
若预置条件为掉电重传模式,则重新向所述云台发送升级文件数据;
若预置条件为断点续传模式,则执行步骤:获取所述云台在中断时刻最后写入的有效数据的有效地址。
3.如权利要求1或2所述的方法,其特征在于,PC端运行云台固件升级程序,将升级文件数据传输至云台,以对所述云台固件进行升级的步骤之前,还包括:
PC端从服务器获取文件更新列表和文件差异列表,所述文件更新列表包括新版本文件相比旧版本文件而新增的文件名和/或修改的文件名,所述文件差异列表包括修改的文件中新版本文件相比旧版本文件的相同、相似和/或不同区域所在页的页名;
PC端根据所述文件更新列表和文件差异列表,从所述服务器下载新增文件和/或差异化文件中相似和/或不同区域所在页的数据到本地。
4.如权利要求3所述的方法,其特征在于,该方法还包括:
PC端将所下载的相似和/或不同区域所在页,与旧版本文件中的相同区域所在页进行合并,形成修改的文件;
将所述新增的文件和/或所述修改的文件共同组成所述升级文件数据。
5.如权利要求4所述的方法,其特征在于,当所述PC端检测到云台固件升级程序运行中断时,获取所述云台在中断时刻最后写入的有效数据的有效地址所在页的步骤包括:
读取所述云台的数据,从预设位置开始逐个与预设值进行比较;
当预设数量的升级数据与预设值相等且这些升级数据彼此连续时,记录最后一个升级数据在所述云台中存储的地址;
根据所述地址计算出所述云台在中断时刻最后写入的有效数据的有效地址。
6.如权利要求5所述的方法,其特征在于,PC端根据所述有效地址获取中断前未传输的数据,将所述中断前未传输的数据传输给所述云台的步骤包括:
定位到升级文件数据中与所述有效地址所在页对应的位置;
向所述云台传输所述页后的升级文件数据。
7.一种云台固件升级的装置,其特征在于,该装置包括:
数据传输模块,用于运行云台固件升级程序,将升级文件数据传输至所述云台,以对所述云台固件进行升级;
状态检测模块,用于在云台固件升级过程中,检测所述云台固件升级程序的运行状态;
数据读写模块,用于当检测到云台固件升级程序运行中断时,获取所述云台在中断时刻最后写入的有效数据的有效地址所在页;
控制模块,用于根据所述有效地址所在页获取中断前未传输的升级文件数据,将所述中断前未传输的数据传输给所述云台。
8.如权利要求7所述的装置,其特征在于,该装置还包括:
模式判断模块,用于判断当前云台固件升级的预置条件是断点续传模式还是掉电重传模式,若预置条件为掉电重传模式,则由所述数据传输模块重新向所述云台发送升级文件数据;若预置条件为断点续传模式,则由所述数据读写模块获取所述云台在中断时刻最后写入的有效数据的有效地址。
9.如权利要求7或8所述的装置,其特征在于,该装置还包括:
列表获取模块,用于从服务器获取文件更新列表和文件差异列表,所述文件更新列表包括新版本文件相比旧版本文件而新增的文件名和/或修改的文件名,所述文件差异列表包括修改的文件中新版本文件相比旧版本文件的相同、相似和/或不同区域所在页的页名;
下载模块,用于根据所述文件更新列表和文件差异列表,从所述服务器下载新增文件和/或差异化文件中相似和/或不同区域所在页的数据到本地。
10.如权利要求9所述的装置,其特征在于,该装置还包括:
数据合并模块,用于将所下载的相似和/或不同区域所在页,与旧版本文件中的相同区域所在页进行合并,形成修改的文件;
数据处理模块,用于将所述新增的文件和/或所述修改的文件共同组成所述升级文件数据。
11.如权利要求10所述的装置,其特征在于,所述数据读写模块包括:
数据比较单元,用于读取所述云台的数据,从预设位置开始逐个与预设值进行比较;
记录单元,用于当预设数量的升级数据与预设值相等且这些升级数据彼此连续时,记录最后一个升级数据在所述云台中存储的地址;
计算单元,用于根据所述地址计算出所述云台在中断时刻最后写入的有效数据的有效地址。
12.如权利要求11所述的装置,其特征在于,所述控制模块包括:
控制定位单元,用于定位到升级文件数据中与所述有效地址所在页对应的位置;
控制传输单元,用于向所述云台传输所述页后的升级文件数据。
CN201510556393.9A 2015-09-02 2015-09-02 云台固件升级的方法及装置 Active CN105183515B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510556393.9A CN105183515B (zh) 2015-09-02 2015-09-02 云台固件升级的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510556393.9A CN105183515B (zh) 2015-09-02 2015-09-02 云台固件升级的方法及装置

Publications (2)

Publication Number Publication Date
CN105183515A true CN105183515A (zh) 2015-12-23
CN105183515B CN105183515B (zh) 2019-10-15

Family

ID=54905613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510556393.9A Active CN105183515B (zh) 2015-09-02 2015-09-02 云台固件升级的方法及装置

Country Status (1)

Country Link
CN (1) CN105183515B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106775878A (zh) * 2016-12-22 2017-05-31 深圳市沃特玛电池有限公司 Bms及其升级系统
CN107203396A (zh) * 2017-05-23 2017-09-26 中山市明阳电器有限公司 一种通过网络在线更新程序的工业控制板及其更新方法
CN107307612A (zh) * 2017-07-15 2017-11-03 国网江西省电力公司电力科学研究院 一种带充电和数据采集功能的智能安全帽柜及管理方法
CN107357601A (zh) * 2016-05-10 2017-11-17 零度智控(北京)智能科技有限公司 无人机固件升级装置、方法及终端
CN107438830A (zh) * 2016-09-30 2017-12-05 深圳市大疆创新科技有限公司 升级方法、升级装置、升级设备及升级系统
CN107766260A (zh) * 2016-08-19 2018-03-06 爱思开海力士有限公司 存储器件、具有它的存储系统及其操作方法
CN107861746A (zh) * 2017-12-06 2018-03-30 北京经纬恒润科技有限公司 一种车辆电子控制单元的刷新方法及系统
CN108334282A (zh) * 2017-12-28 2018-07-27 宁德时代新能源科技股份有限公司 汽车电子控制单元的程序文件下载方法和装置
CN108984222A (zh) * 2017-06-05 2018-12-11 深圳火星探索科技有限公司 一种云台固件升级方法及系统
CN109614126A (zh) * 2018-10-23 2019-04-12 北京全路通信信号研究设计院集团有限公司 一种嵌入式系统在线程序升级方法及装置
CN110337619A (zh) * 2018-04-28 2019-10-15 深圳市大疆创新科技有限公司 云台的保护方法、云台的保护装置、云台和无人机
CN110515634A (zh) * 2018-05-22 2019-11-29 广达电脑股份有限公司 通过远端工具程序更新固件的方法、电脑系统以及介质
WO2020207045A1 (zh) * 2019-04-10 2020-10-15 广东芬尼克兹节能设备有限公司 一种远程升级方法、装置、电子设备及存储介质
CN111966970A (zh) * 2020-07-31 2020-11-20 深圳比特微电子科技有限公司 防止数字货币矿机固件回退的方法、装置和数字货币矿机
WO2022047725A1 (zh) * 2020-09-04 2022-03-10 深圳市大疆创新科技有限公司 可移动平台的固件升级方法、云台及终端设备
CN115174610A (zh) * 2022-05-31 2022-10-11 亿航智能设备(广州)有限公司 一种航空器及其外部环境监视系统、固件ota方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101546250A (zh) * 2008-03-28 2009-09-30 北京爱国者存储科技有限责任公司 实现移动存储设备断点续传的系统
CN102314369A (zh) * 2011-10-09 2012-01-11 杭州先锋电子技术股份有限公司 一种远程在线监控系统中设备自升级方法
EP2506142A2 (en) * 1996-03-14 2012-10-03 Nortel Networks Limited Systems and methods for executing application programs from a memory device linked to a server
CN102799445A (zh) * 2012-05-03 2012-11-28 陈昊 一种基于Android平台的应用升级方法及系统
CN103139307A (zh) * 2013-02-27 2013-06-05 广东欧珀移动通信有限公司 一种网络资源下载中断的恢复方法及下载系统
CN103297449A (zh) * 2012-02-24 2013-09-11 腾讯科技(深圳)有限公司 一种文件传输方法、即时通信终端及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2506142A2 (en) * 1996-03-14 2012-10-03 Nortel Networks Limited Systems and methods for executing application programs from a memory device linked to a server
CN101546250A (zh) * 2008-03-28 2009-09-30 北京爱国者存储科技有限责任公司 实现移动存储设备断点续传的系统
CN102314369A (zh) * 2011-10-09 2012-01-11 杭州先锋电子技术股份有限公司 一种远程在线监控系统中设备自升级方法
CN103297449A (zh) * 2012-02-24 2013-09-11 腾讯科技(深圳)有限公司 一种文件传输方法、即时通信终端及系统
CN102799445A (zh) * 2012-05-03 2012-11-28 陈昊 一种基于Android平台的应用升级方法及系统
CN103139307A (zh) * 2013-02-27 2013-06-05 广东欧珀移动通信有限公司 一种网络资源下载中断的恢复方法及下载系统

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107357601A (zh) * 2016-05-10 2017-11-17 零度智控(北京)智能科技有限公司 无人机固件升级装置、方法及终端
CN107766260B (zh) * 2016-08-19 2021-05-11 爱思开海力士有限公司 存储器件、具有它的存储系统及其操作方法
CN107766260A (zh) * 2016-08-19 2018-03-06 爱思开海力士有限公司 存储器件、具有它的存储系统及其操作方法
CN107438830A (zh) * 2016-09-30 2017-12-05 深圳市大疆创新科技有限公司 升级方法、升级装置、升级设备及升级系统
CN106775878A (zh) * 2016-12-22 2017-05-31 深圳市沃特玛电池有限公司 Bms及其升级系统
CN107203396A (zh) * 2017-05-23 2017-09-26 中山市明阳电器有限公司 一种通过网络在线更新程序的工业控制板及其更新方法
CN108984222B (zh) * 2017-06-05 2023-12-22 泸州禾苗通信科技有限公司 一种云台固件升级方法及系统
CN108984222A (zh) * 2017-06-05 2018-12-11 深圳火星探索科技有限公司 一种云台固件升级方法及系统
CN107307612A (zh) * 2017-07-15 2017-11-03 国网江西省电力公司电力科学研究院 一种带充电和数据采集功能的智能安全帽柜及管理方法
CN107861746B (zh) * 2017-12-06 2020-11-27 北京经纬恒润科技有限公司 一种车辆电子控制单元的刷新方法及系统
CN107861746A (zh) * 2017-12-06 2018-03-30 北京经纬恒润科技有限公司 一种车辆电子控制单元的刷新方法及系统
CN108334282A (zh) * 2017-12-28 2018-07-27 宁德时代新能源科技股份有限公司 汽车电子控制单元的程序文件下载方法和装置
CN108334282B (zh) * 2017-12-28 2021-07-09 宁德时代新能源科技股份有限公司 汽车电子控制单元的程序文件下载方法和装置
CN110337619A (zh) * 2018-04-28 2019-10-15 深圳市大疆创新科技有限公司 云台的保护方法、云台的保护装置、云台和无人机
WO2019205124A1 (zh) * 2018-04-28 2019-10-31 深圳市大疆创新科技有限公司 云台的保护方法、云台的保护装置、云台和无人机
CN110515634A (zh) * 2018-05-22 2019-11-29 广达电脑股份有限公司 通过远端工具程序更新固件的方法、电脑系统以及介质
TWI743395B (zh) * 2018-05-22 2021-10-21 廣達電腦股份有限公司 透過遠端工具程式更新靭體的方法、電腦系統以及非暫態電腦可讀取媒體
CN110515634B (zh) * 2018-05-22 2023-07-21 广达电脑股份有限公司 通过远端工具程序更新固件的方法、电脑系统以及介质
CN109614126B (zh) * 2018-10-23 2022-07-01 北京全路通信信号研究设计院集团有限公司 一种嵌入式系统在线程序升级方法及装置
CN109614126A (zh) * 2018-10-23 2019-04-12 北京全路通信信号研究设计院集团有限公司 一种嵌入式系统在线程序升级方法及装置
WO2020207045A1 (zh) * 2019-04-10 2020-10-15 广东芬尼克兹节能设备有限公司 一种远程升级方法、装置、电子设备及存储介质
CN111966970A (zh) * 2020-07-31 2020-11-20 深圳比特微电子科技有限公司 防止数字货币矿机固件回退的方法、装置和数字货币矿机
WO2022047725A1 (zh) * 2020-09-04 2022-03-10 深圳市大疆创新科技有限公司 可移动平台的固件升级方法、云台及终端设备
CN115174610A (zh) * 2022-05-31 2022-10-11 亿航智能设备(广州)有限公司 一种航空器及其外部环境监视系统、固件ota方法

Also Published As

Publication number Publication date
CN105183515B (zh) 2019-10-15

Similar Documents

Publication Publication Date Title
CN105183515A (zh) 云台固件升级的方法及装置
CN109460245B (zh) 一种嵌入式系统的远程升级方法
CN103207791B (zh) 远程升级方法、系统及数据终端
CN112910714B (zh) 具有主从机结构的物联网终端设备的远程固件升级方法
US20120117557A1 (en) Method and system for upgrading wireless data card
CN104899065A (zh) 一种可批量软件在线恢复与软件在线升级的方法和系统
CN104007996A (zh) 一种分布式控制系统的可靠固件升级实现方法
US20240070026A1 (en) Method For Remote Upgrade and Rollback of Unmanned Aerial Vehicle (UAV) Software
CN102609281A (zh) 分布式软件补丁更新方法及系统
CN110806889B (zh) 一种基于5g的zynq程序远程升级系统及升级方法
CN105808273A (zh) 软件升级方法和软件升级装置
CN103577214A (zh) 应用程序更新方法和装置
CN111309363A (zh) 基于Contiki操作系统的在线升级方法及装置
CN105045640A (zh) 一种软件升级方法、装置及智能设备
CN110865826B (zh) 机器人软件升级方法、装置、设备和存储介质
CN106406962A (zh) 基于arm的风力发电控制器远程升级失败可恢复的方法
CN107396185B (zh) 升级方法及系统
CN104991805A (zh) 智能设备及其系统灾备控制方法
CN104811347A (zh) 一种软件升级方法、监控模块、整流模块及系统
CN108011750B (zh) 一种集抄系统中通信模块的固件升级方法
CN111324364A (zh) 一种设备管理的方法、装置、设备及存储介质
CN105589718A (zh) 智能设备的系统更新方法与更新装置
CN103634398A (zh) 一种基于most网络的软件升级方法
CN104468671A (zh) 一种配置信息处理方法、装置及相关设备
CN114489750A (zh) 远程升级方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160318

Address after: Baoan District Shiyan street Shenzhen city Guangdong province 518108 Songbai road Tangtou junctions electric science and Technology Park

Applicant after: Shenzhen Aee Technology Co., Ltd.

Address before: Baoan District Shiyan street Shenzhen city Guangdong province 518108 Songbai road Tangtou junctions electric science and Technology Park

Applicant before: Shenzhen Aee Technology Co., Ltd.

Applicant before: Shenzhen Aee Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191209

Address after: Room 812, enterprise service center, No. 17, section 3, west section of Changjiang North Road, Lingang Economic Development Zone, Yibin City, Sichuan Province

Patentee after: Sichuan Yidian Aviation Technology Co., Ltd

Address before: Baoan District Shiyan street Shenzhen city Guangdong province 518108 Songbai road Tangtou junctions electric science and Technology Park

Patentee before: Shenzhen Yidian Aviation Technology Co., Ltd.