一种软件在线更新方法技术领域
本发明涉及机载电子系统领域,尤其涉及一种高效的机载数字信号处理机
软件在线更新方法。
背景技术
机载光学测距设备由光学系统和电子系统组成,该设备属于精密仪器,对
装调精度要求比较高,故而拆解困难。由于电子系统中相关的数字信号处理机
是裸机运行,没有操作系统支持,所以无法对软件进行在线升级与调试。现有
技术中对该数字信号处理机软件升级的方法将该数字信号处理机从机载光学
测距设备中拆解下来,然后对其进行线下升级。然而由于该设备属于精密仪器,
对于装调精度要求比较高,给拆解带来了比较大的困难,并且,如果对该设备
进行反复的拆解,很容易对设备装调精度造成影响,进而影响整台设备的测距
结果。
发明内容
本发明的目的是提供一种高效的机载数字信号处理机软件在线更新方法,
用以解决现有技术中数字信号处理机升级需要拆解的问题。
为实现上述目的,本发明的方案包括:
一种机载数字信号处理机软件在线更新方法,其特征在于,步骤如下:
步骤1):PC机接收到第三方的数据,对该数据进行处理;
步骤2):PC机向数字信号处理机发送相关握手信息,握手成功后将步骤
1)中处理完成的数据发送到数字信号处理机,发送完成后PC机再向数字信号
处理机发送操作指令,用以指导数字信号处理机的下一步工作;
步骤3):数字信号处理机对接收到的数据进行解析,然后根据PC机发送
的操作命令对这些数据进行更新或者运行更新后的程序。
所述步骤1)中的PC机用于:读取用于升级的第三方目标目标代码,并
将这些目标代码转换成为HEX格式;将转换完的目标代码封装成一定的帧格
式;将封装好的数据帧发送到设置于数字信号处理机中。
所述步骤1)中对第三方数据的处理包括将第三方数据转换成HEX格式,
并进行分段打包处理。
所述数字信号处理机接收PC端软件发送的数据帧;将接收到的数据帧进
行解封装,将这些解封装后的代码更新到制定位置;根据PC机发送的命令运
行这些更新的代码。
数字信号处理机对PC机发送数据的解析包括对数据报头报尾的解除以及
对数据的重新组合。
本发明提供的一种高效的机载数字信号处理机软件在线更新方法,通过在
PC机设置PC端软件,在数字信号处理机中设置驻留软件,通过远距离通信总
线将PC端接收到的第三方更新程序代码传输到数字信号处理机中,能够有效
避免传统的软件更新过程中需要对机载数字信号处理机进行拆解的问题。
附图说明
图1是软件升级方法所基于的架构;
图2是数据包结构图;
图3是PC机软件工作流程图;
图4是数字信号处理机驻留软件工作流程图。
具体实施方式
下面结合附图对本发明做进一步详细的说明。
本发明提供了一种针对机载光学测距设备中软件的在线升级方法,首先根
据图1所示的架构进行线路连接,如图1所示,在PC中设置有PC端软件,
数字信号处理机1中设置有驻留软件,PC机和数字信号处理机通过通信总线2
进行通信。
如图3和图4所示,在需要对数字信号处理机中的软件进行升级时,第三
方的目标代码首先传输到PC端软件中,PC端软件将目标代码转换成数字信
号处理机可以直接运行的HEX格式的代码,将目标代码全部转换成为HEX格
式的代码后,将这些转换完成的HEX格式的代码进行拆解封装,将这些HEX
格式的代码拆解成固定长度的数据段后,添加报头、报尾、校验后封装成若干
个数据帧,数据帧的帧格式如图2所示。而设计于数字信号处理机端的驻留软
件,则提前固化在数字信号处理机中,该驻留软件运行在数字信号处理机中一
段固定的地址空间中,该段地址空间不对用户代码开放。
在PC端中的第三方升级软件不需要对数字信号处理机内的软件进行升级
时,驻留软件在数字信号处理机上电后进行的运行过程中,等待接收PC端发
送的握手命令,若超过一定的时间没有接收到握手命令,则驻留软件认为没有
永恒代码需要更新,则运行之前固定的用户代码。当PC端要发送第三方更新
代码时,则首先PC端软件向数字信号处理机中的驻留软件发送握手指令,驻
留软件在接收到PC端软件发送的握手指令后,则一直等待PC机下传命令和
数据,同时还向PC端返回握手成功的信号。握手成功后,PC端软件开始向驻
留软件发送第三方用于升级的代码,PC机通过数据通信总线将PC端封装好的
数据帧发送到数字信号处理机中,若数字信号处理机接收成功,则驻留软件向
PC端软件返回一个固定帧格式的数据帧,PC机即认为该数据帧传输成功;若
数字信号处理机接收到的是数据校验错误的代码,则向PC机返回相关的错误
信息,PC机重新传输该数据帧。
当PC机将对数字信号处理机升级的第三方代码全部成功的发送到数字信
号处理机中后,则在数字信号处理机的驻留软件根据事先定义好的协议,对接
收到的数据帧进行和校验,校验完全正确后则将这些数据帧进行封装解除,并
将剥离出的数据段按照一定的格式保存到相应的存储空间中。当所有数据接收
完成后,驻留软件根据PC机传来的相关命令选择直接在内存中运行的接收的
数据还是将接收的数据固化到非易失存储器中:如果PC机传输的命令是程序
加载指令,则缓存用户代码;如果PC机传输的命令是程序更新指令,则更新
用户代码;如果PC机传输的是应用程序运行指令,则运行用户代码。
以上给出了本发明具体的实施方式,但本发明不局限于所描述的实施方
式。在本发明给出的思路下,采用对本领域技术人员而言容易想到的方式对上
述实施例中的技术手段进行变换、替换、修改,并且起到的作用与本发明中的
相应技术手段基本相同、实现的发明目的也基本相同,这样形成的技术方案是
对上述实施例进行微调形成的,这种技术方案仍落入本发明的保护范围内。